From 03e0695dd5b1eecf348872a06c2993f0a6fbe35e Mon Sep 17 00:00:00 2001 From: Jan Mercl <0xjnml@gmail.com> Date: Tue, 9 Nov 2021 15:30:55 +0100 Subject: [PATCH] netbsd/amd64: regenerate --- Makefile | 5 +- generator.go | 29 +- go.mod | 8 +- go.sum | 14 +- internal/libc2/libc2_unix.go | 4 +- internal/mptest/main_netbsd_amd64.go | 244 +- .../testfixture/testfixture_netbsd_amd64.go | 5112 +++-- lib/sqlite_freebsd_amd64.go | 2 - lib/sqlite_netbsd_amd64.go | 16805 ++++++++------- libtest/sqlite_freebsd_amd64.go | 2 - libtest/sqlite_netbsd_amd64.go | 17617 +++++++++------- speedtest1/main_netbsd_amd64.go | 250 +- 12 files changed, 22073 insertions(+), 18019 deletions(-) diff --git a/Makefile b/Makefile index 2a22853..37d288b 100644 --- a/Makefile +++ b/Makefile @@ -74,8 +74,9 @@ freebsd_amd64: go build -v ./... netbsd_amd64: - TARGET_GOOS=netbsd TARGET_GOARCH=amd64 go generate 2>&1 | tee /tmp/log-generate-sqlite-netbsd-amd64 - GOOS=netbsd GOARCH=amd64 go build -v ./... + @echo "Should be executed only on netbsd/amd64." + go generate 2>&1 | tee log-generate + go build -v ./... linux_amd64: TARGET_GOOS=linux TARGET_GOARCH=amd64 go generate 2>&1 | tee /tmp/log-generate-sqlite-linux-amd64 diff --git a/generator.go b/generator.go index 8eeaf83..8d2e980 100644 --- a/generator.go +++ b/generator.go @@ -579,6 +579,29 @@ func makeTestfixture(goos, goarch string, more []string) { } configure(goos, goarch) + var defines, includes []string + switch goos { + case "freebsd": + includes = []string{"-I/usr/local/include/tcl8.6"} + case "linux": + includes = []string{"-I/usr/include/tcl8.6"} + case "netbsd": + includes = []string{"-I/usr/pkg/include"} + defines = []string{ + "-D__libc_cond_broadcast=pthread_cond_broadcast", + "-D__libc_cond_destroy=pthread_cond_destroy", + "-D__libc_cond_init=pthread_cond_init", + "-D__libc_cond_signal=pthread_cond_signal", + "-D__libc_cond_wait=pthread_cond_wait", + "-D__libc_mutex_destroy=pthread_mutex_destroy", + "-D__libc_mutex_init=pthread_mutex_init", + "-D__libc_mutex_lock=pthread_mutex_lock", + "-D__libc_mutex_trylock=pthread_mutex_trylock", + "-D__libc_mutex_unlock=pthread_mutex_unlock", + "-D__libc_thr_yield=sched_yield", + } + } + args := join( []string{ "ccgo", @@ -587,8 +610,10 @@ func makeTestfixture(goos, goarch string, more []string) { "-DSQLITE_SERVER=1", "-DTCLSH_INIT_PROC=sqlite3TestInit", "-D_HAVE_SQLITE_CONFIG_H", - "-I/usr/include/tcl8.6", //TODO linux: should not be hardcoded - "-I/usr/local/include/tcl8.6", //TODO freebsd: should not be hardcoded + }, + defines, + includes, + []string{ "-export-defines", "", "-export-fields", "F", "-trace-translation-units", diff --git a/go.mod b/go.mod index e654dc3..cae0383 100644 --- a/go.mod +++ b/go.mod @@ -5,9 +5,9 @@ go 1.15 require ( github.com/mattn/go-sqlite3 v1.14.9 golang.org/x/sys v0.0.0-20211007075335-d3039528d8ac - modernc.org/ccgo/v3 v3.12.56 - modernc.org/libc v1.11.55 + modernc.org/ccgo/v3 v3.12.57 + modernc.org/libc v1.11.56 modernc.org/mathutil v1.4.1 - modernc.org/tcl v1.8.9 - modernc.org/z v1.2.14 + modernc.org/tcl v1.8.10 + modernc.org/z v1.2.15 ) diff --git a/go.sum b/go.sum index 381e5f8..1a6efd4 100644 --- a/go.sum +++ b/go.sum @@ -84,8 +84,9 @@ modernc.org/ccgo/v3 v3.12.51/go.mod h1:gaIIlx4YpmGO2bLye04/yeblmvWEmE4BBBls4aJXF modernc.org/ccgo/v3 v3.12.53/go.mod h1:8xWGGTFkdFEWBEsUmi+DBjwu/WLy3SSOrqEmKUjMeEg= modernc.org/ccgo/v3 v3.12.54/go.mod h1:yANKFTm9llTFVX1FqNKHE0aMcQb1fuPJx6p8AcUx+74= modernc.org/ccgo/v3 v3.12.55/go.mod h1:rsXiIyJi9psOwiBkplOaHye5L4MOOaCjHg1Fxkj7IeU= -modernc.org/ccgo/v3 v3.12.56 h1:ziryYQpJAmrOqBW6ojZLnovh8Wn8faOtAyDlXMOOZDA= modernc.org/ccgo/v3 v3.12.56/go.mod h1:ljeFks3faDseCkr60JMpeDb2GSO3TKAmrzm7q9YOcMU= +modernc.org/ccgo/v3 v3.12.57 h1:np7UjBznMNCgVznI6YFRokzLKP5CikjmYcHk3p+9aig= +modernc.org/ccgo/v3 v3.12.57/go.mod h1:hNSF4DNVgBl8wYHpMvPqQWDQx8luqxDnNGCMM4NFNMc= modernc.org/httpfs v1.0.6 h1:AAgIpFZRXuYnkjftxTAZwMIiwEqAfk8aVB2/oA6nAeM= modernc.org/httpfs v1.0.6/go.mod h1:7dosgurJGp0sPaRanU53W4xZYKh14wfzX420oZADeHM= modernc.org/libc v1.9.8/go.mod h1:U1eq8YWr/Kc1RWCMFUWEdkTg8OTcfLw2kY8EDwl039w= @@ -114,8 +115,9 @@ modernc.org/libc v1.11.49/go.mod h1:9JrJuK5WTtoTWIFQ7QjX2Mb/bagYdZdscI3xrvHbXjE= modernc.org/libc v1.11.51/go.mod h1:R9I8u9TS+meaWLdbfQhq2kFknTW0O3aw3kEMqDDxMaM= modernc.org/libc v1.11.53/go.mod h1:5ip5vWYPAoMulkQ5XlSJTy12Sz5U6blOQiYasilVPsU= modernc.org/libc v1.11.54/go.mod h1:S/FVnskbzVUrjfBqlGFIPA5m7UwB3n9fojHhCNfSsnw= -modernc.org/libc v1.11.55 h1:x5QJk5eYCG96PlgPO1K9vUk/AxmzIcyukKBAmbxyiv4= modernc.org/libc v1.11.55/go.mod h1:j2A5YBRm6HjNkoSs/fzZrSxCuwWqcMYTDPLNx0URn3M= +modernc.org/libc v1.11.56 h1:nkJS+FaH8ik3LqAb/O9z4kQ0cG7F1oGcU1ltIlJgwi8= +modernc.org/libc v1.11.56/go.mod h1:pakHkg5JdMLt2OgRadpPOTnyRXm/uzu+Yyg/LSLdi18= modernc.org/mathutil v1.1.1/go.mod h1:mZW8CKdRPY1v87qxC/wUdX5O1qDzXMP5TH3wjfpga6E= modernc.org/mathutil v1.2.2/go.mod h1:mZW8CKdRPY1v87qxC/wUdX5O1qDzXMP5TH3wjfpga6E= modernc.org/mathutil v1.4.0/go.mod h1:mZW8CKdRPY1v87qxC/wUdX5O1qDzXMP5TH3wjfpga6E= @@ -128,9 +130,9 @@ modernc.org/opt v0.1.1 h1:/0RX92k9vwVeDXj+Xn23DKp2VJubL7k8qNffND6qn3A= modernc.org/opt v0.1.1/go.mod h1:WdSiB5evDcignE70guQKxYUl14mgWtbClRi5wmkkTX0= modernc.org/strutil v1.1.1 h1:xv+J1BXY3Opl2ALrBwyfEikFAj8pmqcpnfmuwUwcozs= modernc.org/strutil v1.1.1/go.mod h1:DE+MQQ/hjKBZS2zNInV5hhcipt5rLPWkmpbGeW5mmdw= -modernc.org/tcl v1.8.9 h1:01+Q6s54NyXq9lKJZqD8mT3Pa8NizxetnIsg4d8g0bw= -modernc.org/tcl v1.8.9/go.mod h1:h+sl0eQcsm7asyTWrvceAojTr6tFTEXT910S6yo8fvg= +modernc.org/tcl v1.8.10 h1:48mAZIGipyCMQUYUKdaNhPzDIOy4bThI3d22FYyQpBA= +modernc.org/tcl v1.8.10/go.mod h1:fTkBrkA7dBZUmavypkhm0p14lZIRBNbRBOSTiJTPkKM= modernc.org/token v1.0.0 h1:a0jaWiNMDhDUtqOj09wvjWWAqd3q7WpBulmL9H2egsk= modernc.org/token v1.0.0/go.mod h1:UGzOrNV1mAFSEB63lOFHIpNRUVMvYTc6yu1SMY/XTDM= -modernc.org/z v1.2.14 h1:oZBeZfql7WiThnnDpf1MI56Ee6MxpkRbjI7NNRVl1zo= -modernc.org/z v1.2.14/go.mod h1:CpKggokvOlUM49WoeUzsVs98MTIq8RzgTFfcg4nAsrA= +modernc.org/z v1.2.15 h1:FUqa9e3M0scgiMA8+nkGNWHPgj8rlxwgL7M3xZmzW48= +modernc.org/z v1.2.15/go.mod h1:asLtzYenkL9N3CqFCr2J75XOpN5RpeaoiRe7PwuNjgs= diff --git a/internal/libc2/libc2_unix.go b/internal/libc2/libc2_unix.go index d35e434..8d88ddc 100644 --- a/internal/libc2/libc2_unix.go +++ b/internal/libc2/libc2_unix.go @@ -2,8 +2,8 @@ // Use of this source code is governed by a BSD-style // license that can be found in the LICENSE file. -//go:build linux || darwin || freebsd -// +build linux darwin freebsd +//go:build darwin +// +build darwin package libc2 // import "modernc.org/sqlite/internal/libc2" diff --git a/internal/mptest/main_netbsd_amd64.go b/internal/mptest/main_netbsd_amd64.go index ea6144c..23704c7 100644 --- a/internal/mptest/main_netbsd_amd64.go +++ b/internal/mptest/main_netbsd_amd64.go @@ -132,7 +132,6 @@ const ( FD_SETSIZE = 256 FFILESYNC = 0x0020 FILENAME_MAX = 1024 - FIXINC_WRAP_STDIO_H_STDIO_STDARG_H = 1 FOPEN_MAX = 20 FPARSELN_UNESCALL = 0x0f FPARSELN_UNESCCOMM = 0x04 @@ -738,7 +737,6 @@ const ( X_AMD64_INT_MWGWTYPES_H_ = 0 X_AMD64_INT_TYPES_H_ = 0 X_AMD64_WCHAR_LIMITS_H_ = 0 - X_ANSI_STDARG_H_ = 0 X_BIG_ENDIAN = 4321 X_BSD_INT16_T_ = 0 X_BSD_INT32_T_ = 0 @@ -772,8 +770,6 @@ const ( X_FILE_OFFSET_BITS = 64 X_FSTDIO = 0 X_FTS5_H = 0 - X_GCC_PTRDIFF_T = 0 - X_GCC_WCHAR_T = 0 X_IOFBF = 0 X_IOLBF = 1 X_IONBF = 2 @@ -954,7 +950,6 @@ const ( X_SC_VERSION = 8 X_SC_XOPEN_SHM = 30 X_SQLITE3RTREE_H_ = 0 - X_STDARG_H = 0 X_STDIO_H_ = 0 X_STDLIB_H_ = 0 X_STRINGS_H_ = 0 @@ -972,14 +967,11 @@ const ( X_SYS_ERRNO_H_ = 0 X_SYS_FD_SET_H_ = 0 X_SYS_NULL_H_ = 0 + X_SYS_STDARG_H_ = 0 X_SYS_STDINT_H_ = 0 X_SYS_TYPES_H_ = 0 X_SYS_UNISTD_H_ = 0 X_UNISTD_H_ = 0 - X_VA_LIST = 0 - X_VA_LIST_ = 0 - X_VA_LIST_DEFINED = 0 - X_VA_LIST_T_H = 0 X_X86_64_BSWAP_H_ = 0 X_X86_64_CDEFS_H_ = 0 X_X86_64_TYPES_H_ = 0 @@ -992,25 +984,66 @@ type size_t = uint64 /* :9:23 */ type wchar_t = int32 /* :15:24 */ -// Define the standard macros for the user, -// if this invocation was from the user program. +// $NetBSD: featuretest.h,v 1.10 2013/04/26 18:29:06 christos Exp $ -// Define va_list, if desired, from __gnuc_va_list. -// We deliberately do not define va_list when called from -// stdio.h, because ANSI C says that stdio.h is not supposed to define -// va_list. stdio.h needs to have access to that data type, -// but must not use that name. It should use the name __gnuc_va_list, -// which is safe because it is reserved for the implementation. +// Written by Klaus Klein , February 2, 1998. +// Public domain. +// +// NOTE: Do not protect this header against multiple inclusion. Doing +// so can have subtle side-effects due to header file inclusion order +// and testing of e.g. _POSIX_SOURCE vs. _POSIX_C_SOURCE. Instead, +// protect each CPP macro that we want to supply. -// The macro _VA_LIST_ is the same thing used by this file in Ultrix. -// But on BSD NET2 we must not test or define or undef it. -// (Note that the comments in NET 2's ansi.h -// are incorrect for _VA_LIST_--see stdio.h!) -// The macro _VA_LIST_DEFINED is used in Windows NT 3.5 -// The macro _VA_LIST is used in SCO Unix 3.2. -// The macro _VA_LIST_T_H is used in the Bull dpx2 -// The macro __va_list__ is used by BeOS. -type va_list = uintptr /* stdarg.h:99:24 */ +// Feature-test macros are defined by several standards, and allow an +// application to specify what symbols they want the system headers to +// expose, and hence what standard they want them to conform to. +// There are two classes of feature-test macros. The first class +// specify complete standards, and if one of these is defined, header +// files will try to conform to the relevant standard. They are: +// +// ANSI macros: +// _ANSI_SOURCE ANSI C89 +// +// POSIX macros: +// _POSIX_SOURCE == 1 IEEE Std 1003.1 (version?) +// _POSIX_C_SOURCE == 1 IEEE Std 1003.1-1990 +// _POSIX_C_SOURCE == 2 IEEE Std 1003.2-1992 +// _POSIX_C_SOURCE == 199309L IEEE Std 1003.1b-1993 +// _POSIX_C_SOURCE == 199506L ISO/IEC 9945-1:1996 +// _POSIX_C_SOURCE == 200112L IEEE Std 1003.1-2001 +// _POSIX_C_SOURCE == 200809L IEEE Std 1003.1-2008 +// +// X/Open macros: +// _XOPEN_SOURCE System Interfaces and Headers, Issue 4, Ver 2 +// _XOPEN_SOURCE_EXTENDED == 1 XSH4.2 UNIX extensions +// _XOPEN_SOURCE == 500 System Interfaces and Headers, Issue 5 +// _XOPEN_SOURCE == 520 Networking Services (XNS), Issue 5.2 +// _XOPEN_SOURCE == 600 IEEE Std 1003.1-2001, XSI option +// _XOPEN_SOURCE == 700 IEEE Std 1003.1-2008, XSI option +// +// NetBSD macros: +// _NETBSD_SOURCE == 1 Make all NetBSD features available. +// +// If more than one of these "major" feature-test macros is defined, +// then the set of facilities provided (and namespace used) is the +// union of that specified by the relevant standards, and in case of +// conflict, the earlier standard in the above list has precedence (so +// if both _POSIX_C_SOURCE and _NETBSD_SOURCE are defined, the version +// of rename() that's used is the POSIX one). If none of the "major" +// feature-test macros is defined, _NETBSD_SOURCE is assumed. +// +// There are also "minor" feature-test macros, which enable extra +// functionality in addition to some base standard. They should be +// defined along with one of the "major" macros. The "minor" macros +// are: +// +// _REENTRANT +// _ISOC99_SOURCE +// _ISOC11_SOURCE +// _LARGEFILE_SOURCE Large File Support +// + +type va_list = uintptr /* stdarg.h:53:19 */ // CAPI3REF: 64-Bit Integer Types // KEYWORDS: sqlite_int64 sqlite_uint64 @@ -3083,7 +3116,7 @@ type fts5_api1 = struct { // // FTS5 EXTENSION REGISTRATION API type fts5_api = fts5_api1 /* sqlite3.h:12312:25 */ -type ssize_t = int64 /* stdio.h:63:23 */ +type ssize_t = int64 /* stdio.h:49:23 */ // $NetBSD: null.h,v 1.9 2010/07/06 11:56:20 kleink Exp $ @@ -3103,7 +3136,7 @@ type __sfpos = struct { __mbstateL int64 _ [120]byte } -} /* stdio.h:81:9 */ +} /* stdio.h:67:9 */ // $NetBSD: null.h,v 1.9 2010/07/06 11:56:20 kleink Exp $ @@ -3113,7 +3146,7 @@ type __sfpos = struct { // This is fairly grotesque, but pure ANSI code must not inspect the // innards of an fpos_t anyway. The library internally uses off_t, // which we assume is exactly as big as eight chars. -type fpos_t = __sfpos /* stdio.h:84:3 */ +type fpos_t = __sfpos /* stdio.h:70:3 */ // NB: to fit things in six character monocase externals, the stdio // code uses the prefix `__s' for stdio objects, typically followed @@ -3124,7 +3157,7 @@ type __sbuf = struct { _base uintptr _size int32 _ [4]byte -} /* stdio.h:95:1 */ +} /* stdio.h:81:1 */ // stdio state variables. // @@ -3183,7 +3216,7 @@ type __sFILE = struct { _blksize int32 _ [4]byte _offset int64 -} /* stdio.h:126:9 */ +} /* stdio.h:112:9 */ // stdio state variables. // @@ -3209,12 +3242,12 @@ type __sFILE = struct { // _ub._base!=NULL) and _up and _ur save the current values of _p and _r. // // NB: see WARNING above before changing the layout of this structure! -type FILE = __sFILE /* stdio.h:160:3 */ +type FILE = __sFILE /* stdio.h:146:3 */ // X/Open CAE Specification Issue 5 Version 2 -type off_t = int64 /* stdio.h:390:18 */ +type off_t = int64 /* stdio.h:376:18 */ -type locale_t = uintptr /* stdio.h:557:25 */ +type locale_t = uintptr /* stdio.h:543:25 */ // __cpu_simple_lock_t used to be a full word. @@ -3314,26 +3347,26 @@ type locale_t = uintptr /* stdio.h:557:25 */ // ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE // POSSIBILITY OF SUCH DAMAGE. -type int8_t = int8 /* types.h:63:18 */ +type int8_t = int8 /* types.h:54:18 */ -type uint8_t = uint8 /* types.h:68:19 */ +type uint8_t = uint8 /* types.h:59:19 */ -type int16_t = int16 /* types.h:73:19 */ +type int16_t = int16 /* types.h:64:19 */ -type uint16_t = uint16 /* types.h:78:20 */ +type uint16_t = uint16 /* types.h:69:20 */ -type int32_t = int32 /* types.h:83:19 */ +type int32_t = int32 /* types.h:74:19 */ -type uint32_t = uint32 /* types.h:88:20 */ +type uint32_t = uint32 /* types.h:79:20 */ -type int64_t = int64 /* types.h:93:19 */ +type int64_t = int64 /* types.h:84:19 */ -type uint64_t = uint64 /* types.h:98:20 */ +type uint64_t = uint64 /* types.h:89:20 */ -type u_int8_t = uint8_t /* types.h:102:18 */ -type u_int16_t = uint16_t /* types.h:103:18 */ -type u_int32_t = uint32_t /* types.h:104:18 */ -type u_int64_t = uint64_t /* types.h:105:18 */ +type u_int8_t = uint8_t /* types.h:93:18 */ +type u_int16_t = uint16_t /* types.h:94:18 */ +type u_int32_t = uint32_t /* types.h:95:18 */ +type u_int64_t = uint64_t /* types.h:96:18 */ // $NetBSD: endian.h,v 1.1 2003/04/26 18:39:40 fvdl Exp $ @@ -3496,15 +3529,6 @@ type u_int64_t = uint64_t /* types.h:105:18 */ // // @(#)cdefs.h 8.8 (Berkeley) 1/9/95 -// DO NOT EDIT THIS FILE. -// -// It has been auto-edited by fixincludes from: -// -// "/usr/include/sys/types.h" -// -// This had to be done to correct non-standard usages in the -// original, manufacturer supplied header file. - // $NetBSD: types.h,v 1.102 2018/11/06 16:26:44 maya Exp $ // - @@ -3753,19 +3777,19 @@ type uint_fast64_t = uint64 /* common_int_mwgwtypes.h:62:32 */ type intmax_t = int64 /* common_int_mwgwtypes.h:66:33 */ type uintmax_t = uint64 /* common_int_mwgwtypes.h:67:32 */ -type u_char = uint8 /* types.h:110:23 */ -type u_short = uint16 /* types.h:111:24 */ -type u_int = uint32 /* types.h:112:22 */ -type u_long = uint64 /* types.h:113:23 */ +type u_char = uint8 /* types.h:101:23 */ +type u_short = uint16 /* types.h:102:24 */ +type u_int = uint32 /* types.h:103:22 */ +type u_long = uint64 /* types.h:104:23 */ -type unchar = uint8 /* types.h:115:23 */ // Sys V compatibility -type ushort = uint16 /* types.h:116:24 */ // Sys V compatibility -type uint = uint32 /* types.h:117:22 */ // Sys V compatibility -type ulong = uint64 /* types.h:118:23 */ // Sys V compatibility +type unchar = uint8 /* types.h:106:23 */ // Sys V compatibility +type ushort = uint16 /* types.h:107:24 */ // Sys V compatibility +type uint = uint32 /* types.h:108:22 */ // Sys V compatibility +type ulong = uint64 /* types.h:109:23 */ // Sys V compatibility -type u_quad_t = uint64_t /* types.h:121:18 */ // quads -type quad_t = int64_t /* types.h:122:18 */ -type qaddr_t = uintptr /* types.h:123:16 */ +type u_quad_t = uint64_t /* types.h:112:18 */ // quads +type quad_t = int64_t /* types.h:113:18 */ +type qaddr_t = uintptr /* types.h:114:16 */ // The types longlong_t and u_longlong_t exist for use with the // Sun-derived XDR routines involving these types, and their usage @@ -3775,59 +3799,59 @@ type qaddr_t = uintptr /* types.h:123:16 */ // respectively. Portable programs that need 64-bit types should use // the C99 types int64_t and uint64_t instead. -type longlong_t = int64_t /* types.h:135:18 */ // for XDR -type u_longlong_t = uint64_t /* types.h:136:18 */ // for XDR +type longlong_t = int64_t /* types.h:126:18 */ // for XDR +type u_longlong_t = uint64_t /* types.h:127:18 */ // for XDR -type blkcnt_t = int64_t /* types.h:138:18 */ // fs block count -type blksize_t = int32_t /* types.h:139:18 */ // fs optimal block size +type blkcnt_t = int64_t /* types.h:129:18 */ // fs block count +type blksize_t = int32_t /* types.h:130:18 */ // fs optimal block size -type fsblkcnt_t = uint64 /* types.h:142:22 */ // fs block count (statvfs) +type fsblkcnt_t = uint64 /* types.h:133:22 */ // fs block count (statvfs) -type fsfilcnt_t = uint64 /* types.h:147:22 */ // fs file count +type fsfilcnt_t = uint64 /* types.h:138:22 */ // fs file count // We don't and shouldn't use caddr_t in the kernel anymore -type caddr_t = uintptr /* types.h:154:19 */ // core address +type caddr_t = uintptr /* types.h:145:19 */ // core address -type daddr_t = int64_t /* types.h:163:18 */ // disk address +type daddr_t = int64_t /* types.h:154:18 */ // disk address -type dev_t = uint64_t /* types.h:166:18 */ // device number -type fixpt_t = uint32_t /* types.h:167:18 */ // fixed point number +type dev_t = uint64_t /* types.h:157:18 */ // device number +type fixpt_t = uint32_t /* types.h:158:18 */ // fixed point number -type gid_t = uint32 /* types.h:170:18 */ // group id +type gid_t = uint32 /* types.h:161:18 */ // group id -type id_t = uint32_t /* types.h:174:18 */ // group id, process id or user id -type ino_t = uint64_t /* types.h:175:18 */ // inode number -type key_t = int64 /* types.h:176:15 */ // IPC key (for Sys V IPC) +type id_t = uint32_t /* types.h:165:18 */ // group id, process id or user id +type ino_t = uint64_t /* types.h:166:18 */ // inode number +type key_t = int64 /* types.h:167:15 */ // IPC key (for Sys V IPC) -type mode_t = uint32 /* types.h:179:18 */ // permissions +type mode_t = uint32 /* types.h:170:18 */ // permissions -type nlink_t = uint32_t /* types.h:183:18 */ // link count +type nlink_t = uint32_t /* types.h:174:18 */ // link count -type pid_t = int32 /* types.h:191:18 */ // process id -type lwpid_t = int32_t /* types.h:194:18 */ // LWP id -type rlim_t = uint64_t /* types.h:195:18 */ // resource limit -type segsz_t = int32_t /* types.h:196:18 */ // segment size -type swblk_t = int32_t /* types.h:197:18 */ // swap offset +type pid_t = int32 /* types.h:182:18 */ // process id +type lwpid_t = int32_t /* types.h:185:18 */ // LWP id +type rlim_t = uint64_t /* types.h:186:18 */ // resource limit +type segsz_t = int32_t /* types.h:187:18 */ // segment size +type swblk_t = int32_t /* types.h:188:18 */ // swap offset -type uid_t = uint32 /* types.h:200:18 */ // user id +type uid_t = uint32 /* types.h:191:18 */ // user id -type mqd_t = int32 /* types.h:204:14 */ +type mqd_t = int32 /* types.h:195:14 */ -type cpuid_t = uint64 /* types.h:206:23 */ +type cpuid_t = uint64 /* types.h:197:23 */ -type psetid_t = int32 /* types.h:208:14 */ +type psetid_t = int32 /* types.h:199:14 */ -type clock_t = uint32 /* types.h:277:24 */ +type clock_t = uint32 /* types.h:268:24 */ -type time_t = int64 /* types.h:306:23 */ +type time_t = int64 /* types.h:289:23 */ -type clockid_t = int32 /* types.h:311:26 */ +type clockid_t = int32 /* types.h:294:26 */ -type timer_t = int32 /* types.h:316:24 */ +type timer_t = int32 /* types.h:299:24 */ -type suseconds_t = int32 /* types.h:321:27 */ +type suseconds_t = int32 /* types.h:304:27 */ -type useconds_t = uint32 /* types.h:326:26 */ +type useconds_t = uint32 /* types.h:309:26 */ // 32 = 2 ^ 5 @@ -3845,9 +3869,9 @@ type fd_set = fd_set1 /* fd_set.h:68:3 */ // Expose our internals if we are not required to hide them. -type kauth_cred_t = uintptr /* types.h:335:27 */ +type kauth_cred_t = uintptr /* types.h:318:27 */ -type pri_t = int32 /* types.h:337:13 */ +type pri_t = int32 /* types.h:320:13 */ // $NetBSD: pthread_types.h,v 1.23 2017/09/09 23:21:45 kamil Exp $ @@ -4002,22 +4026,22 @@ type pthread_key_t = int32 /* pthread_types.h:88:13 * type div_t = struct { quot int32 rem int32 -} /* stdlib.h:76:3 */ +} /* stdlib.h:59:3 */ type ldiv_t = struct { quot int64 rem int64 -} /* stdlib.h:81:3 */ +} /* stdlib.h:64:3 */ type lldiv_t = struct { quot int64 rem int64 -} /* stdlib.h:91:3 */ +} /* stdlib.h:74:3 */ type qdiv_t = struct { quot quad_t rem quad_t -} /* stdlib.h:98:3 */ +} /* stdlib.h:81:3 */ // The suffix to append to the child command lines, if any @@ -4215,7 +4239,7 @@ func errorMessage(tls *libc.TLS, zFormat uintptr, va uintptr) { /* mptest.c:215: var zMsg uintptr // var zPrefix [30]int8 at bp+8, 30 - ap = va + (ap) = va zMsg = sqlite3.Xsqlite3_vmprintf(tls, zFormat, ap) _ = ap sqlite3.Xsqlite3_snprintf(tls, int32(unsafe.Sizeof([30]int8{})), bp+8 /* &zPrefix[0] */, ts+8 /* "%s:ERROR: " */, libc.VaList(bp, uintptr(unsafe.Pointer(&g))+64 /* &.zName */)) @@ -4241,7 +4265,7 @@ func fatalError(tls *libc.TLS, zFormat uintptr, va uintptr) { /* mptest.c:241:13 var zMsg uintptr // var zPrefix [30]int8 at bp+8, 30 - ap = va + (ap) = va zMsg = sqlite3.Xsqlite3_vmprintf(tls, zFormat, ap) _ = ap sqlite3.Xsqlite3_snprintf(tls, int32(unsafe.Sizeof([30]int8{})), bp+8 /* &zPrefix[0] */, ts+19 /* "%s:FATAL: " */, libc.VaList(bp, uintptr(unsafe.Pointer(&g))+64 /* &.zName */)) @@ -4278,7 +4302,7 @@ func logMessage(tls *libc.TLS, zFormat uintptr, va uintptr) { /* mptest.c:276:13 var zMsg uintptr // var zPrefix [30]int8 at bp+8, 30 - ap = va + (ap) = va zMsg = sqlite3.Xsqlite3_vmprintf(tls, zFormat, ap) _ = ap sqlite3.Xsqlite3_snprintf(tls, int32(unsafe.Sizeof([30]int8{})), bp+8 /* &zPrefix[0] */, ts+60 /* "%s: " */, libc.VaList(bp, uintptr(unsafe.Pointer(&g))+64 /* &.zName */)) @@ -4370,7 +4394,7 @@ func prepareSql(tls *libc.TLS, zFormat uintptr, va uintptr) uintptr { /* mptest. var zSql uintptr var rc int32 *(*uintptr)(unsafe.Pointer(bp + 16 /* pStmt */)) = uintptr(0) - ap = va + (ap) = va zSql = sqlite3.Xsqlite3_vmprintf(tls, zFormat, ap) _ = ap rc = sqlite3.Xsqlite3_prepare_v2(tls, g.db, zSql, -1, bp+16 /* &pStmt */, uintptr(0)) @@ -4391,7 +4415,7 @@ func runSql(tls *libc.TLS, zFormat uintptr, va uintptr) { /* mptest.c:377:13: */ _ = ap var zSql uintptr var rc int32 - ap = va + (ap) = va zSql = sqlite3.Xsqlite3_vmprintf(tls, zFormat, ap) _ = ap rc = sqlite3.Xsqlite3_exec(tls, g.db, zSql, uintptr(0), uintptr(0), uintptr(0)) @@ -4407,7 +4431,7 @@ func trySql(tls *libc.TLS, zFormat uintptr, va uintptr) int32 { /* mptest.c:394: _ = ap var zSql uintptr var rc int32 - ap = va + (ap) = va zSql = sqlite3.Xsqlite3_vmprintf(tls, zFormat, ap) _ = ap rc = sqlite3.Xsqlite3_exec(tls, g.db, zSql, uintptr(0), uintptr(0), uintptr(0)) @@ -4515,7 +4539,7 @@ func evalSql(tls *libc.TLS, p uintptr, zFormat uintptr, va uintptr) int32 { /* m var zSql uintptr var rc int32 *(*uintptr)(unsafe.Pointer(bp + 8 /* zErrMsg */)) = uintptr(0) - ap = va + (ap) = va zSql = sqlite3.Xsqlite3_vmprintf(tls, zFormat, ap) _ = ap diff --git a/internal/testfixture/testfixture_netbsd_amd64.go b/internal/testfixture/testfixture_netbsd_amd64.go index bf8e175..0cffa2c 100644 --- a/internal/testfixture/testfixture_netbsd_amd64.go +++ b/internal/testfixture/testfixture_netbsd_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_netbsd_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 -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 -D__libc_cond_broadcast=pthread_cond_broadcast -D__libc_cond_destroy=pthread_cond_destroy -D__libc_cond_init=pthread_cond_init -D__libc_cond_signal=pthread_cond_signal -D__libc_cond_wait=pthread_cond_wait -D__libc_mutex_destroy=pthread_mutex_destroy -D__libc_mutex_init=pthread_mutex_init -D__libc_mutex_lock=pthread_mutex_lock -D__libc_mutex_trylock=pthread_mutex_trylock -D__libc_mutex_unlock=pthread_mutex_unlock -D__libc_thr_yield=sched_yield -I/usr/pkg/include -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_netbsd_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', DO NOT EDIT. package main @@ -10,7 +10,6 @@ import ( "modernc.org/libc" "modernc.org/libc/sys/types" - "modernc.org/sqlite/internal/libc2" "modernc.org/sqlite/libtest" "modernc.org/tcl/lib" "modernc.org/z/lib" @@ -33,7 +32,6 @@ const ( EXPERT_REPORT_PLAN = 3 EXPERT_REPORT_SQL = 1 FILENAME_MAX = 1024 - FIXINC_WRAP_STDIO_H_STDIO_STDARG_H = 1 FOPEN_MAX = 20 FPARSELN_UNESCALL = 0x0f FPARSELN_UNESCCOMM = 0x04 @@ -561,7 +559,6 @@ const ( TMP_MAX = 308915776 UNIQUE_TABLE_NAME = "t592690916721053953805701627921227776" X_AMD64_INT_TYPES_H_ = 0 - X_ANSI_STDARG_H_ = 0 X_FILE_OFFSET_BITS = 64 X_FSTDIO = 0 X_FTS5_H = 0 @@ -572,7 +569,6 @@ const ( X_LP64 = 1 X_NETBSD_SOURCE = 1 X_SQLITE3RTREE_H_ = 0 - X_STDARG_H = 0 X_STDIO_H_ = 0 X_STRINGS_H_ = 0 X_STRING_H_ = 0 @@ -582,10 +578,7 @@ const ( X_SYS_COMMON_ANSI_H_ = 0 X_SYS_COMMON_INT_TYPES_H_ = 0 X_SYS_NULL_H_ = 0 - X_VA_LIST = 0 - X_VA_LIST_ = 0 - X_VA_LIST_DEFINED = 0 - X_VA_LIST_T_H = 0 + X_SYS_STDARG_H_ = 0 X_X86_64_CDEFS_H_ = 0 CRTIMPORT = 0 DLLIMPORT = 0 @@ -910,9 +903,6 @@ const ( X_CTYPE_T = 0x1000 X_CTYPE_U = 0x0080 X_CTYPE_X = 0x0100 - X_GCC_PTRDIFF_T = 0 - X_GCC_SIZE_T = 0 - X_GCC_WCHAR_T = 0 X_LIB_PTHREAD_TYPES_H = 0 X_LITTLE_ENDIAN = 1234 X_PDP_ENDIAN = 3412 @@ -1584,18 +1574,16 @@ const ( FLT_MAX = 0 FLT_MIN = 0 GID_MAX = 2147483647 - INT_MAX = 2147483647 + INT_MAX = 0x7fffffff INT_MIN = -2147483648 IOV_MAX = 1024 LINE_MAX = 2048 LINK_MAX = 32767 - LLONG_MAX = 9223372036854775807 + LLONG_MAX = 0x7fffffffffffffff LLONG_MIN = -9223372036854775808 LOGIN_NAME_MAX = 17 LONG_BIT = 64 - LONG_LONG_MAX = 9223372036854775807 - LONG_LONG_MIN = -9223372036854775808 - LONG_MAX = 9223372036854775807 + LONG_MAX = 0x7fffffffffffffff LONG_MIN = -9223372036854775808 MAX_CANON = 255 MAX_INPUT = 255 @@ -1621,23 +1609,22 @@ const ( QUAD_MAX = 0x7fffffffffffffff QUAD_MIN = -9223372036854775808 RE_DUP_MAX = 255 - SCHAR_MAX = 127 + SCHAR_MAX = 0x7f SCHAR_MIN = -128 - SHRT_MAX = 32767 + SHRT_MAX = 0x7fff SHRT_MIN = -32768 SIZE_T_MAX = 18446744073709551615 SSIZE_MAX = 9223372036854775807 SSIZE_MIN = -9223372036854775808 STDC = 0 STDC99 = 0 - UCHAR_MAX = 255 + UCHAR_MAX = 0xff UID_MAX = 2147483647 - UINT_MAX = 4294967295 - ULLONG_MAX = 18446744073709551615 - ULONG_LONG_MAX = 18446744073709551615 - ULONG_MAX = 18446744073709551615 + UINT_MAX = 0xffffffff + ULLONG_MAX = 0xffffffffffffffff + ULONG_MAX = 0xffffffffffffffff UQUAD_MAX = 0xffffffffffffffff - USHRT_MAX = 65535 + USHRT_MAX = 0xffff WORD_BIT = 32 ZCONF_H = 0 ZEXPORT = 0 @@ -1694,13 +1681,9 @@ const ( Z_TREES = 6 Z_UNKNOWN = 2 Z_VERSION_ERROR = -6 - X_ANSI_STDDEF_H = 0 - X_GCC_LIMITS_H_ = 0 - X_GCC_MAX_ALIGN_T = 0 X_GETGR_R_SIZE_MAX = 1024 X_GETPW_R_SIZE_MAX = 1024 X_LIMITS_H_ = 0 - X_LIMITS_H___ = 0 X_POSIX2_BC_BASE_MAX = 99 X_POSIX2_BC_DIM_MAX = 2048 X_POSIX2_BC_SCALE_MAX = 99 @@ -1741,17 +1724,8 @@ const ( X_POSIX_TIMER_MAX = 32 X_POSIX_TTY_NAME_MAX = 9 X_POSIX_TZNAME_MAX = 6 - X_PTRDIFF_T = 0 - X_STDDEF_H = 0 X_STDDEF_H_ = 0 X_SYS_SYSLIMITS_H_ = 0 - X_T_WCHAR = 0 - X_T_WCHAR_ = 0 - X_WCHAR_T = 0 - X_WCHAR_T_DECLARED = 0 - X_WCHAR_T_DEFINED = 0 - X_WCHAR_T_DEFINED_ = 0 - X_WCHAR_T_H = 0 X_X86_64_LIMITS_H_ = 0 X_XOPEN_IOV_MAX = 16 X_XOPEN_NAME_MAX = 256 @@ -2015,7 +1989,7 @@ const ( EP_xIsSelect = 0x000800 EXCLUSIVE_LOCK = 4 EXPRDUP_REDUCE = 0x0001 - GCC_VERSION = 10003000 + GCC_VERSION = 7005000 HAVE_DLFCN_H = 1 HAVE_FCHOWN = 1 HAVE_FDATASYNC = 1 @@ -3019,7 +2993,6 @@ const ( XN_EXPR = -2 XN_ROWID = -1 X_AMD64_INT_FMTIO_H_ = 0 - X_GCC_WRAP_STDINT_H = 0 X_GNU_SOURCE = 0 X_INTTYPES_H_ = 0 X_LARGEFILE_SOURCE = 1 @@ -3494,25 +3467,66 @@ type size_t = uint64 /* :9:23 */ type wchar_t = int32 /* :15:24 */ -// Define the standard macros for the user, -// if this invocation was from the user program. +// $NetBSD: featuretest.h,v 1.10 2013/04/26 18:29:06 christos Exp $ -// Define va_list, if desired, from __gnuc_va_list. -// We deliberately do not define va_list when called from -// stdio.h, because ANSI C says that stdio.h is not supposed to define -// va_list. stdio.h needs to have access to that data type, -// but must not use that name. It should use the name __gnuc_va_list, -// which is safe because it is reserved for the implementation. +// Written by Klaus Klein , February 2, 1998. +// Public domain. +// +// NOTE: Do not protect this header against multiple inclusion. Doing +// so can have subtle side-effects due to header file inclusion order +// and testing of e.g. _POSIX_SOURCE vs. _POSIX_C_SOURCE. Instead, +// protect each CPP macro that we want to supply. -// The macro _VA_LIST_ is the same thing used by this file in Ultrix. -// But on BSD NET2 we must not test or define or undef it. -// (Note that the comments in NET 2's ansi.h -// are incorrect for _VA_LIST_--see stdio.h!) -// The macro _VA_LIST_DEFINED is used in Windows NT 3.5 -// The macro _VA_LIST is used in SCO Unix 3.2. -// The macro _VA_LIST_T_H is used in the Bull dpx2 -// The macro __va_list__ is used by BeOS. -type va_list = uintptr /* stdarg.h:99:24 */ +// Feature-test macros are defined by several standards, and allow an +// application to specify what symbols they want the system headers to +// expose, and hence what standard they want them to conform to. +// There are two classes of feature-test macros. The first class +// specify complete standards, and if one of these is defined, header +// files will try to conform to the relevant standard. They are: +// +// ANSI macros: +// _ANSI_SOURCE ANSI C89 +// +// POSIX macros: +// _POSIX_SOURCE == 1 IEEE Std 1003.1 (version?) +// _POSIX_C_SOURCE == 1 IEEE Std 1003.1-1990 +// _POSIX_C_SOURCE == 2 IEEE Std 1003.2-1992 +// _POSIX_C_SOURCE == 199309L IEEE Std 1003.1b-1993 +// _POSIX_C_SOURCE == 199506L ISO/IEC 9945-1:1996 +// _POSIX_C_SOURCE == 200112L IEEE Std 1003.1-2001 +// _POSIX_C_SOURCE == 200809L IEEE Std 1003.1-2008 +// +// X/Open macros: +// _XOPEN_SOURCE System Interfaces and Headers, Issue 4, Ver 2 +// _XOPEN_SOURCE_EXTENDED == 1 XSH4.2 UNIX extensions +// _XOPEN_SOURCE == 500 System Interfaces and Headers, Issue 5 +// _XOPEN_SOURCE == 520 Networking Services (XNS), Issue 5.2 +// _XOPEN_SOURCE == 600 IEEE Std 1003.1-2001, XSI option +// _XOPEN_SOURCE == 700 IEEE Std 1003.1-2008, XSI option +// +// NetBSD macros: +// _NETBSD_SOURCE == 1 Make all NetBSD features available. +// +// If more than one of these "major" feature-test macros is defined, +// then the set of facilities provided (and namespace used) is the +// union of that specified by the relevant standards, and in case of +// conflict, the earlier standard in the above list has precedence (so +// if both _POSIX_C_SOURCE and _NETBSD_SOURCE are defined, the version +// of rename() that's used is the POSIX one). If none of the "major" +// feature-test macros is defined, _NETBSD_SOURCE is assumed. +// +// There are also "minor" feature-test macros, which enable extra +// functionality in addition to some base standard. They should be +// defined along with one of the "major" macros. The "minor" macros +// are: +// +// _REENTRANT +// _ISOC99_SOURCE +// _ISOC11_SOURCE +// _LARGEFILE_SOURCE Large File Support +// + +type va_list = uintptr /* stdarg.h:53:19 */ // CAPI3REF: Database Connection Handle // KEYWORDS: {database connection} {database connections} @@ -3556,21 +3570,21 @@ type sqlite32 = struct { FmTrace u8 FnoSharedCache u8 FnSqlExec u8 - _ [3]byte + F__ccgo_pad1 [3]byte FnextPagesize int32 Fmagic u32 FnChange int32 FnTotalChange int32 FaLimit [12]int32 FnMaxSorterMmap int32 - _ [4]byte + F__ccgo_pad2 [4]byte Finit struct { FnewTnum Pgno FiDb u8 Fbusy u8 - _ [2]byte + F__ccgo_pad1 [2]byte ForphanTrigger uint8 /* unsigned orphanTrigger: 1, unsigned imposterTable: 1, unsigned reopenMemdb: 1 */ - _ [7]byte + F__ccgo_pad2 [7]byte FazInit uintptr } FnVdbeActive int32 @@ -3601,9 +3615,9 @@ type sqlite32 = struct { FpCollNeededArg uintptr FpErr uintptr Fu1 struct { - _ [0]uint64 + F__ccgo_pad1 [0]uint64 FisInterrupted int32 - _ [4]byte + F__ccgo_pad2 [4]byte } Flookaside Lookaside FxAuth sqlite3_xauth @@ -3882,7 +3896,7 @@ type sqlite3_file1 = struct{ FpMethods uintptr } /* sqlite3.h:684:9 */ type sqlite3_file = sqlite3_file1 /* sqlite3.h:684:29 */ type sqlite3_io_methods1 = struct { FiVersion int32 - _ [4]byte + F__ccgo_pad1 [4]byte FxClose uintptr FxRead uintptr FxWrite uintptr @@ -4346,9 +4360,9 @@ type sqlite3_io_methods = sqlite3_io_methods1 /* sqlite3.h:783:35 */ // // Mutexes are created using [sqlite3_mutex_alloc()]. type sqlite3_mutex1 = struct { - FpReal uintptr - FeType int32 - _ [4]byte + FpReal uintptr + FeType int32 + F__ccgo_pad1 [4]byte } /* sqlite3.h:1206:9 */ // CAPI3REF: Loadable Extension Thunk @@ -4784,7 +4798,7 @@ type sqlite3_vfs1 = struct { FiVersion int32 FszOsFile int32 FmxPathname int32 - _ [4]byte + F__ccgo_pad1 [4]byte FpNext uintptr FzName uintptr FpAppData uintptr @@ -5174,16 +5188,16 @@ type sqlite3_value1 = struct { // [sqlite3_context_db_handle()], [sqlite3_get_auxdata()], // and/or [sqlite3_set_auxdata()]. type sqlite3_context1 = struct { - FpOut uintptr - FpFunc uintptr - FpMem uintptr - FpVdbe uintptr - FiOp int32 - FisError int32 - FskipFlag u8 - Fargc u8 - _ [6]byte - Fargv [1]uintptr + FpOut uintptr + FpFunc uintptr + FpMem uintptr + FpVdbe uintptr + FiOp int32 + FisError int32 + FskipFlag u8 + Fargc u8 + F__ccgo_pad1 [6]byte + Fargv [1]uintptr } /* sqlite3.h:249:9 */ // CAPI3REF: Constants Defining Special Destructor Behavior @@ -5209,10 +5223,10 @@ type sqlite3_destructor_type = uintptr /* sqlite3.h:5665:14 */ // Structures used by the virtual table interface type sqlite3_vtab1 = struct { - FpModule uintptr - FnRef int32 - _ [4]byte - FzErrMsg uintptr + FpModule uintptr + FnRef int32 + F__ccgo_pad1 [4]byte + FzErrMsg uintptr } /* sqlite3.h:6784:9 */ // The interface to the virtual-table mechanism is currently considered @@ -5226,21 +5240,21 @@ type sqlite3_vtab1 = struct { type sqlite3_vtab = sqlite3_vtab1 /* sqlite3.h:6784:29 */ type sqlite3_index_info1 = struct { FnConstraint int32 - _ [4]byte + F__ccgo_pad1 [4]byte FaConstraint uintptr FnOrderBy int32 - _ [4]byte + F__ccgo_pad2 [4]byte FaOrderBy uintptr FaConstraintUsage uintptr FidxNum int32 - _ [4]byte + F__ccgo_pad3 [4]byte FidxStr uintptr FneedToFreeIdxStr int32 ForderByConsumed int32 FestimatedCost float64 FestimatedRows sqlite3_int64 FidxFlags int32 - _ [4]byte + F__ccgo_pad4 [4]byte FcolUsed sqlite3_uint64 } /* sqlite3.h:6785:9 */ @@ -5250,7 +5264,7 @@ type sqlite3_vtab_cursor1 = struct{ FpVtab uintptr } /* sqlite3.h:6786:9 */ type sqlite3_vtab_cursor = sqlite3_vtab_cursor1 /* sqlite3.h:6786:36 */ type sqlite3_module1 = struct { FiVersion int32 - _ [4]byte + F__ccgo_pad1 [4]byte FxCreate uintptr FxConnect uintptr FxBestIndex uintptr @@ -5382,7 +5396,7 @@ type sqlite3_index_constraint = struct { FiColumn int32 Fop uint8 Fusable uint8 - _ [2]byte + F__ccgo_pad1 [2]byte FiTermOffset int32 } /* sqlite3.h:6785:9 */ @@ -5487,9 +5501,9 @@ type sqlite3_index_constraint = struct { // sqlite3_libversion_number() returns a value greater than or equal to // 3009000. type sqlite3_index_orderby = struct { - FiColumn int32 - Fdesc uint8 - _ [3]byte + FiColumn int32 + Fdesc uint8 + F__ccgo_pad1 [3]byte } /* sqlite3.h:6785:9 */ // CAPI3REF: Virtual Table Indexing Information @@ -5593,9 +5607,9 @@ type sqlite3_index_orderby = struct { // sqlite3_libversion_number() returns a value greater than or equal to // 3009000. type sqlite3_index_constraint_usage = struct { - FargvIndex int32 - Fomit uint8 - _ [3]byte + FargvIndex int32 + Fomit uint8 + F__ccgo_pad1 [3]byte } /* sqlite3.h:6785:9 */ // CAPI3REF: Mutex Methods Object @@ -5760,7 +5774,7 @@ type sqlite3_str1 = struct { FnChar u32 FaccError u8 FprintfFlags u8 - _ [2]byte + F__ccgo_pad1 [2]byte } /* sqlite3.h:7882:9 */ // CAPI3REF: Custom Page Cache Object @@ -5944,20 +5958,20 @@ type sqlite3_pcache_page = sqlite3_pcache_page1 /* sqlite3.h:8375:36 */ // is not obligated to free any memory, but well-behaved implementations should // do their best. type sqlite3_pcache_methods21 = struct { - FiVersion int32 - _ [4]byte - FpArg uintptr - FxInit uintptr - FxShutdown uintptr - FxCreate uintptr - FxCachesize uintptr - FxPagecount uintptr - FxFetch uintptr - FxUnpin uintptr - FxRekey uintptr - FxTruncate uintptr - FxDestroy uintptr - FxShrink uintptr + FiVersion int32 + F__ccgo_pad1 [4]byte + FpArg uintptr + FxInit uintptr + FxShutdown uintptr + FxCreate uintptr + FxCachesize uintptr + FxPagecount uintptr + FxFetch uintptr + FxUnpin uintptr + FxRekey uintptr + FxTruncate uintptr + FxDestroy uintptr + FxShrink uintptr } /* sqlite3.h:8540:9 */ // CAPI3REF: Application Defined Page Cache. @@ -6217,12 +6231,12 @@ type sqlite3_snapshot = sqlite3_snapshot1 /* sqlite3.h:9632:3 */ // type sqlite3_rtree_geometry1 = struct { - FpContext uintptr - FnParam int32 - _ [4]byte - FaParam uintptr - FpUser uintptr - FxDelUser uintptr + FpContext uintptr + FnParam int32 + F__ccgo_pad1 [4]byte + FaParam uintptr + FpUser uintptr + FxDelUser uintptr } /* sqlite3.h:9957:9 */ // CAPI3REF: Flags for sqlite3_deserialize() @@ -6264,7 +6278,7 @@ type sqlite3_rtree_geometry = sqlite3_rtree_geometry1 /* sqlite3.h:9957:39 */ type sqlite3_rtree_query_info1 = struct { FpContext uintptr FnParam int32 - _ [4]byte + F__ccgo_pad1 [4]byte FaParam uintptr FpUser uintptr FxDelUser uintptr @@ -6273,7 +6287,7 @@ type sqlite3_rtree_query_info1 = struct { FnCoord int32 FiLevel int32 FmxLevel int32 - _ [4]byte + F__ccgo_pad2 [4]byte FiRowid sqlite3_int64 FrParentScore sqlite3_rtree_dbl FeParentWithin int32 @@ -6320,7 +6334,7 @@ type sqlite3_rtree_dbl = float64 /* sqlite3.h:9966:18 */ type Fts5ExtensionApi1 = struct { FiVersion int32 - _ [4]byte + F__ccgo_pad1 [4]byte FxUserData uintptr FxColumnCount uintptr FxRowCount uintptr @@ -6403,7 +6417,7 @@ type fts5_tokenizer = fts5_tokenizer1 /* sqlite3.h:12276:31 */ // FTS5 EXTENSION REGISTRATION API type fts5_api1 = struct { FiVersion int32 - _ [4]byte + F__ccgo_pad1 [4]byte FxCreateTokenizer uintptr FxFindTokenizer uintptr FxCreateFunction uintptr @@ -6431,7 +6445,7 @@ type fts5_api = fts5_api1 /* sqlite3.h:12312:25 */ type sqlite3expert1 = struct { FiSample int32 - _ [4]byte + F__ccgo_pad1 [4]byte Fdb uintptr Fdbm uintptr Fdbv uintptr @@ -6440,10 +6454,10 @@ type sqlite3expert1 = struct { FpWrite uintptr FpStatement uintptr FbRun int32 - _ [4]byte + F__ccgo_pad2 [4]byte FpzErrmsg uintptr Frc int32 - _ [4]byte + F__ccgo_pad3 [4]byte FhIdx IdxHash FzCandidates uintptr } /* sqlite3expert.h:17:9 */ @@ -6458,7 +6472,165 @@ type sqlite3expert = sqlite3expert1 /* sqlite3expert.h:17:30 */ type locale_t = uintptr /* string.h:116:25 */ -type ssize_t = int64 /* stdio.h:63:23 */ +// $NetBSD: stdio.h,v 1.97.18.1 2020/03/30 18:54:56 martin Exp $ + +// - +// Copyright (c) 1990, 1993 +// The Regents of the University of California. All rights reserved. +// +// This code is derived from software contributed to Berkeley by +// Chris Torek. +// +// 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. 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. +// +// @(#)stdio.h 8.5 (Berkeley) 4/29/95 + +// $NetBSD: cdefs.h,v 1.141 2019/02/21 21:34:05 christos Exp $ + +// * 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. 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 + +// $NetBSD: featuretest.h,v 1.10 2013/04/26 18:29:06 christos Exp $ + +// Written by Klaus Klein , February 2, 1998. +// Public domain. +// +// NOTE: Do not protect this header against multiple inclusion. Doing +// so can have subtle side-effects due to header file inclusion order +// and testing of e.g. _POSIX_SOURCE vs. _POSIX_C_SOURCE. Instead, +// protect each CPP macro that we want to supply. + +// Feature-test macros are defined by several standards, and allow an +// application to specify what symbols they want the system headers to +// expose, and hence what standard they want them to conform to. +// There are two classes of feature-test macros. The first class +// specify complete standards, and if one of these is defined, header +// files will try to conform to the relevant standard. They are: +// +// ANSI macros: +// _ANSI_SOURCE ANSI C89 +// +// POSIX macros: +// _POSIX_SOURCE == 1 IEEE Std 1003.1 (version?) +// _POSIX_C_SOURCE == 1 IEEE Std 1003.1-1990 +// _POSIX_C_SOURCE == 2 IEEE Std 1003.2-1992 +// _POSIX_C_SOURCE == 199309L IEEE Std 1003.1b-1993 +// _POSIX_C_SOURCE == 199506L ISO/IEC 9945-1:1996 +// _POSIX_C_SOURCE == 200112L IEEE Std 1003.1-2001 +// _POSIX_C_SOURCE == 200809L IEEE Std 1003.1-2008 +// +// X/Open macros: +// _XOPEN_SOURCE System Interfaces and Headers, Issue 4, Ver 2 +// _XOPEN_SOURCE_EXTENDED == 1 XSH4.2 UNIX extensions +// _XOPEN_SOURCE == 500 System Interfaces and Headers, Issue 5 +// _XOPEN_SOURCE == 520 Networking Services (XNS), Issue 5.2 +// _XOPEN_SOURCE == 600 IEEE Std 1003.1-2001, XSI option +// _XOPEN_SOURCE == 700 IEEE Std 1003.1-2008, XSI option +// +// NetBSD macros: +// _NETBSD_SOURCE == 1 Make all NetBSD features available. +// +// If more than one of these "major" feature-test macros is defined, +// then the set of facilities provided (and namespace used) is the +// union of that specified by the relevant standards, and in case of +// conflict, the earlier standard in the above list has precedence (so +// if both _POSIX_C_SOURCE and _NETBSD_SOURCE are defined, the version +// of rename() that's used is the POSIX one). If none of the "major" +// feature-test macros is defined, _NETBSD_SOURCE is assumed. +// +// There are also "minor" feature-test macros, which enable extra +// functionality in addition to some base standard. They should be +// defined along with one of the "major" macros. The "minor" macros +// are: +// +// _REENTRANT +// _ISOC99_SOURCE +// _ISOC11_SOURCE +// _LARGEFILE_SOURCE Large File Support +// + +// $NetBSD: ansi.h,v 1.14 2011/07/17 20:54:54 joerg Exp $ + +// - +// Copyright (c) 2000, 2001, 2002 The NetBSD Foundation, Inc. +// All rights reserved. +// +// This code is derived from software contributed to The NetBSD Foundation +// by Jun-ichiro itojun Hagino and by Klaus Klein. +// +// 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. +// +// THIS SOFTWARE IS PROVIDED BY THE NETBSD FOUNDATION, INC. 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 FOUNDATION 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. + +type ssize_t = int64 /* stdio.h:49:23 */ // $NetBSD: null.h,v 1.9 2010/07/06 11:56:20 kleink Exp $ @@ -6471,14 +6643,14 @@ type ssize_t = int64 /* stdio.h:63:23 */ type __sfpos = struct { F_pos int64 F_mbstate_in struct { - F__mbstateL int64 - _ [120]byte + F__mbstateL int64 + F__ccgo_pad1 [120]byte } F_mbstate_out struct { - F__mbstateL int64 - _ [120]byte + F__mbstateL int64 + F__ccgo_pad1 [120]byte } -} /* stdio.h:81:9 */ +} /* stdio.h:67:9 */ // $NetBSD: null.h,v 1.9 2010/07/06 11:56:20 kleink Exp $ @@ -6488,7 +6660,7 @@ type __sfpos = struct { // This is fairly grotesque, but pure ANSI code must not inspect the // innards of an fpos_t anyway. The library internally uses off_t, // which we assume is exactly as big as eight chars. -type fpos_t = __sfpos /* stdio.h:84:3 */ +type fpos_t = __sfpos /* stdio.h:70:3 */ // NB: to fit things in six character monocase externals, the stdio // code uses the prefix `__s' for stdio objects, typically followed @@ -6496,10 +6668,10 @@ type fpos_t = __sfpos /* stdio.h:84:3 */ // stdio buffers type __sbuf = struct { - F_base uintptr - F_size int32 - _ [4]byte -} /* stdio.h:95:1 */ + F_base uintptr + F_size int32 + F__ccgo_pad1 [4]byte +} /* stdio.h:81:1 */ // stdio state variables. // @@ -6526,39 +6698,39 @@ type __sbuf = struct { // // NB: see WARNING above before changing the layout of this structure! type __sFILE = struct { - F_p uintptr - F_r int32 - F_w int32 - F_flags uint16 - F_file int16 - _ [4]byte - F_bf struct { - F_base uintptr - F_size int32 - _ [4]byte + F_p uintptr + F_r int32 + F_w int32 + F_flags uint16 + F_file int16 + F__ccgo_pad1 [4]byte + F_bf struct { + F_base uintptr + F_size int32 + F__ccgo_pad1 [4]byte } - F_lbfsize int32 - _ [4]byte - F_cookie uintptr - F_close uintptr - F_read uintptr - F_seek uintptr - F_write uintptr - F_ext struct { - F_base uintptr - F_size int32 - _ [4]byte + F_lbfsize int32 + F__ccgo_pad2 [4]byte + F_cookie uintptr + F_close uintptr + F_read uintptr + F_seek uintptr + F_write uintptr + F_ext struct { + F_base uintptr + F_size int32 + F__ccgo_pad1 [4]byte } - F_up uintptr - F_ur int32 - F_ubuf [3]uint8 - F_nbuf [1]uint8 - F_flush uintptr - F_lb_unused [8]int8 - F_blksize int32 - _ [4]byte - F_offset int64 -} /* stdio.h:126:9 */ + F_up uintptr + F_ur int32 + F_ubuf [3]uint8 + F_nbuf [1]uint8 + F_flush uintptr + F_lb_unused [8]int8 + F_blksize int32 + F__ccgo_pad3 [4]byte + F_offset int64 +} /* stdio.h:112:9 */ // stdio state variables. // @@ -6584,19 +6756,19 @@ type __sFILE = struct { // _ub._base!=NULL) and _up and _ur save the current values of _p and _r. // // NB: see WARNING above before changing the layout of this structure! -type FILE = __sFILE /* stdio.h:160:3 */ +type FILE = __sFILE /* stdio.h:146:3 */ // X/Open CAE Specification Issue 5 Version 2 -type off_t = int64 /* stdio.h:390:18 */ +type off_t = int64 /* stdio.h:376:18 */ type i64 = sqlite3_int64 /* sqlite3expert.c:20:23 */ type u64 = sqlite3_uint64 /* sqlite3expert.c:21:24 */ type IdxColumn1 = struct { - FzName uintptr - FzColl uintptr - FiPk int32 - _ [4]byte + FzName uintptr + FzColl uintptr + FiPk int32 + F__ccgo_pad1 [4]byte } /* sqlite3expert.h:17:9 */ type IdxColumn = IdxColumn1 /* sqlite3expert.c:23:26 */ @@ -6612,41 +6784,41 @@ type IdxConstraint1 = struct { type IdxConstraint = IdxConstraint1 /* sqlite3expert.c:24:30 */ type IdxScan1 = struct { - FpTab uintptr - FiDb int32 - _ [4]byte - Fcovering i64 - FpOrder uintptr - FpEq uintptr - FpRange uintptr - FpNextScan uintptr + FpTab uintptr + FiDb int32 + F__ccgo_pad1 [4]byte + Fcovering i64 + FpOrder uintptr + FpEq uintptr + FpRange uintptr + FpNextScan uintptr } /* sqlite3expert.h:17:9 */ type IdxScan = IdxScan1 /* sqlite3expert.c:25:24 */ type IdxStatement1 = struct { - FiId int32 - _ [4]byte - FzSql uintptr - FzIdx uintptr - FzEQP uintptr - FpNext uintptr + FiId int32 + F__ccgo_pad1 [4]byte + FzSql uintptr + FzIdx uintptr + FzEQP uintptr + FpNext uintptr } /* sqlite3expert.h:17:9 */ type IdxStatement = IdxStatement1 /* sqlite3expert.c:26:29 */ type IdxTable1 = struct { - FnCol int32 - _ [4]byte - FzName uintptr - FaCol uintptr - FpNext uintptr + FnCol int32 + F__ccgo_pad1 [4]byte + FzName uintptr + FaCol uintptr + FpNext uintptr } /* sqlite3expert.h:17:9 */ type IdxTable = IdxTable1 /* sqlite3expert.c:27:25 */ type IdxWrite1 = struct { - FpTab uintptr - FeOp int32 - _ [4]byte - FpNext uintptr + FpTab uintptr + FeOp int32 + F__ccgo_pad1 [4]byte + FpNext uintptr } /* sqlite3expert.h:17:9 */ type IdxWrite = IdxWrite1 /* sqlite3expert.c:28:25 */ @@ -6831,7 +7003,7 @@ func idxPrintfPrepareStmt(tls *libc.TLS, db uintptr, ppStmt uintptr, pzErrmsg ui _ = ap var rc int32 var zSql uintptr - ap = va + (ap) = va zSql = sqlite3.Xsqlite3_vmprintf(tls, zFmt, ap) if zSql == uintptr(0) { rc = SQLITE_NOMEM @@ -7231,7 +7403,7 @@ func idxAppendText(tls *libc.TLS, pRc uintptr, zIn uintptr, zFmt uintptr, va uin nIn = 0 } var nAppend int32 = 0 - ap = va + (ap) = va if *(*int32)(unsafe.Pointer(pRc)) == SQLITE_OK { zAppend = sqlite3.Xsqlite3_vmprintf(tls, zFmt, ap) if zAppend != 0 { @@ -7915,11 +8087,11 @@ func idxCreateVtabSchema(tls *libc.TLS, p uintptr, pzErrmsg uintptr) int32 { /* } type IdxSampleCtx = struct { - FiTarget int32 - _ [4]byte - Ftarget float64 - FnRow float64 - FnRet float64 + FiTarget int32 + F__ccgo_pad1 [4]byte + Ftarget float64 + FnRow float64 + FnRet float64 } /* sqlite3expert.c:1378:1 */ func idxSampleFunc(tls *libc.TLS, pCtx uintptr, argc int32, argv uintptr) { /* sqlite3expert.c:1385:13: */ @@ -7949,27 +8121,27 @@ func idxSampleFunc(tls *libc.TLS, pCtx uintptr, argc int32, argv uintptr) { /* s } type IdxRemCtx = struct { - FnSlot int32 - _ [4]byte - FaSlot [1]struct { - FeType int32 - _ [4]byte - FiVal i64 - FrVal float64 - FnByte int32 - Fn int32 - Fz uintptr + FnSlot int32 + F__ccgo_pad1 [4]byte + FaSlot [1]struct { + FeType int32 + F__ccgo_pad1 [4]byte + FiVal i64 + FrVal float64 + FnByte int32 + Fn int32 + Fz uintptr } } /* sqlite3expert.c:1411:1 */ type IdxRemSlot = struct { - FeType int32 - _ [4]byte - FiVal i64 - FrVal float64 - FnByte int32 - Fn int32 - Fz uintptr + FeType int32 + F__ccgo_pad1 [4]byte + FiVal i64 + FrVal float64 + FnByte int32 + Fn int32 + Fz uintptr } /* sqlite3expert.c:1411:1 */ // Implementation of scalar function rem(). @@ -8371,7 +8543,7 @@ func sqlite3_expert_config(tls *libc.TLS, p uintptr, op int32, va uintptr) int32 var rc int32 = SQLITE_OK var ap va_list _ = ap - ap = va + (ap) = va switch op { case EXPERT_CONFIG_SAMPLE: { @@ -8556,30 +8728,37 @@ func sqlite3_expert_destroy(tls *libc.TLS, p uintptr) { /* sqlite3expert.c:1948: // // New code should just directly be written to use stdarg.h conventions. -// Copyright (C) 1989-2020 Free Software Foundation, Inc. -// -// This file is part of GCC. -// -// GCC is free software; you can redistribute it and/or modify -// it under the terms of the GNU General Public License as published by -// the Free Software Foundation; either version 3, or (at your option) -// any later version. -// -// GCC 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 General Public License for more details. -// -// Under Section 7 of GPL version 3, you are granted additional -// permissions described in the GCC Runtime Library Exception, version -// 3.1, as published by the Free Software Foundation. -// -// You should have received a copy of the GNU General Public License and -// a copy of the GCC Runtime Library Exception along with this program; -// see the files COPYING3 and COPYING.RUNTIME respectively. If not, see -// . +// $NetBSD: stdarg.h,v 1.4.24.1 2020/04/02 19:17:04 martin Exp $ -// ISO C Standard: 7.15 Variable arguments +// - +// Copyright (c) 1991, 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. 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. +// +// @(#)stdarg.h 8.1 (Berkeley) 6/10/93 // Allow a part of Tcl's API to be explicitly marked as deprecated. // @@ -8664,16 +8843,16 @@ type Tcl_WideUInt = uint64 /* tcl.h:416:36 */ // or some other strange platform. type stat = struct { - Fst_dev dev_t - Fst_mode uint32 - _ [4]byte - Fst_ino ino_t - Fst_nlink nlink_t - Fst_uid uint32 - Fst_gid uint32 - _ [4]byte - Fst_rdev dev_t - Fst_atim struct { + Fst_dev dev_t + Fst_mode uint32 + F__ccgo_pad1 [4]byte + Fst_ino ino_t + Fst_nlink nlink_t + Fst_uid uint32 + Fst_gid uint32 + F__ccgo_pad2 [4]byte + Fst_rdev dev_t + Fst_atim struct { Ftv_sec time_t Ftv_nsec int64 } @@ -8689,13 +8868,13 @@ type stat = struct { Ftv_sec time_t Ftv_nsec int64 } - Fst_size int64 - Fst_blocks blkcnt_t - Fst_blksize blksize_t - Fst_flags uint32_t - Fst_gen uint32_t - Fst_spare [2]uint32_t - _ [4]byte + Fst_size int64 + Fst_blocks blkcnt_t + Fst_blksize blksize_t + Fst_flags uint32_t + Fst_gen uint32_t + Fst_spare [2]uint32_t + F__ccgo_pad3 [4]byte } /* stat.h:59:1 */ //---------------------------------------------------------------------------- @@ -8720,7 +8899,7 @@ type Tcl_Interp1 = struct { FresultDontUse uintptr FfreeProcDontUse uintptr FerrorLineDontUse int32 - _ [4]byte + F__ccgo_pad1 [4]byte } /* tcl.h:493:9 */ //---------------------------------------------------------------------------- @@ -8812,7 +8991,7 @@ type Tcl_RegExpIndices = Tcl_RegExpIndices1 /* tcl.h:628:3 */ type Tcl_RegExpInfo1 = struct { Fnsubs int32 - _ [4]byte + F__ccgo_pad1 [4]byte Fmatches uintptr FextendStart int64 Freserved int64 @@ -8854,7 +9033,7 @@ type Tcl_ValueType = uint32 /* tcl.h:692:3 */ type Tcl_Value1 = struct { Ftype Tcl_ValueType - _ [4]byte + F__ccgo_pad1 [4]byte FintValue int64 FdoubleValue float64 FwideValue Tcl_WideInt @@ -8867,14 +9046,14 @@ type Tcl_Value = Tcl_Value1 /* tcl.h:700:3 */ type Tcl_Obj1 = struct { FrefCount int32 - _ [4]byte + F__ccgo_pad1 [4]byte Fbytes uintptr Flength int32 - _ [4]byte + F__ccgo_pad2 [4]byte FtypePtr uintptr FinternalRep struct { - FlongValue int64 - _ [8]byte + FlongValue int64 + F__ccgo_pad1 [8]byte } } /* tcl.h:707:1 */ @@ -8917,7 +9096,7 @@ type Tcl_SavedResult1 = struct { FappendAvl int32 FappendUsed int32 FresultSpace [201]int8 - _ [7]byte + F__ccgo_pad1 [7]byte } /* tcl.h:864:9 */ //---------------------------------------------------------------------------- @@ -8969,22 +9148,22 @@ type Tcl_Namespace = Tcl_Namespace1 /* tcl.h:897:3 */ // CallFrame structure in tclInt.h. If you change one, change the other. type Tcl_CallFrame1 = struct { - FnsPtr uintptr - Fdummy1 int32 - Fdummy2 int32 - Fdummy3 uintptr - Fdummy4 uintptr - Fdummy5 uintptr - Fdummy6 int32 - _ [4]byte - Fdummy7 uintptr - Fdummy8 uintptr - Fdummy9 int32 - _ [4]byte - Fdummy10 uintptr - Fdummy11 uintptr - Fdummy12 uintptr - Fdummy13 uintptr + FnsPtr uintptr + Fdummy1 int32 + Fdummy2 int32 + Fdummy3 uintptr + Fdummy4 uintptr + Fdummy5 uintptr + Fdummy6 int32 + F__ccgo_pad1 [4]byte + Fdummy7 uintptr + Fdummy8 uintptr + Fdummy9 int32 + F__ccgo_pad2 [4]byte + Fdummy10 uintptr + Fdummy11 uintptr + Fdummy12 uintptr + Fdummy13 uintptr } /* tcl.h:922:9 */ //---------------------------------------------------------------------------- @@ -9025,7 +9204,7 @@ type Tcl_CallFrame = Tcl_CallFrame1 /* tcl.h:937:3 */ type Tcl_CmdInfo1 = struct { FisNativeObjectProc int32 - _ [4]byte + F__ccgo_pad1 [4]byte FobjProc uintptr FobjClientData ClientData Fproc uintptr @@ -9236,7 +9415,7 @@ type Tcl_HashEntry = Tcl_HashEntry1 /* tcl.h:1154:30 */ type Tcl_HashSearch1 = struct { FtablePtr uintptr FnextIndex int32 - _ [4]byte + F__ccgo_pad1 [4]byte FnextEntryPtr uintptr } /* tcl.h:1308:9 */ @@ -9271,7 +9450,7 @@ type Tcl_HashSearch = Tcl_HashSearch1 /* tcl.h:1314:3 */ type Tcl_DictSearch = struct { Fnext uintptr Fepoch int32 - _ [4]byte + F__ccgo_pad1 [4]byte FdictionaryPtr Tcl_Dict } /* tcl.h:1354:3 */ @@ -9390,7 +9569,7 @@ type Tcl_FSVersion = uintptr /* tcl.h:1700:31 */ type Tcl_Filesystem1 = struct { FtypeName uintptr FstructureLength int32 - _ [4]byte + F__ccgo_pad1 [4]byte Fversion Tcl_FSVersion FpathInFilesystemProc uintptr FdupInternalRepProc uintptr @@ -9486,7 +9665,7 @@ type Tcl_NotifierProcs = Tcl_NotifierProcs1 /* tcl.h:1903:3 */ type Tcl_Token1 = struct { Ftype int32 - _ [4]byte + F__ccgo_pad1 [4]byte Fstart uintptr Fsize int32 FnumComponents int32 @@ -9579,7 +9758,7 @@ type Tcl_Token = Tcl_Token1 /* tcl.h:1924:3 */ type Tcl_Parse1 = struct { FcommentStart uintptr FcommentSize int32 - _ [4]byte + F__ccgo_pad1 [4]byte FcommandStart uintptr FcommandSize int32 FnumWords int32 @@ -9587,13 +9766,13 @@ type Tcl_Parse1 = struct { FnumTokens int32 FtokensAvailable int32 FerrorType int32 - _ [4]byte + F__ccgo_pad2 [4]byte Fstring uintptr Fend uintptr Finterp uintptr Fterm uintptr Fincomplete int32 - _ [4]byte + F__ccgo_pad3 [4]byte FstaticTokens [20]Tcl_Token } /* tcl.h:2030:9 */ @@ -9685,7 +9864,7 @@ type Tcl_EncodingType1 = struct { FfreeProc uintptr FclientData ClientData FnullSize int32 - _ [4]byte + F__ccgo_pad1 [4]byte } /* tcl.h:2091:9 */ //---------------------------------------------------------------------------- @@ -9798,19 +9977,19 @@ type mp_digit = uint32 /* tcl.h:2268:22 */ // Modifications from the original are copyright (c) Sam Bromley 2006 type Tcl_ArgvInfo = struct { - Ftype int32 - _ [4]byte - FkeyStr uintptr - FsrcPtr uintptr - FdstPtr uintptr - FhelpStr uintptr - FclientData ClientData + Ftype int32 + F__ccgo_pad1 [4]byte + FkeyStr uintptr + FsrcPtr uintptr + FdstPtr uintptr + FhelpStr uintptr + FclientData ClientData } /* tcl.h:2289:3 */ type TclPlatStubs1 = struct { - Fmagic int32 - _ [4]byte - Fhooks uintptr + Fmagic int32 + F__ccgo_pad1 [4]byte + Fhooks uintptr } /* tclDecls.h:1840:11 */ type TclStubHooks = struct { @@ -9821,7 +10000,7 @@ type TclStubHooks = struct { type TclStubs1 = struct { Fmagic int32 - _ [4]byte + F__ccgo_pad1 [4]byte Fhooks uintptr Ftcl_PkgProvideEx uintptr Ftcl_PkgRequireEx uintptr @@ -10632,10 +10811,10 @@ func testExpertCmd(tls *libc.TLS, clientData uintptr, interp uintptr, objc int32 } type Subcmd = struct { - FzSub uintptr - FnArg int32 - _ [4]byte - FzMsg uintptr + FzSub uintptr + FnArg int32 + F__ccgo_pad1 [4]byte + FzMsg uintptr } /* test_expert.c:62:3 */ func testExpertDel(tls *libc.TLS, clientData uintptr) { /* test_expert.c:150:27: */ @@ -10799,9 +10978,9 @@ func f5tResultToErrorCode(tls *libc.TLS, zRes uintptr) int32 { /* fts5_tcl.c:69: } type ErrorCode = struct { - Frc int32 - _ [4]byte - FzError uintptr + Frc int32 + F__ccgo_pad1 [4]byte + FzError uintptr } /* fts5_tcl.c:70:3 */ func f5tDbAndApi(tls *libc.TLS, interp uintptr, pObj uintptr, ppDb uintptr, ppApi uintptr) int32 { /* fts5_tcl.c:90:26: */ @@ -10991,7 +11170,9 @@ func xF5tApi(tls *libc.TLS, clientData uintptr, interp uintptr, objc int32, objv case 0: { var nCol int32 - nCol = (*(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(((*F5tApi)(unsafe.Pointer(p)).FpApi + 16 /* &.xColumnCount */))))(tls, (*F5tApi)(unsafe.Pointer(p)).FpFts) + nCol = (*struct { + f func(*libc.TLS, uintptr) int32 + })(unsafe.Pointer(&struct{ uintptr }{(*Fts5ExtensionApi)(unsafe.Pointer((*F5tApi)(unsafe.Pointer(p)).FpApi)).FxColumnCount})).f(tls, (*F5tApi)(unsafe.Pointer(p)).FpFts) if rc == SQLITE_OK { tcl.XTcl_SetObjResult(tls, interp, tcl.XTcl_NewIntObj(tls, nCol)) } @@ -11002,7 +11183,9 @@ func xF5tApi(tls *libc.TLS, clientData uintptr, interp uintptr, objc int32, objv { // var nRow sqlite3_int64 at bp+496, 8 - rc = (*(*func(*libc.TLS, uintptr, uintptr) int32)(unsafe.Pointer(((*F5tApi)(unsafe.Pointer(p)).FpApi + 24 /* &.xRowCount */))))(tls, (*F5tApi)(unsafe.Pointer(p)).FpFts, bp+496 /* &nRow */) + rc = (*struct { + f func(*libc.TLS, uintptr, uintptr) int32 + })(unsafe.Pointer(&struct{ uintptr }{(*Fts5ExtensionApi)(unsafe.Pointer((*F5tApi)(unsafe.Pointer(p)).FpApi)).FxRowCount})).f(tls, (*F5tApi)(unsafe.Pointer(p)).FpFts, bp+496 /* &nRow */) if rc == SQLITE_OK { tcl.XTcl_SetObjResult(tls, interp, tcl.XTcl_NewWideIntObj(tls, *(*sqlite3_int64)(unsafe.Pointer(bp + 496 /* nRow */)))) } @@ -11018,7 +11201,9 @@ func xF5tApi(tls *libc.TLS, clientData uintptr, interp uintptr, objc int32, objv if tcl.XTcl_GetIntFromObj(tls, interp, *(*uintptr)(unsafe.Pointer(objv + 2*8)), bp+504 /* &iCol */) != 0 { return TCL_ERROR } - rc = (*(*func(*libc.TLS, uintptr, int32, uintptr) int32)(unsafe.Pointer(((*F5tApi)(unsafe.Pointer(p)).FpApi + 32 /* &.xColumnTotalSize */))))(tls, (*F5tApi)(unsafe.Pointer(p)).FpFts, *(*int32)(unsafe.Pointer(bp + 504 /* iCol */)), bp+512 /* &nSize */) + rc = (*struct { + f func(*libc.TLS, uintptr, int32, uintptr) int32 + })(unsafe.Pointer(&struct{ uintptr }{(*Fts5ExtensionApi)(unsafe.Pointer((*F5tApi)(unsafe.Pointer(p)).FpApi)).FxColumnTotalSize})).f(tls, (*F5tApi)(unsafe.Pointer(p)).FpFts, *(*int32)(unsafe.Pointer(bp + 504 /* iCol */)), bp+512 /* &nSize */) if rc == SQLITE_OK { tcl.XTcl_SetObjResult(tls, interp, tcl.XTcl_NewWideIntObj(tls, *(*sqlite3_int64)(unsafe.Pointer(bp + 512 /* nSize */)))) } @@ -11034,7 +11219,9 @@ func xF5tApi(tls *libc.TLS, clientData uintptr, interp uintptr, objc int32, objv (*F5tFunction)(unsafe.Pointer(bp + 528 /* &ctx */)).Finterp = interp (*F5tFunction)(unsafe.Pointer(bp + 528 /* &ctx */)).FpScript = *(*uintptr)(unsafe.Pointer(objv + 3*8)) - rc = (*(*func(*libc.TLS, uintptr, uintptr, int32, uintptr, uintptr) int32)(unsafe.Pointer(((*F5tApi)(unsafe.Pointer(p)).FpApi + 40 /* &.xTokenize */))))(tls, (*F5tApi)(unsafe.Pointer(p)).FpFts, zText, *(*int32)(unsafe.Pointer(bp + 520 /* nText */)), bp+528 /* &ctx */, *(*uintptr)(unsafe.Pointer(&struct { + rc = (*struct { + f func(*libc.TLS, uintptr, uintptr, int32, uintptr, uintptr) int32 + })(unsafe.Pointer(&struct{ uintptr }{(*Fts5ExtensionApi)(unsafe.Pointer((*F5tApi)(unsafe.Pointer(p)).FpApi)).FxTokenize})).f(tls, (*F5tApi)(unsafe.Pointer(p)).FpFts, zText, *(*int32)(unsafe.Pointer(bp + 520 /* nText */)), bp+528 /* &ctx */, *(*uintptr)(unsafe.Pointer(&struct { f func(*libc.TLS, uintptr, int32, uintptr, int32, int32, int32) int32 }{xTokenizeCb}))) if rc == SQLITE_OK { @@ -11046,7 +11233,9 @@ func xF5tApi(tls *libc.TLS, clientData uintptr, interp uintptr, objc int32, objv case 4: { var nPhrase int32 - nPhrase = (*(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(((*F5tApi)(unsafe.Pointer(p)).FpApi + 48 /* &.xPhraseCount */))))(tls, (*F5tApi)(unsafe.Pointer(p)).FpFts) + nPhrase = (*struct { + f func(*libc.TLS, uintptr) int32 + })(unsafe.Pointer(&struct{ uintptr }{(*Fts5ExtensionApi)(unsafe.Pointer((*F5tApi)(unsafe.Pointer(p)).FpApi)).FxPhraseCount})).f(tls, (*F5tApi)(unsafe.Pointer(p)).FpFts) if rc == SQLITE_OK { tcl.XTcl_SetObjResult(tls, interp, tcl.XTcl_NewIntObj(tls, nPhrase)) } @@ -11061,7 +11250,9 @@ func xF5tApi(tls *libc.TLS, clientData uintptr, interp uintptr, objc int32, objv if tcl.XTcl_GetIntFromObj(tls, interp, *(*uintptr)(unsafe.Pointer(objv + 2*8)), bp+544 /* &iPhrase */) != 0 { return TCL_ERROR } - sz = (*(*func(*libc.TLS, uintptr, int32) int32)(unsafe.Pointer(((*F5tApi)(unsafe.Pointer(p)).FpApi + 56 /* &.xPhraseSize */))))(tls, (*F5tApi)(unsafe.Pointer(p)).FpFts, *(*int32)(unsafe.Pointer(bp + 544 /* iPhrase */))) + sz = (*struct { + f func(*libc.TLS, uintptr, int32) int32 + })(unsafe.Pointer(&struct{ uintptr }{(*Fts5ExtensionApi)(unsafe.Pointer((*F5tApi)(unsafe.Pointer(p)).FpApi)).FxPhraseSize})).f(tls, (*F5tApi)(unsafe.Pointer(p)).FpFts, *(*int32)(unsafe.Pointer(bp + 544 /* iPhrase */))) if rc == SQLITE_OK { tcl.XTcl_SetObjResult(tls, interp, tcl.XTcl_NewIntObj(tls, sz)) } @@ -11072,7 +11263,9 @@ func xF5tApi(tls *libc.TLS, clientData uintptr, interp uintptr, objc int32, objv { // var nInst int32 at bp+548, 4 - rc = (*(*func(*libc.TLS, uintptr, uintptr) int32)(unsafe.Pointer(((*F5tApi)(unsafe.Pointer(p)).FpApi + 64 /* &.xInstCount */))))(tls, (*F5tApi)(unsafe.Pointer(p)).FpFts, bp+548 /* &nInst */) + rc = (*struct { + f func(*libc.TLS, uintptr, uintptr) int32 + })(unsafe.Pointer(&struct{ uintptr }{(*Fts5ExtensionApi)(unsafe.Pointer((*F5tApi)(unsafe.Pointer(p)).FpApi)).FxInstCount})).f(tls, (*F5tApi)(unsafe.Pointer(p)).FpFts, bp+548 /* &nInst */) if rc == SQLITE_OK { tcl.XTcl_SetObjResult(tls, interp, tcl.XTcl_NewIntObj(tls, *(*int32)(unsafe.Pointer(bp + 548 /* nInst */)))) } @@ -11092,7 +11285,9 @@ func xF5tApi(tls *libc.TLS, clientData uintptr, interp uintptr, objc int32, objv if tcl.XTcl_GetIntFromObj(tls, interp, *(*uintptr)(unsafe.Pointer(objv + 2*8)), bp+552 /* &iIdx */) != 0 { return TCL_ERROR } - rc = (*(*func(*libc.TLS, uintptr, int32, uintptr, uintptr, uintptr) int32)(unsafe.Pointer(((*F5tApi)(unsafe.Pointer(p)).FpApi + 72 /* &.xInst */))))(tls, (*F5tApi)(unsafe.Pointer(p)).FpFts, *(*int32)(unsafe.Pointer(bp + 552 /* iIdx */)), bp+556 /* &ip */, bp+560 /* &ic */, bp+564 /* &io */) + rc = (*struct { + f func(*libc.TLS, uintptr, int32, uintptr, uintptr, uintptr) int32 + })(unsafe.Pointer(&struct{ uintptr }{(*Fts5ExtensionApi)(unsafe.Pointer((*F5tApi)(unsafe.Pointer(p)).FpApi)).FxInst})).f(tls, (*F5tApi)(unsafe.Pointer(p)).FpFts, *(*int32)(unsafe.Pointer(bp + 552 /* iIdx */)), bp+556 /* &ip */, bp+560 /* &ic */, bp+564 /* &io */) if rc == SQLITE_OK { var pList uintptr = tcl.XTcl_NewObj(tls) tcl.XTcl_ListObjAppendElement(tls, interp, pList, tcl.XTcl_NewIntObj(tls, *(*int32)(unsafe.Pointer(bp + 556 /* ip */)))) @@ -11105,7 +11300,9 @@ func xF5tApi(tls *libc.TLS, clientData uintptr, interp uintptr, objc int32, objv } case 8: { - var iRowid sqlite3_int64 = (*(*func(*libc.TLS, uintptr) sqlite3_int64)(unsafe.Pointer(((*F5tApi)(unsafe.Pointer(p)).FpApi + 80 /* &.xRowid */))))(tls, (*F5tApi)(unsafe.Pointer(p)).FpFts) + var iRowid sqlite3_int64 = (*struct { + f func(*libc.TLS, uintptr) sqlite3_int64 + })(unsafe.Pointer(&struct{ uintptr }{(*Fts5ExtensionApi)(unsafe.Pointer((*F5tApi)(unsafe.Pointer(p)).FpApi)).FxRowid})).f(tls, (*F5tApi)(unsafe.Pointer(p)).FpFts) tcl.XTcl_SetObjResult(tls, interp, tcl.XTcl_NewWideIntObj(tls, iRowid)) break @@ -11119,7 +11316,9 @@ func xF5tApi(tls *libc.TLS, clientData uintptr, interp uintptr, objc int32, objv if tcl.XTcl_GetIntFromObj(tls, interp, *(*uintptr)(unsafe.Pointer(objv + 2*8)), bp+568 /* &iCol */) != 0 { return TCL_ERROR } - rc = (*(*func(*libc.TLS, uintptr, int32, uintptr, uintptr) int32)(unsafe.Pointer(((*F5tApi)(unsafe.Pointer(p)).FpApi + 88 /* &.xColumnText */))))(tls, (*F5tApi)(unsafe.Pointer(p)).FpFts, *(*int32)(unsafe.Pointer(bp + 568 /* iCol */)), bp+576 /* &z */, bp+584 /* &n */) + rc = (*struct { + f func(*libc.TLS, uintptr, int32, uintptr, uintptr) int32 + })(unsafe.Pointer(&struct{ uintptr }{(*Fts5ExtensionApi)(unsafe.Pointer((*F5tApi)(unsafe.Pointer(p)).FpApi)).FxColumnText})).f(tls, (*F5tApi)(unsafe.Pointer(p)).FpFts, *(*int32)(unsafe.Pointer(bp + 568 /* iCol */)), bp+576 /* &z */, bp+584 /* &n */) if rc == SQLITE_OK { tcl.XTcl_SetObjResult(tls, interp, tcl.XTcl_NewStringObj(tls, *(*uintptr)(unsafe.Pointer(bp + 576 /* z */)), *(*int32)(unsafe.Pointer(bp + 584 /* n */)))) } @@ -11134,7 +11333,9 @@ func xF5tApi(tls *libc.TLS, clientData uintptr, interp uintptr, objc int32, objv if tcl.XTcl_GetIntFromObj(tls, interp, *(*uintptr)(unsafe.Pointer(objv + 2*8)), bp+588 /* &iCol */) != 0 { return TCL_ERROR } - rc = (*(*func(*libc.TLS, uintptr, int32, uintptr) int32)(unsafe.Pointer(((*F5tApi)(unsafe.Pointer(p)).FpApi + 96 /* &.xColumnSize */))))(tls, (*F5tApi)(unsafe.Pointer(p)).FpFts, *(*int32)(unsafe.Pointer(bp + 588 /* iCol */)), bp+592 /* &n */) + rc = (*struct { + f func(*libc.TLS, uintptr, int32, uintptr) int32 + })(unsafe.Pointer(&struct{ uintptr }{(*Fts5ExtensionApi)(unsafe.Pointer((*F5tApi)(unsafe.Pointer(p)).FpApi)).FxColumnSize})).f(tls, (*F5tApi)(unsafe.Pointer(p)).FpFts, *(*int32)(unsafe.Pointer(bp + 588 /* iCol */)), bp+592 /* &n */) if rc == SQLITE_OK { tcl.XTcl_SetObjResult(tls, interp, tcl.XTcl_NewIntObj(tls, *(*int32)(unsafe.Pointer(bp + 592 /* n */)))) } @@ -11152,7 +11353,9 @@ func xF5tApi(tls *libc.TLS, clientData uintptr, interp uintptr, objc int32, objv } (*F5tFunction)(unsafe.Pointer(bp + 600 /* &ctx */)).Finterp = interp (*F5tFunction)(unsafe.Pointer(bp + 600 /* &ctx */)).FpScript = *(*uintptr)(unsafe.Pointer(objv + 3*8)) - rc = (*(*func(*libc.TLS, uintptr, int32, uintptr, uintptr) int32)(unsafe.Pointer(((*F5tApi)(unsafe.Pointer(p)).FpApi + 104 /* &.xQueryPhrase */))))(tls, (*F5tApi)(unsafe.Pointer(p)).FpFts, *(*int32)(unsafe.Pointer(bp + 596 /* iPhrase */)), bp+600 /* &ctx */, *(*uintptr)(unsafe.Pointer(&struct { + rc = (*struct { + f func(*libc.TLS, uintptr, int32, uintptr, uintptr) int32 + })(unsafe.Pointer(&struct{ uintptr }{(*Fts5ExtensionApi)(unsafe.Pointer((*F5tApi)(unsafe.Pointer(p)).FpApi)).FxQueryPhrase})).f(tls, (*F5tApi)(unsafe.Pointer(p)).FpFts, *(*int32)(unsafe.Pointer(bp + 596 /* iPhrase */)), bp+600 /* &ctx */, *(*uintptr)(unsafe.Pointer(&struct { f func(*libc.TLS, uintptr, uintptr, uintptr) int32 }{xQueryPhraseCb}))) if rc == SQLITE_OK { @@ -11170,7 +11373,9 @@ func xF5tApi(tls *libc.TLS, clientData uintptr, interp uintptr, objc int32, objv } (*F5tAuxData)(unsafe.Pointer(pData)).FpObj = *(*uintptr)(unsafe.Pointer(objv + 2*8)) (*Tcl_Obj)(unsafe.Pointer((*F5tAuxData)(unsafe.Pointer(pData)).FpObj)).FrefCount++ - rc = (*(*func(*libc.TLS, uintptr, uintptr, uintptr) int32)(unsafe.Pointer(((*F5tApi)(unsafe.Pointer(p)).FpApi + 112 /* &.xSetAuxdata */))))(tls, (*F5tApi)(unsafe.Pointer(p)).FpFts, pData, *(*uintptr)(unsafe.Pointer(&struct{ f func(*libc.TLS, uintptr) }{xSetAuxdataDestructor}))) + rc = (*struct { + f func(*libc.TLS, uintptr, uintptr, uintptr) int32 + })(unsafe.Pointer(&struct{ uintptr }{(*Fts5ExtensionApi)(unsafe.Pointer((*F5tApi)(unsafe.Pointer(p)).FpApi)).FxSetAuxdata})).f(tls, (*F5tApi)(unsafe.Pointer(p)).FpFts, pData, *(*uintptr)(unsafe.Pointer(&struct{ f func(*libc.TLS, uintptr) }{xSetAuxdataDestructor}))) break } @@ -11182,7 +11387,9 @@ func xF5tApi(tls *libc.TLS, clientData uintptr, interp uintptr, objc int32, objv if tcl.XTcl_GetBooleanFromObj(tls, interp, *(*uintptr)(unsafe.Pointer(objv + 2*8)), bp+616 /* &bClear */) != 0 { return TCL_ERROR } - pData = (*(*func(*libc.TLS, uintptr, int32) uintptr)(unsafe.Pointer(((*F5tApi)(unsafe.Pointer(p)).FpApi + 120 /* &.xGetAuxdata */))))(tls, (*F5tApi)(unsafe.Pointer(p)).FpFts, *(*int32)(unsafe.Pointer(bp + 616 /* bClear */))) + pData = (*struct { + f func(*libc.TLS, uintptr, int32) uintptr + })(unsafe.Pointer(&struct{ uintptr }{(*Fts5ExtensionApi)(unsafe.Pointer((*F5tApi)(unsafe.Pointer(p)).FpApi)).FxGetAuxdata})).f(tls, (*F5tApi)(unsafe.Pointer(p)).FpFts, *(*int32)(unsafe.Pointer(bp + 616 /* bClear */))) if pData == uintptr(0) { tcl.XTcl_ResetResult(tls, interp) } else { @@ -11206,7 +11413,9 @@ func xF5tApi(tls *libc.TLS, clientData uintptr, interp uintptr, objc int32, objv if tcl.XTcl_GetIntFromObj(tls, interp, *(*uintptr)(unsafe.Pointer(objv + 2*8)), bp+620 /* &iVal */) != 0 { return TCL_ERROR } - rc = (*(*func(*libc.TLS, uintptr, uintptr, uintptr) int32)(unsafe.Pointer(((*F5tApi)(unsafe.Pointer(p)).FpApi + 112 /* &.xSetAuxdata */))))(tls, (*F5tApi)(unsafe.Pointer(p)).FpFts, (uintptr(0) + uintptr(*(*int32)(unsafe.Pointer(bp + 620 /* iVal */)))), uintptr(0)) + rc = (*struct { + f func(*libc.TLS, uintptr, uintptr, uintptr) int32 + })(unsafe.Pointer(&struct{ uintptr }{(*Fts5ExtensionApi)(unsafe.Pointer((*F5tApi)(unsafe.Pointer(p)).FpApi)).FxSetAuxdata})).f(tls, (*F5tApi)(unsafe.Pointer(p)).FpFts, (uintptr(0) + uintptr(*(*int32)(unsafe.Pointer(bp + 620 /* iVal */)))), uintptr(0)) break } @@ -11218,7 +11427,9 @@ func xF5tApi(tls *libc.TLS, clientData uintptr, interp uintptr, objc int32, objv if tcl.XTcl_GetBooleanFromObj(tls, interp, *(*uintptr)(unsafe.Pointer(objv + 2*8)), bp+624 /* &bClear */) != 0 { return TCL_ERROR } - iVal = (int32((int64((*(*func(*libc.TLS, uintptr, int32) uintptr)(unsafe.Pointer(((*F5tApi)(unsafe.Pointer(p)).FpApi + 120 /* &.xGetAuxdata */))))(tls, (*F5tApi)(unsafe.Pointer(p)).FpFts, *(*int32)(unsafe.Pointer(bp + 624 /* bClear */)))) - int64(uintptr(0))) / 1)) + iVal = (int32((int64((*struct { + f func(*libc.TLS, uintptr, int32) uintptr + })(unsafe.Pointer(&struct{ uintptr }{(*Fts5ExtensionApi)(unsafe.Pointer((*F5tApi)(unsafe.Pointer(p)).FpApi)).FxGetAuxdata})).f(tls, (*F5tApi)(unsafe.Pointer(p)).FpFts, *(*int32)(unsafe.Pointer(bp + 624 /* bClear */)))) - int64(uintptr(0))) / 1)) tcl.XTcl_SetObjResult(tls, interp, tcl.XTcl_NewIntObj(tls, iVal)) break @@ -11243,12 +11454,16 @@ func xF5tApi(tls *libc.TLS, clientData uintptr, interp uintptr, objc int32, objv zColvar = tcl.XTcl_GetString(tls, *(*uintptr)(unsafe.Pointer(objv + 3*8))) zOffvar = tcl.XTcl_GetString(tls, *(*uintptr)(unsafe.Pointer(objv + 4*8))) - rc = (*(*func(*libc.TLS, uintptr, int32, uintptr, uintptr, uintptr) int32)(unsafe.Pointer(((*F5tApi)(unsafe.Pointer(p)).FpApi + 128 /* &.xPhraseFirst */))))(tls, (*F5tApi)(unsafe.Pointer(p)).FpFts, *(*int32)(unsafe.Pointer(bp + 628 /* iPhrase */)), bp+632 /* &iter */, bp+648 /* &iCol */, bp+652 /* &iOff */) + rc = (*struct { + f func(*libc.TLS, uintptr, int32, uintptr, uintptr, uintptr) int32 + })(unsafe.Pointer(&struct{ uintptr }{(*Fts5ExtensionApi)(unsafe.Pointer((*F5tApi)(unsafe.Pointer(p)).FpApi)).FxPhraseFirst})).f(tls, (*F5tApi)(unsafe.Pointer(p)).FpFts, *(*int32)(unsafe.Pointer(bp + 628 /* iPhrase */)), bp+632 /* &iter */, bp+648 /* &iCol */, bp+652 /* &iOff */) if rc != SQLITE_OK { tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp+16, sqlite3.Xsqlite3ErrName(tls, rc), 0)) return TCL_ERROR } - for ; *(*int32)(unsafe.Pointer(bp + 648 /* iCol */)) >= 0; (*(*func(*libc.TLS, uintptr, uintptr, uintptr, uintptr))(unsafe.Pointer(((*F5tApi)(unsafe.Pointer(p)).FpApi + 136 /* &.xPhraseNext */))))(tls, (*F5tApi)(unsafe.Pointer(p)).FpFts, bp+632 /* &iter */, bp+648 /* &iCol */, bp+652 /* &iOff */) { + for ; *(*int32)(unsafe.Pointer(bp + 648 /* iCol */)) >= 0; (*struct { + f func(*libc.TLS, uintptr, uintptr, uintptr, uintptr) + })(unsafe.Pointer(&struct{ uintptr }{(*Fts5ExtensionApi)(unsafe.Pointer((*F5tApi)(unsafe.Pointer(p)).FpApi)).FxPhraseNext})).f(tls, (*F5tApi)(unsafe.Pointer(p)).FpFts, bp+632 /* &iter */, bp+648 /* &iCol */, bp+652 /* &iOff */) { tcl.XTcl_SetVar2Ex(tls, interp, zColvar, uintptr(0), tcl.XTcl_NewIntObj(tls, *(*int32)(unsafe.Pointer(bp + 648 /* iCol */))), 0) tcl.XTcl_SetVar2Ex(tls, interp, zOffvar, uintptr(0), tcl.XTcl_NewIntObj(tls, *(*int32)(unsafe.Pointer(bp + 652 /* iOff */))), 0) rc = tcl.XTcl_EvalObjEx(tls, interp, pScript, 0) @@ -11282,12 +11497,16 @@ func xF5tApi(tls *libc.TLS, clientData uintptr, interp uintptr, objc int32, objv } zColvar = tcl.XTcl_GetString(tls, *(*uintptr)(unsafe.Pointer(objv + 3*8))) - rc = (*(*func(*libc.TLS, uintptr, int32, uintptr, uintptr) int32)(unsafe.Pointer(((*F5tApi)(unsafe.Pointer(p)).FpApi + 144 /* &.xPhraseFirstColumn */))))(tls, (*F5tApi)(unsafe.Pointer(p)).FpFts, *(*int32)(unsafe.Pointer(bp + 656 /* iPhrase */)), bp+664 /* &iter */, bp+680 /* &iCol */) + rc = (*struct { + f func(*libc.TLS, uintptr, int32, uintptr, uintptr) int32 + })(unsafe.Pointer(&struct{ uintptr }{(*Fts5ExtensionApi)(unsafe.Pointer((*F5tApi)(unsafe.Pointer(p)).FpApi)).FxPhraseFirstColumn})).f(tls, (*F5tApi)(unsafe.Pointer(p)).FpFts, *(*int32)(unsafe.Pointer(bp + 656 /* iPhrase */)), bp+664 /* &iter */, bp+680 /* &iCol */) if rc != SQLITE_OK { tcl.XTcl_SetResult(tls, interp, sqlite3.Xsqlite3ErrName(tls, rc), uintptr(1)) return TCL_ERROR } - for ; *(*int32)(unsafe.Pointer(bp + 680 /* iCol */)) >= 0; (*(*func(*libc.TLS, uintptr, uintptr, uintptr))(unsafe.Pointer(((*F5tApi)(unsafe.Pointer(p)).FpApi + 152 /* &.xPhraseNextColumn */))))(tls, (*F5tApi)(unsafe.Pointer(p)).FpFts, bp+664 /* &iter */, bp+680 /* &iCol */) { + for ; *(*int32)(unsafe.Pointer(bp + 680 /* iCol */)) >= 0; (*struct { + f func(*libc.TLS, uintptr, uintptr, uintptr) + })(unsafe.Pointer(&struct{ uintptr }{(*Fts5ExtensionApi)(unsafe.Pointer((*F5tApi)(unsafe.Pointer(p)).FpApi)).FxPhraseNextColumn})).f(tls, (*F5tApi)(unsafe.Pointer(p)).FpFts, bp+664 /* &iter */, bp+680 /* &iCol */) { tcl.XTcl_SetVar2Ex(tls, interp, zColvar, uintptr(0), tcl.XTcl_NewIntObj(tls, *(*int32)(unsafe.Pointer(bp + 680 /* iCol */))), 0) rc = tcl.XTcl_EvalObjEx(tls, interp, pScript, 0) if rc == TCL_CONTINUE { @@ -11319,17 +11538,19 @@ func xF5tApi(tls *libc.TLS, clientData uintptr, interp uintptr, objc int32, objv } type Sub = struct { - FzName uintptr - FnArg int32 - _ [4]byte - FzMsg uintptr + FzName uintptr + FnArg int32 + F__ccgo_pad1 [4]byte + FzMsg uintptr } /* fts5_tcl.c:224:3 */ func xF5tFunction(tls *libc.TLS, pApi uintptr, pFts uintptr, pCtx uintptr, nVal int32, apVal uintptr) { /* fts5_tcl.c:517:13: */ bp := tls.Alloc(112) defer tls.Free(112) - var p uintptr = (*(*func(*libc.TLS, uintptr) uintptr)(unsafe.Pointer((pApi + 8 /* &.xUserData */))))(tls, pFts) + var p uintptr = (*struct { + f func(*libc.TLS, uintptr) uintptr + })(unsafe.Pointer(&struct{ uintptr }{(*Fts5ExtensionApi)(unsafe.Pointer(pApi)).FxUserData})).f(tls, pFts) var pEval uintptr // Script to evaluate var i int32 var rc int32 @@ -11460,7 +11681,9 @@ func f5tCreateFunction(tls *libc.TLS, clientData uintptr, interp uintptr, objc i (*F5tFunction)(unsafe.Pointer(pCtx)).FpScript = pScript (*Tcl_Obj)(unsafe.Pointer(pScript)).FrefCount++ - rc = (*(*func(*libc.TLS, uintptr, uintptr, uintptr, fts5_extension_function, uintptr) int32)(unsafe.Pointer((*(*uintptr)(unsafe.Pointer(bp + 32 /* pApi */)) + 24 /* &.xCreateFunction */))))(tls, + rc = (*struct { + f func(*libc.TLS, uintptr, uintptr, uintptr, fts5_extension_function, uintptr) int32 + })(unsafe.Pointer(&struct{ uintptr }{(*fts5_api)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp + 32 /* pApi */)))).FxCreateFunction})).f(tls, *(*uintptr)(unsafe.Pointer(bp + 32 /* pApi */)), zName, pCtx, *(*uintptr)(unsafe.Pointer(&struct { f func(*libc.TLS, uintptr, uintptr, uintptr, int32, uintptr) }{xF5tFunction})), *(*uintptr)(unsafe.Pointer(&struct{ f func(*libc.TLS, uintptr) }{xF5tDestroy}))) @@ -11473,10 +11696,10 @@ func f5tCreateFunction(tls *libc.TLS, clientData uintptr, interp uintptr, objc i } type F5tTokenizeCtx1 = struct { - FpRet uintptr - FbSubst int32 - _ [4]byte - FzInput uintptr + FpRet uintptr + FbSubst int32 + F__ccgo_pad1 [4]byte + FzInput uintptr } /* fts5_tcl.c:648:9 */ type F5tTokenizeCtx = F5tTokenizeCtx1 /* fts5_tcl.c:648:31 */ @@ -11544,13 +11767,17 @@ func f5tTokenize(tls *libc.TLS, clientData uintptr, interp uintptr, objc int32, } zText = tcl.XTcl_GetStringFromObj(tls, *(*uintptr)(unsafe.Pointer(objv + uintptr((objc-1))*8)), bp+128 /* &nText */) - rc = (*(*func(*libc.TLS, uintptr, uintptr, uintptr, uintptr) int32)(unsafe.Pointer((*(*uintptr)(unsafe.Pointer(bp + 104 /* pApi */)) + 16 /* &.xFindTokenizer */))))(tls, *(*uintptr)(unsafe.Pointer(bp + 104 /* pApi */)), *(*uintptr)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp + 120 /* azArg */)))), bp+136 /* &pUserdata */, bp+144 /* &tokenizer */) + rc = (*struct { + f func(*libc.TLS, uintptr, uintptr, uintptr, uintptr) int32 + })(unsafe.Pointer(&struct{ uintptr }{(*fts5_api)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp + 104 /* pApi */)))).FxFindTokenizer})).f(tls, *(*uintptr)(unsafe.Pointer(bp + 104 /* pApi */)), *(*uintptr)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp + 120 /* azArg */)))), bp+136 /* &pUserdata */, bp+144 /* &tokenizer */) if rc != SQLITE_OK { tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp+40, ts+2508 /* "no such tokenize..." */, *(*uintptr)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp + 120 /* azArg */)))), 0)) return TCL_ERROR } - rc = (*(*func(*libc.TLS, uintptr, uintptr, int32, uintptr) int32)(unsafe.Pointer((bp + 144 /* &tokenizer */ /* &.xCreate */))))(tls, *(*uintptr)(unsafe.Pointer(bp + 136 /* pUserdata */)), (*(*uintptr)(unsafe.Pointer(bp + 120 /* azArg */)) + 1*8), (*(*int32)(unsafe.Pointer(bp + 112 /* nArg */)) - 1), bp+168 /* &pTok */) + rc = (*struct { + f func(*libc.TLS, uintptr, uintptr, int32, uintptr) int32 + })(unsafe.Pointer(&struct{ uintptr }{(*fts5_tokenizer)(unsafe.Pointer(bp + 144 /* &tokenizer */)).FxCreate})).f(tls, *(*uintptr)(unsafe.Pointer(bp + 136 /* pUserdata */)), (*(*uintptr)(unsafe.Pointer(bp + 120 /* azArg */)) + 1*8), (*(*int32)(unsafe.Pointer(bp + 112 /* nArg */)) - 1), bp+168 /* &pTok */) if rc != SQLITE_OK { tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp+64, ts+2528 /* "error in tokeniz..." */, 0)) return TCL_ERROR @@ -11561,11 +11788,13 @@ func f5tTokenize(tls *libc.TLS, clientData uintptr, interp uintptr, objc int32, (*F5tTokenizeCtx)(unsafe.Pointer(bp + 176 /* &ctx */)).FbSubst = (libc.Bool32(objc == 5)) (*F5tTokenizeCtx)(unsafe.Pointer(bp + 176 /* &ctx */)).FpRet = pRet (*F5tTokenizeCtx)(unsafe.Pointer(bp + 176 /* &ctx */)).FzInput = zText - rc = (*(*func(*libc.TLS, uintptr, uintptr, int32, uintptr, int32, uintptr) int32)(unsafe.Pointer((bp + 144 /* &tokenizer */ + 16 /* &.xTokenize */))))(tls, + rc = (*struct { + f func(*libc.TLS, uintptr, uintptr, int32, uintptr, int32, uintptr) int32 + })(unsafe.Pointer(&struct{ uintptr }{(*fts5_tokenizer)(unsafe.Pointer(bp + 144 /* &tokenizer */)).FxTokenize})).f(tls, *(*uintptr)(unsafe.Pointer(bp + 168 /* pTok */)), bp+176 /* &ctx */, FTS5_TOKENIZE_DOCUMENT, zText, *(*int32)(unsafe.Pointer(bp + 128 /* nText */)), *(*uintptr)(unsafe.Pointer(&struct { f func(*libc.TLS, uintptr, int32, uintptr, int32, int32, int32) int32 }{xTokenizeCb2}))) - (*(*func(*libc.TLS, uintptr))(unsafe.Pointer((bp + 144 /* &tokenizer */ + 8 /* &.xDelete */))))(tls, *(*uintptr)(unsafe.Pointer(bp + 168 /* pTok */))) + (*struct{ f func(*libc.TLS, uintptr) })(unsafe.Pointer(&struct{ uintptr }{(*fts5_tokenizer)(unsafe.Pointer(bp + 144 /* &tokenizer */)).FxDelete})).f(tls, *(*uintptr)(unsafe.Pointer(bp + 168 /* pTok */))) if rc != SQLITE_OK { tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp+80, ts+2557 /* "error in tokeniz..." */, 0)) for ok := true; ok; ok = 0 != 0 { @@ -11778,7 +12007,9 @@ __6: __7: ; - rc = (*(*func(*libc.TLS, uintptr, int32, uintptr, int32, int32, int32) int32)(unsafe.Pointer((p + 8 /* &.xToken */))))(tls, (*F5tTokenizerContext)(unsafe.Pointer(p)).FpCtx, tflags, zToken, *(*int32)(unsafe.Pointer(bp + 20 /* nToken */)), *(*int32)(unsafe.Pointer(bp + 24 /* iStart */)), *(*int32)(unsafe.Pointer(bp + 28 /* iEnd */))) + rc = (*struct { + f func(*libc.TLS, uintptr, int32, uintptr, int32, int32, int32) int32 + })(unsafe.Pointer(&struct{ uintptr }{(*F5tTokenizerContext)(unsafe.Pointer(p)).FxToken})).f(tls, (*F5tTokenizerContext)(unsafe.Pointer(p)).FpCtx, tflags, zToken, *(*int32)(unsafe.Pointer(bp + 20 /* nToken */)), *(*int32)(unsafe.Pointer(bp + 24 /* iStart */)), *(*int32)(unsafe.Pointer(bp + 28 /* iEnd */))) tcl.XTcl_SetResult(tls, interp, sqlite3.Xsqlite3ErrName(tls, rc), uintptr(1)) if rc == SQLITE_OK { return TCL_OK @@ -11854,7 +12085,9 @@ func f5tCreateTokenizer(tls *libc.TLS, clientData ClientData, interp uintptr, ob (*F5tTokenizerModule)(unsafe.Pointer(pMod)).FpScript = pScript (*F5tTokenizerModule)(unsafe.Pointer(pMod)).FpContext = pContext (*Tcl_Obj)(unsafe.Pointer(pScript)).FrefCount++ - rc = (*(*func(*libc.TLS, uintptr, uintptr, uintptr, uintptr, uintptr) int32)(unsafe.Pointer((*(*uintptr)(unsafe.Pointer(bp + 24 /* pApi */)) + 8 /* &.xCreateTokenizer */))))(tls, *(*uintptr)(unsafe.Pointer(bp + 24 /* pApi */)), zName, pMod, bp+32 /* &t */, *(*uintptr)(unsafe.Pointer(&struct{ f func(*libc.TLS, uintptr) }{f5tDelTokenizer}))) + rc = (*struct { + f func(*libc.TLS, uintptr, uintptr, uintptr, uintptr, uintptr) int32 + })(unsafe.Pointer(&struct{ uintptr }{(*fts5_api)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp + 24 /* pApi */)))).FxCreateTokenizer})).f(tls, *(*uintptr)(unsafe.Pointer(bp + 24 /* pApi */)), zName, pMod, bp+32 /* &t */, *(*uintptr)(unsafe.Pointer(&struct{ f func(*libc.TLS, uintptr) }{f5tDelTokenizer}))) if rc != SQLITE_OK { tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp, ts+2724 /* "error in fts5_ap..." */, 0)) return TCL_ERROR @@ -11966,7 +12199,7 @@ func Fts5tcl_Init(tls *libc.TLS, interp uintptr) int32 { /* fts5_tcl.c:1123:5: * FzName uintptr FxProc uintptr FbTokenizeCtx int32 - _ [4]byte + F__ccgo_pad1 [4]byte }{}))); i++ { var p uintptr = (uintptr(unsafe.Pointer(&aCmd)) + uintptr(i)*24) var pCtx uintptr = uintptr(0) @@ -11974,7 +12207,7 @@ func Fts5tcl_Init(tls *libc.TLS, interp uintptr) int32 { /* fts5_tcl.c:1123:5: * FzName uintptr FxProc uintptr FbTokenizeCtx int32 - _ [4]byte + F__ccgo_pad1 [4]byte })(unsafe.Pointer(p)).FbTokenizeCtx != 0 { pCtx = pContext } @@ -11982,12 +12215,12 @@ func Fts5tcl_Init(tls *libc.TLS, interp uintptr) int32 { /* fts5_tcl.c:1123:5: * FzName uintptr FxProc uintptr FbTokenizeCtx int32 - _ [4]byte + F__ccgo_pad1 [4]byte })(unsafe.Pointer(p)).FzName, (*struct { FzName uintptr FxProc uintptr FbTokenizeCtx int32 - _ [4]byte + F__ccgo_pad1 [4]byte })(unsafe.Pointer(p)).FxProc, pCtx, func() uintptr { if i != 0 { return uintptr(0) @@ -12003,7 +12236,7 @@ var aCmd = [8]struct { FzName uintptr FxProc uintptr FbTokenizeCtx int32 - _ [4]byte + F__ccgo_pad1 [4]byte }{ {FzName: ts + 2773 /* "sqlite3_fts5_cre..." */, FxProc: 0, FbTokenizeCtx: 1}, {FzName: ts + 2803 /* "sqlite3_fts5_tok..." */, FxProc: 0, FbTokenizeCtx: 1}, @@ -12016,12 +12249,12 @@ var aCmd = [8]struct { } /* fts5_tcl.c:1128:5 */ type Fts5MatchinfoCtx1 = struct { - FnCol int32 - FnPhrase int32 - FzArg uintptr - FnRet int32 - _ [4]byte - FaRet uintptr + FnCol int32 + FnPhrase int32 + FzArg uintptr + FnRet int32 + F__ccgo_pad1 [4]byte + FaRet uintptr } /* fts5_test_mi.c:50:9 */ type Fts5MatchinfoCtx = Fts5MatchinfoCtx1 /* fts5_test_mi.c:50:33 */ @@ -12094,7 +12327,9 @@ func fts5MatchinfoIter(tls *libc.TLS, pApi uintptr, pFts uintptr, p uintptr, x u var rc int32 = SQLITE_OK var f int8 for i = 0; libc.AssignInt8(&f, *(*int8)(unsafe.Pointer((*Fts5MatchinfoCtx)(unsafe.Pointer(p)).FzArg + uintptr(i)))) != 0; i++ { - rc = (*(*func(*libc.TLS, uintptr, uintptr, uintptr, int8, uintptr) int32)(unsafe.Pointer(&x)))(tls, pApi, pFts, p, f, ((*Fts5MatchinfoCtx)(unsafe.Pointer(p)).FaRet + uintptr(n)*4)) + rc = (*struct { + f func(*libc.TLS, uintptr, uintptr, uintptr, int8, uintptr) int32 + })(unsafe.Pointer(&struct{ uintptr }{x})).f(tls, pApi, pFts, p, f, ((*Fts5MatchinfoCtx)(unsafe.Pointer(p)).FaRet + uintptr(n)*4)) if rc != SQLITE_OK { break } @@ -12116,7 +12351,11 @@ func fts5MatchinfoXCb(tls *libc.TLS, pApi uintptr, pFts uintptr, pUserData uintp var aOut uintptr = pUserData var iPrev int32 = -1 - for (*(*func(*libc.TLS, uintptr, int32, uintptr, uintptr, uintptr) int32)(unsafe.Pointer((pApi + 128 /* &.xPhraseFirst */))))(tls, pFts, 0, bp /* &iter */, bp+16 /* &iCol */, bp+20 /* &iOff */); *(*int32)(unsafe.Pointer(bp + 16 /* iCol */)) >= 0; (*(*func(*libc.TLS, uintptr, uintptr, uintptr, uintptr))(unsafe.Pointer((pApi + 136 /* &.xPhraseNext */))))(tls, pFts, bp /* &iter */, bp+16 /* &iCol */, bp+20 /* &iOff */) { + for (*struct { + f func(*libc.TLS, uintptr, int32, uintptr, uintptr, uintptr) int32 + })(unsafe.Pointer(&struct{ uintptr }{(*Fts5ExtensionApi)(unsafe.Pointer(pApi)).FxPhraseFirst})).f(tls, pFts, 0, bp /* &iter */, bp+16 /* &iCol */, bp+20 /* &iOff */); *(*int32)(unsafe.Pointer(bp + 16 /* iCol */)) >= 0; (*struct { + f func(*libc.TLS, uintptr, uintptr, uintptr, uintptr) + })(unsafe.Pointer(&struct{ uintptr }{(*Fts5ExtensionApi)(unsafe.Pointer(pApi)).FxPhraseNext})).f(tls, pFts, bp /* &iter */, bp+16 /* &iCol */, bp+20 /* &iOff */) { *(*u32)(unsafe.Pointer(aOut + uintptr(((*(*int32)(unsafe.Pointer(bp + 16 /* iCol */))*3)+1))*4))++ if *(*int32)(unsafe.Pointer(bp + 16 /* iCol */)) != iPrev { *(*u32)(unsafe.Pointer(aOut + uintptr(((*(*int32)(unsafe.Pointer(bp + 16 /* iCol */))*3)+2))*4))++ @@ -12146,7 +12385,9 @@ func fts5MatchinfoGlobalCb(tls *libc.TLS, pApi uintptr, pFts uintptr, p uintptr, var i int32 for i = 0; (i < (*Fts5MatchinfoCtx)(unsafe.Pointer(p)).FnPhrase) && (rc == SQLITE_OK); i++ { var pPtr uintptr = (aOut + uintptr(((i*(*Fts5MatchinfoCtx)(unsafe.Pointer(p)).FnCol)*3))*4) - rc = (*(*func(*libc.TLS, uintptr, int32, uintptr, uintptr) int32)(unsafe.Pointer((pApi + 104 /* &.xQueryPhrase */))))(tls, pFts, i, pPtr, *(*uintptr)(unsafe.Pointer(&struct { + rc = (*struct { + f func(*libc.TLS, uintptr, int32, uintptr, uintptr) int32 + })(unsafe.Pointer(&struct{ uintptr }{(*Fts5ExtensionApi)(unsafe.Pointer(pApi)).FxQueryPhrase})).f(tls, pFts, i, pPtr, *(*uintptr)(unsafe.Pointer(&struct { f func(*libc.TLS, uintptr, uintptr, uintptr) int32 }{fts5MatchinfoXCb}))) } @@ -12158,7 +12399,9 @@ func fts5MatchinfoGlobalCb(tls *libc.TLS, pApi uintptr, pFts uintptr, p uintptr, { // var nRow sqlite3_int64 at bp, 8 - rc = (*(*func(*libc.TLS, uintptr, uintptr) int32)(unsafe.Pointer((pApi + 24 /* &.xRowCount */))))(tls, pFts, bp /* &nRow */) + rc = (*struct { + f func(*libc.TLS, uintptr, uintptr) int32 + })(unsafe.Pointer(&struct{ uintptr }{(*Fts5ExtensionApi)(unsafe.Pointer(pApi)).FxRowCount})).f(tls, pFts, bp /* &nRow */) *(*u32)(unsafe.Pointer(aOut)) = u32(*(*sqlite3_int64)(unsafe.Pointer(bp /* nRow */))) break @@ -12167,7 +12410,9 @@ func fts5MatchinfoGlobalCb(tls *libc.TLS, pApi uintptr, pFts uintptr, p uintptr, case 'a': { *(*sqlite3_int64)(unsafe.Pointer(bp + 8 /* nRow */)) = int64(0) - rc = (*(*func(*libc.TLS, uintptr, uintptr) int32)(unsafe.Pointer((pApi + 24 /* &.xRowCount */))))(tls, pFts, bp+8 /* &nRow */) + rc = (*struct { + f func(*libc.TLS, uintptr, uintptr) int32 + })(unsafe.Pointer(&struct{ uintptr }{(*Fts5ExtensionApi)(unsafe.Pointer(pApi)).FxRowCount})).f(tls, pFts, bp+8 /* &nRow */) if *(*sqlite3_int64)(unsafe.Pointer(bp + 8 /* nRow */)) == int64(0) { libc.Xmemset(tls, aOut, 0, (uint64(unsafe.Sizeof(u32(0))) * uint64((*Fts5MatchinfoCtx)(unsafe.Pointer(p)).FnCol))) } else { @@ -12175,7 +12420,9 @@ func fts5MatchinfoGlobalCb(tls *libc.TLS, pApi uintptr, pFts uintptr, p uintptr, for i = 0; (rc == SQLITE_OK) && (i < (*Fts5MatchinfoCtx)(unsafe.Pointer(p)).FnCol); i++ { // var nToken sqlite3_int64 at bp+16, 8 - rc = (*(*func(*libc.TLS, uintptr, int32, uintptr) int32)(unsafe.Pointer((pApi + 32 /* &.xColumnTotalSize */))))(tls, pFts, i, bp+16 /* &nToken */) + rc = (*struct { + f func(*libc.TLS, uintptr, int32, uintptr) int32 + })(unsafe.Pointer(&struct{ uintptr }{(*Fts5ExtensionApi)(unsafe.Pointer(pApi)).FxColumnTotalSize})).f(tls, pFts, i, bp+16 /* &nToken */) if rc == SQLITE_OK { *(*u32)(unsafe.Pointer(aOut + uintptr(i)*4)) = (u32(((int64(2) * *(*sqlite3_int64)(unsafe.Pointer(bp + 16 /* nToken */))) + *(*sqlite3_int64)(unsafe.Pointer(bp + 8 /* nRow */))) / (int64(2) * *(*sqlite3_int64)(unsafe.Pointer(bp + 8 /* nRow */))))) } @@ -12210,7 +12457,11 @@ func fts5MatchinfoLocalCb(tls *libc.TLS, pApi uintptr, pFts uintptr, p uintptr, // var iCol int32 at bp+16, 4 - for (*(*func(*libc.TLS, uintptr, int32, uintptr, uintptr) int32)(unsafe.Pointer((pApi + 144 /* &.xPhraseFirstColumn */))))(tls, pFts, iPhrase, bp /* &iter */, bp+16 /* &iCol */); *(*int32)(unsafe.Pointer(bp + 16 /* iCol */)) >= 0; (*(*func(*libc.TLS, uintptr, uintptr, uintptr))(unsafe.Pointer((pApi + 152 /* &.xPhraseNextColumn */))))(tls, pFts, bp /* &iter */, bp+16 /* &iCol */) { + for (*struct { + f func(*libc.TLS, uintptr, int32, uintptr, uintptr) int32 + })(unsafe.Pointer(&struct{ uintptr }{(*Fts5ExtensionApi)(unsafe.Pointer(pApi)).FxPhraseFirstColumn})).f(tls, pFts, iPhrase, bp /* &iter */, bp+16 /* &iCol */); *(*int32)(unsafe.Pointer(bp + 16 /* iCol */)) >= 0; (*struct { + f func(*libc.TLS, uintptr, uintptr, uintptr) + })(unsafe.Pointer(&struct{ uintptr }{(*Fts5ExtensionApi)(unsafe.Pointer(pApi)).FxPhraseNextColumn})).f(tls, pFts, bp /* &iter */, bp+16 /* &iCol */) { *(*u32)(unsafe.Pointer(aOut + uintptr(((iPhrase*(((*Fts5MatchinfoCtx)(unsafe.Pointer(p)).FnCol+31)/32))+(*(*int32)(unsafe.Pointer(bp + 16 /* iCol */))/32)))*4)) |= (u32(u32(1)) << (*(*int32)(unsafe.Pointer(bp + 16 /* iCol */)) % 32)) } } @@ -12242,7 +12493,11 @@ func fts5MatchinfoLocalCb(tls *libc.TLS, pApi uintptr, pFts uintptr, p uintptr, // var iCol int32 at bp+40, 4 - for (*(*func(*libc.TLS, uintptr, int32, uintptr, uintptr, uintptr) int32)(unsafe.Pointer((pApi + 128 /* &.xPhraseFirst */))))(tls, pFts, iPhrase, bp+24 /* &iter */, bp+40 /* &iCol */, bp+44 /* &iOff */); *(*int32)(unsafe.Pointer(bp + 44 /* iOff */)) >= 0; (*(*func(*libc.TLS, uintptr, uintptr, uintptr, uintptr))(unsafe.Pointer((pApi + 136 /* &.xPhraseNext */))))(tls, pFts, bp+24 /* &iter */, bp+40 /* &iCol */, bp+44 /* &iOff */) { + for (*struct { + f func(*libc.TLS, uintptr, int32, uintptr, uintptr, uintptr) int32 + })(unsafe.Pointer(&struct{ uintptr }{(*Fts5ExtensionApi)(unsafe.Pointer(pApi)).FxPhraseFirst})).f(tls, pFts, iPhrase, bp+24 /* &iter */, bp+40 /* &iCol */, bp+44 /* &iOff */); *(*int32)(unsafe.Pointer(bp + 44 /* iOff */)) >= 0; (*struct { + f func(*libc.TLS, uintptr, uintptr, uintptr, uintptr) + })(unsafe.Pointer(&struct{ uintptr }{(*Fts5ExtensionApi)(unsafe.Pointer(pApi)).FxPhraseNext})).f(tls, pFts, bp+24 /* &iter */, bp+40 /* &iCol */, bp+44 /* &iOff */) { *(*u32)(unsafe.Pointer(aOut + uintptr((nMul*(*(*int32)(unsafe.Pointer(bp + 40 /* iCol */))+(iPhrase*(*Fts5MatchinfoCtx)(unsafe.Pointer(p)).FnCol))))*4))++ } } @@ -12256,7 +12511,9 @@ func fts5MatchinfoLocalCb(tls *libc.TLS, pApi uintptr, pFts uintptr, p uintptr, for i = 0; (rc == SQLITE_OK) && (i < (*Fts5MatchinfoCtx)(unsafe.Pointer(p)).FnCol); i++ { // var nToken int32 at bp+48, 4 - rc = (*(*func(*libc.TLS, uintptr, int32, uintptr) int32)(unsafe.Pointer((pApi + 96 /* &.xColumnSize */))))(tls, pFts, i, bp+48 /* &nToken */) + rc = (*struct { + f func(*libc.TLS, uintptr, int32, uintptr) int32 + })(unsafe.Pointer(&struct{ uintptr }{(*Fts5ExtensionApi)(unsafe.Pointer(pApi)).FxColumnSize})).f(tls, pFts, i, bp+48 /* &nToken */) *(*u32)(unsafe.Pointer(aOut + uintptr(i)*4)) = u32(*(*int32)(unsafe.Pointer(bp + 48 /* nToken */))) } break @@ -12269,7 +12526,9 @@ func fts5MatchinfoLocalCb(tls *libc.TLS, pApi uintptr, pFts uintptr, p uintptr, libc.Xmemset(tls, aOut, 0, (uint64(unsafe.Sizeof(u32(0))) * uint64((*Fts5MatchinfoCtx)(unsafe.Pointer(p)).FnCol))) - rc = (*(*func(*libc.TLS, uintptr, uintptr) int32)(unsafe.Pointer((pApi + 64 /* &.xInstCount */))))(tls, pFts, bp+52 /* &nInst */) + rc = (*struct { + f func(*libc.TLS, uintptr, uintptr) int32 + })(unsafe.Pointer(&struct{ uintptr }{(*Fts5ExtensionApi)(unsafe.Pointer(pApi)).FxInstCount})).f(tls, pFts, bp+52 /* &nInst */) for i = 0; (rc == SQLITE_OK) && (i < *(*int32)(unsafe.Pointer(bp + 52 /* nInst */))); i++ { // var iPhrase int32 at bp+56, 4 @@ -12281,9 +12540,13 @@ func fts5MatchinfoLocalCb(tls *libc.TLS, pApi uintptr, pFts uintptr, p uintptr, var nSeq u32 = u32(1) var j int32 - rc = (*(*func(*libc.TLS, uintptr, int32, uintptr, uintptr, uintptr) int32)(unsafe.Pointer((pApi + 72 /* &.xInst */))))(tls, pFts, i, bp+56 /* &iPhrase */, bp+60 /* &iCol */, bp+64 /* &iOff */) + rc = (*struct { + f func(*libc.TLS, uintptr, int32, uintptr, uintptr, uintptr) int32 + })(unsafe.Pointer(&struct{ uintptr }{(*Fts5ExtensionApi)(unsafe.Pointer(pApi)).FxInst})).f(tls, pFts, i, bp+56 /* &iPhrase */, bp+60 /* &iCol */, bp+64 /* &iOff */) iNextPhrase = (*(*int32)(unsafe.Pointer(bp + 56 /* iPhrase */)) + 1) - iNextOff = (*(*int32)(unsafe.Pointer(bp + 64 /* iOff */)) + (*(*func(*libc.TLS, uintptr, int32) int32)(unsafe.Pointer((pApi + 56 /* &.xPhraseSize */))))(tls, pFts, 0)) + iNextOff = (*(*int32)(unsafe.Pointer(bp + 64 /* iOff */)) + (*struct { + f func(*libc.TLS, uintptr, int32) int32 + })(unsafe.Pointer(&struct{ uintptr }{(*Fts5ExtensionApi)(unsafe.Pointer(pApi)).FxPhraseSize})).f(tls, pFts, 0)) for j = (i + 1); (rc == SQLITE_OK) && (j < *(*int32)(unsafe.Pointer(bp + 52 /* nInst */))); j++ { // var ip int32 at bp+68, 4 @@ -12291,14 +12554,18 @@ func fts5MatchinfoLocalCb(tls *libc.TLS, pApi uintptr, pFts uintptr, p uintptr, // var io int32 at bp+76, 4 - rc = (*(*func(*libc.TLS, uintptr, int32, uintptr, uintptr, uintptr) int32)(unsafe.Pointer((pApi + 72 /* &.xInst */))))(tls, pFts, j, bp+68 /* &ip */, bp+72 /* &ic */, bp+76 /* &io */) + rc = (*struct { + f func(*libc.TLS, uintptr, int32, uintptr, uintptr, uintptr) int32 + })(unsafe.Pointer(&struct{ uintptr }{(*Fts5ExtensionApi)(unsafe.Pointer(pApi)).FxInst})).f(tls, pFts, j, bp+68 /* &ip */, bp+72 /* &ic */, bp+76 /* &io */) if (*(*int32)(unsafe.Pointer(bp + 72 /* ic */)) != *(*int32)(unsafe.Pointer(bp + 60 /* iCol */))) || (*(*int32)(unsafe.Pointer(bp + 76 /* io */)) > iNextOff) { break } if (*(*int32)(unsafe.Pointer(bp + 68 /* ip */)) == iNextPhrase) && (*(*int32)(unsafe.Pointer(bp + 76 /* io */)) == iNextOff) { nSeq++ iNextPhrase = (*(*int32)(unsafe.Pointer(bp + 68 /* ip */)) + 1) - iNextOff = (*(*int32)(unsafe.Pointer(bp + 76 /* io */)) + (*(*func(*libc.TLS, uintptr, int32) int32)(unsafe.Pointer((pApi + 56 /* &.xPhraseSize */))))(tls, pFts, *(*int32)(unsafe.Pointer(bp + 68 /* ip */)))) + iNextOff = (*(*int32)(unsafe.Pointer(bp + 76 /* io */)) + (*struct { + f func(*libc.TLS, uintptr, int32) int32 + })(unsafe.Pointer(&struct{ uintptr }{(*Fts5ExtensionApi)(unsafe.Pointer(pApi)).FxPhraseSize})).f(tls, pFts, *(*int32)(unsafe.Pointer(bp + 68 /* ip */)))) } } @@ -12326,8 +12593,12 @@ func fts5MatchinfoNew(tls *libc.TLS, pApi uintptr, pFts uintptr, pCtx uintptr, z var nByte sqlite3_int64 var rc int32 - nCol = (*(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer((pApi + 16 /* &.xColumnCount */))))(tls, pFts) - nPhrase = (*(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer((pApi + 48 /* &.xPhraseCount */))))(tls, pFts) + nCol = (*struct { + f func(*libc.TLS, uintptr) int32 + })(unsafe.Pointer(&struct{ uintptr }{(*Fts5ExtensionApi)(unsafe.Pointer(pApi)).FxColumnCount})).f(tls, pFts) + nPhrase = (*struct { + f func(*libc.TLS, uintptr) int32 + })(unsafe.Pointer(&struct{ uintptr }{(*Fts5ExtensionApi)(unsafe.Pointer(pApi)).FxPhraseCount})).f(tls, pFts) nInt = 0 for i = 0; *(*int8)(unsafe.Pointer(zArg + uintptr(i))) != 0; i++ { @@ -12381,13 +12652,17 @@ func fts5MatchinfoFunc(tls *libc.TLS, pApi uintptr, pFts uintptr, pCtx uintptr, zArg = ts + 3024 /* "pcx" */ } - p = (*(*func(*libc.TLS, uintptr, int32) uintptr)(unsafe.Pointer((pApi + 120 /* &.xGetAuxdata */))))(tls, pFts, 0) + p = (*struct { + f func(*libc.TLS, uintptr, int32) uintptr + })(unsafe.Pointer(&struct{ uintptr }{(*Fts5ExtensionApi)(unsafe.Pointer(pApi)).FxGetAuxdata})).f(tls, pFts, 0) if (p == uintptr(0)) || (sqlite3.Xsqlite3_stricmp(tls, zArg, (*Fts5MatchinfoCtx)(unsafe.Pointer(p)).FzArg) != 0) { p = fts5MatchinfoNew(tls, pApi, pFts, pCtx, zArg) if p == uintptr(0) { rc = SQLITE_NOMEM } else { - rc = (*(*func(*libc.TLS, uintptr, uintptr, uintptr) int32)(unsafe.Pointer((pApi + 112 /* &.xSetAuxdata */))))(tls, pFts, p, *(*uintptr)(unsafe.Pointer(&struct{ f func(*libc.TLS, uintptr) }{sqlite3.Xsqlite3_free}))) + rc = (*struct { + f func(*libc.TLS, uintptr, uintptr, uintptr) int32 + })(unsafe.Pointer(&struct{ uintptr }{(*Fts5ExtensionApi)(unsafe.Pointer(pApi)).FxSetAuxdata})).f(tls, pFts, p, *(*uintptr)(unsafe.Pointer(&struct{ f func(*libc.TLS, uintptr) }{sqlite3.Xsqlite3_free}))) } } @@ -12431,7 +12706,9 @@ func sqlite3Fts5TestRegisterMatchinfo(tls *libc.TLS, db uintptr) int32 { /* fts5 } // Register the implementation of matchinfo() - rc = (*(*func(*libc.TLS, uintptr, uintptr, uintptr, fts5_extension_function, uintptr) int32)(unsafe.Pointer((*(*uintptr)(unsafe.Pointer(bp /* pApi */)) + 24 /* &.xCreateFunction */))))(tls, *(*uintptr)(unsafe.Pointer(bp /* pApi */)), ts+3028 /* "matchinfo" */, uintptr(0), *(*uintptr)(unsafe.Pointer(&struct { + rc = (*struct { + f func(*libc.TLS, uintptr, uintptr, uintptr, fts5_extension_function, uintptr) int32 + })(unsafe.Pointer(&struct{ uintptr }{(*fts5_api)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp /* pApi */)))).FxCreateFunction})).f(tls, *(*uintptr)(unsafe.Pointer(bp /* pApi */)), ts+3028 /* "matchinfo" */, uintptr(0), *(*uintptr)(unsafe.Pointer(&struct { f func(*libc.TLS, uintptr, uintptr, uintptr, int32, uintptr) }{fts5MatchinfoFunc})), uintptr(0)) @@ -12446,22 +12723,22 @@ type Fts5tokTable1 = struct { type Fts5tokTable = Fts5tokTable1 /* fts5_test_tok.c:47:29 */ type Fts5tokCursor1 = struct { - Fbase sqlite3_vtab_cursor - FiRowid int32 - _ [4]byte - FzInput uintptr - FnRow int32 - _ [4]byte - FaRow uintptr + Fbase sqlite3_vtab_cursor + FiRowid int32 + F__ccgo_pad1 [4]byte + FzInput uintptr + FnRow int32 + F__ccgo_pad2 [4]byte + FaRow uintptr } /* fts5_test_tok.c:48:9 */ type Fts5tokCursor = Fts5tokCursor1 /* fts5_test_tok.c:48:30 */ type Fts5tokRow1 = struct { - FzToken uintptr - FiStart int32 - FiEnd int32 - FiPos int32 - _ [4]byte + FzToken uintptr + FiStart int32 + FiEnd int32 + FiPos int32 + F__ccgo_pad1 [4]byte } /* fts5_test_tok.c:48:9 */ type Fts5tokRow = Fts5tokRow1 /* fts5_test_tok.c:49:27 */ @@ -12583,7 +12860,9 @@ func fts5tokConnectMethod(tls *libc.TLS, db uintptr, pCtx uintptr, argc int32, a zModule = *(*uintptr)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp /* azDequote */)))) } - rc = (*(*func(*libc.TLS, uintptr, uintptr, uintptr, uintptr) int32)(unsafe.Pointer((pApi + 16 /* &.xFindTokenizer */))))(tls, pApi, zModule, bp+8 /* &pTokCtx */, (pTab + 24 /* &.tok */)) + rc = (*struct { + f func(*libc.TLS, uintptr, uintptr, uintptr, uintptr) int32 + })(unsafe.Pointer(&struct{ uintptr }{(*fts5_api)(unsafe.Pointer(pApi)).FxFindTokenizer})).f(tls, pApi, zModule, bp+8 /* &pTokCtx */, (pTab + 24 /* &.tok */)) if rc == SQLITE_OK { var azArg uintptr = func() uintptr { if nDequote > 1 { @@ -12597,7 +12876,9 @@ func fts5tokConnectMethod(tls *libc.TLS, db uintptr, pCtx uintptr, argc int32, a } else { nArg = 0 } - rc = (*(*func(*libc.TLS, uintptr, uintptr, int32, uintptr) int32)(unsafe.Pointer((pTab + 24 /* &.tok */ /* &.xCreate */))))(tls, *(*uintptr)(unsafe.Pointer(bp + 8 /* pTokCtx */)), azArg, nArg, (pTab + 48 /* &.pTok */)) + rc = (*struct { + f func(*libc.TLS, uintptr, uintptr, int32, uintptr) int32 + })(unsafe.Pointer(&struct{ uintptr }{(*Fts5tokTable)(unsafe.Pointer(pTab)).Ftok.FxCreate})).f(tls, *(*uintptr)(unsafe.Pointer(bp + 8 /* pTokCtx */)), azArg, nArg, (pTab + 48 /* &.pTok */)) } } @@ -12617,7 +12898,7 @@ func fts5tokConnectMethod(tls *libc.TLS, db uintptr, pCtx uintptr, argc int32, a func fts5tokDisconnectMethod(tls *libc.TLS, pVtab uintptr) int32 { /* fts5_test_tok.c:235:12: */ var pTab uintptr = pVtab if (*Fts5tokTable)(unsafe.Pointer(pTab)).FpTok != 0 { - (*(*func(*libc.TLS, uintptr))(unsafe.Pointer((pTab + 24 /* &.tok */ + 8 /* &.xDelete */))))(tls, (*Fts5tokTable)(unsafe.Pointer(pTab)).FpTok) + (*struct{ f func(*libc.TLS, uintptr) })(unsafe.Pointer(&struct{ uintptr }{(*Fts5tokTable)(unsafe.Pointer(pTab)).Ftok.FxDelete})).f(tls, (*Fts5tokTable)(unsafe.Pointer(pTab)).FpTok) } sqlite3.Xsqlite3_free(tls, pTab) return SQLITE_OK @@ -12748,7 +13029,9 @@ func fts5tokFilterMethod(tls *libc.TLS, pCursor uintptr, idxNum int32, idxStr ui libc.Xmemcpy(tls, (*Fts5tokCursor)(unsafe.Pointer(pCsr)).FzInput, zByte, uint64(nByte)) } *(*int8)(unsafe.Pointer((*Fts5tokCursor)(unsafe.Pointer(pCsr)).FzInput + uintptr(nByte))) = int8(0) - rc = (*(*func(*libc.TLS, uintptr, uintptr, int32, uintptr, int32, uintptr) int32)(unsafe.Pointer((pTab + 24 /* &.tok */ + 16 /* &.xTokenize */))))(tls, + rc = (*struct { + f func(*libc.TLS, uintptr, uintptr, int32, uintptr, int32, uintptr) int32 + })(unsafe.Pointer(&struct{ uintptr }{(*Fts5tokTable)(unsafe.Pointer(pTab)).Ftok.FxTokenize})).f(tls, (*Fts5tokTable)(unsafe.Pointer(pTab)).FpTok, pCsr, 0, zByte, nByte, *(*uintptr)(unsafe.Pointer(&struct { f func(*libc.TLS, uintptr, int32, uintptr, int32, int32, int32) int32 }{fts5tokCb}))) @@ -12907,14 +13190,18 @@ var apnd_io_methods = sqlite3_io_methods{ // Close an apnd-file. func apndClose(tls *libc.TLS, pFile uintptr) int32 { /* appendvfs.c:227:12: */ pFile = ((pFile) + uintptr(1)*24) - return (*(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(((*sqlite3_file)(unsafe.Pointer(pFile)).FpMethods + 8 /* &.xClose */))))(tls, pFile) + return (*struct { + f func(*libc.TLS, uintptr) int32 + })(unsafe.Pointer(&struct{ uintptr }{(*sqlite3_io_methods1)(unsafe.Pointer((*sqlite3_file)(unsafe.Pointer(pFile)).FpMethods)).FxClose})).f(tls, pFile) } // Read data from an apnd-file. func apndRead(tls *libc.TLS, pFile uintptr, zBuf uintptr, iAmt int32, iOfst sqlite_int64) int32 { /* appendvfs.c:235:12: */ var paf uintptr = pFile pFile = ((pFile) + uintptr(1)*24) - return (*(*func(*libc.TLS, uintptr, uintptr, int32, sqlite3_int64) int32)(unsafe.Pointer(((*sqlite3_file)(unsafe.Pointer(pFile)).FpMethods + 16 /* &.xRead */))))(tls, pFile, zBuf, iAmt, ((*ApndFile)(unsafe.Pointer(paf)).FiPgOne + iOfst)) + return (*struct { + f func(*libc.TLS, uintptr, uintptr, int32, sqlite3_int64) int32 + })(unsafe.Pointer(&struct{ uintptr }{(*sqlite3_io_methods1)(unsafe.Pointer((*sqlite3_file)(unsafe.Pointer(pFile)).FpMethods)).FxRead})).f(tls, pFile, zBuf, iAmt, ((*ApndFile)(unsafe.Pointer(paf)).FiPgOne + iOfst)) } // Add the append-mark onto what should become the end of the file. @@ -12936,7 +13223,9 @@ func apndWriteMark(tls *libc.TLS, paf uintptr, pFile uintptr, iWriteEnd sqlite_i iPgOne >>= 8 } iWriteEnd = iWriteEnd + ((*ApndFile)(unsafe.Pointer(paf)).FiPgOne) - if SQLITE_OK == (libc.AssignInt32(&rc, (*(*func(*libc.TLS, uintptr, uintptr, int32, sqlite3_int64) int32)(unsafe.Pointer(((*sqlite3_file)(unsafe.Pointer(pFile)).FpMethods + 24 /* &.xWrite */))))(tls, pFile, bp /* &a[0] */, (APND_MARK_PREFIX_SZ+APND_MARK_FOS_SZ), iWriteEnd))) { + if SQLITE_OK == (libc.AssignInt32(&rc, (*struct { + f func(*libc.TLS, uintptr, uintptr, int32, sqlite3_int64) int32 + })(unsafe.Pointer(&struct{ uintptr }{(*sqlite3_io_methods1)(unsafe.Pointer((*sqlite3_file)(unsafe.Pointer(pFile)).FpMethods)).FxWrite})).f(tls, pFile, bp /* &a[0] */, (APND_MARK_PREFIX_SZ+APND_MARK_FOS_SZ), iWriteEnd))) { (*ApndFile)(unsafe.Pointer(paf)).FiMark = iWriteEnd } return rc @@ -12957,7 +13246,9 @@ func apndWrite(tls *libc.TLS, pFile uintptr, zBuf uintptr, iAmt int32, iOfst sql return rc } } - return (*(*func(*libc.TLS, uintptr, uintptr, int32, sqlite3_int64) int32)(unsafe.Pointer(((*sqlite3_file)(unsafe.Pointer(pFile)).FpMethods + 24 /* &.xWrite */))))(tls, pFile, zBuf, iAmt, ((*ApndFile)(unsafe.Pointer(paf)).FiPgOne + iOfst)) + return (*struct { + f func(*libc.TLS, uintptr, uintptr, int32, sqlite3_int64) int32 + })(unsafe.Pointer(&struct{ uintptr }{(*sqlite3_io_methods1)(unsafe.Pointer((*sqlite3_file)(unsafe.Pointer(pFile)).FpMethods)).FxWrite})).f(tls, pFile, zBuf, iAmt, ((*ApndFile)(unsafe.Pointer(paf)).FiPgOne + iOfst)) } // Truncate an apnd-file. @@ -12969,13 +13260,17 @@ func apndTruncate(tls *libc.TLS, pFile uintptr, size sqlite_int64) int32 { /* ap return SQLITE_IOERR } // Truncate underlying file just past append mark - return (*(*func(*libc.TLS, uintptr, sqlite3_int64) int32)(unsafe.Pointer(((*sqlite3_file)(unsafe.Pointer(pFile)).FpMethods + 32 /* &.xTruncate */))))(tls, pFile, ((*ApndFile)(unsafe.Pointer(paf)).FiMark + (int64(APND_MARK_PREFIX_SZ + APND_MARK_FOS_SZ)))) + return (*struct { + f func(*libc.TLS, uintptr, sqlite3_int64) int32 + })(unsafe.Pointer(&struct{ uintptr }{(*sqlite3_io_methods1)(unsafe.Pointer((*sqlite3_file)(unsafe.Pointer(pFile)).FpMethods)).FxTruncate})).f(tls, pFile, ((*ApndFile)(unsafe.Pointer(paf)).FiMark + (int64(APND_MARK_PREFIX_SZ + APND_MARK_FOS_SZ)))) } // Sync an apnd-file. func apndSync(tls *libc.TLS, pFile uintptr, flags int32) int32 { /* appendvfs.c:310:12: */ pFile = ((pFile) + uintptr(1)*24) - return (*(*func(*libc.TLS, uintptr, int32) int32)(unsafe.Pointer(((*sqlite3_file)(unsafe.Pointer(pFile)).FpMethods + 40 /* &.xSync */))))(tls, pFile, flags) + return (*struct { + f func(*libc.TLS, uintptr, int32) int32 + })(unsafe.Pointer(&struct{ uintptr }{(*sqlite3_io_methods1)(unsafe.Pointer((*sqlite3_file)(unsafe.Pointer(pFile)).FpMethods)).FxSync})).f(tls, pFile, flags) } // Return the current file-size of an apnd-file. @@ -12994,19 +13289,25 @@ func apndFileSize(tls *libc.TLS, pFile uintptr, pSize uintptr) int32 { /* append // Lock an apnd-file. func apndLock(tls *libc.TLS, pFile uintptr, eLock int32) int32 { /* appendvfs.c:328:12: */ pFile = ((pFile) + uintptr(1)*24) - return (*(*func(*libc.TLS, uintptr, int32) int32)(unsafe.Pointer(((*sqlite3_file)(unsafe.Pointer(pFile)).FpMethods + 56 /* &.xLock */))))(tls, pFile, eLock) + return (*struct { + f func(*libc.TLS, uintptr, int32) int32 + })(unsafe.Pointer(&struct{ uintptr }{(*sqlite3_io_methods1)(unsafe.Pointer((*sqlite3_file)(unsafe.Pointer(pFile)).FpMethods)).FxLock})).f(tls, pFile, eLock) } // Unlock an apnd-file. func apndUnlock(tls *libc.TLS, pFile uintptr, eLock int32) int32 { /* appendvfs.c:336:12: */ pFile = ((pFile) + uintptr(1)*24) - return (*(*func(*libc.TLS, uintptr, int32) int32)(unsafe.Pointer(((*sqlite3_file)(unsafe.Pointer(pFile)).FpMethods + 64 /* &.xUnlock */))))(tls, pFile, eLock) + return (*struct { + f func(*libc.TLS, uintptr, int32) int32 + })(unsafe.Pointer(&struct{ uintptr }{(*sqlite3_io_methods1)(unsafe.Pointer((*sqlite3_file)(unsafe.Pointer(pFile)).FpMethods)).FxUnlock})).f(tls, pFile, eLock) } // Check if another file-handle holds a RESERVED lock on an apnd-file. func apndCheckReservedLock(tls *libc.TLS, pFile uintptr, pResOut uintptr) int32 { /* appendvfs.c:344:12: */ pFile = ((pFile) + uintptr(1)*24) - return (*(*func(*libc.TLS, uintptr, uintptr) int32)(unsafe.Pointer(((*sqlite3_file)(unsafe.Pointer(pFile)).FpMethods + 72 /* &.xCheckReservedLock */))))(tls, pFile, pResOut) + return (*struct { + f func(*libc.TLS, uintptr, uintptr) int32 + })(unsafe.Pointer(&struct{ uintptr }{(*sqlite3_io_methods1)(unsafe.Pointer((*sqlite3_file)(unsafe.Pointer(pFile)).FpMethods)).FxCheckReservedLock})).f(tls, pFile, pResOut) } // File control method. For custom operations on an apnd-file. @@ -13020,7 +13321,9 @@ func apndFileControl(tls *libc.TLS, pFile uintptr, op int32, pArg uintptr) int32 if op == SQLITE_FCNTL_SIZE_HINT { *(*sqlite3_int64)(unsafe.Pointer(pArg)) += ((*ApndFile)(unsafe.Pointer(paf)).FiPgOne) } - rc = (*(*func(*libc.TLS, uintptr, int32, uintptr) int32)(unsafe.Pointer(((*sqlite3_file)(unsafe.Pointer(pFile)).FpMethods + 80 /* &.xFileControl */))))(tls, pFile, op, pArg) + rc = (*struct { + f func(*libc.TLS, uintptr, int32, uintptr) int32 + })(unsafe.Pointer(&struct{ uintptr }{(*sqlite3_io_methods1)(unsafe.Pointer((*sqlite3_file)(unsafe.Pointer(pFile)).FpMethods)).FxFileControl})).f(tls, pFile, op, pArg) if (rc == SQLITE_OK) && (op == SQLITE_FCNTL_VFSNAME) { *(*uintptr)(unsafe.Pointer(pArg)) = sqlite3.Xsqlite3_mprintf(tls, ts+3135 /* "apnd(%lld)/%z" */, libc.VaList(bp, (*ApndFile)(unsafe.Pointer(paf)).FiPgOne, *(*uintptr)(unsafe.Pointer(pArg)))) } @@ -13030,37 +13333,47 @@ func apndFileControl(tls *libc.TLS, pFile uintptr, op int32, pArg uintptr) int32 // Return the sector-size in bytes for an apnd-file. func apndSectorSize(tls *libc.TLS, pFile uintptr) int32 { /* appendvfs.c:367:12: */ pFile = ((pFile) + uintptr(1)*24) - return (*(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(((*sqlite3_file)(unsafe.Pointer(pFile)).FpMethods + 88 /* &.xSectorSize */))))(tls, pFile) + return (*struct { + f func(*libc.TLS, uintptr) int32 + })(unsafe.Pointer(&struct{ uintptr }{(*sqlite3_io_methods1)(unsafe.Pointer((*sqlite3_file)(unsafe.Pointer(pFile)).FpMethods)).FxSectorSize})).f(tls, pFile) } // Return the device characteristic flags supported by an apnd-file. func apndDeviceCharacteristics(tls *libc.TLS, pFile uintptr) int32 { /* appendvfs.c:375:12: */ pFile = ((pFile) + uintptr(1)*24) - return (*(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(((*sqlite3_file)(unsafe.Pointer(pFile)).FpMethods + 96 /* &.xDeviceCharacteristics */))))(tls, pFile) + return (*struct { + f func(*libc.TLS, uintptr) int32 + })(unsafe.Pointer(&struct{ uintptr }{(*sqlite3_io_methods1)(unsafe.Pointer((*sqlite3_file)(unsafe.Pointer(pFile)).FpMethods)).FxDeviceCharacteristics})).f(tls, pFile) } // Create a shared memory file mapping func apndShmMap(tls *libc.TLS, pFile uintptr, iPg int32, pgsz int32, bExtend int32, pp uintptr) int32 { /* appendvfs.c:381:12: */ pFile = ((pFile) + uintptr(1)*24) - return (*(*func(*libc.TLS, uintptr, int32, int32, int32, uintptr) int32)(unsafe.Pointer(((*sqlite3_file)(unsafe.Pointer(pFile)).FpMethods + 104 /* &.xShmMap */))))(tls, pFile, iPg, pgsz, bExtend, libc.AtomicLoadUintptr(&pp)) + return (*struct { + f func(*libc.TLS, uintptr, int32, int32, int32, uintptr) int32 + })(unsafe.Pointer(&struct{ uintptr }{(*sqlite3_io_methods1)(unsafe.Pointer((*sqlite3_file)(unsafe.Pointer(pFile)).FpMethods)).FxShmMap})).f(tls, pFile, iPg, pgsz, bExtend, pp) } // Perform locking on a shared-memory segment func apndShmLock(tls *libc.TLS, pFile uintptr, offset int32, n int32, flags int32) int32 { /* appendvfs.c:393:12: */ pFile = ((pFile) + uintptr(1)*24) - return (*(*func(*libc.TLS, uintptr, int32, int32, int32) int32)(unsafe.Pointer(((*sqlite3_file)(unsafe.Pointer(pFile)).FpMethods + 112 /* &.xShmLock */))))(tls, pFile, offset, n, flags) + return (*struct { + f func(*libc.TLS, uintptr, int32, int32, int32) int32 + })(unsafe.Pointer(&struct{ uintptr }{(*sqlite3_io_methods1)(unsafe.Pointer((*sqlite3_file)(unsafe.Pointer(pFile)).FpMethods)).FxShmLock})).f(tls, pFile, offset, n, flags) } // Memory barrier operation on shared memory func apndShmBarrier(tls *libc.TLS, pFile uintptr) { /* appendvfs.c:399:13: */ pFile = ((pFile) + uintptr(1)*24) - (*(*func(*libc.TLS, uintptr))(unsafe.Pointer(((*sqlite3_file)(unsafe.Pointer(pFile)).FpMethods + 120 /* &.xShmBarrier */))))(tls, pFile) + (*struct{ f func(*libc.TLS, uintptr) })(unsafe.Pointer(&struct{ uintptr }{(*sqlite3_io_methods1)(unsafe.Pointer((*sqlite3_file)(unsafe.Pointer(pFile)).FpMethods)).FxShmBarrier})).f(tls, pFile) } // Unmap a shared memory segment func apndShmUnmap(tls *libc.TLS, pFile uintptr, deleteFlag int32) int32 { /* appendvfs.c:405:12: */ pFile = ((pFile) + uintptr(1)*24) - return (*(*func(*libc.TLS, uintptr, int32) int32)(unsafe.Pointer(((*sqlite3_file)(unsafe.Pointer(pFile)).FpMethods + 128 /* &.xShmUnmap */))))(tls, pFile, deleteFlag) + return (*struct { + f func(*libc.TLS, uintptr, int32) int32 + })(unsafe.Pointer(&struct{ uintptr }{(*sqlite3_io_methods1)(unsafe.Pointer((*sqlite3_file)(unsafe.Pointer(pFile)).FpMethods)).FxShmUnmap})).f(tls, pFile, deleteFlag) } // Fetch a page of a memory-mapped file @@ -13070,14 +13383,18 @@ func apndFetch(tls *libc.TLS, pFile uintptr, iOfst sqlite3_int64, iAmt int32, pp return SQLITE_IOERR // Cannot read what is not yet there. } pFile = ((pFile) + uintptr(1)*24) - return (*(*func(*libc.TLS, uintptr, sqlite3_int64, int32, uintptr) int32)(unsafe.Pointer(((*sqlite3_file)(unsafe.Pointer(pFile)).FpMethods + 136 /* &.xFetch */))))(tls, pFile, (iOfst + (*ApndFile)(unsafe.Pointer(p)).FiPgOne), iAmt, pp) + return (*struct { + f func(*libc.TLS, uintptr, sqlite3_int64, int32, uintptr) int32 + })(unsafe.Pointer(&struct{ uintptr }{(*sqlite3_io_methods1)(unsafe.Pointer((*sqlite3_file)(unsafe.Pointer(pFile)).FpMethods)).FxFetch})).f(tls, pFile, (iOfst + (*ApndFile)(unsafe.Pointer(p)).FiPgOne), iAmt, pp) } // Release a memory-mapped page func apndUnfetch(tls *libc.TLS, pFile uintptr, iOfst sqlite3_int64, pPage uintptr) int32 { /* appendvfs.c:426:12: */ var p uintptr = pFile pFile = ((pFile) + uintptr(1)*24) - return (*(*func(*libc.TLS, uintptr, sqlite3_int64, uintptr) int32)(unsafe.Pointer(((*sqlite3_file)(unsafe.Pointer(pFile)).FpMethods + 144 /* &.xUnfetch */))))(tls, pFile, (iOfst + (*ApndFile)(unsafe.Pointer(p)).FiPgOne), pPage) + return (*struct { + f func(*libc.TLS, uintptr, sqlite3_int64, uintptr) int32 + })(unsafe.Pointer(&struct{ uintptr }{(*sqlite3_io_methods1)(unsafe.Pointer((*sqlite3_file)(unsafe.Pointer(pFile)).FpMethods)).FxUnfetch})).f(tls, pFile, (iOfst + (*ApndFile)(unsafe.Pointer(p)).FiPgOne), pPage) } // Try to read the append-mark off the end of a file. Return the @@ -13100,7 +13417,9 @@ func apndReadMark(tls *libc.TLS, sz sqlite3_int64, pFile uintptr) sqlite3_int64 if (int64(APND_MARK_PREFIX_SZ + APND_MARK_FOS_SZ)) != (sz & int64(0x1ff)) { return int64(-1) } - rc = (*(*func(*libc.TLS, uintptr, uintptr, int32, sqlite3_int64) int32)(unsafe.Pointer(((*sqlite3_file)(unsafe.Pointer(pFile)).FpMethods + 16 /* &.xRead */))))(tls, pFile, bp /* &a[0] */, (APND_MARK_PREFIX_SZ + APND_MARK_FOS_SZ), (sz - (int64(APND_MARK_PREFIX_SZ + APND_MARK_FOS_SZ)))) + rc = (*struct { + f func(*libc.TLS, uintptr, uintptr, int32, sqlite3_int64) int32 + })(unsafe.Pointer(&struct{ uintptr }{(*sqlite3_io_methods1)(unsafe.Pointer((*sqlite3_file)(unsafe.Pointer(pFile)).FpMethods)).FxRead})).f(tls, pFile, bp /* &a[0] */, (APND_MARK_PREFIX_SZ + APND_MARK_FOS_SZ), (sz - (int64(APND_MARK_PREFIX_SZ + APND_MARK_FOS_SZ)))) if rc != 0 { return int64(-1) } @@ -13137,7 +13456,9 @@ func apndIsAppendvfsDatabase(tls *libc.TLS, sz sqlite3_int64, pFile uintptr) int // If file has the correct end-marker, the expected odd size, and the // SQLite DB type marker where the end-marker puts it, then it // is an appendvfs database. - rc = (*(*func(*libc.TLS, uintptr, uintptr, int32, sqlite3_int64) int32)(unsafe.Pointer(((*sqlite3_file)(unsafe.Pointer(pFile)).FpMethods + 16 /* &.xRead */))))(tls, pFile, bp /* &zHdr[0] */, int32(unsafe.Sizeof([16]int8{})), iMark) + rc = (*struct { + f func(*libc.TLS, uintptr, uintptr, int32, sqlite3_int64) int32 + })(unsafe.Pointer(&struct{ uintptr }{(*sqlite3_io_methods1)(unsafe.Pointer((*sqlite3_file)(unsafe.Pointer(pFile)).FpMethods)).FxRead})).f(tls, pFile, bp /* &zHdr[0] */, int32(unsafe.Sizeof([16]int8{})), iMark) if (((SQLITE_OK == rc) && (libc.Xmemcmp(tls, bp /* &zHdr[0] */, uintptr(unsafe.Pointer(&apvfsSqliteHdr)), uint64(unsafe.Sizeof([16]int8{}))) == 0)) && ((sz & int64(0x1ff)) == (int64(APND_MARK_PREFIX_SZ + APND_MARK_FOS_SZ)))) && @@ -13158,7 +13479,9 @@ func apndIsOrdinaryDatabaseFile(tls *libc.TLS, sz sqlite3_int64, pFile uintptr) if (((apndIsAppendvfsDatabase(tls, sz, pFile) != 0) || // rule 2 ((sz & int64(0x1ff)) != int64(0))) || - (SQLITE_OK != (*(*func(*libc.TLS, uintptr, uintptr, int32, sqlite3_int64) int32)(unsafe.Pointer(((*sqlite3_file)(unsafe.Pointer(pFile)).FpMethods + 16 /* &.xRead */))))(tls, pFile, bp /* &zHdr[0] */, int32(unsafe.Sizeof([16]int8{})), int64(0)))) || + (SQLITE_OK != (*struct { + f func(*libc.TLS, uintptr, uintptr, int32, sqlite3_int64) int32 + })(unsafe.Pointer(&struct{ uintptr }{(*sqlite3_io_methods1)(unsafe.Pointer((*sqlite3_file)(unsafe.Pointer(pFile)).FpMethods)).FxRead})).f(tls, pFile, bp /* &zHdr[0] */, int32(unsafe.Sizeof([16]int8{})), int64(0)))) || (libc.Xmemcmp(tls, bp /* &zHdr[0] */, uintptr(unsafe.Pointer(&apvfsSqliteHdr)), uint64(unsafe.Sizeof([16]int8{}))) != 0) { return 0 } else { @@ -13181,17 +13504,25 @@ func apndOpen(tls *libc.TLS, pApndVfs uintptr, zName uintptr, pFile uintptr, fla // The appendvfs is not to be used for transient or temporary databases. // Just use the base VFS open to initialize the given file object and // open the underlying file. (Appendvfs is then unused for this file.) - return (*(*func(*libc.TLS, uintptr, uintptr, uintptr, int32, uintptr) int32)(unsafe.Pointer((pBaseVfs + 40 /* &.xOpen */))))(tls, pBaseVfs, zName, pFile, flags, pOutFlags) + return (*struct { + f func(*libc.TLS, uintptr, uintptr, uintptr, int32, uintptr) int32 + })(unsafe.Pointer(&struct{ uintptr }{(*sqlite3_vfs)(unsafe.Pointer(pBaseVfs)).FxOpen})).f(tls, pBaseVfs, zName, pFile, flags, pOutFlags) } libc.Xmemset(tls, pApndFile, 0, uint64(unsafe.Sizeof(ApndFile{}))) (*sqlite3_file)(unsafe.Pointer(pFile)).FpMethods = uintptr(unsafe.Pointer(&apnd_io_methods)) (*ApndFile)(unsafe.Pointer(pApndFile)).FiMark = int64(-1) // Append mark not yet written - rc = (*(*func(*libc.TLS, uintptr, uintptr, uintptr, int32, uintptr) int32)(unsafe.Pointer((pBaseVfs + 40 /* &.xOpen */))))(tls, pBaseVfs, zName, pBaseFile, flags, pOutFlags) + rc = (*struct { + f func(*libc.TLS, uintptr, uintptr, uintptr, int32, uintptr) int32 + })(unsafe.Pointer(&struct{ uintptr }{(*sqlite3_vfs)(unsafe.Pointer(pBaseVfs)).FxOpen})).f(tls, pBaseVfs, zName, pBaseFile, flags, pOutFlags) if rc == SQLITE_OK { - rc = (*(*func(*libc.TLS, uintptr, uintptr) int32)(unsafe.Pointer(((*sqlite3_file)(unsafe.Pointer(pBaseFile)).FpMethods + 48 /* &.xFileSize */))))(tls, pBaseFile, bp /* &sz */) + rc = (*struct { + f func(*libc.TLS, uintptr, uintptr) int32 + })(unsafe.Pointer(&struct{ uintptr }{(*sqlite3_io_methods1)(unsafe.Pointer((*sqlite3_file)(unsafe.Pointer(pBaseFile)).FpMethods)).FxFileSize})).f(tls, pBaseFile, bp /* &sz */) if rc != 0 { - (*(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(((*sqlite3_file)(unsafe.Pointer(pBaseFile)).FpMethods + 8 /* &.xClose */))))(tls, pBaseFile) + (*struct { + f func(*libc.TLS, uintptr) int32 + })(unsafe.Pointer(&struct{ uintptr }{(*sqlite3_io_methods1)(unsafe.Pointer((*sqlite3_file)(unsafe.Pointer(pBaseFile)).FpMethods)).FxClose})).f(tls, pBaseFile) } } if rc != 0 { @@ -13210,7 +13541,9 @@ func apndOpen(tls *libc.TLS, pApndVfs uintptr, zName uintptr, pFile uintptr, fla return SQLITE_OK } if (flags & SQLITE_OPEN_CREATE) == 0 { - (*(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(((*sqlite3_file)(unsafe.Pointer(pBaseFile)).FpMethods + 8 /* &.xClose */))))(tls, pBaseFile) + (*struct { + f func(*libc.TLS, uintptr) int32 + })(unsafe.Pointer(&struct{ uintptr }{(*sqlite3_io_methods1)(unsafe.Pointer((*sqlite3_file)(unsafe.Pointer(pBaseFile)).FpMethods)).FxClose})).f(tls, pBaseFile) rc = SQLITE_CANTOPEN (*sqlite3_file)(unsafe.Pointer(pFile)).FpMethods = uintptr(0) } else { @@ -13228,64 +13561,94 @@ func apndOpen(tls *libc.TLS, pApndVfs uintptr, zName uintptr, pFile uintptr, fla // leaving the appendee as it was before it gained an appendvfs. // For now, this code deletes the underlying file too. func apndDelete(tls *libc.TLS, pVfs uintptr, zPath uintptr, dirSync int32) int32 { /* appendvfs.c:574:12: */ - return (*(*func(*libc.TLS, uintptr, uintptr, int32) int32)(unsafe.Pointer(((*sqlite3_vfs)(unsafe.Pointer(pVfs)).FpAppData + 48 /* &.xDelete */))))(tls, (*sqlite3_vfs)(unsafe.Pointer(pVfs)).FpAppData, zPath, dirSync) + return (*struct { + f func(*libc.TLS, uintptr, uintptr, int32) int32 + })(unsafe.Pointer(&struct{ uintptr }{(*sqlite3_vfs)(unsafe.Pointer(((*sqlite3_vfs)(unsafe.Pointer(pVfs)).FpAppData))).FxDelete})).f(tls, (*sqlite3_vfs)(unsafe.Pointer(pVfs)).FpAppData, zPath, dirSync) } // All other VFS methods are pass-thrus. func apndAccess(tls *libc.TLS, pVfs uintptr, zPath uintptr, flags int32, pResOut uintptr) int32 { /* appendvfs.c:581:12: */ - return (*(*func(*libc.TLS, uintptr, uintptr, int32, uintptr) int32)(unsafe.Pointer(((*sqlite3_vfs)(unsafe.Pointer(pVfs)).FpAppData + 56 /* &.xAccess */))))(tls, (*sqlite3_vfs)(unsafe.Pointer(pVfs)).FpAppData, zPath, flags, pResOut) + return (*struct { + f func(*libc.TLS, uintptr, uintptr, int32, uintptr) int32 + })(unsafe.Pointer(&struct{ uintptr }{(*sqlite3_vfs)(unsafe.Pointer(((*sqlite3_vfs)(unsafe.Pointer(pVfs)).FpAppData))).FxAccess})).f(tls, (*sqlite3_vfs)(unsafe.Pointer(pVfs)).FpAppData, zPath, flags, pResOut) } func apndFullPathname(tls *libc.TLS, pVfs uintptr, zPath uintptr, nOut int32, zOut uintptr) int32 { /* appendvfs.c:589:12: */ - return (*(*func(*libc.TLS, uintptr, uintptr, int32, uintptr) int32)(unsafe.Pointer(((*sqlite3_vfs)(unsafe.Pointer(pVfs)).FpAppData + 64 /* &.xFullPathname */))))(tls, (*sqlite3_vfs)(unsafe.Pointer(pVfs)).FpAppData, zPath, nOut, zOut) + return (*struct { + f func(*libc.TLS, uintptr, uintptr, int32, uintptr) int32 + })(unsafe.Pointer(&struct{ uintptr }{(*sqlite3_vfs)(unsafe.Pointer(((*sqlite3_vfs)(unsafe.Pointer(pVfs)).FpAppData))).FxFullPathname})).f(tls, (*sqlite3_vfs)(unsafe.Pointer(pVfs)).FpAppData, zPath, nOut, zOut) } func apndDlOpen(tls *libc.TLS, pVfs uintptr, zPath uintptr) uintptr { /* appendvfs.c:597:13: */ - return (*(*func(*libc.TLS, uintptr, uintptr) uintptr)(unsafe.Pointer(((*sqlite3_vfs)(unsafe.Pointer(pVfs)).FpAppData + 72 /* &.xDlOpen */))))(tls, (*sqlite3_vfs)(unsafe.Pointer(pVfs)).FpAppData, zPath) + return (*struct { + f func(*libc.TLS, uintptr, uintptr) uintptr + })(unsafe.Pointer(&struct{ uintptr }{(*sqlite3_vfs)(unsafe.Pointer(((*sqlite3_vfs)(unsafe.Pointer(pVfs)).FpAppData))).FxDlOpen})).f(tls, (*sqlite3_vfs)(unsafe.Pointer(pVfs)).FpAppData, zPath) } func apndDlError(tls *libc.TLS, pVfs uintptr, nByte int32, zErrMsg uintptr) { /* appendvfs.c:600:13: */ - (*(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(((*sqlite3_vfs)(unsafe.Pointer(pVfs)).FpAppData + 80 /* &.xDlError */))))(tls, (*sqlite3_vfs)(unsafe.Pointer(pVfs)).FpAppData, nByte, zErrMsg) + (*struct { + f func(*libc.TLS, uintptr, int32, uintptr) + })(unsafe.Pointer(&struct{ uintptr }{(*sqlite3_vfs)(unsafe.Pointer(((*sqlite3_vfs)(unsafe.Pointer(pVfs)).FpAppData))).FxDlError})).f(tls, (*sqlite3_vfs)(unsafe.Pointer(pVfs)).FpAppData, nByte, zErrMsg) } func apndDlSym(tls *libc.TLS, pVfs uintptr, p uintptr, zSym uintptr) uintptr { /* appendvfs.c:603:13: */ - return (*(*func(*libc.TLS, uintptr, uintptr, uintptr) uintptr)(unsafe.Pointer(((*sqlite3_vfs)(unsafe.Pointer(pVfs)).FpAppData + 88 /* &.xDlSym */))))(tls, (*sqlite3_vfs)(unsafe.Pointer(pVfs)).FpAppData, p, zSym) + return (*struct { + f func(*libc.TLS, uintptr, uintptr, uintptr) uintptr + })(unsafe.Pointer(&struct{ uintptr }{(*sqlite3_vfs)(unsafe.Pointer(((*sqlite3_vfs)(unsafe.Pointer(pVfs)).FpAppData))).FxDlSym})).f(tls, (*sqlite3_vfs)(unsafe.Pointer(pVfs)).FpAppData, p, zSym) } func apndDlClose(tls *libc.TLS, pVfs uintptr, pHandle uintptr) { /* appendvfs.c:606:13: */ - (*(*func(*libc.TLS, uintptr, uintptr))(unsafe.Pointer(((*sqlite3_vfs)(unsafe.Pointer(pVfs)).FpAppData + 96 /* &.xDlClose */))))(tls, (*sqlite3_vfs)(unsafe.Pointer(pVfs)).FpAppData, pHandle) + (*struct { + f func(*libc.TLS, uintptr, uintptr) + })(unsafe.Pointer(&struct{ uintptr }{(*sqlite3_vfs)(unsafe.Pointer(((*sqlite3_vfs)(unsafe.Pointer(pVfs)).FpAppData))).FxDlClose})).f(tls, (*sqlite3_vfs)(unsafe.Pointer(pVfs)).FpAppData, pHandle) } func apndRandomness(tls *libc.TLS, pVfs uintptr, nByte int32, zBufOut uintptr) int32 { /* appendvfs.c:609:12: */ - return (*(*func(*libc.TLS, uintptr, int32, uintptr) int32)(unsafe.Pointer(((*sqlite3_vfs)(unsafe.Pointer(pVfs)).FpAppData + 104 /* &.xRandomness */))))(tls, (*sqlite3_vfs)(unsafe.Pointer(pVfs)).FpAppData, nByte, zBufOut) + return (*struct { + f func(*libc.TLS, uintptr, int32, uintptr) int32 + })(unsafe.Pointer(&struct{ uintptr }{(*sqlite3_vfs)(unsafe.Pointer(((*sqlite3_vfs)(unsafe.Pointer(pVfs)).FpAppData))).FxRandomness})).f(tls, (*sqlite3_vfs)(unsafe.Pointer(pVfs)).FpAppData, nByte, zBufOut) } func apndSleep(tls *libc.TLS, pVfs uintptr, nMicro int32) int32 { /* appendvfs.c:612:12: */ - return (*(*func(*libc.TLS, uintptr, int32) int32)(unsafe.Pointer(((*sqlite3_vfs)(unsafe.Pointer(pVfs)).FpAppData + 112 /* &.xSleep */))))(tls, (*sqlite3_vfs)(unsafe.Pointer(pVfs)).FpAppData, nMicro) + return (*struct { + f func(*libc.TLS, uintptr, int32) int32 + })(unsafe.Pointer(&struct{ uintptr }{(*sqlite3_vfs)(unsafe.Pointer(((*sqlite3_vfs)(unsafe.Pointer(pVfs)).FpAppData))).FxSleep})).f(tls, (*sqlite3_vfs)(unsafe.Pointer(pVfs)).FpAppData, nMicro) } func apndCurrentTime(tls *libc.TLS, pVfs uintptr, pTimeOut uintptr) int32 { /* appendvfs.c:615:12: */ - return (*(*func(*libc.TLS, uintptr, uintptr) int32)(unsafe.Pointer(((*sqlite3_vfs)(unsafe.Pointer(pVfs)).FpAppData + 120 /* &.xCurrentTime */))))(tls, (*sqlite3_vfs)(unsafe.Pointer(pVfs)).FpAppData, pTimeOut) + return (*struct { + f func(*libc.TLS, uintptr, uintptr) int32 + })(unsafe.Pointer(&struct{ uintptr }{(*sqlite3_vfs)(unsafe.Pointer(((*sqlite3_vfs)(unsafe.Pointer(pVfs)).FpAppData))).FxCurrentTime})).f(tls, (*sqlite3_vfs)(unsafe.Pointer(pVfs)).FpAppData, pTimeOut) } func apndGetLastError(tls *libc.TLS, pVfs uintptr, a int32, b uintptr) int32 { /* appendvfs.c:618:12: */ - return (*(*func(*libc.TLS, uintptr, int32, uintptr) int32)(unsafe.Pointer(((*sqlite3_vfs)(unsafe.Pointer(pVfs)).FpAppData + 128 /* &.xGetLastError */))))(tls, (*sqlite3_vfs)(unsafe.Pointer(pVfs)).FpAppData, a, b) + return (*struct { + f func(*libc.TLS, uintptr, int32, uintptr) int32 + })(unsafe.Pointer(&struct{ uintptr }{(*sqlite3_vfs)(unsafe.Pointer(((*sqlite3_vfs)(unsafe.Pointer(pVfs)).FpAppData))).FxGetLastError})).f(tls, (*sqlite3_vfs)(unsafe.Pointer(pVfs)).FpAppData, a, b) } func apndCurrentTimeInt64(tls *libc.TLS, pVfs uintptr, p uintptr) int32 { /* appendvfs.c:621:12: */ - return (*(*func(*libc.TLS, uintptr, uintptr) int32)(unsafe.Pointer(((*sqlite3_vfs)(unsafe.Pointer(pVfs)).FpAppData + 136 /* &.xCurrentTimeInt64 */))))(tls, (*sqlite3_vfs)(unsafe.Pointer(pVfs)).FpAppData, p) + return (*struct { + f func(*libc.TLS, uintptr, uintptr) int32 + })(unsafe.Pointer(&struct{ uintptr }{(*sqlite3_vfs)(unsafe.Pointer(((*sqlite3_vfs)(unsafe.Pointer(pVfs)).FpAppData))).FxCurrentTimeInt64})).f(tls, (*sqlite3_vfs)(unsafe.Pointer(pVfs)).FpAppData, p) } func apndSetSystemCall(tls *libc.TLS, pVfs uintptr, zName uintptr, pCall sqlite3_syscall_ptr) int32 { /* appendvfs.c:624:12: */ - return (*(*func(*libc.TLS, uintptr, uintptr, sqlite3_syscall_ptr) int32)(unsafe.Pointer(((*sqlite3_vfs)(unsafe.Pointer(pVfs)).FpAppData + 144 /* &.xSetSystemCall */))))(tls, (*sqlite3_vfs)(unsafe.Pointer(pVfs)).FpAppData, zName, pCall) + return (*struct { + f func(*libc.TLS, uintptr, uintptr, sqlite3_syscall_ptr) int32 + })(unsafe.Pointer(&struct{ uintptr }{(*sqlite3_vfs)(unsafe.Pointer(((*sqlite3_vfs)(unsafe.Pointer(pVfs)).FpAppData))).FxSetSystemCall})).f(tls, (*sqlite3_vfs)(unsafe.Pointer(pVfs)).FpAppData, zName, pCall) } func apndGetSystemCall(tls *libc.TLS, pVfs uintptr, zName uintptr) sqlite3_syscall_ptr { /* appendvfs.c:631:28: */ - return (*(*func(*libc.TLS, uintptr, uintptr) sqlite3_syscall_ptr)(unsafe.Pointer(((*sqlite3_vfs)(unsafe.Pointer(pVfs)).FpAppData + 152 /* &.xGetSystemCall */))))(tls, (*sqlite3_vfs)(unsafe.Pointer(pVfs)).FpAppData, zName) + return (*struct { + f func(*libc.TLS, uintptr, uintptr) sqlite3_syscall_ptr + })(unsafe.Pointer(&struct{ uintptr }{(*sqlite3_vfs)(unsafe.Pointer(((*sqlite3_vfs)(unsafe.Pointer(pVfs)).FpAppData))).FxGetSystemCall})).f(tls, (*sqlite3_vfs)(unsafe.Pointer(pVfs)).FpAppData, zName) } func apndNextSystemCall(tls *libc.TLS, pVfs uintptr, zName uintptr) uintptr { /* appendvfs.c:637:19: */ - return (*(*func(*libc.TLS, uintptr, uintptr) uintptr)(unsafe.Pointer(((*sqlite3_vfs)(unsafe.Pointer(pVfs)).FpAppData + 160 /* &.xNextSystemCall */))))(tls, (*sqlite3_vfs)(unsafe.Pointer(pVfs)).FpAppData, zName) + return (*struct { + f func(*libc.TLS, uintptr, uintptr) uintptr + })(unsafe.Pointer(&struct{ uintptr }{(*sqlite3_vfs)(unsafe.Pointer(((*sqlite3_vfs)(unsafe.Pointer(pVfs)).FpAppData))).FxNextSystemCall})).f(tls, (*sqlite3_vfs)(unsafe.Pointer(pVfs)).FpAppData, zName) } // This routine is called when the extension is loaded. @@ -13311,26 +13674,124 @@ func sqlite3_appendvfs_init(tls *libc.TLS, db uintptr, pzErrMsg uintptr, pApi ui return rc } -type int8_t = int8 /* types.h:63:18 */ +// __cpu_simple_lock_t used to be a full word. -type uint8_t = uint8 /* types.h:68:19 */ +// The amd64 does not have strict alignment requirements. -type int16_t = int16 /* types.h:73:19 */ +// $NetBSD: ansi.h,v 1.11 2019/05/07 03:49:26 kamil Exp $ -type uint16_t = uint16 /* types.h:78:20 */ +// $NetBSD: common_ansi.h,v 1.1 2014/08/19 07:27:31 matt Exp $ -type int32_t = int32 /* types.h:83:19 */ +// - +// Copyright (c) 2014 The NetBSD Foundation, Inc. +// All rights reserved. +// +// This code is derived from software contributed to The NetBSD Foundation +// by Matt Thomas of 3am Software Foundry. +// +// 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. +// +// THIS SOFTWARE IS PROVIDED BY THE NETBSD FOUNDATION, INC. 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 FOUNDATION 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. -type uint32_t = uint32 /* types.h:88:20 */ +// $NetBSD: int_types.h,v 1.7 2014/07/25 21:43:13 joerg Exp $ -type int64_t = int64 /* types.h:93:19 */ +// - +// Copyright (c) 1990 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. 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. +// +// from: @(#)types.h 7.5 (Berkeley) 3/9/91 -type uint64_t = uint64 /* types.h:98:20 */ +// $NetBSD: ansi.h,v 1.14 2011/07/17 20:54:54 joerg Exp $ -type u_int8_t = uint8_t /* types.h:102:18 */ -type u_int16_t = uint16_t /* types.h:103:18 */ -type u_int32_t = uint32_t /* types.h:104:18 */ -type u_int64_t = uint64_t /* types.h:105:18 */ +// - +// Copyright (c) 2000, 2001, 2002 The NetBSD Foundation, Inc. +// All rights reserved. +// +// This code is derived from software contributed to The NetBSD Foundation +// by Jun-ichiro itojun Hagino and by Klaus Klein. +// +// 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. +// +// THIS SOFTWARE IS PROVIDED BY THE NETBSD FOUNDATION, INC. 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 FOUNDATION 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. + +type int8_t = int8 /* types.h:54:18 */ + +type uint8_t = uint8 /* types.h:59:19 */ + +type int16_t = int16 /* types.h:64:19 */ + +type uint16_t = uint16 /* types.h:69:20 */ + +type int32_t = int32 /* types.h:74:19 */ + +type uint32_t = uint32 /* types.h:79:20 */ + +type int64_t = int64 /* types.h:84:19 */ + +type uint64_t = uint64 /* types.h:89:20 */ + +type u_int8_t = uint8_t /* types.h:93:18 */ +type u_int16_t = uint16_t /* types.h:94:18 */ +type u_int32_t = uint32_t /* types.h:95:18 */ +type u_int64_t = uint64_t /* types.h:96:18 */ // $NetBSD: endian.h,v 1.1 2003/04/26 18:39:40 fvdl Exp $ @@ -13493,15 +13954,6 @@ type u_int64_t = uint64_t /* types.h:105:18 */ // // @(#)cdefs.h 8.8 (Berkeley) 1/9/95 -// DO NOT EDIT THIS FILE. -// -// It has been auto-edited by fixincludes from: -// -// "/usr/include/sys/types.h" -// -// This had to be done to correct non-standard usages in the -// original, manufacturer supplied header file. - // $NetBSD: types.h,v 1.102 2018/11/06 16:26:44 maya Exp $ // - @@ -13750,19 +14202,19 @@ type uint_fast64_t = uint64 /* common_int_mwgwtypes.h:62:32 */ type intmax_t = int64 /* common_int_mwgwtypes.h:66:33 */ type uintmax_t = uint64 /* common_int_mwgwtypes.h:67:32 */ -type u_char = uint8 /* types.h:110:23 */ -type u_short = uint16 /* types.h:111:24 */ -type u_int = uint32 /* types.h:112:22 */ -type u_long = uint64 /* types.h:113:23 */ +type u_char = uint8 /* types.h:101:23 */ +type u_short = uint16 /* types.h:102:24 */ +type u_int = uint32 /* types.h:103:22 */ +type u_long = uint64 /* types.h:104:23 */ -type unchar = uint8 /* types.h:115:23 */ // Sys V compatibility -type ushort = uint16 /* types.h:116:24 */ // Sys V compatibility -type uint = uint32 /* types.h:117:22 */ // Sys V compatibility -type ulong = uint64 /* types.h:118:23 */ // Sys V compatibility +type unchar = uint8 /* types.h:106:23 */ // Sys V compatibility +type ushort = uint16 /* types.h:107:24 */ // Sys V compatibility +type uint = uint32 /* types.h:108:22 */ // Sys V compatibility +type ulong = uint64 /* types.h:109:23 */ // Sys V compatibility -type u_quad_t = uint64_t /* types.h:121:18 */ // quads -type quad_t = int64_t /* types.h:122:18 */ -type qaddr_t = uintptr /* types.h:123:16 */ +type u_quad_t = uint64_t /* types.h:112:18 */ // quads +type quad_t = int64_t /* types.h:113:18 */ +type qaddr_t = uintptr /* types.h:114:16 */ // The types longlong_t and u_longlong_t exist for use with the // Sun-derived XDR routines involving these types, and their usage @@ -13772,59 +14224,59 @@ type qaddr_t = uintptr /* types.h:123:16 */ // respectively. Portable programs that need 64-bit types should use // the C99 types int64_t and uint64_t instead. -type longlong_t = int64_t /* types.h:135:18 */ // for XDR -type u_longlong_t = uint64_t /* types.h:136:18 */ // for XDR +type longlong_t = int64_t /* types.h:126:18 */ // for XDR +type u_longlong_t = uint64_t /* types.h:127:18 */ // for XDR -type blkcnt_t = int64_t /* types.h:138:18 */ // fs block count -type blksize_t = int32_t /* types.h:139:18 */ // fs optimal block size +type blkcnt_t = int64_t /* types.h:129:18 */ // fs block count +type blksize_t = int32_t /* types.h:130:18 */ // fs optimal block size -type fsblkcnt_t = uint64 /* types.h:142:22 */ // fs block count (statvfs) +type fsblkcnt_t = uint64 /* types.h:133:22 */ // fs block count (statvfs) -type fsfilcnt_t = uint64 /* types.h:147:22 */ // fs file count +type fsfilcnt_t = uint64 /* types.h:138:22 */ // fs file count // We don't and shouldn't use caddr_t in the kernel anymore -type caddr_t = uintptr /* types.h:154:19 */ // core address +type caddr_t = uintptr /* types.h:145:19 */ // core address -type daddr_t = int64_t /* types.h:163:18 */ // disk address +type daddr_t = int64_t /* types.h:154:18 */ // disk address -type dev_t = uint64_t /* types.h:166:18 */ // device number -type fixpt_t = uint32_t /* types.h:167:18 */ // fixed point number +type dev_t = uint64_t /* types.h:157:18 */ // device number +type fixpt_t = uint32_t /* types.h:158:18 */ // fixed point number -type gid_t = uint32 /* types.h:170:18 */ // group id +type gid_t = uint32 /* types.h:161:18 */ // group id -type id_t = uint32_t /* types.h:174:18 */ // group id, process id or user id -type ino_t = uint64_t /* types.h:175:18 */ // inode number -type key_t = int64 /* types.h:176:15 */ // IPC key (for Sys V IPC) +type id_t = uint32_t /* types.h:165:18 */ // group id, process id or user id +type ino_t = uint64_t /* types.h:166:18 */ // inode number +type key_t = int64 /* types.h:167:15 */ // IPC key (for Sys V IPC) -type mode_t = uint32 /* types.h:179:18 */ // permissions +type mode_t = uint32 /* types.h:170:18 */ // permissions -type nlink_t = uint32_t /* types.h:183:18 */ // file offset +type nlink_t = uint32_t /* types.h:174:18 */ // file offset -type pid_t = int32 /* types.h:191:18 */ // process id -type lwpid_t = int32_t /* types.h:194:18 */ // LWP id -type rlim_t = uint64_t /* types.h:195:18 */ // resource limit -type segsz_t = int32_t /* types.h:196:18 */ // segment size -type swblk_t = int32_t /* types.h:197:18 */ // swap offset +type pid_t = int32 /* types.h:182:18 */ // process id +type lwpid_t = int32_t /* types.h:185:18 */ // LWP id +type rlim_t = uint64_t /* types.h:186:18 */ // resource limit +type segsz_t = int32_t /* types.h:187:18 */ // segment size +type swblk_t = int32_t /* types.h:188:18 */ // swap offset -type uid_t = uint32 /* types.h:200:18 */ // user id +type uid_t = uint32 /* types.h:191:18 */ // user id -type mqd_t = int32 /* types.h:204:14 */ +type mqd_t = int32 /* types.h:195:14 */ -type cpuid_t = uint64 /* types.h:206:23 */ +type cpuid_t = uint64 /* types.h:197:23 */ -type psetid_t = int32 /* types.h:208:14 */ +type psetid_t = int32 /* types.h:199:14 */ -type clock_t = uint32 /* types.h:277:24 */ +type clock_t = uint32 /* types.h:268:24 */ -type time_t = int64 /* types.h:306:23 */ +type time_t = int64 /* types.h:289:23 */ -type clockid_t = int32 /* types.h:311:26 */ +type clockid_t = int32 /* types.h:294:26 */ -type timer_t = int32 /* types.h:316:24 */ +type timer_t = int32 /* types.h:299:24 */ -type suseconds_t = int32 /* types.h:321:27 */ +type suseconds_t = int32 /* types.h:304:27 */ -type useconds_t = uint32 /* types.h:326:26 */ +type useconds_t = uint32 /* types.h:309:26 */ // 32 = 2 ^ 5 @@ -13842,9 +14294,9 @@ type fd_set = fd_set1 /* fd_set.h:68:3 */ // Expose our internals if we are not required to hide them. -type kauth_cred_t = uintptr /* types.h:335:27 */ +type kauth_cred_t = uintptr /* types.h:318:27 */ -type pri_t = int32 /* types.h:337:13 */ +type pri_t = int32 /* types.h:320:13 */ // $NetBSD: pthread_types.h,v 1.23 2017/09/09 23:21:45 kamil Exp $ @@ -13904,24 +14356,24 @@ type __pthread_mutex_st = struct { Fptm_pad1 [3]uint8_t F__8 struct{ Fptm_ceiling uint8 } Fptm_pad2 [3]uint8_t - _ [4]byte + F__ccgo_pad1 [4]byte Fptm_owner pthread_t Fptm_waiters uintptr Fptm_recursed uint32 - _ [4]byte + F__ccgo_pad2 [4]byte Fptm_spare2 uintptr } /* pthread_types.h:66:1 */ type __pthread_mutexattr_st = struct { Fptma_magic uint32 - _ [4]byte + F__ccgo_pad1 [4]byte Fptma_private uintptr } /* pthread_types.h:67:1 */ type __pthread_cond_st = struct { Fptc_magic uint32 Fptc_lock uint8 - _ [3]byte + F__ccgo_pad1 [3]byte Fptc_waiters pthread_queue_t Fptc_mutex uintptr Fptc_private uintptr @@ -13929,43 +14381,43 @@ type __pthread_cond_st = struct { type __pthread_condattr_st = struct { Fptca_magic uint32 - _ [4]byte + F__ccgo_pad1 [4]byte Fptca_private uintptr } /* pthread_types.h:69:1 */ type __pthread_rwlock_st = struct { Fptr_magic uint32 Fptr_interlock uint8 - _ [3]byte + F__ccgo_pad1 [3]byte Fptr_rblocked pthread_queue_t Fptr_wblocked pthread_queue_t Fptr_nreaders uint32 - _ [4]byte + F__ccgo_pad2 [4]byte Fptr_owner pthread_t Fptr_private uintptr } /* pthread_types.h:71:1 */ type __pthread_rwlockattr_st = struct { Fptra_magic uint32 - _ [4]byte + F__ccgo_pad1 [4]byte Fptra_private uintptr } /* pthread_types.h:72:1 */ type __pthread_barrier_st = struct { Fptb_magic uint32 Fptb_lock pthread_spin_t - _ [3]byte + F__ccgo_pad1 [3]byte Fptb_waiters pthread_queue_t Fptb_initcount uint32 Fptb_curcount uint32 Fptb_generation uint32 - _ [4]byte + F__ccgo_pad2 [4]byte Fptb_private uintptr } /* pthread_types.h:73:1 */ type __pthread_barrierattr_st = struct { Fptba_magic uint32 - _ [4]byte + F__ccgo_pad1 [4]byte Fptba_private uintptr } /* pthread_types.h:74:1 */ @@ -13976,17 +14428,17 @@ type pthread_mutexattr_t = __pthread_mutexattr_st /* pthread_types.h:79:39 */ type pthread_cond_t = __pthread_cond_st /* pthread_types.h:80:34 */ type pthread_condattr_t = __pthread_condattr_st /* pthread_types.h:81:38 */ type __pthread_once_st = struct { - Fpto_mutex pthread_mutex_t - Fpto_done int32 - _ [4]byte + Fpto_mutex pthread_mutex_t + Fpto_done int32 + F__ccgo_pad1 [4]byte } /* pthread_types.h:82:9 */ type pthread_once_t = __pthread_once_st /* pthread_types.h:82:34 */ type __pthread_spinlock_st = struct { - Fpts_magic uint32 - Fpts_spin uint8 - _ [3]byte - Fpts_flags int32 + Fpts_magic uint32 + Fpts_spin uint8 + F__ccgo_pad1 [3]byte + Fpts_flags int32 } /* pthread_types.h:83:9 */ type pthread_spinlock_t = __pthread_spinlock_st /* pthread_types.h:83:38 */ @@ -13999,74 +14451,74 @@ type pthread_key_t = int32 /* pthread_types.h:88:13 * type div_t = struct { Fquot int32 Frem int32 -} /* stdlib.h:76:3 */ +} /* stdlib.h:59:3 */ type ldiv_t = struct { Fquot int64 Frem int64 -} /* stdlib.h:81:3 */ +} /* stdlib.h:64:3 */ type lldiv_t = struct { Fquot int64 Frem int64 -} /* stdlib.h:91:3 */ +} /* stdlib.h:74:3 */ type qdiv_t = struct { Fquot quad_t Frem quad_t -} /* stdlib.h:98:3 */ +} /* stdlib.h:81:3 */ // Forward declaration of objects used by this implementation type amatch_vtab1 = struct { - Fbase sqlite3_vtab - FzClassName uintptr - FzDb uintptr - FzSelf uintptr - FzCostTab uintptr - FzVocabTab uintptr - FzVocabWord uintptr - FzVocabLang uintptr - FpRule uintptr - FrIns amatch_cost - FrDel amatch_cost - FrSub amatch_cost - _ [4]byte - Fdb uintptr - FpVCheck uintptr - FnCursor int32 - _ [4]byte + Fbase sqlite3_vtab + FzClassName uintptr + FzDb uintptr + FzSelf uintptr + FzCostTab uintptr + FzVocabTab uintptr + FzVocabWord uintptr + FzVocabLang uintptr + FpRule uintptr + FrIns amatch_cost + FrDel amatch_cost + FrSub amatch_cost + F__ccgo_pad1 [4]byte + Fdb uintptr + FpVCheck uintptr + FnCursor int32 + F__ccgo_pad2 [4]byte } /* amatch.c:172:9 */ // Forward declaration of objects used by this implementation type amatch_vtab = amatch_vtab1 /* amatch.c:172:28 */ type amatch_cursor1 = struct { - Fbase sqlite3_vtab_cursor - FiRowid sqlite3_int64 - FiLang amatch_langid - FrLimit amatch_cost - FnBuf int32 - FoomErr int32 - FnWord int32 - _ [4]byte - FzBuf uintptr - FzInput uintptr - FpVtab uintptr - FpAllWords uintptr - FpCurrent uintptr - FpCost uintptr - FpWord uintptr + Fbase sqlite3_vtab_cursor + FiRowid sqlite3_int64 + FiLang amatch_langid + FrLimit amatch_cost + FnBuf int32 + FoomErr int32 + FnWord int32 + F__ccgo_pad1 [4]byte + FzBuf uintptr + FzInput uintptr + FpVtab uintptr + FpAllWords uintptr + FpCurrent uintptr + FpCost uintptr + FpWord uintptr } /* amatch.c:173:9 */ type amatch_cursor = amatch_cursor1 /* amatch.c:173:30 */ type amatch_rule1 = struct { - FpNext uintptr - FzFrom uintptr - FrCost amatch_cost - FiLang amatch_langid - FnFrom amatch_len - FnTo amatch_len - FzTo [4]int8 - _ [2]byte + FpNext uintptr + FzFrom uintptr + FrCost amatch_cost + FiLang amatch_langid + FnFrom amatch_len + FnTo amatch_len + FzTo [4]int8 + F__ccgo_pad1 [2]byte } /* amatch.c:172:9 */ type amatch_rule = amatch_rule1 /* amatch.c:174:28 */ @@ -14083,14 +14535,14 @@ type amatch_word1 = struct { type amatch_word = amatch_word1 /* amatch.c:175:28 */ type amatch_avl1 = struct { - FpWord uintptr - FzKey uintptr - FpBefore uintptr - FpAfter uintptr - FpUp uintptr - Fheight int16 - Fimbalance int16 - _ [4]byte + FpWord uintptr + FzKey uintptr + FpBefore uintptr + FpAfter uintptr + FpUp uintptr + Fheight int16 + Fimbalance int16 + F__ccgo_pad1 [4]byte } /* amatch.c:173:9 */ type amatch_avl = amatch_avl1 /* amatch.c:176:27 */ @@ -15359,12 +15811,12 @@ type carray_bind = carray_bind1 /* carray.c:78:28 */ // serve as the underlying representation of a cursor that scans // over rows of the result type carray_cursor1 = struct { - Fbase sqlite3_vtab_cursor - FiRowid sqlite3_int64 - FpPtr uintptr - FiCnt sqlite3_int64 - FeType uint8 - _ [7]byte + Fbase sqlite3_vtab_cursor + FiRowid sqlite3_int64 + FpPtr uintptr + FiCnt sqlite3_int64 + FeType uint8 + F__ccgo_pad1 [7]byte } /* carray.c:91:9 */ // carray_cursor is a subclass of sqlite3_vtab_cursor which will @@ -15664,7 +16116,7 @@ var carrayModule = sqlite3_module{ // xCreate func carrayBindDel(tls *libc.TLS, pPtr uintptr) { /* carray.c:391:13: */ var p uintptr = pPtr if (*carray_bind)(unsafe.Pointer(p)).FxDel != (uintptr(0)) { - (*(*func(*libc.TLS, uintptr))(unsafe.Pointer((p + 16 /* &.xDel */))))(tls, (*carray_bind)(unsafe.Pointer(p)).FaData) + (*struct{ f func(*libc.TLS, uintptr) })(unsafe.Pointer(&struct{ uintptr }{(*carray_bind)(unsafe.Pointer(p)).FxDel})).f(tls, (*carray_bind)(unsafe.Pointer(p)).FaData) } sqlite3.Xsqlite3_free(tls, p) } @@ -15677,7 +16129,7 @@ func sqlite3_carray_bind(tls *libc.TLS, pStmt uintptr, idx int32, aData uintptr, pNew = sqlite3.Xsqlite3_malloc64(tls, uint64(unsafe.Sizeof(carray_bind{}))) if pNew == uintptr(0) { if (xDestroy != (uintptr(0))) && (xDestroy != (libc.UintptrFromInt32(-1))) { - (*(*func(*libc.TLS, uintptr))(unsafe.Pointer(&xDestroy)))(tls, aData) + (*struct{ f func(*libc.TLS, uintptr) })(unsafe.Pointer(&struct{ uintptr }{xDestroy})).f(tls, aData) } return SQLITE_NOMEM } @@ -15789,7 +16241,7 @@ type CksmFile1 = struct { FverifyCksm int8 FisWal int8 FinCkpt int8 - _ [4]byte + F__ccgo_pad1 [4]byte FpPartner uintptr } /* cksumvfs.c:177:9 */ @@ -15912,7 +16364,9 @@ func cksmClose(tls *libc.TLS, pFile uintptr) int32 { /* cksumvfs.c:397:12: */ (*CksmFile)(unsafe.Pointer(p)).FpPartner = uintptr(0) } pFile = ((pFile) + uintptr(1)*32) - return (*(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(((*sqlite3_file)(unsafe.Pointer(pFile)).FpMethods + 8 /* &.xClose */))))(tls, pFile) + return (*struct { + f func(*libc.TLS, uintptr) int32 + })(unsafe.Pointer(&struct{ uintptr }{(*sqlite3_io_methods1)(unsafe.Pointer((*sqlite3_file)(unsafe.Pointer(pFile)).FpMethods)).FxClose})).f(tls, pFile) } // Set the computeCkSm and verifyCksm flags, if they need to be @@ -15935,7 +16389,9 @@ func cksmRead(tls *libc.TLS, pFile uintptr, zBuf uintptr, iAmt int32, iOfst sqli var rc int32 var p uintptr = pFile pFile = ((pFile) + uintptr(1)*32) - rc = (*(*func(*libc.TLS, uintptr, uintptr, int32, sqlite3_int64) int32)(unsafe.Pointer(((*sqlite3_file)(unsafe.Pointer(pFile)).FpMethods + 16 /* &.xRead */))))(tls, pFile, zBuf, iAmt, iOfst) + rc = (*struct { + f func(*libc.TLS, uintptr, uintptr, int32, sqlite3_int64) int32 + })(unsafe.Pointer(&struct{ uintptr }{(*sqlite3_io_methods1)(unsafe.Pointer((*sqlite3_file)(unsafe.Pointer(pFile)).FpMethods)).FxRead})).f(tls, pFile, zBuf, iAmt, iOfst) if rc == SQLITE_OK { if ((iOfst == int64(0)) && (iAmt >= 100)) && ((libc.Xmemcmp(tls, zBuf, ts+3149 /* "SQLite format 3" */, uint64(16)) == 0) || (libc.Xmemcmp(tls, zBuf, ts+3966 /* "ZV-" */, uint64(3)) == 0)) { var d uintptr = zBuf @@ -15983,44 +16439,58 @@ func cksmWrite(tls *libc.TLS, pFile uintptr, zBuf uintptr, iAmt int32, iOfst sql !(int32((*CksmFile)(unsafe.Pointer(p)).FinCkpt) != 0) { cksmCompute(tls, zBuf, (iAmt - 8), (((zBuf) + uintptr(iAmt)) - uintptr(8))) } - return (*(*func(*libc.TLS, uintptr, uintptr, int32, sqlite3_int64) int32)(unsafe.Pointer(((*sqlite3_file)(unsafe.Pointer(pFile)).FpMethods + 24 /* &.xWrite */))))(tls, pFile, zBuf, iAmt, iOfst) + return (*struct { + f func(*libc.TLS, uintptr, uintptr, int32, sqlite3_int64) int32 + })(unsafe.Pointer(&struct{ uintptr }{(*sqlite3_io_methods1)(unsafe.Pointer((*sqlite3_file)(unsafe.Pointer(pFile)).FpMethods)).FxWrite})).f(tls, pFile, zBuf, iAmt, iOfst) } // Truncate a cksm-file. func cksmTruncate(tls *libc.TLS, pFile uintptr, size sqlite_int64) int32 { /* cksumvfs.c:502:12: */ pFile = ((pFile) + uintptr(1)*32) - return (*(*func(*libc.TLS, uintptr, sqlite3_int64) int32)(unsafe.Pointer(((*sqlite3_file)(unsafe.Pointer(pFile)).FpMethods + 32 /* &.xTruncate */))))(tls, pFile, size) + return (*struct { + f func(*libc.TLS, uintptr, sqlite3_int64) int32 + })(unsafe.Pointer(&struct{ uintptr }{(*sqlite3_io_methods1)(unsafe.Pointer((*sqlite3_file)(unsafe.Pointer(pFile)).FpMethods)).FxTruncate})).f(tls, pFile, size) } // Sync a cksm-file. func cksmSync(tls *libc.TLS, pFile uintptr, flags int32) int32 { /* cksumvfs.c:510:12: */ pFile = ((pFile) + uintptr(1)*32) - return (*(*func(*libc.TLS, uintptr, int32) int32)(unsafe.Pointer(((*sqlite3_file)(unsafe.Pointer(pFile)).FpMethods + 40 /* &.xSync */))))(tls, pFile, flags) + return (*struct { + f func(*libc.TLS, uintptr, int32) int32 + })(unsafe.Pointer(&struct{ uintptr }{(*sqlite3_io_methods1)(unsafe.Pointer((*sqlite3_file)(unsafe.Pointer(pFile)).FpMethods)).FxSync})).f(tls, pFile, flags) } // Return the current file-size of a cksm-file. func cksmFileSize(tls *libc.TLS, pFile uintptr, pSize uintptr) int32 { /* cksumvfs.c:518:12: */ var p uintptr = pFile pFile = ((p) + uintptr(1)*32) - return (*(*func(*libc.TLS, uintptr, uintptr) int32)(unsafe.Pointer(((*sqlite3_file)(unsafe.Pointer(pFile)).FpMethods + 48 /* &.xFileSize */))))(tls, pFile, pSize) + return (*struct { + f func(*libc.TLS, uintptr, uintptr) int32 + })(unsafe.Pointer(&struct{ uintptr }{(*sqlite3_io_methods1)(unsafe.Pointer((*sqlite3_file)(unsafe.Pointer(pFile)).FpMethods)).FxFileSize})).f(tls, pFile, pSize) } // Lock a cksm-file. func cksmLock(tls *libc.TLS, pFile uintptr, eLock int32) int32 { /* cksumvfs.c:527:12: */ pFile = ((pFile) + uintptr(1)*32) - return (*(*func(*libc.TLS, uintptr, int32) int32)(unsafe.Pointer(((*sqlite3_file)(unsafe.Pointer(pFile)).FpMethods + 56 /* &.xLock */))))(tls, pFile, eLock) + return (*struct { + f func(*libc.TLS, uintptr, int32) int32 + })(unsafe.Pointer(&struct{ uintptr }{(*sqlite3_io_methods1)(unsafe.Pointer((*sqlite3_file)(unsafe.Pointer(pFile)).FpMethods)).FxLock})).f(tls, pFile, eLock) } // Unlock a cksm-file. func cksmUnlock(tls *libc.TLS, pFile uintptr, eLock int32) int32 { /* cksumvfs.c:535:12: */ pFile = ((pFile) + uintptr(1)*32) - return (*(*func(*libc.TLS, uintptr, int32) int32)(unsafe.Pointer(((*sqlite3_file)(unsafe.Pointer(pFile)).FpMethods + 64 /* &.xUnlock */))))(tls, pFile, eLock) + return (*struct { + f func(*libc.TLS, uintptr, int32) int32 + })(unsafe.Pointer(&struct{ uintptr }{(*sqlite3_io_methods1)(unsafe.Pointer((*sqlite3_file)(unsafe.Pointer(pFile)).FpMethods)).FxUnlock})).f(tls, pFile, eLock) } // Check if another file-handle holds a RESERVED lock on a cksm-file. func cksmCheckReservedLock(tls *libc.TLS, pFile uintptr, pResOut uintptr) int32 { /* cksumvfs.c:543:12: */ pFile = ((pFile) + uintptr(1)*32) - return (*(*func(*libc.TLS, uintptr, uintptr) int32)(unsafe.Pointer(((*sqlite3_file)(unsafe.Pointer(pFile)).FpMethods + 72 /* &.xCheckReservedLock */))))(tls, pFile, pResOut) + return (*struct { + f func(*libc.TLS, uintptr, uintptr) int32 + })(unsafe.Pointer(&struct{ uintptr }{(*sqlite3_io_methods1)(unsafe.Pointer((*sqlite3_file)(unsafe.Pointer(pFile)).FpMethods)).FxCheckReservedLock})).f(tls, pFile, pResOut) } // File control method. For custom operations on a cksm-file. @@ -16074,7 +16544,9 @@ func cksmFileControl(tls *libc.TLS, pFile uintptr, op int32, pArg uintptr) int32 *(*uintptr)(unsafe.Pointer(ppFile)) = p return SQLITE_OK } - rc = (*(*func(*libc.TLS, uintptr, int32, uintptr) int32)(unsafe.Pointer(((*sqlite3_file)(unsafe.Pointer(pFile)).FpMethods + 80 /* &.xFileControl */))))(tls, pFile, op, pArg) + rc = (*struct { + f func(*libc.TLS, uintptr, int32, uintptr) int32 + })(unsafe.Pointer(&struct{ uintptr }{(*sqlite3_io_methods1)(unsafe.Pointer((*sqlite3_file)(unsafe.Pointer(pFile)).FpMethods)).FxFileControl})).f(tls, pFile, op, pArg) if (rc == SQLITE_OK) && (op == SQLITE_FCNTL_VFSNAME) { *(*uintptr)(unsafe.Pointer(pArg)) = sqlite3.Xsqlite3_mprintf(tls, ts+4052 /* "cksm/%z" */, libc.VaList(bp+8, *(*uintptr)(unsafe.Pointer(pArg)))) } @@ -16084,37 +16556,47 @@ func cksmFileControl(tls *libc.TLS, pFile uintptr, op int32, pArg uintptr) int32 // Return the sector-size in bytes for a cksm-file. func cksmSectorSize(tls *libc.TLS, pFile uintptr) int32 { /* cksumvfs.c:605:12: */ pFile = ((pFile) + uintptr(1)*32) - return (*(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(((*sqlite3_file)(unsafe.Pointer(pFile)).FpMethods + 88 /* &.xSectorSize */))))(tls, pFile) + return (*struct { + f func(*libc.TLS, uintptr) int32 + })(unsafe.Pointer(&struct{ uintptr }{(*sqlite3_io_methods1)(unsafe.Pointer((*sqlite3_file)(unsafe.Pointer(pFile)).FpMethods)).FxSectorSize})).f(tls, pFile) } // Return the device characteristic flags supported by a cksm-file. func cksmDeviceCharacteristics(tls *libc.TLS, pFile uintptr) int32 { /* cksumvfs.c:613:12: */ pFile = ((pFile) + uintptr(1)*32) - return (*(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(((*sqlite3_file)(unsafe.Pointer(pFile)).FpMethods + 96 /* &.xDeviceCharacteristics */))))(tls, pFile) + return (*struct { + f func(*libc.TLS, uintptr) int32 + })(unsafe.Pointer(&struct{ uintptr }{(*sqlite3_io_methods1)(unsafe.Pointer((*sqlite3_file)(unsafe.Pointer(pFile)).FpMethods)).FxDeviceCharacteristics})).f(tls, pFile) } // Create a shared memory file mapping func cksmShmMap(tls *libc.TLS, pFile uintptr, iPg int32, pgsz int32, bExtend int32, pp uintptr) int32 { /* cksumvfs.c:619:12: */ pFile = ((pFile) + uintptr(1)*32) - return (*(*func(*libc.TLS, uintptr, int32, int32, int32, uintptr) int32)(unsafe.Pointer(((*sqlite3_file)(unsafe.Pointer(pFile)).FpMethods + 104 /* &.xShmMap */))))(tls, pFile, iPg, pgsz, bExtend, libc.AtomicLoadUintptr(&pp)) + return (*struct { + f func(*libc.TLS, uintptr, int32, int32, int32, uintptr) int32 + })(unsafe.Pointer(&struct{ uintptr }{(*sqlite3_io_methods1)(unsafe.Pointer((*sqlite3_file)(unsafe.Pointer(pFile)).FpMethods)).FxShmMap})).f(tls, pFile, iPg, pgsz, bExtend, pp) } // Perform locking on a shared-memory segment func cksmShmLock(tls *libc.TLS, pFile uintptr, offset int32, n int32, flags int32) int32 { /* cksumvfs.c:631:12: */ pFile = ((pFile) + uintptr(1)*32) - return (*(*func(*libc.TLS, uintptr, int32, int32, int32) int32)(unsafe.Pointer(((*sqlite3_file)(unsafe.Pointer(pFile)).FpMethods + 112 /* &.xShmLock */))))(tls, pFile, offset, n, flags) + return (*struct { + f func(*libc.TLS, uintptr, int32, int32, int32) int32 + })(unsafe.Pointer(&struct{ uintptr }{(*sqlite3_io_methods1)(unsafe.Pointer((*sqlite3_file)(unsafe.Pointer(pFile)).FpMethods)).FxShmLock})).f(tls, pFile, offset, n, flags) } // Memory barrier operation on shared memory func cksmShmBarrier(tls *libc.TLS, pFile uintptr) { /* cksumvfs.c:637:13: */ pFile = ((pFile) + uintptr(1)*32) - (*(*func(*libc.TLS, uintptr))(unsafe.Pointer(((*sqlite3_file)(unsafe.Pointer(pFile)).FpMethods + 120 /* &.xShmBarrier */))))(tls, pFile) + (*struct{ f func(*libc.TLS, uintptr) })(unsafe.Pointer(&struct{ uintptr }{(*sqlite3_io_methods1)(unsafe.Pointer((*sqlite3_file)(unsafe.Pointer(pFile)).FpMethods)).FxShmBarrier})).f(tls, pFile) } // Unmap a shared memory segment func cksmShmUnmap(tls *libc.TLS, pFile uintptr, deleteFlag int32) int32 { /* cksumvfs.c:643:12: */ pFile = ((pFile) + uintptr(1)*32) - return (*(*func(*libc.TLS, uintptr, int32) int32)(unsafe.Pointer(((*sqlite3_file)(unsafe.Pointer(pFile)).FpMethods + 128 /* &.xShmUnmap */))))(tls, pFile, deleteFlag) + return (*struct { + f func(*libc.TLS, uintptr, int32) int32 + })(unsafe.Pointer(&struct{ uintptr }{(*sqlite3_io_methods1)(unsafe.Pointer((*sqlite3_file)(unsafe.Pointer(pFile)).FpMethods)).FxShmUnmap})).f(tls, pFile, deleteFlag) } // Fetch a page of a memory-mapped file @@ -16126,7 +16608,9 @@ func cksmFetch(tls *libc.TLS, pFile uintptr, iOfst sqlite3_int64, iAmt int32, pp } pFile = ((pFile) + uintptr(1)*32) if ((*sqlite3_io_methods1)(unsafe.Pointer((*sqlite3_file)(unsafe.Pointer(pFile)).FpMethods)).FiVersion > 2) && ((*sqlite3_io_methods1)(unsafe.Pointer((*sqlite3_file)(unsafe.Pointer(pFile)).FpMethods)).FxFetch != 0) { - return (*(*func(*libc.TLS, uintptr, sqlite3_int64, int32, uintptr) int32)(unsafe.Pointer(((*sqlite3_file)(unsafe.Pointer(pFile)).FpMethods + 136 /* &.xFetch */))))(tls, pFile, iOfst, iAmt, pp) + return (*struct { + f func(*libc.TLS, uintptr, sqlite3_int64, int32, uintptr) int32 + })(unsafe.Pointer(&struct{ uintptr }{(*sqlite3_io_methods1)(unsafe.Pointer((*sqlite3_file)(unsafe.Pointer(pFile)).FpMethods)).FxFetch})).f(tls, pFile, iOfst, iAmt, pp) } *(*uintptr)(unsafe.Pointer(pp)) = uintptr(0) return SQLITE_OK @@ -16136,7 +16620,9 @@ func cksmFetch(tls *libc.TLS, pFile uintptr, iOfst sqlite3_int64, iAmt int32, pp func cksmUnfetch(tls *libc.TLS, pFile uintptr, iOfst sqlite3_int64, pPage uintptr) int32 { /* cksumvfs.c:669:12: */ pFile = ((pFile) + uintptr(1)*32) if ((*sqlite3_io_methods1)(unsafe.Pointer((*sqlite3_file)(unsafe.Pointer(pFile)).FpMethods)).FiVersion > 2) && ((*sqlite3_io_methods1)(unsafe.Pointer((*sqlite3_file)(unsafe.Pointer(pFile)).FpMethods)).FxUnfetch != 0) { - return (*(*func(*libc.TLS, uintptr, sqlite3_int64, uintptr) int32)(unsafe.Pointer(((*sqlite3_file)(unsafe.Pointer(pFile)).FpMethods + 144 /* &.xUnfetch */))))(tls, pFile, iOfst, pPage) + return (*struct { + f func(*libc.TLS, uintptr, sqlite3_int64, uintptr) int32 + })(unsafe.Pointer(&struct{ uintptr }{(*sqlite3_io_methods1)(unsafe.Pointer((*sqlite3_file)(unsafe.Pointer(pFile)).FpMethods)).FxUnfetch})).f(tls, pFile, iOfst, pPage) } return SQLITE_OK } @@ -16156,14 +16642,18 @@ func cksmOpen(tls *libc.TLS, pVfs uintptr, zName uintptr, pFile uintptr, flags i if !((flags & (SQLITE_OPEN_MAIN_DB | SQLITE_OPEN_WAL)) == 0) { goto __1 } - return (*(*func(*libc.TLS, uintptr, uintptr, uintptr, int32, uintptr) int32)(unsafe.Pointer((pSubVfs + 40 /* &.xOpen */))))(tls, pSubVfs, zName, pFile, flags, pOutFlags) + return (*struct { + f func(*libc.TLS, uintptr, uintptr, uintptr, int32, uintptr) int32 + })(unsafe.Pointer(&struct{ uintptr }{(*sqlite3_vfs)(unsafe.Pointer(pSubVfs)).FxOpen})).f(tls, pSubVfs, zName, pFile, flags, pOutFlags) __1: ; p = pFile libc.Xmemset(tls, p, 0, uint64(unsafe.Sizeof(CksmFile{}))) pSubFile = ((pFile) + uintptr(1)*32) (*sqlite3_file)(unsafe.Pointer(pFile)).FpMethods = uintptr(unsafe.Pointer(&cksm_io_methods)) - rc = (*(*func(*libc.TLS, uintptr, uintptr, uintptr, int32, uintptr) int32)(unsafe.Pointer((pSubVfs + 40 /* &.xOpen */))))(tls, pSubVfs, zName, pSubFile, flags, pOutFlags) + rc = (*struct { + f func(*libc.TLS, uintptr, uintptr, uintptr, int32, uintptr) int32 + })(unsafe.Pointer(&struct{ uintptr }{(*sqlite3_vfs)(unsafe.Pointer(pSubVfs)).FxOpen})).f(tls, pSubVfs, zName, pSubFile, flags, pOutFlags) if !(rc != 0) { goto __2 } @@ -16174,7 +16664,9 @@ __2: goto __3 } *(*uintptr)(unsafe.Pointer(bp /* pDb */)) = sqlite3.Xsqlite3_database_file_object(tls, zName) - rc = (*(*func(*libc.TLS, uintptr, int32, uintptr) int32)(unsafe.Pointer(((*sqlite3_file)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp /* pDb */)))).FpMethods + 80 /* &.xFileControl */))))(tls, *(*uintptr)(unsafe.Pointer(bp /* pDb */)), SQLITE_FCNTL_CKSM_FILE, bp /* &pDb */) + rc = (*struct { + f func(*libc.TLS, uintptr, int32, uintptr) int32 + })(unsafe.Pointer(&struct{ uintptr }{(*sqlite3_io_methods1)(unsafe.Pointer((*sqlite3_file)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp /* pDb */)))).FpMethods)).FxFileControl})).f(tls, *(*uintptr)(unsafe.Pointer(bp /* pDb */)), SQLITE_FCNTL_CKSM_FILE, bp /* &pDb */) (*CksmFile)(unsafe.Pointer(p)).FpPartner = *(*uintptr)(unsafe.Pointer(bp /* pDb */)) @@ -16200,47 +16692,69 @@ __5: // All other VFS methods are pass-thrus. func cksmDelete(tls *libc.TLS, pVfs uintptr, zPath uintptr, dirSync int32) int32 { /* cksumvfs.c:723:12: */ - return (*(*func(*libc.TLS, uintptr, uintptr, int32) int32)(unsafe.Pointer(((*sqlite3_vfs)(unsafe.Pointer(pVfs)).FpAppData + 48 /* &.xDelete */))))(tls, (*sqlite3_vfs)(unsafe.Pointer(pVfs)).FpAppData, zPath, dirSync) + return (*struct { + f func(*libc.TLS, uintptr, uintptr, int32) int32 + })(unsafe.Pointer(&struct{ uintptr }{(*sqlite3_vfs)(unsafe.Pointer(((*sqlite3_vfs)(unsafe.Pointer(pVfs)).FpAppData))).FxDelete})).f(tls, (*sqlite3_vfs)(unsafe.Pointer(pVfs)).FpAppData, zPath, dirSync) } func cksmAccess(tls *libc.TLS, pVfs uintptr, zPath uintptr, flags int32, pResOut uintptr) int32 { /* cksumvfs.c:726:12: */ - return (*(*func(*libc.TLS, uintptr, uintptr, int32, uintptr) int32)(unsafe.Pointer(((*sqlite3_vfs)(unsafe.Pointer(pVfs)).FpAppData + 56 /* &.xAccess */))))(tls, (*sqlite3_vfs)(unsafe.Pointer(pVfs)).FpAppData, zPath, flags, pResOut) + return (*struct { + f func(*libc.TLS, uintptr, uintptr, int32, uintptr) int32 + })(unsafe.Pointer(&struct{ uintptr }{(*sqlite3_vfs)(unsafe.Pointer(((*sqlite3_vfs)(unsafe.Pointer(pVfs)).FpAppData))).FxAccess})).f(tls, (*sqlite3_vfs)(unsafe.Pointer(pVfs)).FpAppData, zPath, flags, pResOut) } func cksmFullPathname(tls *libc.TLS, pVfs uintptr, zPath uintptr, nOut int32, zOut uintptr) int32 { /* cksumvfs.c:734:12: */ - return (*(*func(*libc.TLS, uintptr, uintptr, int32, uintptr) int32)(unsafe.Pointer(((*sqlite3_vfs)(unsafe.Pointer(pVfs)).FpAppData + 64 /* &.xFullPathname */))))(tls, (*sqlite3_vfs)(unsafe.Pointer(pVfs)).FpAppData, zPath, nOut, zOut) + return (*struct { + f func(*libc.TLS, uintptr, uintptr, int32, uintptr) int32 + })(unsafe.Pointer(&struct{ uintptr }{(*sqlite3_vfs)(unsafe.Pointer(((*sqlite3_vfs)(unsafe.Pointer(pVfs)).FpAppData))).FxFullPathname})).f(tls, (*sqlite3_vfs)(unsafe.Pointer(pVfs)).FpAppData, zPath, nOut, zOut) } func cksmDlOpen(tls *libc.TLS, pVfs uintptr, zPath uintptr) uintptr { /* cksumvfs.c:742:13: */ - return (*(*func(*libc.TLS, uintptr, uintptr) uintptr)(unsafe.Pointer(((*sqlite3_vfs)(unsafe.Pointer(pVfs)).FpAppData + 72 /* &.xDlOpen */))))(tls, (*sqlite3_vfs)(unsafe.Pointer(pVfs)).FpAppData, zPath) + return (*struct { + f func(*libc.TLS, uintptr, uintptr) uintptr + })(unsafe.Pointer(&struct{ uintptr }{(*sqlite3_vfs)(unsafe.Pointer(((*sqlite3_vfs)(unsafe.Pointer(pVfs)).FpAppData))).FxDlOpen})).f(tls, (*sqlite3_vfs)(unsafe.Pointer(pVfs)).FpAppData, zPath) } func cksmDlError(tls *libc.TLS, pVfs uintptr, nByte int32, zErrMsg uintptr) { /* cksumvfs.c:745:13: */ - (*(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(((*sqlite3_vfs)(unsafe.Pointer(pVfs)).FpAppData + 80 /* &.xDlError */))))(tls, (*sqlite3_vfs)(unsafe.Pointer(pVfs)).FpAppData, nByte, zErrMsg) + (*struct { + f func(*libc.TLS, uintptr, int32, uintptr) + })(unsafe.Pointer(&struct{ uintptr }{(*sqlite3_vfs)(unsafe.Pointer(((*sqlite3_vfs)(unsafe.Pointer(pVfs)).FpAppData))).FxDlError})).f(tls, (*sqlite3_vfs)(unsafe.Pointer(pVfs)).FpAppData, nByte, zErrMsg) } func cksmDlSym(tls *libc.TLS, pVfs uintptr, p uintptr, zSym uintptr) uintptr { /* cksumvfs.c:748:13: */ - return (*(*func(*libc.TLS, uintptr, uintptr, uintptr) uintptr)(unsafe.Pointer(((*sqlite3_vfs)(unsafe.Pointer(pVfs)).FpAppData + 88 /* &.xDlSym */))))(tls, (*sqlite3_vfs)(unsafe.Pointer(pVfs)).FpAppData, p, zSym) + return (*struct { + f func(*libc.TLS, uintptr, uintptr, uintptr) uintptr + })(unsafe.Pointer(&struct{ uintptr }{(*sqlite3_vfs)(unsafe.Pointer(((*sqlite3_vfs)(unsafe.Pointer(pVfs)).FpAppData))).FxDlSym})).f(tls, (*sqlite3_vfs)(unsafe.Pointer(pVfs)).FpAppData, p, zSym) } func cksmDlClose(tls *libc.TLS, pVfs uintptr, pHandle uintptr) { /* cksumvfs.c:751:13: */ - (*(*func(*libc.TLS, uintptr, uintptr))(unsafe.Pointer(((*sqlite3_vfs)(unsafe.Pointer(pVfs)).FpAppData + 96 /* &.xDlClose */))))(tls, (*sqlite3_vfs)(unsafe.Pointer(pVfs)).FpAppData, pHandle) + (*struct { + f func(*libc.TLS, uintptr, uintptr) + })(unsafe.Pointer(&struct{ uintptr }{(*sqlite3_vfs)(unsafe.Pointer(((*sqlite3_vfs)(unsafe.Pointer(pVfs)).FpAppData))).FxDlClose})).f(tls, (*sqlite3_vfs)(unsafe.Pointer(pVfs)).FpAppData, pHandle) } func cksmRandomness(tls *libc.TLS, pVfs uintptr, nByte int32, zBufOut uintptr) int32 { /* cksumvfs.c:754:12: */ - return (*(*func(*libc.TLS, uintptr, int32, uintptr) int32)(unsafe.Pointer(((*sqlite3_vfs)(unsafe.Pointer(pVfs)).FpAppData + 104 /* &.xRandomness */))))(tls, (*sqlite3_vfs)(unsafe.Pointer(pVfs)).FpAppData, nByte, zBufOut) + return (*struct { + f func(*libc.TLS, uintptr, int32, uintptr) int32 + })(unsafe.Pointer(&struct{ uintptr }{(*sqlite3_vfs)(unsafe.Pointer(((*sqlite3_vfs)(unsafe.Pointer(pVfs)).FpAppData))).FxRandomness})).f(tls, (*sqlite3_vfs)(unsafe.Pointer(pVfs)).FpAppData, nByte, zBufOut) } func cksmSleep(tls *libc.TLS, pVfs uintptr, nMicro int32) int32 { /* cksumvfs.c:757:12: */ - return (*(*func(*libc.TLS, uintptr, int32) int32)(unsafe.Pointer(((*sqlite3_vfs)(unsafe.Pointer(pVfs)).FpAppData + 112 /* &.xSleep */))))(tls, (*sqlite3_vfs)(unsafe.Pointer(pVfs)).FpAppData, nMicro) + return (*struct { + f func(*libc.TLS, uintptr, int32) int32 + })(unsafe.Pointer(&struct{ uintptr }{(*sqlite3_vfs)(unsafe.Pointer(((*sqlite3_vfs)(unsafe.Pointer(pVfs)).FpAppData))).FxSleep})).f(tls, (*sqlite3_vfs)(unsafe.Pointer(pVfs)).FpAppData, nMicro) } func cksmCurrentTime(tls *libc.TLS, pVfs uintptr, pTimeOut uintptr) int32 { /* cksumvfs.c:760:12: */ - return (*(*func(*libc.TLS, uintptr, uintptr) int32)(unsafe.Pointer(((*sqlite3_vfs)(unsafe.Pointer(pVfs)).FpAppData + 120 /* &.xCurrentTime */))))(tls, (*sqlite3_vfs)(unsafe.Pointer(pVfs)).FpAppData, pTimeOut) + return (*struct { + f func(*libc.TLS, uintptr, uintptr) int32 + })(unsafe.Pointer(&struct{ uintptr }{(*sqlite3_vfs)(unsafe.Pointer(((*sqlite3_vfs)(unsafe.Pointer(pVfs)).FpAppData))).FxCurrentTime})).f(tls, (*sqlite3_vfs)(unsafe.Pointer(pVfs)).FpAppData, pTimeOut) } func cksmGetLastError(tls *libc.TLS, pVfs uintptr, a int32, b uintptr) int32 { /* cksumvfs.c:763:12: */ - return (*(*func(*libc.TLS, uintptr, int32, uintptr) int32)(unsafe.Pointer(((*sqlite3_vfs)(unsafe.Pointer(pVfs)).FpAppData + 128 /* &.xGetLastError */))))(tls, (*sqlite3_vfs)(unsafe.Pointer(pVfs)).FpAppData, a, b) + return (*struct { + f func(*libc.TLS, uintptr, int32, uintptr) int32 + })(unsafe.Pointer(&struct{ uintptr }{(*sqlite3_vfs)(unsafe.Pointer(((*sqlite3_vfs)(unsafe.Pointer(pVfs)).FpAppData))).FxGetLastError})).f(tls, (*sqlite3_vfs)(unsafe.Pointer(pVfs)).FpAppData, a, b) } func cksmCurrentTimeInt64(tls *libc.TLS, pVfs uintptr, p uintptr) int32 { /* cksumvfs.c:766:12: */ @@ -16251,26 +16765,36 @@ func cksmCurrentTimeInt64(tls *libc.TLS, pVfs uintptr, p uintptr) int32 { /* cks var rc int32 if (*sqlite3_vfs)(unsafe.Pointer(pOrig)).FxCurrentTimeInt64 != 0 { - rc = (*(*func(*libc.TLS, uintptr, uintptr) int32)(unsafe.Pointer((pOrig + 136 /* &.xCurrentTimeInt64 */))))(tls, pOrig, p) + rc = (*struct { + f func(*libc.TLS, uintptr, uintptr) int32 + })(unsafe.Pointer(&struct{ uintptr }{(*sqlite3_vfs)(unsafe.Pointer(pOrig)).FxCurrentTimeInt64})).f(tls, pOrig, p) } else { // var r float64 at bp, 8 - rc = (*(*func(*libc.TLS, uintptr, uintptr) int32)(unsafe.Pointer((pOrig + 120 /* &.xCurrentTime */))))(tls, pOrig, bp /* &r */) - *(*sqlite3_int64)(unsafe.Pointer(p)) = (sqlite3_int64(*(*float64)(unsafe.Pointer(bp /* r */)) * 86400000.0)) + rc = (*struct { + f func(*libc.TLS, uintptr, uintptr) int32 + })(unsafe.Pointer(&struct{ uintptr }{(*sqlite3_vfs)(unsafe.Pointer(pOrig)).FxCurrentTime})).f(tls, pOrig, bp /* &r */) + *(*sqlite3_int64)(unsafe.Pointer(p)) = (libc.Int64FromFloat64(*(*float64)(unsafe.Pointer(bp /* r */)) * 86400000.0)) } return rc } func cksmSetSystemCall(tls *libc.TLS, pVfs uintptr, zName uintptr, pCall sqlite3_syscall_ptr) int32 { /* cksumvfs.c:779:12: */ - return (*(*func(*libc.TLS, uintptr, uintptr, sqlite3_syscall_ptr) int32)(unsafe.Pointer(((*sqlite3_vfs)(unsafe.Pointer(pVfs)).FpAppData + 144 /* &.xSetSystemCall */))))(tls, (*sqlite3_vfs)(unsafe.Pointer(pVfs)).FpAppData, zName, pCall) + return (*struct { + f func(*libc.TLS, uintptr, uintptr, sqlite3_syscall_ptr) int32 + })(unsafe.Pointer(&struct{ uintptr }{(*sqlite3_vfs)(unsafe.Pointer(((*sqlite3_vfs)(unsafe.Pointer(pVfs)).FpAppData))).FxSetSystemCall})).f(tls, (*sqlite3_vfs)(unsafe.Pointer(pVfs)).FpAppData, zName, pCall) } func cksmGetSystemCall(tls *libc.TLS, pVfs uintptr, zName uintptr) sqlite3_syscall_ptr { /* cksumvfs.c:786:28: */ - return (*(*func(*libc.TLS, uintptr, uintptr) sqlite3_syscall_ptr)(unsafe.Pointer(((*sqlite3_vfs)(unsafe.Pointer(pVfs)).FpAppData + 152 /* &.xGetSystemCall */))))(tls, (*sqlite3_vfs)(unsafe.Pointer(pVfs)).FpAppData, zName) + return (*struct { + f func(*libc.TLS, uintptr, uintptr) sqlite3_syscall_ptr + })(unsafe.Pointer(&struct{ uintptr }{(*sqlite3_vfs)(unsafe.Pointer(((*sqlite3_vfs)(unsafe.Pointer(pVfs)).FpAppData))).FxGetSystemCall})).f(tls, (*sqlite3_vfs)(unsafe.Pointer(pVfs)).FpAppData, zName) } func cksmNextSystemCall(tls *libc.TLS, pVfs uintptr, zName uintptr) uintptr { /* cksumvfs.c:792:19: */ - return (*(*func(*libc.TLS, uintptr, uintptr) uintptr)(unsafe.Pointer(((*sqlite3_vfs)(unsafe.Pointer(pVfs)).FpAppData + 160 /* &.xNextSystemCall */))))(tls, (*sqlite3_vfs)(unsafe.Pointer(pVfs)).FpAppData, zName) + return (*struct { + f func(*libc.TLS, uintptr, uintptr) uintptr + })(unsafe.Pointer(&struct{ uintptr }{(*sqlite3_vfs)(unsafe.Pointer(((*sqlite3_vfs)(unsafe.Pointer(pVfs)).FpAppData))).FxNextSystemCall})).f(tls, (*sqlite3_vfs)(unsafe.Pointer(pVfs)).FpAppData, zName) } // Register the verify_checksum() SQL function. @@ -16339,7 +16863,7 @@ type closure_vtab1 = struct { FzParentColumn uintptr Fdb uintptr FnCursor int32 - _ [4]byte + F__ccgo_pad1 [4]byte } /* closure.c:156:9 */ // Forward declaration of objects used by this implementation @@ -16364,14 +16888,14 @@ type closure_queue = closure_queue1 /* closure.c:158:30 */ type closure_avl1 = struct { Fid sqlite3_int64 FiGeneration int32 - _ [4]byte + F__ccgo_pad1 [4]byte FpList uintptr FpBefore uintptr FpAfter uintptr FpUp uintptr Fheight int16 Fimbalance int16 - _ [4]byte + F__ccgo_pad2 [4]byte } /* closure.c:157:9 */ type closure_avl = closure_avl1 /* closure.c:159:28 */ @@ -16563,7 +17087,7 @@ func closureAvlDestroy(tls *libc.TLS, p uintptr, xDestroy uintptr) { /* closure. if p != 0 { closureAvlDestroy(tls, (*closure_avl)(unsafe.Pointer(p)).FpBefore, xDestroy) closureAvlDestroy(tls, (*closure_avl)(unsafe.Pointer(p)).FpAfter, xDestroy) - (*(*func(*libc.TLS, uintptr))(unsafe.Pointer(&xDestroy)))(tls, p) + (*struct{ f func(*libc.TLS, uintptr) })(unsafe.Pointer(&struct{ uintptr }{xDestroy})).f(tls, p) } } @@ -17209,18 +17733,18 @@ func sqlite3_closure_init(tls *libc.TLS, db uintptr, pzErrMsg uintptr, pApi uint // A context object used when read a CSV file. type CsvReader1 = struct { - Fin uintptr - Fz uintptr - Fn int32 - FnAlloc int32 - FnLine int32 - FbNotFirst int32 - FcTerm int32 - _ [4]byte - FiIn size_t - FnIn size_t - FzIn uintptr - FzErr [200]int8 + Fin uintptr + Fz uintptr + Fn int32 + FnAlloc int32 + FnLine int32 + FbNotFirst int32 + FcTerm int32 + F__ccgo_pad1 [4]byte + FiIn size_t + FnIn size_t + FzIn uintptr + FzErr [200]int8 } /* csv.c:73:9 */ // A macro to hint to the compiler that a function should not be @@ -17260,7 +17784,7 @@ func csv_reader_reset(tls *libc.TLS, p uintptr) { /* csv.c:102:13: */ func csv_errmsg(tls *libc.TLS, p uintptr, zFormat uintptr, va uintptr) { /* csv.c:112:13: */ var ap va_list _ = ap - ap = va + (ap) = va sqlite3.Xsqlite3_vsnprintf(tls, CSV_MXERR, p+64 /* &.zErr */, zFormat, ap) _ = ap } @@ -18229,14 +18753,14 @@ func sqlite3_csv_init(tls *libc.TLS, db uintptr, pzErrMsg uintptr, pApi uintptr) // A decimal object type Decimal1 = struct { - Fsign int8 - Foom int8 - FisNull int8 - FisInit int8 - FnDigit int32 - FnFrac int32 - _ [4]byte - Fa uintptr + Fsign int8 + Foom int8 + FisNull int8 + FisInit int8 + FnDigit int32 + FnFrac int32 + F__ccgo_pad1 [4]byte + Fa uintptr } /* decimal.c:32:9 */ // Mark a function parameter as unused, to suppress nuisance compiler @@ -18993,10 +19517,10 @@ func sqlite3_decimal_init(tls *libc.TLS, db uintptr, pzErrMsg uintptr, pApi uint _ = pApi for i = uint32(0); (uint64(i) < (uint64(unsafe.Sizeof(aFunc)) / uint64(unsafe.Sizeof(struct { - FzFuncName uintptr - FnArg int32 - _ [4]byte - FxFunc uintptr + FzFuncName uintptr + FnArg int32 + F__ccgo_pad1 [4]byte + FxFunc uintptr }{})))) && (rc == SQLITE_OK); i++ { rc = sqlite3.Xsqlite3_create_function(tls, db, aFunc[i].FzFuncName, aFunc[i].FnArg, ((SQLITE_UTF8 | SQLITE_INNOCUOUS) | SQLITE_DETERMINISTIC), @@ -19022,10 +19546,10 @@ func sqlite3_decimal_init(tls *libc.TLS, db uintptr, pzErrMsg uintptr, pApi uint } var aFunc = [5]struct { - FzFuncName uintptr - FnArg int32 - _ [4]byte - FxFunc uintptr + FzFuncName uintptr + FnArg int32 + F__ccgo_pad1 [4]byte + FxFunc uintptr }{ {FzFuncName: ts + 4699 /* "decimal" */, FnArg: 1, FxFunc: 0}, {FzFuncName: ts + 4707 /* "decimal_cmp" */, FnArg: 2, FxFunc: 0}, @@ -19036,12 +19560,12 @@ var aFunc = [5]struct { // Structure used to accumulate the output type EvalResult = struct { - Fz uintptr - FzSep uintptr - FszSep int32 - _ [4]byte - FnAlloc sqlite3_int64 - FnUsed sqlite3_int64 + Fz uintptr + FzSep uintptr + FszSep int32 + F__ccgo_pad1 [4]byte + FnAlloc sqlite3_int64 + FnUsed sqlite3_int64 } /* eval.c:23:1 */ // Callback from sqlite_exec() for the eval() function. @@ -19164,12 +19688,12 @@ type explain_vtab = explain_vtab1 /* explain.c:38:29 */ // serve as the underlying representation of a cursor that scans // over rows of the result from an EXPLAIN operation. type explain_cursor1 = struct { - Fbase sqlite3_vtab_cursor - Fdb uintptr - FzSql uintptr - FpExplain uintptr - Frc int32 - _ [4]byte + Fbase sqlite3_vtab_cursor + Fdb uintptr + FzSql uintptr + FpExplain uintptr + Frc int32 + F__ccgo_pad1 [4]byte } /* explain.c:48:9 */ // explain_cursor is a subclass of sqlite3_vtab_cursor which will @@ -19479,15 +20003,6 @@ func sqlite3_explain_init(tls *libc.TLS, db uintptr, pzErrMsg uintptr, pApi uint // _LARGEFILE_SOURCE Large File Support // -// DO NOT EDIT THIS FILE. -// -// It has been auto-edited by fixincludes from: -// -// "/usr/include/sys/types.h" -// -// This had to be done to correct non-standard usages in the -// original, manufacturer supplied header file. - // $NetBSD: types.h,v 1.102 2018/11/06 16:26:44 maya Exp $ // - @@ -19622,15 +20137,6 @@ func sqlite3_explain_init(tls *libc.TLS, db uintptr, pzErrMsg uintptr, pApi uint // _LARGEFILE_SOURCE Large File Support // -// DO NOT EDIT THIS FILE. -// -// It has been auto-edited by fixincludes from: -// -// "/usr/include/sys/types.h" -// -// This had to be done to correct non-standard usages in the -// original, manufacturer supplied header file. - // $NetBSD: types.h,v 1.102 2018/11/06 16:26:44 maya Exp $ // - @@ -19671,9 +20177,9 @@ func sqlite3_explain_init(tls *libc.TLS, db uintptr, pzErrMsg uintptr, pApi uint // Structure returned by gettimeofday(2) system call, // and used in other calls. type timeval = struct { - Ftv_sec time_t - Ftv_usec suseconds_t - _ [4]byte + Ftv_sec time_t + Ftv_usec suseconds_t + F__ccgo_pad1 [4]byte } /* time.h:44:1 */ // $NetBSD: timespec.h,v 1.1 2015/07/31 12:51:32 kamil Exp $ @@ -19770,14 +20276,14 @@ type bintime = struct { type itimerval = struct { Fit_interval struct { - Ftv_sec time_t - Ftv_usec suseconds_t - _ [4]byte + Ftv_sec time_t + Ftv_usec suseconds_t + F__ccgo_pad1 [4]byte } Fit_value struct { - Ftv_sec time_t - Ftv_usec suseconds_t - _ [4]byte + Ftv_sec time_t + Ftv_usec suseconds_t + F__ccgo_pad1 [4]byte } } /* time.h:280:1 */ @@ -20119,10 +20625,10 @@ type sigset_t = struct{ F__bits [4]uint32 } /* sigtypes.h:62:3 */ // Macro for manipulating signal masks. type sigaltstack = struct { - Fss_sp uintptr - Fss_size size_t - Fss_flags int32 - _ [4]byte + Fss_sp uintptr + Fss_size size_t + Fss_flags int32 + F__ccgo_pad1 [4]byte } /* sigtypes.h:108:9 */ // Macro for manipulating signal masks. @@ -20296,18 +20802,18 @@ type stack_t = sigaltstack /* sigtypes.h:116:3 */ // Public domain. type tm = struct { - Ftm_sec int32 - Ftm_min int32 - Ftm_hour int32 - Ftm_mday int32 - Ftm_mon int32 - Ftm_year int32 - Ftm_wday int32 - Ftm_yday int32 - Ftm_isdst int32 - _ [4]byte - Ftm_gmtoff int64 - Ftm_zone uintptr + Ftm_sec int32 + Ftm_min int32 + Ftm_hour int32 + Ftm_mday int32 + Ftm_mon int32 + Ftm_year int32 + Ftm_wday int32 + Ftm_yday int32 + Ftm_isdst int32 + F__ccgo_pad1 [4]byte + Ftm_gmtoff int64 + Ftm_zone uintptr } /* time.h:75:1 */ // ISO/IEC 9899:201x 7.27.1/3 Components of time @@ -20380,9 +20886,9 @@ type sigevent = struct { Fsigev_notify int32 Fsigev_signo int32 Fsigev_value struct { - _ [0]uint64 - Fsival_int int32 - _ [4]byte + F__ccgo_pad1 [0]uint64 + Fsival_int int32 + F__ccgo_pad2 [4]byte } Fsigev_notify_function uintptr Fsigev_notify_attributes uintptr @@ -20527,15 +21033,6 @@ type timezone_t = uintptr /* time.h:198:24 */ // _LARGEFILE_SOURCE Large File Support // -// DO NOT EDIT THIS FILE. -// -// It has been auto-edited by fixincludes from: -// -// "/usr/include/sys/types.h" -// -// This had to be done to correct non-standard usages in the -// original, manufacturer supplied header file. - // $NetBSD: types.h,v 1.102 2018/11/06 16:26:44 maya Exp $ // - @@ -20712,15 +21209,6 @@ type flock = struct { // _LARGEFILE_SOURCE Large File Support // -// DO NOT EDIT THIS FILE. -// -// It has been auto-edited by fixincludes from: -// -// "/usr/include/sys/types.h" -// -// This had to be done to correct non-standard usages in the -// original, manufacturer supplied header file. - // $NetBSD: types.h,v 1.102 2018/11/06 16:26:44 maya Exp $ // - @@ -20894,12 +21382,12 @@ type flock = struct { // _DIRENT_ALIGN() byte boundary with null bytes. All names are guaranteed // NUL terminated. The maximum length of a name in a directory is MAXNAMLEN. type dirent = struct { - Fd_fileno ino_t - Fd_reclen uint16_t - Fd_namlen uint16_t - Fd_type uint8_t - Fd_name [512]int8 - _ [3]byte + Fd_fileno ino_t + Fd_reclen uint16_t + Fd_namlen uint16_t + Fd_type uint8_t + Fd_name [512]int8 + F__ccgo_pad1 [3]byte } /* dirent.h:50:1 */ // File types @@ -20927,16 +21415,16 @@ type dirent = struct { type _dirdesc = struct { Fdd_fd int32 - _ [4]byte + F__ccgo_pad1 [4]byte Fdd_loc int64 Fdd_size int64 Fdd_buf uintptr Fdd_len int32 - _ [4]byte + F__ccgo_pad2 [4]byte Fdd_seek int64 Fdd_internal uintptr Fdd_flags int32 - _ [4]byte + F__ccgo_pad3 [4]byte Fdd_lock uintptr } /* dirent.h:50:9 */ @@ -21038,7 +21526,7 @@ func ctxErrorMsg(tls *libc.TLS, ctx uintptr, zFmt uintptr, va uintptr) { /* file var zMsg uintptr = uintptr(0) var ap va_list _ = ap - ap = va + (ap) = va zMsg = sqlite3.Xsqlite3_vmprintf(tls, zFmt, ap) sqlite3.Xsqlite3_result_error(tls, ctx, zMsg, -1) sqlite3.Xsqlite3_free(tls, zMsg) @@ -21278,24 +21766,24 @@ func lsModeFunc(tls *libc.TLS, context uintptr, argc int32, argv uintptr) { /* f // Cursor type for recursively iterating through a directory structure. type fsdir_cursor1 = struct { - Fbase sqlite3_vtab_cursor - FnLvl int32 - FiLvl int32 - FaLvl uintptr - FzBase uintptr - FnBase int32 - _ [4]byte - FsStat struct { - Fst_dev dev_t - Fst_mode uint32 - _ [4]byte - Fst_ino ino_t - Fst_nlink nlink_t - Fst_uid uint32 - Fst_gid uint32 - _ [4]byte - Fst_rdev dev_t - Fst_atim struct { + Fbase sqlite3_vtab_cursor + FnLvl int32 + FiLvl int32 + FaLvl uintptr + FzBase uintptr + FnBase int32 + F__ccgo_pad1 [4]byte + FsStat struct { + Fst_dev dev_t + Fst_mode uint32 + F__ccgo_pad1 [4]byte + Fst_ino ino_t + Fst_nlink nlink_t + Fst_uid uint32 + Fst_gid uint32 + F__ccgo_pad2 [4]byte + Fst_rdev dev_t + Fst_atim struct { Ftv_sec time_t Ftv_nsec int64 } @@ -21311,13 +21799,13 @@ type fsdir_cursor1 = struct { Ftv_sec time_t Ftv_nsec int64 } - Fst_size int64 - Fst_blocks blkcnt_t - Fst_blksize blksize_t - Fst_flags uint32_t - Fst_gen uint32_t - Fst_spare [2]uint32_t - _ [4]byte + Fst_size int64 + Fst_blocks blkcnt_t + Fst_blksize blksize_t + Fst_flags uint32_t + Fst_gen uint32_t + Fst_spare [2]uint32_t + F__ccgo_pad3 [4]byte } FzPath uintptr FiRowid sqlite3_int64 @@ -21413,7 +21901,7 @@ func fsdirClose(tls *libc.TLS, cur uintptr) int32 { /* fileio.c:643:12: */ func fsdirSetErrmsg(tls *libc.TLS, pCur uintptr, zFmt uintptr, va uintptr) { /* fileio.c:655:13: */ var ap va_list _ = ap - ap = va + (ap) = va (*sqlite3_vtab)(unsafe.Pointer((*fsdir_cursor)(unsafe.Pointer(pCur)).Fbase.FpVtab)).FzErrMsg = sqlite3.Xsqlite3_vmprintf(tls, zFmt, ap) _ = ap } @@ -21767,58 +22255,58 @@ func sqlite3_fileio_init(tls *libc.TLS, db uintptr, pzErrMsg uintptr, pApi uintp // Forward declaration of objects used by this implementation type fuzzer_vtab1 = struct { - Fbase sqlite3_vtab - FzClassName uintptr - FpRule uintptr - FnCursor int32 - _ [4]byte + Fbase sqlite3_vtab + FzClassName uintptr + FpRule uintptr + FnCursor int32 + F__ccgo_pad1 [4]byte } /* fuzzer.c:162:9 */ // Forward declaration of objects used by this implementation type fuzzer_vtab = fuzzer_vtab1 /* fuzzer.c:162:28 */ type fuzzer_cursor1 = struct { - Fbase sqlite3_vtab_cursor - FiRowid sqlite3_int64 - FpVtab uintptr - FrLimit fuzzer_cost - _ [4]byte - FpStem uintptr - FpDone uintptr - FaQueue [20]uintptr - FmxQueue int32 - _ [4]byte - FzBuf uintptr - FnBuf int32 - FnStem int32 - FiRuleset int32 - _ [4]byte - FnullRule fuzzer_rule - FapHash [4001]uintptr + Fbase sqlite3_vtab_cursor + FiRowid sqlite3_int64 + FpVtab uintptr + FrLimit fuzzer_cost + F__ccgo_pad1 [4]byte + FpStem uintptr + FpDone uintptr + FaQueue [20]uintptr + FmxQueue int32 + F__ccgo_pad2 [4]byte + FzBuf uintptr + FnBuf int32 + FnStem int32 + FiRuleset int32 + F__ccgo_pad3 [4]byte + FnullRule fuzzer_rule + FapHash [4001]uintptr } /* fuzzer.c:163:9 */ type fuzzer_cursor = fuzzer_cursor1 /* fuzzer.c:163:30 */ type fuzzer_rule1 = struct { - FpNext uintptr - FzFrom uintptr - FrCost fuzzer_cost - FnFrom fuzzer_len - FnTo fuzzer_len - _ [2]byte - FiRuleset fuzzer_ruleid - FzTo [4]int8 + FpNext uintptr + FzFrom uintptr + FrCost fuzzer_cost + FnFrom fuzzer_len + FnTo fuzzer_len + F__ccgo_pad1 [2]byte + FiRuleset fuzzer_ruleid + FzTo [4]int8 } /* fuzzer.c:162:9 */ type fuzzer_rule = fuzzer_rule1 /* fuzzer.c:164:28 */ type fuzzer_stem1 = struct { - FzBasis uintptr - FpRule uintptr - FpNext uintptr - FpHash uintptr - FrBaseCost fuzzer_cost - FrCostX fuzzer_cost - FnBasis fuzzer_len - Fn fuzzer_len - _ [6]byte + FzBasis uintptr + FpRule uintptr + FpNext uintptr + FpHash uintptr + FrBaseCost fuzzer_cost + FrCostX fuzzer_cost + FnBasis fuzzer_len + Fn fuzzer_len + F__ccgo_pad1 [6]byte } /* fuzzer.c:163:9 */ type fuzzer_stem = fuzzer_stem1 /* fuzzer.c:166:28 */ @@ -23000,7 +23488,9 @@ func sqlite3_mmap_warm(tls *libc.TLS, db uintptr, zDb uintptr) int32 { /* mmapwa for 1 != 0 { // var pMap uintptr at bp+80, 8 - rc = (*(*func(*libc.TLS, uintptr, sqlite3_int64, int32, uintptr) int32)(unsafe.Pointer((p + 136 /* &.xFetch */))))(tls, *(*uintptr)(unsafe.Pointer(bp + 72 /* pFd */)), (sqlite3_int64(pgsz) * iPg), pgsz, bp+80 /* &pMap */) + rc = (*struct { + f func(*libc.TLS, uintptr, sqlite3_int64, int32, uintptr) int32 + })(unsafe.Pointer(&struct{ uintptr }{(*sqlite3_io_methods)(unsafe.Pointer(p)).FxFetch})).f(tls, *(*uintptr)(unsafe.Pointer(bp + 72 /* pFd */)), (sqlite3_int64(pgsz) * iPg), pgsz, bp+80 /* &pMap */) if (rc != SQLITE_OK) || (*(*uintptr)(unsafe.Pointer(bp + 80 /* pMap */)) == uintptr(0)) { break } @@ -23008,7 +23498,9 @@ func sqlite3_mmap_warm(tls *libc.TLS, db uintptr, zDb uintptr) int32 { /* mmapwa nTotal = nTotal + (int32(*(*uint8)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp + 80 /* pMap */)))))) nTotal = nTotal + (int32(*(*uint8)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp + 80 /* pMap */)) + uintptr((pgsz - 1)))))) - rc = (*(*func(*libc.TLS, uintptr, sqlite3_int64, uintptr) int32)(unsafe.Pointer((p + 144 /* &.xUnfetch */))))(tls, *(*uintptr)(unsafe.Pointer(bp + 72 /* pFd */)), (sqlite3_int64(pgsz) * iPg), *(*uintptr)(unsafe.Pointer(bp + 80 /* pMap */))) + rc = (*struct { + f func(*libc.TLS, uintptr, sqlite3_int64, uintptr) int32 + })(unsafe.Pointer(&struct{ uintptr }{(*sqlite3_io_methods)(unsafe.Pointer(p)).FxUnfetch})).f(tls, *(*uintptr)(unsafe.Pointer(bp + 72 /* pFd */)), (sqlite3_int64(pgsz) * iPg), *(*uintptr)(unsafe.Pointer(bp + 80 /* pMap */))) if rc != SQLITE_OK { break } @@ -23042,7 +23534,7 @@ type nextCharContext1 = struct { FnPrefix int32 FnAlloc int32 FnUsed int32 - _ [4]byte + F__ccgo_pad1 [4]byte FaResult uintptr FmallocFailed int32 FotherError int32 @@ -24097,11 +24589,11 @@ type prefixes_vtab = prefixes_vtab1 /* prefixes.c:33:30 */ // serve as the underlying representation of a cursor that scans // over rows of the result type prefixes_cursor1 = struct { - Fbase sqlite3_vtab_cursor - FiRowid sqlite3_int64 - FzStr uintptr - FnStr int32 - _ [4]byte + Fbase sqlite3_vtab_cursor + FiRowid sqlite3_int64 + FzStr uintptr + FnStr int32 + F__ccgo_pad1 [4]byte } /* prefixes.c:43:9 */ // prefixes_cursor is a subclass of sqlite3_vtab_cursor which will @@ -24380,9 +24872,9 @@ type ReStateNumber = uint16 /* regexp.c:98:24 */ // the NFA. The implementation is optimized for the common case where the // number of actives states is small. type ReStateSet1 = struct { - FnState uint32 - _ [4]byte - FaState uintptr + FnState uint32 + F__ccgo_pad1 [4]byte + FaState uintptr } /* regexp.c:105:9 */ // Because this is an NFA and not a DFA, multiple states can be active at @@ -24581,7 +25073,9 @@ __8: goto __9 } cPrev = c - c = int32((*(*func(*libc.TLS, uintptr) uint32)(unsafe.Pointer((pRe + 40 /* &.xNextChar */))))(tls, bp+232 /* &in */)) + c = int32((*struct { + f func(*libc.TLS, uintptr) uint32 + })(unsafe.Pointer(&struct{ uintptr }{(*ReCompiled)(unsafe.Pointer(pRe)).FxNextChar})).f(tls, bp+232 /* &in */)) pThis = pNext pNext = (bp /* &aStateSet */ + uintptr(iSwap)*16) iSwap = (uint32(1) - iSwap) @@ -24981,7 +25475,9 @@ func re_subcompile_string(tls *libc.TLS, p uintptr) uintptr { /* regexp.c:477:19 var iStart int32 var c uint32 var zErr uintptr - for (libc.AssignUint32(&c, (*(*func(*libc.TLS, uintptr) uint32)(unsafe.Pointer((p + 40 /* &.xNextChar */))))(tls, (p /* &.sIn */)))) != uint32(0) { + for (libc.AssignUint32(&c, (*struct { + f func(*libc.TLS, uintptr) uint32 + })(unsafe.Pointer(&struct{ uintptr }{(*ReCompiled)(unsafe.Pointer(p)).FxNextChar})).f(tls, (p /* &.sIn */)))) != uint32(0) { iStart = int32((*ReCompiled)(unsafe.Pointer(p)).FnState) switch c { case uint32('|'): @@ -25106,7 +25602,9 @@ func re_subcompile_string(tls *libc.TLS, p uintptr) uintptr { /* regexp.c:477:19 } else { re_append(tls, p, RE_OP_CC_INC, 0) } - for (libc.AssignUint32(&c, (*(*func(*libc.TLS, uintptr) uint32)(unsafe.Pointer((p + 40 /* &.xNextChar */))))(tls, (p /* &.sIn */)))) != uint32(0) { + for (libc.AssignUint32(&c, (*struct { + f func(*libc.TLS, uintptr) uint32 + })(unsafe.Pointer(&struct{ uintptr }{(*ReCompiled)(unsafe.Pointer(p)).FxNextChar})).f(tls, (p /* &.sIn */)))) != uint32(0) { if (c == uint32('[')) && (int32(rePeek(tls, p)) == ':') { return ts + 6261 /* "POSIX character ..." */ } @@ -25116,7 +25614,9 @@ func re_subcompile_string(tls *libc.TLS, p uintptr) uintptr { /* regexp.c:477:19 if int32(rePeek(tls, p)) == '-' { re_append(tls, p, RE_OP_CC_RANGE, int32(c)) (*ReCompiled)(unsafe.Pointer(p)).FsIn.Fi++ - c = (*(*func(*libc.TLS, uintptr) uint32)(unsafe.Pointer((p + 40 /* &.xNextChar */))))(tls, (p /* &.sIn */)) + c = (*struct { + f func(*libc.TLS, uintptr) uint32 + })(unsafe.Pointer(&struct{ uintptr }{(*ReCompiled)(unsafe.Pointer(p)).FxNextChar})).f(tls, (p /* &.sIn */)) if c == uint32('\\') { c = re_esc_char(tls, p) } @@ -25383,14 +25883,14 @@ func sqlite3_remember_init(tls *libc.TLS, db uintptr, pzErrMsg uintptr, pApi uin // serve as the underlying representation of a cursor that scans // over rows of the result type series_cursor1 = struct { - Fbase sqlite3_vtab_cursor - FisDesc int32 - _ [4]byte - FiRowid sqlite3_int64 - FiValue sqlite3_int64 - FmnValue sqlite3_int64 - FmxValue sqlite3_int64 - FiStep sqlite3_int64 + Fbase sqlite3_vtab_cursor + FisDesc int32 + F__ccgo_pad1 [4]byte + FiRowid sqlite3_int64 + FiValue sqlite3_int64 + FmnValue sqlite3_int64 + FmxValue sqlite3_int64 + FiStep sqlite3_int64 } /* series.c:83:9 */ // series_cursor is a subclass of sqlite3_vtab_cursor which will @@ -26245,19 +26745,19 @@ type EditDist3Cost1 = struct { // Forward declaration of structures type EditDist3Cost = EditDist3Cost1 /* spellfix.c:546:30 */ type EditDist3Config1 = struct { - FnLang int32 - _ [4]byte - Fa uintptr + FnLang int32 + F__ccgo_pad1 [4]byte + Fa uintptr } /* spellfix.c:547:9 */ type EditDist3Config = EditDist3Config1 /* spellfix.c:547:32 */ type EditDist3From1 = struct { - FnSubst int32 - FnDel int32 - FnByte int32 - _ [4]byte - FapSubst uintptr - FapDel uintptr + FnSubst int32 + FnDel int32 + FnByte int32 + F__ccgo_pad1 [4]byte + FapSubst uintptr + FapDel uintptr } /* spellfix.c:549:9 */ type EditDist3From = EditDist3From1 /* spellfix.c:549:30 */ @@ -26277,10 +26777,10 @@ type EditDist3To1 = struct { type EditDist3To = EditDist3To1 /* spellfix.c:551:28 */ type EditDist3ToString1 = struct { - Fz uintptr - Fn int32 - _ [4]byte - Fa uintptr + Fz uintptr + Fn int32 + F__ccgo_pad1 [4]byte + Fa uintptr } /* spellfix.c:552:9 */ type EditDist3ToString = EditDist3ToString1 /* spellfix.c:552:34 */ @@ -27833,7 +28333,7 @@ func spellfix1DbExec(tls *libc.TLS, pRc uintptr, db uintptr, zFormat uintptr, va if *(*int32)(unsafe.Pointer(pRc)) != 0 { return } - ap = va + (ap) = va zSql = sqlite3.Xsqlite3_vmprintf(tls, zFormat, ap) _ = ap if zSql == uintptr(0) { @@ -28202,22 +28702,22 @@ func spellfix1RowCompare(tls *libc.TLS, A uintptr, B uintptr) int32 { /* spellfi // A structure used to pass information from spellfix1FilterForMatch() // into spellfix1RunQuery(). type MatchQuery1 = struct { - FpCur uintptr - FpStmt uintptr - FzHash [32]int8 - FzPattern uintptr - FnPattern int32 - _ [4]byte - FpMatchStr3 uintptr - FpConfig3 uintptr - FpLang uintptr - FiLang int32 - FiScope int32 - FiMaxDist int32 - Frc int32 - FnRun int32 - FazPrior [1][32]int8 - _ [4]byte + FpCur uintptr + FpStmt uintptr + FzHash [32]int8 + FzPattern uintptr + FnPattern int32 + F__ccgo_pad1 [4]byte + FpMatchStr3 uintptr + FpConfig3 uintptr + FpLang uintptr + FiLang int32 + FiScope int32 + FiMaxDist int32 + Frc int32 + FnRun int32 + FazPrior [1][32]int8 + F__ccgo_pad2 [4]byte } /* spellfix.c:2366:9 */ // A structure used to pass information from spellfix1FilterForMatch() @@ -29673,11 +30173,11 @@ func sqlite3_totype_init(tls *libc.TLS, db uintptr, pzErrMsg uintptr, pApi uintp // simultaneous queries. type UnionCsr1 = struct { - Fbase sqlite3_vtab_cursor - FpStmt uintptr - FiMaxRowid sqlite3_int64 - FiTab int32 - _ [4]byte + Fbase sqlite3_vtab_cursor + FpStmt uintptr + FiMaxRowid sqlite3_int64 + FiTab int32 + F__ccgo_pad1 [4]byte } /* unionvtab.c:181:9 */ // Largest and smallest possible 64-bit signed integers. These macros @@ -29697,10 +30197,10 @@ type UnionTab1 = struct { FbSwarm int32 FiPK int32 FnSrc int32 - _ [4]byte + F__ccgo_pad1 [4]byte FaSrc uintptr FbHasContext int32 - _ [4]byte + F__ccgo_pad2 [4]byte FzSourceStr uintptr FpNotFound uintptr FpOpenClose uintptr @@ -29718,7 +30218,7 @@ type UnionSrc1 = struct { FzFile uintptr FzContext uintptr FnUser int32 - _ [4]byte + F__ccgo_pad1 [4]byte Fdb uintptr FpNextClosable uintptr } /* unionvtab.c:182:9 */ @@ -29842,7 +30342,7 @@ func unionPreparePrintf(tls *libc.TLS, pRc uintptr, pzErr uintptr, db uintptr, z var zSql uintptr var ap va_list _ = ap - ap = va + (ap) = va zSql = sqlite3.Xsqlite3_vmprintf(tls, zFmt, ap) if *(*int32)(unsafe.Pointer(pRc)) == SQLITE_OK { @@ -31046,21 +31546,12 @@ func sqlite3_wholenumber_init(tls *libc.TLS, db uintptr, pzErrMsg uintptr, pApi return rc } -// The references to _GCC_PTRDIFF_T_, _GCC_SIZE_T_, and _GCC_WCHAR_T_ -// are probably typos and should be removed before 2.8 is released. -// The following ones are the real ones. +// $NetBSD: null.h,v 1.9 2010/07/06 11:56:20 kleink Exp $ -// A null pointer constant. +// Written by Klaus Klein , December 22, 1999. +// Public domain. -// Offset of member MEMBER in a struct of type TYPE. - -// Type whose alignment is supported in every context and is at least -// as great as that of any standard type not using alignment -// specifiers. -type max_align_t = struct { - F__max_align_ll int64 - F__max_align_ld float64 -} /* stddef.h:426:3 */ +type max_align_t = struct{ F_v uintptr } /* stddef.h:75:3 */ type z_size_t = size_t /* zconf.h:256:21 */ @@ -31105,41 +31596,6 @@ type voidpc = uintptr /* zconf.h:416:23 */ type voidpf = uintptr /* zconf.h:417:23 */ type voidp = uintptr /* zconf.h:418:23 */ -// Copyright (C) 1992-2020 Free Software Foundation, Inc. -// -// This file is part of GCC. -// -// GCC is free software; you can redistribute it and/or modify it under -// the terms of the GNU General Public License as published by the Free -// Software Foundation; either version 3, or (at your option) any later -// version. -// -// GCC 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 General Public License -// for more details. -// -// Under Section 7 of GPL version 3, you are granted additional -// permissions described in the GCC Runtime Library Exception, version -// 3.1, as published by the Free Software Foundation. -// -// You should have received a copy of the GNU General Public License and -// a copy of the GCC Runtime Library Exception along with this program; -// see the files COPYING3 and COPYING.RUNTIME respectively. If not, see -// . - -// This administrivia gets added to the beginning of limits.h -// if the system has its own version of limits.h. - -// We use _GCC_LIMITS_H_ because we want this not to match -// any macros that the system's limits.h uses for its own purposes. - -// Use "..." so that we find syslimits.h only in this same directory. -// syslimits.h stands for the system's own limits.h file. -// If we can use it ok unmodified, then we install this text. -// If fixincludes fixes it, then the fixed version is installed -// instead of this text. - // $NetBSD: limits.h,v 1.40 2016/08/04 06:43:43 christos Exp $ // Copyright (c) 1988, 1993 @@ -31447,74 +31903,8 @@ type voidp = uintptr /* zconf.h:418:23 */ // X/Open CAE Specification Issue 5 Version 2 -// Copyright (C) 1991-2020 Free Software Foundation, Inc. -// -// This file is part of GCC. -// -// GCC is free software; you can redistribute it and/or modify it under -// the terms of the GNU General Public License as published by the Free -// Software Foundation; either version 3, or (at your option) any later -// version. -// -// GCC 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 General Public License -// for more details. -// -// Under Section 7 of GPL version 3, you are granted additional -// permissions described in the GCC Runtime Library Exception, version -// 3.1, as published by the Free Software Foundation. -// -// You should have received a copy of the GNU General Public License and -// a copy of the GCC Runtime Library Exception along with this program; -// see the files COPYING3 and COPYING.RUNTIME respectively. If not, see -// . - -// Number of bits in a `char'. - -// Maximum length of a multibyte character. - -// Minimum and maximum values a `signed char' can hold. - -// Maximum value an `unsigned char' can hold. (Minimum is 0). - -// Minimum and maximum values a `char' can hold. - -// Minimum and maximum values a `signed short int' can hold. - -// Maximum value an `unsigned short int' can hold. (Minimum is 0). - -// Minimum and maximum values a `signed int' can hold. - -// Maximum value an `unsigned int' can hold. (Minimum is 0). - -// Minimum and maximum values a `signed long int' can hold. -// (Same as `int'). - -// Maximum value an `unsigned long int' can hold. (Minimum is 0). - -// Minimum and maximum values a `signed long long int' can hold. - -// Maximum value an `unsigned long long int' can hold. (Minimum is 0). - -// Minimum and maximum values a `signed long long int' can hold. - -// Maximum value an `unsigned long long int' can hold. (Minimum is 0). - -// This administrivia gets added to the end of limits.h -// if the system has its own version of limits.h. - type z_crc_t = uint32 /* zconf.h:441:17 */ -// DO NOT EDIT THIS FILE. -// -// It has been auto-edited by fixincludes from: -// -// "/usr/include/sys/types.h" -// -// This had to be done to correct non-standard usages in the -// original, manufacturer supplied header file. - // $NetBSD: types.h,v 1.102 2018/11/06 16:26:44 maya Exp $ // - @@ -31552,30 +31942,37 @@ type z_crc_t = uint32 /* zconf.h:441:17 */ // // @(#)types.h 8.4 (Berkeley) 1/21/94 -// Copyright (C) 1989-2020 Free Software Foundation, Inc. -// -// This file is part of GCC. -// -// GCC is free software; you can redistribute it and/or modify -// it under the terms of the GNU General Public License as published by -// the Free Software Foundation; either version 3, or (at your option) -// any later version. -// -// GCC 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 General Public License for more details. -// -// Under Section 7 of GPL version 3, you are granted additional -// permissions described in the GCC Runtime Library Exception, version -// 3.1, as published by the Free Software Foundation. -// -// You should have received a copy of the GNU General Public License and -// a copy of the GCC Runtime Library Exception along with this program; -// see the files COPYING3 and COPYING.RUNTIME respectively. If not, see -// . +// $NetBSD: stdarg.h,v 1.4.24.1 2020/04/02 19:17:04 martin Exp $ -// ISO C Standard: 7.15 Variable arguments +// - +// Copyright (c) 1991, 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. 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. +// +// @(#)stdarg.h 8.1 (Berkeley) 6/10/93 // a little trick to accommodate both "#define _LARGEFILE64_SOURCE" and // "#define _LARGEFILE64_SOURCE 1" as requesting 64-bit operations, (even @@ -31622,23 +32019,23 @@ type alloc_func = uintptr /* zlib.h:83:16 */ type free_func = uintptr /* zlib.h:84:16 */ type z_stream_s = struct { - Fnext_in uintptr - Favail_in uInt - _ [4]byte - Ftotal_in uLong - Fnext_out uintptr - Favail_out uInt - _ [4]byte - Ftotal_out uLong - Fmsg uintptr - Fstate uintptr - Fzalloc alloc_func - Fzfree free_func - Fopaque voidpf - Fdata_type int32 - _ [4]byte - Fadler uLong - Freserved uLong + Fnext_in uintptr + Favail_in uInt + F__ccgo_pad1 [4]byte + Ftotal_in uLong + Fnext_out uintptr + Favail_out uInt + F__ccgo_pad2 [4]byte + Ftotal_out uLong + Fmsg uintptr + Fstate uintptr + Fzalloc alloc_func + Fzfree free_func + Fopaque voidpf + Fdata_type int32 + F__ccgo_pad3 [4]byte + Fadler uLong + Freserved uLong } /* zlib.h:88:9 */ type z_stream = z_stream_s /* zlib.h:108:3 */ @@ -31649,22 +32046,22 @@ type z_streamp = uintptr /* zlib.h:110:22 */ // gzip header information passed to and from zlib routines. See RFC 1952 // for more details on the meanings of these fields. type gz_header_s = struct { - Ftext int32 - _ [4]byte - Ftime uLong - Fxflags int32 - Fos int32 - Fextra uintptr - Fextra_len uInt - Fextra_max uInt - Fname uintptr - Fname_max uInt - _ [4]byte - Fcomment uintptr - Fcomm_max uInt - Fhcrc int32 - Fdone int32 - _ [4]byte + Ftext int32 + F__ccgo_pad1 [4]byte + Ftime uLong + Fxflags int32 + Fos int32 + Fextra uintptr + Fextra_len uInt + Fextra_max uInt + Fname uintptr + Fname_max uInt + F__ccgo_pad2 [4]byte + Fcomment uintptr + Fcomm_max uInt + Fhcrc int32 + Fdone int32 + F__ccgo_pad3 [4]byte } /* zlib.h:116:9 */ // @@ -31747,10 +32144,10 @@ type out_func = uintptr /* zlib.h:1095:13 */ // wrapper, documented in RFC 1952, wrapped around a deflate stream. type gzFile_s = struct { - Fhave uint32 - _ [4]byte - Fnext uintptr - Fpos int64 + Fhave uint32 + F__ccgo_pad1 [4]byte + Fnext uintptr + Fpos int64 } /* zlib.h:1301:9 */ // @@ -31923,10 +32320,10 @@ type ZipfileCDS1 = struct { FnComment u16 FiDiskStart u16 FiInternalAttr u16 - _ [2]byte + F__ccgo_pad1 [2]byte FiExternalAttr u32 FiOffset u32 - _ [4]byte + F__ccgo_pad2 [4]byte FzFile uintptr } /* zipfile.c:200:9 */ @@ -31973,7 +32370,7 @@ type ZipfileLFH1 = struct { FiCompression u16 FmTime u16 FmDate u16 - _ [2]byte + F__ccgo_pad1 [2]byte Fcrc32 u32 FszCompressed u32 FszUncompressed u32 @@ -31998,30 +32395,30 @@ type ZipfileLFH1 = struct { type ZipfileLFH = ZipfileLFH1 /* zipfile.c:237:27 */ type ZipfileEntry1 = struct { - Fcds ZipfileCDS - FmUnixTime u32 - _ [4]byte - FaExtra uintptr - FiDataOff i64 - FaData uintptr - FpNext uintptr + Fcds ZipfileCDS + FmUnixTime u32 + F__ccgo_pad1 [4]byte + FaExtra uintptr + FiDataOff i64 + FaData uintptr + FpNext uintptr } /* zipfile.c:251:9 */ type ZipfileEntry = ZipfileEntry1 /* zipfile.c:251:29 */ // Cursor type for zipfile tables. type ZipfileCsr1 = struct { - Fbase sqlite3_vtab_cursor - FiId i64 - FbEof u8 - FbNoop u8 - _ [6]byte - FpFile uintptr - FiNextOff i64 - Feocd ZipfileEOCD - FpFreeEntry uintptr - FpCurrent uintptr - FpCsrNext uintptr + Fbase sqlite3_vtab_cursor + FiId i64 + FbEof u8 + FbNoop u8 + F__ccgo_pad1 [6]byte + FpFile uintptr + FiNextOff i64 + Feocd ZipfileEOCD + FpFreeEntry uintptr + FpCurrent uintptr + FpCsrNext uintptr } /* zipfile.c:264:9 */ // Cursor type for zipfile tables. @@ -32049,7 +32446,7 @@ func zipfileCtxErrorMsg(tls *libc.TLS, ctx uintptr, zFmt uintptr, va uintptr) { var zMsg uintptr = uintptr(0) var ap va_list _ = ap - ap = va + (ap) = va zMsg = sqlite3.Xsqlite3_vmprintf(tls, zFmt, ap) sqlite3.Xsqlite3_result_error(tls, ctx, zMsg, -1) sqlite3.Xsqlite3_free(tls, zMsg) @@ -32221,7 +32618,7 @@ func zipfileClose(tls *libc.TLS, cur uintptr) int32 { /* zipfile.c:475:12: */ func zipfileTableErr(tls *libc.TLS, pTab uintptr, zFmt uintptr, va uintptr) { /* zipfile.c:493:13: */ var ap va_list _ = ap - ap = va + (ap) = va sqlite3.Xsqlite3_free(tls, (*ZipfileTab)(unsafe.Pointer(pTab)).Fbase.FzErrMsg) (*ZipfileTab)(unsafe.Pointer(pTab)).Fbase.FzErrMsg = sqlite3.Xsqlite3_vmprintf(tls, zFmt, ap) _ = ap @@ -32230,7 +32627,7 @@ func zipfileTableErr(tls *libc.TLS, pTab uintptr, zFmt uintptr, va uintptr) { /* func zipfileCursorErr(tls *libc.TLS, pCsr uintptr, zFmt uintptr, va uintptr) { /* zipfile.c:500:13: */ var ap va_list _ = ap - ap = va + (ap) = va sqlite3.Xsqlite3_free(tls, (*sqlite3_vtab)(unsafe.Pointer((*ZipfileCsr)(unsafe.Pointer(pCsr)).Fbase.FpVtab)).FzErrMsg) (*sqlite3_vtab)(unsafe.Pointer((*ZipfileCsr)(unsafe.Pointer(pCsr)).Fbase.FpVtab)).FzErrMsg = sqlite3.Xsqlite3_vmprintf(tls, zFmt, ap) _ = ap @@ -32436,7 +32833,7 @@ func zipfileMtime(tls *libc.TLS, pCDS uintptr) u32 { /* zipfile.c:722:12: */ X2 = ((306001 * (M + 1)) / 10000) A = (Y / 100) B = ((2 - A) + (A / 4)) - JDsec = ((((i64(((float64(((X1 + X2) + D) + B)) - 1524.5) * float64(86400))) + (i64(hr * 3600))) + (i64(min * 60))) + i64(sec)) + JDsec = ((((libc.Int64FromFloat64(((float64(((X1 + X2) + D) + B)) - 1524.5) * float64(86400))) + (i64(hr * 3600))) + (i64(min * 60))) + i64(sec)) return (u32(JDsec - (int64(24405875) * int64(8640)))) } @@ -32458,14 +32855,14 @@ func zipfileMtimeToDos(tls *libc.TLS, pCds uintptr, mUnixTime u32) { /* zipfile. var min int32 var sec int32 - A = (int32((float64(JD) - 1867216.25) / 36524.25)) + A = (libc.Int32FromFloat64((float64(JD) - 1867216.25) / 36524.25)) A = (int32(((JD + int64(1)) + i64(A)) - (i64(A / 4)))) B = (A + 1524) - C = (int32((float64(B) - 122.1) / 365.25)) + C = (libc.Int32FromFloat64((float64(B) - 122.1) / 365.25)) D = ((36525 * (C & 32767)) / 100) - E = (int32((float64(B - D)) / 30.6001)) + E = (libc.Int32FromFloat64((float64(B - D)) / 30.6001)) - day = ((B - D) - (int32(30.6001 * float64(E)))) + day = ((B - D) - (libc.Int32FromFloat64(30.6001 * float64(E)))) mon = func() int32 { if E < 14 { return (E - 1) @@ -33313,13 +33710,17 @@ func zipfileTime(tls *libc.TLS) u32 { /* zipfile.c:1486:12: */ if ((*sqlite3_vfs)(unsafe.Pointer(pVfs)).FiVersion >= 2) && ((*sqlite3_vfs)(unsafe.Pointer(pVfs)).FxCurrentTimeInt64 != 0) { // var ms i64 at bp, 8 - (*(*func(*libc.TLS, uintptr, uintptr) int32)(unsafe.Pointer((pVfs + 136 /* &.xCurrentTimeInt64 */))))(tls, pVfs, bp /* &ms */) + (*struct { + f func(*libc.TLS, uintptr, uintptr) int32 + })(unsafe.Pointer(&struct{ uintptr }{(*sqlite3_vfs)(unsafe.Pointer(pVfs)).FxCurrentTimeInt64})).f(tls, pVfs, bp /* &ms */) ret = (u32((*(*i64)(unsafe.Pointer(bp /* ms */)) / int64(1000)) - (int64(24405875) * int64(8640)))) } else { // var day float64 at bp+8, 8 - (*(*func(*libc.TLS, uintptr, uintptr) int32)(unsafe.Pointer((pVfs + 120 /* &.xCurrentTime */))))(tls, pVfs, bp+8 /* &day */) - ret = (u32((*(*float64)(unsafe.Pointer(bp + 8 /* day */)) - 2440587.5) * float64(86400))) + (*struct { + f func(*libc.TLS, uintptr, uintptr) int32 + })(unsafe.Pointer(&struct{ uintptr }{(*sqlite3_vfs)(unsafe.Pointer(pVfs)).FxCurrentTime})).f(tls, pVfs, bp+8 /* &day */) + ret = (libc.Uint32FromFloat64((*(*float64)(unsafe.Pointer(bp + 8 /* day */)) - 2440587.5) * float64(86400))) } return ret } @@ -33972,10 +34373,10 @@ type ZipfileBuffer1 = struct { type ZipfileBuffer = ZipfileBuffer1 /* zipfile.c:1900:30 */ type ZipfileCtx1 = struct { - FnEntry int32 - _ [4]byte - Fbody ZipfileBuffer - Fcds ZipfileBuffer + FnEntry int32 + F__ccgo_pad1 [4]byte + Fbody ZipfileBuffer + Fcds ZipfileBuffer } /* zipfile.c:1907:9 */ type ZipfileCtx = ZipfileCtx1 /* zipfile.c:1907:27 */ @@ -34608,10 +35009,10 @@ func test_sqlite3rbu_cmd(tls *libc.TLS, clientData ClientData, interp uintptr, o } type RbuCmd = struct { - FzName uintptr - FnArg int32 - _ [4]byte - FzUsage uintptr + FzName uintptr + FnArg int32 + F__ccgo_pad1 [4]byte + FzUsage uintptr } /* test_rbu.c:67:3 */ // Tclcmd: sqlite3rbu CMD ?? @@ -34765,11 +35166,11 @@ type TestSession1 = struct { type TestSession = TestSession1 /* test_session.c:21:28 */ type TestStreamInput1 = struct { - FnStream int32 - _ [4]byte - FaData uintptr - FnData int32 - FiData int32 + FnStream int32 + F__ccgo_pad1 [4]byte + FaData uintptr + FnData int32 + FiData int32 } /* test_session.c:28:9 */ type TestStreamInput = TestStreamInput1 /* test_session.c:28:32 */ @@ -34948,9 +35349,9 @@ func test_table_filter(tls *libc.TLS, pCtx uintptr, zTbl uintptr) int32 { /* tes } type TestSessionsBlob1 = struct { - Fp uintptr - Fn int32 - _ [4]byte + Fp uintptr + Fn int32 + F__ccgo_pad1 [4]byte } /* test_session.c:191:1 */ type TestSessionsBlob = TestSessionsBlob1 /* test_session.c:195:33 */ @@ -35162,12 +35563,12 @@ func test_session_cmd(tls *libc.TLS, clientData uintptr, interp uintptr, objc in } type SessionSubcmd = struct { - FzSub uintptr - FnArg int32 - _ [4]byte - FzMsg uintptr - FiSub int32 - _ [4]byte + FzSub uintptr + FnArg int32 + F__ccgo_pad1 [4]byte + FzMsg uintptr + FiSub int32 + F__ccgo_pad2 [4]byte } /* test_session.c:233:10 */ var aSub = [13]SessionSubcmd{ @@ -36155,12 +36556,12 @@ func test_rebaser_cmd(tls *libc.TLS, clientData uintptr, interp uintptr, objc in } type RebaseSubcmd = struct { - FzSub uintptr - FnArg int32 - _ [4]byte - FzMsg uintptr - FiSub int32 - _ [4]byte + FzSub uintptr + FnArg int32 + F__ccgo_pad1 [4]byte + FzMsg uintptr + FiSub int32 + F__ccgo_pad2 [4]byte } /* test_session.c:1177:10 */ var aSub1 = [4]RebaseSubcmd{ @@ -36232,9 +36633,9 @@ func test_sqlite3session_config(tls *libc.TLS, clientData uintptr, interp uintpt } type ConfigOpt = struct { - FzSub uintptr - Fop int32 - _ [4]byte + FzSub uintptr + Fop int32 + F__ccgo_pad1 [4]byte } /* test_session.c:1294:10 */ var aSub2 = [3]ConfigOpt{ @@ -36552,9 +36953,9 @@ type mcontext_t = struct { // type sigval = struct { - _ [0]uint64 - Fsival_int int32 - _ [4]byte + F__ccgo_pad1 [0]uint64 + Fsival_int int32 + F__ccgo_pad2 [4]byte } /* siginfo.h:41:9 */ // $NetBSD: featuretest.h,v 1.10 2013/04/26 18:29:06 christos Exp $ @@ -36629,13 +37030,13 @@ type _ksiginfo = struct { F_uid uint32 F_value sigval_t } - _ [64]byte + F__ccgo_pad1 [64]byte } } /* siginfo.h:46:1 */ type siginfo = struct { - _ [0]uint64 - Fsi_pad [128]int8 + F__ccgo_pad1 [0]uint64 + Fsi_pad [128]int8 } /* siginfo.h:148:9 */ type siginfo_t = siginfo /* siginfo.h:151:3 */ @@ -36762,7 +37163,7 @@ type siginfo_t = siginfo /* siginfo.h:151:3 */ type __ucontext = struct { Fuc_flags uint32 - _ [4]byte + F__ccgo_pad1 [4]byte Fuc_link uintptr Fuc_sigmask sigset_t Fuc_stack stack_t @@ -36935,10 +37336,10 @@ type ucontext_t = __ucontext /* ucontext.h:38:27 */ // Signal vector "template" used in sigaction call. type sigaction = struct { - F_sa_u struct{ F_sa_handler uintptr } - Fsa_mask sigset_t - Fsa_flags int32 - _ [4]byte + F_sa_u struct{ F_sa_handler uintptr } + Fsa_mask sigset_t + Fsa_flags int32 + F__ccgo_pad1 [4]byte } /* signal.h:123:1 */ // $NetBSD: signal.h,v 1.12 2013/01/02 19:40:23 dsl Exp $ @@ -36982,9 +37383,9 @@ type sig_t = uintptr /* signal.h:172:14 */ // type of signal function // Structure used in sigstack call. type sigstack = struct { - Fss_sp uintptr - Fss_onstack int32 - _ [4]byte + Fss_sp uintptr + Fss_onstack int32 + F__ccgo_pad1 [4]byte } /* signal.h:198:1 */ // getsubopt(3) external variable @@ -37005,7 +37406,7 @@ type SqliteDb = struct { FzBindFallback uintptr FzAuth uintptr FdisableAuth int32 - _ [4]byte + F__ccgo_pad1 [4]byte FzNull uintptr FpFunc uintptr FpUpdateHook uintptr @@ -37015,7 +37416,7 @@ type SqliteDb = struct { FpUnlockNotify uintptr FpCollate uintptr Frc int32 - _ [4]byte + F__ccgo_pad2 [4]byte FpCollateNeeded uintptr FstmtList uintptr FstmtLast uintptr @@ -37029,7 +37430,7 @@ type SqliteDb = struct { FnTransaction int32 FopenFlags int32 FbLegacyPrepare int32 - _ [4]byte + F__ccgo_pad3 [4]byte } /* tclsqlite.c:91:25 */ // New SQL functions can be created as TCL scripts. Each such function @@ -37079,15 +37480,15 @@ type SqlCollate = SqlCollate1 /* tclsqlite.c:120:27 */ // Prepared statements are cached for faster execution. Each prepared // statement is described by an instance of the following structure. type SqlPreparedStmt1 = struct { - FpNext uintptr - FpPrev uintptr - FpStmt uintptr - FnSql int32 - _ [4]byte - FzSql uintptr - FnParm int32 - _ [4]byte - FapParm uintptr + FpNext uintptr + FpPrev uintptr + FpStmt uintptr + FnSql int32 + F__ccgo_pad1 [4]byte + FzSql uintptr + FnParm int32 + F__ccgo_pad2 [4]byte + FapParm uintptr } /* tclsqlite.c:131:9 */ // Prepared statements are cached for faster execution. Each prepared @@ -37095,13 +37496,13 @@ type SqlPreparedStmt1 = struct { type SqlPreparedStmt = SqlPreparedStmt1 /* tclsqlite.c:131:32 */ type IncrblobChannel1 = struct { - FpBlob uintptr - FpDb uintptr - FiSeek int32 - _ [4]byte - Fchannel Tcl_Channel - FpNext uintptr - FpPrev uintptr + FpBlob uintptr + FpDb uintptr + FiSeek int32 + F__ccgo_pad1 [4]byte + Fchannel Tcl_Channel + FpNext uintptr + FpPrev uintptr } /* tclsqlite.c:142:9 */ type IncrblobChannel = IncrblobChannel1 /* tclsqlite.c:142:32 */ @@ -41870,9 +42271,9 @@ __3: } type DbConfigChoices = struct { - FzName uintptr - Fop int32 - _ [4]byte + FzName uintptr + Fop int32 + F__ccgo_pad1 [4]byte } /* tclsqlite.c:2340:18 */ var DB_strs = [42]uintptr{ @@ -42462,9 +42863,9 @@ type HashElem = HashElem1 /* hash.h:20:25 */ // in the table, it is faster to do a linear search than to manage // the hash table. type _ht = struct { - Fcount uint32 - _ [4]byte - Fchain uintptr + Fcount uint32 + F__ccgo_pad1 [4]byte + Fchain uintptr } /* sqlite3.h:249:9 */ // 2-byte unsigned integer @@ -42521,7 +42922,7 @@ type BusyHandler1 = struct { FxBusyHandler uintptr FpBusyArg uintptr FnBusy int32 - _ [4]byte + F__ccgo_pad1 [4]byte } /* sqlite3.h:249:9 */ // An instance of the following structure is used to store the busy-handler @@ -42583,7 +42984,7 @@ type BusyHandler = BusyHandler1 /* sqliteInt.h:1037:28 */ type AggInfo1 = struct { FdirectMode u8 FuseSortingIdx u8 - _ [2]byte + F__ccgo_pad1 [2]byte FsortingIdx int32 FsortingIdxPTab int32 FnSortingColumn int32 @@ -42661,47 +43062,47 @@ type AutoincInfo1 = struct { type AutoincInfo = AutoincInfo1 /* sqliteInt.h:1135:28 */ type CollSeq1 = struct { - FzName uintptr - Fenc u8 - _ [7]byte - FpUser uintptr - FxCmp uintptr - FxDel uintptr + FzName uintptr + Fenc u8 + F__ccgo_pad1 [7]byte + FpUser uintptr + FxCmp uintptr + FxDel uintptr } /* sqlite3.h:249:9 */ type CollSeq = CollSeq1 /* sqliteInt.h:1137:24 */ type Column1 = struct { - FzName uintptr - FpDflt uintptr - FzColl uintptr - FnotNull u8 - Faffinity int8 - FszEst u8 - FhName u8 - FcolFlags u16 - _ [2]byte + FzName uintptr + FpDflt uintptr + FzColl uintptr + FnotNull u8 + Faffinity int8 + FszEst u8 + FhName u8 + FcolFlags u16 + F__ccgo_pad1 [2]byte } /* sqlite3.h:249:9 */ type Column = Column1 /* sqliteInt.h:1138:23 */ type Cte1 = struct { - FzName uintptr - FpCols uintptr - FpSelect uintptr - FzCteErr uintptr - FpUse uintptr - FeM10d u8 - _ [7]byte + FzName uintptr + FpCols uintptr + FpSelect uintptr + FzCteErr uintptr + FpUse uintptr + FeM10d u8 + F__ccgo_pad1 [7]byte } /* sqlite3.h:249:9 */ type Cte = Cte1 /* sqliteInt.h:1139:20 */ type CteUse1 = struct { - FnUse int32 - FaddrM9e int32 - FregRtn int32 - FiCur int32 - FnRowEst LogEst - FeM10d u8 - _ [1]byte + FnUse int32 + FaddrM9e int32 + FregRtn int32 + FiCur int32 + FnRowEst LogEst + FeM10d u8 + F__ccgo_pad1 [1]byte } /* sqlite3.h:249:9 */ type CteUse = CteUse1 /* sqliteInt.h:1140:23 */ @@ -42710,20 +43111,20 @@ type Db1 = struct { FpBt uintptr Fsafety_level u8 FbSyncSet u8 - _ [6]byte + F__ccgo_pad1 [6]byte FpSchema uintptr } /* sqlite3.h:249:9 */ type Db = Db1 /* sqliteInt.h:1141:19 */ type DbFixer1 = struct { - FpParse uintptr - Fw Walker - FpSchema uintptr - FbTemp u8 - _ [7]byte - FzDb uintptr - FzType uintptr - FpName uintptr + FpParse uintptr + Fw Walker + FpSchema uintptr + FbTemp u8 + F__ccgo_pad1 [7]byte + FzDb uintptr + FzType uintptr + FpName uintptr } /* sqliteInt.h:1142:9 */ type DbFixer = DbFixer1 /* sqliteInt.h:1142:24 */ @@ -42746,7 +43147,7 @@ type Expr1 = struct { Fop u8 FaffExpr int8 Fop2 u8 - _ [1]byte + F__ccgo_pad1 [1]byte Fflags u32 Fu struct{ FzToken uintptr } FpLeft uintptr @@ -42766,63 +43167,63 @@ type ExprList1 = struct { FnExpr int32 FnAlloc int32 Fa [1]struct { - FpExpr uintptr - FzEName uintptr - FsortFlags u8 - _ [3]byte - FeEName uint8 /* unsigned eEName: 2, unsigned done: 1, unsigned reusable: 1, unsigned bSorterRef: 1, unsigned bNulls: 1 */ - _ [3]byte - Fu struct { - _ [0]uint32 - Fx struct { + FpExpr uintptr + FzEName uintptr + FsortFlags u8 + F__ccgo_pad1 [3]byte + FeEName uint8 /* unsigned eEName: 2, unsigned done: 1, unsigned reusable: 1, unsigned bSorterRef: 1, unsigned bNulls: 1 */ + F__ccgo_pad2 [3]byte + Fu struct { + F__ccgo_pad1 [0]uint32 + Fx struct { FiOrderByCol u16 FiAlias u16 } } - _ [4]byte + F__ccgo_pad3 [4]byte } } /* sqlite3.h:249:9 */ type ExprList = ExprList1 /* sqliteInt.h:1145:25 */ type FKey1 = struct { - FpFrom uintptr - FpNextFrom uintptr - FzTo uintptr - FpNextTo uintptr - FpPrevTo uintptr - FnCol int32 - FisDeferred u8 - FaAction [2]u8 - _ [1]byte - FapTrigger [2]uintptr - FaCol [1]struct { - FiFrom int32 - _ [4]byte - FzCol uintptr + FpFrom uintptr + FpNextFrom uintptr + FzTo uintptr + FpNextTo uintptr + FpPrevTo uintptr + FnCol int32 + FisDeferred u8 + FaAction [2]u8 + F__ccgo_pad1 [1]byte + FapTrigger [2]uintptr + FaCol [1]struct { + FiFrom int32 + F__ccgo_pad1 [4]byte + FzCol uintptr } } /* sqlite3.h:249:9 */ type FKey = FKey1 /* sqliteInt.h:1146:21 */ type FuncDestructor1 = struct { - FnRef int32 - _ [4]byte - FxDestroy uintptr - FpUserData uintptr + FnRef int32 + F__ccgo_pad1 [4]byte + FxDestroy uintptr + FpUserData uintptr } /* sqliteInt.h:1147:9 */ type FuncDestructor = FuncDestructor1 /* sqliteInt.h:1147:31 */ type FuncDef1 = struct { - FnArg i8 - _ [3]byte - FfuncFlags u32 - FpUserData uintptr - FpNext uintptr - FxSFunc uintptr - FxFinalize uintptr - FxValue uintptr - FxInverse uintptr - FzName uintptr - Fu struct{ FpHash uintptr } + FnArg i8 + F__ccgo_pad1 [3]byte + FfuncFlags u32 + FpUserData uintptr + FpNext uintptr + FxSFunc uintptr + FxFinalize uintptr + FxValue uintptr + FxInverse uintptr + FzName uintptr + Fu struct{ FpHash uintptr } } /* sqlite3.h:249:9 */ type FuncDef = FuncDef1 /* sqliteInt.h:1148:24 */ @@ -42830,9 +43231,9 @@ type FuncDefHash1 = struct{ Fa [23]uintptr } /* sqliteInt.h:1149:9 */ type FuncDefHash = FuncDefHash1 /* sqliteInt.h:1149:28 */ type IdList1 = struct { - Fa uintptr - FnId int32 - _ [4]byte + Fa uintptr + FnId int32 + F__ccgo_pad1 [4]byte } /* sqlite3.h:249:9 */ type IdList = IdList1 /* sqliteInt.h:1150:23 */ @@ -42853,59 +43254,59 @@ type Index1 = struct { FnKeyCol u16 FnColumn u16 FonError u8 - _ [1]byte + F__ccgo_pad1 [1]byte FidxType uint16 /* unsigned idxType: 2, unsigned bUnordered: 1, unsigned uniqNotNull: 1, unsigned isResized: 1, unsigned isCovering: 1, unsigned noSkipScan: 1, unsigned hasStat1: 1, unsigned bNoQuery: 1, unsigned bAscKeyBug: 1, unsigned bHasVCol: 1 */ - _ [2]byte + F__ccgo_pad2 [2]byte FnSample int32 FnSampleCol int32 FaAvgEq uintptr FaSample uintptr FaiRowEst uintptr FnRowEst0 tRowcnt - _ [4]byte + F__ccgo_pad3 [4]byte FcolNotIdxed Bitmask } /* sqlite3.h:249:9 */ type Index = Index1 /* sqliteInt.h:1151:22 */ type IndexSample1 = struct { - Fp uintptr - Fn int32 - _ [4]byte - FanEq uintptr - FanLt uintptr - FanDLt uintptr + Fp uintptr + Fn int32 + F__ccgo_pad1 [4]byte + FanEq uintptr + FanLt uintptr + FanDLt uintptr } /* sqlite3.h:249:9 */ type IndexSample = IndexSample1 /* sqliteInt.h:1152:28 */ type KeyInfo1 = struct { - FnRef u32 - Fenc u8 - _ [1]byte - FnKeyField u16 - FnAllField u16 - _ [6]byte - Fdb uintptr - FaSortFlags uintptr - FaColl [1]uintptr + FnRef u32 + Fenc u8 + F__ccgo_pad1 [1]byte + FnKeyField u16 + FnAllField u16 + F__ccgo_pad2 [6]byte + Fdb uintptr + FaSortFlags uintptr + FaColl [1]uintptr } /* sqlite3.h:249:9 */ type KeyInfo = KeyInfo1 /* sqliteInt.h:1154:24 */ type Lookaside1 = struct { - FbDisable u32 - Fsz u16 - FszTrue u16 - FbMalloced u8 - _ [3]byte - FnSlot u32 - FanStat [3]u32 - _ [4]byte - FpInit uintptr - FpFree uintptr - FpSmallInit uintptr - FpSmallFree uintptr - FpMiddle uintptr - FpStart uintptr - FpEnd uintptr + FbDisable u32 + Fsz u16 + FszTrue u16 + FbMalloced u8 + F__ccgo_pad1 [3]byte + FnSlot u32 + FanStat [3]u32 + F__ccgo_pad2 [4]byte + FpInit uintptr + FpFree uintptr + FpSmallInit uintptr + FpSmallFree uintptr + FpMiddle uintptr + FpStart uintptr + FpEnd uintptr } /* sqlite3.h:249:9 */ type Lookaside = Lookaside1 /* sqliteInt.h:1155:26 */ @@ -42913,26 +43314,26 @@ type LookasideSlot1 = struct{ FpNext uintptr } /* sqlite3.h:249:9 */ type LookasideSlot = LookasideSlot1 /* sqliteInt.h:1156:30 */ type Module1 = struct { - FpModule uintptr - FzName uintptr - FnRefModule int32 - _ [4]byte - FpAux uintptr - FxDestroy uintptr - FpEpoTab uintptr + FpModule uintptr + FzName uintptr + FnRefModule int32 + F__ccgo_pad1 [4]byte + FpAux uintptr + FxDestroy uintptr + FpEpoTab uintptr } /* sqlite3.h:249:9 */ type Module = Module1 /* sqliteInt.h:1157:23 */ type NameContext1 = struct { - FpParse uintptr - FpSrcList uintptr - FuNC struct{ FpEList uintptr } - FpNext uintptr - FnRef int32 - FnNcErr int32 - FncFlags int32 - _ [4]byte - FpWinSelect uintptr + FpParse uintptr + FpSrcList uintptr + FuNC struct{ FpEList uintptr } + FpNext uintptr + FnRef int32 + FnNcErr int32 + FncFlags int32 + F__ccgo_pad1 [4]byte + FpWinSelect uintptr } /* sqliteInt.h:1158:9 */ type NameContext = NameContext1 /* sqliteInt.h:1158:28 */ @@ -42951,7 +43352,7 @@ type Parse1 = struct { FokConstFactor u8 FdisableLookaside u8 FdisableVtab u8 - _ [2]byte + F__ccgo_pad1 [2]byte FnRangeReg int32 FiRangeReg int32 FnErr int32 @@ -42961,7 +43362,7 @@ type Parse1 = struct { FiSelfTab int32 FnLabel int32 FnLabelAlloc int32 - _ [4]byte + F__ccgo_pad2 [4]byte FaLabel uintptr FpConstExpr uintptr FconstraintName Token @@ -42972,16 +43373,16 @@ type Parse1 = struct { FnMaxArg int32 FnSelect int32 FnTableLock int32 - _ [4]byte + F__ccgo_pad3 [4]byte FaTableLock uintptr FpAinc uintptr FpToplevel uintptr FpTriggerTab uintptr FpParentParse uintptr Fu1 struct { - _ [0]uint64 - FaddrCrTab int32 - _ [4]byte + F__ccgo_pad1 [0]uint64 + FaddrCrTab int32 + F__ccgo_pad2 [4]byte } FnQueryLoop u32 Foldmask u32 @@ -42997,11 +43398,11 @@ type Parse1 = struct { FiPkSortOrder u8 Fexplain u8 FeParseMode u8 - _ [3]byte + F__ccgo_pad4 [3]byte FnVtabLock int32 FnHeight int32 FaddrExplain int32 - _ [4]byte + F__ccgo_pad5 [4]byte FpVList uintptr FpReprepare uintptr FzTail uintptr @@ -43029,7 +43430,7 @@ type PreUpdate1 = struct { Fv uintptr FpCsr uintptr Fop int32 - _ [4]byte + F__ccgo_pad1 [4]byte FaRecord uintptr Fkeyinfo KeyInfo FpUnpacked uintptr @@ -43052,14 +43453,14 @@ type PrintfArguments1 = struct { type PrintfArguments = PrintfArguments1 /* sqliteInt.h:1162:32 */ type Returning1 = struct { - FpParse uintptr - FpReturnEL uintptr - FretTrig Trigger - FretTStep TriggerStep - FiRetCur int32 - FnRetCol int32 - FiRetReg int32 - _ [4]byte + FpParse uintptr + FpReturnEL uintptr + FretTrig Trigger + FretTStep TriggerStep + FiRetCur int32 + FnRetCol int32 + FiRetReg int32 + F__ccgo_pad1 [4]byte } /* sqliteInt.h:1164:9 */ type Returning = Returning1 /* sqliteInt.h:1164:26 */ @@ -43073,14 +43474,14 @@ type Savepoint1 = struct { type Savepoint = Savepoint1 /* sqliteInt.h:1166:26 */ type Select1 = struct { Fop u8 - _ [1]byte + F__ccgo_pad1 [1]byte FnSelectRow LogEst FselFlags u32 FiLimit int32 FiOffset int32 FselId u32 FaddrOpenEphm [2]int32 - _ [4]byte + F__ccgo_pad2 [4]byte FpEList uintptr FpSrc uintptr FpWhere uintptr @@ -43097,15 +43498,15 @@ type Select1 = struct { type Select = Select1 /* sqliteInt.h:1167:23 */ type SelectDest1 = struct { - FeDest u8 - _ [3]byte - FiSDParm int32 - FiSDParm2 int32 - FiSdst int32 - FnSdst int32 - _ [4]byte - FzAffSdst uintptr - FpOrderBy uintptr + FeDest u8 + F__ccgo_pad1 [3]byte + FiSDParm int32 + FiSDParm2 int32 + FiSdst int32 + FnSdst int32 + F__ccgo_pad2 [4]byte + FzAffSdst uintptr + FpOrderBy uintptr } /* sqliteInt.h:1169:9 */ type SelectDest = SelectDest1 /* sqliteInt.h:1169:27 */ @@ -43120,11 +43521,11 @@ type SrcItem1 = struct { FregReturn int32 FregResult int32 Ffg struct { - _ [0]uint32 - Fjointype u8 - _ [3]byte - FnotIndexed uint16 /* unsigned notIndexed: 1, unsigned isIndexedBy: 1, unsigned isTabFunc: 1, unsigned isCorrelated: 1, unsigned viaCoroutine: 1, unsigned isRecursive: 1, unsigned fromDDL: 1, unsigned isCte: 1, unsigned notCte: 1 */ - _ [2]byte + F__ccgo_pad1 [0]uint32 + Fjointype u8 + F__ccgo_pad2 [3]byte + FnotIndexed uint16 /* unsigned notIndexed: 1, unsigned isIndexedBy: 1, unsigned isTabFunc: 1, unsigned isCorrelated: 1, unsigned viaCoroutine: 1, unsigned isRecursive: 1, unsigned fromDDL: 1, unsigned isCte: 1, unsigned notCte: 1 */ + F__ccgo_pad3 [2]byte } FiCursor int32 FpOn uintptr @@ -43160,7 +43561,7 @@ type Table1 = struct { FnRowLogEst LogEst FszTabRow LogEst FkeyConf u8 - _ [1]byte + F__ccgo_pad1 [1]byte FaddColOffset int32 FnModuleArg int32 FazModuleArg uintptr @@ -43172,66 +43573,66 @@ type Table1 = struct { // Internal alias for sqlite3_str type Table = Table1 /* sqliteInt.h:1173:22 */ type Token1 = struct { - Fz uintptr - Fn uint32 - _ [4]byte + Fz uintptr + Fn uint32 + F__ccgo_pad1 [4]byte } /* sqlite3.h:249:9 */ type Token = Token1 /* sqliteInt.h:1175:22 */ type Trigger1 = struct { - FzName uintptr - Ftable uintptr - Fop u8 - Ftr_tm u8 - FbReturning u8 - _ [5]byte - FpWhen uintptr - FpColumns uintptr - FpSchema uintptr - FpTabSchema uintptr - Fstep_list uintptr - FpNext uintptr + FzName uintptr + Ftable uintptr + Fop u8 + Ftr_tm u8 + FbReturning u8 + F__ccgo_pad1 [5]byte + FpWhen uintptr + FpColumns uintptr + FpSchema uintptr + FpTabSchema uintptr + Fstep_list uintptr + FpNext uintptr } /* sqlite3.h:249:9 */ type Trigger = Trigger1 /* sqliteInt.h:1177:24 */ type TriggerPrg1 = struct { - FpTrigger uintptr - FpNext uintptr - FpProgram uintptr - Forconf int32 - FaColmask [2]u32 - _ [4]byte + FpTrigger uintptr + FpNext uintptr + FpProgram uintptr + Forconf int32 + FaColmask [2]u32 + F__ccgo_pad1 [4]byte } /* sqlite3.h:249:9 */ type TriggerPrg = TriggerPrg1 /* sqliteInt.h:1178:27 */ type TriggerStep1 = struct { - Fop u8 - Forconf u8 - _ [6]byte - FpTrig uintptr - FpSelect uintptr - FzTarget uintptr - FpFrom uintptr - FpWhere uintptr - FpExprList uintptr - FpIdList uintptr - FpUpsert uintptr - FzSpan uintptr - FpNext uintptr - FpLast uintptr + Fop u8 + Forconf u8 + F__ccgo_pad1 [6]byte + FpTrig uintptr + FpSelect uintptr + FzTarget uintptr + FpFrom uintptr + FpWhere uintptr + FpExprList uintptr + FpIdList uintptr + FpUpsert uintptr + FzSpan uintptr + FpNext uintptr + FpLast uintptr } /* sqlite3.h:249:9 */ type TriggerStep = TriggerStep1 /* sqliteInt.h:1179:28 */ type UnpackedRecord1 = struct { - FpKeyInfo uintptr - FaMem uintptr - FnField u16 - Fdefault_rc i8 - FerrCode u8 - Fr1 i8 - Fr2 i8 - FeqSeen u8 - _ [1]byte + FpKeyInfo uintptr + FaMem uintptr + FnField u16 + Fdefault_rc i8 + FerrCode u8 + Fr1 i8 + Fr2 i8 + FeqSeen u8 + F__ccgo_pad1 [1]byte } /* sqlite3.h:249:9 */ type UnpackedRecord = UnpackedRecord1 /* sqliteInt.h:1180:31 */ @@ -43242,14 +43643,14 @@ type Upsert1 = struct { FpUpsertWhere uintptr FpNextUpsert uintptr FisDoUpdate u8 - _ [7]byte + F__ccgo_pad1 [7]byte FpToFree uintptr FpUpsertIdx uintptr FpUpsertSrc uintptr FregData int32 FiDataCur int32 FiIdxCur int32 - _ [4]byte + F__ccgo_pad2 [4]byte } /* sqlite3.h:249:9 */ type Upsert = Upsert1 /* sqliteInt.h:1181:23 */ @@ -43260,9 +43661,9 @@ type VTable1 = struct { FnRef int32 FbConstraint u8 FeVtabRisk u8 - _ [2]byte + F__ccgo_pad1 [2]byte FiSavepoint int32 - _ [4]byte + F__ccgo_pad2 [4]byte FpNext uintptr } /* sqlite3.h:249:9 */ @@ -43274,7 +43675,7 @@ type Walker1 = struct { FxSelectCallback2 uintptr FwalkerDepth int32 FeCode u16 - _ [2]byte + F__ccgo_pad1 [2]byte Fu struct{ FpNC uintptr } } /* sqliteInt.h:1142:9 */ @@ -43289,7 +43690,7 @@ type Window1 = struct { FeEnd u8 FbImplicitFrame u8 FeExclude u8 - _ [3]byte + F__ccgo_pad1 [3]byte FpStart uintptr FpEnd uintptr FppThis uintptr @@ -43309,7 +43710,7 @@ type Window1 = struct { FregStartRowid int32 FregEndRowid int32 FbExprArgs u8 - _ [3]byte + F__ccgo_pad2 [3]byte } /* sqlite3.h:249:9 */ type Window = Window1 /* sqliteInt.h:1186:23 */ @@ -43437,7 +43838,7 @@ type BtCursor1 = struct { FcurIntKey u8 Fix u16 FaiIdx [19]u16 - _ [2]byte + F__ccgo_pad1 [2]byte FpKeyInfo uintptr FpPage uintptr FapPage [19]uintptr @@ -43455,42 +43856,42 @@ type BtShared1 = struct { FinTransaction u8 Fmax1bytePayload u8 FnReserveWanted u8 - _ [1]byte + F__ccgo_pad1 [1]byte FbtsFlags u16 FmaxLocal u16 FminLocal u16 FmaxLeaf u16 FminLeaf u16 - _ [2]byte + F__ccgo_pad2 [2]byte FpageSize u32 FusableSize u32 FnTransaction int32 FnPage u32 - _ [4]byte + F__ccgo_pad3 [4]byte FpSchema uintptr FxFreeSchema uintptr Fmutex uintptr FpHasContent uintptr FnRef int32 - _ [4]byte + F__ccgo_pad4 [4]byte FpNext uintptr FpLock uintptr FpWriter uintptr FpTmpSpace uintptr FnPreformatSize int32 - _ [4]byte + F__ccgo_pad5 [4]byte } /* btree.h:39:9 */ type BtreePayload1 = struct { - FpKey uintptr - FnKey sqlite3_int64 - FpData uintptr - FaMem uintptr - FnMem u16 - _ [2]byte - FnData int32 - FnZero int32 - _ [4]byte + FpKey uintptr + FnKey sqlite3_int64 + FpData uintptr + FaMem uintptr + FnMem u16 + F__ccgo_pad1 [2]byte + FnData int32 + FnZero int32 + F__ccgo_pad2 [4]byte } /* btree.h:42:9 */ type BtreePayload = BtreePayload1 /* btree.h:42:29 */ @@ -43510,14 +43911,40 @@ type BtreePayload = BtreePayload1 /* btree.h:42:29 */ // This header defines the interface to the virtual database engine // or VDBE. The VDBE implements an abstract machine that runs a // simple program to access and modify the underlying database. -// DO NOT EDIT THIS FILE. +// $NetBSD: stdio.h,v 1.97.18.1 2020/03/30 18:54:56 martin Exp $ + +// - +// Copyright (c) 1990, 1993 +// The Regents of the University of California. All rights reserved. // -// It has been auto-edited by fixincludes from: +// This code is derived from software contributed to Berkeley by +// Chris Torek. // -// "/usr/include/stdio.h" +// 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. 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 had to be done to correct non-standard usages in the -// original, manufacturer supplied header file. +// 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. +// +// @(#)stdio.h 8.5 (Berkeley) 4/29/95 // A single VDBE is an opaque structure named "Vdbe". Only routines // in the source file sqliteVdbe.c are allowed to see the insides @@ -43528,7 +43955,7 @@ type Vdbe1 = struct { FpNext uintptr FpParse uintptr FnVar ynVar - _ [2]byte + F__ccgo_pad1 [2]byte FiVdbeMagic u32 FnMem int32 FnCursor int32 @@ -43537,7 +43964,7 @@ type Vdbe1 = struct { Frc int32 FnChange int32 FiStatement int32 - _ [4]byte + F__ccgo_pad2 [4]byte FiCurrentTime i64 FnFkConstraint i64 FnStmtDefCons i64 @@ -43559,9 +43986,9 @@ type Vdbe1 = struct { FminWriteFileFormat u8 FprepFlags u8 FdoingRerun u8 - _ [2]byte + F__ccgo_pad3 [2]byte Fexpired uint16 /* bft expired: 2, bft explain: 2, bft changeCntOn: 1, bft runOnlyOnce: 1, bft usesStmtJournal: 1, bft readOnly: 1, bft bIsReader: 1 */ - _ [2]byte + F__ccgo_pad4 [2]byte FbtreeMask yDbMask FlockMask yDbMask FaCounter [7]u32 @@ -43590,14 +44017,40 @@ type Vdbe1 = struct { // This header defines the interface to the virtual database engine // or VDBE. The VDBE implements an abstract machine that runs a // simple program to access and modify the underlying database. -// DO NOT EDIT THIS FILE. +// $NetBSD: stdio.h,v 1.97.18.1 2020/03/30 18:54:56 martin Exp $ + +// - +// Copyright (c) 1990, 1993 +// The Regents of the University of California. All rights reserved. // -// It has been auto-edited by fixincludes from: +// This code is derived from software contributed to Berkeley by +// Chris Torek. // -// "/usr/include/stdio.h" +// 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. 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 had to be done to correct non-standard usages in the -// original, manufacturer supplied header file. +// 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. +// +// @(#)stdio.h 8.5 (Berkeley) 4/29/95 // A single VDBE is an opaque structure named "Vdbe". Only routines // in the source file sqliteVdbe.c are allowed to see the insides @@ -43608,14 +44061,14 @@ type Vdbe = Vdbe1 /* vdbe.h:27:21 */ // for the VdbeOp definition. type Mem = sqlite3_value1 /* vdbe.h:33:30 */ type SubProgram1 = struct { - FaOp uintptr - FnOp int32 - FnMem int32 - FnCsr int32 - _ [4]byte - FaOnce uintptr - Ftoken uintptr - FpNext uintptr + FaOp uintptr + FnOp int32 + FnMem int32 + FnCsr int32 + F__ccgo_pad1 [4]byte + FaOnce uintptr + Ftoken uintptr + FpNext uintptr } /* sqlite3.h:249:9 */ type SubProgram = SubProgram1 /* vdbe.h:34:27 */ @@ -43631,9 +44084,9 @@ type VdbeOp1 = struct { Fp2 int32 Fp3 int32 Fp4 struct { - _ [0]uint64 - Fi int32 - _ [4]byte + F__ccgo_pad1 [0]uint64 + Fi int32 + F__ccgo_pad2 [4]byte } FzComment uintptr } /* sqlite3.h:249:9 */ @@ -43642,9 +44095,9 @@ type VdbeOp1 = struct { // and as many as three operands. The instruction is recorded // as an instance of the following structure: type p4union = struct { - _ [0]uint64 - Fi int32 - _ [4]byte + F__ccgo_pad1 [0]uint64 + Fi int32 + F__ccgo_pad2 [4]byte } /* sqlite3.h:249:9 */ type VdbeOp = VdbeOp1 /* vdbe.h:80:23 */ @@ -43730,9 +44183,9 @@ type sqlite3InitInfo = struct { FnewTnum Pgno FiDb u8 Fbusy u8 - _ [2]byte + F__ccgo_pad1 [2]byte ForphanTrigger uint8 /* unsigned orphanTrigger: 1, unsigned imposterTable: 1, unsigned reopenMemdb: 1 */ - _ [7]byte + F__ccgo_pad2 [7]byte FazInit uintptr } /* sqlite3.h:249:9 */ @@ -43788,9 +44241,9 @@ type sqlite3InitInfo = struct { // A list of all children for a table named Z (which might not even exist) // is held in Schema.fkeyHash with a hash key of Z. type sColMap = struct { - FiFrom int32 - _ [4]byte - FzCol uintptr + FiFrom int32 + F__ccgo_pad1 [4]byte + FzCol uintptr } /* sqlite3.h:249:9 */ // An instance of this structure contains information needed to generate @@ -43811,7 +44264,7 @@ type AggInfo_col = struct { FiMem int32 FiColumn i16 FiSorterColumn i16 - _ [4]byte + F__ccgo_pad1 [4]byte } /* sqlite3.h:249:9 */ // An instance of this structure contains information needed to generate @@ -43826,12 +44279,12 @@ type AggInfo_col = struct { // original Select structure that describes the SELECT statement. These // fields do not need to be freed when deallocating the AggInfo structure. type AggInfo_func = struct { - FpFExpr uintptr - FpFunc uintptr - FiMem int32 - FiDistinct int32 - FiDistAddr int32 - _ [4]byte + FpFExpr uintptr + FpFunc uintptr + FiMem int32 + FiDistinct int32 + FiDistAddr int32 + F__ccgo_pad1 [4]byte } /* sqlite3.h:249:9 */ // The datatype ynVar is a signed integer, either 16-bit or 32-bit. @@ -43895,20 +44348,20 @@ type ynVar = i16 /* sqliteInt.h:2622:13 */ // ENAME_SPAN Text of the original result set // expression. type ExprList_item = struct { - FpExpr uintptr - FzEName uintptr - FsortFlags u8 - _ [3]byte - FeEName uint8 /* unsigned eEName: 2, unsigned done: 1, unsigned reusable: 1, unsigned bSorterRef: 1, unsigned bNulls: 1 */ - _ [3]byte - Fu struct { - _ [0]uint32 - Fx struct { + FpExpr uintptr + FzEName uintptr + FsortFlags u8 + F__ccgo_pad1 [3]byte + FeEName uint8 /* unsigned eEName: 2, unsigned done: 1, unsigned reusable: 1, unsigned bSorterRef: 1, unsigned bNulls: 1 */ + F__ccgo_pad2 [3]byte + Fu struct { + F__ccgo_pad1 [0]uint32 + Fx struct { FiOrderByCol u16 FiAlias u16 } } - _ [4]byte + F__ccgo_pad3 [4]byte } /* sqlite3.h:249:9 */ // Allowed values for Expr.a.eEName @@ -43927,9 +44380,9 @@ type ExprList_item = struct { // // If "a" is the k-th column of table "t", then IdList.a[0].idx==k. type IdList_item = struct { - FzName uintptr - Fidx int32 - _ [4]byte + FzName uintptr + Fidx int32 + F__ccgo_pad1 [4]byte } /* sqlite3.h:249:9 */ // The yDbMask datatype for the bitmask of all attached databases. @@ -43938,14 +44391,14 @@ type yDbMask = uint32 /* sqliteInt.h:3379:24 */ // A pointer to this structure is used to communicate information // from sqlite3Init and OP_ParseSchema into the sqlite3InitCallback. type InitData = struct { - Fdb uintptr - FpzErrMsg uintptr - FiDb int32 - Frc int32 - FmInitFlags u32 - FnInitRow u32 - FmxPage Pgno - _ [4]byte + Fdb uintptr + FpzErrMsg uintptr + FiDb int32 + Frc int32 + FmInitFlags u32 + FnInitRow u32 + FmxPage Pgno + F__ccgo_pad1 [4]byte } /* sqliteInt.h:3737:3 */ // Allowed values for mInitFlags @@ -43970,7 +44423,7 @@ type Sqlite3Config = struct { FbUseCis u8 FbSmallMalloc u8 FbExtraSchemaChecks u8 - _ [2]byte + F__ccgo_pad1 [2]byte FmxStrlen int32 FneverCorrupt int32 FszLookaside int32 @@ -43983,7 +44436,7 @@ type Sqlite3Config = struct { FnHeap int32 FmnReq int32 FmxReq int32 - _ [4]byte + F__ccgo_pad2 [4]byte FszMmap sqlite3_int64 FmxMmap sqlite3_int64 FpPage uintptr @@ -43998,7 +44451,7 @@ type Sqlite3Config = struct { FisMallocInit int32 FisPCacheInit int32 FnRefInitMutex int32 - _ [4]byte + F__ccgo_pad3 [4]byte FpInitMutex uintptr FxLog uintptr FpLogArg uintptr @@ -44068,11 +44521,11 @@ type VdbeCursor1 = struct { FnullRow u8 FdeferredMoveto u8 FisTable u8 - _ [3]byte + F__ccgo_pad1 [3]byte FisEphemeral uint8 /* Bool isEphemeral: 1, Bool useRandomRowid: 1, Bool isOrdered: 1, Bool hasBeenDuped: 1 */ - _ [1]byte + F__ccgo_pad2 [1]byte FseekHit u16 - _ [4]byte + F__ccgo_pad3 [4]byte FpBtx uintptr FseqCount i64 FaAltMap uintptr @@ -44085,14 +44538,14 @@ type VdbeCursor1 = struct { FpgnoRoot Pgno FnField i16 FnHdrParsed u16 - _ [4]byte + F__ccgo_pad4 [4]byte FmovetoTarget i64 FaOffset uintptr FaRow uintptr FpayloadSize u32 FszRow u32 FaType [1]u32 - _ [4]byte + F__ccgo_pad5 [4]byte } /* sqlite3.h:249:9 */ // Types of VDBE cursors @@ -44194,7 +44647,7 @@ type ScanStatus1 = struct { FaddrVisit int32 FiSelectID int32 FnEst LogEst - _ [6]byte + F__ccgo_pad1 [6]byte FzName uintptr } /* vdbeInt.h:350:9 */ @@ -46181,9 +46634,9 @@ func test_create_function_v2(tls *libc.TLS, clientData ClientData, interp uintpt } type EncTable = struct { - FzEnc uintptr - Fenc int32 - _ [4]byte + FzEnc uintptr + Fenc int32 + F__ccgo_pad1 [4]byte } /* test1.c:1846:3 */ // Usage: sqlite3_load_extension DB-HANDLE FILE ?PROC? @@ -46456,9 +46909,9 @@ func test_stmt_status(tls *libc.TLS, clientData uintptr, interp uintptr, objc in } zOpName = tcl.XTcl_GetString(tls, *(*uintptr)(unsafe.Pointer(objv + 2*8))) for i = 0; i < (int32(uint64(unsafe.Sizeof(aOp)) / uint64(unsafe.Sizeof(struct { - FzName uintptr - Fop int32 - _ [4]byte + FzName uintptr + Fop int32 + F__ccgo_pad1 [4]byte }{})))); i++ { if libc.Xstrcmp(tls, aOp[i].FzName, zOpName) == 0 { *(*int32)(unsafe.Pointer(bp + 8 /* op */)) = aOp[i].Fop @@ -46466,9 +46919,9 @@ func test_stmt_status(tls *libc.TLS, clientData uintptr, interp uintptr, objc in } } if i >= (int32(uint64(unsafe.Sizeof(aOp)) / uint64(unsafe.Sizeof(struct { - FzName uintptr - Fop int32 - _ [4]byte + FzName uintptr + Fop int32 + F__ccgo_pad1 [4]byte }{})))) { if tcl.XTcl_GetIntFromObj(tls, interp, *(*uintptr)(unsafe.Pointer(objv + 2*8)), bp+8 /* &op */) != 0 { return TCL_ERROR @@ -46483,9 +46936,9 @@ func test_stmt_status(tls *libc.TLS, clientData uintptr, interp uintptr, objc in } var aOp = [7]struct { - FzName uintptr - Fop int32 - _ [4]byte + FzName uintptr + Fop int32 + F__ccgo_pad1 [4]byte }{ {FzName: ts + 16506 /* "SQLITE_STMTSTATU..." */, Fop: SQLITE_STMTSTATUS_FULLSCAN_STEP}, {FzName: ts + 16538 /* "SQLITE_STMTSTATU..." */, Fop: SQLITE_STMTSTATUS_SORT}, @@ -46530,7 +46983,9 @@ func vfsCurrentTimeInt64(tls *libc.TLS, clientData uintptr, interp uintptr, objc tcl.XTcl_WrongNumArgs(tls, interp, 1, objv, ts+489 /* "" */) return TCL_ERROR } - (*(*func(*libc.TLS, uintptr, uintptr) int32)(unsafe.Pointer((pVfs + 136 /* &.xCurrentTimeInt64 */))))(tls, pVfs, bp /* &t */) + (*struct { + f func(*libc.TLS, uintptr, uintptr) int32 + })(unsafe.Pointer(&struct{ uintptr }{(*sqlite3_vfs)(unsafe.Pointer(pVfs)).FxCurrentTimeInt64})).f(tls, pVfs, bp /* &t */) tcl.XTcl_SetObjResult(tls, interp, tcl.XTcl_NewWideIntObj(tls, *(*i64)(unsafe.Pointer(bp /* t */)))) return TCL_OK } @@ -46794,7 +47249,9 @@ func test_atomic_batch_write(tls *libc.TLS, clientData uintptr, interp uintptr, } rc = sqlite3.Xsqlite3_file_control(tls, *(*uintptr)(unsafe.Pointer(bp + 16 /* db */)), ts+85 /* "main" */, SQLITE_FCNTL_FILE_POINTER, bp+24 /* &pFd */) - dc = (*(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(((*sqlite3_file)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp + 24 /* pFd */)))).FpMethods + 96 /* &.xDeviceCharacteristics */))))(tls, *(*uintptr)(unsafe.Pointer(bp + 24 /* pFd */))) + dc = (*struct { + f func(*libc.TLS, uintptr) int32 + })(unsafe.Pointer(&struct{ uintptr }{(*sqlite3_io_methods1)(unsafe.Pointer((*sqlite3_file)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp + 24 /* pFd */)))).FpMethods)).FxDeviceCharacteristics})).f(tls, *(*uintptr)(unsafe.Pointer(bp + 24 /* pFd */))) if (dc & SQLITE_IOCAP_BATCH_ATOMIC) != 0 { bRes = 1 } @@ -49473,9 +49930,9 @@ func test_open_v2(tls *libc.TLS, clientData uintptr, interp uintptr, objc int32, } type OpenFlag = struct { - FzFlag uintptr - Fflag int32 - _ [4]byte + FzFlag uintptr + Fflag int32 + F__ccgo_pad1 [4]byte } /* test1.c:4830:5 */ // Usage: sqlite3_open16 filename options @@ -49828,7 +50285,9 @@ func test_stmt_utf8(tls *libc.TLS, clientData uintptr, interp uintptr, objc int3 if tcl.XTcl_GetIntFromObj(tls, interp, *(*uintptr)(unsafe.Pointer(objv + 2*8)), bp+40 /* &col */) != 0 { return TCL_ERROR } - zRet = (*(*func(*libc.TLS, uintptr, int32) uintptr)(unsafe.Pointer(&xFunc)))(tls, *(*uintptr)(unsafe.Pointer(bp + 32 /* pStmt */)), *(*int32)(unsafe.Pointer(bp + 40 /* col */))) + zRet = (*struct { + f func(*libc.TLS, uintptr, int32) uintptr + })(unsafe.Pointer(&struct{ uintptr }{xFunc})).f(tls, *(*uintptr)(unsafe.Pointer(bp + 32 /* pStmt */)), *(*int32)(unsafe.Pointer(bp + 40 /* col */))) if zRet != 0 { tcl.XTcl_SetResult(tls, interp, zRet, uintptr(0)) } @@ -49877,7 +50336,9 @@ func test_stmt_utf16(tls *libc.TLS, clientData uintptr, interp uintptr, objc int return TCL_ERROR } - zName16 = (*(*func(*libc.TLS, uintptr, int32) uintptr)(unsafe.Pointer(&xFunc)))(tls, *(*uintptr)(unsafe.Pointer(bp + 32 /* pStmt */)), *(*int32)(unsafe.Pointer(bp + 40 /* col */))) + zName16 = (*struct { + f func(*libc.TLS, uintptr, int32) uintptr + })(unsafe.Pointer(&struct{ uintptr }{xFunc})).f(tls, *(*uintptr)(unsafe.Pointer(bp + 32 /* pStmt */)), *(*int32)(unsafe.Pointer(bp + 40 /* col */))) if zName16 != 0 { var n int32 var z uintptr = zName16 @@ -49920,7 +50381,9 @@ func test_stmt_int(tls *libc.TLS, clientData uintptr, interp uintptr, objc int32 return TCL_ERROR } - tcl.XTcl_SetObjResult(tls, interp, tcl.XTcl_NewIntObj(tls, (*(*func(*libc.TLS, uintptr, int32) int32)(unsafe.Pointer(&xFunc)))(tls, *(*uintptr)(unsafe.Pointer(bp + 32 /* pStmt */)), *(*int32)(unsafe.Pointer(bp + 40 /* col */))))) + tcl.XTcl_SetObjResult(tls, interp, tcl.XTcl_NewIntObj(tls, (*struct { + f func(*libc.TLS, uintptr, int32) int32 + })(unsafe.Pointer(&struct{ uintptr }{xFunc})).f(tls, *(*uintptr)(unsafe.Pointer(bp + 32 /* pStmt */)), *(*int32)(unsafe.Pointer(bp + 40 /* col */))))) return TCL_OK } @@ -50938,9 +51401,9 @@ func test_limit(tls *libc.TLS, clientData ClientData, interp uintptr, objc int32 } zId = tcl.XTcl_GetString(tls, *(*uintptr)(unsafe.Pointer(objv + 2*8))) for i = 0; uint64(i) < (uint64(unsafe.Sizeof(aId)) / uint64(unsafe.Sizeof(struct { - FzName uintptr - Fid int32 - _ [4]byte + FzName uintptr + Fid int32 + F__ccgo_pad1 [4]byte }{}))); i++ { if libc.Xstrcmp(tls, zId, aId[i].FzName) == 0 { id = aId[i].Fid @@ -50948,9 +51411,9 @@ func test_limit(tls *libc.TLS, clientData ClientData, interp uintptr, objc int32 } } if uint64(i) >= (uint64(unsafe.Sizeof(aId)) / uint64(unsafe.Sizeof(struct { - FzName uintptr - Fid int32 - _ [4]byte + FzName uintptr + Fid int32 + F__ccgo_pad1 [4]byte }{}))) { tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp+32, ts+18301 /* "unknown limit ty..." */, zId, uintptr(0))) return TCL_ERROR @@ -50964,9 +51427,9 @@ func test_limit(tls *libc.TLS, clientData ClientData, interp uintptr, objc int32 } var aId = [14]struct { - FzName uintptr - Fid int32 - _ [4]byte + FzName uintptr + Fid int32 + F__ccgo_pad1 [4]byte }{ {FzName: ts + 18322 /* "SQLITE_LIMIT_LEN..." */}, {FzName: ts + 18342 /* "SQLITE_LIMIT_SQL..." */, Fid: SQLITE_LIMIT_SQL_LENGTH}, @@ -51358,7 +51821,9 @@ func runAsObjProc(tls *libc.TLS, clientData uintptr, interp uintptr, objc int32, tcl.XTcl_GetString(tls, *(*uintptr)(unsafe.Pointer(objv + 1*8))), uintptr(0))) return TCL_ERROR } - return (*(*func(*libc.TLS, ClientData, uintptr, int32, uintptr) int32)(unsafe.Pointer((bp + 48 /* &cmdInfo */ + 8 /* &.objProc */))))(tls, (*Tcl_CmdInfo)(unsafe.Pointer(bp+48 /* &cmdInfo */)).FobjClientData, interp, (objc - 1), (objv + uintptr(1)*8)) + return (*struct { + f func(*libc.TLS, ClientData, uintptr, int32, uintptr) int32 + })(unsafe.Pointer(&struct{ uintptr }{(*Tcl_CmdInfo)(unsafe.Pointer(bp + 48 /* &cmdInfo */)).FobjProc})).f(tls, (*Tcl_CmdInfo)(unsafe.Pointer(bp+48 /* &cmdInfo */)).FobjClientData, interp, (objc - 1), (objv + uintptr(1)*8)) } // WARNING: The following function, printExplainQueryPlan() is an exact @@ -51542,9 +52007,9 @@ func test_test_control(tls *libc.TLS, clientData uintptr, interp uintptr, objc i } type Verb = struct { - FzName uintptr - Fi int32 - _ [4]byte + FzName uintptr + Fi int32 + F__ccgo_pad1 [4]byte } /* test1.c:7125:3 */ // $NetBSD: resource.h,v 1.36 2019/03/30 23:29:55 christos Exp $ @@ -51674,14 +52139,14 @@ type Verb = struct { type rusage = struct { Fru_utime struct { - Ftv_sec time_t - Ftv_usec suseconds_t - _ [4]byte + Ftv_sec time_t + Ftv_usec suseconds_t + F__ccgo_pad1 [4]byte } Fru_stime struct { - Ftv_sec time_t - Ftv_usec suseconds_t - _ [4]byte + Ftv_sec time_t + Ftv_usec suseconds_t + F__ccgo_pad1 [4]byte } Fru_maxrss int64 Fru_ixrss int64 @@ -51702,14 +52167,14 @@ type rusage = struct { type wrusage = struct { Fwru_self struct { Fru_utime struct { - Ftv_sec time_t - Ftv_usec suseconds_t - _ [4]byte + Ftv_sec time_t + Ftv_usec suseconds_t + F__ccgo_pad1 [4]byte } Fru_stime struct { - Ftv_sec time_t - Ftv_usec suseconds_t - _ [4]byte + Ftv_sec time_t + Ftv_usec suseconds_t + F__ccgo_pad1 [4]byte } Fru_maxrss int64 Fru_ixrss int64 @@ -51728,14 +52193,14 @@ type wrusage = struct { } Fwru_children struct { Fru_utime struct { - Ftv_sec time_t - Ftv_usec suseconds_t - _ [4]byte + Ftv_sec time_t + Ftv_usec suseconds_t + F__ccgo_pad1 [4]byte } Fru_stime struct { - Ftv_sec time_t - Ftv_usec suseconds_t - _ [4]byte + Ftv_sec time_t + Ftv_usec suseconds_t + F__ccgo_pad1 [4]byte } Fru_maxrss int64 Fru_ixrss int64 @@ -51763,9 +52228,9 @@ type rlimit = struct { // Load average structure. type loadavg = struct { - Fldavg [3]fixpt_t - _ [4]byte - Ffscale int64 + Fldavg [3]fixpt_t + F__ccgo_pad1 [4]byte + Ffscale int64 } /* resource.h:140:1 */ func test_getrusage(tls *libc.TLS, clientData uintptr, interp uintptr, objc int32, objv uintptr) int32 { /* test1.c:7209:26: */ @@ -51817,9 +52282,9 @@ func optimization_control(tls *libc.TLS, clientData uintptr, interp uintptr, obj } zOpt = tcl.XTcl_GetString(tls, *(*uintptr)(unsafe.Pointer(objv + 2*8))) for i = 0; uint64(i) < (uint64(unsafe.Sizeof(aOpt)) / uint64(unsafe.Sizeof(struct { - FzOptName uintptr - Fmask int32 - _ [4]byte + FzOptName uintptr + Fmask int32 + F__ccgo_pad1 [4]byte }{}))); i++ { if libc.Xstrcmp(tls, zOpt, aOpt[i].FzOptName) == 0 { mask = aOpt[i].Fmask @@ -51830,16 +52295,16 @@ func optimization_control(tls *libc.TLS, clientData uintptr, interp uintptr, obj mask = ^mask } if uint64(i) >= (uint64(unsafe.Sizeof(aOpt)) / uint64(unsafe.Sizeof(struct { - FzOptName uintptr - Fmask int32 - _ [4]byte + FzOptName uintptr + Fmask int32 + F__ccgo_pad1 [4]byte }{}))) { 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 - Fmask int32 - _ [4]byte + FzOptName uintptr + Fmask int32 + F__ccgo_pad1 [4]byte }{}))); i++ { tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp+16, ts+4755 /* " " */, aOpt[i].FzOptName, uintptr(0))) } @@ -51850,9 +52315,9 @@ func optimization_control(tls *libc.TLS, clientData uintptr, interp uintptr, obj } var aOpt = [13]struct { - FzOptName uintptr - Fmask int32 - _ [4]byte + FzOptName uintptr + Fmask int32 + F__ccgo_pad1 [4]byte }{ {FzOptName: ts + 19121 /* "all" */, Fmask: libc.Int32FromUint32(SQLITE_AllOpts)}, {FzOptName: ts + 19125 /* "none" */}, @@ -51908,7 +52373,9 @@ func tclLoadStaticExtensionCmd(tls *libc.TLS, clientData uintptr, interp uintptr return TCL_ERROR } if aExtension[i].FpInit != 0 { - rc = (*(*func(*libc.TLS, uintptr, uintptr, uintptr) int32)(unsafe.Pointer((uintptr(unsafe.Pointer(&aExtension)) + uintptr(i)*16 + 8 /* &.pInit */))))(tls, *(*uintptr)(unsafe.Pointer(bp + 64 /* db */)), bp+72 /* &zErrMsg */, uintptr(0)) + rc = (*struct { + f func(*libc.TLS, uintptr, uintptr, uintptr) int32 + })(unsafe.Pointer(&struct{ uintptr }{aExtension[i].FpInit})).f(tls, *(*uintptr)(unsafe.Pointer(bp + 64 /* db */)), bp+72 /* &zErrMsg */, uintptr(0)) } else { rc = SQLITE_OK } @@ -52239,18 +52706,18 @@ func test_sqlite3_db_config(tls *libc.TLS, clientData uintptr, interp uintptr, o zSetting += uintptr(7) } for i = 0; i < (int32(uint64(unsafe.Sizeof(aSetting)) / uint64(unsafe.Sizeof(struct { - FzName uintptr - FeVal int32 - _ [4]byte + FzName uintptr + FeVal int32 + F__ccgo_pad1 [4]byte }{})))); i++ { if libc.Xstrcmp(tls, zSetting, aSetting[i].FzName) == 0 { break } } if i >= (int32(uint64(unsafe.Sizeof(aSetting)) / uint64(unsafe.Sizeof(struct { - FzName uintptr - FeVal int32 - _ [4]byte + FzName uintptr + FeVal int32 + F__ccgo_pad1 [4]byte }{})))) { tcl.XTcl_SetObjResult(tls, interp, tcl.XTcl_NewStringObj(tls, ts+19538 /* "unknown sqlite3_..." */, -1)) @@ -52269,9 +52736,9 @@ func test_sqlite3_db_config(tls *libc.TLS, clientData uintptr, interp uintptr, o } var aSetting = [14]struct { - FzName uintptr - FeVal int32 - _ [4]byte + FzName uintptr + FeVal int32 + F__ccgo_pad1 [4]byte }{ {FzName: ts + 19572 /* "FKEY" */, FeVal: SQLITE_DBCONFIG_ENABLE_FKEY}, {FzName: ts + 19577 /* "TRIGGER" */, FeVal: SQLITE_DBCONFIG_ENABLE_TRIGGER}, @@ -52397,7 +52864,9 @@ func test_write_db(tls *libc.TLS, clientData uintptr, interp uintptr, objc int32 aData = tcl.XTcl_GetByteArrayFromObj(tls, *(*uintptr)(unsafe.Pointer(objv + 3*8)), bp+16 /* &nData */) sqlite3.Xsqlite3_file_control(tls, *(*uintptr)(unsafe.Pointer(bp /* db */)), ts+85 /* "main" */, SQLITE_FCNTL_FILE_POINTER, bp+24 /* &pFile */) - rc = (*(*func(*libc.TLS, uintptr, uintptr, int32, sqlite3_int64) int32)(unsafe.Pointer(((*sqlite3_file)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp + 24 /* pFile */)))).FpMethods + 24 /* &.xWrite */))))(tls, *(*uintptr)(unsafe.Pointer(bp + 24 /* pFile */)), aData, *(*int32)(unsafe.Pointer(bp + 16 /* nData */)), *(*Tcl_WideInt)(unsafe.Pointer(bp + 8 /* iOff */))) + rc = (*struct { + f func(*libc.TLS, uintptr, uintptr, int32, sqlite3_int64) int32 + })(unsafe.Pointer(&struct{ uintptr }{(*sqlite3_io_methods1)(unsafe.Pointer((*sqlite3_file)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp + 24 /* pFile */)))).FpMethods)).FxWrite})).f(tls, *(*uintptr)(unsafe.Pointer(bp + 24 /* pFile */)), aData, *(*int32)(unsafe.Pointer(bp + 16 /* nData */)), *(*Tcl_WideInt)(unsafe.Pointer(bp + 8 /* iOff */))) tcl.XTcl_SetResult(tls, interp, sqlite3.Xsqlite3ErrName(tls, rc), uintptr(1)) return TCL_OK @@ -53782,7 +54251,7 @@ type MemPage1 = struct { FchildPtrSize u8 Fmax1bytePayload u8 FnOverflow u8 - _ [1]byte + F__ccgo_pad1 [1]byte FmaxLocal u16 FminLocal u16 FcellOffset u16 @@ -53790,7 +54259,7 @@ type MemPage1 = struct { FnCell u16 FmaskPage u16 FaiOvfl [4]u16 - _ [4]byte + F__ccgo_pad2 [4]byte FapOvfl [4]uintptr FpBt uintptr FaData uintptr @@ -54039,11 +54508,11 @@ type MemPage1 = struct { // Forward declarations type MemPage = MemPage1 /* btreeInt.h:232:24 */ type BtLock1 = struct { - FpBtree uintptr - FiTable Pgno - FeLock u8 - _ [3]byte - FpNext uintptr + FpBtree uintptr + FiTable Pgno + FeLock u8 + F__ccgo_pad1 [3]byte + FpNext uintptr } /* btree.h:39:9 */ type BtLock = BtLock1 /* btreeInt.h:233:23 */ @@ -55164,15 +55633,6 @@ var aCmd3 = [14]struct { // _LARGEFILE_SOURCE Large File Support // -// DO NOT EDIT THIS FILE. -// -// It has been auto-edited by fixincludes from: -// -// "/usr/include/sys/types.h" -// -// This had to be done to correct non-standard usages in the -// original, manufacturer supplied header file. - // $NetBSD: types.h,v 1.102 2018/11/06 16:26:44 maya Exp $ // - @@ -55217,21 +55677,21 @@ type pthread_cleanup_store = struct{ Fpad [4]uintptr } /* pthread.h:170:1 */ // Each thread is controlled by an instance of the following // structure. type Thread = struct { - FzFilename uintptr - FxOp uintptr - FzArg uintptr - Fopnum int32 - Fbusy int32 - Fcompleted int32 - _ [4]byte - Fdb uintptr - FpStmt uintptr - FzErr uintptr - FzStaticErr uintptr - Frc int32 - Fargc int32 - Fargv [100]uintptr - Fcolv [100]uintptr + FzFilename uintptr + FxOp uintptr + FzArg uintptr + Fopnum int32 + Fbusy int32 + Fcompleted int32 + F__ccgo_pad1 [4]byte + Fdb uintptr + FpStmt uintptr + FzErr uintptr + FzStaticErr uintptr + Frc int32 + Fargc int32 + Fargv [100]uintptr + Fcolv [100]uintptr } /* test4.c:33:23 */ // There can be as many as 26 threads running at once. Each is named @@ -55253,17 +55713,17 @@ func test_thread_main(tls *libc.TLS, pArg uintptr) uintptr { /* test4.c:67:13: * (*Thread)(unsafe.Pointer(p)).FpStmt = uintptr(0) (*Thread)(unsafe.Pointer(p)).Fcompleted = 1 for (*Thread)(unsafe.Pointer(p)).Fopnum <= (*Thread)(unsafe.Pointer(p)).Fcompleted { - libc2.X__libc_thr_yield(tls) + libc.Xsched_yield(tls) } for (*Thread)(unsafe.Pointer(p)).FxOp != 0 { if ((*Thread)(unsafe.Pointer(p)).FzErr != 0) && ((*Thread)(unsafe.Pointer(p)).FzErr != (*Thread)(unsafe.Pointer(p)).FzStaticErr) { sqlite3.Xsqlite3_free(tls, (*Thread)(unsafe.Pointer(p)).FzErr) (*Thread)(unsafe.Pointer(p)).FzErr = uintptr(0) } - (*(*func(*libc.TLS, uintptr))(unsafe.Pointer((p + 8 /* &.xOp */))))(tls, p) + (*struct{ f func(*libc.TLS, uintptr) })(unsafe.Pointer(&struct{ uintptr }{(*Thread)(unsafe.Pointer(p)).FxOp})).f(tls, p) (*Thread)(unsafe.Pointer(p)).Fcompleted++ for (*Thread)(unsafe.Pointer(p)).Fopnum <= (*Thread)(unsafe.Pointer(p)).Fcompleted { - libc2.X__libc_thr_yield(tls) + libc.Xsched_yield(tls) } } if (*Thread)(unsafe.Pointer(p)).FpStmt != 0 { @@ -55328,7 +55788,7 @@ func tcl_thread_create(tls *libc.TLS, NotUsed uintptr, interp uintptr, argc int3 threadset[i].FzFilename = sqlite3.Xsqlite3_mprintf(tls, ts /* "%s" */, libc.VaList(bp+64, *(*uintptr)(unsafe.Pointer(argv + 2*8)))) threadset[i].Fopnum = 1 threadset[i].Fcompleted = 0 - rc = libc2.Xpthread_create(tls, bp+88 /* &x */, uintptr(0), *(*uintptr)(unsafe.Pointer(&struct { + rc = libc.Xpthread_create(tls, bp+88 /* &x */, uintptr(0), *(*uintptr)(unsafe.Pointer(&struct { f func(*libc.TLS, uintptr) uintptr }{test_thread_main})), (uintptr(unsafe.Pointer(&threadset)) + uintptr(i)*1680)) if rc != 0 { @@ -55337,14 +55797,14 @@ func tcl_thread_create(tls *libc.TLS, NotUsed uintptr, interp uintptr, argc int3 threadset[i].Fbusy = 0 return TCL_ERROR } - libc2.Xpthread_detach(tls, *(*pthread_t)(unsafe.Pointer(bp + 88 /* x */))) + libc.Xpthread_detach(tls, *(*pthread_t)(unsafe.Pointer(bp + 88 /* x */))) return TCL_OK } // Wait for a thread to reach its idle state. func test_thread_wait(tls *libc.TLS, p uintptr) { /* test4.c:168:13: */ for (*Thread)(unsafe.Pointer(p)).Fopnum > (*Thread)(unsafe.Pointer(p)).Fcompleted { - libc2.X__libc_thr_yield(tls) + libc.Xsched_yield(tls) } } @@ -55881,15 +56341,6 @@ var aCmd4 = [15]struct { // c-basic-offset: 4 // fill-column: 78 // End: -// DO NOT EDIT THIS FILE. -// -// It has been auto-edited by fixincludes from: -// -// "/usr/include/stdlib.h" -// -// This had to be done to correct non-standard usages in the -// original, manufacturer supplied header file. - // $NetBSD: stdlib.h,v 1.121 2019/01/05 09:16:46 maya Exp $ // - @@ -56046,9 +56497,9 @@ func name_to_enc(tls *libc.TLS, interp uintptr, pObj uintptr) u8 { /* test5.c:94 } type EncName = struct { - FzName uintptr - Fenc u8 - _ [7]byte + FzName uintptr + Fenc u8 + F__ccgo_pad1 [7]byte } /* test5.c:95:3 */ // Usage: test_translate ?? @@ -56154,15 +56605,15 @@ var aCmd5 = [4]struct { // #define TRACE_CRASHTEST type CrashFile1 = struct { - FpMethod uintptr - FpRealFile uintptr - FzName uintptr - Fflags int32 - _ [4]byte - FzData uintptr - FnData int32 - _ [4]byte - FiSize i64 + FpMethod uintptr + FpRealFile uintptr + FzName uintptr + Fflags int32 + F__ccgo_pad1 [4]byte + FzData uintptr + FnData int32 + F__ccgo_pad2 [4]byte + FiSize i64 } /* test6.c:29:9 */ // end block for C++ @@ -56187,12 +56638,12 @@ type CrashGlobal1 = struct { type CrashGlobal = CrashGlobal1 /* test6.c:30:28 */ type WriteBuffer1 = struct { - FiOffset i64 - FnBuf int32 - _ [4]byte - FzBuf uintptr - FpFile uintptr - FpNext uintptr + FiOffset i64 + FnBuf int32 + F__ccgo_pad1 [4]byte + FzBuf uintptr + FpFile uintptr + FpNext uintptr } /* test6.c:30:9 */ type WriteBuffer = WriteBuffer1 /* test6.c:31:28 */ @@ -56551,22 +57002,28 @@ func cfDeviceCharacteristics(tls *libc.TLS, pFile uintptr) int32 { /* test6.c:54 // Pass-throughs for WAL support. func cfShmLock(tls *libc.TLS, pFile uintptr, ofst int32, n int32, flags int32) int32 { /* test6.c:552:12: */ var pReal uintptr = (*CrashFile)(unsafe.Pointer(pFile)).FpRealFile - return (*(*func(*libc.TLS, uintptr, int32, int32, int32) int32)(unsafe.Pointer(((*sqlite3_file)(unsafe.Pointer(pReal)).FpMethods + 112 /* &.xShmLock */))))(tls, pReal, ofst, n, flags) + return (*struct { + f func(*libc.TLS, uintptr, int32, int32, int32) int32 + })(unsafe.Pointer(&struct{ uintptr }{(*sqlite3_io_methods1)(unsafe.Pointer((*sqlite3_file)(unsafe.Pointer(pReal)).FpMethods)).FxShmLock})).f(tls, pReal, ofst, n, flags) } func cfShmBarrier(tls *libc.TLS, pFile uintptr) { /* test6.c:556:13: */ var pReal uintptr = (*CrashFile)(unsafe.Pointer(pFile)).FpRealFile - (*(*func(*libc.TLS, uintptr))(unsafe.Pointer(((*sqlite3_file)(unsafe.Pointer(pReal)).FpMethods + 120 /* &.xShmBarrier */))))(tls, pReal) + (*struct{ f func(*libc.TLS, uintptr) })(unsafe.Pointer(&struct{ uintptr }{(*sqlite3_io_methods1)(unsafe.Pointer((*sqlite3_file)(unsafe.Pointer(pReal)).FpMethods)).FxShmBarrier})).f(tls, pReal) } func cfShmUnmap(tls *libc.TLS, pFile uintptr, delFlag int32) int32 { /* test6.c:560:12: */ var pReal uintptr = (*CrashFile)(unsafe.Pointer(pFile)).FpRealFile - return (*(*func(*libc.TLS, uintptr, int32) int32)(unsafe.Pointer(((*sqlite3_file)(unsafe.Pointer(pReal)).FpMethods + 128 /* &.xShmUnmap */))))(tls, pReal, delFlag) + return (*struct { + f func(*libc.TLS, uintptr, int32) int32 + })(unsafe.Pointer(&struct{ uintptr }{(*sqlite3_io_methods1)(unsafe.Pointer((*sqlite3_file)(unsafe.Pointer(pReal)).FpMethods)).FxShmUnmap})).f(tls, pReal, delFlag) } func cfShmMap(tls *libc.TLS, pFile uintptr, iRegion int32, sz int32, w int32, pp uintptr) int32 { /* test6.c:564:12: */ var pReal uintptr = (*CrashFile)(unsafe.Pointer(pFile)).FpRealFile - return (*(*func(*libc.TLS, uintptr, int32, int32, int32, uintptr) int32)(unsafe.Pointer(((*sqlite3_file)(unsafe.Pointer(pReal)).FpMethods + 104 /* &.xShmMap */))))(tls, pReal, iRegion, sz, w, libc.AtomicLoadUintptr(&pp)) + return (*struct { + f func(*libc.TLS, uintptr, int32, int32, int32, uintptr) int32 + })(unsafe.Pointer(&struct{ uintptr }{(*sqlite3_io_methods1)(unsafe.Pointer((*sqlite3_file)(unsafe.Pointer(pReal)).FpMethods)).FxShmMap})).f(tls, pReal, iRegion, sz, w, pp) } var CrashFileVtab = sqlite3_io_methods{ @@ -56654,57 +57111,79 @@ func cfOpen(tls *libc.TLS, pCfVfs uintptr, zName uintptr, pFile uintptr, flags i func cfDelete(tls *libc.TLS, pCfVfs uintptr, zPath uintptr, dirSync int32) int32 { /* test6.c:665:12: */ var pVfs uintptr = (*sqlite3_vfs)(unsafe.Pointer(pCfVfs)).FpAppData - return (*(*func(*libc.TLS, uintptr, uintptr, int32) int32)(unsafe.Pointer((pVfs + 48 /* &.xDelete */))))(tls, pVfs, zPath, dirSync) + return (*struct { + f func(*libc.TLS, uintptr, uintptr, int32) int32 + })(unsafe.Pointer(&struct{ uintptr }{(*sqlite3_vfs)(unsafe.Pointer(pVfs)).FxDelete})).f(tls, pVfs, zPath, dirSync) } func cfAccess(tls *libc.TLS, pCfVfs uintptr, zPath uintptr, flags int32, pResOut uintptr) int32 { /* test6.c:669:12: */ var pVfs uintptr = (*sqlite3_vfs)(unsafe.Pointer(pCfVfs)).FpAppData - return (*(*func(*libc.TLS, uintptr, uintptr, int32, uintptr) int32)(unsafe.Pointer((pVfs + 56 /* &.xAccess */))))(tls, pVfs, zPath, flags, pResOut) + return (*struct { + f func(*libc.TLS, uintptr, uintptr, int32, uintptr) int32 + })(unsafe.Pointer(&struct{ uintptr }{(*sqlite3_vfs)(unsafe.Pointer(pVfs)).FxAccess})).f(tls, pVfs, zPath, flags, pResOut) } func cfFullPathname(tls *libc.TLS, pCfVfs uintptr, zPath uintptr, nPathOut int32, zPathOut uintptr) int32 { /* test6.c:678:12: */ var pVfs uintptr = (*sqlite3_vfs)(unsafe.Pointer(pCfVfs)).FpAppData - return (*(*func(*libc.TLS, uintptr, uintptr, int32, uintptr) int32)(unsafe.Pointer((pVfs + 64 /* &.xFullPathname */))))(tls, pVfs, zPath, nPathOut, zPathOut) + return (*struct { + f func(*libc.TLS, uintptr, uintptr, int32, uintptr) int32 + })(unsafe.Pointer(&struct{ uintptr }{(*sqlite3_vfs)(unsafe.Pointer(pVfs)).FxFullPathname})).f(tls, pVfs, zPath, nPathOut, zPathOut) } func cfDlOpen(tls *libc.TLS, pCfVfs uintptr, zPath uintptr) uintptr { /* test6.c:687:13: */ var pVfs uintptr = (*sqlite3_vfs)(unsafe.Pointer(pCfVfs)).FpAppData - return (*(*func(*libc.TLS, uintptr, uintptr) uintptr)(unsafe.Pointer((pVfs + 72 /* &.xDlOpen */))))(tls, pVfs, zPath) + return (*struct { + f func(*libc.TLS, uintptr, uintptr) uintptr + })(unsafe.Pointer(&struct{ uintptr }{(*sqlite3_vfs)(unsafe.Pointer(pVfs)).FxDlOpen})).f(tls, pVfs, zPath) } func cfDlError(tls *libc.TLS, pCfVfs uintptr, nByte int32, zErrMsg uintptr) { /* test6.c:691:13: */ var pVfs uintptr = (*sqlite3_vfs)(unsafe.Pointer(pCfVfs)).FpAppData - (*(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer((pVfs + 80 /* &.xDlError */))))(tls, pVfs, nByte, zErrMsg) + (*struct { + f func(*libc.TLS, uintptr, int32, uintptr) + })(unsafe.Pointer(&struct{ uintptr }{(*sqlite3_vfs)(unsafe.Pointer(pVfs)).FxDlError})).f(tls, pVfs, nByte, zErrMsg) } func cfDlSym(tls *libc.TLS, pCfVfs uintptr, pH uintptr, zSym uintptr) uintptr { /* test6.c:695:13: */ var pVfs uintptr = (*sqlite3_vfs)(unsafe.Pointer(pCfVfs)).FpAppData - return (*(*func(*libc.TLS, uintptr, uintptr, uintptr) uintptr)(unsafe.Pointer((pVfs + 88 /* &.xDlSym */))))(tls, pVfs, pH, zSym) + return (*struct { + f func(*libc.TLS, uintptr, uintptr, uintptr) uintptr + })(unsafe.Pointer(&struct{ uintptr }{(*sqlite3_vfs)(unsafe.Pointer(pVfs)).FxDlSym})).f(tls, pVfs, pH, zSym) } func cfDlClose(tls *libc.TLS, pCfVfs uintptr, pHandle uintptr) { /* test6.c:699:13: */ var pVfs uintptr = (*sqlite3_vfs)(unsafe.Pointer(pCfVfs)).FpAppData - (*(*func(*libc.TLS, uintptr, uintptr))(unsafe.Pointer((pVfs + 96 /* &.xDlClose */))))(tls, pVfs, pHandle) + (*struct { + f func(*libc.TLS, uintptr, uintptr) + })(unsafe.Pointer(&struct{ uintptr }{(*sqlite3_vfs)(unsafe.Pointer(pVfs)).FxDlClose})).f(tls, pVfs, pHandle) } func cfRandomness(tls *libc.TLS, pCfVfs uintptr, nByte int32, zBufOut uintptr) int32 { /* test6.c:703:12: */ var pVfs uintptr = (*sqlite3_vfs)(unsafe.Pointer(pCfVfs)).FpAppData - return (*(*func(*libc.TLS, uintptr, int32, uintptr) int32)(unsafe.Pointer((pVfs + 104 /* &.xRandomness */))))(tls, pVfs, nByte, zBufOut) + return (*struct { + f func(*libc.TLS, uintptr, int32, uintptr) int32 + })(unsafe.Pointer(&struct{ uintptr }{(*sqlite3_vfs)(unsafe.Pointer(pVfs)).FxRandomness})).f(tls, pVfs, nByte, zBufOut) } func cfSleep(tls *libc.TLS, pCfVfs uintptr, nMicro int32) int32 { /* test6.c:707:12: */ var pVfs uintptr = (*sqlite3_vfs)(unsafe.Pointer(pCfVfs)).FpAppData - return (*(*func(*libc.TLS, uintptr, int32) int32)(unsafe.Pointer((pVfs + 112 /* &.xSleep */))))(tls, pVfs, nMicro) + return (*struct { + f func(*libc.TLS, uintptr, int32) int32 + })(unsafe.Pointer(&struct{ uintptr }{(*sqlite3_vfs)(unsafe.Pointer(pVfs)).FxSleep})).f(tls, pVfs, nMicro) } func cfCurrentTime(tls *libc.TLS, pCfVfs uintptr, pTimeOut uintptr) int32 { /* test6.c:711:12: */ var pVfs uintptr = (*sqlite3_vfs)(unsafe.Pointer(pCfVfs)).FpAppData - return (*(*func(*libc.TLS, uintptr, uintptr) int32)(unsafe.Pointer((pVfs + 120 /* &.xCurrentTime */))))(tls, pVfs, pTimeOut) + return (*struct { + f func(*libc.TLS, uintptr, uintptr) int32 + })(unsafe.Pointer(&struct{ uintptr }{(*sqlite3_vfs)(unsafe.Pointer(pVfs)).FxCurrentTime})).f(tls, pVfs, pTimeOut) } func cfGetLastError(tls *libc.TLS, pCfVfs uintptr, n int32, z uintptr) int32 { /* test6.c:715:12: */ var pVfs uintptr = (*sqlite3_vfs)(unsafe.Pointer(pCfVfs)).FpAppData - return (*(*func(*libc.TLS, uintptr, int32, uintptr) int32)(unsafe.Pointer((pVfs + 128 /* &.xGetLastError */))))(tls, pVfs, n, z) + return (*struct { + f func(*libc.TLS, uintptr, int32, uintptr) int32 + })(unsafe.Pointer(&struct{ uintptr }{(*sqlite3_vfs)(unsafe.Pointer(pVfs)).FxGetLastError})).f(tls, pVfs, n, z) } func processDevSymArgs(tls *libc.TLS, interp uintptr, objc int32, objv uintptr, piDeviceChar uintptr, piSectorSize uintptr) int32 { /* test6.c:720:12: */ @@ -56801,9 +57280,9 @@ func processDevSymArgs(tls *libc.TLS, interp uintptr, objc int32, objv uintptr, } type DeviceFlag = struct { - FzName uintptr - FiValue int32 - _ [4]byte + FzName uintptr + FiValue int32 + F__ccgo_pad1 [4]byte } /* test6.c:727:3 */ // tclcmd: sqlite3_crash_now @@ -57086,23 +57565,23 @@ func Sqlitetest6_Init(tls *libc.TLS, interp uintptr) int32 { /* test6.c:1093:5: // Each thread is controlled by an instance of the following // structure. type Thread1 = struct { - FzFilename uintptr - FxOp uintptr - FzArg uintptr - Fopnum int32 - Fbusy int32 - Fcompleted int32 - _ [4]byte - Fdb uintptr - FpStmt uintptr - FzErr uintptr - FzStaticErr uintptr - Frc int32 - Fargc int32 - Fargv [100]uintptr - Fcolv [100]uintptr - FnServer int32 - _ [4]byte + FzFilename uintptr + FxOp uintptr + FzArg uintptr + Fopnum int32 + Fbusy int32 + Fcompleted int32 + F__ccgo_pad1 [4]byte + Fdb uintptr + FpStmt uintptr + FzErr uintptr + FzStaticErr uintptr + Frc int32 + Fargc int32 + Fargv [100]uintptr + Fcolv [100]uintptr + FnServer int32 + F__ccgo_pad2 [4]byte } /* test7.c:53:23 */ // There can be as many as 26 threads running at once. Each is named @@ -57124,17 +57603,17 @@ func client_main(tls *libc.TLS, pArg uintptr) uintptr { /* test7.c:95:13: */ (*Thread1)(unsafe.Pointer(p)).FpStmt = uintptr(0) (*Thread1)(unsafe.Pointer(p)).Fcompleted = 1 for (*Thread1)(unsafe.Pointer(p)).Fopnum <= (*Thread1)(unsafe.Pointer(p)).Fcompleted { - libc2.X__libc_thr_yield(tls) + libc.Xsched_yield(tls) } for (*Thread1)(unsafe.Pointer(p)).FxOp != 0 { if ((*Thread1)(unsafe.Pointer(p)).FzErr != 0) && ((*Thread1)(unsafe.Pointer(p)).FzErr != (*Thread1)(unsafe.Pointer(p)).FzStaticErr) { sqlite3.Xsqlite3_free(tls, (*Thread1)(unsafe.Pointer(p)).FzErr) (*Thread1)(unsafe.Pointer(p)).FzErr = uintptr(0) } - (*(*func(*libc.TLS, uintptr))(unsafe.Pointer((p + 8 /* &.xOp */))))(tls, p) + (*struct{ f func(*libc.TLS, uintptr) })(unsafe.Pointer(&struct{ uintptr }{(*Thread1)(unsafe.Pointer(p)).FxOp})).f(tls, p) (*Thread1)(unsafe.Pointer(p)).Fcompleted++ for (*Thread1)(unsafe.Pointer(p)).Fopnum <= (*Thread1)(unsafe.Pointer(p)).Fcompleted { - libc2.X__libc_thr_yield(tls) + libc.Xsched_yield(tls) } } if (*Thread1)(unsafe.Pointer(p)).FpStmt != 0 { @@ -57199,7 +57678,7 @@ func tcl_client_create(tls *libc.TLS, NotUsed uintptr, interp uintptr, argc int3 threadset1[i].FzFilename = sqlite3.Xsqlite3_mprintf(tls, ts /* "%s" */, libc.VaList(bp+64, *(*uintptr)(unsafe.Pointer(argv + 2*8)))) threadset1[i].Fopnum = 1 threadset1[i].Fcompleted = 0 - rc = libc2.Xpthread_create(tls, bp+88 /* &x */, uintptr(0), *(*uintptr)(unsafe.Pointer(&struct { + rc = libc.Xpthread_create(tls, bp+88 /* &x */, uintptr(0), *(*uintptr)(unsafe.Pointer(&struct { f func(*libc.TLS, uintptr) uintptr }{client_main})), (uintptr(unsafe.Pointer(&threadset1)) + uintptr(i)*1688)) if rc != 0 { @@ -57208,7 +57687,7 @@ func tcl_client_create(tls *libc.TLS, NotUsed uintptr, interp uintptr, argc int3 threadset1[i].Fbusy = 0 return TCL_ERROR } - libc2.Xpthread_detach(tls, *(*pthread_t)(unsafe.Pointer(bp + 88 /* x */))) + libc.Xpthread_detach(tls, *(*pthread_t)(unsafe.Pointer(bp + 88 /* x */))) if threadset1[i].FnServer == 0 { threadset1[i].FnServer = 1 sqlite3_server_start2(tls, (uintptr(unsafe.Pointer(&threadset1)) + uintptr(i)*1688 + 1680 /* &.nServer */)) @@ -57219,7 +57698,7 @@ func tcl_client_create(tls *libc.TLS, NotUsed uintptr, interp uintptr, argc int3 // Wait for a thread to reach its idle state. func client_wait(tls *libc.TLS, p uintptr) { /* test7.c:200:13: */ for (*Thread1)(unsafe.Pointer(p)).Fopnum > (*Thread1)(unsafe.Pointer(p)).Fcompleted { - libc2.X__libc_thr_yield(tls) + libc.Xsched_yield(tls) } } @@ -57306,7 +57785,7 @@ func tcl_client_halt(tls *libc.TLS, NotUsed uintptr, interp uintptr, argc int32, if i == N_THREAD { break } - libc2.X__libc_thr_yield(tls) + libc.Xsched_yield(tls) } } return TCL_OK @@ -57720,15 +58199,6 @@ var aCmd6 = [13]struct { // c-basic-offset: 4 // fill-column: 78 // End: -// DO NOT EDIT THIS FILE. -// -// It has been auto-edited by fixincludes from: -// -// "/usr/include/stdlib.h" -// -// This had to be done to correct non-standard usages in the -// original, manufacturer supplied header file. - // $NetBSD: stdlib.h,v 1.121 2019/01/05 09:16:46 maya Exp $ // - @@ -57803,7 +58273,7 @@ type echo_vtab1 = struct { FzTableName uintptr FzLogName uintptr FnCol int32 - _ [4]byte + F__ccgo_pad1 [4]byte FaIndex uintptr FaCol uintptr } /* test8.c:27:9 */ @@ -57815,15 +58285,6 @@ type echo_vtab1 = struct { // c-basic-offset: 4 // fill-column: 78 // End: -// DO NOT EDIT THIS FILE. -// -// It has been auto-edited by fixincludes from: -// -// "/usr/include/stdlib.h" -// -// This had to be done to correct non-standard usages in the -// original, manufacturer supplied header file. - // $NetBSD: stdlib.h,v 1.121 2019/01/05 09:16:46 maya Exp $ // - @@ -59334,15 +59795,6 @@ var aObjCmd2 = [2]struct { // c-basic-offset: 4 // fill-column: 78 // End: -// DO NOT EDIT THIS FILE. -// -// It has been auto-edited by fixincludes from: -// -// "/usr/include/stdlib.h" -// -// This had to be done to correct non-standard usages in the -// original, manufacturer supplied header file. - // $NetBSD: stdlib.h,v 1.121 2019/01/05 09:16:46 maya Exp $ // - @@ -60692,15 +61144,6 @@ func sqlite3BtreeCursorList(tls *libc.TLS, p uintptr) { /* test_btree.c:52:6: */ // c-basic-offset: 4 // fill-column: 78 // End: -// DO NOT EDIT THIS FILE. -// -// It has been auto-edited by fixincludes from: -// -// "/usr/include/stdlib.h" -// -// This had to be done to correct non-standard usages in the -// original, manufacturer supplied header file. - // $NetBSD: stdlib.h,v 1.121 2019/01/05 09:16:46 maya Exp $ // - @@ -61324,7 +61767,7 @@ type DevsymGlobal = struct { FiDeviceChar int32 FiSectorSize int32 FnWriteCrash int32 - _ [4]byte + F__ccgo_pad1 [4]byte } /* test_devsym.c:76:1 */ var g1 = DevsymGlobal{FiSectorSize: 512} /* test_devsym.c:82:21 */ @@ -61403,22 +61846,28 @@ func devsymDeviceCharacteristics(tls *libc.TLS, pFile uintptr) int32 { /* test_d // Shared-memory methods are all pass-thrus. func devsymShmLock(tls *libc.TLS, pFile uintptr, ofst int32, n int32, flags int32) int32 { /* test_devsym.c:192:12: */ var p uintptr = pFile - return (*(*func(*libc.TLS, uintptr, int32, int32, int32) int32)(unsafe.Pointer(((*sqlite3_file)(unsafe.Pointer((*devsym_file)(unsafe.Pointer(p)).FpReal)).FpMethods + 112 /* &.xShmLock */))))(tls, (*devsym_file)(unsafe.Pointer(p)).FpReal, ofst, n, flags) + return (*struct { + f func(*libc.TLS, uintptr, int32, int32, int32) int32 + })(unsafe.Pointer(&struct{ uintptr }{(*sqlite3_io_methods1)(unsafe.Pointer((*sqlite3_file)(unsafe.Pointer((*devsym_file)(unsafe.Pointer(p)).FpReal)).FpMethods)).FxShmLock})).f(tls, (*devsym_file)(unsafe.Pointer(p)).FpReal, ofst, n, flags) } func devsymShmMap(tls *libc.TLS, pFile uintptr, iRegion int32, szRegion int32, isWrite int32, pp uintptr) int32 { /* test_devsym.c:196:12: */ var p uintptr = pFile - return (*(*func(*libc.TLS, uintptr, int32, int32, int32, uintptr) int32)(unsafe.Pointer(((*sqlite3_file)(unsafe.Pointer((*devsym_file)(unsafe.Pointer(p)).FpReal)).FpMethods + 104 /* &.xShmMap */))))(tls, (*devsym_file)(unsafe.Pointer(p)).FpReal, iRegion, szRegion, isWrite, libc.AtomicLoadUintptr(&pp)) + return (*struct { + f func(*libc.TLS, uintptr, int32, int32, int32, uintptr) int32 + })(unsafe.Pointer(&struct{ uintptr }{(*sqlite3_io_methods1)(unsafe.Pointer((*sqlite3_file)(unsafe.Pointer((*devsym_file)(unsafe.Pointer(p)).FpReal)).FpMethods)).FxShmMap})).f(tls, (*devsym_file)(unsafe.Pointer(p)).FpReal, iRegion, szRegion, isWrite, pp) } func devsymShmBarrier(tls *libc.TLS, pFile uintptr) { /* test_devsym.c:206:13: */ var p uintptr = pFile - (*(*func(*libc.TLS, uintptr))(unsafe.Pointer(((*sqlite3_file)(unsafe.Pointer((*devsym_file)(unsafe.Pointer(p)).FpReal)).FpMethods + 120 /* &.xShmBarrier */))))(tls, (*devsym_file)(unsafe.Pointer(p)).FpReal) + (*struct{ f func(*libc.TLS, uintptr) })(unsafe.Pointer(&struct{ uintptr }{(*sqlite3_io_methods1)(unsafe.Pointer((*sqlite3_file)(unsafe.Pointer((*devsym_file)(unsafe.Pointer(p)).FpReal)).FpMethods)).FxShmBarrier})).f(tls, (*devsym_file)(unsafe.Pointer(p)).FpReal) } func devsymShmUnmap(tls *libc.TLS, pFile uintptr, delFlag int32) int32 { /* test_devsym.c:210:12: */ var p uintptr = pFile - return (*(*func(*libc.TLS, uintptr, int32) int32)(unsafe.Pointer(((*sqlite3_file)(unsafe.Pointer((*devsym_file)(unsafe.Pointer(p)).FpReal)).FpMethods + 128 /* &.xShmUnmap */))))(tls, (*devsym_file)(unsafe.Pointer(p)).FpReal, delFlag) + return (*struct { + f func(*libc.TLS, uintptr, int32) int32 + })(unsafe.Pointer(&struct{ uintptr }{(*sqlite3_io_methods1)(unsafe.Pointer((*sqlite3_file)(unsafe.Pointer((*devsym_file)(unsafe.Pointer(p)).FpReal)).FpMethods)).FxShmUnmap})).f(tls, (*devsym_file)(unsafe.Pointer(p)).FpReal, delFlag) } // Open an devsym file handle. @@ -61487,7 +61936,9 @@ func devsymSleep(tls *libc.TLS, pVfs uintptr, nMicro int32) int32 { /* test_devs // Return the current time as a Julian Day number in *pTimeOut. func devsymCurrentTime(tls *libc.TLS, pVfs uintptr, pTimeOut uintptr) int32 { /* test_devsym.c:344:12: */ - return (*(*func(*libc.TLS, uintptr, uintptr) int32)(unsafe.Pointer((g1.FpVfs + 120 /* &.xCurrentTime */))))(tls, g1.FpVfs, pTimeOut) + return (*struct { + f func(*libc.TLS, uintptr, uintptr) int32 + })(unsafe.Pointer(&struct{ uintptr }{(*sqlite3_vfs)(unsafe.Pointer(g1.FpVfs)).FxCurrentTime})).f(tls, g1.FpVfs, pTimeOut) } // Return the sector-size in bytes for an writecrash-file. @@ -61844,10 +62295,10 @@ type FstreeVtab1 = struct { // Start of fstree implementation. type FstreeVtab = FstreeVtab1 /* test_fs.c:328:27 */ type FstreeCsr1 = struct { - Fbase sqlite3_vtab_cursor - FpStmt uintptr - Ffd int32 - _ [4]byte + Fbase sqlite3_vtab_cursor + FpStmt uintptr + Ffd int32 + F__ccgo_pad1 [4]byte } /* test_fs.c:329:9 */ type FstreeCsr = FstreeCsr1 /* test_fs.c:329:26 */ @@ -62920,11 +63371,11 @@ func registerTestFunctions(tls *libc.TLS, db uintptr, pzErrMsg uintptr, pThunk u var i int32 for i = 0; uint64(i) < (uint64(unsafe.Sizeof(aFuncs)) / uint64(unsafe.Sizeof(struct { - FzName uintptr - FnArg int8 - _ [3]byte - FeTextRep uint32 - FxFunc uintptr + FzName uintptr + FnArg int8 + F__ccgo_pad1 [3]byte + FeTextRep uint32 + FxFunc uintptr }{}))); i++ { sqlite3.Xsqlite3_create_function(tls, db, aFuncs[i].FzName, int32(aFuncs[i].FnArg), int32(aFuncs[i].FeTextRep), uintptr(0), aFuncs[i].FxFunc, uintptr(0), uintptr(0)) @@ -62939,11 +63390,11 @@ func registerTestFunctions(tls *libc.TLS, db uintptr, pzErrMsg uintptr, pThunk u } var aFuncs = [20]struct { - FzName uintptr - FnArg int8 - _ [3]byte - FeTextRep uint32 - FxFunc uintptr + FzName uintptr + FnArg int8 + F__ccgo_pad1 [3]byte + FeTextRep uint32 + FxFunc uintptr }{ {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}, @@ -63325,15 +63776,6 @@ var aObjCmd7 = [3]struct { // c-basic-offset: 4 // fill-column: 78 // End: -// DO NOT EDIT THIS FILE. -// -// It has been auto-edited by fixincludes from: -// -// "/usr/include/stdlib.h" -// -// This had to be done to correct non-standard usages in the -// original, manufacturer supplied header file. - // $NetBSD: stdlib.h,v 1.121 2019/01/05 09:16:46 maya Exp $ // - @@ -63992,7 +64434,9 @@ func wrMemInit(tls *libc.TLS, pAppData uintptr) int32 { /* test_init.c:49:12: */ if wrapped.Fmem_fail != 0 { rc = SQLITE_ERROR } else { - rc = (*(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer((uintptr(unsafe.Pointer(&wrapped)) + 104 /* &.mem */ + 40 /* &.xInit */))))(tls, wrapped.Fmem.FpAppData) + rc = (*struct { + f func(*libc.TLS, uintptr) int32 + })(unsafe.Pointer(&struct{ uintptr }{wrapped.Fmem.FxInit})).f(tls, wrapped.Fmem.FpAppData) } if rc == SQLITE_OK { wrapped.Fmem_init = 1 @@ -64001,28 +64445,34 @@ func wrMemInit(tls *libc.TLS, pAppData uintptr) int32 { /* test_init.c:49:12: */ } func wrMemShutdown(tls *libc.TLS, pAppData uintptr) { /* test_init.c:61:13: */ - (*(*func(*libc.TLS, uintptr))(unsafe.Pointer((uintptr(unsafe.Pointer(&wrapped)) + 104 /* &.mem */ + 48 /* &.xShutdown */))))(tls, wrapped.Fmem.FpAppData) + (*struct{ f func(*libc.TLS, uintptr) })(unsafe.Pointer(&struct{ uintptr }{wrapped.Fmem.FxShutdown})).f(tls, wrapped.Fmem.FpAppData) wrapped.Fmem_init = 0 } func wrMemMalloc(tls *libc.TLS, n int32) uintptr { /* test_init.c:65:13: */ - return (*(*func(*libc.TLS, int32) uintptr)(unsafe.Pointer((uintptr(unsafe.Pointer(&wrapped)) + 104 /* &.mem */ /* &.xMalloc */))))(tls, n) + return (*struct { + f func(*libc.TLS, int32) uintptr + })(unsafe.Pointer(&struct{ uintptr }{wrapped.Fmem.FxMalloc})).f(tls, n) } func wrMemFree(tls *libc.TLS, p uintptr) { /* test_init.c:66:13: */ - (*(*func(*libc.TLS, uintptr))(unsafe.Pointer((uintptr(unsafe.Pointer(&wrapped)) + 104 /* &.mem */ + 8 /* &.xFree */))))(tls, p) + (*struct{ f func(*libc.TLS, uintptr) })(unsafe.Pointer(&struct{ uintptr }{wrapped.Fmem.FxFree})).f(tls, p) } func wrMemRealloc(tls *libc.TLS, p uintptr, n int32) uintptr { /* test_init.c:67:13: */ - return (*(*func(*libc.TLS, uintptr, int32) uintptr)(unsafe.Pointer((uintptr(unsafe.Pointer(&wrapped)) + 104 /* &.mem */ + 16 /* &.xRealloc */))))(tls, p, n) + return (*struct { + f func(*libc.TLS, uintptr, int32) uintptr + })(unsafe.Pointer(&struct{ uintptr }{wrapped.Fmem.FxRealloc})).f(tls, p, n) } func wrMemSize(tls *libc.TLS, p uintptr) int32 { /* test_init.c:68:12: */ - return (*(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer((uintptr(unsafe.Pointer(&wrapped)) + 104 /* &.mem */ + 24 /* &.xSize */))))(tls, p) + return (*struct { + f func(*libc.TLS, uintptr) int32 + })(unsafe.Pointer(&struct{ uintptr }{wrapped.Fmem.FxSize})).f(tls, p) } func wrMemRoundup(tls *libc.TLS, n int32) int32 { /* test_init.c:69:12: */ - return (*(*func(*libc.TLS, int32) int32)(unsafe.Pointer((uintptr(unsafe.Pointer(&wrapped)) + 104 /* &.mem */ + 32 /* &.xRoundup */))))(tls, n) + return (*struct{ f func(*libc.TLS, int32) int32 })(unsafe.Pointer(&struct{ uintptr }{wrapped.Fmem.FxRoundup})).f(tls, n) } func wrMutexInit(tls *libc.TLS) int32 { /* test_init.c:72:12: */ @@ -64030,7 +64480,7 @@ func wrMutexInit(tls *libc.TLS) int32 { /* test_init.c:72:12: */ if wrapped.Fmutex_fail != 0 { rc = SQLITE_ERROR } else { - rc = (*(*func(*libc.TLS) int32)(unsafe.Pointer((uintptr(unsafe.Pointer(&wrapped)) + 168 /* &.mutex */ /* &.xMutexInit */))))(tls) + rc = (*struct{ f func(*libc.TLS) int32 })(unsafe.Pointer(&struct{ uintptr }{wrapped.Fmutex.FxMutexInit})).f(tls) } if rc == SQLITE_OK { wrapped.Fmutex_init = 1 @@ -64039,37 +64489,45 @@ func wrMutexInit(tls *libc.TLS) int32 { /* test_init.c:72:12: */ } func wrMutexEnd(tls *libc.TLS) int32 { /* test_init.c:84:12: */ - (*(*func(*libc.TLS) int32)(unsafe.Pointer((uintptr(unsafe.Pointer(&wrapped)) + 168 /* &.mutex */ + 8 /* &.xMutexEnd */))))(tls) + (*struct{ f func(*libc.TLS) int32 })(unsafe.Pointer(&struct{ uintptr }{wrapped.Fmutex.FxMutexEnd})).f(tls) wrapped.Fmutex_init = 0 return SQLITE_OK } func wrMutexAlloc(tls *libc.TLS, e int32) uintptr { /* test_init.c:89:22: */ - return (*(*func(*libc.TLS, int32) uintptr)(unsafe.Pointer((uintptr(unsafe.Pointer(&wrapped)) + 168 /* &.mutex */ + 16 /* &.xMutexAlloc */))))(tls, e) + return (*struct { + f func(*libc.TLS, int32) uintptr + })(unsafe.Pointer(&struct{ uintptr }{wrapped.Fmutex.FxMutexAlloc})).f(tls, e) } func wrMutexFree(tls *libc.TLS, p uintptr) { /* test_init.c:92:13: */ - (*(*func(*libc.TLS, uintptr))(unsafe.Pointer((uintptr(unsafe.Pointer(&wrapped)) + 168 /* &.mutex */ + 24 /* &.xMutexFree */))))(tls, p) + (*struct{ f func(*libc.TLS, uintptr) })(unsafe.Pointer(&struct{ uintptr }{wrapped.Fmutex.FxMutexFree})).f(tls, p) } func wrMutexEnter(tls *libc.TLS, p uintptr) { /* test_init.c:95:13: */ - (*(*func(*libc.TLS, uintptr))(unsafe.Pointer((uintptr(unsafe.Pointer(&wrapped)) + 168 /* &.mutex */ + 32 /* &.xMutexEnter */))))(tls, p) + (*struct{ f func(*libc.TLS, uintptr) })(unsafe.Pointer(&struct{ uintptr }{wrapped.Fmutex.FxMutexEnter})).f(tls, p) } func wrMutexTry(tls *libc.TLS, p uintptr) int32 { /* test_init.c:98:12: */ - return (*(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer((uintptr(unsafe.Pointer(&wrapped)) + 168 /* &.mutex */ + 40 /* &.xMutexTry */))))(tls, p) + return (*struct { + f func(*libc.TLS, uintptr) int32 + })(unsafe.Pointer(&struct{ uintptr }{wrapped.Fmutex.FxMutexTry})).f(tls, p) } func wrMutexLeave(tls *libc.TLS, p uintptr) { /* test_init.c:101:13: */ - (*(*func(*libc.TLS, uintptr))(unsafe.Pointer((uintptr(unsafe.Pointer(&wrapped)) + 168 /* &.mutex */ + 48 /* &.xMutexLeave */))))(tls, p) + (*struct{ f func(*libc.TLS, uintptr) })(unsafe.Pointer(&struct{ uintptr }{wrapped.Fmutex.FxMutexLeave})).f(tls, p) } func wrMutexHeld(tls *libc.TLS, p uintptr) int32 { /* test_init.c:104:12: */ - return (*(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer((uintptr(unsafe.Pointer(&wrapped)) + 168 /* &.mutex */ + 56 /* &.xMutexHeld */))))(tls, p) + return (*struct { + f func(*libc.TLS, uintptr) int32 + })(unsafe.Pointer(&struct{ uintptr }{wrapped.Fmutex.FxMutexHeld})).f(tls, p) } func wrMutexNotheld(tls *libc.TLS, p uintptr) int32 { /* test_init.c:107:12: */ - return (*(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer((uintptr(unsafe.Pointer(&wrapped)) + 168 /* &.mutex */ + 64 /* &.xMutexNotheld */))))(tls, p) + return (*struct { + f func(*libc.TLS, uintptr) int32 + })(unsafe.Pointer(&struct{ uintptr }{wrapped.Fmutex.FxMutexNotheld})).f(tls, p) } func wrPCacheInit(tls *libc.TLS, pArg uintptr) int32 { /* test_init.c:113:12: */ @@ -64077,7 +64535,9 @@ func wrPCacheInit(tls *libc.TLS, pArg uintptr) int32 { /* test_init.c:113:12: */ if wrapped.Fpcache_fail != 0 { rc = SQLITE_ERROR } else { - rc = (*(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer((uintptr(unsafe.Pointer(&wrapped)) /* &.pcache */ + 16 /* &.xInit */))))(tls, wrapped.Fpcache.FpArg) + rc = (*struct { + f func(*libc.TLS, uintptr) int32 + })(unsafe.Pointer(&struct{ uintptr }{wrapped.Fpcache.FxInit})).f(tls, wrapped.Fpcache.FpArg) } if rc == SQLITE_OK { wrapped.Fpcache_init = 1 @@ -64086,40 +64546,54 @@ func wrPCacheInit(tls *libc.TLS, pArg uintptr) int32 { /* test_init.c:113:12: */ } func wrPCacheShutdown(tls *libc.TLS, pArg uintptr) { /* test_init.c:125:13: */ - (*(*func(*libc.TLS, uintptr))(unsafe.Pointer((uintptr(unsafe.Pointer(&wrapped)) /* &.pcache */ + 24 /* &.xShutdown */))))(tls, wrapped.Fpcache.FpArg) + (*struct{ f func(*libc.TLS, uintptr) })(unsafe.Pointer(&struct{ uintptr }{wrapped.Fpcache.FxShutdown})).f(tls, wrapped.Fpcache.FpArg) wrapped.Fpcache_init = 0 } func wrPCacheCreate(tls *libc.TLS, a int32, b int32, c int32) uintptr { /* test_init.c:130:23: */ - return (*(*func(*libc.TLS, int32, int32, int32) uintptr)(unsafe.Pointer((uintptr(unsafe.Pointer(&wrapped)) /* &.pcache */ + 32 /* &.xCreate */))))(tls, a, b, c) + return (*struct { + f func(*libc.TLS, int32, int32, int32) uintptr + })(unsafe.Pointer(&struct{ uintptr }{wrapped.Fpcache.FxCreate})).f(tls, a, b, c) } func wrPCacheCachesize(tls *libc.TLS, p uintptr, n int32) { /* test_init.c:133:13: */ - (*(*func(*libc.TLS, uintptr, int32))(unsafe.Pointer((uintptr(unsafe.Pointer(&wrapped)) /* &.pcache */ + 40 /* &.xCachesize */))))(tls, p, n) + (*struct { + f func(*libc.TLS, uintptr, int32) + })(unsafe.Pointer(&struct{ uintptr }{wrapped.Fpcache.FxCachesize})).f(tls, p, n) } func wrPCachePagecount(tls *libc.TLS, p uintptr) int32 { /* test_init.c:136:12: */ - return (*(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer((uintptr(unsafe.Pointer(&wrapped)) /* &.pcache */ + 48 /* &.xPagecount */))))(tls, p) + return (*struct { + f func(*libc.TLS, uintptr) int32 + })(unsafe.Pointer(&struct{ uintptr }{wrapped.Fpcache.FxPagecount})).f(tls, p) } func wrPCacheFetch(tls *libc.TLS, p uintptr, a uint32, b int32) uintptr { /* test_init.c:139:28: */ - return (*(*func(*libc.TLS, uintptr, uint32, int32) uintptr)(unsafe.Pointer((uintptr(unsafe.Pointer(&wrapped)) /* &.pcache */ + 56 /* &.xFetch */))))(tls, p, a, b) + return (*struct { + f func(*libc.TLS, uintptr, uint32, int32) uintptr + })(unsafe.Pointer(&struct{ uintptr }{wrapped.Fpcache.FxFetch})).f(tls, p, a, b) } func wrPCacheUnpin(tls *libc.TLS, p uintptr, a uintptr, b int32) { /* test_init.c:142:13: */ - (*(*func(*libc.TLS, uintptr, uintptr, int32))(unsafe.Pointer((uintptr(unsafe.Pointer(&wrapped)) /* &.pcache */ + 64 /* &.xUnpin */))))(tls, p, a, b) + (*struct { + f func(*libc.TLS, uintptr, uintptr, int32) + })(unsafe.Pointer(&struct{ uintptr }{wrapped.Fpcache.FxUnpin})).f(tls, p, a, b) } func wrPCacheRekey(tls *libc.TLS, p uintptr, a uintptr, b uint32, c uint32) { /* test_init.c:145:13: */ - (*(*func(*libc.TLS, uintptr, uintptr, uint32, uint32))(unsafe.Pointer((uintptr(unsafe.Pointer(&wrapped)) /* &.pcache */ + 72 /* &.xRekey */))))(tls, p, a, b, c) + (*struct { + f func(*libc.TLS, uintptr, uintptr, uint32, uint32) + })(unsafe.Pointer(&struct{ uintptr }{wrapped.Fpcache.FxRekey})).f(tls, p, a, b, c) } func wrPCacheTruncate(tls *libc.TLS, p uintptr, a uint32) { /* test_init.c:153:13: */ - (*(*func(*libc.TLS, uintptr, uint32))(unsafe.Pointer((uintptr(unsafe.Pointer(&wrapped)) /* &.pcache */ + 80 /* &.xTruncate */))))(tls, p, a) + (*struct { + f func(*libc.TLS, uintptr, uint32) + })(unsafe.Pointer(&struct{ uintptr }{wrapped.Fpcache.FxTruncate})).f(tls, p, a) } func wrPCacheDestroy(tls *libc.TLS, p uintptr) { /* test_init.c:156:13: */ - (*(*func(*libc.TLS, uintptr))(unsafe.Pointer((uintptr(unsafe.Pointer(&wrapped)) /* &.pcache */ + 88 /* &.xDestroy */))))(tls, p) + (*struct{ f func(*libc.TLS, uintptr) })(unsafe.Pointer(&struct{ uintptr }{wrapped.Fpcache.FxDestroy})).f(tls, p) } func installInitWrappers(tls *libc.TLS) { /* test_init.c:160:13: */ @@ -64294,10 +64768,10 @@ var aObjCmd9 = [4]struct { // An sqlite3_intarray is an abstract type to stores an instance of // an integer array. type sqlite3_intarray1 = struct { - Fn int32 - _ [4]byte - Fa uintptr - FxFree uintptr + Fn int32 + F__ccgo_pad1 [4]byte + Fa uintptr + FxFree uintptr } /* test_intarray.h:99:9 */ // @@ -64321,9 +64795,9 @@ type intarray_vtab1 = struct { // Objects used internally by the virtual table implementation type intarray_vtab = intarray_vtab1 /* test_intarray.c:41:30 */ type intarray_cursor1 = struct { - Fbase sqlite3_vtab_cursor - Fi int32 - _ [4]byte + Fbase sqlite3_vtab_cursor + Fi int32 + F__ccgo_pad1 [4]byte } /* test_intarray.c:42:9 */ type intarray_cursor = intarray_cursor1 /* test_intarray.c:42:32 */ @@ -64333,7 +64807,7 @@ type intarray_cursor = intarray_cursor1 /* test_intarray.c:42:32 */ // Free an sqlite3_intarray object. func intarrayFree(tls *libc.TLS, p uintptr) { /* test_intarray.c:64:13: */ if (*sqlite3_intarray)(unsafe.Pointer(p)).FxFree != 0 { - (*(*func(*libc.TLS, uintptr))(unsafe.Pointer((p + 16 /* &.xFree */))))(tls, (*sqlite3_intarray)(unsafe.Pointer(p)).Fa) + (*struct{ f func(*libc.TLS, uintptr) })(unsafe.Pointer(&struct{ uintptr }{(*sqlite3_intarray)(unsafe.Pointer(p)).FxFree})).f(tls, (*sqlite3_intarray)(unsafe.Pointer(p)).Fa) } sqlite3.Xsqlite3_free(tls, p) } @@ -64478,7 +64952,7 @@ func sqlite3_intarray_create(tls *libc.TLS, db uintptr, zName uintptr, ppReturn // array does change or is deallocated undefined behavior will result. func sqlite3_intarray_bind(tls *libc.TLS, pIntArray uintptr, nElements int32, aElements uintptr, xFree uintptr) int32 { /* test_intarray.c:257:16: */ if (*sqlite3_intarray)(unsafe.Pointer(pIntArray)).FxFree != 0 { - (*(*func(*libc.TLS, uintptr))(unsafe.Pointer((pIntArray + 16 /* &.xFree */))))(tls, (*sqlite3_intarray)(unsafe.Pointer(pIntArray)).Fa) + (*struct{ f func(*libc.TLS, uintptr) })(unsafe.Pointer(&struct{ uintptr }{(*sqlite3_intarray)(unsafe.Pointer(pIntArray)).FxFree})).f(tls, (*sqlite3_intarray)(unsafe.Pointer(pIntArray)).Fa) } (*sqlite3_intarray)(unsafe.Pointer(pIntArray)).Fn = nElements (*sqlite3_intarray)(unsafe.Pointer(pIntArray)).Fa = aElements @@ -64585,19 +65059,19 @@ var aObjCmd10 = [2]struct { // Name used to identify this VFS. type jt_file1 = struct { - Fbase sqlite3_file - FzName uintptr - Fflags int32 - FeLock int32 - FnPage u32 - FnPagesize u32 - FpWritable uintptr - FaCksum uintptr - FnSync int32 - _ [4]byte - FiMaxOff sqlite3_int64 - FpNext uintptr - FpReal uintptr + Fbase sqlite3_file + FzName uintptr + Fflags int32 + FeLock int32 + FnPage u32 + FnPagesize u32 + FpWritable uintptr + FaCksum uintptr + FnSync int32 + F__ccgo_pad1 [4]byte + FiMaxOff sqlite3_int64 + FpNext uintptr + FpReal uintptr } /* test_journal.c:111:9 */ // Maximum pathname length supported by the jt backend. @@ -65142,7 +65616,9 @@ func jtCheckReservedLock(tls *libc.TLS, pFile uintptr, pResOut uintptr) int32 { // File control method. For custom operations on an jt-file. func jtFileControl(tls *libc.TLS, pFile uintptr, op int32, pArg uintptr) int32 { /* test_journal.c:672:12: */ var p uintptr = pFile - return (*(*func(*libc.TLS, uintptr, int32, uintptr) int32)(unsafe.Pointer(((*sqlite3_file)(unsafe.Pointer((*jt_file)(unsafe.Pointer(p)).FpReal)).FpMethods + 80 /* &.xFileControl */))))(tls, (*jt_file)(unsafe.Pointer(p)).FpReal, op, pArg) + return (*struct { + f func(*libc.TLS, uintptr, int32, uintptr) int32 + })(unsafe.Pointer(&struct{ uintptr }{(*sqlite3_io_methods1)(unsafe.Pointer((*sqlite3_file)(unsafe.Pointer((*jt_file)(unsafe.Pointer(p)).FpReal)).FpMethods)).FxFileControl})).f(tls, (*jt_file)(unsafe.Pointer(p)).FpReal, op, pArg) } // Return the sector-size in bytes for an jt-file. @@ -65215,24 +65691,32 @@ func jtFullPathname(tls *libc.TLS, pVfs uintptr, zPath uintptr, nOut int32, zOut // Open the dynamic library located at zPath and return a handle. func jtDlOpen(tls *libc.TLS, pVfs uintptr, zPath uintptr) uintptr { /* test_journal.c:776:13: */ - return (*(*func(*libc.TLS, uintptr, uintptr) uintptr)(unsafe.Pointer((g2.FpVfs + 72 /* &.xDlOpen */))))(tls, g2.FpVfs, zPath) + return (*struct { + f func(*libc.TLS, uintptr, uintptr) uintptr + })(unsafe.Pointer(&struct{ uintptr }{(*sqlite3_vfs)(unsafe.Pointer(g2.FpVfs)).FxDlOpen})).f(tls, g2.FpVfs, zPath) } // Populate the buffer zErrMsg (size nByte bytes) with a human readable // utf-8 string describing the most recent error encountered associated // with dynamic libraries. func jtDlError(tls *libc.TLS, pVfs uintptr, nByte int32, zErrMsg uintptr) { /* test_journal.c:785:13: */ - (*(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer((g2.FpVfs + 80 /* &.xDlError */))))(tls, g2.FpVfs, nByte, zErrMsg) + (*struct { + f func(*libc.TLS, uintptr, int32, uintptr) + })(unsafe.Pointer(&struct{ uintptr }{(*sqlite3_vfs)(unsafe.Pointer(g2.FpVfs)).FxDlError})).f(tls, g2.FpVfs, nByte, zErrMsg) } // Return a pointer to the symbol zSymbol in the dynamic library pHandle. func jtDlSym(tls *libc.TLS, pVfs uintptr, p uintptr, zSym uintptr) uintptr { /* test_journal.c:792:13: */ - return (*(*func(*libc.TLS, uintptr, uintptr, uintptr) uintptr)(unsafe.Pointer((g2.FpVfs + 88 /* &.xDlSym */))))(tls, g2.FpVfs, p, zSym) + return (*struct { + f func(*libc.TLS, uintptr, uintptr, uintptr) uintptr + })(unsafe.Pointer(&struct{ uintptr }{(*sqlite3_vfs)(unsafe.Pointer(g2.FpVfs)).FxDlSym})).f(tls, g2.FpVfs, p, zSym) } // Close the dynamic library handle pHandle. func jtDlClose(tls *libc.TLS, pVfs uintptr, pHandle uintptr) { /* test_journal.c:799:13: */ - (*(*func(*libc.TLS, uintptr, uintptr))(unsafe.Pointer((g2.FpVfs + 96 /* &.xDlClose */))))(tls, g2.FpVfs, pHandle) + (*struct { + f func(*libc.TLS, uintptr, uintptr) + })(unsafe.Pointer(&struct{ uintptr }{(*sqlite3_vfs)(unsafe.Pointer(g2.FpVfs)).FxDlClose})).f(tls, g2.FpVfs, pHandle) } // Populate the buffer pointed to by zBufOut with nByte bytes of @@ -65249,16 +65733,22 @@ func jtSleep(tls *libc.TLS, pVfs uintptr, nMicro int32) int32 { /* test_journal. // Return the current time as a Julian Day number in *pTimeOut. func jtCurrentTime(tls *libc.TLS, pVfs uintptr, pTimeOut uintptr) int32 { /* test_journal.c:822:12: */ - return (*(*func(*libc.TLS, uintptr, uintptr) int32)(unsafe.Pointer((g2.FpVfs + 120 /* &.xCurrentTime */))))(tls, g2.FpVfs, pTimeOut) + return (*struct { + f func(*libc.TLS, uintptr, uintptr) int32 + })(unsafe.Pointer(&struct{ uintptr }{(*sqlite3_vfs)(unsafe.Pointer(g2.FpVfs)).FxCurrentTime})).f(tls, g2.FpVfs, pTimeOut) } // Return the current time as a Julian Day number in *pTimeOut. func jtCurrentTimeInt64(tls *libc.TLS, pVfs uintptr, pTimeOut uintptr) int32 { /* test_journal.c:828:12: */ - return (*(*func(*libc.TLS, uintptr, uintptr) int32)(unsafe.Pointer((g2.FpVfs + 136 /* &.xCurrentTimeInt64 */))))(tls, g2.FpVfs, pTimeOut) + return (*struct { + f func(*libc.TLS, uintptr, uintptr) int32 + })(unsafe.Pointer(&struct{ uintptr }{(*sqlite3_vfs)(unsafe.Pointer(g2.FpVfs)).FxCurrentTimeInt64})).f(tls, g2.FpVfs, pTimeOut) } func jtGetLastError(tls *libc.TLS, pVfs uintptr, n int32, z uintptr) int32 { /* test_journal.c:832:12: */ - return (*(*func(*libc.TLS, uintptr, int32, uintptr) int32)(unsafe.Pointer((g2.FpVfs + 128 /* &.xGetLastError */))))(tls, g2.FpVfs, n, z) + return (*struct { + f func(*libc.TLS, uintptr, int32, uintptr) int32 + })(unsafe.Pointer(&struct{ uintptr }{(*sqlite3_vfs)(unsafe.Pointer(g2.FpVfs)).FxGetLastError})).f(tls, g2.FpVfs, n, z) } // ************************************************************************* @@ -65297,15 +65787,6 @@ func jt_unregister(tls *libc.TLS) { /* test_journal.c:865:6: */ // c-basic-offset: 4 // fill-column: 78 // End: -// DO NOT EDIT THIS FILE. -// -// It has been auto-edited by fixincludes from: -// -// "/usr/include/stdlib.h" -// -// This had to be done to correct non-standard usages in the -// original, manufacturer supplied header file. - // $NetBSD: stdlib.h,v 1.121 2019/01/05 09:16:46 maya Exp $ // - @@ -65518,10 +65999,10 @@ type MemFault = struct { FnOkBefore int32 FnOkAfter int32 Fenable u8 - _ [3]byte + F__ccgo_pad1 [3]byte FisInstalled int32 FisBenignMode int32 - _ [4]byte + F__ccgo_pad2 [4]byte Fm sqlite3_mem_methods } /* test_malloc.c:30:8 */ @@ -65532,15 +66013,6 @@ type MemFault = struct { // c-basic-offset: 4 // fill-column: 78 // End: -// DO NOT EDIT THIS FILE. -// -// It has been auto-edited by fixincludes from: -// -// "/usr/include/stdlib.h" -// -// This had to be done to correct non-standard usages in the -// original, manufacturer supplied header file. - // $NetBSD: stdlib.h,v 1.121 2019/01/05 09:16:46 maya Exp $ // - @@ -65797,7 +66269,9 @@ func faultsimStep(tls *libc.TLS) int32 { /* test_malloc.c:67:12: */ func faultsimMalloc(tls *libc.TLS, n int32) uintptr { /* test_malloc.c:94:13: */ var p uintptr = uintptr(0) if !(faultsimStep(tls) != 0) { - p = (*(*func(*libc.TLS, int32) uintptr)(unsafe.Pointer((uintptr(unsafe.Pointer(&memfault)) + 40 /* &.m */ /* &.xMalloc */))))(tls, n) + p = (*struct { + f func(*libc.TLS, int32) uintptr + })(unsafe.Pointer(&struct{ uintptr }{memfault.Fm.FxMalloc})).f(tls, n) } return p } @@ -65807,7 +66281,9 @@ func faultsimMalloc(tls *libc.TLS, n int32) uintptr { /* test_malloc.c:94:13: */ func faultsimRealloc(tls *libc.TLS, pOld uintptr, n int32) uintptr { /* test_malloc.c:107:13: */ var p uintptr = uintptr(0) if !(faultsimStep(tls) != 0) { - p = (*(*func(*libc.TLS, uintptr, int32) uintptr)(unsafe.Pointer((uintptr(unsafe.Pointer(&memfault)) + 40 /* &.m */ + 16 /* &.xRealloc */))))(tls, pOld, n) + p = (*struct { + f func(*libc.TLS, uintptr, int32) uintptr + })(unsafe.Pointer(&struct{ uintptr }{memfault.Fm.FxRealloc})).f(tls, pOld, n) } return p } @@ -66899,9 +67375,9 @@ func test_status(tls *libc.TLS, clientData uintptr, interp uintptr, objc int32, } zOpName = tcl.XTcl_GetString(tls, *(*uintptr)(unsafe.Pointer(objv + 1*8))) for i = 0; i < (int32(uint64(unsafe.Sizeof(aOp1)) / uint64(unsafe.Sizeof(struct { - FzName uintptr - Fop int32 - _ [4]byte + FzName uintptr + Fop int32 + F__ccgo_pad1 [4]byte }{})))); i++ { if libc.Xstrcmp(tls, aOp1[i].FzName, zOpName) == 0 { *(*int32)(unsafe.Pointer(bp /* op */)) = aOp1[i].Fop @@ -66909,9 +67385,9 @@ func test_status(tls *libc.TLS, clientData uintptr, interp uintptr, objc int32, } } if i >= (int32(uint64(unsafe.Sizeof(aOp1)) / uint64(unsafe.Sizeof(struct { - FzName uintptr - Fop int32 - _ [4]byte + FzName uintptr + Fop int32 + F__ccgo_pad1 [4]byte }{})))) { if tcl.XTcl_GetIntFromObj(tls, interp, *(*uintptr)(unsafe.Pointer(objv + 1*8)), bp /* &op */) != 0 { return TCL_ERROR @@ -66932,9 +67408,9 @@ func test_status(tls *libc.TLS, clientData uintptr, interp uintptr, objc int32, } var aOp1 = [10]struct { - FzName uintptr - Fop int32 - _ [4]byte + FzName uintptr + Fop int32 + F__ccgo_pad1 [4]byte }{ {FzName: ts + 33536 /* "SQLITE_STATUS_ME..." */}, {FzName: ts + 33562 /* "SQLITE_STATUS_MA..." */, Fop: SQLITE_STATUS_MALLOC_SIZE}, @@ -66984,9 +67460,9 @@ func test_db_status(tls *libc.TLS, clientData uintptr, interp uintptr, objc int3 zOpName += uintptr(9) } for i = 0; i < (int32(uint64(unsafe.Sizeof(aOp2)) / uint64(unsafe.Sizeof(struct { - FzName uintptr - Fop int32 - _ [4]byte + FzName uintptr + Fop int32 + F__ccgo_pad1 [4]byte }{})))); i++ { if libc.Xstrcmp(tls, aOp2[i].FzName, zOpName) == 0 { *(*int32)(unsafe.Pointer(bp + 8 /* op */)) = aOp2[i].Fop @@ -66994,9 +67470,9 @@ func test_db_status(tls *libc.TLS, clientData uintptr, interp uintptr, objc int3 } } if i >= (int32(uint64(unsafe.Sizeof(aOp2)) / uint64(unsafe.Sizeof(struct { - FzName uintptr - Fop int32 - _ [4]byte + FzName uintptr + Fop int32 + F__ccgo_pad1 [4]byte }{})))) { if tcl.XTcl_GetIntFromObj(tls, interp, *(*uintptr)(unsafe.Pointer(objv + 2*8)), bp+8 /* &op */) != 0 { return TCL_ERROR @@ -67017,9 +67493,9 @@ func test_db_status(tls *libc.TLS, clientData uintptr, interp uintptr, objc int3 } var aOp2 = [13]struct { - FzName uintptr - Fop int32 - _ [4]byte + FzName uintptr + Fop int32 + F__ccgo_pad1 [4]byte }{ {FzName: ts + 33859 /* "LOOKASIDE_USED" */}, {FzName: ts + 33874 /* "CACHE_USED" */, Fop: SQLITE_DBSTATUS_CACHE_USED}, @@ -67086,10 +67562,10 @@ func test_vfs_oom_test(tls *libc.TLS, clientData uintptr, interp uintptr, objc i func Sqlitetest_malloc_Init(tls *libc.TLS, interp uintptr) int32 { /* test_malloc.c:1467:5: */ var i int32 for i = 0; uint64(i) < (uint64(unsafe.Sizeof(aObjCmd11)) / uint64(unsafe.Sizeof(struct { - FzName uintptr - FxProc uintptr - FclientData int32 - _ [4]byte + FzName uintptr + FxProc uintptr + FclientData int32 + F__ccgo_pad1 [4]byte }{}))); i++ { var c ClientData = uintptr(intptr_t(aObjCmd11[i].FclientData)) tcl.XTcl_CreateObjCommand(tls, interp, aObjCmd11[i].FzName, aObjCmd11[i].FxProc, c, uintptr(0)) @@ -67098,10 +67574,10 @@ func Sqlitetest_malloc_Init(tls *libc.TLS, interp uintptr) int32 { /* test_mallo } var aObjCmd11 = [32]struct { - FzName uintptr - FxProc uintptr - FclientData int32 - _ [4]byte + FzName uintptr + FxProc uintptr + FclientData int32 + F__ccgo_pad1 [4]byte }{ {FzName: ts + 28381 /* "sqlite3_malloc" */, FxProc: 0}, {FzName: ts + 28396 /* "sqlite3_realloc" */, FxProc: 0}, @@ -67566,7 +68042,9 @@ func md5_cmd(tls *libc.TLS, cd uintptr, interp uintptr, argc int32, argv uintptr MD5Update(tls, bp+48 /* &ctx */, *(*uintptr)(unsafe.Pointer(argv + 1*8)), uint32(libc.Xstrlen(tls, *(*uintptr)(unsafe.Pointer(argv + 1*8))))) MD5Final(tls, bp+140 /* &digest[0] */, bp+48 /* &ctx */) converter = cd - (*(*func(*libc.TLS, uintptr, uintptr))(unsafe.Pointer(&converter)))(tls, bp+140 /* &digest[0] */, bp+156 /* &zBuf[0] */) + (*struct { + f func(*libc.TLS, uintptr, uintptr) + })(unsafe.Pointer(&struct{ uintptr }{converter})).f(tls, bp+140 /* &digest[0] */, bp+156 /* &zBuf[0] */) tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp+32, bp+156 /* &zBuf[0] */, uintptr(0))) return TCL_OK } @@ -67624,7 +68102,9 @@ func md5file_cmd(tls *libc.TLS, cd uintptr, interp uintptr, argc int32, argv uin libc.Xfclose(tls, in) MD5Final(tls, bp+10412 /* &digest[0] */, bp+80 /* &ctx */) converter = cd - (*(*func(*libc.TLS, uintptr, uintptr))(unsafe.Pointer(&converter)))(tls, bp+10412 /* &digest[0] */, bp+172 /* &zBuf[0] */) + (*struct { + f func(*libc.TLS, uintptr, uintptr) + })(unsafe.Pointer(&struct{ uintptr }{converter})).f(tls, bp+10412 /* &digest[0] */, bp+172 /* &zBuf[0] */) tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp+64, bp+172 /* &zBuf[0] */, uintptr(0))) return TCL_OK } @@ -67744,16 +68224,16 @@ func Md5_Register(tls *libc.TLS, db uintptr, pzErrMsg uintptr, pThunk uintptr) i // Forward declaration of all object types type multiplexGroup1 = struct { - FaReal uintptr - FnReal int32 - _ [4]byte - FzName uintptr - FnName int32 - Fflags int32 - FszChunk uint32 - FbEnabled uint8 - FbTruncate uint8 - _ [2]byte + FaReal uintptr + FnReal int32 + F__ccgo_pad1 [4]byte + FzName uintptr + FnName int32 + Fflags int32 + FszChunk uint32 + FbEnabled uint8 + FbTruncate uint8 + F__ccgo_pad2 [2]byte } /* test_multiplex.c:106:9 */ // The following macros redefine the API routines so that they are @@ -67821,7 +68301,7 @@ var gMultiplex struct { FsIoMethodsV1 sqlite3_io_methods FsIoMethodsV2 sqlite3_io_methods FisInitialized int32 - _ [4]byte + F__ccgo_pad1 [4]byte } /* test_multiplex.c:176:3: */ //************************ Utility Routines ******************************** @@ -67934,7 +68414,9 @@ func multiplexSubOpen(tls *libc.TLS, pGroup uintptr, iChunk int32, rc uintptr, p } else if (*multiplexReal)(unsafe.Pointer((*multiplexGroup)(unsafe.Pointer(pGroup)).FaReal+uintptr(iChunk)*16)).Fz == uintptr(0) { return uintptr(0) } else { - *(*int32)(unsafe.Pointer(rc)) = (*(*func(*libc.TLS, uintptr, uintptr, int32, uintptr) int32)(unsafe.Pointer((pOrigVfs + 56 /* &.xAccess */))))(tls, pOrigVfs, (*multiplexReal)(unsafe.Pointer((*multiplexGroup)(unsafe.Pointer(pGroup)).FaReal+uintptr(iChunk)*16)).Fz, + *(*int32)(unsafe.Pointer(rc)) = (*struct { + f func(*libc.TLS, uintptr, uintptr, int32, uintptr) int32 + })(unsafe.Pointer(&struct{ uintptr }{(*sqlite3_vfs)(unsafe.Pointer(pOrigVfs)).FxAccess})).f(tls, pOrigVfs, (*multiplexReal)(unsafe.Pointer((*multiplexGroup)(unsafe.Pointer(pGroup)).FaReal+uintptr(iChunk)*16)).Fz, 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 { @@ -67951,7 +68433,9 @@ func multiplexSubOpen(tls *libc.TLS, pGroup uintptr, iChunk int32, rc uintptr, p return uintptr(0) } (*multiplexReal)(unsafe.Pointer((*multiplexGroup)(unsafe.Pointer(pGroup)).FaReal + uintptr(iChunk)*16)).Fp = pSubOpen - *(*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, + *(*int32)(unsafe.Pointer(rc)) = (*struct { + f func(*libc.TLS, uintptr, uintptr, uintptr, int32, uintptr) int32 + })(unsafe.Pointer(&struct{ uintptr }{(*sqlite3_vfs)(unsafe.Pointer(pOrigVfs)).FxOpen})).f(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+34844, /* "multiplexor.xOpe..." */ @@ -67981,7 +68465,9 @@ func multiplexSubSize(tls *libc.TLS, pGroup uintptr, iChunk int32, rc uintptr) s if pSub == uintptr(0) { return int64(0) } - *(*int32)(unsafe.Pointer(rc)) = (*(*func(*libc.TLS, uintptr, uintptr) int32)(unsafe.Pointer(((*sqlite3_file)(unsafe.Pointer(pSub)).FpMethods + 48 /* &.xFileSize */))))(tls, pSub, bp /* &sz */) + *(*int32)(unsafe.Pointer(rc)) = (*struct { + f func(*libc.TLS, uintptr, uintptr) int32 + })(unsafe.Pointer(&struct{ uintptr }{(*sqlite3_io_methods1)(unsafe.Pointer((*sqlite3_file)(unsafe.Pointer(pSub)).FpMethods)).FxFileSize})).f(tls, pSub, bp /* &sz */) return *(*sqlite3_int64)(unsafe.Pointer(bp /* sz */)) } @@ -68041,9 +68527,13 @@ func multiplexFuncInit(tls *libc.TLS, db uintptr, pzErrMsg uintptr, pApi uintptr func multiplexSubClose(tls *libc.TLS, pGroup uintptr, iChunk int32, pOrigVfs uintptr) { /* test_multiplex.c:431:13: */ var pSubOpen uintptr = (*multiplexReal)(unsafe.Pointer((*multiplexGroup)(unsafe.Pointer(pGroup)).FaReal + uintptr(iChunk)*16)).Fp if pSubOpen != 0 { - (*(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(((*sqlite3_file)(unsafe.Pointer(pSubOpen)).FpMethods + 8 /* &.xClose */))))(tls, pSubOpen) + (*struct { + f func(*libc.TLS, uintptr) int32 + })(unsafe.Pointer(&struct{ uintptr }{(*sqlite3_io_methods1)(unsafe.Pointer((*sqlite3_file)(unsafe.Pointer(pSubOpen)).FpMethods)).FxClose})).f(tls, pSubOpen) if (pOrigVfs != 0) && ((*multiplexReal)(unsafe.Pointer((*multiplexGroup)(unsafe.Pointer(pGroup)).FaReal+uintptr(iChunk)*16)).Fz != 0) { - (*(*func(*libc.TLS, uintptr, uintptr, int32) int32)(unsafe.Pointer((pOrigVfs + 48 /* &.xDelete */))))(tls, pOrigVfs, (*multiplexReal)(unsafe.Pointer((*multiplexGroup)(unsafe.Pointer(pGroup)).FaReal+uintptr(iChunk)*16)).Fz, 0) + (*struct { + f func(*libc.TLS, uintptr, uintptr, int32) int32 + })(unsafe.Pointer(&struct{ uintptr }{(*sqlite3_vfs)(unsafe.Pointer(pOrigVfs)).FxDelete})).f(tls, pOrigVfs, (*multiplexReal)(unsafe.Pointer((*multiplexGroup)(unsafe.Pointer(pGroup)).FaReal+uintptr(iChunk)*16)).Fz, 0) } sqlite3.Xsqlite3_free(tls, (*multiplexReal)(unsafe.Pointer((*multiplexGroup)(unsafe.Pointer(pGroup)).FaReal+uintptr(iChunk)*16)).Fp) } @@ -68142,7 +68632,9 @@ func multiplexOpen(tls *libc.TLS, pVfs uintptr, zName uintptr, pConn uintptr, fl if *(*int32)(unsafe.Pointer(bp /* rc */)) == SQLITE_OK { // var sz64 sqlite3_int64 at bp+8, 8 - *(*int32)(unsafe.Pointer(bp /* rc */)) = (*(*func(*libc.TLS, uintptr, uintptr) int32)(unsafe.Pointer(((*sqlite3_file)(unsafe.Pointer(pSubOpen)).FpMethods + 48 /* &.xFileSize */))))(tls, pSubOpen, bp+8 /* &sz64 */) + *(*int32)(unsafe.Pointer(bp /* rc */)) = (*struct { + f func(*libc.TLS, uintptr, uintptr) int32 + })(unsafe.Pointer(&struct{ uintptr }{(*sqlite3_io_methods1)(unsafe.Pointer((*sqlite3_file)(unsafe.Pointer(pSubOpen)).FpMethods)).FxFileSize})).f(tls, pSubOpen, bp+8 /* &sz64 */) if (*(*int32)(unsafe.Pointer(bp /* rc */)) == SQLITE_OK) && (zName != 0) { // var bExists int32 at bp+16, 4 @@ -68155,10 +68647,14 @@ func multiplexOpen(tls *libc.TLS, pVfs uintptr, zName uintptr, pConn uintptr, fl // file-system. var iChunk int32 = 1 for ok := true; ok; ok = ((*(*int32)(unsafe.Pointer(bp /* rc */)) == SQLITE_OK) && (*(*int32)(unsafe.Pointer(bp + 16 /* bExists */)) != 0)) { - *(*int32)(unsafe.Pointer(bp /* rc */)) = (*(*func(*libc.TLS, uintptr, uintptr, int32, uintptr) int32)(unsafe.Pointer((pOrigVfs + 56 /* &.xAccess */))))(tls, pOrigVfs, + *(*int32)(unsafe.Pointer(bp /* rc */)) = (*struct { + f func(*libc.TLS, uintptr, uintptr, int32, uintptr) int32 + })(unsafe.Pointer(&struct{ uintptr }{(*sqlite3_vfs)(unsafe.Pointer(pOrigVfs)).FxAccess})).f(tls, pOrigVfs, (*multiplexReal)(unsafe.Pointer((*multiplexGroup)(unsafe.Pointer(pGroup)).FaReal+uintptr(iChunk)*16)).Fz, SQLITE_ACCESS_EXISTS, bp+16 /* &bExists */) if (*(*int32)(unsafe.Pointer(bp /* rc */)) == SQLITE_OK) && (*(*int32)(unsafe.Pointer(bp + 16 /* bExists */)) != 0) { - *(*int32)(unsafe.Pointer(bp /* rc */)) = (*(*func(*libc.TLS, uintptr, uintptr, int32) int32)(unsafe.Pointer((pOrigVfs + 48 /* &.xDelete */))))(tls, pOrigVfs, (*multiplexReal)(unsafe.Pointer((*multiplexGroup)(unsafe.Pointer(pGroup)).FaReal+uintptr(iChunk)*16)).Fz, 0) + *(*int32)(unsafe.Pointer(bp /* rc */)) = (*struct { + f func(*libc.TLS, uintptr, uintptr, int32) int32 + })(unsafe.Pointer(&struct{ uintptr }{(*sqlite3_vfs)(unsafe.Pointer(pOrigVfs)).FxDelete})).f(tls, pOrigVfs, (*multiplexReal)(unsafe.Pointer((*multiplexGroup)(unsafe.Pointer(pGroup)).FaReal+uintptr(iChunk)*16)).Fz, 0) if *(*int32)(unsafe.Pointer(bp /* rc */)) == SQLITE_OK { *(*int32)(unsafe.Pointer(bp /* rc */)) = multiplexSubFilename(tls, pGroup, libc.PreIncInt32(&iChunk, 1)) } @@ -68174,7 +68670,9 @@ func multiplexOpen(tls *libc.TLS, pVfs uintptr, zName uintptr, pConn uintptr, fl // larger than the chunk size, that means the chunk size is too small. // But we have no way of determining the intended chunk size, so // just disable the multiplexor all togethre. - *(*int32)(unsafe.Pointer(bp /* rc */)) = (*(*func(*libc.TLS, uintptr, uintptr, int32, uintptr) int32)(unsafe.Pointer((pOrigVfs + 56 /* &.xAccess */))))(tls, pOrigVfs, (*multiplexReal)(unsafe.Pointer((*multiplexGroup)(unsafe.Pointer(pGroup)).FaReal+1*16)).Fz, + *(*int32)(unsafe.Pointer(bp /* rc */)) = (*struct { + f func(*libc.TLS, uintptr, uintptr, int32, uintptr) int32 + })(unsafe.Pointer(&struct{ uintptr }{(*sqlite3_vfs)(unsafe.Pointer(pOrigVfs)).FxAccess})).f(tls, pOrigVfs, (*multiplexReal)(unsafe.Pointer((*multiplexGroup)(unsafe.Pointer(pGroup)).FaReal+1*16)).Fz, SQLITE_ACCESS_EXISTS, bp+16 /* &bExists */) *(*int32)(unsafe.Pointer(bp + 16 /* bExists */)) = (libc.Bool32(multiplexSubSize(tls, pGroup, 1, bp /* &rc */) > int64(0))) if ((((*(*int32)(unsafe.Pointer(bp /* rc */)) == SQLITE_OK) && (*(*int32)(unsafe.Pointer(bp + 16 /* bExists */)) != 0)) && (*(*sqlite3_int64)(unsafe.Pointer(bp + 8 /* sz64 */)) == (*(*sqlite3_int64)(unsafe.Pointer(bp + 8 /* sz64 */)) & int64(0xffff0000)))) && (*(*sqlite3_int64)(unsafe.Pointer(bp + 8 /* sz64 */)) > int64(0))) && @@ -68210,7 +68708,9 @@ func multiplexDelete(tls *libc.TLS, pVfs uintptr, zName uintptr, syncDir int32) var rc int32 var pOrigVfs uintptr = gMultiplex.FpOrigVfs // Real VFS - rc = (*(*func(*libc.TLS, uintptr, uintptr, int32) int32)(unsafe.Pointer((pOrigVfs + 48 /* &.xDelete */))))(tls, pOrigVfs, zName, syncDir) + rc = (*struct { + f func(*libc.TLS, uintptr, uintptr, int32) int32 + })(unsafe.Pointer(&struct{ uintptr }{(*sqlite3_vfs)(unsafe.Pointer(pOrigVfs)).FxDelete})).f(tls, pOrigVfs, zName, syncDir) if rc == SQLITE_OK { // If the main chunk was deleted successfully, also delete any subsequent // chunks - starting with the last (highest numbered). @@ -68225,21 +68725,29 @@ func multiplexDelete(tls *libc.TLS, pVfs uintptr, zName uintptr, syncDir int32) for ok := true; ok; ok = ((rc == SQLITE_OK) && (*(*int32)(unsafe.Pointer(bp /* bExists */)) != 0)) { multiplexFilename(tls, zName, nName, SQLITE_OPEN_MAIN_JOURNAL, libc.PreIncInt32(&iChunk, 1), z) - rc = (*(*func(*libc.TLS, uintptr, uintptr, int32, uintptr) int32)(unsafe.Pointer((pOrigVfs + 56 /* &.xAccess */))))(tls, pOrigVfs, z, SQLITE_ACCESS_EXISTS, bp /* &bExists */) + rc = (*struct { + f func(*libc.TLS, uintptr, uintptr, int32, uintptr) int32 + })(unsafe.Pointer(&struct{ uintptr }{(*sqlite3_vfs)(unsafe.Pointer(pOrigVfs)).FxAccess})).f(tls, pOrigVfs, z, SQLITE_ACCESS_EXISTS, bp /* &bExists */) } for (rc == SQLITE_OK) && (iChunk > 1) { multiplexFilename(tls, zName, nName, SQLITE_OPEN_MAIN_JOURNAL, libc.PreDecInt32(&iChunk, 1), z) - rc = (*(*func(*libc.TLS, uintptr, uintptr, int32) int32)(unsafe.Pointer((pOrigVfs + 48 /* &.xDelete */))))(tls, pOrigVfs, z, syncDir) + rc = (*struct { + f func(*libc.TLS, uintptr, uintptr, int32) int32 + })(unsafe.Pointer(&struct{ uintptr }{(*sqlite3_vfs)(unsafe.Pointer(pOrigVfs)).FxDelete})).f(tls, pOrigVfs, z, syncDir) } if rc == SQLITE_OK { iChunk = 0 for ok1 := true; ok1; ok1 = ((rc == SQLITE_OK) && (*(*int32)(unsafe.Pointer(bp /* bExists */)) != 0)) { multiplexFilename(tls, zName, nName, SQLITE_OPEN_WAL, libc.PreIncInt32(&iChunk, 1), z) - rc = (*(*func(*libc.TLS, uintptr, uintptr, int32, uintptr) int32)(unsafe.Pointer((pOrigVfs + 56 /* &.xAccess */))))(tls, pOrigVfs, z, SQLITE_ACCESS_EXISTS, bp /* &bExists */) + rc = (*struct { + f func(*libc.TLS, uintptr, uintptr, int32, uintptr) int32 + })(unsafe.Pointer(&struct{ uintptr }{(*sqlite3_vfs)(unsafe.Pointer(pOrigVfs)).FxAccess})).f(tls, pOrigVfs, z, SQLITE_ACCESS_EXISTS, bp /* &bExists */) } for (rc == SQLITE_OK) && (iChunk > 1) { multiplexFilename(tls, zName, nName, SQLITE_OPEN_WAL, libc.PreDecInt32(&iChunk, 1), z) - rc = (*(*func(*libc.TLS, uintptr, uintptr, int32) int32)(unsafe.Pointer((pOrigVfs + 48 /* &.xDelete */))))(tls, pOrigVfs, z, syncDir) + rc = (*struct { + f func(*libc.TLS, uintptr, uintptr, int32) int32 + })(unsafe.Pointer(&struct{ uintptr }{(*sqlite3_vfs)(unsafe.Pointer(pOrigVfs)).FxDelete})).f(tls, pOrigVfs, z, syncDir) } } } @@ -68249,44 +68757,64 @@ func multiplexDelete(tls *libc.TLS, pVfs uintptr, zName uintptr, syncDir int32) } func multiplexAccess(tls *libc.TLS, a uintptr, b uintptr, c int32, d uintptr) int32 { /* test_multiplex.c:656:12: */ - return (*(*func(*libc.TLS, uintptr, uintptr, int32, uintptr) int32)(unsafe.Pointer((gMultiplex.FpOrigVfs + 56 /* &.xAccess */))))(tls, gMultiplex.FpOrigVfs, b, c, d) + return (*struct { + f func(*libc.TLS, uintptr, uintptr, int32, uintptr) int32 + })(unsafe.Pointer(&struct{ uintptr }{(*sqlite3_vfs)(unsafe.Pointer(gMultiplex.FpOrigVfs)).FxAccess})).f(tls, gMultiplex.FpOrigVfs, b, c, d) } func multiplexFullPathname(tls *libc.TLS, a uintptr, b uintptr, c int32, d uintptr) int32 { /* test_multiplex.c:659:12: */ - return (*(*func(*libc.TLS, uintptr, uintptr, int32, uintptr) int32)(unsafe.Pointer((gMultiplex.FpOrigVfs + 64 /* &.xFullPathname */))))(tls, gMultiplex.FpOrigVfs, b, c, d) + return (*struct { + f func(*libc.TLS, uintptr, uintptr, int32, uintptr) int32 + })(unsafe.Pointer(&struct{ uintptr }{(*sqlite3_vfs)(unsafe.Pointer(gMultiplex.FpOrigVfs)).FxFullPathname})).f(tls, gMultiplex.FpOrigVfs, b, c, d) } func multiplexDlOpen(tls *libc.TLS, a uintptr, b uintptr) uintptr { /* test_multiplex.c:662:13: */ - return (*(*func(*libc.TLS, uintptr, uintptr) uintptr)(unsafe.Pointer((gMultiplex.FpOrigVfs + 72 /* &.xDlOpen */))))(tls, gMultiplex.FpOrigVfs, b) + return (*struct { + f func(*libc.TLS, uintptr, uintptr) uintptr + })(unsafe.Pointer(&struct{ uintptr }{(*sqlite3_vfs)(unsafe.Pointer(gMultiplex.FpOrigVfs)).FxDlOpen})).f(tls, gMultiplex.FpOrigVfs, b) } func multiplexDlError(tls *libc.TLS, a uintptr, b int32, c uintptr) { /* test_multiplex.c:665:13: */ - (*(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer((gMultiplex.FpOrigVfs + 80 /* &.xDlError */))))(tls, gMultiplex.FpOrigVfs, b, c) + (*struct { + f func(*libc.TLS, uintptr, int32, uintptr) + })(unsafe.Pointer(&struct{ uintptr }{(*sqlite3_vfs)(unsafe.Pointer(gMultiplex.FpOrigVfs)).FxDlError})).f(tls, gMultiplex.FpOrigVfs, b, c) } func multiplexDlSym(tls *libc.TLS, a uintptr, b uintptr, c uintptr) uintptr { /* test_multiplex.c:668:13: */ - return (*(*func(*libc.TLS, uintptr, uintptr, uintptr) uintptr)(unsafe.Pointer((gMultiplex.FpOrigVfs + 88 /* &.xDlSym */))))(tls, gMultiplex.FpOrigVfs, b, c) + return (*struct { + f func(*libc.TLS, uintptr, uintptr, uintptr) uintptr + })(unsafe.Pointer(&struct{ uintptr }{(*sqlite3_vfs)(unsafe.Pointer(gMultiplex.FpOrigVfs)).FxDlSym})).f(tls, gMultiplex.FpOrigVfs, b, c) } func multiplexDlClose(tls *libc.TLS, a uintptr, b uintptr) { /* test_multiplex.c:671:13: */ - (*(*func(*libc.TLS, uintptr, uintptr))(unsafe.Pointer((gMultiplex.FpOrigVfs + 96 /* &.xDlClose */))))(tls, gMultiplex.FpOrigVfs, b) + (*struct { + f func(*libc.TLS, uintptr, uintptr) + })(unsafe.Pointer(&struct{ uintptr }{(*sqlite3_vfs)(unsafe.Pointer(gMultiplex.FpOrigVfs)).FxDlClose})).f(tls, gMultiplex.FpOrigVfs, b) } func multiplexRandomness(tls *libc.TLS, a uintptr, b int32, c uintptr) int32 { /* test_multiplex.c:674:12: */ - return (*(*func(*libc.TLS, uintptr, int32, uintptr) int32)(unsafe.Pointer((gMultiplex.FpOrigVfs + 104 /* &.xRandomness */))))(tls, gMultiplex.FpOrigVfs, b, c) + return (*struct { + f func(*libc.TLS, uintptr, int32, uintptr) int32 + })(unsafe.Pointer(&struct{ uintptr }{(*sqlite3_vfs)(unsafe.Pointer(gMultiplex.FpOrigVfs)).FxRandomness})).f(tls, gMultiplex.FpOrigVfs, b, c) } func multiplexSleep(tls *libc.TLS, a uintptr, b int32) int32 { /* test_multiplex.c:677:12: */ - return (*(*func(*libc.TLS, uintptr, int32) int32)(unsafe.Pointer((gMultiplex.FpOrigVfs + 112 /* &.xSleep */))))(tls, gMultiplex.FpOrigVfs, b) + return (*struct { + f func(*libc.TLS, uintptr, int32) int32 + })(unsafe.Pointer(&struct{ uintptr }{(*sqlite3_vfs)(unsafe.Pointer(gMultiplex.FpOrigVfs)).FxSleep})).f(tls, gMultiplex.FpOrigVfs, b) } func multiplexCurrentTime(tls *libc.TLS, a uintptr, b uintptr) int32 { /* test_multiplex.c:680:12: */ - return (*(*func(*libc.TLS, uintptr, uintptr) int32)(unsafe.Pointer((gMultiplex.FpOrigVfs + 120 /* &.xCurrentTime */))))(tls, gMultiplex.FpOrigVfs, b) + return (*struct { + f func(*libc.TLS, uintptr, uintptr) int32 + })(unsafe.Pointer(&struct{ uintptr }{(*sqlite3_vfs)(unsafe.Pointer(gMultiplex.FpOrigVfs)).FxCurrentTime})).f(tls, gMultiplex.FpOrigVfs, b) } func multiplexGetLastError(tls *libc.TLS, a uintptr, b int32, c uintptr) int32 { /* test_multiplex.c:683:12: */ if (*sqlite3_vfs)(unsafe.Pointer(gMultiplex.FpOrigVfs)).FxGetLastError != 0 { - return (*(*func(*libc.TLS, uintptr, int32, uintptr) int32)(unsafe.Pointer((gMultiplex.FpOrigVfs + 128 /* &.xGetLastError */))))(tls, gMultiplex.FpOrigVfs, b, c) + return (*struct { + f func(*libc.TLS, uintptr, int32, uintptr) int32 + })(unsafe.Pointer(&struct{ uintptr }{(*sqlite3_vfs)(unsafe.Pointer(gMultiplex.FpOrigVfs)).FxGetLastError})).f(tls, gMultiplex.FpOrigVfs, b, c) } else { return 0 } @@ -68294,7 +68822,9 @@ func multiplexGetLastError(tls *libc.TLS, a uintptr, b int32, c uintptr) int32 { } func multiplexCurrentTimeInt64(tls *libc.TLS, a uintptr, b uintptr) int32 { /* test_multiplex.c:690:12: */ - return (*(*func(*libc.TLS, uintptr, uintptr) int32)(unsafe.Pointer((gMultiplex.FpOrigVfs + 136 /* &.xCurrentTimeInt64 */))))(tls, gMultiplex.FpOrigVfs, b) + return (*struct { + f func(*libc.TLS, uintptr, uintptr) int32 + })(unsafe.Pointer(&struct{ uintptr }{(*sqlite3_vfs)(unsafe.Pointer(gMultiplex.FpOrigVfs)).FxCurrentTimeInt64})).f(tls, gMultiplex.FpOrigVfs, b) } //*********************** I/O Method Wrappers ****************************** @@ -68327,7 +68857,9 @@ func multiplexRead(tls *libc.TLS, pConn uintptr, pBuf uintptr, iAmt int32, iOfst if pSubOpen == uintptr(0) { *(*int32)(unsafe.Pointer(bp /* rc */)) = (SQLITE_IOERR | (int32(1) << 8)) } else { - *(*int32)(unsafe.Pointer(bp /* rc */)) = (*(*func(*libc.TLS, uintptr, uintptr, int32, sqlite3_int64) int32)(unsafe.Pointer(((*sqlite3_file)(unsafe.Pointer(pSubOpen)).FpMethods + 16 /* &.xRead */))))(tls, pSubOpen, pBuf, iAmt, iOfst) + *(*int32)(unsafe.Pointer(bp /* rc */)) = (*struct { + f func(*libc.TLS, uintptr, uintptr, int32, sqlite3_int64) int32 + })(unsafe.Pointer(&struct{ uintptr }{(*sqlite3_io_methods1)(unsafe.Pointer((*sqlite3_file)(unsafe.Pointer(pSubOpen)).FpMethods)).FxRead})).f(tls, pSubOpen, pBuf, iAmt, iOfst) } } else { for iAmt > 0 { @@ -68340,7 +68872,9 @@ func multiplexRead(tls *libc.TLS, pConn uintptr, pBuf uintptr, iAmt int32, iOfst extra = 0 } iAmt = iAmt - (extra) - *(*int32)(unsafe.Pointer(bp /* rc */)) = (*(*func(*libc.TLS, uintptr, uintptr, int32, sqlite3_int64) int32)(unsafe.Pointer(((*sqlite3_file)(unsafe.Pointer(pSubOpen)).FpMethods + 16 /* &.xRead */))))(tls, pSubOpen, pBuf, iAmt, + *(*int32)(unsafe.Pointer(bp /* rc */)) = (*struct { + f func(*libc.TLS, uintptr, uintptr, int32, sqlite3_int64) int32 + })(unsafe.Pointer(&struct{ uintptr }{(*sqlite3_io_methods1)(unsafe.Pointer((*sqlite3_file)(unsafe.Pointer(pSubOpen)).FpMethods)).FxRead})).f(tls, pSubOpen, pBuf, iAmt, (iOfst % sqlite3_int64((*multiplexGroup)(unsafe.Pointer(pGroup)).FszChunk))) if *(*int32)(unsafe.Pointer(bp /* rc */)) != SQLITE_OK { break @@ -68373,7 +68907,9 @@ func multiplexWrite(tls *libc.TLS, pConn uintptr, pBuf uintptr, iAmt int32, iOfs if pSubOpen == uintptr(0) { *(*int32)(unsafe.Pointer(bp /* rc */)) = (SQLITE_IOERR | (int32(3) << 8)) } else { - *(*int32)(unsafe.Pointer(bp /* rc */)) = (*(*func(*libc.TLS, uintptr, uintptr, int32, sqlite3_int64) int32)(unsafe.Pointer(((*sqlite3_file)(unsafe.Pointer(pSubOpen)).FpMethods + 24 /* &.xWrite */))))(tls, pSubOpen, pBuf, iAmt, iOfst) + *(*int32)(unsafe.Pointer(bp /* rc */)) = (*struct { + f func(*libc.TLS, uintptr, uintptr, int32, sqlite3_int64) int32 + })(unsafe.Pointer(&struct{ uintptr }{(*sqlite3_io_methods1)(unsafe.Pointer((*sqlite3_file)(unsafe.Pointer(pSubOpen)).FpMethods)).FxWrite})).f(tls, pSubOpen, pBuf, iAmt, iOfst) } } else { for (*(*int32)(unsafe.Pointer(bp /* rc */)) == SQLITE_OK) && (iAmt > 0) { @@ -68385,7 +68921,9 @@ func multiplexWrite(tls *libc.TLS, pConn uintptr, pBuf uintptr, iAmt int32, iOfs extra = 0 } iAmt = iAmt - (extra) - *(*int32)(unsafe.Pointer(bp /* rc */)) = (*(*func(*libc.TLS, uintptr, uintptr, int32, sqlite3_int64) int32)(unsafe.Pointer(((*sqlite3_file)(unsafe.Pointer(pSubOpen)).FpMethods + 24 /* &.xWrite */))))(tls, pSubOpen, pBuf, iAmt, + *(*int32)(unsafe.Pointer(bp /* rc */)) = (*struct { + f func(*libc.TLS, uintptr, uintptr, int32, sqlite3_int64) int32 + })(unsafe.Pointer(&struct{ uintptr }{(*sqlite3_io_methods1)(unsafe.Pointer((*sqlite3_file)(unsafe.Pointer(pSubOpen)).FpMethods)).FxWrite})).f(tls, pSubOpen, pBuf, iAmt, (iOfst % sqlite3_int64((*multiplexGroup)(unsafe.Pointer(pGroup)).FszChunk))) pBuf = (pBuf + uintptr(iAmt)) iOfst = iOfst + (sqlite3_int64(iAmt)) @@ -68411,7 +68949,9 @@ func multiplexTruncate(tls *libc.TLS, pConn uintptr, size sqlite3_int64) int32 { if pSubOpen == uintptr(0) { *(*int32)(unsafe.Pointer(bp /* rc */)) = (SQLITE_IOERR | (int32(6) << 8)) } else { - *(*int32)(unsafe.Pointer(bp /* rc */)) = (*(*func(*libc.TLS, uintptr, sqlite3_int64) int32)(unsafe.Pointer(((*sqlite3_file)(unsafe.Pointer(pSubOpen)).FpMethods + 32 /* &.xTruncate */))))(tls, pSubOpen, size) + *(*int32)(unsafe.Pointer(bp /* rc */)) = (*struct { + f func(*libc.TLS, uintptr, sqlite3_int64) int32 + })(unsafe.Pointer(&struct{ uintptr }{(*sqlite3_io_methods1)(unsafe.Pointer((*sqlite3_file)(unsafe.Pointer(pSubOpen)).FpMethods)).FxTruncate})).f(tls, pSubOpen, size) } } else { var i int32 @@ -68425,14 +68965,18 @@ func multiplexTruncate(tls *libc.TLS, pConn uintptr, size sqlite3_int64) int32 { } else { pSubOpen = multiplexSubOpen(tls, pGroup, i, bp /* &rc */, uintptr(0), 0) if pSubOpen != 0 { - *(*int32)(unsafe.Pointer(bp /* rc */)) = (*(*func(*libc.TLS, uintptr, sqlite3_int64) int32)(unsafe.Pointer(((*sqlite3_file)(unsafe.Pointer(pSubOpen)).FpMethods + 32 /* &.xTruncate */))))(tls, pSubOpen, int64(0)) + *(*int32)(unsafe.Pointer(bp /* rc */)) = (*struct { + f func(*libc.TLS, uintptr, sqlite3_int64) int32 + })(unsafe.Pointer(&struct{ uintptr }{(*sqlite3_io_methods1)(unsafe.Pointer((*sqlite3_file)(unsafe.Pointer(pSubOpen)).FpMethods)).FxTruncate})).f(tls, pSubOpen, int64(0)) } } } if *(*int32)(unsafe.Pointer(bp /* rc */)) == SQLITE_OK { pSubOpen = multiplexSubOpen(tls, pGroup, iBaseGroup, bp /* &rc */, uintptr(0), 0) if pSubOpen != 0 { - *(*int32)(unsafe.Pointer(bp /* rc */)) = (*(*func(*libc.TLS, uintptr, sqlite3_int64) int32)(unsafe.Pointer(((*sqlite3_file)(unsafe.Pointer(pSubOpen)).FpMethods + 32 /* &.xTruncate */))))(tls, pSubOpen, (size % sqlite3_int64((*multiplexGroup)(unsafe.Pointer(pGroup)).FszChunk))) + *(*int32)(unsafe.Pointer(bp /* rc */)) = (*struct { + f func(*libc.TLS, uintptr, sqlite3_int64) int32 + })(unsafe.Pointer(&struct{ uintptr }{(*sqlite3_io_methods1)(unsafe.Pointer((*sqlite3_file)(unsafe.Pointer(pSubOpen)).FpMethods)).FxTruncate})).f(tls, pSubOpen, (size % sqlite3_int64((*multiplexGroup)(unsafe.Pointer(pGroup)).FszChunk))) } } if *(*int32)(unsafe.Pointer(bp /* rc */)) != 0 { @@ -68451,7 +68995,9 @@ func multiplexSync(tls *libc.TLS, pConn uintptr, flags int32) int32 { /* test_mu for i = 0; i < (*multiplexGroup)(unsafe.Pointer(pGroup)).FnReal; i++ { var pSubOpen uintptr = (*multiplexReal)(unsafe.Pointer((*multiplexGroup)(unsafe.Pointer(pGroup)).FaReal + uintptr(i)*16)).Fp if pSubOpen != 0 { - var rc2 int32 = (*(*func(*libc.TLS, uintptr, int32) int32)(unsafe.Pointer(((*sqlite3_file)(unsafe.Pointer(pSubOpen)).FpMethods + 40 /* &.xSync */))))(tls, pSubOpen, flags) + var rc2 int32 = (*struct { + f func(*libc.TLS, uintptr, int32) int32 + })(unsafe.Pointer(&struct{ uintptr }{(*sqlite3_io_methods1)(unsafe.Pointer((*sqlite3_file)(unsafe.Pointer(pSubOpen)).FpMethods)).FxSync})).f(tls, pSubOpen, flags) if rc2 != SQLITE_OK { rc = rc2 } @@ -68475,7 +69021,9 @@ func multiplexFileSize(tls *libc.TLS, pConn uintptr, pSize uintptr) int32 { /* t if pSubOpen == uintptr(0) { *(*int32)(unsafe.Pointer(bp /* rc */)) = (SQLITE_IOERR | (int32(7) << 8)) } else { - *(*int32)(unsafe.Pointer(bp /* rc */)) = (*(*func(*libc.TLS, uintptr, uintptr) int32)(unsafe.Pointer(((*sqlite3_file)(unsafe.Pointer(pSubOpen)).FpMethods + 48 /* &.xFileSize */))))(tls, pSubOpen, pSize) + *(*int32)(unsafe.Pointer(bp /* rc */)) = (*struct { + f func(*libc.TLS, uintptr, uintptr) int32 + })(unsafe.Pointer(&struct{ uintptr }{(*sqlite3_io_methods1)(unsafe.Pointer((*sqlite3_file)(unsafe.Pointer(pSubOpen)).FpMethods)).FxFileSize})).f(tls, pSubOpen, pSize) } } else { *(*sqlite3_int64)(unsafe.Pointer(pSize)) = int64(0) @@ -68500,7 +69048,9 @@ func multiplexLock(tls *libc.TLS, pConn uintptr, lock int32) int32 { /* test_mul var pSubOpen uintptr = multiplexSubOpen(tls, (*multiplexConn)(unsafe.Pointer(p)).FpGroup, 0, bp /* &rc */, uintptr(0), 0) if pSubOpen != 0 { - return (*(*func(*libc.TLS, uintptr, int32) int32)(unsafe.Pointer(((*sqlite3_file)(unsafe.Pointer(pSubOpen)).FpMethods + 56 /* &.xLock */))))(tls, pSubOpen, lock) + return (*struct { + f func(*libc.TLS, uintptr, int32) int32 + })(unsafe.Pointer(&struct{ uintptr }{(*sqlite3_io_methods1)(unsafe.Pointer((*sqlite3_file)(unsafe.Pointer(pSubOpen)).FpMethods)).FxLock})).f(tls, pSubOpen, lock) } return SQLITE_BUSY } @@ -68515,7 +69065,9 @@ func multiplexUnlock(tls *libc.TLS, pConn uintptr, lock int32) int32 { /* test_m var pSubOpen uintptr = multiplexSubOpen(tls, (*multiplexConn)(unsafe.Pointer(p)).FpGroup, 0, bp /* &rc */, uintptr(0), 0) if pSubOpen != 0 { - return (*(*func(*libc.TLS, uintptr, int32) int32)(unsafe.Pointer(((*sqlite3_file)(unsafe.Pointer(pSubOpen)).FpMethods + 64 /* &.xUnlock */))))(tls, pSubOpen, lock) + return (*struct { + f func(*libc.TLS, uintptr, int32) int32 + })(unsafe.Pointer(&struct{ uintptr }{(*sqlite3_io_methods1)(unsafe.Pointer((*sqlite3_file)(unsafe.Pointer(pSubOpen)).FpMethods)).FxUnlock})).f(tls, pSubOpen, lock) } return (SQLITE_IOERR | (int32(8) << 8)) } @@ -68530,7 +69082,9 @@ func multiplexCheckReservedLock(tls *libc.TLS, pConn uintptr, pResOut uintptr) i var pSubOpen uintptr = multiplexSubOpen(tls, (*multiplexConn)(unsafe.Pointer(p)).FpGroup, 0, bp /* &rc */, uintptr(0), 0) if pSubOpen != 0 { - return (*(*func(*libc.TLS, uintptr, uintptr) int32)(unsafe.Pointer(((*sqlite3_file)(unsafe.Pointer(pSubOpen)).FpMethods + 72 /* &.xCheckReservedLock */))))(tls, pSubOpen, pResOut) + return (*struct { + f func(*libc.TLS, uintptr, uintptr) int32 + })(unsafe.Pointer(&struct{ uintptr }{(*sqlite3_io_methods1)(unsafe.Pointer((*sqlite3_file)(unsafe.Pointer(pSubOpen)).FpMethods)).FxCheckReservedLock})).f(tls, pSubOpen, pResOut) } return (SQLITE_IOERR | (int32(14) << 8)) } @@ -68620,7 +69174,9 @@ func multiplexFileControl(tls *libc.TLS, pConn uintptr, op int32, pArg uintptr) default: pSubOpen = multiplexSubOpen(tls, pGroup, 0, bp+8 /* &rc */, uintptr(0), 0) 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) + *(*int32)(unsafe.Pointer(bp + 8 /* rc */)) = (*struct { + f func(*libc.TLS, uintptr, int32, uintptr) int32 + })(unsafe.Pointer(&struct{ uintptr }{(*sqlite3_io_methods1)(unsafe.Pointer((*sqlite3_file)(unsafe.Pointer(pSubOpen)).FpMethods)).FxFileControl})).f(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+34923 /* "multiplex/%z" */, libc.VaList(bp, *(*uintptr)(unsafe.Pointer(pArg)))) } @@ -68640,7 +69196,9 @@ func multiplexSectorSize(tls *libc.TLS, pConn uintptr) int32 { /* test_multiplex var pSubOpen uintptr = multiplexSubOpen(tls, (*multiplexConn)(unsafe.Pointer(p)).FpGroup, 0, bp /* &rc */, uintptr(0), 0) if (pSubOpen != 0) && ((*sqlite3_io_methods1)(unsafe.Pointer((*sqlite3_file)(unsafe.Pointer(pSubOpen)).FpMethods)).FxSectorSize != 0) { - return (*(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(((*sqlite3_file)(unsafe.Pointer(pSubOpen)).FpMethods + 88 /* &.xSectorSize */))))(tls, pSubOpen) + return (*struct { + f func(*libc.TLS, uintptr) int32 + })(unsafe.Pointer(&struct{ uintptr }{(*sqlite3_io_methods1)(unsafe.Pointer((*sqlite3_file)(unsafe.Pointer(pSubOpen)).FpMethods)).FxSectorSize})).f(tls, pSubOpen) } return DEFAULT_SECTOR_SIZE } @@ -68655,7 +69213,9 @@ func multiplexDeviceCharacteristics(tls *libc.TLS, pConn uintptr) int32 { /* tes var pSubOpen uintptr = multiplexSubOpen(tls, (*multiplexConn)(unsafe.Pointer(p)).FpGroup, 0, bp /* &rc */, uintptr(0), 0) if pSubOpen != 0 { - return (*(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(((*sqlite3_file)(unsafe.Pointer(pSubOpen)).FpMethods + 96 /* &.xDeviceCharacteristics */))))(tls, pSubOpen) + return (*struct { + f func(*libc.TLS, uintptr) int32 + })(unsafe.Pointer(&struct{ uintptr }{(*sqlite3_io_methods1)(unsafe.Pointer((*sqlite3_file)(unsafe.Pointer(pSubOpen)).FpMethods)).FxDeviceCharacteristics})).f(tls, pSubOpen) } return 0 } @@ -68670,7 +69230,9 @@ func multiplexShmMap(tls *libc.TLS, pConn uintptr, iRegion int32, szRegion int32 var pSubOpen uintptr = multiplexSubOpen(tls, (*multiplexConn)(unsafe.Pointer(p)).FpGroup, 0, bp /* &rc */, uintptr(0), 0) if pSubOpen != 0 { - return (*(*func(*libc.TLS, uintptr, int32, int32, int32, uintptr) int32)(unsafe.Pointer(((*sqlite3_file)(unsafe.Pointer(pSubOpen)).FpMethods + 104 /* &.xShmMap */))))(tls, pSubOpen, iRegion, szRegion, bExtend, libc.AtomicLoadUintptr(&pp)) + return (*struct { + f func(*libc.TLS, uintptr, int32, int32, int32, uintptr) int32 + })(unsafe.Pointer(&struct{ uintptr }{(*sqlite3_io_methods1)(unsafe.Pointer((*sqlite3_file)(unsafe.Pointer(pSubOpen)).FpMethods)).FxShmMap})).f(tls, pSubOpen, iRegion, szRegion, bExtend, pp) } return SQLITE_IOERR } @@ -68685,7 +69247,9 @@ func multiplexShmLock(tls *libc.TLS, pConn uintptr, ofst int32, n int32, flags i var pSubOpen uintptr = multiplexSubOpen(tls, (*multiplexConn)(unsafe.Pointer(p)).FpGroup, 0, bp /* &rc */, uintptr(0), 0) if pSubOpen != 0 { - return (*(*func(*libc.TLS, uintptr, int32, int32, int32) int32)(unsafe.Pointer(((*sqlite3_file)(unsafe.Pointer(pSubOpen)).FpMethods + 112 /* &.xShmLock */))))(tls, pSubOpen, ofst, n, flags) + return (*struct { + f func(*libc.TLS, uintptr, int32, int32, int32) int32 + })(unsafe.Pointer(&struct{ uintptr }{(*sqlite3_io_methods1)(unsafe.Pointer((*sqlite3_file)(unsafe.Pointer(pSubOpen)).FpMethods)).FxShmLock})).f(tls, pSubOpen, ofst, n, flags) } return SQLITE_BUSY } @@ -68700,7 +69264,7 @@ func multiplexShmBarrier(tls *libc.TLS, pConn uintptr) { /* test_multiplex.c:106 var pSubOpen uintptr = multiplexSubOpen(tls, (*multiplexConn)(unsafe.Pointer(p)).FpGroup, 0, bp /* &rc */, uintptr(0), 0) if pSubOpen != 0 { - (*(*func(*libc.TLS, uintptr))(unsafe.Pointer(((*sqlite3_file)(unsafe.Pointer(pSubOpen)).FpMethods + 120 /* &.xShmBarrier */))))(tls, pSubOpen) + (*struct{ f func(*libc.TLS, uintptr) })(unsafe.Pointer(&struct{ uintptr }{(*sqlite3_io_methods1)(unsafe.Pointer((*sqlite3_file)(unsafe.Pointer(pSubOpen)).FpMethods)).FxShmBarrier})).f(tls, pSubOpen) } } @@ -68714,7 +69278,9 @@ func multiplexShmUnmap(tls *libc.TLS, pConn uintptr, deleteFlag int32) int32 { / var pSubOpen uintptr = multiplexSubOpen(tls, (*multiplexConn)(unsafe.Pointer(p)).FpGroup, 0, bp /* &rc */, uintptr(0), 0) if pSubOpen != 0 { - return (*(*func(*libc.TLS, uintptr, int32) int32)(unsafe.Pointer(((*sqlite3_file)(unsafe.Pointer(pSubOpen)).FpMethods + 128 /* &.xShmUnmap */))))(tls, pSubOpen, deleteFlag) + return (*struct { + f func(*libc.TLS, uintptr, int32) int32 + })(unsafe.Pointer(&struct{ uintptr }{(*sqlite3_io_methods1)(unsafe.Pointer((*sqlite3_file)(unsafe.Pointer(pSubOpen)).FpMethods)).FxShmUnmap})).f(tls, pSubOpen, deleteFlag) } return SQLITE_OK } @@ -69392,12 +69958,16 @@ var g3 = test_mutex_globals{} /* test_mutex.c:54:3 */ // Return true if the countable mutex is currently held func counterMutexHeld(tls *libc.TLS, p uintptr) int32 { /* test_mutex.c:57:12: */ - return (*(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer((uintptr(unsafe.Pointer(&g3)) + 16 /* &.m */ + 56 /* &.xMutexHeld */))))(tls, (*sqlite3_mutex)(unsafe.Pointer(p)).FpReal) + return (*struct { + f func(*libc.TLS, uintptr) int32 + })(unsafe.Pointer(&struct{ uintptr }{g3.Fm.FxMutexHeld})).f(tls, (*sqlite3_mutex)(unsafe.Pointer(p)).FpReal) } // Return true if the countable mutex is not currently held func counterMutexNotheld(tls *libc.TLS, p uintptr) int32 { /* test_mutex.c:62:12: */ - return (*(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer((uintptr(unsafe.Pointer(&g3)) + 16 /* &.m */ + 64 /* &.xMutexNotheld */))))(tls, (*sqlite3_mutex)(unsafe.Pointer(p)).FpReal) + return (*struct { + f func(*libc.TLS, uintptr) int32 + })(unsafe.Pointer(&struct{ uintptr }{g3.Fm.FxMutexNotheld})).f(tls, (*sqlite3_mutex)(unsafe.Pointer(p)).FpReal) } // Initialize the countable mutex interface @@ -69409,7 +69979,7 @@ func counterMutexInit(tls *libc.TLS) int32 { /* test_mutex.c:71:12: */ if g3.FdisableInit != 0 { return g3.FdisableInit } - rc = (*(*func(*libc.TLS) int32)(unsafe.Pointer((uintptr(unsafe.Pointer(&g3)) + 16 /* &.m */ /* &.xMutexInit */))))(tls) + rc = (*struct{ f func(*libc.TLS) int32 })(unsafe.Pointer(&struct{ uintptr }{g3.Fm.FxMutexInit})).f(tls) g3.FisInit = 1 return rc } @@ -69417,7 +69987,7 @@ func counterMutexInit(tls *libc.TLS) int32 { /* test_mutex.c:71:12: */ // Uninitialize the mutex subsystem func counterMutexEnd(tls *libc.TLS) int32 { /* test_mutex.c:82:12: */ g3.FisInit = 0 - return (*(*func(*libc.TLS) int32)(unsafe.Pointer((uintptr(unsafe.Pointer(&g3)) + 16 /* &.m */ + 8 /* &.xMutexEnd */))))(tls) + return (*struct{ f func(*libc.TLS) int32 })(unsafe.Pointer(&struct{ uintptr }{g3.Fm.FxMutexEnd})).f(tls) } // Allocate a countable mutex @@ -69425,7 +69995,9 @@ func counterMutexAlloc(tls *libc.TLS, eType int32) uintptr { /* test_mutex.c:90: var pReal uintptr var pRet uintptr = uintptr(0) - pReal = (*(*func(*libc.TLS, int32) uintptr)(unsafe.Pointer((uintptr(unsafe.Pointer(&g3)) + 16 /* &.m */ + 16 /* &.xMutexAlloc */))))(tls, eType) + pReal = (*struct { + f func(*libc.TLS, int32) uintptr + })(unsafe.Pointer(&struct{ uintptr }{g3.Fm.FxMutexAlloc})).f(tls, eType) if !(pReal != 0) { return uintptr(0) } @@ -69446,7 +70018,7 @@ func counterMutexAlloc(tls *libc.TLS, eType int32) uintptr { /* test_mutex.c:90: // Free a countable mutex func counterMutexFree(tls *libc.TLS, p uintptr) { /* test_mutex.c:118:13: */ - (*(*func(*libc.TLS, uintptr))(unsafe.Pointer((uintptr(unsafe.Pointer(&g3)) + 16 /* &.m */ + 24 /* &.xMutexFree */))))(tls, (*sqlite3_mutex)(unsafe.Pointer(p)).FpReal) + (*struct{ f func(*libc.TLS, uintptr) })(unsafe.Pointer(&struct{ uintptr }{g3.Fm.FxMutexFree})).f(tls, (*sqlite3_mutex)(unsafe.Pointer(p)).FpReal) if ((*sqlite3_mutex)(unsafe.Pointer(p)).FeType == SQLITE_MUTEX_FAST) || ((*sqlite3_mutex)(unsafe.Pointer(p)).FeType == SQLITE_MUTEX_RECURSIVE) { libc.Xfree(tls, p) } @@ -69456,7 +70028,7 @@ func counterMutexFree(tls *libc.TLS, p uintptr) { /* test_mutex.c:118:13: */ func counterMutexEnter(tls *libc.TLS, p uintptr) { /* test_mutex.c:129:13: */ *(*int32)(unsafe.Pointer((uintptr(unsafe.Pointer(&g3)) + 88 /* &.aCounter */) + uintptr((*sqlite3_mutex)(unsafe.Pointer(p)).FeType)*4))++ - (*(*func(*libc.TLS, uintptr))(unsafe.Pointer((uintptr(unsafe.Pointer(&g3)) + 16 /* &.m */ + 32 /* &.xMutexEnter */))))(tls, (*sqlite3_mutex)(unsafe.Pointer(p)).FpReal) + (*struct{ f func(*libc.TLS, uintptr) })(unsafe.Pointer(&struct{ uintptr }{g3.Fm.FxMutexEnter})).f(tls, (*sqlite3_mutex)(unsafe.Pointer(p)).FpReal) } // Try to enter a mutex. Return true on success. @@ -69466,13 +70038,15 @@ func counterMutexTry(tls *libc.TLS, p uintptr) int32 { /* test_mutex.c:140:12: * if g3.FdisableTry != 0 { return SQLITE_BUSY } - return (*(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer((uintptr(unsafe.Pointer(&g3)) + 16 /* &.m */ + 40 /* &.xMutexTry */))))(tls, (*sqlite3_mutex)(unsafe.Pointer(p)).FpReal) + return (*struct { + f func(*libc.TLS, uintptr) int32 + })(unsafe.Pointer(&struct{ uintptr }{g3.Fm.FxMutexTry})).f(tls, (*sqlite3_mutex)(unsafe.Pointer(p)).FpReal) } // Leave a mutex func counterMutexLeave(tls *libc.TLS, p uintptr) { /* test_mutex.c:151:13: */ - (*(*func(*libc.TLS, uintptr))(unsafe.Pointer((uintptr(unsafe.Pointer(&g3)) + 16 /* &.m */ + 48 /* &.xMutexLeave */))))(tls, (*sqlite3_mutex)(unsafe.Pointer(p)).FpReal) + (*struct{ f func(*libc.TLS, uintptr) })(unsafe.Pointer(&struct{ uintptr }{g3.Fm.FxMutexLeave})).f(tls, (*sqlite3_mutex)(unsafe.Pointer(p)).FpReal) } // sqlite3_shutdown @@ -69672,9 +70246,9 @@ func test_config(tls *libc.TLS, clientData uintptr, interp uintptr, objc int32, } type ConfigOption = struct { - FzName uintptr - FiValue int32 - _ [4]byte + FzName uintptr + FiValue int32 + F__ccgo_pad1 [4]byte } /* test_mutex.c:348:3 */ func getDbPointer1(tls *libc.TLS, pInterp uintptr, pObj uintptr) uintptr { /* test_mutex.c:379:16: */ @@ -69821,10 +70395,10 @@ type fs_real_file1 = struct { type fs_real_file = fs_real_file1 /* test_onefile.c:97:29 */ type fs_file1 = struct { - Fbase sqlite3_file - FeType int32 - _ [4]byte - FpReal uintptr + Fbase sqlite3_file + FeType int32 + F__ccgo_pad1 [4]byte + FpReal uintptr } /* test_onefile.c:109:9 */ type fs_file = fs_file1 /* test_onefile.c:109:24 */ @@ -70007,7 +70581,9 @@ func fsClose1(tls *libc.TLS, pFile uintptr) int32 { /* test_onefile.c:375:12: */ if (*fs_real_file)(unsafe.Pointer(pReal)).FpNext != 0 { (*fs_real_file)(unsafe.Pointer((*fs_real_file)(unsafe.Pointer(pReal)).FpNext)).FppThis = (*fs_real_file)(unsafe.Pointer(pReal)).FppThis } - rc = (*(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(((*sqlite3_file)(unsafe.Pointer((*fs_real_file)(unsafe.Pointer(pReal)).FpFile)).FpMethods + 8 /* &.xClose */))))(tls, (*fs_real_file)(unsafe.Pointer(pReal)).FpFile) + rc = (*struct { + f func(*libc.TLS, uintptr) int32 + })(unsafe.Pointer(&struct{ uintptr }{(*sqlite3_io_methods1)(unsafe.Pointer((*sqlite3_file)(unsafe.Pointer((*fs_real_file)(unsafe.Pointer(pReal)).FpFile)).FpMethods)).FxClose})).f(tls, (*fs_real_file)(unsafe.Pointer(pReal)).FpFile) sqlite3.Xsqlite3_free(tls, pReal) } @@ -70025,7 +70601,9 @@ func fsRead(tls *libc.TLS, pFile uintptr, zBuf uintptr, iAmt int32, iOfst sqlite (((*fs_file)(unsafe.Pointer(p)).FeType == JOURNAL_FILE) && ((sqlite_int64(iAmt) + iOfst) > sqlite_int64((*fs_real_file)(unsafe.Pointer(pReal)).FnJournal))) { rc = (SQLITE_IOERR | (int32(2) << 8)) } else if (*fs_file)(unsafe.Pointer(p)).FeType == DATABASE_FILE { - rc = (*(*func(*libc.TLS, uintptr, uintptr, int32, sqlite3_int64) int32)(unsafe.Pointer(((*sqlite3_file)(unsafe.Pointer(pF)).FpMethods + 16 /* &.xRead */))))(tls, pF, zBuf, iAmt, (iOfst + int64(BLOCKSIZE))) + rc = (*struct { + f func(*libc.TLS, uintptr, uintptr, int32, sqlite3_int64) int32 + })(unsafe.Pointer(&struct{ uintptr }{(*sqlite3_io_methods1)(unsafe.Pointer((*sqlite3_file)(unsafe.Pointer(pF)).FpMethods)).FxRead})).f(tls, pF, zBuf, iAmt, (iOfst + int64(BLOCKSIZE))) } else { // Journal file. var iRem int32 = iAmt @@ -70040,7 +70618,9 @@ func fsRead(tls *libc.TLS, pFile uintptr, zBuf uintptr, iAmt int32, iOfst sqlite return (BLOCKSIZE - (iRealOff % BLOCKSIZE)) }() - rc = (*(*func(*libc.TLS, uintptr, uintptr, int32, sqlite3_int64) int32)(unsafe.Pointer(((*sqlite3_file)(unsafe.Pointer(pF)).FpMethods + 16 /* &.xRead */))))(tls, pF, ((zBuf) + uintptr(iBuf)), iRealAmt, int64(iRealOff)) + rc = (*struct { + f func(*libc.TLS, uintptr, uintptr, int32, sqlite3_int64) int32 + })(unsafe.Pointer(&struct{ uintptr }{(*sqlite3_io_methods1)(unsafe.Pointer((*sqlite3_file)(unsafe.Pointer(pF)).FpMethods)).FxRead})).f(tls, pF, ((zBuf) + uintptr(iBuf)), iRealAmt, int64(iRealOff)) ii = ii + (iRealAmt) iBuf = iBuf + (iRealAmt) iRem = iRem - (iRealAmt) @@ -70061,7 +70641,9 @@ func fsWrite(tls *libc.TLS, pFile uintptr, zBuf uintptr, iAmt int32, iOfst sqlit if ((sqlite_int64(iAmt) + iOfst) + int64(BLOCKSIZE)) > (sqlite_int64((*fs_real_file)(unsafe.Pointer(pReal)).FnBlob - (*fs_real_file)(unsafe.Pointer(pReal)).FnJournal)) { rc = SQLITE_FULL } else { - rc = (*(*func(*libc.TLS, uintptr, uintptr, int32, sqlite3_int64) int32)(unsafe.Pointer(((*sqlite3_file)(unsafe.Pointer(pF)).FpMethods + 24 /* &.xWrite */))))(tls, pF, zBuf, iAmt, (iOfst + int64(BLOCKSIZE))) + rc = (*struct { + f func(*libc.TLS, uintptr, uintptr, int32, sqlite3_int64) int32 + })(unsafe.Pointer(&struct{ uintptr }{(*sqlite3_io_methods1)(unsafe.Pointer((*sqlite3_file)(unsafe.Pointer(pF)).FpMethods)).FxWrite})).f(tls, pF, zBuf, iAmt, (iOfst + int64(BLOCKSIZE))) if rc == SQLITE_OK { (*fs_real_file)(unsafe.Pointer(pReal)).FnDatabase = func() int32 { if (sqlite_int64((*fs_real_file)(unsafe.Pointer(pReal)).FnDatabase)) > (sqlite_int64(iAmt) + iOfst) { @@ -70088,7 +70670,9 @@ func fsWrite(tls *libc.TLS, pFile uintptr, zBuf uintptr, iAmt int32, iOfst sqlit if iRealOff < ((*fs_real_file)(unsafe.Pointer(pReal)).FnDatabase + BLOCKSIZE) { rc = SQLITE_FULL } else { - rc = (*(*func(*libc.TLS, uintptr, uintptr, int32, sqlite3_int64) int32)(unsafe.Pointer(((*sqlite3_file)(unsafe.Pointer(pF)).FpMethods + 24 /* &.xWrite */))))(tls, pF, ((zBuf) + uintptr(iBuf)), iRealAmt, int64(iRealOff)) + rc = (*struct { + f func(*libc.TLS, uintptr, uintptr, int32, sqlite3_int64) int32 + })(unsafe.Pointer(&struct{ uintptr }{(*sqlite3_io_methods1)(unsafe.Pointer((*sqlite3_file)(unsafe.Pointer(pF)).FpMethods)).FxWrite})).f(tls, pF, ((zBuf) + uintptr(iBuf)), iRealAmt, int64(iRealOff)) ii = ii + (iRealAmt) iBuf = iBuf + (iRealAmt) iRem = iRem - (iRealAmt) @@ -70146,10 +70730,14 @@ func fsSync(tls *libc.TLS, pFile uintptr, flags int32) int32 { /* test_onefile.c *(*uint8)(unsafe.Pointer(bp /* &zSize[0] */ + 1)) = (uint8(((*fs_real_file)(unsafe.Pointer(pReal)).FnDatabase & 0x00FF0000) >> 16)) *(*uint8)(unsafe.Pointer(bp /* &zSize[0] */ + 2)) = (uint8(((*fs_real_file)(unsafe.Pointer(pReal)).FnDatabase & 0x0000FF00) >> 8)) *(*uint8)(unsafe.Pointer(bp /* &zSize[0] */ + 3)) = (uint8((*fs_real_file)(unsafe.Pointer(pReal)).FnDatabase & 0x000000FF)) - rc = (*(*func(*libc.TLS, uintptr, uintptr, int32, sqlite3_int64) int32)(unsafe.Pointer(((*sqlite3_file)(unsafe.Pointer(pRealFile)).FpMethods + 24 /* &.xWrite */))))(tls, pRealFile, bp /* &zSize[0] */, 4, int64(0)) + rc = (*struct { + f func(*libc.TLS, uintptr, uintptr, int32, sqlite3_int64) int32 + })(unsafe.Pointer(&struct{ uintptr }{(*sqlite3_io_methods1)(unsafe.Pointer((*sqlite3_file)(unsafe.Pointer(pRealFile)).FpMethods)).FxWrite})).f(tls, pRealFile, bp /* &zSize[0] */, 4, int64(0)) } if rc == SQLITE_OK { - rc = (*(*func(*libc.TLS, uintptr, int32) int32)(unsafe.Pointer(((*sqlite3_file)(unsafe.Pointer(pRealFile)).FpMethods + 40 /* &.xSync */))))(tls, pRealFile, (flags & (libc.CplInt32(SQLITE_SYNC_DATAONLY)))) + rc = (*struct { + f func(*libc.TLS, uintptr, int32) int32 + })(unsafe.Pointer(&struct{ uintptr }{(*sqlite3_io_methods1)(unsafe.Pointer((*sqlite3_file)(unsafe.Pointer(pRealFile)).FpMethods)).FxSync})).f(tls, pRealFile, (flags & (libc.CplInt32(SQLITE_SYNC_DATAONLY)))) } return rc @@ -70281,7 +70869,9 @@ __6: (*fs_real_file)(unsafe.Pointer(pReal)).FzName = zName (*fs_real_file)(unsafe.Pointer(pReal)).FpFile = (pReal + 1*48) - rc = (*(*func(*libc.TLS, uintptr, uintptr, uintptr, int32, uintptr) int32)(unsafe.Pointer((pParent + 40 /* &.xOpen */))))(tls, pParent, zName, (*fs_real_file)(unsafe.Pointer(pReal)).FpFile, real_flags, pOutFlags) + rc = (*struct { + f func(*libc.TLS, uintptr, uintptr, uintptr, int32, uintptr) int32 + })(unsafe.Pointer(&struct{ uintptr }{(*sqlite3_vfs)(unsafe.Pointer(pParent)).FxOpen})).f(tls, pParent, zName, (*fs_real_file)(unsafe.Pointer(pReal)).FpFile, real_flags, pOutFlags) if !(rc != SQLITE_OK) { goto __7 } @@ -70290,7 +70880,9 @@ __7: ; pRealFile = (*fs_real_file)(unsafe.Pointer(pReal)).FpFile - rc = (*(*func(*libc.TLS, uintptr, uintptr) int32)(unsafe.Pointer(((*sqlite3_file)(unsafe.Pointer(pRealFile)).FpMethods + 48 /* &.xFileSize */))))(tls, pRealFile, bp /* &size */) + rc = (*struct { + f func(*libc.TLS, uintptr, uintptr) int32 + })(unsafe.Pointer(&struct{ uintptr }{(*sqlite3_io_methods1)(unsafe.Pointer((*sqlite3_file)(unsafe.Pointer(pRealFile)).FpMethods)).FxFileSize})).f(tls, pRealFile, bp /* &size */) if !(rc != SQLITE_OK) { goto __8 } @@ -70300,17 +70892,23 @@ __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+35647 /* "\x00" */, 1, (int64(BLOBSIZE - 1))) + rc = (*struct { + f func(*libc.TLS, uintptr, uintptr, int32, sqlite3_int64) int32 + })(unsafe.Pointer(&struct{ uintptr }{(*sqlite3_io_methods1)(unsafe.Pointer((*sqlite3_file)(unsafe.Pointer(pRealFile)).FpMethods)).FxWrite})).f(tls, pRealFile, ts+35647 /* "\x00" */, 1, (int64(BLOBSIZE - 1))) (*fs_real_file)(unsafe.Pointer(pReal)).FnBlob = BLOBSIZE goto __10 __9: (*fs_real_file)(unsafe.Pointer(pReal)).FnBlob = int32(*(*sqlite3_int64)(unsafe.Pointer(bp /* size */))) - rc = (*(*func(*libc.TLS, uintptr, uintptr, int32, sqlite3_int64) int32)(unsafe.Pointer(((*sqlite3_file)(unsafe.Pointer(pRealFile)).FpMethods + 16 /* &.xRead */))))(tls, pRealFile, bp+8 /* &zS[0] */, 4, int64(0)) + rc = (*struct { + f func(*libc.TLS, uintptr, uintptr, int32, sqlite3_int64) int32 + })(unsafe.Pointer(&struct{ uintptr }{(*sqlite3_io_methods1)(unsafe.Pointer((*sqlite3_file)(unsafe.Pointer(pRealFile)).FpMethods)).FxRead})).f(tls, pRealFile, bp+8 /* &zS[0] */, 4, int64(0)) (*fs_real_file)(unsafe.Pointer(pReal)).FnDatabase = ((((int32(*(*uint8)(unsafe.Pointer(bp + 8 /* &zS[0] */))) << 24) + (int32(*(*uint8)(unsafe.Pointer(bp + 8 /* &zS[0] */ + 1))) << 16)) + (int32(*(*uint8)(unsafe.Pointer(bp + 8 /* &zS[0] */ + 2))) << 8)) + int32(*(*uint8)(unsafe.Pointer(bp + 8 /* &zS[0] */ + 3)))) if !(rc == SQLITE_OK) { goto __11 } - rc = (*(*func(*libc.TLS, uintptr, uintptr, int32, sqlite3_int64) int32)(unsafe.Pointer(((*sqlite3_file)(unsafe.Pointer(pRealFile)).FpMethods + 16 /* &.xRead */))))(tls, pRealFile, bp+8 /* &zS[0] */, 4, (int64((*fs_real_file)(unsafe.Pointer(pReal)).FnBlob - 4))) + rc = (*struct { + f func(*libc.TLS, uintptr, uintptr, int32, sqlite3_int64) int32 + })(unsafe.Pointer(&struct{ uintptr }{(*sqlite3_io_methods1)(unsafe.Pointer((*sqlite3_file)(unsafe.Pointer(pRealFile)).FpMethods)).FxRead})).f(tls, pRealFile, bp+8 /* &zS[0] */, 4, (int64((*fs_real_file)(unsafe.Pointer(pReal)).FnBlob - 4))) if !((((*(*uint8)(unsafe.Pointer(bp + 8 /* &zS[0] */)) != 0) || (*(*uint8)(unsafe.Pointer(bp + 8 /* &zS[0] */ + 1)) != 0)) || (*(*uint8)(unsafe.Pointer(bp + 8 /* &zS[0] */ + 2)) != 0)) || (*(*uint8)(unsafe.Pointer(bp + 8 /* &zS[0] */ + 3)) != 0)) { goto __12 } @@ -70353,7 +70951,9 @@ __16: if !((*sqlite3_file)(unsafe.Pointer((*fs_real_file)(unsafe.Pointer(pReal)).FpFile)).FpMethods != 0) { goto __18 } - (*(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(((*sqlite3_file)(unsafe.Pointer((*fs_real_file)(unsafe.Pointer(pReal)).FpFile)).FpMethods + 8 /* &.xClose */))))(tls, (*fs_real_file)(unsafe.Pointer(pReal)).FpFile) + (*struct { + f func(*libc.TLS, uintptr) int32 + })(unsafe.Pointer(&struct{ uintptr }{(*sqlite3_io_methods1)(unsafe.Pointer((*sqlite3_file)(unsafe.Pointer((*fs_real_file)(unsafe.Pointer(pReal)).FpFile)).FpMethods)).FxClose})).f(tls, (*fs_real_file)(unsafe.Pointer(pReal)).FpFile) __18: ; sqlite3.Xsqlite3_free(tls, pReal) @@ -70379,7 +70979,9 @@ 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+35649 /* "\x00\x00\x00\x00" */, 4, (int64((*fs_real_file)(unsafe.Pointer(pReal)).FnBlob - BLOCKSIZE))) + rc = (*struct { + f func(*libc.TLS, uintptr, uintptr, int32, sqlite3_int64) int32 + })(unsafe.Pointer(&struct{ uintptr }{(*sqlite3_io_methods1)(unsafe.Pointer((*sqlite3_file)(unsafe.Pointer(pF)).FpMethods)).FxWrite})).f(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 } @@ -70397,7 +70999,9 @@ func fsAccess(tls *libc.TLS, pVfs uintptr, zPath uintptr, flags int32, pResOut u if flags != SQLITE_ACCESS_EXISTS { var pParent uintptr = (*fs_vfs_t)(unsafe.Pointer(pVfs)).FpParent - return (*(*func(*libc.TLS, uintptr, uintptr, int32, uintptr) int32)(unsafe.Pointer((pParent + 56 /* &.xAccess */))))(tls, pParent, zPath, flags, pResOut) + return (*struct { + f func(*libc.TLS, uintptr, uintptr, int32, uintptr) int32 + })(unsafe.Pointer(&struct{ uintptr }{(*sqlite3_vfs)(unsafe.Pointer(pParent)).FxAccess})).f(tls, pParent, zPath, flags, pResOut) } if (nName > 8) && (libc.Xstrcmp(tls, ts+33006 /* "-journal" */, (zPath+uintptr((nName-8)))) == 0) { @@ -70418,13 +71022,17 @@ func fsAccess(tls *libc.TLS, pVfs uintptr, zPath uintptr, flags int32, pResOut u // of at least (FS_MAX_PATHNAME+1) bytes. func fsFullPathname(tls *libc.TLS, pVfs uintptr, zPath uintptr, nOut int32, zOut uintptr) int32 { /* test_onefile.c:746:12: */ var pParent uintptr = (*fs_vfs_t)(unsafe.Pointer(pVfs)).FpParent - return (*(*func(*libc.TLS, uintptr, uintptr, int32, uintptr) int32)(unsafe.Pointer((pParent + 64 /* &.xFullPathname */))))(tls, pParent, zPath, nOut, zOut) + return (*struct { + f func(*libc.TLS, uintptr, uintptr, int32, uintptr) int32 + })(unsafe.Pointer(&struct{ uintptr }{(*sqlite3_vfs)(unsafe.Pointer(pParent)).FxFullPathname})).f(tls, pParent, zPath, nOut, zOut) } // Open the dynamic library located at zPath and return a handle. func fsDlOpen(tls *libc.TLS, pVfs uintptr, zPath uintptr) uintptr { /* test_onefile.c:759:13: */ var pParent uintptr = (*fs_vfs_t)(unsafe.Pointer(pVfs)).FpParent - return (*(*func(*libc.TLS, uintptr, uintptr) uintptr)(unsafe.Pointer((pParent + 72 /* &.xDlOpen */))))(tls, pParent, zPath) + return (*struct { + f func(*libc.TLS, uintptr, uintptr) uintptr + })(unsafe.Pointer(&struct{ uintptr }{(*sqlite3_vfs)(unsafe.Pointer(pParent)).FxDlOpen})).f(tls, pParent, zPath) } // Populate the buffer zErrMsg (size nByte bytes) with a human readable @@ -70432,39 +71040,51 @@ func fsDlOpen(tls *libc.TLS, pVfs uintptr, zPath uintptr) uintptr { /* test_onef // with dynamic libraries. func fsDlError(tls *libc.TLS, pVfs uintptr, nByte int32, zErrMsg uintptr) { /* test_onefile.c:769:13: */ var pParent uintptr = (*fs_vfs_t)(unsafe.Pointer(pVfs)).FpParent - (*(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer((pParent + 80 /* &.xDlError */))))(tls, pParent, nByte, zErrMsg) + (*struct { + f func(*libc.TLS, uintptr, int32, uintptr) + })(unsafe.Pointer(&struct{ uintptr }{(*sqlite3_vfs)(unsafe.Pointer(pParent)).FxDlError})).f(tls, pParent, nByte, zErrMsg) } // Return a pointer to the symbol zSymbol in the dynamic library pHandle. func fsDlSym(tls *libc.TLS, pVfs uintptr, pH uintptr, zSym uintptr) uintptr { /* test_onefile.c:777:13: */ var pParent uintptr = (*fs_vfs_t)(unsafe.Pointer(pVfs)).FpParent - return (*(*func(*libc.TLS, uintptr, uintptr, uintptr) uintptr)(unsafe.Pointer((pParent + 88 /* &.xDlSym */))))(tls, pParent, pH, zSym) + return (*struct { + f func(*libc.TLS, uintptr, uintptr, uintptr) uintptr + })(unsafe.Pointer(&struct{ uintptr }{(*sqlite3_vfs)(unsafe.Pointer(pParent)).FxDlSym})).f(tls, pParent, pH, zSym) } // Close the dynamic library handle pHandle. func fsDlClose(tls *libc.TLS, pVfs uintptr, pHandle uintptr) { /* test_onefile.c:785:13: */ var pParent uintptr = (*fs_vfs_t)(unsafe.Pointer(pVfs)).FpParent - (*(*func(*libc.TLS, uintptr, uintptr))(unsafe.Pointer((pParent + 96 /* &.xDlClose */))))(tls, pParent, pHandle) + (*struct { + f func(*libc.TLS, uintptr, uintptr) + })(unsafe.Pointer(&struct{ uintptr }{(*sqlite3_vfs)(unsafe.Pointer(pParent)).FxDlClose})).f(tls, pParent, pHandle) } // Populate the buffer pointed to by zBufOut with nByte bytes of // random data. func fsRandomness(tls *libc.TLS, pVfs uintptr, nByte int32, zBufOut uintptr) int32 { /* test_onefile.c:794:12: */ var pParent uintptr = (*fs_vfs_t)(unsafe.Pointer(pVfs)).FpParent - return (*(*func(*libc.TLS, uintptr, int32, uintptr) int32)(unsafe.Pointer((pParent + 104 /* &.xRandomness */))))(tls, pParent, nByte, zBufOut) + return (*struct { + f func(*libc.TLS, uintptr, int32, uintptr) int32 + })(unsafe.Pointer(&struct{ uintptr }{(*sqlite3_vfs)(unsafe.Pointer(pParent)).FxRandomness})).f(tls, pParent, nByte, zBufOut) } // Sleep for nMicro microseconds. Return the number of microseconds // actually slept. func fsSleep(tls *libc.TLS, pVfs uintptr, nMicro int32) int32 { /* test_onefile.c:803:12: */ var pParent uintptr = (*fs_vfs_t)(unsafe.Pointer(pVfs)).FpParent - return (*(*func(*libc.TLS, uintptr, int32) int32)(unsafe.Pointer((pParent + 112 /* &.xSleep */))))(tls, pParent, nMicro) + return (*struct { + f func(*libc.TLS, uintptr, int32) int32 + })(unsafe.Pointer(&struct{ uintptr }{(*sqlite3_vfs)(unsafe.Pointer(pParent)).FxSleep})).f(tls, pParent, nMicro) } // Return the current time as a Julian Day number in *pTimeOut. func fsCurrentTime(tls *libc.TLS, pVfs uintptr, pTimeOut uintptr) int32 { /* test_onefile.c:811:12: */ var pParent uintptr = (*fs_vfs_t)(unsafe.Pointer(pVfs)).FpParent - return (*(*func(*libc.TLS, uintptr, uintptr) int32)(unsafe.Pointer((pParent + 120 /* &.xCurrentTime */))))(tls, pParent, pTimeOut) + return (*struct { + f func(*libc.TLS, uintptr, uintptr) int32 + })(unsafe.Pointer(&struct{ uintptr }{(*sqlite3_vfs)(unsafe.Pointer(pParent)).FxCurrentTime})).f(tls, pParent, pTimeOut) } // This procedure registers the fs vfs with SQLite. If the argument is @@ -70495,23 +71115,23 @@ type VfslogVfs1 = struct { Fbase sqlite3_vfs FpVfs uintptr FiNextFileId int32 - _ [4]byte + F__ccgo_pad1 [4]byte FpLog uintptr FiOffset sqlite3_int64 FnBuf int32 FaBuf [8192]int8 - _ [4]byte + F__ccgo_pad2 [4]byte } /* test_osinst.c:117:9 */ // Maximum pathname length supported by the vfslog backend. type VfslogVfs = VfslogVfs1 /* test_osinst.c:117:26 */ type VfslogFile1 = struct { - Fbase sqlite3_file - FpReal uintptr - FpVfslog uintptr - FiFileId int32 - _ [4]byte + Fbase sqlite3_file + FpReal uintptr + FpVfslog uintptr + FiFileId int32 + F__ccgo_pad1 [4]byte } /* test_osinst.c:118:9 */ type VfslogFile = VfslogFile1 /* test_osinst.c:118:27 */ @@ -70573,7 +71193,9 @@ func vfslogClose(tls *libc.TLS, pFile uintptr) int32 { /* test_osinst.c:256:12: t = vfslog_time(tls) if (*sqlite3_file)(unsafe.Pointer((*VfslogFile)(unsafe.Pointer(p)).FpReal)).FpMethods != 0 { - rc = (*(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(((*sqlite3_file)(unsafe.Pointer((*VfslogFile)(unsafe.Pointer(p)).FpReal)).FpMethods + 8 /* &.xClose */))))(tls, (*VfslogFile)(unsafe.Pointer(p)).FpReal) + rc = (*struct { + f func(*libc.TLS, uintptr) int32 + })(unsafe.Pointer(&struct{ uintptr }{(*sqlite3_io_methods1)(unsafe.Pointer((*sqlite3_file)(unsafe.Pointer((*VfslogFile)(unsafe.Pointer(p)).FpReal)).FpMethods)).FxClose})).f(tls, (*VfslogFile)(unsafe.Pointer(p)).FpReal) } t = (vfslog_time(tls) - t) vfslog_call(tls, (*VfslogFile)(unsafe.Pointer(p)).FpVfslog, OS_CLOSE, (*VfslogFile)(unsafe.Pointer(p)).FiFileId, int64(t), rc, 0, 0) @@ -70586,7 +71208,9 @@ func vfslogRead(tls *libc.TLS, pFile uintptr, zBuf uintptr, iAmt int32, iOfst sq var t sqlite3_uint64 var p uintptr = pFile t = vfslog_time(tls) - rc = (*(*func(*libc.TLS, uintptr, uintptr, int32, sqlite3_int64) int32)(unsafe.Pointer(((*sqlite3_file)(unsafe.Pointer((*VfslogFile)(unsafe.Pointer(p)).FpReal)).FpMethods + 16 /* &.xRead */))))(tls, (*VfslogFile)(unsafe.Pointer(p)).FpReal, zBuf, iAmt, iOfst) + rc = (*struct { + f func(*libc.TLS, uintptr, uintptr, int32, sqlite3_int64) int32 + })(unsafe.Pointer(&struct{ uintptr }{(*sqlite3_io_methods1)(unsafe.Pointer((*sqlite3_file)(unsafe.Pointer((*VfslogFile)(unsafe.Pointer(p)).FpReal)).FpMethods)).FxRead})).f(tls, (*VfslogFile)(unsafe.Pointer(p)).FpReal, zBuf, iAmt, iOfst) t = (vfslog_time(tls) - t) vfslog_call(tls, (*VfslogFile)(unsafe.Pointer(p)).FpVfslog, OS_READ, (*VfslogFile)(unsafe.Pointer(p)).FiFileId, int64(t), rc, iAmt, int32(iOfst)) return rc @@ -70598,7 +71222,9 @@ func vfslogWrite(tls *libc.TLS, pFile uintptr, z uintptr, iAmt int32, iOfst sqli var t sqlite3_uint64 var p uintptr = pFile t = vfslog_time(tls) - rc = (*(*func(*libc.TLS, uintptr, uintptr, int32, sqlite3_int64) int32)(unsafe.Pointer(((*sqlite3_file)(unsafe.Pointer((*VfslogFile)(unsafe.Pointer(p)).FpReal)).FpMethods + 24 /* &.xWrite */))))(tls, (*VfslogFile)(unsafe.Pointer(p)).FpReal, z, iAmt, iOfst) + rc = (*struct { + f func(*libc.TLS, uintptr, uintptr, int32, sqlite3_int64) int32 + })(unsafe.Pointer(&struct{ uintptr }{(*sqlite3_io_methods1)(unsafe.Pointer((*sqlite3_file)(unsafe.Pointer((*VfslogFile)(unsafe.Pointer(p)).FpReal)).FpMethods)).FxWrite})).f(tls, (*VfslogFile)(unsafe.Pointer(p)).FpReal, z, iAmt, iOfst) t = (vfslog_time(tls) - t) vfslog_call(tls, (*VfslogFile)(unsafe.Pointer(p)).FpVfslog, OS_WRITE, (*VfslogFile)(unsafe.Pointer(p)).FiFileId, int64(t), rc, iAmt, int32(iOfst)) return rc @@ -70610,7 +71236,9 @@ func vfslogTruncate(tls *libc.TLS, pFile uintptr, size sqlite_int64) int32 { /* var t sqlite3_uint64 var p uintptr = pFile t = vfslog_time(tls) - rc = (*(*func(*libc.TLS, uintptr, sqlite3_int64) int32)(unsafe.Pointer(((*sqlite3_file)(unsafe.Pointer((*VfslogFile)(unsafe.Pointer(p)).FpReal)).FpMethods + 32 /* &.xTruncate */))))(tls, (*VfslogFile)(unsafe.Pointer(p)).FpReal, size) + rc = (*struct { + f func(*libc.TLS, uintptr, sqlite3_int64) int32 + })(unsafe.Pointer(&struct{ uintptr }{(*sqlite3_io_methods1)(unsafe.Pointer((*sqlite3_file)(unsafe.Pointer((*VfslogFile)(unsafe.Pointer(p)).FpReal)).FpMethods)).FxTruncate})).f(tls, (*VfslogFile)(unsafe.Pointer(p)).FpReal, size) t = (vfslog_time(tls) - t) vfslog_call(tls, (*VfslogFile)(unsafe.Pointer(p)).FpVfslog, OS_TRUNCATE, (*VfslogFile)(unsafe.Pointer(p)).FiFileId, int64(t), rc, 0, int32(size)) return rc @@ -70622,7 +71250,9 @@ func vfslogSync(tls *libc.TLS, pFile uintptr, flags int32) int32 { /* test_osins var t sqlite3_uint64 var p uintptr = pFile t = vfslog_time(tls) - rc = (*(*func(*libc.TLS, uintptr, int32) int32)(unsafe.Pointer(((*sqlite3_file)(unsafe.Pointer((*VfslogFile)(unsafe.Pointer(p)).FpReal)).FpMethods + 40 /* &.xSync */))))(tls, (*VfslogFile)(unsafe.Pointer(p)).FpReal, flags) + rc = (*struct { + f func(*libc.TLS, uintptr, int32) int32 + })(unsafe.Pointer(&struct{ uintptr }{(*sqlite3_io_methods1)(unsafe.Pointer((*sqlite3_file)(unsafe.Pointer((*VfslogFile)(unsafe.Pointer(p)).FpReal)).FpMethods)).FxSync})).f(tls, (*VfslogFile)(unsafe.Pointer(p)).FpReal, flags) t = (vfslog_time(tls) - t) vfslog_call(tls, (*VfslogFile)(unsafe.Pointer(p)).FpVfslog, OS_SYNC, (*VfslogFile)(unsafe.Pointer(p)).FiFileId, int64(t), rc, flags, 0) return rc @@ -70634,7 +71264,9 @@ func vfslogFileSize(tls *libc.TLS, pFile uintptr, pSize uintptr) int32 { /* test var t sqlite3_uint64 var p uintptr = pFile t = vfslog_time(tls) - rc = (*(*func(*libc.TLS, uintptr, uintptr) int32)(unsafe.Pointer(((*sqlite3_file)(unsafe.Pointer((*VfslogFile)(unsafe.Pointer(p)).FpReal)).FpMethods + 48 /* &.xFileSize */))))(tls, (*VfslogFile)(unsafe.Pointer(p)).FpReal, pSize) + rc = (*struct { + f func(*libc.TLS, uintptr, uintptr) int32 + })(unsafe.Pointer(&struct{ uintptr }{(*sqlite3_io_methods1)(unsafe.Pointer((*sqlite3_file)(unsafe.Pointer((*VfslogFile)(unsafe.Pointer(p)).FpReal)).FpMethods)).FxFileSize})).f(tls, (*VfslogFile)(unsafe.Pointer(p)).FpReal, pSize) t = (vfslog_time(tls) - t) vfslog_call(tls, (*VfslogFile)(unsafe.Pointer(p)).FpVfslog, OS_FILESIZE, (*VfslogFile)(unsafe.Pointer(p)).FiFileId, int64(t), rc, 0, int32(*(*sqlite_int64)(unsafe.Pointer(pSize)))) return rc @@ -70646,7 +71278,9 @@ func vfslogLock(tls *libc.TLS, pFile uintptr, eLock int32) int32 { /* test_osins var t sqlite3_uint64 var p uintptr = pFile t = vfslog_time(tls) - rc = (*(*func(*libc.TLS, uintptr, int32) int32)(unsafe.Pointer(((*sqlite3_file)(unsafe.Pointer((*VfslogFile)(unsafe.Pointer(p)).FpReal)).FpMethods + 56 /* &.xLock */))))(tls, (*VfslogFile)(unsafe.Pointer(p)).FpReal, eLock) + rc = (*struct { + f func(*libc.TLS, uintptr, int32) int32 + })(unsafe.Pointer(&struct{ uintptr }{(*sqlite3_io_methods1)(unsafe.Pointer((*sqlite3_file)(unsafe.Pointer((*VfslogFile)(unsafe.Pointer(p)).FpReal)).FpMethods)).FxLock})).f(tls, (*VfslogFile)(unsafe.Pointer(p)).FpReal, eLock) t = (vfslog_time(tls) - t) vfslog_call(tls, (*VfslogFile)(unsafe.Pointer(p)).FpVfslog, OS_LOCK, (*VfslogFile)(unsafe.Pointer(p)).FiFileId, int64(t), rc, eLock, 0) return rc @@ -70658,7 +71292,9 @@ func vfslogUnlock(tls *libc.TLS, pFile uintptr, eLock int32) int32 { /* test_osi var t sqlite3_uint64 var p uintptr = pFile t = vfslog_time(tls) - rc = (*(*func(*libc.TLS, uintptr, int32) int32)(unsafe.Pointer(((*sqlite3_file)(unsafe.Pointer((*VfslogFile)(unsafe.Pointer(p)).FpReal)).FpMethods + 64 /* &.xUnlock */))))(tls, (*VfslogFile)(unsafe.Pointer(p)).FpReal, eLock) + rc = (*struct { + f func(*libc.TLS, uintptr, int32) int32 + })(unsafe.Pointer(&struct{ uintptr }{(*sqlite3_io_methods1)(unsafe.Pointer((*sqlite3_file)(unsafe.Pointer((*VfslogFile)(unsafe.Pointer(p)).FpReal)).FpMethods)).FxUnlock})).f(tls, (*VfslogFile)(unsafe.Pointer(p)).FpReal, eLock) t = (vfslog_time(tls) - t) vfslog_call(tls, (*VfslogFile)(unsafe.Pointer(p)).FpVfslog, OS_UNLOCK, (*VfslogFile)(unsafe.Pointer(p)).FiFileId, int64(t), rc, eLock, 0) return rc @@ -70670,7 +71306,9 @@ func vfslogCheckReservedLock(tls *libc.TLS, pFile uintptr, pResOut uintptr) int3 var t sqlite3_uint64 var p uintptr = pFile t = vfslog_time(tls) - rc = (*(*func(*libc.TLS, uintptr, uintptr) int32)(unsafe.Pointer(((*sqlite3_file)(unsafe.Pointer((*VfslogFile)(unsafe.Pointer(p)).FpReal)).FpMethods + 72 /* &.xCheckReservedLock */))))(tls, (*VfslogFile)(unsafe.Pointer(p)).FpReal, pResOut) + rc = (*struct { + f func(*libc.TLS, uintptr, uintptr) int32 + })(unsafe.Pointer(&struct{ uintptr }{(*sqlite3_io_methods1)(unsafe.Pointer((*sqlite3_file)(unsafe.Pointer((*VfslogFile)(unsafe.Pointer(p)).FpReal)).FpMethods)).FxCheckReservedLock})).f(tls, (*VfslogFile)(unsafe.Pointer(p)).FpReal, pResOut) t = (vfslog_time(tls) - t) vfslog_call(tls, (*VfslogFile)(unsafe.Pointer(p)).FpVfslog, OS_CHECKRESERVEDLOCK, (*VfslogFile)(unsafe.Pointer(p)).FiFileId, int64(t), rc, *(*int32)(unsafe.Pointer(pResOut)), 0) return rc @@ -70682,7 +71320,9 @@ func vfslogFileControl(tls *libc.TLS, pFile uintptr, op int32, pArg uintptr) int defer tls.Free(8) 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) + var rc int32 = (*struct { + f func(*libc.TLS, uintptr, int32, uintptr) int32 + })(unsafe.Pointer(&struct{ uintptr }{(*sqlite3_io_methods1)(unsafe.Pointer((*sqlite3_file)(unsafe.Pointer((*VfslogFile)(unsafe.Pointer(p)).FpReal)).FpMethods)).FxFileControl})).f(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+35654 /* "vfslog/%z" */, libc.VaList(bp, *(*uintptr)(unsafe.Pointer(pArg)))) } @@ -70695,7 +71335,9 @@ func vfslogSectorSize(tls *libc.TLS, pFile uintptr) int32 { /* test_osinst.c:407 var t sqlite3_uint64 var p uintptr = pFile t = vfslog_time(tls) - rc = (*(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(((*sqlite3_file)(unsafe.Pointer((*VfslogFile)(unsafe.Pointer(p)).FpReal)).FpMethods + 88 /* &.xSectorSize */))))(tls, (*VfslogFile)(unsafe.Pointer(p)).FpReal) + rc = (*struct { + f func(*libc.TLS, uintptr) int32 + })(unsafe.Pointer(&struct{ uintptr }{(*sqlite3_io_methods1)(unsafe.Pointer((*sqlite3_file)(unsafe.Pointer((*VfslogFile)(unsafe.Pointer(p)).FpReal)).FpMethods)).FxSectorSize})).f(tls, (*VfslogFile)(unsafe.Pointer(p)).FpReal) t = (vfslog_time(tls) - t) vfslog_call(tls, (*VfslogFile)(unsafe.Pointer(p)).FpVfslog, OS_SECTORSIZE, (*VfslogFile)(unsafe.Pointer(p)).FiFileId, int64(t), rc, 0, 0) return rc @@ -70707,7 +71349,9 @@ func vfslogDeviceCharacteristics(tls *libc.TLS, pFile uintptr) int32 { /* test_o var t sqlite3_uint64 var p uintptr = pFile t = vfslog_time(tls) - rc = (*(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(((*sqlite3_file)(unsafe.Pointer((*VfslogFile)(unsafe.Pointer(p)).FpReal)).FpMethods + 96 /* &.xDeviceCharacteristics */))))(tls, (*VfslogFile)(unsafe.Pointer(p)).FpReal) + rc = (*struct { + f func(*libc.TLS, uintptr) int32 + })(unsafe.Pointer(&struct{ uintptr }{(*sqlite3_io_methods1)(unsafe.Pointer((*sqlite3_file)(unsafe.Pointer((*VfslogFile)(unsafe.Pointer(p)).FpReal)).FpMethods)).FxDeviceCharacteristics})).f(tls, (*VfslogFile)(unsafe.Pointer(p)).FpReal) t = (vfslog_time(tls) - t) vfslog_call(tls, (*VfslogFile)(unsafe.Pointer(p)).FpVfslog, OS_DEVCHAR, (*VfslogFile)(unsafe.Pointer(p)).FiFileId, int64(t), rc, 0, 0) return rc @@ -70718,7 +71362,9 @@ func vfslogShmLock(tls *libc.TLS, pFile uintptr, ofst int32, n int32, flags int3 var t sqlite3_uint64 var p uintptr = pFile t = vfslog_time(tls) - rc = (*(*func(*libc.TLS, uintptr, int32, int32, int32) int32)(unsafe.Pointer(((*sqlite3_file)(unsafe.Pointer((*VfslogFile)(unsafe.Pointer(p)).FpReal)).FpMethods + 112 /* &.xShmLock */))))(tls, (*VfslogFile)(unsafe.Pointer(p)).FpReal, ofst, n, flags) + rc = (*struct { + f func(*libc.TLS, uintptr, int32, int32, int32) int32 + })(unsafe.Pointer(&struct{ uintptr }{(*sqlite3_io_methods1)(unsafe.Pointer((*sqlite3_file)(unsafe.Pointer((*VfslogFile)(unsafe.Pointer(p)).FpReal)).FpMethods)).FxShmLock})).f(tls, (*VfslogFile)(unsafe.Pointer(p)).FpReal, ofst, n, flags) t = (vfslog_time(tls) - t) vfslog_call(tls, (*VfslogFile)(unsafe.Pointer(p)).FpVfslog, OS_SHMLOCK, (*VfslogFile)(unsafe.Pointer(p)).FiFileId, int64(t), rc, 0, 0) return rc @@ -70729,7 +71375,9 @@ func vfslogShmMap(tls *libc.TLS, pFile uintptr, iRegion int32, szRegion int32, i var t sqlite3_uint64 var p uintptr = pFile t = vfslog_time(tls) - rc = (*(*func(*libc.TLS, uintptr, int32, int32, int32, uintptr) int32)(unsafe.Pointer(((*sqlite3_file)(unsafe.Pointer((*VfslogFile)(unsafe.Pointer(p)).FpReal)).FpMethods + 104 /* &.xShmMap */))))(tls, (*VfslogFile)(unsafe.Pointer(p)).FpReal, iRegion, szRegion, isWrite, libc.AtomicLoadUintptr(&pp)) + rc = (*struct { + f func(*libc.TLS, uintptr, int32, int32, int32, uintptr) int32 + })(unsafe.Pointer(&struct{ uintptr }{(*sqlite3_io_methods1)(unsafe.Pointer((*sqlite3_file)(unsafe.Pointer((*VfslogFile)(unsafe.Pointer(p)).FpReal)).FpMethods)).FxShmMap})).f(tls, (*VfslogFile)(unsafe.Pointer(p)).FpReal, iRegion, szRegion, isWrite, pp) t = (vfslog_time(tls) - t) vfslog_call(tls, (*VfslogFile)(unsafe.Pointer(p)).FpVfslog, OS_SHMMAP, (*VfslogFile)(unsafe.Pointer(p)).FiFileId, int64(t), rc, 0, 0) return rc @@ -70739,7 +71387,7 @@ func vfslogShmBarrier(tls *libc.TLS, pFile uintptr) { /* test_osinst.c:458:13: * var t sqlite3_uint64 var p uintptr = pFile t = vfslog_time(tls) - (*(*func(*libc.TLS, uintptr))(unsafe.Pointer(((*sqlite3_file)(unsafe.Pointer((*VfslogFile)(unsafe.Pointer(p)).FpReal)).FpMethods + 120 /* &.xShmBarrier */))))(tls, (*VfslogFile)(unsafe.Pointer(p)).FpReal) + (*struct{ f func(*libc.TLS, uintptr) })(unsafe.Pointer(&struct{ uintptr }{(*sqlite3_io_methods1)(unsafe.Pointer((*sqlite3_file)(unsafe.Pointer((*VfslogFile)(unsafe.Pointer(p)).FpReal)).FpMethods)).FxShmBarrier})).f(tls, (*VfslogFile)(unsafe.Pointer(p)).FpReal) t = (vfslog_time(tls) - t) vfslog_call(tls, (*VfslogFile)(unsafe.Pointer(p)).FpVfslog, OS_SHMBARRIER, (*VfslogFile)(unsafe.Pointer(p)).FiFileId, int64(t), SQLITE_OK, 0, 0) } @@ -70749,7 +71397,9 @@ func vfslogShmUnmap(tls *libc.TLS, pFile uintptr, deleteFlag int32) int32 { /* t var t sqlite3_uint64 var p uintptr = pFile t = vfslog_time(tls) - rc = (*(*func(*libc.TLS, uintptr, int32) int32)(unsafe.Pointer(((*sqlite3_file)(unsafe.Pointer((*VfslogFile)(unsafe.Pointer(p)).FpReal)).FpMethods + 128 /* &.xShmUnmap */))))(tls, (*VfslogFile)(unsafe.Pointer(p)).FpReal, deleteFlag) + rc = (*struct { + f func(*libc.TLS, uintptr, int32) int32 + })(unsafe.Pointer(&struct{ uintptr }{(*sqlite3_io_methods1)(unsafe.Pointer((*sqlite3_file)(unsafe.Pointer((*VfslogFile)(unsafe.Pointer(p)).FpReal)).FpMethods)).FxShmUnmap})).f(tls, (*VfslogFile)(unsafe.Pointer(p)).FpReal, deleteFlag) t = (vfslog_time(tls) - t) vfslog_call(tls, (*VfslogFile)(unsafe.Pointer(p)).FpVfslog, OS_SHMUNMAP, (*VfslogFile)(unsafe.Pointer(p)).FiFileId, int64(t), rc, 0, 0) return rc @@ -70768,7 +71418,9 @@ func vfslogOpen(tls *libc.TLS, pVfs uintptr, zName uintptr, pFile uintptr, flags (*VfslogFile)(unsafe.Pointer(p)).FiFileId = libc.PreIncInt32(&(*VfslogVfs)(unsafe.Pointer(pLog)).FiNextFileId, 1) t = vfslog_time(tls) - rc = (*(*func(*libc.TLS, uintptr, uintptr, uintptr, int32, uintptr) int32)(unsafe.Pointer(((*VfslogVfs)(unsafe.Pointer(pVfs)).FpVfs + 40 /* &.xOpen */))))(tls, (*VfslogVfs)(unsafe.Pointer(pVfs)).FpVfs, zName, (*VfslogFile)(unsafe.Pointer(p)).FpReal, flags, pOutFlags) + rc = (*struct { + f func(*libc.TLS, uintptr, uintptr, uintptr, int32, uintptr) int32 + })(unsafe.Pointer(&struct{ uintptr }{(*sqlite3_vfs)(unsafe.Pointer(((*VfslogVfs)(unsafe.Pointer(pVfs)).FpVfs))).FxOpen})).f(tls, (*VfslogVfs)(unsafe.Pointer(pVfs)).FpVfs, zName, (*VfslogFile)(unsafe.Pointer(p)).FpReal, flags, pOutFlags) t = (vfslog_time(tls) - t) vfslog_call(tls, pVfs, OS_OPEN, (*VfslogFile)(unsafe.Pointer(p)).FiFileId, int64(t), rc, 0, 0) @@ -70783,7 +71435,9 @@ func vfslogDelete(tls *libc.TLS, pVfs uintptr, zPath uintptr, dirSync int32) int var rc int32 var t sqlite3_uint64 t = vfslog_time(tls) - rc = (*(*func(*libc.TLS, uintptr, uintptr, int32) int32)(unsafe.Pointer(((*VfslogVfs)(unsafe.Pointer(pVfs)).FpVfs + 48 /* &.xDelete */))))(tls, (*VfslogVfs)(unsafe.Pointer(pVfs)).FpVfs, zPath, dirSync) + rc = (*struct { + f func(*libc.TLS, uintptr, uintptr, int32) int32 + })(unsafe.Pointer(&struct{ uintptr }{(*sqlite3_vfs)(unsafe.Pointer(((*VfslogVfs)(unsafe.Pointer(pVfs)).FpVfs))).FxDelete})).f(tls, (*VfslogVfs)(unsafe.Pointer(pVfs)).FpVfs, zPath, dirSync) t = (vfslog_time(tls) - t) vfslog_call(tls, pVfs, OS_DELETE, 0, int64(t), rc, dirSync, 0) vfslog_string(tls, pVfs, zPath) @@ -70796,7 +71450,9 @@ func vfslogAccess(tls *libc.TLS, pVfs uintptr, zPath uintptr, flags int32, pResO var rc int32 var t sqlite3_uint64 t = vfslog_time(tls) - rc = (*(*func(*libc.TLS, uintptr, uintptr, int32, uintptr) int32)(unsafe.Pointer(((*VfslogVfs)(unsafe.Pointer(pVfs)).FpVfs + 56 /* &.xAccess */))))(tls, (*VfslogVfs)(unsafe.Pointer(pVfs)).FpVfs, zPath, flags, pResOut) + rc = (*struct { + f func(*libc.TLS, uintptr, uintptr, int32, uintptr) int32 + })(unsafe.Pointer(&struct{ uintptr }{(*sqlite3_vfs)(unsafe.Pointer(((*VfslogVfs)(unsafe.Pointer(pVfs)).FpVfs))).FxAccess})).f(tls, (*VfslogVfs)(unsafe.Pointer(pVfs)).FpVfs, zPath, flags, pResOut) t = (vfslog_time(tls) - t) vfslog_call(tls, pVfs, OS_ACCESS, 0, int64(t), rc, flags, *(*int32)(unsafe.Pointer(pResOut))) vfslog_string(tls, pVfs, zPath) @@ -70807,54 +71463,74 @@ func vfslogAccess(tls *libc.TLS, pVfs uintptr, zPath uintptr, flags int32, pResO // to the pathname in zPath. zOut is guaranteed to point to a buffer // of at least (INST_MAX_PATHNAME+1) bytes. func vfslogFullPathname(tls *libc.TLS, pVfs uintptr, zPath uintptr, nOut int32, zOut uintptr) int32 { /* test_osinst.c:548:12: */ - return (*(*func(*libc.TLS, uintptr, uintptr, int32, uintptr) int32)(unsafe.Pointer(((*VfslogVfs)(unsafe.Pointer(pVfs)).FpVfs + 64 /* &.xFullPathname */))))(tls, (*VfslogVfs)(unsafe.Pointer(pVfs)).FpVfs, zPath, nOut, zOut) + return (*struct { + f func(*libc.TLS, uintptr, uintptr, int32, uintptr) int32 + })(unsafe.Pointer(&struct{ uintptr }{(*sqlite3_vfs)(unsafe.Pointer(((*VfslogVfs)(unsafe.Pointer(pVfs)).FpVfs))).FxFullPathname})).f(tls, (*VfslogVfs)(unsafe.Pointer(pVfs)).FpVfs, zPath, nOut, zOut) } // Open the dynamic library located at zPath and return a handle. func vfslogDlOpen(tls *libc.TLS, pVfs uintptr, zPath uintptr) uintptr { /* test_osinst.c:560:13: */ - return (*(*func(*libc.TLS, uintptr, uintptr) uintptr)(unsafe.Pointer(((*VfslogVfs)(unsafe.Pointer(pVfs)).FpVfs + 72 /* &.xDlOpen */))))(tls, (*VfslogVfs)(unsafe.Pointer(pVfs)).FpVfs, zPath) + return (*struct { + f func(*libc.TLS, uintptr, uintptr) uintptr + })(unsafe.Pointer(&struct{ uintptr }{(*sqlite3_vfs)(unsafe.Pointer(((*VfslogVfs)(unsafe.Pointer(pVfs)).FpVfs))).FxDlOpen})).f(tls, (*VfslogVfs)(unsafe.Pointer(pVfs)).FpVfs, zPath) } // Populate the buffer zErrMsg (size nByte bytes) with a human readable // utf-8 string describing the most recent error encountered associated // with dynamic libraries. func vfslogDlError(tls *libc.TLS, pVfs uintptr, nByte int32, zErrMsg uintptr) { /* test_osinst.c:569:13: */ - (*(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(((*VfslogVfs)(unsafe.Pointer(pVfs)).FpVfs + 80 /* &.xDlError */))))(tls, (*VfslogVfs)(unsafe.Pointer(pVfs)).FpVfs, nByte, zErrMsg) + (*struct { + f func(*libc.TLS, uintptr, int32, uintptr) + })(unsafe.Pointer(&struct{ uintptr }{(*sqlite3_vfs)(unsafe.Pointer(((*VfslogVfs)(unsafe.Pointer(pVfs)).FpVfs))).FxDlError})).f(tls, (*VfslogVfs)(unsafe.Pointer(pVfs)).FpVfs, nByte, zErrMsg) } // Return a pointer to the symbol zSymbol in the dynamic library pHandle. func vfslogDlSym(tls *libc.TLS, pVfs uintptr, p uintptr, zSym uintptr) uintptr { /* test_osinst.c:576:13: */ - return (*(*func(*libc.TLS, uintptr, uintptr, uintptr) uintptr)(unsafe.Pointer(((*VfslogVfs)(unsafe.Pointer(pVfs)).FpVfs + 88 /* &.xDlSym */))))(tls, (*VfslogVfs)(unsafe.Pointer(pVfs)).FpVfs, p, zSym) + return (*struct { + f func(*libc.TLS, uintptr, uintptr, uintptr) uintptr + })(unsafe.Pointer(&struct{ uintptr }{(*sqlite3_vfs)(unsafe.Pointer(((*VfslogVfs)(unsafe.Pointer(pVfs)).FpVfs))).FxDlSym})).f(tls, (*VfslogVfs)(unsafe.Pointer(pVfs)).FpVfs, p, zSym) } // Close the dynamic library handle pHandle. func vfslogDlClose(tls *libc.TLS, pVfs uintptr, pHandle uintptr) { /* test_osinst.c:583:13: */ - (*(*func(*libc.TLS, uintptr, uintptr))(unsafe.Pointer(((*VfslogVfs)(unsafe.Pointer(pVfs)).FpVfs + 96 /* &.xDlClose */))))(tls, (*VfslogVfs)(unsafe.Pointer(pVfs)).FpVfs, pHandle) + (*struct { + f func(*libc.TLS, uintptr, uintptr) + })(unsafe.Pointer(&struct{ uintptr }{(*sqlite3_vfs)(unsafe.Pointer(((*VfslogVfs)(unsafe.Pointer(pVfs)).FpVfs))).FxDlClose})).f(tls, (*VfslogVfs)(unsafe.Pointer(pVfs)).FpVfs, pHandle) } // Populate the buffer pointed to by zBufOut with nByte bytes of // random data. func vfslogRandomness(tls *libc.TLS, pVfs uintptr, nByte int32, zBufOut uintptr) int32 { /* test_osinst.c:591:12: */ - return (*(*func(*libc.TLS, uintptr, int32, uintptr) int32)(unsafe.Pointer(((*VfslogVfs)(unsafe.Pointer(pVfs)).FpVfs + 104 /* &.xRandomness */))))(tls, (*VfslogVfs)(unsafe.Pointer(pVfs)).FpVfs, nByte, zBufOut) + return (*struct { + f func(*libc.TLS, uintptr, int32, uintptr) int32 + })(unsafe.Pointer(&struct{ uintptr }{(*sqlite3_vfs)(unsafe.Pointer(((*VfslogVfs)(unsafe.Pointer(pVfs)).FpVfs))).FxRandomness})).f(tls, (*VfslogVfs)(unsafe.Pointer(pVfs)).FpVfs, nByte, zBufOut) } // Sleep for nMicro microseconds. Return the number of microseconds // actually slept. func vfslogSleep(tls *libc.TLS, pVfs uintptr, nMicro int32) int32 { /* test_osinst.c:599:12: */ - return (*(*func(*libc.TLS, uintptr, int32) int32)(unsafe.Pointer(((*VfslogVfs)(unsafe.Pointer(pVfs)).FpVfs + 112 /* &.xSleep */))))(tls, (*VfslogVfs)(unsafe.Pointer(pVfs)).FpVfs, nMicro) + return (*struct { + f func(*libc.TLS, uintptr, int32) int32 + })(unsafe.Pointer(&struct{ uintptr }{(*sqlite3_vfs)(unsafe.Pointer(((*VfslogVfs)(unsafe.Pointer(pVfs)).FpVfs))).FxSleep})).f(tls, (*VfslogVfs)(unsafe.Pointer(pVfs)).FpVfs, nMicro) } // Return the current time as a Julian Day number in *pTimeOut. func vfslogCurrentTime(tls *libc.TLS, pVfs uintptr, pTimeOut uintptr) int32 { /* test_osinst.c:606:12: */ - return (*(*func(*libc.TLS, uintptr, uintptr) int32)(unsafe.Pointer(((*VfslogVfs)(unsafe.Pointer(pVfs)).FpVfs + 120 /* &.xCurrentTime */))))(tls, (*VfslogVfs)(unsafe.Pointer(pVfs)).FpVfs, pTimeOut) + return (*struct { + f func(*libc.TLS, uintptr, uintptr) int32 + })(unsafe.Pointer(&struct{ uintptr }{(*sqlite3_vfs)(unsafe.Pointer(((*VfslogVfs)(unsafe.Pointer(pVfs)).FpVfs))).FxCurrentTime})).f(tls, (*VfslogVfs)(unsafe.Pointer(pVfs)).FpVfs, pTimeOut) } func vfslogGetLastError(tls *libc.TLS, pVfs uintptr, a int32, b uintptr) int32 { /* test_osinst.c:610:12: */ - return (*(*func(*libc.TLS, uintptr, int32, uintptr) int32)(unsafe.Pointer(((*VfslogVfs)(unsafe.Pointer(pVfs)).FpVfs + 128 /* &.xGetLastError */))))(tls, (*VfslogVfs)(unsafe.Pointer(pVfs)).FpVfs, a, b) + return (*struct { + f func(*libc.TLS, uintptr, int32, uintptr) int32 + })(unsafe.Pointer(&struct{ uintptr }{(*sqlite3_vfs)(unsafe.Pointer(((*VfslogVfs)(unsafe.Pointer(pVfs)).FpVfs))).FxGetLastError})).f(tls, (*VfslogVfs)(unsafe.Pointer(pVfs)).FpVfs, a, b) } func vfslogCurrentTimeInt64(tls *libc.TLS, pVfs uintptr, p uintptr) int32 { /* test_osinst.c:613:12: */ - return (*(*func(*libc.TLS, uintptr, uintptr) int32)(unsafe.Pointer(((*VfslogVfs)(unsafe.Pointer(pVfs)).FpVfs + 136 /* &.xCurrentTimeInt64 */))))(tls, (*VfslogVfs)(unsafe.Pointer(pVfs)).FpVfs, p) + return (*struct { + f func(*libc.TLS, uintptr, uintptr) int32 + })(unsafe.Pointer(&struct{ uintptr }{(*sqlite3_vfs)(unsafe.Pointer(((*VfslogVfs)(unsafe.Pointer(pVfs)).FpVfs))).FxCurrentTimeInt64})).f(tls, (*VfslogVfs)(unsafe.Pointer(pVfs)).FpVfs, p) } func vfslog_flush(tls *libc.TLS, p uintptr) { /* test_osinst.c:617:13: */ @@ -70868,7 +71544,9 @@ func vfslog_flush(tls *libc.TLS, p uintptr) { /* test_osinst.c:617:13: */ sqlite3.Xsqlite3_diskfull_pending = 0 if (*VfslogVfs)(unsafe.Pointer(p)).FnBuf != 0 { - (*(*func(*libc.TLS, uintptr, uintptr, int32, sqlite3_int64) int32)(unsafe.Pointer(((*sqlite3_file)(unsafe.Pointer((*VfslogVfs)(unsafe.Pointer(p)).FpLog)).FpMethods + 24 /* &.xWrite */))))(tls, (*VfslogVfs)(unsafe.Pointer(p)).FpLog, p+204 /* &.aBuf */, (*VfslogVfs)(unsafe.Pointer(p)).FnBuf, (*VfslogVfs)(unsafe.Pointer(p)).FiOffset) + (*struct { + f func(*libc.TLS, uintptr, uintptr, int32, sqlite3_int64) int32 + })(unsafe.Pointer(&struct{ uintptr }{(*sqlite3_io_methods1)(unsafe.Pointer((*sqlite3_file)(unsafe.Pointer((*VfslogVfs)(unsafe.Pointer(p)).FpLog)).FpMethods)).FxWrite})).f(tls, (*VfslogVfs)(unsafe.Pointer(p)).FpLog, p+204 /* &.aBuf */, (*VfslogVfs)(unsafe.Pointer(p)).FnBuf, (*VfslogVfs)(unsafe.Pointer(p)).FiOffset) *(*sqlite3_int64)(unsafe.Pointer(p + 192 /* &.iOffset */)) += (sqlite3_int64((*VfslogVfs)(unsafe.Pointer(p)).FnBuf)) (*VfslogVfs)(unsafe.Pointer(p)).FnBuf = 0 } @@ -70924,7 +71602,9 @@ func vfslog_string(tls *libc.TLS, pVfs uintptr, zStr uintptr) { /* test_osinst.c func vfslog_finalize(tls *libc.TLS, p uintptr) { /* test_osinst.c:691:13: */ if (*sqlite3_file)(unsafe.Pointer((*VfslogVfs)(unsafe.Pointer(p)).FpLog)).FpMethods != 0 { vfslog_flush(tls, p) - (*(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(((*sqlite3_file)(unsafe.Pointer((*VfslogVfs)(unsafe.Pointer(p)).FpLog)).FpMethods + 8 /* &.xClose */))))(tls, (*VfslogVfs)(unsafe.Pointer(p)).FpLog) + (*struct { + f func(*libc.TLS, uintptr) int32 + })(unsafe.Pointer(&struct{ uintptr }{(*sqlite3_io_methods1)(unsafe.Pointer((*sqlite3_file)(unsafe.Pointer((*VfslogVfs)(unsafe.Pointer(p)).FpLog)).FpMethods)).FxClose})).f(tls, (*VfslogVfs)(unsafe.Pointer(p)).FpLog) } sqlite3.Xsqlite3_free(tls, p) } @@ -70973,11 +71653,17 @@ func sqlite3_vfslog_new(tls *libc.TLS, zVfs uintptr, zParentVfs uintptr, zLog ui libc.Xmemcpy(tls, (*VfslogVfs)(unsafe.Pointer(p)).Fbase.FzName, zVfs, uint64(nVfs)) zFile = ((*VfslogVfs)(unsafe.Pointer(p)).Fbase.FzName + uintptr((nVfs + 1))) - (*(*func(*libc.TLS, uintptr, uintptr, int32, uintptr) int32)(unsafe.Pointer((pParent + 64 /* &.xFullPathname */))))(tls, pParent, zLog, (*sqlite3_vfs)(unsafe.Pointer(pParent)).FmxPathname, zFile) + (*struct { + f func(*libc.TLS, uintptr, uintptr, int32, uintptr) int32 + })(unsafe.Pointer(&struct{ uintptr }{(*sqlite3_vfs)(unsafe.Pointer(pParent)).FxFullPathname})).f(tls, pParent, zLog, (*sqlite3_vfs)(unsafe.Pointer(pParent)).FmxPathname, zFile) *(*int32)(unsafe.Pointer(bp /* flags */)) = ((SQLITE_OPEN_READWRITE | SQLITE_OPEN_CREATE) | SQLITE_OPEN_SUPER_JOURNAL) - (*(*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 */) + (*struct { + f func(*libc.TLS, uintptr, uintptr, int32) int32 + })(unsafe.Pointer(&struct{ uintptr }{(*sqlite3_vfs)(unsafe.Pointer(pParent)).FxDelete})).f(tls, pParent, zFile, 0) + rc = (*struct { + f func(*libc.TLS, uintptr, uintptr, uintptr, int32, uintptr) int32 + })(unsafe.Pointer(&struct{ uintptr }{(*sqlite3_vfs)(unsafe.Pointer(pParent)).FxOpen})).f(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+35664 /* "sqlite_ostrace1...." */, uint64(20)) (*VfslogVfs)(unsafe.Pointer(p)).FiOffset = int64(0) @@ -71095,14 +71781,14 @@ type VfslogVtab1 = struct { type VfslogVtab = VfslogVtab1 /* test_osinst.c:804:27 */ type VfslogCsr1 = struct { - Fbase sqlite3_vtab_cursor - FiRowid sqlite3_int64 - FiOffset sqlite3_int64 - FzTransient uintptr - FnFile int32 - _ [4]byte - FazFile uintptr - FaBuf [1024]uint8 + Fbase sqlite3_vtab_cursor + FiRowid sqlite3_int64 + FiOffset sqlite3_int64 + FzTransient uintptr + FnFile int32 + F__ccgo_pad1 [4]byte + FazFile uintptr + FaBuf [1024]uint8 } /* test_osinst.c:805:9 */ type VfslogCsr = VfslogCsr1 /* test_osinst.c:805:26 */ @@ -71169,14 +71855,20 @@ func vlogConnect(tls *libc.TLS, db uintptr, pAux uintptr, argc int32, argv uintp return SQLITE_NOMEM } dequote(tls, zFile) - (*(*func(*libc.TLS, uintptr, uintptr, int32, uintptr) int32)(unsafe.Pointer((pVfs + 64 /* &.xFullPathname */))))(tls, pVfs, zFile, (*sqlite3_vfs)(unsafe.Pointer(pVfs)).FmxPathname, (*VfslogVtab)(unsafe.Pointer(p)).FzFile) + (*struct { + f func(*libc.TLS, uintptr, uintptr, int32, uintptr) int32 + })(unsafe.Pointer(&struct{ uintptr }{(*sqlite3_vfs)(unsafe.Pointer(pVfs)).FxFullPathname})).f(tls, pVfs, zFile, (*sqlite3_vfs)(unsafe.Pointer(pVfs)).FmxPathname, (*VfslogVtab)(unsafe.Pointer(p)).FzFile) sqlite3.Xsqlite3_free(tls, zFile) *(*int32)(unsafe.Pointer(bp + 8 /* flags */)) = (SQLITE_OPEN_READWRITE | SQLITE_OPEN_SUPER_JOURNAL) - rc = (*(*func(*libc.TLS, uintptr, uintptr, uintptr, int32, uintptr) int32)(unsafe.Pointer((pVfs + 40 /* &.xOpen */))))(tls, pVfs, (*VfslogVtab)(unsafe.Pointer(p)).FzFile, (*VfslogVtab)(unsafe.Pointer(p)).FpFd, *(*int32)(unsafe.Pointer(bp + 8 /* flags */)), bp+8 /* &flags */) + rc = (*struct { + f func(*libc.TLS, uintptr, uintptr, uintptr, int32, uintptr) int32 + })(unsafe.Pointer(&struct{ uintptr }{(*sqlite3_vfs)(unsafe.Pointer(pVfs)).FxOpen})).f(tls, pVfs, (*VfslogVtab)(unsafe.Pointer(p)).FzFile, (*VfslogVtab)(unsafe.Pointer(p)).FpFd, *(*int32)(unsafe.Pointer(bp + 8 /* flags */)), bp+8 /* &flags */) 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 */)) + (*struct { + f func(*libc.TLS, uintptr, uintptr) int32 + })(unsafe.Pointer(&struct{ uintptr }{(*sqlite3_io_methods1)(unsafe.Pointer((*sqlite3_file)(unsafe.Pointer((*VfslogVtab)(unsafe.Pointer(p)).FpFd)).FpMethods)).FxFileSize})).f(tls, (*VfslogVtab)(unsafe.Pointer(p)).FpFd, (p + 32 /* &.nByte */)) sqlite3.Xsqlite3_declare_vtab(tls, db, ts+35902 /* "CREATE TABLE xxx..." */) *(*uintptr)(unsafe.Pointer(ppVtab)) = (p /* &.base */) @@ -71198,7 +71890,9 @@ func vlogBestIndex(tls *libc.TLS, tab uintptr, pIdxInfo uintptr) int32 { /* test func vlogDisconnect(tls *libc.TLS, pVtab uintptr) int32 { /* test_osinst.c:924:12: */ var p uintptr = pVtab if (*sqlite3_file)(unsafe.Pointer((*VfslogVtab)(unsafe.Pointer(p)).FpFd)).FpMethods != 0 { - (*(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(((*sqlite3_file)(unsafe.Pointer((*VfslogVtab)(unsafe.Pointer(p)).FpFd)).FpMethods + 8 /* &.xClose */))))(tls, (*VfslogVtab)(unsafe.Pointer(p)).FpFd) + (*struct { + f func(*libc.TLS, uintptr) int32 + })(unsafe.Pointer(&struct{ uintptr }{(*sqlite3_io_methods1)(unsafe.Pointer((*sqlite3_file)(unsafe.Pointer((*VfslogVtab)(unsafe.Pointer(p)).FpFd)).FpMethods)).FxClose})).f(tls, (*VfslogVtab)(unsafe.Pointer(p)).FpFd) (*sqlite3_file)(unsafe.Pointer((*VfslogVtab)(unsafe.Pointer(p)).FpFd)).FpMethods = uintptr(0) } sqlite3.Xsqlite3_free(tls, p) @@ -71247,19 +71941,25 @@ func vlogNext(tls *libc.TLS, pCursor uintptr) int32 { /* test_osinst.c:965:12: * nRead = 24 if ((*VfslogCsr)(unsafe.Pointer(pCsr)).FiOffset + sqlite3_int64(nRead)) <= (*VfslogVtab)(unsafe.Pointer(p)).FnByte { var eEvent int32 - rc = (*(*func(*libc.TLS, uintptr, uintptr, int32, sqlite3_int64) int32)(unsafe.Pointer(((*sqlite3_file)(unsafe.Pointer((*VfslogVtab)(unsafe.Pointer(p)).FpFd)).FpMethods + 16 /* &.xRead */))))(tls, (*VfslogVtab)(unsafe.Pointer(p)).FpFd, pCsr+48 /* &.aBuf */, nRead, (*VfslogCsr)(unsafe.Pointer(pCsr)).FiOffset) + rc = (*struct { + f func(*libc.TLS, uintptr, uintptr, int32, sqlite3_int64) int32 + })(unsafe.Pointer(&struct{ uintptr }{(*sqlite3_io_methods1)(unsafe.Pointer((*sqlite3_file)(unsafe.Pointer((*VfslogVtab)(unsafe.Pointer(p)).FpFd)).FpMethods)).FxRead})).f(tls, (*VfslogVtab)(unsafe.Pointer(p)).FpFd, pCsr+48 /* &.aBuf */, nRead, (*VfslogCsr)(unsafe.Pointer(pCsr)).FiOffset) eEvent = int32(get32bits(tls, pCsr+48 /* &.aBuf */)) if (rc == SQLITE_OK) && (((eEvent == OS_OPEN) || (eEvent == OS_DELETE)) || (eEvent == OS_ACCESS)) { // var buf [4]int8 at bp, 4 - rc = (*(*func(*libc.TLS, uintptr, uintptr, int32, sqlite3_int64) int32)(unsafe.Pointer(((*sqlite3_file)(unsafe.Pointer((*VfslogVtab)(unsafe.Pointer(p)).FpFd)).FpMethods + 16 /* &.xRead */))))(tls, (*VfslogVtab)(unsafe.Pointer(p)).FpFd, bp /* &buf[0] */, 4, ((*VfslogCsr)(unsafe.Pointer(pCsr)).FiOffset + sqlite3_int64(nRead))) + rc = (*struct { + f func(*libc.TLS, uintptr, uintptr, int32, sqlite3_int64) int32 + })(unsafe.Pointer(&struct{ uintptr }{(*sqlite3_io_methods1)(unsafe.Pointer((*sqlite3_file)(unsafe.Pointer((*VfslogVtab)(unsafe.Pointer(p)).FpFd)).FpMethods)).FxRead})).f(tls, (*VfslogVtab)(unsafe.Pointer(p)).FpFd, bp /* &buf[0] */, 4, ((*VfslogCsr)(unsafe.Pointer(pCsr)).FiOffset + sqlite3_int64(nRead))) nRead = nRead + (4) if rc == SQLITE_OK { var nStr int32 = int32(get32bits(tls, bp /* buf */)) var zStr uintptr = sqlite3.Xsqlite3_malloc(tls, (nStr + 1)) - rc = (*(*func(*libc.TLS, uintptr, uintptr, int32, sqlite3_int64) int32)(unsafe.Pointer(((*sqlite3_file)(unsafe.Pointer((*VfslogVtab)(unsafe.Pointer(p)).FpFd)).FpMethods + 16 /* &.xRead */))))(tls, (*VfslogVtab)(unsafe.Pointer(p)).FpFd, zStr, nStr, ((*VfslogCsr)(unsafe.Pointer(pCsr)).FiOffset + sqlite3_int64(nRead))) + rc = (*struct { + f func(*libc.TLS, uintptr, uintptr, int32, sqlite3_int64) int32 + })(unsafe.Pointer(&struct{ uintptr }{(*sqlite3_io_methods1)(unsafe.Pointer((*sqlite3_file)(unsafe.Pointer((*VfslogVtab)(unsafe.Pointer(p)).FpFd)).FpMethods)).FxRead})).f(tls, (*VfslogVtab)(unsafe.Pointer(p)).FpFd, zStr, nStr, ((*VfslogCsr)(unsafe.Pointer(pCsr)).FiOffset + sqlite3_int64(nRead))) *(*int8)(unsafe.Pointer(zStr + uintptr(nStr))) = int8(0) nRead = nRead + (nStr) @@ -71532,15 +72232,15 @@ func testpcacheShutdown(tls *libc.TLS, pArg uintptr) { /* test_pcache.c:67:13: * // Private implementation of a page cache. type testpcache1 = struct { - FszPage int32 - FszExtra int32 - FbPurgeable int32 - FnFree int32 - FnPinned int32 - FiRand uint32 - FiMagic uint32 - _ [4]byte - Fa [217]struct { + FszPage int32 + FszExtra int32 + FbPurgeable int32 + FnFree int32 + FnPinned int32 + FiRand uint32 + FiMagic uint32 + F__ccgo_pad1 [4]byte + Fa [217]struct { Fpage sqlite3_pcache_page Fkey uint32 FisPinned int32 @@ -71960,7 +72660,7 @@ var gQuota struct { FsIoMethodsV1 sqlite3_io_methods FsIoMethodsV2 sqlite3_io_methods FisInitialized int32 - _ [4]byte + F__ccgo_pad1 [4]byte FpMutex uintptr FpGroup uintptr } /* test_quota.c:183:3: */ @@ -72019,7 +72719,7 @@ func quotaGroupDeref(tls *libc.TLS, pGroup uintptr) { /* test_quota.c:229:13: */ (*quotaGroup)(unsafe.Pointer((*quotaGroup)(unsafe.Pointer(pGroup)).FpNext)).FppPrev = (*quotaGroup)(unsafe.Pointer(pGroup)).FppPrev } if (*quotaGroup)(unsafe.Pointer(pGroup)).FxDestroy != 0 { - (*(*func(*libc.TLS, uintptr))(unsafe.Pointer((pGroup + 40 /* &.xDestroy */))))(tls, (*quotaGroup)(unsafe.Pointer(pGroup)).FpArg) + (*struct{ f func(*libc.TLS, uintptr) })(unsafe.Pointer(&struct{ uintptr }{(*quotaGroup)(unsafe.Pointer(pGroup)).FxDestroy})).f(tls, (*quotaGroup)(unsafe.Pointer(pGroup)).FpArg) } sqlite3.Xsqlite3_free(tls, pGroup) } @@ -72206,7 +72906,9 @@ func quotaOpen(tls *libc.TLS, pVfs uintptr, zName uintptr, pConn uintptr, flags // If the file is not a main database file or a WAL, then use the // normal xOpen method. if (flags & (SQLITE_OPEN_MAIN_DB | SQLITE_OPEN_WAL)) == 0 { - return (*(*func(*libc.TLS, uintptr, uintptr, uintptr, int32, uintptr) int32)(unsafe.Pointer((pOrigVfs + 40 /* &.xOpen */))))(tls, pOrigVfs, zName, pConn, flags, pOutFlags) + return (*struct { + f func(*libc.TLS, uintptr, uintptr, uintptr, int32, uintptr) int32 + })(unsafe.Pointer(&struct{ uintptr }{(*sqlite3_vfs)(unsafe.Pointer(pOrigVfs)).FxOpen})).f(tls, pOrigVfs, zName, pConn, flags, pOutFlags) } // If the name of the file does not match any quota group, then @@ -72214,17 +72916,23 @@ func quotaOpen(tls *libc.TLS, pVfs uintptr, zName uintptr, pConn uintptr, flags quotaEnter(tls) pGroup = quotaGroupFind(tls, zName) if pGroup == uintptr(0) { - rc = (*(*func(*libc.TLS, uintptr, uintptr, uintptr, int32, uintptr) int32)(unsafe.Pointer((pOrigVfs + 40 /* &.xOpen */))))(tls, pOrigVfs, zName, pConn, flags, pOutFlags) + rc = (*struct { + f func(*libc.TLS, uintptr, uintptr, uintptr, int32, uintptr) int32 + })(unsafe.Pointer(&struct{ uintptr }{(*sqlite3_vfs)(unsafe.Pointer(pOrigVfs)).FxOpen})).f(tls, pOrigVfs, zName, pConn, flags, pOutFlags) } else { // If we get to this point, it means the file needs to be quota tracked. pQuotaOpen = pConn pSubOpen = quotaSubOpen(tls, pConn) - rc = (*(*func(*libc.TLS, uintptr, uintptr, uintptr, int32, uintptr) int32)(unsafe.Pointer((pOrigVfs + 40 /* &.xOpen */))))(tls, pOrigVfs, zName, pSubOpen, flags, pOutFlags) + rc = (*struct { + f func(*libc.TLS, uintptr, uintptr, uintptr, int32, uintptr) int32 + })(unsafe.Pointer(&struct{ uintptr }{(*sqlite3_vfs)(unsafe.Pointer(pOrigVfs)).FxOpen})).f(tls, pOrigVfs, zName, pSubOpen, flags, pOutFlags) if rc == SQLITE_OK { pFile = quotaFindFile(tls, pGroup, zName, 1) if pFile == uintptr(0) { quotaLeave(tls) - (*(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(((*sqlite3_file)(unsafe.Pointer(pSubOpen)).FpMethods + 8 /* &.xClose */))))(tls, pSubOpen) + (*struct { + f func(*libc.TLS, uintptr) int32 + })(unsafe.Pointer(&struct{ uintptr }{(*sqlite3_io_methods1)(unsafe.Pointer((*sqlite3_file)(unsafe.Pointer(pSubOpen)).FpMethods)).FxClose})).f(tls, pSubOpen) return SQLITE_NOMEM } (*quotaFile)(unsafe.Pointer(pFile)).FdeleteOnClose = (libc.Bool32((flags & SQLITE_OPEN_DELETEONCLOSE) != 0)) @@ -72253,7 +72961,9 @@ func quotaDelete(tls *libc.TLS, pVfs uintptr, zName uintptr, syncDir int32) int3 var pOrigVfs uintptr = gQuota.FpOrigVfs // Real VFS // Do the actual file delete - rc = (*(*func(*libc.TLS, uintptr, uintptr, int32) int32)(unsafe.Pointer((pOrigVfs + 48 /* &.xDelete */))))(tls, pOrigVfs, zName, syncDir) + rc = (*struct { + f func(*libc.TLS, uintptr, uintptr, int32) int32 + })(unsafe.Pointer(&struct{ uintptr }{(*sqlite3_vfs)(unsafe.Pointer(pOrigVfs)).FxDelete})).f(tls, pOrigVfs, zName, syncDir) // If the file just deleted is a member of a quota group, then remove // it from that quota group. @@ -72286,13 +72996,17 @@ func quotaClose(tls *libc.TLS, pConn uintptr) int32 { /* test_quota.c:528:12: */ var pFile uintptr = (*quotaConn)(unsafe.Pointer(p)).FpFile var pSubOpen uintptr = quotaSubOpen(tls, pConn) var rc int32 - rc = (*(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(((*sqlite3_file)(unsafe.Pointer(pSubOpen)).FpMethods + 8 /* &.xClose */))))(tls, pSubOpen) + rc = (*struct { + f func(*libc.TLS, uintptr) int32 + })(unsafe.Pointer(&struct{ uintptr }{(*sqlite3_io_methods1)(unsafe.Pointer((*sqlite3_file)(unsafe.Pointer(pSubOpen)).FpMethods)).FxClose})).f(tls, pSubOpen) quotaEnter(tls) (*quotaFile)(unsafe.Pointer(pFile)).FnRef-- if (*quotaFile)(unsafe.Pointer(pFile)).FnRef == 0 { var pGroup uintptr = (*quotaFile)(unsafe.Pointer(pFile)).FpGroup if (*quotaFile)(unsafe.Pointer(pFile)).FdeleteOnClose != 0 { - (*(*func(*libc.TLS, uintptr, uintptr, int32) int32)(unsafe.Pointer((gQuota.FpOrigVfs + 48 /* &.xDelete */))))(tls, gQuota.FpOrigVfs, (*quotaFile)(unsafe.Pointer(pFile)).FzFilename, 0) + (*struct { + f func(*libc.TLS, uintptr, uintptr, int32) int32 + })(unsafe.Pointer(&struct{ uintptr }{(*sqlite3_vfs)(unsafe.Pointer(gQuota.FpOrigVfs)).FxDelete})).f(tls, gQuota.FpOrigVfs, (*quotaFile)(unsafe.Pointer(pFile)).FzFilename, 0) quotaRemoveFile(tls, pFile) } quotaGroupDeref(tls, pGroup) @@ -72305,7 +73019,9 @@ func quotaClose(tls *libc.TLS, pConn uintptr) int32 { /* test_quota.c:528:12: */ // further processing. func quotaRead(tls *libc.TLS, pConn uintptr, pBuf uintptr, iAmt int32, iOfst sqlite3_int64) int32 { /* test_quota.c:551:12: */ var pSubOpen uintptr = quotaSubOpen(tls, pConn) - return (*(*func(*libc.TLS, uintptr, uintptr, int32, sqlite3_int64) int32)(unsafe.Pointer(((*sqlite3_file)(unsafe.Pointer(pSubOpen)).FpMethods + 16 /* &.xRead */))))(tls, pSubOpen, pBuf, iAmt, iOfst) + return (*struct { + f func(*libc.TLS, uintptr, uintptr, int32, sqlite3_int64) int32 + })(unsafe.Pointer(&struct{ uintptr }{(*sqlite3_io_methods1)(unsafe.Pointer((*sqlite3_file)(unsafe.Pointer(pSubOpen)).FpMethods)).FxRead})).f(tls, pSubOpen, pBuf, iAmt, iOfst) } // Check xWrite requests to see if they expand the file. If they do, @@ -72325,7 +73041,9 @@ func quotaWrite(tls *libc.TLS, pConn uintptr, pBuf uintptr, iAmt int32, iOfst sq szNew = (((*quotaGroup)(unsafe.Pointer(pGroup)).FiSize - (*quotaFile)(unsafe.Pointer(pFile)).FiSize) + iEnd) if (szNew > (*quotaGroup)(unsafe.Pointer(pGroup)).FiLimit) && ((*quotaGroup)(unsafe.Pointer(pGroup)).FiLimit > int64(0)) { if (*quotaGroup)(unsafe.Pointer(pGroup)).FxCallback != 0 { - (*(*func(*libc.TLS, uintptr, uintptr, sqlite3_int64, uintptr))(unsafe.Pointer((pGroup + 24 /* &.xCallback */))))(tls, (*quotaFile)(unsafe.Pointer(pFile)).FzFilename, (pGroup + 8 /* &.iLimit */), szNew, + (*struct { + f func(*libc.TLS, uintptr, uintptr, sqlite3_int64, uintptr) + })(unsafe.Pointer(&struct{ uintptr }{(*quotaGroup)(unsafe.Pointer(pGroup)).FxCallback})).f(tls, (*quotaFile)(unsafe.Pointer(pFile)).FzFilename, (pGroup + 8 /* &.iLimit */), szNew, (*quotaGroup)(unsafe.Pointer(pGroup)).FpArg) } if (szNew > (*quotaGroup)(unsafe.Pointer(pGroup)).FiLimit) && ((*quotaGroup)(unsafe.Pointer(pGroup)).FiLimit > int64(0)) { @@ -72337,7 +73055,9 @@ func quotaWrite(tls *libc.TLS, pConn uintptr, pBuf uintptr, iAmt int32, iOfst sq (*quotaFile)(unsafe.Pointer(pFile)).FiSize = iEnd quotaLeave(tls) } - return (*(*func(*libc.TLS, uintptr, uintptr, int32, sqlite3_int64) int32)(unsafe.Pointer(((*sqlite3_file)(unsafe.Pointer(pSubOpen)).FpMethods + 24 /* &.xWrite */))))(tls, pSubOpen, pBuf, iAmt, iOfst) + return (*struct { + f func(*libc.TLS, uintptr, uintptr, int32, sqlite3_int64) int32 + })(unsafe.Pointer(&struct{ uintptr }{(*sqlite3_io_methods1)(unsafe.Pointer((*sqlite3_file)(unsafe.Pointer(pSubOpen)).FpMethods)).FxWrite})).f(tls, pSubOpen, pBuf, iAmt, iOfst) } // Pass xTruncate requests thru to the original VFS. If the @@ -72345,7 +73065,9 @@ func quotaWrite(tls *libc.TLS, pConn uintptr, pBuf uintptr, iAmt int32, iOfst sq func quotaTruncate(tls *libc.TLS, pConn uintptr, size sqlite3_int64) int32 { /* test_quota.c:602:12: */ var p uintptr = pConn var pSubOpen uintptr = quotaSubOpen(tls, pConn) - var rc int32 = (*(*func(*libc.TLS, uintptr, sqlite3_int64) int32)(unsafe.Pointer(((*sqlite3_file)(unsafe.Pointer(pSubOpen)).FpMethods + 32 /* &.xTruncate */))))(tls, pSubOpen, size) + var rc int32 = (*struct { + f func(*libc.TLS, uintptr, sqlite3_int64) int32 + })(unsafe.Pointer(&struct{ uintptr }{(*sqlite3_io_methods1)(unsafe.Pointer((*sqlite3_file)(unsafe.Pointer(pSubOpen)).FpMethods)).FxTruncate})).f(tls, pSubOpen, size) var pFile uintptr = (*quotaConn)(unsafe.Pointer(p)).FpFile var pGroup uintptr if rc == SQLITE_OK { @@ -72362,7 +73084,9 @@ func quotaTruncate(tls *libc.TLS, pConn uintptr, size sqlite3_int64) int32 { /* // Pass xSync requests through to the original VFS without change func quotaSync(tls *libc.TLS, pConn uintptr, flags int32) int32 { /* test_quota.c:621:12: */ var pSubOpen uintptr = quotaSubOpen(tls, pConn) - return (*(*func(*libc.TLS, uintptr, int32) int32)(unsafe.Pointer(((*sqlite3_file)(unsafe.Pointer(pSubOpen)).FpMethods + 40 /* &.xSync */))))(tls, pSubOpen, flags) + return (*struct { + f func(*libc.TLS, uintptr, int32) int32 + })(unsafe.Pointer(&struct{ uintptr }{(*sqlite3_io_methods1)(unsafe.Pointer((*sqlite3_file)(unsafe.Pointer(pSubOpen)).FpMethods)).FxSync})).f(tls, pSubOpen, flags) } // Pass xFileSize requests through to the original VFS but then @@ -72379,7 +73103,9 @@ func quotaFileSize(tls *libc.TLS, pConn uintptr, pSize uintptr) int32 { /* test_ var rc int32 - rc = (*(*func(*libc.TLS, uintptr, uintptr) int32)(unsafe.Pointer(((*sqlite3_file)(unsafe.Pointer(pSubOpen)).FpMethods + 48 /* &.xFileSize */))))(tls, pSubOpen, bp /* &sz */) + rc = (*struct { + f func(*libc.TLS, uintptr, uintptr) int32 + })(unsafe.Pointer(&struct{ uintptr }{(*sqlite3_io_methods1)(unsafe.Pointer((*sqlite3_file)(unsafe.Pointer(pSubOpen)).FpMethods)).FxFileSize})).f(tls, pSubOpen, bp /* &sz */) if rc == SQLITE_OK { quotaEnter(tls) pGroup = (*quotaFile)(unsafe.Pointer(pFile)).FpGroup @@ -72395,19 +73121,25 @@ func quotaFileSize(tls *libc.TLS, pConn uintptr, pSize uintptr) int32 { /* test_ // Pass xLock requests through to the original VFS unchanged. func quotaLock(tls *libc.TLS, pConn uintptr, lock int32) int32 { /* test_quota.c:652:12: */ var pSubOpen uintptr = quotaSubOpen(tls, pConn) - return (*(*func(*libc.TLS, uintptr, int32) int32)(unsafe.Pointer(((*sqlite3_file)(unsafe.Pointer(pSubOpen)).FpMethods + 56 /* &.xLock */))))(tls, pSubOpen, lock) + return (*struct { + f func(*libc.TLS, uintptr, int32) int32 + })(unsafe.Pointer(&struct{ uintptr }{(*sqlite3_io_methods1)(unsafe.Pointer((*sqlite3_file)(unsafe.Pointer(pSubOpen)).FpMethods)).FxLock})).f(tls, pSubOpen, lock) } // Pass xUnlock requests through to the original VFS unchanged. func quotaUnlock(tls *libc.TLS, pConn uintptr, lock int32) int32 { /* test_quota.c:659:12: */ var pSubOpen uintptr = quotaSubOpen(tls, pConn) - return (*(*func(*libc.TLS, uintptr, int32) int32)(unsafe.Pointer(((*sqlite3_file)(unsafe.Pointer(pSubOpen)).FpMethods + 64 /* &.xUnlock */))))(tls, pSubOpen, lock) + return (*struct { + f func(*libc.TLS, uintptr, int32) int32 + })(unsafe.Pointer(&struct{ uintptr }{(*sqlite3_io_methods1)(unsafe.Pointer((*sqlite3_file)(unsafe.Pointer(pSubOpen)).FpMethods)).FxUnlock})).f(tls, pSubOpen, lock) } // Pass xCheckReservedLock requests through to the original VFS unchanged. func quotaCheckReservedLock(tls *libc.TLS, pConn uintptr, pResOut uintptr) int32 { /* test_quota.c:666:12: */ var pSubOpen uintptr = quotaSubOpen(tls, pConn) - return (*(*func(*libc.TLS, uintptr, uintptr) int32)(unsafe.Pointer(((*sqlite3_file)(unsafe.Pointer(pSubOpen)).FpMethods + 72 /* &.xCheckReservedLock */))))(tls, pSubOpen, pResOut) + return (*struct { + f func(*libc.TLS, uintptr, uintptr) int32 + })(unsafe.Pointer(&struct{ uintptr }{(*sqlite3_io_methods1)(unsafe.Pointer((*sqlite3_file)(unsafe.Pointer(pSubOpen)).FpMethods)).FxCheckReservedLock})).f(tls, pSubOpen, pResOut) } // Pass xFileControl requests through to the original VFS unchanged. @@ -72416,7 +73148,9 @@ func quotaFileControl(tls *libc.TLS, pConn uintptr, op int32, pArg uintptr) int3 defer tls.Free(8) 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) + var rc int32 = (*struct { + f func(*libc.TLS, uintptr, int32, uintptr) int32 + })(unsafe.Pointer(&struct{ uintptr }{(*sqlite3_io_methods1)(unsafe.Pointer((*sqlite3_file)(unsafe.Pointer(pSubOpen)).FpMethods)).FxFileControl})).f(tls, pSubOpen, op, pArg) if (op == SQLITE_FCNTL_VFSNAME) && (rc == SQLITE_OK) { *(*uintptr)(unsafe.Pointer(pArg)) = sqlite3.Xsqlite3_mprintf(tls, ts+36042 /* "quota/%z" */, libc.VaList(bp, *(*uintptr)(unsafe.Pointer(pArg)))) } @@ -72426,37 +73160,47 @@ func quotaFileControl(tls *libc.TLS, pConn uintptr, op int32, pArg uintptr) int3 // Pass xSectorSize requests through to the original VFS unchanged. func quotaSectorSize(tls *libc.TLS, pConn uintptr) int32 { /* test_quota.c:686:12: */ var pSubOpen uintptr = quotaSubOpen(tls, pConn) - return (*(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(((*sqlite3_file)(unsafe.Pointer(pSubOpen)).FpMethods + 88 /* &.xSectorSize */))))(tls, pSubOpen) + return (*struct { + f func(*libc.TLS, uintptr) int32 + })(unsafe.Pointer(&struct{ uintptr }{(*sqlite3_io_methods1)(unsafe.Pointer((*sqlite3_file)(unsafe.Pointer(pSubOpen)).FpMethods)).FxSectorSize})).f(tls, pSubOpen) } // Pass xDeviceCharacteristics requests through to the original VFS unchanged. func quotaDeviceCharacteristics(tls *libc.TLS, pConn uintptr) int32 { /* test_quota.c:693:12: */ var pSubOpen uintptr = quotaSubOpen(tls, pConn) - return (*(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(((*sqlite3_file)(unsafe.Pointer(pSubOpen)).FpMethods + 96 /* &.xDeviceCharacteristics */))))(tls, pSubOpen) + return (*struct { + f func(*libc.TLS, uintptr) int32 + })(unsafe.Pointer(&struct{ uintptr }{(*sqlite3_io_methods1)(unsafe.Pointer((*sqlite3_file)(unsafe.Pointer(pSubOpen)).FpMethods)).FxDeviceCharacteristics})).f(tls, pSubOpen) } // Pass xShmMap requests through to the original VFS unchanged. func quotaShmMap(tls *libc.TLS, pConn uintptr, iRegion int32, szRegion int32, bExtend int32, pp uintptr) int32 { /* test_quota.c:700:12: */ var pSubOpen uintptr = quotaSubOpen(tls, pConn) - return (*(*func(*libc.TLS, uintptr, int32, int32, int32, uintptr) int32)(unsafe.Pointer(((*sqlite3_file)(unsafe.Pointer(pSubOpen)).FpMethods + 104 /* &.xShmMap */))))(tls, pSubOpen, iRegion, szRegion, bExtend, libc.AtomicLoadUintptr(&pp)) + return (*struct { + f func(*libc.TLS, uintptr, int32, int32, int32, uintptr) int32 + })(unsafe.Pointer(&struct{ uintptr }{(*sqlite3_io_methods1)(unsafe.Pointer((*sqlite3_file)(unsafe.Pointer(pSubOpen)).FpMethods)).FxShmMap})).f(tls, pSubOpen, iRegion, szRegion, bExtend, pp) } // Pass xShmLock requests through to the original VFS unchanged. func quotaShmLock(tls *libc.TLS, pConn uintptr, ofst int32, n int32, flags int32) int32 { /* test_quota.c:713:12: */ var pSubOpen uintptr = quotaSubOpen(tls, pConn) - return (*(*func(*libc.TLS, uintptr, int32, int32, int32) int32)(unsafe.Pointer(((*sqlite3_file)(unsafe.Pointer(pSubOpen)).FpMethods + 112 /* &.xShmLock */))))(tls, pSubOpen, ofst, n, flags) + return (*struct { + f func(*libc.TLS, uintptr, int32, int32, int32) int32 + })(unsafe.Pointer(&struct{ uintptr }{(*sqlite3_io_methods1)(unsafe.Pointer((*sqlite3_file)(unsafe.Pointer(pSubOpen)).FpMethods)).FxShmLock})).f(tls, pSubOpen, ofst, n, flags) } // Pass xShmBarrier requests through to the original VFS unchanged. func quotaShmBarrier(tls *libc.TLS, pConn uintptr) { /* test_quota.c:725:13: */ var pSubOpen uintptr = quotaSubOpen(tls, pConn) - (*(*func(*libc.TLS, uintptr))(unsafe.Pointer(((*sqlite3_file)(unsafe.Pointer(pSubOpen)).FpMethods + 120 /* &.xShmBarrier */))))(tls, pSubOpen) + (*struct{ f func(*libc.TLS, uintptr) })(unsafe.Pointer(&struct{ uintptr }{(*sqlite3_io_methods1)(unsafe.Pointer((*sqlite3_file)(unsafe.Pointer(pSubOpen)).FpMethods)).FxShmBarrier})).f(tls, pSubOpen) } // Pass xShmUnmap requests through to the original VFS unchanged. func quotaShmUnmap(tls *libc.TLS, pConn uintptr, deleteFlag int32) int32 { /* test_quota.c:732:12: */ var pSubOpen uintptr = quotaSubOpen(tls, pConn) - return (*(*func(*libc.TLS, uintptr, int32) int32)(unsafe.Pointer(((*sqlite3_file)(unsafe.Pointer(pSubOpen)).FpMethods + 128 /* &.xShmUnmap */))))(tls, pSubOpen, deleteFlag) + return (*struct { + f func(*libc.TLS, uintptr, int32) int32 + })(unsafe.Pointer(&struct{ uintptr }{(*sqlite3_io_methods1)(unsafe.Pointer((*sqlite3_file)(unsafe.Pointer(pSubOpen)).FpMethods)).FxShmUnmap})).f(tls, pSubOpen, deleteFlag) } //************************* Public Interfaces **************************** @@ -72627,7 +73371,7 @@ func sqlite3_quota_set(tls *libc.TLS, zPattern uintptr, iLimit sqlite3_int64, xC (*quotaGroup)(unsafe.Pointer(pGroup)).FiLimit = iLimit (*quotaGroup)(unsafe.Pointer(pGroup)).FxCallback = xCallback if ((*quotaGroup)(unsafe.Pointer(pGroup)).FxDestroy != 0) && ((*quotaGroup)(unsafe.Pointer(pGroup)).FpArg != pArg) { - (*(*func(*libc.TLS, uintptr))(unsafe.Pointer((pGroup + 40 /* &.xDestroy */))))(tls, (*quotaGroup)(unsafe.Pointer(pGroup)).FpArg) + (*struct{ f func(*libc.TLS, uintptr) })(unsafe.Pointer(&struct{ uintptr }{(*quotaGroup)(unsafe.Pointer(pGroup)).FxDestroy})).f(tls, (*quotaGroup)(unsafe.Pointer(pGroup)).FpArg) } (*quotaGroup)(unsafe.Pointer(pGroup)).FpArg = pArg (*quotaGroup)(unsafe.Pointer(pGroup)).FxDestroy = xDestroy @@ -72656,7 +73400,9 @@ func sqlite3_quota_file(tls *libc.TLS, zFilename uintptr) int32 { /* test_quota. rc = SQLITE_NOMEM } else { zFull = ((fd) + uintptr(gQuota.FsThisVfs.FszOsFile)) - rc = (*(*func(*libc.TLS, uintptr, uintptr, int32, uintptr) int32)(unsafe.Pointer((gQuota.FpOrigVfs + 64 /* &.xFullPathname */))))(tls, gQuota.FpOrigVfs, zFilename, + rc = (*struct { + f func(*libc.TLS, uintptr, uintptr, int32, uintptr) int32 + })(unsafe.Pointer(&struct{ uintptr }{(*sqlite3_vfs)(unsafe.Pointer(gQuota.FpOrigVfs)).FxFullPathname})).f(tls, gQuota.FpOrigVfs, zFilename, (gQuota.FsThisVfs.FmxPathname + 1), zFull) } @@ -72665,8 +73411,12 @@ func sqlite3_quota_file(tls *libc.TLS, zFilename uintptr) int32 { /* test_quota. rc = quotaOpen(tls, (uintptr(unsafe.Pointer(&gQuota)) + 8 /* &.sThisVfs */), zFull, fd, (SQLITE_OPEN_READONLY | SQLITE_OPEN_MAIN_DB), bp /* &outFlags */) if rc == SQLITE_OK { - (*(*func(*libc.TLS, uintptr, uintptr) int32)(unsafe.Pointer(((*sqlite3_file)(unsafe.Pointer(fd)).FpMethods + 48 /* &.xFileSize */))))(tls, fd, bp+8 /* &iSize */) - (*(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(((*sqlite3_file)(unsafe.Pointer(fd)).FpMethods + 8 /* &.xClose */))))(tls, fd) + (*struct { + f func(*libc.TLS, uintptr, uintptr) int32 + })(unsafe.Pointer(&struct{ uintptr }{(*sqlite3_io_methods1)(unsafe.Pointer((*sqlite3_file)(unsafe.Pointer(fd)).FpMethods)).FxFileSize})).f(tls, fd, bp+8 /* &iSize */) + (*struct { + f func(*libc.TLS, uintptr) int32 + })(unsafe.Pointer(&struct{ uintptr }{(*sqlite3_io_methods1)(unsafe.Pointer((*sqlite3_file)(unsafe.Pointer(fd)).FpMethods)).FxClose})).f(tls, fd) } else if rc == SQLITE_CANTOPEN { var pGroup uintptr var pFile uintptr @@ -72705,7 +73455,9 @@ func sqlite3_quota_fopen(tls *libc.TLS, zFilename uintptr, zMode uintptr) uintpt return uintptr(0) __1: ; - rc = (*(*func(*libc.TLS, uintptr, uintptr, int32, uintptr) int32)(unsafe.Pointer((gQuota.FpOrigVfs + 64 /* &.xFullPathname */))))(tls, gQuota.FpOrigVfs, zFilename, + rc = (*struct { + f func(*libc.TLS, uintptr, uintptr, int32, uintptr) int32 + })(unsafe.Pointer(&struct{ uintptr }{(*sqlite3_vfs)(unsafe.Pointer(gQuota.FpOrigVfs)).FxFullPathname})).f(tls, gQuota.FpOrigVfs, zFilename, (gQuota.FsThisVfs.FmxPathname + 1), zFull) if !(rc != 0) { goto __2 @@ -72792,7 +73544,9 @@ func sqlite3_quota_fwrite(tls *libc.TLS, pBuf uintptr, size size_t, nmemb size_t szNew = (((*quotaGroup)(unsafe.Pointer(pGroup)).FiSize - (*quotaFile)(unsafe.Pointer(pFile)).FiSize) + iEnd) if (szNew > (*quotaGroup)(unsafe.Pointer(pGroup)).FiLimit) && ((*quotaGroup)(unsafe.Pointer(pGroup)).FiLimit > int64(0)) { if (*quotaGroup)(unsafe.Pointer(pGroup)).FxCallback != 0 { - (*(*func(*libc.TLS, uintptr, uintptr, sqlite3_int64, uintptr))(unsafe.Pointer((pGroup + 24 /* &.xCallback */))))(tls, (*quotaFile)(unsafe.Pointer(pFile)).FzFilename, (pGroup + 8 /* &.iLimit */), szNew, + (*struct { + f func(*libc.TLS, uintptr, uintptr, sqlite3_int64, uintptr) + })(unsafe.Pointer(&struct{ uintptr }{(*quotaGroup)(unsafe.Pointer(pGroup)).FxCallback})).f(tls, (*quotaFile)(unsafe.Pointer(pFile)).FzFilename, (pGroup + 8 /* &.iLimit */), szNew, (*quotaGroup)(unsafe.Pointer(pGroup)).FpArg) } if (szNew > (*quotaGroup)(unsafe.Pointer(pGroup)).FiLimit) && ((*quotaGroup)(unsafe.Pointer(pGroup)).FiLimit > int64(0)) { @@ -72838,7 +73592,9 @@ func sqlite3_quota_fclose(tls *libc.TLS, p uintptr) int32 { /* test_quota.c:1054 if (*quotaFile)(unsafe.Pointer(pFile)).FnRef == 0 { var pGroup uintptr = (*quotaFile)(unsafe.Pointer(pFile)).FpGroup if (*quotaFile)(unsafe.Pointer(pFile)).FdeleteOnClose != 0 { - (*(*func(*libc.TLS, uintptr, uintptr, int32) int32)(unsafe.Pointer((gQuota.FpOrigVfs + 48 /* &.xDelete */))))(tls, gQuota.FpOrigVfs, (*quotaFile)(unsafe.Pointer(pFile)).FzFilename, 0) + (*struct { + f func(*libc.TLS, uintptr, uintptr, int32) int32 + })(unsafe.Pointer(&struct{ uintptr }{(*sqlite3_vfs)(unsafe.Pointer(gQuota.FpOrigVfs)).FxDelete})).f(tls, gQuota.FpOrigVfs, (*quotaFile)(unsafe.Pointer(pFile)).FzFilename, 0) quotaRemoveFile(tls, pFile) } quotaGroupDeref(tls, pGroup) @@ -73008,7 +73764,9 @@ func sqlite3_quota_remove(tls *libc.TLS, zFilename uintptr) int32 { /* test_quot if zFull == uintptr(0) { return SQLITE_NOMEM } - rc = (*(*func(*libc.TLS, uintptr, uintptr, int32, uintptr) int32)(unsafe.Pointer((gQuota.FpOrigVfs + 64 /* &.xFullPathname */))))(tls, gQuota.FpOrigVfs, zFilename, + rc = (*struct { + f func(*libc.TLS, uintptr, uintptr, int32, uintptr) int32 + })(unsafe.Pointer(&struct{ uintptr }{(*sqlite3_vfs)(unsafe.Pointer(gQuota.FpOrigVfs)).FxFullPathname})).f(tls, gQuota.FpOrigVfs, zFilename, (gQuota.FsThisVfs.FmxPathname + 1), zFull) if rc != 0 { sqlite3.Xsqlite3_free(tls, zFull) @@ -73033,7 +73791,9 @@ func sqlite3_quota_remove(tls *libc.TLS, zFilename uintptr) int32 { /* test_quot if (*quotaFile)(unsafe.Pointer(pFile)).FnRef != 0 { (*quotaFile)(unsafe.Pointer(pFile)).FdeleteOnClose = 1 } else { - rc = (*(*func(*libc.TLS, uintptr, uintptr, int32) int32)(unsafe.Pointer((gQuota.FpOrigVfs + 48 /* &.xDelete */))))(tls, gQuota.FpOrigVfs, (*quotaFile)(unsafe.Pointer(pFile)).FzFilename, 0) + rc = (*struct { + f func(*libc.TLS, uintptr, uintptr, int32) int32 + })(unsafe.Pointer(&struct{ uintptr }{(*sqlite3_vfs)(unsafe.Pointer(gQuota.FpOrigVfs)).FxDelete})).f(tls, gQuota.FpOrigVfs, (*quotaFile)(unsafe.Pointer(pFile)).FzFilename, 0) quotaRemoveFile(tls, pFile) quotaGroupDeref(tls, pGroup) } @@ -73691,12 +74451,12 @@ type Circle1 = struct { Fymin float64 Fymax float64 } - Fcenterx float64 - Fcentery float64 - Fradius float64 - FmxArea float64 - FeScoreType int32 - _ [4]byte + Fcenterx float64 + Fcentery float64 + Fradius float64 + FmxArea float64 + FeScoreType int32 + F__ccgo_pad1 [4]byte } /* test_rtree.c:31:9 */ // Type used to cache parameter information for the "circle" r-tree geometry @@ -73881,7 +74641,7 @@ func circle_query_func(tls *libc.TLS, p uintptr) int32 { /* test_rtree.c:168:12: (*Circle)(unsafe.Pointer(pCircle)).Fcenterx = *(*sqlite3_rtree_dbl)(unsafe.Pointer((*sqlite3_rtree_query_info)(unsafe.Pointer(p)).FaParam)) (*Circle)(unsafe.Pointer(pCircle)).Fcentery = *(*sqlite3_rtree_dbl)(unsafe.Pointer((*sqlite3_rtree_query_info)(unsafe.Pointer(p)).FaParam + 1*8)) (*Circle)(unsafe.Pointer(pCircle)).Fradius = *(*sqlite3_rtree_dbl)(unsafe.Pointer((*sqlite3_rtree_query_info)(unsafe.Pointer(p)).FaParam + 2*8)) - (*Circle)(unsafe.Pointer(pCircle)).FeScoreType = int32(*(*sqlite3_rtree_dbl)(unsafe.Pointer((*sqlite3_rtree_query_info)(unsafe.Pointer(p)).FaParam + 3*8))) + (*Circle)(unsafe.Pointer(pCircle)).FeScoreType = libc.Int32FromFloat64(*(*sqlite3_rtree_dbl)(unsafe.Pointer((*sqlite3_rtree_query_info)(unsafe.Pointer(p)).FaParam + 3*8))) } else { var z uintptr = sqlite3.Xsqlite3_value_text(tls, *(*uintptr)(unsafe.Pointer((*sqlite3_rtree_query_info)(unsafe.Pointer(p)).FapSqlParam))) (*Circle)(unsafe.Pointer(pCircle)).Fcenterx = 0.0 @@ -73896,7 +74656,7 @@ func circle_query_func(tls *libc.TLS, p uintptr) int32 { /* test_rtree.c:168:12: } else if (int32(*(*int8)(unsafe.Pointer(z))) == 'y') && (int32(*(*int8)(unsafe.Pointer(z + 1))) == ':') { (*Circle)(unsafe.Pointer(pCircle)).Fcentery = libc.Xatof(tls, (z + 2)) } else if (int32(*(*int8)(unsafe.Pointer(z))) == 'e') && (int32(*(*int8)(unsafe.Pointer(z + 1))) == ':') { - (*Circle)(unsafe.Pointer(pCircle)).FeScoreType = int32(libc.Xatof(tls, (z + 2))) + (*Circle)(unsafe.Pointer(pCircle)).FeScoreType = libc.Int32FromFloat64(libc.Xatof(tls, (z + 2))) } else if int32(*(*int8)(unsafe.Pointer(z))) == ' ' { z++ continue @@ -74518,15 +75278,6 @@ func Sqlitetestrtree_Init(tls *libc.TLS, interp uintptr) int32 { /* test_rtree.c // fill-column: 78 // End: -// DO NOT EDIT THIS FILE. -// -// It has been auto-edited by fixincludes from: -// -// "/usr/include/stdlib.h" -// -// This had to be done to correct non-standard usages in the -// original, manufacturer supplied header file. - // $NetBSD: stdlib.h,v 1.121 2019/01/05 09:16:46 maya Exp $ // - @@ -74742,15 +75493,6 @@ type schema_vtab1 = struct { // fill-column: 78 // End: -// DO NOT EDIT THIS FILE. -// -// It has been auto-edited by fixincludes from: -// -// "/usr/include/stdlib.h" -// -// This had to be done to correct non-standard usages in the -// original, manufacturer supplied header file. - // $NetBSD: stdlib.h,v 1.121 2019/01/05 09:16:46 maya Exp $ // - @@ -74960,7 +75702,7 @@ type schema_cursor1 = struct { FpTableList uintptr FpColumnList uintptr Frowid int32 - _ [4]byte + F__ccgo_pad1 [4]byte } /* test_schema.c:54:9 */ type schema_cursor = schema_cursor1 /* test_schema.c:54:30 */ @@ -75316,14 +76058,14 @@ var aObjCmd12 = [1]struct { // instances of the following structure. type SqlMessage1 = struct { Fop int32 - _ [4]byte + F__ccgo_pad1 [4]byte FpDb uintptr FpStmt uintptr FerrCode int32 - _ [4]byte + F__ccgo_pad2 [4]byte FzIn uintptr FnByte int32 - _ [4]byte + F__ccgo_pad3 [4]byte FzOut uintptr FpNext uintptr FpPrev uintptr @@ -75411,7 +76153,7 @@ type ServerState = struct { FserverMutex pthread_mutex_t FserverWakeup pthread_cond_t FserverHalt int32 - _ [4]byte + F__ccgo_pad1 [4]byte FpQueueHead uintptr FpQueueTail uintptr } /* test_server.c:252:8 */ @@ -75432,11 +76174,11 @@ var g4 = ServerState{ // initializing them and destroying them when it has finished. func sendToServer(tls *libc.TLS, pMsg uintptr) { /* test_server.c:272:13: */ // Initialize the mutex and condition variable on the message - libc2.X__libc_mutex_init(tls, (pMsg + 72 /* &.clientMutex */), uintptr(0)) - libc2.X__libc_cond_init(tls, (pMsg + 120 /* &.clientWakeup */), uintptr(0)) + libc.Xpthread_mutex_init(tls, (pMsg + 72 /* &.clientMutex */), uintptr(0)) + libc.Xpthread_cond_init(tls, (pMsg + 120 /* &.clientWakeup */), uintptr(0)) // Add the message to the head of the server's message queue. - libc2.X__libc_mutex_lock(tls, (uintptr(unsafe.Pointer(&g4)) /* &.queueMutex */)) + libc.Xpthread_mutex_lock(tls, (uintptr(unsafe.Pointer(&g4)) /* &.queueMutex */)) (*SqlMessage)(unsafe.Pointer(pMsg)).FpNext = g4.FpQueueHead if g4.FpQueueHead == uintptr(0) { g4.FpQueueTail = pMsg @@ -75445,20 +76187,20 @@ func sendToServer(tls *libc.TLS, pMsg uintptr) { /* test_server.c:272:13: */ } (*SqlMessage)(unsafe.Pointer(pMsg)).FpPrev = uintptr(0) g4.FpQueueHead = pMsg - libc2.X__libc_mutex_unlock(tls, (uintptr(unsafe.Pointer(&g4)) /* &.queueMutex */)) + libc.Xpthread_mutex_unlock(tls, (uintptr(unsafe.Pointer(&g4)) /* &.queueMutex */)) // Signal the server that the new message has be queued, then // block waiting for the server to process the message. - libc2.X__libc_mutex_lock(tls, (pMsg + 72 /* &.clientMutex */)) - libc2.X__libc_cond_signal(tls, (uintptr(unsafe.Pointer(&g4)) + 96 /* &.serverWakeup */)) + libc.Xpthread_mutex_lock(tls, (pMsg + 72 /* &.clientMutex */)) + libc.Xpthread_cond_signal(tls, (uintptr(unsafe.Pointer(&g4)) + 96 /* &.serverWakeup */)) for (*SqlMessage)(unsafe.Pointer(pMsg)).Fop != MSG_Done { - libc2.X__libc_cond_wait(tls, (pMsg + 120 /* &.clientWakeup */), (pMsg + 72 /* &.clientMutex */)) + libc.Xpthread_cond_wait(tls, (pMsg + 120 /* &.clientWakeup */), (pMsg + 72 /* &.clientMutex */)) } - libc2.X__libc_mutex_unlock(tls, (pMsg + 72 /* &.clientMutex */)) + libc.Xpthread_mutex_unlock(tls, (pMsg + 72 /* &.clientMutex */)) // Destroy the mutex and condition variable of the message. - libc2.X__libc_mutex_destroy(tls, (pMsg + 72 /* &.clientMutex */)) - libc2.X__libc_cond_destroy(tls, (pMsg + 120 /* &.clientWakeup */)) + libc.Xpthread_mutex_destroy(tls, (pMsg + 72 /* &.clientMutex */)) + libc.Xpthread_cond_destroy(tls, (pMsg + 120 /* &.clientWakeup */)) } // The following 6 routines are client-side implementations of the @@ -75569,7 +76311,7 @@ func sqlite3_client_close(tls *libc.TLS, pDb uintptr) int32 { /* test_server.c:3 // for an example. This procedure loops until g.serverHalt becomes // true. func sqlite3_server(tls *libc.TLS, NotUsed uintptr) uintptr { /* test_server.c:393:6: */ - if libc2.X__libc_mutex_trylock(tls, (uintptr(unsafe.Pointer(&g4))+48 /* &.serverMutex */)) != 0 { + if libc.Xpthread_mutex_trylock(tls, (uintptr(unsafe.Pointer(&g4))+48 /* &.serverMutex */)) != 0 { return uintptr(0) // Another server is already running } sqlite3.Xsqlite3_enable_shared_cache(tls, 1) @@ -75577,9 +76319,9 @@ func sqlite3_server(tls *libc.TLS, NotUsed uintptr) uintptr { /* test_server.c:3 var pMsg uintptr // Remove the last message from the message queue. - libc2.X__libc_mutex_lock(tls, (uintptr(unsafe.Pointer(&g4)) /* &.queueMutex */)) + libc.Xpthread_mutex_lock(tls, (uintptr(unsafe.Pointer(&g4)) /* &.queueMutex */)) for (g4.FpQueueTail == uintptr(0)) && (g4.FserverHalt == 0) { - libc2.X__libc_cond_wait(tls, (uintptr(unsafe.Pointer(&g4)) + 96 /* &.serverWakeup */), (uintptr(unsafe.Pointer(&g4)) /* &.queueMutex */)) + libc.Xpthread_cond_wait(tls, (uintptr(unsafe.Pointer(&g4)) + 96 /* &.serverWakeup */), (uintptr(unsafe.Pointer(&g4)) /* &.queueMutex */)) } pMsg = g4.FpQueueTail if pMsg != 0 { @@ -75590,13 +76332,13 @@ func sqlite3_server(tls *libc.TLS, NotUsed uintptr) uintptr { /* test_server.c:3 } g4.FpQueueTail = (*SqlMessage)(unsafe.Pointer(pMsg)).FpPrev } - libc2.X__libc_mutex_unlock(tls, (uintptr(unsafe.Pointer(&g4)) /* &.queueMutex */)) + libc.Xpthread_mutex_unlock(tls, (uintptr(unsafe.Pointer(&g4)) /* &.queueMutex */)) if pMsg == uintptr(0) { break } // Process the message just removed - libc2.X__libc_mutex_lock(tls, (pMsg + 72 /* &.clientMutex */)) + libc.Xpthread_mutex_lock(tls, (pMsg + 72 /* &.clientMutex */)) switch (*SqlMessage)(unsafe.Pointer(pMsg)).Fop { case MSG_Open: { @@ -75639,10 +76381,10 @@ func sqlite3_server(tls *libc.TLS, NotUsed uintptr) uintptr { /* test_server.c:3 // Signal the client that the message has been processed. (*SqlMessage)(unsafe.Pointer(pMsg)).Fop = MSG_Done - libc2.X__libc_mutex_unlock(tls, (pMsg + 72 /* &.clientMutex */)) - libc2.X__libc_cond_signal(tls, (pMsg + 120 /* &.clientWakeup */)) + libc.Xpthread_mutex_unlock(tls, (pMsg + 72 /* &.clientMutex */)) + libc.Xpthread_cond_signal(tls, (pMsg + 120 /* &.clientWakeup */)) } - libc2.X__libc_mutex_unlock(tls, (uintptr(unsafe.Pointer(&g4)) + 48 /* &.serverMutex */)) + libc.Xpthread_mutex_unlock(tls, (uintptr(unsafe.Pointer(&g4)) + 48 /* &.serverMutex */)) return uintptr(0) } @@ -75657,11 +76399,11 @@ func sqlite3_server_start(tls *libc.TLS) { /* test_server.c:465:6: */ var rc int32 g4.FserverHalt = 0 - rc = libc2.Xpthread_create(tls, bp /* &x */, uintptr(0), *(*uintptr)(unsafe.Pointer(&struct { + rc = libc.Xpthread_create(tls, bp /* &x */, uintptr(0), *(*uintptr)(unsafe.Pointer(&struct { f func(*libc.TLS, uintptr) uintptr }{sqlite3_server})), uintptr(0)) if rc == 0 { - libc2.Xpthread_detach(tls, *(*pthread_t)(unsafe.Pointer(bp /* x */))) + libc.Xpthread_detach(tls, *(*pthread_t)(unsafe.Pointer(bp /* x */))) } } @@ -75685,11 +76427,11 @@ func sqlite3_server_start2(tls *libc.TLS, pnDecr uintptr) { /* test_server.c:491 var rc int32 g4.FserverHalt = 0 - rc = libc2.Xpthread_create(tls, bp /* &x */, uintptr(0), *(*uintptr)(unsafe.Pointer(&struct { + rc = libc.Xpthread_create(tls, bp /* &x */, uintptr(0), *(*uintptr)(unsafe.Pointer(&struct { f func(*libc.TLS, uintptr) uintptr }{serverWrapper})), pnDecr) if rc == 0 { - libc2.Xpthread_detach(tls, *(*pthread_t)(unsafe.Pointer(bp /* x */))) + libc.Xpthread_detach(tls, *(*pthread_t)(unsafe.Pointer(bp /* x */))) } } @@ -75700,18 +76442,18 @@ func sqlite3_server_start2(tls *libc.TLS, pnDecr uintptr) { /* test_server.c:491 // returning. func sqlite3_server_stop(tls *libc.TLS) { /* test_server.c:508:6: */ g4.FserverHalt = 1 - libc2.X__libc_cond_broadcast(tls, (uintptr(unsafe.Pointer(&g4)) + 96 /* &.serverWakeup */)) - libc2.X__libc_mutex_lock(tls, (uintptr(unsafe.Pointer(&g4)) + 48 /* &.serverMutex */)) - libc2.X__libc_mutex_unlock(tls, (uintptr(unsafe.Pointer(&g4)) + 48 /* &.serverMutex */)) + libc.Xpthread_cond_broadcast(tls, (uintptr(unsafe.Pointer(&g4)) + 96 /* &.serverWakeup */)) + libc.Xpthread_mutex_lock(tls, (uintptr(unsafe.Pointer(&g4)) + 48 /* &.serverMutex */)) + libc.Xpthread_mutex_unlock(tls, (uintptr(unsafe.Pointer(&g4)) + 48 /* &.serverMutex */)) } // A structure to collect a busy-handler callback and argument and a count // of the number of times it has been invoked. type SuperlockBusy1 = struct { - FxBusy uintptr - FpBusyArg uintptr - FnBusy int32 - _ [4]byte + FxBusy uintptr + FpBusyArg uintptr + FnBusy int32 + F__ccgo_pad1 [4]byte } /* test_superlock.c:29:1 */ type SuperlockBusy = SuperlockBusy1 /* test_superlock.c:34:30 */ @@ -75720,9 +76462,9 @@ type SuperlockBusy = SuperlockBusy1 /* test_superlock.c:34:30 */ // superlock. The opaque handle returned by sqlite3demo_superlock() is // actually a pointer to an instance of this structure. type Superlock1 = struct { - Fdb uintptr - FbWal int32 - _ [4]byte + Fdb uintptr + FbWal int32 + F__ccgo_pad1 [4]byte } /* test_superlock.c:41:1 */ type Superlock = Superlock1 /* test_superlock.c:45:26 */ @@ -75735,7 +76477,9 @@ func superlockBusyHandler(tls *libc.TLS, pCtx uintptr, UNUSED int32) int32 { /* if (*SuperlockBusy)(unsafe.Pointer(pBusy)).FxBusy == uintptr(0) { return 0 } - return (*(*func(*libc.TLS, uintptr, int32) int32)(unsafe.Pointer((pBusy /* &.xBusy */))))(tls, (*SuperlockBusy)(unsafe.Pointer(pBusy)).FpBusyArg, libc.PostIncInt32(&(*SuperlockBusy)(unsafe.Pointer(pBusy)).FnBusy, 1)) + return (*struct { + f func(*libc.TLS, uintptr, int32) int32 + })(unsafe.Pointer(&struct{ uintptr }{(*SuperlockBusy)(unsafe.Pointer(pBusy)).FxBusy})).f(tls, (*SuperlockBusy)(unsafe.Pointer(pBusy)).FpBusyArg, libc.PostIncInt32(&(*SuperlockBusy)(unsafe.Pointer(pBusy)).FnBusy, 1)) } // This function is used to determine if the main database file for @@ -75777,7 +76521,9 @@ func superlockShmLock(tls *libc.TLS, fd uintptr, idx int32, nByte int32, pBusy u var rc int32 var xShmLock uintptr = (*sqlite3_io_methods1)(unsafe.Pointer((*sqlite3_file)(unsafe.Pointer(fd)).FpMethods)).FxShmLock for ok := true; ok; ok = ((rc == SQLITE_BUSY) && (superlockBusyHandler(tls, pBusy, 0) != 0)) { - rc = (*(*func(*libc.TLS, uintptr, int32, int32, int32) int32)(unsafe.Pointer(&xShmLock)))(tls, fd, idx, nByte, (SQLITE_SHM_LOCK | SQLITE_SHM_EXCLUSIVE)) + rc = (*struct { + f func(*libc.TLS, uintptr, int32, int32, int32) int32 + })(unsafe.Pointer(&struct{ uintptr }{xShmLock})).f(tls, fd, idx, nByte, (SQLITE_SHM_LOCK | SQLITE_SHM_EXCLUSIVE)) } return rc } @@ -75811,11 +76557,13 @@ func superlockWalLock(tls *libc.TLS, db uintptr, pBusy uintptr) int32 { /* test_ // lock that this process is holding to do that, no new read or write // transactions may now be opened. Nor can a checkpoint be run, for the // same reason. - rc = (*(*func(*libc.TLS, uintptr, int32, int32, int32, uintptr) int32)(unsafe.Pointer(((*sqlite3_file)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp /* fd */)))).FpMethods + 104 /* &.xShmMap */))))(tls, *(*uintptr)(unsafe.Pointer(bp /* fd */)), 0, (32 * 1024), 1, bp+8 /* &p */) + rc = (*struct { + f func(*libc.TLS, uintptr, int32, int32, int32, uintptr) int32 + })(unsafe.Pointer(&struct{ uintptr }{(*sqlite3_io_methods1)(unsafe.Pointer((*sqlite3_file)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp /* fd */)))).FpMethods)).FxShmMap})).f(tls, *(*uintptr)(unsafe.Pointer(bp /* fd */)), 0, (32 * 1024), 1, bp+8 /* &p */) if rc != SQLITE_OK { return rc } - libc.Xmemset(tls, libc.AtomicLoadPUintptr(bp+8 /* p */), 0, uint64(32)) + libc.Xmemset(tls, *(*uintptr)(unsafe.Pointer(bp + 8 /* p */)), 0, uint64(32)) // Obtain exclusive locks on all the "read-lock" slots. Once these locks // are held, it is guaranteed that there are no active reader, writer or @@ -75838,8 +76586,12 @@ func sqlite3demo_superunlock(tls *libc.TLS, pLock uintptr) { /* test_superlock.c *(*uintptr)(unsafe.Pointer(bp /* fd */)) = uintptr(0) rc = sqlite3.Xsqlite3_file_control(tls, (*Superlock)(unsafe.Pointer(p)).Fdb, ts+85 /* "main" */, SQLITE_FCNTL_FILE_POINTER, bp /* &fd */) if rc == SQLITE_OK { - (*(*func(*libc.TLS, uintptr, int32, int32, int32) int32)(unsafe.Pointer(((*sqlite3_file)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp /* fd */)))).FpMethods + 112 /* &.xShmLock */))))(tls, *(*uintptr)(unsafe.Pointer(bp /* fd */)), 2, 1, flags) - (*(*func(*libc.TLS, uintptr, int32, int32, int32) int32)(unsafe.Pointer(((*sqlite3_file)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp /* fd */)))).FpMethods + 112 /* &.xShmLock */))))(tls, *(*uintptr)(unsafe.Pointer(bp /* fd */)), 3, (SQLITE_SHM_NLOCK - 3), flags) + (*struct { + f func(*libc.TLS, uintptr, int32, int32, int32) int32 + })(unsafe.Pointer(&struct{ uintptr }{(*sqlite3_io_methods1)(unsafe.Pointer((*sqlite3_file)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp /* fd */)))).FpMethods)).FxShmLock})).f(tls, *(*uintptr)(unsafe.Pointer(bp /* fd */)), 2, 1, flags) + (*struct { + f func(*libc.TLS, uintptr, int32, int32, int32) int32 + })(unsafe.Pointer(&struct{ uintptr }{(*sqlite3_io_methods1)(unsafe.Pointer((*sqlite3_file)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp /* fd */)))).FpMethods)).FxShmLock})).f(tls, *(*uintptr)(unsafe.Pointer(bp /* fd */)), 3, (SQLITE_SHM_NLOCK - 3), flags) } } sqlite3.Xsqlite3_close(tls, (*Superlock)(unsafe.Pointer(p)).Fdb) @@ -76193,7 +76945,7 @@ func ts_fcntl(tls *libc.TLS, fd int32, cmd int32, va uintptr) int32 { /* test_sy if tsIsFailErrno(tls, ts+37202 /* "fcntl" */) != 0 { return -1 } - ap = va + (ap) = va pArg = libc.VaUintptr(&ap) return (*(*func(*libc.TLS, int32, int32, uintptr) int32)(unsafe.Pointer((uintptr(unsafe.Pointer(&aSyscall)) + 7*32 + 16 /* &.xOrig */))))(tls, fd, cmd, libc.VaList(bp, pArg)) } @@ -76288,7 +77040,7 @@ func ts_mremap(tls *libc.TLS, a uintptr, b size_t, c size_t, d int32, va uintptr if tsIsFailErrno(tls, ts+37255 /* "mremap" */) != 0 { return libc.UintptrFromInt32(-1) } - ap = va + (ap) = va pArg = libc.VaUintptr(&ap) return (*(*func(*libc.TLS, uintptr, size_t, size_t, int32, uintptr) uintptr)(unsafe.Pointer((uintptr(unsafe.Pointer(&aSyscall)) + 17*32 + 16 /* &.xOrig */))))(tls, a, b, c, d, libc.VaList(bp, pArg)) } @@ -76321,8 +77073,12 @@ func test_syscall_install(tls *libc.TLS, clientData uintptr, interp uintptr, obj return rc } if aSyscall[*(*int32)(unsafe.Pointer(bp + 16 /* iCall */))].FxOrig == uintptr(0) { - aSyscall[*(*int32)(unsafe.Pointer(bp + 16 /* iCall */))].FxOrig = (*(*func(*libc.TLS, uintptr, uintptr) sqlite3_syscall_ptr)(unsafe.Pointer((pVfs + 152 /* &.xGetSystemCall */))))(tls, pVfs, aSyscall[*(*int32)(unsafe.Pointer(bp + 16 /* iCall */))].FzName) - (*(*func(*libc.TLS, uintptr, uintptr, sqlite3_syscall_ptr) int32)(unsafe.Pointer((pVfs + 144 /* &.xSetSystemCall */))))(tls, pVfs, aSyscall[*(*int32)(unsafe.Pointer(bp + 16 /* iCall */))].FzName, aSyscall[*(*int32)(unsafe.Pointer(bp + 16 /* iCall */))].FxTest) + aSyscall[*(*int32)(unsafe.Pointer(bp + 16 /* iCall */))].FxOrig = (*struct { + f func(*libc.TLS, uintptr, uintptr) sqlite3_syscall_ptr + })(unsafe.Pointer(&struct{ uintptr }{(*sqlite3_vfs)(unsafe.Pointer(pVfs)).FxGetSystemCall})).f(tls, pVfs, aSyscall[*(*int32)(unsafe.Pointer(bp + 16 /* iCall */))].FzName) + (*struct { + f func(*libc.TLS, uintptr, uintptr, sqlite3_syscall_ptr) int32 + })(unsafe.Pointer(&struct{ uintptr }{(*sqlite3_vfs)(unsafe.Pointer(pVfs)).FxSetSystemCall})).f(tls, pVfs, aSyscall[*(*int32)(unsafe.Pointer(bp + 16 /* iCall */))].FzName, aSyscall[*(*int32)(unsafe.Pointer(bp + 16 /* iCall */))].FxTest) } aSyscall[*(*int32)(unsafe.Pointer(bp + 16 /* iCall */))].Fcustom_errno = aSyscall[*(*int32)(unsafe.Pointer(bp + 16 /* iCall */))].Fdefault_errno } @@ -76342,7 +77098,9 @@ func test_syscall_uninstall(tls *libc.TLS, clientData uintptr, interp uintptr, o pVfs = sqlite3.Xsqlite3_vfs_find(tls, uintptr(0)) for i = 0; aSyscall[i].FzName != 0; i++ { if aSyscall[i].FxOrig != 0 { - (*(*func(*libc.TLS, uintptr, uintptr, sqlite3_syscall_ptr) int32)(unsafe.Pointer((pVfs + 144 /* &.xSetSystemCall */))))(tls, pVfs, aSyscall[i].FzName, uintptr(0)) + (*struct { + f func(*libc.TLS, uintptr, uintptr, sqlite3_syscall_ptr) int32 + })(unsafe.Pointer(&struct{ uintptr }{(*sqlite3_vfs)(unsafe.Pointer(pVfs)).FxSetSystemCall})).f(tls, pVfs, aSyscall[i].FzName, uintptr(0)) aSyscall[i].FxOrig = uintptr(0) } } @@ -76364,7 +77122,9 @@ func test_syscall_reset(tls *libc.TLS, clientData uintptr, interp uintptr, objc pVfs = sqlite3.Xsqlite3_vfs_find(tls, uintptr(0)) if objc == 2 { - rc = (*(*func(*libc.TLS, uintptr, uintptr, sqlite3_syscall_ptr) int32)(unsafe.Pointer((pVfs + 144 /* &.xSetSystemCall */))))(tls, pVfs, uintptr(0), uintptr(0)) + rc = (*struct { + f func(*libc.TLS, uintptr, uintptr, sqlite3_syscall_ptr) int32 + })(unsafe.Pointer(&struct{ uintptr }{(*sqlite3_vfs)(unsafe.Pointer(pVfs)).FxSetSystemCall})).f(tls, pVfs, uintptr(0), uintptr(0)) for i = 0; aSyscall[i].FzName != 0; i++ { aSyscall[i].FxOrig = uintptr(0) } @@ -76372,7 +77132,9 @@ func test_syscall_reset(tls *libc.TLS, clientData uintptr, interp uintptr, objc // var nFunc int32 at bp, 4 var zFunc uintptr = tcl.XTcl_GetStringFromObj(tls, *(*uintptr)(unsafe.Pointer(objv + 2*8)), bp /* &nFunc */) - rc = (*(*func(*libc.TLS, uintptr, uintptr, sqlite3_syscall_ptr) int32)(unsafe.Pointer((pVfs + 144 /* &.xSetSystemCall */))))(tls, pVfs, tcl.XTcl_GetString(tls, *(*uintptr)(unsafe.Pointer(objv + 2*8))), uintptr(0)) + rc = (*struct { + f func(*libc.TLS, uintptr, uintptr, sqlite3_syscall_ptr) int32 + })(unsafe.Pointer(&struct{ uintptr }{(*sqlite3_vfs)(unsafe.Pointer(pVfs)).FxSetSystemCall})).f(tls, pVfs, tcl.XTcl_GetString(tls, *(*uintptr)(unsafe.Pointer(objv + 2*8))), uintptr(0)) for i = 0; (rc == SQLITE_OK) && (aSyscall[i].FzName != 0); i++ { if libc.Xstrlen(tls, aSyscall[i].FzName) != size_t(*(*int32)(unsafe.Pointer(bp /* nFunc */))) { continue @@ -76402,7 +77164,9 @@ func test_syscall_exists(tls *libc.TLS, clientData uintptr, interp uintptr, objc } pVfs = sqlite3.Xsqlite3_vfs_find(tls, uintptr(0)) - x = (*(*func(*libc.TLS, uintptr, uintptr) sqlite3_syscall_ptr)(unsafe.Pointer((pVfs + 152 /* &.xGetSystemCall */))))(tls, pVfs, tcl.XTcl_GetString(tls, *(*uintptr)(unsafe.Pointer(objv + 2*8)))) + x = (*struct { + f func(*libc.TLS, uintptr, uintptr) sqlite3_syscall_ptr + })(unsafe.Pointer(&struct{ uintptr }{(*sqlite3_vfs)(unsafe.Pointer(pVfs)).FxGetSystemCall})).f(tls, pVfs, tcl.XTcl_GetString(tls, *(*uintptr)(unsafe.Pointer(objv + 2*8)))) tcl.XTcl_SetObjResult(tls, interp, tcl.XTcl_NewIntObj(tls, (libc.Bool32((libc.Bool32(x != uintptr(0))) != 0)))) return TCL_OK @@ -76480,9 +77244,9 @@ func test_syscall_errno(tls *libc.TLS, clientData uintptr, interp uintptr, objc } type Errno = struct { - Fz uintptr - Fi int32 - _ [4]byte + Fz uintptr + Fi int32 + F__ccgo_pad1 [4]byte } /* test_syscall.c:583:3 */ func test_syscall_list(tls *libc.TLS, clientData uintptr, interp uintptr, objc int32, objv uintptr) int32 { /* test_syscall.c:619:26: */ @@ -76498,7 +77262,11 @@ func test_syscall_list(tls *libc.TLS, clientData uintptr, interp uintptr, objc i pVfs = sqlite3.Xsqlite3_vfs_find(tls, uintptr(0)) pList = tcl.XTcl_NewObj(tls) (*Tcl_Obj)(unsafe.Pointer(pList)).FrefCount++ - for zSys = (*(*func(*libc.TLS, uintptr, uintptr) uintptr)(unsafe.Pointer((pVfs + 160 /* &.xNextSystemCall */))))(tls, pVfs, uintptr(0)); zSys != uintptr(0); zSys = (*(*func(*libc.TLS, uintptr, uintptr) uintptr)(unsafe.Pointer((pVfs + 160 /* &.xNextSystemCall */))))(tls, pVfs, zSys) { + for zSys = (*struct { + f func(*libc.TLS, uintptr, uintptr) uintptr + })(unsafe.Pointer(&struct{ uintptr }{(*sqlite3_vfs)(unsafe.Pointer(pVfs)).FxNextSystemCall})).f(tls, pVfs, uintptr(0)); zSys != uintptr(0); zSys = (*struct { + f func(*libc.TLS, uintptr, uintptr) uintptr + })(unsafe.Pointer(&struct{ uintptr }{(*sqlite3_vfs)(unsafe.Pointer(pVfs)).FxNextSystemCall})).f(tls, pVfs, zSys) { tcl.XTcl_ListObjAppendElement(tls, interp, pList, tcl.XTcl_NewStringObj(tls, zSys, -1)) } @@ -76546,16 +77314,22 @@ 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+37406 /* "getpagesize" */, gSyscall.Forig_getpagesize) + (*struct { + f func(*libc.TLS, uintptr, uintptr, sqlite3_syscall_ptr) int32 + })(unsafe.Pointer(&struct{ uintptr }{(*sqlite3_vfs)(unsafe.Pointer(pVfs)).FxSetSystemCall})).f(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+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+37406 /* "getpagesize" */) + gSyscall.Forig_getpagesize = (*struct { + f func(*libc.TLS, uintptr, uintptr) sqlite3_syscall_ptr + })(unsafe.Pointer(&struct{ uintptr }{(*sqlite3_vfs)(unsafe.Pointer(pVfs)).FxGetSystemCall})).f(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, + (*struct { + f func(*libc.TLS, uintptr, uintptr, sqlite3_syscall_ptr) int32 + })(unsafe.Pointer(&struct{ uintptr }{(*sqlite3_vfs)(unsafe.Pointer(pVfs)).FxSetSystemCall})).f(tls, pVfs, ts+37406 /* "getpagesize" */, *(*uintptr)(unsafe.Pointer(&struct{ f func(*libc.TLS) int32 }{ts_getpagesize}))) } @@ -76615,7 +77389,9 @@ func test_syscall(tls *libc.TLS, clientData uintptr, interp uintptr, objc int32, if rc != TCL_OK { return rc } - return (*(*func(*libc.TLS, ClientData, uintptr, int32, uintptr) int32)(unsafe.Pointer((bp + 16 /* &aCmd */ + uintptr(*(*int32)(unsafe.Pointer(bp + 176 /* iCmd */)))*16 + 8 /* &.xCmd */))))(tls, clientData, interp, objc, objv) + return (*struct { + f func(*libc.TLS, ClientData, uintptr, int32, uintptr) int32 + })(unsafe.Pointer(&struct{ uintptr }{(*SyscallCmd)(unsafe.Pointer(bp + 16 /* &aCmd */ + uintptr(*(*int32)(unsafe.Pointer(bp + 176 /* iCmd */)))*16)).FxCmd})).f(tls, clientData, interp, objc, objv) } type SyscallCmd = struct { @@ -76737,15 +77513,6 @@ func load_testfixture_extensions(tls *libc.TLS, cd ClientData, interp uintptr, o // c-basic-offset: 4 // fill-column: 78 // End: -// DO NOT EDIT THIS FILE. -// -// It has been auto-edited by fixincludes from: -// -// "/usr/include/stdlib.h" -// -// This had to be done to correct non-standard usages in the -// original, manufacturer supplied header file. - // $NetBSD: stdlib.h,v 1.121 2019/01/05 09:16:46 maya Exp $ // - @@ -76824,15 +77591,6 @@ type tclvar_vtab1 = struct { // c-basic-offset: 4 // fill-column: 78 // End: -// DO NOT EDIT THIS FILE. -// -// It has been auto-edited by fixincludes from: -// -// "/usr/include/stdlib.h" -// -// This had to be done to correct non-standard usages in the -// original, manufacturer supplied header file. - // $NetBSD: stdlib.h,v 1.121 2019/01/05 09:16:46 maya Exp $ // - @@ -77695,17 +78453,17 @@ func sqlthread_proc(tls *libc.TLS, clientData ClientData, interp uintptr, objc i defer tls.Free(164) *(*[5]struct { - FzName uintptr - FxProc uintptr - FnArg int32 - _ [4]byte - FzUsage uintptr + FzName uintptr + FxProc uintptr + FnArg int32 + F__ccgo_pad1 [4]byte + FzUsage uintptr })(unsafe.Pointer(bp /* aSub */)) = [5]struct { - FzName uintptr - FxProc uintptr - FnArg int32 - _ [4]byte - FzUsage uintptr + FzName uintptr + FxProc uintptr + FnArg int32 + F__ccgo_pad1 [4]byte + FzUsage uintptr }{ {FzName: ts + 38545 /* "parent" */, FxProc: *(*uintptr)(unsafe.Pointer(&struct { f func(*libc.TLS, ClientData, uintptr, int32, uintptr) int32 @@ -77732,11 +78490,11 @@ func sqlthread_proc(tls *libc.TLS, clientData ClientData, interp uintptr, objc i rc = tcl.XTcl_GetIndexFromObjStruct(tls, interp, *(*uintptr)(unsafe.Pointer(objv + 1*8)), bp /* &aSub[0] */, int32(unsafe.Sizeof(struct { - FzName uintptr - FxProc uintptr - FnArg int32 - _ [4]byte - FzUsage uintptr + FzName uintptr + FxProc uintptr + FnArg int32 + F__ccgo_pad1 [4]byte + FzUsage uintptr }{})), ts+1875 /* "sub-command" */, 0, bp+160 /* &iIndex */) if rc != TCL_OK { return rc @@ -77744,23 +78502,31 @@ func sqlthread_proc(tls *libc.TLS, clientData ClientData, interp uintptr, objc i pSub = (bp /* &aSub */ + uintptr(*(*int32)(unsafe.Pointer(bp + 160 /* iIndex */)))*32) if objc < ((*struct { - FzName uintptr - FxProc uintptr - FnArg int32 - _ [4]byte - FzUsage uintptr + FzName uintptr + FxProc uintptr + FnArg int32 + F__ccgo_pad1 [4]byte + FzUsage uintptr })(unsafe.Pointer(pSub)).FnArg + 2) { tcl.XTcl_WrongNumArgs(tls, interp, 2, objv, (*struct { - FzName uintptr - FxProc uintptr - FnArg int32 - _ [4]byte - FzUsage uintptr + FzName uintptr + FxProc uintptr + FnArg int32 + F__ccgo_pad1 [4]byte + FzUsage uintptr })(unsafe.Pointer(pSub)).FzUsage) return TCL_ERROR } - return (*(*func(*libc.TLS, ClientData, uintptr, int32, uintptr) int32)(unsafe.Pointer((pSub + 8 /* &.xProc */))))(tls, clientData, interp, objc, objv) + return (*struct { + f func(*libc.TLS, ClientData, uintptr, int32, uintptr) int32 + })(unsafe.Pointer(&struct{ uintptr }{(*struct { + FzName uintptr + FxProc uintptr + FnArg int32 + F__ccgo_pad1 [4]byte + FzUsage uintptr + })(unsafe.Pointer(pSub)).FxProc})).f(tls, clientData, interp, objc, objv) } /* @@ -77787,10 +78553,10 @@ func clock_seconds_proc(tls *libc.TLS, clientData ClientData, interp uintptr, ob // A pointer to an instance of this structure is passed as the user-context // pointer when registering for an unlock-notify callback. type UnlockNotification1 = struct { - Ffired int32 - _ [4]byte - Fcond pthread_cond_t - Fmutex pthread_mutex_t + Ffired int32 + F__ccgo_pad1 [4]byte + Fcond pthread_cond_t + Fmutex pthread_mutex_t } /* test_thread.c:410:9 */ // A pointer to an instance of this structure is passed as the user-context @@ -77802,10 +78568,10 @@ func unlock_notify_cb(tls *libc.TLS, apArg uintptr, nArg int32) { /* test_thread var i int32 for i = 0; i < nArg; i++ { var p uintptr = *(*uintptr)(unsafe.Pointer(apArg + uintptr(i)*8)) - libc2.X__libc_mutex_lock(tls, (p + 48 /* &.mutex */)) + libc.Xpthread_mutex_lock(tls, (p + 48 /* &.mutex */)) (*UnlockNotification)(unsafe.Pointer(p)).Ffired = 1 - libc2.X__libc_cond_signal(tls, (p + 8 /* &.cond */)) - libc2.X__libc_mutex_unlock(tls, (p + 48 /* &.mutex */)) + libc.Xpthread_cond_signal(tls, (p + 8 /* &.cond */)) + libc.Xpthread_mutex_unlock(tls, (p + 48 /* &.mutex */)) } } @@ -77830,8 +78596,8 @@ func wait_for_unlock_notify(tls *libc.TLS, db uintptr) int32 { /* test_thread.c: // Initialize the UnlockNotification structure. (*UnlockNotification)(unsafe.Pointer(bp /* &un */)).Ffired = 0 - libc2.X__libc_mutex_init(tls, (bp /* &un */ + 48 /* &.mutex */), uintptr(0)) - libc2.X__libc_cond_init(tls, (bp /* &un */ + 8 /* &.cond */), uintptr(0)) + libc.Xpthread_mutex_init(tls, (bp /* &un */ + 48 /* &.mutex */), uintptr(0)) + libc.Xpthread_cond_init(tls, (bp /* &un */ + 8 /* &.cond */), uintptr(0)) // Register for an unlock-notify callback. rc = sqlite3.Xsqlite3_unlock_notify(tls, db, *(*uintptr)(unsafe.Pointer(&struct { @@ -77846,16 +78612,16 @@ func wait_for_unlock_notify(tls *libc.TLS, db uintptr) int32 { /* test_thread.c: // that the current transaction can be rolled back. Otherwise, block // until the unlock-notify callback is invoked, then return SQLITE_OK. if rc == SQLITE_OK { - libc2.X__libc_mutex_lock(tls, (bp /* &un */ + 48 /* &.mutex */)) + libc.Xpthread_mutex_lock(tls, (bp /* &un */ + 48 /* &.mutex */)) if !((*UnlockNotification)(unsafe.Pointer(bp /* &un */)).Ffired != 0) { - libc2.X__libc_cond_wait(tls, (bp /* &un */ + 8 /* &.cond */), (bp /* &un */ + 48 /* &.mutex */)) + libc.Xpthread_cond_wait(tls, (bp /* &un */ + 8 /* &.cond */), (bp /* &un */ + 48 /* &.mutex */)) } - libc2.X__libc_mutex_unlock(tls, (bp /* &un */ + 48 /* &.mutex */)) + libc.Xpthread_mutex_unlock(tls, (bp /* &un */ + 48 /* &.mutex */)) } // Destroy the mutex and condition variables. - libc2.X__libc_cond_destroy(tls, (bp /* &un */ + 8 /* &.cond */)) - libc2.X__libc_mutex_destroy(tls, (bp /* &un */ + 48 /* &.mutex */)) + libc.Xpthread_cond_destroy(tls, (bp /* &un */ + 8 /* &.cond */)) + libc.Xpthread_mutex_destroy(tls, (bp /* &un */ + 48 /* &.mutex */)) return rc } @@ -78054,12 +78820,12 @@ type Testvfs1 = struct { type Testvfs = Testvfs1 /* test_vfs.c:37:24 */ type TestvfsBuffer1 = struct { - FzFile uintptr - Fpgsz int32 - _ [4]byte - FaPage [1024]uintptr - FpFile uintptr - FpNext uintptr + FzFile uintptr + Fpgsz int32 + F__ccgo_pad1 [4]byte + FaPage [1024]uintptr + FpFile uintptr + FpNext uintptr } /* test_vfs.c:37:9 */ type TestvfsBuffer = TestvfsBuffer1 /* test_vfs.c:39:30 */ @@ -78142,9 +78908,9 @@ func tvfsResultCode(tls *libc.TLS, p uintptr, pRc uintptr) int32 { /* test_vfs.c } type errcode = struct { - FeCode int32 - _ [4]byte - FzCode uintptr + FeCode int32 + F__ccgo_pad1 [4]byte + FzCode uintptr } /* test_vfs.c:227:3 */ func tvfsInjectFault(tls *libc.TLS, p uintptr) int32 { /* test_vfs.c:256:12: */ @@ -78473,9 +79239,9 @@ func tvfsFileControl(tls *libc.TLS, pFile uintptr, op int32, pArg uintptr) int32 } type Fcntl = struct { - FiFnctl int32 - _ [4]byte - FzFnctl uintptr + FiFnctl int32 + F__ccgo_pad1 [4]byte + FzFnctl uintptr } /* test_vfs.c:550:5 */ // Return the sector-size in bytes for an tvfs-file. @@ -78695,7 +79461,9 @@ func tvfsSleep(tls *libc.TLS, pVfs uintptr, nMicro int32) int32 { /* test_vfs.c: // Return the current time as a Julian Day number in *pTimeOut. func tvfsCurrentTime(tls *libc.TLS, pVfs uintptr, pTimeOut uintptr) int32 { /* test_vfs.c:823:12: */ - return (*(*func(*libc.TLS, uintptr, uintptr) int32)(unsafe.Pointer(((*Testvfs)(unsafe.Pointer((*sqlite3_vfs)(unsafe.Pointer(pVfs)).FpAppData)).FpParent + 120 /* &.xCurrentTime */))))(tls, (*Testvfs)(unsafe.Pointer((*sqlite3_vfs)(unsafe.Pointer(pVfs)).FpAppData)).FpParent, pTimeOut) + return (*struct { + f func(*libc.TLS, uintptr, uintptr) int32 + })(unsafe.Pointer(&struct{ uintptr }{(*sqlite3_vfs)(unsafe.Pointer(((*Testvfs)(unsafe.Pointer((*sqlite3_vfs)(unsafe.Pointer(pVfs)).FpAppData)).FpParent))).FxCurrentTime})).f(tls, (*Testvfs)(unsafe.Pointer((*sqlite3_vfs)(unsafe.Pointer(pVfs)).FpAppData)).FpParent, pTimeOut) } func tvfsShmOpen(tls *libc.TLS, pFile uintptr) int32 { /* test_vfs.c:827:12: */ @@ -78770,7 +79538,9 @@ func tvfsShmMap(tls *libc.TLS, pFile uintptr, iPage int32, pgsz int32, isWrite i if (*Testvfs)(unsafe.Pointer(p)).FisFullshm != 0 { var pReal uintptr = (*TestvfsFd)(unsafe.Pointer(pFd)).FpReal - return (*(*func(*libc.TLS, uintptr, int32, int32, int32, uintptr) int32)(unsafe.Pointer(((*sqlite3_file)(unsafe.Pointer(pReal)).FpMethods + 104 /* &.xShmMap */))))(tls, pReal, iPage, pgsz, isWrite, libc.AtomicLoadUintptr(&pp)) + return (*struct { + f func(*libc.TLS, uintptr, int32, int32, int32, uintptr) int32 + })(unsafe.Pointer(&struct{ uintptr }{(*sqlite3_io_methods1)(unsafe.Pointer((*sqlite3_file)(unsafe.Pointer(pReal)).FpMethods)).FxShmMap})).f(tls, pReal, iPage, pgsz, isWrite, pp) } if uintptr(0) == (*TestvfsFd)(unsafe.Pointer(pFd)).FpShm { @@ -78804,7 +79574,7 @@ func tvfsShmMap(tls *libc.TLS, pFile uintptr, iPage int32, pgsz int32, isWrite i tvfsAllocPage(tls, (*TestvfsFd)(unsafe.Pointer(pFd)).FpShm, iPage, pgsz) } if (*(*int32)(unsafe.Pointer(bp /* rc */)) == SQLITE_OK) || (*(*int32)(unsafe.Pointer(bp /* rc */)) == SQLITE_READONLY) { - *(*uintptr)(unsafe.Pointer(libc.AtomicLoadUintptr(&pp))) = *(*uintptr)(unsafe.Pointer(((*TestvfsFd)(unsafe.Pointer(pFd)).FpShm + 16 /* &.aPage */) + uintptr(iPage)*8)) + *(*uintptr)(unsafe.Pointer(pp)) = *(*uintptr)(unsafe.Pointer(((*TestvfsFd)(unsafe.Pointer(pFd)).FpShm + 16 /* &.aPage */) + uintptr(iPage)*8)) } return *(*int32)(unsafe.Pointer(bp /* rc */)) @@ -78822,7 +79592,9 @@ func tvfsShmLock(tls *libc.TLS, pFile uintptr, ofst int32, n int32, flags int32) if (*Testvfs)(unsafe.Pointer(p)).FisFullshm != 0 { var pReal uintptr = (*TestvfsFd)(unsafe.Pointer(pFd)).FpReal - return (*(*func(*libc.TLS, uintptr, int32, int32, int32) int32)(unsafe.Pointer(((*sqlite3_file)(unsafe.Pointer(pReal)).FpMethods + 112 /* &.xShmLock */))))(tls, pReal, ofst, n, flags) + return (*struct { + f func(*libc.TLS, uintptr, int32, int32, int32) int32 + })(unsafe.Pointer(&struct{ uintptr }{(*sqlite3_io_methods1)(unsafe.Pointer((*sqlite3_file)(unsafe.Pointer(pReal)).FpMethods)).FxShmLock})).f(tls, pReal, ofst, n, flags) } if ((*Testvfs)(unsafe.Pointer(p)).FpScript != 0) && (((*Testvfs)(unsafe.Pointer(p)).Fmask & TESTVFS_SHMLOCK_MASK) != 0) { @@ -78901,7 +79673,7 @@ func tvfsShmBarrier(tls *libc.TLS, pFile uintptr) { /* test_vfs.c:1004:13: */ if (*Testvfs)(unsafe.Pointer(p)).FisFullshm != 0 { var pReal uintptr = (*TestvfsFd)(unsafe.Pointer(pFd)).FpReal - (*(*func(*libc.TLS, uintptr))(unsafe.Pointer(((*sqlite3_file)(unsafe.Pointer(pReal)).FpMethods + 120 /* &.xShmBarrier */))))(tls, pReal) + (*struct{ f func(*libc.TLS, uintptr) })(unsafe.Pointer(&struct{ uintptr }{(*sqlite3_io_methods1)(unsafe.Pointer((*sqlite3_file)(unsafe.Pointer(pReal)).FpMethods)).FxShmBarrier})).f(tls, pReal) return } } @@ -78918,7 +79690,9 @@ func tvfsShmUnmap(tls *libc.TLS, pFile uintptr, deleteFlag int32) int32 { /* tes if (*Testvfs)(unsafe.Pointer(p)).FisFullshm != 0 { var pReal uintptr = (*TestvfsFd)(unsafe.Pointer(pFd)).FpReal - return (*(*func(*libc.TLS, uintptr, int32) int32)(unsafe.Pointer(((*sqlite3_file)(unsafe.Pointer(pReal)).FpMethods + 128 /* &.xShmUnmap */))))(tls, pReal, deleteFlag) + return (*struct { + f func(*libc.TLS, uintptr, int32) int32 + })(unsafe.Pointer(&struct{ uintptr }{(*sqlite3_io_methods1)(unsafe.Pointer((*sqlite3_file)(unsafe.Pointer(pReal)).FpMethods)).FxShmUnmap})).f(tls, pReal, deleteFlag) } if !(pBuffer != 0) { @@ -79004,7 +79778,9 @@ func testvfs_obj_cmd(tls *libc.TLS, cd ClientData, interp uintptr, objc int32, o return TCL_ERROR } zName = tcl.XTcl_Alloc(tls, uint32((*sqlite3_vfs)(unsafe.Pointer((*Testvfs)(unsafe.Pointer(p)).FpParent)).FmxPathname)) - rc = (*(*func(*libc.TLS, uintptr, uintptr, int32, uintptr) int32)(unsafe.Pointer(((*Testvfs)(unsafe.Pointer(p)).FpParent + 64 /* &.xFullPathname */))))(tls, + rc = (*struct { + f func(*libc.TLS, uintptr, uintptr, int32, uintptr) int32 + })(unsafe.Pointer(&struct{ uintptr }{(*sqlite3_vfs)(unsafe.Pointer((*Testvfs)(unsafe.Pointer(p)).FpParent)).FxFullPathname})).f(tls, (*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 { @@ -79276,15 +80052,15 @@ func testvfs_obj_cmd(tls *libc.TLS, cd ClientData, interp uintptr, objc int32, o } type TestvfsSubcmd = struct { - FzName uintptr - FeCmd uint32 - _ [4]byte + FzName uintptr + FeCmd uint32 + F__ccgo_pad1 [4]byte } /* test_vfs.c:1092:3 */ type VfsMethod = struct { - FzName uintptr - Fmask int32 - _ [4]byte + FzName uintptr + Fmask int32 + F__ccgo_pad1 [4]byte } /* test_vfs.c:1179:14 */ var vfsmethod = [18]VfsMethod{ @@ -79603,7 +80379,9 @@ func test_vfs_shmlock(tls *libc.TLS, clientData uintptr, interp uintptr, objc in if *(*uintptr)(unsafe.Pointer(bp + 80 /* pFd */)) == uintptr(0) { return TCL_ERROR } - rc = (*(*func(*libc.TLS, uintptr, int32, int32, int32) int32)(unsafe.Pointer(((*sqlite3_file)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp + 80 /* pFd */)))).FpMethods + 112 /* &.xShmLock */))))(tls, *(*uintptr)(unsafe.Pointer(bp + 80 /* pFd */)), *(*int32)(unsafe.Pointer(bp + 68 /* iOffset */)), *(*int32)(unsafe.Pointer(bp + 72 /* n */)), + rc = (*struct { + f func(*libc.TLS, uintptr, int32, int32, int32) int32 + })(unsafe.Pointer(&struct{ uintptr }{(*sqlite3_io_methods1)(unsafe.Pointer((*sqlite3_file)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp + 80 /* pFd */)))).FpMethods)).FxShmLock})).f(tls, *(*uintptr)(unsafe.Pointer(bp + 80 /* pFd */)), *(*int32)(unsafe.Pointer(bp + 68 /* iOffset */)), *(*int32)(unsafe.Pointer(bp + 72 /* n */)), ((func() int32 { if *(*int32)(unsafe.Pointer(bp + 32 /* iArg1 */)) == 0 { return SQLITE_SHM_SHARED @@ -79651,16 +80429,18 @@ func test_vfs_set_readmark(tls *libc.TLS, clientData uintptr, interp uintptr, ob if *(*uintptr)(unsafe.Pointer(bp + 32 /* pFd */)) == uintptr(0) { return TCL_ERROR } - rc = (*(*func(*libc.TLS, uintptr, int32, int32, int32, uintptr) int32)(unsafe.Pointer(((*sqlite3_file)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp + 32 /* pFd */)))).FpMethods + 104 /* &.xShmMap */))))(tls, *(*uintptr)(unsafe.Pointer(bp + 32 /* pFd */)), 0, (32 * 1024), 0, bp+40 /* &pShm */) + rc = (*struct { + f func(*libc.TLS, uintptr, int32, int32, int32, uintptr) int32 + })(unsafe.Pointer(&struct{ uintptr }{(*sqlite3_io_methods1)(unsafe.Pointer((*sqlite3_file)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp + 32 /* pFd */)))).FpMethods)).FxShmMap})).f(tls, *(*uintptr)(unsafe.Pointer(bp + 32 /* pFd */)), 0, (32 * 1024), 0, bp+40 /* &pShm */) if rc != SQLITE_OK { tcl.XTcl_SetObjResult(tls, interp, tcl.XTcl_NewStringObj(tls, sqlite3.Xsqlite3ErrName(tls, rc), -1)) return TCL_ERROR } - if libc.AtomicLoadPUintptr(bp+40 /* pShm */) == uintptr(0) { + if *(*uintptr)(unsafe.Pointer(bp + 40 /* pShm */)) == uintptr(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 */) + aShm = *(*uintptr)(unsafe.Pointer(bp + 40 /* pShm */)) iOff = (((12 * 2) + 1) + *(*int32)(unsafe.Pointer(bp + 24 /* iSlot */))) if objc == 5 { @@ -80060,10 +80840,10 @@ func test_override_sum(tls *libc.TLS, clientData uintptr, interp uintptr, objc i func Sqlitetest_window_Init(tls *libc.TLS, interp uintptr) int32 { /* test_window.c:331:5: */ var i int32 for i = 0; uint64(i) < (uint64(unsafe.Sizeof(aObjCmd14)) / uint64(unsafe.Sizeof(struct { - FzName uintptr - FxProc uintptr - FclientData int32 - _ [4]byte + FzName uintptr + FxProc uintptr + FclientData int32 + F__ccgo_pad1 [4]byte }{}))); i++ { var c ClientData = uintptr(intptr_t(aObjCmd14[i].FclientData)) tcl.XTcl_CreateObjCommand(tls, interp, aObjCmd14[i].FzName, aObjCmd14[i].FxProc, c, uintptr(0)) @@ -80072,10 +80852,10 @@ func Sqlitetest_window_Init(tls *libc.TLS, interp uintptr) int32 { /* test_windo } var aObjCmd14 = [4]struct { - FzName uintptr - FxProc uintptr - FclientData int32 - _ [4]byte + FzName uintptr + FxProc uintptr + FclientData int32 + F__ccgo_pad1 [4]byte }{ {FzName: ts + 39530 /* "sqlite3_create_w..." */, FxProc: 0}, {FzName: ts + 39561 /* "test_create_wind..." */, FxProc: 0}, diff --git a/lib/sqlite_freebsd_amd64.go b/lib/sqlite_freebsd_amd64.go index c3c9b1b..80ced15 100644 --- a/lib/sqlite_freebsd_amd64.go +++ b/lib/sqlite_freebsd_amd64.go @@ -104796,7 +104796,6 @@ func Xsqlite3GenerateConstraintChecks(tls *libc.TLS, pParse uintptr, pTab uintpt goto __4 goto __6 __6: - } } @@ -160258,7 +160257,6 @@ __15: goto __14 goto __16 __16: - } // This is a helper function for rbuObjIterCacheTableInfo(). It populates diff --git a/lib/sqlite_netbsd_amd64.go b/lib/sqlite_netbsd_amd64.go index 51a401f..56493dd 100644 --- a/lib/sqlite_netbsd_amd64.go +++ b/lib/sqlite_netbsd_amd64.go @@ -19,9 +19,16 @@ var _ unsafe.Pointer var _ types.Size_t const ( + ACCESSPERMS = 511 + ALLPERMS = 4095 ALT_SCHEMA_TABLE = "sqlite_schema" ALT_TEMP_SCHEMA_TABLE = "sqlite_temp_schema" ARG_MAX = 262144 + AT_EACCESS = 0x100 + AT_FDCWD = -100 + AT_REMOVEDIR = 0x800 + AT_SYMLINK_FOLLOW = 0x400 + AT_SYMLINK_NOFOLLOW = 0x200 BC_BASE_MAX = 2147483647 BC_DIM_MAX = 65535 BC_SCALE_MAX = 2147483647 @@ -163,6 +170,7 @@ const ( DB_ResetWanted = 0x0008 DB_SchemaLoaded = 0x0001 DB_UnresetViews = 0x0002 + DEFFILEMODE = 438 DFLT_SCHEMA_TABLE = "sqlite_master" DFLT_TEMP_SCHEMA_TABLE = "sqlite_temp_master" DIRECT_MODE = 0 @@ -173,6 +181,10 @@ const ( DKCACHE_SAVE = 0x010000 DKCACHE_WCHANGE = 0x000200 DKCACHE_WRITE = 0x000002 + DL_GETERRNO = 1 + DL_GETSYMBOL = 2 + DL_LAZY = 1 + DOMAIN = 1 DOTLOCK_SUFFIX = ".lock" E2BIG = 7 EACCES = 13 @@ -315,17 +327,26 @@ const ( EXIT_SUCCESS = 0 EXPRDUP_REDUCE = 0x0001 EXPR_NEST_MAX = 32 + FAPPEND = 8 + FASYNC = 64 + FDATASYNC = 0x0010 + FDISKSYNC = 0x0040 FD_CLOEXEC = 1 FD_SETSIZE = 256 + FFILESYNC = 0x0020 FILENAME_MAX = 1024 - FIXINC_WRAP_MATH_H_MATH_EXCEPTION = 1 - FIXINC_WRAP_STDIO_H_STDIO_STDARG_H = 1 FLAG_SIGNED = 1 FLAG_STRING = 4 FLT_DIG = 6 FLT_MAX = 0 FLT_MIN = 0 + FNDELAY = 4 FOPEN_MAX = 20 + FPARSELN_UNESCALL = 0x0f + FPARSELN_UNESCCOMM = 0x04 + FPARSELN_UNESCCONT = 0x02 + FPARSELN_UNESCESC = 0x01 + FPARSELN_UNESCREST = 0x08 FP_ILOGB0 = -2147483648 FP_ILOGBNAN = 2147483647 FP_INFINITE = 0x00 @@ -333,6 +354,7 @@ const ( FP_NORMAL = 0x02 FP_SUBNORMAL = 0x03 FP_ZERO = 0x04 + FREAD = 0x00000001 FTS5CSR_EOF = 0x01 FTS5CSR_FREE_ZRANK = 0x10 FTS5CSR_REQUIRE_CONTENT = 0x02 @@ -446,26 +468,45 @@ const ( FTS5_WORK_UNIT = 64 FULLY_WITHIN = 2 FUNC_PERFECT_MATCH = 6 + FWRITE = 0x00000002 + F_CLOSEM = 10 F_DUPFD = 0 + F_DUPFD_CLOEXEC = 12 F_GETFD = 1 F_GETFL = 3 F_GETLK = 7 + F_GETNOSIGPIPE = 13 F_GETOWN = 5 F_LOCK = 1 + F_MAXFD = 11 F_OK = 0 + F_PARAM_MASK = 0xfff + F_PARAM_MAX = 4095 F_RDLCK = 1 F_SETFD = 2 F_SETFL = 4 F_SETLK = 8 F_SETLKW = 9 + F_SETNOSIGPIPE = 14 F_SETOWN = 6 F_TEST = 3 F_TLOCK = 2 F_ULOCK = 0 F_UNLCK = 2 F_WRLCK = 3 - GCC_VERSION = 10003000 + GCC_VERSION = 7005000 GEOPOLY_PI = 3.1415926535897932385 + GETPASS_7BIT = 0x080 + GETPASS_BUF_LIMIT = 0x004 + GETPASS_ECHO = 0x020 + GETPASS_ECHO_NL = 0x400 + GETPASS_ECHO_STAR = 0x040 + GETPASS_FAIL_EOF = 0x002 + GETPASS_FORCE_LOWER = 0x100 + GETPASS_FORCE_UPPER = 0x200 + GETPASS_NEED_TTY = 0x001 + GETPASS_NO_BEEP = 0x010 + GETPASS_NO_SIGNAL = 0x008 GID_MAX = 2147483647 HASHSIZE = 97 HASHTABLE_HASH_1 = 383 @@ -479,6 +520,12 @@ const ( HAVE_READLINK = 1 HAVE_USLEEP = 1 HDLCDISC = 9 + HN_AUTOSCALE = 0x20 + HN_B = 0x04 + HN_DECIMAL = 0x01 + HN_DIVISOR_1000 = 0x08 + HN_GETSCALE = 0x10 + HN_NOSPACE = 0x02 INCRINIT_NORMAL = 0 INCRINIT_ROOT = 2 INCRINIT_TASK = 1 @@ -520,7 +567,7 @@ const ( INT_LEAST64_MIN = -9223372036854775808 INT_LEAST8_MAX = 127 INT_LEAST8_MIN = -128 - INT_MAX = 2147483647 + INT_MAX = 0x7fffffff INT_MIN = -2147483648 IN_INDEX_EPH = 2 IN_INDEX_INDEX_ASC = 3 @@ -580,23 +627,35 @@ const ( LINE_MAX = 2048 LINK_MAX = 32767 LITTLE_ENDIAN = 1234 - LLONG_MAX = 9223372036854775807 + LLONG_MAX = 0x7fffffffffffffff LLONG_MIN = -9223372036854775808 LOCATE_NOERR = 0x02 LOCATE_VIEW = 0x01 + LOCK_EX = 0x02 + LOCK_NB = 0x04 + LOCK_SH = 0x01 + LOCK_UN = 0x08 LOGIN_NAME_MAX = 17 LONG_BIT = 64 - LONG_LONG_MAX = 9223372036854775807 - LONG_LONG_MIN = -9223372036854775808 - LONG_MAX = 9223372036854775807 + LONG_MAX = 0x7fffffffffffffff LONG_MIN = -9223372036854775808 LOOKASIDE_SMALL = 128 + L_INCR = 1 + L_SET = 0 + L_XTND = 2 L_ctermid = 1024 L_cuserid = 9 L_tmpnam = 1024 M10d_Any = 1 M10d_No = 2 M10d_Yes = 0 + MADV_DONTNEED = 4 + MADV_FREE = 6 + MADV_NORMAL = 0 + MADV_RANDOM = 1 + MADV_SEQUENTIAL = 2 + MADV_SPACEAVAIL = 5 + MADV_WILLNEED = 3 MAP_ALIGNMENT_SHIFT = 24 MAP_ANON = 4096 MAP_ANONYMOUS = 0x1000 @@ -604,6 +663,12 @@ const ( MAP_FIXED = 0x0010 MAP_HASSEMAPHORE = 0x0200 MAP_INHERIT = 0x0080 + MAP_INHERIT_COPY = 1 + MAP_INHERIT_DEFAULT = 1 + MAP_INHERIT_DONATE_COPY = 3 + MAP_INHERIT_NONE = 2 + MAP_INHERIT_SHARE = 0 + MAP_INHERIT_ZERO = 4 MAP_NORESERVE = 0x0040 MAP_PRIVATE = 0x0002 MAP_REMAPDUP = 0x0004 @@ -660,6 +725,7 @@ const ( M_SQRT2 = 1.41421356237309504880 NAME_MAX = 511 NB = 3 + NBBY = 8 NC_AllowAgg = 0x00001 NC_AllowWin = 0x04000 NC_Complex = 0x02000 @@ -681,6 +747,7 @@ const ( NC_UUpsert = 0x00200 NC_VarSelect = 0x00040 NDEBUG = 1 + NFDBITS = 32 NGROUPS_MAX = 16 NL_ARGMAX = 9 NL_LANGMAX = 14 @@ -689,6 +756,7 @@ const ( NL_SETMAX = 255 NL_TEXTMAX = 2048 NN = 1 + NODEVMAJOR = -1 NOT_WITHIN = 0 NO_LOCK = 0 NZERO = 20 @@ -918,21 +986,32 @@ const ( OP_Yield = 14 OP_ZeroOrNull = 89 OS_VXWORKS = 0 + OVERFLOW = 3 O_ACCMODE = 0x00000003 + O_ALT_IO = 0x00040000 O_APPEND = 0x00000008 + O_ASYNC = 0x00000040 O_BINARY = 0 O_CLOEXEC = 0x00400000 O_CREAT = 0x00000200 + O_DIRECT = 0x00080000 O_DIRECTORY = 0x00200000 O_DSYNC = 0x00010000 O_EXCL = 0x00000800 + O_EXLOCK = 0x00000020 + O_FSYNC = 128 O_LARGEFILE = 0 + O_NDELAY = 4 O_NOCTTY = 0x00008000 - O_NOFOLLOW = 0 + O_NOFOLLOW = 0x00000100 O_NONBLOCK = 0x00000004 + O_NOSIGPIPE = 0x01000000 O_RDONLY = 0x00000000 O_RDWR = 0x00000002 + O_REGULAR = 0x02000000 O_RSYNC = 0x00020000 + O_SEARCH = 0x00800000 + O_SHLOCK = 0x00000010 O_SYNC = 0x00000080 O_TRUNC = 0x00000400 O_WRONLY = 0x00000001 @@ -1015,6 +1094,7 @@ const ( PGHDR_WAL_APPEND = 0x040 PGHDR_WRITEABLE = 0x004 PIPE_BUF = 512 + PLOSS = 6 POSIX_FADV_DONTNEED = 4 POSIX_FADV_NOREUSE = 5 POSIX_FADV_NORMAL = 0 @@ -1099,6 +1179,9 @@ const ( PragTyp_THREADS = 40 PragTyp_WAL_AUTOCHECKPOINT = 41 PragTyp_WAL_CHECKPOINT = 42 + QUAD_MAX = 0x7fffffffffffffff + QUAD_MIN = -9223372036854775808 + RANDOM_MAX = 0x7fffffff RAND_MAX = 0x7fffffff RBU_CREATE_STATE = "CREATE TABLE IF NOT EXISTS %s.rbu_state(k INTEGER PRIMARY KEY, v)" RBU_DELETE = 2 @@ -1139,6 +1222,7 @@ const ( ROWSET_ALLOCATION_SIZE = 1024 ROWSET_NEXT = 0x02 ROWSET_SORTED = 0x01 + RTLD_DI_LINKMAP = 3 RTLD_GLOBAL = 0x100 RTLD_LAZY = 1 RTLD_LOCAL = 0x200 @@ -1169,7 +1253,7 @@ const ( SAVEPOINT_BEGIN = 0 SAVEPOINT_RELEASE = 1 SAVEPOINT_ROLLBACK = 2 - SCHAR_MAX = 127 + SCHAR_MAX = 0x7f SCHAR_MIN = -128 SCHEMA_ROOT = 1 SEEK_CUR = 1 @@ -1179,6 +1263,8 @@ const ( SESSIONS_STRM_CHUNK_SIZE = 1024 SESSION_MAX_BUFFER_SZ = 2147483391 SESSION_UPDATE_CACHE_SZ = 12 + SF_APPEND = 0x00040000 + SF_ARCHIVED = 0x00010000 SF_Aggregate = 0x0000008 SF_All = 0x0000002 SF_ComplexResult = 0x0040000 @@ -1190,7 +1276,9 @@ const ( SF_FixedLimit = 0x0004000 SF_HasAgg = 0x0000010 SF_HasTypeInfo = 0x0000080 + SF_IMMUTABLE = 0x00020000 SF_IncludeHidden = 0x0020000 + SF_LOG = 0x00400000 SF_MaybeConvert = 0x0008000 SF_MinMaxAgg = 0x0001000 SF_MultiPart = 0x2000000 @@ -1200,6 +1288,9 @@ const ( SF_PushDown = 0x1000000 SF_Recursive = 0x0002000 SF_Resolved = 0x0000004 + SF_SETTABLE = 0xffff0000 + SF_SNAPINVAL = 0x00800000 + SF_SNAPSHOT = 0x00200000 SF_UpdateFrom = 0x0800000 SF_UsesEphemeral = 0x0000020 SF_Values = 0x0000200 @@ -1208,11 +1299,13 @@ const ( SF_WinRewrite = 0x0100000 SHARED_LOCK = 1 SHARED_SIZE = 510 - SHRT_MAX = 32767 + SHRT_MAX = 0x7fff SHRT_MIN = -32768 SIG_ATOMIC_MAX = 2147483647 SIG_ATOMIC_MIN = -2147483648 + SING = 2 SIZE_MAX = 18446744073709551615 + SIZE_T_MAX = 18446744073709551615 SLIPDISC = 4 SLOT_2_0 = 0x001fc07f SLOT_4_2_0 = 0xf01fc07f @@ -1950,6 +2043,7 @@ const ( SRT_Union = 1 SRT_Upfrom = 15 SSIZE_MAX = 9223372036854775807 + SSIZE_MIN = -9223372036854775808 STAT_GET_NDLT = 4 STAT_GET_NEQ = 2 STAT_GET_NLT = 3 @@ -1959,6 +2053,10 @@ const ( STDIN_FILENO = 0 STDOUT_FILENO = 1 STRIPDISC = 6 + S_ARCH1 = 65536 + S_ARCH2 = 131072 + S_BLKSIZE = 512 + S_IEXEC = 64 S_IFBLK = 24576 S_IFCHR = 8192 S_IFDIR = 16384 @@ -1967,6 +2065,8 @@ const ( S_IFMT = 61440 S_IFREG = 32768 S_IFSOCK = 49152 + S_IFWHT = 57344 + S_IREAD = 256 S_IRGRP = 0000040 S_IROTH = 0000004 S_IRUSR = 0000400 @@ -1974,10 +2074,12 @@ const ( S_IRWXO = 0000007 S_IRWXU = 0000700 S_ISGID = 0002000 + S_ISTXT = 0001000 S_ISUID = 0004000 S_ISVTX = 512 S_IWGRP = 0000020 S_IWOTH = 0000002 + S_IWRITE = 128 S_IWUSR = 0000200 S_IXGRP = 0000010 S_IXOTH = 0000001 @@ -2017,6 +2119,7 @@ const ( TF_WithoutRowid = 0x0080 TIMER_ABSTIME = 0x1 TIMER_END = 0 + TIMER_RELTIME = 0x0 TIMER_START = 0 TIME_UTC = 1 TIOCFLAG_CDTRCTS = 0x10 @@ -2226,6 +2329,7 @@ const ( TK_WINDOW = 163 TK_WITH = 81 TK_WITHOUT = 25 + TLOSS = 5 TMP_MAX = 308915776 TRANS_NONE = 0 TRANS_READ = 1 @@ -2234,7 +2338,12 @@ const ( TRIGGER_BEFORE = 1 TTLINEDNAMELEN = 32 TTYDISC = 0 - UCHAR_MAX = 255 + UCHAR_MAX = 0xff + UF_APPEND = 0x00000004 + UF_IMMUTABLE = 0x00000002 + UF_NODUMP = 0x00000001 + UF_OPAQUE = 0x00000008 + UF_SETTABLE = 0x0000ffff UID_MAX = 2147483647 UINT16_MAX = 65535 UINT32_MAX = 4294967295 @@ -2250,10 +2359,10 @@ const ( UINT_LEAST32_MAX = 4294967295 UINT_LEAST64_MAX = 18446744073709551615 UINT_LEAST8_MAX = 255 - UINT_MAX = 4294967295 - ULLONG_MAX = 18446744073709551615 - ULONG_LONG_MAX = 18446744073709551615 - ULONG_MAX = 18446744073709551615 + UINT_MAX = 0xffffffff + ULLONG_MAX = 0xffffffffffffffff + ULONG_MAX = 0xffffffffffffffff + UNDERFLOW = 4 UNIXFILE_DELETE = 0x20 UNIXFILE_DIRSYNC = 0x08 UNIXFILE_EXCL = 0x01 @@ -2265,7 +2374,10 @@ const ( UNIX_SHM_BASE = 120 UNIX_SHM_DMS = 128 UNKNOWN_LOCK = 5 - USHRT_MAX = 65535 + UQUAD_MAX = 0xffffffffffffffff + USHRT_MAX = 0xffff + UTIME_NOW = 1073741823 + UTIME_OMIT = 1073741822 VDBE_DISPLAY_P4 = 1 VDBE_MAGIC_DEAD = 0x5606c3c8 VDBE_MAGIC_HALT = 0x319c2973 @@ -2370,6 +2482,7 @@ const ( XN_EXPR = -2 XN_ROWID = -1 X_OK = 0x01 + X_TLOSS = 1.41484755040568800000e+16 YYFALLBACK = 1 YYNOCODE = 317 YYNOERRORRECOVERY = 1 @@ -2401,8 +2514,6 @@ const ( X_AMD64_INT_MWGWTYPES_H_ = 0 X_AMD64_INT_TYPES_H_ = 0 X_AMD64_WCHAR_LIMITS_H_ = 0 - X_ANSI_STDARG_H_ = 0 - X_ANSI_STDDEF_H = 0 X_BIG_ENDIAN = 4321 X_BSD_INT16_T_ = 0 X_BSD_INT32_T_ = 0 @@ -2425,10 +2536,6 @@ const ( X_FTS5INT_H = 0 X_FTS5_H = 0 X_FTSINT_H = 0 - X_GCC_LIMITS_H_ = 0 - X_GCC_MAX_ALIGN_T = 0 - X_GCC_PTRDIFF_T = 0 - X_GCC_WCHAR_T = 0 X_GETGR_R_SIZE_MAX = 1024 X_GETPW_R_SIZE_MAX = 1024 X_GNU_SOURCE = 0 @@ -2439,10 +2546,10 @@ const ( X_LARGE_FILE = 1 X_LIB_PTHREAD_TYPES_H = 0 X_LIMITS_H_ = 0 - X_LIMITS_H___ = 0 X_LITTLE_ENDIAN = 1234 X_LP64 = 1 X_MATH_H_ = 0 + X_NETBSD_SOURCE = 1 X_NETBSD_SYS_TTYCOM_H_ = 0 X_OS_COMMON_H_ = 0 X_O_SC_CLK_TCK = 3 @@ -2540,8 +2647,6 @@ const ( X_POSIX_TZNAME_MAX = 6 X_POSIX_VERSION = 200112 X_PROPLIB_PLISTREF_H_ = 0 - X_PTRDIFF_T = 0 - X_PTRDIFF_T_DECLARED = 0 X_PT_BARRIERATTR_DEAD = 0xDEAD0808 X_PT_BARRIERATTR_MAGIC = 0x88880808 X_PT_BARRIER_DEAD = 0xDEAD0008 @@ -2613,6 +2718,8 @@ const ( X_SC_MQ_OPEN_MAX = 54 X_SC_MQ_PRIO_MAX = 55 X_SC_NGROUPS_MAX = 4 + X_SC_NPROCESSORS_CONF = 1001 + X_SC_NPROCESSORS_ONLN = 1002 X_SC_OPEN_MAX = 5 X_SC_PAGESIZE = 28 X_SC_PAGE_SIZE = 28 @@ -2624,6 +2731,9 @@ const ( X_SC_REGEXP = 71 X_SC_RE_DUP_MAX = 16 X_SC_SAVED_IDS = 7 + X_SC_SCHED_PRI_MAX = 2003 + X_SC_SCHED_PRI_MIN = 2002 + X_SC_SCHED_RT_TS = 2001 X_SC_SEMAPHORES = 42 X_SC_SEM_NSEMS_MAX = 89 X_SC_SHARED_MEMORY_OBJECTS = 87 @@ -2657,15 +2767,13 @@ const ( X_SC_V6_LPBIG_OFFBIG = 77 X_SC_VERSION = 8 X_SC_XOPEN_SHM = 30 - X_SIZE_T = 0 X_SQLITE3RBU_H = 0 X_SQLITE3RTREE_H_ = 0 X_SQLITE_OS_H_ = 0 - X_STDARG_H = 0 - X_STDDEF_H = 0 X_STDDEF_H_ = 0 X_STDIO_H_ = 0 X_STDLIB_H_ = 0 + X_STRINGS_H_ = 0 X_STRING_H_ = 0 X_SYS_ANSI_H_ = 0 X_SYS_BSWAP_H_ = 0 @@ -2681,6 +2789,7 @@ const ( X_SYS_FCNTL_H_ = 0 X_SYS_FD_SET_H_ = 0 X_SYS_FILIO_H_ = 0 + X_SYS_IDTYPE_H_ = 0 X_SYS_IOCCOM_H_ = 0 X_SYS_IOCTL_H_ = 0 X_SYS_MMAN_H_ = 0 @@ -2689,6 +2798,7 @@ const ( X_SYS_SIGTYPES_H_ = 0 X_SYS_SOCKIO_H_ = 0 X_SYS_STAT_H_ = 0 + X_SYS_STDARG_H_ = 0 X_SYS_STDINT_H_ = 0 X_SYS_SYSLIMITS_H_ = 0 X_SYS_TIMESPEC_H_ = 0 @@ -2708,14 +2818,7 @@ const ( X_S_IFWHT = 0160000 X_S_ISVTX = 0001000 X_TIME_H_ = 0 - X_T_PTRDIFF = 0 - X_T_PTRDIFF_ = 0 X_UNISTD_H_ = 0 - X_VA_LIST = 0 - X_VA_LIST_ = 0 - X_VA_LIST_DEFINED = 0 - X_VA_LIST_T_H = 0 - X_WCHAR_T = 0 X_X86_64_BSWAP_H_ = 0 X_X86_64_CDEFS_H_ = 0 X_X86_64_LIMITS_H_ = 0 @@ -2792,6 +2895,69 @@ const ( WsdStatInit = 0 ) +const ( /* math.h:161:1: */ + Fdlibm_ieee = -1 + Fdlibm_svid = 0 + Fdlibm_xopen = 1 + Fdlibm_posix = 2 +) + +// $NetBSD: idtype.h,v 1.5 2016/04/09 17:02:51 riastradh Exp $ + +// - +// Copyright (c) 2016 The NetBSD Foundation, Inc. +// All rights reserved. +// +// This code is derived from software contributed to The NetBSD Foundation +// by Christos Zoulas. +// +// 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. +// +// THIS SOFTWARE IS PROVIDED BY THE NETBSD FOUNDATION, INC. 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 FOUNDATION 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. + +// Using the solaris constants, some of them are not applicable to us +// Do not re-order the list, or add elements in the middle as this will +// break the ABI of the system calls using this. We set a high private +// maximum so that new values can be added in the future without +// changing the width of the type. +const ( /* idtype.h:41:1: */ + P_MYID = -1 // Me/my process group + P_ALL = 0 // All processes. + P_PID = 1 // A process identifier. + P_LWPID = 2 // An LWP identifier. + P_PPID = 3 // A parent process identifier. + P_PGID = 4 // A process group identifier. + P_SID = 5 // A session identifier. + P_CID = 6 // A scheduling class identifier. + P_UID = 7 // A user identifier. + P_GID = 8 // A group identifier. + P_TASKID = 9 // A task identifier. + P_PROJID = 10 // A project identifier. + P_POOLID = 11 // A pool identifier. + P_ZONEID = 12 // A zone identifier. + P_CTID = 13 // A (process) contract identifier. + P_CPUID = 14 // CPU identifier. + P_PSETID = 15 // Processor set identifier. + X_P_MAXIDTYPE = 2147483647 +) + type Ptrdiff_t = int64 /* :3:26 */ type Size_t = uint64 /* :9:23 */ @@ -2863,25 +3029,25 @@ type X__float128 = float64 /* :47:21 */ var sqlite3azCompileOpt = [19]uintptr{ // BEGIN CODE GENERATED BY tool/mkctime.tcl - ts, /* "COMPILER=gcc-10...." */ - ts + 20, /* "ENABLE_COLUMN_ME..." */ - ts + 43, /* "ENABLE_FTS5" */ - ts + 55, /* "ENABLE_GEOPOLY" */ - ts + 70, /* "ENABLE_JSON1" */ - ts + 83, /* "ENABLE_MEMORY_MA..." */ - ts + 108, /* "ENABLE_OFFSET_SQ..." */ - ts + 131, /* "ENABLE_PREUPDATE..." */ - ts + 153, /* "ENABLE_RBU" */ - ts + 164, /* "ENABLE_RTREE" */ - 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" */ + ts, /* "COMPILER=gcc-7.5..." */ + ts + 19, /* "ENABLE_COLUMN_ME..." */ + ts + 42, /* "ENABLE_FTS5" */ + ts + 54, /* "ENABLE_GEOPOLY" */ + ts + 69, /* "ENABLE_JSON1" */ + ts + 82, /* "ENABLE_MEMORY_MA..." */ + ts + 107, /* "ENABLE_OFFSET_SQ..." */ + ts + 130, /* "ENABLE_PREUPDATE..." */ + ts + 152, /* "ENABLE_RBU" */ + ts + 163, /* "ENABLE_RTREE" */ + 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 */ @@ -2890,235 +3056,276 @@ func Xsqlite3CompileOptions(tls *libc.TLS, pnOpt uintptr) uintptr { /* sqlite3.c return uintptr(uintptr(unsafe.Pointer(&sqlite3azCompileOpt))) } -//************* End of ctime.c ********************************************** -//************* Begin file sqliteInt.h ************************************** -// 2001 September 15 -// -// 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. -// -// -// Internal interface definitions for SQLite. -// +// return true if value 'a' fits in type 't' -// Special Comments: -// -// Some comments have special meaning to the tools that measure test -// coverage: -// -// NO_TEST - The branches on this line are not -// measured by branch coverage. This is -// used on lines of code that actually -// implement parts of coverage testing. -// -// OPTIMIZATION-IF-TRUE - This branch is allowed to alway be false -// and the correct answer is still obtained, -// though perhaps more slowly. -// -// OPTIMIZATION-IF-FALSE - This branch is allowed to alway be true -// and the correct answer is still obtained, -// though perhaps more slowly. -// -// PREVENTS-HARMLESS-OVERREAD - This branch prevents a buffer overread -// that would be harmless and undetectable -// if it did occur. -// -// In all cases, the special comment must be enclosed in the usual -// slash-asterisk...asterisk-slash comment marks, with no spaces between the -// asterisks and the comment text. +// $NetBSD: ansi.h,v 1.14 2011/07/17 20:54:54 joerg Exp $ -// Make sure the Tcl calling convention macro is defined. This macro is -// only used by test code and Tcl integration code. +// - +// Copyright (c) 2000, 2001, 2002 The NetBSD Foundation, Inc. +// All rights reserved. +// +// This code is derived from software contributed to The NetBSD Foundation +// by Jun-ichiro itojun Hagino and by Klaus Klein. +// +// 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. +// +// THIS SOFTWARE IS PROVIDED BY THE NETBSD FOUNDATION, INC. 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 FOUNDATION 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. -// Include the header file used to customize the compiler options for MSVC. -// This should be done first so that it can successfully prevent spurious -// compiler warnings due to subsequent content in this file and other files -// that are included by this file. -//************* Include msvc.h in the middle of sqliteInt.h ***************** -//************* Begin file msvc.h ******************************************* -// 2015 January 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 code that is specific to MSVC. +// $NetBSD: ansi.h,v 1.11 2019/05/07 03:49:26 kamil Exp $ -//************* End of msvc.h *********************************************** -//************* Continuing where we left off in sqliteInt.h ***************** +// $NetBSD: common_ansi.h,v 1.1 2014/08/19 07:27:31 matt Exp $ -// Special setup for VxWorks -//************* Include vxworks.h in the middle of sqliteInt.h ************** -//************* Begin file vxworks.h **************************************** -// 2015-03-02 +// - +// Copyright (c) 2014 The NetBSD Foundation, Inc. +// All rights reserved. // -// The author disclaims copyright to this source code. In place of -// a legal notice, here is a blessing: +// This code is derived from software contributed to The NetBSD Foundation +// by Matt Thomas of 3am Software Foundry. // -// 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. +// 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. // -// -// -// This file contains code that is specific to Wind River's VxWorks -// This is not VxWorks. +// THIS SOFTWARE IS PROVIDED BY THE NETBSD FOUNDATION, INC. 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 FOUNDATION 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. -//************* End of vxworks.h ******************************************** -//************* Continuing where we left off in sqliteInt.h ***************** +// $NetBSD: cdefs.h,v 1.141 2019/02/21 21:34:05 christos Exp $ -// These #defines should enable >2GB file support on POSIX if the -// underlying operating system supports it. If the OS lacks -// large file support, or if the OS is windows, these should be no-ops. +// * Copyright (c) 1991, 1993 +// The Regents of the University of California. All rights reserved. // -// Ticket #2739: The _LARGEFILE_SOURCE macro must appear before any -// system #includes. Hence, this block of code must be the very first -// code in all source files. +// This code is derived from software contributed to Berkeley by +// Berkeley Software Design, Inc. // -// Large file support can be disabled using the -DSQLITE_DISABLE_LFS switch -// on the compiler command line. This is necessary if you are compiling -// on a recent machine (ex: Red Hat 7.2) but you want your code to work -// on an older machine (ex: Red Hat 6.0). If you compile on Red Hat 7.2 -// without this option, LFS is enable. But LFS does not exist in the kernel -// in Red Hat 6.0, so the code won't work. Hence, for maximum binary -// portability you should omit LFS. +// 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. 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. // -// The previous paragraph was written in 2005. (This paragraph is written -// on 2008-11-28.) These days, all Linux kernels support large files, so -// you should probably leave LFS enabled. But some embedded platforms might -// lack LFS in which case the SQLITE_DISABLE_LFS macro might still be useful. +// 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. // -// Similar is true for Mac OS X. LFS is only supported on Mac OS X 9 and later. +// @(#)cdefs.h 8.8 (Berkeley) 1/9/95 -// The GCC_VERSION and MSVC_VERSION macros are used to -// conditionally include optimizations for each of these compilers. A -// value of 0 means that compiler is not being used. The -// SQLITE_DISABLE_INTRINSIC macro means do not use any compiler-specific -// optimizations, and hence set all compiler macros to 0 -// -// There was once also a CLANG_VERSION macro. However, we learn that the -// version numbers in clang are for "marketing" only and are inconsistent -// and unreliable. Fortunately, all versions of clang also recognize the -// gcc version numbers and have reasonable settings for gcc version numbers, -// so the GCC_VERSION macro will be set to a correct non-zero value even -// when compiling with clang. +// $NetBSD: int_types.h,v 1.7 2014/07/25 21:43:13 joerg Exp $ -// Some C99 functions in "math.h" are only present for MSVC when its version -// is associated with Visual Studio 2013 or higher. +// - +// Copyright (c) 1990 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. 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. +// +// from: @(#)types.h 7.5 (Berkeley) 3/9/91 -// Needed for various definitions... +// $NetBSD: common_int_types.h,v 1.1 2014/07/25 21:43:13 joerg Exp $ -// Macro to disable warnings about missing "break" at the end of a "case". +// - +// Copyright (c) 2014 The NetBSD Foundation, Inc. +// All rights reserved. +// +// This code is derived from software contributed to The NetBSD Foundation +// by Joerg Sonnenberger. +// +// 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. +// +// THIS SOFTWARE IS PROVIDED BY THE NETBSD FOUNDATION, INC. 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 FOUNDATION 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. -// For MinGW, check to see if we can include the header file containing its -// version information, among other things. Normally, this internal MinGW -// header file would [only] be included automatically by other MinGW header -// files; however, the contained version information is now required by this -// header file to work around binary compatibility issues (see below) and -// this is the only known way to reliably obtain it. This entire #if block -// would be completely unnecessary if there was any other way of detecting -// MinGW via their preprocessor (e.g. if they customized their GCC to define -// some MinGW-specific macros). When compiling for MinGW, either the -// _HAVE_MINGW_H or _HAVE__MINGW_H (note the extra underscore) macro must be -// defined; otherwise, detection of conditions specific to MinGW will be -// disabled. +// 7.18.1 Integer types -// For MinGW version 4.x (and higher), check to see if the _USE_32BIT_TIME_T -// define is required to maintain binary compatibility with the MSVC runtime -// library in use (e.g. for Windows XP). +// 7.18.1.1 Exact-width integer types -// The public SQLite interface. The _FILE_OFFSET_BITS macro must appear -// first in QNX. Also, the _USE_32BIT_TIME_T macro must appear first for -// MinGW. -//************* Include sqlite3.h in the middle of sqliteInt.h ************** -//************* Begin file sqlite3.h **************************************** -// 2001-09-15 -// -// 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 header file defines the interface that the SQLite library -// presents to client programs. If a C-function, structure, datatype, -// or constant definition does not appear in this file, then it is -// not a published API of SQLite, is subject to change without -// notice, and should not be referenced by programs that use SQLite. -// -// Some of the definitions that are in this file are marked as -// "experimental". Experimental interfaces are normally new -// features recently added to SQLite. We do not anticipate changes -// to experimental interfaces but reserve the right to make minor changes -// if experience from use "in the wild" suggest such changes are prudent. -// -// The official C-language API documentation for SQLite is derived -// from comments in this file. This file is the authoritative source -// on how SQLite interfaces are supposed to operate. -// -// The name of this file under configuration management is "sqlite.h.in". -// The makefile makes some minor changes to this file (such as inserting -// the version number) and changes its name to "sqlite3.h" as -// part of the build process. -// Copyright (C) 1989-2020 Free Software Foundation, Inc. -// -// This file is part of GCC. -// -// GCC is free software; you can redistribute it and/or modify -// it under the terms of the GNU General Public License as published by -// the Free Software Foundation; either version 3, or (at your option) -// any later version. -// -// GCC 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 General Public License for more details. -// -// Under Section 7 of GPL version 3, you are granted additional -// permissions described in the GCC Runtime Library Exception, version -// 3.1, as published by the Free Software Foundation. -// -// You should have received a copy of the GNU General Public License and -// a copy of the GCC Runtime Library Exception along with this program; -// see the files COPYING3 and COPYING.RUNTIME respectively. If not, see -// . +type X__int8_t = int8 /* common_int_types.h:45:27 */ +type X__uint8_t = uint8 /* common_int_types.h:46:27 */ +type X__int16_t = int16 /* common_int_types.h:47:27 */ +type X__uint16_t = uint16 /* common_int_types.h:48:27 */ +type X__int32_t = int32 /* common_int_types.h:49:27 */ +type X__uint32_t = uint32 /* common_int_types.h:50:27 */ +type X__int64_t = int64 /* common_int_types.h:51:27 */ +type X__uint64_t = uint64 /* common_int_types.h:52:27 */ -// ISO C Standard: 7.15 Variable arguments +// 7.18.1.4 Integer types capable of holding object pointers -// Define __gnuc_va_list. +type X__intptr_t = int64 /* common_int_types.h:58:27 */ +type X__uintptr_t = uint64 /* common_int_types.h:59:26 */ -type X__gnuc_va_list = X__builtin_va_list /* stdarg.h:40:27 */ +// Types which are fundamental to the implementation and may appear in +// more than one standard header are defined here. Standard headers +// then use: +// #ifdef _BSD_SIZE_T_ +// typedef _BSD_SIZE_T_ size_t; +// #undef _BSD_SIZE_T_ +// #endif -// Define the standard macros for the user, -// if this invocation was from the user program. +type X__caddr_t = uintptr /* ansi.h:37:14 */ // core address +type X__gid_t = X__uint32_t /* ansi.h:38:20 */ // group id +type X__in_addr_t = X__uint32_t /* ansi.h:39:20 */ // IP(v4) address +type X__in_port_t = X__uint16_t /* ansi.h:40:20 */ // "Internet" port number +type X__mode_t = X__uint32_t /* ansi.h:41:20 */ // file permissions +type X__off_t = X__int64_t /* ansi.h:42:19 */ // file offset +type X__pid_t = X__int32_t /* ansi.h:43:19 */ // process id +type X__sa_family_t = X__uint8_t /* ansi.h:44:19 */ // socket address family +type X__socklen_t = uint32 /* ansi.h:45:22 */ // socket-related datum length +type X__uid_t = X__uint32_t /* ansi.h:46:20 */ // user id +type X__fsblkcnt_t = X__uint64_t /* ansi.h:47:20 */ // fs block count (statvfs) +type X__fsfilcnt_t = X__uint64_t /* ansi.h:48:20 */ +type X__wctrans_t = uintptr /* ansi.h:51:32 */ +type X__wctype_t = uintptr /* ansi.h:54:31 */ -// Define va_list, if desired, from __gnuc_va_list. -// We deliberately do not define va_list when called from -// stdio.h, because ANSI C says that stdio.h is not supposed to define -// va_list. stdio.h needs to have access to that data type, -// but must not use that name. It should use the name __gnuc_va_list, -// which is safe because it is reserved for the implementation. +// mbstate_t is an opaque object to keep conversion state, during multibyte +// stream conversions. The content must not be referenced by user programs. +type X__mbstate_t = struct { + F__mbstateL X__int64_t + F__ccgo_pad1 [120]byte +} /* ansi.h:63:3 */ -// The macro _VA_LIST_ is the same thing used by this file in Ultrix. -// But on BSD NET2 we must not test or define or undef it. -// (Note that the comments in NET 2's ansi.h -// are incorrect for _VA_LIST_--see stdio.h!) -// The macro _VA_LIST_DEFINED is used in Windows NT 3.5 -// The macro _VA_LIST is used in SCO Unix 3.2. -// The macro _VA_LIST_T_H is used in the Bull dpx2 -// The macro __va_list__ is used by BeOS. -type Va_list = X__gnuc_va_list /* stdarg.h:99:24 */ +type X__va_list = X__builtin_va_list /* ansi.h:72:27 */ + +// $NetBSD: featuretest.h,v 1.10 2013/04/26 18:29:06 christos Exp $ + +// Written by Klaus Klein , February 2, 1998. +// Public domain. +// +// NOTE: Do not protect this header against multiple inclusion. Doing +// so can have subtle side-effects due to header file inclusion order +// and testing of e.g. _POSIX_SOURCE vs. _POSIX_C_SOURCE. Instead, +// protect each CPP macro that we want to supply. + +// Feature-test macros are defined by several standards, and allow an +// application to specify what symbols they want the system headers to +// expose, and hence what standard they want them to conform to. +// There are two classes of feature-test macros. The first class +// specify complete standards, and if one of these is defined, header +// files will try to conform to the relevant standard. They are: +// +// ANSI macros: +// _ANSI_SOURCE ANSI C89 +// +// POSIX macros: +// _POSIX_SOURCE == 1 IEEE Std 1003.1 (version?) +// _POSIX_C_SOURCE == 1 IEEE Std 1003.1-1990 +// _POSIX_C_SOURCE == 2 IEEE Std 1003.2-1992 +// _POSIX_C_SOURCE == 199309L IEEE Std 1003.1b-1993 +// _POSIX_C_SOURCE == 199506L ISO/IEC 9945-1:1996 +// _POSIX_C_SOURCE == 200112L IEEE Std 1003.1-2001 +// _POSIX_C_SOURCE == 200809L IEEE Std 1003.1-2008 +// +// X/Open macros: +// _XOPEN_SOURCE System Interfaces and Headers, Issue 4, Ver 2 +// _XOPEN_SOURCE_EXTENDED == 1 XSH4.2 UNIX extensions +// _XOPEN_SOURCE == 500 System Interfaces and Headers, Issue 5 +// _XOPEN_SOURCE == 520 Networking Services (XNS), Issue 5.2 +// _XOPEN_SOURCE == 600 IEEE Std 1003.1-2001, XSI option +// _XOPEN_SOURCE == 700 IEEE Std 1003.1-2008, XSI option +// +// NetBSD macros: +// _NETBSD_SOURCE == 1 Make all NetBSD features available. +// +// If more than one of these "major" feature-test macros is defined, +// then the set of facilities provided (and namespace used) is the +// union of that specified by the relevant standards, and in case of +// conflict, the earlier standard in the above list has precedence (so +// if both _POSIX_C_SOURCE and _NETBSD_SOURCE are defined, the version +// of rename() that's used is the POSIX one). If none of the "major" +// feature-test macros is defined, _NETBSD_SOURCE is assumed. +// +// There are also "minor" feature-test macros, which enable extra +// functionality in addition to some base standard. They should be +// defined along with one of the "major" macros. The "minor" macros +// are: +// +// _REENTRANT +// _ISOC99_SOURCE +// _ISOC11_SOURCE +// _LARGEFILE_SOURCE Large File Support +// + +type Va_list = X__va_list /* stdarg.h:53:19 */ // Make sure we can call this stuff from C++. @@ -3197,7 +3404,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 + 312 /* "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} @@ -3241,21 +3448,21 @@ type sqlite3 = struct { FmTrace U8 FnoSharedCache U8 FnSqlExec U8 - _ [3]byte + F__ccgo_pad1 [3]byte FnextPagesize int32 Fmagic U32 FnChange int32 FnTotalChange int32 FaLimit [12]int32 FnMaxSorterMmap int32 - _ [4]byte + F__ccgo_pad2 [4]byte Finit struct { FnewTnum Pgno FiDb U8 Fbusy U8 - _ [2]byte + F__ccgo_pad1 [2]byte ForphanTrigger uint8 /* unsigned orphanTrigger: 1, unsigned imposterTable: 1, unsigned reopenMemdb: 1 */ - _ [7]byte + F__ccgo_pad2 [7]byte FazInit uintptr } FnVdbeActive int32 @@ -3286,9 +3493,9 @@ type sqlite3 = struct { FpCollNeededArg uintptr FpErr uintptr Fu1 struct { - _ [0]uint64 + F__ccgo_pad1 [0]uint64 FisInterrupted int32 - _ [4]byte + F__ccgo_pad2 [4]byte } Flookaside Lookaside FxAuth Sqlite3_xauth @@ -3581,7 +3788,7 @@ type sqlite3_file = struct{ FpMethods uintptr } /* sqlite3.c:1331:9 */ type Sqlite3_file = sqlite3_file /* sqlite3.c:1766:29 */ type sqlite3_io_methods = struct { FiVersion int32 - _ [4]byte + F__ccgo_pad1 [4]byte FxClose uintptr FxRead uintptr FxWrite uintptr @@ -4137,7 +4344,7 @@ type sqlite3_vfs = struct { FiVersion int32 FszOsFile int32 FmxPathname int32 - _ [4]byte + F__ccgo_pad1 [4]byte FpNext uintptr FzName uintptr FpAppData uintptr @@ -4567,16 +4774,16 @@ type Sqlite3_value = sqlite3_value /* sqlite3.c:5368:30 */ // [sqlite3_context_db_handle()], [sqlite3_get_auxdata()], // and/or [sqlite3_set_auxdata()]. type sqlite3_context = struct { - FpOut uintptr - FpFunc uintptr - FpMem uintptr - FpVdbe uintptr - FiOp int32 - FisError int32 - FskipFlag U8 - Fargc U8 - _ [6]byte - Fargv [1]uintptr + FpOut uintptr + FpFunc uintptr + FpMem uintptr + FpVdbe uintptr + FiOp int32 + FisError int32 + FskipFlag U8 + Fargc U8 + F__ccgo_pad1 [6]byte + Fargv [1]uintptr } /* sqlite3.c:1331:9 */ // CAPI3REF: SQL Function Context Object @@ -4614,10 +4821,10 @@ type Sqlite3_destructor_type = uintptr /* sqlite3.c:6747:14 */ // Structures used by the virtual table interface type sqlite3_vtab = struct { - FpModule uintptr - FnRef int32 - _ [4]byte - FzErrMsg uintptr + FpModule uintptr + FnRef int32 + F__ccgo_pad1 [4]byte + FzErrMsg uintptr } /* sqlite3.c:1331:9 */ // The interface to the virtual-table mechanism is currently considered @@ -4631,21 +4838,21 @@ type sqlite3_vtab = struct { type Sqlite3_vtab = sqlite3_vtab /* sqlite3.c:7866:29 */ type sqlite3_index_info = struct { FnConstraint int32 - _ [4]byte + F__ccgo_pad1 [4]byte FaConstraint uintptr FnOrderBy int32 - _ [4]byte + F__ccgo_pad2 [4]byte FaOrderBy uintptr FaConstraintUsage uintptr FidxNum int32 - _ [4]byte + F__ccgo_pad3 [4]byte FidxStr uintptr FneedToFreeIdxStr int32 ForderByConsumed int32 FestimatedCost float64 FestimatedRows Sqlite3_int64 FidxFlags int32 - _ [4]byte + F__ccgo_pad4 [4]byte FcolUsed Sqlite3_uint64 } /* sqlite3.c:7867:9 */ @@ -4655,7 +4862,7 @@ type sqlite3_vtab_cursor = struct{ FpVtab uintptr } /* sqlite3.c:7868:9 */ type Sqlite3_vtab_cursor = sqlite3_vtab_cursor /* sqlite3.c:7868:36 */ type sqlite3_module = struct { FiVersion int32 - _ [4]byte + F__ccgo_pad1 [4]byte FxCreate uintptr FxConnect uintptr FxBestIndex uintptr @@ -4787,7 +4994,7 @@ type sqlite3_index_constraint = struct { FiColumn int32 Fop uint8 Fusable uint8 - _ [2]byte + F__ccgo_pad1 [2]byte FiTermOffset int32 } /* sqlite3.c:7867:9 */ @@ -4892,9 +5099,9 @@ type sqlite3_index_constraint = struct { // sqlite3_libversion_number() returns a value greater than or equal to // 3009000. type sqlite3_index_orderby = struct { - FiColumn int32 - Fdesc uint8 - _ [3]byte + FiColumn int32 + Fdesc uint8 + F__ccgo_pad1 [3]byte } /* sqlite3.c:7867:9 */ // CAPI3REF: Virtual Table Indexing Information @@ -4998,9 +5205,9 @@ type sqlite3_index_orderby = struct { // sqlite3_libversion_number() returns a value greater than or equal to // 3009000. type sqlite3_index_constraint_usage = struct { - FargvIndex int32 - Fomit uint8 - _ [3]byte + FargvIndex int32 + Fomit uint8 + F__ccgo_pad1 [3]byte } /* sqlite3.c:7867:9 */ // CAPI3REF: Mutex Methods Object @@ -5165,7 +5372,7 @@ type sqlite3_str = struct { FnChar U32 FaccError U8 FprintfFlags U8 - _ [2]byte + F__ccgo_pad1 [2]byte } /* sqlite3.c:8964:9 */ // CAPI3REF: Dynamic String Object @@ -5365,20 +5572,20 @@ type Sqlite3_pcache_page = sqlite3_pcache_page /* sqlite3.c:9457:36 */ // is not obligated to free any memory, but well-behaved implementations should // do their best. type sqlite3_pcache_methods2 = struct { - FiVersion int32 - _ [4]byte - FpArg uintptr - FxInit uintptr - FxShutdown uintptr - FxCreate uintptr - FxCachesize uintptr - FxPagecount uintptr - FxFetch uintptr - FxUnpin uintptr - FxRekey uintptr - FxTruncate uintptr - FxDestroy uintptr - FxShrink uintptr + FiVersion int32 + F__ccgo_pad1 [4]byte + FpArg uintptr + FxInit uintptr + FxShutdown uintptr + FxCreate uintptr + FxCachesize uintptr + FxPagecount uintptr + FxFetch uintptr + FxUnpin uintptr + FxRekey uintptr + FxTruncate uintptr + FxDestroy uintptr + FxShrink uintptr } /* sqlite3.c:9622:9 */ // CAPI3REF: Application Defined Page Cache. @@ -5576,7 +5783,7 @@ type sqlite3_backup = struct { FiDestSchema U32 FbDestLocked int32 FiNext Pgno - _ [4]byte + F__ccgo_pad1 [4]byte FpSrcDb uintptr FpSrc uintptr Frc int32 @@ -5672,12 +5879,12 @@ type Sqlite3_snapshot = sqlite3_snapshot /* sqlite3.c:10714:3 */ // type sqlite3_rtree_geometry = struct { - FpContext uintptr - FnParam int32 - _ [4]byte - FaParam uintptr - FpUser uintptr - FxDelUser uintptr + FpContext uintptr + FnParam int32 + F__ccgo_pad1 [4]byte + FaParam uintptr + FpUser uintptr + FxDelUser uintptr } /* sqlite3.c:11039:9 */ // CAPI3REF: Flags for sqlite3_deserialize() @@ -5719,7 +5926,7 @@ type Sqlite3_rtree_geometry = sqlite3_rtree_geometry /* sqlite3.c:11039:39 */ type sqlite3_rtree_query_info = struct { FpContext uintptr FnParam int32 - _ [4]byte + F__ccgo_pad1 [4]byte FaParam uintptr FpUser uintptr FxDelUser uintptr @@ -5728,7 +5935,7 @@ type sqlite3_rtree_query_info = struct { FnCoord int32 FiLevel int32 FmxLevel int32 - _ [4]byte + F__ccgo_pad2 [4]byte FiRowid Sqlite3_int64 FrParentScore Sqlite3_rtree_dbl FeParentWithin int32 @@ -5762,7 +5969,7 @@ type sqlite3_session = struct { FbIndirect int32 FbAutoAttach int32 Frc int32 - _ [4]byte + F__ccgo_pad1 [4]byte FpFilterCtx uintptr FxTableFilter uintptr FnMalloc I64 @@ -5791,20 +5998,20 @@ type Sqlite3_session = sqlite3_session /* sqlite3.c:11155:32 */ // 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 + Fin SessionInput + Ftblhdr SessionBuffer + FbPatchset int32 + FbInvert int32 + FbSkipEmpty int32 + Frc int32 + FpConflict uintptr + FzTab uintptr + FnCol int32 + Fop int32 + FbIndirect int32 + F__ccgo_pad1 [4]byte + FabPK uintptr + FapValue uintptr } /* sqlite3.c:11163:9 */ // CAPI3REF: Changeset Iterator Handle @@ -6265,7 +6472,7 @@ type Sqlite3_rebaser = sqlite3_rebaser /* sqlite3.c:12579:32 */ type Fts5ExtensionApi1 = struct { FiVersion int32 - _ [4]byte + F__ccgo_pad1 [4]byte FxUserData uintptr FxColumnCount uintptr FxRowCount uintptr @@ -6348,7 +6555,7 @@ type Fts5_tokenizer = fts5_tokenizer /* sqlite3.c:13358:31 */ // FTS5 EXTENSION REGISTRATION API type fts5_api = struct { FiVersion int32 - _ [4]byte + F__ccgo_pad1 [4]byte FxCreateTokenizer uintptr FxFindTokenizer uintptr FxCreateFunction uintptr @@ -7036,280 +7243,12 @@ type HashElem = HashElem1 /* sqlite3.c:14071:25 */ // in the table, it is faster to do a linear search than to manage // the hash table. type _ht = struct { - Fcount uint32 - _ [4]byte - Fchain uintptr + Fcount uint32 + F__ccgo_pad1 [4]byte + Fchain uintptr } /* sqlite3.c:1331:9 */ -// return true if value 'a' fits in type 't' - -// $NetBSD: featuretest.h,v 1.10 2013/04/26 18:29:06 christos Exp $ - -// Written by Klaus Klein , February 2, 1998. -// Public domain. -// -// NOTE: Do not protect this header against multiple inclusion. Doing -// so can have subtle side-effects due to header file inclusion order -// and testing of e.g. _POSIX_SOURCE vs. _POSIX_C_SOURCE. Instead, -// protect each CPP macro that we want to supply. - -// Feature-test macros are defined by several standards, and allow an -// application to specify what symbols they want the system headers to -// expose, and hence what standard they want them to conform to. -// There are two classes of feature-test macros. The first class -// specify complete standards, and if one of these is defined, header -// files will try to conform to the relevant standard. They are: -// -// ANSI macros: -// _ANSI_SOURCE ANSI C89 -// -// POSIX macros: -// _POSIX_SOURCE == 1 IEEE Std 1003.1 (version?) -// _POSIX_C_SOURCE == 1 IEEE Std 1003.1-1990 -// _POSIX_C_SOURCE == 2 IEEE Std 1003.2-1992 -// _POSIX_C_SOURCE == 199309L IEEE Std 1003.1b-1993 -// _POSIX_C_SOURCE == 199506L ISO/IEC 9945-1:1996 -// _POSIX_C_SOURCE == 200112L IEEE Std 1003.1-2001 -// _POSIX_C_SOURCE == 200809L IEEE Std 1003.1-2008 -// -// X/Open macros: -// _XOPEN_SOURCE System Interfaces and Headers, Issue 4, Ver 2 -// _XOPEN_SOURCE_EXTENDED == 1 XSH4.2 UNIX extensions -// _XOPEN_SOURCE == 500 System Interfaces and Headers, Issue 5 -// _XOPEN_SOURCE == 520 Networking Services (XNS), Issue 5.2 -// _XOPEN_SOURCE == 600 IEEE Std 1003.1-2001, XSI option -// _XOPEN_SOURCE == 700 IEEE Std 1003.1-2008, XSI option -// -// NetBSD macros: -// _NETBSD_SOURCE == 1 Make all NetBSD features available. -// -// If more than one of these "major" feature-test macros is defined, -// then the set of facilities provided (and namespace used) is the -// union of that specified by the relevant standards, and in case of -// conflict, the earlier standard in the above list has precedence (so -// if both _POSIX_C_SOURCE and _NETBSD_SOURCE are defined, the version -// of rename() that's used is the POSIX one). If none of the "major" -// feature-test macros is defined, _NETBSD_SOURCE is assumed. -// -// There are also "minor" feature-test macros, which enable extra -// functionality in addition to some base standard. They should be -// defined along with one of the "major" macros. The "minor" macros -// are: -// -// _REENTRANT -// _ISOC99_SOURCE -// _ISOC11_SOURCE -// _LARGEFILE_SOURCE Large File Support -// - -// $NetBSD: ansi.h,v 1.14 2011/07/17 20:54:54 joerg Exp $ - -// - -// Copyright (c) 2000, 2001, 2002 The NetBSD Foundation, Inc. -// All rights reserved. -// -// This code is derived from software contributed to The NetBSD Foundation -// by Jun-ichiro itojun Hagino and by Klaus Klein. -// -// 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. -// -// THIS SOFTWARE IS PROVIDED BY THE NETBSD FOUNDATION, INC. 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 FOUNDATION 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. - -// $NetBSD: ansi.h,v 1.11 2019/05/07 03:49:26 kamil Exp $ - -// $NetBSD: common_ansi.h,v 1.1 2014/08/19 07:27:31 matt Exp $ - -// - -// Copyright (c) 2014 The NetBSD Foundation, Inc. -// All rights reserved. -// -// This code is derived from software contributed to The NetBSD Foundation -// by Matt Thomas of 3am Software Foundry. -// -// 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. -// -// THIS SOFTWARE IS PROVIDED BY THE NETBSD FOUNDATION, INC. 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 FOUNDATION 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. - -// $NetBSD: cdefs.h,v 1.141 2019/02/21 21:34:05 christos Exp $ - -// * 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. 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 - -// $NetBSD: int_types.h,v 1.7 2014/07/25 21:43:13 joerg Exp $ - -// - -// Copyright (c) 1990 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. 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. -// -// from: @(#)types.h 7.5 (Berkeley) 3/9/91 - -// $NetBSD: common_int_types.h,v 1.1 2014/07/25 21:43:13 joerg Exp $ - -// - -// Copyright (c) 2014 The NetBSD Foundation, Inc. -// All rights reserved. -// -// This code is derived from software contributed to The NetBSD Foundation -// by Joerg Sonnenberger. -// -// 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. -// -// THIS SOFTWARE IS PROVIDED BY THE NETBSD FOUNDATION, INC. 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 FOUNDATION 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. - -// 7.18.1 Integer types - -// 7.18.1.1 Exact-width integer types - -type X__int8_t = int8 /* common_int_types.h:45:27 */ -type X__uint8_t = uint8 /* common_int_types.h:46:27 */ -type X__int16_t = int16 /* common_int_types.h:47:27 */ -type X__uint16_t = uint16 /* common_int_types.h:48:27 */ -type X__int32_t = int32 /* common_int_types.h:49:27 */ -type X__uint32_t = uint32 /* common_int_types.h:50:27 */ -type X__int64_t = int64 /* common_int_types.h:51:27 */ -type X__uint64_t = uint64 /* common_int_types.h:52:27 */ - -// 7.18.1.4 Integer types capable of holding object pointers - -type X__intptr_t = int64 /* common_int_types.h:58:27 */ -type X__uintptr_t = uint64 /* common_int_types.h:59:26 */ - -// Types which are fundamental to the implementation and may appear in -// more than one standard header are defined here. Standard headers -// then use: -// #ifdef _BSD_SIZE_T_ -// typedef _BSD_SIZE_T_ size_t; -// #undef _BSD_SIZE_T_ -// #endif - -type X__caddr_t = uintptr /* ansi.h:37:14 */ // core address -type X__gid_t = X__uint32_t /* ansi.h:38:20 */ // group id -type X__in_addr_t = X__uint32_t /* ansi.h:39:20 */ // IP(v4) address -type X__in_port_t = X__uint16_t /* ansi.h:40:20 */ // "Internet" port number -type X__mode_t = X__uint32_t /* ansi.h:41:20 */ // file permissions -type X__off_t = X__int64_t /* ansi.h:42:19 */ // file offset -type X__pid_t = X__int32_t /* ansi.h:43:19 */ // process id -type X__sa_family_t = X__uint8_t /* ansi.h:44:19 */ // socket address family -type X__socklen_t = uint32 /* ansi.h:45:22 */ // socket-related datum length -type X__uid_t = X__uint32_t /* ansi.h:46:20 */ // user id -type X__fsblkcnt_t = X__uint64_t /* ansi.h:47:20 */ // fs block count (statvfs) -type X__fsfilcnt_t = X__uint64_t /* ansi.h:48:20 */ -type X__wctrans_t = uintptr /* ansi.h:51:32 */ -type X__wctype_t = uintptr /* ansi.h:54:31 */ - -// mbstate_t is an opaque object to keep conversion state, during multibyte -// stream conversions. The content must not be referenced by user programs. -type X__mbstate_t = struct { - F__mbstateL X__int64_t - _ [120]byte -} /* ansi.h:63:3 */ - -type X__va_list = X__builtin_va_list /* ansi.h:72:27 */ -type Ssize_t = int64 /* stdio.h:63:23 */ +type Ssize_t = int64 /* stdio.h:49:23 */ // $NetBSD: null.h,v 1.9 2010/07/06 11:56:20 kleink Exp $ @@ -7323,7 +7262,7 @@ type __sfpos = struct { F_pos X__off_t F_mbstate_in X__mbstate_t F_mbstate_out X__mbstate_t -} /* stdio.h:81:9 */ +} /* stdio.h:67:9 */ // $NetBSD: null.h,v 1.9 2010/07/06 11:56:20 kleink Exp $ @@ -7333,7 +7272,7 @@ type __sfpos = struct { // This is fairly grotesque, but pure ANSI code must not inspect the // innards of an fpos_t anyway. The library internally uses off_t, // which we assume is exactly as big as eight chars. -type Fpos_t = __sfpos /* stdio.h:84:3 */ +type Fpos_t = __sfpos /* stdio.h:70:3 */ // NB: to fit things in six character monocase externals, the stdio // code uses the prefix `__s' for stdio objects, typically followed @@ -7341,10 +7280,10 @@ type Fpos_t = __sfpos /* stdio.h:84:3 */ // stdio buffers type __sbuf = struct { - F_base uintptr - F_size int32 - _ [4]byte -} /* stdio.h:95:1 */ + F_base uintptr + F_size int32 + F__ccgo_pad1 [4]byte +} /* stdio.h:81:1 */ // stdio state variables. // @@ -7371,39 +7310,39 @@ type __sbuf = struct { // // NB: see WARNING above before changing the layout of this structure! type __sFILE = struct { - F_p uintptr - F_r int32 - F_w int32 - F_flags uint16 - F_file int16 - _ [4]byte - F_bf struct { - F_base uintptr - F_size int32 - _ [4]byte + F_p uintptr + F_r int32 + F_w int32 + F_flags uint16 + F_file int16 + F__ccgo_pad1 [4]byte + F_bf struct { + F_base uintptr + F_size int32 + F__ccgo_pad1 [4]byte } - F_lbfsize int32 - _ [4]byte - F_cookie uintptr - F_close uintptr - F_read uintptr - F_seek uintptr - F_write uintptr - F_ext struct { - F_base uintptr - F_size int32 - _ [4]byte + F_lbfsize int32 + F__ccgo_pad2 [4]byte + F_cookie uintptr + F_close uintptr + F_read uintptr + F_seek uintptr + F_write uintptr + F_ext struct { + F_base uintptr + F_size int32 + F__ccgo_pad1 [4]byte } - F_up uintptr - F_ur int32 - F_ubuf [3]uint8 - F_nbuf [1]uint8 - F_flush uintptr - F_lb_unused [8]int8 - F_blksize int32 - _ [4]byte - F_offset X__off_t -} /* stdio.h:126:9 */ + F_up uintptr + F_ur int32 + F_ubuf [3]uint8 + F_nbuf [1]uint8 + F_flush uintptr + F_lb_unused [8]int8 + F_blksize int32 + F__ccgo_pad3 [4]byte + F_offset X__off_t +} /* stdio.h:112:9 */ // stdio state variables. // @@ -7429,2894 +7368,18 @@ type __sFILE = struct { // _ub._base!=NULL) and _up and _ur save the current values of _p and _r. // // NB: see WARNING above before changing the layout of this structure! -type FILE = __sFILE /* stdio.h:160:3 */ +type FILE = __sFILE /* stdio.h:146:3 */ // X/Open CAE Specification Issue 5 Version 2 -type Off_t = X__off_t /* stdio.h:390:18 */ +type Off_t = X__off_t /* stdio.h:376:18 */ -type Div_t = struct { - Fquot int32 - Frem int32 -} /* stdlib.h:76:3 */ +type Locale_t = uintptr /* stdio.h:543:25 */ -type Ldiv_t = struct { - Fquot int64 - Frem int64 -} /* stdlib.h:81:3 */ +// $NetBSD: stdlib.h,v 1.121 2019/01/05 09:16:46 maya Exp $ -type Lldiv_t = struct { - Fquot int64 - Frem int64 -} /* stdlib.h:91:3 */ - -// If this symbol has done its job, get rid of it. - -// Unsigned type of `sizeof' something. - -// Define this type if we are doing the whole job, -// or if we want this type in particular. - -// Wide character type. -// Locale-writers should change this as necessary to -// be big enough to hold unique values not between 0 and 127, -// and not (wchar_t) -1, for each defined multibyte character. - -// Define this type if we are doing the whole job, -// or if we want this type in particular. - -// The references to _GCC_PTRDIFF_T_, _GCC_SIZE_T_, and _GCC_WCHAR_T_ -// are probably typos and should be removed before 2.8 is released. -// The following ones are the real ones. - -// A null pointer constant. - -// Offset of member MEMBER in a struct of type TYPE. - -// Type whose alignment is supported in every context and is at least -// as great as that of any standard type not using alignment -// specifiers. -type Max_align_t = struct { - F__max_align_ll int64 - F__max_align_ld float64 -} /* stddef.h:426:3 */ - -// Use a macro to replace memcpy() if compiled with SQLITE_INLINE_MEMCPY. -// This allows better measurements of where memcpy() is used when running -// cachegrind. But this macro version of memcpy() is very slow so it -// should not be used in production. This is a performance measurement -// hack only. - -// If compiling for a processor that lacks floating point support, -// substitute integer for floating-point - -// OMIT_TEMPDB is set to 1 if SQLITE_OMIT_TEMPDB is defined, or 0 -// afterward. Having this macro allows us to cause the C compiler -// to omit code used by TEMP tables without messy #ifndef statements. - -// The "file format" number is an integer that is incremented whenever -// the VDBE-level file format changes. The following macros define the -// the default file format for new databases and the maximum file format -// that the library can read. - -// Determine whether triggers are recursive by default. This can be -// changed at run-time using a pragma. - -// Provide a default value for SQLITE_TEMP_STORE in case it is not specified -// on the command-line - -// If no value has been provided for SQLITE_MAX_WORKER_THREADS, or if -// SQLITE_TEMP_STORE is set to 3 (never use temporary files), set it -// to zero. - -// The default initial allocation for the pagecache when using separate -// pagecaches for each database connection. A positive number is the -// number of pages. A negative number N translations means that a buffer -// of -1024*N bytes is allocated and used for as many pages as it will hold. -// -// The default value of "20" was choosen to minimize the run-time of the -// speedtest1 test program with options: --shrink-memory --reprepare - -// Default value for the SQLITE_CONFIG_SORTERREF_SIZE option. - -// The compile-time options SQLITE_MMAP_READWRITE and -// SQLITE_ENABLE_BATCH_ATOMIC_WRITE are not compatible with one another. -// You must choose one or the other (or neither) but not both. - -// GCC does not define the offsetof() macro so we'll have to do it -// ourselves. - -// Macros to compute minimum and maximum of two numbers. - -// Swap two objects of type TYPE. - -// Check to see if this machine uses EBCDIC. (Yes, believe it or -// not, there are still machines out there that use EBCDIC.) - -// Integers of known sizes. These typedefs might change for architectures -// where the sizes very. Preprocessor macros are available so that the -// types can be conveniently redefined at compile-type. Like this: -// -// cc '-DUINTPTR_TYPE=long long int' ... -type I64 = Sqlite_int64 /* sqlite3.c:14542:22 */ // 8-byte signed integer -type U64 = Sqlite_uint64 /* sqlite3.c:14543:23 */ // 8-byte unsigned integer -type U32 = uint32 /* sqlite3.c:14544:21 */ // 4-byte unsigned integer -type U16 = uint16 /* sqlite3.c:14545:21 */ // 2-byte unsigned integer -type I16 = int16 /* sqlite3.c:14546:20 */ // 2-byte signed integer -type U8 = uint8 /* sqlite3.c:14547:20 */ // 1-byte unsigned integer -type I8 = int8 /* sqlite3.c:14548:19 */ // 1-byte signed integer - -// SQLITE_MAX_U32 is a u64 constant that is the maximum u64 value -// that can be stored in a u32 without loss of data. The value -// is 0x00000000ffffffff. But because of quirks of some compilers, we -// have to specify the value in the less intuitive manner shown: - -// The datatype used to store estimates of the number of rows in a -// table or index. This is an unsigned integer type. For 99.9% of -// the world, a 32-bit integer is sufficient. But a 64-bit integer -// can be used at compile-time if desired. -type TRowcnt = U32 /* sqlite3.c:14567:14 */ // 32-bit is the default - -// Estimated quantities used for query planning are stored as 16-bit -// logarithms. For quantity X, the value stored is 10*log2(X). This -// gives a possible range of values of approximately 1.0e986 to 1e-986. -// But the allowed values are "grainy". Not every value is representable. -// For example, quantities 16 and 17 are both represented by a LogEst -// of 40. However, since LogEst quantities are suppose to be estimates, -// not exact values, this imprecision is not a problem. -// -// "LogEst" is short for "Logarithmic Estimate". -// -// Examples: -// 1 -> 0 20 -> 43 10000 -> 132 -// 2 -> 10 25 -> 46 25000 -> 146 -// 3 -> 16 100 -> 66 1000000 -> 199 -// 4 -> 20 1000 -> 99 1048576 -> 200 -// 10 -> 33 1024 -> 100 4294967296 -> 320 -// -// The LogEst can be negative to indicate fractional values. -// Examples: -// -// 0.5 -> -10 0.1 -> -33 0.0625 -> -40 -type LogEst = int16 /* sqlite3.c:14593:20 */ - -// Set the SQLITE_PTRSIZE macro to the number of bytes in a pointer - -// The uptr type is an unsigned integer large enough to hold a pointer -type Uptr = U64 /* sqlite3.c:14617:15 */ - -// An instance of the following structure is used to store the busy-handler -// callback for a given sqlite handle. -// -// The sqlite.busyHandler member of the sqlite struct contains the busy -// callback for the database handle. Each pager opened via the sqlite -// handle is passed a pointer to sqlite.busyHandler. The busy-handler -// callback is currently invoked only from within pager.c. -type BusyHandler1 = struct { - FxBusyHandler uintptr - FpBusyArg uintptr - FnBusy int32 - _ [4]byte -} /* sqlite3.c:1331:9 */ - -// An instance of the following structure is used to store the busy-handler -// callback for a given sqlite handle. -// -// The sqlite.busyHandler member of the sqlite struct contains the busy -// callback for the database handle. Each pager opened via the sqlite -// handle is passed a pointer to sqlite.busyHandler. The busy-handler -// callback is currently invoked only from within pager.c. -type BusyHandler = BusyHandler1 /* sqlite3.c:14788:28 */ - -// Name of table that holds the database schema. - -// The root-page of the schema table. - -// The name of the schema table. The name is different for TEMP. - -// A convenience macro that returns the number of elements in -// an array. - -// Determine if the argument is a power of two - -// The following value as a destructor means to use sqlite3DbFree(). -// The sqlite3DbFree() routine requires two parameters instead of the -// one parameter that destructors normally want. So we have to introduce -// this magic value that the code knows to handle differently. Any -// pointer will work here as long as it is distinct from SQLITE_STATIC -// and SQLITE_TRANSIENT. - -// When SQLITE_OMIT_WSD is defined, it means that the target platform does -// not support Writable Static Data (WSD) such as global and static variables. -// All variables must either be on the stack or dynamically allocated from -// the heap. When WSD is unsupported, the variable declarations scattered -// throughout the SQLite code must become constants instead. The SQLITE_WSD -// macro is used for this purpose. And instead of referencing the variable -// directly, we use its constant as a key to lookup the run-time allocated -// buffer that holds real variable. The constant is also the initializer -// for the run-time allocated buffer. -// -// In the usual case where WSD is supported, the SQLITE_WSD and GLOBAL -// macros become no-ops and have zero performance impact. - -// The following macros are used to suppress compiler warnings and to -// make it clear to human readers when a function parameter is deliberately -// left unused within the body of a function. This usually happens when -// a function is called via a function pointer. For example the -// implementation of an SQL aggregate step callback may not use the -// parameter indicating the number of arguments passed to the aggregate, -// if it knows that this is enforced elsewhere. -// -// When a function parameter is not used at all within the body of a function, -// it is generally named "NotUsed" or "NotUsed2" to make things even clearer. -// However, these macros may also be used to suppress warnings related to -// parameters that may or may not be used depending on compilation options. -// For example those parameters only used in assert() statements. In these -// cases the parameters are named as per the usual conventions. - -// Forward references to structures -type AggInfo1 = struct { - FdirectMode U8 - FuseSortingIdx U8 - _ [2]byte - FsortingIdx int32 - FsortingIdxPTab int32 - FnSortingColumn int32 - FmnReg int32 - FmxReg int32 - FpGroupBy uintptr - FaCol uintptr - FnColumn int32 - FnAccumulator int32 - FaFunc uintptr - FnFunc int32 - FselId U32 -} /* sqlite3.c:1331:9 */ - -// Name of table that holds the database schema. - -// The root-page of the schema table. - -// The name of the schema table. The name is different for TEMP. - -// A convenience macro that returns the number of elements in -// an array. - -// Determine if the argument is a power of two - -// The following value as a destructor means to use sqlite3DbFree(). -// The sqlite3DbFree() routine requires two parameters instead of the -// one parameter that destructors normally want. So we have to introduce -// this magic value that the code knows to handle differently. Any -// pointer will work here as long as it is distinct from SQLITE_STATIC -// and SQLITE_TRANSIENT. - -// When SQLITE_OMIT_WSD is defined, it means that the target platform does -// not support Writable Static Data (WSD) such as global and static variables. -// All variables must either be on the stack or dynamically allocated from -// the heap. When WSD is unsupported, the variable declarations scattered -// throughout the SQLite code must become constants instead. The SQLITE_WSD -// macro is used for this purpose. And instead of referencing the variable -// directly, we use its constant as a key to lookup the run-time allocated -// buffer that holds real variable. The constant is also the initializer -// for the run-time allocated buffer. -// -// In the usual case where WSD is supported, the SQLITE_WSD and GLOBAL -// macros become no-ops and have zero performance impact. - -// The following macros are used to suppress compiler warnings and to -// make it clear to human readers when a function parameter is deliberately -// left unused within the body of a function. This usually happens when -// a function is called via a function pointer. For example the -// implementation of an SQL aggregate step callback may not use the -// parameter indicating the number of arguments passed to the aggregate, -// if it knows that this is enforced elsewhere. -// -// When a function parameter is not used at all within the body of a function, -// it is generally named "NotUsed" or "NotUsed2" to make things even clearer. -// However, these macros may also be used to suppress warnings related to -// parameters that may or may not be used depending on compilation options. -// For example those parameters only used in assert() statements. In these -// cases the parameters are named as per the usual conventions. - -// Forward references to structures -type AggInfo = AggInfo1 /* sqlite3.c:14884:24 */ -type AuthContext1 = struct { - FzAuthContext uintptr - FpParse uintptr -} /* sqlite3.c:14885:9 */ - -type AuthContext = AuthContext1 /* sqlite3.c:14885:28 */ -type AutoincInfo1 = struct { - FpNext uintptr - FpTab uintptr - FiDb int32 - FregCtr int32 -} /* sqlite3.c:1331:9 */ - -type AutoincInfo = AutoincInfo1 /* sqlite3.c:14886:28 */ -type Bitvec1 = struct { - FiSize U32 - FnSet U32 - FiDivisor U32 - _ [4]byte - Fu struct { - _ [0]uint64 - FaBitmap [496]U8 - } -} /* sqlite3.c:1331:9 */ - -type Bitvec = Bitvec1 /* sqlite3.c:14887:23 */ -type CollSeq1 = struct { - FzName uintptr - Fenc U8 - _ [7]byte - FpUser uintptr - FxCmp uintptr - FxDel uintptr -} /* sqlite3.c:1331:9 */ - -type CollSeq = CollSeq1 /* sqlite3.c:14888:24 */ -type Column1 = struct { - FzName uintptr - FpDflt uintptr - FzColl uintptr - FnotNull U8 - Faffinity int8 - FszEst U8 - FhName U8 - FcolFlags U16 - _ [2]byte -} /* sqlite3.c:1331:9 */ - -type Column = Column1 /* sqlite3.c:14889:23 */ -type Cte1 = struct { - FzName uintptr - FpCols uintptr - FpSelect uintptr - FzCteErr uintptr - FpUse uintptr - FeM10d U8 - _ [7]byte -} /* sqlite3.c:1331:9 */ - -type Cte = Cte1 /* sqlite3.c:14890:20 */ -type CteUse1 = struct { - FnUse int32 - FaddrM9e int32 - FregRtn int32 - FiCur int32 - FnRowEst LogEst - FeM10d U8 - _ [1]byte -} /* sqlite3.c:1331:9 */ - -type CteUse = CteUse1 /* sqlite3.c:14891:23 */ -type Db1 = struct { - FzDbSName uintptr - FpBt uintptr - Fsafety_level U8 - FbSyncSet U8 - _ [6]byte - FpSchema uintptr -} /* sqlite3.c:1331:9 */ - -type Db = Db1 /* sqlite3.c:14892:19 */ -type DbFixer1 = struct { - FpParse uintptr - Fw Walker - FpSchema uintptr - FbTemp U8 - _ [7]byte - FzDb uintptr - FzType uintptr - FpName uintptr -} /* sqlite3.c:14893:9 */ - -type DbFixer = DbFixer1 /* sqlite3.c:14893:24 */ -type Schema1 = struct { - Fschema_cookie int32 - FiGeneration int32 - FtblHash Hash - FidxHash Hash - FtrigHash Hash - FfkeyHash Hash - FpSeqTab uintptr - Ffile_format U8 - Fenc U8 - FschemaFlags U16 - Fcache_size int32 -} /* sqlite3.c:1331:9 */ - -type Schema = Schema1 /* sqlite3.c:14894:23 */ -type Expr1 = struct { - Fop U8 - FaffExpr int8 - Fop2 U8 - _ [1]byte - Fflags U32 - Fu struct{ FzToken uintptr } - FpLeft uintptr - FpRight uintptr - Fx struct{ FpList uintptr } - FnHeight int32 - FiTable int32 - FiColumn YnVar - FiAgg I16 - FiRightJoinTable int32 - FpAggInfo uintptr - Fy struct{ FpTab uintptr } -} /* sqlite3.c:1331:9 */ - -type Expr = Expr1 /* sqlite3.c:14895:21 */ -type ExprList1 = struct { - FnExpr int32 - FnAlloc int32 - Fa [1]struct { - FpExpr uintptr - FzEName uintptr - FsortFlags U8 - _ [3]byte - FeEName uint8 /* unsigned eEName: 2, unsigned done: 1, unsigned reusable: 1, unsigned bSorterRef: 1, unsigned bNulls: 1 */ - _ [3]byte - Fu struct { - _ [0]uint32 - Fx struct { - FiOrderByCol U16 - FiAlias U16 - } - } - _ [4]byte - } -} /* sqlite3.c:1331:9 */ - -type ExprList = ExprList1 /* sqlite3.c:14896:25 */ -type FKey1 = struct { - FpFrom uintptr - FpNextFrom uintptr - FzTo uintptr - FpNextTo uintptr - FpPrevTo uintptr - FnCol int32 - FisDeferred U8 - FaAction [2]U8 - _ [1]byte - FapTrigger [2]uintptr - FaCol [1]struct { - FiFrom int32 - _ [4]byte - FzCol uintptr - } -} /* sqlite3.c:1331:9 */ - -type FKey = FKey1 /* sqlite3.c:14897:21 */ -type FuncDestructor1 = struct { - FnRef int32 - _ [4]byte - FxDestroy uintptr - FpUserData uintptr -} /* sqlite3.c:14898:9 */ - -type FuncDestructor = FuncDestructor1 /* sqlite3.c:14898:31 */ -type FuncDef1 = struct { - FnArg I8 - _ [3]byte - FfuncFlags U32 - FpUserData uintptr - FpNext uintptr - FxSFunc uintptr - FxFinalize uintptr - FxValue uintptr - FxInverse uintptr - FzName uintptr - Fu struct{ FpHash uintptr } -} /* sqlite3.c:1331:9 */ - -type FuncDef = FuncDef1 /* sqlite3.c:14899:24 */ -type FuncDefHash1 = struct{ Fa [23]uintptr } /* sqlite3.c:14900:9 */ - -type FuncDefHash = FuncDefHash1 /* sqlite3.c:14900:28 */ -type IdList1 = struct { - Fa uintptr - FnId int32 - _ [4]byte -} /* sqlite3.c:1331:9 */ - -type IdList = IdList1 /* sqlite3.c:14901:23 */ -type Index1 = struct { - FzName uintptr - FaiColumn uintptr - FaiRowLogEst uintptr - FpTable uintptr - FzColAff uintptr - FpNext uintptr - FpSchema uintptr - FaSortOrder uintptr - FazColl uintptr - FpPartIdxWhere uintptr - FaColExpr uintptr - Ftnum Pgno - FszIdxRow LogEst - FnKeyCol U16 - FnColumn U16 - FonError U8 - _ [1]byte - FidxType uint16 /* unsigned idxType: 2, unsigned bUnordered: 1, unsigned uniqNotNull: 1, unsigned isResized: 1, unsigned isCovering: 1, unsigned noSkipScan: 1, unsigned hasStat1: 1, unsigned bNoQuery: 1, unsigned bAscKeyBug: 1, unsigned bHasVCol: 1 */ - _ [2]byte - FnSample int32 - FnSampleCol int32 - FaAvgEq uintptr - FaSample uintptr - FaiRowEst uintptr - FnRowEst0 TRowcnt - _ [4]byte - FcolNotIdxed Bitmask -} /* sqlite3.c:1331:9 */ - -type Index = Index1 /* sqlite3.c:14902:22 */ -type IndexSample1 = struct { - Fp uintptr - Fn int32 - _ [4]byte - FanEq uintptr - FanLt uintptr - FanDLt uintptr -} /* sqlite3.c:1331:9 */ - -type IndexSample = IndexSample1 /* sqlite3.c:14903:28 */ -type KeyInfo1 = struct { - FnRef U32 - Fenc U8 - _ [1]byte - FnKeyField U16 - FnAllField U16 - _ [6]byte - Fdb uintptr - FaSortFlags uintptr - FaColl [1]uintptr -} /* sqlite3.c:1331:9 */ - -type KeyInfo = KeyInfo1 /* sqlite3.c:14905:24 */ -type Lookaside1 = struct { - FbDisable U32 - Fsz U16 - FszTrue U16 - FbMalloced U8 - _ [3]byte - FnSlot U32 - FanStat [3]U32 - _ [4]byte - FpInit uintptr - FpFree uintptr - FpSmallInit uintptr - FpSmallFree uintptr - FpMiddle uintptr - FpStart uintptr - FpEnd uintptr -} /* sqlite3.c:1331:9 */ - -type Lookaside = Lookaside1 /* sqlite3.c:14906:26 */ -type LookasideSlot1 = struct{ FpNext uintptr } /* sqlite3.c:1331:9 */ - -type LookasideSlot = LookasideSlot1 /* sqlite3.c:14907:30 */ -type Module1 = struct { - FpModule uintptr - FzName uintptr - FnRefModule int32 - _ [4]byte - FpAux uintptr - FxDestroy uintptr - FpEpoTab uintptr -} /* sqlite3.c:1331:9 */ - -type Module = Module1 /* sqlite3.c:14908:23 */ -type NameContext1 = struct { - FpParse uintptr - FpSrcList uintptr - FuNC struct{ FpEList uintptr } - FpNext uintptr - FnRef int32 - FnNcErr int32 - FncFlags int32 - _ [4]byte - FpWinSelect uintptr -} /* sqlite3.c:14909:9 */ - -type NameContext = NameContext1 /* sqlite3.c:14909:28 */ -type Parse1 = struct { - Fdb uintptr - FzErrMsg uintptr - FpVdbe uintptr - Frc int32 - FcolNamesSet U8 - FcheckSchema U8 - Fnested U8 - FnTempReg U8 - FisMultiWrite U8 - FmayAbort U8 - FhasCompound U8 - FokConstFactor U8 - FdisableLookaside U8 - FdisableVtab U8 - _ [2]byte - FnRangeReg int32 - FiRangeReg int32 - FnErr int32 - FnTab int32 - FnMem int32 - FszOpAlloc int32 - FiSelfTab int32 - FnLabel int32 - FnLabelAlloc int32 - _ [4]byte - FaLabel uintptr - FpConstExpr uintptr - FconstraintName Token - FwriteMask YDbMask - FcookieMask YDbMask - FregRowid int32 - FregRoot int32 - FnMaxArg int32 - FnSelect int32 - FnTableLock int32 - _ [4]byte - FaTableLock uintptr - FpAinc uintptr - FpToplevel uintptr - FpTriggerTab uintptr - FpParentParse uintptr - Fu1 struct { - _ [0]uint64 - FaddrCrTab int32 - _ [4]byte - } - FnQueryLoop U32 - Foldmask U32 - Fnewmask U32 - FeTriggerOp U8 - FbReturning U8 - FeOrconf U8 - FdisableTriggers U8 - FaTempReg [8]int32 - FsNameToken Token - FsLastToken Token - FnVar YnVar - FiPkSortOrder U8 - Fexplain U8 - FeParseMode U8 - _ [3]byte - FnVtabLock int32 - FnHeight int32 - FaddrExplain int32 - _ [4]byte - FpVList uintptr - FpReprepare uintptr - FzTail uintptr - FpNewTable uintptr - FpNewIndex uintptr - FpNewTrigger uintptr - FzAuthContext uintptr - FsArg Token - FapVtabLock uintptr - FpTriggerPrg uintptr - FpWith uintptr - FpCleanup uintptr - FpRename uintptr -} /* sqlite3.c:1331:9 */ - -type Parse = Parse1 /* sqlite3.c:14910:22 */ -type ParseCleanup1 = struct { - FpNext uintptr - FpPtr uintptr - FxCleanup uintptr -} /* sqlite3.c:1331:9 */ - -type ParseCleanup = ParseCleanup1 /* sqlite3.c:14911:29 */ -type PreUpdate1 = struct { - Fv uintptr - FpCsr uintptr - Fop int32 - _ [4]byte - FaRecord uintptr - Fkeyinfo KeyInfo - FpUnpacked uintptr - FpNewUnpacked uintptr - FiNewReg int32 - FiBlobWrite int32 - FiKey1 I64 - FiKey2 I64 - FaNew uintptr - FpTab uintptr - FpPk uintptr -} /* sqlite3.c:1331:9 */ - -type PreUpdate = PreUpdate1 /* sqlite3.c:14912:26 */ -type PrintfArguments1 = struct { - FnArg int32 - FnUsed int32 - FapArg uintptr -} /* sqlite3.c:14913:9 */ - -type PrintfArguments = PrintfArguments1 /* sqlite3.c:14913:32 */ -type RenameToken1 = struct { - Fp uintptr - Ft Token - FpNext uintptr -} /* sqlite3.c:1331:9 */ - -type RenameToken = RenameToken1 /* sqlite3.c:14914:28 */ -type Returning1 = struct { - FpParse uintptr - FpReturnEL uintptr - FretTrig Trigger - FretTStep TriggerStep - FiRetCur int32 - FnRetCol int32 - FiRetReg int32 - _ [4]byte -} /* sqlite3.c:14915:9 */ - -type Returning = Returning1 /* sqlite3.c:14915:26 */ -type RowSet1 = struct { - FpChunk uintptr - Fdb uintptr - FpEntry uintptr - FpLast uintptr - FpFresh uintptr - FpForest uintptr - FnFresh U16 - FrsFlags U16 - FiBatch int32 -} /* sqlite3.c:14916:9 */ - -type RowSet = RowSet1 /* sqlite3.c:14916:23 */ -type Savepoint1 = struct { - FzName uintptr - FnDeferredCons I64 - FnDeferredImmCons I64 - FpNext uintptr -} /* sqlite3.c:1331:9 */ - -type Savepoint = Savepoint1 /* sqlite3.c:14917:26 */ -type Select1 = struct { - Fop U8 - _ [1]byte - FnSelectRow LogEst - FselFlags U32 - FiLimit int32 - FiOffset int32 - FselId U32 - FaddrOpenEphm [2]int32 - _ [4]byte - FpEList uintptr - FpSrc uintptr - FpWhere uintptr - FpGroupBy uintptr - FpHaving uintptr - FpOrderBy uintptr - FpPrior uintptr - FpNext uintptr - FpLimit uintptr - FpWith uintptr - FpWin uintptr - FpWinDefn uintptr -} /* sqlite3.c:1331:9 */ - -type Select = Select1 /* sqlite3.c:14918:23 */ -type SQLiteThread1 = struct { - FxTask uintptr - FpIn uintptr - FpResult uintptr -} /* sqlite3.c:14919:9 */ - -type SQLiteThread = SQLiteThread1 /* sqlite3.c:14919:29 */ -type SelectDest1 = struct { - FeDest U8 - _ [3]byte - FiSDParm int32 - FiSDParm2 int32 - FiSdst int32 - FnSdst int32 - _ [4]byte - FzAffSdst uintptr - FpOrderBy uintptr -} /* sqlite3.c:14920:9 */ - -type SelectDest = SelectDest1 /* sqlite3.c:14920:27 */ -type SrcItem1 = struct { - FpSchema uintptr - FzDatabase uintptr - FzName uintptr - FzAlias uintptr - FpTab uintptr - FpSelect uintptr - FaddrFillSub int32 - FregReturn int32 - FregResult int32 - Ffg struct { - _ [0]uint32 - Fjointype U8 - _ [3]byte - FnotIndexed uint16 /* unsigned notIndexed: 1, unsigned isIndexedBy: 1, unsigned isTabFunc: 1, unsigned isCorrelated: 1, unsigned viaCoroutine: 1, unsigned isRecursive: 1, unsigned fromDDL: 1, unsigned isCte: 1, unsigned notCte: 1 */ - _ [2]byte - } - FiCursor int32 - FpOn uintptr - FpUsing uintptr - FcolUsed Bitmask - Fu1 struct{ FzIndexedBy uintptr } - Fu2 struct{ FpIBIndex uintptr } -} /* sqlite3.c:1331:9 */ - -type SrcItem = SrcItem1 /* sqlite3.c:14921:24 */ -type SrcList1 = struct { - FnSrc int32 - FnAlloc U32 - Fa [1]SrcItem -} /* sqlite3.c:1331:9 */ - -type SrcList = SrcList1 /* sqlite3.c:14922:24 */ -type StrAccum = sqlite3_str /* sqlite3.c:14923:28 */ // Internal alias for sqlite3_str -type Table1 = struct { - FzName uintptr - FaCol uintptr - FpIndex uintptr - FpSelect uintptr - FpFKey uintptr - FzColAff uintptr - FpCheck uintptr - Ftnum Pgno - FnTabRef U32 - FtabFlags U32 - FiPKey I16 - FnCol I16 - FnNVCol I16 - FnRowLogEst LogEst - FszTabRow LogEst - FkeyConf U8 - _ [1]byte - FaddColOffset int32 - FnModuleArg int32 - FazModuleArg uintptr - FpVTable uintptr - FpTrigger uintptr - FpSchema uintptr -} /* sqlite3.c:1331:9 */ - -// Internal alias for sqlite3_str -type Table = Table1 /* sqlite3.c:14924:22 */ -type TableLock1 = struct { - FiDb int32 - FiTab Pgno - FisWriteLock U8 - _ [7]byte - FzLockName uintptr -} /* sqlite3.c:1331:9 */ - -type TableLock = TableLock1 /* sqlite3.c:14925:26 */ -type Token1 = struct { - Fz uintptr - Fn uint32 - _ [4]byte -} /* sqlite3.c:1331:9 */ - -type Token = Token1 /* sqlite3.c:14926:22 */ -type Trigger1 = struct { - FzName uintptr - Ftable uintptr - Fop U8 - Ftr_tm U8 - FbReturning U8 - _ [5]byte - FpWhen uintptr - FpColumns uintptr - FpSchema uintptr - FpTabSchema uintptr - Fstep_list uintptr - FpNext uintptr -} /* sqlite3.c:1331:9 */ - -type Trigger = Trigger1 /* sqlite3.c:14928:24 */ -type TriggerPrg1 = struct { - FpTrigger uintptr - FpNext uintptr - FpProgram uintptr - Forconf int32 - FaColmask [2]U32 - _ [4]byte -} /* sqlite3.c:1331:9 */ - -type TriggerPrg = TriggerPrg1 /* sqlite3.c:14929:27 */ -type TriggerStep1 = struct { - Fop U8 - Forconf U8 - _ [6]byte - FpTrig uintptr - FpSelect uintptr - FzTarget uintptr - FpFrom uintptr - FpWhere uintptr - FpExprList uintptr - FpIdList uintptr - FpUpsert uintptr - FzSpan uintptr - FpNext uintptr - FpLast uintptr -} /* sqlite3.c:1331:9 */ - -type TriggerStep = TriggerStep1 /* sqlite3.c:14930:28 */ -type UnpackedRecord1 = struct { - FpKeyInfo uintptr - FaMem uintptr - FnField U16 - Fdefault_rc I8 - FerrCode U8 - Fr1 I8 - Fr2 I8 - FeqSeen U8 - _ [1]byte -} /* sqlite3.c:1331:9 */ - -type UnpackedRecord = UnpackedRecord1 /* sqlite3.c:14931:31 */ -type Upsert1 = struct { - FpUpsertTarget uintptr - FpUpsertTargetWhere uintptr - FpUpsertSet uintptr - FpUpsertWhere uintptr - FpNextUpsert uintptr - FisDoUpdate U8 - _ [7]byte - FpToFree uintptr - FpUpsertIdx uintptr - FpUpsertSrc uintptr - FregData int32 - FiDataCur int32 - FiIdxCur int32 - _ [4]byte -} /* sqlite3.c:1331:9 */ - -type Upsert = Upsert1 /* sqlite3.c:14932:23 */ -type VTable1 = struct { - Fdb uintptr - FpMod uintptr - FpVtab uintptr - FnRef int32 - FbConstraint U8 - FeVtabRisk U8 - _ [2]byte - FiSavepoint int32 - _ [4]byte - FpNext uintptr -} /* sqlite3.c:1331:9 */ - -type VTable = VTable1 /* sqlite3.c:14933:23 */ -type VtabCtx1 = struct { - FpVTable uintptr - FpTab uintptr - FpPrior uintptr - FbDeclared int32 - _ [4]byte -} /* sqlite3.c:1331:9 */ - -type VtabCtx = VtabCtx1 /* sqlite3.c:14934:24 */ -type Walker1 = struct { - FpParse uintptr - FxExprCallback uintptr - FxSelectCallback uintptr - FxSelectCallback2 uintptr - FwalkerDepth int32 - FeCode U16 - _ [2]byte - Fu struct{ FpNC uintptr } -} /* sqlite3.c:14893:9 */ - -type Walker = Walker1 /* sqlite3.c:14935:23 */ -type WhereInfo1 = struct { - FpParse uintptr - FpTabList uintptr - FpOrderBy uintptr - FpResultSet uintptr - FpWhere uintptr - FaiCurOnePass [2]int32 - FiContinue int32 - FiBreak int32 - FsavedNQueryLoop int32 - FwctrlFlags U16 - FiLimit LogEst - FnLevel U8 - FnOBSat I8 - FeOnePass U8 - FeDistinct U8 - FbDeferredSeek uint8 /* unsigned bDeferredSeek: 1, unsigned untestedTerms: 1, unsigned bOrderedInnerLoop: 1, unsigned sorted: 1 */ - _ [1]byte - FnRowOut LogEst - FiTop int32 - FiEndWhere int32 - FpLoops uintptr - FpExprMods uintptr - FrevMask Bitmask - FsWC WhereClause - FsMaskSet WhereMaskSet - Fa [1]WhereLevel -} /* sqlite3.c:14936:9 */ - -type WhereInfo = WhereInfo1 /* sqlite3.c:14936:26 */ -type Window1 = struct { - FzName uintptr - FzBase uintptr - FpPartition uintptr - FpOrderBy uintptr - FeFrmType U8 - FeStart U8 - FeEnd U8 - FbImplicitFrame U8 - FeExclude U8 - _ [3]byte - FpStart uintptr - FpEnd uintptr - FppThis uintptr - FpNextWin uintptr - FpFilter uintptr - FpFunc uintptr - FiEphCsr int32 - FregAccum int32 - FregResult int32 - FcsrApp int32 - FregApp int32 - FregPart int32 - FpOwner uintptr - FnBufferCol int32 - FiArgCol int32 - FregOne int32 - FregStartRowid int32 - FregEndRowid int32 - FbExprArgs U8 - _ [3]byte -} /* sqlite3.c:1331:9 */ - -type Window = Window1 /* sqlite3.c:14937:23 */ -type With1 = struct { - FnCte int32 - FbView int32 - FpOuter uintptr - Fa [1]Cte -} /* sqlite3.c:1331:9 */ - -type With = With1 /* sqlite3.c:14938:21 */ - -// The bitmask datatype defined below is used for various optimizations. -// -// Changing this from a 64-bit to a 32-bit type limits the number of -// tables in a join to 32 instead of 64. But it also reduces the size -// of the library by 738 bytes on ix86. -type Bitmask = U64 /* sqlite3.c:14951:15 */ - -// The number of bits in a Bitmask. "BMS" means "BitMask Size". - -// A bit in a Bitmask - -// A VList object records a mapping between parameters/variables/wildcards -// in the SQL statement (such as $abc, @pqr, or :xyz) and the integer -// variable number associated with that parameter. See the format description -// on the sqlite3VListAdd() routine for more information. A VList is really -// just an array of integers. -type VList = int32 /* sqlite3.c:14973:13 */ - -// Defer sourcing vdbe.h and btree.h until after the "u8" and -// "BusyHandler" typedefs. vdbe.h also requires a few of the opaque -// pointer types (i.e. FuncDef) defined above. -//************* Include pager.h in the middle of sqliteInt.h **************** -//************* Begin file pager.h ****************************************** -// 2001 September 15 -// -// 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 header file defines the interface that the sqlite page cache -// subsystem. The page cache subsystem reads and writes a file a page -// at a time and provides a journal for rollback. - -// Default maximum size for persistent journal files. A negative -// value means no limit. This value may be overridden using the -// sqlite3PagerJournalSizeLimit() API. See also "PRAGMA journal_size_limit". - -// The type used to represent a page number. The first page in a file -// is called page 1. 0 is used to represent "not a page". -type Pgno = U32 /* sqlite3.c:15014:13 */ - -// Each open file is managed by a separate instance of the "Pager" structure. -type Pager1 = struct { - FpVfs uintptr - FexclusiveMode U8 - FjournalMode U8 - FuseJournal U8 - FnoSync U8 - FfullSync U8 - FextraSync U8 - FsyncFlags U8 - FwalSyncFlags U8 - FtempFile U8 - FnoLock U8 - FreadOnly U8 - FmemDb U8 - FeState U8 - FeLock U8 - FchangeCountDone U8 - FsetSuper U8 - FdoNotSpill U8 - FsubjInMemory U8 - FbUseFetch U8 - FhasHeldSharedLock U8 - FdbSize Pgno - FdbOrigSize Pgno - FdbFileSize Pgno - FdbHintSize Pgno - FerrCode int32 - FnRec int32 - FcksumInit U32 - FnSubRec U32 - _ [4]byte - FpInJournal uintptr - Ffd uintptr - Fjfd uintptr - Fsjfd uintptr - FjournalOff I64 - FjournalHdr I64 - FpBackup uintptr - FaSavepoint uintptr - FnSavepoint int32 - FiDataVersion U32 - FdbFileVers [16]int8 - FnMmapOut int32 - _ [4]byte - FszMmap Sqlite3_int64 - FpMmapFreelist uintptr - FnExtra U16 - FnReserve I16 - FvfsFlags U32 - FsectorSize U32 - FpageSize int32 - FmxPgno Pgno - _ [4]byte - FjournalSizeLimit I64 - FzFilename uintptr - FzJournal uintptr - FxBusyHandler uintptr - FpBusyHandlerArg uintptr - FaStat [4]int32 - FxReiniter uintptr - FxGet uintptr - FpTmpSpace uintptr - FpPCache uintptr - FpWal uintptr - FzWal uintptr -} /* sqlite3.c:1331:9 */ - -// Each open file is managed by a separate instance of the "Pager" structure. -type Pager = Pager1 /* sqlite3.c:15019:22 */ - -// Handle type for pages. -type PgHdr2 = struct { - FpPage uintptr - FpData uintptr - FpExtra uintptr - FpCache uintptr - FpDirty uintptr - FpPager uintptr - Fpgno Pgno - Fflags U16 - FnRef I16 - FpDirtyNext uintptr - FpDirtyPrev uintptr -} /* sqlite3.c:1331:9 */ - -// Handle type for pages. -type DbPage = PgHdr2 /* sqlite3.c:15024:22 */ - -// Functions to support testing and debugging. - -//************* End of pager.h ********************************************** -//************* Continuing where we left off in sqliteInt.h ***************** -//************* Include btree.h in the middle of sqliteInt.h **************** -//************* Begin file btree.h ****************************************** -// 2001 September 15 -// -// 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 header file defines the interface that the sqlite B-Tree file -// subsystem. See comments in the source code for a detailed description -// of what each interface routine does. - -// TODO: This definition is just included so other modules compile. It -// needs to be revisited. - -// If defined as non-zero, auto-vacuum is enabled by default. Otherwise -// it must be turned on for each database using "PRAGMA auto_vacuum = 1". - -// Forward declarations of structure -type Btree1 = struct { - Fdb uintptr - FpBt uintptr - FinTrans U8 - Fsharable U8 - Flocked U8 - FhasIncrblobCur U8 - FwantToLock int32 - FnBackup int32 - FiBDataVersion U32 - FpNext uintptr - FpPrev uintptr - Flock BtLock -} /* sqlite3.c:1331:9 */ - -// Functions to support testing and debugging. - -//************* End of pager.h ********************************************** -//************* Continuing where we left off in sqliteInt.h ***************** -//************* Include btree.h in the middle of sqliteInt.h **************** -//************* Begin file btree.h ****************************************** -// 2001 September 15 -// -// 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 header file defines the interface that the sqlite B-Tree file -// subsystem. See comments in the source code for a detailed description -// of what each interface routine does. - -// TODO: This definition is just included so other modules compile. It -// needs to be revisited. - -// If defined as non-zero, auto-vacuum is enabled by default. Otherwise -// it must be turned on for each database using "PRAGMA auto_vacuum = 1". - -// Forward declarations of structure -type Btree = Btree1 /* sqlite3.c:15267:22 */ -type BtCursor1 = struct { - FeState U8 - FcurFlags U8 - FcurPagerFlags U8 - Fhints U8 - FskipNext int32 - FpBtree uintptr - FaOverflow uintptr - FpKey uintptr - FpBt uintptr - FpNext uintptr - Finfo CellInfo - FnKey I64 - FpgnoRoot Pgno - FiPage I8 - FcurIntKey U8 - Fix U16 - FaiIdx [19]U16 - _ [2]byte - FpKeyInfo uintptr - FpPage uintptr - FapPage [19]uintptr -} /* sqlite3.c:1331:9 */ - -type BtCursor = BtCursor1 /* sqlite3.c:15268:25 */ -type BtShared1 = struct { - FpPager uintptr - Fdb uintptr - FpCursor uintptr - FpPage1 uintptr - FopenFlags U8 - FautoVacuum U8 - FincrVacuum U8 - FbDoTruncate U8 - FinTransaction U8 - Fmax1bytePayload U8 - FnReserveWanted U8 - _ [1]byte - FbtsFlags U16 - FmaxLocal U16 - FminLocal U16 - FmaxLeaf U16 - FminLeaf U16 - _ [2]byte - FpageSize U32 - FusableSize U32 - FnTransaction int32 - FnPage U32 - _ [4]byte - FpSchema uintptr - FxFreeSchema uintptr - Fmutex uintptr - FpHasContent uintptr - FnRef int32 - _ [4]byte - FpNext uintptr - FpLock uintptr - FpWriter uintptr - FpTmpSpace uintptr - FnPreformatSize int32 - _ [4]byte -} /* sqlite3.c:1331:9 */ - -type BtShared = BtShared1 /* sqlite3.c:15269:25 */ -type BtreePayload1 = struct { - FpKey uintptr - FnKey Sqlite3_int64 - FpData uintptr - FaMem uintptr - FnMem U16 - _ [2]byte - FnData int32 - FnZero int32 - _ [4]byte -} /* sqlite3.c:15270:9 */ - -type BtreePayload = BtreePayload1 /* sqlite3.c:15270:29 */ - -//************* End of btree.h ********************************************** -//************* Continuing where we left off in sqliteInt.h ***************** -//************* Include vdbe.h in the middle of sqliteInt.h ***************** -//************* Begin file vdbe.h ******************************************* -// 2001 September 15 -// -// 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. -// -// -// Header file for the Virtual DataBase Engine (VDBE) -// -// This header defines the interface to the virtual database engine -// or VDBE. The VDBE implements an abstract machine that runs a -// simple program to access and modify the underlying database. -// #include - -// A single VDBE is an opaque structure named "Vdbe". Only routines -// in the source file sqliteVdbe.c are allowed to see the insides -// of this structure. -type Vdbe1 = struct { - Fdb uintptr - FpPrev uintptr - FpNext uintptr - FpParse uintptr - FnVar YnVar - _ [2]byte - FiVdbeMagic U32 - FnMem int32 - FnCursor int32 - FcacheCtr U32 - Fpc int32 - Frc int32 - FnChange int32 - FiStatement int32 - _ [4]byte - FiCurrentTime I64 - FnFkConstraint I64 - FnStmtDefCons I64 - FnStmtDefImmCons I64 - FaMem uintptr - FapArg uintptr - FapCsr uintptr - FaVar uintptr - FaOp uintptr - FnOp int32 - FnOpAlloc int32 - FaColName uintptr - FpResultSet uintptr - FzErrMsg uintptr - FpVList uintptr - FstartTime I64 - FnResColumn U16 - FerrorAction U8 - FminWriteFileFormat U8 - FprepFlags U8 - FdoingRerun U8 - _ [2]byte - Fexpired uint16 /* bft expired: 2, bft explain: 2, bft changeCntOn: 1, bft runOnlyOnce: 1, bft usesStmtJournal: 1, bft readOnly: 1, bft bIsReader: 1 */ - _ [2]byte - FbtreeMask YDbMask - FlockMask YDbMask - FaCounter [7]U32 - FzSql uintptr - FpFree uintptr - FpFrame uintptr - FpDelFrame uintptr - FnFrame int32 - Fexpmask U32 - FpProgram uintptr - FpAuxData uintptr -} /* sqlite3.c:1331:9 */ - -//************* End of btree.h ********************************************** -//************* Continuing where we left off in sqliteInt.h ***************** -//************* Include vdbe.h in the middle of sqliteInt.h ***************** -//************* Begin file vdbe.h ******************************************* -// 2001 September 15 -// -// 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. -// -// -// Header file for the Virtual DataBase Engine (VDBE) -// -// This header defines the interface to the virtual database engine -// or VDBE. The VDBE implements an abstract machine that runs a -// simple program to access and modify the underlying database. -// #include - -// A single VDBE is an opaque structure named "Vdbe". Only routines -// in the source file sqliteVdbe.c are allowed to see the insides -// of this structure. -type Vdbe = Vdbe1 /* sqlite3.c:15668:21 */ - -// The names of the following types declared in vdbeInt.h are required -// for the VdbeOp definition. -type Mem = sqlite3_value /* sqlite3.c:15674:30 */ -type SubProgram1 = struct { - FaOp uintptr - FnOp int32 - FnMem int32 - FnCsr int32 - _ [4]byte - FaOnce uintptr - Ftoken uintptr - FpNext uintptr -} /* sqlite3.c:1331:9 */ - -type SubProgram = SubProgram1 /* sqlite3.c:15675:27 */ - -// A single instruction of the virtual machine has an opcode -// and as many as three operands. The instruction is recorded -// as an instance of the following structure: -type VdbeOp1 = struct { - Fopcode U8 - Fp4type int8 - Fp5 U16 - Fp1 int32 - Fp2 int32 - Fp3 int32 - Fp4 struct { - _ [0]uint64 - Fi int32 - _ [4]byte - } -} /* sqlite3.c:1331:9 */ - -// A single instruction of the virtual machine has an opcode -// and as many as three operands. The instruction is recorded -// as an instance of the following structure: -type p4union = struct { - _ [0]uint64 - Fi int32 - _ [4]byte -} /* sqlite3.c:1331:9 */ - -type VdbeOp = VdbeOp1 /* sqlite3.c:15721:23 */ - -// A smaller version of VdbeOp used for the VdbeAddOpList() function because -// it takes up less space. -type VdbeOpList1 = struct { - Fopcode U8 - Fp1 int8 - Fp2 int8 - Fp3 int8 -} /* sqlite3.c:15741:1 */ - -type VdbeOpList = VdbeOpList1 /* sqlite3.c:15747:27 */ - -type RecordCompare = uintptr /* sqlite3.c:16156:13 */ - -// Use SQLITE_ENABLE_COMMENTS to enable generation of extra comments on -// each VDBE opcode. -// -// Use the SQLITE_ENABLE_MODULE_COMMENTS macro to see some extra no-op -// comments in VDBE programs that show key decision points in the code -// generator. - -// The VdbeCoverage macros are used to set a coverage testing point -// for VDBE branch instructions. The coverage testing points are line -// numbers in the sqlite3.c source file. VDBE branch coverage testing -// only works with an amalagmation build. That's ok since a VDBE branch -// coverage build designed for testing the test suite only. No application -// should ever ship with VDBE branch coverage measuring turned on. -// -// VdbeCoverage(v) // Mark the previously coded instruction -// // as a branch -// -// VdbeCoverageIf(v, conditional) // Mark previous if conditional true -// -// VdbeCoverageAlwaysTaken(v) // Previous branch is always taken -// -// VdbeCoverageNeverTaken(v) // Previous branch is never taken -// -// VdbeCoverageNeverNull(v) // Previous three-way branch is only -// // taken on the first two ways. The -// // NULL option is not possible -// -// VdbeCoverageEqNe(v) // Previous OP_Jump is only interested -// // in distingishing equal and not-equal. -// -// Every VDBE branch operation must be tagged with one of the macros above. -// If not, then when "make test" is run with -DSQLITE_VDBE_COVERAGE and -// -DSQLITE_DEBUG then an ALWAYS() will fail in the vdbeTakeBranch() -// routine in vdbe.c, alerting the developer to the missed tag. -// -// During testing, the test application will invoke -// sqlite3_test_control(SQLITE_TESTCTRL_VDBE_COVERAGE,...) to set a callback -// routine that is invoked as each bytecode branch is taken. The callback -// contains the sqlite3.c source line number ov the VdbeCoverage macro and -// flags to indicate whether or not the branch was taken. The test application -// is responsible for keeping track of this and reporting byte-code branches -// that are never taken. -// -// See the VdbeBranchTaken() macro and vdbeTakeBranch() function in the -// vdbe.c source file for additional information. - -//************* End of vdbe.h *********************************************** -//************* Continuing where we left off in sqliteInt.h ***************** -//************* Include pcache.h in the middle of sqliteInt.h *************** -//************* Begin file pcache.h ***************************************** -// 2008 August 05 -// -// 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 header file defines the interface that the sqlite page cache -// subsystem. - -type PgHdr = PgHdr2 /* sqlite3.c:16289:22 */ -type PCache2 = struct { - FpDirty uintptr - FpDirtyTail uintptr - FpSynced uintptr - FnRefSum int32 - FszCache int32 - FszSpill int32 - FszPage int32 - FszExtra int32 - FbPurgeable U8 - FeCreate U8 - _ [2]byte - FxStress uintptr - FpStress uintptr - FpCache uintptr -} /* sqlite3.c:1331:9 */ - -type PCache = PCache2 /* sqlite3.c:16290:23 */ - -// typedef for the authorization callback function. -type Sqlite3_xauth = uintptr /* sqlite3.c:17058:15 */ - -// This is an extra SQLITE_TRACE macro that indicates "legacy" tracing -// in the style of sqlite3_trace() - -// Maximum number of sqlite3.aDb[] entries. This is the number of attached -// databases plus 2 for "main" and "temp". - -// Each database connection is an instance of the following structure. -type sqlite3InitInfo = struct { - FnewTnum Pgno - FiDb U8 - Fbusy U8 - _ [2]byte - ForphanTrigger uint8 /* unsigned orphanTrigger: 1, unsigned imposterTable: 1, unsigned reopenMemdb: 1 */ - _ [7]byte - FazInit uintptr -} /* sqlite3.c:1331:9 */ - -// Allowed values for Table.tabFlags. -// -// TF_OOOHidden applies to tables or view that have hidden columns that are -// followed by non-hidden columns. Example: "CREATE VIRTUAL TABLE x USING -// vtab1(a HIDDEN, b);". Since "b" is a non-hidden column but "a" is hidden, -// the TF_OOOHidden attribute would apply in this case. Such tables require -// special handling during INSERT processing. The "OOO" means "Out Of Order". -// -// Constraints: -// -// TF_HasVirtual == COLFLAG_VIRTUAL -// TF_HasStored == COLFLAG_STORED -// TF_HasHidden == COLFLAG_HIDDEN - -// Test to see whether or not a table is a virtual table. This is -// done as a macro so that it will be optimized out when virtual -// table support is omitted from the build. - -// Macros to determine if a column is hidden. IsOrdinaryHiddenColumn() -// only works for non-virtual tables (ordinary tables and views) and is -// always false unless SQLITE_ENABLE_HIDDEN_COLUMNS is defined. The -// IsHiddenColumn() macro is general purpose. - -// Does the table have a rowid - -// Each foreign key constraint is an instance of the following structure. -// -// A foreign key is associated with two tables. The "from" table is -// the table that contains the REFERENCES clause that creates the foreign -// key. The "to" table is the table that is named in the REFERENCES clause. -// Consider this example: -// -// CREATE TABLE ex1( -// a INTEGER PRIMARY KEY, -// b INTEGER CONSTRAINT fk1 REFERENCES ex2(x) -// ); -// -// For foreign key "fk1", the from-table is "ex1" and the to-table is "ex2". -// Equivalent names: -// -// from-table == child-table -// to-table == parent-table -// -// Each REFERENCES clause generates an instance of the following structure -// which is attached to the from-table. The to-table need not exist when -// the from-table is created. The existence of the to-table is not checked. -// -// The list of all parents for child Table X is held at X.pFKey. -// -// A list of all children for a table named Z (which might not even exist) -// is held in Schema.fkeyHash with a hash key of Z. -type sColMap = struct { - FiFrom int32 - _ [4]byte - FzCol uintptr -} /* sqlite3.c:1331:9 */ - -// An instance of this structure contains information needed to generate -// code for a SELECT that contains aggregate functions. -// -// If Expr.op==TK_AGG_COLUMN or TK_AGG_FUNCTION then Expr.pAggInfo is a -// pointer to this structure. The Expr.iAgg field is the index in -// AggInfo.aCol[] or AggInfo.aFunc[] of information needed to generate -// code for that node. -// -// AggInfo.pGroupBy and AggInfo.aFunc.pExpr point to fields within the -// original Select structure that describes the SELECT statement. These -// fields do not need to be freed when deallocating the AggInfo structure. -type AggInfo_col = struct { - FpTab uintptr - FpCExpr uintptr - FiTable int32 - FiMem int32 - FiColumn I16 - FiSorterColumn I16 - _ [4]byte -} /* sqlite3.c:1331:9 */ - -// An instance of this structure contains information needed to generate -// code for a SELECT that contains aggregate functions. -// -// If Expr.op==TK_AGG_COLUMN or TK_AGG_FUNCTION then Expr.pAggInfo is a -// pointer to this structure. The Expr.iAgg field is the index in -// AggInfo.aCol[] or AggInfo.aFunc[] of information needed to generate -// code for that node. -// -// AggInfo.pGroupBy and AggInfo.aFunc.pExpr point to fields within the -// original Select structure that describes the SELECT statement. These -// fields do not need to be freed when deallocating the AggInfo structure. -type AggInfo_func = struct { - FpFExpr uintptr - FpFunc uintptr - FiMem int32 - FiDistinct int32 - FiDistAddr int32 - _ [4]byte -} /* sqlite3.c:1331:9 */ - -// The datatype ynVar is a signed integer, either 16-bit or 32-bit. -// Usually it is 16-bits. But if SQLITE_MAX_VARIABLE_NUMBER is greater -// than 32767 we have to make it 32-bit. 16-bit is preferred because -// it uses less memory in the Expr object, which is a big memory user -// in systems with lots of prepared statements. And few applications -// need more than about 10 or 20 variables. But some extreme users want -// to have prepared statements with over 32766 variables, and for them -// the option is available (at compile-time). -type YnVar = I16 /* sqlite3.c:18212:13 */ - -// The following are the meanings of bits in the Expr.flags field. -// Value restrictions: -// -// EP_Agg == NC_HasAgg == SF_HasAgg -// EP_Win == NC_HasWin -// 0x400000 // Available -// 0x80000000 // Available - -// The EP_Propagate mask is a set of properties that automatically propagate -// upwards into parent nodes. - -// These macros can be used to test, set, or clear bits in the -// Expr.flags field. - -// Flags for use with Expr.vvaFlags - -// The ExprSetVVAProperty() macro is used for Verification, Validation, -// and Accreditation only. It works like ExprSetProperty() during VVA -// processes but is a no-op for delivery. - -// Macros to determine the number of bytes required by a normal Expr -// struct, an Expr struct with the EP_Reduced flag set in Expr.flags -// and an Expr struct with the EP_TokenOnly flag set. - -// Flags passed to the sqlite3ExprDup() function. See the header comment -// above sqlite3ExprDup() for details. - -// True if the expression passed as an argument was a function with -// an OVER() clause (a window function). - -// A list of expressions. Each expression may optionally have a -// name. An expr/name combination can be used in several ways, such -// as the list of "expr AS ID" fields following a "SELECT" or in the -// list of "ID = expr" items in an UPDATE. A list of expressions can -// also be used as the argument to a function, in which case the a.zName -// field is not used. -// -// In order to try to keep memory usage down, the Expr.a.zEName field -// is used for multiple purposes: -// -// eEName Usage -// ---------- ------------------------- -// ENAME_NAME (1) the AS of result set column -// (2) COLUMN= of an UPDATE -// -// ENAME_TAB DB.TABLE.NAME used to resolve names -// of subqueries -// -// ENAME_SPAN Text of the original result set -// expression. -type ExprList_item = struct { - FpExpr uintptr - FzEName uintptr - FsortFlags U8 - _ [3]byte - FeEName uint8 /* unsigned eEName: 2, unsigned done: 1, unsigned reusable: 1, unsigned bSorterRef: 1, unsigned bNulls: 1 */ - _ [3]byte - Fu struct { - _ [0]uint32 - Fx struct { - FiOrderByCol U16 - FiAlias U16 - } - } - _ [4]byte -} /* sqlite3.c:1331:9 */ - -// Allowed values for Expr.a.eEName - -// An instance of this structure can hold a simple list of identifiers, -// such as the list "a,b,c" in the following statements: -// -// INSERT INTO t(a,b,c) VALUES ...; -// CREATE INDEX idx ON t(a,b,c); -// CREATE TRIGGER trig BEFORE UPDATE ON t(a,b,c) ...; -// -// The IdList.a.idx field is used when the IdList represents the list of -// column names after a table name in an INSERT statement. In the statement -// -// INSERT INTO t(a,b,c) ... -// -// If "a" is the k-th column of table "t", then IdList.a[0].idx==k. -type IdList_item = struct { - FzName uintptr - Fidx int32 - _ [4]byte -} /* sqlite3.c:1331:9 */ - -// The yDbMask datatype for the bitmask of all attached databases. -type YDbMask = uint32 /* sqlite3.c:18969:24 */ - -// A pointer to this structure is used to communicate information -// from sqlite3Init and OP_ParseSchema into the sqlite3InitCallback. -type InitData = struct { - Fdb uintptr - FpzErrMsg uintptr - FiDb int32 - Frc int32 - FmInitFlags U32 - FnInitRow U32 - FmxPage Pgno - _ [4]byte -} /* sqlite3.c:19327:3 */ - -// Allowed values for mInitFlags - -// Tuning parameters are set using SQLITE_TESTCTRL_TUNE and are controlled -// on debug-builds of the CLI using ".testctrl tune ID VALUE". Tuning -// parameters are for temporary use during development, to help find -// optimial values for parameters in the query planner. The should not -// be used on trunk check-ins. They are a temporary mechanism available -// for transient development builds only. -// -// Tuning parameters are numbered starting with 1. - -// Structure containing global configuration data for the SQLite library. -// -// This structure also contains some state information. -type Sqlite3Config = struct { - FbMemstat int32 - FbCoreMutex U8 - FbFullMutex U8 - FbOpenUri U8 - FbUseCis U8 - FbSmallMalloc U8 - FbExtraSchemaChecks U8 - _ [2]byte - FmxStrlen int32 - FneverCorrupt int32 - FszLookaside int32 - FnLookaside int32 - FnStmtSpill int32 - Fm Sqlite3_mem_methods - Fmutex Sqlite3_mutex_methods - Fpcache2 Sqlite3_pcache_methods2 - FpHeap uintptr - FnHeap int32 - FmnReq int32 - FmxReq int32 - _ [4]byte - FszMmap Sqlite3_int64 - FmxMmap Sqlite3_int64 - FpPage uintptr - FszPage int32 - FnPage int32 - FmxParserStack int32 - FsharedCacheEnabled int32 - FszPma U32 - FisInit int32 - FinProgress int32 - FisMutexInit int32 - FisMallocInit int32 - FisPCacheInit int32 - FnRefInitMutex int32 - _ [4]byte - FpInitMutex uintptr - FxLog uintptr - FpLogArg uintptr - FmxMemdbSize Sqlite3_int64 - FxTestCallback uintptr - FbLocaltimeFault int32 - FiOnceResetThreshold int32 - FszSorterRef U32 - FiPrngSeed uint32 -} /* sqlite3.c:19356:1 */ - -// This macro is used inside of assert() statements to indicate that -// the assert is only valid on a well-formed database. Instead of: -// -// assert( X ); -// -// One writes: -// -// assert( X || CORRUPT_DB ); -// -// CORRUPT_DB is true during normal operation. CORRUPT_DB does not indicate -// that the database is definitely corrupt, only that it might be corrupt. -// For most test cases, CORRUPT_DB is set to false using a special -// sqlite3_test_control(). This enables assert() statements to prove -// things that are always true for well-formed databases. - -// Context pointer passed down through the tree-walk. -type SrcCount = struct { - FpSrc uintptr - FiSrcInner int32 - FnThis int32 - FnOther int32 - _ [4]byte -} /* sqlite3.c:19454:5 */ - -// This macro is used inside of assert() statements to indicate that -// the assert is only valid on a well-formed database. Instead of: -// -// assert( X ); -// -// One writes: -// -// assert( X || CORRUPT_DB ); -// -// CORRUPT_DB is true during normal operation. CORRUPT_DB does not indicate -// that the database is definitely corrupt, only that it might be corrupt. -// For most test cases, CORRUPT_DB is set to false using a special -// sqlite3_test_control(). This enables assert() statements to prove -// things that are always true for well-formed databases. - -// Context pointer passed down through the tree-walk. -type IdxCover = struct { - FpIdx uintptr - FiCur int32 - _ [4]byte -} /* sqlite3.c:19457:5 */ - -// This macro is used inside of assert() statements to indicate that -// the assert is only valid on a well-formed database. Instead of: -// -// assert( X ); -// -// One writes: -// -// assert( X || CORRUPT_DB ); -// -// CORRUPT_DB is true during normal operation. CORRUPT_DB does not indicate -// that the database is definitely corrupt, only that it might be corrupt. -// For most test cases, CORRUPT_DB is set to false using a special -// sqlite3_test_control(). This enables assert() statements to prove -// things that are always true for well-formed databases. - -// Context pointer passed down through the tree-walk. -type IdxExprTrans1 = struct { - FpIdxExpr uintptr - FiTabCur int32 - FiIdxCur int32 - FiIdxCol int32 - FiTabCol int32 - FpWInfo uintptr - Fdb uintptr -} /* sqlite3.c:19458:5 */ - -// This macro is used inside of assert() statements to indicate that -// the assert is only valid on a well-formed database. Instead of: -// -// assert( X ); -// -// One writes: -// -// assert( X || CORRUPT_DB ); -// -// CORRUPT_DB is true during normal operation. CORRUPT_DB does not indicate -// that the database is definitely corrupt, only that it might be corrupt. -// For most test cases, CORRUPT_DB is set to false using a special -// sqlite3_test_control(). This enables assert() statements to prove -// things that are always true for well-formed databases. - -// Context pointer passed down through the tree-walk. -type WindowRewrite1 = struct { - FpWin uintptr - FpSrc uintptr - FpSub uintptr - FpTab uintptr - FpSubSelect uintptr -} /* sqlite3.c:19461:5 */ - -// This macro is used inside of assert() statements to indicate that -// the assert is only valid on a well-formed database. Instead of: -// -// assert( X ); -// -// One writes: -// -// assert( X || CORRUPT_DB ); -// -// CORRUPT_DB is true during normal operation. CORRUPT_DB does not indicate -// that the database is definitely corrupt, only that it might be corrupt. -// For most test cases, CORRUPT_DB is set to false using a special -// sqlite3_test_control(). This enables assert() statements to prove -// things that are always true for well-formed databases. - -// Context pointer passed down through the tree-walk. -type WhereConst1 = struct { - FpParse uintptr - FpOomFault uintptr - FnConst int32 - FnChng int32 - FbHasAffBlob int32 - _ [4]byte - FapExpr uintptr -} /* sqlite3.c:19462:5 */ - -// This macro is used inside of assert() statements to indicate that -// the assert is only valid on a well-formed database. Instead of: -// -// assert( X ); -// -// One writes: -// -// assert( X || CORRUPT_DB ); -// -// CORRUPT_DB is true during normal operation. CORRUPT_DB does not indicate -// that the database is definitely corrupt, only that it might be corrupt. -// For most test cases, CORRUPT_DB is set to false using a special -// sqlite3_test_control(). This enables assert() statements to prove -// things that are always true for well-formed databases. - -// Context pointer passed down through the tree-walk. -type RenameCtx1 = struct { - FpList uintptr - FnList int32 - FiCol int32 - FpTab uintptr - FzOld uintptr -} /* sqlite3.c:19463:5 */ - -//************* End of sqliteInt.h ****************************************** -//************* Begin file global.c ***************************************** -// 2008 June 13 -// -// 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 definitions of global variables and constants. -// #include "sqliteInt.h" - -// An array to map all upper-case characters into their corresponding -// lower-case character. -// -// SQLite only considers US-ASCII (or EBCDIC) characters. We do not -// handle case conversions for the UTF character set since the tables -// involved are nearly as big or bigger than SQLite itself. -var Xsqlite3UpperToLower = [274]uint8{ - uint8(0), uint8(1), uint8(2), uint8(3), uint8(4), uint8(5), uint8(6), uint8(7), uint8(8), uint8(9), uint8(10), uint8(11), uint8(12), uint8(13), uint8(14), uint8(15), uint8(16), uint8(17), - uint8(18), uint8(19), uint8(20), uint8(21), uint8(22), uint8(23), uint8(24), uint8(25), uint8(26), uint8(27), uint8(28), uint8(29), uint8(30), uint8(31), uint8(32), uint8(33), uint8(34), uint8(35), - uint8(36), uint8(37), uint8(38), uint8(39), uint8(40), uint8(41), uint8(42), uint8(43), uint8(44), uint8(45), uint8(46), uint8(47), uint8(48), uint8(49), uint8(50), uint8(51), uint8(52), uint8(53), - uint8(54), uint8(55), uint8(56), uint8(57), uint8(58), uint8(59), uint8(60), uint8(61), uint8(62), uint8(63), uint8(64), uint8(97), uint8(98), uint8(99), uint8(100), uint8(101), uint8(102), uint8(103), - uint8(104), uint8(105), uint8(106), uint8(107), uint8(108), uint8(109), uint8(110), uint8(111), uint8(112), uint8(113), uint8(114), uint8(115), uint8(116), uint8(117), uint8(118), uint8(119), uint8(120), uint8(121), - uint8(122), uint8(91), uint8(92), uint8(93), uint8(94), uint8(95), uint8(96), uint8(97), uint8(98), uint8(99), uint8(100), uint8(101), uint8(102), uint8(103), uint8(104), uint8(105), uint8(106), uint8(107), - uint8(108), uint8(109), uint8(110), uint8(111), uint8(112), uint8(113), uint8(114), uint8(115), uint8(116), uint8(117), uint8(118), uint8(119), uint8(120), uint8(121), uint8(122), uint8(123), uint8(124), uint8(125), - uint8(126), uint8(127), uint8(128), uint8(129), uint8(130), uint8(131), uint8(132), uint8(133), uint8(134), uint8(135), uint8(136), uint8(137), uint8(138), uint8(139), uint8(140), uint8(141), uint8(142), uint8(143), - uint8(144), uint8(145), uint8(146), uint8(147), uint8(148), uint8(149), uint8(150), uint8(151), uint8(152), uint8(153), uint8(154), uint8(155), uint8(156), uint8(157), uint8(158), uint8(159), uint8(160), uint8(161), - uint8(162), uint8(163), uint8(164), uint8(165), uint8(166), uint8(167), uint8(168), uint8(169), uint8(170), uint8(171), uint8(172), uint8(173), uint8(174), uint8(175), uint8(176), uint8(177), uint8(178), uint8(179), - uint8(180), uint8(181), uint8(182), uint8(183), uint8(184), uint8(185), uint8(186), uint8(187), uint8(188), uint8(189), uint8(190), uint8(191), uint8(192), uint8(193), uint8(194), uint8(195), uint8(196), uint8(197), - uint8(198), uint8(199), uint8(200), uint8(201), uint8(202), uint8(203), uint8(204), uint8(205), uint8(206), uint8(207), uint8(208), uint8(209), uint8(210), uint8(211), uint8(212), uint8(213), uint8(214), uint8(215), - uint8(216), uint8(217), uint8(218), uint8(219), uint8(220), uint8(221), uint8(222), uint8(223), uint8(224), uint8(225), uint8(226), uint8(227), uint8(228), uint8(229), uint8(230), uint8(231), uint8(232), uint8(233), - uint8(234), uint8(235), uint8(236), uint8(237), uint8(238), uint8(239), uint8(240), uint8(241), uint8(242), uint8(243), uint8(244), uint8(245), uint8(246), uint8(247), uint8(248), uint8(249), uint8(250), uint8(251), - uint8(252), uint8(253), uint8(254), uint8(255), - // All of the upper-to-lower conversion data is above. The following - // 18 integers are completely unrelated. They are appended to the - // sqlite3UpperToLower[] array to avoid UBSAN warnings. Here's what is - // going on: - // - // The SQL comparison operators (<>, =, >, <=, <, and >=) are implemented - // by invoking sqlite3MemCompare(A,B) which compares values A and B and - // returns negative, zero, or positive if A is less then, equal to, or - // greater than B, respectively. Then the true false results is found by - // consulting sqlite3aLTb[opcode], sqlite3aEQb[opcode], or - // sqlite3aGTb[opcode] depending on whether the result of compare(A,B) - // is negative, zero, or positive, where opcode is the specific opcode. - // The only works because the comparison opcodes are consecutive and in - // this order: NE EQ GT LE LT GE. Various assert()s throughout the code - // ensure that is the case. - // - // These elements must be appended to another array. Otherwise the - // index (here shown as [256-OP_Ne]) would be out-of-bounds and thus - // be undefined behavior. That's goofy, but the C-standards people thought - // it was a good idea, so here we are. - // NE EQ GT LE LT GE - uint8(1), uint8(0), uint8(0), uint8(1), uint8(1), uint8(0), // aLTb[]: Use when compare(A,B) less than zero - uint8(0), uint8(1), uint8(0), uint8(1), uint8(0), uint8(1), // aEQb[]: Use when compare(A,B) equals zero - uint8(1), uint8(0), uint8(1), uint8(0), uint8(0), uint8(1), // aGTb[]: Use when compare(A,B) greater than zero -} /* sqlite3.c:20818:36 */ -var Xsqlite3aLTb uintptr = 0 /* sqlite3.c:20880:36 */ -var Xsqlite3aEQb uintptr = 0 /* sqlite3.c:20881:36 */ -var Xsqlite3aGTb uintptr = 0 /* sqlite3.c:20882:36 */ - -// The following 256 byte lookup table is used to support SQLites built-in -// equivalents to the following standard library functions: -// -// isspace() 0x01 -// isalpha() 0x02 -// isdigit() 0x04 -// isalnum() 0x06 -// isxdigit() 0x08 -// toupper() 0x20 -// SQLite identifier character 0x40 -// Quote character 0x80 -// -// Bit 0x20 is set if the mapped character requires translation to upper -// case. i.e. if the character is a lower-case ASCII character. -// If x is a lower-case ASCII character, then its upper-case equivalent -// is (x - 0x20). Therefore toupper() can be implemented as: -// -// (x & ~(map[x]&0x20)) -// -// The equivalent of tolower() is implemented using the sqlite3UpperToLower[] -// array. tolower() is used more often than toupper() by SQLite. -// -// Bit 0x40 is set if the character is non-alphanumeric and can be used in an -// SQLite identifier. Identifiers are alphanumerics, "_", "$", and any -// non-ASCII UTF character. Hence the test for whether or not a character is -// part of an identifier is 0x46. -var Xsqlite3CtypeMap = [256]uint8{ - uint8(0x00), uint8(0x00), uint8(0x00), uint8(0x00), uint8(0x00), uint8(0x00), uint8(0x00), uint8(0x00), // 00..07 ........ - uint8(0x00), uint8(0x01), uint8(0x01), uint8(0x01), uint8(0x01), uint8(0x01), uint8(0x00), uint8(0x00), // 08..0f ........ - uint8(0x00), uint8(0x00), uint8(0x00), uint8(0x00), uint8(0x00), uint8(0x00), uint8(0x00), uint8(0x00), // 10..17 ........ - uint8(0x00), uint8(0x00), uint8(0x00), uint8(0x00), uint8(0x00), uint8(0x00), uint8(0x00), uint8(0x00), // 18..1f ........ - uint8(0x01), uint8(0x00), uint8(0x80), uint8(0x00), uint8(0x40), uint8(0x00), uint8(0x00), uint8(0x80), // 20..27 !"#$%&' - uint8(0x00), uint8(0x00), uint8(0x00), uint8(0x00), uint8(0x00), uint8(0x00), uint8(0x00), uint8(0x00), // 28..2f ()*+,-./ - uint8(0x0c), uint8(0x0c), uint8(0x0c), uint8(0x0c), uint8(0x0c), uint8(0x0c), uint8(0x0c), uint8(0x0c), // 30..37 01234567 - uint8(0x0c), uint8(0x0c), uint8(0x00), uint8(0x00), uint8(0x00), uint8(0x00), uint8(0x00), uint8(0x00), // 38..3f 89:;<=>? - - uint8(0x00), uint8(0x0a), uint8(0x0a), uint8(0x0a), uint8(0x0a), uint8(0x0a), uint8(0x0a), uint8(0x02), // 40..47 @ABCDEFG - uint8(0x02), uint8(0x02), uint8(0x02), uint8(0x02), uint8(0x02), uint8(0x02), uint8(0x02), uint8(0x02), // 48..4f HIJKLMNO - uint8(0x02), uint8(0x02), uint8(0x02), uint8(0x02), uint8(0x02), uint8(0x02), uint8(0x02), uint8(0x02), // 50..57 PQRSTUVW - uint8(0x02), uint8(0x02), uint8(0x02), uint8(0x80), uint8(0x00), uint8(0x00), uint8(0x00), uint8(0x40), // 58..5f XYZ[\]^_ - uint8(0x80), uint8(0x2a), uint8(0x2a), uint8(0x2a), uint8(0x2a), uint8(0x2a), uint8(0x2a), uint8(0x22), // 60..67 `abcdefg - uint8(0x22), uint8(0x22), uint8(0x22), uint8(0x22), uint8(0x22), uint8(0x22), uint8(0x22), uint8(0x22), // 68..6f hijklmno - uint8(0x22), uint8(0x22), uint8(0x22), uint8(0x22), uint8(0x22), uint8(0x22), uint8(0x22), uint8(0x22), // 70..77 pqrstuvw - uint8(0x22), uint8(0x22), uint8(0x22), uint8(0x00), uint8(0x00), uint8(0x00), uint8(0x00), uint8(0x00), // 78..7f xyz{|}~. - - uint8(0x40), uint8(0x40), uint8(0x40), uint8(0x40), uint8(0x40), uint8(0x40), uint8(0x40), uint8(0x40), // 80..87 ........ - uint8(0x40), uint8(0x40), uint8(0x40), uint8(0x40), uint8(0x40), uint8(0x40), uint8(0x40), uint8(0x40), // 88..8f ........ - uint8(0x40), uint8(0x40), uint8(0x40), uint8(0x40), uint8(0x40), uint8(0x40), uint8(0x40), uint8(0x40), // 90..97 ........ - uint8(0x40), uint8(0x40), uint8(0x40), uint8(0x40), uint8(0x40), uint8(0x40), uint8(0x40), uint8(0x40), // 98..9f ........ - uint8(0x40), uint8(0x40), uint8(0x40), uint8(0x40), uint8(0x40), uint8(0x40), uint8(0x40), uint8(0x40), // a0..a7 ........ - uint8(0x40), uint8(0x40), uint8(0x40), uint8(0x40), uint8(0x40), uint8(0x40), uint8(0x40), uint8(0x40), // a8..af ........ - uint8(0x40), uint8(0x40), uint8(0x40), uint8(0x40), uint8(0x40), uint8(0x40), uint8(0x40), uint8(0x40), // b0..b7 ........ - uint8(0x40), uint8(0x40), uint8(0x40), uint8(0x40), uint8(0x40), uint8(0x40), uint8(0x40), uint8(0x40), // b8..bf ........ - - uint8(0x40), uint8(0x40), uint8(0x40), uint8(0x40), uint8(0x40), uint8(0x40), uint8(0x40), uint8(0x40), // c0..c7 ........ - uint8(0x40), uint8(0x40), uint8(0x40), uint8(0x40), uint8(0x40), uint8(0x40), uint8(0x40), uint8(0x40), // c8..cf ........ - uint8(0x40), uint8(0x40), uint8(0x40), uint8(0x40), uint8(0x40), uint8(0x40), uint8(0x40), uint8(0x40), // d0..d7 ........ - uint8(0x40), uint8(0x40), uint8(0x40), uint8(0x40), uint8(0x40), uint8(0x40), uint8(0x40), uint8(0x40), // d8..df ........ - uint8(0x40), uint8(0x40), uint8(0x40), uint8(0x40), uint8(0x40), uint8(0x40), uint8(0x40), uint8(0x40), // e0..e7 ........ - uint8(0x40), uint8(0x40), uint8(0x40), uint8(0x40), uint8(0x40), uint8(0x40), uint8(0x40), uint8(0x40), // e8..ef ........ - uint8(0x40), uint8(0x40), uint8(0x40), uint8(0x40), uint8(0x40), uint8(0x40), uint8(0x40), uint8(0x40), // f0..f7 ........ - uint8(0x40), uint8(0x40), uint8(0x40), uint8(0x40), uint8(0x40), uint8(0x40), uint8(0x40), uint8(0x40), // f8..ff ........ -} /* sqlite3.c:20912:36 */ - -// EVIDENCE-OF: R-02982-34736 In order to maintain full backwards -// compatibility for legacy applications, the URI filename capability is -// disabled by default. -// -// EVIDENCE-OF: R-38799-08373 URI filenames can be enabled or disabled -// using the SQLITE_USE_URI=1 or SQLITE_USE_URI=0 compile-time options. -// -// EVIDENCE-OF: R-43642-56306 By default, URI handling is globally -// disabled. The default value may be changed by compiling with the -// SQLITE_USE_URI symbol defined. - -// EVIDENCE-OF: R-38720-18127 The default setting is determined by the -// SQLITE_ALLOW_COVERING_INDEX_SCAN compile-time option, or is "on" if -// that compile-time option is omitted. - -// The minimum PMA size is set to this value multiplied by the database -// page size in bytes. - -// Statement journals spill to disk when their size exceeds the following -// threshold (in bytes). 0 means that statement journals are created and -// written to disk immediately (the default behavior for SQLite versions -// before 3.12.0). -1 means always keep the entire statement journal in -// memory. (The statement journal is also always held entirely in memory -// if journal_mode=MEMORY or if temp_store=MEMORY, regardless of this -// setting.) - -// The default lookaside-configuration, the format "SZ,N". SZ is the -// number of bytes in each lookaside slot (should be a multiple of 8) -// and N is the number of slots. The lookaside-configuration can be -// changed as start-time using sqlite3_config(SQLITE_CONFIG_LOOKASIDE) -// or at run-time for an individual database connection using -// sqlite3_db_config(db, SQLITE_DBCONFIG_LOOKASIDE); -// -// With the two-size-lookaside enhancement, less lookaside is required. -// The default configuration of 1200,40 actually provides 30 1200-byte slots -// and 93 128-byte slots, which is more lookaside than is available -// using the older 1200,100 configuration without two-size-lookaside. - -// The default maximum size of an in-memory database created using -// sqlite3_deserialize() - -// The following singleton contains the global configuration for -// the SQLite library. -var Xsqlite3Config = Sqlite3Config{ - FbMemstat: SQLITE_DEFAULT_MEMSTATUS, // bMemstat - FbCoreMutex: U8(1), // bCoreMutex - FbFullMutex: (U8(libc.Bool32(SQLITE_THREADSAFE == 1))), // bOpenUri - FbUseCis: U8(SQLITE_ALLOW_COVERING_INDEX_SCAN), // bSmallMalloc - FbExtraSchemaChecks: U8(1), // bExtraSchemaChecks - FmxStrlen: 0x7ffffffe, // neverCorrupt - FszLookaside: 1200, FnLookaside: 40, // szLookaside, nLookaside - FnStmtSpill: (64 * 1024), // szPage - FnPage: SQLITE_DEFAULT_PCACHE_INITSZ, // sharedCacheEnabled - FszPma: U32(SQLITE_SORTER_PMASZ), // pLogArg - FmxMemdbSize: int64(SQLITE_MEMDB_DEFAULT_MAXSIZE), // bLocaltimeFault - FiOnceResetThreshold: 0x7ffffffe, // iOnceResetThreshold - FszSorterRef: U32(SQLITE_DEFAULT_SORTERREF_SIZE), // iPrngSeed -} /* sqlite3.c:21032:48 */ - -// Hash table for global functions - functions common to all -// database connections. After initialization, this table is -// read-only. -var Xsqlite3BuiltinFunctions FuncDefHash /* sqlite3.c:21093:28: */ - -// The value of the "pending" byte must be 0x40000000 (1 byte past the -// 1-gibabyte boundary) in a compatible database. SQLite never uses -// the database page that contains the pending byte. It never attempts -// to read or write that page. The pending byte page is set aside -// for use by the VFS layers as space for managing file locks. -// -// During testing, it is often desirable to move the pending byte to -// a different position in the file. This allows code that has to -// deal with the pending byte to run on files that are much smaller -// than 1 GiB. The sqlite3_test_control() interface can be used to -// move the pending byte. -// -// IMPORTANT: Changing the pending byte to any value other than -// 0x40000000 results in an incompatible database file format! -// Changing the pending byte during operation will result in undefined -// and incorrect behavior. -var Xsqlite3PendingByte int32 = 0x40000000 /* sqlite3.c:21122:20 */ - -// Tracing flags set by SQLITE_TESTCTRL_TRACEFLAGS. -var Xsqlite3SelectTrace U32 = U32(0) /* sqlite3.c:21128:20 */ -var Xsqlite3WhereTrace U32 = U32(0) /* sqlite3.c:21129:20 */ - -// #include "opcodes.h" -// Properties of opcodes. The OPFLG_INITIALIZER macro is -// created by mkopcodeh.awk during compilation. Data is obtained -// from the comments following the "case OP_xxxx:" statements in -// the vdbe.c file. -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 + 319 /* "BINARY" */)) /* sqlite3.c:21143:27 */ - -//************* End of global.c ********************************************* -//************* Begin file status.c ***************************************** -// 2008 June 18 -// -// 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 module implements the sqlite3_status() interface and related -// functionality. -// #include "sqliteInt.h" -//************* Include vdbeInt.h in the middle of status.c ***************** -//************* Begin file vdbeInt.h **************************************** -// 2003 September 6 -// -// 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 is the header file for information that is private to the -// VDBE. This information used to all be at the top of the single -// source code file "vdbe.c". When that file became too big (over -// 6000 lines long) it was split up into several smaller files and -// this header information was factored out. - -// The maximum number of times that a statement will try to reparse -// itself before giving up and returning SQLITE_SCHEMA. - -// VDBE_DISPLAY_P4 is true or false depending on whether or not the -// "explain" P4 display logic is enabled. - -// SQL is translated into a sequence of instructions to be -// executed by a virtual machine. Each instruction is an instance -// of the following structure. -type Op = VdbeOp1 /* sqlite3.c:21210:23 */ - -// Boolean values -type Bool = uint32 /* sqlite3.c:21215:18 */ - -// Opaque type used by code in vdbesort.c -type VdbeSorter1 = struct { - FmnPmaSize int32 - FmxPmaSize int32 - FmxKeysize int32 - Fpgsz int32 - FpReader uintptr - FpMerger uintptr - Fdb uintptr - FpKeyInfo uintptr - FpUnpacked uintptr - Flist SorterList - FiMemory int32 - FnMemory int32 - FbUsePMA U8 - FbUseThreads U8 - FiPrev U8 - FnTask U8 - FtypeMask U8 - _ [3]byte - FaTask [1]SortSubtask -} /* sqlite3.c:21218:9 */ - -// Opaque type used by code in vdbesort.c -type VdbeSorter = VdbeSorter1 /* sqlite3.c:21218:27 */ - -// Elements of the linked list at Vdbe.pAuxData -type AuxData1 = struct { - FiAuxOp int32 - FiAuxArg int32 - FpAux uintptr - FxDeleteAux uintptr - FpNextAux uintptr -} /* sqlite3.c:1331:9 */ - -// Elements of the linked list at Vdbe.pAuxData -type AuxData = AuxData1 /* sqlite3.c:21221:24 */ - -// Types of VDBE cursors - -// A VdbeCursor is an superclass (a wrapper) for various cursor objects: -// -// * A b-tree cursor -// - In the main database or in an ephemeral database -// - On either an index or a table -// * A sorter -// * A virtual table -// * A one-row "pseudotable" stored in a single register -type VdbeCursor1 = struct { - FeCurType U8 - FiDb I8 - FnullRow U8 - FdeferredMoveto U8 - FisTable U8 - _ [3]byte - FisEphemeral uint8 /* Bool isEphemeral: 1, Bool useRandomRowid: 1, Bool isOrdered: 1, Bool hasBeenDuped: 1 */ - _ [1]byte - FseekHit U16 - _ [4]byte - FpBtx uintptr - FseqCount I64 - FaAltMap uintptr - FcacheStatus U32 - FseekResult int32 - FpAltCursor uintptr - Fuc struct{ FpCursor uintptr } - FpKeyInfo uintptr - FiHdrOffset U32 - FpgnoRoot Pgno - FnField I16 - FnHdrParsed U16 - _ [4]byte - FmovetoTarget I64 - FaOffset uintptr - FaRow uintptr - FpayloadSize U32 - FszRow U32 - FaType [1]U32 - _ [4]byte -} /* sqlite3.c:1331:9 */ - -// Types of VDBE cursors - -// A VdbeCursor is an superclass (a wrapper) for various cursor objects: -// -// * A b-tree cursor -// - In the main database or in an ephemeral database -// - On either an index or a table -// * A sorter -// * A virtual table -// * A one-row "pseudotable" stored in a single register -type VdbeCursor = VdbeCursor1 /* sqlite3.c:21239:27 */ - -// A value for VdbeCursor.cacheStatus that means the cache is always invalid. - -// When a sub-program is executed (OP_Program), a structure of this type -// is allocated to store the current value of the program counter, as -// well as the current memory cell array and various other frame specific -// values stored in the Vdbe struct. When the sub-program is finished, -// these values are copied back to the Vdbe from the VdbeFrame structure, -// restoring the state of the VM to as it was before the sub-program -// began executing. -// -// The memory for a VdbeFrame object is allocated and managed by a memory -// cell in the parent (calling) frame. When the memory cell is deleted or -// overwritten, the VdbeFrame object is not freed immediately. Instead, it -// is linked into the Vdbe.pDelFrame list. The contents of the Vdbe.pDelFrame -// list is deleted when the VM is reset in VdbeHalt(). The reason for doing -// this instead of deleting the VdbeFrame immediately is to avoid recursive -// calls to sqlite3VdbeMemRelease() when the memory cells belonging to the -// child frame are released. -// -// The currently executing frame is stored in Vdbe.pFrame. Vdbe.pFrame is -// set to NULL if the currently executing frame is the main program. -type VdbeFrame1 = struct { - Fv uintptr - FpParent uintptr - FaOp uintptr - FanExec uintptr - FaMem uintptr - FapCsr uintptr - FaOnce uintptr - Ftoken uintptr - FlastRowid I64 - FpAuxData uintptr - FnCursor int32 - Fpc int32 - FnOp int32 - FnMem int32 - FnChildMem int32 - FnChildCsr int32 - FnChange int32 - FnDbChange int32 -} /* sqlite3.c:1331:9 */ - -// A value for VdbeCursor.cacheStatus that means the cache is always invalid. - -// When a sub-program is executed (OP_Program), a structure of this type -// is allocated to store the current value of the program counter, as -// well as the current memory cell array and various other frame specific -// values stored in the Vdbe struct. When the sub-program is finished, -// these values are copied back to the Vdbe from the VdbeFrame structure, -// restoring the state of the VM to as it was before the sub-program -// began executing. -// -// The memory for a VdbeFrame object is allocated and managed by a memory -// cell in the parent (calling) frame. When the memory cell is deleted or -// overwritten, the VdbeFrame object is not freed immediately. Instead, it -// is linked into the Vdbe.pDelFrame list. The contents of the Vdbe.pDelFrame -// list is deleted when the VM is reset in VdbeHalt(). The reason for doing -// this instead of deleting the VdbeFrame immediately is to avoid recursive -// calls to sqlite3VdbeMemRelease() when the memory cells belonging to the -// child frame are released. -// -// The currently executing frame is stored in Vdbe.pFrame. Vdbe.pFrame is -// set to NULL if the currently executing frame is the main program. -type VdbeFrame = VdbeFrame1 /* sqlite3.c:21326:26 */ - -// Magic number for sanity checking on VdbeFrame objects - -// Return a pointer to the array of registers allocated for use -// by a VdbeFrame. - -// Internally, the vdbe manipulates nearly all SQL values as Mem -// structures. Each Mem struct may cache multiple representations (string, -// integer etc.) of the same value. -type MemValue = struct{ Fr float64 } /* sqlite3.c:1331:9 */ - -// A bitfield type for use inside of structures. Always follow with :N where -// N is the number of bits. -type Bft = uint32 /* sqlite3.c:21509:18 */ // Bit Field Type - -// The ScanStatus object holds a single value for the -// sqlite3_stmt_scanstatus() interface. -type ScanStatus1 = struct { - FaddrExplain int32 - FaddrLoop int32 - FaddrVisit int32 - FiSelectID int32 - FnEst LogEst - _ [6]byte - FzName uintptr -} /* sqlite3.c:21514:9 */ - -// Bit Field Type - -// The ScanStatus object holds a single value for the -// sqlite3_stmt_scanstatus() interface. -type ScanStatus = ScanStatus1 /* sqlite3.c:21514:27 */ - -// The DblquoteStr object holds the text of a double-quoted -// string for a prepared statement. A linked list of these objects -// is constructed during statement parsing and is held on Vdbe.pDblStr. -// When computing a normalized SQL statement for an SQL statement, that -// list is consulted for each double-quoted identifier to see if the -// identifier should really be a string literal. -type DblquoteStr1 = struct { - FpNextStr uintptr - Fz [8]int8 -} /* sqlite3.c:21531:9 */ - -// The DblquoteStr object holds the text of a double-quoted -// string for a prepared statement. A linked list of these objects -// is constructed during statement parsing and is held on Vdbe.pDblStr. -// When computing a normalized SQL statement for an SQL statement, that -// list is consulted for each double-quoted identifier to see if the -// identifier should really be a string literal. -type DblquoteStr = DblquoteStr1 /* sqlite3.c:21531:28 */ - -//************* End of vdbeInt.h ******************************************** -//************* Continuing where we left off in status.c ******************** - -// Variables in which to record status information. -type Sqlite3StatValueType = Sqlite3_int64 /* sqlite3.c:21799:23 */ -type sqlite3StatType = struct { - FnowValue [10]Sqlite3StatValueType - FmxValue [10]Sqlite3StatValueType -} /* sqlite3.c:21803:9 */ - -type Sqlite3StatType = sqlite3StatType /* sqlite3.c:21803:32 */ -var sqlite3Stat = sqlite3StatType{} /* sqlite3.c:21807:3 */ - -// Elements of sqlite3Stat[] are protected by either the memory allocator -// mutex, or by the pcache1 mutex. The following array determines which. -var statMutex = [10]int8{ - int8(0), // SQLITE_STATUS_MEMORY_USED - int8(1), // SQLITE_STATUS_PAGECACHE_USED - int8(1), // SQLITE_STATUS_PAGECACHE_OVERFLOW - int8(0), // SQLITE_STATUS_SCRATCH_USED - int8(0), // SQLITE_STATUS_SCRATCH_OVERFLOW - int8(0), // SQLITE_STATUS_MALLOC_SIZE - int8(0), // SQLITE_STATUS_PARSER_STACK - int8(1), // SQLITE_STATUS_PAGECACHE_SIZE - int8(0), // SQLITE_STATUS_SCRATCH_SIZE - int8(0), // SQLITE_STATUS_MALLOC_COUNT -} /* sqlite3.c:21813:19 */ - -// The "wsdStat" macro will resolve to the status information -// state vector. If writable static data is unsupported on the target, -// we have to locate the state vector at run-time. In the more common -// case where writable static data is supported, wsdStat can refer directly -// to the "sqlite3Stat" state vector declared above. - -// Return the current value of a status parameter. The caller must -// be holding the appropriate mutex. -func Xsqlite3StatusValue(tls *libc.TLS, op int32) Sqlite3_int64 { /* sqlite3.c:21845:30: */ - - return *(*Sqlite3StatValueType)(unsafe.Pointer((uintptr(unsafe.Pointer(&sqlite3Stat)) /* &.nowValue */) + uintptr(op)*8)) -} - -// Add N to the value of a status record. The caller must hold the -// appropriate mutex. (Locking is checked by assert()). -// -// The StatusUp() routine can accept positive or negative values for N. -// The value of N is added to the current status value and the high-water -// mark is adjusted if necessary. -// -// The StatusDown() routine lowers the current value by N. The highwater -// mark is unchanged. N must be non-negative for StatusDown(). -func Xsqlite3StatusUp(tls *libc.TLS, op int32, N int32) { /* sqlite3.c:21865:21: */ - - *(*Sqlite3StatValueType)(unsafe.Pointer((uintptr(unsafe.Pointer(&sqlite3Stat)) /* &.nowValue */) + uintptr(op)*8)) += (Sqlite3StatValueType(N)) - if *(*Sqlite3StatValueType)(unsafe.Pointer((uintptr(unsafe.Pointer(&sqlite3Stat)) /* &.nowValue */) + uintptr(op)*8)) > *(*Sqlite3StatValueType)(unsafe.Pointer((uintptr(unsafe.Pointer(&sqlite3Stat)) + 80 /* &.mxValue */) + uintptr(op)*8)) { - *(*Sqlite3StatValueType)(unsafe.Pointer((uintptr(unsafe.Pointer(&sqlite3Stat)) + 80 /* &.mxValue */) + uintptr(op)*8)) = *(*Sqlite3StatValueType)(unsafe.Pointer((uintptr(unsafe.Pointer(&sqlite3Stat)) /* &.nowValue */) + uintptr(op)*8)) - } -} - -func Xsqlite3StatusDown(tls *libc.TLS, op int32, N int32) { /* sqlite3.c:21876:21: */ - - *(*Sqlite3StatValueType)(unsafe.Pointer((uintptr(unsafe.Pointer(&sqlite3Stat)) /* &.nowValue */) + uintptr(op)*8)) -= (Sqlite3StatValueType(N)) -} - -// Adjust the highwater mark if necessary. -// The caller must hold the appropriate mutex. -func Xsqlite3StatusHighwater(tls *libc.TLS, op int32, X int32) { /* sqlite3.c:21890:21: */ - var newValue Sqlite3StatValueType - - newValue = Sqlite3StatValueType(X) - - if newValue > *(*Sqlite3StatValueType)(unsafe.Pointer((uintptr(unsafe.Pointer(&sqlite3Stat)) + 80 /* &.mxValue */) + uintptr(op)*8)) { - *(*Sqlite3StatValueType)(unsafe.Pointer((uintptr(unsafe.Pointer(&sqlite3Stat)) + 80 /* &.mxValue */) + uintptr(op)*8)) = newValue - } -} - -// Query status information. -func Xsqlite3_status64(tls *libc.TLS, op int32, pCurrent uintptr, pHighwater uintptr, resetFlag int32) int32 { /* sqlite3.c:21910:16: */ - var pMutex uintptr - _ = pMutex - - if (op < 0) || (op >= (int32(uint64(unsafe.Sizeof([10]Sqlite3StatValueType{})) / uint64(unsafe.Sizeof(Sqlite3StatValueType(0)))))) { - return Xsqlite3MisuseError(tls, 21919) - } - if statMutex[op] != 0 { - pMutex = Xsqlite3Pcache1Mutex(tls) - } else { - pMutex = Xsqlite3MallocMutex(tls) - } - Xsqlite3_mutex_enter(tls, pMutex) - *(*Sqlite3_int64)(unsafe.Pointer(pCurrent)) = *(*Sqlite3StatValueType)(unsafe.Pointer((uintptr(unsafe.Pointer(&sqlite3Stat)) /* &.nowValue */) + uintptr(op)*8)) - *(*Sqlite3_int64)(unsafe.Pointer(pHighwater)) = *(*Sqlite3StatValueType)(unsafe.Pointer((uintptr(unsafe.Pointer(&sqlite3Stat)) + 80 /* &.mxValue */) + uintptr(op)*8)) - if resetFlag != 0 { - *(*Sqlite3StatValueType)(unsafe.Pointer((uintptr(unsafe.Pointer(&sqlite3Stat)) + 80 /* &.mxValue */) + uintptr(op)*8)) = *(*Sqlite3StatValueType)(unsafe.Pointer((uintptr(unsafe.Pointer(&sqlite3Stat)) /* &.nowValue */) + uintptr(op)*8)) - } - Xsqlite3_mutex_leave(tls, pMutex) - _ = pMutex // Prevent warning when SQLITE_THREADSAFE=0 - return SQLITE_OK -} - -func Xsqlite3_status(tls *libc.TLS, op int32, pCurrent uintptr, pHighwater uintptr, resetFlag int32) int32 { /* sqlite3.c:21935:16: */ - bp := tls.Alloc(16) - defer tls.Free(16) - - *(*Sqlite3_int64)(unsafe.Pointer(bp /* iCur */)) = int64(0) - *(*Sqlite3_int64)(unsafe.Pointer(bp + 8 /* iHwtr */)) = int64(0) - var rc int32 - rc = Xsqlite3_status64(tls, op, bp /* &iCur */, bp+8 /* &iHwtr */, resetFlag) - if rc == 0 { - *(*int32)(unsafe.Pointer(pCurrent)) = int32(*(*Sqlite3_int64)(unsafe.Pointer(bp /* iCur */))) - *(*int32)(unsafe.Pointer(pHighwater)) = int32(*(*Sqlite3_int64)(unsafe.Pointer(bp + 8 /* iHwtr */))) - } - return rc -} - -// Return the number of LookasideSlot elements on the linked list -func countLookasideSlots(tls *libc.TLS, p uintptr) U32 { /* sqlite3.c:21952:12: */ - var cnt U32 = U32(0) - for p != 0 { - p = (*LookasideSlot)(unsafe.Pointer(p)).FpNext - cnt++ - } - return cnt -} - -// Count the number of slots of lookaside memory that are outstanding -func Xsqlite3LookasideUsed(tls *libc.TLS, db uintptr, pHighwater uintptr) int32 { /* sqlite3.c:21964:20: */ - var nInit U32 = countLookasideSlots(tls, (*Sqlite3)(unsafe.Pointer(db)).Flookaside.FpInit) - var nFree U32 = countLookasideSlots(tls, (*Sqlite3)(unsafe.Pointer(db)).Flookaside.FpFree) - nInit = nInit + (countLookasideSlots(tls, (*Sqlite3)(unsafe.Pointer(db)).Flookaside.FpSmallInit)) - nFree = nFree + (countLookasideSlots(tls, (*Sqlite3)(unsafe.Pointer(db)).Flookaside.FpSmallFree)) - if pHighwater != 0 { - *(*int32)(unsafe.Pointer(pHighwater)) = (int32((*Sqlite3)(unsafe.Pointer(db)).Flookaside.FnSlot - nInit)) - } - return (int32((*Sqlite3)(unsafe.Pointer(db)).Flookaside.FnSlot - (nInit + nFree))) -} - -// Query status information for a single database connection -func Xsqlite3_db_status(tls *libc.TLS, db uintptr, op int32, pCurrent uintptr, pHighwater uintptr, resetFlag int32) int32 { /* sqlite3.c:21978:16: */ - bp := tls.Alloc(12) - defer tls.Free(12) - - var rc int32 = SQLITE_OK // Return code - Xsqlite3_mutex_enter(tls, (*Sqlite3)(unsafe.Pointer(db)).Fmutex) - switch op { - case SQLITE_DBSTATUS_LOOKASIDE_USED: - { - *(*int32)(unsafe.Pointer(pCurrent)) = Xsqlite3LookasideUsed(tls, db, pHighwater) - if resetFlag != 0 { - var p uintptr = (*Sqlite3)(unsafe.Pointer(db)).Flookaside.FpFree - if p != 0 { - for (*LookasideSlot)(unsafe.Pointer(p)).FpNext != 0 { - p = (*LookasideSlot)(unsafe.Pointer(p)).FpNext - } - (*LookasideSlot)(unsafe.Pointer(p)).FpNext = (*Sqlite3)(unsafe.Pointer(db)).Flookaside.FpInit - (*Sqlite3)(unsafe.Pointer(db)).Flookaside.FpInit = (*Sqlite3)(unsafe.Pointer(db)).Flookaside.FpFree - (*Sqlite3)(unsafe.Pointer(db)).Flookaside.FpFree = uintptr(0) - } - p = (*Sqlite3)(unsafe.Pointer(db)).Flookaside.FpSmallFree - if p != 0 { - for (*LookasideSlot)(unsafe.Pointer(p)).FpNext != 0 { - p = (*LookasideSlot)(unsafe.Pointer(p)).FpNext - } - (*LookasideSlot)(unsafe.Pointer(p)).FpNext = (*Sqlite3)(unsafe.Pointer(db)).Flookaside.FpSmallInit - (*Sqlite3)(unsafe.Pointer(db)).Flookaside.FpSmallInit = (*Sqlite3)(unsafe.Pointer(db)).Flookaside.FpSmallFree - (*Sqlite3)(unsafe.Pointer(db)).Flookaside.FpSmallFree = uintptr(0) - } - } - break - - } - - case SQLITE_DBSTATUS_LOOKASIDE_HIT: - fallthrough - case SQLITE_DBSTATUS_LOOKASIDE_MISS_SIZE: - fallthrough - case SQLITE_DBSTATUS_LOOKASIDE_MISS_FULL: - { - - *(*int32)(unsafe.Pointer(pCurrent)) = 0 - *(*int32)(unsafe.Pointer(pHighwater)) = int32(*(*U32)(unsafe.Pointer((db + 408 /* &.lookaside */ + 16 /* &.anStat */) + uintptr((op-SQLITE_DBSTATUS_LOOKASIDE_HIT))*4))) - if resetFlag != 0 { - *(*U32)(unsafe.Pointer((db + 408 /* &.lookaside */ + 16 /* &.anStat */) + uintptr((op-SQLITE_DBSTATUS_LOOKASIDE_HIT))*4)) = U32(0) - } - break - - } - - // Return an approximation for the amount of memory currently used - // by all pagers associated with the given database connection. The - // highwater mark is meaningless and is returned as zero. - case SQLITE_DBSTATUS_CACHE_USED_SHARED: - fallthrough - case SQLITE_DBSTATUS_CACHE_USED: - { - var totalUsed int32 = 0 - var i int32 - Xsqlite3BtreeEnterAll(tls, db) - for i = 0; i < (*Sqlite3)(unsafe.Pointer(db)).FnDb; i++ { - var pBt uintptr = (*Db)(unsafe.Pointer((*Sqlite3)(unsafe.Pointer(db)).FaDb + uintptr(i)*32)).FpBt - if pBt != 0 { - var pPager uintptr = Xsqlite3BtreePager(tls, pBt) - var nByte int32 = Xsqlite3PagerMemUsed(tls, pPager) - if op == SQLITE_DBSTATUS_CACHE_USED_SHARED { - nByte = (nByte / Xsqlite3BtreeConnectionCount(tls, pBt)) - } - totalUsed = totalUsed + (nByte) - } - } - Xsqlite3BtreeLeaveAll(tls, db) - *(*int32)(unsafe.Pointer(pCurrent)) = totalUsed - *(*int32)(unsafe.Pointer(pHighwater)) = 0 - break - - } - - // *pCurrent gets an accurate estimate of the amount of memory used - // to store the schema for all databases (main, temp, and any ATTACHed - // databases. *pHighwater is set to zero. - case SQLITE_DBSTATUS_SCHEMA_USED: - { - var i int32 // Used to iterate through schemas - *(*int32)(unsafe.Pointer(bp /* nByte */)) = 0 // Used to accumulate return value - - Xsqlite3BtreeEnterAll(tls, db) - (*Sqlite3)(unsafe.Pointer(db)).FpnBytesFreed = bp /* &nByte */ - for i = 0; i < (*Sqlite3)(unsafe.Pointer(db)).FnDb; i++ { - var pSchema uintptr = (*Db)(unsafe.Pointer((*Sqlite3)(unsafe.Pointer(db)).FaDb + uintptr(i)*32)).FpSchema - if pSchema != uintptr(0) { - var p uintptr - - *(*int32)(unsafe.Pointer(bp /* nByte */)) += int32((uint32((*(*func(*libc.TLS, int32) int32)(unsafe.Pointer((uintptr(unsafe.Pointer(&Xsqlite3Config)) + 32 /* &.m */ + 32 /* &.xRoundup */))))(tls, int32(unsafe.Sizeof(HashElem{})))) * ((((*Schema)(unsafe.Pointer(pSchema)).FtblHash.Fcount + - (*Schema)(unsafe.Pointer(pSchema)).FtrigHash.Fcount) + - (*Schema)(unsafe.Pointer(pSchema)).FidxHash.Fcount) + - (*Schema)(unsafe.Pointer(pSchema)).FfkeyHash.Fcount))) - *(*int32)(unsafe.Pointer(bp /* nByte */)) += int32(Xsqlite3_msize(tls, (*Schema)(unsafe.Pointer(pSchema)).FtblHash.Fht)) - *(*int32)(unsafe.Pointer(bp /* nByte */)) += int32(Xsqlite3_msize(tls, (*Schema)(unsafe.Pointer(pSchema)).FtrigHash.Fht)) - *(*int32)(unsafe.Pointer(bp /* nByte */)) += int32(Xsqlite3_msize(tls, (*Schema)(unsafe.Pointer(pSchema)).FidxHash.Fht)) - *(*int32)(unsafe.Pointer(bp /* nByte */)) += int32(Xsqlite3_msize(tls, (*Schema)(unsafe.Pointer(pSchema)).FfkeyHash.Fht)) - - for p = (*Hash)(unsafe.Pointer((pSchema + 56 /* &.trigHash */))).Ffirst; p != 0; p = (*HashElem)(unsafe.Pointer(p)).Fnext { - Xsqlite3DeleteTrigger(tls, db, (*HashElem)(unsafe.Pointer(p)).Fdata) - } - for p = (*Hash)(unsafe.Pointer((pSchema + 8 /* &.tblHash */))).Ffirst; p != 0; p = (*HashElem)(unsafe.Pointer(p)).Fnext { - Xsqlite3DeleteTable(tls, db, (*HashElem)(unsafe.Pointer(p)).Fdata) - } - } - } - (*Sqlite3)(unsafe.Pointer(db)).FpnBytesFreed = uintptr(0) - Xsqlite3BtreeLeaveAll(tls, db) - - *(*int32)(unsafe.Pointer(pHighwater)) = 0 - *(*int32)(unsafe.Pointer(pCurrent)) = *(*int32)(unsafe.Pointer(bp /* nByte */)) - break - - } - - // *pCurrent gets an accurate estimate of the amount of memory used - // to store all prepared statements. - // *pHighwater is set to zero. - case SQLITE_DBSTATUS_STMT_USED: - { - var pVdbe uintptr // Used to iterate through VMs - *(*int32)(unsafe.Pointer(bp + 4 /* nByte */)) = 0 // Used to accumulate return value - - (*Sqlite3)(unsafe.Pointer(db)).FpnBytesFreed = bp + 4 /* &nByte */ - for pVdbe = (*Sqlite3)(unsafe.Pointer(db)).FpVdbe; pVdbe != 0; pVdbe = (*Vdbe1)(unsafe.Pointer(pVdbe)).FpNext { - Xsqlite3VdbeClearObject(tls, db, pVdbe) - Xsqlite3DbFree(tls, db, pVdbe) - } - (*Sqlite3)(unsafe.Pointer(db)).FpnBytesFreed = uintptr(0) - - *(*int32)(unsafe.Pointer(pHighwater)) = 0 // IMP: R-64479-57858 - *(*int32)(unsafe.Pointer(pCurrent)) = *(*int32)(unsafe.Pointer(bp + 4 /* nByte */)) - - break - - } - - // Set *pCurrent to the total cache hits or misses encountered by all - // pagers the database handle is connected to. *pHighwater is always set - // to zero. - case SQLITE_DBSTATUS_CACHE_SPILL: - op = (SQLITE_DBSTATUS_CACHE_WRITE + 1) - fallthrough - case SQLITE_DBSTATUS_CACHE_HIT: - fallthrough - case SQLITE_DBSTATUS_CACHE_MISS: - fallthrough - case SQLITE_DBSTATUS_CACHE_WRITE: - { - var i int32 - *(*int32)(unsafe.Pointer(bp + 8 /* nRet */)) = 0 - - for i = 0; i < (*Sqlite3)(unsafe.Pointer(db)).FnDb; i++ { - if (*Db)(unsafe.Pointer((*Sqlite3)(unsafe.Pointer(db)).FaDb+uintptr(i)*32)).FpBt != 0 { - var pPager uintptr = Xsqlite3BtreePager(tls, (*Db)(unsafe.Pointer((*Sqlite3)(unsafe.Pointer(db)).FaDb+uintptr(i)*32)).FpBt) - Xsqlite3PagerCacheStat(tls, pPager, op, resetFlag, bp+8 /* &nRet */) - } - } - *(*int32)(unsafe.Pointer(pHighwater)) = 0 // IMP: R-42420-56072 - // IMP: R-54100-20147 - // IMP: R-29431-39229 - *(*int32)(unsafe.Pointer(pCurrent)) = *(*int32)(unsafe.Pointer(bp + 8 /* nRet */)) - break - - } - - // Set *pCurrent to non-zero if there are unresolved deferred foreign - // key constraints. Set *pCurrent to zero if all foreign key constraints - // have been satisfied. The *pHighwater is always set to zero. - case SQLITE_DBSTATUS_DEFERRED_FKS: - { - *(*int32)(unsafe.Pointer(pHighwater)) = 0 // IMP: R-11967-56545 - *(*int32)(unsafe.Pointer(pCurrent)) = (libc.Bool32(((*Sqlite3)(unsafe.Pointer(db)).FnDeferredImmCons > int64(0)) || ((*Sqlite3)(unsafe.Pointer(db)).FnDeferredCons > int64(0)))) - break - - } - - default: - { - rc = SQLITE_ERROR - - } - } - Xsqlite3_mutex_leave(tls, (*Sqlite3)(unsafe.Pointer(db)).Fmutex) - return rc -} - -//************* End of status.c ********************************************* -//************* Begin file date.c ******************************************* -// 2003 October 31 -// -// 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 the C functions that implement date and time -// functions for SQLite. -// -// There is only one exported symbol in this file - the function -// sqlite3RegisterDateTimeFunctions() found at the bottom of the file. -// All other code has file scope. -// -// SQLite processes all times and dates as julian day numbers. The -// dates and times are stored as the number of days since noon -// in Greenwich on November 24, 4714 B.C. according to the Gregorian -// calendar system. -// -// 1970-01-01 00:00:00 is JD 2440587.5 -// 2000-01-01 00:00:00 is JD 2451544.5 -// -// This implementation requires years to be expressed as a 4-digit number -// which means that only dates between 0000-01-01 and 9999-12-31 can -// be represented, even though julian day numbers allow a much wider -// range of dates. -// -// The Gregorian calendar system is used for all dates and times, -// even those that predate the Gregorian calendar. Historians usually -// use the julian calendar for dates prior to 1582-10-15 and for some -// dates afterwards, depending on locale. Beware of this difference. -// -// The conversion algorithms are implemented based on descriptions -// in the following text: -// -// Jean Meeus -// Astronomical Algorithms, 2nd Edition, 1998 -// ISBN 0-943396-61-1 -// Willmann-Bell, Inc -// Richmond, Virginia (USA) -// #include "sqliteInt.h" -// #include -// #include -// $NetBSD: time.h,v 1.47 2016/10/04 09:41:41 kamil Exp $ - -// Copyright (c) 1989, 1993 +// - +// Copyright (c) 1990, 1993 // The Regents of the University of California. All rights reserved. -// (c) UNIX System Laboratories, Inc. -// All or some portions of this file are derived from material licensed -// to the University of California by American Telephone and Telegraph -// Co. or Unix System Laboratories, Inc. and are reproduced herein with -// the permission of UNIX System Laboratories, Inc. // // Redistribution and use in source and binary forms, with or without // modification, are permitted provided that the following conditions @@ -10342,7 +7405,7 @@ func Xsqlite3_db_status(tls *libc.TLS, db uintptr, op int32, pCurrent uintptr, p // OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF // SUCH DAMAGE. // -// @(#)time.h 8.3 (Berkeley) 1/21/94 +// @(#)stdlib.h 8.5 (Berkeley) 5/19/95 // $NetBSD: cdefs.h,v 1.141 2019/02/21 21:34:05 christos Exp $ @@ -10437,235 +7500,6 @@ func Xsqlite3_db_status(tls *libc.TLS, db uintptr, op int32, pCurrent uintptr, p // _LARGEFILE_SOURCE Large File Support // -// $NetBSD: ansi.h,v 1.11 2019/05/07 03:49:26 kamil Exp $ - -// $NetBSD: common_ansi.h,v 1.1 2014/08/19 07:27:31 matt Exp $ - -// - -// Copyright (c) 2014 The NetBSD Foundation, Inc. -// All rights reserved. -// -// This code is derived from software contributed to The NetBSD Foundation -// by Matt Thomas of 3am Software Foundry. -// -// 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. -// -// THIS SOFTWARE IS PROVIDED BY THE NETBSD FOUNDATION, INC. 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 FOUNDATION 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. - -// $NetBSD: null.h,v 1.9 2010/07/06 11:56:20 kleink Exp $ - -// Written by Klaus Klein , December 22, 1999. -// Public domain. - -type Clock_t = uint32 /* time.h:49:23 */ - -type Time_t = X__int64_t /* time.h:54:22 */ - -type Clockid_t = int32 /* time.h:64:25 */ - -type Timer_t = int32 /* time.h:69:23 */ - -type tm = struct { - Ftm_sec int32 - Ftm_min int32 - Ftm_hour int32 - Ftm_mday int32 - Ftm_mon int32 - Ftm_year int32 - Ftm_wday int32 - Ftm_yday int32 - Ftm_isdst int32 - _ [4]byte - Ftm_gmtoff int64 - Ftm_zone uintptr -} /* time.h:75:1 */ - -// ISO/IEC 9899:201x 7.27.1/3 Components of time -// $NetBSD: timespec.h,v 1.1 2015/07/31 12:51:32 kamil Exp $ - -// Copyright (c) 1982, 1986, 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. 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. -// -// @(#)time.h 8.5 (Berkeley) 5/4/95 -// -// Extracted by Kamil Rytarowski from: -// NetBSD: src/sys/sys/time.h,v 1.69 2015/05/19 23:35:11 riastradh Exp - -// $NetBSD: ansi.h,v 1.14 2011/07/17 20:54:54 joerg Exp $ - -// - -// Copyright (c) 2000, 2001, 2002 The NetBSD Foundation, Inc. -// All rights reserved. -// -// This code is derived from software contributed to The NetBSD Foundation -// by Jun-ichiro itojun Hagino and by Klaus Klein. -// -// 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. -// -// THIS SOFTWARE IS PROVIDED BY THE NETBSD FOUNDATION, INC. 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 FOUNDATION 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. - -type timespec = struct { - Ftv_sec Time_t - Ftv_nsec int64 -} /* timespec.h:47:1 */ - -// $NetBSD: time.h,v 1.79 2017/01/17 15:28:34 maya Exp $ - -// Copyright (c) 1982, 1986, 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. 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. -// -// @(#)time.h 8.5 (Berkeley) 5/4/95 - -// $NetBSD: featuretest.h,v 1.10 2013/04/26 18:29:06 christos Exp $ - -// Written by Klaus Klein , February 2, 1998. -// Public domain. -// -// NOTE: Do not protect this header against multiple inclusion. Doing -// so can have subtle side-effects due to header file inclusion order -// and testing of e.g. _POSIX_SOURCE vs. _POSIX_C_SOURCE. Instead, -// protect each CPP macro that we want to supply. - -// Feature-test macros are defined by several standards, and allow an -// application to specify what symbols they want the system headers to -// expose, and hence what standard they want them to conform to. -// There are two classes of feature-test macros. The first class -// specify complete standards, and if one of these is defined, header -// files will try to conform to the relevant standard. They are: -// -// ANSI macros: -// _ANSI_SOURCE ANSI C89 -// -// POSIX macros: -// _POSIX_SOURCE == 1 IEEE Std 1003.1 (version?) -// _POSIX_C_SOURCE == 1 IEEE Std 1003.1-1990 -// _POSIX_C_SOURCE == 2 IEEE Std 1003.2-1992 -// _POSIX_C_SOURCE == 199309L IEEE Std 1003.1b-1993 -// _POSIX_C_SOURCE == 199506L ISO/IEC 9945-1:1996 -// _POSIX_C_SOURCE == 200112L IEEE Std 1003.1-2001 -// _POSIX_C_SOURCE == 200809L IEEE Std 1003.1-2008 -// -// X/Open macros: -// _XOPEN_SOURCE System Interfaces and Headers, Issue 4, Ver 2 -// _XOPEN_SOURCE_EXTENDED == 1 XSH4.2 UNIX extensions -// _XOPEN_SOURCE == 500 System Interfaces and Headers, Issue 5 -// _XOPEN_SOURCE == 520 Networking Services (XNS), Issue 5.2 -// _XOPEN_SOURCE == 600 IEEE Std 1003.1-2001, XSI option -// _XOPEN_SOURCE == 700 IEEE Std 1003.1-2008, XSI option -// -// NetBSD macros: -// _NETBSD_SOURCE == 1 Make all NetBSD features available. -// -// If more than one of these "major" feature-test macros is defined, -// then the set of facilities provided (and namespace used) is the -// union of that specified by the relevant standards, and in case of -// conflict, the earlier standard in the above list has precedence (so -// if both _POSIX_C_SOURCE and _NETBSD_SOURCE are defined, the version -// of rename() that's used is the POSIX one). If none of the "major" -// feature-test macros is defined, _NETBSD_SOURCE is assumed. -// -// There are also "minor" feature-test macros, which enable extra -// functionality in addition to some base standard. They should be -// defined along with one of the "major" macros. The "minor" macros -// are: -// -// _REENTRANT -// _ISOC99_SOURCE -// _ISOC11_SOURCE -// _LARGEFILE_SOURCE Large File Support -// - -// DO NOT EDIT THIS FILE. -// -// It has been auto-edited by fixincludes from: -// -// "/usr/include/sys/types.h" -// -// This had to be done to correct non-standard usages in the -// original, manufacturer supplied header file. - // $NetBSD: types.h,v 1.102 2018/11/06 16:26:44 maya Exp $ // - @@ -11021,26 +7855,26 @@ type X__cpu_simple_lock_nv_t = uint8 /* types.h:69:24 */ // ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE // POSSIBILITY OF SUCH DAMAGE. -type Int8_t = X__int8_t /* types.h:63:18 */ +type Int8_t = X__int8_t /* types.h:54:18 */ -type Uint8_t = X__uint8_t /* types.h:68:19 */ +type Uint8_t = X__uint8_t /* types.h:59:19 */ -type Int16_t = X__int16_t /* types.h:73:19 */ +type Int16_t = X__int16_t /* types.h:64:19 */ -type Uint16_t = X__uint16_t /* types.h:78:20 */ +type Uint16_t = X__uint16_t /* types.h:69:20 */ -type Int32_t = X__int32_t /* types.h:83:19 */ +type Int32_t = X__int32_t /* types.h:74:19 */ -type Uint32_t = X__uint32_t /* types.h:88:20 */ +type Uint32_t = X__uint32_t /* types.h:79:20 */ -type Int64_t = X__int64_t /* types.h:93:19 */ +type Int64_t = X__int64_t /* types.h:84:19 */ -type Uint64_t = X__uint64_t /* types.h:98:20 */ +type Uint64_t = X__uint64_t /* types.h:89:20 */ -type U_int8_t = Uint8_t /* types.h:102:18 */ -type U_int16_t = Uint16_t /* types.h:103:18 */ -type U_int32_t = Uint32_t /* types.h:104:18 */ -type U_int64_t = Uint64_t /* types.h:105:18 */ +type U_int8_t = Uint8_t /* types.h:93:18 */ +type U_int16_t = Uint16_t /* types.h:94:18 */ +type U_int32_t = Uint32_t /* types.h:95:18 */ +type U_int64_t = Uint64_t /* types.h:96:18 */ // $NetBSD: endian.h,v 1.1 2003/04/26 18:39:40 fvdl Exp $ @@ -11203,15 +8037,6 @@ type U_int64_t = Uint64_t /* types.h:105:18 */ // // @(#)cdefs.h 8.8 (Berkeley) 1/9/95 -// DO NOT EDIT THIS FILE. -// -// It has been auto-edited by fixincludes from: -// -// "/usr/include/sys/types.h" -// -// This had to be done to correct non-standard usages in the -// original, manufacturer supplied header file. - // $NetBSD: types.h,v 1.102 2018/11/06 16:26:44 maya Exp $ // - @@ -11460,9 +8285,19 @@ type Uint_fast64_t = uint64 /* common_int_mwgwtypes.h:62:32 */ type Intmax_t = int64 /* common_int_mwgwtypes.h:66:33 */ type Uintmax_t = uint64 /* common_int_mwgwtypes.h:67:32 */ -type U_quad_t = Uint64_t /* types.h:121:18 */ // quads -type Quad_t = Int64_t /* types.h:122:18 */ -type Qaddr_t = uintptr /* types.h:123:16 */ +type U_char = uint8 /* types.h:101:23 */ +type U_short = uint16 /* types.h:102:24 */ +type U_int = uint32 /* types.h:103:22 */ +type U_long = uint64 /* types.h:104:23 */ + +type Unchar = uint8 /* types.h:106:23 */ // Sys V compatibility +type Ushort = uint16 /* types.h:107:24 */ // Sys V compatibility +type Uint = uint32 /* types.h:108:22 */ // Sys V compatibility +type Ulong = uint64 /* types.h:109:23 */ // Sys V compatibility + +type U_quad_t = Uint64_t /* types.h:112:18 */ // quads +type Quad_t = Int64_t /* types.h:113:18 */ +type Qaddr_t = uintptr /* types.h:114:16 */ // The types longlong_t and u_longlong_t exist for use with the // Sun-derived XDR routines involving these types, and their usage @@ -11472,405 +8307,65 @@ type Qaddr_t = uintptr /* types.h:123:16 */ // respectively. Portable programs that need 64-bit types should use // the C99 types int64_t and uint64_t instead. -type Longlong_t = Int64_t /* types.h:135:18 */ // for XDR -type U_longlong_t = Uint64_t /* types.h:136:18 */ // for XDR +type Longlong_t = Int64_t /* types.h:126:18 */ // for XDR +type U_longlong_t = Uint64_t /* types.h:127:18 */ // for XDR -type Blkcnt_t = Int64_t /* types.h:138:18 */ // fs block count -type Blksize_t = Int32_t /* types.h:139:18 */ // fs optimal block size +type Blkcnt_t = Int64_t /* types.h:129:18 */ // fs block count +type Blksize_t = Int32_t /* types.h:130:18 */ // fs optimal block size -type Fsblkcnt_t = X__fsblkcnt_t /* types.h:142:22 */ // fs block count (statvfs) +type Fsblkcnt_t = X__fsblkcnt_t /* types.h:133:22 */ // fs block count (statvfs) -type Fsfilcnt_t = X__fsfilcnt_t /* types.h:147:22 */ // fs file count +type Fsfilcnt_t = X__fsfilcnt_t /* types.h:138:22 */ // fs file count // We don't and shouldn't use caddr_t in the kernel anymore -type Caddr_t = X__caddr_t /* types.h:154:19 */ // core address +type Caddr_t = X__caddr_t /* types.h:145:19 */ // core address -type Daddr_t = Int64_t /* types.h:163:18 */ // disk address +type Daddr_t = Int64_t /* types.h:154:18 */ // disk address -type Dev_t = Uint64_t /* types.h:166:18 */ // device number -type Fixpt_t = Uint32_t /* types.h:167:18 */ // fixed point number +type Dev_t = Uint64_t /* types.h:157:18 */ // device number +type Fixpt_t = Uint32_t /* types.h:158:18 */ // fixed point number -type Gid_t = X__gid_t /* types.h:170:18 */ // group id +type Gid_t = X__gid_t /* types.h:161:18 */ // group id -type Id_t = Uint32_t /* types.h:174:18 */ // group id, process id or user id -type Ino_t = Uint64_t /* types.h:175:18 */ // inode number -type Key_t = int64 /* types.h:176:15 */ // IPC key (for Sys V IPC) +type Id_t = Uint32_t /* types.h:165:18 */ // group id, process id or user id +type Ino_t = Uint64_t /* types.h:166:18 */ // inode number +type Key_t = int64 /* types.h:167:15 */ // IPC key (for Sys V IPC) -type Mode_t = X__mode_t /* types.h:179:18 */ // permissions +type Mode_t = X__mode_t /* types.h:170:18 */ // permissions -type Nlink_t = Uint32_t /* types.h:183:18 */ // link count +type Nlink_t = Uint32_t /* types.h:174:18 */ // link count -type Pid_t = X__pid_t /* types.h:191:18 */ // process id -type Lwpid_t = Int32_t /* types.h:194:18 */ // LWP id -type Rlim_t = Uint64_t /* types.h:195:18 */ // resource limit -type Segsz_t = Int32_t /* types.h:196:18 */ // segment size -type Swblk_t = Int32_t /* types.h:197:18 */ // swap offset +type Pid_t = X__pid_t /* types.h:182:18 */ // process id +type Lwpid_t = Int32_t /* types.h:185:18 */ // LWP id +type Rlim_t = Uint64_t /* types.h:186:18 */ // resource limit +type Segsz_t = Int32_t /* types.h:187:18 */ // segment size +type Swblk_t = Int32_t /* types.h:188:18 */ // swap offset -type Uid_t = X__uid_t /* types.h:200:18 */ // user id +type Uid_t = X__uid_t /* types.h:191:18 */ // user id -type Mqd_t = int32 /* types.h:204:14 */ +type Mqd_t = int32 /* types.h:195:14 */ -type Cpuid_t = uint64 /* types.h:206:23 */ +type Cpuid_t = uint64 /* types.h:197:23 */ -type Psetid_t = int32 /* types.h:208:14 */ +type Psetid_t = int32 /* types.h:199:14 */ -type X__cpu_simple_lock_t = X__cpu_simple_lock_nv_t /* types.h:210:41 */ +type X__cpu_simple_lock_t = X__cpu_simple_lock_nv_t /* types.h:201:41 */ -// These belong in unistd.h, but are placed here too to ensure that -// long arguments will be promoted to off_t if the program fails to -// include that header or explicitly cast them to off_t. +// Major, minor numbers, dev_t's. +type X__devmajor_t = Int32_t /* types.h:255:17 */ +type X__devminor_t = Int32_t /* types.h:255:31 */ -type Suseconds_t = int32 /* types.h:321:27 */ +type Clock_t = uint32 /* types.h:268:24 */ -type Useconds_t = uint32 /* types.h:326:26 */ +type Time_t = X__int64_t /* types.h:289:23 */ -// $NetBSD: pthread_types.h,v 1.23 2017/09/09 23:21:45 kamil Exp $ +type Clockid_t = int32 /* types.h:294:26 */ -// - -// Copyright (c) 2001, 2008 The NetBSD Foundation, Inc. -// All rights reserved. -// -// This code is derived from software contributed to The NetBSD Foundation -// by Nathan J. Williams. -// -// 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. -// -// THIS SOFTWARE IS PROVIDED BY THE NETBSD FOUNDATION, INC. 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 FOUNDATION 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. +type Timer_t = int32 /* types.h:299:24 */ -// We use the "pthread_spin_t" name internally; "pthread_spinlock_t" is the -// POSIX spinlock object. -// -// C++ expects to be using PTHREAD_FOO_INITIALIZER as a member initializer. -// This does not work for volatile types. Since C++ does not touch the guts -// of those types, we do not include volatile in the C++ definitions. -type Pthread_spin_t = X__cpu_simple_lock_t /* pthread_types.h:43:29 */ -type X__pthread_spin_t = Pthread_spin_t /* pthread_types.h:48:24 */ +type Suseconds_t = int32 /* types.h:304:27 */ -// Copied from PTQ_HEAD in pthread_queue.h - -type pthread_queue_struct_t = struct { - Fptqh_first uintptr - Fptqh_last uintptr -} /* pthread_types.h:61:1 */ - -type Pthread_queue_t = pthread_queue_struct_t /* pthread_types.h:62:39 */ -type __pthread_attr_st = struct { - Fpta_magic uint32 - Fpta_flags int32 - Fpta_private uintptr -} /* pthread_types.h:65:1 */ - -type __pthread_mutex_st = struct { - Fptm_magic uint32 - Fptm_errorcheck X__pthread_spin_t - Fptm_pad1 [3]Uint8_t - F__8 struct{ Fptm_ceiling uint8 } - Fptm_pad2 [3]Uint8_t - _ [4]byte - Fptm_owner Pthread_t - Fptm_waiters uintptr - Fptm_recursed uint32 - _ [4]byte - Fptm_spare2 uintptr -} /* pthread_types.h:66:1 */ - -type __pthread_mutexattr_st = struct { - Fptma_magic uint32 - _ [4]byte - Fptma_private uintptr -} /* pthread_types.h:67:1 */ - -type __pthread_cond_st = struct { - Fptc_magic uint32 - Fptc_lock X__pthread_spin_t - _ [3]byte - Fptc_waiters Pthread_queue_t - Fptc_mutex uintptr - Fptc_private uintptr -} /* pthread_types.h:68:1 */ - -type __pthread_condattr_st = struct { - Fptca_magic uint32 - _ [4]byte - Fptca_private uintptr -} /* pthread_types.h:69:1 */ - -type __pthread_rwlock_st = struct { - Fptr_magic uint32 - Fptr_interlock X__pthread_spin_t - _ [3]byte - Fptr_rblocked Pthread_queue_t - Fptr_wblocked Pthread_queue_t - Fptr_nreaders uint32 - _ [4]byte - Fptr_owner Pthread_t - Fptr_private uintptr -} /* pthread_types.h:71:1 */ - -type __pthread_rwlockattr_st = struct { - Fptra_magic uint32 - _ [4]byte - Fptra_private uintptr -} /* pthread_types.h:72:1 */ - -type __pthread_barrier_st = struct { - Fptb_magic uint32 - Fptb_lock Pthread_spin_t - _ [3]byte - Fptb_waiters Pthread_queue_t - Fptb_initcount uint32 - Fptb_curcount uint32 - Fptb_generation uint32 - _ [4]byte - Fptb_private uintptr -} /* pthread_types.h:73:1 */ - -type __pthread_barrierattr_st = struct { - Fptba_magic uint32 - _ [4]byte - Fptba_private uintptr -} /* pthread_types.h:74:1 */ - -type Pthread_t = uintptr /* pthread_types.h:76:29 */ -type Pthread_attr_t = __pthread_attr_st /* pthread_types.h:77:34 */ -type Pthread_mutex_t = __pthread_mutex_st /* pthread_types.h:78:35 */ -type Pthread_mutexattr_t = __pthread_mutexattr_st /* pthread_types.h:79:39 */ -type Pthread_cond_t = __pthread_cond_st /* pthread_types.h:80:34 */ -type Pthread_condattr_t = __pthread_condattr_st /* pthread_types.h:81:38 */ -type __pthread_once_st = struct { - Fpto_mutex Pthread_mutex_t - Fpto_done int32 - _ [4]byte -} /* pthread_types.h:82:9 */ - -type Pthread_once_t = __pthread_once_st /* pthread_types.h:82:34 */ -type __pthread_spinlock_st = struct { - Fpts_magic uint32 - Fpts_spin X__pthread_spin_t - _ [3]byte - Fpts_flags int32 -} /* pthread_types.h:83:9 */ - -type Pthread_spinlock_t = __pthread_spinlock_st /* pthread_types.h:83:38 */ -type Pthread_rwlock_t = __pthread_rwlock_st /* pthread_types.h:84:36 */ -type Pthread_rwlockattr_t = __pthread_rwlockattr_st /* pthread_types.h:85:40 */ -type Pthread_barrier_t = __pthread_barrier_st /* pthread_types.h:86:37 */ -type Pthread_barrierattr_t = __pthread_barrierattr_st /* pthread_types.h:87:41 */ -type Pthread_key_t = int32 /* pthread_types.h:88:13 */ - -// Structure returned by gettimeofday(2) system call, -// and used in other calls. -type timeval = struct { - Ftv_sec Time_t - Ftv_usec Suseconds_t - _ [4]byte -} /* time.h:44:1 */ - -// $NetBSD: timespec.h,v 1.1 2015/07/31 12:51:32 kamil Exp $ - -// Copyright (c) 1982, 1986, 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. 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. -// -// @(#)time.h 8.5 (Berkeley) 5/4/95 -// -// Extracted by Kamil Rytarowski from: -// NetBSD: src/sys/sys/time.h,v 1.69 2015/05/19 23:35:11 riastradh Exp - -// Names of the interval timers, and structure -// defining a timer setting. -// NB: Must match the CLOCK_ constants below. - -type itimerval = struct { - Fit_interval struct { - Ftv_sec Time_t - Ftv_usec Suseconds_t - _ [4]byte - } - Fit_value struct { - Ftv_sec Time_t - Ftv_usec Suseconds_t - _ [4]byte - } -} /* time.h:280:1 */ - -// Structure defined by POSIX.1b to be like a itimerval, but with -// timespecs. Used in the timer_*() system calls. -type itimerspec = struct { - Fit_interval struct { - Ftv_sec Time_t - Ftv_nsec int64 - } - Fit_value struct { - Ftv_sec Time_t - Ftv_nsec int64 - } -} /* time.h:289:1 */ - -// $NetBSD: select.h,v 1.37 2014/04/25 15:52:45 pooka Exp $ - -// - -// Copyright (c) 1992, 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. 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. -// -// @(#)select.h 8.2 (Berkeley) 1/4/94 - -// $NetBSD: cdefs.h,v 1.141 2019/02/21 21:34:05 christos Exp $ - -// * 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. 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 - -// $NetBSD: featuretest.h,v 1.10 2013/04/26 18:29:06 christos Exp $ - -// Written by Klaus Klein , February 2, 1998. -// Public domain. -// -// NOTE: Do not protect this header against multiple inclusion. Doing -// so can have subtle side-effects due to header file inclusion order -// and testing of e.g. _POSIX_SOURCE vs. _POSIX_C_SOURCE. Instead, -// protect each CPP macro that we want to supply. - -// Feature-test macros are defined by several standards, and allow an -// application to specify what symbols they want the system headers to -// expose, and hence what standard they want them to conform to. -// There are two classes of feature-test macros. The first class -// specify complete standards, and if one of these is defined, header -// files will try to conform to the relevant standard. They are: -// -// ANSI macros: -// _ANSI_SOURCE ANSI C89 -// -// POSIX macros: -// _POSIX_SOURCE == 1 IEEE Std 1003.1 (version?) -// _POSIX_C_SOURCE == 1 IEEE Std 1003.1-1990 -// _POSIX_C_SOURCE == 2 IEEE Std 1003.2-1992 -// _POSIX_C_SOURCE == 199309L IEEE Std 1003.1b-1993 -// _POSIX_C_SOURCE == 199506L ISO/IEC 9945-1:1996 -// _POSIX_C_SOURCE == 200112L IEEE Std 1003.1-2001 -// _POSIX_C_SOURCE == 200809L IEEE Std 1003.1-2008 -// -// X/Open macros: -// _XOPEN_SOURCE System Interfaces and Headers, Issue 4, Ver 2 -// _XOPEN_SOURCE_EXTENDED == 1 XSH4.2 UNIX extensions -// _XOPEN_SOURCE == 500 System Interfaces and Headers, Issue 5 -// _XOPEN_SOURCE == 520 Networking Services (XNS), Issue 5.2 -// _XOPEN_SOURCE == 600 IEEE Std 1003.1-2001, XSI option -// _XOPEN_SOURCE == 700 IEEE Std 1003.1-2008, XSI option -// -// NetBSD macros: -// _NETBSD_SOURCE == 1 Make all NetBSD features available. -// -// If more than one of these "major" feature-test macros is defined, -// then the set of facilities provided (and namespace used) is the -// union of that specified by the relevant standards, and in case of -// conflict, the earlier standard in the above list has precedence (so -// if both _POSIX_C_SOURCE and _NETBSD_SOURCE are defined, the version -// of rename() that's used is the POSIX one). If none of the "major" -// feature-test macros is defined, _NETBSD_SOURCE is assumed. -// -// There are also "minor" feature-test macros, which enable extra -// functionality in addition to some base standard. They should be -// defined along with one of the "major" macros. The "minor" macros -// are: -// -// _REENTRANT -// _ISOC99_SOURCE -// _ISOC11_SOURCE -// _LARGEFILE_SOURCE Large File Support -// +type Useconds_t = uint32 /* types.h:309:26 */ // $NetBSD: fd_set.h,v 1.7 2018/06/24 12:05:40 kamil Exp $ @@ -12050,6 +8545,3799 @@ type Fd_set = fd_set /* fd_set.h:68:3 */ // Expose our internals if we are not required to hide them. +type Kauth_cred_t = uintptr /* types.h:318:27 */ + +type Pri_t = int32 /* types.h:320:13 */ + +// $NetBSD: pthread_types.h,v 1.23 2017/09/09 23:21:45 kamil Exp $ + +// - +// Copyright (c) 2001, 2008 The NetBSD Foundation, Inc. +// All rights reserved. +// +// This code is derived from software contributed to The NetBSD Foundation +// by Nathan J. Williams. +// +// 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. +// +// THIS SOFTWARE IS PROVIDED BY THE NETBSD FOUNDATION, INC. 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 FOUNDATION 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. + +// We use the "pthread_spin_t" name internally; "pthread_spinlock_t" is the +// POSIX spinlock object. +// +// C++ expects to be using PTHREAD_FOO_INITIALIZER as a member initializer. +// This does not work for volatile types. Since C++ does not touch the guts +// of those types, we do not include volatile in the C++ definitions. +type Pthread_spin_t = X__cpu_simple_lock_t /* pthread_types.h:43:29 */ +type X__pthread_spin_t = Pthread_spin_t /* pthread_types.h:48:24 */ + +// Copied from PTQ_HEAD in pthread_queue.h + +type pthread_queue_struct_t = struct { + Fptqh_first uintptr + Fptqh_last uintptr +} /* pthread_types.h:61:1 */ + +type Pthread_queue_t = pthread_queue_struct_t /* pthread_types.h:62:39 */ +type __pthread_attr_st = struct { + Fpta_magic uint32 + Fpta_flags int32 + Fpta_private uintptr +} /* pthread_types.h:65:1 */ + +type __pthread_mutex_st = struct { + Fptm_magic uint32 + Fptm_errorcheck X__pthread_spin_t + Fptm_pad1 [3]Uint8_t + F__8 struct{ Fptm_ceiling uint8 } + Fptm_pad2 [3]Uint8_t + F__ccgo_pad1 [4]byte + Fptm_owner Pthread_t + Fptm_waiters uintptr + Fptm_recursed uint32 + F__ccgo_pad2 [4]byte + Fptm_spare2 uintptr +} /* pthread_types.h:66:1 */ + +type __pthread_mutexattr_st = struct { + Fptma_magic uint32 + F__ccgo_pad1 [4]byte + Fptma_private uintptr +} /* pthread_types.h:67:1 */ + +type __pthread_cond_st = struct { + Fptc_magic uint32 + Fptc_lock X__pthread_spin_t + F__ccgo_pad1 [3]byte + Fptc_waiters Pthread_queue_t + Fptc_mutex uintptr + Fptc_private uintptr +} /* pthread_types.h:68:1 */ + +type __pthread_condattr_st = struct { + Fptca_magic uint32 + F__ccgo_pad1 [4]byte + Fptca_private uintptr +} /* pthread_types.h:69:1 */ + +type __pthread_rwlock_st = struct { + Fptr_magic uint32 + Fptr_interlock X__pthread_spin_t + F__ccgo_pad1 [3]byte + Fptr_rblocked Pthread_queue_t + Fptr_wblocked Pthread_queue_t + Fptr_nreaders uint32 + F__ccgo_pad2 [4]byte + Fptr_owner Pthread_t + Fptr_private uintptr +} /* pthread_types.h:71:1 */ + +type __pthread_rwlockattr_st = struct { + Fptra_magic uint32 + F__ccgo_pad1 [4]byte + Fptra_private uintptr +} /* pthread_types.h:72:1 */ + +type __pthread_barrier_st = struct { + Fptb_magic uint32 + Fptb_lock Pthread_spin_t + F__ccgo_pad1 [3]byte + Fptb_waiters Pthread_queue_t + Fptb_initcount uint32 + Fptb_curcount uint32 + Fptb_generation uint32 + F__ccgo_pad2 [4]byte + Fptb_private uintptr +} /* pthread_types.h:73:1 */ + +type __pthread_barrierattr_st = struct { + Fptba_magic uint32 + F__ccgo_pad1 [4]byte + Fptba_private uintptr +} /* pthread_types.h:74:1 */ + +type Pthread_t = uintptr /* pthread_types.h:76:29 */ +type Pthread_attr_t = __pthread_attr_st /* pthread_types.h:77:34 */ +type Pthread_mutex_t = __pthread_mutex_st /* pthread_types.h:78:35 */ +type Pthread_mutexattr_t = __pthread_mutexattr_st /* pthread_types.h:79:39 */ +type Pthread_cond_t = __pthread_cond_st /* pthread_types.h:80:34 */ +type Pthread_condattr_t = __pthread_condattr_st /* pthread_types.h:81:38 */ +type __pthread_once_st = struct { + Fpto_mutex Pthread_mutex_t + Fpto_done int32 + F__ccgo_pad1 [4]byte +} /* pthread_types.h:82:9 */ + +type Pthread_once_t = __pthread_once_st /* pthread_types.h:82:34 */ +type __pthread_spinlock_st = struct { + Fpts_magic uint32 + Fpts_spin X__pthread_spin_t + F__ccgo_pad1 [3]byte + Fpts_flags int32 +} /* pthread_types.h:83:9 */ + +type Pthread_spinlock_t = __pthread_spinlock_st /* pthread_types.h:83:38 */ +type Pthread_rwlock_t = __pthread_rwlock_st /* pthread_types.h:84:36 */ +type Pthread_rwlockattr_t = __pthread_rwlockattr_st /* pthread_types.h:85:40 */ +type Pthread_barrier_t = __pthread_barrier_st /* pthread_types.h:86:37 */ +type Pthread_barrierattr_t = __pthread_barrierattr_st /* pthread_types.h:87:41 */ +type Pthread_key_t = int32 /* pthread_types.h:88:13 */ + +type Div_t = struct { + Fquot int32 + Frem int32 +} /* stdlib.h:59:3 */ + +type Ldiv_t = struct { + Fquot int64 + Frem int64 +} /* stdlib.h:64:3 */ + +type Lldiv_t = struct { + Fquot int64 + Frem int64 +} /* stdlib.h:74:3 */ + +type Qdiv_t = struct { + Fquot Quad_t + Frem Quad_t +} /* stdlib.h:81:3 */ + +// $NetBSD: stddef.h,v 1.20 2016/03/20 16:26:06 christos Exp $ + +// - +// 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. 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. +// +// @(#)stddef.h 8.1 (Berkeley) 6/2/93 + +// $NetBSD: cdefs.h,v 1.141 2019/02/21 21:34:05 christos Exp $ + +// * 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. 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 + +// $NetBSD: featuretest.h,v 1.10 2013/04/26 18:29:06 christos Exp $ + +// Written by Klaus Klein , February 2, 1998. +// Public domain. +// +// NOTE: Do not protect this header against multiple inclusion. Doing +// so can have subtle side-effects due to header file inclusion order +// and testing of e.g. _POSIX_SOURCE vs. _POSIX_C_SOURCE. Instead, +// protect each CPP macro that we want to supply. + +// Feature-test macros are defined by several standards, and allow an +// application to specify what symbols they want the system headers to +// expose, and hence what standard they want them to conform to. +// There are two classes of feature-test macros. The first class +// specify complete standards, and if one of these is defined, header +// files will try to conform to the relevant standard. They are: +// +// ANSI macros: +// _ANSI_SOURCE ANSI C89 +// +// POSIX macros: +// _POSIX_SOURCE == 1 IEEE Std 1003.1 (version?) +// _POSIX_C_SOURCE == 1 IEEE Std 1003.1-1990 +// _POSIX_C_SOURCE == 2 IEEE Std 1003.2-1992 +// _POSIX_C_SOURCE == 199309L IEEE Std 1003.1b-1993 +// _POSIX_C_SOURCE == 199506L ISO/IEC 9945-1:1996 +// _POSIX_C_SOURCE == 200112L IEEE Std 1003.1-2001 +// _POSIX_C_SOURCE == 200809L IEEE Std 1003.1-2008 +// +// X/Open macros: +// _XOPEN_SOURCE System Interfaces and Headers, Issue 4, Ver 2 +// _XOPEN_SOURCE_EXTENDED == 1 XSH4.2 UNIX extensions +// _XOPEN_SOURCE == 500 System Interfaces and Headers, Issue 5 +// _XOPEN_SOURCE == 520 Networking Services (XNS), Issue 5.2 +// _XOPEN_SOURCE == 600 IEEE Std 1003.1-2001, XSI option +// _XOPEN_SOURCE == 700 IEEE Std 1003.1-2008, XSI option +// +// NetBSD macros: +// _NETBSD_SOURCE == 1 Make all NetBSD features available. +// +// If more than one of these "major" feature-test macros is defined, +// then the set of facilities provided (and namespace used) is the +// union of that specified by the relevant standards, and in case of +// conflict, the earlier standard in the above list has precedence (so +// if both _POSIX_C_SOURCE and _NETBSD_SOURCE are defined, the version +// of rename() that's used is the POSIX one). If none of the "major" +// feature-test macros is defined, _NETBSD_SOURCE is assumed. +// +// There are also "minor" feature-test macros, which enable extra +// functionality in addition to some base standard. They should be +// defined along with one of the "major" macros. The "minor" macros +// are: +// +// _REENTRANT +// _ISOC99_SOURCE +// _ISOC11_SOURCE +// _LARGEFILE_SOURCE Large File Support +// + +// $NetBSD: ansi.h,v 1.11 2019/05/07 03:49:26 kamil Exp $ + +// $NetBSD: common_ansi.h,v 1.1 2014/08/19 07:27:31 matt Exp $ + +// - +// Copyright (c) 2014 The NetBSD Foundation, Inc. +// All rights reserved. +// +// This code is derived from software contributed to The NetBSD Foundation +// by Matt Thomas of 3am Software Foundry. +// +// 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. +// +// THIS SOFTWARE IS PROVIDED BY THE NETBSD FOUNDATION, INC. 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 FOUNDATION 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. + +// $NetBSD: null.h,v 1.9 2010/07/06 11:56:20 kleink Exp $ + +// Written by Klaus Klein , December 22, 1999. +// Public domain. + +type Max_align_t = struct{ F_v uintptr } /* stddef.h:75:3 */ + +// Use a macro to replace memcpy() if compiled with SQLITE_INLINE_MEMCPY. +// This allows better measurements of where memcpy() is used when running +// cachegrind. But this macro version of memcpy() is very slow so it +// should not be used in production. This is a performance measurement +// hack only. + +// If compiling for a processor that lacks floating point support, +// substitute integer for floating-point + +// OMIT_TEMPDB is set to 1 if SQLITE_OMIT_TEMPDB is defined, or 0 +// afterward. Having this macro allows us to cause the C compiler +// to omit code used by TEMP tables without messy #ifndef statements. + +// The "file format" number is an integer that is incremented whenever +// the VDBE-level file format changes. The following macros define the +// the default file format for new databases and the maximum file format +// that the library can read. + +// Determine whether triggers are recursive by default. This can be +// changed at run-time using a pragma. + +// Provide a default value for SQLITE_TEMP_STORE in case it is not specified +// on the command-line + +// If no value has been provided for SQLITE_MAX_WORKER_THREADS, or if +// SQLITE_TEMP_STORE is set to 3 (never use temporary files), set it +// to zero. + +// The default initial allocation for the pagecache when using separate +// pagecaches for each database connection. A positive number is the +// number of pages. A negative number N translations means that a buffer +// of -1024*N bytes is allocated and used for as many pages as it will hold. +// +// The default value of "20" was choosen to minimize the run-time of the +// speedtest1 test program with options: --shrink-memory --reprepare + +// Default value for the SQLITE_CONFIG_SORTERREF_SIZE option. + +// The compile-time options SQLITE_MMAP_READWRITE and +// SQLITE_ENABLE_BATCH_ATOMIC_WRITE are not compatible with one another. +// You must choose one or the other (or neither) but not both. + +// GCC does not define the offsetof() macro so we'll have to do it +// ourselves. + +// Macros to compute minimum and maximum of two numbers. + +// Swap two objects of type TYPE. + +// Check to see if this machine uses EBCDIC. (Yes, believe it or +// not, there are still machines out there that use EBCDIC.) + +// Integers of known sizes. These typedefs might change for architectures +// where the sizes very. Preprocessor macros are available so that the +// types can be conveniently redefined at compile-type. Like this: +// +// cc '-DUINTPTR_TYPE=long long int' ... +type I64 = Sqlite_int64 /* sqlite3.c:14542:22 */ // 8-byte signed integer +type U64 = Sqlite_uint64 /* sqlite3.c:14543:23 */ // 8-byte unsigned integer +type U32 = uint32 /* sqlite3.c:14544:21 */ // 4-byte unsigned integer +type U16 = uint16 /* sqlite3.c:14545:21 */ // 2-byte unsigned integer +type I16 = int16 /* sqlite3.c:14546:20 */ // 2-byte signed integer +type U8 = uint8 /* sqlite3.c:14547:20 */ // 1-byte unsigned integer +type I8 = int8 /* sqlite3.c:14548:19 */ // 1-byte signed integer + +// SQLITE_MAX_U32 is a u64 constant that is the maximum u64 value +// that can be stored in a u32 without loss of data. The value +// is 0x00000000ffffffff. But because of quirks of some compilers, we +// have to specify the value in the less intuitive manner shown: + +// The datatype used to store estimates of the number of rows in a +// table or index. This is an unsigned integer type. For 99.9% of +// the world, a 32-bit integer is sufficient. But a 64-bit integer +// can be used at compile-time if desired. +type TRowcnt = U32 /* sqlite3.c:14567:14 */ // 32-bit is the default + +// Estimated quantities used for query planning are stored as 16-bit +// logarithms. For quantity X, the value stored is 10*log2(X). This +// gives a possible range of values of approximately 1.0e986 to 1e-986. +// But the allowed values are "grainy". Not every value is representable. +// For example, quantities 16 and 17 are both represented by a LogEst +// of 40. However, since LogEst quantities are suppose to be estimates, +// not exact values, this imprecision is not a problem. +// +// "LogEst" is short for "Logarithmic Estimate". +// +// Examples: +// 1 -> 0 20 -> 43 10000 -> 132 +// 2 -> 10 25 -> 46 25000 -> 146 +// 3 -> 16 100 -> 66 1000000 -> 199 +// 4 -> 20 1000 -> 99 1048576 -> 200 +// 10 -> 33 1024 -> 100 4294967296 -> 320 +// +// The LogEst can be negative to indicate fractional values. +// Examples: +// +// 0.5 -> -10 0.1 -> -33 0.0625 -> -40 +type LogEst = int16 /* sqlite3.c:14593:20 */ + +// Set the SQLITE_PTRSIZE macro to the number of bytes in a pointer + +// The uptr type is an unsigned integer large enough to hold a pointer +type Uptr = U64 /* sqlite3.c:14617:15 */ + +// An instance of the following structure is used to store the busy-handler +// callback for a given sqlite handle. +// +// The sqlite.busyHandler member of the sqlite struct contains the busy +// callback for the database handle. Each pager opened via the sqlite +// handle is passed a pointer to sqlite.busyHandler. The busy-handler +// callback is currently invoked only from within pager.c. +type BusyHandler1 = struct { + FxBusyHandler uintptr + FpBusyArg uintptr + FnBusy int32 + F__ccgo_pad1 [4]byte +} /* sqlite3.c:1331:9 */ + +// An instance of the following structure is used to store the busy-handler +// callback for a given sqlite handle. +// +// The sqlite.busyHandler member of the sqlite struct contains the busy +// callback for the database handle. Each pager opened via the sqlite +// handle is passed a pointer to sqlite.busyHandler. The busy-handler +// callback is currently invoked only from within pager.c. +type BusyHandler = BusyHandler1 /* sqlite3.c:14788:28 */ + +// Name of table that holds the database schema. + +// The root-page of the schema table. + +// The name of the schema table. The name is different for TEMP. + +// A convenience macro that returns the number of elements in +// an array. + +// Determine if the argument is a power of two + +// The following value as a destructor means to use sqlite3DbFree(). +// The sqlite3DbFree() routine requires two parameters instead of the +// one parameter that destructors normally want. So we have to introduce +// this magic value that the code knows to handle differently. Any +// pointer will work here as long as it is distinct from SQLITE_STATIC +// and SQLITE_TRANSIENT. + +// When SQLITE_OMIT_WSD is defined, it means that the target platform does +// not support Writable Static Data (WSD) such as global and static variables. +// All variables must either be on the stack or dynamically allocated from +// the heap. When WSD is unsupported, the variable declarations scattered +// throughout the SQLite code must become constants instead. The SQLITE_WSD +// macro is used for this purpose. And instead of referencing the variable +// directly, we use its constant as a key to lookup the run-time allocated +// buffer that holds real variable. The constant is also the initializer +// for the run-time allocated buffer. +// +// In the usual case where WSD is supported, the SQLITE_WSD and GLOBAL +// macros become no-ops and have zero performance impact. + +// The following macros are used to suppress compiler warnings and to +// make it clear to human readers when a function parameter is deliberately +// left unused within the body of a function. This usually happens when +// a function is called via a function pointer. For example the +// implementation of an SQL aggregate step callback may not use the +// parameter indicating the number of arguments passed to the aggregate, +// if it knows that this is enforced elsewhere. +// +// When a function parameter is not used at all within the body of a function, +// it is generally named "NotUsed" or "NotUsed2" to make things even clearer. +// However, these macros may also be used to suppress warnings related to +// parameters that may or may not be used depending on compilation options. +// For example those parameters only used in assert() statements. In these +// cases the parameters are named as per the usual conventions. + +// Forward references to structures +type AggInfo1 = struct { + FdirectMode U8 + FuseSortingIdx U8 + F__ccgo_pad1 [2]byte + FsortingIdx int32 + FsortingIdxPTab int32 + FnSortingColumn int32 + FmnReg int32 + FmxReg int32 + FpGroupBy uintptr + FaCol uintptr + FnColumn int32 + FnAccumulator int32 + FaFunc uintptr + FnFunc int32 + FselId U32 +} /* sqlite3.c:1331:9 */ + +// Name of table that holds the database schema. + +// The root-page of the schema table. + +// The name of the schema table. The name is different for TEMP. + +// A convenience macro that returns the number of elements in +// an array. + +// Determine if the argument is a power of two + +// The following value as a destructor means to use sqlite3DbFree(). +// The sqlite3DbFree() routine requires two parameters instead of the +// one parameter that destructors normally want. So we have to introduce +// this magic value that the code knows to handle differently. Any +// pointer will work here as long as it is distinct from SQLITE_STATIC +// and SQLITE_TRANSIENT. + +// When SQLITE_OMIT_WSD is defined, it means that the target platform does +// not support Writable Static Data (WSD) such as global and static variables. +// All variables must either be on the stack or dynamically allocated from +// the heap. When WSD is unsupported, the variable declarations scattered +// throughout the SQLite code must become constants instead. The SQLITE_WSD +// macro is used for this purpose. And instead of referencing the variable +// directly, we use its constant as a key to lookup the run-time allocated +// buffer that holds real variable. The constant is also the initializer +// for the run-time allocated buffer. +// +// In the usual case where WSD is supported, the SQLITE_WSD and GLOBAL +// macros become no-ops and have zero performance impact. + +// The following macros are used to suppress compiler warnings and to +// make it clear to human readers when a function parameter is deliberately +// left unused within the body of a function. This usually happens when +// a function is called via a function pointer. For example the +// implementation of an SQL aggregate step callback may not use the +// parameter indicating the number of arguments passed to the aggregate, +// if it knows that this is enforced elsewhere. +// +// When a function parameter is not used at all within the body of a function, +// it is generally named "NotUsed" or "NotUsed2" to make things even clearer. +// However, these macros may also be used to suppress warnings related to +// parameters that may or may not be used depending on compilation options. +// For example those parameters only used in assert() statements. In these +// cases the parameters are named as per the usual conventions. + +// Forward references to structures +type AggInfo = AggInfo1 /* sqlite3.c:14884:24 */ +type AuthContext1 = struct { + FzAuthContext uintptr + FpParse uintptr +} /* sqlite3.c:14885:9 */ + +type AuthContext = AuthContext1 /* sqlite3.c:14885:28 */ +type AutoincInfo1 = struct { + FpNext uintptr + FpTab uintptr + FiDb int32 + FregCtr int32 +} /* sqlite3.c:1331:9 */ + +type AutoincInfo = AutoincInfo1 /* sqlite3.c:14886:28 */ +type Bitvec1 = struct { + FiSize U32 + FnSet U32 + FiDivisor U32 + F__ccgo_pad1 [4]byte + Fu struct { + F__ccgo_pad1 [0]uint64 + FaBitmap [496]U8 + } +} /* sqlite3.c:1331:9 */ + +type Bitvec = Bitvec1 /* sqlite3.c:14887:23 */ +type CollSeq1 = struct { + FzName uintptr + Fenc U8 + F__ccgo_pad1 [7]byte + FpUser uintptr + FxCmp uintptr + FxDel uintptr +} /* sqlite3.c:1331:9 */ + +type CollSeq = CollSeq1 /* sqlite3.c:14888:24 */ +type Column1 = struct { + FzName uintptr + FpDflt uintptr + FzColl uintptr + FnotNull U8 + Faffinity int8 + FszEst U8 + FhName U8 + FcolFlags U16 + F__ccgo_pad1 [2]byte +} /* sqlite3.c:1331:9 */ + +type Column = Column1 /* sqlite3.c:14889:23 */ +type Cte1 = struct { + FzName uintptr + FpCols uintptr + FpSelect uintptr + FzCteErr uintptr + FpUse uintptr + FeM10d U8 + F__ccgo_pad1 [7]byte +} /* sqlite3.c:1331:9 */ + +type Cte = Cte1 /* sqlite3.c:14890:20 */ +type CteUse1 = struct { + FnUse int32 + FaddrM9e int32 + FregRtn int32 + FiCur int32 + FnRowEst LogEst + FeM10d U8 + F__ccgo_pad1 [1]byte +} /* sqlite3.c:1331:9 */ + +type CteUse = CteUse1 /* sqlite3.c:14891:23 */ +type Db1 = struct { + FzDbSName uintptr + FpBt uintptr + Fsafety_level U8 + FbSyncSet U8 + F__ccgo_pad1 [6]byte + FpSchema uintptr +} /* sqlite3.c:1331:9 */ + +type Db = Db1 /* sqlite3.c:14892:19 */ +type DbFixer1 = struct { + FpParse uintptr + Fw Walker + FpSchema uintptr + FbTemp U8 + F__ccgo_pad1 [7]byte + FzDb uintptr + FzType uintptr + FpName uintptr +} /* sqlite3.c:14893:9 */ + +type DbFixer = DbFixer1 /* sqlite3.c:14893:24 */ +type Schema1 = struct { + Fschema_cookie int32 + FiGeneration int32 + FtblHash Hash + FidxHash Hash + FtrigHash Hash + FfkeyHash Hash + FpSeqTab uintptr + Ffile_format U8 + Fenc U8 + FschemaFlags U16 + Fcache_size int32 +} /* sqlite3.c:1331:9 */ + +type Schema = Schema1 /* sqlite3.c:14894:23 */ +type Expr1 = struct { + Fop U8 + FaffExpr int8 + Fop2 U8 + F__ccgo_pad1 [1]byte + Fflags U32 + Fu struct{ FzToken uintptr } + FpLeft uintptr + FpRight uintptr + Fx struct{ FpList uintptr } + FnHeight int32 + FiTable int32 + FiColumn YnVar + FiAgg I16 + FiRightJoinTable int32 + FpAggInfo uintptr + Fy struct{ FpTab uintptr } +} /* sqlite3.c:1331:9 */ + +type Expr = Expr1 /* sqlite3.c:14895:21 */ +type ExprList1 = struct { + FnExpr int32 + FnAlloc int32 + Fa [1]struct { + FpExpr uintptr + FzEName uintptr + FsortFlags U8 + F__ccgo_pad1 [3]byte + FeEName uint8 /* unsigned eEName: 2, unsigned done: 1, unsigned reusable: 1, unsigned bSorterRef: 1, unsigned bNulls: 1 */ + F__ccgo_pad2 [3]byte + Fu struct { + F__ccgo_pad1 [0]uint32 + Fx struct { + FiOrderByCol U16 + FiAlias U16 + } + } + F__ccgo_pad3 [4]byte + } +} /* sqlite3.c:1331:9 */ + +type ExprList = ExprList1 /* sqlite3.c:14896:25 */ +type FKey1 = struct { + FpFrom uintptr + FpNextFrom uintptr + FzTo uintptr + FpNextTo uintptr + FpPrevTo uintptr + FnCol int32 + FisDeferred U8 + FaAction [2]U8 + F__ccgo_pad1 [1]byte + FapTrigger [2]uintptr + FaCol [1]struct { + FiFrom int32 + F__ccgo_pad1 [4]byte + FzCol uintptr + } +} /* sqlite3.c:1331:9 */ + +type FKey = FKey1 /* sqlite3.c:14897:21 */ +type FuncDestructor1 = struct { + FnRef int32 + F__ccgo_pad1 [4]byte + FxDestroy uintptr + FpUserData uintptr +} /* sqlite3.c:14898:9 */ + +type FuncDestructor = FuncDestructor1 /* sqlite3.c:14898:31 */ +type FuncDef1 = struct { + FnArg I8 + F__ccgo_pad1 [3]byte + FfuncFlags U32 + FpUserData uintptr + FpNext uintptr + FxSFunc uintptr + FxFinalize uintptr + FxValue uintptr + FxInverse uintptr + FzName uintptr + Fu struct{ FpHash uintptr } +} /* sqlite3.c:1331:9 */ + +type FuncDef = FuncDef1 /* sqlite3.c:14899:24 */ +type FuncDefHash1 = struct{ Fa [23]uintptr } /* sqlite3.c:14900:9 */ + +type FuncDefHash = FuncDefHash1 /* sqlite3.c:14900:28 */ +type IdList1 = struct { + Fa uintptr + FnId int32 + F__ccgo_pad1 [4]byte +} /* sqlite3.c:1331:9 */ + +type IdList = IdList1 /* sqlite3.c:14901:23 */ +type Index1 = struct { + FzName uintptr + FaiColumn uintptr + FaiRowLogEst uintptr + FpTable uintptr + FzColAff uintptr + FpNext uintptr + FpSchema uintptr + FaSortOrder uintptr + FazColl uintptr + FpPartIdxWhere uintptr + FaColExpr uintptr + Ftnum Pgno + FszIdxRow LogEst + FnKeyCol U16 + FnColumn U16 + FonError U8 + F__ccgo_pad1 [1]byte + FidxType uint16 /* unsigned idxType: 2, unsigned bUnordered: 1, unsigned uniqNotNull: 1, unsigned isResized: 1, unsigned isCovering: 1, unsigned noSkipScan: 1, unsigned hasStat1: 1, unsigned bNoQuery: 1, unsigned bAscKeyBug: 1, unsigned bHasVCol: 1 */ + F__ccgo_pad2 [2]byte + FnSample int32 + FnSampleCol int32 + FaAvgEq uintptr + FaSample uintptr + FaiRowEst uintptr + FnRowEst0 TRowcnt + F__ccgo_pad3 [4]byte + FcolNotIdxed Bitmask +} /* sqlite3.c:1331:9 */ + +type Index = Index1 /* sqlite3.c:14902:22 */ +type IndexSample1 = struct { + Fp uintptr + Fn int32 + F__ccgo_pad1 [4]byte + FanEq uintptr + FanLt uintptr + FanDLt uintptr +} /* sqlite3.c:1331:9 */ + +type IndexSample = IndexSample1 /* sqlite3.c:14903:28 */ +type KeyInfo1 = struct { + FnRef U32 + Fenc U8 + F__ccgo_pad1 [1]byte + FnKeyField U16 + FnAllField U16 + F__ccgo_pad2 [6]byte + Fdb uintptr + FaSortFlags uintptr + FaColl [1]uintptr +} /* sqlite3.c:1331:9 */ + +type KeyInfo = KeyInfo1 /* sqlite3.c:14905:24 */ +type Lookaside1 = struct { + FbDisable U32 + Fsz U16 + FszTrue U16 + FbMalloced U8 + F__ccgo_pad1 [3]byte + FnSlot U32 + FanStat [3]U32 + F__ccgo_pad2 [4]byte + FpInit uintptr + FpFree uintptr + FpSmallInit uintptr + FpSmallFree uintptr + FpMiddle uintptr + FpStart uintptr + FpEnd uintptr +} /* sqlite3.c:1331:9 */ + +type Lookaside = Lookaside1 /* sqlite3.c:14906:26 */ +type LookasideSlot1 = struct{ FpNext uintptr } /* sqlite3.c:1331:9 */ + +type LookasideSlot = LookasideSlot1 /* sqlite3.c:14907:30 */ +type Module1 = struct { + FpModule uintptr + FzName uintptr + FnRefModule int32 + F__ccgo_pad1 [4]byte + FpAux uintptr + FxDestroy uintptr + FpEpoTab uintptr +} /* sqlite3.c:1331:9 */ + +type Module = Module1 /* sqlite3.c:14908:23 */ +type NameContext1 = struct { + FpParse uintptr + FpSrcList uintptr + FuNC struct{ FpEList uintptr } + FpNext uintptr + FnRef int32 + FnNcErr int32 + FncFlags int32 + F__ccgo_pad1 [4]byte + FpWinSelect uintptr +} /* sqlite3.c:14909:9 */ + +type NameContext = NameContext1 /* sqlite3.c:14909:28 */ +type Parse1 = struct { + Fdb uintptr + FzErrMsg uintptr + FpVdbe uintptr + Frc int32 + FcolNamesSet U8 + FcheckSchema U8 + Fnested U8 + FnTempReg U8 + FisMultiWrite U8 + FmayAbort U8 + FhasCompound U8 + FokConstFactor U8 + FdisableLookaside U8 + FdisableVtab U8 + F__ccgo_pad1 [2]byte + FnRangeReg int32 + FiRangeReg int32 + FnErr int32 + FnTab int32 + FnMem int32 + FszOpAlloc int32 + FiSelfTab int32 + FnLabel int32 + FnLabelAlloc int32 + F__ccgo_pad2 [4]byte + FaLabel uintptr + FpConstExpr uintptr + FconstraintName Token + FwriteMask YDbMask + FcookieMask YDbMask + FregRowid int32 + FregRoot int32 + FnMaxArg int32 + FnSelect int32 + FnTableLock int32 + F__ccgo_pad3 [4]byte + FaTableLock uintptr + FpAinc uintptr + FpToplevel uintptr + FpTriggerTab uintptr + FpParentParse uintptr + Fu1 struct { + F__ccgo_pad1 [0]uint64 + FaddrCrTab int32 + F__ccgo_pad2 [4]byte + } + FnQueryLoop U32 + Foldmask U32 + Fnewmask U32 + FeTriggerOp U8 + FbReturning U8 + FeOrconf U8 + FdisableTriggers U8 + FaTempReg [8]int32 + FsNameToken Token + FsLastToken Token + FnVar YnVar + FiPkSortOrder U8 + Fexplain U8 + FeParseMode U8 + F__ccgo_pad4 [3]byte + FnVtabLock int32 + FnHeight int32 + FaddrExplain int32 + F__ccgo_pad5 [4]byte + FpVList uintptr + FpReprepare uintptr + FzTail uintptr + FpNewTable uintptr + FpNewIndex uintptr + FpNewTrigger uintptr + FzAuthContext uintptr + FsArg Token + FapVtabLock uintptr + FpTriggerPrg uintptr + FpWith uintptr + FpCleanup uintptr + FpRename uintptr +} /* sqlite3.c:1331:9 */ + +type Parse = Parse1 /* sqlite3.c:14910:22 */ +type ParseCleanup1 = struct { + FpNext uintptr + FpPtr uintptr + FxCleanup uintptr +} /* sqlite3.c:1331:9 */ + +type ParseCleanup = ParseCleanup1 /* sqlite3.c:14911:29 */ +type PreUpdate1 = struct { + Fv uintptr + FpCsr uintptr + Fop int32 + F__ccgo_pad1 [4]byte + FaRecord uintptr + Fkeyinfo KeyInfo + FpUnpacked uintptr + FpNewUnpacked uintptr + FiNewReg int32 + FiBlobWrite int32 + FiKey1 I64 + FiKey2 I64 + FaNew uintptr + FpTab uintptr + FpPk uintptr +} /* sqlite3.c:1331:9 */ + +type PreUpdate = PreUpdate1 /* sqlite3.c:14912:26 */ +type PrintfArguments1 = struct { + FnArg int32 + FnUsed int32 + FapArg uintptr +} /* sqlite3.c:14913:9 */ + +type PrintfArguments = PrintfArguments1 /* sqlite3.c:14913:32 */ +type RenameToken1 = struct { + Fp uintptr + Ft Token + FpNext uintptr +} /* sqlite3.c:1331:9 */ + +type RenameToken = RenameToken1 /* sqlite3.c:14914:28 */ +type Returning1 = struct { + FpParse uintptr + FpReturnEL uintptr + FretTrig Trigger + FretTStep TriggerStep + FiRetCur int32 + FnRetCol int32 + FiRetReg int32 + F__ccgo_pad1 [4]byte +} /* sqlite3.c:14915:9 */ + +type Returning = Returning1 /* sqlite3.c:14915:26 */ +type RowSet1 = struct { + FpChunk uintptr + Fdb uintptr + FpEntry uintptr + FpLast uintptr + FpFresh uintptr + FpForest uintptr + FnFresh U16 + FrsFlags U16 + FiBatch int32 +} /* sqlite3.c:14916:9 */ + +type RowSet = RowSet1 /* sqlite3.c:14916:23 */ +type Savepoint1 = struct { + FzName uintptr + FnDeferredCons I64 + FnDeferredImmCons I64 + FpNext uintptr +} /* sqlite3.c:1331:9 */ + +type Savepoint = Savepoint1 /* sqlite3.c:14917:26 */ +type Select1 = struct { + Fop U8 + F__ccgo_pad1 [1]byte + FnSelectRow LogEst + FselFlags U32 + FiLimit int32 + FiOffset int32 + FselId U32 + FaddrOpenEphm [2]int32 + F__ccgo_pad2 [4]byte + FpEList uintptr + FpSrc uintptr + FpWhere uintptr + FpGroupBy uintptr + FpHaving uintptr + FpOrderBy uintptr + FpPrior uintptr + FpNext uintptr + FpLimit uintptr + FpWith uintptr + FpWin uintptr + FpWinDefn uintptr +} /* sqlite3.c:1331:9 */ + +type Select = Select1 /* sqlite3.c:14918:23 */ +type SQLiteThread1 = struct { + FxTask uintptr + FpIn uintptr + FpResult uintptr +} /* sqlite3.c:14919:9 */ + +type SQLiteThread = SQLiteThread1 /* sqlite3.c:14919:29 */ +type SelectDest1 = struct { + FeDest U8 + F__ccgo_pad1 [3]byte + FiSDParm int32 + FiSDParm2 int32 + FiSdst int32 + FnSdst int32 + F__ccgo_pad2 [4]byte + FzAffSdst uintptr + FpOrderBy uintptr +} /* sqlite3.c:14920:9 */ + +type SelectDest = SelectDest1 /* sqlite3.c:14920:27 */ +type SrcItem1 = struct { + FpSchema uintptr + FzDatabase uintptr + FzName uintptr + FzAlias uintptr + FpTab uintptr + FpSelect uintptr + FaddrFillSub int32 + FregReturn int32 + FregResult int32 + Ffg struct { + F__ccgo_pad1 [0]uint32 + Fjointype U8 + F__ccgo_pad2 [3]byte + FnotIndexed uint16 /* unsigned notIndexed: 1, unsigned isIndexedBy: 1, unsigned isTabFunc: 1, unsigned isCorrelated: 1, unsigned viaCoroutine: 1, unsigned isRecursive: 1, unsigned fromDDL: 1, unsigned isCte: 1, unsigned notCte: 1 */ + F__ccgo_pad3 [2]byte + } + FiCursor int32 + FpOn uintptr + FpUsing uintptr + FcolUsed Bitmask + Fu1 struct{ FzIndexedBy uintptr } + Fu2 struct{ FpIBIndex uintptr } +} /* sqlite3.c:1331:9 */ + +type SrcItem = SrcItem1 /* sqlite3.c:14921:24 */ +type SrcList1 = struct { + FnSrc int32 + FnAlloc U32 + Fa [1]SrcItem +} /* sqlite3.c:1331:9 */ + +type SrcList = SrcList1 /* sqlite3.c:14922:24 */ +type StrAccum = sqlite3_str /* sqlite3.c:14923:28 */ // Internal alias for sqlite3_str +type Table1 = struct { + FzName uintptr + FaCol uintptr + FpIndex uintptr + FpSelect uintptr + FpFKey uintptr + FzColAff uintptr + FpCheck uintptr + Ftnum Pgno + FnTabRef U32 + FtabFlags U32 + FiPKey I16 + FnCol I16 + FnNVCol I16 + FnRowLogEst LogEst + FszTabRow LogEst + FkeyConf U8 + F__ccgo_pad1 [1]byte + FaddColOffset int32 + FnModuleArg int32 + FazModuleArg uintptr + FpVTable uintptr + FpTrigger uintptr + FpSchema uintptr +} /* sqlite3.c:1331:9 */ + +// Internal alias for sqlite3_str +type Table = Table1 /* sqlite3.c:14924:22 */ +type TableLock1 = struct { + FiDb int32 + FiTab Pgno + FisWriteLock U8 + F__ccgo_pad1 [7]byte + FzLockName uintptr +} /* sqlite3.c:1331:9 */ + +type TableLock = TableLock1 /* sqlite3.c:14925:26 */ +type Token1 = struct { + Fz uintptr + Fn uint32 + F__ccgo_pad1 [4]byte +} /* sqlite3.c:1331:9 */ + +type Token = Token1 /* sqlite3.c:14926:22 */ +type Trigger1 = struct { + FzName uintptr + Ftable uintptr + Fop U8 + Ftr_tm U8 + FbReturning U8 + F__ccgo_pad1 [5]byte + FpWhen uintptr + FpColumns uintptr + FpSchema uintptr + FpTabSchema uintptr + Fstep_list uintptr + FpNext uintptr +} /* sqlite3.c:1331:9 */ + +type Trigger = Trigger1 /* sqlite3.c:14928:24 */ +type TriggerPrg1 = struct { + FpTrigger uintptr + FpNext uintptr + FpProgram uintptr + Forconf int32 + FaColmask [2]U32 + F__ccgo_pad1 [4]byte +} /* sqlite3.c:1331:9 */ + +type TriggerPrg = TriggerPrg1 /* sqlite3.c:14929:27 */ +type TriggerStep1 = struct { + Fop U8 + Forconf U8 + F__ccgo_pad1 [6]byte + FpTrig uintptr + FpSelect uintptr + FzTarget uintptr + FpFrom uintptr + FpWhere uintptr + FpExprList uintptr + FpIdList uintptr + FpUpsert uintptr + FzSpan uintptr + FpNext uintptr + FpLast uintptr +} /* sqlite3.c:1331:9 */ + +type TriggerStep = TriggerStep1 /* sqlite3.c:14930:28 */ +type UnpackedRecord1 = struct { + FpKeyInfo uintptr + FaMem uintptr + FnField U16 + Fdefault_rc I8 + FerrCode U8 + Fr1 I8 + Fr2 I8 + FeqSeen U8 + F__ccgo_pad1 [1]byte +} /* sqlite3.c:1331:9 */ + +type UnpackedRecord = UnpackedRecord1 /* sqlite3.c:14931:31 */ +type Upsert1 = struct { + FpUpsertTarget uintptr + FpUpsertTargetWhere uintptr + FpUpsertSet uintptr + FpUpsertWhere uintptr + FpNextUpsert uintptr + FisDoUpdate U8 + F__ccgo_pad1 [7]byte + FpToFree uintptr + FpUpsertIdx uintptr + FpUpsertSrc uintptr + FregData int32 + FiDataCur int32 + FiIdxCur int32 + F__ccgo_pad2 [4]byte +} /* sqlite3.c:1331:9 */ + +type Upsert = Upsert1 /* sqlite3.c:14932:23 */ +type VTable1 = struct { + Fdb uintptr + FpMod uintptr + FpVtab uintptr + FnRef int32 + FbConstraint U8 + FeVtabRisk U8 + F__ccgo_pad1 [2]byte + FiSavepoint int32 + F__ccgo_pad2 [4]byte + FpNext uintptr +} /* sqlite3.c:1331:9 */ + +type VTable = VTable1 /* sqlite3.c:14933:23 */ +type VtabCtx1 = struct { + FpVTable uintptr + FpTab uintptr + FpPrior uintptr + FbDeclared int32 + F__ccgo_pad1 [4]byte +} /* sqlite3.c:1331:9 */ + +type VtabCtx = VtabCtx1 /* sqlite3.c:14934:24 */ +type Walker1 = struct { + FpParse uintptr + FxExprCallback uintptr + FxSelectCallback uintptr + FxSelectCallback2 uintptr + FwalkerDepth int32 + FeCode U16 + F__ccgo_pad1 [2]byte + Fu struct{ FpNC uintptr } +} /* sqlite3.c:14893:9 */ + +type Walker = Walker1 /* sqlite3.c:14935:23 */ +type WhereInfo1 = struct { + FpParse uintptr + FpTabList uintptr + FpOrderBy uintptr + FpResultSet uintptr + FpWhere uintptr + FaiCurOnePass [2]int32 + FiContinue int32 + FiBreak int32 + FsavedNQueryLoop int32 + FwctrlFlags U16 + FiLimit LogEst + FnLevel U8 + FnOBSat I8 + FeOnePass U8 + FeDistinct U8 + FbDeferredSeek uint8 /* unsigned bDeferredSeek: 1, unsigned untestedTerms: 1, unsigned bOrderedInnerLoop: 1, unsigned sorted: 1 */ + F__ccgo_pad1 [1]byte + FnRowOut LogEst + FiTop int32 + FiEndWhere int32 + FpLoops uintptr + FpExprMods uintptr + FrevMask Bitmask + FsWC WhereClause + FsMaskSet WhereMaskSet + Fa [1]WhereLevel +} /* sqlite3.c:14936:9 */ + +type WhereInfo = WhereInfo1 /* sqlite3.c:14936:26 */ +type Window1 = struct { + FzName uintptr + FzBase uintptr + FpPartition uintptr + FpOrderBy uintptr + FeFrmType U8 + FeStart U8 + FeEnd U8 + FbImplicitFrame U8 + FeExclude U8 + F__ccgo_pad1 [3]byte + FpStart uintptr + FpEnd uintptr + FppThis uintptr + FpNextWin uintptr + FpFilter uintptr + FpFunc uintptr + FiEphCsr int32 + FregAccum int32 + FregResult int32 + FcsrApp int32 + FregApp int32 + FregPart int32 + FpOwner uintptr + FnBufferCol int32 + FiArgCol int32 + FregOne int32 + FregStartRowid int32 + FregEndRowid int32 + FbExprArgs U8 + F__ccgo_pad2 [3]byte +} /* sqlite3.c:1331:9 */ + +type Window = Window1 /* sqlite3.c:14937:23 */ +type With1 = struct { + FnCte int32 + FbView int32 + FpOuter uintptr + Fa [1]Cte +} /* sqlite3.c:1331:9 */ + +type With = With1 /* sqlite3.c:14938:21 */ + +// The bitmask datatype defined below is used for various optimizations. +// +// Changing this from a 64-bit to a 32-bit type limits the number of +// tables in a join to 32 instead of 64. But it also reduces the size +// of the library by 738 bytes on ix86. +type Bitmask = U64 /* sqlite3.c:14951:15 */ + +// The number of bits in a Bitmask. "BMS" means "BitMask Size". + +// A bit in a Bitmask + +// A VList object records a mapping between parameters/variables/wildcards +// in the SQL statement (such as $abc, @pqr, or :xyz) and the integer +// variable number associated with that parameter. See the format description +// on the sqlite3VListAdd() routine for more information. A VList is really +// just an array of integers. +type VList = int32 /* sqlite3.c:14973:13 */ + +// Defer sourcing vdbe.h and btree.h until after the "u8" and +// "BusyHandler" typedefs. vdbe.h also requires a few of the opaque +// pointer types (i.e. FuncDef) defined above. +//************* Include pager.h in the middle of sqliteInt.h **************** +//************* Begin file pager.h ****************************************** +// 2001 September 15 +// +// 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 header file defines the interface that the sqlite page cache +// subsystem. The page cache subsystem reads and writes a file a page +// at a time and provides a journal for rollback. + +// Default maximum size for persistent journal files. A negative +// value means no limit. This value may be overridden using the +// sqlite3PagerJournalSizeLimit() API. See also "PRAGMA journal_size_limit". + +// The type used to represent a page number. The first page in a file +// is called page 1. 0 is used to represent "not a page". +type Pgno = U32 /* sqlite3.c:15014:13 */ + +// Each open file is managed by a separate instance of the "Pager" structure. +type Pager1 = struct { + FpVfs uintptr + FexclusiveMode U8 + FjournalMode U8 + FuseJournal U8 + FnoSync U8 + FfullSync U8 + FextraSync U8 + FsyncFlags U8 + FwalSyncFlags U8 + FtempFile U8 + FnoLock U8 + FreadOnly U8 + FmemDb U8 + FeState U8 + FeLock U8 + FchangeCountDone U8 + FsetSuper U8 + FdoNotSpill U8 + FsubjInMemory U8 + FbUseFetch U8 + FhasHeldSharedLock U8 + FdbSize Pgno + FdbOrigSize Pgno + FdbFileSize Pgno + FdbHintSize Pgno + FerrCode int32 + FnRec int32 + FcksumInit U32 + FnSubRec U32 + F__ccgo_pad1 [4]byte + FpInJournal uintptr + Ffd uintptr + Fjfd uintptr + Fsjfd uintptr + FjournalOff I64 + FjournalHdr I64 + FpBackup uintptr + FaSavepoint uintptr + FnSavepoint int32 + FiDataVersion U32 + FdbFileVers [16]int8 + FnMmapOut int32 + F__ccgo_pad2 [4]byte + FszMmap Sqlite3_int64 + FpMmapFreelist uintptr + FnExtra U16 + FnReserve I16 + FvfsFlags U32 + FsectorSize U32 + FpageSize int32 + FmxPgno Pgno + F__ccgo_pad3 [4]byte + FjournalSizeLimit I64 + FzFilename uintptr + FzJournal uintptr + FxBusyHandler uintptr + FpBusyHandlerArg uintptr + FaStat [4]int32 + FxReiniter uintptr + FxGet uintptr + FpTmpSpace uintptr + FpPCache uintptr + FpWal uintptr + FzWal uintptr +} /* sqlite3.c:1331:9 */ + +// Each open file is managed by a separate instance of the "Pager" structure. +type Pager = Pager1 /* sqlite3.c:15019:22 */ + +// Handle type for pages. +type PgHdr2 = struct { + FpPage uintptr + FpData uintptr + FpExtra uintptr + FpCache uintptr + FpDirty uintptr + FpPager uintptr + Fpgno Pgno + Fflags U16 + FnRef I16 + FpDirtyNext uintptr + FpDirtyPrev uintptr +} /* sqlite3.c:1331:9 */ + +// Handle type for pages. +type DbPage = PgHdr2 /* sqlite3.c:15024:22 */ + +// Functions to support testing and debugging. + +//************* End of pager.h ********************************************** +//************* Continuing where we left off in sqliteInt.h ***************** +//************* Include btree.h in the middle of sqliteInt.h **************** +//************* Begin file btree.h ****************************************** +// 2001 September 15 +// +// 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 header file defines the interface that the sqlite B-Tree file +// subsystem. See comments in the source code for a detailed description +// of what each interface routine does. + +// TODO: This definition is just included so other modules compile. It +// needs to be revisited. + +// If defined as non-zero, auto-vacuum is enabled by default. Otherwise +// it must be turned on for each database using "PRAGMA auto_vacuum = 1". + +// Forward declarations of structure +type Btree1 = struct { + Fdb uintptr + FpBt uintptr + FinTrans U8 + Fsharable U8 + Flocked U8 + FhasIncrblobCur U8 + FwantToLock int32 + FnBackup int32 + FiBDataVersion U32 + FpNext uintptr + FpPrev uintptr + Flock BtLock +} /* sqlite3.c:1331:9 */ + +// Functions to support testing and debugging. + +//************* End of pager.h ********************************************** +//************* Continuing where we left off in sqliteInt.h ***************** +//************* Include btree.h in the middle of sqliteInt.h **************** +//************* Begin file btree.h ****************************************** +// 2001 September 15 +// +// 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 header file defines the interface that the sqlite B-Tree file +// subsystem. See comments in the source code for a detailed description +// of what each interface routine does. + +// TODO: This definition is just included so other modules compile. It +// needs to be revisited. + +// If defined as non-zero, auto-vacuum is enabled by default. Otherwise +// it must be turned on for each database using "PRAGMA auto_vacuum = 1". + +// Forward declarations of structure +type Btree = Btree1 /* sqlite3.c:15267:22 */ +type BtCursor1 = struct { + FeState U8 + FcurFlags U8 + FcurPagerFlags U8 + Fhints U8 + FskipNext int32 + FpBtree uintptr + FaOverflow uintptr + FpKey uintptr + FpBt uintptr + FpNext uintptr + Finfo CellInfo + FnKey I64 + FpgnoRoot Pgno + FiPage I8 + FcurIntKey U8 + Fix U16 + FaiIdx [19]U16 + F__ccgo_pad1 [2]byte + FpKeyInfo uintptr + FpPage uintptr + FapPage [19]uintptr +} /* sqlite3.c:1331:9 */ + +type BtCursor = BtCursor1 /* sqlite3.c:15268:25 */ +type BtShared1 = struct { + FpPager uintptr + Fdb uintptr + FpCursor uintptr + FpPage1 uintptr + FopenFlags U8 + FautoVacuum U8 + FincrVacuum U8 + FbDoTruncate U8 + FinTransaction U8 + Fmax1bytePayload U8 + FnReserveWanted U8 + F__ccgo_pad1 [1]byte + FbtsFlags U16 + FmaxLocal U16 + FminLocal U16 + FmaxLeaf U16 + FminLeaf U16 + F__ccgo_pad2 [2]byte + FpageSize U32 + FusableSize U32 + FnTransaction int32 + FnPage U32 + F__ccgo_pad3 [4]byte + FpSchema uintptr + FxFreeSchema uintptr + Fmutex uintptr + FpHasContent uintptr + FnRef int32 + F__ccgo_pad4 [4]byte + FpNext uintptr + FpLock uintptr + FpWriter uintptr + FpTmpSpace uintptr + FnPreformatSize int32 + F__ccgo_pad5 [4]byte +} /* sqlite3.c:1331:9 */ + +type BtShared = BtShared1 /* sqlite3.c:15269:25 */ +type BtreePayload1 = struct { + FpKey uintptr + FnKey Sqlite3_int64 + FpData uintptr + FaMem uintptr + FnMem U16 + F__ccgo_pad1 [2]byte + FnData int32 + FnZero int32 + F__ccgo_pad2 [4]byte +} /* sqlite3.c:15270:9 */ + +type BtreePayload = BtreePayload1 /* sqlite3.c:15270:29 */ + +//************* End of btree.h ********************************************** +//************* Continuing where we left off in sqliteInt.h ***************** +//************* Include vdbe.h in the middle of sqliteInt.h ***************** +//************* Begin file vdbe.h ******************************************* +// 2001 September 15 +// +// 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. +// +// +// Header file for the Virtual DataBase Engine (VDBE) +// +// This header defines the interface to the virtual database engine +// or VDBE. The VDBE implements an abstract machine that runs a +// simple program to access and modify the underlying database. +// #include + +// A single VDBE is an opaque structure named "Vdbe". Only routines +// in the source file sqliteVdbe.c are allowed to see the insides +// of this structure. +type Vdbe1 = struct { + Fdb uintptr + FpPrev uintptr + FpNext uintptr + FpParse uintptr + FnVar YnVar + F__ccgo_pad1 [2]byte + FiVdbeMagic U32 + FnMem int32 + FnCursor int32 + FcacheCtr U32 + Fpc int32 + Frc int32 + FnChange int32 + FiStatement int32 + F__ccgo_pad2 [4]byte + FiCurrentTime I64 + FnFkConstraint I64 + FnStmtDefCons I64 + FnStmtDefImmCons I64 + FaMem uintptr + FapArg uintptr + FapCsr uintptr + FaVar uintptr + FaOp uintptr + FnOp int32 + FnOpAlloc int32 + FaColName uintptr + FpResultSet uintptr + FzErrMsg uintptr + FpVList uintptr + FstartTime I64 + FnResColumn U16 + FerrorAction U8 + FminWriteFileFormat U8 + FprepFlags U8 + FdoingRerun U8 + F__ccgo_pad3 [2]byte + Fexpired uint16 /* bft expired: 2, bft explain: 2, bft changeCntOn: 1, bft runOnlyOnce: 1, bft usesStmtJournal: 1, bft readOnly: 1, bft bIsReader: 1 */ + F__ccgo_pad4 [2]byte + FbtreeMask YDbMask + FlockMask YDbMask + FaCounter [7]U32 + FzSql uintptr + FpFree uintptr + FpFrame uintptr + FpDelFrame uintptr + FnFrame int32 + Fexpmask U32 + FpProgram uintptr + FpAuxData uintptr +} /* sqlite3.c:1331:9 */ + +//************* End of btree.h ********************************************** +//************* Continuing where we left off in sqliteInt.h ***************** +//************* Include vdbe.h in the middle of sqliteInt.h ***************** +//************* Begin file vdbe.h ******************************************* +// 2001 September 15 +// +// 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. +// +// +// Header file for the Virtual DataBase Engine (VDBE) +// +// This header defines the interface to the virtual database engine +// or VDBE. The VDBE implements an abstract machine that runs a +// simple program to access and modify the underlying database. +// #include + +// A single VDBE is an opaque structure named "Vdbe". Only routines +// in the source file sqliteVdbe.c are allowed to see the insides +// of this structure. +type Vdbe = Vdbe1 /* sqlite3.c:15668:21 */ + +// The names of the following types declared in vdbeInt.h are required +// for the VdbeOp definition. +type Mem = sqlite3_value /* sqlite3.c:15674:30 */ +type SubProgram1 = struct { + FaOp uintptr + FnOp int32 + FnMem int32 + FnCsr int32 + F__ccgo_pad1 [4]byte + FaOnce uintptr + Ftoken uintptr + FpNext uintptr +} /* sqlite3.c:1331:9 */ + +type SubProgram = SubProgram1 /* sqlite3.c:15675:27 */ + +// A single instruction of the virtual machine has an opcode +// and as many as three operands. The instruction is recorded +// as an instance of the following structure: +type VdbeOp1 = struct { + Fopcode U8 + Fp4type int8 + Fp5 U16 + Fp1 int32 + Fp2 int32 + Fp3 int32 + Fp4 struct { + F__ccgo_pad1 [0]uint64 + Fi int32 + F__ccgo_pad2 [4]byte + } +} /* sqlite3.c:1331:9 */ + +// A single instruction of the virtual machine has an opcode +// and as many as three operands. The instruction is recorded +// as an instance of the following structure: +type p4union = struct { + F__ccgo_pad1 [0]uint64 + Fi int32 + F__ccgo_pad2 [4]byte +} /* sqlite3.c:1331:9 */ + +type VdbeOp = VdbeOp1 /* sqlite3.c:15721:23 */ + +// A smaller version of VdbeOp used for the VdbeAddOpList() function because +// it takes up less space. +type VdbeOpList1 = struct { + Fopcode U8 + Fp1 int8 + Fp2 int8 + Fp3 int8 +} /* sqlite3.c:15741:1 */ + +type VdbeOpList = VdbeOpList1 /* sqlite3.c:15747:27 */ + +type RecordCompare = uintptr /* sqlite3.c:16156:13 */ + +// Use SQLITE_ENABLE_COMMENTS to enable generation of extra comments on +// each VDBE opcode. +// +// Use the SQLITE_ENABLE_MODULE_COMMENTS macro to see some extra no-op +// comments in VDBE programs that show key decision points in the code +// generator. + +// The VdbeCoverage macros are used to set a coverage testing point +// for VDBE branch instructions. The coverage testing points are line +// numbers in the sqlite3.c source file. VDBE branch coverage testing +// only works with an amalagmation build. That's ok since a VDBE branch +// coverage build designed for testing the test suite only. No application +// should ever ship with VDBE branch coverage measuring turned on. +// +// VdbeCoverage(v) // Mark the previously coded instruction +// // as a branch +// +// VdbeCoverageIf(v, conditional) // Mark previous if conditional true +// +// VdbeCoverageAlwaysTaken(v) // Previous branch is always taken +// +// VdbeCoverageNeverTaken(v) // Previous branch is never taken +// +// VdbeCoverageNeverNull(v) // Previous three-way branch is only +// // taken on the first two ways. The +// // NULL option is not possible +// +// VdbeCoverageEqNe(v) // Previous OP_Jump is only interested +// // in distingishing equal and not-equal. +// +// Every VDBE branch operation must be tagged with one of the macros above. +// If not, then when "make test" is run with -DSQLITE_VDBE_COVERAGE and +// -DSQLITE_DEBUG then an ALWAYS() will fail in the vdbeTakeBranch() +// routine in vdbe.c, alerting the developer to the missed tag. +// +// During testing, the test application will invoke +// sqlite3_test_control(SQLITE_TESTCTRL_VDBE_COVERAGE,...) to set a callback +// routine that is invoked as each bytecode branch is taken. The callback +// contains the sqlite3.c source line number ov the VdbeCoverage macro and +// flags to indicate whether or not the branch was taken. The test application +// is responsible for keeping track of this and reporting byte-code branches +// that are never taken. +// +// See the VdbeBranchTaken() macro and vdbeTakeBranch() function in the +// vdbe.c source file for additional information. + +//************* End of vdbe.h *********************************************** +//************* Continuing where we left off in sqliteInt.h ***************** +//************* Include pcache.h in the middle of sqliteInt.h *************** +//************* Begin file pcache.h ***************************************** +// 2008 August 05 +// +// 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 header file defines the interface that the sqlite page cache +// subsystem. + +type PgHdr = PgHdr2 /* sqlite3.c:16289:22 */ +type PCache2 = struct { + FpDirty uintptr + FpDirtyTail uintptr + FpSynced uintptr + FnRefSum int32 + FszCache int32 + FszSpill int32 + FszPage int32 + FszExtra int32 + FbPurgeable U8 + FeCreate U8 + F__ccgo_pad1 [2]byte + FxStress uintptr + FpStress uintptr + FpCache uintptr +} /* sqlite3.c:1331:9 */ + +type PCache = PCache2 /* sqlite3.c:16290:23 */ + +// typedef for the authorization callback function. +type Sqlite3_xauth = uintptr /* sqlite3.c:17058:15 */ + +// This is an extra SQLITE_TRACE macro that indicates "legacy" tracing +// in the style of sqlite3_trace() + +// Maximum number of sqlite3.aDb[] entries. This is the number of attached +// databases plus 2 for "main" and "temp". + +// Each database connection is an instance of the following structure. +type sqlite3InitInfo = struct { + FnewTnum Pgno + FiDb U8 + Fbusy U8 + F__ccgo_pad1 [2]byte + ForphanTrigger uint8 /* unsigned orphanTrigger: 1, unsigned imposterTable: 1, unsigned reopenMemdb: 1 */ + F__ccgo_pad2 [7]byte + FazInit uintptr +} /* sqlite3.c:1331:9 */ + +// Allowed values for Table.tabFlags. +// +// TF_OOOHidden applies to tables or view that have hidden columns that are +// followed by non-hidden columns. Example: "CREATE VIRTUAL TABLE x USING +// vtab1(a HIDDEN, b);". Since "b" is a non-hidden column but "a" is hidden, +// the TF_OOOHidden attribute would apply in this case. Such tables require +// special handling during INSERT processing. The "OOO" means "Out Of Order". +// +// Constraints: +// +// TF_HasVirtual == COLFLAG_VIRTUAL +// TF_HasStored == COLFLAG_STORED +// TF_HasHidden == COLFLAG_HIDDEN + +// Test to see whether or not a table is a virtual table. This is +// done as a macro so that it will be optimized out when virtual +// table support is omitted from the build. + +// Macros to determine if a column is hidden. IsOrdinaryHiddenColumn() +// only works for non-virtual tables (ordinary tables and views) and is +// always false unless SQLITE_ENABLE_HIDDEN_COLUMNS is defined. The +// IsHiddenColumn() macro is general purpose. + +// Does the table have a rowid + +// Each foreign key constraint is an instance of the following structure. +// +// A foreign key is associated with two tables. The "from" table is +// the table that contains the REFERENCES clause that creates the foreign +// key. The "to" table is the table that is named in the REFERENCES clause. +// Consider this example: +// +// CREATE TABLE ex1( +// a INTEGER PRIMARY KEY, +// b INTEGER CONSTRAINT fk1 REFERENCES ex2(x) +// ); +// +// For foreign key "fk1", the from-table is "ex1" and the to-table is "ex2". +// Equivalent names: +// +// from-table == child-table +// to-table == parent-table +// +// Each REFERENCES clause generates an instance of the following structure +// which is attached to the from-table. The to-table need not exist when +// the from-table is created. The existence of the to-table is not checked. +// +// The list of all parents for child Table X is held at X.pFKey. +// +// A list of all children for a table named Z (which might not even exist) +// is held in Schema.fkeyHash with a hash key of Z. +type sColMap = struct { + FiFrom int32 + F__ccgo_pad1 [4]byte + FzCol uintptr +} /* sqlite3.c:1331:9 */ + +// An instance of this structure contains information needed to generate +// code for a SELECT that contains aggregate functions. +// +// If Expr.op==TK_AGG_COLUMN or TK_AGG_FUNCTION then Expr.pAggInfo is a +// pointer to this structure. The Expr.iAgg field is the index in +// AggInfo.aCol[] or AggInfo.aFunc[] of information needed to generate +// code for that node. +// +// AggInfo.pGroupBy and AggInfo.aFunc.pExpr point to fields within the +// original Select structure that describes the SELECT statement. These +// fields do not need to be freed when deallocating the AggInfo structure. +type AggInfo_col = struct { + FpTab uintptr + FpCExpr uintptr + FiTable int32 + FiMem int32 + FiColumn I16 + FiSorterColumn I16 + F__ccgo_pad1 [4]byte +} /* sqlite3.c:1331:9 */ + +// An instance of this structure contains information needed to generate +// code for a SELECT that contains aggregate functions. +// +// If Expr.op==TK_AGG_COLUMN or TK_AGG_FUNCTION then Expr.pAggInfo is a +// pointer to this structure. The Expr.iAgg field is the index in +// AggInfo.aCol[] or AggInfo.aFunc[] of information needed to generate +// code for that node. +// +// AggInfo.pGroupBy and AggInfo.aFunc.pExpr point to fields within the +// original Select structure that describes the SELECT statement. These +// fields do not need to be freed when deallocating the AggInfo structure. +type AggInfo_func = struct { + FpFExpr uintptr + FpFunc uintptr + FiMem int32 + FiDistinct int32 + FiDistAddr int32 + F__ccgo_pad1 [4]byte +} /* sqlite3.c:1331:9 */ + +// The datatype ynVar is a signed integer, either 16-bit or 32-bit. +// Usually it is 16-bits. But if SQLITE_MAX_VARIABLE_NUMBER is greater +// than 32767 we have to make it 32-bit. 16-bit is preferred because +// it uses less memory in the Expr object, which is a big memory user +// in systems with lots of prepared statements. And few applications +// need more than about 10 or 20 variables. But some extreme users want +// to have prepared statements with over 32766 variables, and for them +// the option is available (at compile-time). +type YnVar = I16 /* sqlite3.c:18212:13 */ + +// The following are the meanings of bits in the Expr.flags field. +// Value restrictions: +// +// EP_Agg == NC_HasAgg == SF_HasAgg +// EP_Win == NC_HasWin +// 0x400000 // Available +// 0x80000000 // Available + +// The EP_Propagate mask is a set of properties that automatically propagate +// upwards into parent nodes. + +// These macros can be used to test, set, or clear bits in the +// Expr.flags field. + +// Flags for use with Expr.vvaFlags + +// The ExprSetVVAProperty() macro is used for Verification, Validation, +// and Accreditation only. It works like ExprSetProperty() during VVA +// processes but is a no-op for delivery. + +// Macros to determine the number of bytes required by a normal Expr +// struct, an Expr struct with the EP_Reduced flag set in Expr.flags +// and an Expr struct with the EP_TokenOnly flag set. + +// Flags passed to the sqlite3ExprDup() function. See the header comment +// above sqlite3ExprDup() for details. + +// True if the expression passed as an argument was a function with +// an OVER() clause (a window function). + +// A list of expressions. Each expression may optionally have a +// name. An expr/name combination can be used in several ways, such +// as the list of "expr AS ID" fields following a "SELECT" or in the +// list of "ID = expr" items in an UPDATE. A list of expressions can +// also be used as the argument to a function, in which case the a.zName +// field is not used. +// +// In order to try to keep memory usage down, the Expr.a.zEName field +// is used for multiple purposes: +// +// eEName Usage +// ---------- ------------------------- +// ENAME_NAME (1) the AS of result set column +// (2) COLUMN= of an UPDATE +// +// ENAME_TAB DB.TABLE.NAME used to resolve names +// of subqueries +// +// ENAME_SPAN Text of the original result set +// expression. +type ExprList_item = struct { + FpExpr uintptr + FzEName uintptr + FsortFlags U8 + F__ccgo_pad1 [3]byte + FeEName uint8 /* unsigned eEName: 2, unsigned done: 1, unsigned reusable: 1, unsigned bSorterRef: 1, unsigned bNulls: 1 */ + F__ccgo_pad2 [3]byte + Fu struct { + F__ccgo_pad1 [0]uint32 + Fx struct { + FiOrderByCol U16 + FiAlias U16 + } + } + F__ccgo_pad3 [4]byte +} /* sqlite3.c:1331:9 */ + +// Allowed values for Expr.a.eEName + +// An instance of this structure can hold a simple list of identifiers, +// such as the list "a,b,c" in the following statements: +// +// INSERT INTO t(a,b,c) VALUES ...; +// CREATE INDEX idx ON t(a,b,c); +// CREATE TRIGGER trig BEFORE UPDATE ON t(a,b,c) ...; +// +// The IdList.a.idx field is used when the IdList represents the list of +// column names after a table name in an INSERT statement. In the statement +// +// INSERT INTO t(a,b,c) ... +// +// If "a" is the k-th column of table "t", then IdList.a[0].idx==k. +type IdList_item = struct { + FzName uintptr + Fidx int32 + F__ccgo_pad1 [4]byte +} /* sqlite3.c:1331:9 */ + +// The yDbMask datatype for the bitmask of all attached databases. +type YDbMask = uint32 /* sqlite3.c:18969:24 */ + +// A pointer to this structure is used to communicate information +// from sqlite3Init and OP_ParseSchema into the sqlite3InitCallback. +type InitData = struct { + Fdb uintptr + FpzErrMsg uintptr + FiDb int32 + Frc int32 + FmInitFlags U32 + FnInitRow U32 + FmxPage Pgno + F__ccgo_pad1 [4]byte +} /* sqlite3.c:19327:3 */ + +// Allowed values for mInitFlags + +// Tuning parameters are set using SQLITE_TESTCTRL_TUNE and are controlled +// on debug-builds of the CLI using ".testctrl tune ID VALUE". Tuning +// parameters are for temporary use during development, to help find +// optimial values for parameters in the query planner. The should not +// be used on trunk check-ins. They are a temporary mechanism available +// for transient development builds only. +// +// Tuning parameters are numbered starting with 1. + +// Structure containing global configuration data for the SQLite library. +// +// This structure also contains some state information. +type Sqlite3Config = struct { + FbMemstat int32 + FbCoreMutex U8 + FbFullMutex U8 + FbOpenUri U8 + FbUseCis U8 + FbSmallMalloc U8 + FbExtraSchemaChecks U8 + F__ccgo_pad1 [2]byte + FmxStrlen int32 + FneverCorrupt int32 + FszLookaside int32 + FnLookaside int32 + FnStmtSpill int32 + Fm Sqlite3_mem_methods + Fmutex Sqlite3_mutex_methods + Fpcache2 Sqlite3_pcache_methods2 + FpHeap uintptr + FnHeap int32 + FmnReq int32 + FmxReq int32 + F__ccgo_pad2 [4]byte + FszMmap Sqlite3_int64 + FmxMmap Sqlite3_int64 + FpPage uintptr + FszPage int32 + FnPage int32 + FmxParserStack int32 + FsharedCacheEnabled int32 + FszPma U32 + FisInit int32 + FinProgress int32 + FisMutexInit int32 + FisMallocInit int32 + FisPCacheInit int32 + FnRefInitMutex int32 + F__ccgo_pad3 [4]byte + FpInitMutex uintptr + FxLog uintptr + FpLogArg uintptr + FmxMemdbSize Sqlite3_int64 + FxTestCallback uintptr + FbLocaltimeFault int32 + FiOnceResetThreshold int32 + FszSorterRef U32 + FiPrngSeed uint32 +} /* sqlite3.c:19356:1 */ + +// This macro is used inside of assert() statements to indicate that +// the assert is only valid on a well-formed database. Instead of: +// +// assert( X ); +// +// One writes: +// +// assert( X || CORRUPT_DB ); +// +// CORRUPT_DB is true during normal operation. CORRUPT_DB does not indicate +// that the database is definitely corrupt, only that it might be corrupt. +// For most test cases, CORRUPT_DB is set to false using a special +// sqlite3_test_control(). This enables assert() statements to prove +// things that are always true for well-formed databases. + +// Context pointer passed down through the tree-walk. +type SrcCount = struct { + FpSrc uintptr + FiSrcInner int32 + FnThis int32 + FnOther int32 + F__ccgo_pad1 [4]byte +} /* sqlite3.c:19454:5 */ + +// This macro is used inside of assert() statements to indicate that +// the assert is only valid on a well-formed database. Instead of: +// +// assert( X ); +// +// One writes: +// +// assert( X || CORRUPT_DB ); +// +// CORRUPT_DB is true during normal operation. CORRUPT_DB does not indicate +// that the database is definitely corrupt, only that it might be corrupt. +// For most test cases, CORRUPT_DB is set to false using a special +// sqlite3_test_control(). This enables assert() statements to prove +// things that are always true for well-formed databases. + +// Context pointer passed down through the tree-walk. +type IdxCover = struct { + FpIdx uintptr + FiCur int32 + F__ccgo_pad1 [4]byte +} /* sqlite3.c:19457:5 */ + +// This macro is used inside of assert() statements to indicate that +// the assert is only valid on a well-formed database. Instead of: +// +// assert( X ); +// +// One writes: +// +// assert( X || CORRUPT_DB ); +// +// CORRUPT_DB is true during normal operation. CORRUPT_DB does not indicate +// that the database is definitely corrupt, only that it might be corrupt. +// For most test cases, CORRUPT_DB is set to false using a special +// sqlite3_test_control(). This enables assert() statements to prove +// things that are always true for well-formed databases. + +// Context pointer passed down through the tree-walk. +type IdxExprTrans1 = struct { + FpIdxExpr uintptr + FiTabCur int32 + FiIdxCur int32 + FiIdxCol int32 + FiTabCol int32 + FpWInfo uintptr + Fdb uintptr +} /* sqlite3.c:19458:5 */ + +// This macro is used inside of assert() statements to indicate that +// the assert is only valid on a well-formed database. Instead of: +// +// assert( X ); +// +// One writes: +// +// assert( X || CORRUPT_DB ); +// +// CORRUPT_DB is true during normal operation. CORRUPT_DB does not indicate +// that the database is definitely corrupt, only that it might be corrupt. +// For most test cases, CORRUPT_DB is set to false using a special +// sqlite3_test_control(). This enables assert() statements to prove +// things that are always true for well-formed databases. + +// Context pointer passed down through the tree-walk. +type WindowRewrite1 = struct { + FpWin uintptr + FpSrc uintptr + FpSub uintptr + FpTab uintptr + FpSubSelect uintptr +} /* sqlite3.c:19461:5 */ + +// This macro is used inside of assert() statements to indicate that +// the assert is only valid on a well-formed database. Instead of: +// +// assert( X ); +// +// One writes: +// +// assert( X || CORRUPT_DB ); +// +// CORRUPT_DB is true during normal operation. CORRUPT_DB does not indicate +// that the database is definitely corrupt, only that it might be corrupt. +// For most test cases, CORRUPT_DB is set to false using a special +// sqlite3_test_control(). This enables assert() statements to prove +// things that are always true for well-formed databases. + +// Context pointer passed down through the tree-walk. +type WhereConst1 = struct { + FpParse uintptr + FpOomFault uintptr + FnConst int32 + FnChng int32 + FbHasAffBlob int32 + F__ccgo_pad1 [4]byte + FapExpr uintptr +} /* sqlite3.c:19462:5 */ + +// This macro is used inside of assert() statements to indicate that +// the assert is only valid on a well-formed database. Instead of: +// +// assert( X ); +// +// One writes: +// +// assert( X || CORRUPT_DB ); +// +// CORRUPT_DB is true during normal operation. CORRUPT_DB does not indicate +// that the database is definitely corrupt, only that it might be corrupt. +// For most test cases, CORRUPT_DB is set to false using a special +// sqlite3_test_control(). This enables assert() statements to prove +// things that are always true for well-formed databases. + +// Context pointer passed down through the tree-walk. +type RenameCtx1 = struct { + FpList uintptr + FnList int32 + FiCol int32 + FpTab uintptr + FzOld uintptr +} /* sqlite3.c:19463:5 */ + +//************* End of sqliteInt.h ****************************************** +//************* Begin file global.c ***************************************** +// 2008 June 13 +// +// 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 definitions of global variables and constants. +// #include "sqliteInt.h" + +// An array to map all upper-case characters into their corresponding +// lower-case character. +// +// SQLite only considers US-ASCII (or EBCDIC) characters. We do not +// handle case conversions for the UTF character set since the tables +// involved are nearly as big or bigger than SQLite itself. +var Xsqlite3UpperToLower = [274]uint8{ + uint8(0), uint8(1), uint8(2), uint8(3), uint8(4), uint8(5), uint8(6), uint8(7), uint8(8), uint8(9), uint8(10), uint8(11), uint8(12), uint8(13), uint8(14), uint8(15), uint8(16), uint8(17), + uint8(18), uint8(19), uint8(20), uint8(21), uint8(22), uint8(23), uint8(24), uint8(25), uint8(26), uint8(27), uint8(28), uint8(29), uint8(30), uint8(31), uint8(32), uint8(33), uint8(34), uint8(35), + uint8(36), uint8(37), uint8(38), uint8(39), uint8(40), uint8(41), uint8(42), uint8(43), uint8(44), uint8(45), uint8(46), uint8(47), uint8(48), uint8(49), uint8(50), uint8(51), uint8(52), uint8(53), + uint8(54), uint8(55), uint8(56), uint8(57), uint8(58), uint8(59), uint8(60), uint8(61), uint8(62), uint8(63), uint8(64), uint8(97), uint8(98), uint8(99), uint8(100), uint8(101), uint8(102), uint8(103), + uint8(104), uint8(105), uint8(106), uint8(107), uint8(108), uint8(109), uint8(110), uint8(111), uint8(112), uint8(113), uint8(114), uint8(115), uint8(116), uint8(117), uint8(118), uint8(119), uint8(120), uint8(121), + uint8(122), uint8(91), uint8(92), uint8(93), uint8(94), uint8(95), uint8(96), uint8(97), uint8(98), uint8(99), uint8(100), uint8(101), uint8(102), uint8(103), uint8(104), uint8(105), uint8(106), uint8(107), + uint8(108), uint8(109), uint8(110), uint8(111), uint8(112), uint8(113), uint8(114), uint8(115), uint8(116), uint8(117), uint8(118), uint8(119), uint8(120), uint8(121), uint8(122), uint8(123), uint8(124), uint8(125), + uint8(126), uint8(127), uint8(128), uint8(129), uint8(130), uint8(131), uint8(132), uint8(133), uint8(134), uint8(135), uint8(136), uint8(137), uint8(138), uint8(139), uint8(140), uint8(141), uint8(142), uint8(143), + uint8(144), uint8(145), uint8(146), uint8(147), uint8(148), uint8(149), uint8(150), uint8(151), uint8(152), uint8(153), uint8(154), uint8(155), uint8(156), uint8(157), uint8(158), uint8(159), uint8(160), uint8(161), + uint8(162), uint8(163), uint8(164), uint8(165), uint8(166), uint8(167), uint8(168), uint8(169), uint8(170), uint8(171), uint8(172), uint8(173), uint8(174), uint8(175), uint8(176), uint8(177), uint8(178), uint8(179), + uint8(180), uint8(181), uint8(182), uint8(183), uint8(184), uint8(185), uint8(186), uint8(187), uint8(188), uint8(189), uint8(190), uint8(191), uint8(192), uint8(193), uint8(194), uint8(195), uint8(196), uint8(197), + uint8(198), uint8(199), uint8(200), uint8(201), uint8(202), uint8(203), uint8(204), uint8(205), uint8(206), uint8(207), uint8(208), uint8(209), uint8(210), uint8(211), uint8(212), uint8(213), uint8(214), uint8(215), + uint8(216), uint8(217), uint8(218), uint8(219), uint8(220), uint8(221), uint8(222), uint8(223), uint8(224), uint8(225), uint8(226), uint8(227), uint8(228), uint8(229), uint8(230), uint8(231), uint8(232), uint8(233), + uint8(234), uint8(235), uint8(236), uint8(237), uint8(238), uint8(239), uint8(240), uint8(241), uint8(242), uint8(243), uint8(244), uint8(245), uint8(246), uint8(247), uint8(248), uint8(249), uint8(250), uint8(251), + uint8(252), uint8(253), uint8(254), uint8(255), + // All of the upper-to-lower conversion data is above. The following + // 18 integers are completely unrelated. They are appended to the + // sqlite3UpperToLower[] array to avoid UBSAN warnings. Here's what is + // going on: + // + // The SQL comparison operators (<>, =, >, <=, <, and >=) are implemented + // by invoking sqlite3MemCompare(A,B) which compares values A and B and + // returns negative, zero, or positive if A is less then, equal to, or + // greater than B, respectively. Then the true false results is found by + // consulting sqlite3aLTb[opcode], sqlite3aEQb[opcode], or + // sqlite3aGTb[opcode] depending on whether the result of compare(A,B) + // is negative, zero, or positive, where opcode is the specific opcode. + // The only works because the comparison opcodes are consecutive and in + // this order: NE EQ GT LE LT GE. Various assert()s throughout the code + // ensure that is the case. + // + // These elements must be appended to another array. Otherwise the + // index (here shown as [256-OP_Ne]) would be out-of-bounds and thus + // be undefined behavior. That's goofy, but the C-standards people thought + // it was a good idea, so here we are. + // NE EQ GT LE LT GE + uint8(1), uint8(0), uint8(0), uint8(1), uint8(1), uint8(0), // aLTb[]: Use when compare(A,B) less than zero + uint8(0), uint8(1), uint8(0), uint8(1), uint8(0), uint8(1), // aEQb[]: Use when compare(A,B) equals zero + uint8(1), uint8(0), uint8(1), uint8(0), uint8(0), uint8(1), // aGTb[]: Use when compare(A,B) greater than zero +} /* sqlite3.c:20818:36 */ +var Xsqlite3aLTb uintptr = 0 /* sqlite3.c:20880:36 */ +var Xsqlite3aEQb uintptr = 0 /* sqlite3.c:20881:36 */ +var Xsqlite3aGTb uintptr = 0 /* sqlite3.c:20882:36 */ + +// The following 256 byte lookup table is used to support SQLites built-in +// equivalents to the following standard library functions: +// +// isspace() 0x01 +// isalpha() 0x02 +// isdigit() 0x04 +// isalnum() 0x06 +// isxdigit() 0x08 +// toupper() 0x20 +// SQLite identifier character 0x40 +// Quote character 0x80 +// +// Bit 0x20 is set if the mapped character requires translation to upper +// case. i.e. if the character is a lower-case ASCII character. +// If x is a lower-case ASCII character, then its upper-case equivalent +// is (x - 0x20). Therefore toupper() can be implemented as: +// +// (x & ~(map[x]&0x20)) +// +// The equivalent of tolower() is implemented using the sqlite3UpperToLower[] +// array. tolower() is used more often than toupper() by SQLite. +// +// Bit 0x40 is set if the character is non-alphanumeric and can be used in an +// SQLite identifier. Identifiers are alphanumerics, "_", "$", and any +// non-ASCII UTF character. Hence the test for whether or not a character is +// part of an identifier is 0x46. +var Xsqlite3CtypeMap = [256]uint8{ + uint8(0x00), uint8(0x00), uint8(0x00), uint8(0x00), uint8(0x00), uint8(0x00), uint8(0x00), uint8(0x00), // 00..07 ........ + uint8(0x00), uint8(0x01), uint8(0x01), uint8(0x01), uint8(0x01), uint8(0x01), uint8(0x00), uint8(0x00), // 08..0f ........ + uint8(0x00), uint8(0x00), uint8(0x00), uint8(0x00), uint8(0x00), uint8(0x00), uint8(0x00), uint8(0x00), // 10..17 ........ + uint8(0x00), uint8(0x00), uint8(0x00), uint8(0x00), uint8(0x00), uint8(0x00), uint8(0x00), uint8(0x00), // 18..1f ........ + uint8(0x01), uint8(0x00), uint8(0x80), uint8(0x00), uint8(0x40), uint8(0x00), uint8(0x00), uint8(0x80), // 20..27 !"#$%&' + uint8(0x00), uint8(0x00), uint8(0x00), uint8(0x00), uint8(0x00), uint8(0x00), uint8(0x00), uint8(0x00), // 28..2f ()*+,-./ + uint8(0x0c), uint8(0x0c), uint8(0x0c), uint8(0x0c), uint8(0x0c), uint8(0x0c), uint8(0x0c), uint8(0x0c), // 30..37 01234567 + uint8(0x0c), uint8(0x0c), uint8(0x00), uint8(0x00), uint8(0x00), uint8(0x00), uint8(0x00), uint8(0x00), // 38..3f 89:;<=>? + + uint8(0x00), uint8(0x0a), uint8(0x0a), uint8(0x0a), uint8(0x0a), uint8(0x0a), uint8(0x0a), uint8(0x02), // 40..47 @ABCDEFG + uint8(0x02), uint8(0x02), uint8(0x02), uint8(0x02), uint8(0x02), uint8(0x02), uint8(0x02), uint8(0x02), // 48..4f HIJKLMNO + uint8(0x02), uint8(0x02), uint8(0x02), uint8(0x02), uint8(0x02), uint8(0x02), uint8(0x02), uint8(0x02), // 50..57 PQRSTUVW + uint8(0x02), uint8(0x02), uint8(0x02), uint8(0x80), uint8(0x00), uint8(0x00), uint8(0x00), uint8(0x40), // 58..5f XYZ[\]^_ + uint8(0x80), uint8(0x2a), uint8(0x2a), uint8(0x2a), uint8(0x2a), uint8(0x2a), uint8(0x2a), uint8(0x22), // 60..67 `abcdefg + uint8(0x22), uint8(0x22), uint8(0x22), uint8(0x22), uint8(0x22), uint8(0x22), uint8(0x22), uint8(0x22), // 68..6f hijklmno + uint8(0x22), uint8(0x22), uint8(0x22), uint8(0x22), uint8(0x22), uint8(0x22), uint8(0x22), uint8(0x22), // 70..77 pqrstuvw + uint8(0x22), uint8(0x22), uint8(0x22), uint8(0x00), uint8(0x00), uint8(0x00), uint8(0x00), uint8(0x00), // 78..7f xyz{|}~. + + uint8(0x40), uint8(0x40), uint8(0x40), uint8(0x40), uint8(0x40), uint8(0x40), uint8(0x40), uint8(0x40), // 80..87 ........ + uint8(0x40), uint8(0x40), uint8(0x40), uint8(0x40), uint8(0x40), uint8(0x40), uint8(0x40), uint8(0x40), // 88..8f ........ + uint8(0x40), uint8(0x40), uint8(0x40), uint8(0x40), uint8(0x40), uint8(0x40), uint8(0x40), uint8(0x40), // 90..97 ........ + uint8(0x40), uint8(0x40), uint8(0x40), uint8(0x40), uint8(0x40), uint8(0x40), uint8(0x40), uint8(0x40), // 98..9f ........ + uint8(0x40), uint8(0x40), uint8(0x40), uint8(0x40), uint8(0x40), uint8(0x40), uint8(0x40), uint8(0x40), // a0..a7 ........ + uint8(0x40), uint8(0x40), uint8(0x40), uint8(0x40), uint8(0x40), uint8(0x40), uint8(0x40), uint8(0x40), // a8..af ........ + uint8(0x40), uint8(0x40), uint8(0x40), uint8(0x40), uint8(0x40), uint8(0x40), uint8(0x40), uint8(0x40), // b0..b7 ........ + uint8(0x40), uint8(0x40), uint8(0x40), uint8(0x40), uint8(0x40), uint8(0x40), uint8(0x40), uint8(0x40), // b8..bf ........ + + uint8(0x40), uint8(0x40), uint8(0x40), uint8(0x40), uint8(0x40), uint8(0x40), uint8(0x40), uint8(0x40), // c0..c7 ........ + uint8(0x40), uint8(0x40), uint8(0x40), uint8(0x40), uint8(0x40), uint8(0x40), uint8(0x40), uint8(0x40), // c8..cf ........ + uint8(0x40), uint8(0x40), uint8(0x40), uint8(0x40), uint8(0x40), uint8(0x40), uint8(0x40), uint8(0x40), // d0..d7 ........ + uint8(0x40), uint8(0x40), uint8(0x40), uint8(0x40), uint8(0x40), uint8(0x40), uint8(0x40), uint8(0x40), // d8..df ........ + uint8(0x40), uint8(0x40), uint8(0x40), uint8(0x40), uint8(0x40), uint8(0x40), uint8(0x40), uint8(0x40), // e0..e7 ........ + uint8(0x40), uint8(0x40), uint8(0x40), uint8(0x40), uint8(0x40), uint8(0x40), uint8(0x40), uint8(0x40), // e8..ef ........ + uint8(0x40), uint8(0x40), uint8(0x40), uint8(0x40), uint8(0x40), uint8(0x40), uint8(0x40), uint8(0x40), // f0..f7 ........ + uint8(0x40), uint8(0x40), uint8(0x40), uint8(0x40), uint8(0x40), uint8(0x40), uint8(0x40), uint8(0x40), // f8..ff ........ +} /* sqlite3.c:20912:36 */ + +// EVIDENCE-OF: R-02982-34736 In order to maintain full backwards +// compatibility for legacy applications, the URI filename capability is +// disabled by default. +// +// EVIDENCE-OF: R-38799-08373 URI filenames can be enabled or disabled +// using the SQLITE_USE_URI=1 or SQLITE_USE_URI=0 compile-time options. +// +// EVIDENCE-OF: R-43642-56306 By default, URI handling is globally +// disabled. The default value may be changed by compiling with the +// SQLITE_USE_URI symbol defined. + +// EVIDENCE-OF: R-38720-18127 The default setting is determined by the +// SQLITE_ALLOW_COVERING_INDEX_SCAN compile-time option, or is "on" if +// that compile-time option is omitted. + +// The minimum PMA size is set to this value multiplied by the database +// page size in bytes. + +// Statement journals spill to disk when their size exceeds the following +// threshold (in bytes). 0 means that statement journals are created and +// written to disk immediately (the default behavior for SQLite versions +// before 3.12.0). -1 means always keep the entire statement journal in +// memory. (The statement journal is also always held entirely in memory +// if journal_mode=MEMORY or if temp_store=MEMORY, regardless of this +// setting.) + +// The default lookaside-configuration, the format "SZ,N". SZ is the +// number of bytes in each lookaside slot (should be a multiple of 8) +// and N is the number of slots. The lookaside-configuration can be +// changed as start-time using sqlite3_config(SQLITE_CONFIG_LOOKASIDE) +// or at run-time for an individual database connection using +// sqlite3_db_config(db, SQLITE_DBCONFIG_LOOKASIDE); +// +// With the two-size-lookaside enhancement, less lookaside is required. +// The default configuration of 1200,40 actually provides 30 1200-byte slots +// and 93 128-byte slots, which is more lookaside than is available +// using the older 1200,100 configuration without two-size-lookaside. + +// The default maximum size of an in-memory database created using +// sqlite3_deserialize() + +// The following singleton contains the global configuration for +// the SQLite library. +var Xsqlite3Config = Sqlite3Config{ + FbMemstat: SQLITE_DEFAULT_MEMSTATUS, // bMemstat + FbCoreMutex: U8(1), // bCoreMutex + FbFullMutex: (U8(libc.Bool32(SQLITE_THREADSAFE == 1))), // bOpenUri + FbUseCis: U8(SQLITE_ALLOW_COVERING_INDEX_SCAN), // bSmallMalloc + FbExtraSchemaChecks: U8(1), // bExtraSchemaChecks + FmxStrlen: 0x7ffffffe, // neverCorrupt + FszLookaside: 1200, FnLookaside: 40, // szLookaside, nLookaside + FnStmtSpill: (64 * 1024), // szPage + FnPage: SQLITE_DEFAULT_PCACHE_INITSZ, // sharedCacheEnabled + FszPma: U32(SQLITE_SORTER_PMASZ), // pLogArg + FmxMemdbSize: int64(SQLITE_MEMDB_DEFAULT_MAXSIZE), // bLocaltimeFault + FiOnceResetThreshold: 0x7ffffffe, // iOnceResetThreshold + FszSorterRef: U32(SQLITE_DEFAULT_SORTERREF_SIZE), // iPrngSeed +} /* sqlite3.c:21032:48 */ + +// Hash table for global functions - functions common to all +// database connections. After initialization, this table is +// read-only. +var Xsqlite3BuiltinFunctions FuncDefHash /* sqlite3.c:21093:28: */ + +// The value of the "pending" byte must be 0x40000000 (1 byte past the +// 1-gibabyte boundary) in a compatible database. SQLite never uses +// the database page that contains the pending byte. It never attempts +// to read or write that page. The pending byte page is set aside +// for use by the VFS layers as space for managing file locks. +// +// During testing, it is often desirable to move the pending byte to +// a different position in the file. This allows code that has to +// deal with the pending byte to run on files that are much smaller +// than 1 GiB. The sqlite3_test_control() interface can be used to +// move the pending byte. +// +// IMPORTANT: Changing the pending byte to any value other than +// 0x40000000 results in an incompatible database file format! +// Changing the pending byte during operation will result in undefined +// and incorrect behavior. +var Xsqlite3PendingByte int32 = 0x40000000 /* sqlite3.c:21122:20 */ + +// Tracing flags set by SQLITE_TESTCTRL_TRACEFLAGS. +var Xsqlite3SelectTrace U32 = U32(0) /* sqlite3.c:21128:20 */ +var Xsqlite3WhereTrace U32 = U32(0) /* sqlite3.c:21129:20 */ + +// #include "opcodes.h" +// Properties of opcodes. The OPFLG_INITIALIZER macro is +// created by mkopcodeh.awk during compilation. Data is obtained +// from the comments following the "case OP_xxxx:" statements in +// the vdbe.c file. +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 + 318 /* "BINARY" */)) /* sqlite3.c:21143:27 */ + +//************* End of global.c ********************************************* +//************* Begin file status.c ***************************************** +// 2008 June 18 +// +// 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 module implements the sqlite3_status() interface and related +// functionality. +// #include "sqliteInt.h" +//************* Include vdbeInt.h in the middle of status.c ***************** +//************* Begin file vdbeInt.h **************************************** +// 2003 September 6 +// +// 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 is the header file for information that is private to the +// VDBE. This information used to all be at the top of the single +// source code file "vdbe.c". When that file became too big (over +// 6000 lines long) it was split up into several smaller files and +// this header information was factored out. + +// The maximum number of times that a statement will try to reparse +// itself before giving up and returning SQLITE_SCHEMA. + +// VDBE_DISPLAY_P4 is true or false depending on whether or not the +// "explain" P4 display logic is enabled. + +// SQL is translated into a sequence of instructions to be +// executed by a virtual machine. Each instruction is an instance +// of the following structure. +type Op = VdbeOp1 /* sqlite3.c:21210:23 */ + +// Boolean values +type Bool = uint32 /* sqlite3.c:21215:18 */ + +// Opaque type used by code in vdbesort.c +type VdbeSorter1 = struct { + FmnPmaSize int32 + FmxPmaSize int32 + FmxKeysize int32 + Fpgsz int32 + FpReader uintptr + FpMerger uintptr + Fdb uintptr + FpKeyInfo uintptr + FpUnpacked uintptr + Flist SorterList + FiMemory int32 + FnMemory int32 + FbUsePMA U8 + FbUseThreads U8 + FiPrev U8 + FnTask U8 + FtypeMask U8 + F__ccgo_pad1 [3]byte + FaTask [1]SortSubtask +} /* sqlite3.c:21218:9 */ + +// Opaque type used by code in vdbesort.c +type VdbeSorter = VdbeSorter1 /* sqlite3.c:21218:27 */ + +// Elements of the linked list at Vdbe.pAuxData +type AuxData1 = struct { + FiAuxOp int32 + FiAuxArg int32 + FpAux uintptr + FxDeleteAux uintptr + FpNextAux uintptr +} /* sqlite3.c:1331:9 */ + +// Elements of the linked list at Vdbe.pAuxData +type AuxData = AuxData1 /* sqlite3.c:21221:24 */ + +// Types of VDBE cursors + +// A VdbeCursor is an superclass (a wrapper) for various cursor objects: +// +// * A b-tree cursor +// - In the main database or in an ephemeral database +// - On either an index or a table +// * A sorter +// * A virtual table +// * A one-row "pseudotable" stored in a single register +type VdbeCursor1 = struct { + FeCurType U8 + FiDb I8 + FnullRow U8 + FdeferredMoveto U8 + FisTable U8 + F__ccgo_pad1 [3]byte + FisEphemeral uint8 /* Bool isEphemeral: 1, Bool useRandomRowid: 1, Bool isOrdered: 1, Bool hasBeenDuped: 1 */ + F__ccgo_pad2 [1]byte + FseekHit U16 + F__ccgo_pad3 [4]byte + FpBtx uintptr + FseqCount I64 + FaAltMap uintptr + FcacheStatus U32 + FseekResult int32 + FpAltCursor uintptr + Fuc struct{ FpCursor uintptr } + FpKeyInfo uintptr + FiHdrOffset U32 + FpgnoRoot Pgno + FnField I16 + FnHdrParsed U16 + F__ccgo_pad4 [4]byte + FmovetoTarget I64 + FaOffset uintptr + FaRow uintptr + FpayloadSize U32 + FszRow U32 + FaType [1]U32 + F__ccgo_pad5 [4]byte +} /* sqlite3.c:1331:9 */ + +// Types of VDBE cursors + +// A VdbeCursor is an superclass (a wrapper) for various cursor objects: +// +// * A b-tree cursor +// - In the main database or in an ephemeral database +// - On either an index or a table +// * A sorter +// * A virtual table +// * A one-row "pseudotable" stored in a single register +type VdbeCursor = VdbeCursor1 /* sqlite3.c:21239:27 */ + +// A value for VdbeCursor.cacheStatus that means the cache is always invalid. + +// When a sub-program is executed (OP_Program), a structure of this type +// is allocated to store the current value of the program counter, as +// well as the current memory cell array and various other frame specific +// values stored in the Vdbe struct. When the sub-program is finished, +// these values are copied back to the Vdbe from the VdbeFrame structure, +// restoring the state of the VM to as it was before the sub-program +// began executing. +// +// The memory for a VdbeFrame object is allocated and managed by a memory +// cell in the parent (calling) frame. When the memory cell is deleted or +// overwritten, the VdbeFrame object is not freed immediately. Instead, it +// is linked into the Vdbe.pDelFrame list. The contents of the Vdbe.pDelFrame +// list is deleted when the VM is reset in VdbeHalt(). The reason for doing +// this instead of deleting the VdbeFrame immediately is to avoid recursive +// calls to sqlite3VdbeMemRelease() when the memory cells belonging to the +// child frame are released. +// +// The currently executing frame is stored in Vdbe.pFrame. Vdbe.pFrame is +// set to NULL if the currently executing frame is the main program. +type VdbeFrame1 = struct { + Fv uintptr + FpParent uintptr + FaOp uintptr + FanExec uintptr + FaMem uintptr + FapCsr uintptr + FaOnce uintptr + Ftoken uintptr + FlastRowid I64 + FpAuxData uintptr + FnCursor int32 + Fpc int32 + FnOp int32 + FnMem int32 + FnChildMem int32 + FnChildCsr int32 + FnChange int32 + FnDbChange int32 +} /* sqlite3.c:1331:9 */ + +// A value for VdbeCursor.cacheStatus that means the cache is always invalid. + +// When a sub-program is executed (OP_Program), a structure of this type +// is allocated to store the current value of the program counter, as +// well as the current memory cell array and various other frame specific +// values stored in the Vdbe struct. When the sub-program is finished, +// these values are copied back to the Vdbe from the VdbeFrame structure, +// restoring the state of the VM to as it was before the sub-program +// began executing. +// +// The memory for a VdbeFrame object is allocated and managed by a memory +// cell in the parent (calling) frame. When the memory cell is deleted or +// overwritten, the VdbeFrame object is not freed immediately. Instead, it +// is linked into the Vdbe.pDelFrame list. The contents of the Vdbe.pDelFrame +// list is deleted when the VM is reset in VdbeHalt(). The reason for doing +// this instead of deleting the VdbeFrame immediately is to avoid recursive +// calls to sqlite3VdbeMemRelease() when the memory cells belonging to the +// child frame are released. +// +// The currently executing frame is stored in Vdbe.pFrame. Vdbe.pFrame is +// set to NULL if the currently executing frame is the main program. +type VdbeFrame = VdbeFrame1 /* sqlite3.c:21326:26 */ + +// Magic number for sanity checking on VdbeFrame objects + +// Return a pointer to the array of registers allocated for use +// by a VdbeFrame. + +// Internally, the vdbe manipulates nearly all SQL values as Mem +// structures. Each Mem struct may cache multiple representations (string, +// integer etc.) of the same value. +type MemValue = struct{ Fr float64 } /* sqlite3.c:1331:9 */ + +// A bitfield type for use inside of structures. Always follow with :N where +// N is the number of bits. +type Bft = uint32 /* sqlite3.c:21509:18 */ // Bit Field Type + +// The ScanStatus object holds a single value for the +// sqlite3_stmt_scanstatus() interface. +type ScanStatus1 = struct { + FaddrExplain int32 + FaddrLoop int32 + FaddrVisit int32 + FiSelectID int32 + FnEst LogEst + F__ccgo_pad1 [6]byte + FzName uintptr +} /* sqlite3.c:21514:9 */ + +// Bit Field Type + +// The ScanStatus object holds a single value for the +// sqlite3_stmt_scanstatus() interface. +type ScanStatus = ScanStatus1 /* sqlite3.c:21514:27 */ + +// The DblquoteStr object holds the text of a double-quoted +// string for a prepared statement. A linked list of these objects +// is constructed during statement parsing and is held on Vdbe.pDblStr. +// When computing a normalized SQL statement for an SQL statement, that +// list is consulted for each double-quoted identifier to see if the +// identifier should really be a string literal. +type DblquoteStr1 = struct { + FpNextStr uintptr + Fz [8]int8 +} /* sqlite3.c:21531:9 */ + +// The DblquoteStr object holds the text of a double-quoted +// string for a prepared statement. A linked list of these objects +// is constructed during statement parsing and is held on Vdbe.pDblStr. +// When computing a normalized SQL statement for an SQL statement, that +// list is consulted for each double-quoted identifier to see if the +// identifier should really be a string literal. +type DblquoteStr = DblquoteStr1 /* sqlite3.c:21531:28 */ + +//************* End of vdbeInt.h ******************************************** +//************* Continuing where we left off in status.c ******************** + +// Variables in which to record status information. +type Sqlite3StatValueType = Sqlite3_int64 /* sqlite3.c:21799:23 */ +type sqlite3StatType = struct { + FnowValue [10]Sqlite3StatValueType + FmxValue [10]Sqlite3StatValueType +} /* sqlite3.c:21803:9 */ + +type Sqlite3StatType = sqlite3StatType /* sqlite3.c:21803:32 */ +var sqlite3Stat = sqlite3StatType{} /* sqlite3.c:21807:3 */ + +// Elements of sqlite3Stat[] are protected by either the memory allocator +// mutex, or by the pcache1 mutex. The following array determines which. +var statMutex = [10]int8{ + int8(0), // SQLITE_STATUS_MEMORY_USED + int8(1), // SQLITE_STATUS_PAGECACHE_USED + int8(1), // SQLITE_STATUS_PAGECACHE_OVERFLOW + int8(0), // SQLITE_STATUS_SCRATCH_USED + int8(0), // SQLITE_STATUS_SCRATCH_OVERFLOW + int8(0), // SQLITE_STATUS_MALLOC_SIZE + int8(0), // SQLITE_STATUS_PARSER_STACK + int8(1), // SQLITE_STATUS_PAGECACHE_SIZE + int8(0), // SQLITE_STATUS_SCRATCH_SIZE + int8(0), // SQLITE_STATUS_MALLOC_COUNT +} /* sqlite3.c:21813:19 */ + +// The "wsdStat" macro will resolve to the status information +// state vector. If writable static data is unsupported on the target, +// we have to locate the state vector at run-time. In the more common +// case where writable static data is supported, wsdStat can refer directly +// to the "sqlite3Stat" state vector declared above. + +// Return the current value of a status parameter. The caller must +// be holding the appropriate mutex. +func Xsqlite3StatusValue(tls *libc.TLS, op int32) Sqlite3_int64 { /* sqlite3.c:21845:30: */ + + return *(*Sqlite3StatValueType)(unsafe.Pointer((uintptr(unsafe.Pointer(&sqlite3Stat)) /* &.nowValue */) + uintptr(op)*8)) +} + +// Add N to the value of a status record. The caller must hold the +// appropriate mutex. (Locking is checked by assert()). +// +// The StatusUp() routine can accept positive or negative values for N. +// The value of N is added to the current status value and the high-water +// mark is adjusted if necessary. +// +// The StatusDown() routine lowers the current value by N. The highwater +// mark is unchanged. N must be non-negative for StatusDown(). +func Xsqlite3StatusUp(tls *libc.TLS, op int32, N int32) { /* sqlite3.c:21865:21: */ + + *(*Sqlite3StatValueType)(unsafe.Pointer((uintptr(unsafe.Pointer(&sqlite3Stat)) /* &.nowValue */) + uintptr(op)*8)) += (Sqlite3StatValueType(N)) + if *(*Sqlite3StatValueType)(unsafe.Pointer((uintptr(unsafe.Pointer(&sqlite3Stat)) /* &.nowValue */) + uintptr(op)*8)) > *(*Sqlite3StatValueType)(unsafe.Pointer((uintptr(unsafe.Pointer(&sqlite3Stat)) + 80 /* &.mxValue */) + uintptr(op)*8)) { + *(*Sqlite3StatValueType)(unsafe.Pointer((uintptr(unsafe.Pointer(&sqlite3Stat)) + 80 /* &.mxValue */) + uintptr(op)*8)) = *(*Sqlite3StatValueType)(unsafe.Pointer((uintptr(unsafe.Pointer(&sqlite3Stat)) /* &.nowValue */) + uintptr(op)*8)) + } +} + +func Xsqlite3StatusDown(tls *libc.TLS, op int32, N int32) { /* sqlite3.c:21876:21: */ + + *(*Sqlite3StatValueType)(unsafe.Pointer((uintptr(unsafe.Pointer(&sqlite3Stat)) /* &.nowValue */) + uintptr(op)*8)) -= (Sqlite3StatValueType(N)) +} + +// Adjust the highwater mark if necessary. +// The caller must hold the appropriate mutex. +func Xsqlite3StatusHighwater(tls *libc.TLS, op int32, X int32) { /* sqlite3.c:21890:21: */ + var newValue Sqlite3StatValueType + + newValue = Sqlite3StatValueType(X) + + if newValue > *(*Sqlite3StatValueType)(unsafe.Pointer((uintptr(unsafe.Pointer(&sqlite3Stat)) + 80 /* &.mxValue */) + uintptr(op)*8)) { + *(*Sqlite3StatValueType)(unsafe.Pointer((uintptr(unsafe.Pointer(&sqlite3Stat)) + 80 /* &.mxValue */) + uintptr(op)*8)) = newValue + } +} + +// Query status information. +func Xsqlite3_status64(tls *libc.TLS, op int32, pCurrent uintptr, pHighwater uintptr, resetFlag int32) int32 { /* sqlite3.c:21910:16: */ + var pMutex uintptr + _ = pMutex + + if (op < 0) || (op >= (int32(uint64(unsafe.Sizeof([10]Sqlite3StatValueType{})) / uint64(unsafe.Sizeof(Sqlite3StatValueType(0)))))) { + return Xsqlite3MisuseError(tls, 21919) + } + if statMutex[op] != 0 { + pMutex = Xsqlite3Pcache1Mutex(tls) + } else { + pMutex = Xsqlite3MallocMutex(tls) + } + Xsqlite3_mutex_enter(tls, pMutex) + *(*Sqlite3_int64)(unsafe.Pointer(pCurrent)) = *(*Sqlite3StatValueType)(unsafe.Pointer((uintptr(unsafe.Pointer(&sqlite3Stat)) /* &.nowValue */) + uintptr(op)*8)) + *(*Sqlite3_int64)(unsafe.Pointer(pHighwater)) = *(*Sqlite3StatValueType)(unsafe.Pointer((uintptr(unsafe.Pointer(&sqlite3Stat)) + 80 /* &.mxValue */) + uintptr(op)*8)) + if resetFlag != 0 { + *(*Sqlite3StatValueType)(unsafe.Pointer((uintptr(unsafe.Pointer(&sqlite3Stat)) + 80 /* &.mxValue */) + uintptr(op)*8)) = *(*Sqlite3StatValueType)(unsafe.Pointer((uintptr(unsafe.Pointer(&sqlite3Stat)) /* &.nowValue */) + uintptr(op)*8)) + } + Xsqlite3_mutex_leave(tls, pMutex) + _ = pMutex // Prevent warning when SQLITE_THREADSAFE=0 + return SQLITE_OK +} + +func Xsqlite3_status(tls *libc.TLS, op int32, pCurrent uintptr, pHighwater uintptr, resetFlag int32) int32 { /* sqlite3.c:21935:16: */ + bp := tls.Alloc(16) + defer tls.Free(16) + + *(*Sqlite3_int64)(unsafe.Pointer(bp /* iCur */)) = int64(0) + *(*Sqlite3_int64)(unsafe.Pointer(bp + 8 /* iHwtr */)) = int64(0) + var rc int32 + rc = Xsqlite3_status64(tls, op, bp /* &iCur */, bp+8 /* &iHwtr */, resetFlag) + if rc == 0 { + *(*int32)(unsafe.Pointer(pCurrent)) = int32(*(*Sqlite3_int64)(unsafe.Pointer(bp /* iCur */))) + *(*int32)(unsafe.Pointer(pHighwater)) = int32(*(*Sqlite3_int64)(unsafe.Pointer(bp + 8 /* iHwtr */))) + } + return rc +} + +// Return the number of LookasideSlot elements on the linked list +func countLookasideSlots(tls *libc.TLS, p uintptr) U32 { /* sqlite3.c:21952:12: */ + var cnt U32 = U32(0) + for p != 0 { + p = (*LookasideSlot)(unsafe.Pointer(p)).FpNext + cnt++ + } + return cnt +} + +// Count the number of slots of lookaside memory that are outstanding +func Xsqlite3LookasideUsed(tls *libc.TLS, db uintptr, pHighwater uintptr) int32 { /* sqlite3.c:21964:20: */ + var nInit U32 = countLookasideSlots(tls, (*Sqlite3)(unsafe.Pointer(db)).Flookaside.FpInit) + var nFree U32 = countLookasideSlots(tls, (*Sqlite3)(unsafe.Pointer(db)).Flookaside.FpFree) + nInit = nInit + (countLookasideSlots(tls, (*Sqlite3)(unsafe.Pointer(db)).Flookaside.FpSmallInit)) + nFree = nFree + (countLookasideSlots(tls, (*Sqlite3)(unsafe.Pointer(db)).Flookaside.FpSmallFree)) + if pHighwater != 0 { + *(*int32)(unsafe.Pointer(pHighwater)) = (int32((*Sqlite3)(unsafe.Pointer(db)).Flookaside.FnSlot - nInit)) + } + return (int32((*Sqlite3)(unsafe.Pointer(db)).Flookaside.FnSlot - (nInit + nFree))) +} + +// Query status information for a single database connection +func Xsqlite3_db_status(tls *libc.TLS, db uintptr, op int32, pCurrent uintptr, pHighwater uintptr, resetFlag int32) int32 { /* sqlite3.c:21978:16: */ + bp := tls.Alloc(12) + defer tls.Free(12) + + var rc int32 = SQLITE_OK // Return code + Xsqlite3_mutex_enter(tls, (*Sqlite3)(unsafe.Pointer(db)).Fmutex) + switch op { + case SQLITE_DBSTATUS_LOOKASIDE_USED: + { + *(*int32)(unsafe.Pointer(pCurrent)) = Xsqlite3LookasideUsed(tls, db, pHighwater) + if resetFlag != 0 { + var p uintptr = (*Sqlite3)(unsafe.Pointer(db)).Flookaside.FpFree + if p != 0 { + for (*LookasideSlot)(unsafe.Pointer(p)).FpNext != 0 { + p = (*LookasideSlot)(unsafe.Pointer(p)).FpNext + } + (*LookasideSlot)(unsafe.Pointer(p)).FpNext = (*Sqlite3)(unsafe.Pointer(db)).Flookaside.FpInit + (*Sqlite3)(unsafe.Pointer(db)).Flookaside.FpInit = (*Sqlite3)(unsafe.Pointer(db)).Flookaside.FpFree + (*Sqlite3)(unsafe.Pointer(db)).Flookaside.FpFree = uintptr(0) + } + p = (*Sqlite3)(unsafe.Pointer(db)).Flookaside.FpSmallFree + if p != 0 { + for (*LookasideSlot)(unsafe.Pointer(p)).FpNext != 0 { + p = (*LookasideSlot)(unsafe.Pointer(p)).FpNext + } + (*LookasideSlot)(unsafe.Pointer(p)).FpNext = (*Sqlite3)(unsafe.Pointer(db)).Flookaside.FpSmallInit + (*Sqlite3)(unsafe.Pointer(db)).Flookaside.FpSmallInit = (*Sqlite3)(unsafe.Pointer(db)).Flookaside.FpSmallFree + (*Sqlite3)(unsafe.Pointer(db)).Flookaside.FpSmallFree = uintptr(0) + } + } + break + + } + + case SQLITE_DBSTATUS_LOOKASIDE_HIT: + fallthrough + case SQLITE_DBSTATUS_LOOKASIDE_MISS_SIZE: + fallthrough + case SQLITE_DBSTATUS_LOOKASIDE_MISS_FULL: + { + + *(*int32)(unsafe.Pointer(pCurrent)) = 0 + *(*int32)(unsafe.Pointer(pHighwater)) = int32(*(*U32)(unsafe.Pointer((db + 408 /* &.lookaside */ + 16 /* &.anStat */) + uintptr((op-SQLITE_DBSTATUS_LOOKASIDE_HIT))*4))) + if resetFlag != 0 { + *(*U32)(unsafe.Pointer((db + 408 /* &.lookaside */ + 16 /* &.anStat */) + uintptr((op-SQLITE_DBSTATUS_LOOKASIDE_HIT))*4)) = U32(0) + } + break + + } + + // Return an approximation for the amount of memory currently used + // by all pagers associated with the given database connection. The + // highwater mark is meaningless and is returned as zero. + case SQLITE_DBSTATUS_CACHE_USED_SHARED: + fallthrough + case SQLITE_DBSTATUS_CACHE_USED: + { + var totalUsed int32 = 0 + var i int32 + Xsqlite3BtreeEnterAll(tls, db) + for i = 0; i < (*Sqlite3)(unsafe.Pointer(db)).FnDb; i++ { + var pBt uintptr = (*Db)(unsafe.Pointer((*Sqlite3)(unsafe.Pointer(db)).FaDb + uintptr(i)*32)).FpBt + if pBt != 0 { + var pPager uintptr = Xsqlite3BtreePager(tls, pBt) + var nByte int32 = Xsqlite3PagerMemUsed(tls, pPager) + if op == SQLITE_DBSTATUS_CACHE_USED_SHARED { + nByte = (nByte / Xsqlite3BtreeConnectionCount(tls, pBt)) + } + totalUsed = totalUsed + (nByte) + } + } + Xsqlite3BtreeLeaveAll(tls, db) + *(*int32)(unsafe.Pointer(pCurrent)) = totalUsed + *(*int32)(unsafe.Pointer(pHighwater)) = 0 + break + + } + + // *pCurrent gets an accurate estimate of the amount of memory used + // to store the schema for all databases (main, temp, and any ATTACHed + // databases. *pHighwater is set to zero. + case SQLITE_DBSTATUS_SCHEMA_USED: + { + var i int32 // Used to iterate through schemas + *(*int32)(unsafe.Pointer(bp /* nByte */)) = 0 // Used to accumulate return value + + Xsqlite3BtreeEnterAll(tls, db) + (*Sqlite3)(unsafe.Pointer(db)).FpnBytesFreed = bp /* &nByte */ + for i = 0; i < (*Sqlite3)(unsafe.Pointer(db)).FnDb; i++ { + var pSchema uintptr = (*Db)(unsafe.Pointer((*Sqlite3)(unsafe.Pointer(db)).FaDb + uintptr(i)*32)).FpSchema + if pSchema != uintptr(0) { + var p uintptr + + *(*int32)(unsafe.Pointer(bp /* nByte */)) += int32((uint32((*struct{ f func(*libc.TLS, int32) int32 })(unsafe.Pointer(&struct{ uintptr }{Xsqlite3Config.Fm.FxRoundup})).f(tls, int32(unsafe.Sizeof(HashElem{})))) * ((((*Schema)(unsafe.Pointer(pSchema)).FtblHash.Fcount + + (*Schema)(unsafe.Pointer(pSchema)).FtrigHash.Fcount) + + (*Schema)(unsafe.Pointer(pSchema)).FidxHash.Fcount) + + (*Schema)(unsafe.Pointer(pSchema)).FfkeyHash.Fcount))) + *(*int32)(unsafe.Pointer(bp /* nByte */)) += int32(Xsqlite3_msize(tls, (*Schema)(unsafe.Pointer(pSchema)).FtblHash.Fht)) + *(*int32)(unsafe.Pointer(bp /* nByte */)) += int32(Xsqlite3_msize(tls, (*Schema)(unsafe.Pointer(pSchema)).FtrigHash.Fht)) + *(*int32)(unsafe.Pointer(bp /* nByte */)) += int32(Xsqlite3_msize(tls, (*Schema)(unsafe.Pointer(pSchema)).FidxHash.Fht)) + *(*int32)(unsafe.Pointer(bp /* nByte */)) += int32(Xsqlite3_msize(tls, (*Schema)(unsafe.Pointer(pSchema)).FfkeyHash.Fht)) + + for p = (*Hash)(unsafe.Pointer((pSchema + 56 /* &.trigHash */))).Ffirst; p != 0; p = (*HashElem)(unsafe.Pointer(p)).Fnext { + Xsqlite3DeleteTrigger(tls, db, (*HashElem)(unsafe.Pointer(p)).Fdata) + } + for p = (*Hash)(unsafe.Pointer((pSchema + 8 /* &.tblHash */))).Ffirst; p != 0; p = (*HashElem)(unsafe.Pointer(p)).Fnext { + Xsqlite3DeleteTable(tls, db, (*HashElem)(unsafe.Pointer(p)).Fdata) + } + } + } + (*Sqlite3)(unsafe.Pointer(db)).FpnBytesFreed = uintptr(0) + Xsqlite3BtreeLeaveAll(tls, db) + + *(*int32)(unsafe.Pointer(pHighwater)) = 0 + *(*int32)(unsafe.Pointer(pCurrent)) = *(*int32)(unsafe.Pointer(bp /* nByte */)) + break + + } + + // *pCurrent gets an accurate estimate of the amount of memory used + // to store all prepared statements. + // *pHighwater is set to zero. + case SQLITE_DBSTATUS_STMT_USED: + { + var pVdbe uintptr // Used to iterate through VMs + *(*int32)(unsafe.Pointer(bp + 4 /* nByte */)) = 0 // Used to accumulate return value + + (*Sqlite3)(unsafe.Pointer(db)).FpnBytesFreed = bp + 4 /* &nByte */ + for pVdbe = (*Sqlite3)(unsafe.Pointer(db)).FpVdbe; pVdbe != 0; pVdbe = (*Vdbe1)(unsafe.Pointer(pVdbe)).FpNext { + Xsqlite3VdbeClearObject(tls, db, pVdbe) + Xsqlite3DbFree(tls, db, pVdbe) + } + (*Sqlite3)(unsafe.Pointer(db)).FpnBytesFreed = uintptr(0) + + *(*int32)(unsafe.Pointer(pHighwater)) = 0 // IMP: R-64479-57858 + *(*int32)(unsafe.Pointer(pCurrent)) = *(*int32)(unsafe.Pointer(bp + 4 /* nByte */)) + + break + + } + + // Set *pCurrent to the total cache hits or misses encountered by all + // pagers the database handle is connected to. *pHighwater is always set + // to zero. + case SQLITE_DBSTATUS_CACHE_SPILL: + op = (SQLITE_DBSTATUS_CACHE_WRITE + 1) + fallthrough + case SQLITE_DBSTATUS_CACHE_HIT: + fallthrough + case SQLITE_DBSTATUS_CACHE_MISS: + fallthrough + case SQLITE_DBSTATUS_CACHE_WRITE: + { + var i int32 + *(*int32)(unsafe.Pointer(bp + 8 /* nRet */)) = 0 + + for i = 0; i < (*Sqlite3)(unsafe.Pointer(db)).FnDb; i++ { + if (*Db)(unsafe.Pointer((*Sqlite3)(unsafe.Pointer(db)).FaDb+uintptr(i)*32)).FpBt != 0 { + var pPager uintptr = Xsqlite3BtreePager(tls, (*Db)(unsafe.Pointer((*Sqlite3)(unsafe.Pointer(db)).FaDb+uintptr(i)*32)).FpBt) + Xsqlite3PagerCacheStat(tls, pPager, op, resetFlag, bp+8 /* &nRet */) + } + } + *(*int32)(unsafe.Pointer(pHighwater)) = 0 // IMP: R-42420-56072 + // IMP: R-54100-20147 + // IMP: R-29431-39229 + *(*int32)(unsafe.Pointer(pCurrent)) = *(*int32)(unsafe.Pointer(bp + 8 /* nRet */)) + break + + } + + // Set *pCurrent to non-zero if there are unresolved deferred foreign + // key constraints. Set *pCurrent to zero if all foreign key constraints + // have been satisfied. The *pHighwater is always set to zero. + case SQLITE_DBSTATUS_DEFERRED_FKS: + { + *(*int32)(unsafe.Pointer(pHighwater)) = 0 // IMP: R-11967-56545 + *(*int32)(unsafe.Pointer(pCurrent)) = (libc.Bool32(((*Sqlite3)(unsafe.Pointer(db)).FnDeferredImmCons > int64(0)) || ((*Sqlite3)(unsafe.Pointer(db)).FnDeferredCons > int64(0)))) + break + + } + + default: + { + rc = SQLITE_ERROR + + } + } + Xsqlite3_mutex_leave(tls, (*Sqlite3)(unsafe.Pointer(db)).Fmutex) + return rc +} + +//************* End of status.c ********************************************* +//************* Begin file date.c ******************************************* +// 2003 October 31 +// +// 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 the C functions that implement date and time +// functions for SQLite. +// +// There is only one exported symbol in this file - the function +// sqlite3RegisterDateTimeFunctions() found at the bottom of the file. +// All other code has file scope. +// +// SQLite processes all times and dates as julian day numbers. The +// dates and times are stored as the number of days since noon +// in Greenwich on November 24, 4714 B.C. according to the Gregorian +// calendar system. +// +// 1970-01-01 00:00:00 is JD 2440587.5 +// 2000-01-01 00:00:00 is JD 2451544.5 +// +// This implementation requires years to be expressed as a 4-digit number +// which means that only dates between 0000-01-01 and 9999-12-31 can +// be represented, even though julian day numbers allow a much wider +// range of dates. +// +// The Gregorian calendar system is used for all dates and times, +// even those that predate the Gregorian calendar. Historians usually +// use the julian calendar for dates prior to 1582-10-15 and for some +// dates afterwards, depending on locale. Beware of this difference. +// +// The conversion algorithms are implemented based on descriptions +// in the following text: +// +// Jean Meeus +// Astronomical Algorithms, 2nd Edition, 1998 +// ISBN 0-943396-61-1 +// Willmann-Bell, Inc +// Richmond, Virginia (USA) +// #include "sqliteInt.h" +// #include +// #include +// $NetBSD: time.h,v 1.47 2016/10/04 09:41:41 kamil Exp $ + +// Copyright (c) 1989, 1993 +// The Regents of the University of California. All rights reserved. +// (c) UNIX System Laboratories, Inc. +// All or some portions of this file are derived from material licensed +// to the University of California by American Telephone and Telegraph +// Co. or Unix System Laboratories, Inc. and are reproduced herein with +// the permission of UNIX System Laboratories, 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. 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. +// +// @(#)time.h 8.3 (Berkeley) 1/21/94 + +// $NetBSD: cdefs.h,v 1.141 2019/02/21 21:34:05 christos Exp $ + +// * 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. 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 + +// $NetBSD: featuretest.h,v 1.10 2013/04/26 18:29:06 christos Exp $ + +// Written by Klaus Klein , February 2, 1998. +// Public domain. +// +// NOTE: Do not protect this header against multiple inclusion. Doing +// so can have subtle side-effects due to header file inclusion order +// and testing of e.g. _POSIX_SOURCE vs. _POSIX_C_SOURCE. Instead, +// protect each CPP macro that we want to supply. + +// Feature-test macros are defined by several standards, and allow an +// application to specify what symbols they want the system headers to +// expose, and hence what standard they want them to conform to. +// There are two classes of feature-test macros. The first class +// specify complete standards, and if one of these is defined, header +// files will try to conform to the relevant standard. They are: +// +// ANSI macros: +// _ANSI_SOURCE ANSI C89 +// +// POSIX macros: +// _POSIX_SOURCE == 1 IEEE Std 1003.1 (version?) +// _POSIX_C_SOURCE == 1 IEEE Std 1003.1-1990 +// _POSIX_C_SOURCE == 2 IEEE Std 1003.2-1992 +// _POSIX_C_SOURCE == 199309L IEEE Std 1003.1b-1993 +// _POSIX_C_SOURCE == 199506L ISO/IEC 9945-1:1996 +// _POSIX_C_SOURCE == 200112L IEEE Std 1003.1-2001 +// _POSIX_C_SOURCE == 200809L IEEE Std 1003.1-2008 +// +// X/Open macros: +// _XOPEN_SOURCE System Interfaces and Headers, Issue 4, Ver 2 +// _XOPEN_SOURCE_EXTENDED == 1 XSH4.2 UNIX extensions +// _XOPEN_SOURCE == 500 System Interfaces and Headers, Issue 5 +// _XOPEN_SOURCE == 520 Networking Services (XNS), Issue 5.2 +// _XOPEN_SOURCE == 600 IEEE Std 1003.1-2001, XSI option +// _XOPEN_SOURCE == 700 IEEE Std 1003.1-2008, XSI option +// +// NetBSD macros: +// _NETBSD_SOURCE == 1 Make all NetBSD features available. +// +// If more than one of these "major" feature-test macros is defined, +// then the set of facilities provided (and namespace used) is the +// union of that specified by the relevant standards, and in case of +// conflict, the earlier standard in the above list has precedence (so +// if both _POSIX_C_SOURCE and _NETBSD_SOURCE are defined, the version +// of rename() that's used is the POSIX one). If none of the "major" +// feature-test macros is defined, _NETBSD_SOURCE is assumed. +// +// There are also "minor" feature-test macros, which enable extra +// functionality in addition to some base standard. They should be +// defined along with one of the "major" macros. The "minor" macros +// are: +// +// _REENTRANT +// _ISOC99_SOURCE +// _ISOC11_SOURCE +// _LARGEFILE_SOURCE Large File Support +// + +// $NetBSD: ansi.h,v 1.11 2019/05/07 03:49:26 kamil Exp $ + +// $NetBSD: common_ansi.h,v 1.1 2014/08/19 07:27:31 matt Exp $ + +// - +// Copyright (c) 2014 The NetBSD Foundation, Inc. +// All rights reserved. +// +// This code is derived from software contributed to The NetBSD Foundation +// by Matt Thomas of 3am Software Foundry. +// +// 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. +// +// THIS SOFTWARE IS PROVIDED BY THE NETBSD FOUNDATION, INC. 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 FOUNDATION 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. + +// $NetBSD: null.h,v 1.9 2010/07/06 11:56:20 kleink Exp $ + +// Written by Klaus Klein , December 22, 1999. +// Public domain. + +type tm = struct { + Ftm_sec int32 + Ftm_min int32 + Ftm_hour int32 + Ftm_mday int32 + Ftm_mon int32 + Ftm_year int32 + Ftm_wday int32 + Ftm_yday int32 + Ftm_isdst int32 + F__ccgo_pad1 [4]byte + Ftm_gmtoff int64 + Ftm_zone uintptr +} /* time.h:75:1 */ + +// ISO/IEC 9899:201x 7.27.1/3 Components of time +// $NetBSD: timespec.h,v 1.1 2015/07/31 12:51:32 kamil Exp $ + +// Copyright (c) 1982, 1986, 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. 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. +// +// @(#)time.h 8.5 (Berkeley) 5/4/95 +// +// Extracted by Kamil Rytarowski from: +// NetBSD: src/sys/sys/time.h,v 1.69 2015/05/19 23:35:11 riastradh Exp + +// $NetBSD: ansi.h,v 1.14 2011/07/17 20:54:54 joerg Exp $ + +// - +// Copyright (c) 2000, 2001, 2002 The NetBSD Foundation, Inc. +// All rights reserved. +// +// This code is derived from software contributed to The NetBSD Foundation +// by Jun-ichiro itojun Hagino and by Klaus Klein. +// +// 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. +// +// THIS SOFTWARE IS PROVIDED BY THE NETBSD FOUNDATION, INC. 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 FOUNDATION 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. + +type timespec = struct { + Ftv_sec Time_t + Ftv_nsec int64 +} /* timespec.h:47:1 */ + +// $NetBSD: time.h,v 1.79 2017/01/17 15:28:34 maya Exp $ + +// Copyright (c) 1982, 1986, 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. 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. +// +// @(#)time.h 8.5 (Berkeley) 5/4/95 + +// $NetBSD: featuretest.h,v 1.10 2013/04/26 18:29:06 christos Exp $ + +// Written by Klaus Klein , February 2, 1998. +// Public domain. +// +// NOTE: Do not protect this header against multiple inclusion. Doing +// so can have subtle side-effects due to header file inclusion order +// and testing of e.g. _POSIX_SOURCE vs. _POSIX_C_SOURCE. Instead, +// protect each CPP macro that we want to supply. + +// Feature-test macros are defined by several standards, and allow an +// application to specify what symbols they want the system headers to +// expose, and hence what standard they want them to conform to. +// There are two classes of feature-test macros. The first class +// specify complete standards, and if one of these is defined, header +// files will try to conform to the relevant standard. They are: +// +// ANSI macros: +// _ANSI_SOURCE ANSI C89 +// +// POSIX macros: +// _POSIX_SOURCE == 1 IEEE Std 1003.1 (version?) +// _POSIX_C_SOURCE == 1 IEEE Std 1003.1-1990 +// _POSIX_C_SOURCE == 2 IEEE Std 1003.2-1992 +// _POSIX_C_SOURCE == 199309L IEEE Std 1003.1b-1993 +// _POSIX_C_SOURCE == 199506L ISO/IEC 9945-1:1996 +// _POSIX_C_SOURCE == 200112L IEEE Std 1003.1-2001 +// _POSIX_C_SOURCE == 200809L IEEE Std 1003.1-2008 +// +// X/Open macros: +// _XOPEN_SOURCE System Interfaces and Headers, Issue 4, Ver 2 +// _XOPEN_SOURCE_EXTENDED == 1 XSH4.2 UNIX extensions +// _XOPEN_SOURCE == 500 System Interfaces and Headers, Issue 5 +// _XOPEN_SOURCE == 520 Networking Services (XNS), Issue 5.2 +// _XOPEN_SOURCE == 600 IEEE Std 1003.1-2001, XSI option +// _XOPEN_SOURCE == 700 IEEE Std 1003.1-2008, XSI option +// +// NetBSD macros: +// _NETBSD_SOURCE == 1 Make all NetBSD features available. +// +// If more than one of these "major" feature-test macros is defined, +// then the set of facilities provided (and namespace used) is the +// union of that specified by the relevant standards, and in case of +// conflict, the earlier standard in the above list has precedence (so +// if both _POSIX_C_SOURCE and _NETBSD_SOURCE are defined, the version +// of rename() that's used is the POSIX one). If none of the "major" +// feature-test macros is defined, _NETBSD_SOURCE is assumed. +// +// There are also "minor" feature-test macros, which enable extra +// functionality in addition to some base standard. They should be +// defined along with one of the "major" macros. The "minor" macros +// are: +// +// _REENTRANT +// _ISOC99_SOURCE +// _ISOC11_SOURCE +// _LARGEFILE_SOURCE Large File Support +// + +// $NetBSD: types.h,v 1.102 2018/11/06 16:26:44 maya Exp $ + +// - +// Copyright (c) 1982, 1986, 1991, 1993, 1994 +// The Regents of the University of California. All rights reserved. +// (c) UNIX System Laboratories, Inc. +// All or some portions of this file are derived from material licensed +// to the University of California by American Telephone and Telegraph +// Co. or Unix System Laboratories, Inc. and are reproduced herein with +// the permission of UNIX System Laboratories, 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. 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. +// +// @(#)types.h 8.4 (Berkeley) 1/21/94 + +// Structure returned by gettimeofday(2) system call, +// and used in other calls. +type timeval = struct { + Ftv_sec Time_t + Ftv_usec Suseconds_t + F__ccgo_pad1 [4]byte +} /* time.h:44:1 */ + +// $NetBSD: timespec.h,v 1.1 2015/07/31 12:51:32 kamil Exp $ + +// Copyright (c) 1982, 1986, 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. 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. +// +// @(#)time.h 8.5 (Berkeley) 5/4/95 +// +// Extracted by Kamil Rytarowski from: +// NetBSD: src/sys/sys/time.h,v 1.69 2015/05/19 23:35:11 riastradh Exp + +// Note: timezone is obsolete. All timezone handling is now in +// userland. Its just here for back compatibility. +type timezone = struct { + Ftz_minuteswest int32 + Ftz_dsttime int32 +} /* time.h:65:1 */ + +// Operations on timevals. + +// hide bintime for _STANDALONE because this header is used for hpcboot.exe, +// which is built with compilers which don't recognize LL suffix. +// http://mail-index.NetBSD.org/tech-userlevel/2008/02/27/msg000181.html +type bintime = struct { + Fsec Time_t + Ffrac Uint64_t +} /* time.h:102:1 */ + +// Operations on timespecs. + +// Names of the interval timers, and structure +// defining a timer setting. +// NB: Must match the CLOCK_ constants below. + +type itimerval = struct { + Fit_interval struct { + Ftv_sec Time_t + Ftv_usec Suseconds_t + F__ccgo_pad1 [4]byte + } + Fit_value struct { + Ftv_sec Time_t + Ftv_usec Suseconds_t + F__ccgo_pad1 [4]byte + } +} /* time.h:280:1 */ + +// Structure defined by POSIX.1b to be like a itimerval, but with +// timespecs. Used in the timer_*() system calls. +type itimerspec = struct { + Fit_interval struct { + Ftv_sec Time_t + Ftv_nsec int64 + } + Fit_value struct { + Ftv_sec Time_t + Ftv_nsec int64 + } +} /* time.h:289:1 */ + +// $NetBSD: select.h,v 1.37 2014/04/25 15:52:45 pooka Exp $ + +// - +// Copyright (c) 1992, 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. 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. +// +// @(#)select.h 8.2 (Berkeley) 1/4/94 + +// $NetBSD: cdefs.h,v 1.141 2019/02/21 21:34:05 christos Exp $ + +// * 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. 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 + +// $NetBSD: featuretest.h,v 1.10 2013/04/26 18:29:06 christos Exp $ + +// Written by Klaus Klein , February 2, 1998. +// Public domain. +// +// NOTE: Do not protect this header against multiple inclusion. Doing +// so can have subtle side-effects due to header file inclusion order +// and testing of e.g. _POSIX_SOURCE vs. _POSIX_C_SOURCE. Instead, +// protect each CPP macro that we want to supply. + +// Feature-test macros are defined by several standards, and allow an +// application to specify what symbols they want the system headers to +// expose, and hence what standard they want them to conform to. +// There are two classes of feature-test macros. The first class +// specify complete standards, and if one of these is defined, header +// files will try to conform to the relevant standard. They are: +// +// ANSI macros: +// _ANSI_SOURCE ANSI C89 +// +// POSIX macros: +// _POSIX_SOURCE == 1 IEEE Std 1003.1 (version?) +// _POSIX_C_SOURCE == 1 IEEE Std 1003.1-1990 +// _POSIX_C_SOURCE == 2 IEEE Std 1003.2-1992 +// _POSIX_C_SOURCE == 199309L IEEE Std 1003.1b-1993 +// _POSIX_C_SOURCE == 199506L ISO/IEC 9945-1:1996 +// _POSIX_C_SOURCE == 200112L IEEE Std 1003.1-2001 +// _POSIX_C_SOURCE == 200809L IEEE Std 1003.1-2008 +// +// X/Open macros: +// _XOPEN_SOURCE System Interfaces and Headers, Issue 4, Ver 2 +// _XOPEN_SOURCE_EXTENDED == 1 XSH4.2 UNIX extensions +// _XOPEN_SOURCE == 500 System Interfaces and Headers, Issue 5 +// _XOPEN_SOURCE == 520 Networking Services (XNS), Issue 5.2 +// _XOPEN_SOURCE == 600 IEEE Std 1003.1-2001, XSI option +// _XOPEN_SOURCE == 700 IEEE Std 1003.1-2008, XSI option +// +// NetBSD macros: +// _NETBSD_SOURCE == 1 Make all NetBSD features available. +// +// If more than one of these "major" feature-test macros is defined, +// then the set of facilities provided (and namespace used) is the +// union of that specified by the relevant standards, and in case of +// conflict, the earlier standard in the above list has precedence (so +// if both _POSIX_C_SOURCE and _NETBSD_SOURCE are defined, the version +// of rename() that's used is the POSIX one). If none of the "major" +// feature-test macros is defined, _NETBSD_SOURCE is assumed. +// +// There are also "minor" feature-test macros, which enable extra +// functionality in addition to some base standard. They should be +// defined along with one of the "major" macros. The "minor" macros +// are: +// +// _REENTRANT +// _ISOC99_SOURCE +// _ISOC11_SOURCE +// _LARGEFILE_SOURCE Large File Support +// + +// $NetBSD: fd_set.h,v 1.7 2018/06/24 12:05:40 kamil Exp $ + +// - +// Copyright (c) 1992, 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. 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. +// +// from: @(#)types.h 8.4 (Berkeley) 1/21/94 + // $NetBSD: sigtypes.h,v 1.11 2017/01/12 18:29:14 christos Exp $ // Copyright (c) 1982, 1986, 1989, 1991, 1993 @@ -12217,12 +12505,54 @@ type Sigset_t = struct{ F__bits [4]X__uint32_t } /* sigtypes.h:62:3 */ // Macro for manipulating signal masks. -type Stack_t = struct { - Fss_sp uintptr - Fss_size Size_t - Fss_flags int32 - _ [4]byte -} /* sigtypes.h:116:3 */ +type sigaltstack = struct { + Fss_sp uintptr + Fss_size Size_t + Fss_flags int32 + F__ccgo_pad1 [4]byte +} /* sigtypes.h:108:9 */ + +// Macro for manipulating signal masks. + +type Stack_t = sigaltstack /* sigtypes.h:116:3 */ +// $NetBSD: idtype.h,v 1.5 2016/04/09 17:02:51 riastradh Exp $ + +// - +// Copyright (c) 2016 The NetBSD Foundation, Inc. +// All rights reserved. +// +// This code is derived from software contributed to The NetBSD Foundation +// by Christos Zoulas. +// +// 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. +// +// THIS SOFTWARE IS PROVIDED BY THE NETBSD FOUNDATION, INC. 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 FOUNDATION 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. + +// Using the solaris constants, some of them are not applicable to us +// Do not re-order the list, or add elements in the middle as this will +// break the ABI of the system calls using this. We set a high private +// maximum so that new values can be added in the future without +// changing the width of the type. +type Idtype_t = int32 /* idtype.h:60:3 */ + +type Timezone_t = uintptr /* time.h:198:24 */ // The MSVC CRT on Windows CE may not have a localtime() function. // So declare a substitute. The substitute function itself is @@ -12230,22 +12560,22 @@ type Stack_t = struct { // A structure for holding a single date and time. type DateTime1 = struct { - FiJD Sqlite3_int64 - FY int32 - FM int32 - FD int32 - Fh int32 - Fm int32 - Ftz int32 - Fs float64 - FvalidJD int8 - FrawS int8 - FvalidYMD int8 - FvalidHMS int8 - FvalidTZ int8 - FtzSet int8 - FisError int8 - _ [1]byte + FiJD Sqlite3_int64 + FY int32 + FM int32 + FD int32 + Fh int32 + Fm int32 + Ftz int32 + Fs float64 + FvalidJD int8 + FrawS int8 + FvalidYMD int8 + FvalidHMS int8 + FvalidTZ int8 + FtzSet int8 + FisError int8 + F__ccgo_pad1 [1]byte } /* sqlite3.c:22238:9 */ // The MSVC CRT on Windows CE may not have a localtime() function. @@ -12290,7 +12620,7 @@ func getDigits(tls *libc.TLS, zDate uintptr, zFormat uintptr, va uintptr) int32 var val int32 var max U16 cnt = 0 - ap = va + (ap) = va __1: N = (int8(int32(*(*int8)(unsafe.Pointer(zFormat))) - '0')) min = (int8(int32(*(*int8)(unsafe.Pointer(zFormat + 1))) - '0')) @@ -12401,7 +12731,7 @@ __6: __4: ; zDate++ - if !(getDigits(tls, zDate, ts+326 /* "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 @@ -12438,13 +12768,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+334 /* "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+342 /* "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) @@ -12522,10 +12852,10 @@ func computeJD(tls *libc.TLS, p uintptr) { /* sqlite3.c:22423:13: */ B = ((2 - A) + (A / 4)) X1 = ((36525 * (Y + 4716)) / 100) X2 = ((306001 * (M + 1)) / 10000) - (*DateTime)(unsafe.Pointer(p)).FiJD = (Sqlite3_int64(((float64(((X1 + X2) + D) + B)) - 1524.5) * float64(86400000))) + (*DateTime)(unsafe.Pointer(p)).FiJD = (libc.Int64FromFloat64(((float64(((X1 + X2) + D) + B)) - 1524.5) * float64(86400000))) (*DateTime)(unsafe.Pointer(p)).FvalidJD = int8(1) if (*DateTime)(unsafe.Pointer(p)).FvalidHMS != 0 { - *(*Sqlite3_int64)(unsafe.Pointer(p /* &.iJD */)) += ((Sqlite3_int64(((*DateTime)(unsafe.Pointer(p)).Fh * 3600000) + ((*DateTime)(unsafe.Pointer(p)).Fm * 60000))) + (Sqlite3_int64((*DateTime)(unsafe.Pointer(p)).Fs * float64(1000)))) + *(*Sqlite3_int64)(unsafe.Pointer(p /* &.iJD */)) += ((Sqlite3_int64(((*DateTime)(unsafe.Pointer(p)).Fh * 3600000) + ((*DateTime)(unsafe.Pointer(p)).Fm * 60000))) + (libc.Int64FromFloat64((*DateTime)(unsafe.Pointer(p)).Fs * float64(1000)))) if (*DateTime)(unsafe.Pointer(p)).FvalidTZ != 0 { *(*Sqlite3_int64)(unsafe.Pointer(p /* &.iJD */)) -= (Sqlite3_int64((*DateTime)(unsafe.Pointer(p)).Ftz * 60000)) (*DateTime)(unsafe.Pointer(p)).FvalidYMD = int8(0) @@ -12563,7 +12893,7 @@ func parseYyyyMmDd(tls *libc.TLS, zDate uintptr, p uintptr) int32 { /* sqlite3.c } else { neg = 0 } - if getDigits(tls, zDate, ts+346 /* "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) @@ -12615,7 +12945,7 @@ func setRawDateNumber(tls *libc.TLS, p uintptr, r float64) { /* sqlite3.c:22526: (*DateTime)(unsafe.Pointer(p)).Fs = r (*DateTime)(unsafe.Pointer(p)).FrawS = int8(1) if (r >= 0.0) && (r < 5373484.5) { - (*DateTime)(unsafe.Pointer(p)).FiJD = (Sqlite3_int64((r * 86400000.0) + 0.5)) + (*DateTime)(unsafe.Pointer(p)).FiJD = (libc.Int64FromFloat64((r * 86400000.0) + 0.5)) (*DateTime)(unsafe.Pointer(p)).FvalidJD = int8(1) } } @@ -12644,7 +12974,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+358 /* "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 */))) @@ -12688,13 +13018,13 @@ func computeYMD(tls *libc.TLS, p uintptr) { /* sqlite3.c:22591:13: */ return } else { Z = (int32(((*DateTime)(unsafe.Pointer(p)).FiJD + int64(43200000)) / int64(86400000))) - A = (int32((float64(Z) - 1867216.25) / 36524.25)) + A = (libc.Int32FromFloat64((float64(Z) - 1867216.25) / 36524.25)) A = (((Z + 1) + A) - (A / 4)) B = (A + 1524) - C = (int32((float64(B) - 122.1) / 365.25)) + C = (libc.Int32FromFloat64((float64(B) - 122.1) / 365.25)) D = ((36525 * (C & 32767)) / 100) - E = (int32((float64(B - D)) / 30.6001)) - X1 = (int32(30.6001 * float64(E))) + E = (libc.Int32FromFloat64((float64(B - D)) / 30.6001)) + X1 = (libc.Int32FromFloat64(30.6001 * float64(E))) (*DateTime)(unsafe.Pointer(p)).FD = ((B - D) - X1) (*DateTime)(unsafe.Pointer(p)).FM = func() int32 { if E < 14 { @@ -12721,7 +13051,7 @@ func computeHMS(tls *libc.TLS, p uintptr) { /* sqlite3.c:22620:13: */ computeJD(tls, p) s = (int32(((*DateTime)(unsafe.Pointer(p)).FiJD + int64(43200000)) % int64(86400000))) (*DateTime)(unsafe.Pointer(p)).Fs = (float64(s) / 1000.0) - s = int32((*DateTime)(unsafe.Pointer(p)).Fs) + s = libc.Int32FromFloat64((*DateTime)(unsafe.Pointer(p)).Fs) *(*float64)(unsafe.Pointer(p + 32 /* &.s */)) -= (float64(s)) (*DateTime)(unsafe.Pointer(p)).Fh = (s / 3600) s = s - ((*DateTime)(unsafe.Pointer(p)).Fh * 3600) @@ -12818,7 +13148,7 @@ func localtimeOffset(tls *libc.TLS, p uintptr, pCtx uintptr, pRc uintptr) Sqlite (*DateTime)(unsafe.Pointer(bp + 56 /* &x */)).Fm = 0 (*DateTime)(unsafe.Pointer(bp + 56 /* &x */)).Fs = 0.0 } else { - var s int32 = (int32((*DateTime)(unsafe.Pointer(bp+56 /* &x */)).Fs + 0.5)) + var s int32 = (libc.Int32FromFloat64((*DateTime)(unsafe.Pointer(bp+56 /* &x */)).Fs + 0.5)) (*DateTime)(unsafe.Pointer(bp + 56 /* &x */)).Fs = float64(s) } (*DateTime)(unsafe.Pointer(bp + 56 /* &x */)).Ftz = 0 @@ -12826,7 +13156,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+362 /* "local time unava..." */, -1) + Xsqlite3_result_error(tls, pCtx, ts+361 /* "local time unava..." */, -1) *(*int32)(unsafe.Pointer(pRc)) = SQLITE_ERROR return int64(0) } @@ -12854,19 +13184,19 @@ func localtimeOffset(tls *libc.TLS, p uintptr, pCtx uintptr, pRc uintptr) Sqlite // Where NNN is an arbitrary floating-point number and "days" can be one // of several units of time. var aXformType = [6]struct { - FeType U8 - FnName U8 - _ [6]byte - FzName uintptr - FrLimit float64 - FrXform float64 + FeType U8 + FnName U8 + F__ccgo_pad1 [6]byte + FzName uintptr + FrLimit float64 + FrXform float64 }{ - {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}, + {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 @@ -12905,7 +13235,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+419 /* "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) @@ -12919,16 +13249,16 @@ 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+429 /* "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) - (*DateTime)(unsafe.Pointer(p)).FiJD = (Sqlite3_int64(*(*float64)(unsafe.Pointer(bp + 8 /* r */)) + 0.5)) + (*DateTime)(unsafe.Pointer(p)).FiJD = (libc.Int64FromFloat64(*(*float64)(unsafe.Pointer(bp + 8 /* r */)) + 0.5)) (*DateTime)(unsafe.Pointer(p)).FvalidJD = int8(1) (*DateTime)(unsafe.Pointer(p)).FrawS = int8(0) *(*int32)(unsafe.Pointer(bp /* rc */)) = 0 } - } else if (Xsqlite3_stricmp(tls, z, ts+439 /* "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) @@ -12953,7 +13283,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+443 /* "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 @@ -12978,7 +13308,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+452 /* "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) { @@ -12992,14 +13322,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+408 /* "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+414 /* "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+404 /* "day" */) == 0 { + } else if Xsqlite3_stricmp(tls, z, ts+403 /* "day" */) == 0 { *(*int32)(unsafe.Pointer(bp /* rc */)) = 0 } break @@ -13088,12 +13418,12 @@ func parseModifier(tls *libc.TLS, pCtx uintptr, z uintptr, n int32, p uintptr) i rRounder = +0.5 } for i = 0; i < (int32(uint64(unsafe.Sizeof(aXformType)) / uint64(unsafe.Sizeof(struct { - FeType U8 - FnName U8 - _ [6]byte - FzName uintptr - FrLimit float64 - FrXform float64 + FeType U8 + FnName U8 + F__ccgo_pad1 [6]byte + FzName uintptr + FrLimit float64 + FrXform float64 }{})))); i++ { if (((int32(aXformType[i].FnName) == n) && (Xsqlite3_strnicmp(tls, aXformType[i].FzName, z, n) == 0)) && @@ -13129,7 +13459,7 @@ func parseModifier(tls *libc.TLS, pCtx uintptr, z uintptr, n int32, p uintptr) i } } computeJD(tls, p) - *(*Sqlite3_int64)(unsafe.Pointer(p /* &.iJD */)) += (Sqlite3_int64((*(*float64)(unsafe.Pointer(bp + 8 /* r */)) * aXformType[i].FrXform) + rRounder)) + *(*Sqlite3_int64)(unsafe.Pointer(p /* &.iJD */)) += (libc.Int64FromFloat64((*(*float64)(unsafe.Pointer(bp + 8 /* r */)) * aXformType[i].FrXform) + rRounder)) *(*int32)(unsafe.Pointer(bp /* rc */)) = 0 break } @@ -13220,8 +13550,8 @@ 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+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_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, libc.Int32FromFloat64((*DateTime)(unsafe.Pointer(bp+48 /* &x */)).Fs))) Xsqlite3_result_text(tls, context, bp+96 /* &zBuf[0] */, -1, libc.UintptrFromInt32(-1)) } } @@ -13239,7 +13569,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+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_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, libc.Int32FromFloat64((*DateTime)(unsafe.Pointer(bp+24 /* &x */)).Fs))) Xsqlite3_result_text(tls, context, bp+72 /* &zBuf[0] */, -1, libc.UintptrFromInt32(-1)) } } @@ -13257,7 +13587,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+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_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)) } } @@ -13384,7 +13714,7 @@ __3: i++ switch int32(*(*int8)(unsafe.Pointer(zFmt + uintptr(i)))) { case 'd': - Xsqlite3_snprintf(tls, 3, (z + uintptr(j)), ts+522 /* "%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 @@ -13394,14 +13724,14 @@ __3: if s > 59.999 { s = 59.999 } - Xsqlite3_snprintf(tls, 7, (z + uintptr(j)), ts+527 /* "%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+522 /* "%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 @@ -13419,10 +13749,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+522 /* "%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+534 /* "%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 @@ -13431,19 +13761,19 @@ __3: fallthrough case 'J': { - Xsqlite3_snprintf(tls, 20, (z + uintptr(j)), ts+539 /* "%.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+522 /* "%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+522 /* "%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 @@ -13457,7 +13787,7 @@ __3: } fallthrough case 'S': - Xsqlite3_snprintf(tls, 3, (z + uintptr(j)), ts+522 /* "%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, libc.Int32FromFloat64((*DateTime)(unsafe.Pointer(bp+80 /* &x */)).Fs))) j = j + (uint64(2)) break fallthrough @@ -13470,7 +13800,7 @@ __3: fallthrough case 'Y': { - Xsqlite3_snprintf(tls, 5, (z + uintptr(j)), ts+545 /* "%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 @@ -13527,14 +13857,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 + 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 */ + {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 ********************************************* @@ -13588,50 +13918,68 @@ var aDateTimeFuncs = [8]FuncDef{ // C++ instead of plain old C. func Xsqlite3OsClose(tls *libc.TLS, pId uintptr) { /* sqlite3.c:23507:21: */ if (*Sqlite3_file)(unsafe.Pointer(pId)).FpMethods != 0 { - (*(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(((*Sqlite3_file)(unsafe.Pointer(pId)).FpMethods + 8 /* &.xClose */))))(tls, pId) + (*struct { + f func(*libc.TLS, uintptr) int32 + })(unsafe.Pointer(&struct{ uintptr }{(*sqlite3_io_methods)(unsafe.Pointer((*Sqlite3_file)(unsafe.Pointer(pId)).FpMethods)).FxClose})).f(tls, pId) (*Sqlite3_file)(unsafe.Pointer(pId)).FpMethods = uintptr(0) } } func Xsqlite3OsRead(tls *libc.TLS, id uintptr, pBuf uintptr, amt int32, offset I64) int32 { /* sqlite3.c:23513:20: */ - return (*(*func(*libc.TLS, uintptr, uintptr, int32, Sqlite3_int64) int32)(unsafe.Pointer(((*Sqlite3_file)(unsafe.Pointer(id)).FpMethods + 16 /* &.xRead */))))(tls, id, pBuf, amt, offset) + return (*struct { + f func(*libc.TLS, uintptr, uintptr, int32, Sqlite3_int64) int32 + })(unsafe.Pointer(&struct{ uintptr }{(*sqlite3_io_methods)(unsafe.Pointer((*Sqlite3_file)(unsafe.Pointer(id)).FpMethods)).FxRead})).f(tls, id, pBuf, amt, offset) } func Xsqlite3OsWrite(tls *libc.TLS, id uintptr, pBuf uintptr, amt int32, offset I64) int32 { /* sqlite3.c:23517:20: */ - return (*(*func(*libc.TLS, uintptr, uintptr, int32, Sqlite3_int64) int32)(unsafe.Pointer(((*Sqlite3_file)(unsafe.Pointer(id)).FpMethods + 24 /* &.xWrite */))))(tls, id, pBuf, amt, offset) + return (*struct { + f func(*libc.TLS, uintptr, uintptr, int32, Sqlite3_int64) int32 + })(unsafe.Pointer(&struct{ uintptr }{(*sqlite3_io_methods)(unsafe.Pointer((*Sqlite3_file)(unsafe.Pointer(id)).FpMethods)).FxWrite})).f(tls, id, pBuf, amt, offset) } func Xsqlite3OsTruncate(tls *libc.TLS, id uintptr, size I64) int32 { /* sqlite3.c:23521:20: */ - return (*(*func(*libc.TLS, uintptr, Sqlite3_int64) int32)(unsafe.Pointer(((*Sqlite3_file)(unsafe.Pointer(id)).FpMethods + 32 /* &.xTruncate */))))(tls, id, size) + return (*struct { + f func(*libc.TLS, uintptr, Sqlite3_int64) int32 + })(unsafe.Pointer(&struct{ uintptr }{(*sqlite3_io_methods)(unsafe.Pointer((*Sqlite3_file)(unsafe.Pointer(id)).FpMethods)).FxTruncate})).f(tls, id, size) } func Xsqlite3OsSync(tls *libc.TLS, id uintptr, flags int32) int32 { /* sqlite3.c:23524:20: */ if flags != 0 { - return (*(*func(*libc.TLS, uintptr, int32) int32)(unsafe.Pointer(((*Sqlite3_file)(unsafe.Pointer(id)).FpMethods + 40 /* &.xSync */))))(tls, id, flags) + return (*struct { + f func(*libc.TLS, uintptr, int32) int32 + })(unsafe.Pointer(&struct{ uintptr }{(*sqlite3_io_methods)(unsafe.Pointer((*Sqlite3_file)(unsafe.Pointer(id)).FpMethods)).FxSync})).f(tls, id, flags) } return SQLITE_OK } func Xsqlite3OsFileSize(tls *libc.TLS, id uintptr, pSize uintptr) int32 { /* sqlite3.c:23528:20: */ - return (*(*func(*libc.TLS, uintptr, uintptr) int32)(unsafe.Pointer(((*Sqlite3_file)(unsafe.Pointer(id)).FpMethods + 48 /* &.xFileSize */))))(tls, id, pSize) + return (*struct { + f func(*libc.TLS, uintptr, uintptr) int32 + })(unsafe.Pointer(&struct{ uintptr }{(*sqlite3_io_methods)(unsafe.Pointer((*Sqlite3_file)(unsafe.Pointer(id)).FpMethods)).FxFileSize})).f(tls, id, pSize) } func Xsqlite3OsLock(tls *libc.TLS, id uintptr, lockType int32) int32 { /* sqlite3.c:23532:20: */ - return (*(*func(*libc.TLS, uintptr, int32) int32)(unsafe.Pointer(((*Sqlite3_file)(unsafe.Pointer(id)).FpMethods + 56 /* &.xLock */))))(tls, id, lockType) + return (*struct { + f func(*libc.TLS, uintptr, int32) int32 + })(unsafe.Pointer(&struct{ uintptr }{(*sqlite3_io_methods)(unsafe.Pointer((*Sqlite3_file)(unsafe.Pointer(id)).FpMethods)).FxLock})).f(tls, id, lockType) } func Xsqlite3OsUnlock(tls *libc.TLS, id uintptr, lockType int32) int32 { /* sqlite3.c:23536:20: */ - return (*(*func(*libc.TLS, uintptr, int32) int32)(unsafe.Pointer(((*Sqlite3_file)(unsafe.Pointer(id)).FpMethods + 64 /* &.xUnlock */))))(tls, id, lockType) + return (*struct { + f func(*libc.TLS, uintptr, int32) int32 + })(unsafe.Pointer(&struct{ uintptr }{(*sqlite3_io_methods)(unsafe.Pointer((*Sqlite3_file)(unsafe.Pointer(id)).FpMethods)).FxUnlock})).f(tls, id, lockType) } func Xsqlite3OsCheckReservedLock(tls *libc.TLS, id uintptr, pResOut uintptr) int32 { /* sqlite3.c:23539:20: */ - return (*(*func(*libc.TLS, uintptr, uintptr) int32)(unsafe.Pointer(((*Sqlite3_file)(unsafe.Pointer(id)).FpMethods + 72 /* &.xCheckReservedLock */))))(tls, id, pResOut) + return (*struct { + f func(*libc.TLS, uintptr, uintptr) int32 + })(unsafe.Pointer(&struct{ uintptr }{(*sqlite3_io_methods)(unsafe.Pointer((*Sqlite3_file)(unsafe.Pointer(id)).FpMethods)).FxCheckReservedLock})).f(tls, id, pResOut) } // Use sqlite3OsFileControl() when we are doing something that might fail @@ -13644,12 +13992,16 @@ func Xsqlite3OsFileControl(tls *libc.TLS, id uintptr, op int32, pArg uintptr) in if (*Sqlite3_file)(unsafe.Pointer(id)).FpMethods == uintptr(0) { return SQLITE_NOTFOUND } - return (*(*func(*libc.TLS, uintptr, int32, uintptr) int32)(unsafe.Pointer(((*Sqlite3_file)(unsafe.Pointer(id)).FpMethods + 80 /* &.xFileControl */))))(tls, id, op, pArg) + return (*struct { + f func(*libc.TLS, uintptr, int32, uintptr) int32 + })(unsafe.Pointer(&struct{ uintptr }{(*sqlite3_io_methods)(unsafe.Pointer((*Sqlite3_file)(unsafe.Pointer(id)).FpMethods)).FxFileControl})).f(tls, id, op, pArg) } func Xsqlite3OsFileControlHint(tls *libc.TLS, id uintptr, op int32, pArg uintptr) { /* sqlite3.c:23580:21: */ if (*Sqlite3_file)(unsafe.Pointer(id)).FpMethods != 0 { - (*(*func(*libc.TLS, uintptr, int32, uintptr) int32)(unsafe.Pointer(((*Sqlite3_file)(unsafe.Pointer(id)).FpMethods + 80 /* &.xFileControl */))))(tls, id, op, pArg) + (*struct { + f func(*libc.TLS, uintptr, int32, uintptr) int32 + })(unsafe.Pointer(&struct{ uintptr }{(*sqlite3_io_methods)(unsafe.Pointer((*Sqlite3_file)(unsafe.Pointer(id)).FpMethods)).FxFileControl})).f(tls, id, op, pArg) } } @@ -13657,31 +14009,41 @@ func Xsqlite3OsSectorSize(tls *libc.TLS, id uintptr) int32 { /* sqlite3.c:23584: var xSectorSize uintptr = (*sqlite3_io_methods)(unsafe.Pointer((*Sqlite3_file)(unsafe.Pointer(id)).FpMethods)).FxSectorSize return func() int32 { if xSectorSize != 0 { - return (*(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(&xSectorSize)))(tls, id) + return (*struct { + f func(*libc.TLS, uintptr) int32 + })(unsafe.Pointer(&struct{ uintptr }{xSectorSize})).f(tls, id) } return SQLITE_DEFAULT_SECTOR_SIZE }() } func Xsqlite3OsDeviceCharacteristics(tls *libc.TLS, id uintptr) int32 { /* sqlite3.c:23588:20: */ - return (*(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(((*Sqlite3_file)(unsafe.Pointer(id)).FpMethods + 96 /* &.xDeviceCharacteristics */))))(tls, id) + return (*struct { + f func(*libc.TLS, uintptr) int32 + })(unsafe.Pointer(&struct{ uintptr }{(*sqlite3_io_methods)(unsafe.Pointer((*Sqlite3_file)(unsafe.Pointer(id)).FpMethods)).FxDeviceCharacteristics})).f(tls, id) } func Xsqlite3OsShmLock(tls *libc.TLS, id uintptr, offset int32, n int32, flags int32) int32 { /* sqlite3.c:23592:20: */ - return (*(*func(*libc.TLS, uintptr, int32, int32, int32) int32)(unsafe.Pointer(((*Sqlite3_file)(unsafe.Pointer(id)).FpMethods + 112 /* &.xShmLock */))))(tls, id, offset, n, flags) + return (*struct { + f func(*libc.TLS, uintptr, int32, int32, int32) int32 + })(unsafe.Pointer(&struct{ uintptr }{(*sqlite3_io_methods)(unsafe.Pointer((*Sqlite3_file)(unsafe.Pointer(id)).FpMethods)).FxShmLock})).f(tls, id, offset, n, flags) } func Xsqlite3OsShmBarrier(tls *libc.TLS, id uintptr) { /* sqlite3.c:23595:21: */ - (*(*func(*libc.TLS, uintptr))(unsafe.Pointer(((*Sqlite3_file)(unsafe.Pointer(id)).FpMethods + 120 /* &.xShmBarrier */))))(tls, id) + (*struct{ f func(*libc.TLS, uintptr) })(unsafe.Pointer(&struct{ uintptr }{(*sqlite3_io_methods)(unsafe.Pointer((*Sqlite3_file)(unsafe.Pointer(id)).FpMethods)).FxShmBarrier})).f(tls, id) } func Xsqlite3OsShmUnmap(tls *libc.TLS, id uintptr, deleteFlag int32) int32 { /* sqlite3.c:23598:20: */ - return (*(*func(*libc.TLS, uintptr, int32) int32)(unsafe.Pointer(((*Sqlite3_file)(unsafe.Pointer(id)).FpMethods + 128 /* &.xShmUnmap */))))(tls, id, deleteFlag) + return (*struct { + f func(*libc.TLS, uintptr, int32) int32 + })(unsafe.Pointer(&struct{ uintptr }{(*sqlite3_io_methods)(unsafe.Pointer((*Sqlite3_file)(unsafe.Pointer(id)).FpMethods)).FxShmUnmap})).f(tls, id, deleteFlag) } func Xsqlite3OsShmMap(tls *libc.TLS, id uintptr, iPage int32, pgsz int32, bExtend int32, pp uintptr) int32 { /* sqlite3.c:23601:20: */ - return (*(*func(*libc.TLS, uintptr, int32, int32, int32, uintptr) int32)(unsafe.Pointer(((*Sqlite3_file)(unsafe.Pointer(id)).FpMethods + 104 /* &.xShmMap */))))(tls, id, iPage, pgsz, bExtend, libc.AtomicLoadUintptr(&pp)) + return (*struct { + f func(*libc.TLS, uintptr, int32, int32, int32, uintptr) int32 + })(unsafe.Pointer(&struct{ uintptr }{(*sqlite3_io_methods)(unsafe.Pointer((*Sqlite3_file)(unsafe.Pointer(id)).FpMethods)).FxShmMap})).f(tls, id, iPage, pgsz, bExtend, pp) } // No-op stubs to use when memory-mapped I/O is disabled @@ -13703,7 +14065,9 @@ func Xsqlite3OsOpen(tls *libc.TLS, pVfs uintptr, zPath uintptr, pFile uintptr, f // down into the VFS layer. Some SQLITE_OPEN_ flags (for example, // SQLITE_OPEN_FULLMUTEX or SQLITE_OPEN_SHAREDCACHE) are blocked before // reaching the VFS. - rc = (*(*func(*libc.TLS, uintptr, uintptr, uintptr, int32, uintptr) int32)(unsafe.Pointer((pVfs + 40 /* &.xOpen */))))(tls, pVfs, zPath, pFile, (flags & 0x1087f7f), pFlagsOut) + rc = (*struct { + f func(*libc.TLS, uintptr, uintptr, uintptr, int32, uintptr) int32 + })(unsafe.Pointer(&struct{ uintptr }{(*Sqlite3_vfs)(unsafe.Pointer(pVfs)).FxOpen})).f(tls, pVfs, zPath, pFile, (flags & 0x1087f7f), pFlagsOut) return rc } @@ -13711,38 +14075,52 @@ func Xsqlite3OsOpen(tls *libc.TLS, pVfs uintptr, zPath uintptr, pFile uintptr, f func Xsqlite3OsDelete(tls *libc.TLS, pVfs uintptr, zPath uintptr, dirSync int32) int32 { /* sqlite3.c:23654:20: */ if (*Sqlite3_vfs)(unsafe.Pointer(pVfs)).FxDelete != uintptr(0) { - return (*(*func(*libc.TLS, uintptr, uintptr, int32) int32)(unsafe.Pointer((pVfs + 48 /* &.xDelete */))))(tls, pVfs, zPath, dirSync) + return (*struct { + f func(*libc.TLS, uintptr, uintptr, int32) int32 + })(unsafe.Pointer(&struct{ uintptr }{(*Sqlite3_vfs)(unsafe.Pointer(pVfs)).FxDelete})).f(tls, pVfs, zPath, dirSync) } return SQLITE_OK } func Xsqlite3OsAccess(tls *libc.TLS, pVfs uintptr, zPath uintptr, flags int32, pResOut uintptr) int32 { /* sqlite3.c:23659:20: */ - return (*(*func(*libc.TLS, uintptr, uintptr, int32, uintptr) int32)(unsafe.Pointer((pVfs + 56 /* &.xAccess */))))(tls, pVfs, zPath, flags, pResOut) + return (*struct { + f func(*libc.TLS, uintptr, uintptr, int32, uintptr) int32 + })(unsafe.Pointer(&struct{ uintptr }{(*Sqlite3_vfs)(unsafe.Pointer(pVfs)).FxAccess})).f(tls, pVfs, zPath, flags, pResOut) } func Xsqlite3OsFullPathname(tls *libc.TLS, pVfs uintptr, zPath uintptr, nPathOut int32, zPathOut uintptr) int32 { /* sqlite3.c:23668:20: */ *(*int8)(unsafe.Pointer(zPathOut)) = int8(0) - return (*(*func(*libc.TLS, uintptr, uintptr, int32, uintptr) int32)(unsafe.Pointer((pVfs + 64 /* &.xFullPathname */))))(tls, pVfs, zPath, nPathOut, zPathOut) + return (*struct { + f func(*libc.TLS, uintptr, uintptr, int32, uintptr) int32 + })(unsafe.Pointer(&struct{ uintptr }{(*Sqlite3_vfs)(unsafe.Pointer(pVfs)).FxFullPathname})).f(tls, pVfs, zPath, nPathOut, zPathOut) } func Xsqlite3OsDlOpen(tls *libc.TLS, pVfs uintptr, zPath uintptr) uintptr { /* sqlite3.c:23679:21: */ // tag-20210611-1 - return (*(*func(*libc.TLS, uintptr, uintptr) uintptr)(unsafe.Pointer((pVfs + 72 /* &.xDlOpen */))))(tls, pVfs, zPath) + return (*struct { + f func(*libc.TLS, uintptr, uintptr) uintptr + })(unsafe.Pointer(&struct{ uintptr }{(*Sqlite3_vfs)(unsafe.Pointer(pVfs)).FxDlOpen})).f(tls, pVfs, zPath) } func Xsqlite3OsDlError(tls *libc.TLS, pVfs uintptr, nByte int32, zBufOut uintptr) { /* sqlite3.c:23684:21: */ - (*(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer((pVfs + 80 /* &.xDlError */))))(tls, pVfs, nByte, zBufOut) + (*struct { + f func(*libc.TLS, uintptr, int32, uintptr) + })(unsafe.Pointer(&struct{ uintptr }{(*Sqlite3_vfs)(unsafe.Pointer(pVfs)).FxDlError})).f(tls, pVfs, nByte, zBufOut) } func Xsqlite3OsDlSym(tls *libc.TLS, pVfs uintptr, pHdle uintptr, zSym uintptr) uintptr { /* sqlite3.c:23687:21: */ - return (*(*func(*libc.TLS, uintptr, uintptr, uintptr) uintptr)(unsafe.Pointer((pVfs + 88 /* &.xDlSym */))))(tls, pVfs, pHdle, zSym) + return (*struct { + f func(*libc.TLS, uintptr, uintptr, uintptr) uintptr + })(unsafe.Pointer(&struct{ uintptr }{(*Sqlite3_vfs)(unsafe.Pointer(pVfs)).FxDlSym})).f(tls, pVfs, pHdle, zSym) } func Xsqlite3OsDlClose(tls *libc.TLS, pVfs uintptr, pHandle uintptr) { /* sqlite3.c:23690:21: */ - (*(*func(*libc.TLS, uintptr, uintptr))(unsafe.Pointer((pVfs + 96 /* &.xDlClose */))))(tls, pVfs, pHandle) + (*struct { + f func(*libc.TLS, uintptr, uintptr) + })(unsafe.Pointer(&struct{ uintptr }{(*Sqlite3_vfs)(unsafe.Pointer(pVfs)).FxDlClose})).f(tls, pVfs, pHandle) } func Xsqlite3OsRandomness(tls *libc.TLS, pVfs uintptr, nByte int32, zBufOut uintptr) int32 { /* sqlite3.c:23694:20: */ @@ -13754,19 +14132,25 @@ func Xsqlite3OsRandomness(tls *libc.TLS, pVfs uintptr, nByte int32, zBufOut uint libc.Xmemcpy(tls, zBufOut, (uintptr(unsafe.Pointer(&Xsqlite3Config)) + 420 /* &.iPrngSeed */), uint64(nByte)) return SQLITE_OK } else { - return (*(*func(*libc.TLS, uintptr, int32, uintptr) int32)(unsafe.Pointer((pVfs + 104 /* &.xRandomness */))))(tls, pVfs, nByte, zBufOut) + return (*struct { + f func(*libc.TLS, uintptr, int32, uintptr) int32 + })(unsafe.Pointer(&struct{ uintptr }{(*Sqlite3_vfs)(unsafe.Pointer(pVfs)).FxRandomness})).f(tls, pVfs, nByte, zBufOut) } return int32(0) } func Xsqlite3OsSleep(tls *libc.TLS, pVfs uintptr, nMicro int32) int32 { /* sqlite3.c:23705:20: */ - return (*(*func(*libc.TLS, uintptr, int32) int32)(unsafe.Pointer((pVfs + 112 /* &.xSleep */))))(tls, pVfs, nMicro) + return (*struct { + f func(*libc.TLS, uintptr, int32) int32 + })(unsafe.Pointer(&struct{ uintptr }{(*Sqlite3_vfs)(unsafe.Pointer(pVfs)).FxSleep})).f(tls, pVfs, nMicro) } func Xsqlite3OsGetLastError(tls *libc.TLS, pVfs uintptr) int32 { /* sqlite3.c:23708:20: */ if (*Sqlite3_vfs)(unsafe.Pointer(pVfs)).FxGetLastError != 0 { - return (*(*func(*libc.TLS, uintptr, int32, uintptr) int32)(unsafe.Pointer((pVfs + 128 /* &.xGetLastError */))))(tls, pVfs, 0, uintptr(0)) + return (*struct { + f func(*libc.TLS, uintptr, int32, uintptr) int32 + })(unsafe.Pointer(&struct{ uintptr }{(*Sqlite3_vfs)(unsafe.Pointer(pVfs)).FxGetLastError})).f(tls, pVfs, 0, uintptr(0)) } return 0 } @@ -13782,12 +14166,16 @@ func Xsqlite3OsCurrentTimeInt64(tls *libc.TLS, pVfs uintptr, pTimeOut uintptr) i // will fall back to xCurrentTime() if xCurrentTimeInt64() is // unavailable. if ((*Sqlite3_vfs)(unsafe.Pointer(pVfs)).FiVersion >= 2) && ((*Sqlite3_vfs)(unsafe.Pointer(pVfs)).FxCurrentTimeInt64 != 0) { - rc = (*(*func(*libc.TLS, uintptr, uintptr) int32)(unsafe.Pointer((pVfs + 136 /* &.xCurrentTimeInt64 */))))(tls, pVfs, pTimeOut) + rc = (*struct { + f func(*libc.TLS, uintptr, uintptr) int32 + })(unsafe.Pointer(&struct{ uintptr }{(*Sqlite3_vfs)(unsafe.Pointer(pVfs)).FxCurrentTimeInt64})).f(tls, pVfs, pTimeOut) } else { // var r float64 at bp, 8 - rc = (*(*func(*libc.TLS, uintptr, uintptr) int32)(unsafe.Pointer((pVfs + 120 /* &.xCurrentTime */))))(tls, pVfs, bp /* &r */) - *(*Sqlite3_int64)(unsafe.Pointer(pTimeOut)) = (Sqlite3_int64(*(*float64)(unsafe.Pointer(bp /* r */)) * 86400000.0)) + rc = (*struct { + f func(*libc.TLS, uintptr, uintptr) int32 + })(unsafe.Pointer(&struct{ uintptr }{(*Sqlite3_vfs)(unsafe.Pointer(pVfs)).FxCurrentTime})).f(tls, pVfs, bp /* &r */) + *(*Sqlite3_int64)(unsafe.Pointer(pTimeOut)) = (libc.Int64FromFloat64(*(*float64)(unsafe.Pointer(bp /* r */)) * 86400000.0)) } return rc } @@ -13997,14 +14385,14 @@ func Xsqlite3BenignMallocHooks(tls *libc.TLS, xBenignBegin uintptr, xBenignEnd u func Xsqlite3BeginBenignMalloc(tls *libc.TLS) { /* sqlite3.c:23942:21: */ if sqlite3Hooks.FxBenignBegin != 0 { - (*(*func(*libc.TLS))(unsafe.Pointer((uintptr(unsafe.Pointer(&sqlite3Hooks)) /* &.xBenignBegin */))))(tls) + (*struct{ f func(*libc.TLS) })(unsafe.Pointer(&struct{ uintptr }{sqlite3Hooks.FxBenignBegin})).f(tls) } } func Xsqlite3EndBenignMalloc(tls *libc.TLS) { /* sqlite3.c:23948:21: */ if sqlite3Hooks.FxBenignEnd != 0 { - (*(*func(*libc.TLS))(unsafe.Pointer((uintptr(unsafe.Pointer(&sqlite3Hooks)) + 8 /* &.xBenignEnd */))))(tls) + (*struct{ f func(*libc.TLS) })(unsafe.Pointer(&struct{ uintptr }{sqlite3Hooks.FxBenignEnd})).f(tls) } } @@ -14111,7 +14499,7 @@ func sqlite3MemMalloc(tls *libc.TLS, nByte int32) uintptr { /* sqlite3.c:24148:1 p += 8 } else { - Xsqlite3_log(tls, SQLITE_NOMEM, ts+632 /* "failed to alloca..." */, libc.VaList(bp, nByte)) + Xsqlite3_log(tls, SQLITE_NOMEM, ts+631 /* "failed to alloca..." */, libc.VaList(bp, nByte)) } return p } @@ -14162,7 +14550,7 @@ func sqlite3MemRealloc(tls *libc.TLS, pPrior uintptr, nByte int32) uintptr { /* } else { Xsqlite3_log(tls, SQLITE_NOMEM, - ts+670, /* "failed memory re..." */ + ts+669, /* "failed memory re..." */ libc.VaList(bp, sqlite3MemSize(tls, pPrior), nByte)) } return p @@ -14365,7 +14753,7 @@ func Xsqlite3MutexInit(tls *libc.TLS) int32 { /* sqlite3.c:26333:20: */ (*Sqlite3_mutex_methods)(unsafe.Pointer(pTo)).FxMutexAlloc = (*Sqlite3_mutex_methods)(unsafe.Pointer(pFrom)).FxMutexAlloc } - rc = (*(*func(*libc.TLS) int32)(unsafe.Pointer((uintptr(unsafe.Pointer(&Xsqlite3Config)) + 96 /* &.mutex */ /* &.xMutexInit */))))(tls) + rc = (*struct{ f func(*libc.TLS) int32 })(unsafe.Pointer(&struct{ uintptr }{Xsqlite3Config.Fmutex.FxMutexInit})).f(tls) return rc } @@ -14375,7 +14763,7 @@ func Xsqlite3MutexInit(tls *libc.TLS) int32 { /* sqlite3.c:26333:20: */ func Xsqlite3MutexEnd(tls *libc.TLS) int32 { /* sqlite3.c:26379:20: */ var rc int32 = SQLITE_OK if Xsqlite3Config.Fmutex.FxMutexEnd != 0 { - rc = (*(*func(*libc.TLS) int32)(unsafe.Pointer((uintptr(unsafe.Pointer(&Xsqlite3Config)) + 96 /* &.mutex */ + 8 /* &.xMutexEnd */))))(tls) + rc = (*struct{ f func(*libc.TLS) int32 })(unsafe.Pointer(&struct{ uintptr }{Xsqlite3Config.Fmutex.FxMutexEnd})).f(tls) } return rc @@ -14390,7 +14778,9 @@ func Xsqlite3_mutex_alloc(tls *libc.TLS, id int32) uintptr { /* sqlite3.c:26395: return uintptr(0) } - return (*(*func(*libc.TLS, int32) uintptr)(unsafe.Pointer((uintptr(unsafe.Pointer(&Xsqlite3Config)) + 96 /* &.mutex */ + 16 /* &.xMutexAlloc */))))(tls, id) + return (*struct { + f func(*libc.TLS, int32) uintptr + })(unsafe.Pointer(&struct{ uintptr }{Xsqlite3Config.Fmutex.FxMutexAlloc})).f(tls, id) } func Xsqlite3MutexAlloc(tls *libc.TLS, id int32) uintptr { /* sqlite3.c:26404:30: */ @@ -14398,14 +14788,16 @@ func Xsqlite3MutexAlloc(tls *libc.TLS, id int32) uintptr { /* sqlite3.c:26404:30 return uintptr(0) } - return (*(*func(*libc.TLS, int32) uintptr)(unsafe.Pointer((uintptr(unsafe.Pointer(&Xsqlite3Config)) + 96 /* &.mutex */ + 16 /* &.xMutexAlloc */))))(tls, id) + return (*struct { + f func(*libc.TLS, int32) uintptr + })(unsafe.Pointer(&struct{ uintptr }{Xsqlite3Config.Fmutex.FxMutexAlloc})).f(tls, id) } // Free a dynamic mutex. func Xsqlite3_mutex_free(tls *libc.TLS, p uintptr) { /* sqlite3.c:26416:17: */ if p != 0 { - (*(*func(*libc.TLS, uintptr))(unsafe.Pointer((uintptr(unsafe.Pointer(&Xsqlite3Config)) + 96 /* &.mutex */ + 24 /* &.xMutexFree */))))(tls, p) + (*struct{ f func(*libc.TLS, uintptr) })(unsafe.Pointer(&struct{ uintptr }{Xsqlite3Config.Fmutex.FxMutexFree})).f(tls, p) } } @@ -14414,7 +14806,7 @@ func Xsqlite3_mutex_free(tls *libc.TLS, p uintptr) { /* sqlite3.c:26416:17: */ func Xsqlite3_mutex_enter(tls *libc.TLS, p uintptr) { /* sqlite3.c:26427:17: */ if p != 0 { - (*(*func(*libc.TLS, uintptr))(unsafe.Pointer((uintptr(unsafe.Pointer(&Xsqlite3Config)) + 96 /* &.mutex */ + 32 /* &.xMutexEnter */))))(tls, p) + (*struct{ f func(*libc.TLS, uintptr) })(unsafe.Pointer(&struct{ uintptr }{Xsqlite3Config.Fmutex.FxMutexEnter})).f(tls, p) } } @@ -14424,7 +14816,9 @@ func Xsqlite3_mutex_try(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:26438:16: var rc int32 = SQLITE_OK if p != 0 { - return (*(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer((uintptr(unsafe.Pointer(&Xsqlite3Config)) + 96 /* &.mutex */ + 40 /* &.xMutexTry */))))(tls, p) + return (*struct { + f func(*libc.TLS, uintptr) int32 + })(unsafe.Pointer(&struct{ uintptr }{Xsqlite3Config.Fmutex.FxMutexTry})).f(tls, p) } return rc } @@ -14436,7 +14830,7 @@ func Xsqlite3_mutex_try(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:26438:16: func Xsqlite3_mutex_leave(tls *libc.TLS, p uintptr) { /* sqlite3.c:26453:17: */ if p != 0 { - (*(*func(*libc.TLS, uintptr))(unsafe.Pointer((uintptr(unsafe.Pointer(&Xsqlite3Config)) + 96 /* &.mutex */ + 48 /* &.xMutexLeave */))))(tls, p) + (*struct{ f func(*libc.TLS, uintptr) })(unsafe.Pointer(&struct{ uintptr }{Xsqlite3Config.Fmutex.FxMutexLeave})).f(tls, p) } } @@ -14597,7 +14991,7 @@ type Mem0Global = struct { FalarmThreshold Sqlite3_int64 FhardLimit Sqlite3_int64 FnearlyFull int32 - _ [4]byte + F__ccgo_pad1 [4]byte } /* sqlite3.c:27830:19 */ // Default value of the hard heap limit. 0 means "no limit". @@ -14704,7 +15098,9 @@ func Xsqlite3MallocInit(tls *libc.TLS) int32 { /* sqlite3.c:27944:20: */ Xsqlite3Config.FpPage = uintptr(0) Xsqlite3Config.FszPage = 0 } - rc = (*(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer((uintptr(unsafe.Pointer(&Xsqlite3Config)) + 32 /* &.m */ + 40 /* &.xInit */))))(tls, Xsqlite3Config.Fm.FpAppData) + rc = (*struct { + f func(*libc.TLS, uintptr) int32 + })(unsafe.Pointer(&struct{ uintptr }{Xsqlite3Config.Fm.FxInit})).f(tls, Xsqlite3Config.Fm.FpAppData) if rc != SQLITE_OK { libc.Xmemset(tls, uintptr(unsafe.Pointer(&mem0)), 0, uint64(unsafe.Sizeof(mem0))) } @@ -14721,7 +15117,7 @@ func Xsqlite3HeapNearlyFull(tls *libc.TLS) int32 { /* sqlite3.c:27965:20: */ // Deinitialize the memory allocation subsystem. func Xsqlite3MallocEnd(tls *libc.TLS) { /* sqlite3.c:27972:21: */ if Xsqlite3Config.Fm.FxShutdown != 0 { - (*(*func(*libc.TLS, uintptr))(unsafe.Pointer((uintptr(unsafe.Pointer(&Xsqlite3Config)) + 32 /* &.m */ + 48 /* &.xShutdown */))))(tls, Xsqlite3Config.Fm.FpAppData) + (*struct{ f func(*libc.TLS, uintptr) })(unsafe.Pointer(&struct{ uintptr }{Xsqlite3Config.Fm.FxShutdown})).f(tls, Xsqlite3Config.Fm.FpAppData) } libc.Xmemset(tls, uintptr(unsafe.Pointer(&mem0)), 0, uint64(unsafe.Sizeof(mem0))) } @@ -14775,7 +15171,7 @@ func mallocWithAlarm(tls *libc.TLS, n int32, pp uintptr) { /* sqlite3.c:28013:13 // mode and specifically when the DMD "Dark Matter Detector" is enabled // or else a crash results. Hence, do not attempt to optimize out the // following xRoundup() call. - nFull = (*(*func(*libc.TLS, int32) int32)(unsafe.Pointer((uintptr(unsafe.Pointer(&Xsqlite3Config)) + 32 /* &.m */ + 32 /* &.xRoundup */))))(tls, n) + nFull = (*struct{ f func(*libc.TLS, int32) int32 })(unsafe.Pointer(&struct{ uintptr }{Xsqlite3Config.Fm.FxRoundup})).f(tls, n) Xsqlite3StatusHighwater(tls, SQLITE_STATUS_MALLOC_SIZE, n) if mem0.FalarmThreshold > int64(0) { @@ -14794,10 +15190,14 @@ func mallocWithAlarm(tls *libc.TLS, n int32, pp uintptr) { /* sqlite3.c:28013:13 libc.AtomicStoreNInt32((uintptr(unsafe.Pointer(&mem0)) + 24 /* &.nearlyFull */), int32(0), 0) } } - p = (*(*func(*libc.TLS, int32) uintptr)(unsafe.Pointer((uintptr(unsafe.Pointer(&Xsqlite3Config)) + 32 /* &.m */ /* &.xMalloc */))))(tls, nFull) + p = (*struct { + f func(*libc.TLS, int32) uintptr + })(unsafe.Pointer(&struct{ uintptr }{Xsqlite3Config.Fm.FxMalloc})).f(tls, nFull) if (p == uintptr(0)) && (mem0.FalarmThreshold > int64(0)) { sqlite3MallocAlarm(tls, nFull) - p = (*(*func(*libc.TLS, int32) uintptr)(unsafe.Pointer((uintptr(unsafe.Pointer(&Xsqlite3Config)) + 32 /* &.m */ /* &.xMalloc */))))(tls, nFull) + p = (*struct { + f func(*libc.TLS, int32) uintptr + })(unsafe.Pointer(&struct{ uintptr }{Xsqlite3Config.Fm.FxMalloc})).f(tls, nFull) } if p != 0 { nFull = Xsqlite3MallocSize(tls, p) @@ -14827,7 +15227,9 @@ func Xsqlite3Malloc(tls *libc.TLS, n U64) uintptr { /* sqlite3.c:28062:21: */ mallocWithAlarm(tls, int32(n), bp /* &p */) Xsqlite3_mutex_leave(tls, mem0.Fmutex) } else { - *(*uintptr)(unsafe.Pointer(bp /* p */)) = (*(*func(*libc.TLS, int32) uintptr)(unsafe.Pointer((uintptr(unsafe.Pointer(&Xsqlite3Config)) + 32 /* &.m */ /* &.xMalloc */))))(tls, int32(n)) + *(*uintptr)(unsafe.Pointer(bp /* p */)) = (*struct { + f func(*libc.TLS, int32) uintptr + })(unsafe.Pointer(&struct{ uintptr }{Xsqlite3Config.Fm.FxMalloc})).f(tls, int32(n)) } // IMP: R-11148-40995 return *(*uintptr)(unsafe.Pointer(bp /* p */)) @@ -14862,7 +15264,9 @@ func isLookaside(tls *libc.TLS, db uintptr, p uintptr) int32 { /* sqlite3.c:2810 // sqlite3Malloc() or sqlite3_malloc(). func Xsqlite3MallocSize(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:28115:20: */ - return (*(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer((uintptr(unsafe.Pointer(&Xsqlite3Config)) + 32 /* &.m */ + 24 /* &.xSize */))))(tls, p) + return (*struct { + f func(*libc.TLS, uintptr) int32 + })(unsafe.Pointer(&struct{ uintptr }{Xsqlite3Config.Fm.FxSize})).f(tls, p) } func lookasideMallocSize(tls *libc.TLS, db uintptr, p uintptr) int32 { /* sqlite3.c:28119:12: */ @@ -14886,13 +15290,17 @@ func Xsqlite3DbMallocSize(tls *libc.TLS, db uintptr, p uintptr) int32 { /* sqlit } } } - return (*(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer((uintptr(unsafe.Pointer(&Xsqlite3Config)) + 32 /* &.m */ + 24 /* &.xSize */))))(tls, p) + return (*struct { + f func(*libc.TLS, uintptr) int32 + })(unsafe.Pointer(&struct{ uintptr }{Xsqlite3Config.Fm.FxSize})).f(tls, p) } func Xsqlite3_msize(tls *libc.TLS, p uintptr) Sqlite3_uint64 { /* sqlite3.c:28155:27: */ if p != 0 { - return uint64((*(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer((uintptr(unsafe.Pointer(&Xsqlite3Config)) + 32 /* &.m */ + 24 /* &.xSize */))))(tls, p)) + return uint64((*struct { + f func(*libc.TLS, uintptr) int32 + })(unsafe.Pointer(&struct{ uintptr }{Xsqlite3Config.Fm.FxSize})).f(tls, p)) } return uint64(0) } @@ -14907,10 +15315,10 @@ func Xsqlite3_free(tls *libc.TLS, p uintptr) { /* sqlite3.c:28164:17: */ Xsqlite3_mutex_enter(tls, mem0.Fmutex) Xsqlite3StatusDown(tls, SQLITE_STATUS_MEMORY_USED, Xsqlite3MallocSize(tls, p)) Xsqlite3StatusDown(tls, SQLITE_STATUS_MALLOC_COUNT, 1) - (*(*func(*libc.TLS, uintptr))(unsafe.Pointer((uintptr(unsafe.Pointer(&Xsqlite3Config)) + 32 /* &.m */ + 8 /* &.xFree */))))(tls, p) + (*struct{ f func(*libc.TLS, uintptr) })(unsafe.Pointer(&struct{ uintptr }{Xsqlite3Config.Fm.FxFree})).f(tls, p) Xsqlite3_mutex_leave(tls, mem0.Fmutex) } else { - (*(*func(*libc.TLS, uintptr))(unsafe.Pointer((uintptr(unsafe.Pointer(&Xsqlite3Config)) + 32 /* &.m */ + 8 /* &.xFree */))))(tls, p) + (*struct{ f func(*libc.TLS, uintptr) })(unsafe.Pointer(&struct{ uintptr }{Xsqlite3Config.Fm.FxFree})).f(tls, p) } } @@ -14978,7 +15386,7 @@ func Xsqlite3Realloc(tls *libc.TLS, pOld uintptr, nBytes U64) uintptr { /* sqlit // IMPLEMENTATION-OF: R-46199-30249 SQLite guarantees that the second // argument to xRealloc is always a value returned by a prior call to // xRoundup. - nNew = (*(*func(*libc.TLS, int32) int32)(unsafe.Pointer((uintptr(unsafe.Pointer(&Xsqlite3Config)) + 32 /* &.m */ + 32 /* &.xRoundup */))))(tls, int32(nBytes)) + nNew = (*struct{ f func(*libc.TLS, int32) int32 })(unsafe.Pointer(&struct{ uintptr }{Xsqlite3Config.Fm.FxRoundup})).f(tls, int32(nBytes)) if nOld == nNew { pNew = pOld } else if Xsqlite3Config.FbMemstat != 0 { @@ -14993,10 +15401,14 @@ func Xsqlite3Realloc(tls *libc.TLS, pOld uintptr, nBytes U64) uintptr { /* sqlit return uintptr(0) } } - pNew = (*(*func(*libc.TLS, uintptr, int32) uintptr)(unsafe.Pointer((uintptr(unsafe.Pointer(&Xsqlite3Config)) + 32 /* &.m */ + 16 /* &.xRealloc */))))(tls, pOld, nNew) + pNew = (*struct { + f func(*libc.TLS, uintptr, int32) uintptr + })(unsafe.Pointer(&struct{ uintptr }{Xsqlite3Config.Fm.FxRealloc})).f(tls, pOld, nNew) if (pNew == uintptr(0)) && (mem0.FalarmThreshold > int64(0)) { sqlite3MallocAlarm(tls, int32(nBytes)) - pNew = (*(*func(*libc.TLS, uintptr, int32) uintptr)(unsafe.Pointer((uintptr(unsafe.Pointer(&Xsqlite3Config)) + 32 /* &.m */ + 16 /* &.xRealloc */))))(tls, pOld, nNew) + pNew = (*struct { + f func(*libc.TLS, uintptr, int32) uintptr + })(unsafe.Pointer(&struct{ uintptr }{Xsqlite3Config.Fm.FxRealloc})).f(tls, pOld, nNew) } if pNew != 0 { nNew = Xsqlite3MallocSize(tls, pNew) @@ -15004,7 +15416,9 @@ func Xsqlite3Realloc(tls *libc.TLS, pOld uintptr, nBytes U64) uintptr { /* sqlit } Xsqlite3_mutex_leave(tls, mem0.Fmutex) } else { - pNew = (*(*func(*libc.TLS, uintptr, int32) uintptr)(unsafe.Pointer((uintptr(unsafe.Pointer(&Xsqlite3Config)) + 32 /* &.m */ + 16 /* &.xRealloc */))))(tls, pOld, nNew) + pNew = (*struct { + f func(*libc.TLS, uintptr, int32) uintptr + })(unsafe.Pointer(&struct{ uintptr }{Xsqlite3Config.Fm.FxRealloc})).f(tls, pOld, nNew) } // IMP: R-11148-40995 return pNew @@ -15347,8 +15761,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 + 706 /* "0123456789ABCDEF..." */)) /* sqlite3.c:28685:19 */ -var aPrefix = *(*[7]int8)(unsafe.Pointer(ts + 739 /* "-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)}, @@ -15602,7 +16016,7 @@ __6: if !((libc.AssignInt32(&c, int32(*(*int8)(unsafe.Pointer(libc.PreIncUintptr(&fmt, 1)))))) == 0) { goto __11 } - Xsqlite3_str_append(tls, pAccum, ts+746 /* "%" */, 1) + Xsqlite3_str_append(tls, pAccum, ts+745 /* "%" */, 1) goto __5 __11: ; @@ -16185,7 +16599,7 @@ __125: if !(Xsqlite3IsNaN(tls, *(*float64)(unsafe.Pointer(bp + 96 /* realvalue */))) != 0) { goto __127 } - bufpt = ts + 748 /* "NaN" */ + bufpt = ts + 747 /* "NaN" */ length = 3 goto __58 __127: @@ -16245,7 +16659,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+752 /* "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: @@ -16602,7 +17016,7 @@ __197: if !(bufpt == uintptr(0)) { goto __198 } - bufpt = ts + 756 /* "" */ + bufpt = ts + 755 /* "" */ goto __199 __198: if !(int32(xtype) == EtDYNSTRING) { @@ -16731,9 +17145,9 @@ __219: } escarg = func() uintptr { if int32(xtype) == EtSQLESCAPE2 { - return ts + 757 /* "NULL" */ + return ts + 756 /* "NULL" */ } - return ts + 762 /* "(NULL)" */ + return ts + 761 /* "(NULL)" */ }() __220: ; @@ -16868,7 +17282,7 @@ __240: goto __244 } Xsqlite3_str_appendall(tls, pAccum, (*SrcItem)(unsafe.Pointer(pItem)).FzDatabase) - Xsqlite3_str_append(tls, pAccum, ts+769 /* "." */, 1) + Xsqlite3_str_append(tls, pAccum, ts+768 /* "." */, 1) __244: ; Xsqlite3_str_appendall(tls, pAccum, (*SrcItem)(unsafe.Pointer(pItem)).FzName) @@ -16883,7 +17297,7 @@ __245: if !((*SrcItem)(unsafe.Pointer(pItem)).FpSelect != 0) { goto __247 } - Xsqlite3_str_appendf(tls, pAccum, ts+771 /* "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: @@ -16946,7 +17360,7 @@ __5: // End for loop over the format string } -var zOrd = *(*[9]int8)(unsafe.Pointer(ts + 783 /* "thstndrd" */)) /* sqlite3.c:29091:29 */ +var zOrd = *(*[9]int8)(unsafe.Pointer(ts + 782 /* "thstndrd" */)) /* sqlite3.c:29091:29 */ // End of function @@ -17199,7 +17613,7 @@ func Xsqlite3MPrintf(tls *libc.TLS, db uintptr, zFormat uintptr, va uintptr) uin var ap Va_list _ = ap var z uintptr - ap = va + (ap) = va z = Xsqlite3VMPrintf(tls, db, zFormat, ap) _ = ap return z @@ -17234,7 +17648,7 @@ func Xsqlite3_mprintf(tls *libc.TLS, zFormat uintptr, va uintptr) uintptr { /* s if Xsqlite3_initialize(tls) != 0 { return uintptr(0) } - ap = va + (ap) = va z = Xsqlite3_vmprintf(tls, zFormat, ap) _ = ap return z @@ -17270,7 +17684,7 @@ func Xsqlite3_snprintf(tls *libc.TLS, n int32, zBuf uintptr, zFormat uintptr, va var z uintptr var ap Va_list _ = ap - ap = va + (ap) = va z = Xsqlite3_vsnprintf(tls, n, zBuf, zFormat, ap) _ = ap return z @@ -17299,7 +17713,9 @@ func renderLogMsg(tls *libc.TLS, iErrCode int32, zFormat uintptr, ap Va_list) { Xsqlite3StrAccumInit(tls, bp /* &acc */, uintptr(0), bp+32 /* &zMsg[0] */, int32(unsafe.Sizeof([210]int8{})), 0) Xsqlite3_str_vappendf(tls, bp /* &acc */, zFormat, ap) - (*(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer((uintptr(unsafe.Pointer(&Xsqlite3Config)) + 376 /* &.xLog */))))(tls, Xsqlite3Config.FpLogArg, iErrCode, + (*struct { + f func(*libc.TLS, uintptr, int32, uintptr) + })(unsafe.Pointer(&struct{ uintptr }{Xsqlite3Config.FxLog})).f(tls, Xsqlite3Config.FpLogArg, iErrCode, Xsqlite3StrAccumFinish(tls, bp /* &acc */)) } @@ -17308,7 +17724,7 @@ func Xsqlite3_log(tls *libc.TLS, iErrCode int32, zFormat uintptr, va uintptr) { var ap Va_list _ = ap // Vararg list if Xsqlite3Config.FxLog != 0 { - ap = va + (ap) = va renderLogMsg(tls, iErrCode, zFormat, ap) _ = ap } @@ -17319,7 +17735,7 @@ func Xsqlite3_log(tls *libc.TLS, iErrCode int32, zFormat uintptr, va uintptr) { func Xsqlite3_str_appendf(tls *libc.TLS, p uintptr, zFormat uintptr, va uintptr) { /* sqlite3.c:29929:17: */ var ap Va_list _ = ap - ap = va + (ap) = va Xsqlite3_str_vappendf(tls, p, zFormat, ap) _ = ap } @@ -17527,7 +17943,9 @@ func Xsqlite3ThreadCreate(tls *libc.TLS, ppThread uintptr, xTask uintptr, pIn ui (*SQLiteThread)(unsafe.Pointer(p)).FpIn = pIn } else { (*SQLiteThread)(unsafe.Pointer(p)).FxTask = uintptr(0) - (*SQLiteThread)(unsafe.Pointer(p)).FpResult = (*(*func(*libc.TLS, uintptr) uintptr)(unsafe.Pointer(&xTask)))(tls, pIn) + (*SQLiteThread)(unsafe.Pointer(p)).FpResult = (*struct { + f func(*libc.TLS, uintptr) uintptr + })(unsafe.Pointer(&struct{ uintptr }{xTask})).f(tls, pIn) } *(*uintptr)(unsafe.Pointer(ppThread)) = p return SQLITE_OK @@ -17540,7 +17958,9 @@ func Xsqlite3ThreadJoin(tls *libc.TLS, p uintptr, ppOut uintptr) int32 { /* sqli return SQLITE_NOMEM } if (*SQLiteThread)(unsafe.Pointer(p)).FxTask != 0 { - *(*uintptr)(unsafe.Pointer(ppOut)) = (*(*func(*libc.TLS, uintptr) uintptr)(unsafe.Pointer((p /* &.xTask */))))(tls, (*SQLiteThread)(unsafe.Pointer(p)).FpIn) + *(*uintptr)(unsafe.Pointer(ppOut)) = (*struct { + f func(*libc.TLS, uintptr) uintptr + })(unsafe.Pointer(&struct{ uintptr }{(*SQLiteThread)(unsafe.Pointer(p)).FxTask})).f(tls, (*SQLiteThread)(unsafe.Pointer(p)).FpIn) } else { *(*uintptr)(unsafe.Pointer(ppOut)) = (*SQLiteThread)(unsafe.Pointer(p)).FpResult } @@ -18106,15 +18526,6 @@ func Xsqlite3Utf16ByteLen(tls *libc.TLS, zIn uintptr, nChar int32) int32 { /* sq // // #include "sqliteInt.h" // #include -// DO NOT EDIT THIS FILE. -// -// It has been auto-edited by fixincludes from: -// -// "/usr/include/math.h" -// -// This had to be done to correct non-standard usages in the -// original, manufacturer supplied header file. - // $NetBSD: math.h,v 1.65 2018/06/24 23:55:29 christos Exp $ // ==================================================== @@ -18222,19 +18633,342 @@ func Xsqlite3Utf16ByteLen(tls *libc.TLS, zIn uintptr, nChar int32) int32 { /* sq // type __float_u = struct { - _ [0]uint32 - F__dummy [4]uint8 -} /* math.h:39:1 */ + F__ccgo_pad1 [0]uint32 + F__dummy [4]uint8 +} /* math.h:24:1 */ type __double_u = struct { - _ [0]uint64 - F__dummy [8]uint8 -} /* math.h:44:1 */ + F__ccgo_pad1 [0]uint64 + F__dummy [8]uint8 +} /* math.h:29:1 */ type __long_double_u = struct { - _ [0]uint64 - F__dummy [8]uint8 -} /* math.h:49:1 */ + F__ccgo_pad1 [0]uint64 + F__dummy [8]uint8 +} /* math.h:34:1 */ + +// $NetBSD: math.h,v 1.3 2005/12/11 12:16:25 christos Exp $ + +// $NetBSD: math.h,v 1.2 2003/10/28 00:55:28 kleink Exp $ + +// $NetBSD: limits.h,v 1.40 2016/08/04 06:43:43 christos Exp $ + +// Copyright (c) 1988, 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. 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. +// +// @(#)limits.h 8.2 (Berkeley) 1/4/94 + +// $NetBSD: featuretest.h,v 1.10 2013/04/26 18:29:06 christos Exp $ + +// Written by Klaus Klein , February 2, 1998. +// Public domain. +// +// NOTE: Do not protect this header against multiple inclusion. Doing +// so can have subtle side-effects due to header file inclusion order +// and testing of e.g. _POSIX_SOURCE vs. _POSIX_C_SOURCE. Instead, +// protect each CPP macro that we want to supply. + +// Feature-test macros are defined by several standards, and allow an +// application to specify what symbols they want the system headers to +// expose, and hence what standard they want them to conform to. +// There are two classes of feature-test macros. The first class +// specify complete standards, and if one of these is defined, header +// files will try to conform to the relevant standard. They are: +// +// ANSI macros: +// _ANSI_SOURCE ANSI C89 +// +// POSIX macros: +// _POSIX_SOURCE == 1 IEEE Std 1003.1 (version?) +// _POSIX_C_SOURCE == 1 IEEE Std 1003.1-1990 +// _POSIX_C_SOURCE == 2 IEEE Std 1003.2-1992 +// _POSIX_C_SOURCE == 199309L IEEE Std 1003.1b-1993 +// _POSIX_C_SOURCE == 199506L ISO/IEC 9945-1:1996 +// _POSIX_C_SOURCE == 200112L IEEE Std 1003.1-2001 +// _POSIX_C_SOURCE == 200809L IEEE Std 1003.1-2008 +// +// X/Open macros: +// _XOPEN_SOURCE System Interfaces and Headers, Issue 4, Ver 2 +// _XOPEN_SOURCE_EXTENDED == 1 XSH4.2 UNIX extensions +// _XOPEN_SOURCE == 500 System Interfaces and Headers, Issue 5 +// _XOPEN_SOURCE == 520 Networking Services (XNS), Issue 5.2 +// _XOPEN_SOURCE == 600 IEEE Std 1003.1-2001, XSI option +// _XOPEN_SOURCE == 700 IEEE Std 1003.1-2008, XSI option +// +// NetBSD macros: +// _NETBSD_SOURCE == 1 Make all NetBSD features available. +// +// If more than one of these "major" feature-test macros is defined, +// then the set of facilities provided (and namespace used) is the +// union of that specified by the relevant standards, and in case of +// conflict, the earlier standard in the above list has precedence (so +// if both _POSIX_C_SOURCE and _NETBSD_SOURCE are defined, the version +// of rename() that's used is the POSIX one). If none of the "major" +// feature-test macros is defined, _NETBSD_SOURCE is assumed. +// +// There are also "minor" feature-test macros, which enable extra +// functionality in addition to some base standard. They should be +// defined along with one of the "major" macros. The "minor" macros +// are: +// +// _REENTRANT +// _ISOC99_SOURCE +// _ISOC11_SOURCE +// _LARGEFILE_SOURCE Large File Support +// + +// We have not implemented these yet +// +// _POSIX_THREAD_ATTR_STACKADDR +// _POSIX_THREAD_ATTR_STACKSIZE +// _POSIX_THREAD_CPUTIME +// _POSIX_THREAD_PRIORITY_SCHEDULING +// _POSIX_THREAD_PRIO_INHERIT +// _POSIX_THREAD_PRIO_PROTECT +// _POSIX_THREAD_PROCESS_SHARED +// _POSIX_THREAD_SAFE_FUNCTIONS +// _POSIX_THREAD_SPORADIC_SERVER + +// The following 3 are defined in +// Open Group Base Specifications Issue 7 + +// These are the correct names, defined in terms of the above +// except for PTHREAD_KEYS_MAX which is bigger than standard +// mandated minimum value _POSIX_THREAD_KEYS_MAX. +// Not yet: PTHREAD_STACK_MIN + +// X/Open CAE Specifications, +// adopted in IEEE Std 1003.1-2001 XSI. + +// IEEE Std 1003.1-2001 TSF + +// Always ensure that this is consistent with + +// X/Open Extended API set 2 (a.k.a. C063) +// This hides unimplemented functions from GNU configure until +// we are done implementing them. + +// $NetBSD: limits.h,v 1.15 2019/01/21 20:22:48 dholland Exp $ + +// Copyright (c) 1988 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. 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. +// +// @(#)limits.h 7.2 (Berkeley) 6/28/90 + +// $NetBSD: featuretest.h,v 1.10 2013/04/26 18:29:06 christos Exp $ + +// Written by Klaus Klein , February 2, 1998. +// Public domain. +// +// NOTE: Do not protect this header against multiple inclusion. Doing +// so can have subtle side-effects due to header file inclusion order +// and testing of e.g. _POSIX_SOURCE vs. _POSIX_C_SOURCE. Instead, +// protect each CPP macro that we want to supply. + +// Feature-test macros are defined by several standards, and allow an +// application to specify what symbols they want the system headers to +// expose, and hence what standard they want them to conform to. +// There are two classes of feature-test macros. The first class +// specify complete standards, and if one of these is defined, header +// files will try to conform to the relevant standard. They are: +// +// ANSI macros: +// _ANSI_SOURCE ANSI C89 +// +// POSIX macros: +// _POSIX_SOURCE == 1 IEEE Std 1003.1 (version?) +// _POSIX_C_SOURCE == 1 IEEE Std 1003.1-1990 +// _POSIX_C_SOURCE == 2 IEEE Std 1003.2-1992 +// _POSIX_C_SOURCE == 199309L IEEE Std 1003.1b-1993 +// _POSIX_C_SOURCE == 199506L ISO/IEC 9945-1:1996 +// _POSIX_C_SOURCE == 200112L IEEE Std 1003.1-2001 +// _POSIX_C_SOURCE == 200809L IEEE Std 1003.1-2008 +// +// X/Open macros: +// _XOPEN_SOURCE System Interfaces and Headers, Issue 4, Ver 2 +// _XOPEN_SOURCE_EXTENDED == 1 XSH4.2 UNIX extensions +// _XOPEN_SOURCE == 500 System Interfaces and Headers, Issue 5 +// _XOPEN_SOURCE == 520 Networking Services (XNS), Issue 5.2 +// _XOPEN_SOURCE == 600 IEEE Std 1003.1-2001, XSI option +// _XOPEN_SOURCE == 700 IEEE Std 1003.1-2008, XSI option +// +// NetBSD macros: +// _NETBSD_SOURCE == 1 Make all NetBSD features available. +// +// If more than one of these "major" feature-test macros is defined, +// then the set of facilities provided (and namespace used) is the +// union of that specified by the relevant standards, and in case of +// conflict, the earlier standard in the above list has precedence (so +// if both _POSIX_C_SOURCE and _NETBSD_SOURCE are defined, the version +// of rename() that's used is the POSIX one). If none of the "major" +// feature-test macros is defined, _NETBSD_SOURCE is assumed. +// +// There are also "minor" feature-test macros, which enable extra +// functionality in addition to some base standard. They should be +// defined along with one of the "major" macros. The "minor" macros +// are: +// +// _REENTRANT +// _ISOC99_SOURCE +// _ISOC11_SOURCE +// _LARGEFILE_SOURCE Large File Support +// + +// $NetBSD: syslimits.h,v 1.28 2015/08/21 07:19:39 uebayasi Exp $ + +// Copyright (c) 1988, 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. 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. +// +// @(#)syslimits.h 8.1 (Berkeley) 6/2/93 + +// $NetBSD: featuretest.h,v 1.10 2013/04/26 18:29:06 christos Exp $ + +// Written by Klaus Klein , February 2, 1998. +// Public domain. +// +// NOTE: Do not protect this header against multiple inclusion. Doing +// so can have subtle side-effects due to header file inclusion order +// and testing of e.g. _POSIX_SOURCE vs. _POSIX_C_SOURCE. Instead, +// protect each CPP macro that we want to supply. + +// Feature-test macros are defined by several standards, and allow an +// application to specify what symbols they want the system headers to +// expose, and hence what standard they want them to conform to. +// There are two classes of feature-test macros. The first class +// specify complete standards, and if one of these is defined, header +// files will try to conform to the relevant standard. They are: +// +// ANSI macros: +// _ANSI_SOURCE ANSI C89 +// +// POSIX macros: +// _POSIX_SOURCE == 1 IEEE Std 1003.1 (version?) +// _POSIX_C_SOURCE == 1 IEEE Std 1003.1-1990 +// _POSIX_C_SOURCE == 2 IEEE Std 1003.2-1992 +// _POSIX_C_SOURCE == 199309L IEEE Std 1003.1b-1993 +// _POSIX_C_SOURCE == 199506L ISO/IEC 9945-1:1996 +// _POSIX_C_SOURCE == 200112L IEEE Std 1003.1-2001 +// _POSIX_C_SOURCE == 200809L IEEE Std 1003.1-2008 +// +// X/Open macros: +// _XOPEN_SOURCE System Interfaces and Headers, Issue 4, Ver 2 +// _XOPEN_SOURCE_EXTENDED == 1 XSH4.2 UNIX extensions +// _XOPEN_SOURCE == 500 System Interfaces and Headers, Issue 5 +// _XOPEN_SOURCE == 520 Networking Services (XNS), Issue 5.2 +// _XOPEN_SOURCE == 600 IEEE Std 1003.1-2001, XSI option +// _XOPEN_SOURCE == 700 IEEE Std 1003.1-2008, XSI option +// +// NetBSD macros: +// _NETBSD_SOURCE == 1 Make all NetBSD features available. +// +// If more than one of these "major" feature-test macros is defined, +// then the set of facilities provided (and namespace used) is the +// union of that specified by the relevant standards, and in case of +// conflict, the earlier standard in the above list has precedence (so +// if both _POSIX_C_SOURCE and _NETBSD_SOURCE are defined, the version +// of rename() that's used is the POSIX one). If none of the "major" +// feature-test macros is defined, _NETBSD_SOURCE is assumed. +// +// There are also "minor" feature-test macros, which enable extra +// functionality in addition to some base standard. They should be +// defined along with one of the "major" macros. The "minor" macros +// are: +// +// _REENTRANT +// _ISOC99_SOURCE +// _ISOC11_SOURCE +// _LARGEFILE_SOURCE Large File Support +// + +// kept in sync with MAXNAMLEN + +// IEEE Std 1003.1c-95, adopted in X/Open CAE Specification Issue 5 Version 2 + +// X/Open CAE Specification Issue 5 Version 2 + +type Double_t = float64 /* math.h:45:16 */ +type Float_t = float32 /* math.h:46:15 */ + +type exception = struct { + Ftype int32 + F__ccgo_pad1 [4]byte + Fname uintptr + Farg1 float64 + Farg2 float64 + Fretval float64 +} /* math.h:181:1 */ // Routine needed to support the testcase() macro. @@ -18258,7 +18992,7 @@ type __long_double_u = struct { func Xsqlite3FaultSim(tls *libc.TLS, iTest int32) int32 { /* sqlite3.c:31735:20: */ var xCallback uintptr = Xsqlite3Config.FxTestCallback if xCallback != 0 { - return (*(*func(*libc.TLS, int32) int32)(unsafe.Pointer(&xCallback)))(tls, iTest) + return (*struct{ f func(*libc.TLS, int32) int32 })(unsafe.Pointer(&struct{ uintptr }{xCallback})).f(tls, iTest) } return SQLITE_OK } @@ -18372,7 +19106,7 @@ func Xsqlite3ErrorWithMsg(tls *libc.TLS, db uintptr, err_code int32, zFormat uin var z uintptr var ap Va_list _ = ap - ap = va + (ap) = va z = Xsqlite3VMPrintf(tls, db, zFormat, ap) _ = ap Xsqlite3ValueSetStr(tls, (*Sqlite3)(unsafe.Pointer(db)).FpErr, -1, z, uint8(SQLITE_UTF8), *(*uintptr)(unsafe.Pointer(&struct{ f func(*libc.TLS, uintptr) }{Xsqlite3OomFault}))) @@ -18399,7 +19133,7 @@ func Xsqlite3ErrorMsg(tls *libc.TLS, pParse uintptr, zFormat uintptr, va uintptr var ap Va_list _ = ap var db uintptr = (*Parse)(unsafe.Pointer(pParse)).Fdb - ap = va + (ap) = va zMsg = Xsqlite3VMPrintf(tls, db, zFormat, ap) _ = ap if (*Sqlite3)(unsafe.Pointer(db)).FsuppressErr != 0 { @@ -19046,7 +19780,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 + 792 /* "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) } @@ -19696,7 +20430,7 @@ func logBadConnection(tls *libc.TLS, zType uintptr) { /* sqlite3.c:33033:13: */ defer tls.Free(8) Xsqlite3_log(tls, SQLITE_MISUSE, - ts+811, /* "API call with %s..." */ + ts+810, /* "API call with %s..." */ libc.VaList(bp, zType)) } @@ -19715,14 +20449,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+757 /* "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+856 /* "unopened" */) + logBadConnection(tls, ts+855 /* "unopened" */) } return 0 } else { @@ -19736,7 +20470,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+865 /* "invalid" */) + logBadConnection(tls, ts+864 /* "invalid" */) return 0 } else { return 1 @@ -20264,186 +20998,186 @@ func Xsqlite3OpcodeName(tls *libc.TLS, i int32) uintptr { /* sqlite3.c:33672:27: } var azName = [180]uintptr{ - /* 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" */ + /* 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 ******************************************** @@ -20512,15 +21246,6 @@ var azName = [180]uintptr{ // Use pread() and pwrite() if they are available // standard include files. -// DO NOT EDIT THIS FILE. -// -// It has been auto-edited by fixincludes from: -// -// "/usr/include/sys/types.h" -// -// This had to be done to correct non-standard usages in the -// original, manufacturer supplied header file. - // $NetBSD: types.h,v 1.102 2018/11/06 16:26:44 maya Exp $ // - @@ -20654,15 +21379,6 @@ var azName = [180]uintptr{ // _LARGEFILE_SOURCE Large File Support // -// DO NOT EDIT THIS FILE. -// -// It has been auto-edited by fixincludes from: -// -// "/usr/include/sys/types.h" -// -// This had to be done to correct non-standard usages in the -// original, manufacturer supplied header file. - // $NetBSD: types.h,v 1.102 2018/11/06 16:26:44 maya Exp $ // - @@ -20700,34 +21416,78 @@ var azName = [180]uintptr{ // // @(#)types.h 8.4 (Berkeley) 1/21/94 -type stat = struct { - Fst_dev Dev_t - Fst_mode X__mode_t - _ [4]byte - Fst_ino Ino_t - Fst_nlink Nlink_t - Fst_uid X__uid_t - Fst_gid X__gid_t - _ [4]byte - Fst_rdev Dev_t - Fst_atime Time_t - Fst_atimensec int64 - Fst_mtime Time_t - Fst_mtimensec int64 - Fst_ctime Time_t - Fst_ctimensec int64 - Fst_birthtime Time_t - Fst_birthtimensec int64 - Fst_size X__off_t - Fst_blocks Blkcnt_t - Fst_blksize Blksize_t - Fst_flags Uint32_t - Fst_gen Uint32_t - Fst_spare [2]Uint32_t - _ [4]byte -} /* stat.h:59:1 */ +// POSIX:2008 / XPG7 requires struct timespec to be declared in +// this header, but does not provide the usual exemption +// "inclusion of this header may make visible symbols defined in ". +// +// This is a Standard omission, acknowledged by the committee and +// scheduled to be corrected in Technical Corrigendum 2, according to +// http://austingroupbugs.net/view.php?id=531 +// $NetBSD: time.h,v 1.79 2017/01/17 15:28:34 maya Exp $ -// X/Open Extended API set 2 (a.k.a. C063) +// Copyright (c) 1982, 1986, 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. 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. +// +// @(#)time.h 8.5 (Berkeley) 5/4/95 + +type stat = struct { + Fst_dev Dev_t + Fst_mode X__mode_t + F__ccgo_pad1 [4]byte + Fst_ino Ino_t + Fst_nlink Nlink_t + Fst_uid X__uid_t + Fst_gid X__gid_t + F__ccgo_pad2 [4]byte + Fst_rdev Dev_t + Fst_atim struct { + Ftv_sec Time_t + Ftv_nsec int64 + } + Fst_mtim struct { + Ftv_sec Time_t + Ftv_nsec int64 + } + Fst_ctim struct { + Ftv_sec Time_t + Ftv_nsec int64 + } + Fst_birthtim struct { + Ftv_sec Time_t + Ftv_nsec int64 + } + Fst_size X__off_t + Fst_blocks Blkcnt_t + Fst_blksize Blksize_t + Fst_flags Uint32_t + Fst_gen Uint32_t + Fst_spare [2]Uint32_t + F__ccgo_pad3 [4]byte +} /* stat.h:59:1 */ // $NetBSD: fcntl.h,v 1.50 2018/02/20 18:20:05 kamil Exp $ @@ -20829,15 +21589,6 @@ type stat = struct { // _LARGEFILE_SOURCE Large File Support // -// DO NOT EDIT THIS FILE. -// -// It has been auto-edited by fixincludes from: -// -// "/usr/include/sys/types.h" -// -// This had to be done to correct non-standard usages in the -// original, manufacturer supplied header file. - // $NetBSD: types.h,v 1.102 2018/11/06 16:26:44 maya Exp $ // - @@ -20925,6 +21676,7 @@ type stat = struct { // XXX // FREAD and FWRITE are excluded from the #ifdef _KERNEL so that TIOCFLUSH, // which was documented to use FREAD/FWRITE, continues to work. +// path component // defined by POSIX 1003.1; BSD default, but required to be bitwise distinct @@ -20942,6 +21694,11 @@ type stat = struct { // Constants for fcntl's passed to the underlying fs - like ioctl's. +// Define command macros for operations which, if implemented, must be +// the same for all fs's. + +// Define command macros for fs-specific commands. + // Advisory file segment locking data type - // information passed to system by user type flock = struct { @@ -20952,8 +21709,6 @@ type flock = struct { Fl_whence int16 } /* fcntl.h:252:1 */ -// X/Open Extended API set 2 (a.k.a. C063) - // $NetBSD: ioctl.h,v 1.39 2019/03/25 19:24:31 maxv Exp $ // - @@ -21275,15 +22030,6 @@ type ttysize = struct { // POSSIBILITY OF SUCH DAMAGE. // for size_t -// DO NOT EDIT THIS FILE. -// -// It has been auto-edited by fixincludes from: -// -// "/usr/include/sys/types.h" -// -// This had to be done to correct non-standard usages in the -// original, manufacturer supplied header file. - // $NetBSD: types.h,v 1.102 2018/11/06 16:26:44 maya Exp $ // - @@ -21560,13 +22306,13 @@ type ioctl_pt = struct { // Forward references type unixShm = struct { - FpShmNode uintptr - FpNext uintptr - FhasMutex U8 - Fid U8 - FsharedMask U16 - FexclMask U16 - _ [2]byte + FpShmNode uintptr + FpNext uintptr + FhasMutex U8 + Fid U8 + FsharedMask U16 + FexclMask U16 + F__ccgo_pad1 [2]byte } /* sqlite3.c:34057:9 */ // Try to determine if gethostuuid() is available based on standard @@ -21602,20 +22348,20 @@ type unixShm = struct { // Forward references type UnixShm = unixShm /* sqlite3.c:34057:24 */ // Connection shared memory type unixShmNode = struct { - FpInode uintptr - FpShmMutex uintptr - FzFilename uintptr - FhShm int32 - FszRegion int32 - FnRegion U16 - FisReadonly U8 - FisUnlocked U8 - _ [4]byte - FapRegion uintptr - FnRef int32 - _ [4]byte - FpFirst uintptr - FaLock [8]int32 + FpInode uintptr + FpShmMutex uintptr + FzFilename uintptr + FhShm int32 + FszRegion int32 + FnRegion U16 + FisReadonly U8 + FisUnlocked U8 + F__ccgo_pad1 [4]byte + FapRegion uintptr + FnRef int32 + F__ccgo_pad2 [4]byte + FpFirst uintptr + FaLock [8]int32 } /* sqlite3.c:34057:9 */ // Connection shared memory @@ -21630,10 +22376,10 @@ type unixInodeInfo = struct { FnLock int32 FeFileLock uint8 FbProcessLock uint8 - _ [6]byte + F__ccgo_pad1 [6]byte FpUnused uintptr FnRef int32 - _ [4]byte + F__ccgo_pad2 [4]byte FpShmNode uintptr FpNext uintptr FpPrev uintptr @@ -21658,10 +22404,10 @@ type unixFile = struct { FpInode uintptr Fh int32 FeFileLock uint8 - _ [1]byte + F__ccgo_pad1 [1]byte FctrlFlags uint16 FlastErrno int32 - _ [4]byte + F__ccgo_pad2 [4]byte FlockingContext uintptr FpPreallocatedUnused uintptr FzPath uintptr @@ -21669,7 +22415,7 @@ type unixFile = struct { FszChunk int32 FsectorSize int32 FdeviceCharacteristics int32 - _ [4]byte + F__ccgo_pad3 [4]byte } /* sqlite3.c:34078:9 */ // The unixFile structure is subclass of sqlite3_file specific to the unix @@ -21758,67 +22504,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 + 2389 /* "open" */, FpCurrent: 0}, + {FzName: ts + 2388 /* "open" */, FpCurrent: 0}, - {FzName: ts + 2394 /* "close" */, FpCurrent: 0}, + {FzName: ts + 2393 /* "close" */, FpCurrent: 0}, - {FzName: ts + 2400 /* "access" */, FpCurrent: 0}, + {FzName: ts + 2399 /* "access" */, FpCurrent: 0}, - {FzName: ts + 2407 /* "getcwd" */, FpCurrent: 0}, + {FzName: ts + 2406 /* "getcwd" */, FpCurrent: 0}, - {FzName: ts + 2414 /* "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 + 2419 /* "fstat" */, FpCurrent: 0}, + {FzName: ts + 2418 /* "fstat" */, FpCurrent: 0}, - {FzName: ts + 2425 /* "ftruncate" */, FpCurrent: 0}, + {FzName: ts + 2424 /* "ftruncate" */, FpCurrent: 0}, - {FzName: ts + 2435 /* "fcntl" */, FpCurrent: 0}, + {FzName: ts + 2434 /* "fcntl" */, FpCurrent: 0}, - {FzName: ts + 2441 /* "read" */, FpCurrent: 0}, + {FzName: ts + 2440 /* "read" */, FpCurrent: 0}, - {FzName: ts + 2446 /* "pread" */}, + {FzName: ts + 2445 /* "pread" */}, - {FzName: ts + 2452 /* "pread64" */}, + {FzName: ts + 2451 /* "pread64" */}, - {FzName: ts + 2460 /* "write" */, FpCurrent: 0}, + {FzName: ts + 2459 /* "write" */, FpCurrent: 0}, - {FzName: ts + 2466 /* "pwrite" */}, + {FzName: ts + 2465 /* "pwrite" */}, - {FzName: ts + 2473 /* "pwrite64" */}, + {FzName: ts + 2472 /* "pwrite64" */}, - {FzName: ts + 2482 /* "fchmod" */, FpCurrent: 0}, + {FzName: ts + 2481 /* "fchmod" */, FpCurrent: 0}, - {FzName: ts + 2489 /* "fallocate" */}, + {FzName: ts + 2488 /* "fallocate" */}, - {FzName: ts + 2499 /* "unlink" */, FpCurrent: 0}, + {FzName: ts + 2498 /* "unlink" */, FpCurrent: 0}, - {FzName: ts + 2506 /* "openDirectory" */, FpCurrent: 0}, + {FzName: ts + 2505 /* "openDirectory" */, FpCurrent: 0}, - {FzName: ts + 2520 /* "mkdir" */, FpCurrent: 0}, + {FzName: ts + 2519 /* "mkdir" */, FpCurrent: 0}, - {FzName: ts + 2526 /* "rmdir" */, FpCurrent: 0}, + {FzName: ts + 2525 /* "rmdir" */, FpCurrent: 0}, - {FzName: ts + 2532 /* "fchown" */, FpCurrent: 0}, + {FzName: ts + 2531 /* "fchown" */, FpCurrent: 0}, - {FzName: ts + 2539 /* "geteuid" */, FpCurrent: 0}, + {FzName: ts + 2538 /* "geteuid" */, FpCurrent: 0}, - {FzName: ts + 2547 /* "mmap" */, FpCurrent: 0}, + {FzName: ts + 2546 /* "mmap" */, FpCurrent: 0}, - {FzName: ts + 2552 /* "munmap" */, FpCurrent: 0}, + {FzName: ts + 2551 /* "munmap" */, FpCurrent: 0}, - {FzName: ts + 2559 /* "mremap" */}, + {FzName: ts + 2558 /* "mremap" */}, - {FzName: ts + 2566 /* "getpagesize" */, FpCurrent: 0}, + {FzName: ts + 2565 /* "getpagesize" */, FpCurrent: 0}, - {FzName: ts + 2578 /* "readlink" */, FpCurrent: 0}, + {FzName: ts + 2577 /* "readlink" */, FpCurrent: 0}, - {FzName: ts + 2587 /* "lstat" */, FpCurrent: 0}, + {FzName: ts + 2586 /* "lstat" */, FpCurrent: 0}, - {FzName: ts + 2593 /* "ioctl" */}, + {FzName: ts + 2592 /* "ioctl" */}, } /* sqlite3.c:34446:3 */ // End of the overrideable system calls @@ -21952,9 +22698,9 @@ func robust_open(tls *libc.TLS, z uintptr, f int32, m X__mode_t) int32 { /* sqli } (*(*func(*libc.TLS, int32) int32)(unsafe.Pointer((uintptr(unsafe.Pointer(&aSyscall)) + 1*24 + 8 /* &.pCurrent */))))(tls, fd) Xsqlite3_log(tls, SQLITE_WARNING, - ts+2599 /* "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+2642 /* "/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 } } @@ -22212,13 +22958,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 + 756 /* "" */ + zErr = ts + 755 /* "" */ if zPath == uintptr(0) { - zPath = ts + 756 /* "" */ + zPath = ts + 755 /* "" */ } Xsqlite3_log(tls, errcode, - ts+2652, /* "os_unix.c:%d: (%..." */ + ts+2651, /* "os_unix.c:%d: (%..." */ libc.VaList(bp, iLine, iErrno, zFunc, zPath, zErr)) return errcode @@ -22237,7 +22983,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+2394, /* "close" */ + unixLogErrorAtLine(tls, (SQLITE_IOERR | (int32(16) << 8)), ts+2393, /* "close" */ func() uintptr { if pFile != 0 { return (*UnixFile)(unsafe.Pointer(pFile)).FzPath @@ -22396,19 +23142,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+2683 /* "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 == Nlink_t(0) { - Xsqlite3_log(tls, SQLITE_WARNING, ts+2707 /* "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 > Nlink_t(1) { - Xsqlite3_log(tls, SQLITE_WARNING, ts+2736 /* "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+2763 /* "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 } } @@ -23505,7 +24251,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+2791 /* "%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 { @@ -23524,7 +24270,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+2506 /* "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. @@ -23559,7 +24305,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(tls)))) - return unixLogErrorAtLine(tls, (SQLITE_IOERR | (int32(4) << 8)), ts+2794 /* "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 @@ -23597,7 +24343,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(tls)))) - return unixLogErrorAtLine(tls, (SQLITE_IOERR | (int32(6) << 8)), ts+2425 /* "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 { return SQLITE_OK @@ -23669,7 +24415,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+756 /* "" */, 1) + nWrite = seekAndWrite(tls, pFile, iWrite, ts+755 /* "" */, 1) if nWrite != 1 { return (SQLITE_IOERR | (int32(3) << 8)) } @@ -23743,7 +24489,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+2791 /* "%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 } @@ -24003,7 +24749,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+2425 /* "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 { @@ -24109,7 +24855,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+2805 /* "%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 @@ -24131,7 +24877,7 @@ __5: if !(int32((*UnixInodeInfo)(unsafe.Pointer(pInode)).FbProcessLock) == 0) { goto __7 } - if !(0 == Xsqlite3_uri_boolean(tls, (*UnixFile)(unsafe.Pointer(pDbFd)).FzPath, ts+2812 /* "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) | O_NOFOLLOW), @@ -24146,7 +24892,7 @@ __8: if !((*unixShmNode)(unsafe.Pointer(pShmNode)).FhShm < 0) { goto __10 } - rc = unixLogErrorAtLine(tls, Xsqlite3CantopenError(tls, 38716), ts+2389 /* "open" */, zShm, 38716) + rc = unixLogErrorAtLine(tls, Xsqlite3CantopenError(tls, 38716), ts+2388 /* "open" */, zShm, 38716) goto shm_open_err __10: ; @@ -24313,11 +25059,11 @@ __11: goto __13 } *(*int32)(unsafe.Pointer(bp + 152 /* x */)) = 0 - if !(seekAndWriteFd(tls, (*UnixShmNode)(unsafe.Pointer(pShmNode)).FhShm, (int64(((iPg*pgsz)+pgsz)-1)), ts+756 /* "" */, 1, bp+152 /* &x */) != 1) { + if !(seekAndWriteFd(tls, (*UnixShmNode)(unsafe.Pointer(pShmNode)).FhShm, (int64(((iPg*pgsz)+pgsz)-1)), ts+755 /* "" */, 1, bp+152 /* &x */) != 1) { goto __14 } zFile = (*UnixShmNode)(unsafe.Pointer(pShmNode)).FzFilename - rc = unixLogErrorAtLine(tls, (SQLITE_IOERR | (int32(19) << 8)), ts+2460 /* "write" */, zFile, 38860) + rc = unixLogErrorAtLine(tls, (SQLITE_IOERR | (int32(19) << 8)), ts+2459 /* "write" */, zFile, 38860) goto shmpage_out __14: ; @@ -24365,7 +25111,7 @@ __16: if !(pMem == (libc.UintptrFromInt32(-1))) { goto __20 } - rc = unixLogErrorAtLine(tls, (SQLITE_IOERR | (int32(21) << 8)), ts+2547 /* "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: ; @@ -24407,10 +25153,10 @@ shmpage_out: if !(int32((*UnixShmNode)(unsafe.Pointer(pShmNode)).FnRegion) > iRegion) { goto __25 } - *(*uintptr)(unsafe.Pointer(libc.AtomicLoadUintptr(&pp))) = *(*uintptr)(unsafe.Pointer((*UnixShmNode)(unsafe.Pointer(pShmNode)).FapRegion + uintptr(iRegion)*8)) + *(*uintptr)(unsafe.Pointer(pp)) = *(*uintptr)(unsafe.Pointer((*UnixShmNode)(unsafe.Pointer(pShmNode)).FapRegion + uintptr(iRegion)*8)) goto __26 __25: - *(*uintptr)(unsafe.Pointer(libc.AtomicLoadUintptr(&pp))) = uintptr(0) + *(*uintptr)(unsafe.Pointer(pp)) = uintptr(0) __26: ; if !(((*UnixShmNode)(unsafe.Pointer(pShmNode)).FisReadonly != 0) && (rc == SQLITE_OK)) { @@ -24741,17 +25487,19 @@ func fillInUnixFile(tls *libc.TLS, pVfs uintptr, h int32, pId uintptr, zFilename } return uintptr(0) }(), - ts+2825 /* "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+2830 /* "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)) } if (ctrlFlags & UNIXFILE_NOLOCK) != 0 { pLockingStyle = uintptr(unsafe.Pointer(&nolockIoMethods)) } else { - pLockingStyle = (**(**func(*libc.TLS, uintptr, uintptr) uintptr)(unsafe.Pointer((pVfs + 32 /* &.pAppData */))))(tls, zFilename, pNew) + pLockingStyle = (*(**struct { + f func(*libc.TLS, uintptr, uintptr) uintptr + })(unsafe.Pointer(&struct{ uintptr }{(*Sqlite3_vfs)(unsafe.Pointer(pVfs)).FpAppData}))).f(tls, zFilename, pNew) } if pLockingStyle == uintptr(unsafe.Pointer(&posixIoMethods)) { @@ -24790,7 +25538,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+2840 /* "%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 } @@ -24820,10 +25568,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+2848 /* "SQLITE_TMPDIR" */) + azDirs[0] = libc.Xgetenv(tls, ts+2847 /* "SQLITE_TMPDIR" */) } if !(int32(azDirs[1]) != 0) { - azDirs[1] = libc.Xgetenv(tls, ts+2862 /* "TMPDIR" */) + azDirs[1] = libc.Xgetenv(tls, ts+2861 /* "TMPDIR" */) } for 1 != 0 { if (((zDir != uintptr(0)) && @@ -24843,10 +25591,10 @@ func unixTempFileDir(tls *libc.TLS) uintptr { /* sqlite3.c:39856:19: */ var azDirs = [6]uintptr{ uintptr(0), uintptr(0), - ts + 2869, /* "/var/tmp" */ - ts + 2878, /* "/usr/tmp" */ - ts + 2887, /* "/tmp" */ - ts + 769, /* "." */ + 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 @@ -24874,7 +25622,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+2892, /* "%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 @@ -25030,7 +25778,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+2909 /* "modeof" */) + var z uintptr = Xsqlite3_uri_parameter(tls, zPath, ts+2908 /* "modeof" */) if z != 0 { rc = getFileMode(tls, z, pMode, pUid, pGid) } @@ -25256,7 +26004,7 @@ __15: if !(fd < 0) { goto __19 } - rc2 = unixLogErrorAtLine(tls, Xsqlite3CantopenError(tls, 40257), ts+2389 /* "open" */, zName, 40257) + rc2 = unixLogErrorAtLine(tls, Xsqlite3CantopenError(tls, 40257), ts+2388 /* "open" */, zName, 40257) if !(rc == SQLITE_OK) { goto __20 } @@ -25367,7 +26115,7 @@ func unixDelete(tls *libc.TLS, NotUsed uintptr, zPath uintptr, dirSync int32) in if (*(*int32)(unsafe.Pointer(libc.X__errno(tls)))) == ENOENT { rc = (SQLITE_IOERR | (int32(23) << 8)) } else { - rc = unixLogErrorAtLine(tls, (SQLITE_IOERR | (int32(10) << 8)), ts+2499 /* "unlink" */, zPath, 40396) + rc = unixLogErrorAtLine(tls, (SQLITE_IOERR | (int32(10) << 8)), ts+2498 /* "unlink" */, zPath, 40396) } return rc } @@ -25377,7 +26125,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+2916 /* "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 { @@ -25452,7 +26200,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+2407 /* "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('/') @@ -25463,7 +26211,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+2791 /* "%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. @@ -25538,7 +26286,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(tls)))) != ENOENT { - rc = unixLogErrorAtLine(tls, Xsqlite3CantopenError(tls, 40577), ts+2587 /* "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(X_S_IFMT)) == X__mode_t(X_S_IFLNK))) @@ -25558,7 +26306,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+2578 /* "readlink" */, zIn, 40595) + rc = unixLogErrorAtLine(tls, Xsqlite3CantopenError(tls, 40595), ts+2577 /* "readlink" */, zIn, 40595) } else { if int32(*(*int8)(unsafe.Pointer(zDel))) != '/' { var n int32 @@ -25595,6 +26343,329 @@ func unixFullPathname(tls *libc.TLS, pVfs uintptr, zPath uintptr, nOut int32, zO return rc } +// Interfaces for opening a shared library, finding entry points +// within the shared library, and closing the shared library. +// $NetBSD: dlfcn.h,v 1.25 2017/07/11 15:21:35 joerg Exp $ + +// - +// Copyright (c) 1998 The NetBSD Foundation, Inc. +// All rights reserved. +// +// This code is derived from software contributed to The NetBSD Foundation +// by Paul Kranenburg. +// +// 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. +// +// THIS SOFTWARE IS PROVIDED BY THE NETBSD FOUNDATION, INC. 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 FOUNDATION 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. + +// $NetBSD: featuretest.h,v 1.10 2013/04/26 18:29:06 christos Exp $ + +// Written by Klaus Klein , February 2, 1998. +// Public domain. +// +// NOTE: Do not protect this header against multiple inclusion. Doing +// so can have subtle side-effects due to header file inclusion order +// and testing of e.g. _POSIX_SOURCE vs. _POSIX_C_SOURCE. Instead, +// protect each CPP macro that we want to supply. + +// Feature-test macros are defined by several standards, and allow an +// application to specify what symbols they want the system headers to +// expose, and hence what standard they want them to conform to. +// There are two classes of feature-test macros. The first class +// specify complete standards, and if one of these is defined, header +// files will try to conform to the relevant standard. They are: +// +// ANSI macros: +// _ANSI_SOURCE ANSI C89 +// +// POSIX macros: +// _POSIX_SOURCE == 1 IEEE Std 1003.1 (version?) +// _POSIX_C_SOURCE == 1 IEEE Std 1003.1-1990 +// _POSIX_C_SOURCE == 2 IEEE Std 1003.2-1992 +// _POSIX_C_SOURCE == 199309L IEEE Std 1003.1b-1993 +// _POSIX_C_SOURCE == 199506L ISO/IEC 9945-1:1996 +// _POSIX_C_SOURCE == 200112L IEEE Std 1003.1-2001 +// _POSIX_C_SOURCE == 200809L IEEE Std 1003.1-2008 +// +// X/Open macros: +// _XOPEN_SOURCE System Interfaces and Headers, Issue 4, Ver 2 +// _XOPEN_SOURCE_EXTENDED == 1 XSH4.2 UNIX extensions +// _XOPEN_SOURCE == 500 System Interfaces and Headers, Issue 5 +// _XOPEN_SOURCE == 520 Networking Services (XNS), Issue 5.2 +// _XOPEN_SOURCE == 600 IEEE Std 1003.1-2001, XSI option +// _XOPEN_SOURCE == 700 IEEE Std 1003.1-2008, XSI option +// +// NetBSD macros: +// _NETBSD_SOURCE == 1 Make all NetBSD features available. +// +// If more than one of these "major" feature-test macros is defined, +// then the set of facilities provided (and namespace used) is the +// union of that specified by the relevant standards, and in case of +// conflict, the earlier standard in the above list has precedence (so +// if both _POSIX_C_SOURCE and _NETBSD_SOURCE are defined, the version +// of rename() that's used is the POSIX one). If none of the "major" +// feature-test macros is defined, _NETBSD_SOURCE is assumed. +// +// There are also "minor" feature-test macros, which enable extra +// functionality in addition to some base standard. They should be +// defined along with one of the "major" macros. The "minor" macros +// are: +// +// _REENTRANT +// _ISOC99_SOURCE +// _ISOC11_SOURCE +// _LARGEFILE_SOURCE Large File Support +// + +// $NetBSD: cdefs.h,v 1.141 2019/02/21 21:34:05 christos Exp $ + +// * 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. 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 + +// $NetBSD: ansi.h,v 1.11 2019/05/07 03:49:26 kamil Exp $ + +// $NetBSD: common_ansi.h,v 1.1 2014/08/19 07:27:31 matt Exp $ + +// - +// Copyright (c) 2014 The NetBSD Foundation, Inc. +// All rights reserved. +// +// This code is derived from software contributed to The NetBSD Foundation +// by Matt Thomas of 3am Software Foundry. +// +// 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. +// +// THIS SOFTWARE IS PROVIDED BY THE NETBSD FOUNDATION, INC. 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 FOUNDATION 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. + +type _dl_info = struct { + Fdli_fname uintptr + Fdli_fbase uintptr + Fdli_sname uintptr + Fdli_saddr uintptr +} /* dlfcn.h:45:9 */ + +// Interfaces for opening a shared library, finding entry points +// within the shared library, and closing the shared library. +// $NetBSD: dlfcn.h,v 1.25 2017/07/11 15:21:35 joerg Exp $ + +// - +// Copyright (c) 1998 The NetBSD Foundation, Inc. +// All rights reserved. +// +// This code is derived from software contributed to The NetBSD Foundation +// by Paul Kranenburg. +// +// 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. +// +// THIS SOFTWARE IS PROVIDED BY THE NETBSD FOUNDATION, INC. 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 FOUNDATION 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. + +// $NetBSD: featuretest.h,v 1.10 2013/04/26 18:29:06 christos Exp $ + +// Written by Klaus Klein , February 2, 1998. +// Public domain. +// +// NOTE: Do not protect this header against multiple inclusion. Doing +// so can have subtle side-effects due to header file inclusion order +// and testing of e.g. _POSIX_SOURCE vs. _POSIX_C_SOURCE. Instead, +// protect each CPP macro that we want to supply. + +// Feature-test macros are defined by several standards, and allow an +// application to specify what symbols they want the system headers to +// expose, and hence what standard they want them to conform to. +// There are two classes of feature-test macros. The first class +// specify complete standards, and if one of these is defined, header +// files will try to conform to the relevant standard. They are: +// +// ANSI macros: +// _ANSI_SOURCE ANSI C89 +// +// POSIX macros: +// _POSIX_SOURCE == 1 IEEE Std 1003.1 (version?) +// _POSIX_C_SOURCE == 1 IEEE Std 1003.1-1990 +// _POSIX_C_SOURCE == 2 IEEE Std 1003.2-1992 +// _POSIX_C_SOURCE == 199309L IEEE Std 1003.1b-1993 +// _POSIX_C_SOURCE == 199506L ISO/IEC 9945-1:1996 +// _POSIX_C_SOURCE == 200112L IEEE Std 1003.1-2001 +// _POSIX_C_SOURCE == 200809L IEEE Std 1003.1-2008 +// +// X/Open macros: +// _XOPEN_SOURCE System Interfaces and Headers, Issue 4, Ver 2 +// _XOPEN_SOURCE_EXTENDED == 1 XSH4.2 UNIX extensions +// _XOPEN_SOURCE == 500 System Interfaces and Headers, Issue 5 +// _XOPEN_SOURCE == 520 Networking Services (XNS), Issue 5.2 +// _XOPEN_SOURCE == 600 IEEE Std 1003.1-2001, XSI option +// _XOPEN_SOURCE == 700 IEEE Std 1003.1-2008, XSI option +// +// NetBSD macros: +// _NETBSD_SOURCE == 1 Make all NetBSD features available. +// +// If more than one of these "major" feature-test macros is defined, +// then the set of facilities provided (and namespace used) is the +// union of that specified by the relevant standards, and in case of +// conflict, the earlier standard in the above list has precedence (so +// if both _POSIX_C_SOURCE and _NETBSD_SOURCE are defined, the version +// of rename() that's used is the POSIX one). If none of the "major" +// feature-test macros is defined, _NETBSD_SOURCE is assumed. +// +// There are also "minor" feature-test macros, which enable extra +// functionality in addition to some base standard. They should be +// defined along with one of the "major" macros. The "minor" macros +// are: +// +// _REENTRANT +// _ISOC99_SOURCE +// _ISOC11_SOURCE +// _LARGEFILE_SOURCE Large File Support +// + +// $NetBSD: cdefs.h,v 1.141 2019/02/21 21:34:05 christos Exp $ + +// * 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. 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 + +// $NetBSD: ansi.h,v 1.11 2019/05/07 03:49:26 kamil Exp $ + +// $NetBSD: common_ansi.h,v 1.1 2014/08/19 07:27:31 matt Exp $ + +// - +// Copyright (c) 2014 The NetBSD Foundation, Inc. +// All rights reserved. +// +// This code is derived from software contributed to The NetBSD Foundation +// by Matt Thomas of 3am Software Foundry. +// +// 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. +// +// THIS SOFTWARE IS PROVIDED BY THE NETBSD FOUNDATION, INC. 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 FOUNDATION 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. + +type Dl_info = _dl_info /* dlfcn.h:50:3 */ + // Values for dlopen `mode'. /* @@ -25626,7 +26697,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+2791 /* "%s" */, libc.VaList(bp, zErr)) + Xsqlite3_snprintf(tls, nBuf, zBufOut, ts+2790 /* "%s" */, libc.VaList(bp, zErr)) } unixLeaveMutex(tls) } @@ -25652,7 +26723,9 @@ func unixDlSym(tls *libc.TLS, NotUsed uintptr, p uintptr, zSym uintptr) uintptr x = *(*uintptr)(unsafe.Pointer(&struct { f func(*libc.TLS, uintptr, uintptr) uintptr }{libc.Xdlsym})) - return (*(*func(*libc.TLS, uintptr, uintptr) uintptr)(unsafe.Pointer(&x)))(tls, p, zSym) + return (*struct { + f func(*libc.TLS, uintptr, uintptr) uintptr + })(unsafe.Pointer(&struct{ uintptr }{x})).f(tls, p, zSym) } func unixDlClose(tls *libc.TLS, NotUsed uintptr, pHandle uintptr) { /* sqlite3.c:40681:13: */ @@ -25683,7 +26756,7 @@ func unixRandomness(tls *libc.TLS, NotUsed uintptr, nBuf int32, zBuf uintptr) in { var fd int32 var got int32 - fd = robust_open(tls, ts+2922 /* "/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 @@ -25980,10 +27053,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 + 2935 /* "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 + 2940 /* "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 + 2950 /* "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 + 2830 /* "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. @@ -26035,26 +27108,26 @@ func Xsqlite3_os_end(tls *libc.TLS) int32 { /* sqlite3.c:42157:16: */ // Forward declaration of objects used by this utility type MemVfs = sqlite3_vfs /* sqlite3.c:48545:28 */ type MemFile1 = struct { - Fbase Sqlite3_file - FpStore uintptr - FeLock int32 - _ [4]byte + Fbase Sqlite3_file + FpStore uintptr + FeLock int32 + F__ccgo_pad1 [4]byte } /* sqlite3.c:48546:9 */ type MemFile = MemFile1 /* sqlite3.c:48546:24 */ type MemStore1 = struct { - Fsz Sqlite3_int64 - FszAlloc Sqlite3_int64 - FszMax Sqlite3_int64 - FaData uintptr - FpMutex uintptr - FnMmap int32 - FmFlags uint32 - FnRdLock int32 - FnWrLock int32 - FnRef int32 - _ [4]byte - FzFName uintptr + Fsz Sqlite3_int64 + FszAlloc Sqlite3_int64 + FszMax Sqlite3_int64 + FaData uintptr + FpMutex uintptr + FnMmap int32 + FmFlags uint32 + FnRdLock int32 + FnWrLock int32 + FnRef int32 + F__ccgo_pad1 [4]byte + FzFName uintptr } /* sqlite3.c:48546:9 */ type MemStore = MemStore1 /* sqlite3.c:48547:25 */ @@ -26064,9 +27137,9 @@ type MemStore = MemStore1 /* sqlite3.c:48547:25 */ // // Must hold SQLITE_MUTEX_STATIC_VFS1 to access any part of this object. type MemFS = struct { - FnMemStore int32 - _ [4]byte - FapMemStore uintptr + FnMemStore int32 + F__ccgo_pad1 [4]byte + FapMemStore uintptr } /* sqlite3.c:48617:8 */ // File-scope variables for holding the memdb files that are accessible @@ -26078,7 +27151,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 + 2963, /* "memdb" */ // pAppData (set when registered) + FzName: ts + 2962, /* "memdb" */ // pAppData (set when registered) FxOpen: 0, /* memdbDelete, */ // xDelete FxAccess: 0, // xAccess FxFullPathname: 0, // xFullPathname @@ -26310,7 +27383,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+2969 /* "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 { @@ -26367,7 +27440,9 @@ func memdbOpen(tls *libc.TLS, pVfs uintptr, zName uintptr, pFd uintptr, flags in var p uintptr = uintptr(0) var szName int32 if (flags & SQLITE_OPEN_MAIN_DB) == 0 { - return (*(*func(*libc.TLS, uintptr, uintptr, uintptr, int32, uintptr) int32)(unsafe.Pointer(((*Sqlite3_vfs)(unsafe.Pointer(pVfs)).FpAppData + 40 /* &.xOpen */))))(tls, (*Sqlite3_vfs)(unsafe.Pointer(pVfs)).FpAppData, zName, pFd, flags, pOutFlags) + return (*struct { + f func(*libc.TLS, uintptr, uintptr, uintptr, int32, uintptr) int32 + })(unsafe.Pointer(&struct{ uintptr }{(*Sqlite3_vfs)(unsafe.Pointer(((*Sqlite3_vfs)(unsafe.Pointer(pVfs)).FpAppData))).FxOpen})).f(tls, (*Sqlite3_vfs)(unsafe.Pointer(pVfs)).FpAppData, zName, pFd, flags, pOutFlags) } libc.Xmemset(tls, pFile, 0, uint64(unsafe.Sizeof(MemStore{}))) szName = Xsqlite3Strlen30(tls, zName) @@ -26453,50 +27528,66 @@ func memdbFullPathname(tls *libc.TLS, pVfs uintptr, zPath uintptr, nOut int32, z defer tls.Free(8) _ = pVfs - Xsqlite3_snprintf(tls, nOut, zOut, ts+2791 /* "%s" */, libc.VaList(bp, zPath)) + Xsqlite3_snprintf(tls, nOut, zOut, ts+2790 /* "%s" */, libc.VaList(bp, zPath)) return SQLITE_OK } // Open the dynamic library located at zPath and return a handle. func memdbDlOpen(tls *libc.TLS, pVfs uintptr, zPath uintptr) uintptr { /* sqlite3.c:49147:13: */ - return (*(*func(*libc.TLS, uintptr, uintptr) uintptr)(unsafe.Pointer(((*Sqlite3_vfs)(unsafe.Pointer(pVfs)).FpAppData + 72 /* &.xDlOpen */))))(tls, (*Sqlite3_vfs)(unsafe.Pointer(pVfs)).FpAppData, zPath) + return (*struct { + f func(*libc.TLS, uintptr, uintptr) uintptr + })(unsafe.Pointer(&struct{ uintptr }{(*Sqlite3_vfs)(unsafe.Pointer(((*Sqlite3_vfs)(unsafe.Pointer(pVfs)).FpAppData))).FxDlOpen})).f(tls, (*Sqlite3_vfs)(unsafe.Pointer(pVfs)).FpAppData, zPath) } // Populate the buffer zErrMsg (size nByte bytes) with a human readable // utf-8 string describing the most recent error encountered associated // with dynamic libraries. func memdbDlError(tls *libc.TLS, pVfs uintptr, nByte int32, zErrMsg uintptr) { /* sqlite3.c:49156:13: */ - (*(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(((*Sqlite3_vfs)(unsafe.Pointer(pVfs)).FpAppData + 80 /* &.xDlError */))))(tls, (*Sqlite3_vfs)(unsafe.Pointer(pVfs)).FpAppData, nByte, zErrMsg) + (*struct { + f func(*libc.TLS, uintptr, int32, uintptr) + })(unsafe.Pointer(&struct{ uintptr }{(*Sqlite3_vfs)(unsafe.Pointer(((*Sqlite3_vfs)(unsafe.Pointer(pVfs)).FpAppData))).FxDlError})).f(tls, (*Sqlite3_vfs)(unsafe.Pointer(pVfs)).FpAppData, nByte, zErrMsg) } // Return a pointer to the symbol zSymbol in the dynamic library pHandle. func memdbDlSym(tls *libc.TLS, pVfs uintptr, p uintptr, zSym uintptr) uintptr { /* sqlite3.c:49163:13: */ - return (*(*func(*libc.TLS, uintptr, uintptr, uintptr) uintptr)(unsafe.Pointer(((*Sqlite3_vfs)(unsafe.Pointer(pVfs)).FpAppData + 88 /* &.xDlSym */))))(tls, (*Sqlite3_vfs)(unsafe.Pointer(pVfs)).FpAppData, p, zSym) + return (*struct { + f func(*libc.TLS, uintptr, uintptr, uintptr) uintptr + })(unsafe.Pointer(&struct{ uintptr }{(*Sqlite3_vfs)(unsafe.Pointer(((*Sqlite3_vfs)(unsafe.Pointer(pVfs)).FpAppData))).FxDlSym})).f(tls, (*Sqlite3_vfs)(unsafe.Pointer(pVfs)).FpAppData, p, zSym) } // Close the dynamic library handle pHandle. func memdbDlClose(tls *libc.TLS, pVfs uintptr, pHandle uintptr) { /* sqlite3.c:49170:13: */ - (*(*func(*libc.TLS, uintptr, uintptr))(unsafe.Pointer(((*Sqlite3_vfs)(unsafe.Pointer(pVfs)).FpAppData + 96 /* &.xDlClose */))))(tls, (*Sqlite3_vfs)(unsafe.Pointer(pVfs)).FpAppData, pHandle) + (*struct { + f func(*libc.TLS, uintptr, uintptr) + })(unsafe.Pointer(&struct{ uintptr }{(*Sqlite3_vfs)(unsafe.Pointer(((*Sqlite3_vfs)(unsafe.Pointer(pVfs)).FpAppData))).FxDlClose})).f(tls, (*Sqlite3_vfs)(unsafe.Pointer(pVfs)).FpAppData, pHandle) } // Populate the buffer pointed to by zBufOut with nByte bytes of // random data. func memdbRandomness(tls *libc.TLS, pVfs uintptr, nByte int32, zBufOut uintptr) int32 { /* sqlite3.c:49178:12: */ - return (*(*func(*libc.TLS, uintptr, int32, uintptr) int32)(unsafe.Pointer(((*Sqlite3_vfs)(unsafe.Pointer(pVfs)).FpAppData + 104 /* &.xRandomness */))))(tls, (*Sqlite3_vfs)(unsafe.Pointer(pVfs)).FpAppData, nByte, zBufOut) + return (*struct { + f func(*libc.TLS, uintptr, int32, uintptr) int32 + })(unsafe.Pointer(&struct{ uintptr }{(*Sqlite3_vfs)(unsafe.Pointer(((*Sqlite3_vfs)(unsafe.Pointer(pVfs)).FpAppData))).FxRandomness})).f(tls, (*Sqlite3_vfs)(unsafe.Pointer(pVfs)).FpAppData, nByte, zBufOut) } // Sleep for nMicro microseconds. Return the number of microseconds // actually slept. func memdbSleep(tls *libc.TLS, pVfs uintptr, nMicro int32) int32 { /* sqlite3.c:49186:12: */ - return (*(*func(*libc.TLS, uintptr, int32) int32)(unsafe.Pointer(((*Sqlite3_vfs)(unsafe.Pointer(pVfs)).FpAppData + 112 /* &.xSleep */))))(tls, (*Sqlite3_vfs)(unsafe.Pointer(pVfs)).FpAppData, nMicro) + return (*struct { + f func(*libc.TLS, uintptr, int32) int32 + })(unsafe.Pointer(&struct{ uintptr }{(*Sqlite3_vfs)(unsafe.Pointer(((*Sqlite3_vfs)(unsafe.Pointer(pVfs)).FpAppData))).FxSleep})).f(tls, (*Sqlite3_vfs)(unsafe.Pointer(pVfs)).FpAppData, nMicro) } func memdbGetLastError(tls *libc.TLS, pVfs uintptr, a int32, b uintptr) int32 { /* sqlite3.c:49199:12: */ - return (*(*func(*libc.TLS, uintptr, int32, uintptr) int32)(unsafe.Pointer(((*Sqlite3_vfs)(unsafe.Pointer(pVfs)).FpAppData + 128 /* &.xGetLastError */))))(tls, (*Sqlite3_vfs)(unsafe.Pointer(pVfs)).FpAppData, a, b) + return (*struct { + f func(*libc.TLS, uintptr, int32, uintptr) int32 + })(unsafe.Pointer(&struct{ uintptr }{(*Sqlite3_vfs)(unsafe.Pointer(((*Sqlite3_vfs)(unsafe.Pointer(pVfs)).FpAppData))).FxGetLastError})).f(tls, (*Sqlite3_vfs)(unsafe.Pointer(pVfs)).FpAppData, a, b) } func memdbCurrentTimeInt64(tls *libc.TLS, pVfs uintptr, p uintptr) int32 { /* sqlite3.c:49202:12: */ - return (*(*func(*libc.TLS, uintptr, uintptr) int32)(unsafe.Pointer(((*Sqlite3_vfs)(unsafe.Pointer(pVfs)).FpAppData + 136 /* &.xCurrentTimeInt64 */))))(tls, (*Sqlite3_vfs)(unsafe.Pointer(pVfs)).FpAppData, p) + return (*struct { + f func(*libc.TLS, uintptr, uintptr) int32 + })(unsafe.Pointer(&struct{ uintptr }{(*Sqlite3_vfs)(unsafe.Pointer(((*Sqlite3_vfs)(unsafe.Pointer(pVfs)).FpAppData))).FxCurrentTimeInt64})).f(tls, (*Sqlite3_vfs)(unsafe.Pointer(pVfs)).FpAppData, p) } // Translate a database connection pointer and schema name into a @@ -26570,7 +27661,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+2984 /* "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 { @@ -26643,7 +27734,7 @@ __1: goto end_deserialize __2: ; - zSql = Xsqlite3_mprintf(tls, ts+3007 /* "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 } @@ -27243,7 +28334,9 @@ func pcacheManageDirtyList(tls *libc.TLS, pPage uintptr, addRemove U8) { /* sqli func pcacheUnpin(tls *libc.TLS, p uintptr) { /* sqlite3.c:50041:13: */ if (*PCache)(unsafe.Pointer((*PgHdr)(unsafe.Pointer(p)).FpCache)).FbPurgeable != 0 { - (*(*func(*libc.TLS, uintptr, uintptr, int32))(unsafe.Pointer((uintptr(unsafe.Pointer(&Xsqlite3Config)) + 168 /* &.pcache2 */ + 64 /* &.xUnpin */))))(tls, (*PCache)(unsafe.Pointer((*PgHdr)(unsafe.Pointer(p)).FpCache)).FpCache, (*PgHdr)(unsafe.Pointer(p)).FpPage, 0) + (*struct { + f func(*libc.TLS, uintptr, uintptr, int32) + })(unsafe.Pointer(&struct{ uintptr }{Xsqlite3Config.Fpcache2.FxUnpin})).f(tls, (*PCache)(unsafe.Pointer((*PgHdr)(unsafe.Pointer(p)).FpCache)).FpCache, (*PgHdr)(unsafe.Pointer(p)).FpPage, 0) } } @@ -27278,13 +28371,15 @@ func Xsqlite3PcacheInitialize(tls *libc.TLS) int32 { /* sqlite3.c:50072:20: */ Xsqlite3PCacheSetDefault(tls) } - return (*(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer((uintptr(unsafe.Pointer(&Xsqlite3Config)) + 168 /* &.pcache2 */ + 16 /* &.xInit */))))(tls, Xsqlite3Config.Fpcache2.FpArg) + return (*struct { + f func(*libc.TLS, uintptr) int32 + })(unsafe.Pointer(&struct{ uintptr }{Xsqlite3Config.Fpcache2.FxInit})).f(tls, Xsqlite3Config.Fpcache2.FpArg) } func Xsqlite3PcacheShutdown(tls *libc.TLS) { /* sqlite3.c:50082:21: */ if Xsqlite3Config.Fpcache2.FxShutdown != 0 { // IMPLEMENTATION-OF: R-26000-56589 The xShutdown() method may be NULL. - (*(*func(*libc.TLS, uintptr))(unsafe.Pointer((uintptr(unsafe.Pointer(&Xsqlite3Config)) + 168 /* &.pcache2 */ + 24 /* &.xShutdown */))))(tls, Xsqlite3Config.Fpcache2.FpArg) + (*struct{ f func(*libc.TLS, uintptr) })(unsafe.Pointer(&struct{ uintptr }{Xsqlite3Config.Fpcache2.FxShutdown})).f(tls, Xsqlite3Config.Fpcache2.FpArg) } } @@ -27324,15 +28419,19 @@ func Xsqlite3PcacheSetPageSize(tls *libc.TLS, pCache uintptr, szPage int32) int3 if (*PCache)(unsafe.Pointer(pCache)).FszPage != 0 { var pNew uintptr - pNew = (*(*func(*libc.TLS, int32, int32, int32) uintptr)(unsafe.Pointer((uintptr(unsafe.Pointer(&Xsqlite3Config)) + 168 /* &.pcache2 */ + 32 /* &.xCreate */))))(tls, + pNew = (*struct { + f func(*libc.TLS, int32, int32, int32) uintptr + })(unsafe.Pointer(&struct{ uintptr }{Xsqlite3Config.Fpcache2.FxCreate})).f(tls, szPage, (int32(uint64((*PCache)(unsafe.Pointer(pCache)).FszExtra) + (((uint64(unsafe.Sizeof(PgHdr{}))) + uint64(7)) & libc.Uint64FromInt32(libc.CplInt32(7))))), int32((*PCache)(unsafe.Pointer(pCache)).FbPurgeable)) if pNew == uintptr(0) { return SQLITE_NOMEM } - (*(*func(*libc.TLS, uintptr, int32))(unsafe.Pointer((uintptr(unsafe.Pointer(&Xsqlite3Config)) + 168 /* &.pcache2 */ + 40 /* &.xCachesize */))))(tls, pNew, numberOfCachePages(tls, pCache)) + (*struct { + f func(*libc.TLS, uintptr, int32) + })(unsafe.Pointer(&struct{ uintptr }{Xsqlite3Config.Fpcache2.FxCachesize})).f(tls, pNew, numberOfCachePages(tls, pCache)) if (*PCache)(unsafe.Pointer(pCache)).FpCache != 0 { - (*(*func(*libc.TLS, uintptr))(unsafe.Pointer((uintptr(unsafe.Pointer(&Xsqlite3Config)) + 168 /* &.pcache2 */ + 88 /* &.xDestroy */))))(tls, (*PCache)(unsafe.Pointer(pCache)).FpCache) + (*struct{ f func(*libc.TLS, uintptr) })(unsafe.Pointer(&struct{ uintptr }{Xsqlite3Config.Fpcache2.FxDestroy})).f(tls, (*PCache)(unsafe.Pointer(pCache)).FpCache) } (*PCache)(unsafe.Pointer(pCache)).FpCache = pNew (*PCache)(unsafe.Pointer(pCache)).FszPage = szPage @@ -27375,7 +28474,9 @@ func Xsqlite3PcacheFetch(tls *libc.TLS, pCache uintptr, pgno Pgno, createFlag in // (createFlag==1 AND !(bPurgeable AND pDirty) eCreate = (createFlag & int32((*PCache)(unsafe.Pointer(pCache)).FeCreate)) - pRes = (*(*func(*libc.TLS, uintptr, uint32, int32) uintptr)(unsafe.Pointer((uintptr(unsafe.Pointer(&Xsqlite3Config)) + 168 /* &.pcache2 */ + 56 /* &.xFetch */))))(tls, (*PCache)(unsafe.Pointer(pCache)).FpCache, pgno, eCreate) + pRes = (*struct { + f func(*libc.TLS, uintptr, uint32, int32) uintptr + })(unsafe.Pointer(&struct{ uintptr }{Xsqlite3Config.Fpcache2.FxFetch})).f(tls, (*PCache)(unsafe.Pointer(pCache)).FpCache, pgno, eCreate) return pRes } @@ -27415,14 +28516,18 @@ func Xsqlite3PcacheFetchStress(tls *libc.TLS, pCache uintptr, pgno Pgno, ppPage if pPg != 0 { var rc int32 - rc = (*(*func(*libc.TLS, uintptr, uintptr) int32)(unsafe.Pointer((pCache + 48 /* &.xStress */))))(tls, (*PCache)(unsafe.Pointer(pCache)).FpStress, pPg) + rc = (*struct { + f func(*libc.TLS, uintptr, uintptr) int32 + })(unsafe.Pointer(&struct{ uintptr }{(*PCache)(unsafe.Pointer(pCache)).FxStress})).f(tls, (*PCache)(unsafe.Pointer(pCache)).FpStress, pPg) if (rc != SQLITE_OK) && (rc != SQLITE_BUSY) { return rc } } } - *(*uintptr)(unsafe.Pointer(ppPage)) = (*(*func(*libc.TLS, uintptr, uint32, int32) uintptr)(unsafe.Pointer((uintptr(unsafe.Pointer(&Xsqlite3Config)) + 168 /* &.pcache2 */ + 56 /* &.xFetch */))))(tls, (*PCache)(unsafe.Pointer(pCache)).FpCache, pgno, 2) + *(*uintptr)(unsafe.Pointer(ppPage)) = (*struct { + f func(*libc.TLS, uintptr, uint32, int32) uintptr + })(unsafe.Pointer(&struct{ uintptr }{Xsqlite3Config.Fpcache2.FxFetch})).f(tls, (*PCache)(unsafe.Pointer(pCache)).FpCache, pgno, 2) if *(*uintptr)(unsafe.Pointer(ppPage)) == uintptr(0) { return SQLITE_NOMEM } @@ -27500,7 +28605,9 @@ func Xsqlite3PcacheDrop(tls *libc.TLS, p uintptr) { /* sqlite3.c:50349:21: */ pcacheManageDirtyList(tls, p, uint8(PCACHE_DIRTYLIST_REMOVE)) } (*PCache)(unsafe.Pointer((*PgHdr)(unsafe.Pointer(p)).FpCache)).FnRefSum-- - (*(*func(*libc.TLS, uintptr, uintptr, int32))(unsafe.Pointer((uintptr(unsafe.Pointer(&Xsqlite3Config)) + 168 /* &.pcache2 */ + 64 /* &.xUnpin */))))(tls, (*PCache)(unsafe.Pointer((*PgHdr)(unsafe.Pointer(p)).FpCache)).FpCache, (*PgHdr)(unsafe.Pointer(p)).FpPage, 1) + (*struct { + f func(*libc.TLS, uintptr, uintptr, int32) + })(unsafe.Pointer(&struct{ uintptr }{Xsqlite3Config.Fpcache2.FxUnpin})).f(tls, (*PCache)(unsafe.Pointer((*PgHdr)(unsafe.Pointer(p)).FpCache)).FpCache, (*PgHdr)(unsafe.Pointer(p)).FpPage, 1) } // Make sure the page is marked as dirty. If it isn't dirty already, @@ -27563,7 +28670,9 @@ func Xsqlite3PcacheClearSyncFlags(tls *libc.TLS, pCache uintptr) { /* sqlite3.c: func Xsqlite3PcacheMove(tls *libc.TLS, p uintptr, newPgno Pgno) { /* sqlite3.c:50433:21: */ var pCache uintptr = (*PgHdr)(unsafe.Pointer(p)).FpCache - (*(*func(*libc.TLS, uintptr, uintptr, uint32, uint32))(unsafe.Pointer((uintptr(unsafe.Pointer(&Xsqlite3Config)) + 168 /* &.pcache2 */ + 72 /* &.xRekey */))))(tls, (*PCache)(unsafe.Pointer(pCache)).FpCache, (*PgHdr)(unsafe.Pointer(p)).FpPage, (*PgHdr)(unsafe.Pointer(p)).Fpgno, newPgno) + (*struct { + f func(*libc.TLS, uintptr, uintptr, uint32, uint32) + })(unsafe.Pointer(&struct{ uintptr }{Xsqlite3Config.Fpcache2.FxRekey})).f(tls, (*PCache)(unsafe.Pointer(pCache)).FpCache, (*PgHdr)(unsafe.Pointer(p)).FpPage, (*PgHdr)(unsafe.Pointer(p)).Fpgno, newPgno) (*PgHdr)(unsafe.Pointer(p)).Fpgno = newPgno if ((int32((*PgHdr)(unsafe.Pointer(p)).Fflags) & PGHDR_DIRTY) != 0) && ((int32((*PgHdr)(unsafe.Pointer(p)).Fflags) & PGHDR_NEED_SYNC) != 0) { pcacheManageDirtyList(tls, p, uint8(PCACHE_DIRTYLIST_FRONT)) @@ -27595,21 +28704,25 @@ func Xsqlite3PcacheTruncate(tls *libc.TLS, pCache uintptr, pgno Pgno) { /* sqlit } if (pgno == Pgno(0)) && ((*PCache)(unsafe.Pointer(pCache)).FnRefSum != 0) { var pPage1 uintptr - pPage1 = (*(*func(*libc.TLS, uintptr, uint32, int32) uintptr)(unsafe.Pointer((uintptr(unsafe.Pointer(&Xsqlite3Config)) + 168 /* &.pcache2 */ + 56 /* &.xFetch */))))(tls, (*PCache)(unsafe.Pointer(pCache)).FpCache, uint32(1), 0) + pPage1 = (*struct { + f func(*libc.TLS, uintptr, uint32, int32) uintptr + })(unsafe.Pointer(&struct{ uintptr }{Xsqlite3Config.Fpcache2.FxFetch})).f(tls, (*PCache)(unsafe.Pointer(pCache)).FpCache, uint32(1), 0) if pPage1 != 0 { // Page 1 is always available in cache, because // pCache->nRefSum>0 libc.Xmemset(tls, (*Sqlite3_pcache_page)(unsafe.Pointer(pPage1)).FpBuf, 0, uint64((*PCache)(unsafe.Pointer(pCache)).FszPage)) pgno = Pgno(1) } } - (*(*func(*libc.TLS, uintptr, uint32))(unsafe.Pointer((uintptr(unsafe.Pointer(&Xsqlite3Config)) + 168 /* &.pcache2 */ + 80 /* &.xTruncate */))))(tls, (*PCache)(unsafe.Pointer(pCache)).FpCache, (pgno + Pgno(1))) + (*struct { + f func(*libc.TLS, uintptr, uint32) + })(unsafe.Pointer(&struct{ uintptr }{Xsqlite3Config.Fpcache2.FxTruncate})).f(tls, (*PCache)(unsafe.Pointer(pCache)).FpCache, (pgno + Pgno(1))) } } // Close a cache. func Xsqlite3PcacheClose(tls *libc.TLS, pCache uintptr) { /* sqlite3.c:50488:21: */ - (*(*func(*libc.TLS, uintptr))(unsafe.Pointer((uintptr(unsafe.Pointer(&Xsqlite3Config)) + 168 /* &.pcache2 */ + 88 /* &.xDestroy */))))(tls, (*PCache)(unsafe.Pointer(pCache)).FpCache) + (*struct{ f func(*libc.TLS, uintptr) })(unsafe.Pointer(&struct{ uintptr }{Xsqlite3Config.Fpcache2.FxDestroy})).f(tls, (*PCache)(unsafe.Pointer(pCache)).FpCache) } // Discard the contents of the cache. @@ -27725,14 +28838,18 @@ func Xsqlite3PcachePageRefcount(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:5 // Return the total number of pages in the cache. func Xsqlite3PcachePagecount(tls *libc.TLS, pCache uintptr) int32 { /* sqlite3.c:50605:20: */ - return (*(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer((uintptr(unsafe.Pointer(&Xsqlite3Config)) + 168 /* &.pcache2 */ + 48 /* &.xPagecount */))))(tls, (*PCache)(unsafe.Pointer(pCache)).FpCache) + return (*struct { + f func(*libc.TLS, uintptr) int32 + })(unsafe.Pointer(&struct{ uintptr }{Xsqlite3Config.Fpcache2.FxPagecount})).f(tls, (*PCache)(unsafe.Pointer(pCache)).FpCache) } // Set the suggested cache-size value. func Xsqlite3PcacheSetCachesize(tls *libc.TLS, pCache uintptr, mxPage int32) { /* sqlite3.c:50622:21: */ (*PCache)(unsafe.Pointer(pCache)).FszCache = mxPage - (*(*func(*libc.TLS, uintptr, int32))(unsafe.Pointer((uintptr(unsafe.Pointer(&Xsqlite3Config)) + 168 /* &.pcache2 */ + 40 /* &.xCachesize */))))(tls, (*PCache)(unsafe.Pointer(pCache)).FpCache, + (*struct { + f func(*libc.TLS, uintptr, int32) + })(unsafe.Pointer(&struct{ uintptr }{Xsqlite3Config.Fpcache2.FxCachesize})).f(tls, (*PCache)(unsafe.Pointer(pCache)).FpCache, numberOfCachePages(tls, pCache)) } @@ -27758,7 +28875,7 @@ func Xsqlite3PcacheSetSpillsize(tls *libc.TLS, p uintptr, mxPage int32) int32 { // Free up as much memory as possible from the page cache. func Xsqlite3PcacheShrink(tls *libc.TLS, pCache uintptr) { /* sqlite3.c:50651:21: */ - (*(*func(*libc.TLS, uintptr))(unsafe.Pointer((uintptr(unsafe.Pointer(&Xsqlite3Config)) + 168 /* &.pcache2 */ + 96 /* &.xShrink */))))(tls, (*PCache)(unsafe.Pointer(pCache)).FpCache) + (*struct{ f func(*libc.TLS, uintptr) })(unsafe.Pointer(&struct{ uintptr }{Xsqlite3Config.Fpcache2.FxShrink})).f(tls, (*PCache)(unsafe.Pointer(pCache)).FpCache) } // Return the size of the header added by this middleware layer @@ -29410,7 +30527,7 @@ type Wal1 = struct { FpDbFd uintptr FpWalFd uintptr FiCallback U32 - _ [4]byte + F__ccgo_pad1 [4]byte FmxWalSize I64 FnWiData int32 FszFirstBlock int32 @@ -29426,13 +30543,13 @@ type Wal1 = struct { FsyncHeader U8 FpadToSectorBoundary U8 FbShmUnreliable U8 - _ [1]byte + F__ccgo_pad2 [1]byte Fhdr WalIndexHdr FminFrame U32 FiReCksum U32 FzWalName uintptr FnCkpt U32 - _ [4]byte + F__ccgo_pad3 [4]byte FpSnapshot uintptr } /* sqlite3.c:1331:9 */ @@ -29868,7 +30985,7 @@ type PagerSavepoint1 = struct { FiSubRec Pgno FbTruncateOnRelease int32 FaWalData [4]U32 - _ [4]byte + F__ccgo_pad1 [4]byte } /* sqlite3.c:1331:9 */ //************* End of wal.h ************************************************ @@ -31496,7 +32613,7 @@ func pager_playback_one_page(tls *libc.TLS, pPager uintptr, pOffset uintptr, pDo var pData uintptr pData = (*PgHdr)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp + 8 /* pPg */)))).FpData libc.Xmemcpy(tls, pData, aData, uint64((*Pager)(unsafe.Pointer(pPager)).FpageSize)) - (*(*func(*libc.TLS, uintptr))(unsafe.Pointer((pPager + 256 /* &.xReiniter */))))(tls, *(*uintptr)(unsafe.Pointer(bp + 8 /* pPg */))) + (*struct{ f func(*libc.TLS, uintptr) })(unsafe.Pointer(&struct{ uintptr }{(*Pager)(unsafe.Pointer(pPager)).FxReiniter})).f(tls, *(*uintptr)(unsafe.Pointer(bp + 8 /* pPg */))) // It used to be that sqlite3PcacheMakeClean(pPg) was called here. But // that call was dangerous and had no detectable benefit since the cache // is normally cleaned by sqlite3PcacheCleanAll() after rollback and so @@ -32117,7 +33234,7 @@ __26: if !((isHot != 0) && (nPlayback != 0)) { goto __27 } - Xsqlite3_log(tls, (SQLITE_NOTICE | (int32(2) << 8)), ts+3022, /* "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: ; @@ -32229,7 +33346,7 @@ func pagerUndoCallback(tls *libc.TLS, pCtx uintptr, iPg Pgno) int32 { /* sqlite3 } else { rc = readDbPage(tls, pPg) if rc == SQLITE_OK { - (*(*func(*libc.TLS, uintptr))(unsafe.Pointer((pPager + 256 /* &.xReiniter */))))(tls, pPg) + (*struct{ f func(*libc.TLS, uintptr) })(unsafe.Pointer(&struct{ uintptr }{(*Pager)(unsafe.Pointer(pPager)).FxReiniter})).f(tls, pPg) } Xsqlite3PagerUnrefNotNull(tls, pPg) } @@ -32949,7 +34066,9 @@ func pager_wait_on_lock(tls *libc.TLS, pPager uintptr, locktype int32) int32 { / // may be invoked during, according to the comment above // sqlite3PagerSetBusyhandler(). - for ok := true; ok; ok = ((rc == SQLITE_BUSY) && ((*(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer((pPager + 224 /* &.xBusyHandler */))))(tls, (*Pager)(unsafe.Pointer(pPager)).FpBusyHandlerArg) != 0)) { + for ok := true; ok; ok = ((rc == SQLITE_BUSY) && ((*struct { + f func(*libc.TLS, uintptr) int32 + })(unsafe.Pointer(&struct{ uintptr }{(*Pager)(unsafe.Pointer(pPager)).FxBusyHandler})).f(tls, (*Pager)(unsafe.Pointer(pPager)).FpBusyHandlerArg) != 0)) { rc = pagerLockDb(tls, pPager, locktype) } return rc @@ -33821,7 +34940,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+3049 /* "-journal" */, uint64(8)) + libc.Xmemcpy(tls, pPtr, ts+3048 /* "-journal" */, uint64(8)) pPtr += (uintptr(8 + 1)) goto __19 __18: @@ -33836,7 +34955,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+3058 /* "-wal" */, uint64(4)) + libc.Xmemcpy(tls, pPtr, ts+3057 /* "-wal" */, uint64(4)) pPtr += (uintptr(4 + 1)) goto __21 __20: @@ -33895,9 +35014,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+3063 /* "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+3070 /* "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) @@ -34658,7 +35777,9 @@ func getPageError(tls *libc.TLS, pPager uintptr, pgno Pgno, ppPage uintptr, flag // Dispatch all page fetch requests to the appropriate getter method. func Xsqlite3PagerGet(tls *libc.TLS, pPager uintptr, pgno Pgno, ppPage uintptr, flags int32) int32 { /* sqlite3.c:58297:20: */ - return (*(*func(*libc.TLS, uintptr, Pgno, uintptr, int32) int32)(unsafe.Pointer((pPager + 264 /* &.xGet */))))(tls, pPager, pgno, ppPage, flags) + return (*struct { + f func(*libc.TLS, uintptr, Pgno, uintptr, int32) int32 + })(unsafe.Pointer(&struct{ uintptr }{(*Pager)(unsafe.Pointer(pPager)).FxGet})).f(tls, pPager, pgno, ppPage, flags) } // Acquire a page if it is already in the in-memory cache. Do @@ -36915,12 +38036,12 @@ type WalIterator1 = struct { FiPrior U32 FnSegment int32 FaSegment [1]struct { - FiNext int32 - _ [4]byte - FaIndex uintptr - FaPgno uintptr - FnEntry int32 - FiZero int32 + FiNext int32 + F__ccgo_pad1 [4]byte + FaIndex uintptr + FaPgno uintptr + FnEntry int32 + FiZero int32 } } /* sqlite3.c:60656:9 */ @@ -36957,12 +38078,12 @@ type Ht_slot = U16 /* sqlite3.c:60848:13 */ // // This functionality is used by the checkpoint code (see walCheckpoint()). type WalSegment = struct { - FiNext int32 - _ [4]byte - FaIndex uintptr - FaPgno uintptr - FnEntry int32 - FiZero int32 + FiNext int32 + F__ccgo_pad1 [4]byte + FaIndex uintptr + FaPgno uintptr + FnEntry int32 + FiZero int32 } /* sqlite3.c:60656:9 */ // Define the parameters of the hash tables in the wal-index file. There @@ -36998,13 +38119,13 @@ func walIndexPageRealloc(tls *libc.TLS, pWal uintptr, iPage int32, ppPage uintpt var nByte Sqlite3_int64 = (Sqlite3_int64(uint64(unsafe.Sizeof(uintptr(0))) * (uint64(iPage + 1)))) var apNew uintptr libc.AtomicStoreUintptr(&apNew, uintptr(Xsqlite3Realloc(tls, (*Wal)(unsafe.Pointer(pWal)).FapWiData, uint64(nByte)))) - if !(libc.AtomicLoadUintptr(&apNew) != 0) { - *(*uintptr)(unsafe.Pointer(libc.AtomicLoadUintptr(&ppPage))) = uintptr(0) + if !(apNew != 0) { + *(*uintptr)(unsafe.Pointer(ppPage)) = uintptr(0) return SQLITE_NOMEM } - libc.Xmemset(tls, (libc.AtomicLoadUintptr(&apNew) + uintptr((*Wal)(unsafe.Pointer(pWal)).FnWiData)*8), 0, + libc.Xmemset(tls, (apNew + uintptr((*Wal)(unsafe.Pointer(pWal)).FnWiData)*8), 0, (uint64(unsafe.Sizeof(uintptr(0))) * (uint64((iPage + 1) - (*Wal)(unsafe.Pointer(pWal)).FnWiData)))) - (*Wal)(unsafe.Pointer(pWal)).FapWiData = libc.AtomicLoadUintptr(&apNew) + (*Wal)(unsafe.Pointer(pWal)).FapWiData = apNew (*Wal)(unsafe.Pointer(pWal)).FnWiData = (iPage + 1) } @@ -37031,14 +38152,14 @@ func walIndexPageRealloc(tls *libc.TLS, pWal uintptr, iPage int32, ppPage uintpt } } - *(*uintptr)(unsafe.Pointer(libc.AtomicLoadUintptr(&ppPage))) = *(*uintptr)(unsafe.Pointer((*Wal)(unsafe.Pointer(pWal)).FapWiData + uintptr(iPage)*8)) + *(*uintptr)(unsafe.Pointer(ppPage)) = *(*uintptr)(unsafe.Pointer((*Wal)(unsafe.Pointer(pWal)).FapWiData + uintptr(iPage)*8)) return rc } func walIndexPage(tls *libc.TLS, pWal uintptr, iPage int32, ppPage uintptr) int32 { /* sqlite3.c:60962:12: */ - if ((*Wal)(unsafe.Pointer(pWal)).FnWiData <= iPage) || ((libc.AssignPtrUintptr(libc.AtomicLoadUintptr(&ppPage), *(*uintptr)(unsafe.Pointer((*Wal)(unsafe.Pointer(pWal)).FapWiData + uintptr(iPage)*8)))) == uintptr(0)) { - return walIndexPageRealloc(tls, pWal, iPage, libc.AtomicLoadUintptr(&ppPage)) + if ((*Wal)(unsafe.Pointer(pWal)).FnWiData <= iPage) || ((libc.AssignPtrUintptr(ppPage, *(*uintptr)(unsafe.Pointer((*Wal)(unsafe.Pointer(pWal)).FapWiData + uintptr(iPage)*8)))) == uintptr(0)) { + return walIndexPageRealloc(tls, pWal, iPage, ppPage) } return SQLITE_OK } @@ -37123,9 +38244,9 @@ func walIndexWriteHdr(tls *libc.TLS, pWal uintptr) { /* sqlite3.c:61077:28: */ (*Wal)(unsafe.Pointer(pWal)).Fhdr.FiVersion = U32(WALINDEX_MAX_VERSION) walChecksumBytes(tls, 1, (pWal + 72 /* &.hdr */), nCksum, uintptr(0), pWal+72 /* &.hdr */ +40 /* &.aCksum */) // Possible TSAN false-positive. See tag-20200519-1 - libc.Xmemcpy(tls, (libc.AtomicLoadUintptr(&aHdr) + 1*48), (pWal + 72 /* &.hdr */), uint64(unsafe.Sizeof(WalIndexHdr{}))) + libc.Xmemcpy(tls, (aHdr + 1*48), (pWal + 72 /* &.hdr */), uint64(unsafe.Sizeof(WalIndexHdr{}))) walShmBarrier(tls, pWal) - libc.Xmemcpy(tls, (libc.AtomicLoadUintptr(&aHdr)), (pWal + 72 /* &.hdr */), uint64(unsafe.Sizeof(WalIndexHdr{}))) + libc.Xmemcpy(tls, (aHdr), (pWal + 72 /* &.hdr */), uint64(unsafe.Sizeof(WalIndexHdr{}))) } // This function encodes a single frame header and writes it to a buffer @@ -37260,10 +38381,10 @@ func walNextHash(tls *libc.TLS, iPriorHash int32) int32 { /* sqlite3.c:61258:12: // of a page hash table in the wal-index. This becomes the return value // from walHashGet(). type WalHashLoc1 = struct { - FaHash uintptr - FaPgno uintptr - FiZero U32 - _ [4]byte + FaHash uintptr + FaPgno uintptr + FiZero U32 + F__ccgo_pad1 [4]byte } /* sqlite3.c:61267:9 */ // An instance of the WalHashLoc object is used to describe the location @@ -37688,9 +38809,9 @@ finished: // currently holding locks that exclude all other writers and // checkpointers. Then set the values of read-mark slots 1 through N. libc.AtomicStoreUintptr(&pInfo, uintptr(walCkptInfo(tls, pWal))) - (*WalCkptInfo)(unsafe.Pointer(libc.AtomicLoadUintptr(&pInfo))).FnBackfill = U32(0) - (*WalCkptInfo)(unsafe.Pointer(libc.AtomicLoadUintptr(&pInfo))).FnBackfillAttempted = (*Wal)(unsafe.Pointer(pWal)).Fhdr.FmxFrame - *(*U32)(unsafe.Pointer((libc.AtomicLoadUintptr(&pInfo) + 4 /* &.aReadMark */))) = U32(0) + (*WalCkptInfo)(unsafe.Pointer(pInfo)).FnBackfill = U32(0) + (*WalCkptInfo)(unsafe.Pointer(pInfo)).FnBackfillAttempted = (*Wal)(unsafe.Pointer(pWal)).Fhdr.FmxFrame + *(*U32)(unsafe.Pointer((pInfo + 4 /* &.aReadMark */))) = U32(0) i = 1 __22: if !(i < (SQLITE_SHM_NLOCK - 3)) { @@ -37703,10 +38824,10 @@ __22: if !((i == 1) && ((*Wal)(unsafe.Pointer(pWal)).Fhdr.FmxFrame != 0)) { goto __27 } - *(*U32)(unsafe.Pointer((libc.AtomicLoadUintptr(&pInfo) + 4 /* &.aReadMark */) + uintptr(i)*4)) = (*Wal)(unsafe.Pointer(pWal)).Fhdr.FmxFrame + *(*U32)(unsafe.Pointer((pInfo + 4 /* &.aReadMark */) + uintptr(i)*4)) = (*Wal)(unsafe.Pointer(pWal)).Fhdr.FmxFrame goto __28 __27: - *(*U32)(unsafe.Pointer((libc.AtomicLoadUintptr(&pInfo) + 4 /* &.aReadMark */) + uintptr(i)*4)) = READMARK_NOT_USED + *(*U32)(unsafe.Pointer((pInfo + 4 /* &.aReadMark */) + uintptr(i)*4)) = READMARK_NOT_USED __28: ; walUnlockExclusive(tls, pWal, (3 + (i)), 1) @@ -37736,7 +38857,7 @@ __24: goto __30 } Xsqlite3_log(tls, (SQLITE_NOTICE | (int32(1) << 8)), - ts+3080, /* "recovered %d fra..." */ + ts+3079, /* "recovered %d fra..." */ libc.VaList(bp, (*Wal)(unsafe.Pointer(pWal)).Fhdr.FmxFrame, (*Wal)(unsafe.Pointer(pWal)).FzWalName)) __30: ; @@ -37989,9 +39110,9 @@ func walMergesort(tls *libc.TLS, aContent uintptr, aBuffer uintptr, aList uintpt } type Sublist = struct { - FnList int32 - _ [4]byte - FaList uintptr + FnList int32 + F__ccgo_pad1 [4]byte + FaList uintptr } /* sqlite3.c:61957:3 */ // Free an iterator allocated by walIteratorInit(). @@ -38097,7 +39218,9 @@ func walIteratorInit(tls *libc.TLS, pWal uintptr, nBackfill U32, pp uintptr) int // lock is successfully obtained or the busy-handler returns 0. func walBusyLock(tls *libc.TLS, pWal uintptr, xBusy uintptr, pBusyArg uintptr, lockIdx int32, n int32) int32 { /* sqlite3.c:62195:12: */ var rc int32 - for ok := true; ok; ok = (((xBusy != 0) && (rc == SQLITE_BUSY)) && ((*(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(&xBusy)))(tls, pBusyArg) != 0)) { + for ok := true; ok; ok = (((xBusy != 0) && (rc == SQLITE_BUSY)) && ((*struct { + f func(*libc.TLS, uintptr) int32 + })(unsafe.Pointer(&struct{ uintptr }{xBusy})).f(tls, pBusyArg) != 0)) { rc = walLockExclusive(tls, pWal, lockIdx, n) } return rc @@ -38137,11 +39260,11 @@ func walRestartHdr(tls *libc.TLS, pWal uintptr, salt1 U32) { /* sqlite3.c:62240: Xsqlite3Put4byte(tls, (aSalt), (U32(1) + Xsqlite3Get4byte(tls, (aSalt)))) libc.Xmemcpy(tls, ((pWal + 72 /* &.hdr */ + 32 /* &.aSalt */) + 1*4), bp /* &salt1 */, uint64(4)) walIndexWriteHdr(tls, pWal) - libc.AtomicStoreNInt32((libc.AtomicLoadUintptr(&pInfo) /* &.nBackfill */), int32(0), 0) - (*WalCkptInfo)(unsafe.Pointer(libc.AtomicLoadUintptr(&pInfo))).FnBackfillAttempted = U32(0) - *(*U32)(unsafe.Pointer((libc.AtomicLoadUintptr(&pInfo) + 4 /* &.aReadMark */) + 1*4)) = U32(0) + libc.AtomicStoreNInt32((pInfo /* &.nBackfill */), int32(0), 0) + (*WalCkptInfo)(unsafe.Pointer(pInfo)).FnBackfillAttempted = U32(0) + *(*U32)(unsafe.Pointer((pInfo + 4 /* &.aReadMark */) + 1*4)) = U32(0) for i = 2; i < (SQLITE_SHM_NLOCK - 3); i++ { - *(*U32)(unsafe.Pointer((libc.AtomicLoadUintptr(&pInfo) + 4 /* &.aReadMark */) + uintptr(i)*4)) = READMARK_NOT_USED + *(*U32)(unsafe.Pointer((pInfo + 4 /* &.aReadMark */) + uintptr(i)*4)) = READMARK_NOT_USED } } @@ -38209,7 +39332,7 @@ func walCheckpoint(tls *libc.TLS, pWal uintptr, db uintptr, eMode int32, xBusy u szPage = walPagesize(tls, pWal) libc.AtomicStoreUintptr(&pInfo, uintptr(walCkptInfo(tls, pWal))) - if !((*WalCkptInfo)(unsafe.Pointer(libc.AtomicLoadUintptr(&pInfo))).FnBackfill < (*Wal)(unsafe.Pointer(pWal)).Fhdr.FmxFrame) { + if !((*WalCkptInfo)(unsafe.Pointer(pInfo)).FnBackfill < (*Wal)(unsafe.Pointer(pWal)).Fhdr.FmxFrame) { goto __1 } @@ -38227,7 +39350,7 @@ __2: if !(i < (SQLITE_SHM_NLOCK - 3)) { goto __4 } - y = U32(libc.AtomicLoadNUint32(((libc.AtomicLoadUintptr(&pInfo) + 4 /* &.aReadMark */) + uintptr(i)*4), 0)) + y = U32(libc.AtomicLoadNUint32(((pInfo + 4 /* &.aReadMark */) + uintptr(i)*4), 0)) if !(mxSafeFrame > y) { goto __5 } @@ -38242,7 +39365,7 @@ __2: } return READMARK_NOT_USED }() - libc.AtomicStoreNUint32(((libc.AtomicLoadUintptr(&pInfo) + 4 /* &.aReadMark */) + uintptr(i)*4), uint32(iMark), 0) + libc.AtomicStoreNUint32(((pInfo + 4 /* &.aReadMark */) + uintptr(i)*4), uint32(iMark), 0) walUnlockExclusive(tls, pWal, (3 + (i)), 1) goto __7 __6: @@ -38269,10 +39392,10 @@ __4: ; // Allocate the iterator - if !((*WalCkptInfo)(unsafe.Pointer(libc.AtomicLoadUintptr(&pInfo))).FnBackfill < mxSafeFrame) { + if !((*WalCkptInfo)(unsafe.Pointer(pInfo)).FnBackfill < mxSafeFrame) { goto __10 } - rc = walIteratorInit(tls, pWal, (*WalCkptInfo)(unsafe.Pointer(libc.AtomicLoadUintptr(&pInfo))).FnBackfill, bp /* &pIter */) + rc = walIteratorInit(tls, pWal, (*WalCkptInfo)(unsafe.Pointer(pInfo)).FnBackfill, bp /* &pIter */) __10: ; @@ -38281,9 +39404,9 @@ __10: ((libc.AssignInt32(&rc, walBusyLock(tls, pWal, xBusy, pBusyArg, (3+(0)), 1))) == SQLITE_OK)) { goto __11 } - nBackfill = (*WalCkptInfo)(unsafe.Pointer(libc.AtomicLoadUintptr(&pInfo))).FnBackfill + nBackfill = (*WalCkptInfo)(unsafe.Pointer(pInfo)).FnBackfill - (*WalCkptInfo)(unsafe.Pointer(libc.AtomicLoadUintptr(&pInfo))).FnBackfillAttempted = mxSafeFrame + (*WalCkptInfo)(unsafe.Pointer(pInfo)).FnBackfillAttempted = mxSafeFrame // Sync the WAL to disk rc = Xsqlite3OsSync(tls, (*Wal)(unsafe.Pointer(pWal)).FpWalFd, (((sync_flags) >> 2) & 0x03)) @@ -38385,7 +39508,7 @@ __23: if !(rc == SQLITE_OK) { goto __25 } - libc.AtomicStoreNUint32((libc.AtomicLoadUintptr(&pInfo) /* &.nBackfill */), uint32(mxSafeFrame), 0) + libc.AtomicStoreNUint32((pInfo /* &.nBackfill */), uint32(mxSafeFrame), 0) __25: ; __22: @@ -38415,7 +39538,7 @@ __1: goto __27 } - if !((*WalCkptInfo)(unsafe.Pointer(libc.AtomicLoadUintptr(&pInfo))).FnBackfill < (*Wal)(unsafe.Pointer(pWal)).Fhdr.FmxFrame) { + if !((*WalCkptInfo)(unsafe.Pointer(pInfo)).FnBackfill < (*Wal)(unsafe.Pointer(pWal)).Fhdr.FmxFrame) { goto __28 } rc = SQLITE_BUSY @@ -38481,7 +39604,7 @@ func walLimitSize(tls *libc.TLS, pWal uintptr, nMax I64) { /* sqlite3.c:62473:13 } Xsqlite3EndBenignMalloc(tls) if rx != 0 { - Xsqlite3_log(tls, rx, ts+3117 /* "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)) } } @@ -38588,9 +39711,9 @@ func walIndexTryHdr(tls *libc.TLS, pWal uintptr, pChanged uintptr) int32 { /* sq // shared among multiple processes and not all mutex implementions work // reliably in that environment. libc.AtomicStoreUintptr(&aHdr, uintptr(walIndexHdr(tls, pWal))) - libc.Xmemcpy(tls, bp /* &h1 */, (libc.AtomicLoadUintptr(&aHdr)), uint64(unsafe.Sizeof(WalIndexHdr{}))) // Possible TSAN false-positive + libc.Xmemcpy(tls, bp /* &h1 */, (aHdr), uint64(unsafe.Sizeof(WalIndexHdr{}))) // Possible TSAN false-positive walShmBarrier(tls, pWal) - libc.Xmemcpy(tls, bp+48 /* &h2 */, (libc.AtomicLoadUintptr(&aHdr) + 1*48), uint64(unsafe.Sizeof(WalIndexHdr{}))) + libc.Xmemcpy(tls, bp+48 /* &h2 */, (aHdr + 1*48), uint64(unsafe.Sizeof(WalIndexHdr{}))) if (libc.Xmemcmp(tls, bp /* &h1 */, bp+48 /* &h2 */, uint64(unsafe.Sizeof(WalIndexHdr{}))) != 0) { return 1 // Dirty read @@ -38667,7 +39790,7 @@ func walIndexReadHdr(tls *libc.TLS, pWal uintptr, pChanged uintptr) int32 { /* s // works, but may fail if the wal-index header is corrupt or currently // being modified by another thread or process. badHdr = func() int32 { - if libc.AtomicLoadPUintptr(bp /* page0 */) != 0 { + if *(*uintptr)(unsafe.Pointer(bp /* page0 */)) != 0 { return walIndexTryHdr(tls, pWal, pChanged) } return 1 @@ -39093,7 +40216,7 @@ func walTryBeginRead(tls *libc.TLS, pWal uintptr, pChanged uintptr, useWal int32 } libc.AtomicStoreUintptr(&pInfo, uintptr(walCkptInfo(tls, pWal))) - if (!(useWal != 0) && (U32(libc.AtomicLoadNUint32((libc.AtomicLoadUintptr(&pInfo) /* &.nBackfill */), 0)) == (*Wal)(unsafe.Pointer(pWal)).Fhdr.FmxFrame)) && + if (!(useWal != 0) && (U32(libc.AtomicLoadNUint32((pInfo /* &.nBackfill */), 0)) == (*Wal)(unsafe.Pointer(pWal)).Fhdr.FmxFrame)) && (((*Wal)(unsafe.Pointer(pWal)).FpSnapshot == uintptr(0)) || ((*Wal)(unsafe.Pointer(pWal)).Fhdr.FmxFrame == U32(0))) { // The WAL has been completely backfilled (or it is empty). // and can be safely ignored. @@ -39134,7 +40257,7 @@ func walTryBeginRead(tls *libc.TLS, pWal uintptr, pChanged uintptr, useWal int32 mxFrame = (*WalIndexHdr)(unsafe.Pointer((*Wal)(unsafe.Pointer(pWal)).FpSnapshot)).FmxFrame } for i = 1; i < (SQLITE_SHM_NLOCK - 3); i++ { - var thisMark U32 = U32(libc.AtomicLoadNUint32(((libc.AtomicLoadUintptr(&pInfo) + 4 /* &.aReadMark */) + uintptr(i)*4), 0)) + var thisMark U32 = U32(libc.AtomicLoadNUint32(((pInfo + 4 /* &.aReadMark */) + uintptr(i)*4), 0)) if (mxReadMark <= thisMark) && (thisMark <= mxFrame) { mxReadMark = thisMark @@ -39146,7 +40269,7 @@ func walTryBeginRead(tls *libc.TLS, pWal uintptr, pChanged uintptr, useWal int32 for i = 1; i < (SQLITE_SHM_NLOCK - 3); i++ { rc = walLockExclusive(tls, pWal, (3 + (i)), 1) if rc == SQLITE_OK { - libc.AtomicStoreNUint32(((libc.AtomicLoadUintptr(&pInfo) + 4 /* &.aReadMark */) + uintptr(i)*4), uint32(mxFrame), 0) + libc.AtomicStoreNUint32(((pInfo + 4 /* &.aReadMark */) + uintptr(i)*4), uint32(mxFrame), 0) mxReadMark = mxFrame mxI = i walUnlockExclusive(tls, pWal, (3 + (i)), 1) @@ -39204,9 +40327,9 @@ func walTryBeginRead(tls *libc.TLS, pWal uintptr, pChanged uintptr, useWal int32 // that it can read version A from the database file. However, since // we can guarantee that the checkpointer that set nBackfill could not // see any pages past pWal->hdr.mxFrame, this problem does not come up. - (*Wal)(unsafe.Pointer(pWal)).FminFrame = (U32(libc.AtomicLoadNUint32((libc.AtomicLoadUintptr(&pInfo) /* &.nBackfill */), 0) + 1)) + (*Wal)(unsafe.Pointer(pWal)).FminFrame = (U32(libc.AtomicLoadNUint32((pInfo /* &.nBackfill */), 0) + 1)) walShmBarrier(tls, pWal) - if (U32(libc.AtomicLoadNUint32(((libc.AtomicLoadUintptr(&pInfo)+4 /* &.aReadMark */)+uintptr(mxI)*4), 0)) != mxReadMark) || + if (U32(libc.AtomicLoadNUint32(((pInfo+4 /* &.aReadMark */)+uintptr(mxI)*4), 0)) != mxReadMark) || (libc.Xmemcmp(tls, walIndexHdr(tls, pWal), (pWal+72 /* &.hdr */), uint64(unsafe.Sizeof(WalIndexHdr{}))) != 0) { walUnlockShared(tls, pWal, (3 + (mxI))) return -1 @@ -39254,8 +40377,8 @@ func Xsqlite3WalSnapshotRecover(tls *libc.TLS, pWal uintptr) int32 { /* sqlite3. if (pBuf1 == uintptr(0)) || (pBuf2 == uintptr(0)) { rc = SQLITE_NOMEM } else { - var i U32 = (*WalCkptInfo)(unsafe.Pointer(libc.AtomicLoadUintptr(&pInfo))).FnBackfillAttempted - for i = (*WalCkptInfo)(unsafe.Pointer(libc.AtomicLoadUintptr(&pInfo))).FnBackfillAttempted; i > U32(libc.AtomicLoadNUint32((libc.AtomicLoadUintptr(&pInfo) /* &.nBackfill */), 0)); i-- { + var i U32 = (*WalCkptInfo)(unsafe.Pointer(pInfo)).FnBackfillAttempted + for i = (*WalCkptInfo)(unsafe.Pointer(pInfo)).FnBackfillAttempted; i > U32(libc.AtomicLoadNUint32((pInfo /* &.nBackfill */), 0)); i-- { // var sLoc WalHashLoc at bp+8, 24 // Hash table location var pgno U32 // Page number in db file @@ -39282,7 +40405,7 @@ func Xsqlite3WalSnapshotRecover(tls *libc.TLS, pWal uintptr) int32 { /* sqlite3. } } - (*WalCkptInfo)(unsafe.Pointer(libc.AtomicLoadUintptr(&pInfo))).FnBackfillAttempted = (i - U32(1)) + (*WalCkptInfo)(unsafe.Pointer(pInfo)).FnBackfillAttempted = (i - U32(1)) } } @@ -39362,7 +40485,7 @@ func Xsqlite3WalBeginReadTransaction(tls *libc.TLS, pWal uintptr, pChanged uintp // with *pSnapshot and set *pChanged as appropriate for opening the // snapshot. if !(libc.Xmemcmp(tls, pSnapshot+32 /* &.aSalt */, pWal+72 /* &.hdr */ +32 /* &.aSalt */, uint64(unsafe.Sizeof([2]U32{}))) != 0) && - ((*WalIndexHdr)(unsafe.Pointer(pSnapshot)).FmxFrame >= (*WalCkptInfo)(unsafe.Pointer(libc.AtomicLoadUintptr(&pInfo))).FnBackfillAttempted) { + ((*WalIndexHdr)(unsafe.Pointer(pSnapshot)).FmxFrame >= (*WalCkptInfo)(unsafe.Pointer(pInfo)).FnBackfillAttempted) { libc.Xmemcpy(tls, (pWal + 72 /* &.hdr */), pSnapshot, uint64(unsafe.Sizeof(WalIndexHdr{}))) *(*int32)(unsafe.Pointer(pChanged)) = bChanged @@ -39601,7 +40724,9 @@ func Xsqlite3WalUndo(tls *libc.TLS, pWal uintptr, xUndo uintptr, pUndoCtx uintpt // page 1 is never written to the log until the transaction is // committed. As a result, the call to xUndo may not fail. - rc = (*(*func(*libc.TLS, uintptr, Pgno) int32)(unsafe.Pointer(&xUndo)))(tls, pUndoCtx, walFramePgno(tls, pWal, iFrame)) + rc = (*struct { + f func(*libc.TLS, uintptr, Pgno) int32 + })(unsafe.Pointer(&struct{ uintptr }{xUndo})).f(tls, pUndoCtx, walFramePgno(tls, pWal, iFrame)) } if iMax != (*Wal)(unsafe.Pointer(pWal)).Fhdr.FmxFrame { walCleanupHash(tls, pWal) @@ -39667,7 +40792,7 @@ func walRestartLog(tls *libc.TLS, pWal uintptr) int32 { /* sqlite3.c:63690:12: * if int32((*Wal)(unsafe.Pointer(pWal)).FreadLock) == 0 { var pInfo uintptr = walCkptInfo(tls, pWal) - if (*WalCkptInfo)(unsafe.Pointer(libc.AtomicLoadUintptr(&pInfo))).FnBackfill > U32(0) { + if (*WalCkptInfo)(unsafe.Pointer(pInfo)).FnBackfill > U32(0) { // var salt1 U32 at bp, 4 Xsqlite3_randomness(tls, 4, bp /* &salt1 */) @@ -40577,7 +41702,7 @@ type MemPage1 = struct { FchildPtrSize U8 Fmax1bytePayload U8 FnOverflow U8 - _ [1]byte + F__ccgo_pad1 [1]byte FmaxLocal U16 FminLocal U16 FcellOffset U16 @@ -40585,7 +41710,7 @@ type MemPage1 = struct { FnCell U16 FmaskPage U16 FaiOvfl [4]U16 - _ [4]byte + F__ccgo_pad2 [4]byte FapOvfl [4]uintptr FpBt uintptr FaData uintptr @@ -40842,11 +41967,11 @@ type MemPage1 = struct { // Forward declarations type MemPage = MemPage1 /* sqlite3.c:64658:24 */ type BtLock1 = struct { - FpBtree uintptr - FiTable Pgno - FeLock U8 - _ [3]byte - FpNext uintptr + FpBtree uintptr + FiTable Pgno + FeLock U8 + F__ccgo_pad1 [3]byte + FpNext uintptr } /* sqlite3.c:1331:9 */ type BtLock = BtLock1 /* sqlite3.c:64659:23 */ @@ -41261,7 +42386,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 + 3143 /* "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. @@ -42192,7 +43317,9 @@ func btreeParseCellPtrIndex(tls *libc.TLS, pPage uintptr, pCell uintptr, pInfo u } func btreeParseCell(tls *libc.TLS, pPage uintptr, iCell int32, pInfo uintptr) { /* sqlite3.c:66752:13: */ - (*(*func(*libc.TLS, uintptr, uintptr, uintptr))(unsafe.Pointer((pPage + 128 /* &.xParseCell */))))(tls, pPage, ((*MemPage)(unsafe.Pointer((pPage))).FaData + uintptr((int32((*MemPage)(unsafe.Pointer((pPage))).FmaskPage) & int32(libc.X__builtin_bswap16(tls, *(*U16)(unsafe.Pointer(((*MemPage)(unsafe.Pointer((pPage))).FaCellIdx + uintptr((2 * (iCell))))))))))), pInfo) + (*struct { + f func(*libc.TLS, uintptr, uintptr, uintptr) + })(unsafe.Pointer(&struct{ uintptr }{(*MemPage)(unsafe.Pointer(pPage)).FxParseCell})).f(tls, pPage, ((*MemPage)(unsafe.Pointer((pPage))).FaData + uintptr((int32((*MemPage)(unsafe.Pointer((pPage))).FmaskPage) & int32(libc.X__builtin_bswap16(tls, *(*U16)(unsafe.Pointer(((*MemPage)(unsafe.Pointer((pPage))).FaCellIdx + uintptr((2 * (iCell))))))))))), pInfo) } // The following routines are implementations of the MemPage.xCellSize @@ -42273,7 +43400,9 @@ func ptrmapPutOvflPtr(tls *libc.TLS, pPage uintptr, pSrc uintptr, pCell uintptr, return } - (*(*func(*libc.TLS, uintptr, uintptr, uintptr))(unsafe.Pointer((pPage + 128 /* &.xParseCell */))))(tls, pPage, pCell, bp /* &info */) + (*struct { + f func(*libc.TLS, uintptr, uintptr, uintptr) + })(unsafe.Pointer(&struct{ uintptr }{(*MemPage)(unsafe.Pointer(pPage)).FxParseCell})).f(tls, pPage, pCell, bp /* &info */) if U32((*CellInfo)(unsafe.Pointer(bp /* &info */)).FnLocal) < (*CellInfo)(unsafe.Pointer(bp /* &info */)).FnPayload { var ovfl Pgno if (Uptr(((*MemPage)(unsafe.Pointer(pSrc)).FaDataEnd)) >= Uptr((pCell))) && (Uptr(((*MemPage)(unsafe.Pointer(pSrc)).FaDataEnd)) < Uptr((pCell + uintptr((*CellInfo)(unsafe.Pointer(bp /* &info */)).FnLocal)))) { @@ -42456,7 +43585,9 @@ __18: __21: ; - size = int32((*(*func(*libc.TLS, uintptr, uintptr) U16)(unsafe.Pointer((pPage + 120 /* &.xCellSize */))))(tls, pPage, (src + uintptr(pc)))) + size = int32((*struct { + f func(*libc.TLS, uintptr, uintptr) U16 + })(unsafe.Pointer(&struct{ uintptr }{(*MemPage)(unsafe.Pointer(pPage)).FxCellSize})).f(tls, pPage, (src + uintptr(pc)))) cbrk = cbrk - (size) if !((cbrk < iCellStart) || ((pc + size) > usableSize)) { goto __22 @@ -42946,7 +44077,9 @@ func btreeCellSizeCheck(tls *libc.TLS, pPage uintptr) int32 { /* sqlite3.c:67431 if (pc < iCellFirst) || (pc > iCellLast) { return Xsqlite3CorruptError(tls, 67452) } - sz = int32((*(*func(*libc.TLS, uintptr, uintptr) U16)(unsafe.Pointer((pPage + 120 /* &.xCellSize */))))(tls, pPage, (data + uintptr(pc)))) + sz = int32((*struct { + f func(*libc.TLS, uintptr, uintptr) U16 + })(unsafe.Pointer(&struct{ uintptr }{(*MemPage)(unsafe.Pointer(pPage)).FxCellSize})).f(tls, pPage, (data + uintptr(pc)))) if (pc + sz) > usableSize { return Xsqlite3CorruptError(tls, 67457) @@ -43301,7 +44434,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+3159 /* ":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))) @@ -43784,7 +44917,7 @@ func Xsqlite3BtreeClose(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:68190:20: Xsqlite3PagerClose(tls, (*BtShared)(unsafe.Pointer(pBt)).FpPager, (*Btree)(unsafe.Pointer(p)).Fdb) if ((*BtShared)(unsafe.Pointer(pBt)).FxFreeSchema != 0) && ((*BtShared)(unsafe.Pointer(pBt)).FpSchema != 0) { - (*(*func(*libc.TLS, uintptr))(unsafe.Pointer((pBt + 80 /* &.xFreeSchema */))))(tls, (*BtShared)(unsafe.Pointer(pBt)).FpSchema) + (*struct{ f func(*libc.TLS, uintptr) })(unsafe.Pointer(&struct{ uintptr }{(*BtShared)(unsafe.Pointer(pBt)).FxFreeSchema})).f(tls, (*BtShared)(unsafe.Pointer(pBt)).FpSchema) } Xsqlite3DbFree(tls, uintptr(0), (*BtShared)(unsafe.Pointer(pBt)).FpSchema) freeTempSpace(tls, pBt) @@ -44164,7 +45297,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+3168 /* "@ " */, uint64(3)) != 0) { + if !(libc.Xmemcmp(tls, (page1+21), ts+3167 /* "@ " */, uint64(3)) != 0) { goto __14 } goto page1_init_failed @@ -44727,7 +45860,9 @@ func modifyPagePointer(tls *libc.TLS, pPage uintptr, iFrom Pgno, iTo Pgno, eType if int32(eType) == PTRMAP_OVERFLOW1 { // var info CellInfo at bp, 24 - (*(*func(*libc.TLS, uintptr, uintptr, uintptr))(unsafe.Pointer((pPage + 128 /* &.xParseCell */))))(tls, pPage, pCell, bp /* &info */) + (*struct { + f func(*libc.TLS, uintptr, uintptr, uintptr) + })(unsafe.Pointer(&struct{ uintptr }{(*MemPage)(unsafe.Pointer(pPage)).FxParseCell})).f(tls, pPage, pCell, bp /* &info */) if U32((*CellInfo)(unsafe.Pointer(bp /* &info */)).FnLocal) < (*CellInfo)(unsafe.Pointer(bp /* &info */)).FnPayload { if (pCell + uintptr((*CellInfo)(unsafe.Pointer(bp /* &info */)).FnSize)) > ((*MemPage)(unsafe.Pointer(pPage)).FaData + uintptr((*BtShared)(unsafe.Pointer((*MemPage)(unsafe.Pointer(pPage)).FpBt)).FusableSize)) { return Xsqlite3CorruptError(tls, 69109) @@ -46533,7 +47668,9 @@ __35: // Size of the pCell cell in bytes // single byte varint and the record fits entirely on the main // b-tree page. - c = (*(*func(*libc.TLS, int32, uintptr, uintptr) int32)(unsafe.Pointer(&xRecordCompare)))(tls, nCell, (pCell + 1), pIdxKey) + c = (*struct { + f func(*libc.TLS, int32, uintptr, uintptr) int32 + })(unsafe.Pointer(&struct{ uintptr }{xRecordCompare})).f(tls, nCell, (pCell + 1), pIdxKey) goto __39 __38: if !(!((int32(*(*U8)(unsafe.Pointer(pCell + 1))) & 0x80) != 0) && @@ -46543,12 +47680,16 @@ __38: // The record-size field is a 2 byte varint and the record // fits entirely on the main b-tree page. - c = (*(*func(*libc.TLS, int32, uintptr, uintptr) int32)(unsafe.Pointer(&xRecordCompare)))(tls, nCell, (pCell + 2), pIdxKey) + c = (*struct { + f func(*libc.TLS, int32, uintptr, uintptr) int32 + })(unsafe.Pointer(&struct{ uintptr }{xRecordCompare})).f(tls, nCell, (pCell + 2), pIdxKey) goto __41 __40: pCellBody = (pCell - uintptr((*MemPage)(unsafe.Pointer(pPage)).FchildPtrSize)) nOverrun = 18 // Size of the overrun padding - (*(*func(*libc.TLS, uintptr, uintptr, uintptr))(unsafe.Pointer((pPage + 128 /* &.xParseCell */))))(tls, pPage, pCellBody, (pCur + 48 /* &.info */)) + (*struct { + f func(*libc.TLS, uintptr, uintptr, uintptr) + })(unsafe.Pointer(&struct{ uintptr }{(*MemPage)(unsafe.Pointer(pPage)).FxParseCell})).f(tls, pPage, pCellBody, (pCur + 48 /* &.info */)) nCell = int32((*BtCursor)(unsafe.Pointer(pCur)).Finfo.FnKey) // True if key size is 2^32 or more // Invalid key size: 0x80 0x80 0x00 @@ -48120,13 +49261,13 @@ func insertCell(tls *libc.TLS, pPage uintptr, i int32, pCell uintptr, sz int32, // entries, shift down. The end result is that each ixNx[] entry should // be larger than the previous type CellArray1 = struct { - FnCell int32 - _ [4]byte - FpRef uintptr - FapCell uintptr - FszCell uintptr - FapEnd [6]uintptr - FixNx [6]int32 + FnCell int32 + F__ccgo_pad1 [4]byte + FpRef uintptr + FapCell uintptr + FszCell uintptr + FapEnd [6]uintptr + FixNx [6]int32 } /* sqlite3.c:72392:9 */ // The following parameters determine how many adjacent pages get involved @@ -48213,7 +49354,9 @@ func populateCellCache(tls *libc.TLS, p uintptr, idx int32, N int32) { /* sqlite for N > 0 { if int32(*(*U16)(unsafe.Pointer((*CellArray)(unsafe.Pointer(p)).FszCell + uintptr(idx)*2))) == 0 { - *(*U16)(unsafe.Pointer((*CellArray)(unsafe.Pointer(p)).FszCell + uintptr(idx)*2)) = (*(*func(*libc.TLS, uintptr, uintptr) U16)(unsafe.Pointer(((*CellArray)(unsafe.Pointer(p)).FpRef + 120 /* &.xCellSize */))))(tls, (*CellArray)(unsafe.Pointer(p)).FpRef, *(*uintptr)(unsafe.Pointer((*CellArray)(unsafe.Pointer(p)).FapCell + uintptr(idx)*8))) + *(*U16)(unsafe.Pointer((*CellArray)(unsafe.Pointer(p)).FszCell + uintptr(idx)*2)) = (*struct { + f func(*libc.TLS, uintptr, uintptr) U16 + })(unsafe.Pointer(&struct{ uintptr }{(*MemPage)(unsafe.Pointer((*CellArray)(unsafe.Pointer(p)).FpRef)).FxCellSize})).f(tls, (*CellArray)(unsafe.Pointer(p)).FpRef, *(*uintptr)(unsafe.Pointer((*CellArray)(unsafe.Pointer(p)).FapCell + uintptr(idx)*8))) } else { } @@ -48225,7 +49368,9 @@ func populateCellCache(tls *libc.TLS, p uintptr, idx int32, N int32) { /* sqlite // Return the size of the Nth element of the cell array func computeCellSize(tls *libc.TLS, p uintptr, N int32) U16 { /* sqlite3.c:72424:28: */ - *(*U16)(unsafe.Pointer((*CellArray)(unsafe.Pointer(p)).FszCell + uintptr(N)*2)) = (*(*func(*libc.TLS, uintptr, uintptr) U16)(unsafe.Pointer(((*CellArray)(unsafe.Pointer(p)).FpRef + 120 /* &.xCellSize */))))(tls, (*CellArray)(unsafe.Pointer(p)).FpRef, *(*uintptr)(unsafe.Pointer((*CellArray)(unsafe.Pointer(p)).FapCell + uintptr(N)*8))) + *(*U16)(unsafe.Pointer((*CellArray)(unsafe.Pointer(p)).FszCell + uintptr(N)*2)) = (*struct { + f func(*libc.TLS, uintptr, uintptr) U16 + })(unsafe.Pointer(&struct{ uintptr }{(*MemPage)(unsafe.Pointer((*CellArray)(unsafe.Pointer(p)).FpRef)).FxCellSize})).f(tls, (*CellArray)(unsafe.Pointer(p)).FpRef, *(*uintptr)(unsafe.Pointer((*CellArray)(unsafe.Pointer(p)).FapCell + uintptr(N)*8))) return *(*U16)(unsafe.Pointer((*CellArray)(unsafe.Pointer(p)).FszCell + uintptr(N)*2)) } @@ -48652,7 +49797,9 @@ func balance_quick(tls *libc.TLS, pParent uintptr, pPage uintptr, pSpace uintptr var pOut uintptr = (pSpace + 4) *(*uintptr)(unsafe.Pointer(bp + 16 /* pCell */)) = *(*uintptr)(unsafe.Pointer((pPage + 40 /* &.apOvfl */))) - *(*U16)(unsafe.Pointer(bp + 24 /* szCell */)) = (*(*func(*libc.TLS, uintptr, uintptr) U16)(unsafe.Pointer((pPage + 120 /* &.xCellSize */))))(tls, pPage, *(*uintptr)(unsafe.Pointer(bp + 16 /* pCell */))) + *(*U16)(unsafe.Pointer(bp + 24 /* szCell */)) = (*struct { + f func(*libc.TLS, uintptr, uintptr) U16 + })(unsafe.Pointer(&struct{ uintptr }{(*MemPage)(unsafe.Pointer(pPage)).FxCellSize})).f(tls, pPage, *(*uintptr)(unsafe.Pointer(bp + 16 /* pCell */))) var pStop uintptr // var b CellArray at bp+32, 104 @@ -49018,13 +50165,17 @@ __16: } *(*uintptr)(unsafe.Pointer(bp + 32 /* &apDiv[0] */ + uintptr(i)*8)) = *(*uintptr)(unsafe.Pointer((pParent + 40 /* &.apOvfl */))) *(*Pgno)(unsafe.Pointer(bp + 272 /* pgno */)) = Xsqlite3Get4byte(tls, *(*uintptr)(unsafe.Pointer(bp + 32 /* &apDiv[0] */ + uintptr(i)*8))) - *(*int32)(unsafe.Pointer(bp + 48 /* &szNew[0] */ + uintptr(i)*4)) = int32((*(*func(*libc.TLS, uintptr, uintptr) U16)(unsafe.Pointer((pParent + 120 /* &.xCellSize */))))(tls, pParent, *(*uintptr)(unsafe.Pointer(bp + 32 /* &apDiv[0] */ + uintptr(i)*8)))) + *(*int32)(unsafe.Pointer(bp + 48 /* &szNew[0] */ + uintptr(i)*4)) = int32((*struct { + f func(*libc.TLS, uintptr, uintptr) U16 + })(unsafe.Pointer(&struct{ uintptr }{(*MemPage)(unsafe.Pointer(pParent)).FxCellSize})).f(tls, pParent, *(*uintptr)(unsafe.Pointer(bp + 32 /* &apDiv[0] */ + uintptr(i)*8)))) (*MemPage)(unsafe.Pointer(pParent)).FnOverflow = U8(0) goto __18 __17: *(*uintptr)(unsafe.Pointer(bp + 32 /* &apDiv[0] */ + uintptr(i)*8)) = ((*MemPage)(unsafe.Pointer((pParent))).FaData + uintptr((int32((*MemPage)(unsafe.Pointer((pParent))).FmaskPage) & int32(libc.X__builtin_bswap16(tls, *(*U16)(unsafe.Pointer(((*MemPage)(unsafe.Pointer((pParent))).FaCellIdx + uintptr((2 * ((i + nxDiv) - int32((*MemPage)(unsafe.Pointer(pParent)).FnOverflow)))))))))))) *(*Pgno)(unsafe.Pointer(bp + 272 /* pgno */)) = Xsqlite3Get4byte(tls, *(*uintptr)(unsafe.Pointer(bp + 32 /* &apDiv[0] */ + uintptr(i)*8))) - *(*int32)(unsafe.Pointer(bp + 48 /* &szNew[0] */ + uintptr(i)*4)) = int32((*(*func(*libc.TLS, uintptr, uintptr) U16)(unsafe.Pointer((pParent + 120 /* &.xCellSize */))))(tls, pParent, *(*uintptr)(unsafe.Pointer(bp + 32 /* &apDiv[0] */ + uintptr(i)*8)))) + *(*int32)(unsafe.Pointer(bp + 48 /* &szNew[0] */ + uintptr(i)*4)) = int32((*struct { + f func(*libc.TLS, uintptr, uintptr) U16 + })(unsafe.Pointer(&struct{ uintptr }{(*MemPage)(unsafe.Pointer(pParent)).FxCellSize})).f(tls, pParent, *(*uintptr)(unsafe.Pointer(bp + 32 /* &apDiv[0] */ + uintptr(i)*8)))) // Drop the cell from the parent page. apDiv[i] still points to // the cell within the parent, even though it has been dropped. @@ -49286,7 +50437,9 @@ __46: if !(j < int32((*MemPage)(unsafe.Pointer(p)).FnOverflow)) { goto __48 } - *(*int32)(unsafe.Pointer(bp + 48 /* &szNew */ + uintptr(i)*4)) += (2 + int32((*(*func(*libc.TLS, uintptr, uintptr) U16)(unsafe.Pointer((p + 120 /* &.xCellSize */))))(tls, p, *(*uintptr)(unsafe.Pointer((p + 40 /* &.apOvfl */) + uintptr(j)*8))))) + *(*int32)(unsafe.Pointer(bp + 48 /* &szNew */ + uintptr(i)*4)) += (2 + int32((*struct { + f func(*libc.TLS, uintptr, uintptr) U16 + })(unsafe.Pointer(&struct{ uintptr }{(*MemPage)(unsafe.Pointer(p)).FxCellSize})).f(tls, p, *(*uintptr)(unsafe.Pointer((p + 40 /* &.apOvfl */) + uintptr(j)*8))))) goto __47 __47: j++ @@ -49790,7 +50943,9 @@ __118: goto __120 } j-- - (*(*func(*libc.TLS, uintptr, uintptr, uintptr))(unsafe.Pointer((pNew2 + 128 /* &.xParseCell */))))(tls, pNew2, *(*uintptr)(unsafe.Pointer((*CellArray)(unsafe.Pointer(bp+96 /* &b */)).FapCell + uintptr(j)*8)), bp+328 /* &info */) + (*struct { + f func(*libc.TLS, uintptr, uintptr, uintptr) + })(unsafe.Pointer(&struct{ uintptr }{(*MemPage)(unsafe.Pointer(pNew2)).FxParseCell})).f(tls, pNew2, *(*uintptr)(unsafe.Pointer((*CellArray)(unsafe.Pointer(bp+96 /* &b */)).FapCell + uintptr(j)*8)), bp+328 /* &info */) pCell1 = pTemp1 sz2 = (4 + Xsqlite3PutVarint(tls, (pCell1+4), uint64((*CellInfo)(unsafe.Pointer(bp+328 /* &info */)).FnKey))) pTemp1 = uintptr(0) @@ -49811,7 +50966,9 @@ __120: goto __122 } - sz2 = int32((*(*func(*libc.TLS, uintptr, uintptr) U16)(unsafe.Pointer((pParent + 120 /* &.xCellSize */))))(tls, pParent, pCell1)) + sz2 = int32((*struct { + f func(*libc.TLS, uintptr, uintptr) U16 + })(unsafe.Pointer(&struct{ uintptr }{(*MemPage)(unsafe.Pointer(pParent)).FxCellSize})).f(tls, pParent, pCell1)) __122: ; __121: @@ -50607,7 +51764,9 @@ __25: if !(((*BtShared)(unsafe.Pointer(pBt)).FautoVacuum != 0) && (*(*int32)(unsafe.Pointer(bp + 108 /* szNew */)) > int32((*MemPage)(unsafe.Pointer(pPage)).FmaxLocal))) { goto __26 } - (*(*func(*libc.TLS, uintptr, uintptr, uintptr))(unsafe.Pointer((pPage + 128 /* &.xParseCell */))))(tls, pPage, newCell, bp+80 /* &info */) + (*struct { + f func(*libc.TLS, uintptr, uintptr, uintptr) + })(unsafe.Pointer(&struct{ uintptr }{(*MemPage)(unsafe.Pointer(pPage)).FxParseCell})).f(tls, pPage, newCell, bp+80 /* &info */) if !((*CellInfo)(unsafe.Pointer(bp+80 /* &info */)).FnPayload != U32((*CellInfo)(unsafe.Pointer(bp+80 /* &info */)).FnLocal)) { goto __27 } @@ -50648,7 +51807,9 @@ __31: libc.Xmemcpy(tls, newCell, oldCell, uint64(4)) __32: ; - (*(*func(*libc.TLS, uintptr, uintptr, uintptr))(unsafe.Pointer((pPage + 128 /* &.xParseCell */))))(tls, pPage, oldCell, bp+112 /* &info1 */) + (*struct { + f func(*libc.TLS, uintptr, uintptr, uintptr) + })(unsafe.Pointer(&struct{ uintptr }{(*MemPage)(unsafe.Pointer(pPage)).FxParseCell})).f(tls, pPage, oldCell, bp+112 /* &info1 */) if !(U32((*CellInfo)(unsafe.Pointer(bp+112 /* &info1 */)).FnLocal) != (*CellInfo)(unsafe.Pointer(bp+112 /* &info1 */)).FnPayload) { goto __33 } @@ -51017,7 +52178,9 @@ func Xsqlite3BtreeDelete(tls *libc.TLS, pCur uintptr, flags U8) int32 { /* sqlit if *(*int32)(unsafe.Pointer(bp + 24 /* rc */)) != 0 { return *(*int32)(unsafe.Pointer(bp + 24 /* rc */)) } - (*(*func(*libc.TLS, uintptr, uintptr, uintptr))(unsafe.Pointer((pPage + 128 /* &.xParseCell */))))(tls, pPage, pCell, bp /* &info */) + (*struct { + f func(*libc.TLS, uintptr, uintptr, uintptr) + })(unsafe.Pointer(&struct{ uintptr }{(*MemPage)(unsafe.Pointer(pPage)).FxParseCell})).f(tls, pPage, pCell, bp /* &info */) if U32((*CellInfo)(unsafe.Pointer(bp /* &info */)).FnLocal) != (*CellInfo)(unsafe.Pointer(bp /* &info */)).FnPayload { *(*int32)(unsafe.Pointer(bp + 24 /* rc */)) = clearCellOverflow(tls, pPage, pCell, bp /* &info */) } else { @@ -51055,7 +52218,9 @@ func Xsqlite3BtreeDelete(tls *libc.TLS, pCur uintptr, flags U8) int32 { /* sqlit if pCell < ((*MemPage)(unsafe.Pointer(pLeaf)).FaData + 4) { return Xsqlite3CorruptError(tls, 74681) } - nCell = int32((*(*func(*libc.TLS, uintptr, uintptr) U16)(unsafe.Pointer((pLeaf + 120 /* &.xCellSize */))))(tls, pLeaf, pCell)) + nCell = int32((*struct { + f func(*libc.TLS, uintptr, uintptr) U16 + })(unsafe.Pointer(&struct{ uintptr }{(*MemPage)(unsafe.Pointer(pLeaf)).FxCellSize})).f(tls, pLeaf, pCell)) pTmp = (*BtShared)(unsafe.Pointer(pBt)).FpTmpSpace @@ -51327,7 +52492,9 @@ __8: ; __7: ; - (*(*func(*libc.TLS, uintptr, uintptr, uintptr))(unsafe.Pointer((*(*uintptr)(unsafe.Pointer(bp /* pPage */)) + 128 /* &.xParseCell */))))(tls, *(*uintptr)(unsafe.Pointer(bp /* pPage */)), pCell, bp+8 /* &info */) + (*struct { + f func(*libc.TLS, uintptr, uintptr, uintptr) + })(unsafe.Pointer(&struct{ uintptr }{(*MemPage)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp /* pPage */)))).FxParseCell})).f(tls, *(*uintptr)(unsafe.Pointer(bp /* pPage */)), pCell, bp+8 /* &info */) if !(U32((*CellInfo)(unsafe.Pointer(bp+8 /* &info */)).FnLocal) != (*CellInfo)(unsafe.Pointer(bp+8 /* &info */)).FnPayload) { goto __9 } @@ -51678,9 +52845,9 @@ func checkAppendMsg(tls *libc.TLS, pCheck uintptr, zFormat uintptr, va uintptr) } (*IntegrityCk)(unsafe.Pointer(pCheck)).FmxErr-- (*IntegrityCk)(unsafe.Pointer(pCheck)).FnErr++ - ap = va + (ap) = va if (*IntegrityCk)(unsafe.Pointer(pCheck)).FerrMsg.FnChar != 0 { - Xsqlite3_str_append(tls, (pCheck + 56 /* &.errMsg */), ts+3172 /* "\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)) @@ -51716,11 +52883,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+3174 /* "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+3197 /* "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 { @@ -51747,13 +52914,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+3222 /* "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+3251, /* "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 */)))) } } @@ -51776,7 +52943,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+3305 /* "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 */))) @@ -51787,7 +52954,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+3327 /* "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++ { @@ -51813,12 +52980,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+3366, /* "%s is %d but sho..." */ + ts+3365, /* "%s is %d but sho..." */ libc.VaList(bp+16, func() uintptr { if isFreeList != 0 { - return ts + 3392 /* "size" */ + return ts + 3391 /* "size" */ } - return ts + 3397 /* "overflow list le..." */ + return ts + 3396 /* "overflow list le..." */ }(), (expected-N), expected)) } @@ -51962,13 +53129,13 @@ __1: return 0 __2: ; - (*IntegrityCk)(unsafe.Pointer(pCheck)).FzPfx = ts + 3418 /* "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+3428 /* "unable to get th..." */, libc.VaList(bp, rc)) + ts+3427 /* "unable to get th..." */, libc.VaList(bp, rc)) goto end_of_check __3: ; @@ -51982,7 +53149,7 @@ __3: } // The only possible error from InitPage checkAppendMsg(tls, pCheck, - ts+3466 /* "btreeInitPage() ..." */, libc.VaList(bp+8, rc)) + ts+3465 /* "btreeInitPage() ..." */, libc.VaList(bp+8, rc)) goto end_of_check __4: ; @@ -51990,7 +53157,7 @@ __4: goto __5 } - checkAppendMsg(tls, pCheck, ts+3504 /* "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: ; @@ -51998,7 +53165,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 + 3526 /* "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() @@ -52020,7 +53187,7 @@ __5: if !((*BtShared)(unsafe.Pointer(pBt)).FautoVacuum != 0) { goto __8 } - (*IntegrityCk)(unsafe.Pointer(pCheck)).FzPfx = ts + 3552 /* "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: ; @@ -52051,18 +53218,20 @@ __9: if !((pc < contentOffset) || (pc > (usableSize - U32(4)))) { goto __12 } - checkAppendMsg(tls, pCheck, ts+3580, /* "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 __12: ; pCell = (data + uintptr(pc)) - (*(*func(*libc.TLS, uintptr, uintptr, uintptr))(unsafe.Pointer((*(*uintptr)(unsafe.Pointer(bp + 96 /* pPage */)) + 128 /* &.xParseCell */))))(tls, *(*uintptr)(unsafe.Pointer(bp + 96 /* pPage */)), pCell, bp+112 /* &info */) + (*struct { + f func(*libc.TLS, uintptr, uintptr, uintptr) + })(unsafe.Pointer(&struct{ uintptr }{(*MemPage)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp + 96 /* pPage */)))).FxParseCell})).f(tls, *(*uintptr)(unsafe.Pointer(bp + 96 /* pPage */)), pCell, bp+112 /* &info */) if !((pc + U32((*CellInfo)(unsafe.Pointer(bp+112 /* &info */)).FnSize)) > usableSize) { goto __13 } - checkAppendMsg(tls, pCheck, ts+3610 /* "Extends off end ..." */, 0) + checkAppendMsg(tls, pCheck, ts+3609 /* "Extends off end ..." */, 0) doCoverageCheck = 0 goto __10 __13: @@ -52080,7 +53249,7 @@ __13: }() != 0) { goto __15 } - checkAppendMsg(tls, pCheck, ts+3634 /* "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 @@ -52121,7 +53290,7 @@ __20: if !(d2 != depth) { goto __21 } - checkAppendMsg(tls, pCheck, ts+3658 /* "Child page depth..." */, 0) + checkAppendMsg(tls, pCheck, ts+3657 /* "Child page depth..." */, 0) depth = d2 __21: ; @@ -52159,7 +53328,9 @@ __24: goto __26 } pc = U32(libc.X__builtin_bswap16(tls, *(*U16)(unsafe.Pointer((data + uintptr((cellStart + (i * 2)))))))) - size = U32((*(*func(*libc.TLS, uintptr, uintptr) U16)(unsafe.Pointer((*(*uintptr)(unsafe.Pointer(bp + 96 /* pPage */)) + 120 /* &.xCellSize */))))(tls, *(*uintptr)(unsafe.Pointer(bp + 96 /* pPage */)), (data + uintptr(pc)))) + size = U32((*struct { + f func(*libc.TLS, uintptr, uintptr) U16 + })(unsafe.Pointer(&struct{ uintptr }{(*MemPage)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp + 96 /* pPage */)))).FxCellSize})).f(tls, *(*uintptr)(unsafe.Pointer(bp + 96 /* pPage */)), (data + uintptr(pc)))) btreeHeapInsert(tls, heap, ((pc << 16) | ((pc + size) - U32(1)))) goto __25 __25: @@ -52219,7 +53390,7 @@ __29: goto __31 } checkAppendMsg(tls, pCheck, - ts+3683 /* "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: @@ -52239,7 +53410,7 @@ __30: goto __33 } checkAppendMsg(tls, pCheck, - ts+3720, /* "Fragmentation of..." */ + ts+3719, /* "Fragmentation of..." */ libc.VaList(bp+72, nFrag, int32(*(*U8)(unsafe.Pointer(data + uintptr((hdr + 7))))), iPage)) __33: ; @@ -52368,7 +53539,7 @@ __6: if !(bCkFreelist != 0) { goto __7 } - (*IntegrityCk)(unsafe.Pointer(bp + 32 /* &sCheck */)).FzPfx = ts + 3772 /* "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) @@ -52406,7 +53577,7 @@ __13: goto __15 } checkAppendMsg(tls, bp+32, /* &sCheck */ - ts+3788, /* "max rootpage (%d..." */ + ts+3787, /* "max rootpage (%d..." */ libc.VaList(bp, mx, mxInHdr)) __15: ; @@ -52416,7 +53587,7 @@ __9: goto __16 } checkAppendMsg(tls, bp+32, /* &sCheck */ - ts+3833 /* "incremental_vacu..." */, 0) + ts+3832 /* "incremental_vacu..." */, 0) __16: ; __10: @@ -52466,13 +53637,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+3888 /* "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+3910 /* "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 @@ -52791,7 +53962,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+2791 /* "%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) @@ -52802,7 +53973,7 @@ func findBtree(tls *libc.TLS, pErrorDb uintptr, pDb uintptr, zDb uintptr) uintpt } if i < 0 { - Xsqlite3ErrorWithMsg(tls, pErrorDb, SQLITE_ERROR, ts+3944 /* "unknown database..." */, libc.VaList(bp+8, zDb)) + Xsqlite3ErrorWithMsg(tls, pErrorDb, SQLITE_ERROR, ts+3943 /* "unknown database..." */, libc.VaList(bp+8, zDb)) return uintptr(0) } @@ -52823,7 +53994,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+3964 /* "destination data..." */, 0) + Xsqlite3ErrorWithMsg(tls, db, SQLITE_ERROR, ts+3963 /* "destination data..." */, 0) return SQLITE_ERROR } return SQLITE_OK @@ -52850,7 +54021,7 @@ func Xsqlite3_backup_init(tls *libc.TLS, pDestDb uintptr, zDestDb uintptr, pSrcD if pSrcDb == pDestDb { Xsqlite3ErrorWithMsg(tls, - pDestDb, SQLITE_ERROR, ts+3995 /* "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... @@ -53464,7 +54635,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+4035, /* "%!.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 */))) @@ -53544,7 +54715,7 @@ func Xsqlite3VdbeMemGrow(tls *libc.TLS, pMem uintptr, n int32, bPreserve int32) } if (int32((*Mem)(unsafe.Pointer(pMem)).Fflags) & MEM_Dyn) != 0 { - (*(*func(*libc.TLS, uintptr))(unsafe.Pointer((pMem + 48 /* &.xDel */))))(tls, (*Mem)(unsafe.Pointer(pMem)).Fz) + (*struct{ f func(*libc.TLS, uintptr) })(unsafe.Pointer(&struct{ uintptr }{(*Mem)(unsafe.Pointer(pMem)).FxDel})).f(tls, (*Mem)(unsafe.Pointer(pMem)).Fz) } (*Mem)(unsafe.Pointer(pMem)).Fz = (*Mem)(unsafe.Pointer(pMem)).FzMalloc @@ -53706,7 +54877,7 @@ func Xsqlite3VdbeMemFinalize(tls *libc.TLS, pMem uintptr, pFunc uintptr) int32 { (*Sqlite3_context)(unsafe.Pointer(bp /* &ctx */)).FpOut = bp + 56 /* &t */ (*Sqlite3_context)(unsafe.Pointer(bp /* &ctx */)).FpMem = pMem (*Sqlite3_context)(unsafe.Pointer(bp /* &ctx */)).FpFunc = pFunc - (*(*func(*libc.TLS, uintptr))(unsafe.Pointer((pFunc + 32 /* &.xFinalize */))))(tls, bp /* &ctx */) // IMP: R-24505-23230 + (*struct{ f func(*libc.TLS, uintptr) })(unsafe.Pointer(&struct{ uintptr }{(*FuncDef)(unsafe.Pointer(pFunc)).FxFinalize})).f(tls, bp /* &ctx */) // IMP: R-24505-23230 if (*Mem)(unsafe.Pointer(pMem)).FszMalloc > 0 { Xsqlite3DbFreeNN(tls, (*Mem)(unsafe.Pointer(pMem)).Fdb, (*Mem)(unsafe.Pointer(pMem)).FzMalloc) @@ -53732,7 +54903,7 @@ func Xsqlite3VdbeMemAggValue(tls *libc.TLS, pAccum uintptr, pOut uintptr, pFunc (*Sqlite3_context)(unsafe.Pointer(bp /* &ctx */)).FpOut = pOut (*Sqlite3_context)(unsafe.Pointer(bp /* &ctx */)).FpMem = pAccum (*Sqlite3_context)(unsafe.Pointer(bp /* &ctx */)).FpFunc = pFunc - (*(*func(*libc.TLS, uintptr))(unsafe.Pointer((pFunc + 40 /* &.xValue */))))(tls, bp /* &ctx */) + (*struct{ f func(*libc.TLS, uintptr) })(unsafe.Pointer(&struct{ uintptr }{(*FuncDef)(unsafe.Pointer(pFunc)).FxValue})).f(tls, bp /* &ctx */) return (*Sqlite3_context)(unsafe.Pointer(bp /* &ctx */)).FisError } @@ -53751,7 +54922,7 @@ func vdbeMemClearExternAndSetNull(tls *libc.TLS, p uintptr) { /* sqlite3.c:77496 } if (int32((*Mem)(unsafe.Pointer(p)).Fflags) & MEM_Dyn) != 0 { - (*(*func(*libc.TLS, uintptr))(unsafe.Pointer((p + 48 /* &.xDel */))))(tls, (*Mem)(unsafe.Pointer(p)).Fz) + (*struct{ f func(*libc.TLS, uintptr) })(unsafe.Pointer(&struct{ uintptr }{(*Mem)(unsafe.Pointer(p)).FxDel})).f(tls, (*Mem)(unsafe.Pointer(p)).Fz) } (*Mem)(unsafe.Pointer(p)).Fflags = U16(MEM_Null) } @@ -53958,7 +55129,7 @@ func Xsqlite3VdbeMemNumerify(tls *libc.TLS, pMem uintptr) int32 { /* sqlite3.c:7 rc = Xsqlite3AtoF(tls, (*Mem)(unsafe.Pointer(pMem)).Fz, (pMem /* &.u */ /* &.r */), (*Mem)(unsafe.Pointer(pMem)).Fn, (*Mem)(unsafe.Pointer(pMem)).Fenc) if (((rc == 0) || (rc == 1)) && (Xsqlite3Atoi64(tls, (*Mem)(unsafe.Pointer(pMem)).Fz, bp /* &ix */, (*Mem)(unsafe.Pointer(pMem)).Fn, (*Mem)(unsafe.Pointer(pMem)).Fenc) <= 1)) || - (Xsqlite3RealSameAsInt(tls, *(*float64)(unsafe.Pointer(pMem /* &.u */)), libc.AssignPtrInt64(bp /* ix */, I64(*(*float64)(unsafe.Pointer(pMem /* &.u */))))) != 0) { + (Xsqlite3RealSameAsInt(tls, *(*float64)(unsafe.Pointer(pMem /* &.u */)), libc.AssignPtrInt64(bp /* ix */, libc.Int64FromFloat64(*(*float64)(unsafe.Pointer(pMem /* &.u */))))) != 0) { *(*I64)(unsafe.Pointer(pMem /* &.u */)) = *(*Sqlite3_int64)(unsafe.Pointer(bp /* ix */)) (*Mem)(unsafe.Pointer(pMem)).Fflags = (U16((int32((*Mem)(unsafe.Pointer((pMem))).Fflags) & libc.CplInt32((MEM_TypeMask | MEM_Zero))) | MEM_Int)) } else { @@ -54105,7 +55276,7 @@ func Xsqlite3VdbeMemSetPointer(tls *libc.TLS, pMem uintptr, pPtr uintptr, zPType if zPType != 0 { return zPType } - return ts + 756 /* "" */ + return ts + 755 /* "" */ }() (*Mem)(unsafe.Pointer(pMem)).Fz = pPtr (*Mem)(unsafe.Pointer(pMem)).Fflags = (U16(((MEM_Null | MEM_Dyn) | MEM_Subtype) | MEM_Term)) @@ -54459,11 +55630,11 @@ func Xsqlite3ValueNew(tls *libc.TLS, db uintptr) uintptr { /* sqlite3.c:78293:30 // Context object passed by sqlite3Stat4ProbeSetValue() through to // valueNew(). See comments above valueNew() for details. type ValueNewStat4Ctx = struct { - FpParse uintptr - FpIdx uintptr - FppRec uintptr - FiVal int32 - _ [4]byte + FpParse uintptr + FpIdx uintptr + FppRec uintptr + FiVal int32 + F__ccgo_pad1 [4]byte } /* sqlite3.c:78306:1 */ // Allocate and return a pointer to a new sqlite3_value object. If @@ -54613,12 +55784,14 @@ __9: libc.Xmemset(tls, bp+8 /* &ctx */, 0, uint64(unsafe.Sizeof(Sqlite3_context{}))) (*Sqlite3_context)(unsafe.Pointer(bp + 8 /* &ctx */)).FpOut = pVal (*Sqlite3_context)(unsafe.Pointer(bp + 8 /* &ctx */)).FpFunc = pFunc - (*(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer((pFunc + 24 /* &.xSFunc */))))(tls, bp+8 /* &ctx */, nVal, apVal) + (*struct { + f func(*libc.TLS, uintptr, int32, uintptr) + })(unsafe.Pointer(&struct{ uintptr }{(*FuncDef)(unsafe.Pointer(pFunc)).FxSFunc})).f(tls, bp+8 /* &ctx */, nVal, apVal) if !((*Sqlite3_context)(unsafe.Pointer(bp+8 /* &ctx */)).FisError != 0) { goto __10 } rc = (*Sqlite3_context)(unsafe.Pointer(bp + 8 /* &ctx */)).FisError - Xsqlite3ErrorMsg(tls, (*ValueNewStat4Ctx)(unsafe.Pointer(pCtx)).FpParse, ts+2791 /* "%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)) @@ -54690,7 +55863,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 + 756 /* "" */ + zNeg = ts + 755 /* "" */ rc = SQLITE_OK __1: @@ -54739,7 +55912,7 @@ __4: pExpr = (*Expr)(unsafe.Pointer(pExpr)).FpLeft op = int32((*Expr)(unsafe.Pointer(pExpr)).Fop) negInt = -1 - zNeg = ts + 4042 /* "-" */ + zNeg = ts + 4041 /* "-" */ __6: ; @@ -54759,7 +55932,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+4044 /* "%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 } @@ -55217,7 +56390,7 @@ func Xsqlite3VdbeError(tls *libc.TLS, p uintptr, zFormat uintptr, va uintptr) { var ap Va_list _ = ap Xsqlite3DbFree(tls, (*Vdbe)(unsafe.Pointer(p)).Fdb, (*Vdbe)(unsafe.Pointer(p)).FzErrMsg) - ap = va + (ap) = va (*Vdbe)(unsafe.Pointer(p)).FzErrMsg = Xsqlite3VMPrintf(tls, (*Vdbe)(unsafe.Pointer(p)).Fdb, zFormat, ap) _ = ap } @@ -55388,7 +56561,7 @@ func Xsqlite3VdbeMultiLoad(tls *libc.TLS, p uintptr, iDest int32, zTypes uintptr var i int32 var c int8 var z uintptr - ap = va + (ap) = va i = 0 __1: if !((int32(libc.AssignInt8(&c, *(*int8)(unsafe.Pointer(zTypes + uintptr(i)))))) != 0) { @@ -55511,7 +56684,7 @@ func Xsqlite3VdbeExplain(tls *libc.TLS, pParse uintptr, bPush U8, zFmt uintptr, var ap Va_list _ = ap var iThis int32 - ap = va + (ap) = va zMsg = Xsqlite3VMPrintf(tls, (*Parse)(unsafe.Pointer(pParse)).Fdb, zFmt, ap) _ = ap v = (*Parse)(unsafe.Pointer(pParse)).FpVdbe @@ -56204,34 +57377,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+4049 /* "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 + 756 /* "" */ + zColl = ts + 755 /* "" */ } - if libc.Xstrcmp(tls, zColl, ts+319 /* "BINARY" */) == 0 { - zColl = ts + 4054 /* "B" */ + if libc.Xstrcmp(tls, zColl, ts+318 /* "BINARY" */) == 0 { + zColl = ts + 4053 /* "B" */ } - Xsqlite3_str_appendf(tls, bp+144 /* &x */, ts+4056, /* ",%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 + 4042 /* "-" */ + return ts + 4041 /* "-" */ } - return ts + 756 /* "" */ + return ts + 755 /* "" */ }(), func() uintptr { if (int32(*(*U8)(unsafe.Pointer((*KeyInfo)(unsafe.Pointer(pKeyInfo)).FaSortFlags + uintptr(j)))) & KEYINFO_ORDER_BIGNULL) != 0 { - return ts + 4064 /* "N." */ + return ts + 4063 /* "N." */ } - return ts + 756 /* "" */ + return ts + 755 /* "" */ }(), zColl)) } - Xsqlite3_str_append(tls, bp+144 /* &x */, ts+4067 /* ")" */, 1) + Xsqlite3_str_append(tls, bp+144 /* &x */, ts+4066 /* ")" */, 1) break } @@ -56239,7 +57412,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+4069 /* "%.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 @@ -56247,32 +57420,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+4078 /* "%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+4078 /* "%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+4085 /* "%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+4090 /* "%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+539 /* "%.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 } @@ -56282,14 +57455,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+4085 /* "%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+539 /* "%.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 + 757 /* "NULL" */ + zP4 = ts + 756 /* "NULL" */ } else { - zP4 = ts + 4093 /* "(blob)" */ + zP4 = ts + 4092 /* "(blob)" */ } break @@ -56297,7 +57470,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+4100 /* "vtab:%p" */, libc.VaList(bp+120, pVtab)) + Xsqlite3_str_appendf(tls, bp+144 /* &x */, ts+4099 /* "vtab:%p" */, libc.VaList(bp+120, pVtab)) break } @@ -56308,20 +57481,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+4108 /* "%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+4113 /* "]" */, 1) + Xsqlite3_str_append(tls, bp+144 /* &x */, ts+4112 /* "]" */, 1) break } case -4: { - zP4 = ts + 4115 /* "program" */ + zP4 = ts + 4114 /* "program" */ break } @@ -56353,7 +57526,7 @@ func Xsqlite3VdbeDisplayP4(tls *libc.TLS, db uintptr, pOp uintptr) uintptr { /* return Xsqlite3StrAccumFinish(tls, bp+144 /* &x */) } -var encnames = [4]uintptr{ts + 4123 /* "?" */, ts + 4125 /* "8" */, ts + 4127 /* "16LE" */, ts + 4132 /* "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. // @@ -56884,8 +58057,8 @@ func Xsqlite3VdbeMakeReady(tls *libc.TLS, p uintptr, pParse uintptr) { /* sqlite } var azColName = [12]uintptr{ - ts + 4137 /* "addr" */, ts + 4142 /* "opcode" */, ts + 4149 /* "p1" */, ts + 4152 /* "p2" */, ts + 4155 /* "p3" */, ts + 4158 /* "p4" */, ts + 4161 /* "p5" */, ts + 4164, /* "comment" */ - ts + 4172 /* "id" */, ts + 4175 /* "parent" */, ts + 4182 /* "notused" */, ts + 4190, /* "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 @@ -56915,7 +58088,9 @@ func Xsqlite3VdbeFreeCursor(tls *libc.TLS, p uintptr, pCx uintptr) { /* sqlite3. var pModule uintptr = (*Sqlite3_vtab)(unsafe.Pointer((*Sqlite3_vtab_cursor)(unsafe.Pointer(pVCur)).FpVtab)).FpModule (*Sqlite3_vtab)(unsafe.Pointer((*Sqlite3_vtab_cursor)(unsafe.Pointer(pVCur)).FpVtab)).FnRef-- - (*(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer((pModule + 56 /* &.xClose */))))(tls, pVCur) + (*struct { + f func(*libc.TLS, uintptr) int32 + })(unsafe.Pointer(&struct{ uintptr }{(*Sqlite3_module)(unsafe.Pointer(pModule)).FxClose})).f(tls, pVCur) break } @@ -57084,7 +58259,9 @@ func vdbeCommit(tls *libc.TLS, db uintptr, p uintptr) int32 { /* sqlite3.c:81537 // If there are any write-transactions at all, invoke the commit hook if (needXcommit != 0) && ((*Sqlite3)(unsafe.Pointer(db)).FxCommitCallback != 0) { - rc = (*(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer((db + 280 /* &.xCommitCallback */))))(tls, (*Sqlite3)(unsafe.Pointer(db)).FpCommitArg) + rc = (*struct { + f func(*libc.TLS, uintptr) int32 + })(unsafe.Pointer(&struct{ uintptr }{(*Sqlite3)(unsafe.Pointer(db)).FxCommitCallback})).f(tls, (*Sqlite3)(unsafe.Pointer(db)).FpCommitArg) if rc != 0 { return (SQLITE_CONSTRAINT | (int32(2) << 8)) } @@ -57133,7 +58310,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+4197 /* "%.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 } @@ -57143,16 +58320,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+4209 /* "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+4223 /* "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+4238, /* "-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. @@ -57346,7 +58523,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+4251 /* "FOREIGN KEY cons..." */, 0) + Xsqlite3VdbeError(tls, p, ts+4250 /* "FOREIGN KEY cons..." */, 0) return SQLITE_ERROR } return SQLITE_OK @@ -57628,7 +58805,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 + 2791 /* "%s" */ + return ts + 2790 /* "%s" */ } return uintptr(0) }(), libc.VaList(bp, (*Vdbe)(unsafe.Pointer(p)).FzErrMsg)) @@ -57681,7 +58858,7 @@ func Xsqlite3VdbeDeleteAuxData(tls *libc.TLS, db uintptr, pp uintptr, iOp int32, (((*AuxData)(unsafe.Pointer(pAux)).FiAuxArg > 31) || !((uint32(mask) & (uint32((uint32(1))) << ((*AuxData)(unsafe.Pointer(pAux)).FiAuxArg))) != 0))) { if (*AuxData)(unsafe.Pointer(pAux)).FxDeleteAux != 0 { - (*(*func(*libc.TLS, uintptr))(unsafe.Pointer((pAux + 16 /* &.xDeleteAux */))))(tls, (*AuxData)(unsafe.Pointer(pAux)).FpAux) + (*struct{ f func(*libc.TLS, uintptr) })(unsafe.Pointer(&struct{ uintptr }{(*AuxData)(unsafe.Pointer(pAux)).FxDeleteAux})).f(tls, (*AuxData)(unsafe.Pointer(pAux)).FpAux) } *(*uintptr)(unsafe.Pointer(pp)) = (*AuxData)(unsafe.Pointer(pAux)).FpNextAux Xsqlite3DbFree(tls, db, pAux) @@ -58223,7 +59400,9 @@ func vdbeCompareMemString(tls *libc.TLS, pMem1 uintptr, pMem2 uintptr, pColl uin if int32((*Mem)(unsafe.Pointer(pMem1)).Fenc) == int32((*CollSeq)(unsafe.Pointer(pColl)).Fenc) { // The strings are already in the correct encoding. Call the // comparison function directly - return (*(*func(*libc.TLS, uintptr, int32, uintptr, int32, uintptr) int32)(unsafe.Pointer((pColl + 24 /* &.xCmp */))))(tls, (*CollSeq)(unsafe.Pointer(pColl)).FpUser, (*Mem)(unsafe.Pointer(pMem1)).Fn, (*Mem)(unsafe.Pointer(pMem1)).Fz, (*Mem)(unsafe.Pointer(pMem2)).Fn, (*Mem)(unsafe.Pointer(pMem2)).Fz) + return (*struct { + f func(*libc.TLS, uintptr, int32, uintptr, int32, uintptr) int32 + })(unsafe.Pointer(&struct{ uintptr }{(*CollSeq)(unsafe.Pointer(pColl)).FxCmp})).f(tls, (*CollSeq)(unsafe.Pointer(pColl)).FpUser, (*Mem)(unsafe.Pointer(pMem1)).Fn, (*Mem)(unsafe.Pointer(pMem1)).Fz, (*Mem)(unsafe.Pointer(pMem2)).Fn, (*Mem)(unsafe.Pointer(pMem2)).Fz) } else { var rc int32 var v1 uintptr @@ -58244,7 +59423,9 @@ func vdbeCompareMemString(tls *libc.TLS, pMem1 uintptr, pMem2 uintptr, pColl uin } rc = 0 } else { - rc = (*(*func(*libc.TLS, uintptr, int32, uintptr, int32, uintptr) int32)(unsafe.Pointer((pColl + 24 /* &.xCmp */))))(tls, (*CollSeq)(unsafe.Pointer(pColl)).FpUser, (*Mem)(unsafe.Pointer(bp /* &c1 */)).Fn, v1, (*Mem)(unsafe.Pointer(bp+56 /* &c2 */)).Fn, v2) + rc = (*struct { + f func(*libc.TLS, uintptr, int32, uintptr, int32, uintptr) int32 + })(unsafe.Pointer(&struct{ uintptr }{(*CollSeq)(unsafe.Pointer(pColl)).FxCmp})).f(tls, (*CollSeq)(unsafe.Pointer(pColl)).FpUser, (*Mem)(unsafe.Pointer(bp /* &c1 */)).Fn, v1, (*Mem)(unsafe.Pointer(bp+56 /* &c2 */)).Fn, v2) } Xsqlite3VdbeMemRelease(tls, bp /* &c1 */) Xsqlite3VdbeMemRelease(tls, bp+56 /* &c2 */) @@ -59179,13 +60360,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 + 4281 /* "a CHECK constrai..." */ + zContext = ts + 4280 /* "a CHECK constrai..." */ } else if (int32((*VdbeOp)(unsafe.Pointer(pOp)).Fp5) & NC_GenCol) != 0 { - zContext = ts + 4300 /* "a generated colu..." */ + zContext = ts + 4299 /* "a generated colu..." */ } else { - zContext = ts + 4319 /* "an index" */ + zContext = ts + 4318 /* "an index" */ } - zMsg = Xsqlite3_mprintf(tls, ts+4328, /* "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) @@ -59266,7 +60447,9 @@ func Xsqlite3VdbePreUpdateHook(tls *libc.TLS, v uintptr, pCsr uintptr, op int32, (*PreUpdate)(unsafe.Pointer(bp /* &preupdate */)).FiBlobWrite = iBlobWrite (*Sqlite3)(unsafe.Pointer(db)).FpPreUpdate = bp /* &preupdate */ - (*(*func(*libc.TLS, uintptr, uintptr, int32, uintptr, uintptr, Sqlite3_int64, Sqlite3_int64))(unsafe.Pointer((db + 336 /* &.xPreUpdateCallback */))))(tls, (*Sqlite3)(unsafe.Pointer(db)).FpPreUpdateArg, db, op, zDb, zTbl, iKey1, iKey2) + (*struct { + f func(*libc.TLS, uintptr, uintptr, int32, uintptr, uintptr, Sqlite3_int64, Sqlite3_int64) + })(unsafe.Pointer(&struct{ uintptr }{(*Sqlite3)(unsafe.Pointer(db)).FxPreUpdateCallback})).f(tls, (*Sqlite3)(unsafe.Pointer(db)).FpPreUpdateArg, db, op, zDb, zTbl, iKey1, iKey2) (*Sqlite3)(unsafe.Pointer(db)).FpPreUpdate = uintptr(0) Xsqlite3DbFree(tls, db, (*PreUpdate)(unsafe.Pointer(bp /* &preupdate */)).FaRecord) vdbeFreeUnpacked(tls, db, (int32((*PreUpdate)(unsafe.Pointer(bp /* &preupdate */)).Fkeyinfo.FnKeyField) + 1), (*PreUpdate)(unsafe.Pointer(bp /* &preupdate */)).FpUnpacked) @@ -59316,7 +60499,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+4364 /* "API called with ..." */, 0) + Xsqlite3_log(tls, SQLITE_MISUSE, ts+4363 /* "API called with ..." */, 0) return 1 } else { return 0 @@ -59326,7 +60509,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+4409 /* "API called with ..." */, 0) + Xsqlite3_log(tls, SQLITE_MISUSE, ts+4408 /* "API called with ..." */, 0) return 1 } else { return vdbeSafety(tls, p) @@ -59347,10 +60530,14 @@ func invokeProfileCallback(tls *libc.TLS, db uintptr, p uintptr) { /* sqlite3.c: Xsqlite3OsCurrentTimeInt64(tls, (*Sqlite3)(unsafe.Pointer(db)).FpVfs, bp /* &iNow */) *(*Sqlite3_int64)(unsafe.Pointer(bp + 8 /* iElapse */)) = ((*(*Sqlite3_int64)(unsafe.Pointer(bp /* iNow */)) - (*Vdbe)(unsafe.Pointer(p)).FstartTime) * int64(1000000)) if (*Sqlite3)(unsafe.Pointer(db)).FxProfile != 0 { - (*(*func(*libc.TLS, uintptr, uintptr, U64))(unsafe.Pointer((db + 256 /* &.xProfile */))))(tls, (*Sqlite3)(unsafe.Pointer(db)).FpProfileArg, (*Vdbe)(unsafe.Pointer(p)).FzSql, uint64(*(*Sqlite3_int64)(unsafe.Pointer(bp + 8 /* iElapse */)))) + (*struct { + f func(*libc.TLS, uintptr, uintptr, U64) + })(unsafe.Pointer(&struct{ uintptr }{(*Sqlite3)(unsafe.Pointer(db)).FxProfile})).f(tls, (*Sqlite3)(unsafe.Pointer(db)).FpProfileArg, (*Vdbe)(unsafe.Pointer(p)).FzSql, uint64(*(*Sqlite3_int64)(unsafe.Pointer(bp + 8 /* iElapse */)))) } if (int32((*Sqlite3)(unsafe.Pointer(db)).FmTrace) & SQLITE_TRACE_PROFILE) != 0 { - (*(*func(*libc.TLS, U32, uintptr, uintptr, uintptr) int32)(unsafe.Pointer((db + 240 /* &.trace */ /* &.xV2 */))))(tls, uint32(SQLITE_TRACE_PROFILE), (*Sqlite3)(unsafe.Pointer(db)).FpTraceArg, p, bp+8 /* &iElapse */) + (*struct { + f func(*libc.TLS, U32, uintptr, uintptr, uintptr) int32 + })(unsafe.Pointer(&struct{ uintptr }{*(*uintptr)(unsafe.Pointer(db + 240 /* &.trace */))})).f(tls, uint32(SQLITE_TRACE_PROFILE), (*Sqlite3)(unsafe.Pointer(db)).FpTraceArg, p, bp+8 /* &iElapse */) } (*Vdbe)(unsafe.Pointer(p)).FstartTime = int64(0) } @@ -59660,7 +60847,7 @@ func invokeValueDestructor(tls *libc.TLS, p uintptr, xDel uintptr, pCtx uintptr) } else if xDel == (libc.UintptrFromInt32(-1)) { // noop } else { - (*(*func(*libc.TLS, uintptr))(unsafe.Pointer(&xDel)))(tls, p) + (*struct{ f func(*libc.TLS, uintptr) })(unsafe.Pointer(&struct{ uintptr }{xDel})).f(tls, p) } Xsqlite3_result_error_toobig(tls, pCtx) return SQLITE_TOOBIG @@ -59796,7 +60983,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+4449 /* "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)) } @@ -59832,7 +61019,9 @@ func doWalCallbacks(tls *libc.TLS, db uintptr) int32 { /* sqlite3.c:84742:12: */ nEntry = Xsqlite3PagerWalCallback(tls, Xsqlite3BtreePager(tls, pBt)) Xsqlite3BtreeLeave(tls, pBt) if ((nEntry > 0) && ((*Sqlite3)(unsafe.Pointer(db)).FxWalCallback != 0)) && (rc == SQLITE_OK) { - rc = (*(*func(*libc.TLS, uintptr, uintptr, uintptr, int32) int32)(unsafe.Pointer((db + 352 /* &.xWalCallback */))))(tls, (*Sqlite3)(unsafe.Pointer(db)).FpWalArg, db, (*Db)(unsafe.Pointer((*Sqlite3)(unsafe.Pointer(db)).FaDb+uintptr(i)*32)).FzDbSName, nEntry) + rc = (*struct { + f func(*libc.TLS, uintptr, uintptr, uintptr, int32) int32 + })(unsafe.Pointer(&struct{ uintptr }{(*Sqlite3)(unsafe.Pointer(db)).FxWalCallback})).f(tls, (*Sqlite3)(unsafe.Pointer(db)).FpWalArg, db, (*Db)(unsafe.Pointer((*Sqlite3)(unsafe.Pointer(db)).FaDb+uintptr(i)*32)).FzDbSName, nEntry) } } } @@ -60239,7 +61428,7 @@ __6: if !((*AuxData)(unsafe.Pointer(pAuxData)).FxDeleteAux != 0) { goto __10 } - (*(*func(*libc.TLS, uintptr))(unsafe.Pointer((pAuxData + 16 /* &.xDeleteAux */))))(tls, (*AuxData)(unsafe.Pointer(pAuxData)).FpAux) + (*struct{ f func(*libc.TLS, uintptr) })(unsafe.Pointer(&struct{ uintptr }{(*AuxData)(unsafe.Pointer(pAuxData)).FxDeleteAux})).f(tls, (*AuxData)(unsafe.Pointer(pAuxData)).FpAux) __10: ; __7: @@ -60253,7 +61442,7 @@ failed: if !(xDelete != 0) { goto __11 } - (*(*func(*libc.TLS, uintptr))(unsafe.Pointer(&xDelete)))(tls, pAux) + (*struct{ f func(*libc.TLS, uintptr) })(unsafe.Pointer(&struct{ uintptr }{xDelete})).f(tls, pAux) __11: } @@ -60547,7 +61736,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+4472 /* "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)) { @@ -60602,7 +61791,7 @@ func bindText(tls *libc.TLS, pStmt uintptr, i int32, zData uintptr, nData I64, x } Xsqlite3_mutex_leave(tls, (*Sqlite3)(unsafe.Pointer((*Vdbe)(unsafe.Pointer(p)).Fdb)).Fmutex) } else if (xDel != (uintptr(0))) && (xDel != (libc.UintptrFromInt32(-1))) { - (*(*func(*libc.TLS, uintptr))(unsafe.Pointer(&xDel)))(tls, zData) + (*struct{ f func(*libc.TLS, uintptr) })(unsafe.Pointer(&struct{ uintptr }{xDel})).f(tls, zData) } return rc } @@ -60661,7 +61850,7 @@ func Xsqlite3_bind_pointer(tls *libc.TLS, pStmt uintptr, i int32, pPtr uintptr, Xsqlite3VdbeMemSetPointer(tls, ((*Vdbe)(unsafe.Pointer(p)).FaVar + uintptr((i-1))*56), pPtr, zPTtype, xDestructor) Xsqlite3_mutex_leave(tls, (*Sqlite3)(unsafe.Pointer((*Vdbe)(unsafe.Pointer(p)).Fdb)).Fmutex) } else if xDestructor != 0 { - (*(*func(*libc.TLS, uintptr))(unsafe.Pointer(&xDestructor)))(tls, pPtr) + (*struct{ f func(*libc.TLS, uintptr) })(unsafe.Pointer(&struct{ uintptr }{xDestructor})).f(tls, pPtr) } return rc } @@ -61324,7 +62513,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+4512 /* "-- " */, 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))) } @@ -61362,11 +62551,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+757 /* "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+4085 /* "%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+4035 /* "%!.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 @@ -61381,21 +62570,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+4516 /* "'%.*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+4523 /* "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+4536 /* "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+4539 /* "%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+4544 /* "'" */, 1) + Xsqlite3_str_append(tls, bp+48 /* &out */, ts+4543 /* "'" */, 1) } } } @@ -64904,7 +66093,9 @@ __185: } nProgressLimit = nProgressLimit + (U64((*Sqlite3)(unsafe.Pointer(db)).FnProgressOps)) - if !((*(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer((db + 512 /* &.xProgress */))))(tls, (*Sqlite3)(unsafe.Pointer(db)).FpProgressArg) != 0) { + if !((*struct { + f func(*libc.TLS, uintptr) int32 + })(unsafe.Pointer(&struct{ uintptr }{(*Sqlite3)(unsafe.Pointer(db)).FxProgress})).f(tls, (*Sqlite3)(unsafe.Pointer(db)).FpProgressArg) != 0) { goto __187 } nProgressLimit = (uint64(0xffffffff) | (U64((uint64(0xffffffff))) << 32)) @@ -65094,19 +66285,19 @@ __190: goto __193 } - Xsqlite3VdbeError(tls, p, ts+4546 /* "%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+4567 /* "%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+2791 /* "%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+4574 /* "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) @@ -65506,7 +66697,9 @@ __220: if !((int32((*Sqlite3)(unsafe.Pointer(db)).FmTrace) & SQLITE_TRACE_ROW) != 0) { goto __221 } - (*(*func(*libc.TLS, U32, uintptr, uintptr, uintptr) int32)(unsafe.Pointer((db + 240 /* &.trace */ /* &.xV2 */))))(tls, uint32(SQLITE_TRACE_ROW), (*Sqlite3)(unsafe.Pointer(db)).FpTraceArg, p, uintptr(0)) + (*struct { + f func(*libc.TLS, U32, uintptr, uintptr, uintptr) int32 + })(unsafe.Pointer(&struct{ uintptr }{*(*uintptr)(unsafe.Pointer(db + 240 /* &.trace */))})).f(tls, uint32(SQLITE_TRACE_ROW), (*Sqlite3)(unsafe.Pointer(db)).FpTraceArg, p, uintptr(0)) __221: ; @@ -67656,7 +68849,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+4598 /* "cannot open save..." */, 0) + Xsqlite3VdbeError(tls, p, ts+4597 /* "cannot open save..." */, 0) rc = SQLITE_BUSY goto __448 __447: @@ -67729,7 +68922,7 @@ __455: if !(!(pSavepoint != 0)) { goto __456 } - Xsqlite3VdbeError(tls, p, ts+4649 /* "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: @@ -67739,7 +68932,7 @@ __456: // It is not possible to release (commit) a savepoint if there are // active write statements. Xsqlite3VdbeError(tls, p, - ts+4671 /* "cannot release s..." */, 0) + ts+4670 /* "cannot release s..." */, 0) rc = SQLITE_BUSY goto __459 __458: @@ -67944,7 +69137,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+4725 /* "cannot commit tr..." */, 0) + ts+4724 /* "cannot commit tr..." */, 0) rc = SQLITE_BUSY goto abort_due_to_error goto __491 @@ -67987,13 +69180,13 @@ __486: Xsqlite3VdbeError(tls, p, func() uintptr { if !(desiredAutoCommit != 0) { - return ts + 4780 /* "cannot start a t..." */ + return ts + 4779 /* "cannot start a t..." */ } return func() uintptr { if iRollback != 0 { - return ts + 4828 /* "cannot rollback ..." */ + return ts + 4827 /* "cannot rollback ..." */ } - return ts + 4871 /* "cannot commit - ..." */ + return ts + 4870 /* "cannot commit - ..." */ }() }(), 0) @@ -68111,7 +69304,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+4912 /* "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. @@ -68493,7 +69686,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 + 756 /* "" */ + (*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)) @@ -69807,7 +71000,9 @@ __639: goto __640 } - (*(*func(*libc.TLS, uintptr, int32, uintptr, uintptr, Sqlite_int64))(unsafe.Pointer((db + 312 /* &.xUpdateCallback */))))(tls, (*Sqlite3)(unsafe.Pointer(db)).FpUpdateArg, + (*struct { + f func(*libc.TLS, uintptr, int32, uintptr, uintptr, Sqlite_int64) + })(unsafe.Pointer(&struct{ uintptr }{(*Sqlite3)(unsafe.Pointer(db)).FxUpdateCallback})).f(tls, (*Sqlite3)(unsafe.Pointer(db)).FpUpdateArg, func() int32 { if (int32((*Op)(unsafe.Pointer(pOp)).Fp5) & OPFLAG_ISUPDATE) != 0 { return SQLITE_UPDATE @@ -69955,7 +71150,9 @@ __647: if !(((*Sqlite3)(unsafe.Pointer(db)).FxUpdateCallback != 0) && (((*Table)(unsafe.Pointer((pTab1))).FtabFlags & U32(TF_WithoutRowid)) == U32(0))) { goto __649 } - (*(*func(*libc.TLS, uintptr, int32, uintptr, uintptr, Sqlite_int64))(unsafe.Pointer((db + 312 /* &.xUpdateCallback */))))(tls, (*Sqlite3)(unsafe.Pointer(db)).FpUpdateArg, SQLITE_DELETE, zDb1, (*Table)(unsafe.Pointer(pTab1)).FzName, + (*struct { + f func(*libc.TLS, uintptr, int32, uintptr, uintptr, Sqlite_int64) + })(unsafe.Pointer(&struct{ uintptr }{(*Sqlite3)(unsafe.Pointer(db)).FxUpdateCallback})).f(tls, (*Sqlite3)(unsafe.Pointer(db)).FpUpdateArg, SQLITE_DELETE, zDb1, (*Table)(unsafe.Pointer(pTab1)).FzName, (*VdbeCursor)(unsafe.Pointer(pC11)).FmovetoTarget) __649: @@ -70147,7 +71344,9 @@ __659: pVtab = (*Sqlite3_vtab_cursor)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(pC15 + 56 /* &.uc */)))).FpVtab pModule = (*Sqlite3_vtab)(unsafe.Pointer(pVtab)).FpModule - rc = (*(*func(*libc.TLS, uintptr, uintptr) int32)(unsafe.Pointer((pModule + 96 /* &.xRowid */))))(tls, *(*uintptr)(unsafe.Pointer(pC15 + 56 /* &.uc */)), bp+520 /* &v3 */) + rc = (*struct { + f func(*libc.TLS, uintptr, uintptr) int32 + })(unsafe.Pointer(&struct{ uintptr }{(*Sqlite3_module)(unsafe.Pointer(pModule)).FxRowid})).f(tls, *(*uintptr)(unsafe.Pointer(pC15 + 56 /* &.uc */)), bp+520 /* &v3 */) Xsqlite3VtabImportErrmsg(tls, p, pVtab) if !(rc != 0) { goto __663 @@ -70448,7 +71647,9 @@ __121: // jump // The Next opcode is only used after SeekGT, SeekGE, Rewind, and Found. // The Prev opcode is only used after SeekLT, SeekLE, and Last. - rc = (*(*func(*libc.TLS, uintptr, int32) int32)(unsafe.Pointer((pOp + 16 /* &.p4 */ /* &.xAdvance */))))(tls, *(*uintptr)(unsafe.Pointer(pC20 + 56 /* &.uc */)), (*Op)(unsafe.Pointer(pOp)).Fp3) + rc = (*struct { + f func(*libc.TLS, uintptr, int32) int32 + })(unsafe.Pointer(&struct{ uintptr }{*(*uintptr)(unsafe.Pointer(pOp + 16 /* &.p4 */))})).f(tls, *(*uintptr)(unsafe.Pointer(pC20 + 56 /* &.uc */)), (*Op)(unsafe.Pointer(pOp)).Fp3) next_tail: (*VdbeCursor)(unsafe.Pointer(pC20)).FcacheStatus = U32(CACHE_STALE) @@ -70623,7 +71824,7 @@ __688: if !((*Op)(unsafe.Pointer(pOp)).Fp5 != 0) { goto __691 } - rc = Xsqlite3ReportError(tls, (SQLITE_CORRUPT | (int32(3) << 8)), 92446, ts+4940 /* "index corruption" */) + rc = Xsqlite3ReportError(tls, (SQLITE_CORRUPT | (int32(3) << 8)), 92446, ts+4939 /* "index corruption" */) goto abort_due_to_error __691: ; @@ -71056,14 +72257,14 @@ __137: goto __720 __719: - zSchema = ts + 4957 /* "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+4971, /* "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 @@ -71396,7 +72597,7 @@ __741: goto __746 } rc = SQLITE_ERROR - Xsqlite3VdbeError(tls, p, ts+5014 /* "too many levels ..." */, 0) + Xsqlite3VdbeError(tls, p, ts+5013 /* "too many levels ..." */, 0) goto abort_due_to_error __746: ; @@ -71828,10 +73029,14 @@ __776: if !((*Op)(unsafe.Pointer(pOp)).Fp1 != 0) { goto __780 } - (*(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(((*Sqlite3_context)(unsafe.Pointer(pCtx1)).FpFunc + 48 /* &.xInverse */))))(tls, pCtx1, int32((*Sqlite3_context)(unsafe.Pointer(pCtx1)).Fargc), pCtx1+48 /* &.argv */) + (*struct { + f func(*libc.TLS, uintptr, int32, uintptr) + })(unsafe.Pointer(&struct{ uintptr }{(*FuncDef)(unsafe.Pointer((*Sqlite3_context)(unsafe.Pointer(pCtx1)).FpFunc)).FxInverse})).f(tls, pCtx1, int32((*Sqlite3_context)(unsafe.Pointer(pCtx1)).Fargc), pCtx1+48 /* &.argv */) goto __781 __780: - (*(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(((*Sqlite3_context)(unsafe.Pointer(pCtx1)).FpFunc + 24 /* &.xSFunc */))))(tls, pCtx1, int32((*Sqlite3_context)(unsafe.Pointer(pCtx1)).Fargc), pCtx1+48 /* &.argv */) + (*struct { + f func(*libc.TLS, uintptr, int32, uintptr) + })(unsafe.Pointer(&struct{ uintptr }{(*FuncDef)(unsafe.Pointer((*Sqlite3_context)(unsafe.Pointer(pCtx1)).FpFunc)).FxSFunc})).f(tls, pCtx1, int32((*Sqlite3_context)(unsafe.Pointer(pCtx1)).Fargc), pCtx1+48 /* &.argv */) __781: ; // IMP: R-24505-23230 @@ -71841,7 +73046,7 @@ __781: if !((*Sqlite3_context)(unsafe.Pointer(pCtx1)).FisError > 0) { goto __783 } - Xsqlite3VdbeError(tls, p, ts+2791 /* "%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: ; @@ -71919,7 +73124,7 @@ __788: if !(rc != 0) { goto __789 } - Xsqlite3VdbeError(tls, p, ts+2791 /* "%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: ; @@ -72034,12 +73239,12 @@ __798: } rc = SQLITE_ERROR Xsqlite3VdbeError(tls, p, - ts+5051, /* "cannot change %s..." */ + ts+5050, /* "cannot change %s..." */ libc.VaList(bp+104, func() uintptr { if eNew == PAGER_JOURNALMODE_WAL { - return ts + 5103 /* "into" */ + return ts + 5102 /* "into" */ } - return ts + 5108 /* "out of" */ + return ts + 5107 /* "out of" */ }())) goto abort_due_to_error goto __801 @@ -72242,7 +73447,7 @@ __167: goto __816 } z1 = *(*uintptr)(unsafe.Pointer(pOp + 16 /* &.p4 */)) - Xsqlite3VdbeError(tls, p, ts+5115 /* "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 @@ -72342,7 +73547,9 @@ __171: __822: ; pModule1 = (*Sqlite3_vtab)(unsafe.Pointer(pVtab1)).FpModule - rc = (*(*func(*libc.TLS, uintptr, uintptr) int32)(unsafe.Pointer((pModule1 + 48 /* &.xOpen */))))(tls, pVtab1, bp+864 /* &pVCur */) + rc = (*struct { + f func(*libc.TLS, uintptr, uintptr) int32 + })(unsafe.Pointer(&struct{ uintptr }{(*Sqlite3_module)(unsafe.Pointer(pModule1)).FxOpen})).f(tls, pVtab1, bp+864 /* &pVCur */) Xsqlite3VtabImportErrmsg(tls, p, pVtab1) if !(rc != 0) { goto __823 @@ -72364,7 +73571,9 @@ __823: goto __825 __824: ; - (*(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer((pModule1 + 56 /* &.xClose */))))(tls, *(*uintptr)(unsafe.Pointer(bp + 864 /* pVCur */))) + (*struct { + f func(*libc.TLS, uintptr) int32 + })(unsafe.Pointer(&struct{ uintptr }{(*Sqlite3_module)(unsafe.Pointer(pModule1)).FxClose})).f(tls, *(*uintptr)(unsafe.Pointer(bp + 864 /* pVCur */))) goto no_mem __825: ; @@ -72419,7 +73628,9 @@ __827: goto __828 __828: ; - rc = (*(*func(*libc.TLS, uintptr, int32, uintptr, int32, uintptr) int32)(unsafe.Pointer((pModule2 + 64 /* &.xFilter */))))(tls, pVCur1, iQuery, *(*uintptr)(unsafe.Pointer(pOp + 16 /* &.p4 */)), nArg, apArg) + rc = (*struct { + f func(*libc.TLS, uintptr, int32, uintptr, int32, uintptr) int32 + })(unsafe.Pointer(&struct{ uintptr }{(*Sqlite3_module)(unsafe.Pointer(pModule2)).FxFilter})).f(tls, pVCur1, iQuery, *(*uintptr)(unsafe.Pointer(pOp + 16 /* &.p4 */)), nArg, apArg) Xsqlite3VtabImportErrmsg(tls, p, pVtab2) if !(rc != 0) { goto __829 @@ -72427,7 +73638,9 @@ __828: goto abort_due_to_error __829: ; - res13 = (*(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer((pModule2 + 80 /* &.xEof */))))(tls, pVCur1) + res13 = (*struct { + f func(*libc.TLS, uintptr) int32 + })(unsafe.Pointer(&struct{ uintptr }{(*Sqlite3_module)(unsafe.Pointer(pModule2)).FxEof})).f(tls, pVCur1) (*VdbeCursor)(unsafe.Pointer(pCur3)).FnullRow = U8(0) if !(res13 != 0) { @@ -72481,12 +73694,14 @@ __832: (*Mem)(unsafe.Pointer(pDest2)).Fflags = (U16((int32((*Mem)(unsafe.Pointer((pDest2))).Fflags) & libc.CplInt32((MEM_TypeMask | MEM_Zero))) | MEM_Null)) __833: ; - rc = (*(*func(*libc.TLS, uintptr, uintptr, int32) int32)(unsafe.Pointer((pModule3 + 88 /* &.xColumn */))))(tls, *(*uintptr)(unsafe.Pointer(pCur4 + 56 /* &.uc */)), bp+872 /* &sContext */, (*Op)(unsafe.Pointer(pOp)).Fp2) + rc = (*struct { + f func(*libc.TLS, uintptr, uintptr, int32) int32 + })(unsafe.Pointer(&struct{ uintptr }{(*Sqlite3_module)(unsafe.Pointer(pModule3)).FxColumn})).f(tls, *(*uintptr)(unsafe.Pointer(pCur4 + 56 /* &.uc */)), bp+872 /* &sContext */, (*Op)(unsafe.Pointer(pOp)).Fp2) Xsqlite3VtabImportErrmsg(tls, p, pVtab3) if !((*Sqlite3_context)(unsafe.Pointer(bp+872 /* &sContext */)).FisError > 0) { goto __834 } - Xsqlite3VdbeError(tls, p, ts+2791 /* "%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: ; @@ -72530,7 +73745,9 @@ __837: // xNext(). Instead, if an error occurs, true is returned (indicating that // data is available) and the error code returned when xColumn or // some other method is next invoked on the save virtual table cursor. - rc = (*(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer((pModule4 + 72 /* &.xNext */))))(tls, *(*uintptr)(unsafe.Pointer(pCur5 + 56 /* &.uc */))) + rc = (*struct { + f func(*libc.TLS, uintptr) int32 + })(unsafe.Pointer(&struct{ uintptr }{(*Sqlite3_module)(unsafe.Pointer(pModule4)).FxNext})).f(tls, *(*uintptr)(unsafe.Pointer(pCur5 + 56 /* &.uc */))) Xsqlite3VtabImportErrmsg(tls, p, pVtab4) if !(rc != 0) { goto __838 @@ -72538,7 +73755,9 @@ __837: goto abort_due_to_error __838: ; - res14 = (*(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer((pModule4 + 80 /* &.xEof */))))(tls, *(*uintptr)(unsafe.Pointer(pCur5 + 56 /* &.uc */))) + res14 = (*struct { + f func(*libc.TLS, uintptr) int32 + })(unsafe.Pointer(&struct{ uintptr }{(*Sqlite3_module)(unsafe.Pointer(pModule4)).FxEof})).f(tls, *(*uintptr)(unsafe.Pointer(pCur5 + 56 /* &.uc */))) if !(!(res14 != 0)) { goto __839 @@ -72568,7 +73787,9 @@ __175: goto abort_due_to_error __840: ; - rc = (*(*func(*libc.TLS, uintptr, uintptr) int32)(unsafe.Pointer(((*Sqlite3_vtab)(unsafe.Pointer(pVtab5)).FpModule + 152 /* &.xRename */))))(tls, pVtab5, (*Mem)(unsafe.Pointer(pName)).Fz) + rc = (*struct { + f func(*libc.TLS, uintptr, uintptr) int32 + })(unsafe.Pointer(&struct{ uintptr }{(*Sqlite3_module)(unsafe.Pointer((*Sqlite3_vtab)(unsafe.Pointer(pVtab5)).FpModule)).FxRename})).f(tls, pVtab5, (*Mem)(unsafe.Pointer(pName)).Fz) if !(isLegacy == 0) { goto __841 } @@ -72654,7 +73875,9 @@ __847: __848: ; (*Sqlite3)(unsafe.Pointer(db)).FvtabOnConflict = U8((*Op)(unsafe.Pointer(pOp)).Fp5) - rc = (*(*func(*libc.TLS, uintptr, int32, uintptr, uintptr) int32)(unsafe.Pointer((pModule5 + 104 /* &.xUpdate */))))(tls, pVtab6, nArg1, apArg1, bp+928 /* &rowid1 */) + rc = (*struct { + f func(*libc.TLS, uintptr, int32, uintptr, uintptr) int32 + })(unsafe.Pointer(&struct{ uintptr }{(*Sqlite3_module)(unsafe.Pointer(pModule5)).FxUpdate})).f(tls, pVtab6, nArg1, apArg1, bp+928 /* &rowid1 */) (*Sqlite3)(unsafe.Pointer(db)).FvtabOnConflict = vtabOnConflict Xsqlite3VtabImportErrmsg(tls, p, pVtab6) if !((rc == SQLITE_OK) && ((*Op)(unsafe.Pointer(pOp)).Fp1 != 0)) { @@ -72808,7 +74031,9 @@ __857: (*Mem)(unsafe.Pointer(pOut)).Fflags = (U16((int32((*Mem)(unsafe.Pointer((pOut))).Fflags) & libc.CplInt32((MEM_TypeMask | MEM_Zero))) | MEM_Null)) - (*(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(((*Sqlite3_context)(unsafe.Pointer(pCtx2)).FpFunc + 24 /* &.xSFunc */))))(tls, pCtx2, int32((*Sqlite3_context)(unsafe.Pointer(pCtx2)).Fargc), pCtx2+48 /* &.argv */) // IMP: R-24505-23230 + (*struct { + f func(*libc.TLS, uintptr, int32, uintptr) + })(unsafe.Pointer(&struct{ uintptr }{(*FuncDef)(unsafe.Pointer((*Sqlite3_context)(unsafe.Pointer(pCtx2)).FpFunc)).FxSFunc})).f(tls, pCtx2, int32((*Sqlite3_context)(unsafe.Pointer(pCtx2)).Fargc), pCtx2+48 /* &.argv */) // IMP: R-24505-23230 // If the function returned an error, throw an exception if !((*Sqlite3_context)(unsafe.Pointer(pCtx2)).FisError != 0) { @@ -72817,7 +74042,7 @@ __857: if !((*Sqlite3_context)(unsafe.Pointer(pCtx2)).FisError > 0) { goto __862 } - Xsqlite3VdbeError(tls, p, ts+2791 /* "%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: ; @@ -72900,19 +74125,25 @@ __182: goto __867 } z2 = Xsqlite3VdbeExpandSql(tls, p, zTrace) - (*(*func(*libc.TLS, uintptr, uintptr))(unsafe.Pointer((db + 240 /* &.trace */ /* &.xLegacy */))))(tls, (*Sqlite3)(unsafe.Pointer(db)).FpTraceArg, z2) + (*struct { + f func(*libc.TLS, uintptr, uintptr) + })(unsafe.Pointer(&struct{ uintptr }{*(*uintptr)(unsafe.Pointer(db + 240 /* &.trace */))})).f(tls, (*Sqlite3)(unsafe.Pointer(db)).FpTraceArg, z2) Xsqlite3_free(tls, z2) goto __868 __867: if !((*Sqlite3)(unsafe.Pointer(db)).FnVdbeExec > 1) { goto __869 } - z3 = Xsqlite3MPrintf(tls, db, ts+5144 /* "-- %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) + z3 = Xsqlite3MPrintf(tls, db, ts+5143 /* "-- %s" */, libc.VaList(bp+136, zTrace)) + (*struct { + f func(*libc.TLS, U32, uintptr, uintptr, uintptr) int32 + })(unsafe.Pointer(&struct{ uintptr }{*(*uintptr)(unsafe.Pointer(db + 240 /* &.trace */))})).f(tls, uint32(SQLITE_TRACE_STMT), (*Sqlite3)(unsafe.Pointer(db)).FpTraceArg, p, z3) Xsqlite3DbFree(tls, db, z3) goto __870 __869: - (*(*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, zTrace) + (*struct { + f func(*libc.TLS, U32, uintptr, uintptr, uintptr) int32 + })(unsafe.Pointer(&struct{ uintptr }{*(*uintptr)(unsafe.Pointer(db + 240 /* &.trace */))})).f(tls, uint32(SQLITE_TRACE_STMT), (*Sqlite3)(unsafe.Pointer(db)).FpTraceArg, p, zTrace) __870: ; __868: @@ -73010,13 +74241,13 @@ __878: if !(((*Vdbe)(unsafe.Pointer(p)).FzErrMsg == uintptr(0)) && (rc != (SQLITE_IOERR | (int32(12) << 8)))) { goto __880 } - Xsqlite3VdbeError(tls, p, ts+2791 /* "%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+5150, /* "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))) { @@ -73042,7 +74273,9 @@ __883: goto __884 } nProgressLimit = nProgressLimit + (U64((*Sqlite3)(unsafe.Pointer(db)).FnProgressOps)) - if !((*(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer((db + 512 /* &.xProgress */))))(tls, (*Sqlite3)(unsafe.Pointer(db)).FpProgressArg) != 0) { + if !((*struct { + f func(*libc.TLS, uintptr) int32 + })(unsafe.Pointer(&struct{ uintptr }{(*Sqlite3)(unsafe.Pointer(db)).FxProgress})).f(tls, (*Sqlite3)(unsafe.Pointer(db)).FpProgressArg) != 0) { goto __885 } nProgressLimit = (uint64(0xffffffff) | (U64((uint64(0xffffffff))) << 32)) @@ -73061,14 +74294,14 @@ __884: // Jump to here if a string or blob larger than SQLITE_MAX_LENGTH // is encountered. too_big: - Xsqlite3VdbeError(tls, p, ts+4449 /* "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+5182 /* "out of memory" */, 0) + Xsqlite3VdbeError(tls, p, ts+5181 /* "out of memory" */, 0) rc = SQLITE_NOMEM goto abort_due_to_error @@ -73081,8 +74314,8 @@ abort_due_to_interrupt: return int32(0) } -var azType = [4]uintptr{ts + 5196 /* "NOT NULL" */, ts + 5205 /* "UNIQUE" */, ts + 5212, /* "CHECK" */ - ts + 5218 /* "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 */ @@ -73108,15 +74341,15 @@ var vfsFlags int32 = ((((SQLITE_OPEN_READWRITE | SQLITE_OPEN_CREATE) | SQLITE_OP // Valid sqlite3_blob* handles point to Incrblob structures. type Incrblob1 = struct { - FnByte int32 - FiOffset int32 - FiCol U16 - _ [6]byte - FpCsr uintptr - FpStmt uintptr - Fdb uintptr - FzDb uintptr - FpTab uintptr + FnByte int32 + FiOffset int32 + FiCol U16 + F__ccgo_pad1 [6]byte + FpCsr uintptr + FpStmt uintptr + Fdb uintptr + FzDb uintptr + FpTab uintptr } /* sqlite3.c:94829:9 */ //************* End of vdbe.c *********************************************** @@ -73189,16 +74422,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+5230, /* "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 + 5259 /* "null" */ + return ts + 5258 /* "null" */ } return func() uintptr { if type1 == U32(7) { - return ts + 5264 /* "real" */ + return ts + 5263 /* "real" */ } - return ts + 5269 /* "integer" */ + return ts + 5268 /* "integer" */ }() }())) rc = SQLITE_ERROR @@ -73218,10 +74451,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+5277 /* "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+2791 /* "%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))) } } @@ -73284,21 +74517,21 @@ __4: goto __5 } pTab = uintptr(0) - Xsqlite3ErrorMsg(tls, bp+48 /* &sParse */, ts+5297 /* "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+5327 /* "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+5363 /* "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)) { @@ -73343,7 +74576,7 @@ __12: goto __14 } Xsqlite3DbFree(tls, db, *(*uintptr)(unsafe.Pointer(bp + 456 /* zErr */))) - *(*uintptr)(unsafe.Pointer(bp + 456 /* zErr */)) = Xsqlite3MPrintf(tls, db, ts+5384 /* "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 @@ -73372,7 +74605,7 @@ __20: if !((*sColMap)(unsafe.Pointer((pFKey+64 /* &.aCol */)+uintptr(j)*16)).FiFrom == iCol) { goto __23 } - zFault = ts + 5405 /* "foreign key" */ + zFault = ts + 5404 /* "foreign key" */ __23: ; goto __21 @@ -73405,7 +74638,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 + 5417 /* "indexed" */ + zFault = ts + 5416 /* "indexed" */ __30: ; goto __28 @@ -73426,7 +74659,7 @@ __26: goto __31 } Xsqlite3DbFree(tls, db, *(*uintptr)(unsafe.Pointer(bp + 456 /* zErr */))) - *(*uintptr)(unsafe.Pointer(bp + 456 /* zErr */)) = Xsqlite3MPrintf(tls, db, ts+5425 /* "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 @@ -73535,7 +74768,7 @@ __38: ; Xsqlite3ErrorWithMsg(tls, db, rc, func() uintptr { if *(*uintptr)(unsafe.Pointer(bp + 456 /* zErr */)) != 0 { - return ts + 2791 /* "%s" */ + return ts + 2790 /* "%s" */ } return uintptr(0) }(), libc.VaList(bp+40, *(*uintptr)(unsafe.Pointer(bp + 456 /* zErr */)))) @@ -73625,7 +74858,9 @@ func blobReadWrite(tls *libc.TLS, pBlob uintptr, z uintptr, n int32, iOffset int v, *(*uintptr)(unsafe.Pointer((*Vdbe)(unsafe.Pointer(v)).FapCsr)), SQLITE_DELETE, (*Incrblob)(unsafe.Pointer(p)).FzDb, (*Incrblob)(unsafe.Pointer(p)).FpTab, iKey, -1, int32((*Incrblob)(unsafe.Pointer(p)).FiCol)) } - rc = (*(*func(*libc.TLS, uintptr, U32, U32, uintptr) int32)(unsafe.Pointer(&xCall)))(tls, (*Incrblob)(unsafe.Pointer(p)).FpCsr, (uint32(iOffset + (*Incrblob)(unsafe.Pointer(p)).FiOffset)), uint32(n), z) + rc = (*struct { + f func(*libc.TLS, uintptr, U32, U32, uintptr) int32 + })(unsafe.Pointer(&struct{ uintptr }{xCall})).f(tls, (*Incrblob)(unsafe.Pointer(p)).FpCsr, (uint32(iOffset + (*Incrblob)(unsafe.Pointer(p)).FiOffset)), uint32(n), z) Xsqlite3BtreeLeaveCursor(tls, (*Incrblob)(unsafe.Pointer(p)).FpCsr) if rc == SQLITE_ABORT { Xsqlite3VdbeFinalize(tls, v) @@ -73700,7 +74935,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 + 2791 /* "%s" */ + return ts + 2790 /* "%s" */ } return uintptr(0) }(), libc.VaList(bp, *(*uintptr)(unsafe.Pointer(bp + 8 /* zErr */)))) @@ -73865,11 +75100,11 @@ func Xsqlite3_blob_reopen(tls *libc.TLS, pBlob uintptr, iRow Sqlite3_int64) int3 // Private objects used by the sorter type MergeEngine1 = struct { - FnTree int32 - _ [4]byte - FpTask uintptr - FaTree uintptr - FaReadr uintptr + FnTree int32 + F__ccgo_pad1 [4]byte + FpTask uintptr + FaTree uintptr + FaReadr uintptr } /* sqlite3.c:21218:9 */ //************* End of vdbeblob.c ******************************************* @@ -74023,56 +75258,56 @@ type MergeEngine1 = struct { // Private objects used by the sorter type MergeEngine = MergeEngine1 /* sqlite3.c:95477:28 */ // Merge PMAs together type PmaReader1 = struct { - FiReadOff I64 - FiEof I64 - FnAlloc int32 - FnKey int32 - FpFd uintptr - FaAlloc uintptr - FaKey uintptr - FaBuffer uintptr - FnBuffer int32 - _ [4]byte - FaMap uintptr - FpIncr uintptr + FiReadOff I64 + FiEof I64 + FnAlloc int32 + FnKey int32 + FpFd uintptr + FaAlloc uintptr + FaKey uintptr + FaBuffer uintptr + FnBuffer int32 + F__ccgo_pad1 [4]byte + FaMap uintptr + FpIncr uintptr } /* sqlite3.c:21218:9 */ // Merge PMAs together type PmaReader = PmaReader1 /* sqlite3.c:95478:26 */ // Incrementally read one PMA type PmaWriter1 = struct { - FeFWErr int32 - _ [4]byte - FaBuffer uintptr - FnBuffer int32 - FiBufStart int32 - FiBufEnd int32 - _ [4]byte - FiWriteOff I64 - FpFd uintptr + FeFWErr int32 + F__ccgo_pad1 [4]byte + FaBuffer uintptr + FnBuffer int32 + FiBufStart int32 + FiBufEnd int32 + F__ccgo_pad2 [4]byte + FiWriteOff I64 + FpFd uintptr } /* sqlite3.c:95479:9 */ // Incrementally read one PMA type PmaWriter = PmaWriter1 /* sqlite3.c:95479:26 */ // Incrementally write one PMA type SorterRecord1 = struct { - FnVal int32 - _ [4]byte - Fu struct{ FpNext uintptr } + FnVal int32 + F__ccgo_pad1 [4]byte + Fu struct{ FpNext uintptr } } /* sqlite3.c:21218:9 */ // Incrementally write one PMA type SorterRecord = SorterRecord1 /* sqlite3.c:95480:29 */ // A record being sorted type SortSubtask1 = struct { - FpThread uintptr - FbDone int32 - _ [4]byte - FpSorter uintptr - FpUnpacked uintptr - Flist SorterList - FnPMA int32 - _ [4]byte - FxCompare SorterCompare - Ffile SorterFile - Ffile2 SorterFile + FpThread uintptr + FbDone int32 + F__ccgo_pad1 [4]byte + FpSorter uintptr + FpUnpacked uintptr + Flist SorterList + FnPMA int32 + F__ccgo_pad2 [4]byte + FxCompare SorterCompare + Ffile SorterFile + Ffile2 SorterFile } /* sqlite3.c:21218:9 */ // A record being sorted @@ -74085,23 +75320,23 @@ type SorterFile1 = struct { // A sub-task in the sort process type SorterFile = SorterFile1 /* sqlite3.c:95482:27 */ // Temporary file object wrapper type SorterList1 = struct { - FpList uintptr - FaMemory uintptr - FszPMA int32 - _ [4]byte + FpList uintptr + FaMemory uintptr + FszPMA int32 + F__ccgo_pad1 [4]byte } /* sqlite3.c:21218:9 */ // Temporary file object wrapper type SorterList = SorterList1 /* sqlite3.c:95483:27 */ // In-memory list of records type IncrMerger1 = struct { - FpTask uintptr - FpMerger uintptr - FiStartOff I64 - FmxSz int32 - FbEof int32 - FbUseThread int32 - _ [4]byte - FaFile [2]SorterFile + FpTask uintptr + FpMerger uintptr + FiStartOff I64 + FmxSz int32 + FbEof int32 + FbUseThread int32 + F__ccgo_pad1 [4]byte + FaFile [2]SorterFile } /* sqlite3.c:21218:9 */ // In-memory list of records @@ -74911,7 +76146,9 @@ func vdbeSorterMerge(tls *libc.TLS, pTask uintptr, p1 uintptr, p2 uintptr) uintp for { var res int32 - res = (*(*func(*libc.TLS, uintptr, uintptr, uintptr, int32, uintptr, int32) int32)(unsafe.Pointer((pTask + 64 /* &.xCompare */))))(tls, + res = (*struct { + f func(*libc.TLS, uintptr, uintptr, uintptr, int32, uintptr, int32) int32 + })(unsafe.Pointer(&struct{ uintptr }{(*SortSubtask)(unsafe.Pointer(pTask)).FxCompare})).f(tls, pTask, bp+8 /* &bCached */, ((p1) + uintptr(1)*16), (*SorterRecord)(unsafe.Pointer(p1)).FnVal, ((p2) + uintptr(1)*16), (*SorterRecord)(unsafe.Pointer(p2)).FnVal) if res <= 0 { @@ -75182,7 +76419,9 @@ func vdbeMergeEngineStep(tls *libc.TLS, pMerger uintptr, pbEof uintptr) int32 { } else if (*PmaReader)(unsafe.Pointer(pReadr2)).FpFd == uintptr(0) { iRes = -1 } else { - iRes = (*(*func(*libc.TLS, uintptr, uintptr, uintptr, int32, uintptr, int32) int32)(unsafe.Pointer((pTask + 64 /* &.xCompare */))))(tls, pTask, bp, /* &bCached */ + iRes = (*struct { + f func(*libc.TLS, uintptr, uintptr, uintptr, int32, uintptr, int32) int32 + })(unsafe.Pointer(&struct{ uintptr }{(*SortSubtask)(unsafe.Pointer(pTask)).FxCompare})).f(tls, pTask, bp, /* &bCached */ (*PmaReader)(unsafe.Pointer(pReadr1)).FaKey, (*PmaReader)(unsafe.Pointer(pReadr1)).FnKey, (*PmaReader)(unsafe.Pointer(pReadr2)).FaKey, (*PmaReader)(unsafe.Pointer(pReadr2)).FnKey) } @@ -75591,7 +76830,9 @@ func vdbeMergeEngineCompare(tls *libc.TLS, pMerger uintptr, iOut int32) { /* sql *(*int32)(unsafe.Pointer(bp /* bCached */)) = 0 var res int32 // from vdbeSortSubtaskMain() - res = (*(*func(*libc.TLS, uintptr, uintptr, uintptr, int32, uintptr, int32) int32)(unsafe.Pointer((pTask + 64 /* &.xCompare */))))(tls, + res = (*struct { + f func(*libc.TLS, uintptr, uintptr, uintptr, int32, uintptr, int32) int32 + })(unsafe.Pointer(&struct{ uintptr }{(*SortSubtask)(unsafe.Pointer(pTask)).FxCompare})).f(tls, pTask, bp /* &bCached */, (*PmaReader)(unsafe.Pointer(p1)).FaKey, (*PmaReader)(unsafe.Pointer(p1)).FnKey, (*PmaReader)(unsafe.Pointer(p2)).FaKey, (*PmaReader)(unsafe.Pointer(p2)).FnKey) if res <= 0 { iRes = i1 @@ -76272,16 +77513,16 @@ func Xsqlite3VdbeSorterCompare(tls *libc.TLS, pCsr uintptr, pVal uintptr, nKeyCo // Forward references to internal structures type MemJournal1 = struct { - FpMethod uintptr - FnChunkSize int32 - FnSpill int32 - FpFirst uintptr - Fendpoint FilePoint - Freadpoint FilePoint - Fflags int32 - _ [4]byte - FpVfs uintptr - FzJournal uintptr + FpMethod uintptr + FnChunkSize int32 + FnSpill int32 + FpFirst uintptr + Fendpoint FilePoint + Freadpoint FilePoint + Fflags int32 + F__ccgo_pad1 [4]byte + FpVfs uintptr + FzJournal uintptr } /* sqlite3.c:98540:9 */ //************* End of vdbesort.c ******************************************* @@ -76695,7 +77936,9 @@ func walkExpr(tls *libc.TLS, pWalker uintptr, pExpr uintptr) int32 { /* sqlite3. var rc int32 for 1 != 0 { - rc = (*(*func(*libc.TLS, uintptr, uintptr) int32)(unsafe.Pointer((pWalker + 8 /* &.xExprCallback */))))(tls, pWalker, pExpr) + rc = (*struct { + f func(*libc.TLS, uintptr, uintptr) int32 + })(unsafe.Pointer(&struct{ uintptr }{(*Walker)(unsafe.Pointer(pWalker)).FxExprCallback})).f(tls, pWalker, pExpr) if rc != 0 { return (rc & WRC_Abort) } @@ -76879,7 +78122,9 @@ func Xsqlite3WalkSelect(tls *libc.TLS, pWalker uintptr, p uintptr) int32 { /* sq return WRC_Continue } for ok := true; ok; ok = (p != uintptr(0)) { - rc = (*(*func(*libc.TLS, uintptr, uintptr) int32)(unsafe.Pointer((pWalker + 16 /* &.xSelectCallback */))))(tls, pWalker, p) + rc = (*struct { + f func(*libc.TLS, uintptr, uintptr) int32 + })(unsafe.Pointer(&struct{ uintptr }{(*Walker)(unsafe.Pointer(pWalker)).FxSelectCallback})).f(tls, pWalker, p) if rc != 0 { return (rc & WRC_Abort) } @@ -76888,7 +78133,9 @@ func Xsqlite3WalkSelect(tls *libc.TLS, pWalker uintptr, p uintptr) int32 { /* sq return WRC_Abort } if (*Walker)(unsafe.Pointer(pWalker)).FxSelectCallback2 != 0 { - (*(*func(*libc.TLS, uintptr, uintptr))(unsafe.Pointer((pWalker + 24 /* &.xSelectCallback2 */))))(tls, pWalker, p) + (*struct { + f func(*libc.TLS, uintptr, uintptr) + })(unsafe.Pointer(&struct{ uintptr }{(*Walker)(unsafe.Pointer(pWalker)).FxSelectCallback2})).f(tls, pWalker, p) } p = (*Select)(unsafe.Pointer(p)).FpPrior } @@ -77236,7 +78483,7 @@ __5: goto __6 __6: ; - if !((i == (*Sqlite3)(unsafe.Pointer(db)).FnDb) && (Xsqlite3StrICmp(tls, ts+5459 /* "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 @@ -77439,14 +78686,14 @@ __40: ; goto __39 __38: - if !(((op != TK_DELETE) && (zTab != 0)) && (Xsqlite3StrICmp(tls, ts+5464 /* "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+5468 /* "old" */, zTab) == 0)) { + if !(((op != TK_INSERT) && (zTab != 0)) && (Xsqlite3StrICmp(tls, ts+5467 /* "old" */, zTab) == 0)) { goto __43 } (*Expr)(unsafe.Pointer(pExpr)).FiTable = 0 @@ -77463,7 +78710,7 @@ __37: goto __44 } pUpsert = *(*uintptr)(unsafe.Pointer(pNC + 16 /* &.uNC */)) - if !((pUpsert != 0) && (Xsqlite3StrICmp(tls, ts+5472 /* "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 @@ -77640,7 +78887,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+5481 /* "misuse of aliase..." */, libc.VaList(bp, zAs)) + Xsqlite3ErrorMsg(tls, pParse, ts+5480 /* "misuse of aliase..." */, libc.VaList(bp, zAs)) return WRC_Abort __70: ; @@ -77648,14 +78895,14 @@ __70: ((((*NameContext)(unsafe.Pointer(pNC)).FncFlags & NC_AllowWin) == 0) || (pNC != pTopNC))) { goto __71 } - Xsqlite3ErrorMsg(tls, pParse, ts+5512 /* "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+5549 /* "row value misuse..." */, 0) + Xsqlite3ErrorMsg(tls, pParse, ts+5548 /* "row value misuse..." */, 0) return WRC_Abort __72: ; @@ -77731,7 +78978,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+5567 /* "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 @@ -77752,23 +78999,23 @@ __75: goto __78 } if cnt == 0 { - zErr = ts + 5602 /* "no such column" */ + zErr = ts + 5601 /* "no such column" */ } else { - zErr = ts + 5617 /* "ambiguous column..." */ + zErr = ts + 5616 /* "ambiguous column..." */ } if !(zDb != 0) { goto __79 } - Xsqlite3ErrorMsg(tls, pParse, ts+5639 /* "%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+5652 /* "%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+5662 /* "%s: %s" */, libc.VaList(bp+80, zErr, zCol)) + Xsqlite3ErrorMsg(tls, pParse, ts+5661 /* "%s: %s" */, libc.VaList(bp+80, zErr, zCol)) __82: ; __80: @@ -77902,15 +79149,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 + 5669 /* "partial index WH..." */ + var zIn uintptr = ts + 5668 /* "partial index WH..." */ if ((*NameContext)(unsafe.Pointer(pNC)).FncFlags & NC_IdxExpr) != 0 { - zIn = ts + 5697 /* "index expression..." */ + zIn = ts + 5696 /* "index expression..." */ } else if ((*NameContext)(unsafe.Pointer(pNC)).FncFlags & NC_IsCheck) != 0 { - zIn = ts + 5715 /* "CHECK constraint..." */ + zIn = ts + 5714 /* "CHECK constraint..." */ } else if ((*NameContext)(unsafe.Pointer(pNC)).FncFlags & NC_GenCol) != 0 { - zIn = ts + 5733 /* "generated column..." */ + zIn = ts + 5732 /* "generated column..." */ } - Xsqlite3ErrorMsg(tls, pParse, ts+5751 /* "%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) } @@ -77932,7 +79179,7 @@ func exprProbability(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:99948:12: */ if *(*float64)(unsafe.Pointer(bp /* r */)) > 1.0 { return -1 } - return (int32(*(*float64)(unsafe.Pointer(bp /* r */)) * 134217728.0)) + return (libc.Int32FromFloat64(*(*float64)(unsafe.Pointer(bp /* r */)) * 134217728.0)) } // This routine is callback for sqlite3WalkExpr(). @@ -78018,10 +79265,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 + 5771 /* "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 + 5776 /* "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) @@ -78074,7 +79321,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+5782 /* "the \".\" operator" */, uintptr(0)) + notValidImpl(tls, pParse, pNC, ts+5781 /* "the \".\" operator" */, uintptr(0)) } pRight = (*Expr)(unsafe.Pointer(pExpr)).FpRight @@ -78141,7 +79388,7 @@ func resolveExprStep(tls *libc.TLS, pWalker uintptr, pExpr uintptr) int32 { /* s if (*Expr)(unsafe.Pointer(pExpr)).FiTable < 0 { Xsqlite3ErrorMsg(tls, pParse, - ts+5799 /* "second argument ..." */, 0) + ts+5798 /* "second argument ..." */, 0) (*NameContext)(unsafe.Pointer(pNC)).FnNcErr++ } } else { @@ -78166,7 +79413,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+5870, /* "not authorized t..." */ + Xsqlite3ErrorMsg(tls, pParse, ts+5869, /* "not authorized t..." */ libc.VaList(bp, (*FuncDef)(unsafe.Pointer(pDef)).FzName)) (*NameContext)(unsafe.Pointer(pNC)).FnNcErr++ } @@ -78190,7 +79437,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+5905 /* "non-deterministi..." */, uintptr(0)) + notValidImpl(tls, pParse, pNC, ts+5904 /* "non-deterministi..." */, uintptr(0)) } } else { @@ -78219,30 +79466,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+5933 /* "%.*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 + 5977 /* "window" */ + zType = ts + 5976 /* "window" */ } else { - zType = ts + 5984 /* "aggregate" */ + zType = ts + 5983 /* "aggregate" */ } - Xsqlite3ErrorMsg(tls, pParse, ts+5994 /* "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+6023 /* "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+6046, /* "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+6091, /* "FILTER may not b..." */ + ts+6090, /* "FILTER may not b..." */ libc.VaList(bp+80, nId, zId)) (*NameContext)(unsafe.Pointer(pNC)).FnNcErr++ } @@ -78317,7 +79564,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+6140 /* "subqueries" */, pExpr) + notValidImpl(tls, pParse, pNC, ts+6139 /* "subqueries" */, pExpr) } Xsqlite3WalkSelect(tls, pWalker, *(*uintptr)(unsafe.Pointer(pExpr + 32 /* &.x */))) @@ -78334,7 +79581,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+6151 /* "parameters" */, pExpr) + notValidImpl(tls, pParse, pNC, ts+6150 /* "parameters" */, pExpr) } break @@ -78394,7 +79641,7 @@ func resolveExprStep(tls *libc.TLS, pWalker uintptr, pExpr uintptr) int32 { /* s } if nLeft != nRight { - Xsqlite3ErrorMsg(tls, pParse, ts+5549 /* "row value misuse..." */, 0) + Xsqlite3ErrorMsg(tls, pParse, ts+5548 /* "row value misuse..." */, 0) } break @@ -78499,7 +79746,7 @@ func resolveOutOfRangeError(tls *libc.TLS, pParse uintptr, zType uintptr, i int3 Xsqlite3ErrorMsg(tls, pParse, - ts+6162 /* "%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 @@ -78531,7 +79778,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+6218 /* "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++ { @@ -78566,7 +79813,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+6252 /* "ORDER" */, (i + 1), (*ExprList)(unsafe.Pointer(pEList)).FnExpr) + resolveOutOfRangeError(tls, pParse, ts+6251 /* "ORDER" */, (i + 1), (*ExprList)(unsafe.Pointer(pEList)).FnExpr) return 1 } } else { @@ -78637,7 +79884,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+6258 /* "%r ORDER BY term..." */, libc.VaList(bp, (i+1))) + ts+6257 /* "%r ORDER BY term..." */, libc.VaList(bp, (i+1))) return 1 } } @@ -78665,7 +79912,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+6319 /* "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 @@ -78954,7 +80201,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+6350 /* "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 { @@ -79011,7 +80258,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+6252 /* "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 { @@ -79024,7 +80271,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+6394 /* "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 @@ -79036,7 +80283,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+6400 /* "aggregate functi..." */, 0) + ts+6399 /* "aggregate functi..." */, 0) return WRC_Abort } @@ -79806,7 +81053,7 @@ func codeVectorCompare(tls *libc.TLS, pParse uintptr, pExpr uintptr, dest int32, return } if nLeft != Xsqlite3ExprVectorSize(tls, pRight) { - Xsqlite3ErrorMsg(tls, pParse, ts+5549 /* "row value misuse..." */, 0) + Xsqlite3ErrorMsg(tls, pParse, ts+5548 /* "row value misuse..." */, 0) return } @@ -79882,7 +81129,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+6459 /* "Expression tree ..." */, libc.VaList(bp, mxHeight)) + ts+6458 /* "Expression tree ..." */, libc.VaList(bp, mxHeight)) rc = SQLITE_ERROR } return rc @@ -80123,7 +81370,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+6507 /* "0" */) + return Xsqlite3Expr(tls, db, TK_INTEGER, ts+6506 /* "0" */) } else { return Xsqlite3PExpr(tls, pParse, TK_AND, pLeft, pRight) } @@ -80145,7 +81392,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+6509 /* "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)) @@ -80179,7 +81426,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+6543 /* "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)) } } } @@ -80232,7 +81479,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+6562, /* "variable number ..." */ + Xsqlite3ErrorMsg(tls, pParse, ts+6561, /* "variable number ..." */ libc.VaList(bp, *(*int32)(unsafe.Pointer((db + 128 /* &.aLimit */) + 9*4)))) return } @@ -80259,7 +81506,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+6605 /* "too many SQL var..." */, 0) + Xsqlite3ErrorMsg(tls, pParse, ts+6604 /* "too many SQL var..." */, 0) } } @@ -80928,7 +82175,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+6628, /* "%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: @@ -81063,7 +82310,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+6658 /* "too many columns..." */, libc.VaList(bp, zObject)) + Xsqlite3ErrorMsg(tls, pParse, ts+6657 /* "too many columns..." */, libc.VaList(bp, zObject)) } } @@ -81118,10 +82365,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+5771 /* "true" */) == 0 { + if Xsqlite3StrICmp(tls, zIn, ts+5770 /* "true" */) == 0 { return U32(EP_IsTrue) } - if Xsqlite3StrICmp(tls, zIn, ts+5776 /* "false" */) == 0 { + if Xsqlite3StrICmp(tls, zIn, ts+5775 /* "false" */) == 0 { return U32(EP_IsFalse) } return U32(0) @@ -81566,13 +82813,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+6681 /* "_ROWID_" */) == 0 { + if Xsqlite3StrICmp(tls, z, ts+6680 /* "_ROWID_" */) == 0 { return 1 } - if Xsqlite3StrICmp(tls, z, ts+6689 /* "ROWID" */) == 0 { + if Xsqlite3StrICmp(tls, z, ts+6688 /* "ROWID" */) == 0 { return 1 } - if Xsqlite3StrICmp(tls, z, ts+6695 /* "OID" */) == 0 { + if Xsqlite3StrICmp(tls, z, ts+6694 /* "OID" */) == 0 { return 1 } return 0 @@ -81800,7 +83047,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+6699 /* "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 @@ -81891,7 +83138,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+6746 /* "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) @@ -81997,7 +83244,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 + 6777 /* "sub-select retur..." */ + var zFmt uintptr = ts + 6776 /* "sub-select retur..." */ Xsqlite3ErrorMsg(tls, pParse, zFmt, libc.VaList(bp, nActual, nExpect)) } } @@ -82015,7 +83262,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+5549 /* "row value misuse..." */, 0) + Xsqlite3ErrorMsg(tls, pParse, ts+5548 /* "row value misuse..." */, 0) } } @@ -82068,7 +83315,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+6821 /* "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 */))) @@ -82104,11 +83351,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+6844 /* "%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 + 756 /* "" */ + return ts + 755 /* "" */ } - return ts + 6863 /* "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. @@ -82254,7 +83501,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+6875 /* "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 @@ -82287,11 +83534,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+6893 /* "%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 + 756 /* "" */ + return ts + 755 /* "" */ } - return ts + 6863 /* "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 @@ -82315,7 +83562,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+6507 /* "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, @@ -82325,7 +83572,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+6914 /* "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 @@ -82817,12 +84064,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+6916 /* "0x" */, 2) == 0 { - Xsqlite3ErrorMsg(tls, pParse, ts+6919 /* "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 + 4042 /* "-" */ + return ts + 4041 /* "-" */ } - return ts + 756 /* "" */ + return ts + 755 /* "" */ }(), z)) } else { codeReal(tls, v, z, negFlag, iMem) @@ -82897,7 +84144,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+6945 /* "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)) @@ -83456,7 +84703,7 @@ __69: if !((int32((*Column)(unsafe.Pointer(pCol1)).FcolFlags) & COLFLAG_BUSY) != 0) { goto __72 } - Xsqlite3ErrorMsg(tls, pParse, ts+6945, /* "generated column..." */ + Xsqlite3ErrorMsg(tls, pParse, ts+6944, /* "generated column..." */ libc.VaList(bp, (*Column)(unsafe.Pointer(pCol1)).FzName)) return 0 __72: @@ -83708,7 +84955,7 @@ __41: goto __87 } - Xsqlite3ErrorMsg(tls, pParse, ts+6975 /* "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 @@ -83750,7 +84997,7 @@ __90: if !((pDef == uintptr(0)) || ((*FuncDef)(unsafe.Pointer(pDef)).FxFinalize != uintptr(0))) { goto __91 } - Xsqlite3ErrorMsg(tls, pParse, ts+7001 /* "unknown function..." */, libc.VaList(bp+16, zId)) + Xsqlite3ErrorMsg(tls, pParse, ts+7000 /* "unknown function..." */, libc.VaList(bp+16, zId)) goto __3 __91: ; @@ -83944,7 +85191,7 @@ __122: ((*Expr)(unsafe.Pointer(pExpr)).FiTable != (libc.AssignInt32(&n1, Xsqlite3ExprVectorSize(tls, (*Expr)(unsafe.Pointer(pExpr)).FpLeft))))) { goto __123 } - Xsqlite3ErrorMsg(tls, pParse, ts+6628, /* "%d columns assig..." */ + Xsqlite3ErrorMsg(tls, pParse, ts+6627, /* "%d columns assig..." */ libc.VaList(bp+24, (*Expr)(unsafe.Pointer(pExpr)).FiTable, n1)) __123: ; @@ -84026,7 +85273,7 @@ __124: goto __3 __52: - Xsqlite3ErrorMsg(tls, pParse, ts+5549 /* "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 @@ -84150,7 +85397,7 @@ __55: goto __134 } Xsqlite3ErrorMsg(tls, pParse, - ts+7024 /* "RAISE() may only..." */, 0) + ts+7023 /* "RAISE() may only..." */, 0) return 0 __134: ; @@ -84189,7 +85436,7 @@ __3: return inReg } -var zAff = *(*[8]int8)(unsafe.Pointer(ts + 7074 /* "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. @@ -84473,7 +85720,9 @@ func exprCodeBetween(tls *libc.TLS, pParse uintptr, pExpr uintptr, dest int32, x (*Expr)(unsafe.Pointer(bp + 72 /* &compRight */)).FpRight = (*ExprList_item)(unsafe.Pointer((*(*uintptr)(unsafe.Pointer(pExpr + 32 /* &.x */)) + 8 /* &.a */) + 1*32)).FpExpr exprToRegister(tls, pDel, exprCodeVector(tls, pParse, pDel, bp+216 /* ®Free1 */)) if xJump != 0 { - (*(*func(*libc.TLS, uintptr, uintptr, int32, int32))(unsafe.Pointer(&xJump)))(tls, pParse, bp+144 /* &exprAnd */, dest, jumpIfNull) + (*struct { + f func(*libc.TLS, uintptr, uintptr, int32, int32) + })(unsafe.Pointer(&struct{ uintptr }{xJump})).f(tls, pParse, bp+144 /* &exprAnd */, dest, jumpIfNull) } else { // Mark the expression is being from the ON or USING clause of a join // so that the sqlite3ExprCodeTarget() routine will not attempt to move @@ -86026,11 +87275,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+7082 /* "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+7090 /* "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 @@ -86048,14 +87297,14 @@ func renameTestSchema(tls *libc.TLS, pParse uintptr, zDb uintptr, bTemp int32, z (*Parse)(unsafe.Pointer(pParse)).FcolNamesSet = U8(1) Xsqlite3NestedParse(tls, pParse, - ts+7118, /* "SELECT 1 FROM \"%..." */ + ts+7117, /* "SELECT 1 FROM \"%..." */ libc.VaList(bp, zDb, zDb, bTemp, zWhen, bNoDQS)) if bTemp == 0 { Xsqlite3NestedParse(tls, pParse, - ts+7293, /* "SELECT 1 FROM te..." */ + ts+7292, /* "SELECT 1 FROM te..." */ libc.VaList(bp+40, zDb, zWhen, bNoDQS)) } } @@ -86071,11 +87320,11 @@ func renameFixQuotes(tls *libc.TLS, pParse uintptr, zDb uintptr, bTemp int32) { Xsqlite3NestedParse(tls, pParse, - ts+7467 /* "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+7614 /* "UPDATE temp.sqli..." */, 0) + ts+7613 /* "UPDATE temp.sqli..." */, 0) } } @@ -86149,7 +87398,7 @@ __3: goto __4 } Xsqlite3ErrorMsg(tls, pParse, - ts+7765 /* "there is already..." */, libc.VaList(bp, zName)) + ts+7764 /* "there is already..." */, libc.VaList(bp, zName)) goto exit_rename_table __4: ; @@ -86162,7 +87411,7 @@ __4: goto exit_rename_table __5: ; - if !(SQLITE_OK != Xsqlite3CheckObjectName(tls, pParse, zName, ts+7824 /* "table" */, zName)) { + if !(SQLITE_OK != Xsqlite3CheckObjectName(tls, pParse, zName, ts+7823 /* "table" */, zName)) { goto __6 } goto exit_rename_table @@ -86172,7 +87421,7 @@ __6: if !((*Table)(unsafe.Pointer(pTab)).FpSelect != 0) { goto __7 } - Xsqlite3ErrorMsg(tls, pParse, ts+7830 /* "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: ; @@ -86225,24 +87474,24 @@ __12: // the schema to use the new table name. Xsqlite3NestedParse(tls, pParse, - ts+7857 /* "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+8041, /* "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+8346 /* "sqlite_sequence" */, zDb) != 0) { + if !(Xsqlite3FindTable(tls, db, ts+8345 /* "sqlite_sequence" */, zDb) != 0) { goto __13 } Xsqlite3NestedParse(tls, pParse, - ts+8362, /* "UPDATE \"%w\".sqli..." */ + ts+8361, /* "UPDATE \"%w\".sqli..." */ libc.VaList(bp+112, zDb, zName, (*Table)(unsafe.Pointer(pTab)).FzName)) __13: ; @@ -86255,7 +87504,7 @@ __13: } Xsqlite3NestedParse(tls, pParse, - ts+8420 /* "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: ; @@ -86273,7 +87522,7 @@ __15: ; renameReloadSchema(tls, pParse, iDb, uint16(INITFLAG_AlterRename)) - renameTestSchema(tls, pParse, zDb, (libc.Bool32(iDb == 1)), ts+8685 /* "after rename" */, 0) + renameTestSchema(tls, pParse, zDb, (libc.Bool32(iDb == 1)), ts+8684 /* "after rename" */, 0) exit_rename_table: Xsqlite3SrcListDelete(tls, db, pSrc) @@ -86288,7 +87537,7 @@ func sqlite3ErrorIfNotEmpty(tls *libc.TLS, pParse uintptr, zDb uintptr, zTab uin defer tls.Free(24) Xsqlite3NestedParse(tls, pParse, - ts+8698, /* "SELECT raise(ABO..." */ + ts+8697, /* "SELECT raise(ABO..." */ libc.VaList(bp, zErr, zDb, zTab)) } @@ -86336,12 +87585,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+8736 /* "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+8768 /* "Cannot add a UNI..." */, 0) + ts+8767 /* "Cannot add a UNI..." */, 0) return } if (int32((*Column)(unsafe.Pointer(pCol)).FcolFlags) & COLFLAG_GENERATED) == 0 { @@ -86354,11 +87603,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+8795 /* "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+8854 /* "Cannot add a NOT..." */) + ts+8853 /* "Cannot add a NOT..." */) } // Ensure the default expression is something that sqlite3ValueFromExpr() @@ -86374,12 +87623,12 @@ func Xsqlite3AlterFinishAddColumn(tls *libc.TLS, pParse uintptr, pColDef uintptr } if !(*(*uintptr)(unsafe.Pointer(bp + 40 /* pVal */)) != 0) { sqlite3ErrorIfNotEmpty(tls, pParse, zDb, zTab, - ts+8907 /* "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+8953 /* "cannot add a STO..." */) + sqlite3ErrorIfNotEmpty(tls, pParse, zDb, zTab, ts+8952 /* "cannot add a STO..." */) } // Modify the CREATE TABLE statement. @@ -86395,7 +87644,7 @@ func Xsqlite3AlterFinishAddColumn(tls *libc.TLS, pParse uintptr, pColDef uintptr // have to use printf() to translate between these units: Xsqlite3NestedParse(tls, pParse, - ts+8980, /* "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) @@ -86466,7 +87715,7 @@ __2: if !((*Table)(unsafe.Pointer(pTab)).FnModuleArg != 0) { goto __3 } - Xsqlite3ErrorMsg(tls, pParse, ts+9126 /* "virtual tables m..." */, 0) + Xsqlite3ErrorMsg(tls, pParse, ts+9125 /* "virtual tables m..." */, 0) goto exit_begin_add_column __3: ; @@ -86475,7 +87724,7 @@ __3: if !((*Table)(unsafe.Pointer(pTab)).FpSelect != 0) { goto __4 } - Xsqlite3ErrorMsg(tls, pParse, ts+9160 /* "Cannot add a col..." */, 0) + Xsqlite3ErrorMsg(tls, pParse, ts+9159 /* "Cannot add a col..." */, 0) goto exit_begin_add_column __4: ; @@ -86510,7 +87759,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+9190 /* "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 } @@ -86557,18 +87806,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 + 9209 /* "view" */ + zType = ts + 9208 /* "view" */ } if (*Table)(unsafe.Pointer(pTab)).FnModuleArg != 0 { - zType = ts + 9214 /* "virtual table" */ + zType = ts + 9213 /* "virtual table" */ } if zType != 0 { - Xsqlite3ErrorMsg(tls, pParse, ts+9228, /* "cannot %s %s \"%s..." */ + Xsqlite3ErrorMsg(tls, pParse, ts+9227, /* "cannot %s %s \"%s..." */ libc.VaList(bp, func() uintptr { if bDrop != 0 { - return ts + 9246 /* "drop column from" */ + return ts + 9245 /* "drop column from" */ } - return ts + 9263 /* "rename columns o..." */ + return ts + 9262 /* "rename columns o..." */ }(), zType, (*Table)(unsafe.Pointer(pTab)).FzName)) return 1 @@ -86661,13 +87910,13 @@ __8: if !(iCol == int32((*Table)(unsafe.Pointer(pTab)).FnCol)) { goto __10 } - Xsqlite3ErrorMsg(tls, pParse, ts+5384 /* "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+756 /* "" */, 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 @@ -86685,19 +87934,19 @@ __11: bQuote = (int32(Xsqlite3CtypeMap[uint8(*(*int8)(unsafe.Pointer((*Token)(unsafe.Pointer(pNew)).Fz)))]) & 0x80) Xsqlite3NestedParse(tls, pParse, - ts+9281, /* "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+9499, /* "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+8685 /* "after rename" */, 1) + renameTestSchema(tls, pParse, zDb, (libc.Bool32(iSchema == 1)), ts+8684 /* "after rename" */, 1) exit_rename_column: Xsqlite3SrcListDelete(tls, db, pSrc) @@ -86992,12 +88241,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+9630, /* "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 + 9653 /* " " */ + return ts + 9652 /* " " */ } - return ts + 756 /* "" */ + return ts + 755 /* "" */ }(), zWhen, (*Parse)(unsafe.Pointer(pParse)).FzErrMsg)) Xsqlite3_result_error(tls, pCtx, zErr, -1) @@ -87106,7 +88355,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+9655 /* "\"%w\" " */, libc.VaList(bp, zNew)) + zQuot = Xsqlite3MPrintf(tls, db, ts+9654 /* "\"%w\" " */, libc.VaList(bp, zNew)) if zQuot == uintptr(0) { return SQLITE_NOMEM } else { @@ -87156,12 +88405,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+9661 /* "%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 + 9653 /* " " */ + return ts + 9652 /* " " */ } - return ts + 756 /* "" */ + return ts + 755 /* "" */ }())) zReplace = zBuf2 nReplace = U32(Xsqlite3Strlen30(tls, zReplace)) @@ -87666,7 +88915,7 @@ renameColumnFunc_done: if !((*Parse)(unsafe.Pointer(bp+32 /* &sParse */)).FzErrMsg != 0) { goto __44 } - renameColumnParseError(tls, context, ts+756 /* "" */, *(*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) @@ -87846,7 +89095,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+756 /* "" */, *(*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) } @@ -88128,7 +89377,7 @@ __6: __4: ; - zNew = Xsqlite3MPrintf(tls, db, ts+9666 /* "%.*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) @@ -88216,7 +89465,7 @@ __5: if !(iCol < 0) { goto __6 } - Xsqlite3ErrorMsg(tls, pParse, ts+5384 /* "no such column: ..." */, libc.VaList(bp, zCol)) + Xsqlite3ErrorMsg(tls, pParse, ts+5383 /* "no such column: ..." */, libc.VaList(bp, zCol)) goto exit_drop_column __6: ; @@ -88226,12 +89475,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+9673, /* "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 + 9701 /* "PRIMARY KEY" */ + return ts + 9700 /* "PRIMARY KEY" */ } - return ts + 5205 /* "UNIQUE" */ + return ts + 5204 /* "UNIQUE" */ }(), zCol)) goto exit_drop_column @@ -88242,7 +89491,7 @@ __7: if !(int32((*Table)(unsafe.Pointer(pTab)).FnCol) <= 1) { goto __8 } - Xsqlite3ErrorMsg(tls, pParse, ts+9713 /* "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: ; @@ -88251,15 +89500,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+756 /* "" */, 0) + renameTestSchema(tls, pParse, zDb, (libc.Bool32(iDb == 1)), ts+755 /* "" */, 0) renameFixQuotes(tls, pParse, zDb, (libc.Bool32(iDb == 1))) Xsqlite3NestedParse(tls, pParse, - ts+9761 /* "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+9882 /* "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)) { @@ -88370,11 +89619,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 + 9900 /* "sqlite_rename_co..." */}, - {FnArg: int8(7), FfuncFlags: (U32((SQLITE_FUNC_INTERNAL | SQLITE_UTF8) | SQLITE_FUNC_CONSTANT)), FxSFunc: 0, FzName: ts + 9921 /* "sqlite_rename_ta..." */}, - {FnArg: int8(7), FfuncFlags: (U32((SQLITE_FUNC_INTERNAL | SQLITE_UTF8) | SQLITE_FUNC_CONSTANT)), FxSFunc: 0, FzName: ts + 9941 /* "sqlite_rename_te..." */}, - {FnArg: int8(3), FfuncFlags: (U32((SQLITE_FUNC_INTERNAL | SQLITE_UTF8) | SQLITE_FUNC_CONSTANT)), FxSFunc: 0, FzName: ts + 9960 /* "sqlite_drop_colu..." */}, - {FnArg: int8(2), FfuncFlags: (U32((SQLITE_FUNC_INTERNAL | SQLITE_UTF8) | SQLITE_FUNC_CONSTANT)), FxSFunc: 0, FzName: ts + 9979 /* "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 **************************************** @@ -88571,7 +89820,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+10002 /* "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) } @@ -88583,10 +89832,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+10025, /* "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+10055 /* "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) @@ -88607,9 +89856,9 @@ var aTable = [3]struct { FzName uintptr FzCols uintptr }{ - {FzName: ts + 10073 /* "sqlite_stat1" */, FzCols: ts + 10086 /* "tbl,idx,stat" */}, - {FzName: ts + 10099 /* "sqlite_stat4" */, FzCols: ts + 10112 /* "tbl,idx,neq,nlt,..." */}, - {FzName: ts + 10140 /* "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 @@ -88618,25 +89867,25 @@ var aTable = [3]struct { // share an instance of the following structure to hold their state // information. type StatAccum1 = struct { - Fdb uintptr - FnEst TRowcnt - FnRow TRowcnt - FnLimit int32 - FnCol int32 - FnKeyCol int32 - FnSkipAhead U8 - _ [3]byte - Fcurrent StatSample - FnPSample TRowcnt - FmxSample int32 - FiPrn U32 - _ [4]byte - FaBest uintptr - FiMin int32 - FnSample int32 - FnMaxEqZero int32 - FiGet int32 - Fa uintptr + Fdb uintptr + FnEst TRowcnt + FnRow TRowcnt + FnLimit int32 + FnCol int32 + FnKeyCol int32 + FnSkipAhead U8 + F__ccgo_pad1 [3]byte + Fcurrent StatSample + FnPSample TRowcnt + FmxSample int32 + FiPrn U32 + F__ccgo_pad2 [4]byte + FaBest uintptr + FiMin int32 + FnSample int32 + FnMaxEqZero int32 + FiGet int32 + Fa uintptr } /* sqlite3.c:109861:9 */ // Recommended number of samples for sqlite_stat4 @@ -88646,15 +89895,15 @@ type StatAccum1 = struct { // information. type StatAccum = StatAccum1 /* sqlite3.c:109861:26 */ type StatSample1 = struct { - FanEq uintptr - FanDLt uintptr - FanLt uintptr - Fu struct{ FiRowid I64 } - FnRowid U32 - FisPSample U8 - _ [3]byte - FiCol int32 - FiHash U32 + FanEq uintptr + FanDLt uintptr + FanLt uintptr + Fu struct{ FiRowid I64 } + FnRowid U32 + FisPSample U8 + F__ccgo_pad1 [3]byte + FiCol int32 + FiHash U32 } /* sqlite3.c:109861:9 */ type StatSample = StatSample1 /* sqlite3.c:109862:27 */ @@ -88840,7 +90089,7 @@ var statInitFuncdef = FuncDef{ FnArg: int8(4), // nArg FfuncFlags: U32(SQLITE_UTF8), // pNext FxSFunc: 0, // xValue, xInverse - FzName: ts + 10153 /* "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 @@ -89158,7 +90407,7 @@ var statPushFuncdef = FuncDef{ FnArg: (int8(2 + IsStat4)), // nArg FfuncFlags: U32(SQLITE_UTF8), // pNext FxSFunc: 0, // xValue, xInverse - FzName: ts + 10163 /* "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 @@ -89215,7 +90464,7 @@ func statGet(tls *libc.TLS, context uintptr, argc int32, argv uintptr) { /* sqli return } - Xsqlite3_snprintf(tls, 24, zRet, ts+10173, /* "%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) @@ -89226,7 +90475,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+10178 /* " %llu" */, libc.VaList(bp+8, iVal)) + Xsqlite3_snprintf(tls, 24, z, ts+10177 /* " %llu" */, libc.VaList(bp+8, iVal)) z += uintptr(Xsqlite3Strlen30(tls, z)) } @@ -89275,7 +90524,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+10184 /* "%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)) } @@ -89292,7 +90541,7 @@ var statGetFuncdef = FuncDef{ FnArg: (int8(1 + IsStat4)), // nArg FfuncFlags: U32(SQLITE_UTF8), // pNext FxSFunc: 0, // xValue, xInverse - FzName: ts + 10190 /* "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)) @@ -89339,7 +90588,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+10199 /* "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 } @@ -89357,7 +90606,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+10073 /* "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) @@ -89590,7 +90839,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+10209 /* "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) @@ -89652,7 +90901,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+10209 /* "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)) @@ -89705,9 +90954,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+10213 /* "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+10217 /* "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) @@ -89802,7 +91051,7 @@ func decodeIntArray(tls *libc.TLS, zIntArray uintptr, nOut int32, aOut uintptr, var v TRowcnt if z == uintptr(0) { - z = ts + 756 /* "" */ + z = ts + 755 /* "" */ } for i = 0; (*(*int8)(unsafe.Pointer(z)) != 0) && (i < nOut); i++ { v = TRowcnt(0) @@ -89824,15 +91073,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+10221 /* "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+10232 /* "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+10242 /* "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))) != ' ') { @@ -90151,10 +91400,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+10099 /* "sqlite_stat4" */, zDb) != 0 { + if Xsqlite3FindTable(tls, db, ts+10098 /* "sqlite_stat4" */, zDb) != 0 { rc = loadStatTbl(tls, db, - ts+10254, /* "SELECT idx,count..." */ - ts+10308, /* "SELECT idx,neq,n..." */ + ts+10253, /* "SELECT idx,count..." */ + ts+10307, /* "SELECT idx,neq,n..." */ zDb) } return rc @@ -90205,9 +91454,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+10073 /* "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+10360 /* "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 { @@ -90299,7 +91548,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+5459 /* "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 @@ -90350,13 +91599,13 @@ func attachFunc(tls *libc.TLS, context uintptr, NotUsed int32, argv uintptr) { / if !(zFile == uintptr(0)) { goto __1 } - zFile = ts + 756 /* "" */ + zFile = ts + 755 /* "" */ __1: ; if !(zName == uintptr(0)) { goto __2 } - zName = ts + 756 /* "" */ + zName = ts + 755 /* "" */ __2: ; @@ -90366,7 +91615,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+2963 /* "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 } @@ -90382,7 +91631,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+10401 /* "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 @@ -90395,7 +91644,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+10404, /* "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: @@ -90409,7 +91658,7 @@ __8: if !(Xsqlite3DbIsNamed(tls, db, i, zName) != 0) { goto __11 } - *(*uintptr)(unsafe.Pointer(bp + 56 /* zErrDyn */)) = Xsqlite3MPrintf(tls, db, ts+10441 /* "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: ; @@ -90480,7 +91729,7 @@ __4: goto __18 } rc = SQLITE_ERROR - *(*uintptr)(unsafe.Pointer(bp + 56 /* zErrDyn */)) = Xsqlite3MPrintf(tls, db, ts+10471 /* "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) { @@ -90497,7 +91746,7 @@ __21: goto __23 } *(*uintptr)(unsafe.Pointer(bp + 56 /* zErrDyn */)) = Xsqlite3MPrintf(tls, db, - ts+10500 /* "attached databas..." */, 0) + ts+10499 /* "attached databas..." */, 0) rc = SQLITE_ERROR __23: ; @@ -90567,13 +91816,13 @@ __29: } Xsqlite3OomFault(tls, db) Xsqlite3DbFree(tls, db, *(*uintptr)(unsafe.Pointer(bp + 56 /* zErrDyn */))) - *(*uintptr)(unsafe.Pointer(bp + 56 /* zErrDyn */)) = Xsqlite3MPrintf(tls, db, ts+5182 /* "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+10568 /* "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: @@ -90629,7 +91878,7 @@ func detachFunc(tls *libc.TLS, context uintptr, NotUsed int32, argv uintptr) { / if !(zName == uintptr(0)) { goto __1 } - zName = ts + 756 /* "" */ + zName = ts + 755 /* "" */ __1: ; i = 0 @@ -90661,14 +91910,14 @@ __4: if !(i >= (*Sqlite3)(unsafe.Pointer(db)).FnDb) { goto __7 } - Xsqlite3_snprintf(tls, int32(unsafe.Sizeof([128]int8{})), bp+24 /* &zErr[0] */, ts+10596 /* "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+10617 /* "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: ; @@ -90676,7 +91925,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+10643 /* "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: ; @@ -90799,7 +92048,7 @@ var detach_func = FuncDef{ FnArg: int8(1), // nArg FfuncFlags: U32(SQLITE_UTF8), // pNext FxSFunc: 0, // xValue, xInverse - FzName: ts + 10665 /* "sqlite_detach" */} /* sqlite3.c:111944:24 */ + FzName: ts + 10664 /* "sqlite_detach" */} /* sqlite3.c:111944:24 */ // Called by the parser to compile an ATTACH statement. // @@ -90812,7 +92061,7 @@ var attach_func = FuncDef{ FnArg: int8(3), // nArg FfuncFlags: U32(SQLITE_UTF8), // pNext FxSFunc: 0, // xValue, xInverse - FzName: ts + 10679 /* "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: */ @@ -90827,7 +92076,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+10693 /* "%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 } } @@ -90860,7 +92109,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+10717, /* "%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 } @@ -91059,7 +92308,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+10763 /* "authorizer malfu..." */, 0) + Xsqlite3ErrorMsg(tls, pParse, ts+10762 /* "authorizer malfu..." */, 0) (*Parse)(unsafe.Pointer(pParse)).Frc = SQLITE_ERROR } @@ -91081,13 +92330,15 @@ func Xsqlite3AuthReadCol(tls *libc.TLS, pParse uintptr, zTab uintptr, zCol uintp if (*Sqlite3)(unsafe.Pointer(db)).Finit.Fbusy != 0 { return SQLITE_OK } - 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) + rc = (*struct { + f func(*libc.TLS, uintptr, int32, uintptr, uintptr, uintptr, uintptr) int32 + })(unsafe.Pointer(&struct{ uintptr }{(*Sqlite3)(unsafe.Pointer(db)).FxAuth})).f(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+10786 /* "%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+10792 /* "%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+10798 /* "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) @@ -91139,7 +92390,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 + 6689 /* "ROWID" */ + zCol = ts + 6688 /* "ROWID" */ } if SQLITE_IGNORE == Xsqlite3AuthReadCol(tls, pParse, (*Table)(unsafe.Pointer(pTab)).FzName, zCol, iDb) { @@ -91169,9 +92420,11 @@ func Xsqlite3AuthCheck(tls *libc.TLS, pParse uintptr, code int32, zArg1 uintptr, // The following testcase() macros show that any of the 3rd through 6th // parameters can be either NULL or a string. - 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) + rc = (*struct { + f func(*libc.TLS, uintptr, int32, uintptr, uintptr, uintptr, uintptr) int32 + })(unsafe.Pointer(&struct{ uintptr }{(*Sqlite3)(unsafe.Pointer(db)).FxAuth})).f(tls, (*Sqlite3)(unsafe.Pointer(db)).FpAuthArg, code, zArg1, zArg2, zArg3, (*Parse)(unsafe.Pointer(pParse)).FzAuthContext) if rc == SQLITE_DENY { - Xsqlite3ErrorMsg(tls, pParse, ts+10825 /* "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 @@ -91433,7 +92686,7 @@ func Xsqlite3NestedParse(tls *libc.TLS, pParse uintptr, zFormat uintptr, va uint return } // Nesting should only be of limited depth - ap = va + (ap) = va zSql = Xsqlite3VMPrintf(tls, db, zFormat, ap) _ = ap if zSql == uintptr(0) { @@ -91481,25 +92734,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+5459 /* "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+7082 /* "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+10840 /* "sqlite_temp_sche..." */ +7)) == 0) || - (Xsqlite3StrICmp(tls, (zName+uintptr(7)), (ts+10859 /* "sqlite_schema" */ +7)) == 0)) || - (Xsqlite3StrICmp(tls, (zName+uintptr(7)), (ts+4957 /* "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+10873 /* "sqlite_temp_mast..." */) + ts+10872 /* "sqlite_temp_mast..." */) } } else { - if Xsqlite3StrICmp(tls, (zName+uintptr(7)), (ts+10859 /* "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+4957 /* "sqlite_master" */) + ts+4956 /* "sqlite_master" */) } } } @@ -91522,12 +92775,12 @@ func Xsqlite3FindTable(tls *libc.TLS, db uintptr, zName uintptr, zDatabase uintp break } } - if (p == uintptr(0)) && (Xsqlite3_strnicmp(tls, zName, ts+7082 /* "sqlite_" */, 7) == 0) { - if Xsqlite3StrICmp(tls, (zName+uintptr(7)), (ts+10859 /* "sqlite_schema" */ +7)) == 0 { - p = Xsqlite3HashFind(tls, ((*Db)(unsafe.Pointer((*Sqlite3)(unsafe.Pointer(db)).FaDb)).FpSchema + 8 /* &.tblHash */), ts+4957 /* "sqlite_master" */) - } else if Xsqlite3StrICmp(tls, (zName+uintptr(7)), (ts+10840 /* "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+10873 /* "sqlite_temp_mast..." */) + ts+10872 /* "sqlite_temp_mast..." */) } } } @@ -91563,7 +92816,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+10892 /* "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) { @@ -91581,14 +92834,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 + 10900 /* "no such view" */ + zMsg = ts + 10899 /* "no such view" */ } else { - zMsg = ts + 10913 /* "no such table" */ + zMsg = ts + 10912 /* "no such table" */ } if zDbase != 0 { - Xsqlite3ErrorMsg(tls, pParse, ts+5652 /* "%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+5662 /* "%s: %s" */, libc.VaList(bp+24, zMsg, zName)) + Xsqlite3ErrorMsg(tls, pParse, ts+5661 /* "%s: %s" */, libc.VaList(bp+24, zMsg, zName)) } } else { @@ -91901,7 +93154,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+4957 /* "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 @@ -91928,7 +93181,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+5459 /* "main" */, zName)) { + if (i == 0) && (0 == Xsqlite3_stricmp(tls, ts+5458 /* "main" */, zName)) { goto __3 } @@ -91981,13 +93234,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+10927 /* "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+10944 /* "unknown database..." */, libc.VaList(bp, pName1)) + Xsqlite3ErrorMsg(tls, pParse, ts+10943 /* "unknown database..." */, libc.VaList(bp, pName1)) return -1 } } else { @@ -92028,13 +93281,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+756 /* "" */, 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+7082 /* "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+10964, /* "object name rese..." */ + Xsqlite3ErrorMsg(tls, pParse, ts+10963, /* "object name rese..." */ libc.VaList(bp, zName)) return SQLITE_ERROR } @@ -92203,9 +93456,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 + 10873 /* "sqlite_temp_mast..." */ + return ts + 10872 /* "sqlite_temp_mast..." */ } - return ts + 4957 /* "sqlite_master" */ + return ts + 4956 /* "sqlite_master" */ }()) *(*uintptr)(unsafe.Pointer(bp + 16 /* pName */)) = pName1 goto __2 @@ -92223,7 +93476,7 @@ __3: } // If creating a temp table, the name may not be qualified. Unless // the database name is "temp" anyway. - Xsqlite3ErrorMsg(tls, pParse, ts+11006 /* "temporary table ..." */, 0) + Xsqlite3ErrorMsg(tls, pParse, ts+11005 /* "temporary table ..." */, 0) return __4: ; @@ -92251,9 +93504,9 @@ __7: ; if !(Xsqlite3CheckObjectName(tls, pParse, zName, func() uintptr { if isView != 0 { - return ts + 9209 /* "view" */ + return ts + 9208 /* "view" */ } - return ts + 7824 /* "table" */ + return ts + 7823 /* "table" */ }(), zName) != 0) { goto __8 } @@ -92270,9 +93523,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 + 10873 /* "sqlite_temp_mast..." */ + return ts + 10872 /* "sqlite_temp_mast..." */ } - return ts + 4957 /* "sqlite_master" */ + return ts + 4956 /* "sqlite_master" */ }(), uintptr(0), zDb) != 0) { goto __10 } @@ -92310,7 +93563,7 @@ __13: if !(!(noErr != 0)) { goto __15 } - Xsqlite3ErrorMsg(tls, pParse, ts+11047 /* "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: ; @@ -92324,7 +93577,7 @@ __14: if !(Xsqlite3FindIndex(tls, db, zName, zDb1) != uintptr(0)) { goto __17 } - Xsqlite3ErrorMsg(tls, pParse, ts+11071 /* "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: ; @@ -92440,7 +93693,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+11106 /* "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) } @@ -92464,7 +93717,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+11123 /* "cannot use RETUR..." */, 0) + Xsqlite3ErrorMsg(tls, pParse, ts+11122 /* "cannot use RETUR..." */, 0) } else { } @@ -92485,7 +93738,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 + 11106 /* "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) @@ -92497,7 +93750,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+11106 /* "sqlite_returning" */, (pRet+16 /* &.retTrig */)) == + if Xsqlite3HashInsert(tls, pHash, ts+11105 /* "sqlite_returning" */, (pRet+16 /* &.retTrig */)) == (pRet + 16 /* &.retTrig */) { Xsqlite3OomFault(tls, db) } @@ -92525,7 +93778,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+11157 /* "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)))) @@ -92541,7 +93794,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+11180 /* "duplicate column..." */, libc.VaList(bp+8, z)) + Xsqlite3ErrorMsg(tls, pParse, ts+11179 /* "duplicate column..." */, libc.VaList(bp+8, z)) Xsqlite3DbFree(tls, db, z) return } @@ -92715,11 +93968,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+11206, /* "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+11251 /* "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. @@ -92769,7 +94022,7 @@ func makeColumnPartOfPrimaryKey(tls *libc.TLS, pParse uintptr, pCol uintptr) { / if (int32((*Column)(unsafe.Pointer(pCol)).FcolFlags) & COLFLAG_GENERATED) != 0 { Xsqlite3ErrorMsg(tls, pParse, - ts+11292 /* "generated column..." */, 0) + ts+11291 /* "generated column..." */, 0) } } @@ -92814,7 +94067,7 @@ __1: goto __2 } Xsqlite3ErrorMsg(tls, pParse, - ts+11344 /* "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: ; @@ -92874,7 +94127,7 @@ __4: ; if !((((nTerm == 1) && (pCol != 0)) && - (Xsqlite3StrICmp(tls, Xsqlite3ColumnType(tls, pCol, ts+756 /* "" */), ts+11385 /* "INTEGER" */) == 0)) && + (Xsqlite3StrICmp(tls, Xsqlite3ColumnType(tls, pCol, ts+755 /* "" */), ts+11384 /* "INTEGER" */) == 0)) && (sortOrder != SQLITE_SO_DESC)) { goto __13 } @@ -92902,7 +94155,7 @@ __13: goto __17 } Xsqlite3ErrorMsg(tls, pParse, - ts+11393 /* "AUTOINCREMENT is..." */, 0) + ts+11392 /* "AUTOINCREMENT is..." */, 0) goto __18 __17: Xsqlite3CreateIndex(tls, pParse, uintptr(0), uintptr(0), uintptr(0), pList, onError, uintptr(0), @@ -93006,7 +94259,7 @@ __1: if !(int32((*Parse)(unsafe.Pointer(pParse)).FeParseMode) == PARSE_MODE_DECLARE_VTAB) { goto __2 } - Xsqlite3ErrorMsg(tls, pParse, ts+11449 /* "virtual tables c..." */, 0) + Xsqlite3ErrorMsg(tls, pParse, ts+11448 /* "virtual tables c..." */, 0) goto generated_done __2: ; @@ -93019,13 +94272,13 @@ __3: if !(pType != 0) { goto __4 } - if !(((*Token)(unsafe.Pointer(pType)).Fn == uint32(7)) && (Xsqlite3_strnicmp(tls, ts+11492 /* "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+11500 /* "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) @@ -93058,7 +94311,7 @@ __10: goto generated_done generated_error: - Xsqlite3ErrorMsg(tls, pParse, ts+11507, /* "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) @@ -93200,13 +94453,13 @@ __3: ; n = n + (identLength(tls, (*Table)(unsafe.Pointer(p)).FzName)) if n < 50 { - zSep = ts + 756 /* "" */ - zSep2 = ts + 11538 /* "," */ - zEnd = ts + 4067 /* ")" */ + zSep = ts + 755 /* "" */ + zSep2 = ts + 11537 /* "," */ + zEnd = ts + 4066 /* ")" */ } else { - zSep = ts + 11540 /* "\n " */ - zSep2 = ts + 11544 /* ",\n " */ - zEnd = ts + 11549 /* "\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)) @@ -93214,7 +94467,7 @@ __3: Xsqlite3OomFault(tls, db) return uintptr(0) } - Xsqlite3_snprintf(tls, n, zStmt, ts+11552 /* "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('(') @@ -93248,16 +94501,16 @@ __5: goto __6 __6: ; - Xsqlite3_snprintf(tls, (n - *(*int32)(unsafe.Pointer(bp + 8 /* k */))), (zStmt + uintptr(*(*int32)(unsafe.Pointer(bp + 8 /* k */)))), ts+2791 /* "%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 + 756, /* "" */ - /* SQLITE_AFF_TEXT */ ts + 11566, /* " TEXT" */ - /* SQLITE_AFF_NUMERIC */ ts + 11572, /* " NUM" */ - /* SQLITE_AFF_INTEGER */ ts + 11577, /* " INT" */ - /* SQLITE_AFF_REAL */ ts + 11582, /* " 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 @@ -93618,7 +94871,9 @@ func Xsqlite3IsShadowTableOf(tls *libc.TLS, db uintptr, pTab uintptr, zName uint if (*Sqlite3_module)(unsafe.Pointer((*Module)(unsafe.Pointer(pMod)).FpModule)).FxShadowName == uintptr(0) { return 0 } - return (*(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(((*Module)(unsafe.Pointer(pMod)).FpModule + 184 /* &.xShadowName */))))(tls, ((zName + uintptr(nName)) + uintptr(1))) + return (*struct { + f func(*libc.TLS, uintptr) int32 + })(unsafe.Pointer(&struct{ uintptr }{(*Sqlite3_module)(unsafe.Pointer((*Module)(unsafe.Pointer(pMod)).FpModule)).FxShadowName})).f(tls, ((zName + uintptr(nName)) + uintptr(1))) } // Return true if zName is a shadow table name in the current database @@ -93694,7 +94949,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+756 /* "" */, 0) + Xsqlite3ErrorMsg(tls, pParse, ts+755 /* "" */, 0) return } (*Table)(unsafe.Pointer(p)).Ftnum = (*Sqlite3)(unsafe.Pointer(db)).Finit.FnewTnum @@ -93707,11 +94962,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+11588 /* "AUTOINCREMENT no..." */, 0) + ts+11587 /* "AUTOINCREMENT no..." */, 0) return } if ((*Table)(unsafe.Pointer(p)).FtabFlags & U32(TF_HasPrimaryKey)) == U32(0) { - Xsqlite3ErrorMsg(tls, pParse, ts+11638 /* "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)) @@ -93755,7 +95010,7 @@ func Xsqlite3EndTable(tls *libc.TLS, pParse uintptr, pCons uintptr, pEnd uintptr } } if nNG == 0 { - Xsqlite3ErrorMsg(tls, pParse, ts+11670 /* "must have at lea..." */, 0) + Xsqlite3ErrorMsg(tls, pParse, ts+11669 /* "must have at lea..." */, 0) return } } @@ -93788,12 +95043,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 + 7824 /* "table" */ - zType2 = ts + 11714 /* "TABLE" */ + zType = ts + 7823 /* "table" */ + zType2 = ts + 11713 /* "TABLE" */ } else { // A view - zType = ts + 9209 /* "view" */ - zType2 = ts + 11720 /* "VIEW" */ + zType = ts + 9208 /* "view" */ + zType2 = ts + 11719 /* "VIEW" */ } // If this is a CREATE TABLE xx AS SELECT ..., execute the SELECT @@ -93874,7 +95129,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+11725 /* "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 @@ -93882,7 +95137,7 @@ func Xsqlite3EndTable(tls *libc.TLS, pParse uintptr, pCons uintptr, pEnd uintptr // the information we've collected. Xsqlite3NestedParse(tls, pParse, - ts+11740, /* "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, @@ -93900,14 +95155,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+11838, /* "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+11880 /* "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. @@ -93928,7 +95183,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+8346 /* "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 } @@ -93965,7 +95220,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+11914 /* "parameters are n..." */, 0) + Xsqlite3ErrorMsg(tls, pParse, ts+11913 /* "parameters are n..." */, 0) goto create_view_fail __1: ; @@ -93987,7 +95242,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+9209 /* "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 } @@ -94104,7 +95359,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+11950 /* "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 } @@ -94246,7 +95501,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+11980 /* "corrupt schema" */, 0) + Xsqlite3ErrorMsg(tls, pParse, ts+11979 /* "corrupt schema" */, 0) } Xsqlite3VdbeAddOp3(tls, v, OP_Destroy, iTable, r1, iDb) Xsqlite3MayAbort(tls, pParse) @@ -94260,7 +95515,7 @@ func destroyRootPage(tls *libc.TLS, pParse uintptr, iTable int32, iDb int32) { / // token for additional information. Xsqlite3NestedParse(tls, pParse, - ts+11995, /* "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) } @@ -94324,10 +95579,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+12062 /* "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+10025, /* "DELETE FROM %Q.%..." */ + ts+10024, /* "DELETE FROM %Q.%..." */ libc.VaList(bp+8, zDbName, bp+40 /* &zTab[0] */, zType, zName)) } } @@ -94367,7 +95622,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+12076, /* "DELETE FROM %Q.s..." */ + ts+12075, /* "DELETE FROM %Q.s..." */ libc.VaList(bp, (*Db)(unsafe.Pointer(pDb)).FzDbSName, (*Table)(unsafe.Pointer(pTab)).FzName)) } @@ -94379,7 +95634,7 @@ func Xsqlite3CodeDropTable(tls *libc.TLS, pParse uintptr, pTab uintptr, iDb int3 // database. Xsqlite3NestedParse(tls, pParse, - ts+12121, /* "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) @@ -94409,11 +95664,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+7082 /* "sqlite_" */, 7) == 0 { - if Xsqlite3_strnicmp(tls, ((*Table)(unsafe.Pointer(pTab)).FzName+uintptr(7)), ts+2414 /* "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+6151 /* "parameters" */, 10) == 0 { + if Xsqlite3_strnicmp(tls, ((*Table)(unsafe.Pointer(pTab)).FzName+uintptr(7)), ts+6150 /* "parameters" */, 10) == 0 { return 0 } return 1 @@ -94494,9 +95749,9 @@ __7: zTab = func() uintptr { if (!(0 != 0)) && (iDb == 1) { - return ts + 10873 /* "sqlite_temp_mast..." */ + return ts + 10872 /* "sqlite_temp_mast..." */ } - return ts + 4957 /* "sqlite_master" */ + return ts + 4956 /* "sqlite_master" */ }() zDb = (*Db)(unsafe.Pointer((*Sqlite3)(unsafe.Pointer(db)).FaDb + uintptr(iDb)*32)).FzDbSName zArg2 = uintptr(0) @@ -94556,7 +95811,7 @@ __18: if !(tableMayNotBeDropped(tls, db, pTab) != 0) { goto __19 } - Xsqlite3ErrorMsg(tls, pParse, ts+12188 /* "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: ; @@ -94566,14 +95821,14 @@ __19: if !((isView != 0) && ((*Table)(unsafe.Pointer(pTab)).FpSelect == uintptr(0))) { goto __20 } - Xsqlite3ErrorMsg(tls, pParse, ts+12216 /* "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+12250 /* "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: ; @@ -94588,7 +95843,7 @@ __21: if !(!(isView != 0)) { goto __23 } - sqlite3ClearStatTables(tls, pParse, iDb, ts+10217 /* "tbl" */, (*Table)(unsafe.Pointer(pTab)).FzName) + sqlite3ClearStatTables(tls, pParse, iDb, ts+10216 /* "tbl" */, (*Table)(unsafe.Pointer(pTab)).FzName) Xsqlite3FkDropTable(tls, pParse, pName, pTab) __23: ; @@ -94653,7 +95908,7 @@ __4: goto __5 } Xsqlite3ErrorMsg(tls, pParse, - ts+12282, /* "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: @@ -94666,7 +95921,7 @@ __2: } Xsqlite3ErrorMsg(tls, pParse, - ts+12345 /* "number of column..." */, 0) + ts+12344 /* "number of column..." */, 0) goto fk_end goto __7 __6: @@ -94750,7 +96005,7 @@ __21: goto __23 } Xsqlite3ErrorMsg(tls, pParse, - ts+12439, /* "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: @@ -95000,12 +96255,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+12485, /* "unsupported use ..." */ + Xsqlite3ErrorMsg(tls, pParse, ts+12484, /* "unsupported use ..." */ libc.VaList(bp, func() uintptr { if (int32(sf) == 0) || (int32(sf) == 3) { - return ts + 12513 /* "FIRST" */ + return ts + 12512 /* "FIRST" */ } - return ts + 12519 /* "LAST" */ + return ts + 12518 /* "LAST" */ }())) return 1 } @@ -95163,7 +96418,7 @@ __9: __8: ; - Xsqlite3FixInit(tls, bp+136 /* &sFix */, pParse, iDb, ts+12524 /* "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 } @@ -95184,7 +96439,7 @@ __11: goto __12 } Xsqlite3ErrorMsg(tls, pParse, - ts+12530, /* "cannot create a ..." */ + ts+12529, /* "cannot create a ..." */ libc.VaList(bp, (*Table)(unsafe.Pointer(pTab)).FzName)) goto exit_create_index __12: @@ -95211,26 +96466,26 @@ __6: ; pDb = ((*Sqlite3)(unsafe.Pointer(db)).FaDb + uintptr(iDb)*32) - if !(((Xsqlite3_strnicmp(tls, (*Table)(unsafe.Pointer(pTab)).FzName, ts+7082 /* "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+12580 /* "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+12608 /* "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+12633 /* "virtual tables m..." */, 0) + Xsqlite3ErrorMsg(tls, pParse, ts+12632 /* "virtual tables m..." */, 0) goto exit_create_index __17: ; @@ -95257,7 +96512,7 @@ __17: __20: ; - if !(SQLITE_OK != Xsqlite3CheckObjectName(tls, pParse, zName, ts+12524 /* "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 @@ -95272,7 +96527,7 @@ __21: if !(Xsqlite3FindTable(tls, db, zName, uintptr(0)) != uintptr(0)) { goto __24 } - Xsqlite3ErrorMsg(tls, pParse, ts+12667 /* "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: ; @@ -95284,7 +96539,7 @@ __23: if !(!(ifNotExist != 0)) { goto __26 } - Xsqlite3ErrorMsg(tls, pParse, ts+12701 /* "index %s already..." */, libc.VaList(bp+24, zName)) + Xsqlite3ErrorMsg(tls, pParse, ts+12700 /* "index %s already..." */, libc.VaList(bp+24, zName)) goto __27 __26: ; @@ -95313,7 +96568,7 @@ __29: goto __30 __30: ; - zName = Xsqlite3MPrintf(tls, db, ts+12725 /* "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 } @@ -95342,9 +96597,9 @@ __19: zDb = (*Db)(unsafe.Pointer(pDb)).FzDbSName if !(Xsqlite3AuthCheck(tls, pParse, SQLITE_INSERT, func() uintptr { if (!(0 != 0)) && (iDb == 1) { - return ts + 10873 /* "sqlite_temp_mast..." */ + return ts + 10872 /* "sqlite_temp_mast..." */ } - return ts + 4957 /* "sqlite_master" */ + return ts + 4956 /* "sqlite_master" */ }(), uintptr(0), zDb) != 0) { goto __34 } @@ -95388,7 +96643,7 @@ __39: Xsqlite3ExprListSetSortOrder(tls, pList, sortOrder, -1) goto __38 __37: - Xsqlite3ExprListCheckLength(tls, pParse, pList, ts+12524 /* "index" */) + Xsqlite3ExprListCheckLength(tls, pParse, pList, ts+12523 /* "index" */) if !((*Parse)(unsafe.Pointer(pParse)).FnErr != 0) { goto __40 } @@ -95505,7 +96760,7 @@ __53: goto __56 } Xsqlite3ErrorMsg(tls, pParse, - ts+12748 /* "expressions proh..." */, 0) + ts+12747 /* "expressions proh..." */, 0) goto exit_create_index __56: ; @@ -95734,7 +96989,7 @@ __88: goto __93 } Xsqlite3ErrorMsg(tls, pParse, - ts+12809 /* "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) { @@ -95790,7 +97045,7 @@ __81: if !(Xsqlite3IndexHasDuplicateRootPage(tls, pIndex) != 0) { goto __101 } - Xsqlite3ErrorMsg(tls, pParse, ts+12851 /* "invalid rootpage" */, 0) + Xsqlite3ErrorMsg(tls, pParse, ts+12850 /* "invalid rootpage" */, 0) (*Parse)(unsafe.Pointer(pParse)).Frc = Xsqlite3CorruptError(tls, 116514) goto exit_create_index __101: @@ -95848,12 +97103,12 @@ __104: __107: ; // A named index with an explicit CREATE INDEX statement - zStmt = Xsqlite3MPrintf(tls, db, ts+12868, /* "CREATE%s INDEX %..." */ + zStmt = Xsqlite3MPrintf(tls, db, ts+12867, /* "CREATE%s INDEX %..." */ libc.VaList(bp+56, func() uintptr { if onError == OE_None { - return ts + 756 /* "" */ + return ts + 755 /* "" */ } - return ts + 12888 /* " UNIQUE" */ + return ts + 12887 /* " UNIQUE" */ }(), n1, (*Token)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp + 128 /* pName */)))).Fz)) goto __106 __105: @@ -95865,7 +97120,7 @@ __106: // Add an entry in sqlite_schema for this index Xsqlite3NestedParse(tls, pParse, - ts+12896, /* "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, @@ -95881,7 +97136,7 @@ __106: sqlite3RefillIndex(tls, pParse, pIndex, iMem) Xsqlite3ChangeCookie(tls, pParse, iDb) Xsqlite3VdbeAddParseSchemaOp(tls, v, iDb, - Xsqlite3MPrintf(tls, db, ts+12955 /* "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: ; @@ -96065,7 +97320,7 @@ __2: if !(!(ifExists != 0)) { goto __4 } - Xsqlite3ErrorMsg(tls, pParse, ts+12982 /* "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) @@ -96080,7 +97335,7 @@ __3: goto __6 } Xsqlite3ErrorMsg(tls, pParse, - ts+13000 /* "index associated..." */, libc.VaList(bp+8, 0)) + ts+12999 /* "index associated..." */, libc.VaList(bp+8, 0)) goto exit_drop_index __6: ; @@ -96091,9 +97346,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 + 10873 /* "sqlite_temp_mast..." */ + return ts + 10872 /* "sqlite_temp_mast..." */ } - return ts + 4957 /* "sqlite_master" */ + return ts + 4956 /* "sqlite_master" */ }() if !(Xsqlite3AuthCheck(tls, pParse, SQLITE_DELETE, zTab, uintptr(0), zDb) != 0) { goto __7 @@ -96121,9 +97376,9 @@ __9: } Xsqlite3BeginWriteOperation(tls, pParse, 1, iDb) Xsqlite3NestedParse(tls, pParse, - ts+13073, /* "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+10213 /* "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) @@ -96274,7 +97529,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+13133, /* "too many FROM cl..." */ + Xsqlite3ErrorMsg(tls, pParse, ts+13132, /* "too many FROM cl..." */ libc.VaList(bp, SQLITE_MAX_SRCLIST)) return uintptr(0) } @@ -96486,12 +97741,12 @@ func Xsqlite3SrcListAppendFromTerm(tls *libc.TLS, pParse uintptr, p uintptr, pTa if !(!(p != 0) && ((pOn != 0) || (pUsing != 0))) { goto __1 } - Xsqlite3ErrorMsg(tls, pParse, ts+13169, /* "a JOIN clause is..." */ + Xsqlite3ErrorMsg(tls, pParse, ts+13168, /* "a JOIN clause is..." */ libc.VaList(bp, func() uintptr { if pOn != 0 { - return ts + 13205 /* "ON" */ + return ts + 13204 /* "ON" */ } - return ts + 13208 /* "USING" */ + return ts + 13207 /* "USING" */ }())) goto append_from_error __1: @@ -96619,7 +97874,7 @@ func Xsqlite3BeginTransaction(tls *libc.TLS, pParse uintptr, type1 int32) { /* s db = (*Parse)(unsafe.Pointer(pParse)).Fdb - if Xsqlite3AuthCheck(tls, pParse, SQLITE_TRANSACTION, ts+13214 /* "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) @@ -96655,9 +97910,9 @@ func Xsqlite3EndTransaction(tls *libc.TLS, pParse uintptr, eType int32) { /* sql if Xsqlite3AuthCheck(tls, pParse, SQLITE_TRANSACTION, func() uintptr { if isRollback != 0 { - return ts + 13220 /* "ROLLBACK" */ + return ts + 13219 /* "ROLLBACK" */ } - return ts + 13229 /* "COMMIT" */ + return ts + 13228 /* "COMMIT" */ }(), uintptr(0), uintptr(0)) != 0 { return } @@ -96682,7 +97937,7 @@ func Xsqlite3Savepoint(tls *libc.TLS, pParse uintptr, op int32, pName uintptr) { } } -var az = [3]uintptr{ts + 13214 /* "BEGIN" */, ts + 13236 /* "RELEASE" */, ts + 13220 /* "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. @@ -96698,7 +97953,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+13244 /* "unable to open a..." */, 0) + ts+13243 /* "unable to open a..." */, 0) (*Parse)(unsafe.Pointer(pParse)).Frc = rc return 1 } @@ -96841,17 +98096,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+13314 /* "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+13325 /* ", " */, 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+769 /* "." */, 1) + Xsqlite3_str_append(tls, bp+8 /* &errMsg */, ts+768 /* "." */, 1) Xsqlite3_str_appendall(tls, bp+8 /* &errMsg */, zCol) } } @@ -96874,11 +98129,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+10786 /* "%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+13328 /* "%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), @@ -97021,7 +98276,7 @@ func Xsqlite3Reindex(tls *libc.TLS, pParse uintptr, pName1 uintptr, pName2 uintp sqlite3RefillIndex(tls, pParse, pIndex, -1) return } - Xsqlite3ErrorMsg(tls, pParse, ts+13337 /* "unable to identi..." */, 0) + Xsqlite3ErrorMsg(tls, pParse, ts+13336 /* "unable to identi..." */, 0) } // Return a KeyInfo structure that is appropriate for the given Index. @@ -97131,7 +98386,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+13383 /* "duplicate WITH t..." */, libc.VaList(bp, zName)) + Xsqlite3ErrorMsg(tls, pParse, ts+13382 /* "duplicate WITH t..." */, libc.VaList(bp, zName)) } } } @@ -97192,7 +98447,9 @@ func callCollNeeded(tls *libc.TLS, db uintptr, enc int32, zName uintptr) { /* sq if !(zExternal != 0) { return } - (*(*func(*libc.TLS, uintptr, uintptr, int32, uintptr))(unsafe.Pointer((db + 368 /* &.xCollNeeded */))))(tls, (*Sqlite3)(unsafe.Pointer(db)).FpCollNeededArg, db, enc, zExternal) + (*struct { + f func(*libc.TLS, uintptr, uintptr, int32, uintptr) + })(unsafe.Pointer(&struct{ uintptr }{(*Sqlite3)(unsafe.Pointer(db)).FxCollNeeded})).f(tls, (*Sqlite3)(unsafe.Pointer(db)).FpCollNeededArg, db, enc, zExternal) Xsqlite3DbFree(tls, db, zExternal) } if (*Sqlite3)(unsafe.Pointer(db)).FxCollNeeded16 != 0 { @@ -97201,7 +98458,9 @@ func callCollNeeded(tls *libc.TLS, db uintptr, enc int32, zName uintptr) { /* sq Xsqlite3ValueSetStr(tls, pTmp, -1, zName, uint8(SQLITE_UTF8), uintptr(0)) zExternal = Xsqlite3ValueText(tls, pTmp, uint8(SQLITE_UTF16LE)) if zExternal != 0 { - (*(*func(*libc.TLS, uintptr, uintptr, int32, uintptr))(unsafe.Pointer((db + 376 /* &.xCollNeeded16 */))))(tls, (*Sqlite3)(unsafe.Pointer(db)).FpCollNeededArg, db, int32((*Sqlite3)(unsafe.Pointer(db)).Fenc), zExternal) + (*struct { + f func(*libc.TLS, uintptr, uintptr, int32, uintptr) + })(unsafe.Pointer(&struct{ uintptr }{(*Sqlite3)(unsafe.Pointer(db)).FxCollNeeded16})).f(tls, (*Sqlite3)(unsafe.Pointer(db)).FpCollNeededArg, db, int32((*Sqlite3)(unsafe.Pointer(db)).Fenc), zExternal) } Xsqlite3ValueFree(tls, pTmp) } @@ -97365,7 +98624,7 @@ func Xsqlite3GetCollSeq(tls *libc.TLS, pParse uintptr, enc U8, pColl uintptr, zN } if p == uintptr(0) { - Xsqlite3ErrorMsg(tls, pParse, ts+13413 /* "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 @@ -97731,11 +98990,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+13444 /* "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+13473 /* "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 @@ -98328,7 +99587,7 @@ __60: } Xsqlite3VdbeAddOp2(tls, v, OP_ChngCntRow, memCnt, 1) Xsqlite3VdbeSetNumCols(tls, v, 1) - Xsqlite3VdbeSetColName(tls, v, 0, COLNAME_NAME, ts+13511 /* "rows deleted" */, uintptr(0)) + Xsqlite3VdbeSetColName(tls, v, 0, COLNAME_NAME, ts+13510 /* "rows deleted" */, uintptr(0)) __61: ; @@ -98473,7 +99732,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+10073 /* "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 { @@ -98751,7 +100010,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 + 5269 /* "integer" */, ts + 5264 /* "real" */, ts + 13524 /* "text" */, ts + 13529 /* "blob" */, ts + 5259 /* "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: */ @@ -98815,7 +100074,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+13534 /* "integer overflow" */, -1) + Xsqlite3_result_error(tls, context, ts+13533 /* "integer overflow" */, -1) return } iVal = -iVal @@ -99146,14 +100405,14 @@ func roundFunc(tls *libc.TLS, context uintptr, argc int32, argv uintptr) { /* sq if (*(*float64)(unsafe.Pointer(bp + 16 /* r */)) < -4503599627370496.0) || (*(*float64)(unsafe.Pointer(bp + 16 /* r */)) > +4503599627370496.0) { // The value has no fractional part so there is nothing to round } else if n == 0 { - *(*float64)(unsafe.Pointer(bp + 16 /* r */)) = float64((Sqlite_int64(*(*float64)(unsafe.Pointer(bp + 16 /* r */)) + (func() float64 { + *(*float64)(unsafe.Pointer(bp + 16 /* r */)) = float64((libc.Int64FromFloat64(*(*float64)(unsafe.Pointer(bp + 16 /* r */)) + (func() float64 { if *(*float64)(unsafe.Pointer(bp + 16 /* r */)) < float64(0) { return -0.5 } return +0.5 }())))) } else { - zBuf = Xsqlite3_mprintf(tls, ts+13551 /* "%.*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 @@ -99603,7 +100862,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+13556 /* "LIKE or GLOB pat..." */, -1) + Xsqlite3_result_error(tls, context, ts+13555 /* "LIKE or GLOB pat..." */, -1) return } if argc == 3 { @@ -99615,7 +100874,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+13589 /* "ESCAPE expressio..." */, -1) + ts+13588 /* "ESCAPE expressio..." */, -1) return } escape = Xsqlite3Utf8Read(tls, bp /* &zEsc */) @@ -99681,7 +100940,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+2791 /* "%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. @@ -99738,10 +100997,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+4035 /* "%!.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+13634 /* "%!.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 @@ -99815,7 +101074,7 @@ func quoteFunc(tls *libc.TLS, context uintptr, argc int32, argv uintptr) { /* sq default: { - Xsqlite3_result_text(tls, context, ts+757 /* "NULL" */, 4, uintptr(0)) + Xsqlite3_result_text(tls, context, ts+756 /* "NULL" */, 4, uintptr(0)) break } @@ -100126,7 +101385,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 + 9653 /* " " */)} /* 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 @@ -100147,7 +101406,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 + 756 /* "" */ + zIn = ts + 755 /* "" */ } for i = 0; (*(*U8)(unsafe.Pointer(zIn + uintptr(i))) != 0) && !((int32(Xsqlite3CtypeMap[*(*U8)(unsafe.Pointer(zIn + uintptr(i)))]) & 0x02) != 0); i++ { } @@ -100173,7 +101432,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+13641 /* "?000" */, 4, uintptr(0)) + Xsqlite3_result_text(tls, context, ts+13640 /* "?000" */, 4, uintptr(0)) } } @@ -100201,7 +101460,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+10825 /* "not authorized" */, -1) + Xsqlite3_result_error(tls, context, ts+10824 /* "not authorized" */, -1) return } @@ -100219,12 +101478,12 @@ func loadExt(tls *libc.TLS, context uintptr, argc int32, argv uintptr) { /* sqli // An instance of the following structure holds the context of a // sum() or avg() aggregate computation. type SumCtx1 = struct { - FrSum float64 - FiSum I64 - Fcnt I64 - Foverflow U8 - Fapprox U8 - _ [6]byte + FrSum float64 + FiSum I64 + Fcnt I64 + Foverflow U8 + Fapprox U8 + F__ccgo_pad1 [6]byte } /* sqlite3.c:120823:9 */ // An instance of the following structure holds the context of a @@ -100289,7 +101548,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+13534 /* "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 { @@ -100443,7 +101702,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 + 11538 /* "," */ + zSep = ts + 11537 /* "," */ nSep = 1 } if zSep != 0 { @@ -100521,7 +101780,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+13646 /* "MATCH" */, 2) + var rc int32 = Xsqlite3_overload_function(tls, db, ts+13645 /* "MATCH" */, 2) if rc == SQLITE_NOMEM { Xsqlite3OomFault(tls, db) @@ -100541,14 +101800,14 @@ func Xsqlite3RegisterLikeFunctions(tls *libc.TLS, db uintptr, caseSensitive int3 pInfo = uintptr(unsafe.Pointer(&likeInfoNorm)) flags = SQLITE_FUNC_LIKE } - Xsqlite3CreateFunc(tls, db, ts+13652 /* "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+13652 /* "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+13652 /* "like" */, 2, uint8(SQLITE_UTF8), uint8(0)) + 4 /* &.funcFlags */)) |= (U32(flags)) - *(*U32)(unsafe.Pointer(Xsqlite3FindFunction(tls, db, ts+13652 /* "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 @@ -100653,76 +101912,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 + 13657 /* "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 + 13677 /* "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 + 13690 /* "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 + 13708 /* "soundex" */}, - {FnArg: int8(1), FfuncFlags: (U32((SQLITE_UTF8 | SQLITE_DIRECTONLY) | SQLITE_FUNC_UNSAFE)), FxSFunc: 0, FzName: ts + 13716 /* "load_extension" */}, - {FnArg: int8(2), FfuncFlags: (U32((SQLITE_UTF8 | SQLITE_DIRECTONLY) | SQLITE_FUNC_UNSAFE)), FxSFunc: 0, FzName: ts + 13716 /* "load_extension" */}, - {FnArg: int8(1), FfuncFlags: (U32(SQLITE_FUNC_SLOCHNG | SQLITE_UTF8)), FxSFunc: 0, FzName: ts + 13731 /* "sqlite_compileop..." */}, - {FnArg: int8(1), FfuncFlags: (U32(SQLITE_FUNC_SLOCHNG | SQLITE_UTF8)), FxSFunc: 0, FzName: ts + 13757 /* "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 + 13782 /* "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 + 13791 /* "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 + 13802 /* "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 + 13809 /* "sqlite_offset" */}, - {FnArg: int8(1), FfuncFlags: (U32((SQLITE_FUNC_CONSTANT | SQLITE_UTF8) | (0 * SQLITE_FUNC_NEEDCOLL))), FpUserData: uintptr(int64(1)), FxSFunc: 0, FzName: ts + 13823 /* "ltrim" */}, - {FnArg: int8(2), FfuncFlags: (U32((SQLITE_FUNC_CONSTANT | SQLITE_UTF8) | (0 * SQLITE_FUNC_NEEDCOLL))), FpUserData: uintptr(int64(1)), FxSFunc: 0, FzName: ts + 13823 /* "ltrim" */}, - {FnArg: int8(1), FfuncFlags: (U32((SQLITE_FUNC_CONSTANT | SQLITE_UTF8) | (0 * SQLITE_FUNC_NEEDCOLL))), FpUserData: uintptr(int64(2)), FxSFunc: 0, FzName: ts + 13829 /* "rtrim" */}, - {FnArg: int8(2), FfuncFlags: (U32((SQLITE_FUNC_CONSTANT | SQLITE_UTF8) | (0 * SQLITE_FUNC_NEEDCOLL))), FpUserData: uintptr(int64(2)), FxSFunc: 0, FzName: ts + 13829 /* "rtrim" */}, - {FnArg: int8(1), FfuncFlags: (U32((SQLITE_FUNC_CONSTANT | SQLITE_UTF8) | (0 * SQLITE_FUNC_NEEDCOLL))), FpUserData: uintptr(int64(3)), FxSFunc: 0, FzName: ts + 13835 /* "trim" */}, - {FnArg: int8(2), FfuncFlags: (U32((SQLITE_FUNC_CONSTANT | SQLITE_UTF8) | (0 * SQLITE_FUNC_NEEDCOLL))), FpUserData: uintptr(int64(3)), FxSFunc: 0, FzName: ts + 13835 /* "trim" */}, - {FnArg: int8(-1), FfuncFlags: (U32((SQLITE_FUNC_CONSTANT | SQLITE_UTF8) | (1 * SQLITE_FUNC_NEEDCOLL))), FxSFunc: 0, FzName: ts + 13840 /* "min" */}, - {FfuncFlags: (U32((SQLITE_FUNC_CONSTANT | SQLITE_UTF8) | (1 * SQLITE_FUNC_NEEDCOLL))), FzName: ts + 13840 /* "min" */}, - {FnArg: int8(1), FfuncFlags: (U32((SQLITE_UTF8 | (1 * SQLITE_FUNC_NEEDCOLL)) | SQLITE_FUNC_MINMAX)), FxSFunc: 0, FxFinalize: 0, FxValue: 0, FzName: ts + 13840 /* "min" */}, - {FnArg: int8(-1), FfuncFlags: (U32((SQLITE_FUNC_CONSTANT | SQLITE_UTF8) | (1 * SQLITE_FUNC_NEEDCOLL))), FpUserData: uintptr(int64(1)), FxSFunc: 0, FzName: ts + 13844 /* "max" */}, - {FfuncFlags: (U32((SQLITE_FUNC_CONSTANT | SQLITE_UTF8) | (1 * SQLITE_FUNC_NEEDCOLL))), FpUserData: uintptr(int64(1)), FzName: ts + 13844 /* "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 + 13844 /* "max" */}, - {FnArg: int8(1), FfuncFlags: (U32(((SQLITE_FUNC_CONSTANT | SQLITE_UTF8) | (0 * SQLITE_FUNC_NEEDCOLL)) | SQLITE_FUNC_TYPEOF)), FxSFunc: 0, FzName: ts + 13848 /* "typeof" */}, - {FnArg: int8(1), FfuncFlags: (U32(((SQLITE_FUNC_CONSTANT | SQLITE_UTF8) | (0 * SQLITE_FUNC_NEEDCOLL)) | SQLITE_FUNC_LENGTH)), FxSFunc: 0, FzName: ts + 13855 /* "length" */}, - {FnArg: int8(2), FfuncFlags: (U32((SQLITE_FUNC_CONSTANT | SQLITE_UTF8) | (0 * SQLITE_FUNC_NEEDCOLL))), FxSFunc: 0, FzName: ts + 13862 /* "instr" */}, - {FnArg: int8(-1), FfuncFlags: (U32((SQLITE_FUNC_CONSTANT | SQLITE_UTF8) | (0 * SQLITE_FUNC_NEEDCOLL))), FxSFunc: 0, FzName: ts + 13868 /* "printf" */}, - {FnArg: int8(1), FfuncFlags: (U32((SQLITE_FUNC_CONSTANT | SQLITE_UTF8) | (0 * SQLITE_FUNC_NEEDCOLL))), FxSFunc: 0, FzName: ts + 13875 /* "unicode" */}, - {FnArg: int8(-1), FfuncFlags: (U32((SQLITE_FUNC_CONSTANT | SQLITE_UTF8) | (0 * SQLITE_FUNC_NEEDCOLL))), FxSFunc: 0, FzName: ts + 13883 /* "char" */}, - {FnArg: int8(1), FfuncFlags: (U32((SQLITE_FUNC_CONSTANT | SQLITE_UTF8) | (0 * SQLITE_FUNC_NEEDCOLL))), FxSFunc: 0, FzName: ts + 13888 /* "abs" */}, - {FnArg: int8(1), FfuncFlags: (U32((SQLITE_FUNC_CONSTANT | SQLITE_UTF8) | (0 * SQLITE_FUNC_NEEDCOLL))), FxSFunc: 0, FzName: ts + 13892 /* "round" */}, - {FnArg: int8(2), FfuncFlags: (U32((SQLITE_FUNC_CONSTANT | SQLITE_UTF8) | (0 * SQLITE_FUNC_NEEDCOLL))), FxSFunc: 0, FzName: ts + 13892 /* "round" */}, - {FnArg: int8(1), FfuncFlags: (U32((SQLITE_FUNC_CONSTANT | SQLITE_UTF8) | (0 * SQLITE_FUNC_NEEDCOLL))), FxSFunc: 0, FzName: ts + 13898 /* "upper" */}, - {FnArg: int8(1), FfuncFlags: (U32((SQLITE_FUNC_CONSTANT | SQLITE_UTF8) | (0 * SQLITE_FUNC_NEEDCOLL))), FxSFunc: 0, FzName: ts + 13904 /* "lower" */}, - {FnArg: int8(1), FfuncFlags: (U32((SQLITE_FUNC_CONSTANT | SQLITE_UTF8) | (0 * SQLITE_FUNC_NEEDCOLL))), FxSFunc: 0, FzName: ts + 13910 /* "hex" */}, - {FnArg: int8(2), FfuncFlags: (U32(((SQLITE_UTF8 | SQLITE_FUNC_INLINE) | SQLITE_FUNC_CONSTANT) | (0))), FxSFunc: 0, FzName: ts + 13914 /* "ifnull" */}, - {FfuncFlags: (U32(SQLITE_UTF8 | (0 * SQLITE_FUNC_NEEDCOLL))), FxSFunc: 0, FzName: ts + 13921 /* "random" */}, - {FnArg: int8(1), FfuncFlags: (U32(SQLITE_UTF8 | (0 * SQLITE_FUNC_NEEDCOLL))), FxSFunc: 0, FzName: ts + 13928 /* "randomblob" */}, - {FnArg: int8(2), FfuncFlags: (U32((SQLITE_FUNC_CONSTANT | SQLITE_UTF8) | (1 * SQLITE_FUNC_NEEDCOLL))), FxSFunc: 0, FzName: ts + 13939 /* "nullif" */}, - {FfuncFlags: (U32(SQLITE_FUNC_SLOCHNG | SQLITE_UTF8)), FxSFunc: 0, FzName: ts + 13946 /* "sqlite_version" */}, - {FfuncFlags: (U32(SQLITE_FUNC_SLOCHNG | SQLITE_UTF8)), FxSFunc: 0, FzName: ts + 13961 /* "sqlite_source_id" */}, - {FnArg: int8(2), FfuncFlags: (U32((SQLITE_FUNC_CONSTANT | SQLITE_UTF8) | (0 * SQLITE_FUNC_NEEDCOLL))), FxSFunc: 0, FzName: ts + 13978 /* "sqlite_log" */}, - {FnArg: int8(1), FfuncFlags: (U32((SQLITE_FUNC_CONSTANT | SQLITE_UTF8) | (0 * SQLITE_FUNC_NEEDCOLL))), FxSFunc: 0, FzName: ts + 13989 /* "quote" */}, - {FfuncFlags: (U32(SQLITE_UTF8 | (0 * SQLITE_FUNC_NEEDCOLL))), FxSFunc: 0, FzName: ts + 13995 /* "last_insert_rowi..." */}, - {FfuncFlags: (U32(SQLITE_UTF8 | (0 * SQLITE_FUNC_NEEDCOLL))), FxSFunc: 0, FzName: ts + 14013 /* "changes" */}, - {FfuncFlags: (U32(SQLITE_UTF8 | (0 * SQLITE_FUNC_NEEDCOLL))), FxSFunc: 0, FzName: ts + 14021 /* "total_changes" */}, - {FnArg: int8(3), FfuncFlags: (U32((SQLITE_FUNC_CONSTANT | SQLITE_UTF8) | (0 * SQLITE_FUNC_NEEDCOLL))), FxSFunc: 0, FzName: ts + 14035 /* "replace" */}, - {FnArg: int8(1), FfuncFlags: (U32((SQLITE_FUNC_CONSTANT | SQLITE_UTF8) | (0 * SQLITE_FUNC_NEEDCOLL))), FxSFunc: 0, FzName: ts + 14043 /* "zeroblob" */}, - {FnArg: int8(2), FfuncFlags: (U32((SQLITE_FUNC_CONSTANT | SQLITE_UTF8) | (0 * SQLITE_FUNC_NEEDCOLL))), FxSFunc: 0, FzName: ts + 14052 /* "substr" */}, - {FnArg: int8(3), FfuncFlags: (U32((SQLITE_FUNC_CONSTANT | SQLITE_UTF8) | (0 * SQLITE_FUNC_NEEDCOLL))), FxSFunc: 0, FzName: ts + 14052 /* "substr" */}, - {FnArg: int8(2), FfuncFlags: (U32((SQLITE_FUNC_CONSTANT | SQLITE_UTF8) | (0 * SQLITE_FUNC_NEEDCOLL))), FxSFunc: 0, FzName: ts + 14059 /* "substring" */}, - {FnArg: int8(3), FfuncFlags: (U32((SQLITE_FUNC_CONSTANT | SQLITE_UTF8) | (0 * SQLITE_FUNC_NEEDCOLL))), FxSFunc: 0, FzName: ts + 14059 /* "substring" */}, - {FnArg: int8(1), FfuncFlags: (U32((SQLITE_UTF8 | (0 * SQLITE_FUNC_NEEDCOLL)) | 0)), FxSFunc: 0, FxFinalize: 0, FxValue: 0, FxInverse: 0, FzName: ts + 14069 /* "sum" */}, - {FnArg: int8(1), FfuncFlags: (U32((SQLITE_UTF8 | (0 * SQLITE_FUNC_NEEDCOLL)) | 0)), FxSFunc: 0, FxFinalize: 0, FxValue: 0, FxInverse: 0, FzName: ts + 14073 /* "total" */}, - {FnArg: int8(1), FfuncFlags: (U32((SQLITE_UTF8 | (0 * SQLITE_FUNC_NEEDCOLL)) | 0)), FxSFunc: 0, FxFinalize: 0, FxValue: 0, FxInverse: 0, FzName: ts + 14079 /* "avg" */}, - {FfuncFlags: (U32((SQLITE_UTF8 | (0 * SQLITE_FUNC_NEEDCOLL)) | SQLITE_FUNC_COUNT)), FxSFunc: 0, FxFinalize: 0, FxValue: 0, FxInverse: 0, FzName: ts + 14083 /* "count" */}, - {FnArg: int8(1), FfuncFlags: (U32((SQLITE_UTF8 | (0 * SQLITE_FUNC_NEEDCOLL)) | 0)), FxSFunc: 0, FxFinalize: 0, FxValue: 0, FxInverse: 0, FzName: ts + 14083 /* "count" */}, - {FnArg: int8(1), FfuncFlags: (U32((SQLITE_UTF8 | (0 * SQLITE_FUNC_NEEDCOLL)) | 0)), FxSFunc: 0, FxFinalize: 0, FxValue: 0, FxInverse: 0, FzName: ts + 14089 /* "group_concat" */}, - {FnArg: int8(2), FfuncFlags: (U32((SQLITE_UTF8 | (0 * SQLITE_FUNC_NEEDCOLL)) | 0)), FxSFunc: 0, FxFinalize: 0, FxValue: 0, FxInverse: 0, FzName: ts + 14089 /* "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 + 14102 /* "glob" */}, - {FnArg: int8(2), FfuncFlags: (U32((SQLITE_FUNC_CONSTANT | SQLITE_UTF8) | SQLITE_FUNC_LIKE)), FpUserData: 0, FxSFunc: 0, FzName: ts + 13652 /* "like" */}, - {FnArg: int8(3), FfuncFlags: (U32((SQLITE_FUNC_CONSTANT | SQLITE_UTF8) | SQLITE_FUNC_LIKE)), FpUserData: 0, FxSFunc: 0, FzName: ts + 13652 /* "like" */}, - {FnArg: int8(1), FfuncFlags: (U32((SQLITE_FUNC_CONSTANT | SQLITE_UTF8) | (0 * SQLITE_FUNC_NEEDCOLL))), FzName: ts + 14107 /* "coalesce" */}, - {FfuncFlags: (U32((SQLITE_FUNC_CONSTANT | SQLITE_UTF8) | (0 * SQLITE_FUNC_NEEDCOLL))), FzName: ts + 14107 /* "coalesce" */}, - {FnArg: int8(1), FfuncFlags: (U32((SQLITE_FUNC_CONSTANT | SQLITE_UTF8) | (0 * SQLITE_FUNC_NEEDCOLL))), FxSFunc: 0, FzName: ts + 14116 /* "sign" */}, - {FnArg: int8(-1), FfuncFlags: (U32(((SQLITE_UTF8 | SQLITE_FUNC_INLINE) | SQLITE_FUNC_CONSTANT) | (0))), FxSFunc: 0, FzName: ts + 14107 /* "coalesce" */}, - {FnArg: int8(3), FfuncFlags: (U32(((SQLITE_UTF8 | SQLITE_FUNC_INLINE) | SQLITE_FUNC_CONSTANT) | (0))), FpUserData: uintptr(int64(INLINEFUNC_iif)), FxSFunc: 0, FzName: ts + 14121 /* "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 ******************************************* @@ -101008,7 +102267,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+14125, /* "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) @@ -101904,8 +103163,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 + 5468 /* "old" */, Fn: uint32(3)} // Literal "old" token - *(*Token)(unsafe.Pointer(bp + 64 /* tNew */)) = Token{Fz: ts + 5464 /* "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 @@ -101993,7 +103252,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+4251 /* "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) } @@ -102423,7 +103682,7 @@ func Xsqlite3ComputeGeneratedColumns(tls *libc.TLS, pParse uintptr, iRegStore in } } if pRedo != 0 { - Xsqlite3ErrorMsg(tls, pParse, ts+6945 /* "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 } @@ -102987,7 +104246,7 @@ __23: goto __24 } Xsqlite3ErrorMsg(tls, pParse, - ts+14170, /* "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: @@ -103012,7 +104271,7 @@ __20: bIdListInOrder = U8(0) goto __27 __26: - Xsqlite3ErrorMsg(tls, pParse, ts+14211, /* "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 @@ -103182,7 +104441,7 @@ __42: goto __47 } Xsqlite3ErrorMsg(tls, pParse, - ts+14243, /* "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: @@ -103192,7 +104451,7 @@ __36: if !((pColumn != uintptr(0)) && (nColumn != (*IdList)(unsafe.Pointer(pColumn)).FnId)) { goto __48 } - Xsqlite3ErrorMsg(tls, pParse, ts+14295 /* "%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: ; @@ -103248,7 +104507,7 @@ __50: if !((*Table)(unsafe.Pointer(pTab)).FnModuleArg != 0) { goto __56 } - Xsqlite3ErrorMsg(tls, pParse, ts+14320, /* "UPSERT not imple..." */ + Xsqlite3ErrorMsg(tls, pParse, ts+14319, /* "UPSERT not imple..." */ libc.VaList(bp+64, (*Table)(unsafe.Pointer(pTab)).FzName)) goto insert_cleanup __56: @@ -103256,7 +104515,7 @@ __56: if !((*Table)(unsafe.Pointer(pTab)).FpSelect != 0) { goto __57 } - Xsqlite3ErrorMsg(tls, pParse, ts+14366 /* "cannot UPSERT a ..." */, 0) + Xsqlite3ErrorMsg(tls, pParse, ts+14365 /* "cannot UPSERT a ..." */, 0) goto insert_cleanup __57: ; @@ -103736,7 +104995,7 @@ __122: } Xsqlite3VdbeAddOp2(tls, v, OP_ChngCntRow, regRowCount, 1) Xsqlite3VdbeSetNumCols(tls, v, 1) - Xsqlite3VdbeSetColName(tls, v, 0, COLNAME_NAME, ts+14387 /* "rows inserted" */, uintptr(0)) + Xsqlite3VdbeSetColName(tls, v, 0, COLNAME_NAME, ts+14386 /* "rows inserted" */, uintptr(0)) __123: ; @@ -103818,9 +105077,9 @@ func Xsqlite3ExprReferencesUpdatedColumn(tls *libc.TLS, pExpr uintptr, aiChng ui // of a table in either Index.pNext order, or in some other order established // by an array of IndexListTerm objects. type IndexListTerm1 = struct { - Fp uintptr - Fix int32 - _ [4]byte + Fp uintptr + Fix int32 + F__ccgo_pad1 [4]byte } /* sqlite3.c:124490:9 */ // The sqlite3GenerateConstraintChecks() routine usually wants to visit @@ -103837,8 +105096,8 @@ type IndexIterator1 = struct { FeType int32 Fi int32 Fu struct { - Flx struct{ FpIdx uintptr } - _ [8]byte + Flx struct{ FpIdx uintptr } + F__ccgo_pad1 [8]byte } } /* sqlite3.c:124491:9 */ @@ -104080,7 +105339,7 @@ func Xsqlite3GenerateConstraintChecks(tls *libc.TLS, pParse uintptr, pTab uintpt fallthrough case OE_Fail: { - var zMsg uintptr = Xsqlite3MPrintf(tls, db, ts+10786 /* "%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) @@ -104291,6 +105550,7 @@ func Xsqlite3GenerateConstraintChecks(tls *libc.TLS, pParse uintptr, pTab uintpt goto __4 goto __6 __6: + } } @@ -105483,7 +106743,7 @@ __1: if !(zSql == uintptr(0)) { goto __2 } - zSql = ts + 756 /* "" */ + zSql = ts + 755 /* "" */ __2: ; @@ -105583,7 +106843,9 @@ __18: *(*uintptr)(unsafe.Pointer(azVals + uintptr(i)*8)) = uintptr(0) __15: ; - if !((*(*func(*libc.TLS, uintptr, int32, uintptr, uintptr) int32)(unsafe.Pointer(&xCallback)))(tls, pArg, nCol, azVals, azCols) != 0) { + if !((*struct { + f func(*libc.TLS, uintptr, int32, uintptr, uintptr) int32 + })(unsafe.Pointer(&struct{ uintptr }{xCallback})).f(tls, pArg, nCol, azVals, azCols) != 0) { goto __20 } // EVIDENCE-OF: R-38229-40159 If the callback function to @@ -106044,7 +107306,7 @@ __1: if !(pzErrMsg != 0) { goto __3 } - *(*uintptr)(unsafe.Pointer(pzErrMsg)) = Xsqlite3_mprintf(tls, ts+10825 /* "not authorized" */, 0) + *(*uintptr)(unsafe.Pointer(pzErrMsg)) = Xsqlite3_mprintf(tls, ts+10824 /* "not authorized" */, 0) __3: ; return SQLITE_ERROR @@ -106054,7 +107316,7 @@ __2: if zProc != 0 { zEntry = zProc } else { - zEntry = ts + 14401 /* "sqlite3_extensio..." */ + zEntry = ts + 14400 /* "sqlite3_extensio..." */ } // tag-20210611-1. Some dlopen() implementations will segfault if given @@ -106074,7 +107336,7 @@ __5: if !((ii < (int32(uint64(unsafe.Sizeof(azEndings)) / uint64(unsafe.Sizeof(uintptr(0)))))) && (handle == uintptr(0))) { goto __7 } - zAltFile = Xsqlite3_mprintf(tls, ts+10786 /* "%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 } @@ -106120,7 +107382,7 @@ __9: return SQLITE_NOMEM __11: ; - libc.Xmemcpy(tls, zAltEntry, ts+14424 /* "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))))) == '/')) { @@ -106134,7 +107396,7 @@ __13: __14: ; iFile++ - if !(Xsqlite3_strnicmp(tls, (zFile+uintptr(iFile)), ts+14433 /* "lib" */, 3) == 0) { + if !(Xsqlite3_strnicmp(tls, (zFile+uintptr(iFile)), ts+14432 /* "lib" */, 3) == 0) { goto __15 } iFile = iFile + (3) @@ -106158,7 +107420,7 @@ __17: goto __18 __18: ; - libc.Xmemcpy(tls, (zAltEntry + uintptr(iEntry)), ts+14437 /* "_init" */, uint64(6)) + libc.Xmemcpy(tls, (zAltEntry + uintptr(iEntry)), ts+14436 /* "_init" */, uint64(6)) zEntry = zAltEntry xInit = Xsqlite3OsDlSym(tls, pVfs, handle, zEntry) __10: @@ -106176,7 +107438,7 @@ __10: } // zErrmsg would be NULL if not so Xsqlite3_snprintf(tls, int32(nMsg), *(*uintptr)(unsafe.Pointer(bp + 56 /* zErrmsg */)), - ts+14443 /* "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: ; @@ -106188,7 +107450,9 @@ __21: __20: ; Xsqlite3_free(tls, zAltEntry) - rc = (*(*func(*libc.TLS, uintptr, uintptr, uintptr) int32)(unsafe.Pointer(&xInit)))(tls, db, bp+56 /* &zErrmsg */, uintptr(unsafe.Pointer(&sqlite3Apis))) + rc = (*struct { + f func(*libc.TLS, uintptr, uintptr, uintptr) int32 + })(unsafe.Pointer(&struct{ uintptr }{xInit})).f(tls, db, bp+56 /* &zErrmsg */, uintptr(unsafe.Pointer(&sqlite3Apis))) if !(rc != 0) { goto __23 } @@ -106201,7 +107465,7 @@ __24: if !(pzErrMsg != 0) { goto __25 } - *(*uintptr)(unsafe.Pointer(pzErrMsg)) = Xsqlite3_mprintf(tls, ts+14486 /* "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 */))) @@ -106241,7 +107505,7 @@ extension_not_found: } // zErrmsg would be NULL if not so Xsqlite3_snprintf(tls, int32(nMsg), *(*uintptr)(unsafe.Pointer(bp + 56 /* zErrmsg */)), - ts+14518 /* "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: ; @@ -106251,7 +107515,7 @@ __28: } var azEndings = [1]uintptr{ - ts + 14555, /* "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: */ @@ -106293,9 +107557,9 @@ func Xsqlite3_enable_load_extension(tls *libc.TLS, db uintptr, onoff int32) int3 // This list is shared across threads. The SQLITE_MUTEX_STATIC_MAIN // mutex must be held while accessing this list. type sqlite3AutoExtList = struct { - FnExt U32 - _ [4]byte - FaExt uintptr + FnExt U32 + F__ccgo_pad1 [4]byte + FaExt uintptr } /* sqlite3.c:127641:9 */ // The following object holds the list of automatically loaded @@ -106416,9 +107680,11 @@ func Xsqlite3AutoLoadExtensions(tls *libc.TLS, db uintptr) { /* sqlite3.c:127761 } Xsqlite3_mutex_leave(tls, mutex) *(*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) { + if (xInit != 0) && ((libc.AssignInt32(&rc, (*struct { + f func(*libc.TLS, uintptr, uintptr, uintptr) int32 + })(unsafe.Pointer(&struct{ uintptr }{xInit})).f(tls, db, bp+8 /* &zErrmsg */, pThunk))) != 0) { Xsqlite3ErrorWithMsg(tls, db, rc, - ts+14558 /* "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 */))) @@ -106463,305 +107729,305 @@ 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 + 4172, /* "id" */ // Used by: foreign_key_list - /* 1 */ ts + 14597, /* "seq" */ - /* 2 */ ts + 7824, /* "table" */ - /* 3 */ ts + 14601, /* "from" */ - /* 4 */ ts + 14606, /* "to" */ - /* 5 */ ts + 14609, /* "on_update" */ - /* 6 */ ts + 14619, /* "on_delete" */ - /* 7 */ ts + 14629, /* "match" */ - /* 8 */ ts + 14635, /* "cid" */ // Used by: table_xinfo - /* 9 */ ts + 14639, /* "name" */ - /* 10 */ ts + 14644, /* "type" */ - /* 11 */ ts + 14649, /* "notnull" */ - /* 12 */ ts + 14657, /* "dflt_value" */ - /* 13 */ ts + 14668, /* "pk" */ - /* 14 */ ts + 14671, /* "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 + 14678, /* "seqno" */ // Used by: index_xinfo - /* 16 */ ts + 14635, /* "cid" */ - /* 17 */ ts + 14639, /* "name" */ - /* 18 */ ts + 14684, /* "desc" */ - /* 19 */ ts + 14689, /* "coll" */ - /* 20 */ ts + 14694, /* "key" */ - /* 21 */ ts + 14639, /* "name" */ // Used by: function_list - /* 22 */ ts + 14698, /* "builtin" */ - /* 23 */ ts + 14644, /* "type" */ - /* 24 */ ts + 14706, /* "enc" */ - /* 25 */ ts + 14710, /* "narg" */ - /* 26 */ ts + 14715, /* "flags" */ - /* 27 */ ts + 10217, /* "tbl" */ // Used by: stats - /* 28 */ ts + 10213, /* "idx" */ - /* 29 */ ts + 14721, /* "wdth" */ - /* 30 */ ts + 14726, /* "hght" */ - /* 31 */ ts + 14731, /* "flgs" */ - /* 32 */ ts + 14597, /* "seq" */ // Used by: index_list - /* 33 */ ts + 14639, /* "name" */ - /* 34 */ ts + 14736, /* "unique" */ - /* 35 */ ts + 14743, /* "origin" */ - /* 36 */ ts + 14750, /* "partial" */ - /* 37 */ ts + 7824, /* "table" */ // Used by: foreign_key_check - /* 38 */ ts + 14758, /* "rowid" */ - /* 39 */ ts + 4175, /* "parent" */ - /* 40 */ ts + 14764, /* "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 + 14597, /* "seq" */ // Used by: database_list - /* 42 */ ts + 14639, /* "name" */ - /* 43 */ ts + 14769, /* "file" */ - /* 44 */ ts + 14774, /* "busy" */ // Used by: wal_checkpoint - /* 45 */ ts + 14779, /* "log" */ - /* 46 */ ts + 14783, /* "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 + 14796, /* "database" */ // Used by: lock_status - /* 48 */ ts + 14805, /* "status" */ - /* 49 */ ts + 14812, /* "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 + 14823, /* "timeout" */ // Used by: busy_timeout + /* 50 */ ts + 14822, /* "timeout" */ // Used by: busy_timeout } /* sqlite3.c:127901:19 */ // Definitions of all built-in pragmas type PragmaName1 = struct { - FzName uintptr - FePragTyp U8 - FmPragFlg U8 - FiPragCName U8 - FnPragCName U8 - _ [4]byte - FiArg U64 + FzName uintptr + FePragTyp U8 + FmPragFlg U8 + FiPragCName U8 + FnPragCName U8 + F__ccgo_pad1 [4]byte + FiArg U64 } /* sqlite3.c:127960:9 */ // Definitions of all built-in pragmas type PragmaName = PragmaName1 /* sqlite3.c:127967:3 */ var aPragmaName = [65]PragmaName{ - { /* zName: */ FzName: ts + 14831, /* "analysis_limit" */ + { /* zName: */ FzName: ts + 14830, /* "analysis_limit" */ /* ePragTyp: */ FePragTyp: U8(PragTyp_ANALYSIS_LIMIT), /* ePragFlg: */ FmPragFlg: U8(PragFlg_Result0)}, - { /* zName: */ FzName: ts + 14846, /* "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 + 14861, /* "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 + 14873, /* "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 + 14889, /* "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 + 14812, /* "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 + 14902, /* "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 + 14914, /* "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 + 14934, /* "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 + 14950, /* "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 + 14971, /* "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 + 14986, /* "compile_options" */ + { /* zName: */ FzName: ts + 14985, /* "compile_options" */ /* ePragTyp: */ FePragTyp: U8(PragTyp_COMPILE_OPTIONS), /* ePragFlg: */ FmPragFlg: U8(PragFlg_Result0)}, - { /* zName: */ FzName: ts + 15002, /* "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 + 15016, /* "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 + 15029, /* "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 + 15043, /* "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 + 15062, /* "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 + 15081, /* "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 + 15104, /* "encoding" */ + { /* zName: */ FzName: ts + 15103, /* "encoding" */ /* ePragTyp: */ FePragTyp: U8(PragTyp_ENCODING), /* ePragFlg: */ FmPragFlg: (U8(PragFlg_Result0 | PragFlg_NoColumns1))}, - { /* zName: */ FzName: ts + 15113, /* "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 + 15131, /* "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 + 15148, /* "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 + 15161, /* "freelist_count" */ + { /* zName: */ FzName: ts + 15160, /* "freelist_count" */ /* ePragTyp: */ FePragTyp: U8(PragTyp_HEADER_VALUE), /* ePragFlg: */ FmPragFlg: (U8(PragFlg_ReadOnly | PragFlg_Result0))}, - { /* zName: */ FzName: ts + 15176, /* "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 + 15194, /* "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 + 15204, /* "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 + 15218, /* "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 + 15234, /* "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 + 15259, /* "incremental_vacu..." */ + { /* zName: */ FzName: ts + 15258, /* "incremental_vacu..." */ /* ePragTyp: */ FePragTyp: U8(PragTyp_INCREMENTAL_VACUUM), /* ePragFlg: */ FmPragFlg: (U8(PragFlg_NeedSchema | PragFlg_NoColumns))}, - { /* zName: */ FzName: ts + 15278, /* "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 + 15289, /* "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 + 15300, /* "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 + 15312, /* "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 + 15328, /* "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 + 15341, /* "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 + 15360, /* "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 + 15379, /* "locking_mode" */ + { /* zName: */ FzName: ts + 15378, /* "locking_mode" */ /* ePragTyp: */ FePragTyp: U8(PragTyp_LOCKING_MODE), /* ePragFlg: */ FmPragFlg: (U8(PragFlg_Result0 | PragFlg_SchemaReq))}, - { /* zName: */ FzName: ts + 15392, /* "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 + 15407, /* "mmap_size" */ + { /* zName: */ FzName: ts + 15406, /* "mmap_size" */ /* ePragTyp: */ FePragTyp: U8(PragTyp_MMAP_SIZE)}, - { /* zName: */ FzName: ts + 15417, /* "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 + 15429, /* "optimize" */ + { /* zName: */ FzName: ts + 15428, /* "optimize" */ /* ePragTyp: */ FePragTyp: U8(PragTyp_OPTIMIZE), /* ePragFlg: */ FmPragFlg: (U8(PragFlg_Result1 | PragFlg_NeedSchema))}, - { /* zName: */ FzName: ts + 15438, /* "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 + 15449, /* "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 + 15459, /* "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 + 15471, /* "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 + 15482, /* "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 + 15494, /* "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 + 15511, /* "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 + 15530, /* "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 + 15556, /* "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 + 15571, /* "secure_delete" */ + { /* zName: */ FzName: ts + 15570, /* "secure_delete" */ /* ePragTyp: */ FePragTyp: U8(PragTyp_SECURE_DELETE), /* ePragFlg: */ FmPragFlg: U8(PragFlg_Result0)}, - { /* zName: */ FzName: ts + 15585, /* "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 + 15604, /* "shrink_memory" */ + { /* zName: */ FzName: ts + 15603, /* "shrink_memory" */ /* ePragTyp: */ FePragTyp: U8(PragTyp_SHRINK_MEMORY), /* ePragFlg: */ FmPragFlg: U8(PragFlg_NoColumns)}, - { /* zName: */ FzName: ts + 15618, /* "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 + 15634, /* "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 + 15646, /* "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 + 15657, /* "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 + 15669, /* "temp_store" */ + { /* zName: */ FzName: ts + 15668, /* "temp_store" */ /* ePragTyp: */ FePragTyp: U8(PragTyp_TEMP_STORE), /* ePragFlg: */ FmPragFlg: (U8(PragFlg_Result0 | PragFlg_NoColumns1))}, - { /* zName: */ FzName: ts + 15680, /* "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 + 15701, /* "threads" */ + { /* zName: */ FzName: ts + 15700, /* "threads" */ /* ePragTyp: */ FePragTyp: U8(PragTyp_THREADS), /* ePragFlg: */ FmPragFlg: U8(PragFlg_Result0)}, - { /* zName: */ FzName: ts + 15709, /* "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 + 15724, /* "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 + 15737, /* "wal_autocheckpoi..." */ + { /* zName: */ FzName: ts + 15736, /* "wal_autocheckpoi..." */ /* ePragTyp: */ FePragTyp: U8(PragTyp_WAL_AUTOCHECKPOINT)}, - { /* zName: */ FzName: ts + 15756, /* "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 + 15771, /* "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))}, @@ -106798,7 +108064,7 @@ func getSafetyLevel(tls *libc.TLS, z uintptr, omitFull int32, dflt U8) U8 { /* s return dflt } -var zText = *(*[25]int8)(unsafe.Pointer(ts + 15787 /* "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 */ @@ -106815,10 +108081,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+15812 /* "exclusive" */) { + if 0 == Xsqlite3StrICmp(tls, z, ts+15811 /* "exclusive" */) { return PAGER_LOCKINGMODE_EXCLUSIVE } - if 0 == Xsqlite3StrICmp(tls, z, ts+15822 /* "normal" */) { + if 0 == Xsqlite3StrICmp(tls, z, ts+15821 /* "normal" */) { return PAGER_LOCKINGMODE_NORMAL } } @@ -106831,13 +108097,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+15829 /* "none" */) { + if 0 == Xsqlite3StrICmp(tls, z, ts+15828 /* "none" */) { return BTREE_AUTOVACUUM_NONE } - if 0 == Xsqlite3StrICmp(tls, z, ts+15834 /* "full" */) { + if 0 == Xsqlite3StrICmp(tls, z, ts+15833 /* "full" */) { return BTREE_AUTOVACUUM_FULL } - if 0 == Xsqlite3StrICmp(tls, z, ts+15839 /* "incremental" */) { + if 0 == Xsqlite3StrICmp(tls, z, ts+15838 /* "incremental" */) { return BTREE_AUTOVACUUM_INCR } i = Xsqlite3Atoi(tls, z) @@ -106855,9 +108121,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+14769 /* "file" */) == 0 { + } else if Xsqlite3StrICmp(tls, z, ts+14768 /* "file" */) == 0 { return 1 - } else if Xsqlite3StrICmp(tls, z, ts+15851 /* "memory" */) == 0 { + } else if Xsqlite3StrICmp(tls, z, ts+15850 /* "memory" */) == 0 { return 2 } else { return 0 @@ -106873,7 +108139,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+15858 /* "temporary storag..." */, 0) + ts+15857 /* "temporary storag..." */, 0) return SQLITE_ERROR } Xsqlite3BtreeClose(tls, (*Db)(unsafe.Pointer((*Sqlite3)(unsafe.Pointer(db)).FaDb+1*32)).FpBt) @@ -106973,19 +108239,19 @@ func actionName(tls *libc.TLS, action U8) uintptr { /* sqlite3.c:128694:19: */ var zName uintptr switch int32(action) { case OE_SetNull: - zName = ts + 15920 /* "SET NULL" */ + zName = ts + 15919 /* "SET NULL" */ break case OE_SetDflt: - zName = ts + 15929 /* "SET DEFAULT" */ + zName = ts + 15928 /* "SET DEFAULT" */ break case OE_Cascade: - zName = ts + 15941 /* "CASCADE" */ + zName = ts + 15940 /* "CASCADE" */ break case OE_Restrict: - zName = ts + 15949 /* "RESTRICT" */ + zName = ts + 15948 /* "RESTRICT" */ break default: - zName = ts + 15958 /* "NO ACTION" */ + zName = ts + 15957 /* "NO ACTION" */ break } return zName @@ -107003,7 +108269,7 @@ func Xsqlite3JournalModename(tls *libc.TLS, eMode int32) uintptr { /* sqlite3.c: } var azModeName = [6]uintptr{ - ts + 15968 /* "delete" */, ts + 15975 /* "persist" */, ts + 15983 /* "off" */, ts + 15987 /* "truncate" */, ts + 15851 /* "memory" */, ts + 15996, /* "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. @@ -107049,13 +108315,13 @@ func pragmaFunclistLine(tls *libc.TLS, v uintptr, p uintptr, isBuiltin int32, sh continue } if (*FuncDef)(unsafe.Pointer(p)).FxValue != uintptr(0) { - zType = ts + 16000 /* "w" */ + zType = ts + 15999 /* "w" */ } else if (*FuncDef)(unsafe.Pointer(p)).FxFinalize != uintptr(0) { - zType = ts + 16002 /* "a" */ + zType = ts + 16001 /* "a" */ } else { - zType = ts + 16004 /* "s" */ + zType = ts + 16003 /* "s" */ } - Xsqlite3VdbeMultiLoad(tls, v, 1, ts+16006, /* "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), @@ -107064,7 +108330,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 + 16013 /* "utf8" */, ts + 16018 /* "utf16le" */, ts + 16026 /* "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: // @@ -107324,7 +108590,7 @@ __4: if !(minusFlag != 0) { goto __5 } - zRight = Xsqlite3MPrintf(tls, db, ts+16034 /* "-%T" */, libc.VaList(bp, pValue)) + zRight = Xsqlite3MPrintf(tls, db, ts+16033 /* "-%T" */, libc.VaList(bp, pValue)) goto __6 __5: zRight = Xsqlite3NameFromToken(tls, db, pValue) @@ -107379,7 +108645,7 @@ __8: if !(*(*uintptr)(unsafe.Pointer(bp + 368 /* &aFcntl[0] */)) != 0) { goto __10 } - Xsqlite3ErrorMsg(tls, pParse, ts+2791 /* "%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: ; @@ -107951,7 +109217,7 @@ __18: if !(zRight != 0) { goto __62 } - if !(Xsqlite3_stricmp(tls, zRight, ts+16038 /* "fast" */) == 0) { + if !(Xsqlite3_stricmp(tls, zRight, ts+16037 /* "fast" */) == 0) { goto __63 } b = 2 @@ -108040,7 +109306,7 @@ __70: // PRAGMA [schema.]locking_mode // PRAGMA [schema.]locking_mode = (normal|exclusive) __20: - zRet = ts + 15822 /* "normal" */ + zRet = ts + 15821 /* "normal" */ eMode = getLockingMode(tls, zRight) if !(((*Token)(unsafe.Pointer(pId2)).Fn == uint32(0)) && (eMode == -1)) { @@ -108081,7 +109347,7 @@ __77: if !(eMode == PAGER_LOCKINGMODE_EXCLUSIVE) { goto __82 } - zRet = ts + 15812 /* "exclusive" */ + zRet = ts + 15811 /* "exclusive" */ __82: ; returnSingleText(tls, v, zRet) @@ -108409,7 +109675,7 @@ __115: if !((rc != SQLITE_OK) || (*(*int32)(unsafe.Pointer(bp + 424 /* res */)) == 0)) { goto __118 } - Xsqlite3ErrorMsg(tls, pParse, ts+16043 /* "not a writable d..." */, 0) + Xsqlite3ErrorMsg(tls, pParse, ts+16042 /* "not a writable d..." */, 0) goto pragma_out __118: ; @@ -108427,7 +109693,7 @@ __119: if !(*(*int8)(unsafe.Pointer(zRight)) != 0) { goto __120 } - Xsqlite3_temp_directory = Xsqlite3_mprintf(tls, ts+2791 /* "%s" */, libc.VaList(bp+16, zRight)) + Xsqlite3_temp_directory = Xsqlite3_mprintf(tls, ts+2790 /* "%s" */, libc.VaList(bp+16, zRight)) goto __121 __120: Xsqlite3_temp_directory = uintptr(0) @@ -108455,7 +109721,7 @@ __122: goto __124 } Xsqlite3ErrorMsg(tls, pParse, - ts+16068 /* "Safety level may..." */, 0) + ts+16067 /* "Safety level may..." */, 0) goto __125 __124: if !(iDb != 1) { @@ -108614,13 +109880,13 @@ __146: Xsqlite3VdbeMultiLoad(tls, v, 1, func() uintptr { if (*PragmaName)(unsafe.Pointer(pPragma)).FiArg != 0 { - return ts + 16121 /* "issisii" */ + return ts + 16120 /* "issisii" */ } - return ts + 16129 /* "issisi" */ + return ts + 16128 /* "issisi" */ }(), libc.VaList(bp+24, (i-nHidden), (*Column)(unsafe.Pointer(pCol)).FzName, - Xsqlite3ColumnType(tls, pCol, ts+756 /* "" */), + Xsqlite3ColumnType(tls, pCol, ts+755 /* "" */), func() int32 { if (*Column)(unsafe.Pointer(pCol)).FnotNull != 0 { return 1 @@ -108695,7 +109961,7 @@ __158: goto __160 } cnum = *(*I16)(unsafe.Pointer((*Index)(unsafe.Pointer(pIdx)).FaiColumn + uintptr(i1)*2)) - Xsqlite3VdbeMultiLoad(tls, v, 1, ts+16136 /* "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) @@ -108705,7 +109971,7 @@ __158: if !((*PragmaName)(unsafe.Pointer(pPragma)).FiArg != 0) { goto __161 } - Xsqlite3VdbeMultiLoad(tls, v, 4, ts+16141, /* "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))))) @@ -108742,8 +110008,8 @@ __164: if !(pIdx1 != 0) { goto __166 } - *(*[3]uintptr)(unsafe.Pointer(bp + 432 /* azOrigin */)) = [3]uintptr{ts + 16146 /* "c" */, ts + 16148 /* "u" */, ts + 14668 /* "pk" */} - Xsqlite3VdbeMultiLoad(tls, v, 1, ts+16150, /* "isisi" */ + *(*[3]uintptr)(unsafe.Pointer(bp + 432 /* 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)), @@ -108777,7 +110043,7 @@ __167: __170: ; - Xsqlite3VdbeMultiLoad(tls, v, 1, ts+16156, /* "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))) @@ -108800,7 +110066,7 @@ __171: goto __173 } pColl = (*HashElem)(unsafe.Pointer(p)).Fdata - Xsqlite3VdbeMultiLoad(tls, v, 1, ts+16160 /* "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 __172 __172: p = (*HashElem)(unsafe.Pointer(p)).Fnext @@ -108864,7 +110130,7 @@ __183: goto __185 } pMod = (*HashElem)(unsafe.Pointer(j1)).Fdata - Xsqlite3VdbeMultiLoad(tls, v, 1, ts+16004 /* "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 __184 __184: j1 = (*HashElem)(unsafe.Pointer(j1)).Fnext @@ -108881,7 +110147,7 @@ __186: if !(i6 < (int32(uint64(unsafe.Sizeof(aPragmaName)) / uint64(unsafe.Sizeof(PragmaName{}))))) { goto __188 } - Xsqlite3VdbeMultiLoad(tls, v, 1, ts+16004 /* "s" */, libc.VaList(bp+216, aPragmaName[i6].FzName)) + Xsqlite3VdbeMultiLoad(tls, v, 1, ts+16003 /* "s" */, libc.VaList(bp+216, aPragmaName[i6].FzName)) goto __187 __187: i6++ @@ -108917,7 +110183,7 @@ __194: if !(j2 < (*FKey)(unsafe.Pointer(pFK)).FnCol) { goto __196 } - Xsqlite3VdbeMultiLoad(tls, v, 1, ts+16163, /* "iissssss" */ + Xsqlite3VdbeMultiLoad(tls, v, 1, ts+16162, /* "iissssss" */ libc.VaList(bp+224, i7, j2, (*FKey)(unsafe.Pointer(pFK)).FzTo, @@ -108925,7 +110191,7 @@ __194: (*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+16172 /* "NONE" */)) + ts+16171 /* "NONE" */)) goto __195 __195: j2++ @@ -109118,7 +110384,7 @@ __223: Xsqlite3VdbeAddOp2(tls, v, OP_Null, 0, (regResult + 1)) __224: ; - Xsqlite3VdbeMultiLoad(tls, v, (regResult + 2), ts+16177 /* "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 + 464 /* aiCols */))) @@ -109384,7 +110650,7 @@ __251: 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+16181 /* "*** 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) @@ -109474,7 +110740,7 @@ __270: __271: ; jmp2 = Xsqlite3VdbeAddOp1(tls, v, OP_NotNull, 3) - zErr = Xsqlite3MPrintf(tls, db, ts+16205 /* "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) @@ -109514,7 +110780,7 @@ __276: SQLITE_JUMPIFNULL) Xsqlite3VdbeResolveLabel(tls, v, addrCkFault) (*Parse)(unsafe.Pointer(pParse)).FiSelfTab = 0 - zErr1 = Xsqlite3MPrintf(tls, db, ts+16225, /* "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) @@ -109548,9 +110814,9 @@ __281: // Verify that an index entry exists for the current table row jmp21 = Xsqlite3VdbeAddOp4Int(tls, v, OP_Found, (*(*int32)(unsafe.Pointer(bp + 480 /* iIdxCur */)) + j4), ckUniq, r1, int32((*Index)(unsafe.Pointer(pIdx5)).FnColumn)) - Xsqlite3VdbeLoadString(tls, v, 3, ts+16255 /* "row " */) + Xsqlite3VdbeLoadString(tls, v, 3, ts+16254 /* "row " */) Xsqlite3VdbeAddOp3(tls, v, OP_Concat, 7, 3, 3) - Xsqlite3VdbeLoadString(tls, v, 4, ts+16260 /* " 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) @@ -109590,7 +110856,7 @@ __285: Xsqlite3VdbeJumpHere(tls, v, jmp6) Xsqlite3VdbeAddOp4Int(tls, v, OP_IdxGT, (*(*int32)(unsafe.Pointer(bp + 480 /* iIdxCur */)) + j4), uniqOk, r1, int32((*Index)(unsafe.Pointer(pIdx5)).FnKeyCol)) - Xsqlite3VdbeLoadString(tls, v, 3, ts+16281 /* "non-unique entry..." */) + Xsqlite3VdbeLoadString(tls, v, 3, ts+16280 /* "non-unique entry..." */) Xsqlite3VdbeGoto(tls, v, jmp5) Xsqlite3VdbeResolveLabel(tls, v, uniqOk) __282: @@ -109612,7 +110878,7 @@ __277: if !(!(isQuick != 0)) { goto __287 } - Xsqlite3VdbeLoadString(tls, v, 2, ts+16308 /* "wrong # of entri..." */) + Xsqlite3VdbeLoadString(tls, v, 2, ts+16307 /* "wrong # of entri..." */) j4 = 0 pIdx5 = (*Table)(unsafe.Pointer(pTab7)).FpIndex __288: @@ -109663,7 +110929,7 @@ __233: } (*VdbeOp)(unsafe.Pointer(aOp2)).Fp2 = (1 - *(*int32)(unsafe.Pointer(bp + 472 /* mxErr */))) (*VdbeOp)(unsafe.Pointer(aOp2 + 2*24)).Fp4type = int8(-1) - *(*uintptr)(unsafe.Pointer(aOp2 + 2*24 + 16 /* &.p4 */)) = ts + 16337 /* "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) __292: @@ -109741,7 +111007,7 @@ __299: if !(!(int32((*EncName)(unsafe.Pointer(pEnc)).FzName) != 0)) { goto __301 } - Xsqlite3ErrorMsg(tls, pParse, ts+16340 /* "unsupported enco..." */, libc.VaList(bp+336, zRight)) + Xsqlite3ErrorMsg(tls, pParse, ts+16339 /* "unsupported enco..." */, libc.VaList(bp+336, zRight)) __301: ; __296: @@ -109853,19 +111119,19 @@ __47: if !(zRight != 0) { goto __308 } - if !(Xsqlite3StrICmp(tls, zRight, ts+15834 /* "full" */) == 0) { + if !(Xsqlite3StrICmp(tls, zRight, ts+15833 /* "full" */) == 0) { goto __309 } eMode2 = SQLITE_CHECKPOINT_FULL goto __310 __309: - if !(Xsqlite3StrICmp(tls, zRight, ts+16365 /* "restart" */) == 0) { + if !(Xsqlite3StrICmp(tls, zRight, ts+16364 /* "restart" */) == 0) { goto __311 } eMode2 = SQLITE_CHECKPOINT_RESTART goto __312 __311: - if !(Xsqlite3StrICmp(tls, zRight, ts+15987 /* "truncate" */) == 0) { + if !(Xsqlite3StrICmp(tls, zRight, ts+15986 /* "truncate" */) == 0) { goto __313 } eMode2 = SQLITE_CHECKPOINT_TRUNCATE @@ -110052,7 +111318,7 @@ __328: __330: ; - zSubSql = Xsqlite3MPrintf(tls, db, ts+16373, /* "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 __331 @@ -110200,9 +111466,9 @@ pragma_out: } type EncName = struct { - FzName uintptr - Fenc U8 - _ [7]byte + FzName uintptr + Fenc U8 + F__ccgo_pad1 [7]byte } /* sqlite3.c:130282:18 */ var iLn3 int32 = 0 /* sqlite3.c:128958:22 */ @@ -110236,14 +111502,14 @@ var endCode = [7]VdbeOpList{ {Fopcode: U8(OP_Goto), Fp2: int8(3)}, // 6 } /* sqlite3.c:130233:31 */ var encnames1 = [9]EncName{ - {FzName: ts + 16391 /* "UTF8" */, Fenc: U8(SQLITE_UTF8)}, - {FzName: ts + 16396 /* "UTF-8" */, Fenc: U8(SQLITE_UTF8)}, // Must be element [1] - {FzName: ts + 16402 /* "UTF-16le" */, Fenc: U8(SQLITE_UTF16LE)}, // Must be element [2] - {FzName: ts + 16411 /* "UTF-16be" */, Fenc: U8(SQLITE_UTF16BE)}, // Must be element [3] - {FzName: ts + 16420 /* "UTF16le" */, Fenc: U8(SQLITE_UTF16LE)}, - {FzName: ts + 16428 /* "UTF16be" */, Fenc: U8(SQLITE_UTF16BE)}, - {FzName: ts + 16436 /* "UTF-16" */}, // SQLITE_UTF16NATIVE - {FzName: ts + 16443 /* "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{ @@ -110260,12 +111526,12 @@ var readCookie = [3]VdbeOpList{ // Implementation of an eponymous virtual table that runs a pragma. // type PragmaVtab1 = struct { - Fbase Sqlite3_vtab - Fdb uintptr - FpName uintptr - FnHidden U8 - FiHidden U8 - _ [6]byte + Fbase Sqlite3_vtab + Fdb uintptr + FpName uintptr + FnHidden U8 + FiHidden U8 + F__ccgo_pad1 [6]byte } /* sqlite3.c:130740:9 */ // **************************************************************************** @@ -110300,7 +111566,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+16449 /* "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: @@ -110308,7 +111574,7 @@ __1: goto __3 } { - Xsqlite3_str_appendf(tls, bp+32 /* &acc */, ts+16464 /* "%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(',') } @@ -110321,19 +111587,19 @@ __2: __3: ; if i == 0 { - Xsqlite3_str_appendf(tls, bp+32 /* &acc */, ts+16471 /* "(\"%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+16477 /* ",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+16489 /* ",schema HIDDEN" */) + Xsqlite3_str_appendall(tls, bp+32 /* &acc */, ts+16488 /* ",schema HIDDEN" */) j++ } - Xsqlite3_str_append(tls, bp+32 /* &acc */, ts+4067 /* ")" */, 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] */) @@ -110349,7 +111615,7 @@ __3: (*PragmaVtab)(unsafe.Pointer(pTab)).FnHidden = U8(j) } } else { - *(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3_mprintf(tls, ts+2791 /* "%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 @@ -110512,7 +111778,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+2791 /* "%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 } @@ -110528,13 +111794,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+16504 /* "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+16512 /* "%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+16516 /* "=%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) { @@ -110543,7 +111809,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+2791 /* "%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) @@ -110636,12 +111902,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+16520 /* "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 + 16548 /* "rename" */ + return ts + 16547 /* "rename" */ } - return ts + 16555 /* "drop column" */ + return ts + 16554 /* "drop column" */ }(), zExtra)) (*InitData)(unsafe.Pointer(pData)).Frc = SQLITE_ERROR @@ -110653,11 +111919,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 + 4123 /* "?" */ + zObj = ts + 4122 /* "?" */ } - z = Xsqlite3MPrintf(tls, db, ts+16567 /* "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+16598 /* "%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) @@ -110734,7 +112000,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+12851 /* "invalid rootpage" */) + corruptSchema(tls, pData, argv, ts+12850 /* "invalid rootpage" */) } } libc.SetBitFieldPtr8Uint32(db+184 /* &.init */ +8 /* &.orphanTrigger */, uint32(0), 0, 0x1) @@ -110771,13 +112037,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+16606 /* "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+12851 /* "invalid rootpage" */) + corruptSchema(tls, pData, argv, ts+12850 /* "invalid rootpage" */) } } } @@ -110820,16 +112086,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 + 7824 /* "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 + 10873 /* "sqlite_temp_mast..." */ + return ts + 10872 /* "sqlite_temp_mast..." */ } - return ts + 4957 /* "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 + 6914 /* "1" */ - *(*uintptr)(unsafe.Pointer(bp + 16 /* &azArg[0] */ + 4*8)) = ts + 16619 /* "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 @@ -110942,7 +112208,7 @@ __10: goto __13 } Xsqlite3SetString(tls, pzErrMsg, db, - ts+10500 /* "attached databas..." */) + ts+10499 /* "attached databas..." */) rc = SQLITE_ERROR goto initone_error_out __13: @@ -110982,7 +112248,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+16691 /* "unsupported file..." */) + Xsqlite3SetString(tls, pzErrMsg, db, ts+16690 /* "unsupported file..." */) rc = SQLITE_ERROR goto initone_error_out __17: @@ -111004,7 +112270,7 @@ __18: (*InitData)(unsafe.Pointer(bp + 64 /* &initData */)).FmxPage = Xsqlite3BtreeLastPage(tls, (*Db)(unsafe.Pointer(pDb)).FpBt) zSql = Xsqlite3MPrintf(tls, db, - ts+16715, /* "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 @@ -111227,7 +112493,9 @@ func Xsqlite3ParserReset(tls *libc.TLS, pParse uintptr) { /* sqlite3.c:131614:21 for (*Parse)(unsafe.Pointer(pParse)).FpCleanup != 0 { var pCleanup uintptr = (*Parse)(unsafe.Pointer(pParse)).FpCleanup (*Parse)(unsafe.Pointer(pParse)).FpCleanup = (*ParseCleanup)(unsafe.Pointer(pCleanup)).FpNext - (*(*func(*libc.TLS, uintptr, uintptr))(unsafe.Pointer((pCleanup + 16 /* &.xCleanup */))))(tls, db, (*ParseCleanup)(unsafe.Pointer(pCleanup)).FpPtr) + (*struct { + f func(*libc.TLS, uintptr, uintptr) + })(unsafe.Pointer(&struct{ uintptr }{(*ParseCleanup)(unsafe.Pointer(pCleanup)).FxCleanup})).f(tls, db, (*ParseCleanup)(unsafe.Pointer(pCleanup)).FpPtr) Xsqlite3DbFreeNN(tls, db, pCleanup) } Xsqlite3DbFree(tls, db, (*Parse)(unsafe.Pointer(pParse)).FaLabel) @@ -111281,7 +112549,9 @@ func Xsqlite3ParserAddCleanup(tls *libc.TLS, pParse uintptr, xCleanup uintptr, p (*ParseCleanup)(unsafe.Pointer(pCleanup)).FpPtr = pPtr (*ParseCleanup)(unsafe.Pointer(pCleanup)).FxCleanup = xCleanup } else { - (*(*func(*libc.TLS, uintptr, uintptr))(unsafe.Pointer(&xCleanup)))(tls, (*Parse)(unsafe.Pointer(pParse)).Fdb, pPtr) + (*struct { + f func(*libc.TLS, uintptr, uintptr) + })(unsafe.Pointer(&struct{ uintptr }{xCleanup})).f(tls, (*Parse)(unsafe.Pointer(pParse)).Fdb, pPtr) pPtr = uintptr(0) } return pPtr @@ -111364,7 +112634,7 @@ __3: goto __7 } zDb = (*Db)(unsafe.Pointer((*Sqlite3)(unsafe.Pointer(db)).FaDb + uintptr(i)*32)).FzDbSName - Xsqlite3ErrorWithMsg(tls, db, rc, ts+16749 /* "database schema ..." */, libc.VaList(bp, zDb)) + Xsqlite3ErrorWithMsg(tls, db, rc, ts+16748 /* "database schema ..." */, libc.VaList(bp, zDb)) goto end_prepare __7: @@ -111392,7 +112662,7 @@ __2: if !(nBytes > mxLen) { goto __10 } - Xsqlite3ErrorWithMsg(tls, db, SQLITE_TOOBIG, ts+16779 /* "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: @@ -111455,7 +112725,7 @@ __19: if !(*(*uintptr)(unsafe.Pointer(bp + 424 /* zErrMsg */)) != 0) { goto __20 } - Xsqlite3ErrorWithMsg(tls, db, rc, ts+2791 /* "%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: @@ -111688,11 +112958,11 @@ func Xsqlite3_prepare16_v3(tls *libc.TLS, db uintptr, zSql uintptr, nBytes int32 // how to process the DISTINCT keyword, to simplify passing that information // into the selectInnerLoop() routine. type DistinctCtx1 = struct { - FisTnct U8 - FeTnctType U8 - _ [2]byte - FtabTnct int32 - FaddrTnct int32 + FisTnct U8 + FeTnctType U8 + F__ccgo_pad1 [2]byte + FtabTnct int32 + FaddrTnct int32 } /* sqlite3.c:132093:9 */ //************* End of prepare.c ******************************************** @@ -111742,7 +113012,7 @@ type SortCtx1 = struct { FlabelDone int32 FlabelOBLopt int32 FsortFlags U8 - _ [3]byte + F__ccgo_pad1 [3]byte FpDeferredRowLoad uintptr } /* sqlite3.c:132119:9 */ @@ -111764,9 +113034,9 @@ type SortCtx1 = struct { // extracted from the sorter. type SortCtx = SortCtx1 /* sqlite3.c:132119:24 */ type RowLoadInfo1 = struct { - FregResult int32 - FecelFlags U8 - _ [3]byte + FregResult int32 + FecelFlags U8 + F__ccgo_pad1 [3]byte } /* sqlite3.c:132119:9 */ // Delete all the content of a Select structure. Deallocate the structure @@ -111930,24 +113200,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 + 9653 /* " " */ + var zSp uintptr = ts + 9652 /* " " */ if pC == uintptr(0) { zSp++ } Xsqlite3ErrorMsg(tls, pParse, - ts+16798 /* "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+16842 /* "RIGHT and FULL O..." */, 0) + ts+16841 /* "RIGHT and FULL O..." */, 0) jointype = JT_INNER } return jointype } -var zKeyText = *(*[34]int8)(unsafe.Pointer(ts + 16897 /* "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 @@ -112153,7 +113423,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+16931 /* "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++ { @@ -112177,7 +113447,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+16981 /* "cannot have both..." */, 0) + ts+16980 /* "cannot have both..." */, 0) return 1 } @@ -112212,7 +113482,7 @@ __1: if (iRightCol < 0) || !(tableAndColumnIndex(tls, pSrc, (i+1), zName, bp+24 /* &iLeft */, bp+28 /* &iLeftCol */, 0) != 0) { Xsqlite3ErrorMsg(tls, pParse, - ts+17036 /* "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, @@ -113003,16 +114273,16 @@ func Xsqlite3SelectOpName(tls *libc.TLS, id int32) uintptr { /* sqlite3.c:133540 var z uintptr switch id { case TK_ALL: - z = ts + 17100 /* "UNION ALL" */ + z = ts + 17099 /* "UNION ALL" */ break case TK_INTERSECT: - z = ts + 17110 /* "INTERSECT" */ + z = ts + 17109 /* "INTERSECT" */ break case TK_EXCEPT: - z = ts + 17120 /* "EXCEPT" */ + z = ts + 17119 /* "EXCEPT" */ break default: - z = ts + 17127 /* "UNION" */ + z = ts + 17126 /* "UNION" */ break } return z @@ -113030,7 +114300,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+17133 /* "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 @@ -113296,8 +114566,8 @@ func columnTypeImpl(tls *libc.TLS, pNC uintptr, pExpr uintptr, pzOrigDb uintptr, } if iCol < 0 { - zType = ts + 11385 /* "INTEGER" */ - *(*uintptr)(unsafe.Pointer(bp + 72 /* zOrigCol */)) = ts + 14758 /* "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)) @@ -113450,13 +114720,13 @@ func Xsqlite3GenerateColumnNames(tls *libc.TLS, pParse uintptr, pSelect uintptr) } if iCol < 0 { - zCol = ts + 14758 /* "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+10786 /* "%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)) @@ -113464,7 +114734,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+17156 /* "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) } @@ -113553,7 +114823,7 @@ __1: if iCol >= 0 { zName = (*Column)(unsafe.Pointer((*Table)(unsafe.Pointer(pTab)).FaCol + uintptr(iCol)*32)).FzName } else { - zName = ts + 14758 /* "rowid" */ + zName = ts + 14757 /* "rowid" */ } } else if int32((*Expr)(unsafe.Pointer(pColExpr)).Fop) == TK_ID { @@ -113566,7 +114836,7 @@ __1: if (zName != 0) && !(Xsqlite3IsTrueOrFalse(tls, zName) != 0) { zName = Xsqlite3DbStrDup(tls, db, zName) } else { - zName = Xsqlite3MPrintf(tls, db, ts+17156 /* "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, @@ -113581,7 +114851,7 @@ __1: nName = j } } - zName = Xsqlite3MPrintf(tls, db, ts+17165 /* "%.*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 */) } @@ -113938,7 +115208,7 @@ func generateWithRecursiveQuery(tls *libc.TLS, pParse uintptr, p uintptr, pDest if !((*Select)(unsafe.Pointer(p)).FpWin != 0) { goto __1 } - Xsqlite3ErrorMsg(tls, pParse, ts+17173 /* "cannot use windo..." */, 0) + Xsqlite3ErrorMsg(tls, pParse, ts+17172 /* "cannot use windo..." */, 0) return __1: ; @@ -114049,7 +115319,7 @@ __12: if !(((*Select)(unsafe.Pointer(pFirstRec)).FselFlags & U32(SF_Aggregate)) != 0) { goto __15 } - Xsqlite3ErrorMsg(tls, pParse, ts+17222 /* "recursive aggreg..." */, 0) + Xsqlite3ErrorMsg(tls, pParse, ts+17221 /* "recursive aggreg..." */, 0) goto end_of_recursive_query __15: ; @@ -114071,7 +115341,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+17264 /* "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) { @@ -114114,7 +115384,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+17270 /* "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 @@ -114164,11 +115434,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+17285 /* "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 + 756 /* "" */ + return ts + 755 /* "" */ } - return ts + 17308 /* "S" */ + return ts + 17307 /* "S" */ }())) for p != 0 { selectInnerLoop(tls, pParse, p, -1, uintptr(0), uintptr(0), pDest, 1, 1) @@ -114320,8 +115590,8 @@ __6: if !((*Select)(unsafe.Pointer(pPrior)).FpPrior == uintptr(0)) { goto __8 } - Xsqlite3VdbeExplain(tls, pParse, uint8(1), ts+17310 /* "COMPOUND QUERY" */, 0) - Xsqlite3VdbeExplain(tls, pParse, uint8(1), ts+17325 /* "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: ; @@ -114370,7 +115640,7 @@ __16: ; __15: ; - Xsqlite3VdbeExplain(tls, pParse, uint8(1), ts+17100 /* "UNION ALL" */, 0) + Xsqlite3VdbeExplain(tls, pParse, uint8(1), ts+17099 /* "UNION ALL" */, 0) rc = Xsqlite3Select(tls, pParse, p, bp+16 /* &dest */) @@ -114446,7 +115716,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+17344 /* "%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 */) @@ -114518,7 +115788,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+17344 /* "%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 */) @@ -114679,10 +115949,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+17365 /* "all VALUES must ..." */, 0) + Xsqlite3ErrorMsg(tls, pParse, ts+17364 /* "all VALUES must ..." */, 0) } else { Xsqlite3ErrorMsg(tls, pParse, - ts+17411, /* "SELECTs to the l..." */ + ts+17410, /* "SELECTs to the l..." */ libc.VaList(bp, Xsqlite3SelectOpName(tls, int32((*Select)(unsafe.Pointer(p)).Fop)))) } } @@ -115062,9 +116332,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+6252 /* "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+6252 /* "ORDER" */) + Xsqlite3ResolveOrderGroupBy(tls, pParse, pPrior, (*Select)(unsafe.Pointer(pPrior)).FpOrderBy, ts+6251 /* "ORDER" */) } // Compute the limit registers @@ -115093,7 +116363,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+17493 /* "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. @@ -115101,7 +116371,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+17504 /* "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) @@ -115115,7 +116385,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+17509 /* "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 @@ -115231,12 +116501,12 @@ func multiSelectOrderBy(tls *libc.TLS, pParse uintptr, p uintptr, pDest uintptr) // All references to columns in table iTable are to be replaced by corresponding // expressions in pEList. type SubstContext1 = struct { - FpParse uintptr - FiTable int32 - FiNewTable int32 - FisLeftJoin int32 - _ [4]byte - FpEList uintptr + FpParse uintptr + FiTable int32 + FiNewTable int32 + FisLeftJoin int32 + F__ccgo_pad1 [4]byte + FpEList uintptr } /* sqlite3.c:135643:9 */ // An instance of the SubstContext object describes an substitution edit @@ -115312,7 +116582,7 @@ func substExpr(tls *libc.TLS, pSubst uintptr, pExpr uintptr) uintptr { /* sqlite if pColl != 0 { return (*CollSeq)(unsafe.Pointer(pColl)).FzName } - return ts + 319 /* "BINARY" */ + return ts + 318 /* "BINARY" */ }()) } *(*U32)(unsafe.Pointer(pExpr + 4 /* &.flags */)) &= (libc.Uint32FromInt32(libc.CplInt32(EP_Collate))) @@ -116525,12 +117795,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+13840 /* "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+13844 /* "max" */) == 0 { + } else if Xsqlite3StrICmp(tls, zFunc, ts+13843 /* "max" */) == 0 { eRet = WHERE_ORDERBY_MAX sortFlags = U8(KEYINFO_ORDER_DESC) } else { @@ -116599,7 +117869,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+17515 /* "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 } @@ -116710,7 +117980,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+17533 /* "'%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 @@ -116898,7 +118168,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+17556 /* "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)) @@ -116914,7 +118184,7 @@ func resolveFromTermToCte(tls *libc.TLS, pParse uintptr, pWalker uintptr, pFrom pRecTerm = (*Select)(unsafe.Pointer(pRecTerm)).FpPrior } - (*Cte)(unsafe.Pointer(pCte)).FzCteErr = ts + 17599 /* "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 { @@ -116940,7 +118210,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+17622, /* "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 @@ -116951,9 +118221,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 + 17660 /* "multiple recursi..." */ + (*Cte)(unsafe.Pointer(pCte)).FzCteErr = ts + 17659 /* "multiple recursi..." */ } else { - (*Cte)(unsafe.Pointer(pCte)).FzCteErr = ts + 17694 /* "recursive refere..." */ + (*Cte)(unsafe.Pointer(pCte)).FzCteErr = ts + 17693 /* "recursive refere..." */ } Xsqlite3WalkSelect(tls, pWalker, pSel) } @@ -117001,7 +118271,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+17732 /* "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 @@ -117128,7 +118398,7 @@ __1: return WRC_Abort } if (*Table)(unsafe.Pointer(pTab)).FnTabRef >= U32(0xffff) { - Xsqlite3ErrorMsg(tls, pParse, ts+17744, /* "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 @@ -117147,7 +118417,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+17783, /* "access to view \"..." */ + Xsqlite3ErrorMsg(tls, pParse, ts+17782, /* "access to view \"..." */ libc.VaList(bp+8, (*Table)(unsafe.Pointer(pTab)).FzName)) } @@ -117155,7 +118425,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+17814, /* "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) @@ -117270,7 +118540,7 @@ __3: if iDb >= 0 { zSchemaName = (*Db)(unsafe.Pointer((*Sqlite3)(unsafe.Pointer(db)).FaDb + uintptr(iDb)*32)).FzDbSName } else { - zSchemaName = ts + 17847 /* "*" */ + zSchemaName = ts + 17846 /* "*" */ } } for j = 0; j < int32((*Table)(unsafe.Pointer(pTab)).FnCol); j++ { @@ -117319,7 +118589,7 @@ __3: pExpr = Xsqlite3PExpr(tls, pParse, TK_DOT, pLeft, pExpr) } if longNames != 0 { - zColname = Xsqlite3MPrintf(tls, db, ts+10786 /* "%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 { @@ -117335,7 +118605,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+17849, /* "%s.%s.%s" */ + (*ExprList_item)(unsafe.Pointer(pX)).FzEName = Xsqlite3MPrintf(tls, db, ts+17848, /* "%s.%s.%s" */ libc.VaList(bp+40, zSchemaName, zTabName, zColname)) } @@ -117355,9 +118625,9 @@ __3: ; if !(tableSeen != 0) { if zTName != 0 { - Xsqlite3ErrorMsg(tls, pParse, ts+17858 /* "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+17876 /* "no tables specif..." */, 0) + Xsqlite3ErrorMsg(tls, pParse, ts+17875 /* "no tables specif..." */, 0) } } } @@ -117367,7 +118637,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+17896 /* "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) { @@ -117555,13 +118825,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+17927 /* "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+17978 /* "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)) } } @@ -117761,19 +119031,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+18011, /* "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 + 18023 /* " USING COVERING ..." */ + return ts + 18022 /* " USING COVERING ..." */ } - return ts + 756 /* "" */ + return ts + 755 /* "" */ }(), func() uintptr { if bCover != 0 { return (*Index)(unsafe.Pointer(pIdx)).FzName } - return ts + 756 /* "" */ + return ts + 755 /* "" */ }())) } } @@ -117793,7 +119063,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+6914 /* "1" */) + var pNew uintptr = Xsqlite3Expr(tls, db, TK_INTEGER, ts+6913 /* "1" */) if pNew != 0 { var pWhere uintptr = (*Select)(unsafe.Pointer(pS)).FpWhere { @@ -118095,7 +119365,7 @@ __7: goto __10 } Xsqlite3ErrorMsg(tls, pParse, - ts+18046, /* "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 @@ -118175,7 +119445,7 @@ __17: if !(int32((*Table)(unsafe.Pointer(pTab)).FnCol) != (*ExprList)(unsafe.Pointer((*Select)(unsafe.Pointer(pSub)).FpEList)).FnExpr) { goto __18 } - Xsqlite3ErrorMsg(tls, pParse, ts+18100, /* "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: @@ -118316,7 +119586,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+756 /* "" */, (*SrcItem)(unsafe.Pointer(pItem1)).FzDatabase) + Xsqlite3AuthCheck(tls, pParse, SQLITE_READ, (*SrcItem)(unsafe.Pointer(pItem1)).FzName, ts+755 /* "" */, (*SrcItem)(unsafe.Pointer(pItem1)).FzDatabase) __32: ; @@ -118381,7 +119651,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+18140 /* "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) @@ -118443,7 +119713,7 @@ __44: __45: ; Xsqlite3SelectDestInit(tls, bp+96 /* &dest */, SRT_EphemTab, (*SrcItem)(unsafe.Pointer(pItem1)).FiCursor) - Xsqlite3VdbeExplain(tls, pParse, uint8(1), ts+18155 /* "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) { @@ -118963,9 +120233,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 + 18171 /* "DISTINCT" */ + return ts + 18170 /* "DISTINCT" */ } - return ts + 18180 /* "GROUP BY" */ + return ts + 18179 /* "GROUP BY" */ }()) groupBySort = 1 @@ -119377,7 +120647,7 @@ __58: if !(int32((*DistinctCtx)(unsafe.Pointer(bp+136 /* &sDistinct */)).FeTnctType) == WHERE_DISTINCT_UNORDERED) { goto __140 } - explainTempTable(tls, pParse, ts+18171 /* "DISTINCT" */) + explainTempTable(tls, pParse, ts+18170 /* "DISTINCT" */) __140: ; @@ -119389,9 +120659,9 @@ __140: explainTempTable(tls, pParse, func() uintptr { if (*SortCtx)(unsafe.Pointer(bp+48 /* &sSort */)).FnOBSat > 0 { - return ts + 18189 /* "RIGHT PART OF OR..." */ + return ts + 18188 /* "RIGHT PART OF OR..." */ } - return ts + 18212 /* "ORDER BY" */ + return ts + 18211 /* "ORDER BY" */ }()) generateSortTail(tls, pParse, p, bp+48 /* &sSort */, (*ExprList)(unsafe.Pointer(pEList)).FnExpr, pDest) @@ -119439,14 +120709,14 @@ select_end: // This structure is used to pass data from sqlite3_get_table() through // to the callback function is uses to build the result. type TabResult1 = struct { - FazResult uintptr - FzErrMsg uintptr - FnAlloc U32 - FnRow U32 - FnColumn U32 - FnData U32 - Frc int32 - _ [4]byte + FazResult uintptr + FzErrMsg uintptr + FnAlloc U32 + FnRow U32 + FnColumn U32 + FnData U32 + Frc int32 + F__ccgo_pad1 [4]byte } /* sqlite3.c:139498:9 */ //************* End of select.c ********************************************* @@ -119525,7 +120795,7 @@ __7: if !(i < nCol) { goto __9 } - z = Xsqlite3_mprintf(tls, ts+2791 /* "%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 } @@ -119547,7 +120817,7 @@ __5: } Xsqlite3_free(tls, (*TabResult)(unsafe.Pointer(p)).FzErrMsg) (*TabResult)(unsafe.Pointer(p)).FzErrMsg = Xsqlite3_mprintf(tls, - ts+18221 /* "sqlite3_get_tabl..." */, 0) + ts+18220 /* "sqlite3_get_tabl..." */, 0) (*TabResult)(unsafe.Pointer(p)).Frc = SQLITE_ERROR return 1 __11: @@ -119646,7 +120916,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+2791 /* "%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) } @@ -119807,7 +121077,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+18286 /* "temporary trigge..." */, 0) + Xsqlite3ErrorMsg(tls, pParse, ts+18285 /* "temporary trigge..." */, 0) goto trigger_cleanup __3: ; @@ -119868,7 +121138,7 @@ __7: __8: ; - Xsqlite3FixInit(tls, bp+40 /* &sFix */, pParse, iDb, ts+18332 /* "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 } @@ -119886,7 +121156,7 @@ __10: if !((*Table)(unsafe.Pointer(pTab)).FnModuleArg != 0) { goto __11 } - Xsqlite3ErrorMsg(tls, pParse, ts+18340 /* "cannot create tr..." */, 0) + Xsqlite3ErrorMsg(tls, pParse, ts+18339 /* "cannot create tr..." */, 0) goto trigger_orphan_error __11: ; @@ -119901,7 +121171,7 @@ __11: goto trigger_cleanup __12: ; - if !(Xsqlite3CheckObjectName(tls, pParse, zName, ts+18332 /* "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 @@ -119917,7 +121187,7 @@ __13: if !(!(noErr != 0)) { goto __16 } - Xsqlite3ErrorMsg(tls, pParse, ts+18381 /* "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: ; @@ -119931,10 +121201,10 @@ __14: ; // Do not create a trigger on a system table - if !(Xsqlite3_strnicmp(tls, (*Table)(unsafe.Pointer(pTab)).FzName, ts+7082 /* "sqlite_" */, 7) == 0) { + if !(Xsqlite3_strnicmp(tls, (*Table)(unsafe.Pointer(pTab)).FzName, ts+7081 /* "sqlite_" */, 7) == 0) { goto __18 } - Xsqlite3ErrorMsg(tls, pParse, ts+18407 /* "cannot create tr..." */, 0) + Xsqlite3ErrorMsg(tls, pParse, ts+18406 /* "cannot create tr..." */, 0) goto trigger_cleanup __18: ; @@ -119944,12 +121214,12 @@ __18: if !(((*Table)(unsafe.Pointer(pTab)).FpSelect != 0) && (tr_tm != TK_INSTEAD)) { goto __19 } - Xsqlite3ErrorMsg(tls, pParse, ts+18445, /* "cannot create %s..." */ + Xsqlite3ErrorMsg(tls, pParse, ts+18444, /* "cannot create %s..." */ libc.VaList(bp+8, func() uintptr { if tr_tm == TK_BEFORE { - return ts + 18482 /* "BEFORE" */ + return ts + 18481 /* "BEFORE" */ } - return ts + 18489 /* "AFTER" */ + return ts + 18488 /* "AFTER" */ }(), pTableName+8 /* &.a */)) goto trigger_orphan_error __19: @@ -119958,7 +121228,7 @@ __19: goto __20 } Xsqlite3ErrorMsg(tls, pParse, - ts+18495 /* "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: ; @@ -119988,9 +121258,9 @@ __23: ; if !(Xsqlite3AuthCheck(tls, pParse, SQLITE_INSERT, func() uintptr { if (!(0 != 0)) && (iTabDb == 1) { - return ts + 10873 /* "sqlite_temp_mast..." */ + return ts + 10872 /* "sqlite_temp_mast..." */ } - return ts + 4957 /* "sqlite_master" */ + return ts + 4956 /* "sqlite_master" */ }(), uintptr(0), zDb) != 0) { goto __24 } @@ -120124,7 +121394,7 @@ __2: __3: ; Xsqlite3TokenInit(tls, bp+40 /* &nameToken */, (*Trigger)(unsafe.Pointer(pTrig)).FzName) - Xsqlite3FixInit(tls, bp+56 /* &sFix */, pParse, iDb, ts+18332 /* "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 @@ -120161,13 +121431,13 @@ __8: Xsqlite3NestedParse(tls, pParse, - ts+18541, /* "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+18616 /* "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: @@ -120433,7 +121703,7 @@ __5: if !(!(noErr != 0)) { goto __9 } - Xsqlite3ErrorMsg(tls, pParse, ts+18645 /* "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) @@ -120474,9 +121744,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 + 10873 /* "sqlite_temp_mast..." */ + return ts + 10872 /* "sqlite_temp_mast..." */ } - return ts + 4957 /* "sqlite_master" */ + return ts + 4956 /* "sqlite_master" */ }() if iDb == 1 { code = SQLITE_DROP_TEMP_TRIGGER @@ -120489,7 +121759,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+18665, /* "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) @@ -120608,12 +121878,12 @@ __9: goto __15 } Xsqlite3ErrorMsg(tls, pParse, - ts+18727, /* "%s RETURNING is ..." */ + ts+18726, /* "%s RETURNING is ..." */ libc.VaList(bp, func() uintptr { if op == TK_DELETE { - return ts + 18775 /* "DELETE" */ + return ts + 18774 /* "DELETE" */ } - return ts + 18782 /* "UPDATE" */ + return ts + 18781 /* "UPDATE" */ }())) __15: ; @@ -120709,7 +121979,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+18789 /* "RETURNING may no..." */, 0) + Xsqlite3ErrorMsg(tls, pParse, ts+18788 /* "RETURNING may no..." */, 0) return 1 } @@ -120850,7 +122120,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+5144 /* "-- %s" */, libc.VaList(bp, (*TriggerStep)(unsafe.Pointer(pStep)).FzSpan)), + Xsqlite3MPrintf(tls, db, ts+5143 /* "-- %s" */, libc.VaList(bp, (*TriggerStep)(unsafe.Pointer(pStep)).FzSpan)), -7) } @@ -120980,7 +122250,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+18831 /* "-- 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 @@ -121683,7 +122953,7 @@ __25: } Xsqlite3ErrorMsg(tls, pParse, - ts+18845, /* "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: @@ -121715,7 +122985,7 @@ __21: iRowidExpr = i goto __30 __29: - Xsqlite3ErrorMsg(tls, pParse, ts+18881 /* "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: @@ -121726,7 +122996,7 @@ __28: rc = Xsqlite3AuthCheck(tls, pParse, SQLITE_UPDATE, (*Table)(unsafe.Pointer(pTab)).FzName, func() uintptr { if j < 0 { - return ts + 6689 /* "ROWID" */ + return ts + 6688 /* "ROWID" */ } return (*Column)(unsafe.Pointer((*Table)(unsafe.Pointer(pTab)).FaCol + uintptr(j)*32)).FzName }(), @@ -122757,7 +124027,7 @@ __168: } Xsqlite3VdbeAddOp2(tls, v, OP_ChngCntRow, regRowCount, 1) Xsqlite3VdbeSetNumCols(tls, v, 1) - Xsqlite3VdbeSetColName(tls, v, 0, COLNAME_NAME, ts+18900 /* "rows updated" */, uintptr(0)) + Xsqlite3VdbeSetColName(tls, v, 0, COLNAME_NAME, ts+18899 /* "rows updated" */, uintptr(0)) __169: ; @@ -123144,10 +124414,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+18913 /* "%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+18917 /* "%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 } @@ -123238,7 +124508,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+10927 /* "corrupt database" */, -1) + ts+10926 /* "corrupt database" */, -1) Xsqlite3MayAbort(tls, pParse) Xsqlite3VdbeJumpHere(tls, v, i) } @@ -123306,7 +124576,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+18990 /* "CRE" */, uint64(3)) == 0) || (libc.Xstrncmp(tls, zSubSql, ts+18994 /* "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 @@ -123329,7 +124599,7 @@ func execSqlF(tls *libc.TLS, db uintptr, pzErrMsg uintptr, zSql uintptr, va uint var ap Va_list _ = ap var rc int32 - ap = va + (ap) = va z = Xsqlite3VMPrintf(tls, db, zSql, ap) _ = ap if z == uintptr(0) { @@ -123456,14 +124726,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+18998 /* "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+19038 /* "cannot VACUUM - ..." */) + Xsqlite3SetString(tls, pzErrMsg, db, ts+19037 /* "cannot VACUUM - ..." */) return SQLITE_ERROR // IMP: R-15610-35227 __2: ; @@ -123474,7 +124744,7 @@ __2: if !(Xsqlite3_value_type(tls, pOut) != SQLITE_TEXT) { goto __5 } - Xsqlite3SetString(tls, pzErrMsg, db, ts+19081 /* "non-text filenam..." */) + Xsqlite3SetString(tls, pzErrMsg, db, ts+19080 /* "non-text filenam..." */) return SQLITE_ERROR __5: ; @@ -123483,7 +124753,7 @@ __5: *(*uint32)(unsafe.Pointer(db + 76 /* &.openFlags */)) |= (uint32(SQLITE_OPEN_CREATE | SQLITE_OPEN_READWRITE)) goto __4 __3: - zOut = ts + 756 /* "" */ + zOut = ts + 755 /* "" */ __4: ; @@ -123519,7 +124789,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+19099 /* "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 @@ -123540,7 +124810,7 @@ __6: goto __8 } rc = SQLITE_ERROR - Xsqlite3SetString(tls, pzErrMsg, db, ts+19122 /* "output file alre..." */) + Xsqlite3SetString(tls, pzErrMsg, db, ts+19121 /* "output file alre..." */) goto end_of_vacuum __8: ; @@ -123556,7 +124826,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+13214 /* "BEGIN" */) + rc = execSql(tls, db, pzErrMsg, ts+13213 /* "BEGIN" */) if !(rc != SQLITE_OK) { goto __9 } @@ -123607,7 +124877,7 @@ __12: (*Sqlite3)(unsafe.Pointer(db)).Finit.FiDb = U8(nDb) // force new CREATE statements into vacuum_db rc = execSqlF(tls, db, pzErrMsg, - ts+19149, /* "SELECT sql FROM ..." */ + ts+19148, /* "SELECT sql FROM ..." */ libc.VaList(bp+8, zDbMain)) if !(rc != SQLITE_OK) { goto __13 @@ -123617,7 +124887,7 @@ __13: ; rc = execSqlF(tls, db, pzErrMsg, - ts+19257, /* "SELECT sql FROM ..." */ + ts+19256, /* "SELECT sql FROM ..." */ libc.VaList(bp+16, zDbMain)) if !(rc != SQLITE_OK) { goto __14 @@ -123632,7 +124902,7 @@ __14: // the contents to the temporary database. rc = execSqlF(tls, db, pzErrMsg, - ts+19311, /* "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))) @@ -123649,7 +124919,7 @@ __15: // from the schema table. rc = execSqlF(tls, db, pzErrMsg, - ts+19462, /* "INSERT INTO vacu..." */ + ts+19461, /* "INSERT INTO vacu..." */ libc.VaList(bp+32, zDbMain)) if !(rc != 0) { goto __16 @@ -123817,7 +125087,7 @@ func createModule(tls *libc.TLS, db uintptr, zName uintptr, pModule uintptr, pAu Xsqlite3VtabCreateModule(tls, db, zName, pModule, pAux, xDestroy) rc = Xsqlite3ApiExit(tls, db, rc) if (rc != SQLITE_OK) && (xDestroy != 0) { - (*(*func(*libc.TLS, uintptr))(unsafe.Pointer(&xDestroy)))(tls, pAux) + (*struct{ f func(*libc.TLS, uintptr) })(unsafe.Pointer(&struct{ uintptr }{xDestroy})).f(tls, pAux) } Xsqlite3_mutex_leave(tls, (*Sqlite3)(unsafe.Pointer(db)).Fmutex) return rc @@ -123861,7 +125131,7 @@ func Xsqlite3VtabModuleUnref(tls *libc.TLS, db uintptr, pMod uintptr) { /* sqlit (*Module)(unsafe.Pointer(pMod)).FnRefModule-- if (*Module)(unsafe.Pointer(pMod)).FnRefModule == 0 { if (*Module)(unsafe.Pointer(pMod)).FxDestroy != 0 { - (*(*func(*libc.TLS, uintptr))(unsafe.Pointer((pMod + 32 /* &.xDestroy */))))(tls, (*Module)(unsafe.Pointer(pMod)).FpAux) + (*struct{ f func(*libc.TLS, uintptr) })(unsafe.Pointer(&struct{ uintptr }{(*Module)(unsafe.Pointer(pMod)).FxDestroy})).f(tls, (*Module)(unsafe.Pointer(pMod)).FpAux) } Xsqlite3DbFree(tls, db, pMod) @@ -123899,7 +125169,9 @@ func Xsqlite3VtabUnlock(tls *libc.TLS, pVTab uintptr) { /* sqlite3.c:143352:21: var p uintptr = (*VTable)(unsafe.Pointer(pVTab)).FpVtab Xsqlite3VtabModuleUnref(tls, (*VTable)(unsafe.Pointer(pVTab)).Fdb, (*VTable)(unsafe.Pointer(pVTab)).FpMod) if p != 0 { - (*(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(((*Sqlite3_vtab)(unsafe.Pointer(p)).FpModule + 32 /* &.xDisconnect */))))(tls, p) + (*struct { + f func(*libc.TLS, uintptr) int32 + })(unsafe.Pointer(&struct{ uintptr }{(*Sqlite3_module)(unsafe.Pointer((*Sqlite3_vtab)(unsafe.Pointer(p)).FpModule)).FxDisconnect})).f(tls, p) } Xsqlite3DbFree(tls, db, pVTab) } @@ -124029,7 +125301,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+11157 /* "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) { @@ -124123,7 +125395,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+19592 /* "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 @@ -124135,7 +125407,7 @@ func Xsqlite3VtabFinishParse(tls *libc.TLS, pParse uintptr, pEnd uintptr) { /* s iDb = Xsqlite3SchemaToIndex(tls, db, (*Table)(unsafe.Pointer(pTab)).FpSchema) Xsqlite3NestedParse(tls, pParse, - ts+19616, /* "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, @@ -124145,7 +125417,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+19715 /* "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) @@ -124210,7 +125482,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+19734 /* "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 } } @@ -124240,7 +125512,9 @@ func vtabCallConstructor(tls *libc.TLS, db uintptr, pTab uintptr, pMod uintptr, (*VtabCtx)(unsafe.Pointer(bp + 32 /* &sCtx */)).FpPrior = (*Sqlite3)(unsafe.Pointer(db)).FpVtabCtx (*VtabCtx)(unsafe.Pointer(bp + 32 /* &sCtx */)).FbDeclared = 0 (*Sqlite3)(unsafe.Pointer(db)).FpVtabCtx = bp + 32 /* &sCtx */ - rc = (*(*func(*libc.TLS, uintptr, uintptr, int32, uintptr, uintptr, uintptr) int32)(unsafe.Pointer(&xConstruct)))(tls, db, (*Module)(unsafe.Pointer(pMod)).FpAux, nArg, azArg, (pVTable + 16 /* &.pVtab */), bp+64 /* &zErr */) + rc = (*struct { + f func(*libc.TLS, uintptr, uintptr, int32, uintptr, uintptr, uintptr) int32 + })(unsafe.Pointer(&struct{ uintptr }{xConstruct})).f(tls, db, (*Module)(unsafe.Pointer(pMod)).FpAux, nArg, azArg, (pVTable + 16 /* &.pVtab */), bp+64 /* &zErr */) (*Sqlite3)(unsafe.Pointer(db)).FpVtabCtx = (*VtabCtx)(unsafe.Pointer(bp + 32 /* &sCtx */)).FpPrior if rc == SQLITE_NOMEM { Xsqlite3OomFault(tls, db) @@ -124248,9 +125522,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+19776 /* "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+2791 /* "%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) @@ -124262,7 +125536,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 + 19806 /* "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 @@ -124278,12 +125552,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+756 /* "" */) + 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+14671 /* "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 @@ -124342,13 +125616,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+19852 /* "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+2791 /* "%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 */))) @@ -124410,7 +125684,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+19852 /* "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) @@ -124487,7 +125761,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 + 2791 /* "%s" */ + return ts + 2790 /* "%s" */ } return uintptr(0) }(), libc.VaList(bp, *(*uintptr)(unsafe.Pointer(bp + 416 /* zErr */)))) @@ -124533,7 +125807,9 @@ func Xsqlite3VtabCallDestroy(tls *libc.TLS, db uintptr, iDb int32, zTab uintptr) } (*Table)(unsafe.Pointer(pTab)).FnTabRef++ - rc = (*(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(&xDestroy)))(tls, (*VTable)(unsafe.Pointer(p)).FpVtab) + rc = (*struct { + f func(*libc.TLS, uintptr) int32 + })(unsafe.Pointer(&struct{ uintptr }{xDestroy})).f(tls, (*VTable)(unsafe.Pointer(p)).FpVtab) // Remove the sqlite3_vtab* from the aVTrans[] array, if applicable if rc == SQLITE_OK { @@ -124565,7 +125841,9 @@ func callFinaliser(tls *libc.TLS, db uintptr, offset int32) { /* sqlite3.c:14407 var x uintptr x = *(*uintptr)(unsafe.Pointer(((*Sqlite3_vtab)(unsafe.Pointer(p)).FpModule + uintptr(offset)))) if x != 0 { - (*(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(&x)))(tls, p) + (*struct { + f func(*libc.TLS, uintptr) int32 + })(unsafe.Pointer(&struct{ uintptr }{x})).f(tls, p) } } (*VTable)(unsafe.Pointer(pVTab)).FiSavepoint = 0 @@ -124591,7 +125869,9 @@ func Xsqlite3VtabSync(tls *libc.TLS, db uintptr, p uintptr) int32 { /* sqlite3.c var x uintptr var pVtab uintptr = (*VTable)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(aVTrans + uintptr(i)*8)))).FpVtab if (pVtab != 0) && ((libc.AssignUintptr(&x, (*Sqlite3_module)(unsafe.Pointer((*Sqlite3_vtab)(unsafe.Pointer(pVtab)).FpModule)).FxSync)) != uintptr(0)) { - rc = (*(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(&x)))(tls, pVtab) + rc = (*struct { + f func(*libc.TLS, uintptr) int32 + })(unsafe.Pointer(&struct{ uintptr }{x})).f(tls, pVtab) Xsqlite3VtabImportErrmsg(tls, p, pVtab) } } @@ -124649,13 +125929,17 @@ func Xsqlite3VtabBegin(tls *libc.TLS, db uintptr, pVTab uintptr) int32 { /* sqli // sqlite3.aVTrans[] array. rc = growVTrans(tls, db) if rc == SQLITE_OK { - rc = (*(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer((pModule + 112 /* &.xBegin */))))(tls, (*VTable)(unsafe.Pointer(pVTab)).FpVtab) + rc = (*struct { + f func(*libc.TLS, uintptr) int32 + })(unsafe.Pointer(&struct{ uintptr }{(*Sqlite3_module)(unsafe.Pointer(pModule)).FxBegin})).f(tls, (*VTable)(unsafe.Pointer(pVTab)).FpVtab) if rc == SQLITE_OK { var iSvpt int32 = ((*Sqlite3)(unsafe.Pointer(db)).FnStatement + (*Sqlite3)(unsafe.Pointer(db)).FnSavepoint) addToVTrans(tls, db, pVTab) if (iSvpt != 0) && ((*Sqlite3_module)(unsafe.Pointer(pModule)).FxSavepoint != 0) { (*VTable)(unsafe.Pointer(pVTab)).FiSavepoint = iSvpt - rc = (*(*func(*libc.TLS, uintptr, int32) int32)(unsafe.Pointer((pModule + 160 /* &.xSavepoint */))))(tls, (*VTable)(unsafe.Pointer(pVTab)).FpVtab, (iSvpt - 1)) + rc = (*struct { + f func(*libc.TLS, uintptr, int32) int32 + })(unsafe.Pointer(&struct{ uintptr }{(*Sqlite3_module)(unsafe.Pointer(pModule)).FxSavepoint})).f(tls, (*VTable)(unsafe.Pointer(pVTab)).FpVtab, (iSvpt - 1)) } } } @@ -124702,7 +125986,9 @@ func Xsqlite3VtabSavepoint(tls *libc.TLS, db uintptr, op int32, iSavepoint int32 break } if (xMethod != 0) && ((*VTable)(unsafe.Pointer(pVTab)).FiSavepoint > iSavepoint) { - rc = (*(*func(*libc.TLS, uintptr, int32) int32)(unsafe.Pointer(&xMethod)))(tls, (*VTable)(unsafe.Pointer(pVTab)).FpVtab, iSavepoint) + rc = (*struct { + f func(*libc.TLS, uintptr, int32) int32 + })(unsafe.Pointer(&struct{ uintptr }{xMethod})).f(tls, (*VTable)(unsafe.Pointer(pVTab)).FpVtab, iSavepoint) } Xsqlite3VtabUnlock(tls, pVTab) } @@ -124761,7 +126047,9 @@ func Xsqlite3VtabOverloadFunction(tls *libc.TLS, db uintptr, pDef uintptr, nArg // Though undocumented, we have historically always invoked xFindFunction // with an all lower-case function name. Continue in this tradition to // avoid any chance of an incompatibility. - rc = (*(*func(*libc.TLS, uintptr, int32, uintptr, uintptr, uintptr) int32)(unsafe.Pointer((pMod + 144 /* &.xFindFunction */))))(tls, pVtab, nArg, (*FuncDef)(unsafe.Pointer(pDef)).FzName, bp /* &xSFunc */, bp+8 /* &pArg */) + rc = (*struct { + f func(*libc.TLS, uintptr, int32, uintptr, uintptr, uintptr) int32 + })(unsafe.Pointer(&struct{ uintptr }{(*Sqlite3_module)(unsafe.Pointer(pMod)).FxFindFunction})).f(tls, pVtab, nArg, (*FuncDef)(unsafe.Pointer(pDef)).FzName, bp /* &xSFunc */, bp+8 /* &pArg */) if rc == 0 { return pDef } @@ -124859,7 +126147,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+2791 /* "%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 @@ -124910,7 +126198,7 @@ func Xsqlite3_vtab_config(tls *libc.TLS, db uintptr, op int32, va uintptr) int32 rc = Xsqlite3MisuseError(tls, 144439) } else { - ap = va + (ap) = va switch op { case SQLITE_VTAB_CONSTRAINT_SUPPORT: { @@ -124989,16 +126277,16 @@ func Xsqlite3_vtab_config(tls *libc.TLS, db uintptr, op int32, va uintptr) int32 // Forward references type WhereClause1 = struct { - FpWInfo uintptr - FpOuter uintptr - Fop U8 - FhasOr U8 - _ [2]byte - FnTerm int32 - FnSlot int32 - _ [4]byte - Fa uintptr - FaStatic [8]WhereTerm + FpWInfo uintptr + FpOuter uintptr + Fop U8 + FhasOr U8 + F__ccgo_pad1 [2]byte + FnTerm int32 + FnSlot int32 + F__ccgo_pad2 [4]byte + Fa uintptr + FaStatic [8]WhereTerm } /* sqlite3.c:14936:9 */ //************* End of vtab.c *********************************************** @@ -125076,9 +126364,9 @@ type WhereLevel1 = struct { Fp2 int32 Fu struct { Fin struct { - FnIn int32 - _ [4]byte - FaInLoop uintptr + FnIn int32 + F__ccgo_pad1 [4]byte + FaInLoop uintptr } } FpWLoop uintptr @@ -125107,7 +126395,7 @@ type WhereLoop1 = struct { FnLTerm U16 FnSkip U16 FnLSlot U16 - _ [6]byte + F__ccgo_pad1 [6]byte FaLTerm uintptr FpNextLoop uintptr FaLTermSpace [3]uintptr @@ -125115,14 +126403,14 @@ type WhereLoop1 = struct { type WhereLoop = WhereLoop1 /* sqlite3.c:144522:26 */ type WherePath1 = struct { - FmaskLoop Bitmask - FrevLoop Bitmask - FnRow LogEst - FrCost LogEst - FrUnsorted LogEst - FisOrdered I8 - _ [1]byte - FaLoop uintptr + FmaskLoop Bitmask + FrevLoop Bitmask + FnRow LogEst + FrCost LogEst + FrUnsorted LogEst + FisOrdered I8 + F__ccgo_pad1 [1]byte + FaLoop uintptr } /* sqlite3.c:144523:9 */ type WherePath = WherePath1 /* sqlite3.c:144523:26 */ @@ -125137,8 +126425,8 @@ type WhereTerm1 = struct { FiParent int32 FleftCursor int32 Fu struct { - _ [0]uint64 - Fx struct { + F__ccgo_pad1 [0]uint64 + Fx struct { FleftColumn int32 FiField int32 } @@ -125149,50 +126437,50 @@ type WhereTerm1 = struct { type WhereTerm = WhereTerm1 /* sqlite3.c:144524:26 */ type WhereLoopBuilder1 = struct { - FpWInfo uintptr - FpWC uintptr - FpOrderBy uintptr - FpNew uintptr - FpOrSet uintptr - FpRec uintptr - FnRecValid int32 - FbldFlags1 uint8 - FbldFlags2 uint8 - _ [2]byte - FiPlanLimit uint32 - _ [4]byte + FpWInfo uintptr + FpWC uintptr + FpOrderBy uintptr + FpNew uintptr + FpOrSet uintptr + FpRec uintptr + FnRecValid int32 + FbldFlags1 uint8 + FbldFlags2 uint8 + F__ccgo_pad1 [2]byte + FiPlanLimit uint32 + F__ccgo_pad2 [4]byte } /* sqlite3.c:144525:9 */ type WhereLoopBuilder = WhereLoopBuilder1 /* sqlite3.c:144525:33 */ type WhereScan1 = struct { - FpOrigWC uintptr - FpWC uintptr - FzCollName uintptr - FpIdxExpr uintptr - Fidxaff int8 - FnEquiv uint8 - FiEquiv uint8 - _ [1]byte - FopMask U32 - Fk int32 - FaiCur [11]int32 - FaiColumn [11]I16 - _ [2]byte + FpOrigWC uintptr + FpWC uintptr + FzCollName uintptr + FpIdxExpr uintptr + Fidxaff int8 + FnEquiv uint8 + FiEquiv uint8 + F__ccgo_pad1 [1]byte + FopMask U32 + Fk int32 + FaiCur [11]int32 + FaiColumn [11]I16 + F__ccgo_pad2 [2]byte } /* sqlite3.c:144526:9 */ type WhereScan = WhereScan1 /* sqlite3.c:144526:26 */ type WhereOrCost1 = struct { - Fprereq Bitmask - FrRun LogEst - FnOut LogEst - _ [4]byte + Fprereq Bitmask + FrRun LogEst + FnOut LogEst + F__ccgo_pad1 [4]byte } /* sqlite3.c:144525:9 */ type WhereOrCost = WhereOrCost1 /* sqlite3.c:144527:28 */ type WhereOrSet1 = struct { - Fn U16 - _ [6]byte - Fa [3]WhereOrCost + Fn U16 + F__ccgo_pad1 [6]byte + Fa [3]WhereOrCost } /* sqlite3.c:144525:9 */ type WhereOrSet = WhereOrSet1 /* sqlite3.c:144528:27 */ @@ -125211,12 +126499,12 @@ type WhereOrSet = WhereOrSet1 /* sqlite3.c:144528:27 */ // the loop nested order, with WhereInfo.a[0] being the outer loop and // WhereInfo.a[WhereInfo.nLevel-1] being the inner loop. type InLoop = struct { - FiCur int32 - FaddrInTop int32 - FiBase int32 - FnPrefix int32 - FeEndLoopOp U8 - _ [3]byte + FiCur int32 + FaddrInTop int32 + FiBase int32 + FnPrefix int32 + FeEndLoopOp U8 + F__ccgo_pad1 [3]byte } /* sqlite3.c:144567:7 */ // Allowed values for WhereLoopBuider.bldFlags @@ -125290,10 +126578,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 + 19871 /* "" */ + return ts + 19870 /* "" */ } if i == (-1) { - return ts + 14758 /* "rowid" */ + return ts + 14757 /* "rowid" */ } return (*Column)(unsafe.Pointer((*Table)(unsafe.Pointer((*Index)(unsafe.Pointer(pIdx)).FpTable)).FaCol + uintptr(i)*32)).FzName } @@ -125308,35 +126596,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+19878 /* " AND " */, 5) + Xsqlite3_str_append(tls, pStr, ts+19877 /* " AND " */, 5) } if nTerm > 1 { - Xsqlite3_str_append(tls, pStr, ts+19884 /* "(" */, 1) + Xsqlite3_str_append(tls, pStr, ts+19883 /* "(" */, 1) } for i = 0; i < nTerm; i++ { if i != 0 { - Xsqlite3_str_append(tls, pStr, ts+11538 /* "," */, 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+4067 /* ")" */, 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+19884 /* "(" */, 1) + Xsqlite3_str_append(tls, pStr, ts+19883 /* "(" */, 1) } for i = 0; i < nTerm; i++ { if i != 0 { - Xsqlite3_str_append(tls, pStr, ts+11538 /* "," */, 1) + Xsqlite3_str_append(tls, pStr, ts+11537 /* "," */, 1) } - Xsqlite3_str_append(tls, pStr, ts+4123 /* "?" */, 1) + Xsqlite3_str_append(tls, pStr, ts+4122 /* "?" */, 1) } if nTerm > 1 { - Xsqlite3_str_append(tls, pStr, ts+4067 /* ")" */, 1) + Xsqlite3_str_append(tls, pStr, ts+4066 /* ")" */, 1) } } @@ -125365,29 +126653,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+19886 /* " (" */, 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+19878 /* " AND " */, 5) + Xsqlite3_str_append(tls, pStr, ts+19877 /* " AND " */, 5) } Xsqlite3_str_appendf(tls, pStr, func() uintptr { if i >= int32(nSkip) { - return ts + 19889 /* "%s=?" */ + return ts + 19888 /* "%s=?" */ } - return ts + 19894 /* "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+19902 /* ">" */) + 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+19904 /* "<" */) + explainAppendTerm(tls, pStr, pIndex, int32(*(*U16)(unsafe.Pointer(pLoop + 24 /* &.u */ /* &.btree */ + 4 /* &.nTop */))), j, i, ts+19903 /* "<" */) } - Xsqlite3_str_append(tls, pStr, ts+4067 /* ")" */, 1) + Xsqlite3_str_append(tls, pStr, ts+4066 /* ")" */, 1) } // This function is a no-op unless currently processing an EXPLAIN QUERY PLAN @@ -125432,11 +126720,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+19906 /* "%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 + 19912 /* "SEARCH" */ + return ts + 19911 /* "SEARCH" */ } - return ts + 19919 /* "SCAN" */ + return ts + 19918 /* "SCAN" */ }(), pItem)) if (flags & (U32(WHERE_IPK | WHERE_VIRTUALTABLE))) == U32(0) { var zFmt uintptr = uintptr(0) @@ -125446,38 +126734,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 + 9701 /* "PRIMARY KEY" */ + zFmt = ts + 9700 /* "PRIMARY KEY" */ } } else if (flags & U32(WHERE_PARTIALIDX)) != 0 { - zFmt = ts + 19924 /* "AUTOMATIC PARTIA..." */ + zFmt = ts + 19923 /* "AUTOMATIC PARTIA..." */ } else if (flags & U32(WHERE_AUTO_INDEX)) != 0 { - zFmt = ts + 19957 /* "AUTOMATIC COVERI..." */ + zFmt = ts + 19956 /* "AUTOMATIC COVERI..." */ } else if (flags & U32(WHERE_IDX_ONLY)) != 0 { - zFmt = ts + 19982 /* "COVERING INDEX %..." */ + zFmt = ts + 19981 /* "COVERING INDEX %..." */ } else { - zFmt = ts + 20000 /* "INDEX %s" */ + zFmt = ts + 19999 /* "INDEX %s" */ } if zFmt != 0 { - Xsqlite3_str_append(tls, bp+48 /* &str */, ts+20009 /* " 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 + 20017 /* "=" */ + zRangeOp = ts + 20016 /* "=" */ } else if (flags & U32(WHERE_BOTH_LIMIT)) == U32(WHERE_BOTH_LIMIT) { - zRangeOp = ts + 20019 /* ">? AND rowid<" */ + zRangeOp = ts + 20018 /* ">? AND rowid<" */ } else if (flags & U32(WHERE_BTM_LIMIT)) != 0 { - zRangeOp = ts + 19902 /* ">" */ + zRangeOp = ts + 19901 /* ">" */ } else { - zRangeOp = ts + 19904 /* "<" */ + zRangeOp = ts + 19903 /* "<" */ } Xsqlite3_str_appendf(tls, bp+48, /* &str */ - ts+20033 /* " 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+20071, /* " 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 */) @@ -127033,7 +128321,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+20098 /* "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) { @@ -127052,7 +128340,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+20113 /* "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) @@ -127751,7 +129039,9 @@ func isAuxiliaryVtabOperator(tls *libc.TLS, db uintptr, pExpr uintptr, peOp2 uin pMod = (*Sqlite3_vtab)(unsafe.Pointer(pVtab)).FpModule if (*Sqlite3_module)(unsafe.Pointer(pMod)).FxFindFunction != uintptr(0) { - i = (*(*func(*libc.TLS, uintptr, int32, uintptr, uintptr, uintptr) int32)(unsafe.Pointer((pMod + 144 /* &.xFindFunction */))))(tls, pVtab, 2, *(*uintptr)(unsafe.Pointer(pExpr + 8 /* &.u */)), bp /* &xNotUsed */, bp+8 /* &pNotUsed */) + i = (*struct { + f func(*libc.TLS, uintptr, int32, uintptr, uintptr, uintptr) int32 + })(unsafe.Pointer(&struct{ uintptr }{(*Sqlite3_module)(unsafe.Pointer(pMod)).FxFindFunction})).f(tls, pVtab, 2, *(*uintptr)(unsafe.Pointer(pExpr + 8 /* &.u */)), bp /* &xNotUsed */, bp+8 /* &pNotUsed */) if i >= SQLITE_INDEX_CONSTRAINT_FUNCTION { *(*uint8)(unsafe.Pointer(peOp2)) = uint8(i) *(*uintptr)(unsafe.Pointer(ppRight)) = (*ExprList_item)(unsafe.Pointer((pList + 8 /* &.a */) + 1*32)).FpExpr @@ -127795,16 +129085,16 @@ func isAuxiliaryVtabOperator(tls *libc.TLS, db uintptr, pExpr uintptr, peOp2 uin } type Op2 = struct { - FzOp uintptr - FeOp2 uint8 - _ [7]byte + FzOp uintptr + FeOp2 uint8 + F__ccgo_pad1 [7]byte } /* sqlite3.c:147955:18 */ var aOp = [4]Op2{ - {FzOp: ts + 14629 /* "match" */, FeOp2: uint8(SQLITE_INDEX_CONSTRAINT_MATCH)}, - {FzOp: ts + 14102 /* "glob" */, FeOp2: uint8(SQLITE_INDEX_CONSTRAINT_GLOB)}, - {FzOp: ts + 13652 /* "like" */, FeOp2: uint8(SQLITE_INDEX_CONSTRAINT_LIKE)}, - {FzOp: ts + 20122 /* "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 @@ -128505,7 +129795,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+20129 /* "ON clause refere..." */, 0) + Xsqlite3ErrorMsg(tls, pParse, ts+20128 /* "ON clause refere..." */, 0) return } } @@ -128581,7 +129871,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 + 5776 /* "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) @@ -128682,7 +129972,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 + 20170 /* "NOCASE" */ + return ts + 20169 /* "NOCASE" */ } return uintptr(unsafe.Pointer(&Xsqlite3StrBINARY)) }() @@ -128984,7 +130274,7 @@ func Xsqlite3WhereTabFuncArgs(tls *libc.TLS, pParse uintptr, pItem uintptr, pWC k++ } if k >= int32((*Table)(unsafe.Pointer(pTab)).FnCol) { - Xsqlite3ErrorMsg(tls, pParse, ts+20177, /* "too many argumen..." */ + Xsqlite3ErrorMsg(tls, pParse, ts+20176, /* "too many argumen..." */ libc.VaList(bp, (*Table)(unsafe.Pointer(pTab)).FzName, j)) return } @@ -129807,7 +131097,7 @@ __4: goto __6 } Xsqlite3_log(tls, (SQLITE_WARNING | (int32(1) << 8)), - ts+20213 /* "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: @@ -129888,7 +131178,7 @@ __13: __14: ; *(*uintptr)(unsafe.Pointer(pLoop + 24 /* &.u */ /* &.btree */ + 8 /* &.pIndex */)) = pIdx - (*Index)(unsafe.Pointer(pIdx)).FzName = ts + 20239 /* "auto-index" */ + (*Index)(unsafe.Pointer(pIdx)).FzName = ts + 20238 /* "auto-index" */ (*Index)(unsafe.Pointer(pIdx)).FpTable = pTable n = 0 idxCols = uint64(0) @@ -130121,7 +131411,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+5182 /* "out of memory" */, 0) + Xsqlite3ErrorMsg(tls, pParse, ts+5181 /* "out of memory" */, 0) return uintptr(0) } pHidden = (pIdxInfo + 1*96) @@ -130242,15 +131532,17 @@ func vtabBestIndex(tls *libc.TLS, pParse uintptr, pTab uintptr, p uintptr) int32 var pVtab uintptr = (*VTable)(unsafe.Pointer(Xsqlite3GetVTable(tls, (*Parse)(unsafe.Pointer(pParse)).Fdb, pTab))).FpVtab var rc int32 - rc = (*(*func(*libc.TLS, uintptr, uintptr) int32)(unsafe.Pointer(((*Sqlite3_vtab)(unsafe.Pointer(pVtab)).FpModule + 24 /* &.xBestIndex */))))(tls, pVtab, p) + rc = (*struct { + f func(*libc.TLS, uintptr, uintptr) int32 + })(unsafe.Pointer(&struct{ uintptr }{(*Sqlite3_module)(unsafe.Pointer((*Sqlite3_vtab)(unsafe.Pointer(pVtab)).FpModule)).FxBestIndex})).f(tls, pVtab, p) if (rc != SQLITE_OK) && (rc != SQLITE_CONSTRAINT) { 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+2791 /* "%s" */, libc.VaList(bp, Xsqlite3ErrStr(tls, rc))) + Xsqlite3ErrorMsg(tls, pParse, ts+2790 /* "%s" */, libc.VaList(bp, Xsqlite3ErrStr(tls, rc))) } else { - Xsqlite3ErrorMsg(tls, pParse, ts+2791 /* "%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) @@ -132300,7 +133592,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+20250 /* "%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 } @@ -132348,7 +133640,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+20250 /* "%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 } @@ -132737,7 +134029,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+20276 /* "abbreviated quer..." */, 0) + Xsqlite3_log(tls, SQLITE_WARNING, ts+20275 /* "abbreviated quer..." */, 0) rc = SQLITE_OK } else { goto __3 @@ -133506,7 +134798,7 @@ __3: } if nFrom == 0 { - Xsqlite3ErrorMsg(tls, pParse, ts+20311 /* "no query solutio..." */, 0) + Xsqlite3ErrorMsg(tls, pParse, ts+20310 /* "no query solutio..." */, 0) Xsqlite3DbFreeNN(tls, db, pSpace) return SQLITE_ERROR } @@ -133887,7 +135179,7 @@ __2: if !((*SrcList)(unsafe.Pointer(pTabList)).FnSrc > (int32(uint64(unsafe.Sizeof(Bitmask(0))) * uint64(8)))) { goto __3 } - Xsqlite3ErrorMsg(tls, pParse, ts+20329 /* "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: ; @@ -133962,7 +135254,7 @@ __7: (*WhereInfo)(unsafe.Pointer(pWInfo)).FeDistinct = U8(WHERE_DISTINCT_UNIQUE) __8: ; - Xsqlite3VdbeExplain(tls, pParse, uint8(0), ts+20357 /* "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. @@ -134651,9 +135943,9 @@ func Xsqlite3WhereEnd(tls *libc.TLS, pWInfo uintptr) { /* sqlite3.c:154626:21: * } { - Xsqlite3VdbeJumpHere(tls, v, ((*InLoop)(unsafe.Pointer(pIn)).FaddrInTop + 1)) - if int32((*InLoop)(unsafe.Pointer(pIn)).FeEndLoopOp) != OP_Noop { - if (*InLoop)(unsafe.Pointer(pIn)).FnPrefix != 0 { + Xsqlite3VdbeJumpHere(tls, v, (*(*int32)(unsafe.Pointer(pIn + 4)) + 1)) + if int32(*(*U8)(unsafe.Pointer(pIn + 16))) != OP_Noop { + if *(*int32)(unsafe.Pointer(pIn + 12)) != 0 { var bEarlyOut int32 = (libc.Bool32((((*WhereLoop)(unsafe.Pointer(pLoop)).FwsFlags & U32(WHERE_VIRTUALTABLE)) == U32(0)) && (((*WhereLoop)(unsafe.Pointer(pLoop)).FwsFlags & U32(WHERE_IN_EARLYOUT)) != U32(0)))) if (*WhereLevel)(unsafe.Pointer(pLevel)).FiLeftJoin != 0 { @@ -134665,26 +135957,26 @@ func Xsqlite3WhereEnd(tls *libc.TLS, pWInfo uintptr) { /* sqlite3.c:154626:21: * // return the null-row. So, if the cursor is not open yet, // jump over the OP_Next or OP_Prev instruction about to // be coded. - Xsqlite3VdbeAddOp2(tls, v, OP_IfNotOpen, (*InLoop)(unsafe.Pointer(pIn)).FiCur, + Xsqlite3VdbeAddOp2(tls, v, OP_IfNotOpen, *(*int32)(unsafe.Pointer(pIn)), ((Xsqlite3VdbeCurrentAddr(tls, v) + 2) + bEarlyOut)) } if bEarlyOut != 0 { Xsqlite3VdbeAddOp4Int(tls, v, OP_IfNoHope, (*WhereLevel)(unsafe.Pointer(pLevel)).FiIdxCur, (Xsqlite3VdbeCurrentAddr(tls, v) + 2), - (*InLoop)(unsafe.Pointer(pIn)).FiBase, (*InLoop)(unsafe.Pointer(pIn)).FnPrefix) + *(*int32)(unsafe.Pointer(pIn + 8)), *(*int32)(unsafe.Pointer(pIn + 12))) // Retarget the OP_IsNull against the left operand of IN so // it jumps past the OP_IfNoHope. This is because the // OP_IsNull also bypasses the OP_Affinity opcode that is // required by OP_IfNoHope. - Xsqlite3VdbeJumpHere(tls, v, ((*InLoop)(unsafe.Pointer(pIn)).FaddrInTop + 1)) + Xsqlite3VdbeJumpHere(tls, v, (*(*int32)(unsafe.Pointer(pIn + 4)) + 1)) } } - Xsqlite3VdbeAddOp2(tls, v, int32((*InLoop)(unsafe.Pointer(pIn)).FeEndLoopOp), (*InLoop)(unsafe.Pointer(pIn)).FiCur, (*InLoop)(unsafe.Pointer(pIn)).FaddrInTop) + Xsqlite3VdbeAddOp2(tls, v, int32(*(*U8)(unsafe.Pointer(pIn + 16))), *(*int32)(unsafe.Pointer(pIn)), *(*int32)(unsafe.Pointer(pIn + 4))) } - Xsqlite3VdbeJumpHere(tls, v, ((*InLoop)(unsafe.Pointer(pIn)).FaddrInTop - 1)) + Xsqlite3VdbeJumpHere(tls, v, (*(*int32)(unsafe.Pointer(pIn + 4)) - 1)) } goto __2 @@ -135097,7 +136389,7 @@ __1: error_out: Xsqlite3_result_error(tls, - pCtx, ts+20375 /* "second argument ..." */, -1) + pCtx, ts+20374 /* "second argument ..." */, -1) } func nth_valueFinalizeFunc(tls *libc.TLS, pCtx uintptr) { /* sqlite3.c:155162:13: */ @@ -135246,7 +136538,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+20431 /* "argument of ntil..." */, -1) + pCtx, ts+20430 /* "argument of ntil..." */, -1) } } (*NtileCtx)(unsafe.Pointer(p)).FnTotal++ @@ -135284,9 +136576,9 @@ func ntileValueFunc(tls *libc.TLS, pCtx uintptr) { /* sqlite3.c:155364:13: */ // Context object for last_value() window function. type LastValueCtx = struct { - FpVal uintptr - FnVal int32 - _ [4]byte + FpVal uintptr + FnVal int32 + F__ccgo_pad1 [4]byte } /* sqlite3.c:155391:1 */ // Implementation of last_value(). @@ -135343,17 +136635,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 + 20476 /* "row_number" */)) /* sqlite3.c:155459:19 */ -var dense_rankName = *(*[11]int8)(unsafe.Pointer(ts + 20487 /* "dense_rank" */)) /* sqlite3.c:155460:19 */ -var rankName = *(*[5]int8)(unsafe.Pointer(ts + 20498 /* "rank" */)) /* sqlite3.c:155461:19 */ -var percent_rankName = *(*[13]int8)(unsafe.Pointer(ts + 20503 /* "percent_rank" */)) /* sqlite3.c:155462:19 */ -var cume_distName = *(*[10]int8)(unsafe.Pointer(ts + 20516 /* "cume_dist" */)) /* sqlite3.c:155463:19 */ -var ntileName = *(*[6]int8)(unsafe.Pointer(ts + 20526 /* "ntile" */)) /* sqlite3.c:155464:19 */ -var last_valueName = *(*[11]int8)(unsafe.Pointer(ts + 20532 /* "last_value" */)) /* sqlite3.c:155465:19 */ -var nth_valueName = *(*[10]int8)(unsafe.Pointer(ts + 20543 /* "nth_value" */)) /* sqlite3.c:155466:19 */ -var first_valueName = *(*[12]int8)(unsafe.Pointer(ts + 20553 /* "first_value" */)) /* sqlite3.c:155467:19 */ -var leadName = *(*[5]int8)(unsafe.Pointer(ts + 20565 /* "lead" */)) /* sqlite3.c:155468:19 */ -var lagName = *(*[4]int8)(unsafe.Pointer(ts + 20570 /* "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. @@ -135417,7 +136709,7 @@ func windowFind(tls *libc.TLS, pParse uintptr, pList uintptr, zName uintptr) uin } } if p == uintptr(0) { - Xsqlite3ErrorMsg(tls, pParse, ts+20574 /* "no such window: ..." */, libc.VaList(bp, zName)) + Xsqlite3ErrorMsg(tls, pParse, ts+20573 /* "no such window: ..." */, libc.VaList(bp, zName)) } return p } @@ -135461,12 +136753,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+20593 /* "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+20664 /* "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}, @@ -135489,7 +136781,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+6914 /* "1" */) + (*Window)(unsafe.Pointer(pWin)).FpStart = Xsqlite3Expr(tls, db, TK_INTEGER, ts+6913 /* "1" */) } break } @@ -135500,11 +136792,11 @@ func Xsqlite3WindowUpdate(tls *libc.TLS, pParse uintptr, pList uintptr, pWin uin } type WindowUpdate = struct { - FzFunc uintptr - FeFrmType int32 - FeStart int32 - FeEnd int32 - _ [4]byte + FzFunc uintptr + FeFrmType int32 + FeStart int32 + FeEnd int32 + F__ccgo_pad1 [4]byte } /* sqlite3.c:155605:7 */ // Context object passed through sqlite3WalkExprList() to @@ -135731,7 +137023,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+6975 /* "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 } @@ -135861,7 +137153,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+6507 /* "0" */)) + Xsqlite3Expr(tls, db, TK_INTEGER, ts+6506 /* "0" */)) } pSub = Xsqlite3SelectNew(tls, @@ -136001,7 +137293,7 @@ __1: ((eStart == TK_FOLLOWING) && ((eEnd == TK_PRECEDING) || (eEnd == TK_CURRENT)))) { goto __2 } - Xsqlite3ErrorMsg(tls, pParse, ts+20727 /* "unsupported fram..." */, 0) + Xsqlite3ErrorMsg(tls, pParse, ts+20726 /* "unsupported fram..." */, 0) goto windowAllocErr __2: ; @@ -136067,15 +137359,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 + 20759 /* "PARTITION clause" */ + zErr = ts + 20758 /* "PARTITION clause" */ } else if ((*Window)(unsafe.Pointer(pExist)).FpOrderBy != 0) && ((*Window)(unsafe.Pointer(pWin)).FpOrderBy != 0) { - zErr = ts + 20776 /* "ORDER BY clause" */ + zErr = ts + 20775 /* "ORDER BY clause" */ } else if int32((*Window)(unsafe.Pointer(pExist)).FbImplicitFrame) == 0 { - zErr = ts + 20792 /* "frame specificat..." */ + zErr = ts + 20791 /* "frame specificat..." */ } if zErr != 0 { Xsqlite3ErrorMsg(tls, pParse, - ts+20812 /* "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 { @@ -136098,7 +137390,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+20845 /* "DISTINCT is not ..." */, 0) + ts+20844 /* "DISTINCT is not ..." */, 0) } } else { Xsqlite3WindowDelete(tls, (*Parse)(unsafe.Pointer(pParse)).Fdb, pWin) @@ -136249,7 +137541,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+756 /* "" */, -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))) @@ -136271,11 +137563,11 @@ func windowCheckValue(tls *libc.TLS, pParse uintptr, reg int32, eCond int32) { / } var azErr = [5]uintptr{ - ts + 20892, /* "frame starting o..." */ - ts + 20945, /* "frame ending off..." */ - ts + 20375, /* "second argument ..." */ - ts + 20996, /* "frame starting o..." */ - ts + 21048, /* "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 */ @@ -136292,18 +137584,18 @@ func windowArgCount(tls *libc.TLS, pWin uintptr) int32 { /* sqlite3.c:156418:12: } type WindowCodeArg1 = struct { - FpParse uintptr - FpMWin uintptr - FpVdbe uintptr - FaddrGosub int32 - FregGosub int32 - FregArg int32 - FeDelete int32 - FregRowid int32 - Fstart WindowCsrAndReg - Fcurrent WindowCsrAndReg - Fend WindowCsrAndReg - _ [4]byte + FpParse uintptr + FpMWin uintptr + FpVdbe uintptr + FaddrGosub int32 + FregGosub int32 + FregArg int32 + FeDelete int32 + FregRowid int32 + Fstart WindowCsrAndReg + Fcurrent WindowCsrAndReg + Fend WindowCsrAndReg + F__ccgo_pad1 [4]byte } /* sqlite3.c:156423:9 */ type WindowCodeArg = WindowCodeArg1 /* sqlite3.c:156423:30 */ @@ -136877,7 +138169,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+756 /* "" */, -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)) { @@ -137850,15 +139142,15 @@ func Xsqlite3WindowCodeStep(tls *libc.TLS, pParse uintptr, p uintptr, pWInfo uin // // Then the "b" IdList records the list "a,b,c". type TrigEvent = struct { - Fa int32 - _ [4]byte - Fb uintptr + Fa int32 + F__ccgo_pad1 [4]byte + Fb uintptr } /* sqlite3.c:158068:1 */ type FrameBound = struct { - FeType int32 - _ [4]byte - FpExpr uintptr + FeType int32 + F__ccgo_pad1 [4]byte + FpExpr uintptr } /* sqlite3.c:158070:1 */ // Disable lookaside memory allocation for objects that might be @@ -137892,19 +139184,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+21098, /* "%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 + 18212 /* "ORDER BY" */ + return ts + 18211 /* "ORDER BY" */ } - return ts + 21140 /* "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+21146 /* "too many terms i..." */, 0) + Xsqlite3ErrorMsg(tls, pParse, ts+21145 /* "too many terms i..." */, 0) } } @@ -137984,7 +139276,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+21180, /* "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) @@ -138049,9 +139341,9 @@ func parserAddExprIdListTerm(tls *libc.TLS, pParse uintptr, pPrior uintptr, pIdT // YY_MAX_REDUCE Maximum value for reduce actions //************ Begin control #defines **************************************** type YYMINORTYPE = struct { - _ [0]uint64 - Fyyinit int32 - _ [12]byte + F__ccgo_pad1 [0]uint64 + Fyyinit int32 + F__ccgo_pad2 [12]byte } /* sqlite3.c:158494:3 */ //************ End control #defines ****************************************** @@ -138920,10 +140212,10 @@ var yyFallback = [184]uint16{ // actually contains the reduce action for the second half of the // SHIFTREDUCE. type yyStackEntry = struct { - Fstateno uint16 - Fmajor uint16 - _ [4]byte - Fminor YYMINORTYPE + Fstateno uint16 + Fmajor uint16 + F__ccgo_pad1 [4]byte + Fminor YYMINORTYPE } /* sqlite3.c:159404:1 */ type YyStackEntry = yyStackEntry /* sqlite3.c:159411:29 */ @@ -139211,7 +140503,7 @@ func yyStackOverflow(tls *libc.TLS, yypParser uintptr) { /* sqlite3.c:160618:13: // stack every overflows //******* Begin %stack_overflow code ***************************************** - Xsqlite3ErrorMsg(tls, pParse, ts+21218 /* "parser stack ove..." */, 0) + Xsqlite3ErrorMsg(tls, pParse, ts+21217 /* "parser stack ove..." */, 0) //******* End %stack_overflow code ******************************************* (*YyParser)(unsafe.Pointer(yypParser)).FpParse = pParse @@ -140190,11 +141482,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+14758 /* "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+21240 /* "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 @@ -140929,7 +142221,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+21267 /* "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)) } @@ -141082,7 +142374,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+21276 /* "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)) @@ -141286,9 +142578,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 + 6914 /* "1" */ + return ts + 6913 /* "1" */ } - return ts + 6507 /* "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 @@ -141563,21 +142855,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+21300 /* "qualified table ..." */, 0) + ts+21299 /* "qualified table ..." */, 0) } break case uint32(266): /* tridxby ::= INDEXED BY nm */ { Xsqlite3ErrorMsg(tls, pParse, - ts+21395 /* "the INDEXED BY c..." */, 0) + ts+21394 /* "the INDEXED BY c..." */, 0) } break case uint32(267): /* tridxby ::= NOT INDEXED */ { Xsqlite3ErrorMsg(tls, pParse, - ts+21479 /* "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 */ @@ -142026,9 +143318,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+21276 /* "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+21564 /* "incomplete input" */, 0) + Xsqlite3ErrorMsg(tls, pParse, ts+21563 /* "incomplete input" */, 0) } //*********** End %syntax_error code ***************************************** @@ -143235,7 +144527,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+21581 /* "unrecognized tok..." */, libc.VaList(bp, n, zSql)) + Xsqlite3ErrorMsg(tls, pParse, ts+21580 /* "unrecognized tok..." */, libc.VaList(bp, n, zSql)) break } } @@ -143255,12 +144547,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+2791 /* "%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+21608, /* "%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++ @@ -143472,7 +144764,7 @@ func Xsqlite3_complete(tls *libc.TLS, zSql uintptr) int32 { /* sqlite3.c:164796: fallthrough case 'C': { - if (nId == 6) && (Xsqlite3_strnicmp(tls, zSql, ts+21619 /* "create" */, 6) == 0) { + if (nId == 6) && (Xsqlite3_strnicmp(tls, zSql, ts+21618 /* "create" */, 6) == 0) { token = U8(TkCREATE) } else { token = U8(TkOTHER) @@ -143485,11 +144777,11 @@ func Xsqlite3_complete(tls *libc.TLS, zSql uintptr) int32 { /* sqlite3.c:164796: fallthrough case 'T': { - if (nId == 7) && (Xsqlite3_strnicmp(tls, zSql, ts+18332 /* "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+21626 /* "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+21631 /* "temporary" */, 9) == 0) { + } else if (nId == 9) && (Xsqlite3_strnicmp(tls, zSql, ts+21630 /* "temporary" */, 9) == 0) { token = U8(TkTEMP) } else { token = U8(TkOTHER) @@ -143502,9 +144794,9 @@ func Xsqlite3_complete(tls *libc.TLS, zSql uintptr) int32 { /* sqlite3.c:164796: fallthrough case 'E': { - if (nId == 3) && (Xsqlite3_strnicmp(tls, zSql, ts+21641 /* "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+21645 /* "explain" */, 7) == 0) { + } else if (nId == 7) && (Xsqlite3_strnicmp(tls, zSql, ts+21644 /* "explain" */, 7) == 0) { token = U8(TkEXPLAIN) } else { token = U8(TkOTHER) @@ -143841,7 +145133,7 @@ func Xsqlite3_config(tls *libc.TLS, op int32, va uintptr) int32 { /* sqlite3.c:1 return Xsqlite3MisuseError(tls, 165517) } - ap = va + (ap) = va switch op { // Mutex configuration options are only available in a threadsafe @@ -144264,7 +145556,7 @@ func Xsqlite3_db_config(tls *libc.TLS, db uintptr, op int32, va uintptr) int32 { var ap Va_list _ = ap var rc int32 - ap = va + (ap) = va switch op { case SQLITE_DBCONFIG_MAINDBNAME: { @@ -144452,7 +145744,7 @@ func functionDestroy(tls *libc.TLS, db uintptr, p uintptr) { /* sqlite3.c:166213 if pDestructor != 0 { (*FuncDestructor)(unsafe.Pointer(pDestructor)).FnRef-- if (*FuncDestructor)(unsafe.Pointer(pDestructor)).FnRef == 0 { - (*(*func(*libc.TLS, uintptr))(unsafe.Pointer((pDestructor + 8 /* &.xDestroy */))))(tls, (*FuncDestructor)(unsafe.Pointer(pDestructor)).FpUserData) + (*struct{ f func(*libc.TLS, uintptr) })(unsafe.Pointer(&struct{ uintptr }{(*FuncDestructor)(unsafe.Pointer(pDestructor)).FxDestroy})).f(tls, (*FuncDestructor)(unsafe.Pointer(pDestructor)).FpUserData) Xsqlite3DbFree(tls, db, pDestructor) } } @@ -144514,7 +145806,9 @@ func sqlite3Close(tls *libc.TLS, db uintptr, forceZombie int32) int32 { /* sqlit } Xsqlite3_mutex_enter(tls, (*Sqlite3)(unsafe.Pointer(db)).Fmutex) if (int32((*Sqlite3)(unsafe.Pointer(db)).FmTrace) & SQLITE_TRACE_CLOSE) != 0 { - (*(*func(*libc.TLS, U32, uintptr, uintptr, uintptr) int32)(unsafe.Pointer((db + 240 /* &.trace */ /* &.xV2 */))))(tls, uint32(SQLITE_TRACE_CLOSE), (*Sqlite3)(unsafe.Pointer(db)).FpTraceArg, db, uintptr(0)) + (*struct { + f func(*libc.TLS, U32, uintptr, uintptr, uintptr) int32 + })(unsafe.Pointer(&struct{ uintptr }{*(*uintptr)(unsafe.Pointer(db + 240 /* &.trace */))})).f(tls, uint32(SQLITE_TRACE_CLOSE), (*Sqlite3)(unsafe.Pointer(db)).FpTraceArg, db, uintptr(0)) } // Force xDisconnect calls on all virtual tables @@ -144532,7 +145826,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+21653 /* "unable to close ..." */, 0) + ts+21652 /* "unable to close ..." */, 0) Xsqlite3_mutex_leave(tls, (*Sqlite3)(unsafe.Pointer(db)).Fmutex) return SQLITE_BUSY } @@ -144663,7 +145957,7 @@ func Xsqlite3LeaveMutexAndCloseZombie(tls *libc.TLS, db uintptr) { /* sqlite3.c: // Invoke any destructors registered for collation sequence user data. for j = 0; j < 3; j++ { if (*CollSeq)(unsafe.Pointer(pColl+uintptr(j)*40)).FxDel != 0 { - (*(*func(*libc.TLS, uintptr))(unsafe.Pointer((pColl + uintptr(j)*40 + 32 /* &.xDel */))))(tls, (*CollSeq)(unsafe.Pointer(pColl+uintptr(j)*40)).FpUser) + (*struct{ f func(*libc.TLS, uintptr) })(unsafe.Pointer(&struct{ uintptr }{(*CollSeq)(unsafe.Pointer(pColl + uintptr(j)*40)).FxDel})).f(tls, (*CollSeq)(unsafe.Pointer(pColl+uintptr(j)*40)).FpUser) } } Xsqlite3DbFree(tls, db, pColl) @@ -144744,7 +146038,7 @@ func Xsqlite3RollbackAll(tls *libc.TLS, db uintptr, tripCode int32) { /* sqlite3 // If one has been configured, invoke the rollback-hook callback if ((*Sqlite3)(unsafe.Pointer(db)).FxRollbackCallback != 0) && ((inTrans != 0) || !(int32((*Sqlite3)(unsafe.Pointer(db)).FautoCommit) != 0)) { - (*(*func(*libc.TLS, uintptr))(unsafe.Pointer((db + 296 /* &.xRollbackCallback */))))(tls, (*Sqlite3)(unsafe.Pointer(db)).FpRollbackArg) + (*struct{ f func(*libc.TLS, uintptr) })(unsafe.Pointer(&struct{ uintptr }{(*Sqlite3)(unsafe.Pointer(db)).FxRollbackCallback})).f(tls, (*Sqlite3)(unsafe.Pointer(db)).FpRollbackArg) } } @@ -144754,23 +146048,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 + 21721 /* "unknown error" */ + var zErr uintptr = ts + 21720 /* "unknown error" */ switch rc { case (SQLITE_ABORT | (int32(2) << 8)): { - zErr = ts + 21735 /* "abort due to ROL..." */ + zErr = ts + 21734 /* "abort due to ROL..." */ break } case SQLITE_ROW: { - zErr = ts + 21757 /* "another row avai..." */ + zErr = ts + 21756 /* "another row avai..." */ break } case SQLITE_DONE: { - zErr = ts + 21779 /* "no more rows ava..." */ + zErr = ts + 21778 /* "no more rows ava..." */ break } @@ -144788,35 +146082,35 @@ func Xsqlite3ErrStr(tls *libc.TLS, rc int32) uintptr { /* sqlite3.c:166655:27: * } var aMsg = [29]uintptr{ - /* SQLITE_OK */ ts + 21802, /* "not an error" */ - /* SQLITE_ERROR */ ts + 21815, /* "SQL logic error" */ + /* SQLITE_OK */ ts + 21801, /* "not an error" */ + /* SQLITE_ERROR */ ts + 21814, /* "SQL logic error" */ /* SQLITE_INTERNAL */ uintptr(0), - /* SQLITE_PERM */ ts + 21831, /* "access permissio..." */ - /* SQLITE_ABORT */ ts + 21856, /* "query aborted" */ - /* SQLITE_BUSY */ ts + 21870, /* "database is lock..." */ - /* SQLITE_LOCKED */ ts + 21889, /* "database table i..." */ - /* SQLITE_NOMEM */ ts + 5182, /* "out of memory" */ - /* SQLITE_READONLY */ ts + 21914, /* "attempt to write..." */ - /* SQLITE_INTERRUPT */ ts + 21951, /* "interrupted" */ - /* SQLITE_IOERR */ ts + 21963, /* "disk I/O error" */ - /* SQLITE_CORRUPT */ ts + 21978, /* "database disk im..." */ - /* SQLITE_NOTFOUND */ ts + 22011, /* "unknown operatio..." */ - /* SQLITE_FULL */ ts + 22029, /* "database or disk..." */ - /* SQLITE_CANTOPEN */ ts + 22054, /* "unable to open d..." */ - /* SQLITE_PROTOCOL */ ts + 22083, /* "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 + 4912, /* "database schema ..." */ - /* SQLITE_TOOBIG */ ts + 4449, /* "string or blob t..." */ - /* SQLITE_CONSTRAINT */ ts + 22100, /* "constraint faile..." */ - /* SQLITE_MISMATCH */ ts + 22118, /* "datatype mismatc..." */ - /* SQLITE_MISUSE */ ts + 22136, /* "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 + 22170, /* "authorization de..." */ + /* SQLITE_AUTH */ ts + 22169, /* "authorization de..." */ /* SQLITE_FORMAT */ uintptr(0), - /* SQLITE_RANGE */ ts + 22191, /* "column index out..." */ - /* SQLITE_NOTADB */ ts + 22217, /* "file is not a da..." */ - /* SQLITE_NOTICE */ ts + 22240, /* "notification mes..." */ - /* SQLITE_WARNING */ ts + 22261, /* "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 @@ -144864,7 +146158,9 @@ func Xsqlite3InvokeBusyHandler(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:16 if ((*BusyHandler)(unsafe.Pointer(p)).FxBusyHandler == uintptr(0)) || ((*BusyHandler)(unsafe.Pointer(p)).FnBusy < 0) { return 0 } - rc = (*(*func(*libc.TLS, uintptr, int32) int32)(unsafe.Pointer((p /* &.xBusyHandler */))))(tls, (*BusyHandler)(unsafe.Pointer(p)).FpBusyArg, (*BusyHandler)(unsafe.Pointer(p)).FnBusy) + rc = (*struct { + f func(*libc.TLS, uintptr, int32) int32 + })(unsafe.Pointer(&struct{ uintptr }{(*BusyHandler)(unsafe.Pointer(p)).FxBusyHandler})).f(tls, (*BusyHandler)(unsafe.Pointer(p)).FpBusyArg, (*BusyHandler)(unsafe.Pointer(p)).FnBusy) if rc == 0 { (*BusyHandler)(unsafe.Pointer(p)).FnBusy = -1 } else { @@ -144981,7 +146277,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+22277 /* "unable to delete..." */, 0) + ts+22276 /* "unable to delete..." */, 0) return SQLITE_BUSY } else { @@ -145043,7 +146339,7 @@ func createFunctionApi(tls *libc.TLS, db uintptr, zFunc uintptr, nArg int32, enc goto __2 } Xsqlite3OomFault(tls, db) - (*(*func(*libc.TLS, uintptr))(unsafe.Pointer(&xDestroy)))(tls, p) + (*struct{ f func(*libc.TLS, uintptr) })(unsafe.Pointer(&struct{ uintptr }{xDestroy})).f(tls, p) goto out __2: ; @@ -145058,7 +146354,7 @@ __1: goto __3 } - (*(*func(*libc.TLS, uintptr))(unsafe.Pointer(&xDestroy)))(tls, p) + (*struct{ f func(*libc.TLS, uintptr) })(unsafe.Pointer(&struct{ uintptr }{xDestroy})).f(tls, p) Xsqlite3_free(tls, pArg) __3: ; @@ -145114,7 +146410,7 @@ func sqlite3InvalidFunction(tls *libc.TLS, context uintptr, NotUsed int32, NotUs _ = NotUsed _ = NotUsed2 zErr = Xsqlite3_mprintf(tls, - ts+22340 /* "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) } @@ -145336,7 +146632,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+22391 /* "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) @@ -145555,7 +146851,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+22412 /* "unable to delete..." */, 0) + ts+22411 /* "unable to delete..." */, 0) return SQLITE_BUSY } Xsqlite3ExpirePreparedStatements(tls, db, 0) @@ -145572,7 +146868,7 @@ func createCollation(tls *libc.TLS, db uintptr, zName uintptr, enc U8, pCtx uint var p uintptr = (aColl + uintptr(j)*40) if int32((*CollSeq)(unsafe.Pointer(p)).Fenc) == int32((*CollSeq)(unsafe.Pointer(pColl)).Fenc) { if (*CollSeq)(unsafe.Pointer(p)).FxDel != 0 { - (*(*func(*libc.TLS, uintptr))(unsafe.Pointer((p + 32 /* &.xDel */))))(tls, (*CollSeq)(unsafe.Pointer(p)).FpUser) + (*struct{ f func(*libc.TLS, uintptr) })(unsafe.Pointer(&struct{ uintptr }{(*CollSeq)(unsafe.Pointer(p)).FxDel})).f(tls, (*CollSeq)(unsafe.Pointer(p)).FpUser) } (*CollSeq)(unsafe.Pointer(p)).FxCmp = uintptr(0) } @@ -145698,7 +146994,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+22480 /* "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 @@ -145746,10 +147042,10 @@ __8: goto __8 __9: ; - if !((iIn != 7) && ((iIn != 16) || (libc.Xmemcmp(tls, ts+22486 /* "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+22496, /* "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 @@ -145871,7 +147167,7 @@ __27: zVal = (zOpt + uintptr((nOpt + 1))) nVal = Xsqlite3Strlen30(tls, zVal) - if !((nOpt == 3) && (libc.Xmemcmp(tls, ts+22524 /* "vfs" */, zOpt, uint64(3)) == 0)) { + if !((nOpt == 3) && (libc.Xmemcmp(tls, ts+22523 /* "vfs" */, zOpt, uint64(3)) == 0)) { goto __29 } zVfs = zVal @@ -145882,17 +147178,17 @@ __29: mask = 0 limit = 0 - if !((nOpt == 5) && (libc.Xmemcmp(tls, ts+22528 /* "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 + 22528 /* "cache" */ + zModeType = ts + 22527 /* "cache" */ __31: ; - if !((nOpt == 4) && (libc.Xmemcmp(tls, ts+22534 /* "mode" */, zOpt, uint64(4)) == 0)) { + if !((nOpt == 4) && (libc.Xmemcmp(tls, ts+22533 /* "mode" */, zOpt, uint64(4)) == 0)) { goto __32 } @@ -145900,7 +147196,7 @@ __31: SQLITE_OPEN_CREATE) | SQLITE_OPEN_MEMORY) aMode = uintptr(unsafe.Pointer(&aOpenMode)) limit = (int32(uint32(mask) & flags)) - zModeType = ts + 2400 /* "access" */ + zModeType = ts + 2399 /* "access" */ __32: ; @@ -145931,7 +147227,7 @@ __36: if !(mode == 0) { goto __38 } - *(*uintptr)(unsafe.Pointer(pzErrMsg)) = Xsqlite3_mprintf(tls, ts+22539 /* "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: @@ -145939,7 +147235,7 @@ __38: if !((mode & libc.CplInt32(SQLITE_OPEN_MEMORY)) > limit) { goto __39 } - *(*uintptr)(unsafe.Pointer(pzErrMsg)) = Xsqlite3_mprintf(tls, ts+22559, /* "%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 @@ -145982,7 +147278,7 @@ __2: if !(*(*uintptr)(unsafe.Pointer(ppVfs)) == uintptr(0)) { goto __42 } - *(*uintptr)(unsafe.Pointer(pzErrMsg)) = Xsqlite3_mprintf(tls, ts+22583 /* "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: ; @@ -146000,21 +147296,21 @@ __43: } type OpenMode = struct { - Fz uintptr - Fmode int32 - _ [4]byte + Fz uintptr + Fmode int32 + F__ccgo_pad1 [4]byte } /* sqlite3.c:168064:9 */ var aCacheMode = [3]OpenMode{ - {Fz: ts + 22599 /* "shared" */, Fmode: SQLITE_OPEN_SHAREDCACHE}, - {Fz: ts + 22606 /* "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 + 22614 /* "ro" */, Fmode: SQLITE_OPEN_READONLY}, - {Fz: ts + 22617 /* "rw" */, Fmode: SQLITE_OPEN_READWRITE}, - {Fz: ts + 22620 /* "rwc" */, Fmode: (SQLITE_OPEN_READWRITE | SQLITE_OPEN_CREATE)}, - {Fz: ts + 15851 /* "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 */ @@ -146196,10 +147492,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+20170 /* "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+22624 /* "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) { @@ -146245,7 +147541,7 @@ __19: ; Xsqlite3ErrorWithMsg(tls, db, rc, func() uintptr { if *(*uintptr)(unsafe.Pointer(bp + 24 /* zErrMsg */)) != 0 { - return ts + 2791 /* "%s" */ + return ts + 2790 /* "%s" */ } return uintptr(0) }(), libc.VaList(bp, *(*uintptr)(unsafe.Pointer(bp + 24 /* zErrMsg */)))) @@ -146283,9 +147579,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 + 5459 /* "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 + 21626 /* "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 @@ -146403,7 +147699,7 @@ func Xsqlite3_open16(tls *libc.TLS, zFilename uintptr, ppDb uintptr) int32 { /* return rc } if zFilename == uintptr(0) { - zFilename = ts + 22630 /* "\x00\x00" */ + zFilename = ts + 22629 /* "\x00\x00" */ } pVal = Xsqlite3ValueNew(tls, uintptr(0)) Xsqlite3ValueSetStr(tls, pVal, -1, zFilename, uint8(SQLITE_UTF16LE), uintptr(0)) @@ -146506,24 +147802,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+22633, /* "%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+22658 /* "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+22678 /* "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+22685 /* "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 @@ -146650,7 +147946,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 + 11385 /* "INTEGER" */ + zDataType = ts + 11384 /* "INTEGER" */ primarykey = 1 __13: ; @@ -146702,14 +147998,14 @@ __19: goto __20 } Xsqlite3DbFree(tls, db, *(*uintptr)(unsafe.Pointer(bp + 24 /* zErrMsg */))) - *(*uintptr)(unsafe.Pointer(bp + 24 /* zErrMsg */)) = Xsqlite3MPrintf(tls, db, ts+22702 /* "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 + 2791 /* "%s" */ + return ts + 2790 /* "%s" */ } return uintptr(0) }(), libc.VaList(bp+16, *(*uintptr)(unsafe.Pointer(bp + 24 /* zErrMsg */)))) @@ -146797,7 +148093,7 @@ func Xsqlite3_test_control(tls *libc.TLS, op int32, va uintptr) int32 { /* sqlit var rc int32 = 0 var ap Va_list _ = ap - ap = va + (ap) = va switch op { // Save the current state of the PRNG. @@ -146936,7 +148232,7 @@ func Xsqlite3_test_control(tls *libc.TLS, op int32, va uintptr) int32 { /* sqlit { var x int32 = 0 - rc = libc.AtomicLoadInt32(&x) + rc = x break } @@ -147508,7 +148804,7 @@ func Xsqlite3_compileoption_used(tls *libc.TLS, zOptName uintptr) int32 { /* sql azCompileOpt = Xsqlite3CompileOptions(tls, bp /* &nOpt */) - if Xsqlite3_strnicmp(tls, zOptName, ts+22730 /* "SQLITE_" */, 7) == 0 { + if Xsqlite3_strnicmp(tls, zOptName, ts+22729 /* "SQLITE_" */, 7) == 0 { zOptName += uintptr(7) } n = Xsqlite3Strlen30(tls, zOptName) @@ -147648,7 +148944,9 @@ func Xsqlite3_unlock_notify(tls *libc.TLS, db uintptr, xNotify uintptr, pArg uin // The blocking transaction has been concluded. Or there never was a // blocking transaction. In either case, invoke the notify callback // immediately. - (*(*func(*libc.TLS, uintptr, int32))(unsafe.Pointer(&xNotify)))(tls, bp /* &pArg */, 1) + (*struct { + f func(*libc.TLS, uintptr, int32) + })(unsafe.Pointer(&struct{ uintptr }{xNotify})).f(tls, bp /* &pArg */, 1) } else { var p uintptr @@ -147669,7 +148967,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 + 22738 /* "database is dead..." */ + return ts + 22737 /* "database is dead..." */ } return uintptr(0) }(), 0) @@ -147735,7 +149033,9 @@ func Xsqlite3ConnectionUnlocked(tls *libc.TLS, db uintptr) { /* sqlite3.c:170018 if (*Sqlite3)(unsafe.Pointer(p)).FpUnlockConnection == db { if ((*Sqlite3)(unsafe.Pointer(p)).FxUnlockNotify != xUnlockNotify) && (nArg != 0) { - (*(*func(*libc.TLS, uintptr, int32))(unsafe.Pointer(&xUnlockNotify)))(tls, aArg, nArg) + (*struct { + f func(*libc.TLS, uintptr, int32) + })(unsafe.Pointer(&struct{ uintptr }{xUnlockNotify})).f(tls, aArg, nArg) nArg = 0 } @@ -147773,7 +149073,9 @@ func Xsqlite3ConnectionUnlocked(tls *libc.TLS, db uintptr) { /* sqlite3.c:170018 // reduce the applications ability to prioritize multiple // connections. But it is the best that can be done under the // circumstances. - (*(*func(*libc.TLS, uintptr, int32))(unsafe.Pointer(&xUnlockNotify)))(tls, aArg, nArg) + (*struct { + f func(*libc.TLS, uintptr, int32) + })(unsafe.Pointer(&struct{ uintptr }{xUnlockNotify})).f(tls, aArg, nArg) nArg = 0 } } @@ -147797,7 +149099,9 @@ func Xsqlite3ConnectionUnlocked(tls *libc.TLS, db uintptr) { /* sqlite3.c:170018 } if nArg != 0 { - (*(*func(*libc.TLS, uintptr, int32))(unsafe.Pointer(&xUnlockNotify)))(tls, aArg, nArg) + (*struct { + f func(*libc.TLS, uintptr, int32) + })(unsafe.Pointer(&struct{ uintptr }{xUnlockNotify})).f(tls, aArg, nArg) } Xsqlite3_free(tls, aDyn) leaveMutex(tls) // Leave STATIC_MAIN mutex @@ -148426,39 +149730,39 @@ var jsonIsSpace = [256]int8{ // Objects type JsonString1 = struct { - FpCtx uintptr - FzBuf uintptr - FnAlloc U64 - FnUsed U64 - FbStatic U8 - FbErr U8 - FzSpace [100]int8 - _ [2]byte + FpCtx uintptr + FzBuf uintptr + FnAlloc U64 + FnUsed U64 + FbStatic U8 + FbErr U8 + FzSpace [100]int8 + F__ccgo_pad1 [2]byte } /* sqlite3.c:189736:9 */ // Objects type JsonString = JsonString1 /* sqlite3.c:189736:27 */ type JsonNode1 = struct { - FeType U8 - FjnFlags U8 - _ [2]byte - Fn U32 - Fu struct{ FzJContent uintptr } + FeType U8 + FjnFlags U8 + F__ccgo_pad1 [2]byte + Fn U32 + Fu struct{ FzJContent uintptr } } /* sqlite3.c:189737:9 */ type JsonNode = JsonNode1 /* sqlite3.c:189737:25 */ type JsonParse1 = struct { - FnNode U32 - FnAlloc U32 - FaNode uintptr - FzJson uintptr - FaUp uintptr - Foom U8 - FnErr U8 - FiDepth U16 - FnJson int32 - FiHold U32 - _ [4]byte + FnNode U32 + FnAlloc U32 + FaNode uintptr + FzJson uintptr + FaUp uintptr + Foom U8 + FnErr U8 + FiDepth U16 + FnJson int32 + FiHold U32 + F__ccgo_pad1 [4]byte } /* sqlite3.c:189738:9 */ type JsonParse = JsonParse1 /* sqlite3.c:189738:26 */ @@ -148469,7 +149773,7 @@ type JsonParse = JsonParse1 /* sqlite3.c:189738:26 */ // Names of the various JSON types: var jsonType = [8]uintptr{ - ts + 5259 /* "null" */, ts + 5771 /* "true" */, ts + 5776 /* "false" */, ts + 5269 /* "integer" */, ts + 5264 /* "real" */, ts + 13524 /* "text" */, ts + 22761 /* "array" */, ts + 22767, /* "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. @@ -148567,7 +149871,7 @@ func jsonPrintf(tls *libc.TLS, N int32, p uintptr, zFormat uintptr, va uintptr) if (((*JsonString)(unsafe.Pointer(p)).FnUsed + U64(N)) >= (*JsonString)(unsafe.Pointer(p)).FnAlloc) && (jsonGrow(tls, p, uint32(N)) != 0) { return } - ap = va + (ap) = va Xsqlite3_vsnprintf(tls, N, ((*JsonString)(unsafe.Pointer(p)).FzBuf + uintptr((*JsonString)(unsafe.Pointer(p)).FnUsed)), zFormat, ap) _ = ap *(*U64)(unsafe.Pointer(p + 24 /* &.nUsed */)) += (U64(int32(libc.Xstrlen(tls, ((*JsonString)(unsafe.Pointer(p)).FzBuf + uintptr((*JsonString)(unsafe.Pointer(p)).FnUsed)))))) @@ -148649,7 +149953,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 + 22774 /* "0123456789abcdef" */ + uintptr((int32(c) & 0xf))))) + c = uint8(*(*int8)(unsafe.Pointer(ts + 22773 /* "0123456789abcdef" */ + uintptr((int32(c) & 0xf))))) __8: ; __6: @@ -148677,7 +149981,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+5259 /* "null" */, uint32(4)) + jsonAppendRaw(tls, p, ts+5258 /* "null" */, uint32(4)) break } @@ -148706,7 +150010,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+22791 /* "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) } @@ -148783,19 +150087,19 @@ func jsonRenderNode(tls *libc.TLS, pNode uintptr, pOut uintptr, aReplace uintptr default: { - jsonAppendRaw(tls, pOut, ts+5259 /* "null" */, uint32(4)) + jsonAppendRaw(tls, pOut, ts+5258 /* "null" */, uint32(4)) break } case JSON_TRUE: { - jsonAppendRaw(tls, pOut, ts+5771 /* "true" */, uint32(4)) + jsonAppendRaw(tls, pOut, ts+5770 /* "true" */, uint32(4)) break } case JSON_FALSE: { - jsonAppendRaw(tls, pOut, ts+5776 /* "false" */, uint32(5)) + jsonAppendRaw(tls, pOut, ts+5775 /* "false" */, uint32(5)) break } @@ -149361,17 +150665,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+5259 /* "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+5771 /* "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+5776 /* "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))) @@ -149479,7 +150783,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+22820 /* "malformed JSON" */, -1) + Xsqlite3_result_error(tls, pCtx, ts+22819 /* "malformed JSON" */, -1) } } jsonParseReset(tls, pParse) @@ -149799,7 +151103,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+22835 /* "[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) @@ -149816,7 +151120,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+22839 /* "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. @@ -149883,7 +151187,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+22865, /* "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) @@ -150027,7 +151331,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+5259 /* "null" */, uint32(4)) + jsonAppendRaw(tls, bp /* &jx */, ts+5258 /* "null" */, uint32(4)) } } else if pNode != 0 { jsonReturn(tls, pNode, ctx, uintptr(0)) @@ -150155,14 +151459,14 @@ func jsonObjectFunc(tls *libc.TLS, ctx uintptr, argc int32, argv uintptr) { /* s if (argc & 1) != 0 { Xsqlite3_result_error(tls, ctx, - ts+22908 /* "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+22959 /* "json_object() la..." */, -1) + Xsqlite3_result_error(tls, ctx, ts+22958 /* "json_object() la..." */, -1) jsonReset(tls, bp /* &jx */) return } @@ -150270,7 +151574,7 @@ __1: if !((argc & 1) == 0) { goto __2 } - jsonWrongNumArgs(tls, ctx, ts+14035 /* "replace" */) + jsonWrongNumArgs(tls, ctx, ts+14034 /* "replace" */) return __2: ; @@ -150356,9 +151660,9 @@ __1: } jsonWrongNumArgs(tls, ctx, func() uintptr { if bIsSet != 0 { - return ts + 22993 /* "set" */ + return ts + 22992 /* "set" */ } - return ts + 22997 /* "insert" */ + return ts + 22996 /* "insert" */ }()) return __2: @@ -150506,7 +151810,7 @@ func jsonArrayCompute(tls *libc.TLS, ctx uintptr, isFinal int32) { /* sqlite3.c: (*JsonString)(unsafe.Pointer(pStr)).FnUsed-- } } else { - Xsqlite3_result_text(tls, ctx, ts+23004 /* "[]" */, 2, uintptr(0)) + Xsqlite3_result_text(tls, ctx, ts+23003 /* "[]" */, 2, uintptr(0)) } Xsqlite3_result_subtype(tls, ctx, uint32(JSON_SUBTYPE)) } @@ -150611,7 +151915,7 @@ func jsonObjectCompute(tls *libc.TLS, ctx uintptr, isFinal int32) { /* sqlite3.c (*JsonString)(unsafe.Pointer(pStr)).FnUsed-- } } else { - Xsqlite3_result_text(tls, ctx, ts+23007 /* "{}" */, 2, uintptr(0)) + Xsqlite3_result_text(tls, ctx, ts+23006 /* "{}" */, 2, uintptr(0)) } Xsqlite3_result_subtype(tls, ctx, uint32(JSON_SUBTYPE)) } @@ -150629,17 +151933,17 @@ func jsonObjectFinal(tls *libc.TLS, ctx uintptr) { /* sqlite3.c:191673:13: */ // The json_each virtual table // type JsonEachCursor1 = struct { - Fbase Sqlite3_vtab_cursor - FiRowid U32 - FiBegin U32 - Fi U32 - FiEnd U32 - FeType U8 - FbRecursive U8 - _ [6]byte - FzJson uintptr - FzRoot uintptr - FsParse JsonParse + Fbase Sqlite3_vtab_cursor + FiRowid U32 + FiBegin U32 + Fi U32 + FiEnd U32 + FeType U8 + FbRecursive U8 + F__ccgo_pad1 [6]byte + FzJson uintptr + FzRoot uintptr + FsParse JsonParse } /* sqlite3.c:191683:9 */ // *************************************************************************** @@ -150664,7 +151968,7 @@ func jsonEachConnect(tls *libc.TLS, db uintptr, pAux uintptr, argc int32, argv u _ = pAux rc = Xsqlite3_declare_vtab(tls, db, - ts+23010 /* "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) { @@ -150802,14 +152106,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+23093 /* "[%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+23098 /* ".%.*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)))) } } @@ -150902,9 +152206,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+23093 /* "[%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+23098 /* ".%.*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 */) @@ -150928,7 +152232,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 + 23104 /* "$" */ + zRoot = ts + 23103 /* "$" */ } Xsqlite3_result_text(tls, ctx, zRoot, -1, uintptr(0)) break @@ -151060,7 +152364,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+22820 /* "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 } @@ -151172,12 +152476,12 @@ func Xsqlite3Json1Init(tls *libc.TLS, db uintptr) int32 { /* sqlite3.c:192174:20 aFunc[i].FxFunc, uintptr(0), uintptr(0)) } for i = uint32(0); (uint64(i) < (uint64(unsafe.Sizeof(aAgg)) / uint64(unsafe.Sizeof(struct { - FzName uintptr - FnArg int32 - _ [4]byte - FxStep uintptr - FxFinal uintptr - FxValue uintptr + FzName uintptr + FnArg int32 + F__ccgo_pad1 [4]byte + FxStep uintptr + FxFinal uintptr + FxValue uintptr }{})))) && (rc == SQLITE_OK); i++ { rc = Xsqlite3_create_window_function(tls, db, aAgg[i].FzName, aAgg[i].FnArg, (SQLITE_SUBTYPE | enc), uintptr(0), @@ -151201,41 +152505,41 @@ var aFunc = [15]struct { Fflag int32 FxFunc uintptr }{ - {FzName: ts + 23106 /* "json" */, FnArg: 1, FxFunc: 0}, - {FzName: ts + 23111 /* "json_array" */, FnArg: -1, FxFunc: 0}, - {FzName: ts + 23122 /* "json_array_lengt..." */, FnArg: 1, FxFunc: 0}, - {FzName: ts + 23122 /* "json_array_lengt..." */, FnArg: 2, FxFunc: 0}, - {FzName: ts + 23140 /* "json_extract" */, FnArg: -1, FxFunc: 0}, - {FzName: ts + 23153 /* "json_insert" */, FnArg: -1, FxFunc: 0}, - {FzName: ts + 23165 /* "json_object" */, FnArg: -1, FxFunc: 0}, - {FzName: ts + 23177 /* "json_patch" */, FnArg: 2, FxFunc: 0}, - {FzName: ts + 23188 /* "json_quote" */, FnArg: 1, FxFunc: 0}, - {FzName: ts + 23199 /* "json_remove" */, FnArg: -1, FxFunc: 0}, - {FzName: ts + 23211 /* "json_replace" */, FnArg: -1, FxFunc: 0}, - {FzName: ts + 23224 /* "json_set" */, FnArg: -1, Fflag: 1, FxFunc: 0}, - {FzName: ts + 23233 /* "json_type" */, FnArg: 1, FxFunc: 0}, - {FzName: ts + 23233 /* "json_type" */, FnArg: 2, FxFunc: 0}, - {FzName: ts + 23243 /* "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 - FnArg int32 - _ [4]byte - FxStep uintptr - FxFinal uintptr - FxValue uintptr + FzName uintptr + FnArg int32 + F__ccgo_pad1 [4]byte + FxStep uintptr + FxFinal uintptr + FxValue uintptr }{ - {FzName: ts + 23254 /* "json_group_array" */, FnArg: 1, + {FzName: ts + 23253 /* "json_group_array" */, FnArg: 1, FxStep: 0, FxFinal: 0, FxValue: 0}, - {FzName: ts + 23271 /* "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 + 23289 /* "json_each" */, FpModule: 0}, - {FzName: ts + 23299 /* "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 @@ -151257,19 +152561,19 @@ type Rtree1 = struct { FinWrTrans U8 FnAux U8 FnAuxNotNull U8 - _ [1]byte + F__ccgo_pad1 [1]byte FiDepth int32 FzDb uintptr FzName uintptr FnBusy U32 - _ [4]byte + F__ccgo_pad2 [4]byte FnRowEst I64 FnCursor U32 FnNodeRef U32 FzReadAuxSql uintptr FpDeleted uintptr FiReinsertHeight int32 - _ [4]byte + F__ccgo_pad3 [4]byte FpNodeBlob uintptr FpWriteNode uintptr FpDeleteNode uintptr @@ -151298,21 +152602,21 @@ type RtreeCursor1 = struct { FatEOF U8 FbPoint U8 FbAuxValid U8 - _ [1]byte + F__ccgo_pad1 [1]byte FiStrategy int32 FnConstraint int32 - _ [4]byte + F__ccgo_pad2 [4]byte FaConstraint uintptr FnPointAlloc int32 FnPoint int32 FmxLevel int32 - _ [4]byte + F__ccgo_pad3 [4]byte FaPoint uintptr FpReadAux uintptr FsPoint RtreeSearchPoint FaNode [5]uintptr FanQueue [41]U32 - _ [4]byte + F__ccgo_pad4 [4]byte } /* sqlite3.c:192363:9 */ type RtreeCursor = RtreeCursor1 /* sqlite3.c:192363:28 */ @@ -151341,13 +152645,13 @@ type RtreeConstraint1 = struct { type RtreeConstraint = RtreeConstraint1 /* sqlite3.c:192366:32 */ type RtreeMatchArg1 = struct { - FiSize U32 - _ [4]byte - Fcb RtreeGeomCallback - FnParam int32 - _ [4]byte - FapSqlParam uintptr - FaParam [1]RtreeDValue + FiSize U32 + F__ccgo_pad1 [4]byte + Fcb RtreeGeomCallback + FnParam int32 + F__ccgo_pad2 [4]byte + FapSqlParam uintptr + FaParam [1]RtreeDValue } /* sqlite3.c:192367:9 */ type RtreeMatchArg = RtreeMatchArg1 /* sqlite3.c:192367:30 */ @@ -151363,12 +152667,12 @@ type RtreeCoord1 = struct{ Ff RtreeValue } /* sqlite3.c:192365:9 */ type RtreeCoord = RtreeCoord1 /* sqlite3.c:192369:26 */ type RtreeSearchPoint1 = struct { - FrScore RtreeDValue - Fid Sqlite3_int64 - FiLevel U8 - FeWithin U8 - FiCell U8 - _ [5]byte + FrScore RtreeDValue + Fid Sqlite3_int64 + FiLevel U8 + FeWithin U8 + FiCell U8 + F__ccgo_pad1 [5]byte } /* sqlite3.c:192363:9 */ type RtreeSearchPoint = RtreeSearchPoint1 /* sqlite3.c:192370:33 */ @@ -151585,11 +152889,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+23309 /* "%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+23317 /* "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) } @@ -151834,7 +153138,7 @@ func rtreeDestroy(tls *libc.TLS, pVtab uintptr) int32 { /* sqlite3.c:193308:12: var rc int32 var zCreate uintptr = Xsqlite3_mprintf(tls, - ts+23322, /* "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)) @@ -151881,7 +153185,7 @@ func resetCursor(tls *libc.TLS, pCsr uintptr) { /* sqlite3.c:193357:13: */ var pInfo uintptr = (*RtreeConstraint)(unsafe.Pointer((*RtreeCursor)(unsafe.Pointer(pCsr)).FaConstraint + uintptr(i)*24)).FpInfo if pInfo != 0 { if (*Sqlite3_rtree_query_info)(unsafe.Pointer(pInfo)).FxDelUser != 0 { - (*(*func(*libc.TLS, uintptr))(unsafe.Pointer((pInfo + 32 /* &.xDelUser */))))(tls, (*Sqlite3_rtree_query_info)(unsafe.Pointer(pInfo)).FpUser) + (*struct{ f func(*libc.TLS, uintptr) })(unsafe.Pointer(&struct{ uintptr }{(*Sqlite3_rtree_query_info)(unsafe.Pointer(pInfo)).FxDelUser})).f(tls, (*Sqlite3_rtree_query_info)(unsafe.Pointer(pInfo)).FpUser) } Xsqlite3_free(tls, pInfo) } @@ -152017,7 +153321,9 @@ func rtreeCallbackConstraint(tls *libc.TLS, pConstraint uintptr, eInt int32, pCe } if (*RtreeConstraint)(unsafe.Pointer(pConstraint)).Fop == RTREE_MATCH { *(*int32)(unsafe.Pointer(bp + 88 /* eWithin */)) = 0 - rc = (*(*func(*libc.TLS, uintptr, int32, uintptr, uintptr) int32)(unsafe.Pointer((pConstraint + 8 /* &.u */ /* &.xGeom */))))(tls, pInfo, + rc = (*struct { + f func(*libc.TLS, uintptr, int32, uintptr, uintptr) int32 + })(unsafe.Pointer(&struct{ uintptr }{*(*uintptr)(unsafe.Pointer(pConstraint + 8 /* &.u */))})).f(tls, pInfo, nCoord, bp+8 /* &aCoord[0] */, bp+88 /* &eWithin */) if *(*int32)(unsafe.Pointer(bp + 88 /* eWithin */)) == 0 { *(*int32)(unsafe.Pointer(peWithin)) = NOT_WITHIN @@ -152028,7 +153334,9 @@ func rtreeCallbackConstraint(tls *libc.TLS, pConstraint uintptr, eInt int32, pCe (*Sqlite3_rtree_query_info)(unsafe.Pointer(pInfo)).FiLevel = (int32((*RtreeSearchPoint)(unsafe.Pointer(pSearch)).FiLevel) - 1) (*Sqlite3_rtree_query_info)(unsafe.Pointer(pInfo)).FrScore = libc.AssignPtrFloat64(pInfo+80 /* &.rParentScore */, (*RtreeSearchPoint)(unsafe.Pointer(pSearch)).FrScore) (*Sqlite3_rtree_query_info)(unsafe.Pointer(pInfo)).FeWithin = libc.AssignPtrInt32(pInfo+88 /* &.eParentWithin */, int32((*RtreeSearchPoint)(unsafe.Pointer(pSearch)).FeWithin)) - rc = (*(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer((pConstraint + 8 /* &.u */ /* &.xQueryFunc */))))(tls, pInfo) + rc = (*struct { + f func(*libc.TLS, uintptr) int32 + })(unsafe.Pointer(&struct{ uintptr }{*(*uintptr)(unsafe.Pointer(pConstraint + 8 /* &.u */))})).f(tls, pInfo) if (*Sqlite3_rtree_query_info)(unsafe.Pointer(pInfo)).FeWithin < *(*int32)(unsafe.Pointer(peWithin)) { *(*int32)(unsafe.Pointer(peWithin)) = (*Sqlite3_rtree_query_info)(unsafe.Pointer(pInfo)).FeWithin } @@ -152594,7 +153902,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+23404 /* "RtreeMatchArg" */) + pSrc = Xsqlite3_value_pointer(tls, pValue, ts+23403 /* "RtreeMatchArg" */) if pSrc == uintptr(0) { return SQLITE_ERROR } @@ -152858,7 +154166,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+2791 /* "%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 } @@ -153414,7 +154722,9 @@ func updateMapping(tls *libc.TLS, pRtree uintptr, iRowid I64, pNode uintptr, iHe (*RtreeNode)(unsafe.Pointer(pChild)).FpParent = pNode } } - return (*(*func(*libc.TLS, uintptr, Sqlite3_int64, Sqlite3_int64) int32)(unsafe.Pointer(&xSetMapping)))(tls, pRtree, iRowid, (*RtreeNode)(unsafe.Pointer(pNode)).FiNode) + return (*struct { + f func(*libc.TLS, uintptr, Sqlite3_int64, Sqlite3_int64) int32 + })(unsafe.Pointer(&struct{ uintptr }{xSetMapping})).f(tls, pRtree, iRowid, (*RtreeNode)(unsafe.Pointer(pNode)).FiNode) } func sSplitNode(tls *libc.TLS, pRtree uintptr, pNode uintptr, pCell uintptr, iHeight int32) int32 { /* sqlite3.c:194817:12: */ @@ -154118,7 +155428,7 @@ func rtreeConstraintError(tls *libc.TLS, pRtree uintptr, iCol int32) int32 { /* var zSql uintptr var rc int32 - zSql = Xsqlite3_mprintf(tls, ts+23418 /* "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 { @@ -154130,12 +155440,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+23438 /* "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+23470 /* "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)) } } @@ -154403,7 +155713,7 @@ func rtreeRename(tls *libc.TLS, pVtab uintptr, zNewName uintptr) int32 { /* sqli var rc int32 = SQLITE_NOMEM var zSql uintptr = Xsqlite3_mprintf(tls, - ts+23507 /* "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)) @@ -154441,7 +155751,7 @@ func rtreeQueryStat1(tls *libc.TLS, db uintptr, pRtree uintptr) int32 { /* sqlit bp := tls.Alloc(24) defer tls.Free(24) - var zFmt uintptr = ts + 23652 /* "SELECT stat FROM..." */ + var zFmt uintptr = ts + 23651 /* "SELECT stat FROM..." */ var zSql uintptr // var p uintptr at bp+16, 8 @@ -154449,7 +155759,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+10073 /* "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 { @@ -154502,7 +155812,7 @@ func rtreeShadowName(tls *libc.TLS, zName uintptr) int32 { /* sqlite3.c:195715:1 } var azName1 = [3]uintptr{ - ts + 23708 /* "node" */, ts + 4175 /* "parent" */, ts + 14758, /* "rowid" */ + ts + 23707 /* "node" */, ts + 4174 /* "parent" */, ts + 14757, /* "rowid" */ } /* sqlite3.c:195716:21 */ var rtreeModule = Sqlite3_module{ @@ -154546,19 +155856,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+23713, /* "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+23775 /* ",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+23780, /* ");CREATE TABLE \"..." */ + ts+23779, /* ");CREATE TABLE \"..." */ libc.VaList(bp+24, zDb, zPrefix)) Xsqlite3_str_appendf(tls, p, - ts+23844, /* "CREATE TABLE \"%w..." */ + ts+23843, /* "CREATE TABLE \"%w..." */ libc.VaList(bp+40, zDb, zPrefix)) Xsqlite3_str_appendf(tls, p, - ts+23914, /* "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) { @@ -154589,7 +155899,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 + 23963 /* "INSERT INTO\"%w\"...." */ + zFormat = ts + 23962 /* "INSERT INTO\"%w\"...." */ } zSql = Xsqlite3_mprintf(tls, zFormat, libc.VaList(bp+80, zDb, zPrefix)) if zSql != 0 { @@ -154601,7 +155911,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+24071, /* "SELECT * FROM \"%..." */ + ts+24070, /* "SELECT * FROM \"%..." */ libc.VaList(bp+96, zDb, zPrefix)) if (*Rtree)(unsafe.Pointer(pRtree)).FzReadAuxSql == uintptr(0) { rc = SQLITE_NOMEM @@ -154609,18 +155919,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+24116 /* "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+11538 /* "," */, 1) + Xsqlite3_str_append(tls, p, ts+11537 /* "," */, 1) } if ii < int32((*Rtree)(unsafe.Pointer(pRtree)).FnAuxNotNull) { - Xsqlite3_str_appendf(tls, p, ts+24143 /* "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+24165 /* "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+24173 /* " 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 @@ -154636,18 +155946,18 @@ func rtreeSqlInit(tls *libc.TLS, pRtree uintptr, db uintptr, zDb uintptr, zPrefi var azSql = [8]uintptr{ // Write the xxx_node table - ts + 24189, /* "INSERT OR REPLAC..." */ - ts + 24242, /* "DELETE FROM '%q'..." */ + ts + 24188, /* "INSERT OR REPLAC..." */ + ts + 24241, /* "DELETE FROM '%q'..." */ // Read and write the xxx_rowid table - ts + 24287, /* "SELECT nodeno FR..." */ - ts + 24339, /* "INSERT OR REPLAC..." */ - ts + 24393, /* "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 + 24438, /* "SELECT parentnod..." */ - ts + 24496, /* "INSERT OR REPLAC..." */ - ts + 24551, /* "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 @@ -154694,7 +156004,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+24598 /* "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) @@ -154702,19 +156012,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+2791 /* "%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+24618, /* "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+2791 /* "%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+24675, /* "undersize RTree ..." */ + *(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3_mprintf(tls, ts+24674, /* "undersize RTree ..." */ libc.VaList(bp+40, (*Rtree)(unsafe.Pointer(pRtree)).FzName)) } } @@ -154765,17 +156075,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 + 24710, /* "Wrong number of ..." */ // 1 - ts + 24753, /* "Too few columns ..." */ // 2 - ts + 24788, /* "Too many columns..." */ // 3 - ts + 24824, /* "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+2791 /* "%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: ; @@ -154805,7 +156115,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+24861, /* "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: @@ -154817,7 +156127,7 @@ __3: goto __6 } (*Rtree)(unsafe.Pointer(pRtree)).FnAux++ - Xsqlite3_str_appendf(tls, pSql, ts+24885 /* ",%.*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) { @@ -154840,7 +156150,7 @@ __4: goto __5 __5: ; - Xsqlite3_str_appendf(tls, pSql, ts+24891 /* ");" */, 0) + Xsqlite3_str_appendf(tls, pSql, ts+24890 /* ");" */, 0) zSql = Xsqlite3_str_finish(tls, pSql) if !(!(zSql != 0)) { goto __10 @@ -154851,14 +156161,14 @@ __10: if !(ii < argc) { goto __12 } - *(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3_mprintf(tls, ts+2791 /* "%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+2791 /* "%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: @@ -154901,7 +156211,7 @@ __17: if !(iErr != 0) { goto __22 } - *(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3_mprintf(tls, ts+2791 /* "%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: ; @@ -154919,7 +156229,7 @@ __23: if !(rc != 0) { goto __24 } - *(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3_mprintf(tls, ts+2791 /* "%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: ; @@ -154939,7 +156249,7 @@ __25: return rc } -var azFormat = [2]uintptr{ts + 24894 /* ",%.*s REAL" */, ts + 24905 /* ",%.*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. @@ -154994,13 +156304,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+9653 /* " " */, 1) + Xsqlite3_str_append(tls, pOut, ts+9652 /* " " */, 1) } - Xsqlite3_str_appendf(tls, pOut, ts+24915 /* "{%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+24921 /* " %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+24925 /* "}" */, 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}))) @@ -155019,7 +156329,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+24927 /* "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 { @@ -155043,10 +156353,10 @@ type RtreeCheck1 = struct { FnLeaf int32 FnNonLeaf int32 Frc int32 - _ [4]byte + F__ccgo_pad1 [4]byte FzReport uintptr FnErr int32 - _ [4]byte + F__ccgo_pad2 [4]byte } /* sqlite3.c:196179:9 */ // Context object passed between the various routines that make up the @@ -155077,7 +156387,7 @@ func rtreeCheckPrepare(tls *libc.TLS, pCheck uintptr, zFmt uintptr, va uintptr) var z uintptr *(*uintptr)(unsafe.Pointer(bp /* pRet */)) = uintptr(0) - ap = va + (ap) = va z = Xsqlite3_vmprintf(tls, zFmt, ap) if (*RtreeCheck)(unsafe.Pointer(pCheck)).Frc == SQLITE_OK { @@ -155102,18 +156412,18 @@ func rtreeCheckAppendMsg(tls *libc.TLS, pCheck uintptr, zFmt uintptr, va uintptr var ap Va_list _ = ap - ap = va + (ap) = va if ((*RtreeCheck)(unsafe.Pointer(pCheck)).Frc == SQLITE_OK) && ((*RtreeCheck)(unsafe.Pointer(pCheck)).FnErr < RTREE_CHECK_MAX_ERROR) { var z uintptr = Xsqlite3_vmprintf(tls, zFmt, ap) if z == uintptr(0) { (*RtreeCheck)(unsafe.Pointer(pCheck)).Frc = SQLITE_NOMEM } else { - (*RtreeCheck)(unsafe.Pointer(pCheck)).FzReport = Xsqlite3_mprintf(tls, ts+24960, /* "%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 + 3172 /* "\n" */ + return ts + 3171 /* "\n" */ } - return ts + 756 /* "" */ + return ts + 755 /* "" */ }(), z)) if (*RtreeCheck)(unsafe.Pointer(pCheck)).FzReport == uintptr(0) { (*RtreeCheck)(unsafe.Pointer(pCheck)).Frc = SQLITE_NOMEM @@ -155144,7 +156454,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+24967, /* "SELECT data FROM..." */ + ts+24966, /* "SELECT data FROM..." */ libc.VaList(bp, (*RtreeCheck)(unsafe.Pointer(pCheck)).FzDb, (*RtreeCheck)(unsafe.Pointer(pCheck)).FzTab)) } @@ -155163,7 +156473,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+25012 /* "Node %lld missin..." */, libc.VaList(bp+16, iNode)) + rtreeCheckAppendMsg(tls, pCheck, ts+25011 /* "Node %lld missin..." */, libc.VaList(bp+16, iNode)) } } @@ -155187,8 +156497,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 + 25044, /* "SELECT parentnod..." */ - ts + 25098, /* "SELECT nodeno FR..." */ + ts + 25043, /* "SELECT parentnod..." */ + ts + 25097, /* "SELECT nodeno FR..." */ } if *(*uintptr)(unsafe.Pointer((pCheck + 40 /* &.aCheckMapping */) + uintptr(bLeaf)*8)) == uintptr(0) { @@ -155203,23 +156513,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+25146, /* "Mapping (%lld ->..." */ + rtreeCheckAppendMsg(tls, pCheck, ts+25145, /* "Mapping (%lld ->..." */ libc.VaList(bp+16, iKey, iVal, func() uintptr { if bLeaf != 0 { - return ts + 25191 /* "%_rowid" */ + return ts + 25190 /* "%_rowid" */ } - return ts + 25199 /* "%_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+25208, /* "Found (%lld -> %..." */ + ts+25207, /* "Found (%lld -> %..." */ libc.VaList(bp+40, iKey, ii, func() uintptr { if bLeaf != 0 { - return ts + 25191 /* "%_rowid" */ + return ts + 25190 /* "%_rowid" */ } - return ts + 25199 /* "%_parent" */ + return ts + 25198 /* "%_parent" */ }(), iKey, iVal)) } } @@ -155262,7 +156572,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+25266 /* "Dimension %d of ..." */, libc.VaList(bp, i, iCell, iNode)) + ts+25265 /* "Dimension %d of ..." */, libc.VaList(bp, i, iCell, iNode)) } if pParent != 0 { @@ -155282,7 +156592,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+25314 /* "Dimension %d of ..." */, libc.VaList(bp+24, i, iCell, iNode)) + ts+25313 /* "Dimension %d of ..." */, libc.VaList(bp+24, i, iCell, iNode)) } } } @@ -155305,14 +156615,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+25381 /* "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+25415 /* "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 } @@ -155320,7 +156630,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+25445, /* "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++ { @@ -155354,14 +156664,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+25500, /* "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+25531 /* "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) @@ -155391,13 +156701,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+13214 /* "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+25598 /* "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) @@ -155406,12 +156716,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+23418 /* "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+25626 /* "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)) } @@ -155426,8 +156736,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+25657 /* "_rowid" */, int64((*RtreeCheck)(unsafe.Pointer(bp+32 /* &check */)).FnLeaf)) - rtreeCheckCount(tls, bp+32 /* &check */, ts+25664 /* "_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 @@ -155437,7 +156747,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+25672 /* "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 } @@ -155483,7 +156793,7 @@ func rtreecheck(tls *libc.TLS, ctx uintptr, nArg int32, apArg uintptr) { /* sqli if (nArg != 1) && (nArg != 2) { Xsqlite3_result_error(tls, ctx, - ts+25676 /* "wrong number of ..." */, -1) + ts+25675 /* "wrong number of ..." */, -1) } else { var rc int32 *(*uintptr)(unsafe.Pointer(bp /* zReport */)) = uintptr(0) @@ -155491,7 +156801,7 @@ func rtreecheck(tls *libc.TLS, ctx uintptr, nArg int32, apArg uintptr) { /* sqli var zTab uintptr if nArg == 1 { zTab = zDb - zDb = ts + 5459 /* "main" */ + zDb = ts + 5458 /* "main" */ } else { zTab = Xsqlite3_value_text(tls, *(*uintptr)(unsafe.Pointer(apArg + 1*8))) } @@ -155501,7 +156811,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 + 16337 /* "ok" */ + return ts + 16336 /* "ok" */ }(), -1, libc.UintptrFromInt32(-1)) } else { Xsqlite3_result_error_code(tls, ctx, rc) @@ -155595,12 +156905,12 @@ type GeoPoly = GeoPoly1 /* sqlite3.c:196759:24 */ // State of a parse of a GeoJSON input. type GeoParse1 = struct { - Fz uintptr - FnVertex int32 - FnAlloc int32 - FnErr int32 - _ [4]byte - Fa uintptr + Fz uintptr + FnVertex int32 + FnAlloc int32 + FnErr int32 + F__ccgo_pad1 [4]byte + Fa uintptr } /* sqlite3.c:196782:9 */ // The size of a memory allocation needed for a GeoPoly object sufficient @@ -155938,11 +157248,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+25727 /* "[" */, 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+25729 /* "[%!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+25740 /* "[%!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) } @@ -155966,19 +157276,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+25751 /* "" */, 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) } @@ -156498,25 +157808,25 @@ func geopolyWithinFunc(tls *libc.TLS, context uintptr, argc int32, argv uintptr) // Objects used by the overlap algorihm. type GeoEvent1 = struct { - Fx float64 - FeType int32 - _ [4]byte - FpSeg uintptr - FpNext uintptr + Fx float64 + FeType int32 + F__ccgo_pad1 [4]byte + FpSeg uintptr + FpNext uintptr } /* sqlite3.c:197516:9 */ // Objects used by the overlap algorihm. type GeoEvent = GeoEvent1 /* sqlite3.c:197516:25 */ type GeoSegment1 = struct { - FC float64 - FB float64 - Fy float64 - Fy0 float32 - Fside uint8 - _ [3]byte - Fidx uint32 - _ [4]byte - FpNext uintptr + FC float64 + FB float64 + Fy float64 + Fy0 float32 + Fside uint8 + F__ccgo_pad1 [3]byte + Fidx uint32 + F__ccgo_pad2 [4]byte + FpNext uintptr } /* sqlite3.c:197516:9 */ type GeoSegment = GeoSegment1 /* sqlite3.c:197517:27 */ @@ -156994,7 +158304,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+25802 /* "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 @@ -157003,7 +158313,7 @@ __2: goto __4 } (*Rtree)(unsafe.Pointer(pRtree)).FnAux++ - Xsqlite3_str_appendf(tls, pSql, ts+25824 /* ",%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++ @@ -157011,7 +158321,7 @@ __3: goto __4 __4: ; - Xsqlite3_str_appendf(tls, pSql, ts+24891 /* ");" */, 0) + Xsqlite3_str_appendf(tls, pSql, ts+24890 /* ");" */, 0) zSql = Xsqlite3_str_finish(tls, pSql) if !(!(zSql != 0)) { goto __5 @@ -157022,7 +158332,7 @@ __5: if !(SQLITE_OK != (libc.AssignInt32(&rc, Xsqlite3_declare_vtab(tls, db, zSql)))) { goto __7 } - *(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3_mprintf(tls, ts+2791 /* "%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: @@ -157048,7 +158358,7 @@ __9: if !(rc != 0) { goto __10 } - *(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3_mprintf(tls, ts+2791 /* "%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: ; @@ -157281,7 +158591,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 + 14758 /* "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 @@ -157291,7 +158601,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 + 25828 /* "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 @@ -157299,7 +158609,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 + 25834 /* "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 @@ -157437,7 +158747,7 @@ __1: if !(*(*int32)(unsafe.Pointer(bp + 48 /* rc */)) == SQLITE_ERROR) { goto __4 } - (*Sqlite3_vtab)(unsafe.Pointer(pVtab)).FzErrMsg = Xsqlite3_mprintf(tls, ts+25843 /* "_shape does not ..." */, 0) + (*Sqlite3_vtab)(unsafe.Pointer(pVtab)).FzErrMsg = Xsqlite3_mprintf(tls, ts+25842 /* "_shape does not ..." */, 0) __4: ; goto geopoly_update_end @@ -157582,14 +158892,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+25883 /* "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+25899 /* "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})) @@ -157628,11 +158938,11 @@ func sqlite3_geopoly_init(tls *libc.TLS, db uintptr) int32 { /* sqlite3.c:198409 var rc int32 = SQLITE_OK var i int32 for i = 0; (uint64(i) < (uint64(unsafe.Sizeof(aFunc1)) / uint64(unsafe.Sizeof(struct { - FxFunc uintptr - FnArg int8 - FbPure uint8 - _ [6]byte - FzName uintptr + FxFunc uintptr + FnArg int8 + FbPure uint8 + F__ccgo_pad1 [6]byte + FzName uintptr }{})))) && (rc == SQLITE_OK); i++ { var enc int32 if aFunc1[i].FbPure != 0 { @@ -157654,37 +158964,37 @@ 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+25914 /* "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 } var aFunc1 = [12]struct { - FxFunc uintptr - FnArg int8 - FbPure uint8 - _ [6]byte - FzName uintptr + FxFunc uintptr + FnArg int8 + FbPure uint8 + F__ccgo_pad1 [6]byte + FzName uintptr }{ - {FxFunc: 0, FnArg: int8(1), FbPure: uint8(1), FzName: ts + 25922 /* "geopoly_area" */}, - {FxFunc: 0, FnArg: int8(1), FbPure: uint8(1), FzName: ts + 25935 /* "geopoly_blob" */}, - {FxFunc: 0, FnArg: int8(1), FbPure: uint8(1), FzName: ts + 25948 /* "geopoly_json" */}, - {FxFunc: 0, FnArg: int8(-1), FbPure: uint8(1), FzName: ts + 25961 /* "geopoly_svg" */}, - {FxFunc: 0, FnArg: int8(2), FbPure: uint8(1), FzName: ts + 25899 /* "geopoly_within" */}, - {FxFunc: 0, FnArg: int8(3), FbPure: uint8(1), FzName: ts + 25973 /* "geopoly_contains..." */}, - {FxFunc: 0, FnArg: int8(2), FbPure: uint8(1), FzName: ts + 25883 /* "geopoly_overlap" */}, - {FxFunc: 0, FnArg: int8(1), FzName: ts + 25996 /* "geopoly_debug" */}, - {FxFunc: 0, FnArg: int8(1), FbPure: uint8(1), FzName: ts + 26010 /* "geopoly_bbox" */}, - {FxFunc: 0, FnArg: int8(7), FbPure: uint8(1), FzName: ts + 26023 /* "geopoly_xform" */}, - {FxFunc: 0, FnArg: int8(4), FbPure: uint8(1), FzName: ts + 26037 /* "geopoly_regular" */}, - {FxFunc: 0, FnArg: int8(1), FbPure: uint8(1), FzName: ts + 26053 /* "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 + 26065 /* "geopoly_group_bb..." */}, + {FxStep: 0, FxFinal: 0, FzName: ts + 26064 /* "geopoly_group_bb..." */}, } /* sqlite3.c:198434:5 */ //************* End of geopoly.c ******************************************** @@ -157697,26 +159007,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+26084 /* "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+26094 /* "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+26105 /* "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+25828 /* "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+26116 /* "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) @@ -157733,7 +159043,7 @@ func Xsqlite3RtreeInit(tls *libc.TLS, db uintptr) int32 { /* sqlite3.c:198469:20 func rtreeFreeCallback(tls *libc.TLS, p uintptr) { /* sqlite3.c:198508:13: */ var pInfo uintptr = p if (*RtreeGeomCallback)(unsafe.Pointer(pInfo)).FxDestructor != 0 { - (*(*func(*libc.TLS, uintptr))(unsafe.Pointer((pInfo + 16 /* &.xDestructor */))))(tls, (*RtreeGeomCallback)(unsafe.Pointer(pInfo)).FpContext) + (*struct{ f func(*libc.TLS, uintptr) })(unsafe.Pointer(&struct{ uintptr }{(*RtreeGeomCallback)(unsafe.Pointer(pInfo)).FxDestructor})).f(tls, (*RtreeGeomCallback)(unsafe.Pointer(pInfo)).FpContext) } Xsqlite3_free(tls, p) } @@ -157788,7 +159098,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+23404 /* "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}))) } } } @@ -158233,16 +159543,16 @@ func Xsqlite3_rtree_query_callback(tls *libc.TLS, db uintptr, zQueryFunc uintptr type sqlite3rbu = struct { FeStage int32 - _ [4]byte + F__ccgo_pad1 [4]byte FdbMain uintptr FdbRbu uintptr FzTarget uintptr FzRbu uintptr FzState uintptr FzStateDb [5]int8 - _ [3]byte + F__ccgo_pad2 [3]byte Frc int32 - _ [4]byte + F__ccgo_pad3 [4]byte FzErrmsg uintptr FnStep int32 FnProgress int32 @@ -158250,7 +159560,7 @@ type sqlite3rbu = struct { FzVfsName uintptr FpTargetFd uintptr FnPagePerSector int32 - _ [4]byte + F__ccgo_pad4 [4]byte FiOalSz I64 FnPhaseOneStep I64 FiMaxFrame U32 @@ -158259,13 +159569,13 @@ type sqlite3rbu = struct { FnFrameAlloc int32 FaFrame uintptr Fpgsz int32 - _ [4]byte + F__ccgo_pad5 [4]byte FaBuf uintptr FiWalCksum I64 FszTemp I64 FszTempLimit I64 FnRbu int32 - _ [4]byte + F__ccgo_pad6 [4]byte FpRbuFd uintptr } /* sqlite3.c:199829:9 */ @@ -158791,60 +160101,60 @@ type RbuFrame1 = struct { type RbuFrame = RbuFrame1 /* sqlite3.c:200253:25 */ type RbuObjIter1 = struct { - FpTblIter uintptr - FpIdxIter uintptr - FnTblCol int32 - _ [4]byte - FazTblCol uintptr - FazTblType uintptr - FaiSrcOrder uintptr - FabTblPk uintptr - FabNotNull uintptr - FabIndexed uintptr - FeType int32 - FbCleanup int32 - FzTbl uintptr - FzDataTbl uintptr - FzIdx uintptr - FiTnum int32 - FiPkTnum int32 - FbUnique int32 - FnIndex int32 - FnCol int32 - _ [4]byte - FpSelect uintptr - FpInsert uintptr - FpDelete uintptr - FpTmpInsert uintptr - FnIdxCol int32 - _ [4]byte - FaIdxCol uintptr - FzIdxSql uintptr - FpRbuUpdate uintptr + FpTblIter uintptr + FpIdxIter uintptr + FnTblCol int32 + F__ccgo_pad1 [4]byte + FazTblCol uintptr + FazTblType uintptr + FaiSrcOrder uintptr + FabTblPk uintptr + FabNotNull uintptr + FabIndexed uintptr + FeType int32 + FbCleanup int32 + FzTbl uintptr + FzDataTbl uintptr + FzIdx uintptr + FiTnum int32 + FiPkTnum int32 + FbUnique int32 + FnIndex int32 + FnCol int32 + F__ccgo_pad2 [4]byte + FpSelect uintptr + FpInsert uintptr + FpDelete uintptr + FpTmpInsert uintptr + FnIdxCol int32 + F__ccgo_pad3 [4]byte + FaIdxCol uintptr + FzIdxSql uintptr + FpRbuUpdate uintptr } /* sqlite3.c:199829:9 */ type RbuObjIter = RbuObjIter1 /* sqlite3.c:200254:27 */ type RbuState1 = struct { FeStage int32 - _ [4]byte + F__ccgo_pad1 [4]byte FzTbl uintptr FzDataTbl uintptr FzIdx uintptr FiWalCksum I64 FnRow int32 - _ [4]byte + F__ccgo_pad2 [4]byte FnProgress I64 FiCookie U32 - _ [4]byte + F__ccgo_pad3 [4]byte FiOalSz I64 FnPhaseOneStep I64 } /* sqlite3.c:200255:9 */ type RbuState = RbuState1 /* sqlite3.c:200255:25 */ type RbuSpan1 = struct { - FzSpan uintptr - FnSpan int32 - _ [4]byte + FzSpan uintptr + FnSpan int32 + F__ccgo_pad1 [4]byte } /* sqlite3.c:199829:9 */ type RbuSpan = RbuSpan1 /* sqlite3.c:200256:24 */ @@ -158868,7 +160178,7 @@ type rbu_file = struct { FiCookie U32 FiWriteVer U8 FbNolock U8 - _ [2]byte + F__ccgo_pad1 [2]byte FnShm int32 FapShm uintptr FzDel uintptr @@ -159079,7 +160389,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+26126 /* "corrupt fossil d..." */, -1) + Xsqlite3_result_error(tls, context, ts+26125 /* "corrupt fossil d..." */, -1) return } @@ -159090,7 +160400,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+26126 /* "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}))) } @@ -159111,7 +160421,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+2791 /* "%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 @@ -159129,7 +160439,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+2791 /* "%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 } @@ -159233,7 +160543,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+26147 /* "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 { @@ -159317,7 +160627,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+23317 /* "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++ { } @@ -159345,17 +160655,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+26318 /* "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 + 26468 /* "AND rootpage!=0 ..." */ + return ts + 26467 /* "AND rootpage!=0 ..." */ } - return ts + 756 /* "" */ + return ts + 755 /* "" */ }()))) if rc == SQLITE_OK { rc = prepareAndCollectError(tls, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbMain, (pIter + 8 /* &.pIdxIter */), (p + 64 /* &.zErrmsg */), - ts+26509 /* "SELECT name, roo..." */) + ts+26508 /* "SELECT name, roo..." */) } (*RbuObjIter)(unsafe.Pointer(pIter)).FbCleanup = 1 @@ -159374,7 +160684,7 @@ func rbuMPrintf(tls *libc.TLS, p uintptr, zFmt uintptr, va uintptr) uintptr { /* var zSql uintptr = uintptr(0) var ap Va_list _ = ap - ap = va + (ap) = va zSql = Xsqlite3_vmprintf(tls, zFmt, ap) if (*Sqlite3rbu)(unsafe.Pointer(p)).Frc == SQLITE_OK { if zSql == uintptr(0) { @@ -159400,7 +160710,7 @@ func rbuMPrintfExec(tls *libc.TLS, p uintptr, db uintptr, zFmt uintptr, va uintp var ap Va_list _ = ap var zSql uintptr - ap = va + (ap) = va zSql = Xsqlite3_vmprintf(tls, zFmt, ap) if (*Sqlite3rbu)(unsafe.Pointer(p)).Frc == SQLITE_OK { if zSql == uintptr(0) { @@ -159493,7 +160803,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+2791 /* "%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))) } } @@ -159556,7 +160866,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+26634 /* "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 } @@ -159574,7 +160884,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+26715 /* "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 } @@ -159592,7 +160902,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+26736 /* "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 } @@ -159616,7 +160926,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+26787 /* "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 } @@ -159651,6 +160961,7 @@ __15: goto __14 goto __16 __16: + } // This is a helper function for rbuObjIterCacheTableInfo(). It populates @@ -159665,7 +160976,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+26808 /* "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 @@ -159680,7 +160991,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+26836 /* "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 { @@ -159730,7 +161041,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+17858 /* "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 @@ -159743,18 +161054,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+26865 /* "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+26884 /* "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+26889 /* "rbu_rowid" */, zName) { + } else if 0 == Xsqlite3_stricmp(tls, ts+26888 /* "rbu_rowid" */, zName) { bRbuRowid = 1 } } @@ -159766,12 +161077,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+26899 /* "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 + 26928 /* "may not have" */ + return ts + 26927 /* "may not have" */ } - return ts + 26941 /* "requires" */ + return ts + 26940 /* "requires" */ }())) } @@ -159780,7 +161091,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+26950 /* "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) @@ -159794,7 +161105,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+26972, /* "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) @@ -159840,12 +161151,12 @@ func rbuObjIterGetCollist(tls *libc.TLS, p uintptr, pIter uintptr) uintptr { /* defer tls.Free(24) var zList uintptr = uintptr(0) - var zSep uintptr = ts + 756 /* "" */ + 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+26999 /* "%z%s\"%w\"" */, libc.VaList(bp, zList, zSep, z)) - zSep = ts + 13325 /* ", " */ + zList = rbuMPrintf(tls, p, ts+26998 /* "%z%s\"%w\"" */, libc.VaList(bp, zList, zSep, z)) + zSep = ts + 13324 /* ", " */ } return zList } @@ -159860,13 +161171,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 + 756 /* "" */ + 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+27008 /* "%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 } @@ -159905,25 +161216,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+27021 /* "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+27053 /* " 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+756 /* "" */, ts+13325 /* ", " */, ts+27076 /* " DESC" */) - var zSelect uintptr = rbuObjIterGetPkList(tls, p, pIter, ts+27082 /* "quote(" */, ts+27089 /* "||','||" */, ts+4067 /* ")" */) - var zList uintptr = rbuObjIterGetPkList(tls, p, pIter, ts+756 /* "" */, ts+13325 /* ", " */, ts+756 /* "" */) + 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+27097, /* "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+27139 /* " 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 */))) } @@ -159981,12 +161292,12 @@ func XrbuVacuumIndexStart(tls *libc.TLS, p uintptr, pIter uintptr) uintptr { /* zVector = uintptr(0) zRet = uintptr(0) bFailed = 0 - zSep = ts + 756 /* "" */ + 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+26836 /* "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 @@ -160023,7 +161334,7 @@ __10: zCol = *(*uintptr)(unsafe.Pointer((*RbuObjIter)(unsafe.Pointer(pIter)).FazTblCol + uintptr(i)*8)) goto __7 __6: - zCol = ts + 27159 /* "_rowid_" */ + zCol = ts + 27158 /* "_rowid_" */ __7: ; goto __5 @@ -160032,13 +161343,13 @@ __4: __5: ; - zLhs = rbuMPrintf(tls, p, ts+27167, /* "%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+27188, /* "%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+27224, /* "%z%s quote(\"rbu_..." */ + zSelect = rbuMPrintf(tls, p, ts+27223, /* "%z%s quote(\"rbu_..." */ libc.VaList(bp+80, zSelect, zSep, iCol, zCol)) - zSep = ts + 13325 /* ", " */ + zSep = ts + 13324 /* ", " */ iCol++ goto __1 __2: @@ -160057,12 +161368,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+27251, /* "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 + 756 /* "" */ + zSep = ts + 755 /* "" */ iCol = 0 __14: if !(iCol < (*RbuObjIter)(unsafe.Pointer(pIter)).FnCol) { @@ -160084,8 +161395,8 @@ __19: ; __18: ; - zVector = rbuMPrintf(tls, p, ts+27299 /* "%z%s%s" */, libc.VaList(bp+136, zVector, zSep, zQuoted)) - zSep = ts + 13325 /* ", " */ + zVector = rbuMPrintf(tls, p, ts+27298 /* "%z%s%s" */, libc.VaList(bp+136, zVector, zSep, zQuoted)) + zSep = ts + 13324 /* ", " */ goto __15 __15: iCol++ @@ -160097,7 +161408,7 @@ __16: if !(!(bFailed != 0)) { goto __20 } - zRet = rbuMPrintf(tls, p, ts+27306 /* "(%s) > (%s)" */, libc.VaList(bp+160, zLhs, zVector)) + zRet = rbuMPrintf(tls, p, ts+27305 /* "(%s) > (%s)" */, libc.VaList(bp+160, zLhs, zVector)) __20: ; __13: @@ -160147,14 +161458,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 + 756 /* "" */ // Set to ", " later on - var zAnd uintptr = ts + 756 /* "" */ // 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+26836 /* "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 */)))) { @@ -160166,9 +161477,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+27318 /* "%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 + 756 /* "" */ + zType = ts + 755 /* "" */ } else { if iCid < 0 { // An integer primary key. If the table has an explicit IPK, use @@ -160180,37 +161491,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 + 27159 /* "_rowid_" */ + zCol = ts + 27158 /* "_rowid_" */ } else { - zCol = ts + 26889 /* "rbu_rowid" */ + zCol = ts + 26888 /* "rbu_rowid" */ } - zType = ts + 11385 /* "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+27340 /* "%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 + 27076 /* " DESC" */ + return ts + 27075 /* " DESC" */ } - return ts + 756 /* "" */ + return ts + 755 /* "" */ }() - zImpPK = Xsqlite3_mprintf(tls, ts+27360, /* "%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+27381, /* "%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+27414 /* "%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 + 13325 /* ", " */ - zAnd = ts + 19878 /* " AND " */ + zCom = ts + 13324 /* ", " */ + zAnd = ts + 19877 /* " AND " */ nBind++ } @@ -160253,16 +161564,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 + 756 /* "" */ + 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+27438 /* "%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+27450 /* "%z%sNULL" */, libc.VaList(bp+32, zList, zS)) + zList = Xsqlite3_mprintf(tls, ts+27449 /* "%z%sNULL" */, libc.VaList(bp+32, zList, zS)) } - zS = ts + 13325 /* ", " */ + zS = ts + 13324 /* ", " */ if zList == uintptr(0) { (*Sqlite3rbu)(unsafe.Pointer(p)).Frc = SQLITE_NOMEM break @@ -160271,7 +161582,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+27459 /* "%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 @@ -160291,27 +161602,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+27474 /* "_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 + 756 /* "" */ + 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+27488 /* "%z%sc%d=?%d" */, libc.VaList(bp+8, zList, zSep, i, (i+1))) - zSep = ts + 19878 /* " 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+27500 /* "_rowid_ = (SELEC..." */, libc.VaList(bp+40, zList)) + ts+27499 /* "_rowid_ = (SELEC..." */, libc.VaList(bp+40, zList)) } else { - var zSep uintptr = ts + 756 /* "" */ + 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+27550 /* "%z%s\"%w\"=?%d" */, libc.VaList(bp+48, zList, zSep, zCol, (i+1))) - zSep = ts + 19878 /* " AND " */ + zList = rbuMPrintf(tls, p, ts+27549 /* "%z%s\"%w\"=?%d" */, libc.VaList(bp+48, zList, zSep, zCol, (i+1))) + zSep = ts + 19877 /* " AND " */ } } } @@ -160325,7 +161636,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+27563 /* "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 @@ -160354,21 +161665,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 + 756 /* "" */ + 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+27550, /* "%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 + 13325 /* ", " */ + zSep = ts + 13324 /* ", " */ } else if int32(c) == 'd' { - zList = rbuMPrintf(tls, p, ts+27589, /* "%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 + 13325 /* ", " */ + zSep = ts + 13324 /* ", " */ } else if int32(c) == 'f' { - zList = rbuMPrintf(tls, p, ts+27619, /* "%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 + 13325 /* ", " */ + zSep = ts + 13324 /* ", " */ } } } @@ -160426,19 +161737,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 + 27656 /* "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+26808 /* "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+14668 /* "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+26836 /* "PRAGMA main.inde..." */, libc.VaList(bp+8, zIdx))) + Xsqlite3_mprintf(tls, ts+26835 /* "PRAGMA main.inde..." */, libc.VaList(bp+8, zIdx))) } break } @@ -160451,15 +161762,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 + 27076 /* " DESC" */ + zDesc = ts + 27075 /* " DESC" */ } else { - zDesc = ts + 756 /* "" */ + zDesc = ts + 755 /* "" */ } - z = rbuMPrintf(tls, p, ts+27669 /* "%z%s\"%w\"%s" */, libc.VaList(bp+16, z, zSep, zCol, zDesc)) - zSep = ts + 13325 /* ", " */ + 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+27680 /* "%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 @@ -160491,7 +161802,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 + 756 /* "" */ + 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 @@ -160499,7 +161810,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+27684 /* "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 */))) { @@ -160508,7 +161819,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+26836 /* "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 */))) @@ -160518,25 +161829,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+27734 /* "%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+27756 /* "%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 + 27076 /* " DESC" */ + return ts + 27075 /* " DESC" */ } - return ts + 756 /* "" */ + return ts + 755 /* "" */ }())) - zComma = ts + 13325 /* ", " */ + zComma = ts + 13324 /* ", " */ } } - zCols = rbuMPrintf(tls, p, ts+27766 /* "%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+5459 /* "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+27781, /* "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+5459 /* "main" */, 0, 0)) + Xsqlite3_test_control(tls, SQLITE_TESTCTRL_IMPOSTER, libc.VaList(bp+136, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbMain, ts+5458 /* "main" */, 0, 0)) } } @@ -160564,52 +161875,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 + 756 /* "" */ + 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+5459 /* "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 + 756 /* "" */ + 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+5459 /* "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 + 27843 /* "PRIMARY KEY " */ + zPk = ts + 27842 /* "PRIMARY KEY " */ } - zSql = rbuMPrintf(tls, p, ts+27856, /* "%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 + 27883 /* " NOT NULL" */ + return ts + 27882 /* " NOT NULL" */ } - return ts + 756 /* "" */ + return ts + 755 /* "" */ }())) - zComma = ts + 13325 /* ", " */ + 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+27893 /* "%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+5459 /* "main" */, 1, tnum)) - rbuMPrintfExec(tls, p, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbMain, ts+27900, /* "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 + 27932 /* " WITHOUT ROWID" */ + return ts + 27931 /* " WITHOUT ROWID" */ } - return ts + 756 /* "" */ + return ts + 755 /* "" */ }())) - Xsqlite3_test_control(tls, SQLITE_TESTCTRL_IMPOSTER, libc.VaList(bp+160, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbMain, ts+5459 /* "main" */, 0, 0)) + Xsqlite3_test_control(tls, SQLITE_TESTCTRL_IMPOSTER, libc.VaList(bp+160, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbMain, ts+5458 /* "main" */, 0, 0)) } } @@ -160632,7 +161943,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+27947, /* "INSERT INTO %s.'..." */ + ts+27946, /* "INSERT INTO %s.'..." */ libc.VaList(bp, p+48 /* &.zStateDb */, (*RbuObjIter)(unsafe.Pointer(pIter)).FzDataTbl, zCollist, zRbuRowid, zBind))) } } @@ -160669,7 +161980,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+28004 /* "SELECT trim(sql)..." */) + ts+28003 /* "SELECT trim(sql)..." */) } if *(*int32)(unsafe.Pointer(bp + 8 /* rc */)) == SQLITE_OK { var rc2 int32 @@ -160779,7 +162090,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+28070 /* " 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 } @@ -160800,26 +162111,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+5459 /* "main" */, 0, 1)) - Xsqlite3_test_control(tls, SQLITE_TESTCTRL_IMPOSTER, libc.VaList(bp+40, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbMain, ts+5459 /* "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+28090, /* "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+5459 /* "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+28155 /* "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+28191 /* "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 @@ -160836,7 +162147,7 @@ func rbuObjIterPrepareAll(tls *libc.TLS, p uintptr, pIter uintptr, nOffset int32 } zSql = Xsqlite3_mprintf(tls, - ts+28225, /* "SELECT %s, 0 AS ..." */ + ts+28224, /* "SELECT %s, 0 AS ..." */ libc.VaList(bp+160, zCollist, (*RbuObjIter)(unsafe.Pointer(pIter)).FzDataTbl, zPart, @@ -160844,32 +162155,32 @@ func rbuObjIterPrepareAll(tls *libc.TLS, p uintptr, pIter uintptr, nOffset int32 if zStart != 0 { return func() uintptr { if zPart != 0 { - return ts + 28286 /* "AND" */ + return ts + 28285 /* "AND" */ } - return ts + 28290 /* "WHERE" */ + return ts + 28289 /* "WHERE" */ }() } - return ts + 756 /* "" */ + 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+28296, /* "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+28357, /* "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 + 28286 /* "AND" */ + return ts + 28285 /* "AND" */ } - return ts + 28290 /* "WHERE" */ + return ts + 28289 /* "WHERE" */ }(), zCollist, zLimit)) } @@ -160894,8 +162205,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+5468 /* "old" */) - var zNewlist uintptr = rbuObjIterGetOldlist(tls, p, pIter, ts+5464 /* "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 @@ -160905,21 +162216,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 + 756 /* "" */ + return ts + 755 /* "" */ } - return ts + 28516 /* "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+28525, /* "INSERT INTO \"%s%..." */ + ts+28524, /* "INSERT INTO \"%s%..." */ libc.VaList(bp+344, zWrite, zTbl, zCollist, func() uintptr { if bRbuRowid != 0 { - return ts + 28561 /* ", _rowid_" */ + return ts + 28560 /* ", _rowid_" */ } - return ts + 756 /* "" */ + return ts + 755 /* "" */ }(), zBindings))) } @@ -160929,28 +162240,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+28571 /* "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 + 756 /* "" */ + var zRbuRowid uintptr = ts + 755 /* "" */ if ((*RbuObjIter)(unsafe.Pointer(pIter)).FeType == RBU_PK_EXTERNAL) || ((*RbuObjIter)(unsafe.Pointer(pIter)).FeType == RBU_PK_NONE) { - zRbuRowid = ts + 28599 /* ", 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+28611 /* "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 + 28687 /* ", 0 AS rbu_rowid" */ + return ts + 28686 /* ", 0 AS rbu_rowid" */ } - return ts + 756 /* "" */ + return ts + 755 /* "" */ }(), (*RbuObjIter)(unsafe.Pointer(pIter)).FzDataTbl)) rbuMPrintfExec(tls, p, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbMain, - ts+28704, /* "CREATE TEMP TRIG..." */ + ts+28703, /* "CREATE TEMP TRIG..." */ libc.VaList(bp+440, zWrite, zTbl, zOldlist, zWrite, zTbl, zOldlist, zWrite, zTbl, zNewlist)) @@ -160958,7 +162269,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+29003, /* "CREATE TEMP TRIG..." */ + ts+29002, /* "CREATE TEMP TRIG..." */ libc.VaList(bp+512, zWrite, zTbl, zNewlist)) } @@ -160967,14 +162278,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 + 756 /* "" */ + 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 + 29102 /* ",_rowid_ " */ + zRbuRowid = ts + 29101 /* ",_rowid_ " */ } else { - zRbuRowid = ts + 29112 /* ",rbu_rowid" */ + zRbuRowid = ts + 29111 /* ",rbu_rowid" */ } } @@ -160987,35 +162298,35 @@ func rbuObjIterPrepareAll(tls *libc.TLS, p uintptr, pIter uintptr, nOffset int32 } } if bRbuRowid != 0 { - zOrder = rbuMPrintf(tls, p, ts+27159 /* "_rowid_" */, 0) + zOrder = rbuMPrintf(tls, p, ts+27158 /* "_rowid_" */, 0) } else { - zOrder = rbuObjIterGetPkList(tls, p, pIter, ts+756 /* "" */, ts+13325 /* ", " */, ts+756 /* "" */) + 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+29123, /* "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 + 29171 /* "0 AS " */ + return ts + 29170 /* "0 AS " */ } - return ts + 756 /* "" */ + return ts + 755 /* "" */ }(), zRbuRowid, (*RbuObjIter)(unsafe.Pointer(pIter)).FzDataTbl, func() uintptr { if zStart != 0 { return zStart } - return ts + 756 /* "" */ + return ts + 755 /* "" */ }(), func() uintptr { if zOrder != 0 { - return ts + 18212 /* "ORDER BY" */ + return ts + 18211 /* "ORDER BY" */ } - return ts + 756 /* "" */ + return ts + 755 /* "" */ }(), zOrder, zLimit))) } @@ -161090,12 +162401,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 + 756 /* "" */ + var zPrefix uintptr = ts + 755 /* "" */ if (*RbuObjIter)(unsafe.Pointer(pIter)).FeType != RBU_PK_VTAB { - zPrefix = ts + 28516 /* "rbu_imp_" */ + zPrefix = ts + 28515 /* "rbu_imp_" */ } - zUpdate = Xsqlite3_mprintf(tls, ts+29177, /* "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) @@ -161122,7 +162433,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+2791 /* "%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) } @@ -161163,7 +162474,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+29207 /* "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: @@ -161235,31 +162546,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+5459 /* "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+5459 /* "main" */) - (*Sqlite3rbu)(unsafe.Pointer(p)).FzState = rbuMPrintf(tls, p, ts+29237 /* "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+29264 /* "ATTACH %Q AS sta..." */, libc.VaList(bp+16, (*Sqlite3rbu)(unsafe.Pointer(p)).FzState)) - libc.Xmemcpy(tls, p+48 /* &.zStateDb */, ts+2414 /* "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+5459 /* "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+29282 /* "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+5459 /* "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 } @@ -161292,11 +162603,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+29348 /* "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+22480 /* "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)))) == '?' { @@ -161308,16 +162619,16 @@ func rbuOpenDatabase(tls *libc.TLS, p uintptr, pbRetry uintptr) { /* sqlite3.c:2 } } - zTarget = Xsqlite3_mprintf(tls, ts+29380, /* "file:%s-vactmp?r..." */ - libc.VaList(bp+32, Xsqlite3_db_filename(tls, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbRbu, ts+5459 /* "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 + 756 /* "" */ + return ts + 755 /* "" */ } - return ts + 29412 /* "&" */ + return ts + 29411 /* "&" */ }(), func() uintptr { if zExtra == uintptr(0) { - return ts + 756 /* "" */ + return ts + 755 /* "" */ } return zExtra }())) @@ -161333,40 +162644,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+29414 /* "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+29429 /* "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+29446 /* "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+5459 /* "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+29462 /* "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+5459 /* "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+29490 /* "rbu vfs not foun..." */, 0) + (*Sqlite3rbu)(unsafe.Pointer(p)).FzErrmsg = Xsqlite3_mprintf(tls, ts+29489 /* "rbu vfs not foun..." */, 0) } } @@ -161405,9 +162716,11 @@ func rbuShmChecksum(tls *libc.TLS, p uintptr) I64 { /* sqlite3.c:203029:12: */ var pDb uintptr = (*Rbu_file)(unsafe.Pointer((*Sqlite3rbu)(unsafe.Pointer(p)).FpTargetFd)).FpReal // var ptr uintptr at bp, 8 - (*Sqlite3rbu)(unsafe.Pointer(p)).Frc = (*(*func(*libc.TLS, uintptr, int32, int32, int32, uintptr) int32)(unsafe.Pointer(((*Sqlite3_file)(unsafe.Pointer(pDb)).FpMethods + 104 /* &.xShmMap */))))(tls, pDb, 0, (32 * 1024), 0, bp /* &ptr */) + (*Sqlite3rbu)(unsafe.Pointer(p)).Frc = (*struct { + f func(*libc.TLS, uintptr, int32, int32, int32, uintptr) int32 + })(unsafe.Pointer(&struct{ uintptr }{(*sqlite3_io_methods)(unsafe.Pointer((*Sqlite3_file)(unsafe.Pointer(pDb)).FpMethods)).FxShmMap})).f(tls, pDb, 0, (32 * 1024), 0, bp /* &ptr */) if (*Sqlite3rbu)(unsafe.Pointer(p)).Frc == SQLITE_OK { - iRet = ((I64(*(*U32)(unsafe.Pointer(libc.AtomicLoadPUintptr(bp /* ptr */) + 10*4))) << 32) + I64(*(*U32)(unsafe.Pointer(libc.AtomicLoadPUintptr(bp /* ptr */) + 11*4)))) + iRet = ((I64(*(*U32)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp /* ptr */)) + 10*4))) << 32) + I64(*(*U32)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp /* ptr */)) + 11*4)))) } } return iRet @@ -161435,7 +162748,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+29462 /* "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)) } } @@ -161469,7 +162782,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+29508 /* "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 } @@ -161496,7 +162809,9 @@ func rbuSetupCheckpoint(tls *libc.TLS, p uintptr, pState uintptr) { /* sqlite3.c var pDb uintptr = (*Rbu_file)(unsafe.Pointer((*Sqlite3rbu)(unsafe.Pointer(p)).FpTargetFd)).FpReal var pWal uintptr = (*Rbu_file)(unsafe.Pointer((*Rbu_file)(unsafe.Pointer((*Sqlite3rbu)(unsafe.Pointer(p)).FpTargetFd)).FpWalFd)).FpReal - nSectorSize = (*(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(((*Sqlite3_file)(unsafe.Pointer(pDb)).FpMethods + 88 /* &.xSectorSize */))))(tls, pDb) + nSectorSize = (*struct { + f func(*libc.TLS, uintptr) int32 + })(unsafe.Pointer(&struct{ uintptr }{(*sqlite3_io_methods)(unsafe.Pointer((*Sqlite3_file)(unsafe.Pointer(pDb)).FpMethods)).FxSectorSize})).f(tls, pDb) if nSectorSize > (*Sqlite3rbu)(unsafe.Pointer(p)).Fpgsz { (*Sqlite3rbu)(unsafe.Pointer(p)).FnPagePerSector = (nSectorSize / (*Sqlite3rbu)(unsafe.Pointer(p)).Fpgsz) } else { @@ -161507,7 +162822,9 @@ func rbuSetupCheckpoint(tls *libc.TLS, p uintptr, pState uintptr) { /* sqlite3.c // directory in which the target database and the wal file reside, in // case it has not been synced since the rename() call in // rbuMoveOalFile(). - (*Sqlite3rbu)(unsafe.Pointer(p)).Frc = (*(*func(*libc.TLS, uintptr, int32) int32)(unsafe.Pointer(((*Sqlite3_file)(unsafe.Pointer(pWal)).FpMethods + 40 /* &.xSync */))))(tls, pWal, SQLITE_SYNC_NORMAL) + (*Sqlite3rbu)(unsafe.Pointer(p)).Frc = (*struct { + f func(*libc.TLS, uintptr, int32) int32 + })(unsafe.Pointer(&struct{ uintptr }{(*sqlite3_io_methods)(unsafe.Pointer((*Sqlite3_file)(unsafe.Pointer(pWal)).FpMethods)).FxSync})).f(tls, pWal, SQLITE_SYNC_NORMAL) } } } @@ -161568,22 +162885,30 @@ func rbuCheckpointFrame(tls *libc.TLS, p uintptr, pFrame uintptr) { /* sqlite3.c var iOff I64 iOff = ((((I64((*RbuFrame)(unsafe.Pointer(pFrame)).FiWalFrame - U32(1))) * (I64((*Sqlite3rbu)(unsafe.Pointer(p)).Fpgsz + 24))) + int64(32)) + int64(24)) - (*Sqlite3rbu)(unsafe.Pointer(p)).Frc = (*(*func(*libc.TLS, uintptr, uintptr, int32, Sqlite3_int64) int32)(unsafe.Pointer(((*Sqlite3_file)(unsafe.Pointer(pWal)).FpMethods + 16 /* &.xRead */))))(tls, pWal, (*Sqlite3rbu)(unsafe.Pointer(p)).FaBuf, (*Sqlite3rbu)(unsafe.Pointer(p)).Fpgsz, iOff) + (*Sqlite3rbu)(unsafe.Pointer(p)).Frc = (*struct { + f func(*libc.TLS, uintptr, uintptr, int32, Sqlite3_int64) int32 + })(unsafe.Pointer(&struct{ uintptr }{(*sqlite3_io_methods)(unsafe.Pointer((*Sqlite3_file)(unsafe.Pointer(pWal)).FpMethods)).FxRead})).f(tls, pWal, (*Sqlite3rbu)(unsafe.Pointer(p)).FaBuf, (*Sqlite3rbu)(unsafe.Pointer(p)).Fpgsz, iOff) if (*Sqlite3rbu)(unsafe.Pointer(p)).Frc != 0 { return } iOff = ((I64((*RbuFrame)(unsafe.Pointer(pFrame)).FiDbPage - U32(1))) * I64((*Sqlite3rbu)(unsafe.Pointer(p)).Fpgsz)) - (*Sqlite3rbu)(unsafe.Pointer(p)).Frc = (*(*func(*libc.TLS, uintptr, uintptr, int32, Sqlite3_int64) int32)(unsafe.Pointer(((*Sqlite3_file)(unsafe.Pointer(pDb)).FpMethods + 24 /* &.xWrite */))))(tls, pDb, (*Sqlite3rbu)(unsafe.Pointer(p)).FaBuf, (*Sqlite3rbu)(unsafe.Pointer(p)).Fpgsz, iOff) + (*Sqlite3rbu)(unsafe.Pointer(p)).Frc = (*struct { + f func(*libc.TLS, uintptr, uintptr, int32, Sqlite3_int64) int32 + })(unsafe.Pointer(&struct{ uintptr }{(*sqlite3_io_methods)(unsafe.Pointer((*Sqlite3_file)(unsafe.Pointer(pDb)).FpMethods)).FxWrite})).f(tls, pDb, (*Sqlite3rbu)(unsafe.Pointer(p)).FaBuf, (*Sqlite3rbu)(unsafe.Pointer(p)).Fpgsz, iOff) } // Take an EXCLUSIVE lock on the database file. func rbuLockDatabase(tls *libc.TLS, p uintptr) { /* sqlite3.c:203202:13: */ var pReal uintptr = (*Rbu_file)(unsafe.Pointer((*Sqlite3rbu)(unsafe.Pointer(p)).FpTargetFd)).FpReal - (*Sqlite3rbu)(unsafe.Pointer(p)).Frc = (*(*func(*libc.TLS, uintptr, int32) int32)(unsafe.Pointer(((*Sqlite3_file)(unsafe.Pointer(pReal)).FpMethods + 56 /* &.xLock */))))(tls, pReal, SQLITE_LOCK_SHARED) + (*Sqlite3rbu)(unsafe.Pointer(p)).Frc = (*struct { + f func(*libc.TLS, uintptr, int32) int32 + })(unsafe.Pointer(&struct{ uintptr }{(*sqlite3_io_methods)(unsafe.Pointer((*Sqlite3_file)(unsafe.Pointer(pReal)).FpMethods)).FxLock})).f(tls, pReal, SQLITE_LOCK_SHARED) if (*Sqlite3rbu)(unsafe.Pointer(p)).Frc == SQLITE_OK { - (*Sqlite3rbu)(unsafe.Pointer(p)).Frc = (*(*func(*libc.TLS, uintptr, int32) int32)(unsafe.Pointer(((*Sqlite3_file)(unsafe.Pointer(pReal)).FpMethods + 56 /* &.xLock */))))(tls, pReal, SQLITE_LOCK_EXCLUSIVE) + (*Sqlite3rbu)(unsafe.Pointer(p)).Frc = (*struct { + f func(*libc.TLS, uintptr, int32) int32 + })(unsafe.Pointer(&struct{ uintptr }{(*sqlite3_io_methods)(unsafe.Pointer((*Sqlite3_file)(unsafe.Pointer(pReal)).FpMethods)).FxLock})).f(tls, pReal, SQLITE_LOCK_EXCLUSIVE) } } @@ -161596,16 +162921,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+5459 /* "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+5459 /* "main" */) + zMove = Xsqlite3_db_filename(tls, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbRbu, ts+5458 /* "main" */) } - zOal = Xsqlite3_mprintf(tls, ts+29543 /* "%s-oal" */, libc.VaList(bp, zMove)) - zWal = Xsqlite3_mprintf(tls, ts+29550 /* "%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 @@ -161745,7 +163070,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+22118 /* "datatype mismatc..." */, 0) + (*Sqlite3rbu)(unsafe.Pointer(p)).FzErrmsg = Xsqlite3_mprintf(tls, ts+22117 /* "datatype mismatc..." */, 0) return } @@ -161863,7 +163188,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+29557 /* "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 @@ -161876,7 +163201,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+29579 /* "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))) } } } @@ -161901,7 +163226,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+29606, /* "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, @@ -161946,9 +163271,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+29764 /* "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+29779, /* "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 */))) @@ -161965,11 +163290,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+29799 /* "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+29824 /* "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) { @@ -161983,12 +163308,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+29932 /* "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+29997 /* "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) { @@ -162000,7 +163325,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+30041 /* "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 */))) @@ -162022,8 +163347,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+15724 /* "user_version" */) - rbuCopyPragma(tls, p, ts+14846 /* "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) { @@ -162034,7 +163359,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+30066 /* "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) @@ -162060,10 +163385,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+13229 /* "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+13229 /* "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 } @@ -162090,15 +163415,19 @@ func Xsqlite3rbu_step(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:203701:16: var pDb uintptr = (*Rbu_file)(unsafe.Pointer((*Sqlite3rbu)(unsafe.Pointer(p)).FpTargetFd)).FpReal // Sync the db file - (*Sqlite3rbu)(unsafe.Pointer(p)).Frc = (*(*func(*libc.TLS, uintptr, int32) int32)(unsafe.Pointer(((*Sqlite3_file)(unsafe.Pointer(pDb)).FpMethods + 40 /* &.xSync */))))(tls, pDb, SQLITE_SYNC_NORMAL) + (*Sqlite3rbu)(unsafe.Pointer(p)).Frc = (*struct { + f func(*libc.TLS, uintptr, int32) int32 + })(unsafe.Pointer(&struct{ uintptr }{(*sqlite3_io_methods)(unsafe.Pointer((*Sqlite3_file)(unsafe.Pointer(pDb)).FpMethods)).FxSync})).f(tls, pDb, SQLITE_SYNC_NORMAL) // Update nBackfill if (*Sqlite3rbu)(unsafe.Pointer(p)).Frc == SQLITE_OK { // var ptr uintptr at bp+16, 8 - (*Sqlite3rbu)(unsafe.Pointer(p)).Frc = (*(*func(*libc.TLS, uintptr, int32, int32, int32, uintptr) int32)(unsafe.Pointer(((*Sqlite3_file)(unsafe.Pointer(pDb)).FpMethods + 104 /* &.xShmMap */))))(tls, pDb, 0, (32 * 1024), 0, bp+16 /* &ptr */) + (*Sqlite3rbu)(unsafe.Pointer(p)).Frc = (*struct { + f func(*libc.TLS, uintptr, int32, int32, int32, uintptr) int32 + })(unsafe.Pointer(&struct{ uintptr }{(*sqlite3_io_methods)(unsafe.Pointer((*Sqlite3_file)(unsafe.Pointer(pDb)).FpMethods)).FxShmMap})).f(tls, pDb, 0, (32 * 1024), 0, bp+16 /* &ptr */) if (*Sqlite3rbu)(unsafe.Pointer(p)).Frc == SQLITE_OK { - *(*U32)(unsafe.Pointer((libc.AtomicLoadPUintptr(bp + 16 /* ptr */)) + 24*4)) = (*Sqlite3rbu)(unsafe.Pointer(p)).FiMaxFrame + *(*U32)(unsafe.Pointer((*(*uintptr)(unsafe.Pointer(bp + 16 /* ptr */))) + 24*4)) = (*Sqlite3rbu)(unsafe.Pointer(p)).FiMaxFrame } } @@ -162180,7 +163509,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+30094 /* "rbu_state mismat..." */, 0) + (*Sqlite3rbu)(unsafe.Pointer(p)).FzErrmsg = Xsqlite3_mprintf(tls, ts+30093 /* "rbu_state mismat..." */, 0) } if rc == SQLITE_OK { @@ -162199,11 +163528,13 @@ 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+29543 /* "%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)) - (*(*func(*libc.TLS, uintptr, uintptr, int32) int32)(unsafe.Pointer((pVfs + 48 /* &.xDelete */))))(tls, pVfs, zOal, 0) + (*struct { + f func(*libc.TLS, uintptr, uintptr, int32) int32 + })(unsafe.Pointer(&struct{ uintptr }{(*Sqlite3_vfs)(unsafe.Pointer(pVfs)).FxDelete})).f(tls, pVfs, zOal, 0) Xsqlite3_free(tls, zOal) } } @@ -162221,7 +163552,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+30119 /* "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] */) @@ -162260,7 +163591,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+30130 /* "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 { @@ -162303,7 +163634,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+30202 /* "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)) @@ -162311,7 +163642,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+30216 /* "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 */))) { @@ -162323,7 +163654,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+30273 /* "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) @@ -162369,7 +163700,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+2791 /* "%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 @@ -162406,7 +163737,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+30347 /* "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 @@ -162428,12 +163759,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+30379, /* "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 + 30411 /* "vacuum" */ + return ts + 30410 /* "vacuum" */ } - return ts + 30418 /* "update" */ + return ts + 30417 /* "update" */ }())) } } @@ -162441,7 +163772,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+13214 /* "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 { @@ -162455,24 +163786,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+15449 /* "page_size" */) - rbuCopyPragma(tls, p, ts+14861 /* "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+30425 /* "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+5459 /* "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+30441 /* "PRAGMA journal_m..." */, uintptr(0), uintptr(0), (p + 64 /* &.zErrmsg */)) + db, ts+30440 /* "PRAGMA journal_m..." */, uintptr(0), uintptr(0), (p + 64 /* &.zErrmsg */)) } } @@ -162525,7 +163856,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+30465 /* "-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) } } @@ -162555,7 +163886,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+28516 /* "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++ @@ -162574,19 +163905,21 @@ 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+13229 /* "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 if ((*Sqlite3rbu)(unsafe.Pointer(p)).Frc == SQLITE_OK) && ((*Sqlite3rbu)(unsafe.Pointer(p)).FeStage == RBU_STAGE_CKPT) { var pDb uintptr = (*Rbu_file)(unsafe.Pointer((*Sqlite3rbu)(unsafe.Pointer(p)).FpTargetFd)).FpReal - (*Sqlite3rbu)(unsafe.Pointer(p)).Frc = (*(*func(*libc.TLS, uintptr, int32) int32)(unsafe.Pointer(((*Sqlite3_file)(unsafe.Pointer(pDb)).FpMethods + 40 /* &.xSync */))))(tls, pDb, SQLITE_SYNC_NORMAL) + (*Sqlite3rbu)(unsafe.Pointer(p)).Frc = (*struct { + f func(*libc.TLS, uintptr, int32) int32 + })(unsafe.Pointer(&struct{ uintptr }{(*sqlite3_io_methods)(unsafe.Pointer((*Sqlite3_file)(unsafe.Pointer(pDb)).FpMethods)).FxSync})).f(tls, pDb, SQLITE_SYNC_NORMAL) } 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+13229 /* "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. @@ -162598,7 +163931,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+30473 /* "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 } @@ -162697,14 +164030,16 @@ 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+13229 /* "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)) } } // Sync the db file if (rc == SQLITE_OK) && ((*Sqlite3rbu)(unsafe.Pointer(p)).FeStage == RBU_STAGE_CKPT) { var pDb uintptr = (*Rbu_file)(unsafe.Pointer((*Sqlite3rbu)(unsafe.Pointer(p)).FpTargetFd)).FpReal - rc = (*(*func(*libc.TLS, uintptr, int32) int32)(unsafe.Pointer(((*Sqlite3_file)(unsafe.Pointer(pDb)).FpMethods + 40 /* &.xSync */))))(tls, pDb, SQLITE_SYNC_NORMAL) + rc = (*struct { + f func(*libc.TLS, uintptr, int32) int32 + })(unsafe.Pointer(&struct{ uintptr }{(*sqlite3_io_methods)(unsafe.Pointer((*Sqlite3_file)(unsafe.Pointer(pDb)).FpMethods)).FxSync})).f(tls, pDb, SQLITE_SYNC_NORMAL) } (*Sqlite3rbu)(unsafe.Pointer(p)).Frc = rc @@ -162714,19 +164049,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+13229 /* "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 + 13214 /* "BEGIN" */ + zBegin = ts + 13213 /* "BEGIN" */ } else { - zBegin = ts + 30425 /* "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+30425 /* "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)) } } @@ -162800,7 +164135,9 @@ func rbuUnlockShm(tls *libc.TLS, p uintptr) { /* sqlite3.c:204477:13: */ var i int32 for i = 0; i < SQLITE_SHM_NLOCK; i++ { if ((U32(int32(1) << i)) & (*Sqlite3rbu)(unsafe.Pointer((*Rbu_file)(unsafe.Pointer(p)).FpRbu)).FmLock) != 0 { - (*(*func(*libc.TLS, uintptr, int32, int32, int32) int32)(unsafe.Pointer(&xShmLock)))(tls, (*Rbu_file)(unsafe.Pointer(p)).FpReal, i, 1, (SQLITE_SHM_UNLOCK | SQLITE_SHM_EXCLUSIVE)) + (*struct { + f func(*libc.TLS, uintptr, int32, int32, int32) int32 + })(unsafe.Pointer(&struct{ uintptr }{xShmLock})).f(tls, (*Rbu_file)(unsafe.Pointer(p)).FpReal, i, 1, (SQLITE_SHM_UNLOCK | SQLITE_SHM_EXCLUSIVE)) } } (*Sqlite3rbu)(unsafe.Pointer((*Rbu_file)(unsafe.Pointer(p)).FpRbu)).FmLock = U32(0) @@ -162904,13 +164241,17 @@ func rbuVfsClose(tls *libc.TLS, pFile uintptr) int32 { /* sqlite3.c:204569:12: * if ((*Rbu_file)(unsafe.Pointer(p)).FopenFlags & SQLITE_OPEN_MAIN_DB) != 0 { rbuMainlistRemove(tls, p) rbuUnlockShm(tls, p) - (*(*func(*libc.TLS, uintptr, int32) int32)(unsafe.Pointer(((*Sqlite3_file)(unsafe.Pointer((*Rbu_file)(unsafe.Pointer(p)).FpReal)).FpMethods + 128 /* &.xShmUnmap */))))(tls, (*Rbu_file)(unsafe.Pointer(p)).FpReal, 0) + (*struct { + f func(*libc.TLS, uintptr, int32) int32 + })(unsafe.Pointer(&struct{ uintptr }{(*sqlite3_io_methods)(unsafe.Pointer((*Sqlite3_file)(unsafe.Pointer((*Rbu_file)(unsafe.Pointer(p)).FpReal)).FpMethods)).FxShmUnmap})).f(tls, (*Rbu_file)(unsafe.Pointer(p)).FpReal, 0) } else if (((*Rbu_file)(unsafe.Pointer(p)).FopenFlags & SQLITE_OPEN_DELETEONCLOSE) != 0) && ((*Rbu_file)(unsafe.Pointer(p)).FpRbu != 0) { rbuUpdateTempSize(tls, p, int64(0)) } // Close the underlying file handle - rc = (*(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(((*Sqlite3_file)(unsafe.Pointer((*Rbu_file)(unsafe.Pointer(p)).FpReal)).FpMethods + 8 /* &.xClose */))))(tls, (*Rbu_file)(unsafe.Pointer(p)).FpReal) + rc = (*struct { + f func(*libc.TLS, uintptr) int32 + })(unsafe.Pointer(&struct{ uintptr }{(*sqlite3_io_methods)(unsafe.Pointer((*Sqlite3_file)(unsafe.Pointer((*Rbu_file)(unsafe.Pointer(p)).FpReal)).FpMethods)).FxClose})).f(tls, (*Rbu_file)(unsafe.Pointer(p)).FpReal) return rc } @@ -162953,7 +164294,9 @@ func rbuVfsRead(tls *libc.TLS, pFile uintptr, zBuf uintptr, iAmt int32, iOfst Sq rc = SQLITE_OK libc.Xmemset(tls, zBuf, 0, uint64(iAmt)) } else { - rc = (*(*func(*libc.TLS, uintptr, uintptr, int32, Sqlite3_int64) int32)(unsafe.Pointer(((*Sqlite3_file)(unsafe.Pointer((*Rbu_file)(unsafe.Pointer(p)).FpReal)).FpMethods + 16 /* &.xRead */))))(tls, (*Rbu_file)(unsafe.Pointer(p)).FpReal, zBuf, iAmt, iOfst) + rc = (*struct { + f func(*libc.TLS, uintptr, uintptr, int32, Sqlite3_int64) int32 + })(unsafe.Pointer(&struct{ uintptr }{(*sqlite3_io_methods)(unsafe.Pointer((*Sqlite3_file)(unsafe.Pointer((*Rbu_file)(unsafe.Pointer(p)).FpReal)).FpMethods)).FxRead})).f(tls, (*Rbu_file)(unsafe.Pointer(p)).FpReal, zBuf, iAmt, iOfst) // If this is being called to read the first page of the target // database as part of an rbu vacuum operation, synthesize the // contents of the first page if it does not yet exist. Otherwise, @@ -162963,7 +164306,9 @@ func rbuVfsRead(tls *libc.TLS, pFile uintptr, zBuf uintptr, iAmt int32, iOfst Sq (((*Rbu_file)(unsafe.Pointer(p)).FopenFlags & SQLITE_OPEN_MAIN_DB) != 0)) && ((*Sqlite3rbu)(unsafe.Pointer(pRbu)).Frc == SQLITE_OK) { var pFd uintptr = (*Sqlite3rbu)(unsafe.Pointer(pRbu)).FpRbuFd - rc = (*(*func(*libc.TLS, uintptr, uintptr, int32, Sqlite3_int64) int32)(unsafe.Pointer(((*Sqlite3_file)(unsafe.Pointer(pFd)).FpMethods + 16 /* &.xRead */))))(tls, pFd, zBuf, iAmt, iOfst) + rc = (*struct { + f func(*libc.TLS, uintptr, uintptr, int32, Sqlite3_int64) int32 + })(unsafe.Pointer(&struct{ uintptr }{(*sqlite3_io_methods)(unsafe.Pointer((*Sqlite3_file)(unsafe.Pointer(pFd)).FpMethods)).FxRead})).f(tls, pFd, zBuf, iAmt, iOfst) if rc == SQLITE_OK { var aBuf uintptr = zBuf var iRoot U32 @@ -163022,7 +164367,9 @@ func rbuVfsWrite(tls *libc.TLS, pFile uintptr, zBuf uintptr, iAmt int32, iOfst S } } } - rc = (*(*func(*libc.TLS, uintptr, uintptr, int32, Sqlite3_int64) int32)(unsafe.Pointer(((*Sqlite3_file)(unsafe.Pointer((*Rbu_file)(unsafe.Pointer(p)).FpReal)).FpMethods + 24 /* &.xWrite */))))(tls, (*Rbu_file)(unsafe.Pointer(p)).FpReal, zBuf, iAmt, iOfst) + rc = (*struct { + f func(*libc.TLS, uintptr, uintptr, int32, Sqlite3_int64) int32 + })(unsafe.Pointer(&struct{ uintptr }{(*sqlite3_io_methods)(unsafe.Pointer((*Sqlite3_file)(unsafe.Pointer((*Rbu_file)(unsafe.Pointer(p)).FpReal)).FpMethods)).FxWrite})).f(tls, (*Rbu_file)(unsafe.Pointer(p)).FpReal, zBuf, iAmt, iOfst) if ((rc == SQLITE_OK) && (iOfst == int64(0))) && (((*Rbu_file)(unsafe.Pointer(p)).FopenFlags & SQLITE_OPEN_MAIN_DB) != 0) { // These look like magic numbers. But they are stable, as they are part // of the definition of the SQLite file format, which may not change. @@ -163043,7 +164390,9 @@ func rbuVfsTruncate(tls *libc.TLS, pFile uintptr, size Sqlite_int64) int32 { /* return rc } } - return (*(*func(*libc.TLS, uintptr, Sqlite3_int64) int32)(unsafe.Pointer(((*Sqlite3_file)(unsafe.Pointer((*Rbu_file)(unsafe.Pointer(p)).FpReal)).FpMethods + 32 /* &.xTruncate */))))(tls, (*Rbu_file)(unsafe.Pointer(p)).FpReal, size) + return (*struct { + f func(*libc.TLS, uintptr, Sqlite3_int64) int32 + })(unsafe.Pointer(&struct{ uintptr }{(*sqlite3_io_methods)(unsafe.Pointer((*Sqlite3_file)(unsafe.Pointer((*Rbu_file)(unsafe.Pointer(p)).FpReal)).FpMethods)).FxTruncate})).f(tls, (*Rbu_file)(unsafe.Pointer(p)).FpReal, size) } // Sync an rbuVfs-file. @@ -163055,14 +164404,18 @@ func rbuVfsSync(tls *libc.TLS, pFile uintptr, flags int32) int32 { /* sqlite3.c: } return SQLITE_OK } - return (*(*func(*libc.TLS, uintptr, int32) int32)(unsafe.Pointer(((*Sqlite3_file)(unsafe.Pointer((*Rbu_file)(unsafe.Pointer(p)).FpReal)).FpMethods + 40 /* &.xSync */))))(tls, (*Rbu_file)(unsafe.Pointer(p)).FpReal, flags) + return (*struct { + f func(*libc.TLS, uintptr, int32) int32 + })(unsafe.Pointer(&struct{ uintptr }{(*sqlite3_io_methods)(unsafe.Pointer((*Sqlite3_file)(unsafe.Pointer((*Rbu_file)(unsafe.Pointer(p)).FpReal)).FpMethods)).FxSync})).f(tls, (*Rbu_file)(unsafe.Pointer(p)).FpReal, flags) } // Return the current file-size of an rbuVfs-file. func rbuVfsFileSize(tls *libc.TLS, pFile uintptr, pSize uintptr) int32 { /* sqlite3.c:204763:12: */ var p uintptr = pFile var rc int32 - rc = (*(*func(*libc.TLS, uintptr, uintptr) int32)(unsafe.Pointer(((*Sqlite3_file)(unsafe.Pointer((*Rbu_file)(unsafe.Pointer(p)).FpReal)).FpMethods + 48 /* &.xFileSize */))))(tls, (*Rbu_file)(unsafe.Pointer(p)).FpReal, pSize) + rc = (*struct { + f func(*libc.TLS, uintptr, uintptr) int32 + })(unsafe.Pointer(&struct{ uintptr }{(*sqlite3_io_methods)(unsafe.Pointer((*Sqlite3_file)(unsafe.Pointer((*Rbu_file)(unsafe.Pointer(p)).FpReal)).FpMethods)).FxFileSize})).f(tls, (*Rbu_file)(unsafe.Pointer(p)).FpReal, pSize) // If this is an RBU vacuum operation and this is the target database, // pretend that it has at least one page. Otherwise, SQLite will not @@ -163088,7 +164441,9 @@ func rbuVfsLock(tls *libc.TLS, pFile uintptr, eLock int32) int32 { /* sqlite3.c: // prevents it from checkpointing the database from sqlite3_close(). rc = SQLITE_BUSY } else { - rc = (*(*func(*libc.TLS, uintptr, int32) int32)(unsafe.Pointer(((*Sqlite3_file)(unsafe.Pointer((*Rbu_file)(unsafe.Pointer(p)).FpReal)).FpMethods + 56 /* &.xLock */))))(tls, (*Rbu_file)(unsafe.Pointer(p)).FpReal, eLock) + rc = (*struct { + f func(*libc.TLS, uintptr, int32) int32 + })(unsafe.Pointer(&struct{ uintptr }{(*sqlite3_io_methods)(unsafe.Pointer((*Sqlite3_file)(unsafe.Pointer((*Rbu_file)(unsafe.Pointer(p)).FpReal)).FpMethods)).FxLock})).f(tls, (*Rbu_file)(unsafe.Pointer(p)).FpReal, eLock) } return rc @@ -163097,13 +164452,17 @@ func rbuVfsLock(tls *libc.TLS, pFile uintptr, eLock int32) int32 { /* sqlite3.c: // Unlock an rbuVfs-file. func rbuVfsUnlock(tls *libc.TLS, pFile uintptr, eLock int32) int32 { /* sqlite3.c:204806:12: */ var p uintptr = pFile - return (*(*func(*libc.TLS, uintptr, int32) int32)(unsafe.Pointer(((*Sqlite3_file)(unsafe.Pointer((*Rbu_file)(unsafe.Pointer(p)).FpReal)).FpMethods + 64 /* &.xUnlock */))))(tls, (*Rbu_file)(unsafe.Pointer(p)).FpReal, eLock) + return (*struct { + f func(*libc.TLS, uintptr, int32) int32 + })(unsafe.Pointer(&struct{ uintptr }{(*sqlite3_io_methods)(unsafe.Pointer((*Sqlite3_file)(unsafe.Pointer((*Rbu_file)(unsafe.Pointer(p)).FpReal)).FpMethods)).FxUnlock})).f(tls, (*Rbu_file)(unsafe.Pointer(p)).FpReal, eLock) } // Check if another file-handle holds a RESERVED lock on an rbuVfs-file. func rbuVfsCheckReservedLock(tls *libc.TLS, pFile uintptr, pResOut uintptr) int32 { /* sqlite3.c:204814:12: */ var p uintptr = pFile - return (*(*func(*libc.TLS, uintptr, uintptr) int32)(unsafe.Pointer(((*Sqlite3_file)(unsafe.Pointer((*Rbu_file)(unsafe.Pointer(p)).FpReal)).FpMethods + 72 /* &.xCheckReservedLock */))))(tls, (*Rbu_file)(unsafe.Pointer(p)).FpReal, pResOut) + return (*struct { + f func(*libc.TLS, uintptr, uintptr) int32 + })(unsafe.Pointer(&struct{ uintptr }{(*sqlite3_io_methods)(unsafe.Pointer((*Sqlite3_file)(unsafe.Pointer((*Rbu_file)(unsafe.Pointer(p)).FpReal)).FpMethods)).FxCheckReservedLock})).f(tls, (*Rbu_file)(unsafe.Pointer(p)).FpReal, pResOut) } // File control method. For custom operations on an rbuVfs-file. @@ -163121,16 +164480,20 @@ func rbuVfsFileControl(tls *libc.TLS, pFile uintptr, op int32, pArg uintptr) int // First try to find another RBU vfs lower down in the vfs stack. If // one is found, this vfs will operate in pass-through mode. The lower // level vfs will do the special RBU handling. - rc = (*(*func(*libc.TLS, uintptr, int32, uintptr) int32)(unsafe.Pointer(&xControl)))(tls, (*Rbu_file)(unsafe.Pointer(p)).FpReal, op, pArg) + rc = (*struct { + f func(*libc.TLS, uintptr, int32, uintptr) int32 + })(unsafe.Pointer(&struct{ uintptr }{xControl})).f(tls, (*Rbu_file)(unsafe.Pointer(p)).FpReal, op, pArg) if rc == SQLITE_NOTFOUND { // Now search for a zipvfs instance lower down in the VFS stack. If // one is found, this is an error. *(*uintptr)(unsafe.Pointer(bp + 16 /* dummy */)) = uintptr(0) - rc = (*(*func(*libc.TLS, uintptr, int32, uintptr) int32)(unsafe.Pointer(&xControl)))(tls, (*Rbu_file)(unsafe.Pointer(p)).FpReal, SQLITE_FCNTL_ZIPVFS, bp+16 /* &dummy */) + rc = (*struct { + f func(*libc.TLS, uintptr, int32, uintptr) int32 + })(unsafe.Pointer(&struct{ uintptr }{xControl})).f(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+30500 /* "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 @@ -163149,11 +164512,13 @@ func rbuVfsFileControl(tls *libc.TLS, pFile uintptr, op int32, pArg uintptr) int (*Rbu_file)(unsafe.Pointer(p)).FbNolock = U8(1) } - rc = (*(*func(*libc.TLS, uintptr, int32, uintptr) int32)(unsafe.Pointer(&xControl)))(tls, (*Rbu_file)(unsafe.Pointer(p)).FpReal, op, pArg) + rc = (*struct { + f func(*libc.TLS, uintptr, int32, uintptr) int32 + })(unsafe.Pointer(&struct{ uintptr }{xControl})).f(tls, (*Rbu_file)(unsafe.Pointer(p)).FpReal, op, pArg) 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+30523 /* "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 @@ -163166,13 +164531,17 @@ func rbuVfsFileControl(tls *libc.TLS, pFile uintptr, op int32, pArg uintptr) int // Return the sector-size in bytes for an rbuVfs-file. func rbuVfsSectorSize(tls *libc.TLS, pFile uintptr) int32 { /* sqlite3.c:204878:12: */ var p uintptr = pFile - return (*(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(((*Sqlite3_file)(unsafe.Pointer((*Rbu_file)(unsafe.Pointer(p)).FpReal)).FpMethods + 88 /* &.xSectorSize */))))(tls, (*Rbu_file)(unsafe.Pointer(p)).FpReal) + return (*struct { + f func(*libc.TLS, uintptr) int32 + })(unsafe.Pointer(&struct{ uintptr }{(*sqlite3_io_methods)(unsafe.Pointer((*Sqlite3_file)(unsafe.Pointer((*Rbu_file)(unsafe.Pointer(p)).FpReal)).FpMethods)).FxSectorSize})).f(tls, (*Rbu_file)(unsafe.Pointer(p)).FpReal) } // Return the device characteristic flags supported by an rbuVfs-file. func rbuVfsDeviceCharacteristics(tls *libc.TLS, pFile uintptr) int32 { /* sqlite3.c:204886:12: */ var p uintptr = pFile - return (*(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(((*Sqlite3_file)(unsafe.Pointer((*Rbu_file)(unsafe.Pointer(p)).FpReal)).FpMethods + 96 /* &.xDeviceCharacteristics */))))(tls, (*Rbu_file)(unsafe.Pointer(p)).FpReal) + return (*struct { + f func(*libc.TLS, uintptr) int32 + })(unsafe.Pointer(&struct{ uintptr }{(*sqlite3_io_methods)(unsafe.Pointer((*Sqlite3_file)(unsafe.Pointer((*Rbu_file)(unsafe.Pointer(p)).FpReal)).FpMethods)).FxDeviceCharacteristics})).f(tls, (*Rbu_file)(unsafe.Pointer(p)).FpReal) } // Take or release a shared-memory lock. @@ -163196,7 +164565,9 @@ func rbuVfsShmLock(tls *libc.TLS, pFile uintptr, ofst int32, n int32, flags int3 bCapture = 1 } if (bCapture == 0) || (0 == (flags & SQLITE_SHM_UNLOCK)) { - rc = (*(*func(*libc.TLS, uintptr, int32, int32, int32) int32)(unsafe.Pointer(((*Sqlite3_file)(unsafe.Pointer((*Rbu_file)(unsafe.Pointer(p)).FpReal)).FpMethods + 112 /* &.xShmLock */))))(tls, (*Rbu_file)(unsafe.Pointer(p)).FpReal, ofst, n, flags) + rc = (*struct { + f func(*libc.TLS, uintptr, int32, int32, int32) int32 + })(unsafe.Pointer(&struct{ uintptr }{(*sqlite3_io_methods)(unsafe.Pointer((*Sqlite3_file)(unsafe.Pointer((*Rbu_file)(unsafe.Pointer(p)).FpReal)).FpMethods)).FxShmLock})).f(tls, (*Rbu_file)(unsafe.Pointer(p)).FpReal, ofst, n, flags) if (bCapture != 0) && (rc == SQLITE_OK) { *(*U32)(unsafe.Pointer(pRbu + 316 /* &.mLock */)) |= (U32(((int32(1) << n) - 1) << ofst)) } @@ -163249,13 +164620,15 @@ func rbuVfsShmMap(tls *libc.TLS, pFile uintptr, iRegion int32, szRegion int32, i } if rc == SQLITE_OK { - *(*uintptr)(unsafe.Pointer(libc.AtomicLoadUintptr(&pp))) = *(*uintptr)(unsafe.Pointer((*Rbu_file)(unsafe.Pointer(p)).FapShm + uintptr(iRegion)*8)) + *(*uintptr)(unsafe.Pointer(pp)) = *(*uintptr)(unsafe.Pointer((*Rbu_file)(unsafe.Pointer(p)).FapShm + uintptr(iRegion)*8)) } else { - *(*uintptr)(unsafe.Pointer(libc.AtomicLoadUintptr(&pp))) = uintptr(0) + *(*uintptr)(unsafe.Pointer(pp)) = uintptr(0) } } else { - rc = (*(*func(*libc.TLS, uintptr, int32, int32, int32, uintptr) int32)(unsafe.Pointer(((*Sqlite3_file)(unsafe.Pointer((*Rbu_file)(unsafe.Pointer(p)).FpReal)).FpMethods + 104 /* &.xShmMap */))))(tls, (*Rbu_file)(unsafe.Pointer(p)).FpReal, iRegion, szRegion, isWrite, libc.AtomicLoadUintptr(&pp)) + rc = (*struct { + f func(*libc.TLS, uintptr, int32, int32, int32, uintptr) int32 + })(unsafe.Pointer(&struct{ uintptr }{(*sqlite3_io_methods)(unsafe.Pointer((*Sqlite3_file)(unsafe.Pointer((*Rbu_file)(unsafe.Pointer(p)).FpReal)).FpMethods)).FxShmMap})).f(tls, (*Rbu_file)(unsafe.Pointer(p)).FpReal, iRegion, szRegion, isWrite, pp) } return rc @@ -163264,7 +164637,7 @@ func rbuVfsShmMap(tls *libc.TLS, pFile uintptr, iRegion int32, szRegion int32, i // Memory barrier. func rbuVfsShmBarrier(tls *libc.TLS, pFile uintptr) { /* sqlite3.c:204990:13: */ var p uintptr = pFile - (*(*func(*libc.TLS, uintptr))(unsafe.Pointer(((*Sqlite3_file)(unsafe.Pointer((*Rbu_file)(unsafe.Pointer(p)).FpReal)).FpMethods + 120 /* &.xShmBarrier */))))(tls, (*Rbu_file)(unsafe.Pointer(p)).FpReal) + (*struct{ f func(*libc.TLS, uintptr) })(unsafe.Pointer(&struct{ uintptr }{(*sqlite3_io_methods)(unsafe.Pointer((*Sqlite3_file)(unsafe.Pointer((*Rbu_file)(unsafe.Pointer(p)).FpReal)).FpMethods)).FxShmBarrier})).f(tls, (*Rbu_file)(unsafe.Pointer(p)).FpReal) } // The xShmUnmap method. @@ -163283,7 +164656,9 @@ func rbuVfsShmUnmap(tls *libc.TLS, pFile uintptr, delFlag int32) int32 { /* sqli } else { // Release the checkpointer and writer locks rbuUnlockShm(tls, p) - rc = (*(*func(*libc.TLS, uintptr, int32) int32)(unsafe.Pointer(((*Sqlite3_file)(unsafe.Pointer((*Rbu_file)(unsafe.Pointer(p)).FpReal)).FpMethods + 128 /* &.xShmUnmap */))))(tls, (*Rbu_file)(unsafe.Pointer(p)).FpReal, delFlag) + rc = (*struct { + f func(*libc.TLS, uintptr, int32) int32 + })(unsafe.Pointer(&struct{ uintptr }{(*sqlite3_io_methods)(unsafe.Pointer((*Sqlite3_file)(unsafe.Pointer((*Rbu_file)(unsafe.Pointer(p)).FpReal)).FpMethods)).FxShmUnmap})).f(tls, (*Rbu_file)(unsafe.Pointer(p)).FpReal, delFlag) } return rc } @@ -163316,7 +164691,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+5459 /* "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) @@ -163331,14 +164706,16 @@ 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+30534 /* "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) } if rc == SQLITE_OK { - rc = (*(*func(*libc.TLS, uintptr, uintptr, uintptr, int32, uintptr) int32)(unsafe.Pointer((pRealVfs + 40 /* &.xOpen */))))(tls, pRealVfs, zOpen, (*Rbu_file)(unsafe.Pointer(pFd)).FpReal, oflags, pOutFlags) + rc = (*struct { + f func(*libc.TLS, uintptr, uintptr, uintptr, int32, uintptr) int32 + })(unsafe.Pointer(&struct{ uintptr }{(*Sqlite3_vfs)(unsafe.Pointer(pRealVfs)).FxOpen})).f(tls, pRealVfs, zOpen, (*Rbu_file)(unsafe.Pointer(pFd)).FpReal, oflags, pOutFlags) } if (*Sqlite3_file)(unsafe.Pointer((*Rbu_file)(unsafe.Pointer(pFd)).FpReal)).FpMethods != 0 { // The xOpen() operation has succeeded. Set the sqlite3_file.pMethods @@ -163378,7 +164755,9 @@ var rbuvfs_io_methods = Sqlite3_io_methods{ // Delete the file located at zPath. func rbuVfsDelete(tls *libc.TLS, pVfs uintptr, zPath uintptr, dirSync int32) int32 { /* sqlite3.c:205115:12: */ var pRealVfs uintptr = (*Rbu_vfs)(unsafe.Pointer(pVfs)).FpRealVfs - return (*(*func(*libc.TLS, uintptr, uintptr, int32) int32)(unsafe.Pointer((pRealVfs + 48 /* &.xDelete */))))(tls, pRealVfs, zPath, dirSync) + return (*struct { + f func(*libc.TLS, uintptr, uintptr, int32) int32 + })(unsafe.Pointer(&struct{ uintptr }{(*Sqlite3_vfs)(unsafe.Pointer(pRealVfs)).FxDelete})).f(tls, pRealVfs, zPath, dirSync) } // Test for access permissions. Return true if the requested permission @@ -163391,7 +164770,9 @@ func rbuVfsAccess(tls *libc.TLS, pVfs uintptr, zPath uintptr, flags int32, pResO var pRealVfs uintptr = (*Rbu_vfs)(unsafe.Pointer(pRbuVfs)).FpRealVfs var rc int32 - rc = (*(*func(*libc.TLS, uintptr, uintptr, int32, uintptr) int32)(unsafe.Pointer((pRealVfs + 56 /* &.xAccess */))))(tls, pRealVfs, zPath, flags, pResOut) + rc = (*struct { + f func(*libc.TLS, uintptr, uintptr, int32, uintptr) int32 + })(unsafe.Pointer(&struct{ uintptr }{(*Sqlite3_vfs)(unsafe.Pointer(pRealVfs)).FxAccess})).f(tls, pRealVfs, zPath, flags, pResOut) // If this call is to check if a *-wal file associated with an RBU target // database connection exists, and the RBU update is in RBU_STAGE_OAL, @@ -163428,13 +164809,17 @@ func rbuVfsAccess(tls *libc.TLS, pVfs uintptr, zPath uintptr, flags int32, pResO // of at least (DEVSYM_MAX_PATHNAME+1) bytes. func rbuVfsFullPathname(tls *libc.TLS, pVfs uintptr, zPath uintptr, nOut int32, zOut uintptr) int32 { /* sqlite3.c:205172:12: */ var pRealVfs uintptr = (*Rbu_vfs)(unsafe.Pointer(pVfs)).FpRealVfs - return (*(*func(*libc.TLS, uintptr, uintptr, int32, uintptr) int32)(unsafe.Pointer((pRealVfs + 64 /* &.xFullPathname */))))(tls, pRealVfs, zPath, nOut, zOut) + return (*struct { + f func(*libc.TLS, uintptr, uintptr, int32, uintptr) int32 + })(unsafe.Pointer(&struct{ uintptr }{(*Sqlite3_vfs)(unsafe.Pointer(pRealVfs)).FxFullPathname})).f(tls, pRealVfs, zPath, nOut, zOut) } // Open the dynamic library located at zPath and return a handle. func rbuVfsDlOpen(tls *libc.TLS, pVfs uintptr, zPath uintptr) uintptr { /* sqlite3.c:205186:13: */ var pRealVfs uintptr = (*Rbu_vfs)(unsafe.Pointer(pVfs)).FpRealVfs - return (*(*func(*libc.TLS, uintptr, uintptr) uintptr)(unsafe.Pointer((pRealVfs + 72 /* &.xDlOpen */))))(tls, pRealVfs, zPath) + return (*struct { + f func(*libc.TLS, uintptr, uintptr) uintptr + })(unsafe.Pointer(&struct{ uintptr }{(*Sqlite3_vfs)(unsafe.Pointer(pRealVfs)).FxDlOpen})).f(tls, pRealVfs, zPath) } // Populate the buffer zErrMsg (size nByte bytes) with a human readable @@ -163442,39 +164827,51 @@ func rbuVfsDlOpen(tls *libc.TLS, pVfs uintptr, zPath uintptr) uintptr { /* sqlit // with dynamic libraries. func rbuVfsDlError(tls *libc.TLS, pVfs uintptr, nByte int32, zErrMsg uintptr) { /* sqlite3.c:205196:13: */ var pRealVfs uintptr = (*Rbu_vfs)(unsafe.Pointer(pVfs)).FpRealVfs - (*(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer((pRealVfs + 80 /* &.xDlError */))))(tls, pRealVfs, nByte, zErrMsg) + (*struct { + f func(*libc.TLS, uintptr, int32, uintptr) + })(unsafe.Pointer(&struct{ uintptr }{(*Sqlite3_vfs)(unsafe.Pointer(pRealVfs)).FxDlError})).f(tls, pRealVfs, nByte, zErrMsg) } // Return a pointer to the symbol zSymbol in the dynamic library pHandle. func rbuVfsDlSym(tls *libc.TLS, pVfs uintptr, pArg uintptr, zSym uintptr) uintptr { /* sqlite3.c:205204:13: */ var pRealVfs uintptr = (*Rbu_vfs)(unsafe.Pointer(pVfs)).FpRealVfs - return (*(*func(*libc.TLS, uintptr, uintptr, uintptr) uintptr)(unsafe.Pointer((pRealVfs + 88 /* &.xDlSym */))))(tls, pRealVfs, pArg, zSym) + return (*struct { + f func(*libc.TLS, uintptr, uintptr, uintptr) uintptr + })(unsafe.Pointer(&struct{ uintptr }{(*Sqlite3_vfs)(unsafe.Pointer(pRealVfs)).FxDlSym})).f(tls, pRealVfs, pArg, zSym) } // Close the dynamic library handle pHandle. func rbuVfsDlClose(tls *libc.TLS, pVfs uintptr, pHandle uintptr) { /* sqlite3.c:205216:13: */ var pRealVfs uintptr = (*Rbu_vfs)(unsafe.Pointer(pVfs)).FpRealVfs - (*(*func(*libc.TLS, uintptr, uintptr))(unsafe.Pointer((pRealVfs + 96 /* &.xDlClose */))))(tls, pRealVfs, pHandle) + (*struct { + f func(*libc.TLS, uintptr, uintptr) + })(unsafe.Pointer(&struct{ uintptr }{(*Sqlite3_vfs)(unsafe.Pointer(pRealVfs)).FxDlClose})).f(tls, pRealVfs, pHandle) } // Populate the buffer pointed to by zBufOut with nByte bytes of // random data. func rbuVfsRandomness(tls *libc.TLS, pVfs uintptr, nByte int32, zBufOut uintptr) int32 { /* sqlite3.c:205226:12: */ var pRealVfs uintptr = (*Rbu_vfs)(unsafe.Pointer(pVfs)).FpRealVfs - return (*(*func(*libc.TLS, uintptr, int32, uintptr) int32)(unsafe.Pointer((pRealVfs + 104 /* &.xRandomness */))))(tls, pRealVfs, nByte, zBufOut) + return (*struct { + f func(*libc.TLS, uintptr, int32, uintptr) int32 + })(unsafe.Pointer(&struct{ uintptr }{(*Sqlite3_vfs)(unsafe.Pointer(pRealVfs)).FxRandomness})).f(tls, pRealVfs, nByte, zBufOut) } // Sleep for nMicro microseconds. Return the number of microseconds // actually slept. func rbuVfsSleep(tls *libc.TLS, pVfs uintptr, nMicro int32) int32 { /* sqlite3.c:205235:12: */ var pRealVfs uintptr = (*Rbu_vfs)(unsafe.Pointer(pVfs)).FpRealVfs - return (*(*func(*libc.TLS, uintptr, int32) int32)(unsafe.Pointer((pRealVfs + 112 /* &.xSleep */))))(tls, pRealVfs, nMicro) + return (*struct { + f func(*libc.TLS, uintptr, int32) int32 + })(unsafe.Pointer(&struct{ uintptr }{(*Sqlite3_vfs)(unsafe.Pointer(pRealVfs)).FxSleep})).f(tls, pRealVfs, nMicro) } // Return the current time as a Julian Day number in *pTimeOut. func rbuVfsCurrentTime(tls *libc.TLS, pVfs uintptr, pTimeOut uintptr) int32 { /* sqlite3.c:205243:12: */ var pRealVfs uintptr = (*Rbu_vfs)(unsafe.Pointer(pVfs)).FpRealVfs - return (*(*func(*libc.TLS, uintptr, uintptr) int32)(unsafe.Pointer((pRealVfs + 120 /* &.xCurrentTime */))))(tls, pRealVfs, pTimeOut) + return (*struct { + f func(*libc.TLS, uintptr, uintptr) int32 + })(unsafe.Pointer(&struct{ uintptr }{(*Sqlite3_vfs)(unsafe.Pointer(pRealVfs)).FxCurrentTime})).f(tls, pRealVfs, pTimeOut) } // No-op. @@ -163725,14 +165122,14 @@ type SessionTable1 = struct { 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 + Fop U8 + FbIndirect U8 + F__ccgo_pad1 [2]byte + FnMaxSize int32 + FnRecord int32 + F__ccgo_pad2 [4]byte + FaRecord uintptr + FpNext uintptr } /* sqlite3.c:11155:9 */ type SessionChange = SessionChange1 /* sqlite3.c:206656:30 */ @@ -163744,18 +165141,18 @@ type SessionBuffer1 = struct { 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 + FbNoDiscard int32 + FiCurrent int32 + FiNext int32 + F__ccgo_pad1 [4]byte + FaData uintptr + FnData int32 + F__ccgo_pad2 [4]byte + Fbuf SessionBuffer + FxInput uintptr + FpIn uintptr + FbEof int32 + F__ccgo_pad3 [4]byte } /* sqlite3.c:11163:9 */ type SessionInput = SessionInput1 /* sqlite3.c:206658:29 */ @@ -164001,9 +165398,13 @@ func sessionPreupdateHash(tls *libc.TLS, pSession uintptr, pTab uintptr, bNew in // 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 */) + rc = (*struct { + f func(*libc.TLS, uintptr, int32, uintptr) int32 + })(unsafe.Pointer(&struct{ uintptr }{(*Sqlite3_session)(unsafe.Pointer(pSession)).Fhook.FxNew})).f(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 */) + rc = (*struct { + f func(*libc.TLS, uintptr, int32, uintptr) int32 + })(unsafe.Pointer(&struct{ uintptr }{(*Sqlite3_session)(unsafe.Pointer(pSession)).Fhook.FxOld})).f(tls, (*Sqlite3_session)(unsafe.Pointer(pSession)).Fhook.FpCtx, i, bp /* &pVal */) } if rc != SQLITE_OK { return rc @@ -164322,10 +165723,14 @@ func sessionPreupdateEqual(tls *libc.TLS, pSession uintptr, pTab uintptr, pChang // 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 */) + rc = (*struct { + f func(*libc.TLS, uintptr, int32, uintptr) int32 + })(unsafe.Pointer(&struct{ uintptr }{(*Sqlite3_session)(unsafe.Pointer(pSession)).Fhook.FxNew})).f(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 */) + rc = (*struct { + f func(*libc.TLS, uintptr, int32, uintptr) int32 + })(unsafe.Pointer(&struct{ uintptr }{(*Sqlite3_session)(unsafe.Pointer(pSession)).Fhook.FxOld})).f(tls, (*Sqlite3_session)(unsafe.Pointer(pSession)).Fhook.FpCtx, iCol, bp /* &pVal */) } if Xsqlite3_value_type(tls, *(*uintptr)(unsafe.Pointer(bp /* pVal */))) != eType { @@ -164463,20 +165868,20 @@ func sessionTableInfo(tls *libc.TLS, pSession uintptr, db uintptr, zDb uintptr, var abPK uintptr = uintptr(0) nThis = Xsqlite3Strlen30(tls, zThis) - if (nThis == 12) && (0 == Xsqlite3_stricmp(tls, ts+10073 /* "sqlite_stat1" */, 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+30545 /* "SELECT 0, 'tbl',..." */, 0) + ts+30544 /* "SELECT 0, 'tbl',..." */, 0) } else if rc == SQLITE_ERROR { - zPragma = Xsqlite3_mprintf(tls, ts+756 /* "" */, 0) + zPragma = Xsqlite3_mprintf(tls, ts+755 /* "" */, 0) } else { return rc } } else { - zPragma = Xsqlite3_mprintf(tls, ts+30666 /* "PRAGMA '%q'.tabl..." */, libc.VaList(bp, zDb, zThis)) + zPragma = Xsqlite3_mprintf(tls, ts+30665 /* "PRAGMA '%q'.tabl..." */, libc.VaList(bp, zDb, zThis)) } if !(zPragma != 0) { return SQLITE_NOMEM @@ -164576,7 +165981,7 @@ func sessionInitTable(tls *libc.TLS, pSession uintptr, pTab uintptr) int32 { /* break } } - if 0 == Xsqlite3_stricmp(tls, ts+10073 /* "sqlite_stat1" */, (*SessionTable)(unsafe.Pointer(pTab)).FzName) { + if 0 == Xsqlite3_stricmp(tls, ts+10072 /* "sqlite_stat1" */, (*SessionTable)(unsafe.Pointer(pTab)).FzName) { (*SessionTable)(unsafe.Pointer(pTab)).FbStat1 = 1 } @@ -164609,7 +166014,9 @@ func sessionStat1Old(tls *libc.TLS, pCtx uintptr, iCol int32, ppVal uintptr) int 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 */) + var rc int32 = (*struct { + f func(*libc.TLS, uintptr, int32, uintptr) int32 + })(unsafe.Pointer(&struct{ uintptr }{(*SessionStat1Ctx)(unsafe.Pointer(p)).Fhook.FxOld})).f(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 } @@ -164623,7 +166030,9 @@ func sessionStat1New(tls *libc.TLS, pCtx uintptr, iCol int32, ppVal uintptr) int 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 */) + var rc int32 = (*struct { + f func(*libc.TLS, uintptr, int32, uintptr) int32 + })(unsafe.Pointer(&struct{ uintptr }{(*SessionStat1Ctx)(unsafe.Pointer(p)).Fhook.FxNew})).f(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 } @@ -164633,12 +166042,16 @@ func sessionStat1New(tls *libc.TLS, pCtx uintptr, iCol int32, ppVal uintptr) int 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) + return (*struct { + f func(*libc.TLS, uintptr) int32 + })(unsafe.Pointer(&struct{ uintptr }{(*SessionStat1Ctx)(unsafe.Pointer(p)).Fhook.FxCount})).f(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) + return (*struct { + f func(*libc.TLS, uintptr) int32 + })(unsafe.Pointer(&struct{ uintptr }{(*SessionStat1Ctx)(unsafe.Pointer(p)).Fhook.FxDepth})).f(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: */ @@ -164651,7 +166064,9 @@ func sessionUpdateMaxSize(tls *libc.TLS, op int32, pSession uintptr, pTab uintpt 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 */) + (*struct { + f func(*libc.TLS, uintptr, int32, uintptr) int32 + })(unsafe.Pointer(&struct{ uintptr }{(*Sqlite3_session)(unsafe.Pointer(pSession)).Fhook.FxNew})).f(tls, (*Sqlite3_session)(unsafe.Pointer(pSession)).Fhook.FpCtx, ii, bp /* &p */) sessionSerializeValue(tls, uintptr(0), *(*uintptr)(unsafe.Pointer(bp /* p */)), bp+8 /* &nNew */) } } @@ -164668,7 +166083,9 @@ func sessionUpdateMaxSize(tls *libc.TLS, op int32, pSession uintptr, pTab uintpt 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 */) + (*struct { + f func(*libc.TLS, uintptr, int32, uintptr) int32 + })(unsafe.Pointer(&struct{ uintptr }{(*Sqlite3_session)(unsafe.Pointer(pSession)).Fhook.FxNew})).f(tls, (*Sqlite3_session)(unsafe.Pointer(pSession)).Fhook.FpCtx, ii, bp+16 /* &p */) if *(*uintptr)(unsafe.Pointer(bp + 16 /* p */)) == uintptr(0) { return SQLITE_NOMEM } @@ -164796,7 +166213,9 @@ __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)) { + if !((*SessionTable)(unsafe.Pointer(pTab)).FnCol != (*struct { + f func(*libc.TLS, uintptr) int32 + })(unsafe.Pointer(&struct{ uintptr }{(*Sqlite3_session)(unsafe.Pointer(pSession)).Fhook.FxCount})).f(tls, (*Sqlite3_session)(unsafe.Pointer(pSession)).Fhook.FpCtx)) { goto __3 } (*Sqlite3_session)(unsafe.Pointer(pSession)).Frc = SQLITE_SCHEMA @@ -164842,7 +166261,7 @@ __4: goto error_out __7: ; - Xsqlite3ValueSetStr(tls, p, 0, ts+756 /* "" */, uint8(0), uintptr(0)) + Xsqlite3ValueSetStr(tls, p, 0, ts+755 /* "" */, uint8(0), uintptr(0)) (*Sqlite3_session)(unsafe.Pointer(pSession)).FpZeroBlob = p __6: ; @@ -164899,14 +166318,18 @@ __16: 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 */) + (*struct { + f func(*libc.TLS, uintptr, int32, uintptr) int32 + })(unsafe.Pointer(&struct{ uintptr }{(*Sqlite3_session)(unsafe.Pointer(pSession)).Fhook.FxOld})).f(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 */) + (*struct { + f func(*libc.TLS, uintptr, int32, uintptr) int32 + })(unsafe.Pointer(&struct{ uintptr }{(*Sqlite3_session)(unsafe.Pointer(pSession)).Fhook.FxNew})).f(tls, (*Sqlite3_session)(unsafe.Pointer(pSession)).Fhook.FpCtx, i, bp+56 /* &p1 */) __21: ; @@ -164958,13 +166381,17 @@ __25: 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 */) + (*struct { + f func(*libc.TLS, uintptr, int32, uintptr) int32 + })(unsafe.Pointer(&struct{ uintptr }{(*Sqlite3_session)(unsafe.Pointer(pSession)).Fhook.FxOld})).f(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 */) + (*struct { + f func(*libc.TLS, uintptr, int32, uintptr) int32 + })(unsafe.Pointer(&struct{ uintptr }{(*Sqlite3_session)(unsafe.Pointer(pSession)).Fhook.FxNew})).f(tls, (*Sqlite3_session)(unsafe.Pointer(pSession)).Fhook.FpCtx, i, bp+72 /* &p2 */) __30: ; __29: @@ -164979,7 +166406,9 @@ __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)) { + if !(((*Sqlite3_session)(unsafe.Pointer(pSession)).FbIndirect != 0) || ((*struct { + f func(*libc.TLS, uintptr) int32 + })(unsafe.Pointer(&struct{ uintptr }{(*Sqlite3_session)(unsafe.Pointer(pSession)).Fhook.FxDepth})).f(tls, (*Sqlite3_session)(unsafe.Pointer(pSession)).Fhook.FpCtx) != 0)) { goto __31 } (*SessionChange)(unsafe.Pointer(pC)).FbIndirect = U8(1) @@ -164997,7 +166426,9 @@ __14: } // 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) && + if !(((*struct { + f func(*libc.TLS, uintptr) int32 + })(unsafe.Pointer(&struct{ uintptr }{(*Sqlite3_session)(unsafe.Pointer(pSession)).Fhook.FxDepth})).f(tls, (*Sqlite3_session)(unsafe.Pointer(pSession)).Fhook.FpCtx) == 0) && ((*Sqlite3_session)(unsafe.Pointer(pSession)).FbIndirect == 0)) { goto __33 } @@ -165049,7 +166480,9 @@ func sessionFindTable(tls *libc.TLS, pSession uintptr, zName uintptr, ppTab uint // 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) { + ((*struct { + f func(*libc.TLS, uintptr, uintptr) int32 + })(unsafe.Pointer(&struct{ uintptr }{(*Sqlite3_session)(unsafe.Pointer(pSession)).FxTableFilter})).f(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 { @@ -165134,9 +166567,9 @@ func sessionPreupdateHooks(tls *libc.TLS, pSession uintptr) { /* sqlite3.c:20816 } type SessionDiffCtx1 = struct { - FpStmt uintptr - FnOldOff int32 - _ [4]byte + FpStmt uintptr + FnOldOff int32 + F__ccgo_pad1 [4]byte } /* sqlite3.c:208177:9 */ type SessionDiffCtx = SessionDiffCtx1 /* sqlite3.c:208177:31 */ @@ -165189,14 +166622,14 @@ func sessionExprComparePK(tls *libc.TLS, nCol int32, zDb1 uintptr, zDb2 uintptr, defer tls.Free(64) var i int32 - var zSep uintptr = ts + 756 /* "" */ + 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+30695, /* "%z%s\"%w\".\"%w\".\"%..." */ + 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 + 19878 /* " AND " */ + zSep = ts + 19877 /* " AND " */ if zRet == uintptr(0) { break } @@ -165211,7 +166644,7 @@ func sessionExprCompareOther(tls *libc.TLS, nCol int32, zDb1 uintptr, zDb2 uintp defer tls.Free(64) var i int32 - var zSep uintptr = ts + 756 /* "" */ + var zSep uintptr = ts + 755 /* "" */ var zRet uintptr = uintptr(0) var bHave int32 = 0 @@ -165219,9 +166652,9 @@ func sessionExprCompareOther(tls *libc.TLS, nCol int32, zDb1 uintptr, zDb2 uintp if int32(*(*U8)(unsafe.Pointer(abPK + uintptr(i)))) == 0 { bHave = 1 zRet = Xsqlite3_mprintf(tls, - ts+30729, /* "%z%s\"%w\".\"%w\".\"%..." */ + 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 + 30770 /* " OR " */ + zSep = ts + 30769 /* " OR " */ if zRet == uintptr(0) { break } @@ -165230,7 +166663,7 @@ func sessionExprCompareOther(tls *libc.TLS, nCol int32, zDb1 uintptr, zDb2 uintp if bHave == 0 { - zRet = Xsqlite3_mprintf(tls, ts+6507 /* "0" */, 0) + zRet = Xsqlite3_mprintf(tls, ts+6506 /* "0" */, 0) } return zRet @@ -165242,7 +166675,7 @@ func sessionSelectFindNew(tls *libc.TLS, nCol int32, zDb1 uintptr, zDb2 uintptr, var zRet uintptr = Xsqlite3_mprintf(tls, - ts+30775, /* "SELECT * FROM \"%..." */ + ts+30774, /* "SELECT * FROM \"%..." */ libc.VaList(bp, zDb1, zTbl, zDb2, zTbl, zExpr)) return zRet } @@ -165287,7 +166720,7 @@ func sessionDiffFindModified(tls *libc.TLS, pSession uintptr, pTab uintptr, zFro rc = SQLITE_NOMEM } else { var zStmt uintptr = Xsqlite3_mprintf(tls, - ts+30853, /* "SELECT * FROM \"%..." */ + 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 @@ -165425,7 +166858,7 @@ __6: if !(pzErrMsg != 0) { goto __16 } - *(*uintptr)(unsafe.Pointer(pzErrMsg)) = Xsqlite3_mprintf(tls, ts+30906 /* "table schemas do..." */, 0) + *(*uintptr)(unsafe.Pointer(pzErrMsg)) = Xsqlite3_mprintf(tls, ts+30905 /* "table schemas do..." */, 0) __16: ; rc = SQLITE_SCHEMA @@ -165767,7 +167200,7 @@ func sessionAppendInteger(tls *libc.TLS, p uintptr, iVal int32, pRc uintptr) { / // var aBuf [24]int8 at bp+8, 24 - Xsqlite3_snprintf(tls, (int32(uint64(unsafe.Sizeof([24]int8{})) - uint64(1))), bp+8 /* &aBuf[0] */, ts+4090 /* "%d" */, libc.VaList(bp, iVal)) + 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) } @@ -166030,30 +167463,30 @@ func sessionSelectStmt(tls *libc.TLS, db uintptr, zDb uintptr, zTab uintptr, nCo var zSql uintptr = uintptr(0) var nSql int32 = -1 - if 0 == Xsqlite3_stricmp(tls, ts+10073 /* "sqlite_stat1" */, zTab) { + if 0 == Xsqlite3_stricmp(tls, ts+10072 /* "sqlite_stat1" */, zTab) { zSql = Xsqlite3_mprintf(tls, - ts+30933 /* "SELECT tbl, ?2, ..." */, libc.VaList(bp, zDb)) + 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 + 756 /* "" */ + var zSep uintptr = ts + 755 /* "" */ *(*SessionBuffer)(unsafe.Pointer(bp + 8 /* buf */)) = SessionBuffer{} - sessionAppendStr(tls, bp+8 /* &buf */, ts+31043 /* "SELECT * FROM " */, bp+24 /* &rc */) + 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+769 /* "." */, 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+31058 /* " WHERE " */, 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+31066 /* " IS ?" */, 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 + 19878 /* " AND " */ + zSep = ts + 19877 /* " AND " */ } } zSql = (*SessionBuffer)(unsafe.Pointer(bp + 8 /* &buf */)).FaBuf @@ -166193,7 +167626,7 @@ func sessionGenerateChangeset(tls *libc.TLS, pSession uintptr, bPatchset int32, if (*Sqlite3_session)(unsafe.Pointer(pSession)).Frc != 0 { return (*Sqlite3_session)(unsafe.Pointer(pSession)).Frc } - *(*int32)(unsafe.Pointer(bp + 40 /* rc */)) = Xsqlite3_exec(tls, (*Sqlite3_session)(unsafe.Pointer(pSession)).Fdb, ts+31072 /* "SAVEPOINT change..." */, uintptr(0), uintptr(0), uintptr(0)) + *(*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 */)) } @@ -166261,7 +167694,9 @@ func sessionGenerateChangeset(tls *libc.TLS, pSession uintptr, bPatchset int32, (*(*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) + *(*int32)(unsafe.Pointer(bp + 40 /* rc */)) = (*struct { + f func(*libc.TLS, uintptr, uintptr, int32) int32 + })(unsafe.Pointer(&struct{ uintptr }{xOutput})).f(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 } @@ -166283,12 +167718,14 @@ func sessionGenerateChangeset(tls *libc.TLS, pSession uintptr, bPatchset int32, *(*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) + *(*int32)(unsafe.Pointer(bp + 40 /* rc */)) = (*struct { + f func(*libc.TLS, uintptr, uintptr, int32) int32 + })(unsafe.Pointer(&struct{ uintptr }{xOutput})).f(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+31092 /* "RELEASE changese..." */, uintptr(0), uintptr(0), uintptr(0)) + 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 */)) } @@ -166484,7 +167921,9 @@ func sessionInputBuffer(tls *libc.TLS, pIn uintptr, nByte int32) int32 { /* sqli 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 */) + *(*int32)(unsafe.Pointer(bp /* rc */)) = (*struct { + f func(*libc.TLS, uintptr, uintptr, uintptr) int32 + })(unsafe.Pointer(&struct{ uintptr }{(*SessionInput)(unsafe.Pointer(pIn)).FxInput})).f(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 { @@ -167351,7 +168790,9 @@ __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) + *(*int32)(unsafe.Pointer(bp + 40 /* rc */)) = (*struct { + f func(*libc.TLS, uintptr, uintptr, int32) int32 + })(unsafe.Pointer(&struct{ uintptr }{xOutput})).f(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 @@ -167376,7 +168817,9 @@ __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) + *(*int32)(unsafe.Pointer(bp + 40 /* rc */)) = (*struct { + f func(*libc.TLS, uintptr, uintptr, int32) int32 + })(unsafe.Pointer(&struct{ uintptr }{xOutput})).f(tls, pOut, (*SessionBuffer)(unsafe.Pointer(bp /* &sOut */)).FaBuf, (*SessionBuffer)(unsafe.Pointer(bp /* &sOut */)).FnBuf) __32: ; __31: @@ -167437,7 +168880,7 @@ type SessionApplyCtx1 = struct { FpInsert uintptr FpSelect uintptr FnCol int32 - _ [4]byte + F__ccgo_pad1 [4]byte FazCol uintptr FabPK uintptr FaUpdateMask uintptr @@ -167445,12 +168888,12 @@ type SessionApplyCtx1 = struct { FbStat1 int32 FbDeferConstraints int32 FbInvertConstraints int32 - _ [4]byte + F__ccgo_pad2 [4]byte Fconstraints SessionBuffer Frebase SessionBuffer FbRebaseStarted U8 FbRebase U8 - _ [6]byte + F__ccgo_pad3 [6]byte } /* sqlite3.c:210362:9 */ type SessionApplyCtx = SessionApplyCtx1 /* sqlite3.c:210362:32 */ @@ -167522,36 +168965,36 @@ func sessionUpdateFind(tls *libc.TLS, pIter uintptr, p uintptr, bPatchset int32, 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+10073 /* "sqlite_stat1" */) == 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 + 756 /* "" */ + 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+31110 /* "UPDATE main." */, bp+16 /* &rc */) + 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+31123 /* " SET " */, 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+31129 /* " = ?" */, bp+16 /* &rc */) + sessionAppendStr(tls, bp /* &buf */, ts+31128 /* " = ?" */, bp+16 /* &rc */) sessionAppendInteger(tls, bp /* &buf */, ((ii * 2) + 1), bp+16 /* &rc */) - zSep = ts + 13325 /* ", " */ + zSep = ts + 13324 /* ", " */ } } // Create the WHERE clause part of the UPDATE - zSep = ts + 756 /* "" */ - sessionAppendStr(tls, bp /* &buf */, ts+31058 /* " WHERE " */, bp+16 /* &rc */) + 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 */) @@ -167559,13 +169002,13 @@ func sessionUpdateFind(tls *libc.TLS, pIter uintptr, p uintptr, bPatchset int32, sessionAppendStr(tls, bp, /* &buf */ - ts+31134 /* "idx IS CASE WHEN..." */, bp+16 /* &rc */) + 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+31066 /* " IS ?" */, 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 + 19878 /* " AND " */ + zSep = ts + 19877 /* " AND " */ } } @@ -167628,42 +169071,42 @@ func sessionDeleteRow(tls *libc.TLS, db uintptr, zTab uintptr, p uintptr) int32 defer tls.Free(20) var i int32 - var zSep uintptr = ts + 756 /* "" */ + 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+31209 /* "DELETE FROM main..." */, bp+16 /* &rc */) + 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+31058 /* " WHERE " */, 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+31129 /* " = ?" */, bp+16 /* &rc */) + sessionAppendStr(tls, bp /* &buf */, ts+31128 /* " = ?" */, bp+16 /* &rc */) sessionAppendInteger(tls, bp /* &buf */, (i + 1), bp+16 /* &rc */) - zSep = ts + 19878 /* " AND " */ + zSep = ts + 19877 /* " AND " */ } } if nPk < (*SessionApplyCtx)(unsafe.Pointer(p)).FnCol { - sessionAppendStr(tls, bp /* &buf */, ts+31227 /* " AND (?" */, bp+16 /* &rc */) + 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+30770 /* " OR " */, bp+16 /* &rc */) + sessionAppendStr(tls, bp /* &buf */, ts+30769 /* " OR " */, bp+16 /* &rc */) - zSep = ts + 756 /* "" */ + 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+31066 /* " IS ?" */, bp+16 /* &rc */) + sessionAppendStr(tls, bp /* &buf */, ts+31065 /* " IS ?" */, bp+16 /* &rc */) sessionAppendInteger(tls, bp /* &buf */, (i + 1), bp+16 /* &rc */) - zSep = ts + 31235 /* "AND " */ + zSep = ts + 31234 /* "AND " */ } } - sessionAppendStr(tls, bp /* &buf */, ts+4067 /* ")" */, bp+16 /* &rc */) + sessionAppendStr(tls, bp /* &buf */, ts+4066 /* ")" */, bp+16 /* &rc */) } if *(*int32)(unsafe.Pointer(bp + 16 /* rc */)) == SQLITE_OK { @@ -167687,7 +169130,7 @@ func sessionDeleteRow(tls *libc.TLS, db uintptr, zTab uintptr, p uintptr) int32 // 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+5459 /* "main" */, zTab, (*SessionApplyCtx)(unsafe.Pointer(p)).FnCol, (*SessionApplyCtx)(unsafe.Pointer(p)).FazCol, (*SessionApplyCtx)(unsafe.Pointer(p)).FabPK, (p + 24 /* &.pSelect */)) + 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. @@ -167705,21 +169148,21 @@ func sessionInsertRow(tls *libc.TLS, db uintptr, zTab uintptr, p uintptr) int32 var i int32 *(*SessionBuffer)(unsafe.Pointer(bp /* buf */)) = SessionBuffer{} - sessionAppendStr(tls, bp /* &buf */, ts+31240 /* "INSERT INTO main..." */, bp+16 /* &rc */) + 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+19884 /* "(" */, 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+13325 /* ", " */, bp+16 /* &rc */) + 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+31258 /* ") VALUES(?" */, 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+31269 /* ", ?" */, bp+16 /* &rc */) + sessionAppendStr(tls, bp /* &buf */, ts+31268 /* ", ?" */, bp+16 /* &rc */) } - sessionAppendStr(tls, bp /* &buf */, ts+4067 /* ")" */, 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)) @@ -167737,16 +169180,16 @@ func sessionPrepare(tls *libc.TLS, db uintptr, pp uintptr, zSql uintptr) int32 { // 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+10073 /* "sqlite_stat1" */, p) + var rc int32 = sessionSelectRow(tls, db, ts+10072 /* "sqlite_stat1" */, p) if rc == SQLITE_OK { rc = sessionPrepare(tls, db, (p + 16 /* &.pInsert */), - ts+31273 /* "INSERT INTO main..." */) + ts+31272 /* "INSERT INTO main..." */) } if rc == SQLITE_OK { rc = sessionPrepare(tls, db, (p + 8 /* &.pDelete */), - ts+31386 /* "DELETE FROM main..." */) + ts+31385 /* "DELETE FROM main..." */) } return rc } @@ -167796,7 +169239,9 @@ func sessionBindRow(tls *libc.TLS, pIter uintptr, xValue uintptr, nCol int32, ab 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 */) + (*struct { + f func(*libc.TLS, uintptr, int32, uintptr) int32 + })(unsafe.Pointer(&struct{ uintptr }{xValue})).f(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. @@ -167965,7 +169410,9 @@ func sessionConflictHandler(tls *libc.TLS, eType int32, p uintptr, pIter uintptr 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) + res = (*struct { + f func(*libc.TLS, uintptr, int32, uintptr) int32 + })(unsafe.Pointer(&struct{ uintptr }{xConflict})).f(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 { @@ -167978,7 +169425,9 @@ func sessionConflictHandler(tls *libc.TLS, eType int32, p uintptr, pIter uintptr 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) + res = (*struct { + f func(*libc.TLS, uintptr, int32, uintptr) int32 + })(unsafe.Pointer(&struct{ uintptr }{xConflict})).f(tls, pCtx, (eType + 1), pIter) if res == SQLITE_CHANGESET_REPLACE { *(*int32)(unsafe.Pointer(bp + 16 /* rc */)) = SQLITE_MISUSE } @@ -168193,7 +169642,7 @@ func sessionApplyOneWithRetry(tls *libc.TLS, db uintptr, pIter uintptr, pApply u 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+31530 /* "SAVEPOINT replac..." */, uintptr(0), uintptr(0), uintptr(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 { @@ -168209,7 +169658,7 @@ func sessionApplyOneWithRetry(tls *libc.TLS, db uintptr, pIter uintptr, pApply u rc = sessionApplyOneOp(tls, pIter, pApply, xConflict, pCtx, uintptr(0), uintptr(0)) } if rc == SQLITE_OK { - rc = Xsqlite3_exec(tls, db, ts+31551 /* "RELEASE replace_..." */, uintptr(0), uintptr(0), uintptr(0)) + rc = Xsqlite3_exec(tls, db, ts+31550 /* "RELEASE replace_..." */, uintptr(0), uintptr(0), uintptr(0)) } } } @@ -168290,10 +169739,10 @@ func sessionChangesetApply(tls *libc.TLS, db uintptr, pIter uintptr, xFilter uin (*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+31570 /* "SAVEPOINT change..." */, uintptr(0), uintptr(0), uintptr(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+31596 /* "PRAGMA defer_for..." */, uintptr(0), uintptr(0), uintptr(0)) + 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 @@ -168333,9 +169782,11 @@ func sessionChangesetApply(tls *libc.TLS, db uintptr, pIter uintptr, xFilter uin // 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 */)))))) + schemaMismatch = (libc.Bool32((xFilter != 0) && (0 == (*struct { + f func(*libc.TLS, uintptr, uintptr) int32 + })(unsafe.Pointer(&struct{ uintptr }{xFilter})).f(tls, pCtx, *(*uintptr)(unsafe.Pointer(bp + 176 /* zNew */)))))) if schemaMismatch != 0 { - *(*uintptr)(unsafe.Pointer(bp + 200 /* zTab */)) = Xsqlite3_mprintf(tls, ts+2791 /* "%s" */, libc.VaList(bp, *(*uintptr)(unsafe.Pointer(bp + 176 /* zNew */)))) + *(*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 @@ -168348,7 +169799,7 @@ func sessionChangesetApply(tls *libc.TLS, db uintptr, pIter uintptr, xFilter uin Xsqlite3changeset_pk(tls, pIter, bp+192 /* &abPK */, uintptr(0)) rc = sessionTableInfo(tls, uintptr(0), - db, ts+5459 /* "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 */)) + 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 } @@ -168361,20 +169812,20 @@ func sessionChangesetApply(tls *libc.TLS, db uintptr, pIter uintptr, xFilter uin if (*SessionApplyCtx)(unsafe.Pointer(bp+48 /* &sApply */)).FnCol == 0 { schemaMismatch = 1 Xsqlite3_log(tls, SQLITE_SCHEMA, - ts+31626 /* "sqlite3changeset..." */, libc.VaList(bp+8, *(*uintptr)(unsafe.Pointer(bp + 200 /* zTab */)))) + 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+31670, /* "sqlite3changeset..." */ + 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+31741 /* "sqlite3changeset..." */, libc.VaList(bp+40, *(*uintptr)(unsafe.Pointer(bp + 200 /* zTab */)))) + 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+10073 /* "sqlite_stat1" */) { + 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 } @@ -168424,20 +169875,22 @@ func sessionChangesetApply(tls *libc.TLS, db uintptr, pIter uintptr, xFilter uin 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 */) + res = (*struct { + f func(*libc.TLS, uintptr, int32, uintptr) int32 + })(unsafe.Pointer(&struct{ uintptr }{xConflict})).f(tls, pCtx, SQLITE_CHANGESET_FOREIGN_KEY, bp+216 /* &sIter */) if res != SQLITE_CHANGESET_OMIT { rc = SQLITE_CONSTRAINT } } } - Xsqlite3_exec(tls, db, ts+31801 /* "PRAGMA defer_for..." */, uintptr(0), uintptr(0), uintptr(0)) + 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+31831 /* "RELEASE changese..." */, uintptr(0), uintptr(0), uintptr(0)) + rc = Xsqlite3_exec(tls, db, ts+31830 /* "RELEASE changese..." */, uintptr(0), uintptr(0), uintptr(0)) } else { - Xsqlite3_exec(tls, db, ts+31855 /* "ROLLBACK TO chan..." */, uintptr(0), uintptr(0), uintptr(0)) - Xsqlite3_exec(tls, db, ts+31831 /* "RELEASE changese..." */, uintptr(0), uintptr(0), uintptr(0)) + 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)) } } @@ -168835,7 +170288,9 @@ func sessionChangegroupOutput(tls *libc.TLS, pGrp uintptr, xOutput uintptr, pOut 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) + *(*int32)(unsafe.Pointer(bp + 16 /* rc */)) = (*struct { + f func(*libc.TLS, uintptr, uintptr, int32) int32 + })(unsafe.Pointer(&struct{ uintptr }{xOutput})).f(tls, pOut, (*SessionBuffer)(unsafe.Pointer(bp /* &buf */)).FaBuf, (*SessionBuffer)(unsafe.Pointer(bp /* &buf */)).FnBuf) (*SessionBuffer)(unsafe.Pointer(bp /* &buf */)).FnBuf = 0 } } @@ -168845,7 +170300,9 @@ func sessionChangegroupOutput(tls *libc.TLS, pGrp uintptr, xOutput uintptr, pOut 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) + *(*int32)(unsafe.Pointer(bp + 16 /* rc */)) = (*struct { + f func(*libc.TLS, uintptr, uintptr, int32) int32 + })(unsafe.Pointer(&struct{ uintptr }{xOutput})).f(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 @@ -169186,7 +170643,9 @@ func sessionRebase(tls *libc.TLS, p uintptr, pIter uintptr, xOutput uintptr, pOu 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) + *(*int32)(unsafe.Pointer(bp + 32 /* rc */)) = (*struct { + f func(*libc.TLS, uintptr, uintptr, int32) int32 + })(unsafe.Pointer(&struct{ uintptr }{xOutput})).f(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 { @@ -169202,7 +170661,9 @@ func sessionRebase(tls *libc.TLS, p uintptr, pIter uintptr, xOutput uintptr, pOu 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) + *(*int32)(unsafe.Pointer(bp + 32 /* rc */)) = (*struct { + f func(*libc.TLS, uintptr, uintptr, int32) int32 + })(unsafe.Pointer(&struct{ uintptr }{xOutput})).f(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 @@ -169453,14 +170914,14 @@ type Fts5Config1 = struct { FzDb uintptr FzName uintptr FnCol int32 - _ [4]byte + F__ccgo_pad1 [4]byte FazCol uintptr FabUnindexed uintptr FnPrefix int32 - _ [4]byte + F__ccgo_pad2 [4]byte FaPrefix uintptr FeContent int32 - _ [4]byte + F__ccgo_pad3 [4]byte FzContent uintptr FzContentRowid uintptr FbColumnsize int32 @@ -169515,13 +170976,13 @@ type Fts5Buffer1 = struct { type Fts5Buffer = Fts5Buffer1 /* sqlite3.c:213265:27 */ type Fts5PoslistReader1 = struct { - Fa uintptr - Fn int32 - Fi int32 - FbFlag U8 - FbEof U8 - _ [6]byte - FiPos I64 + Fa uintptr + Fn int32 + Fi int32 + FbFlag U8 + FbEof U8 + F__ccgo_pad1 [6]byte + FiPos I64 } /* sqlite3.c:213118:9 */ type Fts5PoslistReader = Fts5PoslistReader1 /* sqlite3.c:213301:34 */ @@ -169549,10 +171010,10 @@ type Fts5Index1 = struct { FpConfig uintptr FzDataTbl uintptr FnWorkUnit int32 - _ [4]byte + F__ccgo_pad1 [4]byte FpHash uintptr FnPendingData int32 - _ [4]byte + F__ccgo_pad2 [4]byte FiWriteRowid I64 FbDelete int32 Frc int32 @@ -169563,7 +171024,7 @@ type Fts5Index1 = struct { FpIdxDeleter uintptr FpIdxSelect uintptr FnRead int32 - _ [4]byte + F__ccgo_pad3 [4]byte FpDataVersion uintptr FiStructVersion I64 FpStruct uintptr @@ -169580,11 +171041,11 @@ type Fts5Index1 = struct { type Fts5Index = Fts5Index1 /* sqlite3.c:213356:26 */ type Fts5IndexIter1 = struct { - FiRowid I64 - FpData uintptr - FnData int32 - FbEof U8 - _ [3]byte + FiRowid I64 + FpData uintptr + FnData int32 + FbEof U8 + F__ccgo_pad1 [3]byte } /* sqlite3.c:213118:9 */ type Fts5IndexIter = Fts5IndexIter1 /* sqlite3.c:213357:30 */ @@ -169623,13 +171084,13 @@ type Fts5Table = Fts5Table1 /* sqlite3.c:213556:26 */ // // Interface to code in fts5_hash.c. type Fts5Hash1 = struct { - FeDetail int32 - _ [4]byte - FpnByte uintptr - FnEntry int32 - FnSlot int32 - FpScan uintptr - FaSlot uintptr + FeDetail int32 + F__ccgo_pad1 [4]byte + FpnByte uintptr + FnEntry int32 + FnSlot int32 + FpScan uintptr + FaSlot uintptr } /* sqlite3.c:213118:9 */ // @@ -169654,7 +171115,7 @@ type Fts5Storage1 = struct { FpConfig uintptr FpIndex uintptr FbTotalsValid int32 - _ [4]byte + F__ccgo_pad1 [4]byte FnTotalRow I64 FaTotalSize uintptr FaStmt [11]uintptr @@ -169696,16 +171157,16 @@ type Fts5Expr1 = struct { // Interface to code in fts5_expr.c. type Fts5Expr = Fts5Expr1 /* sqlite3.c:213681:25 */ type Fts5ExprNode1 = struct { - FeType int32 - FbEof int32 - FbNomatch int32 - _ [4]byte - FxNext uintptr - FiRowid I64 - FpNear uintptr - FnChild int32 - _ [4]byte - FapChild [1]uintptr + FeType int32 + FbEof int32 + FbNomatch int32 + F__ccgo_pad1 [4]byte + FxNext uintptr + FiRowid I64 + FpNear uintptr + FnChild int32 + F__ccgo_pad2 [4]byte + FapChild [1]uintptr } /* sqlite3.c:213118:9 */ type Fts5ExprNode = Fts5ExprNode1 /* sqlite3.c:213682:29 */ @@ -169717,33 +171178,33 @@ type Fts5Parse1 = struct { FapPhrase uintptr FpExpr uintptr FbPhraseToAnd int32 - _ [4]byte + F__ccgo_pad1 [4]byte } /* sqlite3.c:213683:9 */ type Fts5Parse = Fts5Parse1 /* sqlite3.c:213683:26 */ type Fts5Token1 = struct { - Fp uintptr - Fn int32 - _ [4]byte + Fp uintptr + Fn int32 + F__ccgo_pad1 [4]byte } /* sqlite3.c:213684:9 */ type Fts5Token = Fts5Token1 /* sqlite3.c:213684:26 */ type Fts5ExprPhrase1 = struct { - FpNode uintptr - Fposlist Fts5Buffer - FnTerm int32 - _ [4]byte - FaTerm [1]Fts5ExprTerm + FpNode uintptr + Fposlist Fts5Buffer + FnTerm int32 + F__ccgo_pad1 [4]byte + FaTerm [1]Fts5ExprTerm } /* sqlite3.c:213118:9 */ type Fts5ExprPhrase = Fts5ExprPhrase1 /* sqlite3.c:213685:31 */ type Fts5ExprNearset1 = struct { - FnNear int32 - _ [4]byte - FpColset uintptr - FnPhrase int32 - _ [4]byte - FapPhrase [1]uintptr + FnNear int32 + F__ccgo_pad1 [4]byte + FpColset uintptr + FnPhrase int32 + F__ccgo_pad2 [4]byte + FapPhrase [1]uintptr } /* sqlite3.c:213118:9 */ type Fts5ExprNearset = Fts5ExprNearset1 /* sqlite3.c:213686:32 */ @@ -169856,9 +171317,9 @@ type Fts5PoslistPopulator = Fts5PoslistPopulator1 /* sqlite3.c:213734:37 */ // fts5YY_MAX_REDUCE Maximum value for reduce actions //************ Begin control #defines **************************************** type Fts5YYMINORTYPE = struct { - _ [0]uint64 - Ffts5yyinit int32 - _ [12]byte + F__ccgo_pad1 [0]uint64 + Ffts5yyinit int32 + F__ccgo_pad2 [12]byte } /* sqlite3.c:214010:3 */ //************ End control #defines ****************************************** @@ -169996,10 +171457,10 @@ var fts5yy_default = [35]uint8{ // actually contains the reduce action for the second half of the // SHIFTREDUCE. type fts5yyStackEntry = struct { - Fstateno uint8 - Fmajor uint8 - _ [6]byte - Fminor Fts5YYMINORTYPE + Fstateno uint8 + Fmajor uint8 + F__ccgo_pad1 [6]byte + Fminor Fts5YYMINORTYPE } /* sqlite3.c:214190:1 */ type Fts5yyStackEntry = fts5yyStackEntry /* sqlite3.c:214197:33 */ @@ -170042,7 +171503,7 @@ func sqlite3Fts5ParserInit(tls *libc.TLS, fts5yypRawParser uintptr) { /* sqlite3 // to sqlite3Fts5Parser and sqlite3Fts5ParserFree. func sqlite3Fts5ParserAlloc(tls *libc.TLS, mallocProc uintptr) uintptr { /* sqlite3.c:214408:13: */ var fts5yypParser uintptr - fts5yypParser = (*(*func(*libc.TLS, U64) uintptr)(unsafe.Pointer(&mallocProc)))(tls, U64(unsafe.Sizeof(Fts5yyParser{}))) + fts5yypParser = (*struct{ f func(*libc.TLS, U64) uintptr })(unsafe.Pointer(&struct{ uintptr }{mallocProc})).f(tls, U64(unsafe.Sizeof(Fts5yyParser{}))) if fts5yypParser != 0 { sqlite3Fts5ParserInit(tls, fts5yypParser) @@ -170140,7 +171601,7 @@ func sqlite3Fts5ParserFree(tls *libc.TLS, p uintptr, freeProc uintptr) { /* sqli return } sqlite3Fts5ParserFinalize(tls, p) - (*(*func(*libc.TLS, uintptr))(unsafe.Pointer(&freeProc)))(tls, p) + (*struct{ f func(*libc.TLS, uintptr) })(unsafe.Pointer(&struct{ uintptr }{freeProc})).f(tls, p) } // Return the peak depth of the stack for a parser. @@ -170204,7 +171665,7 @@ func fts5yyStackOverflow(tls *libc.TLS, fts5yypParser uintptr) { /* sqlite3.c:21 // stack every overflows //******* Begin %stack_overflow code ***************************************** - sqlite3Fts5ParseError(tls, pParse, ts+31883 /* "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 @@ -170527,7 +171988,7 @@ func fts5yy_syntax_error(tls *libc.TLS, fts5yypParser uintptr, fts5yymajor int32 _ = fts5yymajor // Silence a compiler warning sqlite3Fts5ParseError(tls, - pParse, ts+31911 /* "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 @@ -170635,14 +172096,18 @@ func sqlite3Fts5ParserFallback(tls *libc.TLS, iToken int32) int32 { /* sqlite3.c // // #include "fts5Int.h" -// DO NOT EDIT THIS FILE. +// $NetBSD: math.h,v 1.65 2018/06/24 23:55:29 christos Exp $ + +// ==================================================== +// Copyright (C) 1993 by Sun Microsystems, Inc. All rights reserved. // -// It has been auto-edited by fixincludes from: -// -// "/usr/include/math.h" -// -// This had to be done to correct non-standard usages in the -// original, manufacturer supplied header file. +// Developed at SunPro, a Sun Microsystems, Inc. business. +// Permission to use, copy, modify, and distribute this +// software is freely granted, provided that this notice +// is preserved. +// ==================================================== + +// @(#)fdlibm.h 5.1 93/09/24 // Object used to iterate through all "coalesced phrase instances" in // a single column of the current row. If the phrase instances in the @@ -170662,14 +172127,14 @@ func sqlite3Fts5ParserFallback(tls *libc.TLS, iToken int32) int32 { /* sqlite3.c // } // type CInstIter1 = struct { - FpApi uintptr - FpFts uintptr - FiCol int32 - FiInst int32 - FnInst int32 - FiStart int32 - FiEnd int32 - _ [4]byte + FpApi uintptr + FpFts uintptr + FiCol int32 + FiInst int32 + FnInst int32 + FiStart int32 + FiEnd int32 + F__ccgo_pad1 [4]byte } /* sqlite3.c:215383:9 */ // 2014 May 31 @@ -170684,14 +172149,18 @@ type CInstIter1 = struct { // // #include "fts5Int.h" -// DO NOT EDIT THIS FILE. +// $NetBSD: math.h,v 1.65 2018/06/24 23:55:29 christos Exp $ + +// ==================================================== +// Copyright (C) 1993 by Sun Microsystems, Inc. All rights reserved. // -// It has been auto-edited by fixincludes from: -// -// "/usr/include/math.h" -// -// This had to be done to correct non-standard usages in the -// original, manufacturer supplied header file. +// Developed at SunPro, a Sun Microsystems, Inc. business. +// Permission to use, copy, modify, and distribute this +// software is freely granted, provided that this notice +// is preserved. +// ==================================================== + +// @(#)fdlibm.h 5.1 93/09/24 // Object used to iterate through all "coalesced phrase instances" in // a single column of the current row. If the phrase instances in the @@ -170729,10 +172198,14 @@ func fts5CInstIterNext(tls *libc.TLS, pIter uintptr) int32 { /* sqlite3.c:215400 // var io int32 at bp+8, 4 - rc = (*(*func(*libc.TLS, uintptr, int32, uintptr, uintptr, uintptr) int32)(unsafe.Pointer(((*CInstIter)(unsafe.Pointer(pIter)).FpApi + 72 /* &.xInst */))))(tls, (*CInstIter)(unsafe.Pointer(pIter)).FpFts, (*CInstIter)(unsafe.Pointer(pIter)).FiInst, bp /* &ip */, bp+4 /* &ic */, bp+8 /* &io */) + rc = (*struct { + f func(*libc.TLS, uintptr, int32, uintptr, uintptr, uintptr) int32 + })(unsafe.Pointer(&struct{ uintptr }{(*Fts5ExtensionApi)(unsafe.Pointer((*CInstIter)(unsafe.Pointer(pIter)).FpApi)).FxInst})).f(tls, (*CInstIter)(unsafe.Pointer(pIter)).FpFts, (*CInstIter)(unsafe.Pointer(pIter)).FiInst, bp /* &ip */, bp+4 /* &ic */, bp+8 /* &io */) if rc == SQLITE_OK { if *(*int32)(unsafe.Pointer(bp + 4 /* ic */)) == (*CInstIter)(unsafe.Pointer(pIter)).FiCol { - var iEnd int32 = ((*(*int32)(unsafe.Pointer(bp + 8 /* io */)) - 1) + (*(*func(*libc.TLS, uintptr, int32) int32)(unsafe.Pointer(((*CInstIter)(unsafe.Pointer(pIter)).FpApi + 56 /* &.xPhraseSize */))))(tls, (*CInstIter)(unsafe.Pointer(pIter)).FpFts, *(*int32)(unsafe.Pointer(bp /* ip */)))) + var iEnd int32 = ((*(*int32)(unsafe.Pointer(bp + 8 /* io */)) - 1) + (*struct { + f func(*libc.TLS, uintptr, int32) int32 + })(unsafe.Pointer(&struct{ uintptr }{(*Fts5ExtensionApi)(unsafe.Pointer((*CInstIter)(unsafe.Pointer(pIter)).FpApi)).FxPhraseSize})).f(tls, (*CInstIter)(unsafe.Pointer(pIter)).FpFts, *(*int32)(unsafe.Pointer(bp /* ip */)))) if (*CInstIter)(unsafe.Pointer(pIter)).FiStart < 0 { (*CInstIter)(unsafe.Pointer(pIter)).FiStart = *(*int32)(unsafe.Pointer(bp + 8 /* io */)) (*CInstIter)(unsafe.Pointer(pIter)).FiEnd = iEnd @@ -170760,7 +172233,9 @@ func fts5CInstIterInit(tls *libc.TLS, pApi uintptr, pFts uintptr, iCol int32, pI (*CInstIter)(unsafe.Pointer(pIter)).FpApi = pApi (*CInstIter)(unsafe.Pointer(pIter)).FpFts = pFts (*CInstIter)(unsafe.Pointer(pIter)).FiCol = iCol - rc = (*(*func(*libc.TLS, uintptr, uintptr) int32)(unsafe.Pointer((pApi + 64 /* &.xInstCount */))))(tls, pFts, (pIter + 24 /* &.nInst */)) + rc = (*struct { + f func(*libc.TLS, uintptr, uintptr) int32 + })(unsafe.Pointer(&struct{ uintptr }{(*Fts5ExtensionApi)(unsafe.Pointer(pApi)).FxInstCount})).f(tls, pFts, (pIter + 24 /* &.nInst */)) if rc == SQLITE_OK { rc = fts5CInstIterNext(tls, pIter) @@ -170777,7 +172252,7 @@ type HighlightContext1 = struct { FiPos int32 FiRangeStart int32 FiRangeEnd int32 - _ [4]byte + F__ccgo_pad1 [4]byte FzOpen uintptr FzClose uintptr FzIn uintptr @@ -170806,7 +172281,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+31942 /* "%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 } @@ -170880,7 +172355,7 @@ func fts5HighlightFunction(tls *libc.TLS, pApi uintptr, pFts uintptr, pCtx uintp var iCol int32 if nVal != 3 { - var zErr uintptr = ts + 31949 /* "wrong number of ..." */ + var zErr uintptr = ts + 31948 /* "wrong number of ..." */ Xsqlite3_result_error(tls, pCtx, zErr, -1) return } @@ -170889,7 +172364,9 @@ func fts5HighlightFunction(tls *libc.TLS, pApi uintptr, pFts uintptr, pCtx uintp libc.Xmemset(tls, bp /* &ctx */, 0, uint64(unsafe.Sizeof(HighlightContext{}))) (*HighlightContext)(unsafe.Pointer(bp /* &ctx */)).FzOpen = Xsqlite3_value_text(tls, *(*uintptr)(unsafe.Pointer(apVal + 1*8))) (*HighlightContext)(unsafe.Pointer(bp /* &ctx */)).FzClose = Xsqlite3_value_text(tls, *(*uintptr)(unsafe.Pointer(apVal + 2*8))) - *(*int32)(unsafe.Pointer(bp + 96 /* rc */)) = (*(*func(*libc.TLS, uintptr, int32, uintptr, uintptr) int32)(unsafe.Pointer((pApi + 88 /* &.xColumnText */))))(tls, pFts, iCol, (bp /* &ctx */ + 72 /* &.zIn */), (bp /* &ctx */ + 80 /* &.nIn */)) + *(*int32)(unsafe.Pointer(bp + 96 /* rc */)) = (*struct { + f func(*libc.TLS, uintptr, int32, uintptr, uintptr) int32 + })(unsafe.Pointer(&struct{ uintptr }{(*Fts5ExtensionApi)(unsafe.Pointer(pApi)).FxColumnText})).f(tls, pFts, iCol, (bp /* &ctx */ + 72 /* &.zIn */), (bp /* &ctx */ + 80 /* &.nIn */)) if (*HighlightContext)(unsafe.Pointer(bp /* &ctx */)).FzIn != 0 { if *(*int32)(unsafe.Pointer(bp + 96 /* rc */)) == SQLITE_OK { @@ -170897,7 +172374,9 @@ func fts5HighlightFunction(tls *libc.TLS, pApi uintptr, pFts uintptr, pCtx uintp } if *(*int32)(unsafe.Pointer(bp + 96 /* rc */)) == SQLITE_OK { - *(*int32)(unsafe.Pointer(bp + 96 /* rc */)) = (*(*func(*libc.TLS, uintptr, uintptr, int32, uintptr, uintptr) int32)(unsafe.Pointer((pApi + 40 /* &.xTokenize */))))(tls, pFts, (*HighlightContext)(unsafe.Pointer(bp /* &ctx */)).FzIn, (*HighlightContext)(unsafe.Pointer(bp /* &ctx */)).FnIn, bp /* &ctx */, *(*uintptr)(unsafe.Pointer(&struct { + *(*int32)(unsafe.Pointer(bp + 96 /* rc */)) = (*struct { + f func(*libc.TLS, uintptr, uintptr, int32, uintptr, uintptr) int32 + })(unsafe.Pointer(&struct{ uintptr }{(*Fts5ExtensionApi)(unsafe.Pointer(pApi)).FxTokenize})).f(tls, pFts, (*HighlightContext)(unsafe.Pointer(bp /* &ctx */)).FzIn, (*HighlightContext)(unsafe.Pointer(bp /* &ctx */)).FnIn, bp /* &ctx */, *(*uintptr)(unsafe.Pointer(&struct { f func(*libc.TLS, uintptr, int32, uintptr, int32, int32, int32) int32 }{fts5HighlightCb}))) } @@ -170922,7 +172401,7 @@ type Fts5SFinder1 = struct { FiPos int32 FnFirstAlloc int32 FnFirst int32 - _ [4]byte + F__ccgo_pad1 [4]byte FaFirst uintptr FzDoc uintptr } /* sqlite3.c:215598:9 */ @@ -171006,9 +172485,13 @@ func fts5SnippetScore(tls *libc.TLS, pApi uintptr, pFts uintptr, nDocsize int32, var iLast int32 = 0 var iEnd Sqlite3_int64 = (Sqlite3_int64(iPos) + Sqlite3_int64(nToken)) - rc = (*(*func(*libc.TLS, uintptr, uintptr) int32)(unsafe.Pointer((pApi + 64 /* &.xInstCount */))))(tls, pFts, bp /* &nInst */) + rc = (*struct { + f func(*libc.TLS, uintptr, uintptr) int32 + })(unsafe.Pointer(&struct{ uintptr }{(*Fts5ExtensionApi)(unsafe.Pointer(pApi)).FxInstCount})).f(tls, pFts, bp /* &nInst */) for i = 0; (i < *(*int32)(unsafe.Pointer(bp /* nInst */))) && (rc == SQLITE_OK); i++ { - rc = (*(*func(*libc.TLS, uintptr, int32, uintptr, uintptr, uintptr) int32)(unsafe.Pointer((pApi + 72 /* &.xInst */))))(tls, pFts, i, bp+4 /* &ip */, bp+8 /* &ic */, bp+12 /* &iOff */) + rc = (*struct { + f func(*libc.TLS, uintptr, int32, uintptr, uintptr, uintptr) int32 + })(unsafe.Pointer(&struct{ uintptr }{(*Fts5ExtensionApi)(unsafe.Pointer(pApi)).FxInst})).f(tls, pFts, i, bp+4 /* &ip */, bp+8 /* &ic */, bp+12 /* &iOff */) if (((rc == SQLITE_OK) && (*(*int32)(unsafe.Pointer(bp + 8 /* ic */)) == iCol)) && (*(*int32)(unsafe.Pointer(bp + 12 /* iOff */)) >= iPos)) && (Sqlite3_int64(*(*int32)(unsafe.Pointer(bp + 12 /* iOff */))) < iEnd) { nScore = nScore + (func() int32 { if *(*uint8)(unsafe.Pointer(aSeen + uintptr(*(*int32)(unsafe.Pointer(bp + 4 /* ip */))))) != 0 { @@ -171020,7 +172503,9 @@ func fts5SnippetScore(tls *libc.TLS, pApi uintptr, pFts uintptr, nDocsize int32, if iFirst < 0 { iFirst = *(*int32)(unsafe.Pointer(bp + 12 /* iOff */)) } - iLast = (*(*int32)(unsafe.Pointer(bp + 12 /* iOff */)) + (*(*func(*libc.TLS, uintptr, int32) int32)(unsafe.Pointer((pApi + 56 /* &.xPhraseSize */))))(tls, pFts, *(*int32)(unsafe.Pointer(bp + 4 /* ip */)))) + iLast = (*(*int32)(unsafe.Pointer(bp + 12 /* iOff */)) + (*struct { + f func(*libc.TLS, uintptr, int32) int32 + })(unsafe.Pointer(&struct{ uintptr }{(*Fts5ExtensionApi)(unsafe.Pointer(pApi)).FxPhraseSize})).f(tls, pFts, *(*int32)(unsafe.Pointer(bp + 4 /* ip */)))) } } @@ -171047,7 +172532,7 @@ func fts5ValueToText(tls *libc.TLS, pVal uintptr) uintptr { /* sqlite3.c:215713: if zRet != 0 { return zRet } - return ts + 756 /* "" */ + return ts + 755 /* "" */ } // Implementation of snippet() function. @@ -171074,12 +172559,14 @@ func fts5SnippetFunction(tls *libc.TLS, pApi uintptr, pFts uintptr, pCtx uintptr var nCol int32 if nVal != 5 { - var zErr uintptr = ts + 31999 /* "wrong number of ..." */ + var zErr uintptr = ts + 31998 /* "wrong number of ..." */ Xsqlite3_result_error(tls, pCtx, zErr, -1) return } - nCol = (*(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer((pApi + 16 /* &.xColumnCount */))))(tls, pFts) + nCol = (*struct { + f func(*libc.TLS, uintptr) int32 + })(unsafe.Pointer(&struct{ uintptr }{(*Fts5ExtensionApi)(unsafe.Pointer(pApi)).FxColumnCount})).f(tls, pFts) libc.Xmemset(tls, bp /* &ctx */, 0, uint64(unsafe.Sizeof(HighlightContext{}))) iCol = Xsqlite3_value_int(tls, *(*uintptr)(unsafe.Pointer(apVal))) (*HighlightContext)(unsafe.Pointer(bp /* &ctx */)).FzOpen = fts5ValueToText(tls, *(*uintptr)(unsafe.Pointer(apVal + 1*8))) @@ -171093,13 +172580,17 @@ func fts5SnippetFunction(tls *libc.TLS, pApi uintptr, pFts uintptr, pCtx uintptr } return 0 }() - nPhrase = (*(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer((pApi + 48 /* &.xPhraseCount */))))(tls, pFts) + nPhrase = (*struct { + f func(*libc.TLS, uintptr) int32 + })(unsafe.Pointer(&struct{ uintptr }{(*Fts5ExtensionApi)(unsafe.Pointer(pApi)).FxPhraseCount})).f(tls, pFts) aSeen = Xsqlite3_malloc(tls, nPhrase) if aSeen == uintptr(0) { *(*int32)(unsafe.Pointer(bp + 168 /* rc */)) = SQLITE_NOMEM } if *(*int32)(unsafe.Pointer(bp + 168 /* rc */)) == SQLITE_OK { - *(*int32)(unsafe.Pointer(bp + 168 /* rc */)) = (*(*func(*libc.TLS, uintptr, uintptr) int32)(unsafe.Pointer((pApi + 64 /* &.xInstCount */))))(tls, pFts, bp+96 /* &nInst */) + *(*int32)(unsafe.Pointer(bp + 168 /* rc */)) = (*struct { + f func(*libc.TLS, uintptr, uintptr) int32 + })(unsafe.Pointer(&struct{ uintptr }{(*Fts5ExtensionApi)(unsafe.Pointer(pApi)).FxInstCount})).f(tls, pFts, bp+96 /* &nInst */) } libc.Xmemset(tls, bp+104 /* &sFinder */, 0, uint64(unsafe.Sizeof(Fts5SFinder{}))) @@ -171112,18 +172603,24 @@ func fts5SnippetFunction(tls *libc.TLS, pApi uintptr, pFts uintptr, pCtx uintptr var ii int32 (*Fts5SFinder)(unsafe.Pointer(bp + 104 /* &sFinder */)).FiPos = 0 (*Fts5SFinder)(unsafe.Pointer(bp + 104 /* &sFinder */)).FnFirst = 0 - *(*int32)(unsafe.Pointer(bp + 168 /* rc */)) = (*(*func(*libc.TLS, uintptr, int32, uintptr, uintptr) int32)(unsafe.Pointer((pApi + 88 /* &.xColumnText */))))(tls, pFts, i, (bp + 104 /* &sFinder */ + 24 /* &.zDoc */), bp+136 /* &nDoc */) + *(*int32)(unsafe.Pointer(bp + 168 /* rc */)) = (*struct { + f func(*libc.TLS, uintptr, int32, uintptr, uintptr) int32 + })(unsafe.Pointer(&struct{ uintptr }{(*Fts5ExtensionApi)(unsafe.Pointer(pApi)).FxColumnText})).f(tls, pFts, i, (bp + 104 /* &sFinder */ + 24 /* &.zDoc */), bp+136 /* &nDoc */) if *(*int32)(unsafe.Pointer(bp + 168 /* rc */)) != SQLITE_OK { break } - *(*int32)(unsafe.Pointer(bp + 168 /* rc */)) = (*(*func(*libc.TLS, uintptr, uintptr, int32, uintptr, uintptr) int32)(unsafe.Pointer((pApi + 40 /* &.xTokenize */))))(tls, pFts, + *(*int32)(unsafe.Pointer(bp + 168 /* rc */)) = (*struct { + f func(*libc.TLS, uintptr, uintptr, int32, uintptr, uintptr) int32 + })(unsafe.Pointer(&struct{ uintptr }{(*Fts5ExtensionApi)(unsafe.Pointer(pApi)).FxTokenize})).f(tls, pFts, (*Fts5SFinder)(unsafe.Pointer(bp+104 /* &sFinder */)).FzDoc, *(*int32)(unsafe.Pointer(bp + 136 /* nDoc */)), bp+104 /* &sFinder */, *(*uintptr)(unsafe.Pointer(&struct { f func(*libc.TLS, uintptr, int32, uintptr, int32, int32, int32) int32 }{fts5SentenceFinderCb}))) if *(*int32)(unsafe.Pointer(bp + 168 /* rc */)) != SQLITE_OK { break } - *(*int32)(unsafe.Pointer(bp + 168 /* rc */)) = (*(*func(*libc.TLS, uintptr, int32, uintptr) int32)(unsafe.Pointer((pApi + 96 /* &.xColumnSize */))))(tls, pFts, i, bp+140 /* &nDocsize */) + *(*int32)(unsafe.Pointer(bp + 168 /* rc */)) = (*struct { + f func(*libc.TLS, uintptr, int32, uintptr) int32 + })(unsafe.Pointer(&struct{ uintptr }{(*Fts5ExtensionApi)(unsafe.Pointer(pApi)).FxColumnSize})).f(tls, pFts, i, bp+140 /* &nDocsize */) if *(*int32)(unsafe.Pointer(bp + 168 /* rc */)) != SQLITE_OK { break } @@ -171141,7 +172638,9 @@ func fts5SnippetFunction(tls *libc.TLS, pApi uintptr, pFts uintptr, pCtx uintptr var jj int32 - *(*int32)(unsafe.Pointer(bp + 168 /* rc */)) = (*(*func(*libc.TLS, uintptr, int32, uintptr, uintptr, uintptr) int32)(unsafe.Pointer((pApi + 72 /* &.xInst */))))(tls, pFts, ii, bp+144 /* &ip */, bp+148 /* &ic */, bp+152 /* &io */) + *(*int32)(unsafe.Pointer(bp + 168 /* rc */)) = (*struct { + f func(*libc.TLS, uintptr, int32, uintptr, uintptr, uintptr) int32 + })(unsafe.Pointer(&struct{ uintptr }{(*Fts5ExtensionApi)(unsafe.Pointer(pApi)).FxInst})).f(tls, pFts, ii, bp+144 /* &ip */, bp+148 /* &ic */, bp+152 /* &io */) if *(*int32)(unsafe.Pointer(bp + 148 /* ic */)) != i { continue } @@ -171192,10 +172691,14 @@ func fts5SnippetFunction(tls *libc.TLS, pApi uintptr, pFts uintptr, pCtx uintptr } if *(*int32)(unsafe.Pointer(bp + 168 /* rc */)) == SQLITE_OK { - *(*int32)(unsafe.Pointer(bp + 168 /* rc */)) = (*(*func(*libc.TLS, uintptr, int32, uintptr, uintptr) int32)(unsafe.Pointer((pApi + 88 /* &.xColumnText */))))(tls, pFts, iBestCol, (bp /* &ctx */ + 72 /* &.zIn */), (bp /* &ctx */ + 80 /* &.nIn */)) + *(*int32)(unsafe.Pointer(bp + 168 /* rc */)) = (*struct { + f func(*libc.TLS, uintptr, int32, uintptr, uintptr) int32 + })(unsafe.Pointer(&struct{ uintptr }{(*Fts5ExtensionApi)(unsafe.Pointer(pApi)).FxColumnText})).f(tls, pFts, iBestCol, (bp /* &ctx */ + 72 /* &.zIn */), (bp /* &ctx */ + 80 /* &.nIn */)) } if (*(*int32)(unsafe.Pointer(bp + 168 /* rc */)) == SQLITE_OK) && (*(*int32)(unsafe.Pointer(bp + 164 /* nColSize */)) == 0) { - *(*int32)(unsafe.Pointer(bp + 168 /* rc */)) = (*(*func(*libc.TLS, uintptr, int32, uintptr) int32)(unsafe.Pointer((pApi + 96 /* &.xColumnSize */))))(tls, pFts, iBestCol, bp+164 /* &nColSize */) + *(*int32)(unsafe.Pointer(bp + 168 /* rc */)) = (*struct { + f func(*libc.TLS, uintptr, int32, uintptr) int32 + })(unsafe.Pointer(&struct{ uintptr }{(*Fts5ExtensionApi)(unsafe.Pointer(pApi)).FxColumnSize})).f(tls, pFts, iBestCol, bp+164 /* &nColSize */) } if (*HighlightContext)(unsafe.Pointer(bp /* &ctx */)).FzIn != 0 { if *(*int32)(unsafe.Pointer(bp + 168 /* rc */)) == SQLITE_OK { @@ -171216,7 +172719,9 @@ func fts5SnippetFunction(tls *libc.TLS, pApi uintptr, pFts uintptr, pCtx uintptr } if *(*int32)(unsafe.Pointer(bp + 168 /* rc */)) == SQLITE_OK { - *(*int32)(unsafe.Pointer(bp + 168 /* rc */)) = (*(*func(*libc.TLS, uintptr, uintptr, int32, uintptr, uintptr) int32)(unsafe.Pointer((pApi + 40 /* &.xTokenize */))))(tls, pFts, (*HighlightContext)(unsafe.Pointer(bp /* &ctx */)).FzIn, (*HighlightContext)(unsafe.Pointer(bp /* &ctx */)).FnIn, bp /* &ctx */, *(*uintptr)(unsafe.Pointer(&struct { + *(*int32)(unsafe.Pointer(bp + 168 /* rc */)) = (*struct { + f func(*libc.TLS, uintptr, uintptr, int32, uintptr, uintptr) int32 + })(unsafe.Pointer(&struct{ uintptr }{(*Fts5ExtensionApi)(unsafe.Pointer(pApi)).FxTokenize})).f(tls, pFts, (*HighlightContext)(unsafe.Pointer(bp /* &ctx */)).FzIn, (*HighlightContext)(unsafe.Pointer(bp /* &ctx */)).FnIn, bp /* &ctx */, *(*uintptr)(unsafe.Pointer(&struct { f func(*libc.TLS, uintptr, int32, uintptr, int32, int32, int32) int32 }{fts5HighlightCb}))) } @@ -171241,11 +172746,11 @@ func fts5SnippetFunction(tls *libc.TLS, pApi uintptr, pFts uintptr, pCtx uintptr // The first time the bm25() function is called for a query, an instance // of the following structure is allocated and populated. type Fts5Bm25Data1 = struct { - FnPhrase int32 - _ [4]byte - Favgdl float64 - FaIDF uintptr - FaFreq uintptr + FnPhrase int32 + F__ccgo_pad1 [4]byte + Favgdl float64 + FaIDF uintptr + FaFreq uintptr } /* sqlite3.c:215879:9 */ //********************************************************************** @@ -171274,7 +172779,9 @@ func fts5Bm25GetData(tls *libc.TLS, pApi uintptr, pFts uintptr, ppData uintptr) var rc int32 = SQLITE_OK // Return code var p uintptr // Object to return - p = (*(*func(*libc.TLS, uintptr, int32) uintptr)(unsafe.Pointer((pApi + 120 /* &.xGetAuxdata */))))(tls, pFts, 0) + p = (*struct { + f func(*libc.TLS, uintptr, int32) uintptr + })(unsafe.Pointer(&struct{ uintptr }{(*Fts5ExtensionApi)(unsafe.Pointer(pApi)).FxGetAuxdata})).f(tls, pFts, 0) if p == uintptr(0) { var nPhrase int32 // Number of phrases in query *(*Sqlite3_int64)(unsafe.Pointer(bp /* nRow */)) = int64(0) // Number of rows in table @@ -171283,7 +172790,9 @@ func fts5Bm25GetData(tls *libc.TLS, pApi uintptr, pFts uintptr, ppData uintptr) var i int32 // Allocate the Fts5Bm25Data object - nPhrase = (*(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer((pApi + 48 /* &.xPhraseCount */))))(tls, pFts) + nPhrase = (*struct { + f func(*libc.TLS, uintptr) int32 + })(unsafe.Pointer(&struct{ uintptr }{(*Fts5ExtensionApi)(unsafe.Pointer(pApi)).FxPhraseCount})).f(tls, pFts) nByte = (Sqlite3_int64(uint64(unsafe.Sizeof(Fts5Bm25Data{})) + ((uint64(nPhrase * 2)) * uint64(unsafe.Sizeof(float64(0)))))) p = Xsqlite3_malloc64(tls, uint64(nByte)) if p == uintptr(0) { @@ -171297,11 +172806,15 @@ func fts5Bm25GetData(tls *libc.TLS, pApi uintptr, pFts uintptr, ppData uintptr) // Calculate the average document length for this FTS5 table if rc == SQLITE_OK { - rc = (*(*func(*libc.TLS, uintptr, uintptr) int32)(unsafe.Pointer((pApi + 24 /* &.xRowCount */))))(tls, pFts, bp /* &nRow */) + rc = (*struct { + f func(*libc.TLS, uintptr, uintptr) int32 + })(unsafe.Pointer(&struct{ uintptr }{(*Fts5ExtensionApi)(unsafe.Pointer(pApi)).FxRowCount})).f(tls, pFts, bp /* &nRow */) } if rc == SQLITE_OK { - rc = (*(*func(*libc.TLS, uintptr, int32, uintptr) int32)(unsafe.Pointer((pApi + 32 /* &.xColumnTotalSize */))))(tls, pFts, -1, bp+8 /* &nToken */) + rc = (*struct { + f func(*libc.TLS, uintptr, int32, uintptr) int32 + })(unsafe.Pointer(&struct{ uintptr }{(*Fts5ExtensionApi)(unsafe.Pointer(pApi)).FxColumnTotalSize})).f(tls, pFts, -1, bp+8 /* &nToken */) } if rc == SQLITE_OK { (*Fts5Bm25Data)(unsafe.Pointer(p)).Favgdl = (float64(*(*Sqlite3_int64)(unsafe.Pointer(bp + 8 /* nToken */))) / float64(*(*Sqlite3_int64)(unsafe.Pointer(bp /* nRow */)))) @@ -171310,7 +172823,9 @@ func fts5Bm25GetData(tls *libc.TLS, pApi uintptr, pFts uintptr, ppData uintptr) // Calculate an IDF for each phrase in the query for i = 0; (rc == SQLITE_OK) && (i < nPhrase); i++ { *(*Sqlite3_int64)(unsafe.Pointer(bp + 16 /* nHit */)) = int64(0) - rc = (*(*func(*libc.TLS, uintptr, int32, uintptr, uintptr) int32)(unsafe.Pointer((pApi + 104 /* &.xQueryPhrase */))))(tls, pFts, i, bp+16 /* &nHit */, *(*uintptr)(unsafe.Pointer(&struct { + rc = (*struct { + f func(*libc.TLS, uintptr, int32, uintptr, uintptr) int32 + })(unsafe.Pointer(&struct{ uintptr }{(*Fts5ExtensionApi)(unsafe.Pointer(pApi)).FxQueryPhrase})).f(tls, pFts, i, bp+16 /* &nHit */, *(*uintptr)(unsafe.Pointer(&struct { f func(*libc.TLS, uintptr, uintptr, uintptr) int32 }{fts5CountCb}))) if rc == SQLITE_OK { @@ -171338,7 +172853,9 @@ func fts5Bm25GetData(tls *libc.TLS, pApi uintptr, pFts uintptr, ppData uintptr) if rc != SQLITE_OK { Xsqlite3_free(tls, p) } else { - rc = (*(*func(*libc.TLS, uintptr, uintptr, uintptr) int32)(unsafe.Pointer((pApi + 112 /* &.xSetAuxdata */))))(tls, pFts, p, *(*uintptr)(unsafe.Pointer(&struct{ f func(*libc.TLS, uintptr) }{Xsqlite3_free}))) + rc = (*struct { + f func(*libc.TLS, uintptr, uintptr, uintptr) int32 + })(unsafe.Pointer(&struct{ uintptr }{(*Fts5ExtensionApi)(unsafe.Pointer(pApi)).FxSetAuxdata})).f(tls, pFts, p, *(*uintptr)(unsafe.Pointer(&struct{ f func(*libc.TLS, uintptr) }{Xsqlite3_free}))) } if rc != SQLITE_OK { p = uintptr(0) @@ -171370,7 +172887,9 @@ func fts5Bm25Function(tls *libc.TLS, pApi uintptr, pFts uintptr, pCtx uintptr, n if rc == SQLITE_OK { aFreq = (*Fts5Bm25Data)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp /* pData */)))).FaFreq libc.Xmemset(tls, aFreq, 0, (uint64(unsafe.Sizeof(float64(0))) * uint64((*Fts5Bm25Data)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp /* pData */)))).FnPhrase))) - rc = (*(*func(*libc.TLS, uintptr, uintptr) int32)(unsafe.Pointer((pApi + 64 /* &.xInstCount */))))(tls, pFts, bp+8 /* &nInst */) + rc = (*struct { + f func(*libc.TLS, uintptr, uintptr) int32 + })(unsafe.Pointer(&struct{ uintptr }{(*Fts5ExtensionApi)(unsafe.Pointer(pApi)).FxInstCount})).f(tls, pFts, bp+8 /* &nInst */) } for i = 0; (rc == SQLITE_OK) && (i < *(*int32)(unsafe.Pointer(bp + 8 /* nInst */))); i++ { // var ip int32 at bp+12, 4 @@ -171379,7 +172898,9 @@ func fts5Bm25Function(tls *libc.TLS, pApi uintptr, pFts uintptr, pCtx uintptr, n // var io int32 at bp+20, 4 - rc = (*(*func(*libc.TLS, uintptr, int32, uintptr, uintptr, uintptr) int32)(unsafe.Pointer((pApi + 72 /* &.xInst */))))(tls, pFts, i, bp+12 /* &ip */, bp+16 /* &ic */, bp+20 /* &io */) + rc = (*struct { + f func(*libc.TLS, uintptr, int32, uintptr, uintptr, uintptr) int32 + })(unsafe.Pointer(&struct{ uintptr }{(*Fts5ExtensionApi)(unsafe.Pointer(pApi)).FxInst})).f(tls, pFts, i, bp+12 /* &ip */, bp+16 /* &ic */, bp+20 /* &io */) if rc == SQLITE_OK { var w float64 if nVal > *(*int32)(unsafe.Pointer(bp + 16 /* ic */)) { @@ -171395,7 +172916,9 @@ func fts5Bm25Function(tls *libc.TLS, pApi uintptr, pFts uintptr, pCtx uintptr, n if rc == SQLITE_OK { // var nTok int32 at bp+24, 4 - rc = (*(*func(*libc.TLS, uintptr, int32, uintptr) int32)(unsafe.Pointer((pApi + 96 /* &.xColumnSize */))))(tls, pFts, -1, bp+24 /* &nTok */) + rc = (*struct { + f func(*libc.TLS, uintptr, int32, uintptr) int32 + })(unsafe.Pointer(&struct{ uintptr }{(*Fts5ExtensionApi)(unsafe.Pointer(pApi)).FxColumnSize})).f(tls, pFts, -1, bp+24 /* &nTok */) D = float64(*(*int32)(unsafe.Pointer(bp + 24 /* nTok */))) } @@ -171416,13 +172939,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 + 32047 /* "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 + 32055 /* "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 + 32065 /* "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}))}, } @@ -171430,7 +172953,9 @@ func sqlite3Fts5AuxInit(tls *libc.TLS, pApi uintptr) int32 { /* sqlite3.c:216036 var i int32 // To iterate through builtin functions for i = 0; (rc == SQLITE_OK) && (i < (int32(uint64(unsafe.Sizeof([3]Builtin{})) / uint64(unsafe.Sizeof(Builtin{}))))); i++ { - rc = (*(*func(*libc.TLS, uintptr, uintptr, uintptr, Fts5_extension_function, uintptr) int32)(unsafe.Pointer((pApi + 24 /* &.xCreateFunction */))))(tls, pApi, + rc = (*struct { + f func(*libc.TLS, uintptr, uintptr, uintptr, Fts5_extension_function, uintptr) int32 + })(unsafe.Pointer(&struct{ uintptr }{(*Fts5_api)(unsafe.Pointer(pApi)).FxCreateFunction})).f(tls, pApi, (*Builtin)(unsafe.Pointer(bp /* &aBuiltin */ +uintptr(i)*32)).FzFunc, (*Builtin)(unsafe.Pointer(bp /* &aBuiltin */ +uintptr(i)*32)).FpUserData, (*Builtin)(unsafe.Pointer(bp /* &aBuiltin */ +uintptr(i)*32)).FxFunc, @@ -171548,7 +173073,7 @@ func sqlite3Fts5BufferAppendPrintf(tls *libc.TLS, pRc uintptr, pBuf uintptr, zFm var zTmp uintptr var ap Va_list _ = ap - ap = va + (ap) = va zTmp = Xsqlite3_vmprintf(tls, zFmt, ap) _ = ap @@ -171566,7 +173091,7 @@ func sqlite3Fts5Mprintf(tls *libc.TLS, pRc uintptr, zFmt uintptr, va uintptr) ui if *(*int32)(unsafe.Pointer(pRc)) == SQLITE_OK { var ap Va_list _ = ap - ap = va + (ap) = va zRet = Xsqlite3_vmprintf(tls, zFmt, ap) _ = ap if zRet == uintptr(0) { @@ -171916,7 +173441,7 @@ func fts5ConfigSkipLiteral(tls *libc.TLS, pIn uintptr) uintptr { /* sqlite3.c:21 case 'n': fallthrough case 'N': - if Xsqlite3_strnicmp(tls, ts+5259 /* "null" */, p, 4) == 0 { + if Xsqlite3_strnicmp(tls, ts+5258 /* "null" */, p, 4) == 0 { p = (p + 4) } else { p = uintptr(0) @@ -172054,9 +173579,9 @@ func sqlite3Fts5Dequote(tls *libc.TLS, z uintptr) { /* sqlite3.c:216659:13: */ } type Fts5Enum1 = struct { - FzName uintptr - FeVal int32 - _ [4]byte + FzName uintptr + FeVal int32 + F__ccgo_pad1 [4]byte } /* sqlite3.c:216670:1 */ type Fts5Enum = Fts5Enum1 /* sqlite3.c:216674:25 */ @@ -172095,7 +173620,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+32070 /* "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 @@ -172122,14 +173647,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+32077 /* "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+32108 /* "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 } @@ -172140,7 +173665,7 @@ func fts5ConfigParseSpecial(tls *libc.TLS, pGlobal uintptr, pConfig uintptr, zCm } if (nPre <= 0) || (nPre >= 1000) { - *(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3_mprintf(tls, ts+32141 /* "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 } @@ -172153,7 +173678,7 @@ func fts5ConfigParseSpecial(tls *libc.TLS, pGlobal uintptr, pConfig uintptr, zCm return *(*int32)(unsafe.Pointer(bp + 40 /* rc */)) } - if Xsqlite3_strnicmp(tls, ts+32178 /* "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)))) @@ -172162,7 +173687,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+32187 /* "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++ { @@ -172181,7 +173706,7 @@ func fts5ConfigParseSpecial(tls *libc.TLS, pGlobal uintptr, pConfig uintptr, zCm } } if p == uintptr(0) { - *(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3_mprintf(tls, ts+32220 /* "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, @@ -172196,14 +173721,14 @@ func fts5ConfigParseSpecial(tls *libc.TLS, pGlobal uintptr, pConfig uintptr, zCm return *(*int32)(unsafe.Pointer(bp + 40 /* rc */)) } - if Xsqlite3_strnicmp(tls, ts+32254 /* "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+32262 /* "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+32294 /* "%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 } @@ -172211,9 +173736,9 @@ func fts5ConfigParseSpecial(tls *libc.TLS, pGlobal uintptr, pConfig uintptr, zCm return *(*int32)(unsafe.Pointer(bp + 40 /* rc */)) } - if Xsqlite3_strnicmp(tls, ts+32300 /* "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+32314 /* "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) @@ -172221,9 +173746,9 @@ func fts5ConfigParseSpecial(tls *libc.TLS, pGlobal uintptr, pConfig uintptr, zCm return *(*int32)(unsafe.Pointer(bp + 40 /* rc */)) } - if Xsqlite3_strnicmp(tls, ts+32352 /* "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+32363 /* "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')) @@ -172231,21 +173756,21 @@ func fts5ConfigParseSpecial(tls *libc.TLS, pGlobal uintptr, pConfig uintptr, zCm return *(*int32)(unsafe.Pointer(bp + 40 /* rc */)) } - if Xsqlite3_strnicmp(tls, ts+4190 /* "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 + 15829 /* "none" */, FeVal: FTS5_DETAIL_NONE}, - {FzName: ts + 15834 /* "full" */}, - {FzName: ts + 32398 /* "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+32406 /* "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+32437 /* "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 } @@ -172309,15 +173834,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+20498 /* "rank" */)) || - (0 == Xsqlite3_stricmp(tls, zCol, ts+14758 /* "rowid" */)) { - *(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3_mprintf(tls, ts+32465 /* "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+32495 /* "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+32505 /* "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 } } @@ -172335,13 +173860,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+32536 /* "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+32541 /* ", 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+32548 /* ", 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)) } } } @@ -172389,8 +173914,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+20498 /* "rank" */) == 0) { - *(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3_mprintf(tls, ts+32556 /* "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 } @@ -172423,7 +173948,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+32585 /* "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 { @@ -172431,7 +173956,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 + 756 /* "" */ + 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) @@ -172456,19 +173981,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 + 32254 /* "content" */ + zTail = ts + 32253 /* "content" */ } else if (*Fts5Config)(unsafe.Pointer(pRet)).FbColumnsize != 0 { - zTail = ts + 32605 /* "docsize" */ + zTail = ts + 32604 /* "docsize" */ } if zTail != 0 { (*Fts5Config)(unsafe.Pointer(pRet)).FzContent = sqlite3Fts5Mprintf(tls, - bp+40 /* &rc */, ts+32613 /* "%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+14758 /* "rowid" */, -1) + (*Fts5Config)(unsafe.Pointer(pRet)).FzContentRowid = sqlite3Fts5Strndup(tls, bp+40 /* &rc */, ts+14757 /* "rowid" */, -1) } // Formulate the zContentExprlist text @@ -172488,7 +174013,7 @@ func sqlite3Fts5ConfigFree(tls *libc.TLS, pConfig uintptr) { /* sqlite3.c:217109 if pConfig != 0 { var i int32 if (*Fts5Config)(unsafe.Pointer(pConfig)).FpTok != 0 { - (*(*func(*libc.TLS, uintptr))(unsafe.Pointer(((*Fts5Config)(unsafe.Pointer(pConfig)).FpTokApi + 8 /* &.xDelete */))))(tls, (*Fts5Config)(unsafe.Pointer(pConfig)).FpTok) + (*struct{ f func(*libc.TLS, uintptr) })(unsafe.Pointer(&struct{ uintptr }{(*Fts5_tokenizer)(unsafe.Pointer((*Fts5Config)(unsafe.Pointer(pConfig)).FpTokApi)).FxDelete})).f(tls, (*Fts5Config)(unsafe.Pointer(pConfig)).FpTok) } Xsqlite3_free(tls, (*Fts5Config)(unsafe.Pointer(pConfig)).FzDb) Xsqlite3_free(tls, (*Fts5Config)(unsafe.Pointer(pConfig)).FzName) @@ -172517,18 +174042,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+32624 /* "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 + 756 /* "" */ + return ts + 755 /* "" */ } - return ts + 13325 /* ", " */ + return ts + 13324 /* ", " */ }() - zSql = sqlite3Fts5Mprintf(tls, bp+48 /* &rc */, ts+32640 /* "%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+32647, /* "%z, %Q HIDDEN, %..." */ - libc.VaList(bp+24, zSql, (*Fts5Config)(unsafe.Pointer(pConfig)).FzName, ts+20498 /* "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) @@ -172563,7 +174088,9 @@ func sqlite3Fts5Tokenize(tls *libc.TLS, pConfig uintptr, flags int32, pText uint if pText == uintptr(0) { return SQLITE_OK } - return (*(*func(*libc.TLS, uintptr, uintptr, int32, uintptr, int32, uintptr) int32)(unsafe.Pointer(((*Fts5Config)(unsafe.Pointer(pConfig)).FpTokApi + 16 /* &.xTokenize */))))(tls, + return (*struct { + f func(*libc.TLS, uintptr, uintptr, int32, uintptr, int32, uintptr) int32 + })(unsafe.Pointer(&struct{ uintptr }{(*Fts5_tokenizer)(unsafe.Pointer((*Fts5Config)(unsafe.Pointer(pConfig)).FpTokApi)).FxTokenize})).f(tls, (*Fts5Config)(unsafe.Pointer(pConfig)).FpTok, pCtx, flags, pText, nText, xToken) } @@ -172668,7 +174195,7 @@ func sqlite3Fts5ConfigSetValue(tls *libc.TLS, pConfig uintptr, zKey uintptr, pVa var rc int32 = SQLITE_OK - if 0 == Xsqlite3_stricmp(tls, zKey, ts+32673 /* "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) @@ -172678,7 +174205,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+32678 /* "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) @@ -172688,7 +174215,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+32687 /* "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) @@ -172701,7 +174228,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+32697 /* "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) @@ -172711,7 +174238,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+32707 /* "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) @@ -172727,7 +174254,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+20498 /* "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 @@ -172754,7 +174281,7 @@ func sqlite3Fts5ConfigLoad(tls *libc.TLS, pConfig uintptr, iCookie int32) int32 bp := tls.Alloc(52) defer tls.Free(52) - var zSelect uintptr = ts + 32719 /* "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 @@ -172777,7 +174304,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+32751 /* "version" */) { + if 0 == Xsqlite3_stricmp(tls, zK, ts+32750 /* "version" */) { iVersion = Xsqlite3_value_int(tls, pVal) } else { *(*int32)(unsafe.Pointer(bp + 48 /* bDummy */)) = 0 @@ -172792,7 +174319,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+32759, /* "invalid fts5 fil..." */ + ts+32758, /* "invalid fts5 fil..." */ libc.VaList(bp+16, iVersion, FTS5_CURRENT_VERSION)) } } @@ -172821,12 +174348,12 @@ func sqlite3Fts5ConfigLoad(tls *libc.TLS, pConfig uintptr, iCookie int32) int32 // All token types in the generated fts5parse.h file are greater than 0. type Fts5ExprTerm1 = struct { - FbPrefix U8 - FbFirst U8 - _ [6]byte - FzTerm uintptr - FpIter uintptr - FpSynonym uintptr + FbPrefix U8 + FbFirst U8 + F__ccgo_pad1 [6]byte + FzTerm uintptr + FpIter uintptr + FpSynonym uintptr } /* sqlite3.c:213118:9 */ // 2014 May 31 @@ -172851,7 +174378,7 @@ type Fts5ExprTerm = Fts5ExprTerm1 /* sqlite3.c:217459:29 */ func sqlite3Fts5ParseError(tls *libc.TLS, pParse uintptr, zFmt uintptr, va uintptr) { /* sqlite3.c:217566:13: */ var ap Va_list _ = ap - ap = va + (ap) = va if (*Fts5Parse)(unsafe.Pointer(pParse)).Frc == SQLITE_OK { (*Fts5Parse)(unsafe.Pointer(pParse)).FzErr = Xsqlite3_vmprintf(tls, zFmt, ap) (*Fts5Parse)(unsafe.Pointer(pParse)).Frc = SQLITE_ERROR @@ -172926,7 +174453,7 @@ func fts5ExprGetToken(tls *libc.TLS, pParse uintptr, pz uintptr, pToken uintptr) } } if int32(*(*int8)(unsafe.Pointer(z2))) == 0 { - sqlite3Fts5ParseError(tls, pParse, ts+32824 /* "unterminated str..." */, 0) + sqlite3Fts5ParseError(tls, pParse, ts+32823 /* "unterminated str..." */, 0) return FTS5_EOF } } @@ -172939,20 +174466,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+32844 /* "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+32875 /* "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+32878 /* "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+28286 /* "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 @@ -174272,7 +175799,9 @@ func fts5ExprNodeNext_OR(tls *libc.TLS, pExpr uintptr, pNode uintptr, bFromValid if (*Fts5ExprNode)(unsafe.Pointer(p1)).FbEof == 0 { if ((*Fts5ExprNode)(unsafe.Pointer(p1)).FiRowid == iLast) || ((bFromValid != 0) && (fts5RowidCmp(tls, pExpr, (*Fts5ExprNode)(unsafe.Pointer(p1)).FiRowid, iFrom) < 0)) { - var rc int32 = (*(*func(*libc.TLS, uintptr, uintptr, int32, I64) int32)(unsafe.Pointer((p1 + 16 /* &.xNext */))))(tls, pExpr, p1, bFromValid, iFrom) + var rc int32 = (*struct { + f func(*libc.TLS, uintptr, uintptr, int32, I64) int32 + })(unsafe.Pointer(&struct{ uintptr }{(*Fts5ExprNode)(unsafe.Pointer((p1))).FxNext})).f(tls, pExpr, p1, bFromValid, iFrom) if rc != SQLITE_OK { (*Fts5ExprNode)(unsafe.Pointer(pNode)).FbNomatch = 0 return rc @@ -174300,7 +175829,9 @@ func fts5ExprNodeTest_AND(tls *libc.TLS, pExpr uintptr, pAnd uintptr) int32 { /* var cmp int32 = fts5RowidCmp(tls, pExpr, iLast, (*Fts5ExprNode)(unsafe.Pointer(pChild)).FiRowid) if cmp > 0 { // Advance pChild until it points to iLast or laster - rc = (*(*func(*libc.TLS, uintptr, uintptr, int32, I64) int32)(unsafe.Pointer((pChild + 16 /* &.xNext */))))(tls, pExpr, pChild, 1, iLast) + rc = (*struct { + f func(*libc.TLS, uintptr, uintptr, int32, I64) int32 + })(unsafe.Pointer(&struct{ uintptr }{(*Fts5ExprNode)(unsafe.Pointer((pChild))).FxNext})).f(tls, pExpr, pChild, 1, iLast) if rc != SQLITE_OK { (*Fts5ExprNode)(unsafe.Pointer(pAnd)).FbNomatch = 0 return rc @@ -174335,7 +175866,9 @@ func fts5ExprNodeTest_AND(tls *libc.TLS, pExpr uintptr, pAnd uintptr) int32 { /* } func fts5ExprNodeNext_AND(tls *libc.TLS, pExpr uintptr, pNode uintptr, bFromValid int32, iFrom I64) int32 { /* sqlite3.c:218749:12: */ - var rc int32 = (*(*func(*libc.TLS, uintptr, uintptr, int32, I64) int32)(unsafe.Pointer((*(*uintptr)(unsafe.Pointer((pNode + 48 /* &.apChild */))) + 16 /* &.xNext */))))(tls, pExpr, *(*uintptr)(unsafe.Pointer((pNode + 48 /* &.apChild */))), bFromValid, iFrom) + var rc int32 = (*struct { + f func(*libc.TLS, uintptr, uintptr, int32, I64) int32 + })(unsafe.Pointer(&struct{ uintptr }{(*Fts5ExprNode)(unsafe.Pointer((*(*uintptr)(unsafe.Pointer((pNode + 48 /* &.apChild */)))))).FxNext})).f(tls, pExpr, *(*uintptr)(unsafe.Pointer((pNode + 48 /* &.apChild */))), bFromValid, iFrom) if rc == SQLITE_OK { rc = fts5ExprNodeTest_AND(tls, pExpr, pNode) } else { @@ -174352,14 +175885,18 @@ func fts5ExprNodeTest_NOT(tls *libc.TLS, pExpr uintptr, pNode uintptr) int32 { / for (rc == SQLITE_OK) && ((*Fts5ExprNode)(unsafe.Pointer(p1)).FbEof == 0) { var cmp int32 = fts5NodeCompare(tls, pExpr, p1, p2) if cmp > 0 { - rc = (*(*func(*libc.TLS, uintptr, uintptr, int32, I64) int32)(unsafe.Pointer((p2 + 16 /* &.xNext */))))(tls, pExpr, p2, 1, (*Fts5ExprNode)(unsafe.Pointer(p1)).FiRowid) + rc = (*struct { + f func(*libc.TLS, uintptr, uintptr, int32, I64) int32 + })(unsafe.Pointer(&struct{ uintptr }{(*Fts5ExprNode)(unsafe.Pointer((p2))).FxNext})).f(tls, pExpr, p2, 1, (*Fts5ExprNode)(unsafe.Pointer(p1)).FiRowid) cmp = fts5NodeCompare(tls, pExpr, p1, p2) } if (cmp != 0) || ((*Fts5ExprNode)(unsafe.Pointer(p2)).FbNomatch != 0) { break } - rc = (*(*func(*libc.TLS, uintptr, uintptr, int32, I64) int32)(unsafe.Pointer((p1 + 16 /* &.xNext */))))(tls, pExpr, p1, 0, int64(0)) + rc = (*struct { + f func(*libc.TLS, uintptr, uintptr, int32, I64) int32 + })(unsafe.Pointer(&struct{ uintptr }{(*Fts5ExprNode)(unsafe.Pointer((p1))).FxNext})).f(tls, pExpr, p1, 0, int64(0)) } (*Fts5ExprNode)(unsafe.Pointer(pNode)).FbEof = (*Fts5ExprNode)(unsafe.Pointer(p1)).FbEof (*Fts5ExprNode)(unsafe.Pointer(pNode)).FbNomatch = (*Fts5ExprNode)(unsafe.Pointer(p1)).FbNomatch @@ -174371,7 +175908,9 @@ func fts5ExprNodeTest_NOT(tls *libc.TLS, pExpr uintptr, pNode uintptr) int32 { / } func fts5ExprNodeNext_NOT(tls *libc.TLS, pExpr uintptr, pNode uintptr, bFromValid int32, iFrom I64) int32 { /* sqlite3.c:218792:12: */ - var rc int32 = (*(*func(*libc.TLS, uintptr, uintptr, int32, I64) int32)(unsafe.Pointer((*(*uintptr)(unsafe.Pointer((pNode + 48 /* &.apChild */))) + 16 /* &.xNext */))))(tls, pExpr, *(*uintptr)(unsafe.Pointer((pNode + 48 /* &.apChild */))), bFromValid, iFrom) + var rc int32 = (*struct { + f func(*libc.TLS, uintptr, uintptr, int32, I64) int32 + })(unsafe.Pointer(&struct{ uintptr }{(*Fts5ExprNode)(unsafe.Pointer((*(*uintptr)(unsafe.Pointer((pNode + 48 /* &.apChild */)))))).FxNext})).f(tls, pExpr, *(*uintptr)(unsafe.Pointer((pNode + 48 /* &.apChild */))), bFromValid, iFrom) if rc == SQLITE_OK { rc = fts5ExprNodeTest_NOT(tls, pExpr, pNode) } @@ -174512,13 +176051,17 @@ func sqlite3Fts5ExprFirst(tls *libc.TLS, p uintptr, pIdx uintptr, iFirst I64, bD if ((rc == SQLITE_OK) && (0 == (*Fts5ExprNode)(unsafe.Pointer(pRoot)).FbEof)) && (fts5RowidCmp(tls, p, (*Fts5ExprNode)(unsafe.Pointer(pRoot)).FiRowid, iFirst) < 0) { - rc = (*(*func(*libc.TLS, uintptr, uintptr, int32, I64) int32)(unsafe.Pointer((pRoot + 16 /* &.xNext */))))(tls, p, pRoot, 1, iFirst) + rc = (*struct { + f func(*libc.TLS, uintptr, uintptr, int32, I64) int32 + })(unsafe.Pointer(&struct{ uintptr }{(*Fts5ExprNode)(unsafe.Pointer((pRoot))).FxNext})).f(tls, p, pRoot, 1, iFirst) } // If the iterator is not at a real match, skip forward until it is. for ((*Fts5ExprNode)(unsafe.Pointer(pRoot)).FbNomatch != 0) && (rc == SQLITE_OK) { - rc = (*(*func(*libc.TLS, uintptr, uintptr, int32, I64) int32)(unsafe.Pointer((pRoot + 16 /* &.xNext */))))(tls, p, pRoot, 0, int64(0)) + rc = (*struct { + f func(*libc.TLS, uintptr, uintptr, int32, I64) int32 + })(unsafe.Pointer(&struct{ uintptr }{(*Fts5ExprNode)(unsafe.Pointer((pRoot))).FxNext})).f(tls, p, pRoot, 0, int64(0)) } return rc } @@ -174532,7 +176075,9 @@ func sqlite3Fts5ExprNext(tls *libc.TLS, p uintptr, iLast I64) int32 { /* sqlite3 var pRoot uintptr = (*Fts5Expr)(unsafe.Pointer(p)).FpRoot for ok := true; ok; ok = (*Fts5ExprNode)(unsafe.Pointer(pRoot)).FbNomatch != 0 { - rc = (*(*func(*libc.TLS, uintptr, uintptr, int32, I64) int32)(unsafe.Pointer((pRoot + 16 /* &.xNext */))))(tls, p, pRoot, 0, int64(0)) + rc = (*struct { + f func(*libc.TLS, uintptr, uintptr, int32, I64) int32 + })(unsafe.Pointer(&struct{ uintptr }{(*Fts5ExprNode)(unsafe.Pointer((pRoot))).FxNext})).f(tls, p, pRoot, 0, int64(0)) } if fts5RowidCmp(tls, p, (*Fts5ExprNode)(unsafe.Pointer(pRoot)).FiRowid, iLast) > 0 { @@ -174653,9 +176198,9 @@ func sqlite3Fts5ParseNearset(tls *libc.TLS, pParse uintptr, pNear uintptr, pPhra } type TokenCtx1 = struct { - FpPhrase uintptr - Frc int32 - _ [4]byte + FpPhrase uintptr + Frc int32 + F__ccgo_pad1 [4]byte } /* sqlite3.c:219078:9 */ type TokenCtx = TokenCtx1 /* sqlite3.c:219078:25 */ @@ -174925,9 +176470,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+32882 /* "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+31911 /* "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)) } } @@ -174943,7 +176488,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+32887 /* "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')) @@ -175040,7 +176585,7 @@ func sqlite3Fts5ParseColset(tls *libc.TLS, pParse uintptr, pColset uintptr, p ui } } if iCol == (*Fts5Config)(unsafe.Pointer(pConfig)).FnCol { - sqlite3Fts5ParseError(tls, pParse, ts+18881 /* "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) } @@ -175136,7 +176681,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+32916 /* "fts5: column que..." */, 0) + ts+32915 /* "fts5: column que..." */, 0) } else { fts5ParseSetColset(tls, pParse, pExpr, pColset, bp /* &pFree */) } @@ -175320,12 +176865,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+32969, /* "fts5: %s queries..." */ + ts+32968, /* "fts5: %s queries..." */ libc.VaList(bp, func() uintptr { if (*Fts5ExprNearset)(unsafe.Pointer(pNear)).FnPhrase == 1 { - return ts + 33019 /* "phrase" */ + return ts + 33018 /* "phrase" */ } - return ts + 32882 /* "NEAR" */ + return ts + 32881 /* "NEAR" */ }())) Xsqlite3_free(tls, pRet) pRet = uintptr(0) @@ -176595,7 +178140,7 @@ type Fts5Iter1 = struct { FnSeg int32 FbRev int32 FbSkipEmpty U8 - _ [7]byte + F__ccgo_pad1 [7]byte FiSwitchRowid I64 FaFirst uintptr FaSeg [1]Fts5SegIter @@ -176631,7 +178176,7 @@ type Fts5SegIter1 = struct { FiRowid I64 FnPos int32 FbDel U8 - _ [3]byte + F__ccgo_pad1 [3]byte } /* sqlite3.c:221314:9 */ type Fts5SegIter = Fts5SegIter1 /* sqlite3.c:221316:28 */ @@ -176646,26 +178191,26 @@ type Fts5DoclistIter1 = struct { type Fts5DoclistIter = Fts5DoclistIter1 /* sqlite3.c:221317:32 */ type Fts5SegWriter1 = struct { FiSegid int32 - _ [4]byte + F__ccgo_pad1 [4]byte Fwriter Fts5PageWriter FiPrevRowid I64 FbFirstRowidInDoclist U8 FbFirstRowidInPage U8 FbFirstTermInPage U8 - _ [1]byte + F__ccgo_pad2 [1]byte FnLeafWritten int32 FnEmpty int32 FnDlidx int32 FaDlidx uintptr Fbtterm Fts5Buffer FiBtPage int32 - _ [4]byte + F__ccgo_pad3 [4]byte } /* sqlite3.c:221318:9 */ type Fts5SegWriter = Fts5SegWriter1 /* sqlite3.c:221318:30 */ type Fts5Structure1 = struct { FnRef int32 - _ [4]byte + F__ccgo_pad1 [4]byte FnWriteCounter U64 FnSegment int32 FnLevel int32 @@ -176689,9 +178234,9 @@ type Fts5StructureSegment1 = struct { type Fts5StructureSegment = Fts5StructureSegment1 /* sqlite3.c:221321:37 */ type Fts5CResult1 = struct { - FiFirst U16 - FbTermEq U8 - _ [1]byte + FiFirst U16 + FbTermEq U8 + F__ccgo_pad1 [1]byte } /* sqlite3.c:221314:9 */ type Fts5CResult = Fts5CResult1 /* sqlite3.c:221431:28 */ @@ -176798,7 +178343,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+33026 /* "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 @@ -176886,7 +178431,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+33032, /* "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 @@ -176914,7 +178459,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+33083, /* "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 @@ -176938,7 +178483,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+33132, /* "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 { @@ -177146,7 +178691,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+33172 /* "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) } @@ -178581,7 +180126,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+33195, /* "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 @@ -178847,7 +180392,9 @@ func fts5SegIterNextFrom(tls *libc.TLS, p uintptr, pIter uintptr, iMatch I64) { for ok := true; ok; ok = ((*Fts5Index)(unsafe.Pointer(p)).Frc == SQLITE_OK) { if (bMove != 0) && ((*Fts5Index)(unsafe.Pointer(p)).Frc == SQLITE_OK) { - (*(*func(*libc.TLS, uintptr, uintptr, uintptr))(unsafe.Pointer((pIter + 40 /* &.xNext */))))(tls, p, pIter, uintptr(0)) + (*struct { + f func(*libc.TLS, uintptr, uintptr, uintptr) + })(unsafe.Pointer(&struct{ uintptr }{(*Fts5SegIter)(unsafe.Pointer(pIter)).FxNext})).f(tls, p, pIter, uintptr(0)) } if (*Fts5SegIter)(unsafe.Pointer(pIter)).FpLeaf == uintptr(0) { break @@ -178881,7 +180428,9 @@ func fts5MultiIterAdvanced(tls *libc.TLS, p uintptr, pIter uintptr, iChanged int if libc.AssignInt32(&iEq, fts5MultiIterDoCompare(tls, pIter, i)) != 0 { var pSeg uintptr = ((pIter + 96 /* &.aSeg */) + uintptr(iEq)*120) - (*(*func(*libc.TLS, uintptr, uintptr, uintptr))(unsafe.Pointer((pSeg + 40 /* &.xNext */))))(tls, p, pSeg, uintptr(0)) + (*struct { + f func(*libc.TLS, uintptr, uintptr, uintptr) + })(unsafe.Pointer(&struct{ uintptr }{(*Fts5SegIter)(unsafe.Pointer(pSeg)).FxNext})).f(tls, p, pSeg, uintptr(0)) i = ((*Fts5Iter)(unsafe.Pointer(pIter)).FnSeg + iEq) } } @@ -178960,7 +180509,9 @@ func fts5MultiIterNext(tls *libc.TLS, p uintptr, pIter uintptr, bFrom int32, iFr if (bUseFrom != 0) && ((*Fts5SegIter)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp + 8 /* pSeg */)))).FpDlidx != 0) { fts5SegIterNextFrom(tls, p, *(*uintptr)(unsafe.Pointer(bp + 8 /* pSeg */)), iFrom) } else { - (*(*func(*libc.TLS, uintptr, uintptr, uintptr))(unsafe.Pointer((*(*uintptr)(unsafe.Pointer(bp + 8 /* pSeg */)) + 40 /* &.xNext */))))(tls, p, *(*uintptr)(unsafe.Pointer(bp + 8 /* pSeg */)), bp /* &bNewTerm */) + (*struct { + f func(*libc.TLS, uintptr, uintptr, uintptr) + })(unsafe.Pointer(&struct{ uintptr }{(*Fts5SegIter)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp + 8 /* pSeg */)))).FxNext})).f(tls, p, *(*uintptr)(unsafe.Pointer(bp + 8 /* pSeg */)), bp /* &bNewTerm */) } if (((*Fts5SegIter)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp + 8 /* pSeg */)))).FpLeaf == uintptr(0)) || (*(*int32)(unsafe.Pointer(bp /* bNewTerm */)) != 0)) || @@ -178974,7 +180525,9 @@ func fts5MultiIterNext(tls *libc.TLS, p uintptr, pIter uintptr, bFrom int32, iFr } if (int32((*Fts5Iter)(unsafe.Pointer(pIter)).FbSkipEmpty) == 0) || ((*Fts5SegIter)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp + 8 /* pSeg */)))).FnPos != 0) { - (*(*func(*libc.TLS, uintptr, uintptr))(unsafe.Pointer((pIter + 56 /* &.xSetOutputs */))))(tls, pIter, *(*uintptr)(unsafe.Pointer(bp + 8 /* pSeg */))) + (*struct { + f func(*libc.TLS, uintptr, uintptr) + })(unsafe.Pointer(&struct{ uintptr }{(*Fts5Iter)(unsafe.Pointer(pIter)).FxSetOutputs})).f(tls, pIter, *(*uintptr)(unsafe.Pointer(bp + 8 /* pSeg */))) return } bUseFrom = 0 @@ -178992,7 +180545,9 @@ func fts5MultiIterNext2(tls *libc.TLS, p uintptr, pIter uintptr, pbNewTerm uintp *(*uintptr)(unsafe.Pointer(bp + 8 /* pSeg */)) = ((pIter + 96 /* &.aSeg */) + uintptr(iFirst)*120) *(*int32)(unsafe.Pointer(bp /* bNewTerm */)) = 0 - (*(*func(*libc.TLS, uintptr, uintptr, uintptr))(unsafe.Pointer((*(*uintptr)(unsafe.Pointer(bp + 8 /* pSeg */)) + 40 /* &.xNext */))))(tls, p, *(*uintptr)(unsafe.Pointer(bp + 8 /* pSeg */)), bp /* &bNewTerm */) + (*struct { + f func(*libc.TLS, uintptr, uintptr, uintptr) + })(unsafe.Pointer(&struct{ uintptr }{(*Fts5SegIter)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp + 8 /* pSeg */)))).FxNext})).f(tls, p, *(*uintptr)(unsafe.Pointer(bp + 8 /* pSeg */)), bp /* &bNewTerm */) if (((*Fts5SegIter)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp + 8 /* pSeg */)))).FpLeaf == uintptr(0)) || (*(*int32)(unsafe.Pointer(bp /* bNewTerm */)) != 0)) || (fts5MultiIterAdvanceRowid(tls, pIter, iFirst, bp+8 /* &pSeg */) != 0) { fts5MultiIterAdvanced(tls, p, pIter, iFirst, 1) @@ -179041,10 +180596,10 @@ func fts5PoslistCallback(tls *libc.TLS, pUnused uintptr, pContext uintptr, pChun } type PoslistCallbackCtx1 = struct { - FpBuf uintptr - FpColset uintptr - FeState int32 - _ [4]byte + FpBuf uintptr + FpColset uintptr + FeState int32 + F__ccgo_pad1 [4]byte } /* sqlite3.c:224008:9 */ type PoslistCallbackCtx = PoslistCallbackCtx1 /* sqlite3.c:224008:35 */ @@ -179195,7 +180750,9 @@ func fts5ChunkIterate(tls *libc.TLS, p uintptr, pSeg uintptr, pCtx uintptr, xChu } for 1 != 0 { - (*(*func(*libc.TLS, uintptr, uintptr, uintptr, int32))(unsafe.Pointer(&xChunk)))(tls, p, pCtx, pChunk, nChunk) + (*struct { + f func(*libc.TLS, uintptr, uintptr, uintptr, int32) + })(unsafe.Pointer(&struct{ uintptr }{xChunk})).f(tls, p, pCtx, pChunk, nChunk) nRem = nRem - (nChunk) fts5DataRelease(tls, pData) if nRem <= 0 { @@ -179597,7 +181154,9 @@ func fts5MultiIterNew(tls *libc.TLS, p uintptr, pStruct uintptr, flags int32, pC if libc.AssignInt32(&iEq, fts5MultiIterDoCompare(tls, pNew, iIter)) != 0 { var pSeg uintptr = ((pNew + 96 /* &.aSeg */) + uintptr(iEq)*120) if (*Fts5Index)(unsafe.Pointer(p)).Frc == SQLITE_OK { - (*(*func(*libc.TLS, uintptr, uintptr, uintptr))(unsafe.Pointer((pSeg + 40 /* &.xNext */))))(tls, p, pSeg, uintptr(0)) + (*struct { + f func(*libc.TLS, uintptr, uintptr, uintptr) + })(unsafe.Pointer(&struct{ uintptr }{(*Fts5SegIter)(unsafe.Pointer(pSeg)).FxNext})).f(tls, p, pSeg, uintptr(0)) } fts5MultiIterAdvanced(tls, p, pNew, iEq, iIter) } @@ -179608,7 +181167,9 @@ func fts5MultiIterNew(tls *libc.TLS, p uintptr, pStruct uintptr, flags int32, pC fts5MultiIterNext(tls, p, pNew, 0, int64(0)) } else if int32((*Fts5Iter)(unsafe.Pointer(pNew)).Fbase.FbEof) == 0 { var pSeg uintptr = ((pNew + 96 /* &.aSeg */) + uintptr((*Fts5CResult)(unsafe.Pointer((*Fts5Iter)(unsafe.Pointer(pNew)).FaFirst+1*4)).FiFirst)*120) - (*(*func(*libc.TLS, uintptr, uintptr))(unsafe.Pointer((pNew + 56 /* &.xSetOutputs */))))(tls, pNew, pSeg) + (*struct { + f func(*libc.TLS, uintptr, uintptr) + })(unsafe.Pointer(&struct{ uintptr }{(*Fts5Iter)(unsafe.Pointer(pNew)).FxSetOutputs})).f(tls, pNew, pSeg) } } else { @@ -179838,7 +181399,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 + 756 /* "" */ + return ts + 755 /* "" */ }() // The following was already done in fts5WriteInit(): // sqlite3_bind_int(p->pIdxWriter, 1, pWriter->iSegid); @@ -180179,7 +181740,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+33279, /* "INSERT INTO '%q'..." */ + ts+33278, /* "INSERT INTO '%q'..." */ libc.VaList(bp, (*Fts5Config)(unsafe.Pointer(pConfig)).FzDb, (*Fts5Config)(unsafe.Pointer(pConfig)).FzName))) } @@ -181011,12 +182572,12 @@ func fts5MergeRowidLists(tls *libc.TLS, p uintptr, p1 uintptr, nBuf int32, aBuf } type PrefixMerger1 = struct { - Fiter Fts5DoclistIter - FiPos I64 - FiOff int32 - _ [4]byte - FaPos uintptr - FpNext uintptr + Fiter Fts5DoclistIter + FiPos I64 + FiOff int32 + F__ccgo_pad1 [4]byte + FaPos uintptr + FpNext uintptr } /* sqlite3.c:225988:9 */ type PrefixMerger = PrefixMerger1 /* sqlite3.c:225988:29 */ @@ -181262,9 +182823,13 @@ func fts5SetupPrefixIter(tls *libc.TLS, p uintptr, bDesc int32, iIdx int32, pTok fts5IterSetOutputCb(tls, (p + 52 /* &.rc */), *(*uintptr)(unsafe.Pointer(bp + 16 /* p1 */))) for ; fts5MultiIterEof(tls, p, *(*uintptr)(unsafe.Pointer(bp + 16 /* p1 */))) == 0; fts5MultiIterNext2(tls, p, *(*uintptr)(unsafe.Pointer(bp + 16 /* p1 */)), bp+24 /* &dummy */) { var pSeg uintptr = ((*(*uintptr)(unsafe.Pointer(bp + 16 /* p1 */)) + 96 /* &.aSeg */) + uintptr((*Fts5CResult)(unsafe.Pointer((*Fts5Iter)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp + 16 /* p1 */)))).FaFirst+1*4)).FiFirst)*120) - (*(*func(*libc.TLS, uintptr, uintptr))(unsafe.Pointer((*(*uintptr)(unsafe.Pointer(bp + 16 /* p1 */)) + 56 /* &.xSetOutputs */))))(tls, *(*uintptr)(unsafe.Pointer(bp + 16 /* p1 */)), pSeg) + (*struct { + f func(*libc.TLS, uintptr, uintptr) + })(unsafe.Pointer(&struct{ uintptr }{(*Fts5Iter)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp + 16 /* p1 */)))).FxSetOutputs})).f(tls, *(*uintptr)(unsafe.Pointer(bp + 16 /* p1 */)), pSeg) if (*Fts5Iter)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp + 16 /* p1 */)))).Fbase.FnData != 0 { - (*(*func(*libc.TLS, uintptr, I64, uintptr, uintptr))(unsafe.Pointer(&xAppend)))(tls, p, ((*Fts5Iter)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp + 16 /* p1 */)))).Fbase.FiRowid - iLastRowid), *(*uintptr)(unsafe.Pointer(bp + 16 /* p1 */)), bp /* &doclist */) + (*struct { + f func(*libc.TLS, uintptr, I64, uintptr, uintptr) + })(unsafe.Pointer(&struct{ uintptr }{xAppend})).f(tls, p, ((*Fts5Iter)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp + 16 /* p1 */)))).Fbase.FiRowid - iLastRowid), *(*uintptr)(unsafe.Pointer(bp + 16 /* p1 */)), bp /* &doclist */) iLastRowid = (*Fts5Iter)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp + 16 /* p1 */)))).Fbase.FiRowid } } @@ -181278,7 +182843,9 @@ func fts5SetupPrefixIter(tls *libc.TLS, p uintptr, bDesc int32, iIdx int32, pTok var pSeg uintptr = ((*(*uintptr)(unsafe.Pointer(bp + 16 /* p1 */)) + 96 /* &.aSeg */) + uintptr((*Fts5CResult)(unsafe.Pointer((*Fts5Iter)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp + 16 /* p1 */)))).FaFirst+1*4)).FiFirst)*120) var nTerm int32 = (*Fts5SegIter)(unsafe.Pointer(pSeg)).Fterm.Fn var pTerm uintptr = (*Fts5SegIter)(unsafe.Pointer(pSeg)).Fterm.Fp - (*(*func(*libc.TLS, uintptr, uintptr))(unsafe.Pointer((*(*uintptr)(unsafe.Pointer(bp + 16 /* p1 */)) + 56 /* &.xSetOutputs */))))(tls, *(*uintptr)(unsafe.Pointer(bp + 16 /* p1 */)), pSeg) + (*struct { + f func(*libc.TLS, uintptr, uintptr) + })(unsafe.Pointer(&struct{ uintptr }{(*Fts5Iter)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp + 16 /* p1 */)))).FxSetOutputs})).f(tls, *(*uintptr)(unsafe.Pointer(bp + 16 /* p1 */)), pSeg) if *(*int32)(unsafe.Pointer(bp + 28 /* bNewTerm */)) != 0 { if (nTerm < nToken) || (libc.Xmemcmp(tls, pToken, pTerm, uint64(nToken)) != 0) { @@ -181303,7 +182870,9 @@ func fts5SetupPrefixIter(tls *libc.TLS, p uintptr, bDesc int32, iIdx int32, pTok } } if iStore == (i1 + nMerge) { - (*(*func(*libc.TLS, uintptr, uintptr, int32, uintptr))(unsafe.Pointer(&xMerge)))(tls, p, bp /* &doclist */, nMerge, (aBuf + uintptr(i1)*16)) + (*struct { + f func(*libc.TLS, uintptr, uintptr, int32, uintptr) + })(unsafe.Pointer(&struct{ uintptr }{xMerge})).f(tls, p, bp /* &doclist */, nMerge, (aBuf + uintptr(i1)*16)) for iStore = i1; iStore < (i1 + nMerge); iStore++ { sqlite3Fts5BufferZero(tls, (aBuf + uintptr(iStore)*16)) } @@ -181312,14 +182881,18 @@ func fts5SetupPrefixIter(tls *libc.TLS, p uintptr, bDesc int32, iIdx int32, pTok iLastRowid = int64(0) } - (*(*func(*libc.TLS, uintptr, I64, uintptr, uintptr))(unsafe.Pointer(&xAppend)))(tls, p, ((*Fts5Iter)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp + 16 /* p1 */)))).Fbase.FiRowid - iLastRowid), *(*uintptr)(unsafe.Pointer(bp + 16 /* p1 */)), bp /* &doclist */) + (*struct { + f func(*libc.TLS, uintptr, I64, uintptr, uintptr) + })(unsafe.Pointer(&struct{ uintptr }{xAppend})).f(tls, p, ((*Fts5Iter)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp + 16 /* p1 */)))).Fbase.FiRowid - iLastRowid), *(*uintptr)(unsafe.Pointer(bp + 16 /* p1 */)), bp /* &doclist */) iLastRowid = (*Fts5Iter)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp + 16 /* p1 */)))).Fbase.FiRowid } for i = 0; i < nBuf; i = i + (nMerge) { var iFree int32 if (*Fts5Index)(unsafe.Pointer(p)).Frc == SQLITE_OK { - (*(*func(*libc.TLS, uintptr, uintptr, int32, uintptr))(unsafe.Pointer(&xMerge)))(tls, p, bp /* &doclist */, nMerge, (aBuf + uintptr(i)*16)) + (*struct { + f func(*libc.TLS, uintptr, uintptr, int32, uintptr) + })(unsafe.Pointer(&struct{ uintptr }{xMerge})).f(tls, p, bp /* &doclist */, nMerge, (aBuf + uintptr(i)*16)) } for iFree = i; iFree < (i + nMerge); iFree++ { sqlite3Fts5BufferFree(tls, (aBuf + uintptr(iFree)*16)) @@ -181396,7 +182969,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+756 /* "" */, 0) + fts5DataWrite(tls, p, int64(FTS5_AVERAGES_ROWID), ts+755 /* "" */, 0) fts5StructureWrite(tls, p, bp /* &s */) return fts5IndexReturn(tls, p) } @@ -181417,13 +182990,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+33336 /* "%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+23317 /* "data" */, ts+33344 /* "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+10213, /* "idx" */ - ts+33379, /* "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 { @@ -181592,7 +183165,9 @@ func sqlite3Fts5IndexQuery(tls *libc.TLS, p uintptr, pToken uintptr, nToken int3 if (*Fts5Index)(unsafe.Pointer(p)).Frc == SQLITE_OK { var pSeg uintptr = ((*(*uintptr)(unsafe.Pointer(bp + 16 /* pRet */)) + 96 /* &.aSeg */) + uintptr((*Fts5CResult)(unsafe.Pointer((*Fts5Iter)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp + 16 /* pRet */)))).FaFirst+1*4)).FiFirst)*120) if (*Fts5SegIter)(unsafe.Pointer(pSeg)).FpLeaf != 0 { - (*(*func(*libc.TLS, uintptr, uintptr))(unsafe.Pointer((*(*uintptr)(unsafe.Pointer(bp + 16 /* pRet */)) + 56 /* &.xSetOutputs */))))(tls, *(*uintptr)(unsafe.Pointer(bp + 16 /* pRet */)), pSeg) + (*struct { + f func(*libc.TLS, uintptr, uintptr) + })(unsafe.Pointer(&struct{ uintptr }{(*Fts5Iter)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp + 16 /* pRet */)))).FxSetOutputs})).f(tls, *(*uintptr)(unsafe.Pointer(bp + 16 /* pRet */)), pSeg) } } } @@ -181729,7 +183304,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+33026 /* "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 */))) @@ -181866,7 +183441,7 @@ func fts5IndexIntegrityCheckSegment(tls *libc.TLS, p uintptr, pSeg uintptr) { /* fts5IndexPrepareStmt(tls, p, bp+24 /* &pStmt */, Xsqlite3_mprintf(tls, - ts+33423, /* "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. @@ -182076,7 +183651,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+33509 /* "\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))) @@ -182192,13 +183767,13 @@ type Fts5Cursor1 = struct { FpExpr uintptr FpSorter uintptr Fcsrflags int32 - _ [4]byte + F__ccgo_pad1 [4]byte FiSpecial I64 FzRank uintptr FzRankArgs uintptr FpRank uintptr FnRankArg int32 - _ [4]byte + F__ccgo_pad2 [4]byte FapRankArg uintptr FpRankArgStmt uintptr FpAux uintptr @@ -182272,9 +183847,9 @@ type Fts5TransactionState = struct { } /* sqlite3.c:227858:1 */ type Fts5MatchPhrase = struct { - FpPoslist uintptr - FnTerm int32 - _ [4]byte + FpPoslist uintptr + FnTerm int32 + F__ccgo_pad1 [4]byte } /* sqlite3.c:227915:1 */ // Return true if pTab is a contentless table. @@ -182487,7 +184062,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+33514 /* "recursively defi..." */, 0) + ts+33513 /* "recursively defi..." */, 0) return SQLITE_ERROR } @@ -182521,7 +184096,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+4090 /* "%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)))) } @@ -182537,7 +184112,7 @@ func fts5BestIndexMethod(tls *libc.TLS, pVTab uintptr, pInfo uintptr) int32 { /* } return int8('G') }() - Xsqlite3_snprintf(tls, 6, (idxStr + uintptr(iIdxStr)), ts+4090 /* "%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) @@ -182706,7 +184281,7 @@ func fts5FreeCursorComponents(tls *libc.TLS, pCsr uintptr) { /* sqlite3.c:228530 for pData = (*Fts5Cursor)(unsafe.Pointer(pCsr)).FpAuxdata; pData != 0; pData = pNext { pNext = (*Fts5Auxdata)(unsafe.Pointer(pData)).FpNext if (*Fts5Auxdata)(unsafe.Pointer(pData)).FxDelete != 0 { - (*(*func(*libc.TLS, uintptr))(unsafe.Pointer((pData + 16 /* &.xDelete */))))(tls, (*Fts5Auxdata)(unsafe.Pointer(pData)).FpPtr) + (*struct{ f func(*libc.TLS, uintptr) })(unsafe.Pointer(&struct{ uintptr }{(*Fts5Auxdata)(unsafe.Pointer(pData)).FxDelete})).f(tls, (*Fts5Auxdata)(unsafe.Pointer(pData)).FpPtr) } Xsqlite3_free(tls, pData) } @@ -182880,7 +184455,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+2791 /* "%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 @@ -182904,7 +184479,7 @@ func fts5PrepareStatement(tls *libc.TLS, ppStmt uintptr, pConfig uintptr, zFmt u var ap Va_list _ = ap - ap = va + (ap) = va zSql = Xsqlite3_vmprintf(tls, zFmt, ap) if zSql == uintptr(0) { rc = SQLITE_NOMEM @@ -182912,7 +184487,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+2791 /* "%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) } @@ -182951,25 +184526,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+33553, /* "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 + 13325 /* ", " */ + return ts + 13324 /* ", " */ } - return ts + 756 /* "" */ + return ts + 755 /* "" */ }(), func() uintptr { if zRankArgs != 0 { return zRankArgs } - return ts + 756 /* "" */ + return ts + 755 /* "" */ }(), func() uintptr { if bDesc != 0 { - return ts + 33608 /* "DESC" */ + return ts + 33607 /* "DESC" */ } - return ts + 33613 /* "ASC" */ + return ts + 33612 /* "ASC" */ }())) (*Fts5Cursor)(unsafe.Pointer(pCsr)).FpSorter = pSorter @@ -183020,13 +184595,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+33617 /* "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+4172 /* "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+33623 /* "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 } @@ -183061,7 +184636,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+33651 /* "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, @@ -183093,7 +184668,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+33661 /* "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 } } @@ -183125,14 +184700,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+33682 /* "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 + 32065 /* "bm25" */ + (*Fts5Cursor)(unsafe.Pointer(pCsr)).FzRank = ts + 32064 /* "bm25" */ (*Fts5Cursor)(unsafe.Pointer(pCsr)).FzRankArgs = uintptr(0) } } @@ -183198,7 +184773,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+33514 /* "recursively defi..." */, 0) + ts+33513 /* "recursively defi..." */, 0) return SQLITE_ERROR __1: ; @@ -183244,7 +184819,7 @@ __8: if !(zText == uintptr(0)) { goto __14 } - zText = ts + 756 /* "" */ + zText = ts + 755 /* "" */ __14: ; iCol = 0 @@ -183433,7 +185008,7 @@ __35: goto __40 } *(*uintptr)(unsafe.Pointer((*Fts5Config)(unsafe.Pointer(pConfig)).FpzErrmsg)) = Xsqlite3_mprintf(tls, - ts+33715 /* "%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: @@ -183570,7 +185145,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+2791 /* "%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))) } } } @@ -183580,7 +185155,7 @@ func fts5SeekCursor(tls *libc.TLS, pCsr uintptr, bErrormsg int32) int32 { /* sql func fts5SetVtabError(tls *libc.TLS, p uintptr, zFormat uintptr, va uintptr) { /* sqlite3.c:229283:13: */ var ap Va_list _ = ap // ... printf arguments - ap = va + (ap) = va (*Fts5FullTable)(unsafe.Pointer(p)).Fp.Fbase.FzErrMsg = Xsqlite3_vmprintf(tls, zFormat, ap) _ = ap @@ -183607,29 +185182,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+33751 /* "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+33762 /* "'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+33842 /* "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+33850 /* "'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+15429 /* "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+33906 /* "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+33912 /* "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 { @@ -183703,7 +185278,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+15968 /* "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))) @@ -183728,12 +185303,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+33928, /* "cannot %s conten..." */ + ts+33927, /* "cannot %s conten..." */ libc.VaList(bp, func() uintptr { if nArg > 1 { - return ts + 18782 /* "UPDATE" */ + return ts + 18781 /* "UPDATE" */ } - return ts + 33965 /* "DELETE from" */ + return ts + 33964 /* "DELETE from" */ }(), (*Fts5Config)(unsafe.Pointer(pConfig)).FzName)) *(*int32)(unsafe.Pointer(bp + 16 /* rc */)) = SQLITE_ERROR } else if nArg == 1 { @@ -184134,14 +185709,14 @@ func fts5ApiSetAuxdata(tls *libc.TLS, pCtx uintptr, pPtr uintptr, xDelete uintpt if pData != 0 { if (*Fts5Auxdata)(unsafe.Pointer(pData)).FxDelete != 0 { - (*(*func(*libc.TLS, uintptr))(unsafe.Pointer((pData + 16 /* &.xDelete */))))(tls, (*Fts5Auxdata)(unsafe.Pointer(pData)).FpPtr) + (*struct{ f func(*libc.TLS, uintptr) })(unsafe.Pointer(&struct{ uintptr }{(*Fts5Auxdata)(unsafe.Pointer(pData)).FxDelete})).f(tls, (*Fts5Auxdata)(unsafe.Pointer(pData)).FpPtr) } } else { *(*int32)(unsafe.Pointer(bp /* rc */)) = SQLITE_OK pData = sqlite3Fts5MallocZero(tls, bp /* &rc */, int64(unsafe.Sizeof(Fts5Auxdata{}))) if pData == uintptr(0) { if xDelete != 0 { - (*(*func(*libc.TLS, uintptr))(unsafe.Pointer(&xDelete)))(tls, pPtr) + (*struct{ f func(*libc.TLS, uintptr) })(unsafe.Pointer(&struct{ uintptr }{xDelete})).f(tls, pPtr) } return *(*int32)(unsafe.Pointer(bp /* rc */)) } @@ -184359,7 +185934,9 @@ func fts5ApiQueryPhrase(tls *libc.TLS, pCtx uintptr, iPhrase int32, pUserData ui if rc == SQLITE_OK { for rc = fts5CursorFirst(tls, pTab, *(*uintptr)(unsafe.Pointer(bp /* pNew */)), 0); (rc == SQLITE_OK) && (((*Fts5Cursor)(unsafe.Pointer((*(*uintptr)(unsafe.Pointer(bp /* pNew */))))).Fcsrflags & (FTS5CSR_EOF)) == 0); rc = fts5NextMethod(tls, *(*uintptr)(unsafe.Pointer(bp /* pNew */))) { - rc = (*(*func(*libc.TLS, uintptr, uintptr, uintptr) int32)(unsafe.Pointer(&xCallback)))(tls, uintptr(unsafe.Pointer(&sFts5Api)), *(*uintptr)(unsafe.Pointer(bp /* pNew */)), pUserData) + rc = (*struct { + f func(*libc.TLS, uintptr, uintptr, uintptr) int32 + })(unsafe.Pointer(&struct{ uintptr }{xCallback})).f(tls, uintptr(unsafe.Pointer(&sFts5Api)), *(*uintptr)(unsafe.Pointer(bp /* pNew */)), pUserData) if rc != SQLITE_OK { if rc == SQLITE_DONE { rc = SQLITE_OK @@ -184376,7 +185953,9 @@ func fts5ApiQueryPhrase(tls *libc.TLS, pCtx uintptr, iPhrase int32, pUserData ui func fts5ApiInvoke(tls *libc.TLS, pAux uintptr, pCsr uintptr, context uintptr, argc int32, argv uintptr) { /* sqlite3.c:230126:13: */ (*Fts5Cursor)(unsafe.Pointer(pCsr)).FpAux = pAux - (*(*func(*libc.TLS, uintptr, uintptr, uintptr, int32, uintptr))(unsafe.Pointer((pAux + 24 /* &.xFunc */))))(tls, uintptr(unsafe.Pointer(&sFts5Api)), pCsr, context, argc, argv) + (*struct { + f func(*libc.TLS, uintptr, uintptr, uintptr, int32, uintptr) + })(unsafe.Pointer(&struct{ uintptr }{(*Fts5Auxiliary)(unsafe.Pointer(pAux)).FxFunc})).f(tls, uintptr(unsafe.Pointer(&sFts5Api)), pCsr, context, argc, argv) (*Fts5Cursor)(unsafe.Pointer(pCsr)).FpAux = uintptr(0) } @@ -184403,7 +185982,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+33977 /* "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 { @@ -184708,9 +186287,11 @@ 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+33998 /* "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, + rc = (*struct { + f func(*libc.TLS, uintptr, uintptr, int32, uintptr) int32 + })(unsafe.Pointer(&struct{ uintptr }{(*Fts5TokenizerModule)(unsafe.Pointer(pMod)).Fx.FxCreate})).f(tls, (*Fts5TokenizerModule)(unsafe.Pointer(pMod)).FpUserData, func() uintptr { if azArg != 0 { return (azArg + 1*8) @@ -184725,7 +186306,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+34020 /* "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, @@ -184751,7 +186332,7 @@ func fts5ModuleDestroy(tls *libc.TLS, pCtx uintptr) { /* sqlite3.c:230542:13: */ for pAux = (*Fts5Global)(unsafe.Pointer(pGlobal)).FpAux; pAux != 0; pAux = pNextAux { pNextAux = (*Fts5Auxiliary)(unsafe.Pointer(pAux)).FpNext if (*Fts5Auxiliary)(unsafe.Pointer(pAux)).FxDestroy != 0 { - (*(*func(*libc.TLS, uintptr))(unsafe.Pointer((pAux + 32 /* &.xDestroy */))))(tls, (*Fts5Auxiliary)(unsafe.Pointer(pAux)).FpUserData) + (*struct{ f func(*libc.TLS, uintptr) })(unsafe.Pointer(&struct{ uintptr }{(*Fts5Auxiliary)(unsafe.Pointer(pAux)).FxDestroy})).f(tls, (*Fts5Auxiliary)(unsafe.Pointer(pAux)).FpUserData) } Xsqlite3_free(tls, pAux) } @@ -184759,7 +186340,7 @@ func fts5ModuleDestroy(tls *libc.TLS, pCtx uintptr) { /* sqlite3.c:230542:13: */ for pTok = (*Fts5Global)(unsafe.Pointer(pGlobal)).FpTok; pTok != 0; pTok = pNextTok { pNextTok = (*Fts5TokenizerModule)(unsafe.Pointer(pTok)).FpNext if (*Fts5TokenizerModule)(unsafe.Pointer(pTok)).FxDestroy != 0 { - (*(*func(*libc.TLS, uintptr))(unsafe.Pointer((pTok + 40 /* &.xDestroy */))))(tls, (*Fts5TokenizerModule)(unsafe.Pointer(pTok)).FpUserData) + (*struct{ f func(*libc.TLS, uintptr) })(unsafe.Pointer(&struct{ uintptr }{(*Fts5TokenizerModule)(unsafe.Pointer(pTok)).FxDestroy})).f(tls, (*Fts5TokenizerModule)(unsafe.Pointer(pTok)).FpUserData) } Xsqlite3_free(tls, pTok) } @@ -184772,7 +186353,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+34051 /* "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 */) } @@ -184783,7 +186364,7 @@ func fts5SourceIdFunc(tls *libc.TLS, pCtx uintptr, nArg int32, apUnused uintptr) _ = nArg _ = apUnused - Xsqlite3_result_text(tls, pCtx, ts+34064 /* "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 @@ -184799,7 +186380,7 @@ func fts5ShadowName(tls *libc.TLS, zName uintptr) int32 { /* sqlite3.c:230592:12 } var azName2 = [5]uintptr{ - ts + 34155 /* "config" */, ts + 32254 /* "content" */, ts + 23317 /* "data" */, ts + 32605 /* "docsize" */, ts + 10213, /* "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: */ @@ -184823,7 +186404,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+34162 /* "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) } @@ -184841,13 +186422,13 @@ func fts5Init(tls *libc.TLS, db uintptr) int32 { /* sqlite3.c:230603:12: */ } if rc == SQLITE_OK { rc = Xsqlite3_create_function(tls, - db, ts+34162 /* "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+34167 /* "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)) } @@ -184913,20 +186494,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 + 34182, /* "SELECT %s FROM %..." */ - ts + 34250, /* "SELECT %s FROM %..." */ - ts + 34319, /* "SELECT %s FROM %..." */ // LOOKUP + ts + 34181, /* "SELECT %s FROM %..." */ + ts + 34249, /* "SELECT %s FROM %..." */ + ts + 34318, /* "SELECT %s FROM %..." */ // LOOKUP - ts + 34352, /* "INSERT INTO %Q.'..." */ // INSERT_CONTENT - ts + 34391, /* "REPLACE INTO %Q...." */ // REPLACE_CONTENT - ts + 34431, /* "DELETE FROM %Q.'..." */ // DELETE_CONTENT - ts + 34470, /* "REPLACE INTO %Q...." */ // REPLACE_DOCSIZE - ts + 34511, /* "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 + 34550, /* "SELECT sz FROM %..." */ // LOOKUP_DOCSIZE + ts + 34549, /* "SELECT sz FROM %..." */ // LOOKUP_DOCSIZE - ts + 34592, /* "REPLACE INTO %Q...." */ // REPLACE_CONFIG - ts + 34632, /* "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) @@ -184993,7 +186574,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+2791 /* "%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))) } } } @@ -185009,7 +186590,7 @@ func fts5ExecPrintf(tls *libc.TLS, db uintptr, pzErr uintptr, zFormat uintptr, v _ = ap // ... printf arguments var zSql uintptr - ap = va + (ap) = va zSql = Xsqlite3_vmprintf(tls, zFormat, ap) if zSql == uintptr(0) { @@ -185031,18 +186612,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+34655, /* "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+34759, /* "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+34797, /* "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 @@ -185054,7 +186635,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+34835, /* "ALTER TABLE %Q.'..." */ + ts+34834, /* "ALTER TABLE %Q.'..." */ libc.VaList(bp, (*Fts5Config)(unsafe.Pointer(pConfig)).FzDb, (*Fts5Config)(unsafe.Pointer(pConfig)).FzName, zTail, zName, zTail)) } } @@ -185066,14 +186647,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+23317 /* "data" */, zName) - fts5StorageRenameOne(tls, pConfig, bp /* &rc */, ts+10213 /* "idx" */, zName) - fts5StorageRenameOne(tls, pConfig, bp /* &rc */, ts+34155 /* "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+32605 /* "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+32254 /* "content" */, zName) + fts5StorageRenameOne(tls, pConfig, bp /* &rc */, ts+32253 /* "content" */, zName) } return *(*int32)(unsafe.Pointer(bp /* rc */)) } @@ -185087,17 +186668,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+34877, /* "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 + 27932 /* " WITHOUT ROWID" */ + return ts + 27931 /* " WITHOUT ROWID" */ } - return ts + 756 /* "" */ + return ts + 755 /* "" */ }())) if *(*uintptr)(unsafe.Pointer(bp + 64 /* zErr */)) != 0 { *(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3_mprintf(tls, - ts+34907, /* "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 */))) } @@ -185139,27 +186720,27 @@ func sqlite3Fts5StorageOpen(tls *libc.TLS, pConfig uintptr, pIndex uintptr, bCre } else { var i int32 var iOff int32 - Xsqlite3_snprintf(tls, nDefn, zDefn, ts+34951 /* "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+34974 /* ", 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+32254 /* "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+32605 /* "docsize" */, ts+34980 /* "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+34155 /* "config" */, ts+35012 /* "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+32751 /* "version" */, uintptr(0), FTS5_CURRENT_VERSION) + rc = sqlite3Fts5StorageConfigValue(tls, p, ts+32750 /* "version" */, uintptr(0), FTS5_CURRENT_VERSION) } } @@ -185396,12 +186977,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+35029, /* "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+35079, /* "DELETE FROM %Q.'..." */ + ts+35078, /* "DELETE FROM %Q.'..." */ libc.VaList(bp+32, (*Fts5Config)(unsafe.Pointer(pConfig)).FzDb, (*Fts5Config)(unsafe.Pointer(pConfig)).FzName)) } @@ -185411,7 +186992,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+32751 /* "version" */, uintptr(0), FTS5_CURRENT_VERSION) + rc = sqlite3Fts5StorageConfigValue(tls, p, ts+32750 /* "version" */, uintptr(0), FTS5_CURRENT_VERSION) } return rc } @@ -185606,7 +187187,7 @@ func fts5StorageCount(tls *libc.TLS, p uintptr, zSuffix uintptr, pnRow uintptr) var zSql uintptr var rc int32 - zSql = Xsqlite3_mprintf(tls, ts+35108, /* "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 @@ -185803,14 +187384,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+32254 /* "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+32605 /* "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)) } @@ -186046,9 +187627,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+35140 /* "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+35151 /* "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 @@ -186126,7 +187707,9 @@ func fts5AsciiTokenize(tls *libc.TLS, pTokenizer uintptr, pCtx uintptr, iUnused asciiFold(tls, pFold, (pText + uintptr(is)), nByte) // Invoke the token callback - rc = (*(*func(*libc.TLS, uintptr, int32, uintptr, int32, int32, int32) int32)(unsafe.Pointer(&xToken)))(tls, pCtx, 0, pFold, nByte, is, ie) + rc = (*struct { + f func(*libc.TLS, uintptr, int32, uintptr, int32, int32, int32) int32 + })(unsafe.Pointer(&struct{ uintptr }{xToken})).f(tls, pCtx, 0, pFold, nByte, is, ie) is = (ie + 1) } @@ -186153,7 +187736,7 @@ type Unicode61Tokenizer1 = struct { FnFold int32 FeRemoveDiacritic int32 FnException int32 - _ [4]byte + F__ccgo_pad1 [4]byte FaiException uintptr FaCategory [32]uint8 } /* sqlite3.c:232110:9 */ @@ -186288,7 +187871,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 + 35162 /* "L* N* Co" */ + var zCat uintptr = ts + 35161 /* "L* N* Co" */ var i int32 libc.Xmemset(tls, p, 0, uint64(unsafe.Sizeof(Unicode61Tokenizer{}))) @@ -186301,7 +187884,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+35171 /* "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)) } } @@ -186312,18 +187895,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+35182 /* "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+35140 /* "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+35151 /* "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+35171 /* "categories" */) { + } else if 0 == Xsqlite3_stricmp(tls, *(*uintptr)(unsafe.Pointer(azArg + uintptr(i)*8)), ts+35170 /* "categories" */) { // no-op } else { rc = SQLITE_ERROR @@ -186578,7 +188161,9 @@ __15: ; // Invoke the token callback - rc = (*(*func(*libc.TLS, uintptr, int32, uintptr, int32, int32, int32) int32)(unsafe.Pointer(&xToken)))(tls, pCtx, 0, aFold, (int32((int64(zOut) - int64(aFold)) / 1)), is, ie) + rc = (*struct { + f func(*libc.TLS, uintptr, int32, uintptr, int32, int32, int32) int32 + })(unsafe.Pointer(&struct{ uintptr }{xToken})).f(tls, pCtx, 0, aFold, (int32((int64(zOut) - int64(aFold)) / 1)), is, ie) goto __1 __2: ; @@ -186620,7 +188205,7 @@ func fts5PorterDelete(tls *libc.TLS, pTok uintptr) { /* sqlite3.c:232438:13: */ if pTok != 0 { var p uintptr = pTok if (*PorterTokenizer)(unsafe.Pointer(p)).FpTokenizer != 0 { - (*(*func(*libc.TLS, uintptr))(unsafe.Pointer((p /* &.tokenizer */ + 8 /* &.xDelete */))))(tls, (*PorterTokenizer)(unsafe.Pointer(p)).FpTokenizer) + (*struct{ f func(*libc.TLS, uintptr) })(unsafe.Pointer(&struct{ uintptr }{(*PorterTokenizer)(unsafe.Pointer(p)).Ftokenizer.FxDelete})).f(tls, (*PorterTokenizer)(unsafe.Pointer(p)).FpTokenizer) } Xsqlite3_free(tls, p) } @@ -186635,7 +188220,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 + 35200 /* "unicode61" */ + var zBase uintptr = ts + 35199 /* "unicode61" */ if nArg > 0 { zBase = *(*uintptr)(unsafe.Pointer(azArg)) @@ -186644,7 +188229,9 @@ func fts5PorterCreate(tls *libc.TLS, pCtx uintptr, azArg uintptr, nArg int32, pp pRet = Xsqlite3_malloc(tls, int32(unsafe.Sizeof(PorterTokenizer{}))) if pRet != 0 { libc.Xmemset(tls, pRet, 0, uint64(unsafe.Sizeof(PorterTokenizer{}))) - rc = (*(*func(*libc.TLS, uintptr, uintptr, uintptr, uintptr) int32)(unsafe.Pointer((pApi + 16 /* &.xFindTokenizer */))))(tls, pApi, zBase, bp /* &pUserdata */, (pRet /* &.tokenizer */)) + rc = (*struct { + f func(*libc.TLS, uintptr, uintptr, uintptr, uintptr) int32 + })(unsafe.Pointer(&struct{ uintptr }{(*Fts5_api)(unsafe.Pointer(pApi)).FxFindTokenizer})).f(tls, pApi, zBase, bp /* &pUserdata */, (pRet /* &.tokenizer */)) } else { rc = SQLITE_NOMEM } @@ -186661,7 +188248,9 @@ func fts5PorterCreate(tls *libc.TLS, pCtx uintptr, azArg uintptr, nArg int32, pp } return uintptr(0) }() - rc = (*(*func(*libc.TLS, uintptr, uintptr, int32, uintptr) int32)(unsafe.Pointer((pRet /* &.tokenizer */ /* &.xCreate */))))(tls, *(*uintptr)(unsafe.Pointer(bp /* pUserdata */)), azArg2, nArg2, (pRet + 24 /* &.pTokenizer */)) + rc = (*struct { + f func(*libc.TLS, uintptr, uintptr, int32, uintptr) int32 + })(unsafe.Pointer(&struct{ uintptr }{(*PorterTokenizer)(unsafe.Pointer(pRet)).Ftokenizer.FxCreate})).f(tls, *(*uintptr)(unsafe.Pointer(bp /* pUserdata */)), azArg2, nArg2, (pRet + 24 /* &.pTokenizer */)) } if rc != SQLITE_OK { @@ -186681,13 +188270,13 @@ type PorterContext1 = struct { type PorterContext = PorterContext1 /* sqlite3.c:232487:30 */ type PorterRule1 = struct { - FzSuffix uintptr - FnSuffix int32 - _ [4]byte - FxCond uintptr - FzOutput uintptr - FnOutput int32 - _ [4]byte + FzSuffix uintptr + FnSuffix int32 + F__ccgo_pad1 [4]byte + FxCond uintptr + FzOutput uintptr + FnOutput int32 + F__ccgo_pad2 [4]byte } /* sqlite3.c:232494:9 */ type PorterRule = PorterRule1 /* sqlite3.c:232494:27 */ @@ -186788,7 +188377,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+35210 /* "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) } @@ -186796,11 +188385,11 @@ func fts5PorterStep4(tls *libc.TLS, aBuf uintptr, pnBuf uintptr) int32 { /* sqli break case 'c': - if (nBuf > 4) && (0 == libc.Xmemcmp(tls, ts+35213 /* "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+35218 /* "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) } @@ -186808,7 +188397,7 @@ func fts5PorterStep4(tls *libc.TLS, aBuf uintptr, pnBuf uintptr) int32 { /* sqli break case 'e': - if (nBuf > 2) && (0 == libc.Xmemcmp(tls, ts+35223 /* "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) } @@ -186816,7 +188405,7 @@ func fts5PorterStep4(tls *libc.TLS, aBuf uintptr, pnBuf uintptr) int32 { /* sqli break case 'i': - if (nBuf > 2) && (0 == libc.Xmemcmp(tls, ts+35226 /* "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) } @@ -186824,11 +188413,11 @@ func fts5PorterStep4(tls *libc.TLS, aBuf uintptr, pnBuf uintptr) int32 { /* sqli break case 'l': - if (nBuf > 4) && (0 == libc.Xmemcmp(tls, ts+35229 /* "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+35234 /* "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) } @@ -186836,19 +188425,19 @@ func fts5PorterStep4(tls *libc.TLS, aBuf uintptr, pnBuf uintptr) int32 { /* sqli break case 'n': - if (nBuf > 3) && (0 == libc.Xmemcmp(tls, ts+35239 /* "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+35243 /* "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+35249 /* "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+35254 /* "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) } @@ -186856,11 +188445,11 @@ func fts5PorterStep4(tls *libc.TLS, aBuf uintptr, pnBuf uintptr) int32 { /* sqli break case 'o': - if (nBuf > 3) && (0 == libc.Xmemcmp(tls, ts+35258 /* "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+35262 /* "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) } @@ -186868,7 +188457,7 @@ func fts5PorterStep4(tls *libc.TLS, aBuf uintptr, pnBuf uintptr) int32 { /* sqli break case 's': - if (nBuf > 3) && (0 == libc.Xmemcmp(tls, ts+35265 /* "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) } @@ -186876,11 +188465,11 @@ func fts5PorterStep4(tls *libc.TLS, aBuf uintptr, pnBuf uintptr) int32 { /* sqli break case 't': - if (nBuf > 3) && (0 == libc.Xmemcmp(tls, ts+35269 /* "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+35273 /* "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) } @@ -186888,7 +188477,7 @@ func fts5PorterStep4(tls *libc.TLS, aBuf uintptr, pnBuf uintptr) int32 { /* sqli break case 'u': - if (nBuf > 3) && (0 == libc.Xmemcmp(tls, ts+35277 /* "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) } @@ -186896,7 +188485,7 @@ func fts5PorterStep4(tls *libc.TLS, aBuf uintptr, pnBuf uintptr) int32 { /* sqli break case 'v': - if (nBuf > 3) && (0 == libc.Xmemcmp(tls, ts+35281 /* "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) } @@ -186904,7 +188493,7 @@ func fts5PorterStep4(tls *libc.TLS, aBuf uintptr, pnBuf uintptr) int32 { /* sqli break case 'z': - if (nBuf > 3) && (0 == libc.Xmemcmp(tls, ts+35285 /* "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) } @@ -186921,24 +188510,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+35289 /* "at" */, (aBuf+uintptr((nBuf-2))), uint64(2))) { - libc.Xmemcpy(tls, (aBuf + uintptr((nBuf - 2))), ts+35269 /* "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+35292 /* "bl" */, (aBuf+uintptr((nBuf-2))), uint64(2))) { - libc.Xmemcpy(tls, (aBuf + uintptr((nBuf - 2))), ts+35295 /* "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+35299 /* "iz" */, (aBuf+uintptr((nBuf-2))), uint64(2))) { - libc.Xmemcpy(tls, (aBuf + uintptr((nBuf - 2))), ts+35285 /* "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 } @@ -186954,137 +188543,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+35302 /* "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+35269 /* "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+35310 /* "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+35317 /* "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+35322 /* "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+35218 /* "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+35327 /* "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+35213 /* "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+35332 /* "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+35285 /* "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+35337 /* "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+14779 /* "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+35342 /* "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+35295 /* "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+35346 /* "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+35210 /* "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+35351 /* "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+35254 /* "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+35357 /* "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+35361 /* "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+35363 /* "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+35277 /* "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+35369 /* "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+35285 /* "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+35377 /* "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+35269 /* "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+35383 /* "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+35269 /* "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+35388 /* "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+35210 /* "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+35394 /* "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+35281 /* "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+35402 /* "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+35410 /* "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+35414 /* "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+35277 /* "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+35422 /* "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+35210 /* "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+35428 /* "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+35281 /* "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+35434 /* "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+35295 /* "ble" */, uint64(3)) + libc.Xmemcpy(tls, (aBuf + uintptr((nBuf - 6))), ts+35294 /* "ble" */, uint64(3)) *(*int32)(unsafe.Pointer(pnBuf)) = ((nBuf - 6) + 3) } } @@ -187100,16 +188689,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+35441 /* "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+35226 /* "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+35446 /* "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) } @@ -187117,21 +188706,21 @@ func fts5PorterStep3(tls *libc.TLS, aBuf uintptr, pnBuf uintptr) int32 { /* sqli break case 't': - if (nBuf > 5) && (0 == libc.Xmemcmp(tls, ts+35451 /* "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+35226 /* "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+35457 /* "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+35226 /* "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+35410 /* "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) } @@ -187139,7 +188728,7 @@ func fts5PorterStep3(tls *libc.TLS, aBuf uintptr, pnBuf uintptr) int32 { /* sqli break case 'v': - if (nBuf > 5) && (0 == libc.Xmemcmp(tls, ts+35463 /* "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) } @@ -187147,9 +188736,9 @@ func fts5PorterStep3(tls *libc.TLS, aBuf uintptr, pnBuf uintptr) int32 { /* sqli break case 'z': - if (nBuf > 5) && (0 == libc.Xmemcmp(tls, ts+35469 /* "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+35210 /* "al" */, uint64(2)) + libc.Xmemcpy(tls, (aBuf + uintptr((nBuf - 5))), ts+35209 /* "al" */, uint64(2)) *(*int32)(unsafe.Pointer(pnBuf)) = ((nBuf - 5) + 2) } } @@ -187165,12 +188754,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+35475 /* "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+35479 /* "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+35482 /* "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 @@ -187179,7 +188768,7 @@ func fts5PorterStep1B(tls *libc.TLS, aBuf uintptr, pnBuf uintptr) int32 { /* sql break case 'n': - if (nBuf > 3) && (0 == libc.Xmemcmp(tls, ts+35485 /* "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 @@ -187299,10 +188888,14 @@ __8: __10: ; - return (*(*func(*libc.TLS, uintptr, int32, uintptr, int32, int32, int32) int32)(unsafe.Pointer((p + 8 /* &.xToken */))))(tls, (*PorterContext)(unsafe.Pointer(p)).FpCtx, tflags, aBuf, *(*int32)(unsafe.Pointer(bp /* nBuf */)), iStart, iEnd) + return (*struct { + f func(*libc.TLS, uintptr, int32, uintptr, int32, int32, int32) int32 + })(unsafe.Pointer(&struct{ uintptr }{(*PorterContext)(unsafe.Pointer(p)).FxToken})).f(tls, (*PorterContext)(unsafe.Pointer(p)).FpCtx, tflags, aBuf, *(*int32)(unsafe.Pointer(bp /* nBuf */)), iStart, iEnd) pass_through: - return (*(*func(*libc.TLS, uintptr, int32, uintptr, int32, int32, int32) int32)(unsafe.Pointer((p + 8 /* &.xToken */))))(tls, (*PorterContext)(unsafe.Pointer(p)).FpCtx, tflags, pToken, nToken, iStart, iEnd) + return (*struct { + f func(*libc.TLS, uintptr, int32, uintptr, int32, int32, int32) int32 + })(unsafe.Pointer(&struct{ uintptr }{(*PorterContext)(unsafe.Pointer(p)).FxToken})).f(tls, (*PorterContext)(unsafe.Pointer(p)).FpCtx, tflags, pToken, nToken, iStart, iEnd) } // Tokenize using the porter tokenizer. @@ -187316,7 +188909,9 @@ func fts5PorterTokenize(tls *libc.TLS, pTokenizer uintptr, pCtx uintptr, flags i (*PorterContext)(unsafe.Pointer(bp /* &sCtx */)).FxToken = xToken (*PorterContext)(unsafe.Pointer(bp /* &sCtx */)).FpCtx = pCtx (*PorterContext)(unsafe.Pointer(bp /* &sCtx */)).FaBuf = p + 32 /* &.aBuf */ - return (*(*func(*libc.TLS, uintptr, uintptr, int32, uintptr, int32, uintptr) int32)(unsafe.Pointer((p /* &.tokenizer */ + 16 /* &.xTokenize */))))(tls, + return (*struct { + f func(*libc.TLS, uintptr, uintptr, int32, uintptr, int32, uintptr) int32 + })(unsafe.Pointer(&struct{ uintptr }{(*PorterTokenizer)(unsafe.Pointer(p)).Ftokenizer.FxTokenize})).f(tls, (*PorterTokenizer)(unsafe.Pointer(p)).FpTokenizer, bp /* &sCtx */, flags, pText, nText, *(*uintptr)(unsafe.Pointer(&struct { f func(*libc.TLS, uintptr, int32, uintptr, int32, int32, int32) int32 }{fts5PorterCb}))) @@ -187349,7 +188944,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+35489 /* "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 { @@ -187501,7 +189096,9 @@ func fts5TriTokenize(tls *libc.TLS, pTok uintptr, pCtx uintptr, unusedFlags int3 } else { break } - rc = (*(*func(*libc.TLS, uintptr, int32, uintptr, int32, int32, int32) int32)(unsafe.Pointer(&xToken)))(tls, pCtx, 0, bp /* &aBuf[0] */, (int32(int64((zOut - bp /* &aBuf[0] */) / 1))), iStart, (int32(int64(((uintptr(iStart) + zOut) - bp /* &aBuf[0] */) / 1)))) + rc = (*struct { + f func(*libc.TLS, uintptr, int32, uintptr, int32, int32, int32) int32 + })(unsafe.Pointer(&struct{ uintptr }{xToken})).f(tls, pCtx, 0, bp /* &aBuf[0] */, (int32(int64((zOut - bp /* &aBuf[0] */) / 1))), iStart, (int32(int64(((uintptr(iStart) + zOut) - bp /* &aBuf[0] */) / 1)))) if rc != SQLITE_OK { break } @@ -187539,22 +189136,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 + 35200 /* "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 + 35504 /* "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 + 35510 /* "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 + 35517 /* "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 @@ -187565,7 +189162,9 @@ func sqlite3Fts5TokenizerInit(tls *libc.TLS, pApi uintptr) int32 { /* sqlite3.c: var i int32 // To iterate through builtin functions for i = 0; (rc == SQLITE_OK) && (i < (int32(uint64(unsafe.Sizeof([4]BuiltinTokenizer{})) / uint64(unsafe.Sizeof(BuiltinTokenizer{}))))); i++ { - rc = (*(*func(*libc.TLS, uintptr, uintptr, uintptr, uintptr, uintptr) int32)(unsafe.Pointer((pApi + 8 /* &.xCreateTokenizer */))))(tls, pApi, + rc = (*struct { + f func(*libc.TLS, uintptr, uintptr, uintptr, uintptr, uintptr) int32 + })(unsafe.Pointer(&struct{ uintptr }{(*Fts5_api)(unsafe.Pointer(pApi)).FxCreateTokenizer})).f(tls, pApi, (*BuiltinTokenizer)(unsafe.Pointer(bp /* &aBuiltin */ +uintptr(i)*32)).FzName, pApi, (bp /* &aBuiltin */ + uintptr(i)*32 + 8 /* &.x */), @@ -188865,24 +190464,24 @@ type Fts5VocabTable1 = struct { type Fts5VocabTable = Fts5VocabTable1 /* sqlite3.c:234461:31 */ type Fts5VocabCursor1 = struct { - Fbase Sqlite3_vtab_cursor - FpStmt uintptr - FpFts5 uintptr - FbEof int32 - _ [4]byte - FpIter uintptr - FnLeTerm int32 - _ [4]byte - FzLeTerm uintptr - FiCol int32 - _ [4]byte - FaCnt uintptr - FaDoc uintptr - Frowid I64 - Fterm Fts5Buffer - FiInstPos I64 - FiInstOff int32 - _ [4]byte + Fbase Sqlite3_vtab_cursor + FpStmt uintptr + FpFts5 uintptr + FbEof int32 + F__ccgo_pad1 [4]byte + FpIter uintptr + FnLeTerm int32 + F__ccgo_pad2 [4]byte + FzLeTerm uintptr + FiCol int32 + F__ccgo_pad3 [4]byte + FaCnt uintptr + FaDoc uintptr + Frowid I64 + Fterm Fts5Buffer + FiInstPos I64 + FiInstOff int32 + F__ccgo_pad4 [4]byte } /* sqlite3.c:234462:9 */ type Fts5VocabCursor = Fts5VocabCursor1 /* sqlite3.c:234462:32 */ @@ -188901,14 +190500,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+35525 /* "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+35529 /* "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+35533 /* "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+35542 /* "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) @@ -188955,19 +190554,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 + 35576, /* "CREATE TABlE voc..." */ - ts + 35616, /* "CREATE TABlE voc..." */ - ts + 35651, /* "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+21626 /* "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+35694 /* "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 @@ -189119,11 +190718,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+35727 /* "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+35758, /* "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)) @@ -189147,7 +190746,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+35809 /* "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 { @@ -189435,7 +191034,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 + 756 /* "" */ + 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)) @@ -189552,7 +191151,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+35835 /* "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{ @@ -189597,7 +191196,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 + 35845 /* "2021-06-18 18:36..." */ + return ts + 35844 /* "2021-06-18 18:36..." */ } //************************* End of sqlite3.c ***************************** @@ -190482,5 +192081,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-10.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 ts1 = "COMPILER=gcc-7.5.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/libtest/sqlite_freebsd_amd64.go b/libtest/sqlite_freebsd_amd64.go index d377e18..013f2dd 100644 --- a/libtest/sqlite_freebsd_amd64.go +++ b/libtest/sqlite_freebsd_amd64.go @@ -105309,7 +105309,6 @@ func Xsqlite3GenerateConstraintChecks(tls *libc.TLS, pParse uintptr, pTab uintpt goto __4 goto __6 __6: - } } @@ -161220,7 +161219,6 @@ __15: goto __14 goto __16 __16: - } // This is a helper function for rbuObjIterCacheTableInfo(). It populates diff --git a/libtest/sqlite_netbsd_amd64.go b/libtest/sqlite_netbsd_amd64.go index 8875751..a7cea23 100644 --- a/libtest/sqlite_netbsd_amd64.go +++ b/libtest/sqlite_netbsd_amd64.go @@ -19,9 +19,16 @@ var _ unsafe.Pointer var _ types.Size_t const ( + ACCESSPERMS = 511 + ALLPERMS = 4095 ALT_SCHEMA_TABLE = "sqlite_schema" ALT_TEMP_SCHEMA_TABLE = "sqlite_temp_schema" ARG_MAX = 262144 + AT_EACCESS = 0x100 + AT_FDCWD = -100 + AT_REMOVEDIR = 0x800 + AT_SYMLINK_FOLLOW = 0x400 + AT_SYMLINK_NOFOLLOW = 0x200 BC_BASE_MAX = 2147483647 BC_DIM_MAX = 65535 BC_SCALE_MAX = 2147483647 @@ -166,6 +173,7 @@ const ( DB_ResetWanted = 0x0008 DB_SchemaLoaded = 0x0001 DB_UnresetViews = 0x0002 + DEFFILEMODE = 438 DFLT_SCHEMA_TABLE = "sqlite_master" DFLT_TEMP_SCHEMA_TABLE = "sqlite_temp_master" DIRECT_MODE = 0 @@ -176,6 +184,10 @@ const ( DKCACHE_SAVE = 0x010000 DKCACHE_WCHANGE = 0x000200 DKCACHE_WRITE = 0x000002 + DL_GETERRNO = 1 + DL_GETSYMBOL = 2 + DL_LAZY = 1 + DOMAIN = 1 DOTLOCK_SUFFIX = ".lock" E2BIG = 7 EACCES = 13 @@ -318,17 +330,26 @@ const ( EXIT_SUCCESS = 0 EXPRDUP_REDUCE = 0x0001 EXPR_NEST_MAX = 32 + FAPPEND = 8 + FASYNC = 64 + FDATASYNC = 0x0010 + FDISKSYNC = 0x0040 FD_CLOEXEC = 1 FD_SETSIZE = 256 + FFILESYNC = 0x0020 FILENAME_MAX = 1024 - FIXINC_WRAP_MATH_H_MATH_EXCEPTION = 1 - FIXINC_WRAP_STDIO_H_STDIO_STDARG_H = 1 FLAG_SIGNED = 1 FLAG_STRING = 4 FLT_DIG = 6 FLT_MAX = 0 FLT_MIN = 0 + FNDELAY = 4 FOPEN_MAX = 20 + FPARSELN_UNESCALL = 0x0f + FPARSELN_UNESCCOMM = 0x04 + FPARSELN_UNESCCONT = 0x02 + FPARSELN_UNESCESC = 0x01 + FPARSELN_UNESCREST = 0x08 FP_ILOGB0 = -2147483648 FP_ILOGBNAN = 2147483647 FP_INFINITE = 0x00 @@ -336,6 +357,7 @@ const ( FP_NORMAL = 0x02 FP_SUBNORMAL = 0x03 FP_ZERO = 0x04 + FREAD = 0x00000001 FTS5CSR_EOF = 0x01 FTS5CSR_FREE_ZRANK = 0x10 FTS5CSR_REQUIRE_CONTENT = 0x02 @@ -449,26 +471,45 @@ const ( FTS5_WORK_UNIT = 64 FULLY_WITHIN = 2 FUNC_PERFECT_MATCH = 6 + FWRITE = 0x00000002 + F_CLOSEM = 10 F_DUPFD = 0 + F_DUPFD_CLOEXEC = 12 F_GETFD = 1 F_GETFL = 3 F_GETLK = 7 + F_GETNOSIGPIPE = 13 F_GETOWN = 5 F_LOCK = 1 + F_MAXFD = 11 F_OK = 0 + F_PARAM_MASK = 0xfff + F_PARAM_MAX = 4095 F_RDLCK = 1 F_SETFD = 2 F_SETFL = 4 F_SETLK = 8 F_SETLKW = 9 + F_SETNOSIGPIPE = 14 F_SETOWN = 6 F_TEST = 3 F_TLOCK = 2 F_ULOCK = 0 F_UNLCK = 2 F_WRLCK = 3 - GCC_VERSION = 10003000 + GCC_VERSION = 7005000 GEOPOLY_PI = 3.1415926535897932385 + GETPASS_7BIT = 0x080 + GETPASS_BUF_LIMIT = 0x004 + GETPASS_ECHO = 0x020 + GETPASS_ECHO_NL = 0x400 + GETPASS_ECHO_STAR = 0x040 + GETPASS_FAIL_EOF = 0x002 + GETPASS_FORCE_LOWER = 0x100 + GETPASS_FORCE_UPPER = 0x200 + GETPASS_NEED_TTY = 0x001 + GETPASS_NO_BEEP = 0x010 + GETPASS_NO_SIGNAL = 0x008 GID_MAX = 2147483647 HASHSIZE = 97 HASHTABLE_HASH_1 = 383 @@ -482,6 +523,12 @@ const ( HAVE_READLINK = 1 HAVE_USLEEP = 1 HDLCDISC = 9 + HN_AUTOSCALE = 0x20 + HN_B = 0x04 + HN_DECIMAL = 0x01 + HN_DIVISOR_1000 = 0x08 + HN_GETSCALE = 0x10 + HN_NOSPACE = 0x02 INCRINIT_NORMAL = 0 INCRINIT_ROOT = 2 INCRINIT_TASK = 1 @@ -523,7 +570,7 @@ const ( INT_LEAST64_MIN = -9223372036854775808 INT_LEAST8_MAX = 127 INT_LEAST8_MIN = -128 - INT_MAX = 2147483647 + INT_MAX = 0x7fffffff INT_MIN = -2147483648 IN_INDEX_EPH = 2 IN_INDEX_INDEX_ASC = 3 @@ -583,23 +630,35 @@ const ( LINE_MAX = 2048 LINK_MAX = 32767 LITTLE_ENDIAN = 1234 - LLONG_MAX = 9223372036854775807 + LLONG_MAX = 0x7fffffffffffffff LLONG_MIN = -9223372036854775808 LOCATE_NOERR = 0x02 LOCATE_VIEW = 0x01 + LOCK_EX = 0x02 + LOCK_NB = 0x04 + LOCK_SH = 0x01 + LOCK_UN = 0x08 LOGIN_NAME_MAX = 17 LONG_BIT = 64 - LONG_LONG_MAX = 9223372036854775807 - LONG_LONG_MIN = -9223372036854775808 - LONG_MAX = 9223372036854775807 + LONG_MAX = 0x7fffffffffffffff LONG_MIN = -9223372036854775808 LOOKASIDE_SMALL = 128 + L_INCR = 1 + L_SET = 0 + L_XTND = 2 L_ctermid = 1024 L_cuserid = 9 L_tmpnam = 1024 M10d_Any = 1 M10d_No = 2 M10d_Yes = 0 + MADV_DONTNEED = 4 + MADV_FREE = 6 + MADV_NORMAL = 0 + MADV_RANDOM = 1 + MADV_SEQUENTIAL = 2 + MADV_SPACEAVAIL = 5 + MADV_WILLNEED = 3 MAP_ALIGNMENT_SHIFT = 24 MAP_ANON = 4096 MAP_ANONYMOUS = 0x1000 @@ -607,6 +666,12 @@ const ( MAP_FIXED = 0x0010 MAP_HASSEMAPHORE = 0x0200 MAP_INHERIT = 0x0080 + MAP_INHERIT_COPY = 1 + MAP_INHERIT_DEFAULT = 1 + MAP_INHERIT_DONATE_COPY = 3 + MAP_INHERIT_NONE = 2 + MAP_INHERIT_SHARE = 0 + MAP_INHERIT_ZERO = 4 MAP_NORESERVE = 0x0040 MAP_PRIVATE = 0x0002 MAP_REMAPDUP = 0x0004 @@ -663,6 +728,7 @@ const ( M_SQRT2 = 1.41421356237309504880 NAME_MAX = 511 NB = 3 + NBBY = 8 NC_AllowAgg = 0x00001 NC_AllowWin = 0x04000 NC_Complex = 0x02000 @@ -684,6 +750,7 @@ const ( NC_UUpsert = 0x00200 NC_VarSelect = 0x00040 NDEBUG = 1 + NFDBITS = 32 NGROUPS_MAX = 16 NL_ARGMAX = 9 NL_LANGMAX = 14 @@ -692,6 +759,7 @@ const ( NL_SETMAX = 255 NL_TEXTMAX = 2048 NN = 1 + NODEVMAJOR = -1 NOT_WITHIN = 0 NO_LOCK = 0 NZERO = 20 @@ -921,21 +989,32 @@ const ( OP_Yield = 14 OP_ZeroOrNull = 89 OS_VXWORKS = 0 + OVERFLOW = 3 O_ACCMODE = 0x00000003 + O_ALT_IO = 0x00040000 O_APPEND = 0x00000008 + O_ASYNC = 0x00000040 O_BINARY = 0 O_CLOEXEC = 0x00400000 O_CREAT = 0x00000200 + O_DIRECT = 0x00080000 O_DIRECTORY = 0x00200000 O_DSYNC = 0x00010000 O_EXCL = 0x00000800 + O_EXLOCK = 0x00000020 + O_FSYNC = 128 O_LARGEFILE = 0 + O_NDELAY = 4 O_NOCTTY = 0x00008000 - O_NOFOLLOW = 0 + O_NOFOLLOW = 0x00000100 O_NONBLOCK = 0x00000004 + O_NOSIGPIPE = 0x01000000 O_RDONLY = 0x00000000 O_RDWR = 0x00000002 + O_REGULAR = 0x02000000 O_RSYNC = 0x00020000 + O_SEARCH = 0x00800000 + O_SHLOCK = 0x00000010 O_SYNC = 0x00000080 O_TRUNC = 0x00000400 O_WRONLY = 0x00000001 @@ -1018,6 +1097,7 @@ const ( PGHDR_WAL_APPEND = 0x040 PGHDR_WRITEABLE = 0x004 PIPE_BUF = 512 + PLOSS = 6 POSIX_FADV_DONTNEED = 4 POSIX_FADV_NOREUSE = 5 POSIX_FADV_NORMAL = 0 @@ -1102,6 +1182,9 @@ const ( PragTyp_THREADS = 40 PragTyp_WAL_AUTOCHECKPOINT = 41 PragTyp_WAL_CHECKPOINT = 42 + QUAD_MAX = 0x7fffffffffffffff + QUAD_MIN = -9223372036854775808 + RANDOM_MAX = 0x7fffffff RAND_MAX = 0x7fffffff RBU_CREATE_STATE = "CREATE TABLE IF NOT EXISTS %s.rbu_state(k INTEGER PRIMARY KEY, v)" RBU_DELETE = 2 @@ -1142,6 +1225,7 @@ const ( ROWSET_ALLOCATION_SIZE = 1024 ROWSET_NEXT = 0x02 ROWSET_SORTED = 0x01 + RTLD_DI_LINKMAP = 3 RTLD_GLOBAL = 0x100 RTLD_LAZY = 1 RTLD_LOCAL = 0x200 @@ -1172,7 +1256,7 @@ const ( SAVEPOINT_BEGIN = 0 SAVEPOINT_RELEASE = 1 SAVEPOINT_ROLLBACK = 2 - SCHAR_MAX = 127 + SCHAR_MAX = 0x7f SCHAR_MIN = -128 SCHEMA_ROOT = 1 SEEK_CUR = 1 @@ -1182,6 +1266,8 @@ const ( SESSIONS_STRM_CHUNK_SIZE = 64 SESSION_MAX_BUFFER_SZ = 2147483391 SESSION_UPDATE_CACHE_SZ = 12 + SF_APPEND = 0x00040000 + SF_ARCHIVED = 0x00010000 SF_Aggregate = 0x0000008 SF_All = 0x0000002 SF_ComplexResult = 0x0040000 @@ -1193,7 +1279,9 @@ const ( SF_FixedLimit = 0x0004000 SF_HasAgg = 0x0000010 SF_HasTypeInfo = 0x0000080 + SF_IMMUTABLE = 0x00020000 SF_IncludeHidden = 0x0020000 + SF_LOG = 0x00400000 SF_MaybeConvert = 0x0008000 SF_MinMaxAgg = 0x0001000 SF_MultiPart = 0x2000000 @@ -1203,6 +1291,9 @@ const ( SF_PushDown = 0x1000000 SF_Recursive = 0x0002000 SF_Resolved = 0x0000004 + SF_SETTABLE = 0xffff0000 + SF_SNAPINVAL = 0x00800000 + SF_SNAPSHOT = 0x00200000 SF_UpdateFrom = 0x0800000 SF_UsesEphemeral = 0x0000020 SF_Values = 0x0000200 @@ -1211,11 +1302,13 @@ const ( SF_WinRewrite = 0x0100000 SHARED_LOCK = 1 SHARED_SIZE = 510 - SHRT_MAX = 32767 + SHRT_MAX = 0x7fff SHRT_MIN = -32768 SIG_ATOMIC_MAX = 2147483647 SIG_ATOMIC_MIN = -2147483648 + SING = 2 SIZE_MAX = 18446744073709551615 + SIZE_T_MAX = 18446744073709551615 SLIPDISC = 4 SLOT_2_0 = 0x001fc07f SLOT_4_2_0 = 0xf01fc07f @@ -1966,6 +2059,7 @@ const ( SRT_Union = 1 SRT_Upfrom = 15 SSIZE_MAX = 9223372036854775807 + SSIZE_MIN = -9223372036854775808 STAT_GET_NDLT = 4 STAT_GET_NEQ = 2 STAT_GET_NLT = 3 @@ -1986,6 +2080,10 @@ const ( STMT_COLUMN_RUN = 9 STMT_COLUMN_SQL = 0 STRIPDISC = 6 + S_ARCH1 = 65536 + S_ARCH2 = 131072 + S_BLKSIZE = 512 + S_IEXEC = 64 S_IFBLK = 24576 S_IFCHR = 8192 S_IFDIR = 16384 @@ -1994,6 +2092,8 @@ const ( S_IFMT = 61440 S_IFREG = 32768 S_IFSOCK = 49152 + S_IFWHT = 57344 + S_IREAD = 256 S_IRGRP = 0000040 S_IROTH = 0000004 S_IRUSR = 0000400 @@ -2001,10 +2101,12 @@ const ( S_IRWXO = 0000007 S_IRWXU = 0000700 S_ISGID = 0002000 + S_ISTXT = 0001000 S_ISUID = 0004000 S_ISVTX = 512 S_IWGRP = 0000020 S_IWOTH = 0000002 + S_IWRITE = 128 S_IWUSR = 0000200 S_IXGRP = 0000010 S_IXOTH = 0000001 @@ -2044,6 +2146,7 @@ const ( TF_WithoutRowid = 0x0080 TIMER_ABSTIME = 0x1 TIMER_END = 0 + TIMER_RELTIME = 0x0 TIMER_START = 0 TIME_UTC = 1 TIOCFLAG_CDTRCTS = 0x10 @@ -2253,6 +2356,7 @@ const ( TK_WINDOW = 163 TK_WITH = 81 TK_WITHOUT = 25 + TLOSS = 5 TMP_MAX = 308915776 TRANS_NONE = 0 TRANS_READ = 1 @@ -2261,7 +2365,12 @@ const ( TRIGGER_BEFORE = 1 TTLINEDNAMELEN = 32 TTYDISC = 0 - UCHAR_MAX = 255 + UCHAR_MAX = 0xff + UF_APPEND = 0x00000004 + UF_IMMUTABLE = 0x00000002 + UF_NODUMP = 0x00000001 + UF_OPAQUE = 0x00000008 + UF_SETTABLE = 0x0000ffff UID_MAX = 2147483647 UINT16_MAX = 65535 UINT32_MAX = 4294967295 @@ -2277,10 +2386,10 @@ const ( UINT_LEAST32_MAX = 4294967295 UINT_LEAST64_MAX = 18446744073709551615 UINT_LEAST8_MAX = 255 - UINT_MAX = 4294967295 - ULLONG_MAX = 18446744073709551615 - ULONG_LONG_MAX = 18446744073709551615 - ULONG_MAX = 18446744073709551615 + UINT_MAX = 0xffffffff + ULLONG_MAX = 0xffffffffffffffff + ULONG_MAX = 0xffffffffffffffff + UNDERFLOW = 4 UNIXFILE_DELETE = 0x20 UNIXFILE_DIRSYNC = 0x08 UNIXFILE_EXCL = 0x01 @@ -2292,7 +2401,10 @@ const ( UNIX_SHM_BASE = 120 UNIX_SHM_DMS = 128 UNKNOWN_LOCK = 5 - USHRT_MAX = 65535 + UQUAD_MAX = 0xffffffffffffffff + USHRT_MAX = 0xffff + UTIME_NOW = 1073741823 + UTIME_OMIT = 1073741822 VDBE_DISPLAY_P4 = 1 VDBE_MAGIC_DEAD = 0x5606c3c8 VDBE_MAGIC_HALT = 0x319c2973 @@ -2397,6 +2509,7 @@ const ( XN_EXPR = -2 XN_ROWID = -1 X_OK = 0x01 + X_TLOSS = 1.41484755040568800000e+16 YYFALLBACK = 1 YYNOCODE = 317 YYNOERRORRECOVERY = 1 @@ -2428,8 +2541,6 @@ const ( X_AMD64_INT_MWGWTYPES_H_ = 0 X_AMD64_INT_TYPES_H_ = 0 X_AMD64_WCHAR_LIMITS_H_ = 0 - X_ANSI_STDARG_H_ = 0 - X_ANSI_STDDEF_H = 0 X_BIG_ENDIAN = 4321 X_BSD_INT16_T_ = 0 X_BSD_INT32_T_ = 0 @@ -2452,10 +2563,6 @@ const ( X_FTS5INT_H = 0 X_FTS5_H = 0 X_FTSINT_H = 0 - X_GCC_LIMITS_H_ = 0 - X_GCC_MAX_ALIGN_T = 0 - X_GCC_PTRDIFF_T = 0 - X_GCC_WCHAR_T = 0 X_GETGR_R_SIZE_MAX = 1024 X_GETPW_R_SIZE_MAX = 1024 X_GNU_SOURCE = 0 @@ -2466,10 +2573,10 @@ const ( X_LARGE_FILE = 1 X_LIB_PTHREAD_TYPES_H = 0 X_LIMITS_H_ = 0 - X_LIMITS_H___ = 0 X_LITTLE_ENDIAN = 1234 X_LP64 = 1 X_MATH_H_ = 0 + X_NETBSD_SOURCE = 1 X_NETBSD_SYS_TTYCOM_H_ = 0 X_OS_COMMON_H_ = 0 X_O_SC_CLK_TCK = 3 @@ -2567,8 +2674,6 @@ const ( X_POSIX_TZNAME_MAX = 6 X_POSIX_VERSION = 200112 X_PROPLIB_PLISTREF_H_ = 0 - X_PTRDIFF_T = 0 - X_PTRDIFF_T_DECLARED = 0 X_PT_BARRIERATTR_DEAD = 0xDEAD0808 X_PT_BARRIERATTR_MAGIC = 0x88880808 X_PT_BARRIER_DEAD = 0xDEAD0008 @@ -2640,6 +2745,8 @@ const ( X_SC_MQ_OPEN_MAX = 54 X_SC_MQ_PRIO_MAX = 55 X_SC_NGROUPS_MAX = 4 + X_SC_NPROCESSORS_CONF = 1001 + X_SC_NPROCESSORS_ONLN = 1002 X_SC_OPEN_MAX = 5 X_SC_PAGESIZE = 28 X_SC_PAGE_SIZE = 28 @@ -2651,6 +2758,9 @@ const ( X_SC_REGEXP = 71 X_SC_RE_DUP_MAX = 16 X_SC_SAVED_IDS = 7 + X_SC_SCHED_PRI_MAX = 2003 + X_SC_SCHED_PRI_MIN = 2002 + X_SC_SCHED_RT_TS = 2001 X_SC_SEMAPHORES = 42 X_SC_SEM_NSEMS_MAX = 89 X_SC_SHARED_MEMORY_OBJECTS = 87 @@ -2684,15 +2794,13 @@ const ( X_SC_V6_LPBIG_OFFBIG = 77 X_SC_VERSION = 8 X_SC_XOPEN_SHM = 30 - X_SIZE_T = 0 X_SQLITE3RBU_H = 0 X_SQLITE3RTREE_H_ = 0 X_SQLITE_OS_H_ = 0 - X_STDARG_H = 0 - X_STDDEF_H = 0 X_STDDEF_H_ = 0 X_STDIO_H_ = 0 X_STDLIB_H_ = 0 + X_STRINGS_H_ = 0 X_STRING_H_ = 0 X_SYS_ANSI_H_ = 0 X_SYS_BSWAP_H_ = 0 @@ -2708,6 +2816,7 @@ const ( X_SYS_FCNTL_H_ = 0 X_SYS_FD_SET_H_ = 0 X_SYS_FILIO_H_ = 0 + X_SYS_IDTYPE_H_ = 0 X_SYS_IOCCOM_H_ = 0 X_SYS_IOCTL_H_ = 0 X_SYS_MMAN_H_ = 0 @@ -2716,6 +2825,7 @@ const ( X_SYS_SIGTYPES_H_ = 0 X_SYS_SOCKIO_H_ = 0 X_SYS_STAT_H_ = 0 + X_SYS_STDARG_H_ = 0 X_SYS_STDINT_H_ = 0 X_SYS_SYSLIMITS_H_ = 0 X_SYS_TIMESPEC_H_ = 0 @@ -2735,14 +2845,7 @@ const ( X_S_IFWHT = 0160000 X_S_ISVTX = 0001000 X_TIME_H_ = 0 - X_T_PTRDIFF = 0 - X_T_PTRDIFF_ = 0 X_UNISTD_H_ = 0 - X_VA_LIST = 0 - X_VA_LIST_ = 0 - X_VA_LIST_DEFINED = 0 - X_VA_LIST_T_H = 0 - X_WCHAR_T = 0 X_X86_64_BSWAP_H_ = 0 X_X86_64_CDEFS_H_ = 0 X_X86_64_LIMITS_H_ = 0 @@ -2819,6 +2922,69 @@ const ( WsdStatInit = 0 ) +const ( /* math.h:161:1: */ + Fdlibm_ieee = -1 + Fdlibm_svid = 0 + Fdlibm_xopen = 1 + Fdlibm_posix = 2 +) + +// $NetBSD: idtype.h,v 1.5 2016/04/09 17:02:51 riastradh Exp $ + +// - +// Copyright (c) 2016 The NetBSD Foundation, Inc. +// All rights reserved. +// +// This code is derived from software contributed to The NetBSD Foundation +// by Christos Zoulas. +// +// 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. +// +// THIS SOFTWARE IS PROVIDED BY THE NETBSD FOUNDATION, INC. 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 FOUNDATION 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. + +// Using the solaris constants, some of them are not applicable to us +// Do not re-order the list, or add elements in the middle as this will +// break the ABI of the system calls using this. We set a high private +// maximum so that new values can be added in the future without +// changing the width of the type. +const ( /* idtype.h:41:1: */ + P_MYID = -1 // Me/my process group + P_ALL = 0 // All processes. + P_PID = 1 // A process identifier. + P_LWPID = 2 // An LWP identifier. + P_PPID = 3 // A parent process identifier. + P_PGID = 4 // A process group identifier. + P_SID = 5 // A session identifier. + P_CID = 6 // A scheduling class identifier. + P_UID = 7 // A user identifier. + P_GID = 8 // A group identifier. + P_TASKID = 9 // A task identifier. + P_PROJID = 10 // A project identifier. + P_POOLID = 11 // A pool identifier. + P_ZONEID = 12 // A zone identifier. + P_CTID = 13 // A (process) contract identifier. + P_CPUID = 14 // CPU identifier. + P_PSETID = 15 // Processor set identifier. + X_P_MAXIDTYPE = 2147483647 +) + type Ptrdiff_t = int64 /* :3:26 */ type Size_t = uint64 /* :9:23 */ @@ -2890,34 +3056,34 @@ type X__float128 = float64 /* :47:21 */ var sqlite3azCompileOpt = [28]uintptr{ // BEGIN CODE GENERATED BY tool/mkctime.tcl - ts, /* "COMPILER=gcc-10...." */ - ts + 20, /* "DEFAULT_MEMSTATU..." */ - ts + 40, /* "DEFAULT_PAGE_SIZ..." */ - ts + 63, /* "ENABLE_BYTECODE_..." */ - ts + 84, /* "ENABLE_COLUMN_ME..." */ - ts + 107, /* "ENABLE_DBPAGE_VT..." */ - ts + 126, /* "ENABLE_DBSTAT_VT..." */ - ts + 145, /* "ENABLE_EXPLAIN_C..." */ - ts + 169, /* "ENABLE_FTS5" */ - ts + 181, /* "ENABLE_GEOPOLY" */ - ts + 196, /* "ENABLE_JSON1" */ - ts + 209, /* "ENABLE_MEMORY_MA..." */ - ts + 234, /* "ENABLE_OFFSET_SQ..." */ - ts + 257, /* "ENABLE_PREUPDATE..." */ - ts + 279, /* "ENABLE_RBU" */ - ts + 290, /* "ENABLE_RTREE" */ - 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" */ + ts, /* "COMPILER=gcc-7.5..." */ + ts + 19, /* "DEFAULT_MEMSTATU..." */ + ts + 39, /* "DEFAULT_PAGE_SIZ..." */ + ts + 62, /* "ENABLE_BYTECODE_..." */ + ts + 83, /* "ENABLE_COLUMN_ME..." */ + ts + 106, /* "ENABLE_DBPAGE_VT..." */ + ts + 125, /* "ENABLE_DBSTAT_VT..." */ + ts + 144, /* "ENABLE_EXPLAIN_C..." */ + ts + 168, /* "ENABLE_FTS5" */ + ts + 180, /* "ENABLE_GEOPOLY" */ + ts + 195, /* "ENABLE_JSON1" */ + ts + 208, /* "ENABLE_MEMORY_MA..." */ + ts + 233, /* "ENABLE_OFFSET_SQ..." */ + ts + 256, /* "ENABLE_PREUPDATE..." */ + ts + 278, /* "ENABLE_RBU" */ + ts + 289, /* "ENABLE_RTREE" */ + 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 */ @@ -2926,235 +3092,276 @@ func Xsqlite3CompileOptions(tls *libc.TLS, pnOpt uintptr) uintptr { /* sqlite3.c return uintptr(uintptr(unsafe.Pointer(&sqlite3azCompileOpt))) } -//************* End of ctime.c ********************************************** -//************* Begin file sqliteInt.h ************************************** -// 2001 September 15 -// -// 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. -// -// -// Internal interface definitions for SQLite. -// +// return true if value 'a' fits in type 't' -// Special Comments: -// -// Some comments have special meaning to the tools that measure test -// coverage: -// -// NO_TEST - The branches on this line are not -// measured by branch coverage. This is -// used on lines of code that actually -// implement parts of coverage testing. -// -// OPTIMIZATION-IF-TRUE - This branch is allowed to alway be false -// and the correct answer is still obtained, -// though perhaps more slowly. -// -// OPTIMIZATION-IF-FALSE - This branch is allowed to alway be true -// and the correct answer is still obtained, -// though perhaps more slowly. -// -// PREVENTS-HARMLESS-OVERREAD - This branch prevents a buffer overread -// that would be harmless and undetectable -// if it did occur. -// -// In all cases, the special comment must be enclosed in the usual -// slash-asterisk...asterisk-slash comment marks, with no spaces between the -// asterisks and the comment text. +// $NetBSD: ansi.h,v 1.14 2011/07/17 20:54:54 joerg Exp $ -// Make sure the Tcl calling convention macro is defined. This macro is -// only used by test code and Tcl integration code. +// - +// Copyright (c) 2000, 2001, 2002 The NetBSD Foundation, Inc. +// All rights reserved. +// +// This code is derived from software contributed to The NetBSD Foundation +// by Jun-ichiro itojun Hagino and by Klaus Klein. +// +// 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. +// +// THIS SOFTWARE IS PROVIDED BY THE NETBSD FOUNDATION, INC. 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 FOUNDATION 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. -// Include the header file used to customize the compiler options for MSVC. -// This should be done first so that it can successfully prevent spurious -// compiler warnings due to subsequent content in this file and other files -// that are included by this file. -//************* Include msvc.h in the middle of sqliteInt.h ***************** -//************* Begin file msvc.h ******************************************* -// 2015 January 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 code that is specific to MSVC. +// $NetBSD: ansi.h,v 1.11 2019/05/07 03:49:26 kamil Exp $ -//************* End of msvc.h *********************************************** -//************* Continuing where we left off in sqliteInt.h ***************** +// $NetBSD: common_ansi.h,v 1.1 2014/08/19 07:27:31 matt Exp $ -// Special setup for VxWorks -//************* Include vxworks.h in the middle of sqliteInt.h ************** -//************* Begin file vxworks.h **************************************** -// 2015-03-02 +// - +// Copyright (c) 2014 The NetBSD Foundation, Inc. +// All rights reserved. // -// The author disclaims copyright to this source code. In place of -// a legal notice, here is a blessing: +// This code is derived from software contributed to The NetBSD Foundation +// by Matt Thomas of 3am Software Foundry. // -// 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. +// 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. // -// -// -// This file contains code that is specific to Wind River's VxWorks -// This is not VxWorks. +// THIS SOFTWARE IS PROVIDED BY THE NETBSD FOUNDATION, INC. 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 FOUNDATION 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. -//************* End of vxworks.h ******************************************** -//************* Continuing where we left off in sqliteInt.h ***************** +// $NetBSD: cdefs.h,v 1.141 2019/02/21 21:34:05 christos Exp $ -// These #defines should enable >2GB file support on POSIX if the -// underlying operating system supports it. If the OS lacks -// large file support, or if the OS is windows, these should be no-ops. +// * Copyright (c) 1991, 1993 +// The Regents of the University of California. All rights reserved. // -// Ticket #2739: The _LARGEFILE_SOURCE macro must appear before any -// system #includes. Hence, this block of code must be the very first -// code in all source files. +// This code is derived from software contributed to Berkeley by +// Berkeley Software Design, Inc. // -// Large file support can be disabled using the -DSQLITE_DISABLE_LFS switch -// on the compiler command line. This is necessary if you are compiling -// on a recent machine (ex: Red Hat 7.2) but you want your code to work -// on an older machine (ex: Red Hat 6.0). If you compile on Red Hat 7.2 -// without this option, LFS is enable. But LFS does not exist in the kernel -// in Red Hat 6.0, so the code won't work. Hence, for maximum binary -// portability you should omit LFS. +// 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. 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. // -// The previous paragraph was written in 2005. (This paragraph is written -// on 2008-11-28.) These days, all Linux kernels support large files, so -// you should probably leave LFS enabled. But some embedded platforms might -// lack LFS in which case the SQLITE_DISABLE_LFS macro might still be useful. +// 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. // -// Similar is true for Mac OS X. LFS is only supported on Mac OS X 9 and later. +// @(#)cdefs.h 8.8 (Berkeley) 1/9/95 -// The GCC_VERSION and MSVC_VERSION macros are used to -// conditionally include optimizations for each of these compilers. A -// value of 0 means that compiler is not being used. The -// SQLITE_DISABLE_INTRINSIC macro means do not use any compiler-specific -// optimizations, and hence set all compiler macros to 0 -// -// There was once also a CLANG_VERSION macro. However, we learn that the -// version numbers in clang are for "marketing" only and are inconsistent -// and unreliable. Fortunately, all versions of clang also recognize the -// gcc version numbers and have reasonable settings for gcc version numbers, -// so the GCC_VERSION macro will be set to a correct non-zero value even -// when compiling with clang. +// $NetBSD: int_types.h,v 1.7 2014/07/25 21:43:13 joerg Exp $ -// Some C99 functions in "math.h" are only present for MSVC when its version -// is associated with Visual Studio 2013 or higher. +// - +// Copyright (c) 1990 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. 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. +// +// from: @(#)types.h 7.5 (Berkeley) 3/9/91 -// Needed for various definitions... +// $NetBSD: common_int_types.h,v 1.1 2014/07/25 21:43:13 joerg Exp $ -// Macro to disable warnings about missing "break" at the end of a "case". +// - +// Copyright (c) 2014 The NetBSD Foundation, Inc. +// All rights reserved. +// +// This code is derived from software contributed to The NetBSD Foundation +// by Joerg Sonnenberger. +// +// 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. +// +// THIS SOFTWARE IS PROVIDED BY THE NETBSD FOUNDATION, INC. 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 FOUNDATION 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. -// For MinGW, check to see if we can include the header file containing its -// version information, among other things. Normally, this internal MinGW -// header file would [only] be included automatically by other MinGW header -// files; however, the contained version information is now required by this -// header file to work around binary compatibility issues (see below) and -// this is the only known way to reliably obtain it. This entire #if block -// would be completely unnecessary if there was any other way of detecting -// MinGW via their preprocessor (e.g. if they customized their GCC to define -// some MinGW-specific macros). When compiling for MinGW, either the -// _HAVE_MINGW_H or _HAVE__MINGW_H (note the extra underscore) macro must be -// defined; otherwise, detection of conditions specific to MinGW will be -// disabled. +// 7.18.1 Integer types -// For MinGW version 4.x (and higher), check to see if the _USE_32BIT_TIME_T -// define is required to maintain binary compatibility with the MSVC runtime -// library in use (e.g. for Windows XP). +// 7.18.1.1 Exact-width integer types -// The public SQLite interface. The _FILE_OFFSET_BITS macro must appear -// first in QNX. Also, the _USE_32BIT_TIME_T macro must appear first for -// MinGW. -//************* Include sqlite3.h in the middle of sqliteInt.h ************** -//************* Begin file sqlite3.h **************************************** -// 2001-09-15 -// -// 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 header file defines the interface that the SQLite library -// presents to client programs. If a C-function, structure, datatype, -// or constant definition does not appear in this file, then it is -// not a published API of SQLite, is subject to change without -// notice, and should not be referenced by programs that use SQLite. -// -// Some of the definitions that are in this file are marked as -// "experimental". Experimental interfaces are normally new -// features recently added to SQLite. We do not anticipate changes -// to experimental interfaces but reserve the right to make minor changes -// if experience from use "in the wild" suggest such changes are prudent. -// -// The official C-language API documentation for SQLite is derived -// from comments in this file. This file is the authoritative source -// on how SQLite interfaces are supposed to operate. -// -// The name of this file under configuration management is "sqlite.h.in". -// The makefile makes some minor changes to this file (such as inserting -// the version number) and changes its name to "sqlite3.h" as -// part of the build process. -// Copyright (C) 1989-2020 Free Software Foundation, Inc. -// -// This file is part of GCC. -// -// GCC is free software; you can redistribute it and/or modify -// it under the terms of the GNU General Public License as published by -// the Free Software Foundation; either version 3, or (at your option) -// any later version. -// -// GCC 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 General Public License for more details. -// -// Under Section 7 of GPL version 3, you are granted additional -// permissions described in the GCC Runtime Library Exception, version -// 3.1, as published by the Free Software Foundation. -// -// You should have received a copy of the GNU General Public License and -// a copy of the GCC Runtime Library Exception along with this program; -// see the files COPYING3 and COPYING.RUNTIME respectively. If not, see -// . +type X__int8_t = int8 /* common_int_types.h:45:27 */ +type X__uint8_t = uint8 /* common_int_types.h:46:27 */ +type X__int16_t = int16 /* common_int_types.h:47:27 */ +type X__uint16_t = uint16 /* common_int_types.h:48:27 */ +type X__int32_t = int32 /* common_int_types.h:49:27 */ +type X__uint32_t = uint32 /* common_int_types.h:50:27 */ +type X__int64_t = int64 /* common_int_types.h:51:27 */ +type X__uint64_t = uint64 /* common_int_types.h:52:27 */ -// ISO C Standard: 7.15 Variable arguments +// 7.18.1.4 Integer types capable of holding object pointers -// Define __gnuc_va_list. +type X__intptr_t = int64 /* common_int_types.h:58:27 */ +type X__uintptr_t = uint64 /* common_int_types.h:59:26 */ -type X__gnuc_va_list = X__builtin_va_list /* stdarg.h:40:27 */ +// Types which are fundamental to the implementation and may appear in +// more than one standard header are defined here. Standard headers +// then use: +// #ifdef _BSD_SIZE_T_ +// typedef _BSD_SIZE_T_ size_t; +// #undef _BSD_SIZE_T_ +// #endif -// Define the standard macros for the user, -// if this invocation was from the user program. +type X__caddr_t = uintptr /* ansi.h:37:14 */ // core address +type X__gid_t = X__uint32_t /* ansi.h:38:20 */ // group id +type X__in_addr_t = X__uint32_t /* ansi.h:39:20 */ // IP(v4) address +type X__in_port_t = X__uint16_t /* ansi.h:40:20 */ // "Internet" port number +type X__mode_t = X__uint32_t /* ansi.h:41:20 */ // file permissions +type X__off_t = X__int64_t /* ansi.h:42:19 */ // file offset +type X__pid_t = X__int32_t /* ansi.h:43:19 */ // process id +type X__sa_family_t = X__uint8_t /* ansi.h:44:19 */ // socket address family +type X__socklen_t = uint32 /* ansi.h:45:22 */ // socket-related datum length +type X__uid_t = X__uint32_t /* ansi.h:46:20 */ // user id +type X__fsblkcnt_t = X__uint64_t /* ansi.h:47:20 */ // fs block count (statvfs) +type X__fsfilcnt_t = X__uint64_t /* ansi.h:48:20 */ +type X__wctrans_t = uintptr /* ansi.h:51:32 */ +type X__wctype_t = uintptr /* ansi.h:54:31 */ -// Define va_list, if desired, from __gnuc_va_list. -// We deliberately do not define va_list when called from -// stdio.h, because ANSI C says that stdio.h is not supposed to define -// va_list. stdio.h needs to have access to that data type, -// but must not use that name. It should use the name __gnuc_va_list, -// which is safe because it is reserved for the implementation. +// mbstate_t is an opaque object to keep conversion state, during multibyte +// stream conversions. The content must not be referenced by user programs. +type X__mbstate_t = struct { + F__mbstateL X__int64_t + F__ccgo_pad1 [120]byte +} /* ansi.h:63:3 */ -// The macro _VA_LIST_ is the same thing used by this file in Ultrix. -// But on BSD NET2 we must not test or define or undef it. -// (Note that the comments in NET 2's ansi.h -// are incorrect for _VA_LIST_--see stdio.h!) -// The macro _VA_LIST_DEFINED is used in Windows NT 3.5 -// The macro _VA_LIST is used in SCO Unix 3.2. -// The macro _VA_LIST_T_H is used in the Bull dpx2 -// The macro __va_list__ is used by BeOS. -type Va_list = X__gnuc_va_list /* stdarg.h:99:24 */ +type X__va_list = X__builtin_va_list /* ansi.h:72:27 */ + +// $NetBSD: featuretest.h,v 1.10 2013/04/26 18:29:06 christos Exp $ + +// Written by Klaus Klein , February 2, 1998. +// Public domain. +// +// NOTE: Do not protect this header against multiple inclusion. Doing +// so can have subtle side-effects due to header file inclusion order +// and testing of e.g. _POSIX_SOURCE vs. _POSIX_C_SOURCE. Instead, +// protect each CPP macro that we want to supply. + +// Feature-test macros are defined by several standards, and allow an +// application to specify what symbols they want the system headers to +// expose, and hence what standard they want them to conform to. +// There are two classes of feature-test macros. The first class +// specify complete standards, and if one of these is defined, header +// files will try to conform to the relevant standard. They are: +// +// ANSI macros: +// _ANSI_SOURCE ANSI C89 +// +// POSIX macros: +// _POSIX_SOURCE == 1 IEEE Std 1003.1 (version?) +// _POSIX_C_SOURCE == 1 IEEE Std 1003.1-1990 +// _POSIX_C_SOURCE == 2 IEEE Std 1003.2-1992 +// _POSIX_C_SOURCE == 199309L IEEE Std 1003.1b-1993 +// _POSIX_C_SOURCE == 199506L ISO/IEC 9945-1:1996 +// _POSIX_C_SOURCE == 200112L IEEE Std 1003.1-2001 +// _POSIX_C_SOURCE == 200809L IEEE Std 1003.1-2008 +// +// X/Open macros: +// _XOPEN_SOURCE System Interfaces and Headers, Issue 4, Ver 2 +// _XOPEN_SOURCE_EXTENDED == 1 XSH4.2 UNIX extensions +// _XOPEN_SOURCE == 500 System Interfaces and Headers, Issue 5 +// _XOPEN_SOURCE == 520 Networking Services (XNS), Issue 5.2 +// _XOPEN_SOURCE == 600 IEEE Std 1003.1-2001, XSI option +// _XOPEN_SOURCE == 700 IEEE Std 1003.1-2008, XSI option +// +// NetBSD macros: +// _NETBSD_SOURCE == 1 Make all NetBSD features available. +// +// If more than one of these "major" feature-test macros is defined, +// then the set of facilities provided (and namespace used) is the +// union of that specified by the relevant standards, and in case of +// conflict, the earlier standard in the above list has precedence (so +// if both _POSIX_C_SOURCE and _NETBSD_SOURCE are defined, the version +// of rename() that's used is the POSIX one). If none of the "major" +// feature-test macros is defined, _NETBSD_SOURCE is assumed. +// +// There are also "minor" feature-test macros, which enable extra +// functionality in addition to some base standard. They should be +// defined along with one of the "major" macros. The "minor" macros +// are: +// +// _REENTRANT +// _ISOC99_SOURCE +// _ISOC11_SOURCE +// _LARGEFILE_SOURCE Large File Support +// + +type Va_list = X__va_list /* stdarg.h:53:19 */ // Make sure we can call this stuff from C++. @@ -3233,7 +3440,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 + 472 /* "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} @@ -3277,21 +3484,21 @@ type sqlite3 = struct { FmTrace U8 FnoSharedCache U8 FnSqlExec U8 - _ [3]byte + F__ccgo_pad1 [3]byte FnextPagesize int32 Fmagic U32 FnChange int32 FnTotalChange int32 FaLimit [12]int32 FnMaxSorterMmap int32 - _ [4]byte + F__ccgo_pad2 [4]byte Finit struct { FnewTnum Pgno FiDb U8 Fbusy U8 - _ [2]byte + F__ccgo_pad1 [2]byte ForphanTrigger uint8 /* unsigned orphanTrigger: 1, unsigned imposterTable: 1, unsigned reopenMemdb: 1 */ - _ [7]byte + F__ccgo_pad2 [7]byte FazInit uintptr } FnVdbeActive int32 @@ -3322,9 +3529,9 @@ type sqlite3 = struct { FpCollNeededArg uintptr FpErr uintptr Fu1 struct { - _ [0]uint64 + F__ccgo_pad1 [0]uint64 FisInterrupted int32 - _ [4]byte + F__ccgo_pad2 [4]byte } Flookaside Lookaside FxAuth Sqlite3_xauth @@ -3617,7 +3824,7 @@ type sqlite3_file = struct{ FpMethods uintptr } /* sqlite3.c:1331:9 */ type Sqlite3_file = sqlite3_file /* sqlite3.c:1766:29 */ type sqlite3_io_methods = struct { FiVersion int32 - _ [4]byte + F__ccgo_pad1 [4]byte FxClose uintptr FxRead uintptr FxWrite uintptr @@ -4173,7 +4380,7 @@ type sqlite3_vfs = struct { FiVersion int32 FszOsFile int32 FmxPathname int32 - _ [4]byte + F__ccgo_pad1 [4]byte FpNext uintptr FzName uintptr FpAppData uintptr @@ -4603,16 +4810,16 @@ type Sqlite3_value = sqlite3_value /* sqlite3.c:5368:30 */ // [sqlite3_context_db_handle()], [sqlite3_get_auxdata()], // and/or [sqlite3_set_auxdata()]. type sqlite3_context = struct { - FpOut uintptr - FpFunc uintptr - FpMem uintptr - FpVdbe uintptr - FiOp int32 - FisError int32 - FskipFlag U8 - Fargc U8 - _ [6]byte - Fargv [1]uintptr + FpOut uintptr + FpFunc uintptr + FpMem uintptr + FpVdbe uintptr + FiOp int32 + FisError int32 + FskipFlag U8 + Fargc U8 + F__ccgo_pad1 [6]byte + Fargv [1]uintptr } /* sqlite3.c:1331:9 */ // CAPI3REF: SQL Function Context Object @@ -4650,10 +4857,10 @@ type Sqlite3_destructor_type = uintptr /* sqlite3.c:6747:14 */ // Structures used by the virtual table interface type sqlite3_vtab = struct { - FpModule uintptr - FnRef int32 - _ [4]byte - FzErrMsg uintptr + FpModule uintptr + FnRef int32 + F__ccgo_pad1 [4]byte + FzErrMsg uintptr } /* sqlite3.c:1331:9 */ // The interface to the virtual-table mechanism is currently considered @@ -4667,21 +4874,21 @@ type sqlite3_vtab = struct { type Sqlite3_vtab = sqlite3_vtab /* sqlite3.c:7866:29 */ type sqlite3_index_info = struct { FnConstraint int32 - _ [4]byte + F__ccgo_pad1 [4]byte FaConstraint uintptr FnOrderBy int32 - _ [4]byte + F__ccgo_pad2 [4]byte FaOrderBy uintptr FaConstraintUsage uintptr FidxNum int32 - _ [4]byte + F__ccgo_pad3 [4]byte FidxStr uintptr FneedToFreeIdxStr int32 ForderByConsumed int32 FestimatedCost float64 FestimatedRows Sqlite3_int64 FidxFlags int32 - _ [4]byte + F__ccgo_pad4 [4]byte FcolUsed Sqlite3_uint64 } /* sqlite3.c:7867:9 */ @@ -4691,7 +4898,7 @@ type sqlite3_vtab_cursor = struct{ FpVtab uintptr } /* sqlite3.c:7868:9 */ type Sqlite3_vtab_cursor = sqlite3_vtab_cursor /* sqlite3.c:7868:36 */ type sqlite3_module = struct { FiVersion int32 - _ [4]byte + F__ccgo_pad1 [4]byte FxCreate uintptr FxConnect uintptr FxBestIndex uintptr @@ -4823,7 +5030,7 @@ type sqlite3_index_constraint = struct { FiColumn int32 Fop uint8 Fusable uint8 - _ [2]byte + F__ccgo_pad1 [2]byte FiTermOffset int32 } /* sqlite3.c:7867:9 */ @@ -4928,9 +5135,9 @@ type sqlite3_index_constraint = struct { // sqlite3_libversion_number() returns a value greater than or equal to // 3009000. type sqlite3_index_orderby = struct { - FiColumn int32 - Fdesc uint8 - _ [3]byte + FiColumn int32 + Fdesc uint8 + F__ccgo_pad1 [3]byte } /* sqlite3.c:7867:9 */ // CAPI3REF: Virtual Table Indexing Information @@ -5034,9 +5241,9 @@ type sqlite3_index_orderby = struct { // sqlite3_libversion_number() returns a value greater than or equal to // 3009000. type sqlite3_index_constraint_usage = struct { - FargvIndex int32 - Fomit uint8 - _ [3]byte + FargvIndex int32 + Fomit uint8 + F__ccgo_pad1 [3]byte } /* sqlite3.c:7867:9 */ // CAPI3REF: Mutex Methods Object @@ -5201,7 +5408,7 @@ type sqlite3_str = struct { FnChar U32 FaccError U8 FprintfFlags U8 - _ [2]byte + F__ccgo_pad1 [2]byte } /* sqlite3.c:8964:9 */ // CAPI3REF: Dynamic String Object @@ -5401,20 +5608,20 @@ type Sqlite3_pcache_page = sqlite3_pcache_page /* sqlite3.c:9457:36 */ // is not obligated to free any memory, but well-behaved implementations should // do their best. type sqlite3_pcache_methods2 = struct { - FiVersion int32 - _ [4]byte - FpArg uintptr - FxInit uintptr - FxShutdown uintptr - FxCreate uintptr - FxCachesize uintptr - FxPagecount uintptr - FxFetch uintptr - FxUnpin uintptr - FxRekey uintptr - FxTruncate uintptr - FxDestroy uintptr - FxShrink uintptr + FiVersion int32 + F__ccgo_pad1 [4]byte + FpArg uintptr + FxInit uintptr + FxShutdown uintptr + FxCreate uintptr + FxCachesize uintptr + FxPagecount uintptr + FxFetch uintptr + FxUnpin uintptr + FxRekey uintptr + FxTruncate uintptr + FxDestroy uintptr + FxShrink uintptr } /* sqlite3.c:9622:9 */ // CAPI3REF: Application Defined Page Cache. @@ -5612,7 +5819,7 @@ type sqlite3_backup = struct { FiDestSchema U32 FbDestLocked int32 FiNext Pgno - _ [4]byte + F__ccgo_pad1 [4]byte FpSrcDb uintptr FpSrc uintptr Frc int32 @@ -5708,12 +5915,12 @@ type Sqlite3_snapshot = sqlite3_snapshot /* sqlite3.c:10714:3 */ // type sqlite3_rtree_geometry = struct { - FpContext uintptr - FnParam int32 - _ [4]byte - FaParam uintptr - FpUser uintptr - FxDelUser uintptr + FpContext uintptr + FnParam int32 + F__ccgo_pad1 [4]byte + FaParam uintptr + FpUser uintptr + FxDelUser uintptr } /* sqlite3.c:11039:9 */ // CAPI3REF: Flags for sqlite3_deserialize() @@ -5755,7 +5962,7 @@ type Sqlite3_rtree_geometry = sqlite3_rtree_geometry /* sqlite3.c:11039:39 */ type sqlite3_rtree_query_info = struct { FpContext uintptr FnParam int32 - _ [4]byte + F__ccgo_pad1 [4]byte FaParam uintptr FpUser uintptr FxDelUser uintptr @@ -5764,7 +5971,7 @@ type sqlite3_rtree_query_info = struct { FnCoord int32 FiLevel int32 FmxLevel int32 - _ [4]byte + F__ccgo_pad2 [4]byte FiRowid Sqlite3_int64 FrParentScore Sqlite3_rtree_dbl FeParentWithin int32 @@ -5798,7 +6005,7 @@ type sqlite3_session = struct { FbIndirect int32 FbAutoAttach int32 Frc int32 - _ [4]byte + F__ccgo_pad1 [4]byte FpFilterCtx uintptr FxTableFilter uintptr FnMalloc I64 @@ -5827,20 +6034,20 @@ type Sqlite3_session = sqlite3_session /* sqlite3.c:11155:32 */ // 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 + Fin SessionInput + Ftblhdr SessionBuffer + FbPatchset int32 + FbInvert int32 + FbSkipEmpty int32 + Frc int32 + FpConflict uintptr + FzTab uintptr + FnCol int32 + Fop int32 + FbIndirect int32 + F__ccgo_pad1 [4]byte + FabPK uintptr + FapValue uintptr } /* sqlite3.c:11163:9 */ // CAPI3REF: Changeset Iterator Handle @@ -6301,7 +6508,7 @@ type Sqlite3_rebaser = sqlite3_rebaser /* sqlite3.c:12579:32 */ type Fts5ExtensionApi1 = struct { FiVersion int32 - _ [4]byte + F__ccgo_pad1 [4]byte FxUserData uintptr FxColumnCount uintptr FxRowCount uintptr @@ -6384,7 +6591,7 @@ type Fts5_tokenizer = fts5_tokenizer /* sqlite3.c:13358:31 */ // FTS5 EXTENSION REGISTRATION API type fts5_api = struct { FiVersion int32 - _ [4]byte + F__ccgo_pad1 [4]byte FxCreateTokenizer uintptr FxFindTokenizer uintptr FxCreateFunction uintptr @@ -6508,280 +6715,12 @@ type HashElem = HashElem1 /* sqlite3.c:14071:25 */ // in the table, it is faster to do a linear search than to manage // the hash table. type _ht = struct { - Fcount uint32 - _ [4]byte - Fchain uintptr + Fcount uint32 + F__ccgo_pad1 [4]byte + Fchain uintptr } /* sqlite3.c:1331:9 */ -// return true if value 'a' fits in type 't' - -// $NetBSD: featuretest.h,v 1.10 2013/04/26 18:29:06 christos Exp $ - -// Written by Klaus Klein , February 2, 1998. -// Public domain. -// -// NOTE: Do not protect this header against multiple inclusion. Doing -// so can have subtle side-effects due to header file inclusion order -// and testing of e.g. _POSIX_SOURCE vs. _POSIX_C_SOURCE. Instead, -// protect each CPP macro that we want to supply. - -// Feature-test macros are defined by several standards, and allow an -// application to specify what symbols they want the system headers to -// expose, and hence what standard they want them to conform to. -// There are two classes of feature-test macros. The first class -// specify complete standards, and if one of these is defined, header -// files will try to conform to the relevant standard. They are: -// -// ANSI macros: -// _ANSI_SOURCE ANSI C89 -// -// POSIX macros: -// _POSIX_SOURCE == 1 IEEE Std 1003.1 (version?) -// _POSIX_C_SOURCE == 1 IEEE Std 1003.1-1990 -// _POSIX_C_SOURCE == 2 IEEE Std 1003.2-1992 -// _POSIX_C_SOURCE == 199309L IEEE Std 1003.1b-1993 -// _POSIX_C_SOURCE == 199506L ISO/IEC 9945-1:1996 -// _POSIX_C_SOURCE == 200112L IEEE Std 1003.1-2001 -// _POSIX_C_SOURCE == 200809L IEEE Std 1003.1-2008 -// -// X/Open macros: -// _XOPEN_SOURCE System Interfaces and Headers, Issue 4, Ver 2 -// _XOPEN_SOURCE_EXTENDED == 1 XSH4.2 UNIX extensions -// _XOPEN_SOURCE == 500 System Interfaces and Headers, Issue 5 -// _XOPEN_SOURCE == 520 Networking Services (XNS), Issue 5.2 -// _XOPEN_SOURCE == 600 IEEE Std 1003.1-2001, XSI option -// _XOPEN_SOURCE == 700 IEEE Std 1003.1-2008, XSI option -// -// NetBSD macros: -// _NETBSD_SOURCE == 1 Make all NetBSD features available. -// -// If more than one of these "major" feature-test macros is defined, -// then the set of facilities provided (and namespace used) is the -// union of that specified by the relevant standards, and in case of -// conflict, the earlier standard in the above list has precedence (so -// if both _POSIX_C_SOURCE and _NETBSD_SOURCE are defined, the version -// of rename() that's used is the POSIX one). If none of the "major" -// feature-test macros is defined, _NETBSD_SOURCE is assumed. -// -// There are also "minor" feature-test macros, which enable extra -// functionality in addition to some base standard. They should be -// defined along with one of the "major" macros. The "minor" macros -// are: -// -// _REENTRANT -// _ISOC99_SOURCE -// _ISOC11_SOURCE -// _LARGEFILE_SOURCE Large File Support -// - -// $NetBSD: ansi.h,v 1.14 2011/07/17 20:54:54 joerg Exp $ - -// - -// Copyright (c) 2000, 2001, 2002 The NetBSD Foundation, Inc. -// All rights reserved. -// -// This code is derived from software contributed to The NetBSD Foundation -// by Jun-ichiro itojun Hagino and by Klaus Klein. -// -// 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. -// -// THIS SOFTWARE IS PROVIDED BY THE NETBSD FOUNDATION, INC. 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 FOUNDATION 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. - -// $NetBSD: ansi.h,v 1.11 2019/05/07 03:49:26 kamil Exp $ - -// $NetBSD: common_ansi.h,v 1.1 2014/08/19 07:27:31 matt Exp $ - -// - -// Copyright (c) 2014 The NetBSD Foundation, Inc. -// All rights reserved. -// -// This code is derived from software contributed to The NetBSD Foundation -// by Matt Thomas of 3am Software Foundry. -// -// 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. -// -// THIS SOFTWARE IS PROVIDED BY THE NETBSD FOUNDATION, INC. 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 FOUNDATION 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. - -// $NetBSD: cdefs.h,v 1.141 2019/02/21 21:34:05 christos Exp $ - -// * 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. 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 - -// $NetBSD: int_types.h,v 1.7 2014/07/25 21:43:13 joerg Exp $ - -// - -// Copyright (c) 1990 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. 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. -// -// from: @(#)types.h 7.5 (Berkeley) 3/9/91 - -// $NetBSD: common_int_types.h,v 1.1 2014/07/25 21:43:13 joerg Exp $ - -// - -// Copyright (c) 2014 The NetBSD Foundation, Inc. -// All rights reserved. -// -// This code is derived from software contributed to The NetBSD Foundation -// by Joerg Sonnenberger. -// -// 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. -// -// THIS SOFTWARE IS PROVIDED BY THE NETBSD FOUNDATION, INC. 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 FOUNDATION 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. - -// 7.18.1 Integer types - -// 7.18.1.1 Exact-width integer types - -type X__int8_t = int8 /* common_int_types.h:45:27 */ -type X__uint8_t = uint8 /* common_int_types.h:46:27 */ -type X__int16_t = int16 /* common_int_types.h:47:27 */ -type X__uint16_t = uint16 /* common_int_types.h:48:27 */ -type X__int32_t = int32 /* common_int_types.h:49:27 */ -type X__uint32_t = uint32 /* common_int_types.h:50:27 */ -type X__int64_t = int64 /* common_int_types.h:51:27 */ -type X__uint64_t = uint64 /* common_int_types.h:52:27 */ - -// 7.18.1.4 Integer types capable of holding object pointers - -type X__intptr_t = int64 /* common_int_types.h:58:27 */ -type X__uintptr_t = uint64 /* common_int_types.h:59:26 */ - -// Types which are fundamental to the implementation and may appear in -// more than one standard header are defined here. Standard headers -// then use: -// #ifdef _BSD_SIZE_T_ -// typedef _BSD_SIZE_T_ size_t; -// #undef _BSD_SIZE_T_ -// #endif - -type X__caddr_t = uintptr /* ansi.h:37:14 */ // core address -type X__gid_t = X__uint32_t /* ansi.h:38:20 */ // group id -type X__in_addr_t = X__uint32_t /* ansi.h:39:20 */ // IP(v4) address -type X__in_port_t = X__uint16_t /* ansi.h:40:20 */ // "Internet" port number -type X__mode_t = X__uint32_t /* ansi.h:41:20 */ // file permissions -type X__off_t = X__int64_t /* ansi.h:42:19 */ // file offset -type X__pid_t = X__int32_t /* ansi.h:43:19 */ // process id -type X__sa_family_t = X__uint8_t /* ansi.h:44:19 */ // socket address family -type X__socklen_t = uint32 /* ansi.h:45:22 */ // socket-related datum length -type X__uid_t = X__uint32_t /* ansi.h:46:20 */ // user id -type X__fsblkcnt_t = X__uint64_t /* ansi.h:47:20 */ // fs block count (statvfs) -type X__fsfilcnt_t = X__uint64_t /* ansi.h:48:20 */ -type X__wctrans_t = uintptr /* ansi.h:51:32 */ -type X__wctype_t = uintptr /* ansi.h:54:31 */ - -// mbstate_t is an opaque object to keep conversion state, during multibyte -// stream conversions. The content must not be referenced by user programs. -type X__mbstate_t = struct { - F__mbstateL X__int64_t - _ [120]byte -} /* ansi.h:63:3 */ - -type X__va_list = X__builtin_va_list /* ansi.h:72:27 */ -type Ssize_t = int64 /* stdio.h:63:23 */ +type Ssize_t = int64 /* stdio.h:49:23 */ // $NetBSD: null.h,v 1.9 2010/07/06 11:56:20 kleink Exp $ @@ -6795,7 +6734,7 @@ type __sfpos = struct { F_pos X__off_t F_mbstate_in X__mbstate_t F_mbstate_out X__mbstate_t -} /* stdio.h:81:9 */ +} /* stdio.h:67:9 */ // $NetBSD: null.h,v 1.9 2010/07/06 11:56:20 kleink Exp $ @@ -6805,7 +6744,7 @@ type __sfpos = struct { // This is fairly grotesque, but pure ANSI code must not inspect the // innards of an fpos_t anyway. The library internally uses off_t, // which we assume is exactly as big as eight chars. -type Fpos_t = __sfpos /* stdio.h:84:3 */ +type Fpos_t = __sfpos /* stdio.h:70:3 */ // NB: to fit things in six character monocase externals, the stdio // code uses the prefix `__s' for stdio objects, typically followed @@ -6813,10 +6752,10 @@ type Fpos_t = __sfpos /* stdio.h:84:3 */ // stdio buffers type __sbuf = struct { - F_base uintptr - F_size int32 - _ [4]byte -} /* stdio.h:95:1 */ + F_base uintptr + F_size int32 + F__ccgo_pad1 [4]byte +} /* stdio.h:81:1 */ // stdio state variables. // @@ -6843,39 +6782,39 @@ type __sbuf = struct { // // NB: see WARNING above before changing the layout of this structure! type __sFILE = struct { - F_p uintptr - F_r int32 - F_w int32 - F_flags uint16 - F_file int16 - _ [4]byte - F_bf struct { - F_base uintptr - F_size int32 - _ [4]byte + F_p uintptr + F_r int32 + F_w int32 + F_flags uint16 + F_file int16 + F__ccgo_pad1 [4]byte + F_bf struct { + F_base uintptr + F_size int32 + F__ccgo_pad1 [4]byte } - F_lbfsize int32 - _ [4]byte - F_cookie uintptr - F_close uintptr - F_read uintptr - F_seek uintptr - F_write uintptr - F_ext struct { - F_base uintptr - F_size int32 - _ [4]byte + F_lbfsize int32 + F__ccgo_pad2 [4]byte + F_cookie uintptr + F_close uintptr + F_read uintptr + F_seek uintptr + F_write uintptr + F_ext struct { + F_base uintptr + F_size int32 + F__ccgo_pad1 [4]byte } - F_up uintptr - F_ur int32 - F_ubuf [3]uint8 - F_nbuf [1]uint8 - F_flush uintptr - F_lb_unused [8]int8 - F_blksize int32 - _ [4]byte - F_offset X__off_t -} /* stdio.h:126:9 */ + F_up uintptr + F_ur int32 + F_ubuf [3]uint8 + F_nbuf [1]uint8 + F_flush uintptr + F_lb_unused [8]int8 + F_blksize int32 + F__ccgo_pad3 [4]byte + F_offset X__off_t +} /* stdio.h:112:9 */ // stdio state variables. // @@ -6901,2885 +6840,18 @@ type __sFILE = struct { // _ub._base!=NULL) and _up and _ur save the current values of _p and _r. // // NB: see WARNING above before changing the layout of this structure! -type FILE = __sFILE /* stdio.h:160:3 */ +type FILE = __sFILE /* stdio.h:146:3 */ // X/Open CAE Specification Issue 5 Version 2 -type Off_t = X__off_t /* stdio.h:390:18 */ +type Off_t = X__off_t /* stdio.h:376:18 */ -type Div_t = struct { - Fquot int32 - Frem int32 -} /* stdlib.h:76:3 */ +type Locale_t = uintptr /* stdio.h:543:25 */ -type Ldiv_t = struct { - Fquot int64 - Frem int64 -} /* stdlib.h:81:3 */ +// $NetBSD: stdlib.h,v 1.121 2019/01/05 09:16:46 maya Exp $ -type Lldiv_t = struct { - Fquot int64 - Frem int64 -} /* stdlib.h:91:3 */ - -// If this symbol has done its job, get rid of it. - -// Unsigned type of `sizeof' something. - -// Define this type if we are doing the whole job, -// or if we want this type in particular. - -// Wide character type. -// Locale-writers should change this as necessary to -// be big enough to hold unique values not between 0 and 127, -// and not (wchar_t) -1, for each defined multibyte character. - -// Define this type if we are doing the whole job, -// or if we want this type in particular. - -// The references to _GCC_PTRDIFF_T_, _GCC_SIZE_T_, and _GCC_WCHAR_T_ -// are probably typos and should be removed before 2.8 is released. -// The following ones are the real ones. - -// A null pointer constant. - -// Offset of member MEMBER in a struct of type TYPE. - -// Type whose alignment is supported in every context and is at least -// as great as that of any standard type not using alignment -// specifiers. -type Max_align_t = struct { - F__max_align_ll int64 - F__max_align_ld float64 -} /* stddef.h:426:3 */ - -// Use a macro to replace memcpy() if compiled with SQLITE_INLINE_MEMCPY. -// This allows better measurements of where memcpy() is used when running -// cachegrind. But this macro version of memcpy() is very slow so it -// should not be used in production. This is a performance measurement -// hack only. - -// If compiling for a processor that lacks floating point support, -// substitute integer for floating-point - -// OMIT_TEMPDB is set to 1 if SQLITE_OMIT_TEMPDB is defined, or 0 -// afterward. Having this macro allows us to cause the C compiler -// to omit code used by TEMP tables without messy #ifndef statements. - -// The "file format" number is an integer that is incremented whenever -// the VDBE-level file format changes. The following macros define the -// the default file format for new databases and the maximum file format -// that the library can read. - -// Determine whether triggers are recursive by default. This can be -// changed at run-time using a pragma. - -// Provide a default value for SQLITE_TEMP_STORE in case it is not specified -// on the command-line - -// If no value has been provided for SQLITE_MAX_WORKER_THREADS, or if -// SQLITE_TEMP_STORE is set to 3 (never use temporary files), set it -// to zero. - -// The default initial allocation for the pagecache when using separate -// pagecaches for each database connection. A positive number is the -// number of pages. A negative number N translations means that a buffer -// of -1024*N bytes is allocated and used for as many pages as it will hold. -// -// The default value of "20" was choosen to minimize the run-time of the -// speedtest1 test program with options: --shrink-memory --reprepare - -// Default value for the SQLITE_CONFIG_SORTERREF_SIZE option. - -// The compile-time options SQLITE_MMAP_READWRITE and -// SQLITE_ENABLE_BATCH_ATOMIC_WRITE are not compatible with one another. -// You must choose one or the other (or neither) but not both. - -// GCC does not define the offsetof() macro so we'll have to do it -// ourselves. - -// Macros to compute minimum and maximum of two numbers. - -// Swap two objects of type TYPE. - -// Check to see if this machine uses EBCDIC. (Yes, believe it or -// not, there are still machines out there that use EBCDIC.) - -// Integers of known sizes. These typedefs might change for architectures -// where the sizes very. Preprocessor macros are available so that the -// types can be conveniently redefined at compile-type. Like this: -// -// cc '-DUINTPTR_TYPE=long long int' ... -type I64 = Sqlite_int64 /* sqlite3.c:14542:22 */ // 8-byte signed integer -type U64 = Sqlite_uint64 /* sqlite3.c:14543:23 */ // 8-byte unsigned integer -type U32 = uint32 /* sqlite3.c:14544:21 */ // 4-byte unsigned integer -type U16 = uint16 /* sqlite3.c:14545:21 */ // 2-byte unsigned integer -type I16 = int16 /* sqlite3.c:14546:20 */ // 2-byte signed integer -type U8 = uint8 /* sqlite3.c:14547:20 */ // 1-byte unsigned integer -type I8 = int8 /* sqlite3.c:14548:19 */ // 1-byte signed integer - -// SQLITE_MAX_U32 is a u64 constant that is the maximum u64 value -// that can be stored in a u32 without loss of data. The value -// is 0x00000000ffffffff. But because of quirks of some compilers, we -// have to specify the value in the less intuitive manner shown: - -// The datatype used to store estimates of the number of rows in a -// table or index. This is an unsigned integer type. For 99.9% of -// the world, a 32-bit integer is sufficient. But a 64-bit integer -// can be used at compile-time if desired. -type TRowcnt = U32 /* sqlite3.c:14567:14 */ // 32-bit is the default - -// Estimated quantities used for query planning are stored as 16-bit -// logarithms. For quantity X, the value stored is 10*log2(X). This -// gives a possible range of values of approximately 1.0e986 to 1e-986. -// But the allowed values are "grainy". Not every value is representable. -// For example, quantities 16 and 17 are both represented by a LogEst -// of 40. However, since LogEst quantities are suppose to be estimates, -// not exact values, this imprecision is not a problem. -// -// "LogEst" is short for "Logarithmic Estimate". -// -// Examples: -// 1 -> 0 20 -> 43 10000 -> 132 -// 2 -> 10 25 -> 46 25000 -> 146 -// 3 -> 16 100 -> 66 1000000 -> 199 -// 4 -> 20 1000 -> 99 1048576 -> 200 -// 10 -> 33 1024 -> 100 4294967296 -> 320 -// -// The LogEst can be negative to indicate fractional values. -// Examples: -// -// 0.5 -> -10 0.1 -> -33 0.0625 -> -40 -type LogEst = int16 /* sqlite3.c:14593:20 */ - -// Set the SQLITE_PTRSIZE macro to the number of bytes in a pointer - -// The uptr type is an unsigned integer large enough to hold a pointer -type Uptr = U64 /* sqlite3.c:14617:15 */ - -// An instance of the following structure is used to store the busy-handler -// callback for a given sqlite handle. -// -// The sqlite.busyHandler member of the sqlite struct contains the busy -// callback for the database handle. Each pager opened via the sqlite -// handle is passed a pointer to sqlite.busyHandler. The busy-handler -// callback is currently invoked only from within pager.c. -type BusyHandler1 = struct { - FxBusyHandler uintptr - FpBusyArg uintptr - FnBusy int32 - _ [4]byte -} /* sqlite3.c:1331:9 */ - -// An instance of the following structure is used to store the busy-handler -// callback for a given sqlite handle. -// -// The sqlite.busyHandler member of the sqlite struct contains the busy -// callback for the database handle. Each pager opened via the sqlite -// handle is passed a pointer to sqlite.busyHandler. The busy-handler -// callback is currently invoked only from within pager.c. -type BusyHandler = BusyHandler1 /* sqlite3.c:14788:28 */ - -// Name of table that holds the database schema. - -// The root-page of the schema table. - -// The name of the schema table. The name is different for TEMP. - -// A convenience macro that returns the number of elements in -// an array. - -// Determine if the argument is a power of two - -// The following value as a destructor means to use sqlite3DbFree(). -// The sqlite3DbFree() routine requires two parameters instead of the -// one parameter that destructors normally want. So we have to introduce -// this magic value that the code knows to handle differently. Any -// pointer will work here as long as it is distinct from SQLITE_STATIC -// and SQLITE_TRANSIENT. - -// When SQLITE_OMIT_WSD is defined, it means that the target platform does -// not support Writable Static Data (WSD) such as global and static variables. -// All variables must either be on the stack or dynamically allocated from -// the heap. When WSD is unsupported, the variable declarations scattered -// throughout the SQLite code must become constants instead. The SQLITE_WSD -// macro is used for this purpose. And instead of referencing the variable -// directly, we use its constant as a key to lookup the run-time allocated -// buffer that holds real variable. The constant is also the initializer -// for the run-time allocated buffer. -// -// In the usual case where WSD is supported, the SQLITE_WSD and GLOBAL -// macros become no-ops and have zero performance impact. - -// The following macros are used to suppress compiler warnings and to -// make it clear to human readers when a function parameter is deliberately -// left unused within the body of a function. This usually happens when -// a function is called via a function pointer. For example the -// implementation of an SQL aggregate step callback may not use the -// parameter indicating the number of arguments passed to the aggregate, -// if it knows that this is enforced elsewhere. -// -// When a function parameter is not used at all within the body of a function, -// it is generally named "NotUsed" or "NotUsed2" to make things even clearer. -// However, these macros may also be used to suppress warnings related to -// parameters that may or may not be used depending on compilation options. -// For example those parameters only used in assert() statements. In these -// cases the parameters are named as per the usual conventions. - -// Forward references to structures -type AggInfo1 = struct { - FdirectMode U8 - FuseSortingIdx U8 - _ [2]byte - FsortingIdx int32 - FsortingIdxPTab int32 - FnSortingColumn int32 - FmnReg int32 - FmxReg int32 - FpGroupBy uintptr - FaCol uintptr - FnColumn int32 - FnAccumulator int32 - FaFunc uintptr - FnFunc int32 - FselId U32 -} /* sqlite3.c:1331:9 */ - -// Name of table that holds the database schema. - -// The root-page of the schema table. - -// The name of the schema table. The name is different for TEMP. - -// A convenience macro that returns the number of elements in -// an array. - -// Determine if the argument is a power of two - -// The following value as a destructor means to use sqlite3DbFree(). -// The sqlite3DbFree() routine requires two parameters instead of the -// one parameter that destructors normally want. So we have to introduce -// this magic value that the code knows to handle differently. Any -// pointer will work here as long as it is distinct from SQLITE_STATIC -// and SQLITE_TRANSIENT. - -// When SQLITE_OMIT_WSD is defined, it means that the target platform does -// not support Writable Static Data (WSD) such as global and static variables. -// All variables must either be on the stack or dynamically allocated from -// the heap. When WSD is unsupported, the variable declarations scattered -// throughout the SQLite code must become constants instead. The SQLITE_WSD -// macro is used for this purpose. And instead of referencing the variable -// directly, we use its constant as a key to lookup the run-time allocated -// buffer that holds real variable. The constant is also the initializer -// for the run-time allocated buffer. -// -// In the usual case where WSD is supported, the SQLITE_WSD and GLOBAL -// macros become no-ops and have zero performance impact. - -// The following macros are used to suppress compiler warnings and to -// make it clear to human readers when a function parameter is deliberately -// left unused within the body of a function. This usually happens when -// a function is called via a function pointer. For example the -// implementation of an SQL aggregate step callback may not use the -// parameter indicating the number of arguments passed to the aggregate, -// if it knows that this is enforced elsewhere. -// -// When a function parameter is not used at all within the body of a function, -// it is generally named "NotUsed" or "NotUsed2" to make things even clearer. -// However, these macros may also be used to suppress warnings related to -// parameters that may or may not be used depending on compilation options. -// For example those parameters only used in assert() statements. In these -// cases the parameters are named as per the usual conventions. - -// Forward references to structures -type AggInfo = AggInfo1 /* sqlite3.c:14884:24 */ -type AuthContext1 = struct { - FzAuthContext uintptr - FpParse uintptr -} /* sqlite3.c:14885:9 */ - -type AuthContext = AuthContext1 /* sqlite3.c:14885:28 */ -type AutoincInfo1 = struct { - FpNext uintptr - FpTab uintptr - FiDb int32 - FregCtr int32 -} /* sqlite3.c:1331:9 */ - -type AutoincInfo = AutoincInfo1 /* sqlite3.c:14886:28 */ -type Bitvec1 = struct { - FiSize U32 - FnSet U32 - FiDivisor U32 - _ [4]byte - Fu struct { - _ [0]uint64 - FaBitmap [496]U8 - } -} /* sqlite3.c:1331:9 */ - -type Bitvec = Bitvec1 /* sqlite3.c:14887:23 */ -type CollSeq1 = struct { - FzName uintptr - Fenc U8 - _ [7]byte - FpUser uintptr - FxCmp uintptr - FxDel uintptr -} /* sqlite3.c:1331:9 */ - -type CollSeq = CollSeq1 /* sqlite3.c:14888:24 */ -type Column1 = struct { - FzName uintptr - FpDflt uintptr - FzColl uintptr - FnotNull U8 - Faffinity int8 - FszEst U8 - FhName U8 - FcolFlags U16 - _ [2]byte -} /* sqlite3.c:1331:9 */ - -type Column = Column1 /* sqlite3.c:14889:23 */ -type Cte1 = struct { - FzName uintptr - FpCols uintptr - FpSelect uintptr - FzCteErr uintptr - FpUse uintptr - FeM10d U8 - _ [7]byte -} /* sqlite3.c:1331:9 */ - -type Cte = Cte1 /* sqlite3.c:14890:20 */ -type CteUse1 = struct { - FnUse int32 - FaddrM9e int32 - FregRtn int32 - FiCur int32 - FnRowEst LogEst - FeM10d U8 - _ [1]byte -} /* sqlite3.c:1331:9 */ - -type CteUse = CteUse1 /* sqlite3.c:14891:23 */ -type Db1 = struct { - FzDbSName uintptr - FpBt uintptr - Fsafety_level U8 - FbSyncSet U8 - _ [6]byte - FpSchema uintptr -} /* sqlite3.c:1331:9 */ - -type Db = Db1 /* sqlite3.c:14892:19 */ -type DbFixer1 = struct { - FpParse uintptr - Fw Walker - FpSchema uintptr - FbTemp U8 - _ [7]byte - FzDb uintptr - FzType uintptr - FpName uintptr -} /* sqlite3.c:14893:9 */ - -type DbFixer = DbFixer1 /* sqlite3.c:14893:24 */ -type Schema1 = struct { - Fschema_cookie int32 - FiGeneration int32 - FtblHash Hash - FidxHash Hash - FtrigHash Hash - FfkeyHash Hash - FpSeqTab uintptr - Ffile_format U8 - Fenc U8 - FschemaFlags U16 - Fcache_size int32 -} /* sqlite3.c:1331:9 */ - -type Schema = Schema1 /* sqlite3.c:14894:23 */ -type Expr1 = struct { - Fop U8 - FaffExpr int8 - Fop2 U8 - _ [1]byte - Fflags U32 - Fu struct{ FzToken uintptr } - FpLeft uintptr - FpRight uintptr - Fx struct{ FpList uintptr } - FnHeight int32 - FiTable int32 - FiColumn YnVar - FiAgg I16 - FiRightJoinTable int32 - FpAggInfo uintptr - Fy struct{ FpTab uintptr } -} /* sqlite3.c:1331:9 */ - -type Expr = Expr1 /* sqlite3.c:14895:21 */ -type ExprList1 = struct { - FnExpr int32 - FnAlloc int32 - Fa [1]struct { - FpExpr uintptr - FzEName uintptr - FsortFlags U8 - _ [3]byte - FeEName uint8 /* unsigned eEName: 2, unsigned done: 1, unsigned reusable: 1, unsigned bSorterRef: 1, unsigned bNulls: 1 */ - _ [3]byte - Fu struct { - _ [0]uint32 - Fx struct { - FiOrderByCol U16 - FiAlias U16 - } - } - _ [4]byte - } -} /* sqlite3.c:1331:9 */ - -type ExprList = ExprList1 /* sqlite3.c:14896:25 */ -type FKey1 = struct { - FpFrom uintptr - FpNextFrom uintptr - FzTo uintptr - FpNextTo uintptr - FpPrevTo uintptr - FnCol int32 - FisDeferred U8 - FaAction [2]U8 - _ [1]byte - FapTrigger [2]uintptr - FaCol [1]struct { - FiFrom int32 - _ [4]byte - FzCol uintptr - } -} /* sqlite3.c:1331:9 */ - -type FKey = FKey1 /* sqlite3.c:14897:21 */ -type FuncDestructor1 = struct { - FnRef int32 - _ [4]byte - FxDestroy uintptr - FpUserData uintptr -} /* sqlite3.c:14898:9 */ - -type FuncDestructor = FuncDestructor1 /* sqlite3.c:14898:31 */ -type FuncDef1 = struct { - FnArg I8 - _ [3]byte - FfuncFlags U32 - FpUserData uintptr - FpNext uintptr - FxSFunc uintptr - FxFinalize uintptr - FxValue uintptr - FxInverse uintptr - FzName uintptr - Fu struct{ FpHash uintptr } -} /* sqlite3.c:1331:9 */ - -type FuncDef = FuncDef1 /* sqlite3.c:14899:24 */ -type FuncDefHash1 = struct{ Fa [23]uintptr } /* sqlite3.c:14900:9 */ - -type FuncDefHash = FuncDefHash1 /* sqlite3.c:14900:28 */ -type IdList1 = struct { - Fa uintptr - FnId int32 - _ [4]byte -} /* sqlite3.c:1331:9 */ - -type IdList = IdList1 /* sqlite3.c:14901:23 */ -type Index1 = struct { - FzName uintptr - FaiColumn uintptr - FaiRowLogEst uintptr - FpTable uintptr - FzColAff uintptr - FpNext uintptr - FpSchema uintptr - FaSortOrder uintptr - FazColl uintptr - FpPartIdxWhere uintptr - FaColExpr uintptr - Ftnum Pgno - FszIdxRow LogEst - FnKeyCol U16 - FnColumn U16 - FonError U8 - _ [1]byte - FidxType uint16 /* unsigned idxType: 2, unsigned bUnordered: 1, unsigned uniqNotNull: 1, unsigned isResized: 1, unsigned isCovering: 1, unsigned noSkipScan: 1, unsigned hasStat1: 1, unsigned bNoQuery: 1, unsigned bAscKeyBug: 1, unsigned bHasVCol: 1 */ - _ [2]byte - FnSample int32 - FnSampleCol int32 - FaAvgEq uintptr - FaSample uintptr - FaiRowEst uintptr - FnRowEst0 TRowcnt - _ [4]byte - FcolNotIdxed Bitmask -} /* sqlite3.c:1331:9 */ - -type Index = Index1 /* sqlite3.c:14902:22 */ -type IndexSample1 = struct { - Fp uintptr - Fn int32 - _ [4]byte - FanEq uintptr - FanLt uintptr - FanDLt uintptr -} /* sqlite3.c:1331:9 */ - -type IndexSample = IndexSample1 /* sqlite3.c:14903:28 */ -type KeyInfo1 = struct { - FnRef U32 - Fenc U8 - _ [1]byte - FnKeyField U16 - FnAllField U16 - _ [6]byte - Fdb uintptr - FaSortFlags uintptr - FaColl [1]uintptr -} /* sqlite3.c:1331:9 */ - -type KeyInfo = KeyInfo1 /* sqlite3.c:14905:24 */ -type Lookaside1 = struct { - FbDisable U32 - Fsz U16 - FszTrue U16 - FbMalloced U8 - _ [3]byte - FnSlot U32 - FanStat [3]U32 - _ [4]byte - FpInit uintptr - FpFree uintptr - FpSmallInit uintptr - FpSmallFree uintptr - FpMiddle uintptr - FpStart uintptr - FpEnd uintptr -} /* sqlite3.c:1331:9 */ - -type Lookaside = Lookaside1 /* sqlite3.c:14906:26 */ -type LookasideSlot1 = struct{ FpNext uintptr } /* sqlite3.c:1331:9 */ - -type LookasideSlot = LookasideSlot1 /* sqlite3.c:14907:30 */ -type Module1 = struct { - FpModule uintptr - FzName uintptr - FnRefModule int32 - _ [4]byte - FpAux uintptr - FxDestroy uintptr - FpEpoTab uintptr -} /* sqlite3.c:1331:9 */ - -type Module = Module1 /* sqlite3.c:14908:23 */ -type NameContext1 = struct { - FpParse uintptr - FpSrcList uintptr - FuNC struct{ FpEList uintptr } - FpNext uintptr - FnRef int32 - FnNcErr int32 - FncFlags int32 - _ [4]byte - FpWinSelect uintptr -} /* sqlite3.c:14909:9 */ - -type NameContext = NameContext1 /* sqlite3.c:14909:28 */ -type Parse1 = struct { - Fdb uintptr - FzErrMsg uintptr - FpVdbe uintptr - Frc int32 - FcolNamesSet U8 - FcheckSchema U8 - Fnested U8 - FnTempReg U8 - FisMultiWrite U8 - FmayAbort U8 - FhasCompound U8 - FokConstFactor U8 - FdisableLookaside U8 - FdisableVtab U8 - _ [2]byte - FnRangeReg int32 - FiRangeReg int32 - FnErr int32 - FnTab int32 - FnMem int32 - FszOpAlloc int32 - FiSelfTab int32 - FnLabel int32 - FnLabelAlloc int32 - _ [4]byte - FaLabel uintptr - FpConstExpr uintptr - FconstraintName Token - FwriteMask YDbMask - FcookieMask YDbMask - FregRowid int32 - FregRoot int32 - FnMaxArg int32 - FnSelect int32 - FnTableLock int32 - _ [4]byte - FaTableLock uintptr - FpAinc uintptr - FpToplevel uintptr - FpTriggerTab uintptr - FpParentParse uintptr - Fu1 struct { - _ [0]uint64 - FaddrCrTab int32 - _ [4]byte - } - FnQueryLoop U32 - Foldmask U32 - Fnewmask U32 - FeTriggerOp U8 - FbReturning U8 - FeOrconf U8 - FdisableTriggers U8 - FaTempReg [8]int32 - FsNameToken Token - FsLastToken Token - FnVar YnVar - FiPkSortOrder U8 - Fexplain U8 - FeParseMode U8 - _ [3]byte - FnVtabLock int32 - FnHeight int32 - FaddrExplain int32 - _ [4]byte - FpVList uintptr - FpReprepare uintptr - FzTail uintptr - FpNewTable uintptr - FpNewIndex uintptr - FpNewTrigger uintptr - FzAuthContext uintptr - FsArg Token - FapVtabLock uintptr - FpTriggerPrg uintptr - FpWith uintptr - FpCleanup uintptr - FpRename uintptr -} /* sqlite3.c:1331:9 */ - -type Parse = Parse1 /* sqlite3.c:14910:22 */ -type ParseCleanup1 = struct { - FpNext uintptr - FpPtr uintptr - FxCleanup uintptr -} /* sqlite3.c:1331:9 */ - -type ParseCleanup = ParseCleanup1 /* sqlite3.c:14911:29 */ -type PreUpdate1 = struct { - Fv uintptr - FpCsr uintptr - Fop int32 - _ [4]byte - FaRecord uintptr - Fkeyinfo KeyInfo - FpUnpacked uintptr - FpNewUnpacked uintptr - FiNewReg int32 - FiBlobWrite int32 - FiKey1 I64 - FiKey2 I64 - FaNew uintptr - FpTab uintptr - FpPk uintptr -} /* sqlite3.c:1331:9 */ - -type PreUpdate = PreUpdate1 /* sqlite3.c:14912:26 */ -type PrintfArguments1 = struct { - FnArg int32 - FnUsed int32 - FapArg uintptr -} /* sqlite3.c:14913:9 */ - -type PrintfArguments = PrintfArguments1 /* sqlite3.c:14913:32 */ -type RenameToken1 = struct { - Fp uintptr - Ft Token - FpNext uintptr -} /* sqlite3.c:1331:9 */ - -type RenameToken = RenameToken1 /* sqlite3.c:14914:28 */ -type Returning1 = struct { - FpParse uintptr - FpReturnEL uintptr - FretTrig Trigger - FretTStep TriggerStep - FiRetCur int32 - FnRetCol int32 - FiRetReg int32 - _ [4]byte -} /* sqlite3.c:14915:9 */ - -type Returning = Returning1 /* sqlite3.c:14915:26 */ -type RowSet1 = struct { - FpChunk uintptr - Fdb uintptr - FpEntry uintptr - FpLast uintptr - FpFresh uintptr - FpForest uintptr - FnFresh U16 - FrsFlags U16 - FiBatch int32 -} /* sqlite3.c:14916:9 */ - -type RowSet = RowSet1 /* sqlite3.c:14916:23 */ -type Savepoint1 = struct { - FzName uintptr - FnDeferredCons I64 - FnDeferredImmCons I64 - FpNext uintptr -} /* sqlite3.c:1331:9 */ - -type Savepoint = Savepoint1 /* sqlite3.c:14917:26 */ -type Select1 = struct { - Fop U8 - _ [1]byte - FnSelectRow LogEst - FselFlags U32 - FiLimit int32 - FiOffset int32 - FselId U32 - FaddrOpenEphm [2]int32 - _ [4]byte - FpEList uintptr - FpSrc uintptr - FpWhere uintptr - FpGroupBy uintptr - FpHaving uintptr - FpOrderBy uintptr - FpPrior uintptr - FpNext uintptr - FpLimit uintptr - FpWith uintptr - FpWin uintptr - FpWinDefn uintptr -} /* sqlite3.c:1331:9 */ - -type Select = Select1 /* sqlite3.c:14918:23 */ -type SQLiteThread1 = struct { - FxTask uintptr - FpIn uintptr - FpResult uintptr -} /* sqlite3.c:14919:9 */ - -type SQLiteThread = SQLiteThread1 /* sqlite3.c:14919:29 */ -type SelectDest1 = struct { - FeDest U8 - _ [3]byte - FiSDParm int32 - FiSDParm2 int32 - FiSdst int32 - FnSdst int32 - _ [4]byte - FzAffSdst uintptr - FpOrderBy uintptr -} /* sqlite3.c:14920:9 */ - -type SelectDest = SelectDest1 /* sqlite3.c:14920:27 */ -type SrcItem1 = struct { - FpSchema uintptr - FzDatabase uintptr - FzName uintptr - FzAlias uintptr - FpTab uintptr - FpSelect uintptr - FaddrFillSub int32 - FregReturn int32 - FregResult int32 - Ffg struct { - _ [0]uint32 - Fjointype U8 - _ [3]byte - FnotIndexed uint16 /* unsigned notIndexed: 1, unsigned isIndexedBy: 1, unsigned isTabFunc: 1, unsigned isCorrelated: 1, unsigned viaCoroutine: 1, unsigned isRecursive: 1, unsigned fromDDL: 1, unsigned isCte: 1, unsigned notCte: 1 */ - _ [2]byte - } - FiCursor int32 - FpOn uintptr - FpUsing uintptr - FcolUsed Bitmask - Fu1 struct{ FzIndexedBy uintptr } - Fu2 struct{ FpIBIndex uintptr } -} /* sqlite3.c:1331:9 */ - -type SrcItem = SrcItem1 /* sqlite3.c:14921:24 */ -type SrcList1 = struct { - FnSrc int32 - FnAlloc U32 - Fa [1]SrcItem -} /* sqlite3.c:1331:9 */ - -type SrcList = SrcList1 /* sqlite3.c:14922:24 */ -type StrAccum = sqlite3_str /* sqlite3.c:14923:28 */ // Internal alias for sqlite3_str -type Table1 = struct { - FzName uintptr - FaCol uintptr - FpIndex uintptr - FpSelect uintptr - FpFKey uintptr - FzColAff uintptr - FpCheck uintptr - Ftnum Pgno - FnTabRef U32 - FtabFlags U32 - FiPKey I16 - FnCol I16 - FnNVCol I16 - FnRowLogEst LogEst - FszTabRow LogEst - FkeyConf U8 - _ [1]byte - FaddColOffset int32 - FnModuleArg int32 - FazModuleArg uintptr - FpVTable uintptr - FpTrigger uintptr - FpSchema uintptr -} /* sqlite3.c:1331:9 */ - -// Internal alias for sqlite3_str -type Table = Table1 /* sqlite3.c:14924:22 */ -type TableLock1 = struct { - FiDb int32 - FiTab Pgno - FisWriteLock U8 - _ [7]byte - FzLockName uintptr -} /* sqlite3.c:1331:9 */ - -type TableLock = TableLock1 /* sqlite3.c:14925:26 */ -type Token1 = struct { - Fz uintptr - Fn uint32 - _ [4]byte -} /* sqlite3.c:1331:9 */ - -type Token = Token1 /* sqlite3.c:14926:22 */ -type Trigger1 = struct { - FzName uintptr - Ftable uintptr - Fop U8 - Ftr_tm U8 - FbReturning U8 - _ [5]byte - FpWhen uintptr - FpColumns uintptr - FpSchema uintptr - FpTabSchema uintptr - Fstep_list uintptr - FpNext uintptr -} /* sqlite3.c:1331:9 */ - -type Trigger = Trigger1 /* sqlite3.c:14928:24 */ -type TriggerPrg1 = struct { - FpTrigger uintptr - FpNext uintptr - FpProgram uintptr - Forconf int32 - FaColmask [2]U32 - _ [4]byte -} /* sqlite3.c:1331:9 */ - -type TriggerPrg = TriggerPrg1 /* sqlite3.c:14929:27 */ -type TriggerStep1 = struct { - Fop U8 - Forconf U8 - _ [6]byte - FpTrig uintptr - FpSelect uintptr - FzTarget uintptr - FpFrom uintptr - FpWhere uintptr - FpExprList uintptr - FpIdList uintptr - FpUpsert uintptr - FzSpan uintptr - FpNext uintptr - FpLast uintptr -} /* sqlite3.c:1331:9 */ - -type TriggerStep = TriggerStep1 /* sqlite3.c:14930:28 */ -type UnpackedRecord1 = struct { - FpKeyInfo uintptr - FaMem uintptr - FnField U16 - Fdefault_rc I8 - FerrCode U8 - Fr1 I8 - Fr2 I8 - FeqSeen U8 - _ [1]byte -} /* sqlite3.c:1331:9 */ - -type UnpackedRecord = UnpackedRecord1 /* sqlite3.c:14931:31 */ -type Upsert1 = struct { - FpUpsertTarget uintptr - FpUpsertTargetWhere uintptr - FpUpsertSet uintptr - FpUpsertWhere uintptr - FpNextUpsert uintptr - FisDoUpdate U8 - _ [7]byte - FpToFree uintptr - FpUpsertIdx uintptr - FpUpsertSrc uintptr - FregData int32 - FiDataCur int32 - FiIdxCur int32 - _ [4]byte -} /* sqlite3.c:1331:9 */ - -type Upsert = Upsert1 /* sqlite3.c:14932:23 */ -type VTable1 = struct { - Fdb uintptr - FpMod uintptr - FpVtab uintptr - FnRef int32 - FbConstraint U8 - FeVtabRisk U8 - _ [2]byte - FiSavepoint int32 - _ [4]byte - FpNext uintptr -} /* sqlite3.c:1331:9 */ - -type VTable = VTable1 /* sqlite3.c:14933:23 */ -type VtabCtx1 = struct { - FpVTable uintptr - FpTab uintptr - FpPrior uintptr - FbDeclared int32 - _ [4]byte -} /* sqlite3.c:1331:9 */ - -type VtabCtx = VtabCtx1 /* sqlite3.c:14934:24 */ -type Walker1 = struct { - FpParse uintptr - FxExprCallback uintptr - FxSelectCallback uintptr - FxSelectCallback2 uintptr - FwalkerDepth int32 - FeCode U16 - _ [2]byte - Fu struct{ FpNC uintptr } -} /* sqlite3.c:14893:9 */ - -type Walker = Walker1 /* sqlite3.c:14935:23 */ -type WhereInfo1 = struct { - FpParse uintptr - FpTabList uintptr - FpOrderBy uintptr - FpResultSet uintptr - FpWhere uintptr - FaiCurOnePass [2]int32 - FiContinue int32 - FiBreak int32 - FsavedNQueryLoop int32 - FwctrlFlags U16 - FiLimit LogEst - FnLevel U8 - FnOBSat I8 - FeOnePass U8 - FeDistinct U8 - FbDeferredSeek uint8 /* unsigned bDeferredSeek: 1, unsigned untestedTerms: 1, unsigned bOrderedInnerLoop: 1, unsigned sorted: 1 */ - _ [1]byte - FnRowOut LogEst - FiTop int32 - FiEndWhere int32 - FpLoops uintptr - FpExprMods uintptr - FrevMask Bitmask - FsWC WhereClause - FsMaskSet WhereMaskSet - Fa [1]WhereLevel -} /* sqlite3.c:14936:9 */ - -type WhereInfo = WhereInfo1 /* sqlite3.c:14936:26 */ -type Window1 = struct { - FzName uintptr - FzBase uintptr - FpPartition uintptr - FpOrderBy uintptr - FeFrmType U8 - FeStart U8 - FeEnd U8 - FbImplicitFrame U8 - FeExclude U8 - _ [3]byte - FpStart uintptr - FpEnd uintptr - FppThis uintptr - FpNextWin uintptr - FpFilter uintptr - FpFunc uintptr - FiEphCsr int32 - FregAccum int32 - FregResult int32 - FcsrApp int32 - FregApp int32 - FregPart int32 - FpOwner uintptr - FnBufferCol int32 - FiArgCol int32 - FregOne int32 - FregStartRowid int32 - FregEndRowid int32 - FbExprArgs U8 - _ [3]byte -} /* sqlite3.c:1331:9 */ - -type Window = Window1 /* sqlite3.c:14937:23 */ -type With1 = struct { - FnCte int32 - FbView int32 - FpOuter uintptr - Fa [1]Cte -} /* sqlite3.c:1331:9 */ - -type With = With1 /* sqlite3.c:14938:21 */ - -// The bitmask datatype defined below is used for various optimizations. -// -// Changing this from a 64-bit to a 32-bit type limits the number of -// tables in a join to 32 instead of 64. But it also reduces the size -// of the library by 738 bytes on ix86. -type Bitmask = U64 /* sqlite3.c:14951:15 */ - -// The number of bits in a Bitmask. "BMS" means "BitMask Size". - -// A bit in a Bitmask - -// A VList object records a mapping between parameters/variables/wildcards -// in the SQL statement (such as $abc, @pqr, or :xyz) and the integer -// variable number associated with that parameter. See the format description -// on the sqlite3VListAdd() routine for more information. A VList is really -// just an array of integers. -type VList = int32 /* sqlite3.c:14973:13 */ - -// Defer sourcing vdbe.h and btree.h until after the "u8" and -// "BusyHandler" typedefs. vdbe.h also requires a few of the opaque -// pointer types (i.e. FuncDef) defined above. -//************* Include pager.h in the middle of sqliteInt.h **************** -//************* Begin file pager.h ****************************************** -// 2001 September 15 -// -// 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 header file defines the interface that the sqlite page cache -// subsystem. The page cache subsystem reads and writes a file a page -// at a time and provides a journal for rollback. - -// Default maximum size for persistent journal files. A negative -// value means no limit. This value may be overridden using the -// sqlite3PagerJournalSizeLimit() API. See also "PRAGMA journal_size_limit". - -// The type used to represent a page number. The first page in a file -// is called page 1. 0 is used to represent "not a page". -type Pgno = U32 /* sqlite3.c:15014:13 */ - -// Each open file is managed by a separate instance of the "Pager" structure. -type Pager1 = struct { - FpVfs uintptr - FexclusiveMode U8 - FjournalMode U8 - FuseJournal U8 - FnoSync U8 - FfullSync U8 - FextraSync U8 - FsyncFlags U8 - FwalSyncFlags U8 - FtempFile U8 - FnoLock U8 - FreadOnly U8 - FmemDb U8 - FeState U8 - FeLock U8 - FchangeCountDone U8 - FsetSuper U8 - FdoNotSpill U8 - FsubjInMemory U8 - FbUseFetch U8 - FhasHeldSharedLock U8 - FdbSize Pgno - FdbOrigSize Pgno - FdbFileSize Pgno - FdbHintSize Pgno - FerrCode int32 - FnRec int32 - FcksumInit U32 - FnSubRec U32 - _ [4]byte - FpInJournal uintptr - Ffd uintptr - Fjfd uintptr - Fsjfd uintptr - FjournalOff I64 - FjournalHdr I64 - FpBackup uintptr - FaSavepoint uintptr - FnSavepoint int32 - FiDataVersion U32 - FdbFileVers [16]int8 - FnMmapOut int32 - _ [4]byte - FszMmap Sqlite3_int64 - FpMmapFreelist uintptr - FnExtra U16 - FnReserve I16 - FvfsFlags U32 - FsectorSize U32 - FpageSize int32 - FmxPgno Pgno - _ [4]byte - FjournalSizeLimit I64 - FzFilename uintptr - FzJournal uintptr - FxBusyHandler uintptr - FpBusyHandlerArg uintptr - FaStat [4]int32 - FnRead int32 - _ [4]byte - FxReiniter uintptr - FxGet uintptr - FpTmpSpace uintptr - FpPCache uintptr - FpWal uintptr - FzWal uintptr -} /* sqlite3.c:1331:9 */ - -// Each open file is managed by a separate instance of the "Pager" structure. -type Pager = Pager1 /* sqlite3.c:15019:22 */ - -// Handle type for pages. -type PgHdr2 = struct { - FpPage uintptr - FpData uintptr - FpExtra uintptr - FpCache uintptr - FpDirty uintptr - FpPager uintptr - Fpgno Pgno - Fflags U16 - FnRef I16 - FpDirtyNext uintptr - FpDirtyPrev uintptr -} /* sqlite3.c:1331:9 */ - -// Handle type for pages. -type DbPage = PgHdr2 /* sqlite3.c:15024:22 */ - -//************* End of pager.h ********************************************** -//************* Continuing where we left off in sqliteInt.h ***************** -//************* Include btree.h in the middle of sqliteInt.h **************** -//************* Begin file btree.h ****************************************** -// 2001 September 15 -// -// 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 header file defines the interface that the sqlite B-Tree file -// subsystem. See comments in the source code for a detailed description -// of what each interface routine does. - -// TODO: This definition is just included so other modules compile. It -// needs to be revisited. - -// If defined as non-zero, auto-vacuum is enabled by default. Otherwise -// it must be turned on for each database using "PRAGMA auto_vacuum = 1". - -// Forward declarations of structure -type Btree1 = struct { - Fdb uintptr - FpBt uintptr - FinTrans U8 - Fsharable U8 - Flocked U8 - FhasIncrblobCur U8 - FwantToLock int32 - FnBackup int32 - FiBDataVersion U32 - FpNext uintptr - FpPrev uintptr - Flock BtLock -} /* sqlite3.c:1331:9 */ - -//************* End of pager.h ********************************************** -//************* Continuing where we left off in sqliteInt.h ***************** -//************* Include btree.h in the middle of sqliteInt.h **************** -//************* Begin file btree.h ****************************************** -// 2001 September 15 -// -// 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 header file defines the interface that the sqlite B-Tree file -// subsystem. See comments in the source code for a detailed description -// of what each interface routine does. - -// TODO: This definition is just included so other modules compile. It -// needs to be revisited. - -// If defined as non-zero, auto-vacuum is enabled by default. Otherwise -// it must be turned on for each database using "PRAGMA auto_vacuum = 1". - -// Forward declarations of structure -type Btree = Btree1 /* sqlite3.c:15267:22 */ -type BtCursor1 = struct { - FeState U8 - FcurFlags U8 - FcurPagerFlags U8 - Fhints U8 - FskipNext int32 - FpBtree uintptr - FaOverflow uintptr - FpKey uintptr - FpBt uintptr - FpNext uintptr - Finfo CellInfo - FnKey I64 - FpgnoRoot Pgno - FiPage I8 - FcurIntKey U8 - Fix U16 - FaiIdx [19]U16 - _ [2]byte - FpKeyInfo uintptr - FpPage uintptr - FapPage [19]uintptr -} /* sqlite3.c:1331:9 */ - -type BtCursor = BtCursor1 /* sqlite3.c:15268:25 */ -type BtShared1 = struct { - FpPager uintptr - Fdb uintptr - FpCursor uintptr - FpPage1 uintptr - FopenFlags U8 - FautoVacuum U8 - FincrVacuum U8 - FbDoTruncate U8 - FinTransaction U8 - Fmax1bytePayload U8 - FnReserveWanted U8 - _ [1]byte - FbtsFlags U16 - FmaxLocal U16 - FminLocal U16 - FmaxLeaf U16 - FminLeaf U16 - _ [2]byte - FpageSize U32 - FusableSize U32 - FnTransaction int32 - FnPage U32 - _ [4]byte - FpSchema uintptr - FxFreeSchema uintptr - Fmutex uintptr - FpHasContent uintptr - FnRef int32 - _ [4]byte - FpNext uintptr - FpLock uintptr - FpWriter uintptr - FpTmpSpace uintptr - FnPreformatSize int32 - _ [4]byte -} /* sqlite3.c:1331:9 */ - -type BtShared = BtShared1 /* sqlite3.c:15269:25 */ -type BtreePayload1 = struct { - FpKey uintptr - FnKey Sqlite3_int64 - FpData uintptr - FaMem uintptr - FnMem U16 - _ [2]byte - FnData int32 - FnZero int32 - _ [4]byte -} /* sqlite3.c:15270:9 */ - -type BtreePayload = BtreePayload1 /* sqlite3.c:15270:29 */ - -//************* End of btree.h ********************************************** -//************* Continuing where we left off in sqliteInt.h ***************** -//************* Include vdbe.h in the middle of sqliteInt.h ***************** -//************* Begin file vdbe.h ******************************************* -// 2001 September 15 -// -// 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. -// -// -// Header file for the Virtual DataBase Engine (VDBE) -// -// This header defines the interface to the virtual database engine -// or VDBE. The VDBE implements an abstract machine that runs a -// simple program to access and modify the underlying database. -// #include - -// A single VDBE is an opaque structure named "Vdbe". Only routines -// in the source file sqliteVdbe.c are allowed to see the insides -// of this structure. -type Vdbe1 = struct { - Fdb uintptr - FpPrev uintptr - FpNext uintptr - FpParse uintptr - FnVar YnVar - _ [2]byte - FiVdbeMagic U32 - FnMem int32 - FnCursor int32 - FcacheCtr U32 - Fpc int32 - Frc int32 - FnChange int32 - FiStatement int32 - _ [4]byte - FiCurrentTime I64 - FnFkConstraint I64 - FnStmtDefCons I64 - FnStmtDefImmCons I64 - FaMem uintptr - FapArg uintptr - FapCsr uintptr - FaVar uintptr - FaOp uintptr - FnOp int32 - FnOpAlloc int32 - FaColName uintptr - FpResultSet uintptr - FzErrMsg uintptr - FpVList uintptr - FstartTime I64 - FnResColumn U16 - FerrorAction U8 - FminWriteFileFormat U8 - FprepFlags U8 - FdoingRerun U8 - _ [2]byte - Fexpired uint16 /* bft expired: 2, bft explain: 2, bft changeCntOn: 1, bft runOnlyOnce: 1, bft usesStmtJournal: 1, bft readOnly: 1, bft bIsReader: 1 */ - _ [2]byte - FbtreeMask YDbMask - FlockMask YDbMask - FaCounter [7]U32 - FzSql uintptr - FpFree uintptr - FpFrame uintptr - FpDelFrame uintptr - FnFrame int32 - Fexpmask U32 - FpProgram uintptr - FpAuxData uintptr -} /* sqlite3.c:1331:9 */ - -//************* End of btree.h ********************************************** -//************* Continuing where we left off in sqliteInt.h ***************** -//************* Include vdbe.h in the middle of sqliteInt.h ***************** -//************* Begin file vdbe.h ******************************************* -// 2001 September 15 -// -// 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. -// -// -// Header file for the Virtual DataBase Engine (VDBE) -// -// This header defines the interface to the virtual database engine -// or VDBE. The VDBE implements an abstract machine that runs a -// simple program to access and modify the underlying database. -// #include - -// A single VDBE is an opaque structure named "Vdbe". Only routines -// in the source file sqliteVdbe.c are allowed to see the insides -// of this structure. -type Vdbe = Vdbe1 /* sqlite3.c:15668:21 */ - -// The names of the following types declared in vdbeInt.h are required -// for the VdbeOp definition. -type Mem = sqlite3_value /* sqlite3.c:15674:30 */ -type SubProgram1 = struct { - FaOp uintptr - FnOp int32 - FnMem int32 - FnCsr int32 - _ [4]byte - FaOnce uintptr - Ftoken uintptr - FpNext uintptr -} /* sqlite3.c:1331:9 */ - -type SubProgram = SubProgram1 /* sqlite3.c:15675:27 */ - -// A single instruction of the virtual machine has an opcode -// and as many as three operands. The instruction is recorded -// as an instance of the following structure: -type VdbeOp1 = struct { - Fopcode U8 - Fp4type int8 - Fp5 U16 - Fp1 int32 - Fp2 int32 - Fp3 int32 - Fp4 struct { - _ [0]uint64 - Fi int32 - _ [4]byte - } - FzComment uintptr -} /* sqlite3.c:1331:9 */ - -// A single instruction of the virtual machine has an opcode -// and as many as three operands. The instruction is recorded -// as an instance of the following structure: -type p4union = struct { - _ [0]uint64 - Fi int32 - _ [4]byte -} /* sqlite3.c:1331:9 */ - -type VdbeOp = VdbeOp1 /* sqlite3.c:15721:23 */ - -// A smaller version of VdbeOp used for the VdbeAddOpList() function because -// it takes up less space. -type VdbeOpList1 = struct { - Fopcode U8 - Fp1 int8 - Fp2 int8 - Fp3 int8 -} /* sqlite3.c:15741:1 */ - -type VdbeOpList = VdbeOpList1 /* sqlite3.c:15747:27 */ - -type RecordCompare = uintptr /* sqlite3.c:16156:13 */ - -// The VdbeCoverage macros are used to set a coverage testing point -// for VDBE branch instructions. The coverage testing points are line -// numbers in the sqlite3.c source file. VDBE branch coverage testing -// only works with an amalagmation build. That's ok since a VDBE branch -// coverage build designed for testing the test suite only. No application -// should ever ship with VDBE branch coverage measuring turned on. -// -// VdbeCoverage(v) // Mark the previously coded instruction -// // as a branch -// -// VdbeCoverageIf(v, conditional) // Mark previous if conditional true -// -// VdbeCoverageAlwaysTaken(v) // Previous branch is always taken -// -// VdbeCoverageNeverTaken(v) // Previous branch is never taken -// -// VdbeCoverageNeverNull(v) // Previous three-way branch is only -// // taken on the first two ways. The -// // NULL option is not possible -// -// VdbeCoverageEqNe(v) // Previous OP_Jump is only interested -// // in distingishing equal and not-equal. -// -// Every VDBE branch operation must be tagged with one of the macros above. -// If not, then when "make test" is run with -DSQLITE_VDBE_COVERAGE and -// -DSQLITE_DEBUG then an ALWAYS() will fail in the vdbeTakeBranch() -// routine in vdbe.c, alerting the developer to the missed tag. -// -// During testing, the test application will invoke -// sqlite3_test_control(SQLITE_TESTCTRL_VDBE_COVERAGE,...) to set a callback -// routine that is invoked as each bytecode branch is taken. The callback -// contains the sqlite3.c source line number ov the VdbeCoverage macro and -// flags to indicate whether or not the branch was taken. The test application -// is responsible for keeping track of this and reporting byte-code branches -// that are never taken. -// -// See the VdbeBranchTaken() macro and vdbeTakeBranch() function in the -// vdbe.c source file for additional information. - -//************* End of vdbe.h *********************************************** -//************* Continuing where we left off in sqliteInt.h ***************** -//************* Include pcache.h in the middle of sqliteInt.h *************** -//************* Begin file pcache.h ***************************************** -// 2008 August 05 -// -// 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 header file defines the interface that the sqlite page cache -// subsystem. - -type PgHdr = PgHdr2 /* sqlite3.c:16289:22 */ -type PCache2 = struct { - FpDirty uintptr - FpDirtyTail uintptr - FpSynced uintptr - FnRefSum int32 - FszCache int32 - FszSpill int32 - FszPage int32 - FszExtra int32 - FbPurgeable U8 - FeCreate U8 - _ [2]byte - FxStress uintptr - FpStress uintptr - FpCache uintptr -} /* sqlite3.c:1331:9 */ - -type PCache = PCache2 /* sqlite3.c:16290:23 */ - -// typedef for the authorization callback function. -type Sqlite3_xauth = uintptr /* sqlite3.c:17058:15 */ - -// This is an extra SQLITE_TRACE macro that indicates "legacy" tracing -// in the style of sqlite3_trace() - -// Maximum number of sqlite3.aDb[] entries. This is the number of attached -// databases plus 2 for "main" and "temp". - -// Each database connection is an instance of the following structure. -type sqlite3InitInfo = struct { - FnewTnum Pgno - FiDb U8 - Fbusy U8 - _ [2]byte - ForphanTrigger uint8 /* unsigned orphanTrigger: 1, unsigned imposterTable: 1, unsigned reopenMemdb: 1 */ - _ [7]byte - FazInit uintptr -} /* sqlite3.c:1331:9 */ - -// Allowed values for Table.tabFlags. -// -// TF_OOOHidden applies to tables or view that have hidden columns that are -// followed by non-hidden columns. Example: "CREATE VIRTUAL TABLE x USING -// vtab1(a HIDDEN, b);". Since "b" is a non-hidden column but "a" is hidden, -// the TF_OOOHidden attribute would apply in this case. Such tables require -// special handling during INSERT processing. The "OOO" means "Out Of Order". -// -// Constraints: -// -// TF_HasVirtual == COLFLAG_VIRTUAL -// TF_HasStored == COLFLAG_STORED -// TF_HasHidden == COLFLAG_HIDDEN - -// Test to see whether or not a table is a virtual table. This is -// done as a macro so that it will be optimized out when virtual -// table support is omitted from the build. - -// Macros to determine if a column is hidden. IsOrdinaryHiddenColumn() -// only works for non-virtual tables (ordinary tables and views) and is -// always false unless SQLITE_ENABLE_HIDDEN_COLUMNS is defined. The -// IsHiddenColumn() macro is general purpose. - -// Does the table have a rowid - -// Each foreign key constraint is an instance of the following structure. -// -// A foreign key is associated with two tables. The "from" table is -// the table that contains the REFERENCES clause that creates the foreign -// key. The "to" table is the table that is named in the REFERENCES clause. -// Consider this example: -// -// CREATE TABLE ex1( -// a INTEGER PRIMARY KEY, -// b INTEGER CONSTRAINT fk1 REFERENCES ex2(x) -// ); -// -// For foreign key "fk1", the from-table is "ex1" and the to-table is "ex2". -// Equivalent names: -// -// from-table == child-table -// to-table == parent-table -// -// Each REFERENCES clause generates an instance of the following structure -// which is attached to the from-table. The to-table need not exist when -// the from-table is created. The existence of the to-table is not checked. -// -// The list of all parents for child Table X is held at X.pFKey. -// -// A list of all children for a table named Z (which might not even exist) -// is held in Schema.fkeyHash with a hash key of Z. -type sColMap = struct { - FiFrom int32 - _ [4]byte - FzCol uintptr -} /* sqlite3.c:1331:9 */ - -// An instance of this structure contains information needed to generate -// code for a SELECT that contains aggregate functions. -// -// If Expr.op==TK_AGG_COLUMN or TK_AGG_FUNCTION then Expr.pAggInfo is a -// pointer to this structure. The Expr.iAgg field is the index in -// AggInfo.aCol[] or AggInfo.aFunc[] of information needed to generate -// code for that node. -// -// AggInfo.pGroupBy and AggInfo.aFunc.pExpr point to fields within the -// original Select structure that describes the SELECT statement. These -// fields do not need to be freed when deallocating the AggInfo structure. -type AggInfo_col = struct { - FpTab uintptr - FpCExpr uintptr - FiTable int32 - FiMem int32 - FiColumn I16 - FiSorterColumn I16 - _ [4]byte -} /* sqlite3.c:1331:9 */ - -// An instance of this structure contains information needed to generate -// code for a SELECT that contains aggregate functions. -// -// If Expr.op==TK_AGG_COLUMN or TK_AGG_FUNCTION then Expr.pAggInfo is a -// pointer to this structure. The Expr.iAgg field is the index in -// AggInfo.aCol[] or AggInfo.aFunc[] of information needed to generate -// code for that node. -// -// AggInfo.pGroupBy and AggInfo.aFunc.pExpr point to fields within the -// original Select structure that describes the SELECT statement. These -// fields do not need to be freed when deallocating the AggInfo structure. -type AggInfo_func = struct { - FpFExpr uintptr - FpFunc uintptr - FiMem int32 - FiDistinct int32 - FiDistAddr int32 - _ [4]byte -} /* sqlite3.c:1331:9 */ - -// The datatype ynVar is a signed integer, either 16-bit or 32-bit. -// Usually it is 16-bits. But if SQLITE_MAX_VARIABLE_NUMBER is greater -// than 32767 we have to make it 32-bit. 16-bit is preferred because -// it uses less memory in the Expr object, which is a big memory user -// in systems with lots of prepared statements. And few applications -// need more than about 10 or 20 variables. But some extreme users want -// to have prepared statements with over 32766 variables, and for them -// the option is available (at compile-time). -type YnVar = I16 /* sqlite3.c:18212:13 */ - -// The following are the meanings of bits in the Expr.flags field. -// Value restrictions: -// -// EP_Agg == NC_HasAgg == SF_HasAgg -// EP_Win == NC_HasWin -// 0x400000 // Available -// 0x80000000 // Available - -// The EP_Propagate mask is a set of properties that automatically propagate -// upwards into parent nodes. - -// These macros can be used to test, set, or clear bits in the -// Expr.flags field. - -// Flags for use with Expr.vvaFlags - -// The ExprSetVVAProperty() macro is used for Verification, Validation, -// and Accreditation only. It works like ExprSetProperty() during VVA -// processes but is a no-op for delivery. - -// Macros to determine the number of bytes required by a normal Expr -// struct, an Expr struct with the EP_Reduced flag set in Expr.flags -// and an Expr struct with the EP_TokenOnly flag set. - -// Flags passed to the sqlite3ExprDup() function. See the header comment -// above sqlite3ExprDup() for details. - -// True if the expression passed as an argument was a function with -// an OVER() clause (a window function). - -// A list of expressions. Each expression may optionally have a -// name. An expr/name combination can be used in several ways, such -// as the list of "expr AS ID" fields following a "SELECT" or in the -// list of "ID = expr" items in an UPDATE. A list of expressions can -// also be used as the argument to a function, in which case the a.zName -// field is not used. -// -// In order to try to keep memory usage down, the Expr.a.zEName field -// is used for multiple purposes: -// -// eEName Usage -// ---------- ------------------------- -// ENAME_NAME (1) the AS of result set column -// (2) COLUMN= of an UPDATE -// -// ENAME_TAB DB.TABLE.NAME used to resolve names -// of subqueries -// -// ENAME_SPAN Text of the original result set -// expression. -type ExprList_item = struct { - FpExpr uintptr - FzEName uintptr - FsortFlags U8 - _ [3]byte - FeEName uint8 /* unsigned eEName: 2, unsigned done: 1, unsigned reusable: 1, unsigned bSorterRef: 1, unsigned bNulls: 1 */ - _ [3]byte - Fu struct { - _ [0]uint32 - Fx struct { - FiOrderByCol U16 - FiAlias U16 - } - } - _ [4]byte -} /* sqlite3.c:1331:9 */ - -// Allowed values for Expr.a.eEName - -// An instance of this structure can hold a simple list of identifiers, -// such as the list "a,b,c" in the following statements: -// -// INSERT INTO t(a,b,c) VALUES ...; -// CREATE INDEX idx ON t(a,b,c); -// CREATE TRIGGER trig BEFORE UPDATE ON t(a,b,c) ...; -// -// The IdList.a.idx field is used when the IdList represents the list of -// column names after a table name in an INSERT statement. In the statement -// -// INSERT INTO t(a,b,c) ... -// -// If "a" is the k-th column of table "t", then IdList.a[0].idx==k. -type IdList_item = struct { - FzName uintptr - Fidx int32 - _ [4]byte -} /* sqlite3.c:1331:9 */ - -// The yDbMask datatype for the bitmask of all attached databases. -type YDbMask = uint32 /* sqlite3.c:18969:24 */ - -// A pointer to this structure is used to communicate information -// from sqlite3Init and OP_ParseSchema into the sqlite3InitCallback. -type InitData = struct { - Fdb uintptr - FpzErrMsg uintptr - FiDb int32 - Frc int32 - FmInitFlags U32 - FnInitRow U32 - FmxPage Pgno - _ [4]byte -} /* sqlite3.c:19327:3 */ - -// Allowed values for mInitFlags - -// Tuning parameters are set using SQLITE_TESTCTRL_TUNE and are controlled -// on debug-builds of the CLI using ".testctrl tune ID VALUE". Tuning -// parameters are for temporary use during development, to help find -// optimial values for parameters in the query planner. The should not -// be used on trunk check-ins. They are a temporary mechanism available -// for transient development builds only. -// -// Tuning parameters are numbered starting with 1. - -// Structure containing global configuration data for the SQLite library. -// -// This structure also contains some state information. -type Sqlite3Config = struct { - FbMemstat int32 - FbCoreMutex U8 - FbFullMutex U8 - FbOpenUri U8 - FbUseCis U8 - FbSmallMalloc U8 - FbExtraSchemaChecks U8 - _ [2]byte - FmxStrlen int32 - FneverCorrupt int32 - FszLookaside int32 - FnLookaside int32 - FnStmtSpill int32 - Fm Sqlite3_mem_methods - Fmutex Sqlite3_mutex_methods - Fpcache2 Sqlite3_pcache_methods2 - FpHeap uintptr - FnHeap int32 - FmnReq int32 - FmxReq int32 - _ [4]byte - FszMmap Sqlite3_int64 - FmxMmap Sqlite3_int64 - FpPage uintptr - FszPage int32 - FnPage int32 - FmxParserStack int32 - FsharedCacheEnabled int32 - FszPma U32 - FisInit int32 - FinProgress int32 - FisMutexInit int32 - FisMallocInit int32 - FisPCacheInit int32 - FnRefInitMutex int32 - _ [4]byte - FpInitMutex uintptr - FxLog uintptr - FpLogArg uintptr - FmxMemdbSize Sqlite3_int64 - FxTestCallback uintptr - FbLocaltimeFault int32 - FiOnceResetThreshold int32 - FszSorterRef U32 - FiPrngSeed uint32 -} /* sqlite3.c:19356:1 */ - -// This macro is used inside of assert() statements to indicate that -// the assert is only valid on a well-formed database. Instead of: -// -// assert( X ); -// -// One writes: -// -// assert( X || CORRUPT_DB ); -// -// CORRUPT_DB is true during normal operation. CORRUPT_DB does not indicate -// that the database is definitely corrupt, only that it might be corrupt. -// For most test cases, CORRUPT_DB is set to false using a special -// sqlite3_test_control(). This enables assert() statements to prove -// things that are always true for well-formed databases. - -// Context pointer passed down through the tree-walk. -type SrcCount = struct { - FpSrc uintptr - FiSrcInner int32 - FnThis int32 - FnOther int32 - _ [4]byte -} /* sqlite3.c:19454:5 */ - -// This macro is used inside of assert() statements to indicate that -// the assert is only valid on a well-formed database. Instead of: -// -// assert( X ); -// -// One writes: -// -// assert( X || CORRUPT_DB ); -// -// CORRUPT_DB is true during normal operation. CORRUPT_DB does not indicate -// that the database is definitely corrupt, only that it might be corrupt. -// For most test cases, CORRUPT_DB is set to false using a special -// sqlite3_test_control(). This enables assert() statements to prove -// things that are always true for well-formed databases. - -// Context pointer passed down through the tree-walk. -type IdxCover = struct { - FpIdx uintptr - FiCur int32 - _ [4]byte -} /* sqlite3.c:19457:5 */ - -// This macro is used inside of assert() statements to indicate that -// the assert is only valid on a well-formed database. Instead of: -// -// assert( X ); -// -// One writes: -// -// assert( X || CORRUPT_DB ); -// -// CORRUPT_DB is true during normal operation. CORRUPT_DB does not indicate -// that the database is definitely corrupt, only that it might be corrupt. -// For most test cases, CORRUPT_DB is set to false using a special -// sqlite3_test_control(). This enables assert() statements to prove -// things that are always true for well-formed databases. - -// Context pointer passed down through the tree-walk. -type IdxExprTrans1 = struct { - FpIdxExpr uintptr - FiTabCur int32 - FiIdxCur int32 - FiIdxCol int32 - FiTabCol int32 - FpWInfo uintptr - Fdb uintptr -} /* sqlite3.c:19458:5 */ - -// This macro is used inside of assert() statements to indicate that -// the assert is only valid on a well-formed database. Instead of: -// -// assert( X ); -// -// One writes: -// -// assert( X || CORRUPT_DB ); -// -// CORRUPT_DB is true during normal operation. CORRUPT_DB does not indicate -// that the database is definitely corrupt, only that it might be corrupt. -// For most test cases, CORRUPT_DB is set to false using a special -// sqlite3_test_control(). This enables assert() statements to prove -// things that are always true for well-formed databases. - -// Context pointer passed down through the tree-walk. -type WindowRewrite1 = struct { - FpWin uintptr - FpSrc uintptr - FpSub uintptr - FpTab uintptr - FpSubSelect uintptr -} /* sqlite3.c:19461:5 */ - -// This macro is used inside of assert() statements to indicate that -// the assert is only valid on a well-formed database. Instead of: -// -// assert( X ); -// -// One writes: -// -// assert( X || CORRUPT_DB ); -// -// CORRUPT_DB is true during normal operation. CORRUPT_DB does not indicate -// that the database is definitely corrupt, only that it might be corrupt. -// For most test cases, CORRUPT_DB is set to false using a special -// sqlite3_test_control(). This enables assert() statements to prove -// things that are always true for well-formed databases. - -// Context pointer passed down through the tree-walk. -type WhereConst1 = struct { - FpParse uintptr - FpOomFault uintptr - FnConst int32 - FnChng int32 - FbHasAffBlob int32 - _ [4]byte - FapExpr uintptr -} /* sqlite3.c:19462:5 */ - -// This macro is used inside of assert() statements to indicate that -// the assert is only valid on a well-formed database. Instead of: -// -// assert( X ); -// -// One writes: -// -// assert( X || CORRUPT_DB ); -// -// CORRUPT_DB is true during normal operation. CORRUPT_DB does not indicate -// that the database is definitely corrupt, only that it might be corrupt. -// For most test cases, CORRUPT_DB is set to false using a special -// sqlite3_test_control(). This enables assert() statements to prove -// things that are always true for well-formed databases. - -// Context pointer passed down through the tree-walk. -type RenameCtx1 = struct { - FpList uintptr - FnList int32 - FiCol int32 - FpTab uintptr - FzOld uintptr -} /* sqlite3.c:19463:5 */ - -//************* End of sqliteInt.h ****************************************** -//************* Begin file global.c ***************************************** -// 2008 June 13 -// -// 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 definitions of global variables and constants. -// #include "sqliteInt.h" - -// An array to map all upper-case characters into their corresponding -// lower-case character. -// -// SQLite only considers US-ASCII (or EBCDIC) characters. We do not -// handle case conversions for the UTF character set since the tables -// involved are nearly as big or bigger than SQLite itself. -var Xsqlite3UpperToLower = [274]uint8{ - uint8(0), uint8(1), uint8(2), uint8(3), uint8(4), uint8(5), uint8(6), uint8(7), uint8(8), uint8(9), uint8(10), uint8(11), uint8(12), uint8(13), uint8(14), uint8(15), uint8(16), uint8(17), - uint8(18), uint8(19), uint8(20), uint8(21), uint8(22), uint8(23), uint8(24), uint8(25), uint8(26), uint8(27), uint8(28), uint8(29), uint8(30), uint8(31), uint8(32), uint8(33), uint8(34), uint8(35), - uint8(36), uint8(37), uint8(38), uint8(39), uint8(40), uint8(41), uint8(42), uint8(43), uint8(44), uint8(45), uint8(46), uint8(47), uint8(48), uint8(49), uint8(50), uint8(51), uint8(52), uint8(53), - uint8(54), uint8(55), uint8(56), uint8(57), uint8(58), uint8(59), uint8(60), uint8(61), uint8(62), uint8(63), uint8(64), uint8(97), uint8(98), uint8(99), uint8(100), uint8(101), uint8(102), uint8(103), - uint8(104), uint8(105), uint8(106), uint8(107), uint8(108), uint8(109), uint8(110), uint8(111), uint8(112), uint8(113), uint8(114), uint8(115), uint8(116), uint8(117), uint8(118), uint8(119), uint8(120), uint8(121), - uint8(122), uint8(91), uint8(92), uint8(93), uint8(94), uint8(95), uint8(96), uint8(97), uint8(98), uint8(99), uint8(100), uint8(101), uint8(102), uint8(103), uint8(104), uint8(105), uint8(106), uint8(107), - uint8(108), uint8(109), uint8(110), uint8(111), uint8(112), uint8(113), uint8(114), uint8(115), uint8(116), uint8(117), uint8(118), uint8(119), uint8(120), uint8(121), uint8(122), uint8(123), uint8(124), uint8(125), - uint8(126), uint8(127), uint8(128), uint8(129), uint8(130), uint8(131), uint8(132), uint8(133), uint8(134), uint8(135), uint8(136), uint8(137), uint8(138), uint8(139), uint8(140), uint8(141), uint8(142), uint8(143), - uint8(144), uint8(145), uint8(146), uint8(147), uint8(148), uint8(149), uint8(150), uint8(151), uint8(152), uint8(153), uint8(154), uint8(155), uint8(156), uint8(157), uint8(158), uint8(159), uint8(160), uint8(161), - uint8(162), uint8(163), uint8(164), uint8(165), uint8(166), uint8(167), uint8(168), uint8(169), uint8(170), uint8(171), uint8(172), uint8(173), uint8(174), uint8(175), uint8(176), uint8(177), uint8(178), uint8(179), - uint8(180), uint8(181), uint8(182), uint8(183), uint8(184), uint8(185), uint8(186), uint8(187), uint8(188), uint8(189), uint8(190), uint8(191), uint8(192), uint8(193), uint8(194), uint8(195), uint8(196), uint8(197), - uint8(198), uint8(199), uint8(200), uint8(201), uint8(202), uint8(203), uint8(204), uint8(205), uint8(206), uint8(207), uint8(208), uint8(209), uint8(210), uint8(211), uint8(212), uint8(213), uint8(214), uint8(215), - uint8(216), uint8(217), uint8(218), uint8(219), uint8(220), uint8(221), uint8(222), uint8(223), uint8(224), uint8(225), uint8(226), uint8(227), uint8(228), uint8(229), uint8(230), uint8(231), uint8(232), uint8(233), - uint8(234), uint8(235), uint8(236), uint8(237), uint8(238), uint8(239), uint8(240), uint8(241), uint8(242), uint8(243), uint8(244), uint8(245), uint8(246), uint8(247), uint8(248), uint8(249), uint8(250), uint8(251), - uint8(252), uint8(253), uint8(254), uint8(255), - // All of the upper-to-lower conversion data is above. The following - // 18 integers are completely unrelated. They are appended to the - // sqlite3UpperToLower[] array to avoid UBSAN warnings. Here's what is - // going on: - // - // The SQL comparison operators (<>, =, >, <=, <, and >=) are implemented - // by invoking sqlite3MemCompare(A,B) which compares values A and B and - // returns negative, zero, or positive if A is less then, equal to, or - // greater than B, respectively. Then the true false results is found by - // consulting sqlite3aLTb[opcode], sqlite3aEQb[opcode], or - // sqlite3aGTb[opcode] depending on whether the result of compare(A,B) - // is negative, zero, or positive, where opcode is the specific opcode. - // The only works because the comparison opcodes are consecutive and in - // this order: NE EQ GT LE LT GE. Various assert()s throughout the code - // ensure that is the case. - // - // These elements must be appended to another array. Otherwise the - // index (here shown as [256-OP_Ne]) would be out-of-bounds and thus - // be undefined behavior. That's goofy, but the C-standards people thought - // it was a good idea, so here we are. - // NE EQ GT LE LT GE - uint8(1), uint8(0), uint8(0), uint8(1), uint8(1), uint8(0), // aLTb[]: Use when compare(A,B) less than zero - uint8(0), uint8(1), uint8(0), uint8(1), uint8(0), uint8(1), // aEQb[]: Use when compare(A,B) equals zero - uint8(1), uint8(0), uint8(1), uint8(0), uint8(0), uint8(1), // aGTb[]: Use when compare(A,B) greater than zero -} /* sqlite3.c:20818:36 */ -var Xsqlite3aLTb uintptr = 0 /* sqlite3.c:20880:36 */ -var Xsqlite3aEQb uintptr = 0 /* sqlite3.c:20881:36 */ -var Xsqlite3aGTb uintptr = 0 /* sqlite3.c:20882:36 */ - -// The following 256 byte lookup table is used to support SQLites built-in -// equivalents to the following standard library functions: -// -// isspace() 0x01 -// isalpha() 0x02 -// isdigit() 0x04 -// isalnum() 0x06 -// isxdigit() 0x08 -// toupper() 0x20 -// SQLite identifier character 0x40 -// Quote character 0x80 -// -// Bit 0x20 is set if the mapped character requires translation to upper -// case. i.e. if the character is a lower-case ASCII character. -// If x is a lower-case ASCII character, then its upper-case equivalent -// is (x - 0x20). Therefore toupper() can be implemented as: -// -// (x & ~(map[x]&0x20)) -// -// The equivalent of tolower() is implemented using the sqlite3UpperToLower[] -// array. tolower() is used more often than toupper() by SQLite. -// -// Bit 0x40 is set if the character is non-alphanumeric and can be used in an -// SQLite identifier. Identifiers are alphanumerics, "_", "$", and any -// non-ASCII UTF character. Hence the test for whether or not a character is -// part of an identifier is 0x46. -var Xsqlite3CtypeMap = [256]uint8{ - uint8(0x00), uint8(0x00), uint8(0x00), uint8(0x00), uint8(0x00), uint8(0x00), uint8(0x00), uint8(0x00), // 00..07 ........ - uint8(0x00), uint8(0x01), uint8(0x01), uint8(0x01), uint8(0x01), uint8(0x01), uint8(0x00), uint8(0x00), // 08..0f ........ - uint8(0x00), uint8(0x00), uint8(0x00), uint8(0x00), uint8(0x00), uint8(0x00), uint8(0x00), uint8(0x00), // 10..17 ........ - uint8(0x00), uint8(0x00), uint8(0x00), uint8(0x00), uint8(0x00), uint8(0x00), uint8(0x00), uint8(0x00), // 18..1f ........ - uint8(0x01), uint8(0x00), uint8(0x80), uint8(0x00), uint8(0x40), uint8(0x00), uint8(0x00), uint8(0x80), // 20..27 !"#$%&' - uint8(0x00), uint8(0x00), uint8(0x00), uint8(0x00), uint8(0x00), uint8(0x00), uint8(0x00), uint8(0x00), // 28..2f ()*+,-./ - uint8(0x0c), uint8(0x0c), uint8(0x0c), uint8(0x0c), uint8(0x0c), uint8(0x0c), uint8(0x0c), uint8(0x0c), // 30..37 01234567 - uint8(0x0c), uint8(0x0c), uint8(0x00), uint8(0x00), uint8(0x00), uint8(0x00), uint8(0x00), uint8(0x00), // 38..3f 89:;<=>? - - uint8(0x00), uint8(0x0a), uint8(0x0a), uint8(0x0a), uint8(0x0a), uint8(0x0a), uint8(0x0a), uint8(0x02), // 40..47 @ABCDEFG - uint8(0x02), uint8(0x02), uint8(0x02), uint8(0x02), uint8(0x02), uint8(0x02), uint8(0x02), uint8(0x02), // 48..4f HIJKLMNO - uint8(0x02), uint8(0x02), uint8(0x02), uint8(0x02), uint8(0x02), uint8(0x02), uint8(0x02), uint8(0x02), // 50..57 PQRSTUVW - uint8(0x02), uint8(0x02), uint8(0x02), uint8(0x80), uint8(0x00), uint8(0x00), uint8(0x00), uint8(0x40), // 58..5f XYZ[\]^_ - uint8(0x80), uint8(0x2a), uint8(0x2a), uint8(0x2a), uint8(0x2a), uint8(0x2a), uint8(0x2a), uint8(0x22), // 60..67 `abcdefg - uint8(0x22), uint8(0x22), uint8(0x22), uint8(0x22), uint8(0x22), uint8(0x22), uint8(0x22), uint8(0x22), // 68..6f hijklmno - uint8(0x22), uint8(0x22), uint8(0x22), uint8(0x22), uint8(0x22), uint8(0x22), uint8(0x22), uint8(0x22), // 70..77 pqrstuvw - uint8(0x22), uint8(0x22), uint8(0x22), uint8(0x00), uint8(0x00), uint8(0x00), uint8(0x00), uint8(0x00), // 78..7f xyz{|}~. - - uint8(0x40), uint8(0x40), uint8(0x40), uint8(0x40), uint8(0x40), uint8(0x40), uint8(0x40), uint8(0x40), // 80..87 ........ - uint8(0x40), uint8(0x40), uint8(0x40), uint8(0x40), uint8(0x40), uint8(0x40), uint8(0x40), uint8(0x40), // 88..8f ........ - uint8(0x40), uint8(0x40), uint8(0x40), uint8(0x40), uint8(0x40), uint8(0x40), uint8(0x40), uint8(0x40), // 90..97 ........ - uint8(0x40), uint8(0x40), uint8(0x40), uint8(0x40), uint8(0x40), uint8(0x40), uint8(0x40), uint8(0x40), // 98..9f ........ - uint8(0x40), uint8(0x40), uint8(0x40), uint8(0x40), uint8(0x40), uint8(0x40), uint8(0x40), uint8(0x40), // a0..a7 ........ - uint8(0x40), uint8(0x40), uint8(0x40), uint8(0x40), uint8(0x40), uint8(0x40), uint8(0x40), uint8(0x40), // a8..af ........ - uint8(0x40), uint8(0x40), uint8(0x40), uint8(0x40), uint8(0x40), uint8(0x40), uint8(0x40), uint8(0x40), // b0..b7 ........ - uint8(0x40), uint8(0x40), uint8(0x40), uint8(0x40), uint8(0x40), uint8(0x40), uint8(0x40), uint8(0x40), // b8..bf ........ - - uint8(0x40), uint8(0x40), uint8(0x40), uint8(0x40), uint8(0x40), uint8(0x40), uint8(0x40), uint8(0x40), // c0..c7 ........ - uint8(0x40), uint8(0x40), uint8(0x40), uint8(0x40), uint8(0x40), uint8(0x40), uint8(0x40), uint8(0x40), // c8..cf ........ - uint8(0x40), uint8(0x40), uint8(0x40), uint8(0x40), uint8(0x40), uint8(0x40), uint8(0x40), uint8(0x40), // d0..d7 ........ - uint8(0x40), uint8(0x40), uint8(0x40), uint8(0x40), uint8(0x40), uint8(0x40), uint8(0x40), uint8(0x40), // d8..df ........ - uint8(0x40), uint8(0x40), uint8(0x40), uint8(0x40), uint8(0x40), uint8(0x40), uint8(0x40), uint8(0x40), // e0..e7 ........ - uint8(0x40), uint8(0x40), uint8(0x40), uint8(0x40), uint8(0x40), uint8(0x40), uint8(0x40), uint8(0x40), // e8..ef ........ - uint8(0x40), uint8(0x40), uint8(0x40), uint8(0x40), uint8(0x40), uint8(0x40), uint8(0x40), uint8(0x40), // f0..f7 ........ - uint8(0x40), uint8(0x40), uint8(0x40), uint8(0x40), uint8(0x40), uint8(0x40), uint8(0x40), uint8(0x40), // f8..ff ........ -} /* sqlite3.c:20912:36 */ - -// EVIDENCE-OF: R-02982-34736 In order to maintain full backwards -// compatibility for legacy applications, the URI filename capability is -// disabled by default. -// -// EVIDENCE-OF: R-38799-08373 URI filenames can be enabled or disabled -// using the SQLITE_USE_URI=1 or SQLITE_USE_URI=0 compile-time options. -// -// EVIDENCE-OF: R-43642-56306 By default, URI handling is globally -// disabled. The default value may be changed by compiling with the -// SQLITE_USE_URI symbol defined. - -// EVIDENCE-OF: R-38720-18127 The default setting is determined by the -// SQLITE_ALLOW_COVERING_INDEX_SCAN compile-time option, or is "on" if -// that compile-time option is omitted. - -// The minimum PMA size is set to this value multiplied by the database -// page size in bytes. - -// Statement journals spill to disk when their size exceeds the following -// threshold (in bytes). 0 means that statement journals are created and -// written to disk immediately (the default behavior for SQLite versions -// before 3.12.0). -1 means always keep the entire statement journal in -// memory. (The statement journal is also always held entirely in memory -// if journal_mode=MEMORY or if temp_store=MEMORY, regardless of this -// setting.) - -// The default lookaside-configuration, the format "SZ,N". SZ is the -// number of bytes in each lookaside slot (should be a multiple of 8) -// and N is the number of slots. The lookaside-configuration can be -// changed as start-time using sqlite3_config(SQLITE_CONFIG_LOOKASIDE) -// or at run-time for an individual database connection using -// sqlite3_db_config(db, SQLITE_DBCONFIG_LOOKASIDE); -// -// With the two-size-lookaside enhancement, less lookaside is required. -// The default configuration of 1200,40 actually provides 30 1200-byte slots -// and 93 128-byte slots, which is more lookaside than is available -// using the older 1200,100 configuration without two-size-lookaside. - -// The default maximum size of an in-memory database created using -// sqlite3_deserialize() - -// The following singleton contains the global configuration for -// the SQLite library. -var Xsqlite3Config = Sqlite3Config{ // bMemstat - FbCoreMutex: U8(1), // bCoreMutex - FbFullMutex: (U8(libc.Bool32(SQLITE_THREADSAFE == 1))), // bOpenUri - FbUseCis: U8(SQLITE_ALLOW_COVERING_INDEX_SCAN), // bSmallMalloc - FbExtraSchemaChecks: U8(1), // bExtraSchemaChecks - FmxStrlen: 0x7ffffffe, // neverCorrupt - FszLookaside: 1200, FnLookaside: 40, // szLookaside, nLookaside - FnStmtSpill: (64 * 1024), // szPage - FnPage: SQLITE_DEFAULT_PCACHE_INITSZ, // sharedCacheEnabled - FszPma: U32(SQLITE_SORTER_PMASZ), // pLogArg - FmxMemdbSize: int64(SQLITE_MEMDB_DEFAULT_MAXSIZE), // bLocaltimeFault - FiOnceResetThreshold: 0x7ffffffe, // iOnceResetThreshold - FszSorterRef: U32(SQLITE_DEFAULT_SORTERREF_SIZE), // iPrngSeed -} /* sqlite3.c:21032:48 */ - -// Hash table for global functions - functions common to all -// database connections. After initialization, this table is -// read-only. -var Xsqlite3BuiltinFunctions FuncDefHash /* sqlite3.c:21093:28: */ - -// The value of the "pending" byte must be 0x40000000 (1 byte past the -// 1-gibabyte boundary) in a compatible database. SQLite never uses -// the database page that contains the pending byte. It never attempts -// to read or write that page. The pending byte page is set aside -// for use by the VFS layers as space for managing file locks. -// -// During testing, it is often desirable to move the pending byte to -// a different position in the file. This allows code that has to -// deal with the pending byte to run on files that are much smaller -// than 1 GiB. The sqlite3_test_control() interface can be used to -// move the pending byte. -// -// IMPORTANT: Changing the pending byte to any value other than -// 0x40000000 results in an incompatible database file format! -// Changing the pending byte during operation will result in undefined -// and incorrect behavior. -var Xsqlite3PendingByte int32 = 0x40000000 /* sqlite3.c:21122:20 */ - -// Tracing flags set by SQLITE_TESTCTRL_TRACEFLAGS. -var Xsqlite3SelectTrace U32 = U32(0) /* sqlite3.c:21128:20 */ -var Xsqlite3WhereTrace U32 = U32(0) /* sqlite3.c:21129:20 */ - -// #include "opcodes.h" -// Properties of opcodes. The OPFLG_INITIALIZER macro is -// created by mkopcodeh.awk during compilation. Data is obtained -// from the comments following the "case OP_xxxx:" statements in -// the vdbe.c file. -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 + 479 /* "BINARY" */)) /* sqlite3.c:21143:27 */ - -//************* End of global.c ********************************************* -//************* Begin file status.c ***************************************** -// 2008 June 18 -// -// 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 module implements the sqlite3_status() interface and related -// functionality. -// #include "sqliteInt.h" -//************* Include vdbeInt.h in the middle of status.c ***************** -//************* Begin file vdbeInt.h **************************************** -// 2003 September 6 -// -// 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 is the header file for information that is private to the -// VDBE. This information used to all be at the top of the single -// source code file "vdbe.c". When that file became too big (over -// 6000 lines long) it was split up into several smaller files and -// this header information was factored out. - -// The maximum number of times that a statement will try to reparse -// itself before giving up and returning SQLITE_SCHEMA. - -// VDBE_DISPLAY_P4 is true or false depending on whether or not the -// "explain" P4 display logic is enabled. - -// SQL is translated into a sequence of instructions to be -// executed by a virtual machine. Each instruction is an instance -// of the following structure. -type Op = VdbeOp1 /* sqlite3.c:21210:23 */ - -// Boolean values -type Bool = uint32 /* sqlite3.c:21215:18 */ - -// Opaque type used by code in vdbesort.c -type VdbeSorter1 = struct { - FmnPmaSize int32 - FmxPmaSize int32 - FmxKeysize int32 - Fpgsz int32 - FpReader uintptr - FpMerger uintptr - Fdb uintptr - FpKeyInfo uintptr - FpUnpacked uintptr - Flist SorterList - FiMemory int32 - FnMemory int32 - FbUsePMA U8 - FbUseThreads U8 - FiPrev U8 - FnTask U8 - FtypeMask U8 - _ [3]byte - FaTask [1]SortSubtask -} /* sqlite3.c:21218:9 */ - -// Opaque type used by code in vdbesort.c -type VdbeSorter = VdbeSorter1 /* sqlite3.c:21218:27 */ - -// Elements of the linked list at Vdbe.pAuxData -type AuxData1 = struct { - FiAuxOp int32 - FiAuxArg int32 - FpAux uintptr - FxDeleteAux uintptr - FpNextAux uintptr -} /* sqlite3.c:1331:9 */ - -// Elements of the linked list at Vdbe.pAuxData -type AuxData = AuxData1 /* sqlite3.c:21221:24 */ - -// Types of VDBE cursors - -// A VdbeCursor is an superclass (a wrapper) for various cursor objects: -// -// * A b-tree cursor -// - In the main database or in an ephemeral database -// - On either an index or a table -// * A sorter -// * A virtual table -// * A one-row "pseudotable" stored in a single register -type VdbeCursor1 = struct { - FeCurType U8 - FiDb I8 - FnullRow U8 - FdeferredMoveto U8 - FisTable U8 - _ [3]byte - FisEphemeral uint8 /* Bool isEphemeral: 1, Bool useRandomRowid: 1, Bool isOrdered: 1, Bool hasBeenDuped: 1 */ - _ [1]byte - FseekHit U16 - _ [4]byte - FpBtx uintptr - FseqCount I64 - FaAltMap uintptr - FcacheStatus U32 - FseekResult int32 - FpAltCursor uintptr - Fuc struct{ FpCursor uintptr } - FpKeyInfo uintptr - FiHdrOffset U32 - FpgnoRoot Pgno - FnField I16 - FnHdrParsed U16 - _ [4]byte - FmovetoTarget I64 - FaOffset uintptr - FaRow uintptr - FpayloadSize U32 - FszRow U32 - FaType [1]U32 - _ [4]byte -} /* sqlite3.c:1331:9 */ - -// Types of VDBE cursors - -// A VdbeCursor is an superclass (a wrapper) for various cursor objects: -// -// * A b-tree cursor -// - In the main database or in an ephemeral database -// - On either an index or a table -// * A sorter -// * A virtual table -// * A one-row "pseudotable" stored in a single register -type VdbeCursor = VdbeCursor1 /* sqlite3.c:21239:27 */ - -// A value for VdbeCursor.cacheStatus that means the cache is always invalid. - -// When a sub-program is executed (OP_Program), a structure of this type -// is allocated to store the current value of the program counter, as -// well as the current memory cell array and various other frame specific -// values stored in the Vdbe struct. When the sub-program is finished, -// these values are copied back to the Vdbe from the VdbeFrame structure, -// restoring the state of the VM to as it was before the sub-program -// began executing. -// -// The memory for a VdbeFrame object is allocated and managed by a memory -// cell in the parent (calling) frame. When the memory cell is deleted or -// overwritten, the VdbeFrame object is not freed immediately. Instead, it -// is linked into the Vdbe.pDelFrame list. The contents of the Vdbe.pDelFrame -// list is deleted when the VM is reset in VdbeHalt(). The reason for doing -// this instead of deleting the VdbeFrame immediately is to avoid recursive -// calls to sqlite3VdbeMemRelease() when the memory cells belonging to the -// child frame are released. -// -// The currently executing frame is stored in Vdbe.pFrame. Vdbe.pFrame is -// set to NULL if the currently executing frame is the main program. -type VdbeFrame1 = struct { - Fv uintptr - FpParent uintptr - FaOp uintptr - FanExec uintptr - FaMem uintptr - FapCsr uintptr - FaOnce uintptr - Ftoken uintptr - FlastRowid I64 - FpAuxData uintptr - FnCursor int32 - Fpc int32 - FnOp int32 - FnMem int32 - FnChildMem int32 - FnChildCsr int32 - FnChange int32 - FnDbChange int32 -} /* sqlite3.c:1331:9 */ - -// A value for VdbeCursor.cacheStatus that means the cache is always invalid. - -// When a sub-program is executed (OP_Program), a structure of this type -// is allocated to store the current value of the program counter, as -// well as the current memory cell array and various other frame specific -// values stored in the Vdbe struct. When the sub-program is finished, -// these values are copied back to the Vdbe from the VdbeFrame structure, -// restoring the state of the VM to as it was before the sub-program -// began executing. -// -// The memory for a VdbeFrame object is allocated and managed by a memory -// cell in the parent (calling) frame. When the memory cell is deleted or -// overwritten, the VdbeFrame object is not freed immediately. Instead, it -// is linked into the Vdbe.pDelFrame list. The contents of the Vdbe.pDelFrame -// list is deleted when the VM is reset in VdbeHalt(). The reason for doing -// this instead of deleting the VdbeFrame immediately is to avoid recursive -// calls to sqlite3VdbeMemRelease() when the memory cells belonging to the -// child frame are released. -// -// The currently executing frame is stored in Vdbe.pFrame. Vdbe.pFrame is -// set to NULL if the currently executing frame is the main program. -type VdbeFrame = VdbeFrame1 /* sqlite3.c:21326:26 */ - -// Magic number for sanity checking on VdbeFrame objects - -// Return a pointer to the array of registers allocated for use -// by a VdbeFrame. - -// Internally, the vdbe manipulates nearly all SQL values as Mem -// structures. Each Mem struct may cache multiple representations (string, -// integer etc.) of the same value. -type MemValue = struct{ Fr float64 } /* sqlite3.c:1331:9 */ - -// A bitfield type for use inside of structures. Always follow with :N where -// N is the number of bits. -type Bft = uint32 /* sqlite3.c:21509:18 */ // Bit Field Type - -// The ScanStatus object holds a single value for the -// sqlite3_stmt_scanstatus() interface. -type ScanStatus1 = struct { - FaddrExplain int32 - FaddrLoop int32 - FaddrVisit int32 - FiSelectID int32 - FnEst LogEst - _ [6]byte - FzName uintptr -} /* sqlite3.c:21514:9 */ - -// Bit Field Type - -// The ScanStatus object holds a single value for the -// sqlite3_stmt_scanstatus() interface. -type ScanStatus = ScanStatus1 /* sqlite3.c:21514:27 */ - -// The DblquoteStr object holds the text of a double-quoted -// string for a prepared statement. A linked list of these objects -// is constructed during statement parsing and is held on Vdbe.pDblStr. -// When computing a normalized SQL statement for an SQL statement, that -// list is consulted for each double-quoted identifier to see if the -// identifier should really be a string literal. -type DblquoteStr1 = struct { - FpNextStr uintptr - Fz [8]int8 -} /* sqlite3.c:21531:9 */ - -// The DblquoteStr object holds the text of a double-quoted -// string for a prepared statement. A linked list of these objects -// is constructed during statement parsing and is held on Vdbe.pDblStr. -// When computing a normalized SQL statement for an SQL statement, that -// list is consulted for each double-quoted identifier to see if the -// identifier should really be a string literal. -type DblquoteStr = DblquoteStr1 /* sqlite3.c:21531:28 */ - -//************* End of vdbeInt.h ******************************************** -//************* Continuing where we left off in status.c ******************** - -// Variables in which to record status information. -type Sqlite3StatValueType = Sqlite3_int64 /* sqlite3.c:21799:23 */ -type sqlite3StatType = struct { - FnowValue [10]Sqlite3StatValueType - FmxValue [10]Sqlite3StatValueType -} /* sqlite3.c:21803:9 */ - -type Sqlite3StatType = sqlite3StatType /* sqlite3.c:21803:32 */ -var sqlite3Stat = sqlite3StatType{} /* sqlite3.c:21807:3 */ - -// Elements of sqlite3Stat[] are protected by either the memory allocator -// mutex, or by the pcache1 mutex. The following array determines which. -var statMutex = [10]int8{ - int8(0), // SQLITE_STATUS_MEMORY_USED - int8(1), // SQLITE_STATUS_PAGECACHE_USED - int8(1), // SQLITE_STATUS_PAGECACHE_OVERFLOW - int8(0), // SQLITE_STATUS_SCRATCH_USED - int8(0), // SQLITE_STATUS_SCRATCH_OVERFLOW - int8(0), // SQLITE_STATUS_MALLOC_SIZE - int8(0), // SQLITE_STATUS_PARSER_STACK - int8(1), // SQLITE_STATUS_PAGECACHE_SIZE - int8(0), // SQLITE_STATUS_SCRATCH_SIZE - int8(0), // SQLITE_STATUS_MALLOC_COUNT -} /* sqlite3.c:21813:19 */ - -// The "wsdStat" macro will resolve to the status information -// state vector. If writable static data is unsupported on the target, -// we have to locate the state vector at run-time. In the more common -// case where writable static data is supported, wsdStat can refer directly -// to the "sqlite3Stat" state vector declared above. - -// Return the current value of a status parameter. The caller must -// be holding the appropriate mutex. -func Xsqlite3StatusValue(tls *libc.TLS, op int32) Sqlite3_int64 { /* sqlite3.c:21845:30: */ - - return *(*Sqlite3StatValueType)(unsafe.Pointer((uintptr(unsafe.Pointer(&sqlite3Stat)) /* &.nowValue */) + uintptr(op)*8)) -} - -// Add N to the value of a status record. The caller must hold the -// appropriate mutex. (Locking is checked by assert()). -// -// The StatusUp() routine can accept positive or negative values for N. -// The value of N is added to the current status value and the high-water -// mark is adjusted if necessary. -// -// The StatusDown() routine lowers the current value by N. The highwater -// mark is unchanged. N must be non-negative for StatusDown(). -func Xsqlite3StatusUp(tls *libc.TLS, op int32, N int32) { /* sqlite3.c:21865:21: */ - - *(*Sqlite3StatValueType)(unsafe.Pointer((uintptr(unsafe.Pointer(&sqlite3Stat)) /* &.nowValue */) + uintptr(op)*8)) += (Sqlite3StatValueType(N)) - if *(*Sqlite3StatValueType)(unsafe.Pointer((uintptr(unsafe.Pointer(&sqlite3Stat)) /* &.nowValue */) + uintptr(op)*8)) > *(*Sqlite3StatValueType)(unsafe.Pointer((uintptr(unsafe.Pointer(&sqlite3Stat)) + 80 /* &.mxValue */) + uintptr(op)*8)) { - *(*Sqlite3StatValueType)(unsafe.Pointer((uintptr(unsafe.Pointer(&sqlite3Stat)) + 80 /* &.mxValue */) + uintptr(op)*8)) = *(*Sqlite3StatValueType)(unsafe.Pointer((uintptr(unsafe.Pointer(&sqlite3Stat)) /* &.nowValue */) + uintptr(op)*8)) - } -} - -func Xsqlite3StatusDown(tls *libc.TLS, op int32, N int32) { /* sqlite3.c:21876:21: */ - - *(*Sqlite3StatValueType)(unsafe.Pointer((uintptr(unsafe.Pointer(&sqlite3Stat)) /* &.nowValue */) + uintptr(op)*8)) -= (Sqlite3StatValueType(N)) -} - -// Adjust the highwater mark if necessary. -// The caller must hold the appropriate mutex. -func Xsqlite3StatusHighwater(tls *libc.TLS, op int32, X int32) { /* sqlite3.c:21890:21: */ - var newValue Sqlite3StatValueType - - newValue = Sqlite3StatValueType(X) - - if newValue > *(*Sqlite3StatValueType)(unsafe.Pointer((uintptr(unsafe.Pointer(&sqlite3Stat)) + 80 /* &.mxValue */) + uintptr(op)*8)) { - *(*Sqlite3StatValueType)(unsafe.Pointer((uintptr(unsafe.Pointer(&sqlite3Stat)) + 80 /* &.mxValue */) + uintptr(op)*8)) = newValue - } -} - -// Query status information. -func Xsqlite3_status64(tls *libc.TLS, op int32, pCurrent uintptr, pHighwater uintptr, resetFlag int32) int32 { /* sqlite3.c:21910:16: */ - var pMutex uintptr - _ = pMutex - - if (op < 0) || (op >= (int32(uint64(unsafe.Sizeof([10]Sqlite3StatValueType{})) / uint64(unsafe.Sizeof(Sqlite3StatValueType(0)))))) { - return Xsqlite3MisuseError(tls, 21919) - } - if statMutex[op] != 0 { - pMutex = Xsqlite3Pcache1Mutex(tls) - } else { - pMutex = Xsqlite3MallocMutex(tls) - } - Xsqlite3_mutex_enter(tls, pMutex) - *(*Sqlite3_int64)(unsafe.Pointer(pCurrent)) = *(*Sqlite3StatValueType)(unsafe.Pointer((uintptr(unsafe.Pointer(&sqlite3Stat)) /* &.nowValue */) + uintptr(op)*8)) - *(*Sqlite3_int64)(unsafe.Pointer(pHighwater)) = *(*Sqlite3StatValueType)(unsafe.Pointer((uintptr(unsafe.Pointer(&sqlite3Stat)) + 80 /* &.mxValue */) + uintptr(op)*8)) - if resetFlag != 0 { - *(*Sqlite3StatValueType)(unsafe.Pointer((uintptr(unsafe.Pointer(&sqlite3Stat)) + 80 /* &.mxValue */) + uintptr(op)*8)) = *(*Sqlite3StatValueType)(unsafe.Pointer((uintptr(unsafe.Pointer(&sqlite3Stat)) /* &.nowValue */) + uintptr(op)*8)) - } - Xsqlite3_mutex_leave(tls, pMutex) - _ = pMutex // Prevent warning when SQLITE_THREADSAFE=0 - return SQLITE_OK -} - -func Xsqlite3_status(tls *libc.TLS, op int32, pCurrent uintptr, pHighwater uintptr, resetFlag int32) int32 { /* sqlite3.c:21935:16: */ - bp := tls.Alloc(16) - defer tls.Free(16) - - *(*Sqlite3_int64)(unsafe.Pointer(bp /* iCur */)) = int64(0) - *(*Sqlite3_int64)(unsafe.Pointer(bp + 8 /* iHwtr */)) = int64(0) - var rc int32 - rc = Xsqlite3_status64(tls, op, bp /* &iCur */, bp+8 /* &iHwtr */, resetFlag) - if rc == 0 { - *(*int32)(unsafe.Pointer(pCurrent)) = int32(*(*Sqlite3_int64)(unsafe.Pointer(bp /* iCur */))) - *(*int32)(unsafe.Pointer(pHighwater)) = int32(*(*Sqlite3_int64)(unsafe.Pointer(bp + 8 /* iHwtr */))) - } - return rc -} - -// Return the number of LookasideSlot elements on the linked list -func countLookasideSlots(tls *libc.TLS, p uintptr) U32 { /* sqlite3.c:21952:12: */ - var cnt U32 = U32(0) - for p != 0 { - p = (*LookasideSlot)(unsafe.Pointer(p)).FpNext - cnt++ - } - return cnt -} - -// Count the number of slots of lookaside memory that are outstanding -func Xsqlite3LookasideUsed(tls *libc.TLS, db uintptr, pHighwater uintptr) int32 { /* sqlite3.c:21964:20: */ - var nInit U32 = countLookasideSlots(tls, (*Sqlite3)(unsafe.Pointer(db)).Flookaside.FpInit) - var nFree U32 = countLookasideSlots(tls, (*Sqlite3)(unsafe.Pointer(db)).Flookaside.FpFree) - nInit = nInit + (countLookasideSlots(tls, (*Sqlite3)(unsafe.Pointer(db)).Flookaside.FpSmallInit)) - nFree = nFree + (countLookasideSlots(tls, (*Sqlite3)(unsafe.Pointer(db)).Flookaside.FpSmallFree)) - if pHighwater != 0 { - *(*int32)(unsafe.Pointer(pHighwater)) = (int32((*Sqlite3)(unsafe.Pointer(db)).Flookaside.FnSlot - nInit)) - } - return (int32((*Sqlite3)(unsafe.Pointer(db)).Flookaside.FnSlot - (nInit + nFree))) -} - -// Query status information for a single database connection -func Xsqlite3_db_status(tls *libc.TLS, db uintptr, op int32, pCurrent uintptr, pHighwater uintptr, resetFlag int32) int32 { /* sqlite3.c:21978:16: */ - bp := tls.Alloc(12) - defer tls.Free(12) - - var rc int32 = SQLITE_OK // Return code - Xsqlite3_mutex_enter(tls, (*Sqlite3)(unsafe.Pointer(db)).Fmutex) - switch op { - case SQLITE_DBSTATUS_LOOKASIDE_USED: - { - *(*int32)(unsafe.Pointer(pCurrent)) = Xsqlite3LookasideUsed(tls, db, pHighwater) - if resetFlag != 0 { - var p uintptr = (*Sqlite3)(unsafe.Pointer(db)).Flookaside.FpFree - if p != 0 { - for (*LookasideSlot)(unsafe.Pointer(p)).FpNext != 0 { - p = (*LookasideSlot)(unsafe.Pointer(p)).FpNext - } - (*LookasideSlot)(unsafe.Pointer(p)).FpNext = (*Sqlite3)(unsafe.Pointer(db)).Flookaside.FpInit - (*Sqlite3)(unsafe.Pointer(db)).Flookaside.FpInit = (*Sqlite3)(unsafe.Pointer(db)).Flookaside.FpFree - (*Sqlite3)(unsafe.Pointer(db)).Flookaside.FpFree = uintptr(0) - } - p = (*Sqlite3)(unsafe.Pointer(db)).Flookaside.FpSmallFree - if p != 0 { - for (*LookasideSlot)(unsafe.Pointer(p)).FpNext != 0 { - p = (*LookasideSlot)(unsafe.Pointer(p)).FpNext - } - (*LookasideSlot)(unsafe.Pointer(p)).FpNext = (*Sqlite3)(unsafe.Pointer(db)).Flookaside.FpSmallInit - (*Sqlite3)(unsafe.Pointer(db)).Flookaside.FpSmallInit = (*Sqlite3)(unsafe.Pointer(db)).Flookaside.FpSmallFree - (*Sqlite3)(unsafe.Pointer(db)).Flookaside.FpSmallFree = uintptr(0) - } - } - break - - } - - case SQLITE_DBSTATUS_LOOKASIDE_HIT: - fallthrough - case SQLITE_DBSTATUS_LOOKASIDE_MISS_SIZE: - fallthrough - case SQLITE_DBSTATUS_LOOKASIDE_MISS_FULL: - { - - *(*int32)(unsafe.Pointer(pCurrent)) = 0 - *(*int32)(unsafe.Pointer(pHighwater)) = int32(*(*U32)(unsafe.Pointer((db + 408 /* &.lookaside */ + 16 /* &.anStat */) + uintptr((op-SQLITE_DBSTATUS_LOOKASIDE_HIT))*4))) - if resetFlag != 0 { - *(*U32)(unsafe.Pointer((db + 408 /* &.lookaside */ + 16 /* &.anStat */) + uintptr((op-SQLITE_DBSTATUS_LOOKASIDE_HIT))*4)) = U32(0) - } - break - - } - - // Return an approximation for the amount of memory currently used - // by all pagers associated with the given database connection. The - // highwater mark is meaningless and is returned as zero. - case SQLITE_DBSTATUS_CACHE_USED_SHARED: - fallthrough - case SQLITE_DBSTATUS_CACHE_USED: - { - var totalUsed int32 = 0 - var i int32 - Xsqlite3BtreeEnterAll(tls, db) - for i = 0; i < (*Sqlite3)(unsafe.Pointer(db)).FnDb; i++ { - var pBt uintptr = (*Db)(unsafe.Pointer((*Sqlite3)(unsafe.Pointer(db)).FaDb + uintptr(i)*32)).FpBt - if pBt != 0 { - var pPager uintptr = Xsqlite3BtreePager(tls, pBt) - var nByte int32 = Xsqlite3PagerMemUsed(tls, pPager) - if op == SQLITE_DBSTATUS_CACHE_USED_SHARED { - nByte = (nByte / Xsqlite3BtreeConnectionCount(tls, pBt)) - } - totalUsed = totalUsed + (nByte) - } - } - Xsqlite3BtreeLeaveAll(tls, db) - *(*int32)(unsafe.Pointer(pCurrent)) = totalUsed - *(*int32)(unsafe.Pointer(pHighwater)) = 0 - break - - } - - // *pCurrent gets an accurate estimate of the amount of memory used - // to store the schema for all databases (main, temp, and any ATTACHed - // databases. *pHighwater is set to zero. - case SQLITE_DBSTATUS_SCHEMA_USED: - { - var i int32 // Used to iterate through schemas - *(*int32)(unsafe.Pointer(bp /* nByte */)) = 0 // Used to accumulate return value - - Xsqlite3BtreeEnterAll(tls, db) - (*Sqlite3)(unsafe.Pointer(db)).FpnBytesFreed = bp /* &nByte */ - for i = 0; i < (*Sqlite3)(unsafe.Pointer(db)).FnDb; i++ { - var pSchema uintptr = (*Db)(unsafe.Pointer((*Sqlite3)(unsafe.Pointer(db)).FaDb + uintptr(i)*32)).FpSchema - if pSchema != uintptr(0) { - var p uintptr - - *(*int32)(unsafe.Pointer(bp /* nByte */)) += int32((uint32((*(*func(*libc.TLS, int32) int32)(unsafe.Pointer((uintptr(unsafe.Pointer(&Xsqlite3Config)) + 32 /* &.m */ + 32 /* &.xRoundup */))))(tls, int32(unsafe.Sizeof(HashElem{})))) * ((((*Schema)(unsafe.Pointer(pSchema)).FtblHash.Fcount + - (*Schema)(unsafe.Pointer(pSchema)).FtrigHash.Fcount) + - (*Schema)(unsafe.Pointer(pSchema)).FidxHash.Fcount) + - (*Schema)(unsafe.Pointer(pSchema)).FfkeyHash.Fcount))) - *(*int32)(unsafe.Pointer(bp /* nByte */)) += int32(Xsqlite3_msize(tls, (*Schema)(unsafe.Pointer(pSchema)).FtblHash.Fht)) - *(*int32)(unsafe.Pointer(bp /* nByte */)) += int32(Xsqlite3_msize(tls, (*Schema)(unsafe.Pointer(pSchema)).FtrigHash.Fht)) - *(*int32)(unsafe.Pointer(bp /* nByte */)) += int32(Xsqlite3_msize(tls, (*Schema)(unsafe.Pointer(pSchema)).FidxHash.Fht)) - *(*int32)(unsafe.Pointer(bp /* nByte */)) += int32(Xsqlite3_msize(tls, (*Schema)(unsafe.Pointer(pSchema)).FfkeyHash.Fht)) - - for p = (*Hash)(unsafe.Pointer((pSchema + 56 /* &.trigHash */))).Ffirst; p != 0; p = (*HashElem)(unsafe.Pointer(p)).Fnext { - Xsqlite3DeleteTrigger(tls, db, (*HashElem)(unsafe.Pointer(p)).Fdata) - } - for p = (*Hash)(unsafe.Pointer((pSchema + 8 /* &.tblHash */))).Ffirst; p != 0; p = (*HashElem)(unsafe.Pointer(p)).Fnext { - Xsqlite3DeleteTable(tls, db, (*HashElem)(unsafe.Pointer(p)).Fdata) - } - } - } - (*Sqlite3)(unsafe.Pointer(db)).FpnBytesFreed = uintptr(0) - Xsqlite3BtreeLeaveAll(tls, db) - - *(*int32)(unsafe.Pointer(pHighwater)) = 0 - *(*int32)(unsafe.Pointer(pCurrent)) = *(*int32)(unsafe.Pointer(bp /* nByte */)) - break - - } - - // *pCurrent gets an accurate estimate of the amount of memory used - // to store all prepared statements. - // *pHighwater is set to zero. - case SQLITE_DBSTATUS_STMT_USED: - { - var pVdbe uintptr // Used to iterate through VMs - *(*int32)(unsafe.Pointer(bp + 4 /* nByte */)) = 0 // Used to accumulate return value - - (*Sqlite3)(unsafe.Pointer(db)).FpnBytesFreed = bp + 4 /* &nByte */ - for pVdbe = (*Sqlite3)(unsafe.Pointer(db)).FpVdbe; pVdbe != 0; pVdbe = (*Vdbe1)(unsafe.Pointer(pVdbe)).FpNext { - Xsqlite3VdbeClearObject(tls, db, pVdbe) - Xsqlite3DbFree(tls, db, pVdbe) - } - (*Sqlite3)(unsafe.Pointer(db)).FpnBytesFreed = uintptr(0) - - *(*int32)(unsafe.Pointer(pHighwater)) = 0 // IMP: R-64479-57858 - *(*int32)(unsafe.Pointer(pCurrent)) = *(*int32)(unsafe.Pointer(bp + 4 /* nByte */)) - - break - - } - - // Set *pCurrent to the total cache hits or misses encountered by all - // pagers the database handle is connected to. *pHighwater is always set - // to zero. - case SQLITE_DBSTATUS_CACHE_SPILL: - op = (SQLITE_DBSTATUS_CACHE_WRITE + 1) - fallthrough - case SQLITE_DBSTATUS_CACHE_HIT: - fallthrough - case SQLITE_DBSTATUS_CACHE_MISS: - fallthrough - case SQLITE_DBSTATUS_CACHE_WRITE: - { - var i int32 - *(*int32)(unsafe.Pointer(bp + 8 /* nRet */)) = 0 - - for i = 0; i < (*Sqlite3)(unsafe.Pointer(db)).FnDb; i++ { - if (*Db)(unsafe.Pointer((*Sqlite3)(unsafe.Pointer(db)).FaDb+uintptr(i)*32)).FpBt != 0 { - var pPager uintptr = Xsqlite3BtreePager(tls, (*Db)(unsafe.Pointer((*Sqlite3)(unsafe.Pointer(db)).FaDb+uintptr(i)*32)).FpBt) - Xsqlite3PagerCacheStat(tls, pPager, op, resetFlag, bp+8 /* &nRet */) - } - } - *(*int32)(unsafe.Pointer(pHighwater)) = 0 // IMP: R-42420-56072 - // IMP: R-54100-20147 - // IMP: R-29431-39229 - *(*int32)(unsafe.Pointer(pCurrent)) = *(*int32)(unsafe.Pointer(bp + 8 /* nRet */)) - break - - } - - // Set *pCurrent to non-zero if there are unresolved deferred foreign - // key constraints. Set *pCurrent to zero if all foreign key constraints - // have been satisfied. The *pHighwater is always set to zero. - case SQLITE_DBSTATUS_DEFERRED_FKS: - { - *(*int32)(unsafe.Pointer(pHighwater)) = 0 // IMP: R-11967-56545 - *(*int32)(unsafe.Pointer(pCurrent)) = (libc.Bool32(((*Sqlite3)(unsafe.Pointer(db)).FnDeferredImmCons > int64(0)) || ((*Sqlite3)(unsafe.Pointer(db)).FnDeferredCons > int64(0)))) - break - - } - - default: - { - rc = SQLITE_ERROR - - } - } - Xsqlite3_mutex_leave(tls, (*Sqlite3)(unsafe.Pointer(db)).Fmutex) - return rc -} - -//************* End of status.c ********************************************* -//************* Begin file date.c ******************************************* -// 2003 October 31 -// -// 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 the C functions that implement date and time -// functions for SQLite. -// -// There is only one exported symbol in this file - the function -// sqlite3RegisterDateTimeFunctions() found at the bottom of the file. -// All other code has file scope. -// -// SQLite processes all times and dates as julian day numbers. The -// dates and times are stored as the number of days since noon -// in Greenwich on November 24, 4714 B.C. according to the Gregorian -// calendar system. -// -// 1970-01-01 00:00:00 is JD 2440587.5 -// 2000-01-01 00:00:00 is JD 2451544.5 -// -// This implementation requires years to be expressed as a 4-digit number -// which means that only dates between 0000-01-01 and 9999-12-31 can -// be represented, even though julian day numbers allow a much wider -// range of dates. -// -// The Gregorian calendar system is used for all dates and times, -// even those that predate the Gregorian calendar. Historians usually -// use the julian calendar for dates prior to 1582-10-15 and for some -// dates afterwards, depending on locale. Beware of this difference. -// -// The conversion algorithms are implemented based on descriptions -// in the following text: -// -// Jean Meeus -// Astronomical Algorithms, 2nd Edition, 1998 -// ISBN 0-943396-61-1 -// Willmann-Bell, Inc -// Richmond, Virginia (USA) -// #include "sqliteInt.h" -// #include -// #include -// $NetBSD: time.h,v 1.47 2016/10/04 09:41:41 kamil Exp $ - -// Copyright (c) 1989, 1993 +// - +// Copyright (c) 1990, 1993 // The Regents of the University of California. All rights reserved. -// (c) UNIX System Laboratories, Inc. -// All or some portions of this file are derived from material licensed -// to the University of California by American Telephone and Telegraph -// Co. or Unix System Laboratories, Inc. and are reproduced herein with -// the permission of UNIX System Laboratories, Inc. // // Redistribution and use in source and binary forms, with or without // modification, are permitted provided that the following conditions @@ -9805,7 +6877,7 @@ func Xsqlite3_db_status(tls *libc.TLS, db uintptr, op int32, pCurrent uintptr, p // OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF // SUCH DAMAGE. // -// @(#)time.h 8.3 (Berkeley) 1/21/94 +// @(#)stdlib.h 8.5 (Berkeley) 5/19/95 // $NetBSD: cdefs.h,v 1.141 2019/02/21 21:34:05 christos Exp $ @@ -9900,235 +6972,6 @@ func Xsqlite3_db_status(tls *libc.TLS, db uintptr, op int32, pCurrent uintptr, p // _LARGEFILE_SOURCE Large File Support // -// $NetBSD: ansi.h,v 1.11 2019/05/07 03:49:26 kamil Exp $ - -// $NetBSD: common_ansi.h,v 1.1 2014/08/19 07:27:31 matt Exp $ - -// - -// Copyright (c) 2014 The NetBSD Foundation, Inc. -// All rights reserved. -// -// This code is derived from software contributed to The NetBSD Foundation -// by Matt Thomas of 3am Software Foundry. -// -// 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. -// -// THIS SOFTWARE IS PROVIDED BY THE NETBSD FOUNDATION, INC. 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 FOUNDATION 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. - -// $NetBSD: null.h,v 1.9 2010/07/06 11:56:20 kleink Exp $ - -// Written by Klaus Klein , December 22, 1999. -// Public domain. - -type Clock_t = uint32 /* time.h:49:23 */ - -type Time_t = X__int64_t /* time.h:54:22 */ - -type Clockid_t = int32 /* time.h:64:25 */ - -type Timer_t = int32 /* time.h:69:23 */ - -type tm = struct { - Ftm_sec int32 - Ftm_min int32 - Ftm_hour int32 - Ftm_mday int32 - Ftm_mon int32 - Ftm_year int32 - Ftm_wday int32 - Ftm_yday int32 - Ftm_isdst int32 - _ [4]byte - Ftm_gmtoff int64 - Ftm_zone uintptr -} /* time.h:75:1 */ - -// ISO/IEC 9899:201x 7.27.1/3 Components of time -// $NetBSD: timespec.h,v 1.1 2015/07/31 12:51:32 kamil Exp $ - -// Copyright (c) 1982, 1986, 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. 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. -// -// @(#)time.h 8.5 (Berkeley) 5/4/95 -// -// Extracted by Kamil Rytarowski from: -// NetBSD: src/sys/sys/time.h,v 1.69 2015/05/19 23:35:11 riastradh Exp - -// $NetBSD: ansi.h,v 1.14 2011/07/17 20:54:54 joerg Exp $ - -// - -// Copyright (c) 2000, 2001, 2002 The NetBSD Foundation, Inc. -// All rights reserved. -// -// This code is derived from software contributed to The NetBSD Foundation -// by Jun-ichiro itojun Hagino and by Klaus Klein. -// -// 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. -// -// THIS SOFTWARE IS PROVIDED BY THE NETBSD FOUNDATION, INC. 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 FOUNDATION 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. - -type timespec = struct { - Ftv_sec Time_t - Ftv_nsec int64 -} /* timespec.h:47:1 */ - -// $NetBSD: time.h,v 1.79 2017/01/17 15:28:34 maya Exp $ - -// Copyright (c) 1982, 1986, 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. 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. -// -// @(#)time.h 8.5 (Berkeley) 5/4/95 - -// $NetBSD: featuretest.h,v 1.10 2013/04/26 18:29:06 christos Exp $ - -// Written by Klaus Klein , February 2, 1998. -// Public domain. -// -// NOTE: Do not protect this header against multiple inclusion. Doing -// so can have subtle side-effects due to header file inclusion order -// and testing of e.g. _POSIX_SOURCE vs. _POSIX_C_SOURCE. Instead, -// protect each CPP macro that we want to supply. - -// Feature-test macros are defined by several standards, and allow an -// application to specify what symbols they want the system headers to -// expose, and hence what standard they want them to conform to. -// There are two classes of feature-test macros. The first class -// specify complete standards, and if one of these is defined, header -// files will try to conform to the relevant standard. They are: -// -// ANSI macros: -// _ANSI_SOURCE ANSI C89 -// -// POSIX macros: -// _POSIX_SOURCE == 1 IEEE Std 1003.1 (version?) -// _POSIX_C_SOURCE == 1 IEEE Std 1003.1-1990 -// _POSIX_C_SOURCE == 2 IEEE Std 1003.2-1992 -// _POSIX_C_SOURCE == 199309L IEEE Std 1003.1b-1993 -// _POSIX_C_SOURCE == 199506L ISO/IEC 9945-1:1996 -// _POSIX_C_SOURCE == 200112L IEEE Std 1003.1-2001 -// _POSIX_C_SOURCE == 200809L IEEE Std 1003.1-2008 -// -// X/Open macros: -// _XOPEN_SOURCE System Interfaces and Headers, Issue 4, Ver 2 -// _XOPEN_SOURCE_EXTENDED == 1 XSH4.2 UNIX extensions -// _XOPEN_SOURCE == 500 System Interfaces and Headers, Issue 5 -// _XOPEN_SOURCE == 520 Networking Services (XNS), Issue 5.2 -// _XOPEN_SOURCE == 600 IEEE Std 1003.1-2001, XSI option -// _XOPEN_SOURCE == 700 IEEE Std 1003.1-2008, XSI option -// -// NetBSD macros: -// _NETBSD_SOURCE == 1 Make all NetBSD features available. -// -// If more than one of these "major" feature-test macros is defined, -// then the set of facilities provided (and namespace used) is the -// union of that specified by the relevant standards, and in case of -// conflict, the earlier standard in the above list has precedence (so -// if both _POSIX_C_SOURCE and _NETBSD_SOURCE are defined, the version -// of rename() that's used is the POSIX one). If none of the "major" -// feature-test macros is defined, _NETBSD_SOURCE is assumed. -// -// There are also "minor" feature-test macros, which enable extra -// functionality in addition to some base standard. They should be -// defined along with one of the "major" macros. The "minor" macros -// are: -// -// _REENTRANT -// _ISOC99_SOURCE -// _ISOC11_SOURCE -// _LARGEFILE_SOURCE Large File Support -// - -// DO NOT EDIT THIS FILE. -// -// It has been auto-edited by fixincludes from: -// -// "/usr/include/sys/types.h" -// -// This had to be done to correct non-standard usages in the -// original, manufacturer supplied header file. - // $NetBSD: types.h,v 1.102 2018/11/06 16:26:44 maya Exp $ // - @@ -10484,26 +7327,26 @@ type X__cpu_simple_lock_nv_t = uint8 /* types.h:69:24 */ // ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE // POSSIBILITY OF SUCH DAMAGE. -type Int8_t = X__int8_t /* types.h:63:18 */ +type Int8_t = X__int8_t /* types.h:54:18 */ -type Uint8_t = X__uint8_t /* types.h:68:19 */ +type Uint8_t = X__uint8_t /* types.h:59:19 */ -type Int16_t = X__int16_t /* types.h:73:19 */ +type Int16_t = X__int16_t /* types.h:64:19 */ -type Uint16_t = X__uint16_t /* types.h:78:20 */ +type Uint16_t = X__uint16_t /* types.h:69:20 */ -type Int32_t = X__int32_t /* types.h:83:19 */ +type Int32_t = X__int32_t /* types.h:74:19 */ -type Uint32_t = X__uint32_t /* types.h:88:20 */ +type Uint32_t = X__uint32_t /* types.h:79:20 */ -type Int64_t = X__int64_t /* types.h:93:19 */ +type Int64_t = X__int64_t /* types.h:84:19 */ -type Uint64_t = X__uint64_t /* types.h:98:20 */ +type Uint64_t = X__uint64_t /* types.h:89:20 */ -type U_int8_t = Uint8_t /* types.h:102:18 */ -type U_int16_t = Uint16_t /* types.h:103:18 */ -type U_int32_t = Uint32_t /* types.h:104:18 */ -type U_int64_t = Uint64_t /* types.h:105:18 */ +type U_int8_t = Uint8_t /* types.h:93:18 */ +type U_int16_t = Uint16_t /* types.h:94:18 */ +type U_int32_t = Uint32_t /* types.h:95:18 */ +type U_int64_t = Uint64_t /* types.h:96:18 */ // $NetBSD: endian.h,v 1.1 2003/04/26 18:39:40 fvdl Exp $ @@ -10666,15 +7509,6 @@ type U_int64_t = Uint64_t /* types.h:105:18 */ // // @(#)cdefs.h 8.8 (Berkeley) 1/9/95 -// DO NOT EDIT THIS FILE. -// -// It has been auto-edited by fixincludes from: -// -// "/usr/include/sys/types.h" -// -// This had to be done to correct non-standard usages in the -// original, manufacturer supplied header file. - // $NetBSD: types.h,v 1.102 2018/11/06 16:26:44 maya Exp $ // - @@ -10923,9 +7757,19 @@ type Uint_fast64_t = uint64 /* common_int_mwgwtypes.h:62:32 */ type Intmax_t = int64 /* common_int_mwgwtypes.h:66:33 */ type Uintmax_t = uint64 /* common_int_mwgwtypes.h:67:32 */ -type U_quad_t = Uint64_t /* types.h:121:18 */ // quads -type Quad_t = Int64_t /* types.h:122:18 */ -type Qaddr_t = uintptr /* types.h:123:16 */ +type U_char = uint8 /* types.h:101:23 */ +type U_short = uint16 /* types.h:102:24 */ +type U_int = uint32 /* types.h:103:22 */ +type U_long = uint64 /* types.h:104:23 */ + +type Unchar = uint8 /* types.h:106:23 */ // Sys V compatibility +type Ushort = uint16 /* types.h:107:24 */ // Sys V compatibility +type Uint = uint32 /* types.h:108:22 */ // Sys V compatibility +type Ulong = uint64 /* types.h:109:23 */ // Sys V compatibility + +type U_quad_t = Uint64_t /* types.h:112:18 */ // quads +type Quad_t = Int64_t /* types.h:113:18 */ +type Qaddr_t = uintptr /* types.h:114:16 */ // The types longlong_t and u_longlong_t exist for use with the // Sun-derived XDR routines involving these types, and their usage @@ -10935,405 +7779,65 @@ type Qaddr_t = uintptr /* types.h:123:16 */ // respectively. Portable programs that need 64-bit types should use // the C99 types int64_t and uint64_t instead. -type Longlong_t = Int64_t /* types.h:135:18 */ // for XDR -type U_longlong_t = Uint64_t /* types.h:136:18 */ // for XDR +type Longlong_t = Int64_t /* types.h:126:18 */ // for XDR +type U_longlong_t = Uint64_t /* types.h:127:18 */ // for XDR -type Blkcnt_t = Int64_t /* types.h:138:18 */ // fs block count -type Blksize_t = Int32_t /* types.h:139:18 */ // fs optimal block size +type Blkcnt_t = Int64_t /* types.h:129:18 */ // fs block count +type Blksize_t = Int32_t /* types.h:130:18 */ // fs optimal block size -type Fsblkcnt_t = X__fsblkcnt_t /* types.h:142:22 */ // fs block count (statvfs) +type Fsblkcnt_t = X__fsblkcnt_t /* types.h:133:22 */ // fs block count (statvfs) -type Fsfilcnt_t = X__fsfilcnt_t /* types.h:147:22 */ // fs file count +type Fsfilcnt_t = X__fsfilcnt_t /* types.h:138:22 */ // fs file count // We don't and shouldn't use caddr_t in the kernel anymore -type Caddr_t = X__caddr_t /* types.h:154:19 */ // core address +type Caddr_t = X__caddr_t /* types.h:145:19 */ // core address -type Daddr_t = Int64_t /* types.h:163:18 */ // disk address +type Daddr_t = Int64_t /* types.h:154:18 */ // disk address -type Dev_t = Uint64_t /* types.h:166:18 */ // device number -type Fixpt_t = Uint32_t /* types.h:167:18 */ // fixed point number +type Dev_t = Uint64_t /* types.h:157:18 */ // device number +type Fixpt_t = Uint32_t /* types.h:158:18 */ // fixed point number -type Gid_t = X__gid_t /* types.h:170:18 */ // group id +type Gid_t = X__gid_t /* types.h:161:18 */ // group id -type Id_t = Uint32_t /* types.h:174:18 */ // group id, process id or user id -type Ino_t = Uint64_t /* types.h:175:18 */ // inode number -type Key_t = int64 /* types.h:176:15 */ // IPC key (for Sys V IPC) +type Id_t = Uint32_t /* types.h:165:18 */ // group id, process id or user id +type Ino_t = Uint64_t /* types.h:166:18 */ // inode number +type Key_t = int64 /* types.h:167:15 */ // IPC key (for Sys V IPC) -type Mode_t = X__mode_t /* types.h:179:18 */ // permissions +type Mode_t = X__mode_t /* types.h:170:18 */ // permissions -type Nlink_t = Uint32_t /* types.h:183:18 */ // link count +type Nlink_t = Uint32_t /* types.h:174:18 */ // link count -type Pid_t = X__pid_t /* types.h:191:18 */ // process id -type Lwpid_t = Int32_t /* types.h:194:18 */ // LWP id -type Rlim_t = Uint64_t /* types.h:195:18 */ // resource limit -type Segsz_t = Int32_t /* types.h:196:18 */ // segment size -type Swblk_t = Int32_t /* types.h:197:18 */ // swap offset +type Pid_t = X__pid_t /* types.h:182:18 */ // process id +type Lwpid_t = Int32_t /* types.h:185:18 */ // LWP id +type Rlim_t = Uint64_t /* types.h:186:18 */ // resource limit +type Segsz_t = Int32_t /* types.h:187:18 */ // segment size +type Swblk_t = Int32_t /* types.h:188:18 */ // swap offset -type Uid_t = X__uid_t /* types.h:200:18 */ // user id +type Uid_t = X__uid_t /* types.h:191:18 */ // user id -type Mqd_t = int32 /* types.h:204:14 */ +type Mqd_t = int32 /* types.h:195:14 */ -type Cpuid_t = uint64 /* types.h:206:23 */ +type Cpuid_t = uint64 /* types.h:197:23 */ -type Psetid_t = int32 /* types.h:208:14 */ +type Psetid_t = int32 /* types.h:199:14 */ -type X__cpu_simple_lock_t = X__cpu_simple_lock_nv_t /* types.h:210:41 */ +type X__cpu_simple_lock_t = X__cpu_simple_lock_nv_t /* types.h:201:41 */ -// These belong in unistd.h, but are placed here too to ensure that -// long arguments will be promoted to off_t if the program fails to -// include that header or explicitly cast them to off_t. +// Major, minor numbers, dev_t's. +type X__devmajor_t = Int32_t /* types.h:255:17 */ +type X__devminor_t = Int32_t /* types.h:255:31 */ -type Suseconds_t = int32 /* types.h:321:27 */ +type Clock_t = uint32 /* types.h:268:24 */ -type Useconds_t = uint32 /* types.h:326:26 */ +type Time_t = X__int64_t /* types.h:289:23 */ -// $NetBSD: pthread_types.h,v 1.23 2017/09/09 23:21:45 kamil Exp $ +type Clockid_t = int32 /* types.h:294:26 */ -// - -// Copyright (c) 2001, 2008 The NetBSD Foundation, Inc. -// All rights reserved. -// -// This code is derived from software contributed to The NetBSD Foundation -// by Nathan J. Williams. -// -// 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. -// -// THIS SOFTWARE IS PROVIDED BY THE NETBSD FOUNDATION, INC. 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 FOUNDATION 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. +type Timer_t = int32 /* types.h:299:24 */ -// We use the "pthread_spin_t" name internally; "pthread_spinlock_t" is the -// POSIX spinlock object. -// -// C++ expects to be using PTHREAD_FOO_INITIALIZER as a member initializer. -// This does not work for volatile types. Since C++ does not touch the guts -// of those types, we do not include volatile in the C++ definitions. -type Pthread_spin_t = X__cpu_simple_lock_t /* pthread_types.h:43:29 */ -type X__pthread_spin_t = Pthread_spin_t /* pthread_types.h:48:24 */ +type Suseconds_t = int32 /* types.h:304:27 */ -// Copied from PTQ_HEAD in pthread_queue.h - -type pthread_queue_struct_t = struct { - Fptqh_first uintptr - Fptqh_last uintptr -} /* pthread_types.h:61:1 */ - -type Pthread_queue_t = pthread_queue_struct_t /* pthread_types.h:62:39 */ -type __pthread_attr_st = struct { - Fpta_magic uint32 - Fpta_flags int32 - Fpta_private uintptr -} /* pthread_types.h:65:1 */ - -type __pthread_mutex_st = struct { - Fptm_magic uint32 - Fptm_errorcheck X__pthread_spin_t - Fptm_pad1 [3]Uint8_t - F__8 struct{ Fptm_ceiling uint8 } - Fptm_pad2 [3]Uint8_t - _ [4]byte - Fptm_owner Pthread_t - Fptm_waiters uintptr - Fptm_recursed uint32 - _ [4]byte - Fptm_spare2 uintptr -} /* pthread_types.h:66:1 */ - -type __pthread_mutexattr_st = struct { - Fptma_magic uint32 - _ [4]byte - Fptma_private uintptr -} /* pthread_types.h:67:1 */ - -type __pthread_cond_st = struct { - Fptc_magic uint32 - Fptc_lock X__pthread_spin_t - _ [3]byte - Fptc_waiters Pthread_queue_t - Fptc_mutex uintptr - Fptc_private uintptr -} /* pthread_types.h:68:1 */ - -type __pthread_condattr_st = struct { - Fptca_magic uint32 - _ [4]byte - Fptca_private uintptr -} /* pthread_types.h:69:1 */ - -type __pthread_rwlock_st = struct { - Fptr_magic uint32 - Fptr_interlock X__pthread_spin_t - _ [3]byte - Fptr_rblocked Pthread_queue_t - Fptr_wblocked Pthread_queue_t - Fptr_nreaders uint32 - _ [4]byte - Fptr_owner Pthread_t - Fptr_private uintptr -} /* pthread_types.h:71:1 */ - -type __pthread_rwlockattr_st = struct { - Fptra_magic uint32 - _ [4]byte - Fptra_private uintptr -} /* pthread_types.h:72:1 */ - -type __pthread_barrier_st = struct { - Fptb_magic uint32 - Fptb_lock Pthread_spin_t - _ [3]byte - Fptb_waiters Pthread_queue_t - Fptb_initcount uint32 - Fptb_curcount uint32 - Fptb_generation uint32 - _ [4]byte - Fptb_private uintptr -} /* pthread_types.h:73:1 */ - -type __pthread_barrierattr_st = struct { - Fptba_magic uint32 - _ [4]byte - Fptba_private uintptr -} /* pthread_types.h:74:1 */ - -type Pthread_t = uintptr /* pthread_types.h:76:29 */ -type Pthread_attr_t = __pthread_attr_st /* pthread_types.h:77:34 */ -type Pthread_mutex_t = __pthread_mutex_st /* pthread_types.h:78:35 */ -type Pthread_mutexattr_t = __pthread_mutexattr_st /* pthread_types.h:79:39 */ -type Pthread_cond_t = __pthread_cond_st /* pthread_types.h:80:34 */ -type Pthread_condattr_t = __pthread_condattr_st /* pthread_types.h:81:38 */ -type __pthread_once_st = struct { - Fpto_mutex Pthread_mutex_t - Fpto_done int32 - _ [4]byte -} /* pthread_types.h:82:9 */ - -type Pthread_once_t = __pthread_once_st /* pthread_types.h:82:34 */ -type __pthread_spinlock_st = struct { - Fpts_magic uint32 - Fpts_spin X__pthread_spin_t - _ [3]byte - Fpts_flags int32 -} /* pthread_types.h:83:9 */ - -type Pthread_spinlock_t = __pthread_spinlock_st /* pthread_types.h:83:38 */ -type Pthread_rwlock_t = __pthread_rwlock_st /* pthread_types.h:84:36 */ -type Pthread_rwlockattr_t = __pthread_rwlockattr_st /* pthread_types.h:85:40 */ -type Pthread_barrier_t = __pthread_barrier_st /* pthread_types.h:86:37 */ -type Pthread_barrierattr_t = __pthread_barrierattr_st /* pthread_types.h:87:41 */ -type Pthread_key_t = int32 /* pthread_types.h:88:13 */ - -// Structure returned by gettimeofday(2) system call, -// and used in other calls. -type timeval = struct { - Ftv_sec Time_t - Ftv_usec Suseconds_t - _ [4]byte -} /* time.h:44:1 */ - -// $NetBSD: timespec.h,v 1.1 2015/07/31 12:51:32 kamil Exp $ - -// Copyright (c) 1982, 1986, 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. 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. -// -// @(#)time.h 8.5 (Berkeley) 5/4/95 -// -// Extracted by Kamil Rytarowski from: -// NetBSD: src/sys/sys/time.h,v 1.69 2015/05/19 23:35:11 riastradh Exp - -// Names of the interval timers, and structure -// defining a timer setting. -// NB: Must match the CLOCK_ constants below. - -type itimerval = struct { - Fit_interval struct { - Ftv_sec Time_t - Ftv_usec Suseconds_t - _ [4]byte - } - Fit_value struct { - Ftv_sec Time_t - Ftv_usec Suseconds_t - _ [4]byte - } -} /* time.h:280:1 */ - -// Structure defined by POSIX.1b to be like a itimerval, but with -// timespecs. Used in the timer_*() system calls. -type itimerspec = struct { - Fit_interval struct { - Ftv_sec Time_t - Ftv_nsec int64 - } - Fit_value struct { - Ftv_sec Time_t - Ftv_nsec int64 - } -} /* time.h:289:1 */ - -// $NetBSD: select.h,v 1.37 2014/04/25 15:52:45 pooka Exp $ - -// - -// Copyright (c) 1992, 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. 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. -// -// @(#)select.h 8.2 (Berkeley) 1/4/94 - -// $NetBSD: cdefs.h,v 1.141 2019/02/21 21:34:05 christos Exp $ - -// * 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. 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 - -// $NetBSD: featuretest.h,v 1.10 2013/04/26 18:29:06 christos Exp $ - -// Written by Klaus Klein , February 2, 1998. -// Public domain. -// -// NOTE: Do not protect this header against multiple inclusion. Doing -// so can have subtle side-effects due to header file inclusion order -// and testing of e.g. _POSIX_SOURCE vs. _POSIX_C_SOURCE. Instead, -// protect each CPP macro that we want to supply. - -// Feature-test macros are defined by several standards, and allow an -// application to specify what symbols they want the system headers to -// expose, and hence what standard they want them to conform to. -// There are two classes of feature-test macros. The first class -// specify complete standards, and if one of these is defined, header -// files will try to conform to the relevant standard. They are: -// -// ANSI macros: -// _ANSI_SOURCE ANSI C89 -// -// POSIX macros: -// _POSIX_SOURCE == 1 IEEE Std 1003.1 (version?) -// _POSIX_C_SOURCE == 1 IEEE Std 1003.1-1990 -// _POSIX_C_SOURCE == 2 IEEE Std 1003.2-1992 -// _POSIX_C_SOURCE == 199309L IEEE Std 1003.1b-1993 -// _POSIX_C_SOURCE == 199506L ISO/IEC 9945-1:1996 -// _POSIX_C_SOURCE == 200112L IEEE Std 1003.1-2001 -// _POSIX_C_SOURCE == 200809L IEEE Std 1003.1-2008 -// -// X/Open macros: -// _XOPEN_SOURCE System Interfaces and Headers, Issue 4, Ver 2 -// _XOPEN_SOURCE_EXTENDED == 1 XSH4.2 UNIX extensions -// _XOPEN_SOURCE == 500 System Interfaces and Headers, Issue 5 -// _XOPEN_SOURCE == 520 Networking Services (XNS), Issue 5.2 -// _XOPEN_SOURCE == 600 IEEE Std 1003.1-2001, XSI option -// _XOPEN_SOURCE == 700 IEEE Std 1003.1-2008, XSI option -// -// NetBSD macros: -// _NETBSD_SOURCE == 1 Make all NetBSD features available. -// -// If more than one of these "major" feature-test macros is defined, -// then the set of facilities provided (and namespace used) is the -// union of that specified by the relevant standards, and in case of -// conflict, the earlier standard in the above list has precedence (so -// if both _POSIX_C_SOURCE and _NETBSD_SOURCE are defined, the version -// of rename() that's used is the POSIX one). If none of the "major" -// feature-test macros is defined, _NETBSD_SOURCE is assumed. -// -// There are also "minor" feature-test macros, which enable extra -// functionality in addition to some base standard. They should be -// defined along with one of the "major" macros. The "minor" macros -// are: -// -// _REENTRANT -// _ISOC99_SOURCE -// _ISOC11_SOURCE -// _LARGEFILE_SOURCE Large File Support -// +type Useconds_t = uint32 /* types.h:309:26 */ // $NetBSD: fd_set.h,v 1.7 2018/06/24 12:05:40 kamil Exp $ @@ -11513,6 +8017,3790 @@ type Fd_set = fd_set /* fd_set.h:68:3 */ // Expose our internals if we are not required to hide them. +type Kauth_cred_t = uintptr /* types.h:318:27 */ + +type Pri_t = int32 /* types.h:320:13 */ + +// $NetBSD: pthread_types.h,v 1.23 2017/09/09 23:21:45 kamil Exp $ + +// - +// Copyright (c) 2001, 2008 The NetBSD Foundation, Inc. +// All rights reserved. +// +// This code is derived from software contributed to The NetBSD Foundation +// by Nathan J. Williams. +// +// 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. +// +// THIS SOFTWARE IS PROVIDED BY THE NETBSD FOUNDATION, INC. 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 FOUNDATION 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. + +// We use the "pthread_spin_t" name internally; "pthread_spinlock_t" is the +// POSIX spinlock object. +// +// C++ expects to be using PTHREAD_FOO_INITIALIZER as a member initializer. +// This does not work for volatile types. Since C++ does not touch the guts +// of those types, we do not include volatile in the C++ definitions. +type Pthread_spin_t = X__cpu_simple_lock_t /* pthread_types.h:43:29 */ +type X__pthread_spin_t = Pthread_spin_t /* pthread_types.h:48:24 */ + +// Copied from PTQ_HEAD in pthread_queue.h + +type pthread_queue_struct_t = struct { + Fptqh_first uintptr + Fptqh_last uintptr +} /* pthread_types.h:61:1 */ + +type Pthread_queue_t = pthread_queue_struct_t /* pthread_types.h:62:39 */ +type __pthread_attr_st = struct { + Fpta_magic uint32 + Fpta_flags int32 + Fpta_private uintptr +} /* pthread_types.h:65:1 */ + +type __pthread_mutex_st = struct { + Fptm_magic uint32 + Fptm_errorcheck X__pthread_spin_t + Fptm_pad1 [3]Uint8_t + F__8 struct{ Fptm_ceiling uint8 } + Fptm_pad2 [3]Uint8_t + F__ccgo_pad1 [4]byte + Fptm_owner Pthread_t + Fptm_waiters uintptr + Fptm_recursed uint32 + F__ccgo_pad2 [4]byte + Fptm_spare2 uintptr +} /* pthread_types.h:66:1 */ + +type __pthread_mutexattr_st = struct { + Fptma_magic uint32 + F__ccgo_pad1 [4]byte + Fptma_private uintptr +} /* pthread_types.h:67:1 */ + +type __pthread_cond_st = struct { + Fptc_magic uint32 + Fptc_lock X__pthread_spin_t + F__ccgo_pad1 [3]byte + Fptc_waiters Pthread_queue_t + Fptc_mutex uintptr + Fptc_private uintptr +} /* pthread_types.h:68:1 */ + +type __pthread_condattr_st = struct { + Fptca_magic uint32 + F__ccgo_pad1 [4]byte + Fptca_private uintptr +} /* pthread_types.h:69:1 */ + +type __pthread_rwlock_st = struct { + Fptr_magic uint32 + Fptr_interlock X__pthread_spin_t + F__ccgo_pad1 [3]byte + Fptr_rblocked Pthread_queue_t + Fptr_wblocked Pthread_queue_t + Fptr_nreaders uint32 + F__ccgo_pad2 [4]byte + Fptr_owner Pthread_t + Fptr_private uintptr +} /* pthread_types.h:71:1 */ + +type __pthread_rwlockattr_st = struct { + Fptra_magic uint32 + F__ccgo_pad1 [4]byte + Fptra_private uintptr +} /* pthread_types.h:72:1 */ + +type __pthread_barrier_st = struct { + Fptb_magic uint32 + Fptb_lock Pthread_spin_t + F__ccgo_pad1 [3]byte + Fptb_waiters Pthread_queue_t + Fptb_initcount uint32 + Fptb_curcount uint32 + Fptb_generation uint32 + F__ccgo_pad2 [4]byte + Fptb_private uintptr +} /* pthread_types.h:73:1 */ + +type __pthread_barrierattr_st = struct { + Fptba_magic uint32 + F__ccgo_pad1 [4]byte + Fptba_private uintptr +} /* pthread_types.h:74:1 */ + +type Pthread_t = uintptr /* pthread_types.h:76:29 */ +type Pthread_attr_t = __pthread_attr_st /* pthread_types.h:77:34 */ +type Pthread_mutex_t = __pthread_mutex_st /* pthread_types.h:78:35 */ +type Pthread_mutexattr_t = __pthread_mutexattr_st /* pthread_types.h:79:39 */ +type Pthread_cond_t = __pthread_cond_st /* pthread_types.h:80:34 */ +type Pthread_condattr_t = __pthread_condattr_st /* pthread_types.h:81:38 */ +type __pthread_once_st = struct { + Fpto_mutex Pthread_mutex_t + Fpto_done int32 + F__ccgo_pad1 [4]byte +} /* pthread_types.h:82:9 */ + +type Pthread_once_t = __pthread_once_st /* pthread_types.h:82:34 */ +type __pthread_spinlock_st = struct { + Fpts_magic uint32 + Fpts_spin X__pthread_spin_t + F__ccgo_pad1 [3]byte + Fpts_flags int32 +} /* pthread_types.h:83:9 */ + +type Pthread_spinlock_t = __pthread_spinlock_st /* pthread_types.h:83:38 */ +type Pthread_rwlock_t = __pthread_rwlock_st /* pthread_types.h:84:36 */ +type Pthread_rwlockattr_t = __pthread_rwlockattr_st /* pthread_types.h:85:40 */ +type Pthread_barrier_t = __pthread_barrier_st /* pthread_types.h:86:37 */ +type Pthread_barrierattr_t = __pthread_barrierattr_st /* pthread_types.h:87:41 */ +type Pthread_key_t = int32 /* pthread_types.h:88:13 */ + +type Div_t = struct { + Fquot int32 + Frem int32 +} /* stdlib.h:59:3 */ + +type Ldiv_t = struct { + Fquot int64 + Frem int64 +} /* stdlib.h:64:3 */ + +type Lldiv_t = struct { + Fquot int64 + Frem int64 +} /* stdlib.h:74:3 */ + +type Qdiv_t = struct { + Fquot Quad_t + Frem Quad_t +} /* stdlib.h:81:3 */ + +// $NetBSD: stddef.h,v 1.20 2016/03/20 16:26:06 christos Exp $ + +// - +// 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. 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. +// +// @(#)stddef.h 8.1 (Berkeley) 6/2/93 + +// $NetBSD: cdefs.h,v 1.141 2019/02/21 21:34:05 christos Exp $ + +// * 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. 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 + +// $NetBSD: featuretest.h,v 1.10 2013/04/26 18:29:06 christos Exp $ + +// Written by Klaus Klein , February 2, 1998. +// Public domain. +// +// NOTE: Do not protect this header against multiple inclusion. Doing +// so can have subtle side-effects due to header file inclusion order +// and testing of e.g. _POSIX_SOURCE vs. _POSIX_C_SOURCE. Instead, +// protect each CPP macro that we want to supply. + +// Feature-test macros are defined by several standards, and allow an +// application to specify what symbols they want the system headers to +// expose, and hence what standard they want them to conform to. +// There are two classes of feature-test macros. The first class +// specify complete standards, and if one of these is defined, header +// files will try to conform to the relevant standard. They are: +// +// ANSI macros: +// _ANSI_SOURCE ANSI C89 +// +// POSIX macros: +// _POSIX_SOURCE == 1 IEEE Std 1003.1 (version?) +// _POSIX_C_SOURCE == 1 IEEE Std 1003.1-1990 +// _POSIX_C_SOURCE == 2 IEEE Std 1003.2-1992 +// _POSIX_C_SOURCE == 199309L IEEE Std 1003.1b-1993 +// _POSIX_C_SOURCE == 199506L ISO/IEC 9945-1:1996 +// _POSIX_C_SOURCE == 200112L IEEE Std 1003.1-2001 +// _POSIX_C_SOURCE == 200809L IEEE Std 1003.1-2008 +// +// X/Open macros: +// _XOPEN_SOURCE System Interfaces and Headers, Issue 4, Ver 2 +// _XOPEN_SOURCE_EXTENDED == 1 XSH4.2 UNIX extensions +// _XOPEN_SOURCE == 500 System Interfaces and Headers, Issue 5 +// _XOPEN_SOURCE == 520 Networking Services (XNS), Issue 5.2 +// _XOPEN_SOURCE == 600 IEEE Std 1003.1-2001, XSI option +// _XOPEN_SOURCE == 700 IEEE Std 1003.1-2008, XSI option +// +// NetBSD macros: +// _NETBSD_SOURCE == 1 Make all NetBSD features available. +// +// If more than one of these "major" feature-test macros is defined, +// then the set of facilities provided (and namespace used) is the +// union of that specified by the relevant standards, and in case of +// conflict, the earlier standard in the above list has precedence (so +// if both _POSIX_C_SOURCE and _NETBSD_SOURCE are defined, the version +// of rename() that's used is the POSIX one). If none of the "major" +// feature-test macros is defined, _NETBSD_SOURCE is assumed. +// +// There are also "minor" feature-test macros, which enable extra +// functionality in addition to some base standard. They should be +// defined along with one of the "major" macros. The "minor" macros +// are: +// +// _REENTRANT +// _ISOC99_SOURCE +// _ISOC11_SOURCE +// _LARGEFILE_SOURCE Large File Support +// + +// $NetBSD: ansi.h,v 1.11 2019/05/07 03:49:26 kamil Exp $ + +// $NetBSD: common_ansi.h,v 1.1 2014/08/19 07:27:31 matt Exp $ + +// - +// Copyright (c) 2014 The NetBSD Foundation, Inc. +// All rights reserved. +// +// This code is derived from software contributed to The NetBSD Foundation +// by Matt Thomas of 3am Software Foundry. +// +// 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. +// +// THIS SOFTWARE IS PROVIDED BY THE NETBSD FOUNDATION, INC. 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 FOUNDATION 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. + +// $NetBSD: null.h,v 1.9 2010/07/06 11:56:20 kleink Exp $ + +// Written by Klaus Klein , December 22, 1999. +// Public domain. + +type Max_align_t = struct{ F_v uintptr } /* stddef.h:75:3 */ + +// Use a macro to replace memcpy() if compiled with SQLITE_INLINE_MEMCPY. +// This allows better measurements of where memcpy() is used when running +// cachegrind. But this macro version of memcpy() is very slow so it +// should not be used in production. This is a performance measurement +// hack only. + +// If compiling for a processor that lacks floating point support, +// substitute integer for floating-point + +// OMIT_TEMPDB is set to 1 if SQLITE_OMIT_TEMPDB is defined, or 0 +// afterward. Having this macro allows us to cause the C compiler +// to omit code used by TEMP tables without messy #ifndef statements. + +// The "file format" number is an integer that is incremented whenever +// the VDBE-level file format changes. The following macros define the +// the default file format for new databases and the maximum file format +// that the library can read. + +// Determine whether triggers are recursive by default. This can be +// changed at run-time using a pragma. + +// Provide a default value for SQLITE_TEMP_STORE in case it is not specified +// on the command-line + +// If no value has been provided for SQLITE_MAX_WORKER_THREADS, or if +// SQLITE_TEMP_STORE is set to 3 (never use temporary files), set it +// to zero. + +// The default initial allocation for the pagecache when using separate +// pagecaches for each database connection. A positive number is the +// number of pages. A negative number N translations means that a buffer +// of -1024*N bytes is allocated and used for as many pages as it will hold. +// +// The default value of "20" was choosen to minimize the run-time of the +// speedtest1 test program with options: --shrink-memory --reprepare + +// Default value for the SQLITE_CONFIG_SORTERREF_SIZE option. + +// The compile-time options SQLITE_MMAP_READWRITE and +// SQLITE_ENABLE_BATCH_ATOMIC_WRITE are not compatible with one another. +// You must choose one or the other (or neither) but not both. + +// GCC does not define the offsetof() macro so we'll have to do it +// ourselves. + +// Macros to compute minimum and maximum of two numbers. + +// Swap two objects of type TYPE. + +// Check to see if this machine uses EBCDIC. (Yes, believe it or +// not, there are still machines out there that use EBCDIC.) + +// Integers of known sizes. These typedefs might change for architectures +// where the sizes very. Preprocessor macros are available so that the +// types can be conveniently redefined at compile-type. Like this: +// +// cc '-DUINTPTR_TYPE=long long int' ... +type I64 = Sqlite_int64 /* sqlite3.c:14542:22 */ // 8-byte signed integer +type U64 = Sqlite_uint64 /* sqlite3.c:14543:23 */ // 8-byte unsigned integer +type U32 = uint32 /* sqlite3.c:14544:21 */ // 4-byte unsigned integer +type U16 = uint16 /* sqlite3.c:14545:21 */ // 2-byte unsigned integer +type I16 = int16 /* sqlite3.c:14546:20 */ // 2-byte signed integer +type U8 = uint8 /* sqlite3.c:14547:20 */ // 1-byte unsigned integer +type I8 = int8 /* sqlite3.c:14548:19 */ // 1-byte signed integer + +// SQLITE_MAX_U32 is a u64 constant that is the maximum u64 value +// that can be stored in a u32 without loss of data. The value +// is 0x00000000ffffffff. But because of quirks of some compilers, we +// have to specify the value in the less intuitive manner shown: + +// The datatype used to store estimates of the number of rows in a +// table or index. This is an unsigned integer type. For 99.9% of +// the world, a 32-bit integer is sufficient. But a 64-bit integer +// can be used at compile-time if desired. +type TRowcnt = U32 /* sqlite3.c:14567:14 */ // 32-bit is the default + +// Estimated quantities used for query planning are stored as 16-bit +// logarithms. For quantity X, the value stored is 10*log2(X). This +// gives a possible range of values of approximately 1.0e986 to 1e-986. +// But the allowed values are "grainy". Not every value is representable. +// For example, quantities 16 and 17 are both represented by a LogEst +// of 40. However, since LogEst quantities are suppose to be estimates, +// not exact values, this imprecision is not a problem. +// +// "LogEst" is short for "Logarithmic Estimate". +// +// Examples: +// 1 -> 0 20 -> 43 10000 -> 132 +// 2 -> 10 25 -> 46 25000 -> 146 +// 3 -> 16 100 -> 66 1000000 -> 199 +// 4 -> 20 1000 -> 99 1048576 -> 200 +// 10 -> 33 1024 -> 100 4294967296 -> 320 +// +// The LogEst can be negative to indicate fractional values. +// Examples: +// +// 0.5 -> -10 0.1 -> -33 0.0625 -> -40 +type LogEst = int16 /* sqlite3.c:14593:20 */ + +// Set the SQLITE_PTRSIZE macro to the number of bytes in a pointer + +// The uptr type is an unsigned integer large enough to hold a pointer +type Uptr = U64 /* sqlite3.c:14617:15 */ + +// An instance of the following structure is used to store the busy-handler +// callback for a given sqlite handle. +// +// The sqlite.busyHandler member of the sqlite struct contains the busy +// callback for the database handle. Each pager opened via the sqlite +// handle is passed a pointer to sqlite.busyHandler. The busy-handler +// callback is currently invoked only from within pager.c. +type BusyHandler1 = struct { + FxBusyHandler uintptr + FpBusyArg uintptr + FnBusy int32 + F__ccgo_pad1 [4]byte +} /* sqlite3.c:1331:9 */ + +// An instance of the following structure is used to store the busy-handler +// callback for a given sqlite handle. +// +// The sqlite.busyHandler member of the sqlite struct contains the busy +// callback for the database handle. Each pager opened via the sqlite +// handle is passed a pointer to sqlite.busyHandler. The busy-handler +// callback is currently invoked only from within pager.c. +type BusyHandler = BusyHandler1 /* sqlite3.c:14788:28 */ + +// Name of table that holds the database schema. + +// The root-page of the schema table. + +// The name of the schema table. The name is different for TEMP. + +// A convenience macro that returns the number of elements in +// an array. + +// Determine if the argument is a power of two + +// The following value as a destructor means to use sqlite3DbFree(). +// The sqlite3DbFree() routine requires two parameters instead of the +// one parameter that destructors normally want. So we have to introduce +// this magic value that the code knows to handle differently. Any +// pointer will work here as long as it is distinct from SQLITE_STATIC +// and SQLITE_TRANSIENT. + +// When SQLITE_OMIT_WSD is defined, it means that the target platform does +// not support Writable Static Data (WSD) such as global and static variables. +// All variables must either be on the stack or dynamically allocated from +// the heap. When WSD is unsupported, the variable declarations scattered +// throughout the SQLite code must become constants instead. The SQLITE_WSD +// macro is used for this purpose. And instead of referencing the variable +// directly, we use its constant as a key to lookup the run-time allocated +// buffer that holds real variable. The constant is also the initializer +// for the run-time allocated buffer. +// +// In the usual case where WSD is supported, the SQLITE_WSD and GLOBAL +// macros become no-ops and have zero performance impact. + +// The following macros are used to suppress compiler warnings and to +// make it clear to human readers when a function parameter is deliberately +// left unused within the body of a function. This usually happens when +// a function is called via a function pointer. For example the +// implementation of an SQL aggregate step callback may not use the +// parameter indicating the number of arguments passed to the aggregate, +// if it knows that this is enforced elsewhere. +// +// When a function parameter is not used at all within the body of a function, +// it is generally named "NotUsed" or "NotUsed2" to make things even clearer. +// However, these macros may also be used to suppress warnings related to +// parameters that may or may not be used depending on compilation options. +// For example those parameters only used in assert() statements. In these +// cases the parameters are named as per the usual conventions. + +// Forward references to structures +type AggInfo1 = struct { + FdirectMode U8 + FuseSortingIdx U8 + F__ccgo_pad1 [2]byte + FsortingIdx int32 + FsortingIdxPTab int32 + FnSortingColumn int32 + FmnReg int32 + FmxReg int32 + FpGroupBy uintptr + FaCol uintptr + FnColumn int32 + FnAccumulator int32 + FaFunc uintptr + FnFunc int32 + FselId U32 +} /* sqlite3.c:1331:9 */ + +// Name of table that holds the database schema. + +// The root-page of the schema table. + +// The name of the schema table. The name is different for TEMP. + +// A convenience macro that returns the number of elements in +// an array. + +// Determine if the argument is a power of two + +// The following value as a destructor means to use sqlite3DbFree(). +// The sqlite3DbFree() routine requires two parameters instead of the +// one parameter that destructors normally want. So we have to introduce +// this magic value that the code knows to handle differently. Any +// pointer will work here as long as it is distinct from SQLITE_STATIC +// and SQLITE_TRANSIENT. + +// When SQLITE_OMIT_WSD is defined, it means that the target platform does +// not support Writable Static Data (WSD) such as global and static variables. +// All variables must either be on the stack or dynamically allocated from +// the heap. When WSD is unsupported, the variable declarations scattered +// throughout the SQLite code must become constants instead. The SQLITE_WSD +// macro is used for this purpose. And instead of referencing the variable +// directly, we use its constant as a key to lookup the run-time allocated +// buffer that holds real variable. The constant is also the initializer +// for the run-time allocated buffer. +// +// In the usual case where WSD is supported, the SQLITE_WSD and GLOBAL +// macros become no-ops and have zero performance impact. + +// The following macros are used to suppress compiler warnings and to +// make it clear to human readers when a function parameter is deliberately +// left unused within the body of a function. This usually happens when +// a function is called via a function pointer. For example the +// implementation of an SQL aggregate step callback may not use the +// parameter indicating the number of arguments passed to the aggregate, +// if it knows that this is enforced elsewhere. +// +// When a function parameter is not used at all within the body of a function, +// it is generally named "NotUsed" or "NotUsed2" to make things even clearer. +// However, these macros may also be used to suppress warnings related to +// parameters that may or may not be used depending on compilation options. +// For example those parameters only used in assert() statements. In these +// cases the parameters are named as per the usual conventions. + +// Forward references to structures +type AggInfo = AggInfo1 /* sqlite3.c:14884:24 */ +type AuthContext1 = struct { + FzAuthContext uintptr + FpParse uintptr +} /* sqlite3.c:14885:9 */ + +type AuthContext = AuthContext1 /* sqlite3.c:14885:28 */ +type AutoincInfo1 = struct { + FpNext uintptr + FpTab uintptr + FiDb int32 + FregCtr int32 +} /* sqlite3.c:1331:9 */ + +type AutoincInfo = AutoincInfo1 /* sqlite3.c:14886:28 */ +type Bitvec1 = struct { + FiSize U32 + FnSet U32 + FiDivisor U32 + F__ccgo_pad1 [4]byte + Fu struct { + F__ccgo_pad1 [0]uint64 + FaBitmap [496]U8 + } +} /* sqlite3.c:1331:9 */ + +type Bitvec = Bitvec1 /* sqlite3.c:14887:23 */ +type CollSeq1 = struct { + FzName uintptr + Fenc U8 + F__ccgo_pad1 [7]byte + FpUser uintptr + FxCmp uintptr + FxDel uintptr +} /* sqlite3.c:1331:9 */ + +type CollSeq = CollSeq1 /* sqlite3.c:14888:24 */ +type Column1 = struct { + FzName uintptr + FpDflt uintptr + FzColl uintptr + FnotNull U8 + Faffinity int8 + FszEst U8 + FhName U8 + FcolFlags U16 + F__ccgo_pad1 [2]byte +} /* sqlite3.c:1331:9 */ + +type Column = Column1 /* sqlite3.c:14889:23 */ +type Cte1 = struct { + FzName uintptr + FpCols uintptr + FpSelect uintptr + FzCteErr uintptr + FpUse uintptr + FeM10d U8 + F__ccgo_pad1 [7]byte +} /* sqlite3.c:1331:9 */ + +type Cte = Cte1 /* sqlite3.c:14890:20 */ +type CteUse1 = struct { + FnUse int32 + FaddrM9e int32 + FregRtn int32 + FiCur int32 + FnRowEst LogEst + FeM10d U8 + F__ccgo_pad1 [1]byte +} /* sqlite3.c:1331:9 */ + +type CteUse = CteUse1 /* sqlite3.c:14891:23 */ +type Db1 = struct { + FzDbSName uintptr + FpBt uintptr + Fsafety_level U8 + FbSyncSet U8 + F__ccgo_pad1 [6]byte + FpSchema uintptr +} /* sqlite3.c:1331:9 */ + +type Db = Db1 /* sqlite3.c:14892:19 */ +type DbFixer1 = struct { + FpParse uintptr + Fw Walker + FpSchema uintptr + FbTemp U8 + F__ccgo_pad1 [7]byte + FzDb uintptr + FzType uintptr + FpName uintptr +} /* sqlite3.c:14893:9 */ + +type DbFixer = DbFixer1 /* sqlite3.c:14893:24 */ +type Schema1 = struct { + Fschema_cookie int32 + FiGeneration int32 + FtblHash Hash + FidxHash Hash + FtrigHash Hash + FfkeyHash Hash + FpSeqTab uintptr + Ffile_format U8 + Fenc U8 + FschemaFlags U16 + Fcache_size int32 +} /* sqlite3.c:1331:9 */ + +type Schema = Schema1 /* sqlite3.c:14894:23 */ +type Expr1 = struct { + Fop U8 + FaffExpr int8 + Fop2 U8 + F__ccgo_pad1 [1]byte + Fflags U32 + Fu struct{ FzToken uintptr } + FpLeft uintptr + FpRight uintptr + Fx struct{ FpList uintptr } + FnHeight int32 + FiTable int32 + FiColumn YnVar + FiAgg I16 + FiRightJoinTable int32 + FpAggInfo uintptr + Fy struct{ FpTab uintptr } +} /* sqlite3.c:1331:9 */ + +type Expr = Expr1 /* sqlite3.c:14895:21 */ +type ExprList1 = struct { + FnExpr int32 + FnAlloc int32 + Fa [1]struct { + FpExpr uintptr + FzEName uintptr + FsortFlags U8 + F__ccgo_pad1 [3]byte + FeEName uint8 /* unsigned eEName: 2, unsigned done: 1, unsigned reusable: 1, unsigned bSorterRef: 1, unsigned bNulls: 1 */ + F__ccgo_pad2 [3]byte + Fu struct { + F__ccgo_pad1 [0]uint32 + Fx struct { + FiOrderByCol U16 + FiAlias U16 + } + } + F__ccgo_pad3 [4]byte + } +} /* sqlite3.c:1331:9 */ + +type ExprList = ExprList1 /* sqlite3.c:14896:25 */ +type FKey1 = struct { + FpFrom uintptr + FpNextFrom uintptr + FzTo uintptr + FpNextTo uintptr + FpPrevTo uintptr + FnCol int32 + FisDeferred U8 + FaAction [2]U8 + F__ccgo_pad1 [1]byte + FapTrigger [2]uintptr + FaCol [1]struct { + FiFrom int32 + F__ccgo_pad1 [4]byte + FzCol uintptr + } +} /* sqlite3.c:1331:9 */ + +type FKey = FKey1 /* sqlite3.c:14897:21 */ +type FuncDestructor1 = struct { + FnRef int32 + F__ccgo_pad1 [4]byte + FxDestroy uintptr + FpUserData uintptr +} /* sqlite3.c:14898:9 */ + +type FuncDestructor = FuncDestructor1 /* sqlite3.c:14898:31 */ +type FuncDef1 = struct { + FnArg I8 + F__ccgo_pad1 [3]byte + FfuncFlags U32 + FpUserData uintptr + FpNext uintptr + FxSFunc uintptr + FxFinalize uintptr + FxValue uintptr + FxInverse uintptr + FzName uintptr + Fu struct{ FpHash uintptr } +} /* sqlite3.c:1331:9 */ + +type FuncDef = FuncDef1 /* sqlite3.c:14899:24 */ +type FuncDefHash1 = struct{ Fa [23]uintptr } /* sqlite3.c:14900:9 */ + +type FuncDefHash = FuncDefHash1 /* sqlite3.c:14900:28 */ +type IdList1 = struct { + Fa uintptr + FnId int32 + F__ccgo_pad1 [4]byte +} /* sqlite3.c:1331:9 */ + +type IdList = IdList1 /* sqlite3.c:14901:23 */ +type Index1 = struct { + FzName uintptr + FaiColumn uintptr + FaiRowLogEst uintptr + FpTable uintptr + FzColAff uintptr + FpNext uintptr + FpSchema uintptr + FaSortOrder uintptr + FazColl uintptr + FpPartIdxWhere uintptr + FaColExpr uintptr + Ftnum Pgno + FszIdxRow LogEst + FnKeyCol U16 + FnColumn U16 + FonError U8 + F__ccgo_pad1 [1]byte + FidxType uint16 /* unsigned idxType: 2, unsigned bUnordered: 1, unsigned uniqNotNull: 1, unsigned isResized: 1, unsigned isCovering: 1, unsigned noSkipScan: 1, unsigned hasStat1: 1, unsigned bNoQuery: 1, unsigned bAscKeyBug: 1, unsigned bHasVCol: 1 */ + F__ccgo_pad2 [2]byte + FnSample int32 + FnSampleCol int32 + FaAvgEq uintptr + FaSample uintptr + FaiRowEst uintptr + FnRowEst0 TRowcnt + F__ccgo_pad3 [4]byte + FcolNotIdxed Bitmask +} /* sqlite3.c:1331:9 */ + +type Index = Index1 /* sqlite3.c:14902:22 */ +type IndexSample1 = struct { + Fp uintptr + Fn int32 + F__ccgo_pad1 [4]byte + FanEq uintptr + FanLt uintptr + FanDLt uintptr +} /* sqlite3.c:1331:9 */ + +type IndexSample = IndexSample1 /* sqlite3.c:14903:28 */ +type KeyInfo1 = struct { + FnRef U32 + Fenc U8 + F__ccgo_pad1 [1]byte + FnKeyField U16 + FnAllField U16 + F__ccgo_pad2 [6]byte + Fdb uintptr + FaSortFlags uintptr + FaColl [1]uintptr +} /* sqlite3.c:1331:9 */ + +type KeyInfo = KeyInfo1 /* sqlite3.c:14905:24 */ +type Lookaside1 = struct { + FbDisable U32 + Fsz U16 + FszTrue U16 + FbMalloced U8 + F__ccgo_pad1 [3]byte + FnSlot U32 + FanStat [3]U32 + F__ccgo_pad2 [4]byte + FpInit uintptr + FpFree uintptr + FpSmallInit uintptr + FpSmallFree uintptr + FpMiddle uintptr + FpStart uintptr + FpEnd uintptr +} /* sqlite3.c:1331:9 */ + +type Lookaside = Lookaside1 /* sqlite3.c:14906:26 */ +type LookasideSlot1 = struct{ FpNext uintptr } /* sqlite3.c:1331:9 */ + +type LookasideSlot = LookasideSlot1 /* sqlite3.c:14907:30 */ +type Module1 = struct { + FpModule uintptr + FzName uintptr + FnRefModule int32 + F__ccgo_pad1 [4]byte + FpAux uintptr + FxDestroy uintptr + FpEpoTab uintptr +} /* sqlite3.c:1331:9 */ + +type Module = Module1 /* sqlite3.c:14908:23 */ +type NameContext1 = struct { + FpParse uintptr + FpSrcList uintptr + FuNC struct{ FpEList uintptr } + FpNext uintptr + FnRef int32 + FnNcErr int32 + FncFlags int32 + F__ccgo_pad1 [4]byte + FpWinSelect uintptr +} /* sqlite3.c:14909:9 */ + +type NameContext = NameContext1 /* sqlite3.c:14909:28 */ +type Parse1 = struct { + Fdb uintptr + FzErrMsg uintptr + FpVdbe uintptr + Frc int32 + FcolNamesSet U8 + FcheckSchema U8 + Fnested U8 + FnTempReg U8 + FisMultiWrite U8 + FmayAbort U8 + FhasCompound U8 + FokConstFactor U8 + FdisableLookaside U8 + FdisableVtab U8 + F__ccgo_pad1 [2]byte + FnRangeReg int32 + FiRangeReg int32 + FnErr int32 + FnTab int32 + FnMem int32 + FszOpAlloc int32 + FiSelfTab int32 + FnLabel int32 + FnLabelAlloc int32 + F__ccgo_pad2 [4]byte + FaLabel uintptr + FpConstExpr uintptr + FconstraintName Token + FwriteMask YDbMask + FcookieMask YDbMask + FregRowid int32 + FregRoot int32 + FnMaxArg int32 + FnSelect int32 + FnTableLock int32 + F__ccgo_pad3 [4]byte + FaTableLock uintptr + FpAinc uintptr + FpToplevel uintptr + FpTriggerTab uintptr + FpParentParse uintptr + Fu1 struct { + F__ccgo_pad1 [0]uint64 + FaddrCrTab int32 + F__ccgo_pad2 [4]byte + } + FnQueryLoop U32 + Foldmask U32 + Fnewmask U32 + FeTriggerOp U8 + FbReturning U8 + FeOrconf U8 + FdisableTriggers U8 + FaTempReg [8]int32 + FsNameToken Token + FsLastToken Token + FnVar YnVar + FiPkSortOrder U8 + Fexplain U8 + FeParseMode U8 + F__ccgo_pad4 [3]byte + FnVtabLock int32 + FnHeight int32 + FaddrExplain int32 + F__ccgo_pad5 [4]byte + FpVList uintptr + FpReprepare uintptr + FzTail uintptr + FpNewTable uintptr + FpNewIndex uintptr + FpNewTrigger uintptr + FzAuthContext uintptr + FsArg Token + FapVtabLock uintptr + FpTriggerPrg uintptr + FpWith uintptr + FpCleanup uintptr + FpRename uintptr +} /* sqlite3.c:1331:9 */ + +type Parse = Parse1 /* sqlite3.c:14910:22 */ +type ParseCleanup1 = struct { + FpNext uintptr + FpPtr uintptr + FxCleanup uintptr +} /* sqlite3.c:1331:9 */ + +type ParseCleanup = ParseCleanup1 /* sqlite3.c:14911:29 */ +type PreUpdate1 = struct { + Fv uintptr + FpCsr uintptr + Fop int32 + F__ccgo_pad1 [4]byte + FaRecord uintptr + Fkeyinfo KeyInfo + FpUnpacked uintptr + FpNewUnpacked uintptr + FiNewReg int32 + FiBlobWrite int32 + FiKey1 I64 + FiKey2 I64 + FaNew uintptr + FpTab uintptr + FpPk uintptr +} /* sqlite3.c:1331:9 */ + +type PreUpdate = PreUpdate1 /* sqlite3.c:14912:26 */ +type PrintfArguments1 = struct { + FnArg int32 + FnUsed int32 + FapArg uintptr +} /* sqlite3.c:14913:9 */ + +type PrintfArguments = PrintfArguments1 /* sqlite3.c:14913:32 */ +type RenameToken1 = struct { + Fp uintptr + Ft Token + FpNext uintptr +} /* sqlite3.c:1331:9 */ + +type RenameToken = RenameToken1 /* sqlite3.c:14914:28 */ +type Returning1 = struct { + FpParse uintptr + FpReturnEL uintptr + FretTrig Trigger + FretTStep TriggerStep + FiRetCur int32 + FnRetCol int32 + FiRetReg int32 + F__ccgo_pad1 [4]byte +} /* sqlite3.c:14915:9 */ + +type Returning = Returning1 /* sqlite3.c:14915:26 */ +type RowSet1 = struct { + FpChunk uintptr + Fdb uintptr + FpEntry uintptr + FpLast uintptr + FpFresh uintptr + FpForest uintptr + FnFresh U16 + FrsFlags U16 + FiBatch int32 +} /* sqlite3.c:14916:9 */ + +type RowSet = RowSet1 /* sqlite3.c:14916:23 */ +type Savepoint1 = struct { + FzName uintptr + FnDeferredCons I64 + FnDeferredImmCons I64 + FpNext uintptr +} /* sqlite3.c:1331:9 */ + +type Savepoint = Savepoint1 /* sqlite3.c:14917:26 */ +type Select1 = struct { + Fop U8 + F__ccgo_pad1 [1]byte + FnSelectRow LogEst + FselFlags U32 + FiLimit int32 + FiOffset int32 + FselId U32 + FaddrOpenEphm [2]int32 + F__ccgo_pad2 [4]byte + FpEList uintptr + FpSrc uintptr + FpWhere uintptr + FpGroupBy uintptr + FpHaving uintptr + FpOrderBy uintptr + FpPrior uintptr + FpNext uintptr + FpLimit uintptr + FpWith uintptr + FpWin uintptr + FpWinDefn uintptr +} /* sqlite3.c:1331:9 */ + +type Select = Select1 /* sqlite3.c:14918:23 */ +type SQLiteThread1 = struct { + FxTask uintptr + FpIn uintptr + FpResult uintptr +} /* sqlite3.c:14919:9 */ + +type SQLiteThread = SQLiteThread1 /* sqlite3.c:14919:29 */ +type SelectDest1 = struct { + FeDest U8 + F__ccgo_pad1 [3]byte + FiSDParm int32 + FiSDParm2 int32 + FiSdst int32 + FnSdst int32 + F__ccgo_pad2 [4]byte + FzAffSdst uintptr + FpOrderBy uintptr +} /* sqlite3.c:14920:9 */ + +type SelectDest = SelectDest1 /* sqlite3.c:14920:27 */ +type SrcItem1 = struct { + FpSchema uintptr + FzDatabase uintptr + FzName uintptr + FzAlias uintptr + FpTab uintptr + FpSelect uintptr + FaddrFillSub int32 + FregReturn int32 + FregResult int32 + Ffg struct { + F__ccgo_pad1 [0]uint32 + Fjointype U8 + F__ccgo_pad2 [3]byte + FnotIndexed uint16 /* unsigned notIndexed: 1, unsigned isIndexedBy: 1, unsigned isTabFunc: 1, unsigned isCorrelated: 1, unsigned viaCoroutine: 1, unsigned isRecursive: 1, unsigned fromDDL: 1, unsigned isCte: 1, unsigned notCte: 1 */ + F__ccgo_pad3 [2]byte + } + FiCursor int32 + FpOn uintptr + FpUsing uintptr + FcolUsed Bitmask + Fu1 struct{ FzIndexedBy uintptr } + Fu2 struct{ FpIBIndex uintptr } +} /* sqlite3.c:1331:9 */ + +type SrcItem = SrcItem1 /* sqlite3.c:14921:24 */ +type SrcList1 = struct { + FnSrc int32 + FnAlloc U32 + Fa [1]SrcItem +} /* sqlite3.c:1331:9 */ + +type SrcList = SrcList1 /* sqlite3.c:14922:24 */ +type StrAccum = sqlite3_str /* sqlite3.c:14923:28 */ // Internal alias for sqlite3_str +type Table1 = struct { + FzName uintptr + FaCol uintptr + FpIndex uintptr + FpSelect uintptr + FpFKey uintptr + FzColAff uintptr + FpCheck uintptr + Ftnum Pgno + FnTabRef U32 + FtabFlags U32 + FiPKey I16 + FnCol I16 + FnNVCol I16 + FnRowLogEst LogEst + FszTabRow LogEst + FkeyConf U8 + F__ccgo_pad1 [1]byte + FaddColOffset int32 + FnModuleArg int32 + FazModuleArg uintptr + FpVTable uintptr + FpTrigger uintptr + FpSchema uintptr +} /* sqlite3.c:1331:9 */ + +// Internal alias for sqlite3_str +type Table = Table1 /* sqlite3.c:14924:22 */ +type TableLock1 = struct { + FiDb int32 + FiTab Pgno + FisWriteLock U8 + F__ccgo_pad1 [7]byte + FzLockName uintptr +} /* sqlite3.c:1331:9 */ + +type TableLock = TableLock1 /* sqlite3.c:14925:26 */ +type Token1 = struct { + Fz uintptr + Fn uint32 + F__ccgo_pad1 [4]byte +} /* sqlite3.c:1331:9 */ + +type Token = Token1 /* sqlite3.c:14926:22 */ +type Trigger1 = struct { + FzName uintptr + Ftable uintptr + Fop U8 + Ftr_tm U8 + FbReturning U8 + F__ccgo_pad1 [5]byte + FpWhen uintptr + FpColumns uintptr + FpSchema uintptr + FpTabSchema uintptr + Fstep_list uintptr + FpNext uintptr +} /* sqlite3.c:1331:9 */ + +type Trigger = Trigger1 /* sqlite3.c:14928:24 */ +type TriggerPrg1 = struct { + FpTrigger uintptr + FpNext uintptr + FpProgram uintptr + Forconf int32 + FaColmask [2]U32 + F__ccgo_pad1 [4]byte +} /* sqlite3.c:1331:9 */ + +type TriggerPrg = TriggerPrg1 /* sqlite3.c:14929:27 */ +type TriggerStep1 = struct { + Fop U8 + Forconf U8 + F__ccgo_pad1 [6]byte + FpTrig uintptr + FpSelect uintptr + FzTarget uintptr + FpFrom uintptr + FpWhere uintptr + FpExprList uintptr + FpIdList uintptr + FpUpsert uintptr + FzSpan uintptr + FpNext uintptr + FpLast uintptr +} /* sqlite3.c:1331:9 */ + +type TriggerStep = TriggerStep1 /* sqlite3.c:14930:28 */ +type UnpackedRecord1 = struct { + FpKeyInfo uintptr + FaMem uintptr + FnField U16 + Fdefault_rc I8 + FerrCode U8 + Fr1 I8 + Fr2 I8 + FeqSeen U8 + F__ccgo_pad1 [1]byte +} /* sqlite3.c:1331:9 */ + +type UnpackedRecord = UnpackedRecord1 /* sqlite3.c:14931:31 */ +type Upsert1 = struct { + FpUpsertTarget uintptr + FpUpsertTargetWhere uintptr + FpUpsertSet uintptr + FpUpsertWhere uintptr + FpNextUpsert uintptr + FisDoUpdate U8 + F__ccgo_pad1 [7]byte + FpToFree uintptr + FpUpsertIdx uintptr + FpUpsertSrc uintptr + FregData int32 + FiDataCur int32 + FiIdxCur int32 + F__ccgo_pad2 [4]byte +} /* sqlite3.c:1331:9 */ + +type Upsert = Upsert1 /* sqlite3.c:14932:23 */ +type VTable1 = struct { + Fdb uintptr + FpMod uintptr + FpVtab uintptr + FnRef int32 + FbConstraint U8 + FeVtabRisk U8 + F__ccgo_pad1 [2]byte + FiSavepoint int32 + F__ccgo_pad2 [4]byte + FpNext uintptr +} /* sqlite3.c:1331:9 */ + +type VTable = VTable1 /* sqlite3.c:14933:23 */ +type VtabCtx1 = struct { + FpVTable uintptr + FpTab uintptr + FpPrior uintptr + FbDeclared int32 + F__ccgo_pad1 [4]byte +} /* sqlite3.c:1331:9 */ + +type VtabCtx = VtabCtx1 /* sqlite3.c:14934:24 */ +type Walker1 = struct { + FpParse uintptr + FxExprCallback uintptr + FxSelectCallback uintptr + FxSelectCallback2 uintptr + FwalkerDepth int32 + FeCode U16 + F__ccgo_pad1 [2]byte + Fu struct{ FpNC uintptr } +} /* sqlite3.c:14893:9 */ + +type Walker = Walker1 /* sqlite3.c:14935:23 */ +type WhereInfo1 = struct { + FpParse uintptr + FpTabList uintptr + FpOrderBy uintptr + FpResultSet uintptr + FpWhere uintptr + FaiCurOnePass [2]int32 + FiContinue int32 + FiBreak int32 + FsavedNQueryLoop int32 + FwctrlFlags U16 + FiLimit LogEst + FnLevel U8 + FnOBSat I8 + FeOnePass U8 + FeDistinct U8 + FbDeferredSeek uint8 /* unsigned bDeferredSeek: 1, unsigned untestedTerms: 1, unsigned bOrderedInnerLoop: 1, unsigned sorted: 1 */ + F__ccgo_pad1 [1]byte + FnRowOut LogEst + FiTop int32 + FiEndWhere int32 + FpLoops uintptr + FpExprMods uintptr + FrevMask Bitmask + FsWC WhereClause + FsMaskSet WhereMaskSet + Fa [1]WhereLevel +} /* sqlite3.c:14936:9 */ + +type WhereInfo = WhereInfo1 /* sqlite3.c:14936:26 */ +type Window1 = struct { + FzName uintptr + FzBase uintptr + FpPartition uintptr + FpOrderBy uintptr + FeFrmType U8 + FeStart U8 + FeEnd U8 + FbImplicitFrame U8 + FeExclude U8 + F__ccgo_pad1 [3]byte + FpStart uintptr + FpEnd uintptr + FppThis uintptr + FpNextWin uintptr + FpFilter uintptr + FpFunc uintptr + FiEphCsr int32 + FregAccum int32 + FregResult int32 + FcsrApp int32 + FregApp int32 + FregPart int32 + FpOwner uintptr + FnBufferCol int32 + FiArgCol int32 + FregOne int32 + FregStartRowid int32 + FregEndRowid int32 + FbExprArgs U8 + F__ccgo_pad2 [3]byte +} /* sqlite3.c:1331:9 */ + +type Window = Window1 /* sqlite3.c:14937:23 */ +type With1 = struct { + FnCte int32 + FbView int32 + FpOuter uintptr + Fa [1]Cte +} /* sqlite3.c:1331:9 */ + +type With = With1 /* sqlite3.c:14938:21 */ + +// The bitmask datatype defined below is used for various optimizations. +// +// Changing this from a 64-bit to a 32-bit type limits the number of +// tables in a join to 32 instead of 64. But it also reduces the size +// of the library by 738 bytes on ix86. +type Bitmask = U64 /* sqlite3.c:14951:15 */ + +// The number of bits in a Bitmask. "BMS" means "BitMask Size". + +// A bit in a Bitmask + +// A VList object records a mapping between parameters/variables/wildcards +// in the SQL statement (such as $abc, @pqr, or :xyz) and the integer +// variable number associated with that parameter. See the format description +// on the sqlite3VListAdd() routine for more information. A VList is really +// just an array of integers. +type VList = int32 /* sqlite3.c:14973:13 */ + +// Defer sourcing vdbe.h and btree.h until after the "u8" and +// "BusyHandler" typedefs. vdbe.h also requires a few of the opaque +// pointer types (i.e. FuncDef) defined above. +//************* Include pager.h in the middle of sqliteInt.h **************** +//************* Begin file pager.h ****************************************** +// 2001 September 15 +// +// 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 header file defines the interface that the sqlite page cache +// subsystem. The page cache subsystem reads and writes a file a page +// at a time and provides a journal for rollback. + +// Default maximum size for persistent journal files. A negative +// value means no limit. This value may be overridden using the +// sqlite3PagerJournalSizeLimit() API. See also "PRAGMA journal_size_limit". + +// The type used to represent a page number. The first page in a file +// is called page 1. 0 is used to represent "not a page". +type Pgno = U32 /* sqlite3.c:15014:13 */ + +// Each open file is managed by a separate instance of the "Pager" structure. +type Pager1 = struct { + FpVfs uintptr + FexclusiveMode U8 + FjournalMode U8 + FuseJournal U8 + FnoSync U8 + FfullSync U8 + FextraSync U8 + FsyncFlags U8 + FwalSyncFlags U8 + FtempFile U8 + FnoLock U8 + FreadOnly U8 + FmemDb U8 + FeState U8 + FeLock U8 + FchangeCountDone U8 + FsetSuper U8 + FdoNotSpill U8 + FsubjInMemory U8 + FbUseFetch U8 + FhasHeldSharedLock U8 + FdbSize Pgno + FdbOrigSize Pgno + FdbFileSize Pgno + FdbHintSize Pgno + FerrCode int32 + FnRec int32 + FcksumInit U32 + FnSubRec U32 + F__ccgo_pad1 [4]byte + FpInJournal uintptr + Ffd uintptr + Fjfd uintptr + Fsjfd uintptr + FjournalOff I64 + FjournalHdr I64 + FpBackup uintptr + FaSavepoint uintptr + FnSavepoint int32 + FiDataVersion U32 + FdbFileVers [16]int8 + FnMmapOut int32 + F__ccgo_pad2 [4]byte + FszMmap Sqlite3_int64 + FpMmapFreelist uintptr + FnExtra U16 + FnReserve I16 + FvfsFlags U32 + FsectorSize U32 + FpageSize int32 + FmxPgno Pgno + F__ccgo_pad3 [4]byte + FjournalSizeLimit I64 + FzFilename uintptr + FzJournal uintptr + FxBusyHandler uintptr + FpBusyHandlerArg uintptr + FaStat [4]int32 + FnRead int32 + F__ccgo_pad4 [4]byte + FxReiniter uintptr + FxGet uintptr + FpTmpSpace uintptr + FpPCache uintptr + FpWal uintptr + FzWal uintptr +} /* sqlite3.c:1331:9 */ + +// Each open file is managed by a separate instance of the "Pager" structure. +type Pager = Pager1 /* sqlite3.c:15019:22 */ + +// Handle type for pages. +type PgHdr2 = struct { + FpPage uintptr + FpData uintptr + FpExtra uintptr + FpCache uintptr + FpDirty uintptr + FpPager uintptr + Fpgno Pgno + Fflags U16 + FnRef I16 + FpDirtyNext uintptr + FpDirtyPrev uintptr +} /* sqlite3.c:1331:9 */ + +// Handle type for pages. +type DbPage = PgHdr2 /* sqlite3.c:15024:22 */ + +//************* End of pager.h ********************************************** +//************* Continuing where we left off in sqliteInt.h ***************** +//************* Include btree.h in the middle of sqliteInt.h **************** +//************* Begin file btree.h ****************************************** +// 2001 September 15 +// +// 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 header file defines the interface that the sqlite B-Tree file +// subsystem. See comments in the source code for a detailed description +// of what each interface routine does. + +// TODO: This definition is just included so other modules compile. It +// needs to be revisited. + +// If defined as non-zero, auto-vacuum is enabled by default. Otherwise +// it must be turned on for each database using "PRAGMA auto_vacuum = 1". + +// Forward declarations of structure +type Btree1 = struct { + Fdb uintptr + FpBt uintptr + FinTrans U8 + Fsharable U8 + Flocked U8 + FhasIncrblobCur U8 + FwantToLock int32 + FnBackup int32 + FiBDataVersion U32 + FpNext uintptr + FpPrev uintptr + Flock BtLock +} /* sqlite3.c:1331:9 */ + +//************* End of pager.h ********************************************** +//************* Continuing where we left off in sqliteInt.h ***************** +//************* Include btree.h in the middle of sqliteInt.h **************** +//************* Begin file btree.h ****************************************** +// 2001 September 15 +// +// 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 header file defines the interface that the sqlite B-Tree file +// subsystem. See comments in the source code for a detailed description +// of what each interface routine does. + +// TODO: This definition is just included so other modules compile. It +// needs to be revisited. + +// If defined as non-zero, auto-vacuum is enabled by default. Otherwise +// it must be turned on for each database using "PRAGMA auto_vacuum = 1". + +// Forward declarations of structure +type Btree = Btree1 /* sqlite3.c:15267:22 */ +type BtCursor1 = struct { + FeState U8 + FcurFlags U8 + FcurPagerFlags U8 + Fhints U8 + FskipNext int32 + FpBtree uintptr + FaOverflow uintptr + FpKey uintptr + FpBt uintptr + FpNext uintptr + Finfo CellInfo + FnKey I64 + FpgnoRoot Pgno + FiPage I8 + FcurIntKey U8 + Fix U16 + FaiIdx [19]U16 + F__ccgo_pad1 [2]byte + FpKeyInfo uintptr + FpPage uintptr + FapPage [19]uintptr +} /* sqlite3.c:1331:9 */ + +type BtCursor = BtCursor1 /* sqlite3.c:15268:25 */ +type BtShared1 = struct { + FpPager uintptr + Fdb uintptr + FpCursor uintptr + FpPage1 uintptr + FopenFlags U8 + FautoVacuum U8 + FincrVacuum U8 + FbDoTruncate U8 + FinTransaction U8 + Fmax1bytePayload U8 + FnReserveWanted U8 + F__ccgo_pad1 [1]byte + FbtsFlags U16 + FmaxLocal U16 + FminLocal U16 + FmaxLeaf U16 + FminLeaf U16 + F__ccgo_pad2 [2]byte + FpageSize U32 + FusableSize U32 + FnTransaction int32 + FnPage U32 + F__ccgo_pad3 [4]byte + FpSchema uintptr + FxFreeSchema uintptr + Fmutex uintptr + FpHasContent uintptr + FnRef int32 + F__ccgo_pad4 [4]byte + FpNext uintptr + FpLock uintptr + FpWriter uintptr + FpTmpSpace uintptr + FnPreformatSize int32 + F__ccgo_pad5 [4]byte +} /* sqlite3.c:1331:9 */ + +type BtShared = BtShared1 /* sqlite3.c:15269:25 */ +type BtreePayload1 = struct { + FpKey uintptr + FnKey Sqlite3_int64 + FpData uintptr + FaMem uintptr + FnMem U16 + F__ccgo_pad1 [2]byte + FnData int32 + FnZero int32 + F__ccgo_pad2 [4]byte +} /* sqlite3.c:15270:9 */ + +type BtreePayload = BtreePayload1 /* sqlite3.c:15270:29 */ + +//************* End of btree.h ********************************************** +//************* Continuing where we left off in sqliteInt.h ***************** +//************* Include vdbe.h in the middle of sqliteInt.h ***************** +//************* Begin file vdbe.h ******************************************* +// 2001 September 15 +// +// 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. +// +// +// Header file for the Virtual DataBase Engine (VDBE) +// +// This header defines the interface to the virtual database engine +// or VDBE. The VDBE implements an abstract machine that runs a +// simple program to access and modify the underlying database. +// #include + +// A single VDBE is an opaque structure named "Vdbe". Only routines +// in the source file sqliteVdbe.c are allowed to see the insides +// of this structure. +type Vdbe1 = struct { + Fdb uintptr + FpPrev uintptr + FpNext uintptr + FpParse uintptr + FnVar YnVar + F__ccgo_pad1 [2]byte + FiVdbeMagic U32 + FnMem int32 + FnCursor int32 + FcacheCtr U32 + Fpc int32 + Frc int32 + FnChange int32 + FiStatement int32 + F__ccgo_pad2 [4]byte + FiCurrentTime I64 + FnFkConstraint I64 + FnStmtDefCons I64 + FnStmtDefImmCons I64 + FaMem uintptr + FapArg uintptr + FapCsr uintptr + FaVar uintptr + FaOp uintptr + FnOp int32 + FnOpAlloc int32 + FaColName uintptr + FpResultSet uintptr + FzErrMsg uintptr + FpVList uintptr + FstartTime I64 + FnResColumn U16 + FerrorAction U8 + FminWriteFileFormat U8 + FprepFlags U8 + FdoingRerun U8 + F__ccgo_pad3 [2]byte + Fexpired uint16 /* bft expired: 2, bft explain: 2, bft changeCntOn: 1, bft runOnlyOnce: 1, bft usesStmtJournal: 1, bft readOnly: 1, bft bIsReader: 1 */ + F__ccgo_pad4 [2]byte + FbtreeMask YDbMask + FlockMask YDbMask + FaCounter [7]U32 + FzSql uintptr + FpFree uintptr + FpFrame uintptr + FpDelFrame uintptr + FnFrame int32 + Fexpmask U32 + FpProgram uintptr + FpAuxData uintptr +} /* sqlite3.c:1331:9 */ + +//************* End of btree.h ********************************************** +//************* Continuing where we left off in sqliteInt.h ***************** +//************* Include vdbe.h in the middle of sqliteInt.h ***************** +//************* Begin file vdbe.h ******************************************* +// 2001 September 15 +// +// 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. +// +// +// Header file for the Virtual DataBase Engine (VDBE) +// +// This header defines the interface to the virtual database engine +// or VDBE. The VDBE implements an abstract machine that runs a +// simple program to access and modify the underlying database. +// #include + +// A single VDBE is an opaque structure named "Vdbe". Only routines +// in the source file sqliteVdbe.c are allowed to see the insides +// of this structure. +type Vdbe = Vdbe1 /* sqlite3.c:15668:21 */ + +// The names of the following types declared in vdbeInt.h are required +// for the VdbeOp definition. +type Mem = sqlite3_value /* sqlite3.c:15674:30 */ +type SubProgram1 = struct { + FaOp uintptr + FnOp int32 + FnMem int32 + FnCsr int32 + F__ccgo_pad1 [4]byte + FaOnce uintptr + Ftoken uintptr + FpNext uintptr +} /* sqlite3.c:1331:9 */ + +type SubProgram = SubProgram1 /* sqlite3.c:15675:27 */ + +// A single instruction of the virtual machine has an opcode +// and as many as three operands. The instruction is recorded +// as an instance of the following structure: +type VdbeOp1 = struct { + Fopcode U8 + Fp4type int8 + Fp5 U16 + Fp1 int32 + Fp2 int32 + Fp3 int32 + Fp4 struct { + F__ccgo_pad1 [0]uint64 + Fi int32 + F__ccgo_pad2 [4]byte + } + FzComment uintptr +} /* sqlite3.c:1331:9 */ + +// A single instruction of the virtual machine has an opcode +// and as many as three operands. The instruction is recorded +// as an instance of the following structure: +type p4union = struct { + F__ccgo_pad1 [0]uint64 + Fi int32 + F__ccgo_pad2 [4]byte +} /* sqlite3.c:1331:9 */ + +type VdbeOp = VdbeOp1 /* sqlite3.c:15721:23 */ + +// A smaller version of VdbeOp used for the VdbeAddOpList() function because +// it takes up less space. +type VdbeOpList1 = struct { + Fopcode U8 + Fp1 int8 + Fp2 int8 + Fp3 int8 +} /* sqlite3.c:15741:1 */ + +type VdbeOpList = VdbeOpList1 /* sqlite3.c:15747:27 */ + +type RecordCompare = uintptr /* sqlite3.c:16156:13 */ + +// The VdbeCoverage macros are used to set a coverage testing point +// for VDBE branch instructions. The coverage testing points are line +// numbers in the sqlite3.c source file. VDBE branch coverage testing +// only works with an amalagmation build. That's ok since a VDBE branch +// coverage build designed for testing the test suite only. No application +// should ever ship with VDBE branch coverage measuring turned on. +// +// VdbeCoverage(v) // Mark the previously coded instruction +// // as a branch +// +// VdbeCoverageIf(v, conditional) // Mark previous if conditional true +// +// VdbeCoverageAlwaysTaken(v) // Previous branch is always taken +// +// VdbeCoverageNeverTaken(v) // Previous branch is never taken +// +// VdbeCoverageNeverNull(v) // Previous three-way branch is only +// // taken on the first two ways. The +// // NULL option is not possible +// +// VdbeCoverageEqNe(v) // Previous OP_Jump is only interested +// // in distingishing equal and not-equal. +// +// Every VDBE branch operation must be tagged with one of the macros above. +// If not, then when "make test" is run with -DSQLITE_VDBE_COVERAGE and +// -DSQLITE_DEBUG then an ALWAYS() will fail in the vdbeTakeBranch() +// routine in vdbe.c, alerting the developer to the missed tag. +// +// During testing, the test application will invoke +// sqlite3_test_control(SQLITE_TESTCTRL_VDBE_COVERAGE,...) to set a callback +// routine that is invoked as each bytecode branch is taken. The callback +// contains the sqlite3.c source line number ov the VdbeCoverage macro and +// flags to indicate whether or not the branch was taken. The test application +// is responsible for keeping track of this and reporting byte-code branches +// that are never taken. +// +// See the VdbeBranchTaken() macro and vdbeTakeBranch() function in the +// vdbe.c source file for additional information. + +//************* End of vdbe.h *********************************************** +//************* Continuing where we left off in sqliteInt.h ***************** +//************* Include pcache.h in the middle of sqliteInt.h *************** +//************* Begin file pcache.h ***************************************** +// 2008 August 05 +// +// 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 header file defines the interface that the sqlite page cache +// subsystem. + +type PgHdr = PgHdr2 /* sqlite3.c:16289:22 */ +type PCache2 = struct { + FpDirty uintptr + FpDirtyTail uintptr + FpSynced uintptr + FnRefSum int32 + FszCache int32 + FszSpill int32 + FszPage int32 + FszExtra int32 + FbPurgeable U8 + FeCreate U8 + F__ccgo_pad1 [2]byte + FxStress uintptr + FpStress uintptr + FpCache uintptr +} /* sqlite3.c:1331:9 */ + +type PCache = PCache2 /* sqlite3.c:16290:23 */ + +// typedef for the authorization callback function. +type Sqlite3_xauth = uintptr /* sqlite3.c:17058:15 */ + +// This is an extra SQLITE_TRACE macro that indicates "legacy" tracing +// in the style of sqlite3_trace() + +// Maximum number of sqlite3.aDb[] entries. This is the number of attached +// databases plus 2 for "main" and "temp". + +// Each database connection is an instance of the following structure. +type sqlite3InitInfo = struct { + FnewTnum Pgno + FiDb U8 + Fbusy U8 + F__ccgo_pad1 [2]byte + ForphanTrigger uint8 /* unsigned orphanTrigger: 1, unsigned imposterTable: 1, unsigned reopenMemdb: 1 */ + F__ccgo_pad2 [7]byte + FazInit uintptr +} /* sqlite3.c:1331:9 */ + +// Allowed values for Table.tabFlags. +// +// TF_OOOHidden applies to tables or view that have hidden columns that are +// followed by non-hidden columns. Example: "CREATE VIRTUAL TABLE x USING +// vtab1(a HIDDEN, b);". Since "b" is a non-hidden column but "a" is hidden, +// the TF_OOOHidden attribute would apply in this case. Such tables require +// special handling during INSERT processing. The "OOO" means "Out Of Order". +// +// Constraints: +// +// TF_HasVirtual == COLFLAG_VIRTUAL +// TF_HasStored == COLFLAG_STORED +// TF_HasHidden == COLFLAG_HIDDEN + +// Test to see whether or not a table is a virtual table. This is +// done as a macro so that it will be optimized out when virtual +// table support is omitted from the build. + +// Macros to determine if a column is hidden. IsOrdinaryHiddenColumn() +// only works for non-virtual tables (ordinary tables and views) and is +// always false unless SQLITE_ENABLE_HIDDEN_COLUMNS is defined. The +// IsHiddenColumn() macro is general purpose. + +// Does the table have a rowid + +// Each foreign key constraint is an instance of the following structure. +// +// A foreign key is associated with two tables. The "from" table is +// the table that contains the REFERENCES clause that creates the foreign +// key. The "to" table is the table that is named in the REFERENCES clause. +// Consider this example: +// +// CREATE TABLE ex1( +// a INTEGER PRIMARY KEY, +// b INTEGER CONSTRAINT fk1 REFERENCES ex2(x) +// ); +// +// For foreign key "fk1", the from-table is "ex1" and the to-table is "ex2". +// Equivalent names: +// +// from-table == child-table +// to-table == parent-table +// +// Each REFERENCES clause generates an instance of the following structure +// which is attached to the from-table. The to-table need not exist when +// the from-table is created. The existence of the to-table is not checked. +// +// The list of all parents for child Table X is held at X.pFKey. +// +// A list of all children for a table named Z (which might not even exist) +// is held in Schema.fkeyHash with a hash key of Z. +type sColMap = struct { + FiFrom int32 + F__ccgo_pad1 [4]byte + FzCol uintptr +} /* sqlite3.c:1331:9 */ + +// An instance of this structure contains information needed to generate +// code for a SELECT that contains aggregate functions. +// +// If Expr.op==TK_AGG_COLUMN or TK_AGG_FUNCTION then Expr.pAggInfo is a +// pointer to this structure. The Expr.iAgg field is the index in +// AggInfo.aCol[] or AggInfo.aFunc[] of information needed to generate +// code for that node. +// +// AggInfo.pGroupBy and AggInfo.aFunc.pExpr point to fields within the +// original Select structure that describes the SELECT statement. These +// fields do not need to be freed when deallocating the AggInfo structure. +type AggInfo_col = struct { + FpTab uintptr + FpCExpr uintptr + FiTable int32 + FiMem int32 + FiColumn I16 + FiSorterColumn I16 + F__ccgo_pad1 [4]byte +} /* sqlite3.c:1331:9 */ + +// An instance of this structure contains information needed to generate +// code for a SELECT that contains aggregate functions. +// +// If Expr.op==TK_AGG_COLUMN or TK_AGG_FUNCTION then Expr.pAggInfo is a +// pointer to this structure. The Expr.iAgg field is the index in +// AggInfo.aCol[] or AggInfo.aFunc[] of information needed to generate +// code for that node. +// +// AggInfo.pGroupBy and AggInfo.aFunc.pExpr point to fields within the +// original Select structure that describes the SELECT statement. These +// fields do not need to be freed when deallocating the AggInfo structure. +type AggInfo_func = struct { + FpFExpr uintptr + FpFunc uintptr + FiMem int32 + FiDistinct int32 + FiDistAddr int32 + F__ccgo_pad1 [4]byte +} /* sqlite3.c:1331:9 */ + +// The datatype ynVar is a signed integer, either 16-bit or 32-bit. +// Usually it is 16-bits. But if SQLITE_MAX_VARIABLE_NUMBER is greater +// than 32767 we have to make it 32-bit. 16-bit is preferred because +// it uses less memory in the Expr object, which is a big memory user +// in systems with lots of prepared statements. And few applications +// need more than about 10 or 20 variables. But some extreme users want +// to have prepared statements with over 32766 variables, and for them +// the option is available (at compile-time). +type YnVar = I16 /* sqlite3.c:18212:13 */ + +// The following are the meanings of bits in the Expr.flags field. +// Value restrictions: +// +// EP_Agg == NC_HasAgg == SF_HasAgg +// EP_Win == NC_HasWin +// 0x400000 // Available +// 0x80000000 // Available + +// The EP_Propagate mask is a set of properties that automatically propagate +// upwards into parent nodes. + +// These macros can be used to test, set, or clear bits in the +// Expr.flags field. + +// Flags for use with Expr.vvaFlags + +// The ExprSetVVAProperty() macro is used for Verification, Validation, +// and Accreditation only. It works like ExprSetProperty() during VVA +// processes but is a no-op for delivery. + +// Macros to determine the number of bytes required by a normal Expr +// struct, an Expr struct with the EP_Reduced flag set in Expr.flags +// and an Expr struct with the EP_TokenOnly flag set. + +// Flags passed to the sqlite3ExprDup() function. See the header comment +// above sqlite3ExprDup() for details. + +// True if the expression passed as an argument was a function with +// an OVER() clause (a window function). + +// A list of expressions. Each expression may optionally have a +// name. An expr/name combination can be used in several ways, such +// as the list of "expr AS ID" fields following a "SELECT" or in the +// list of "ID = expr" items in an UPDATE. A list of expressions can +// also be used as the argument to a function, in which case the a.zName +// field is not used. +// +// In order to try to keep memory usage down, the Expr.a.zEName field +// is used for multiple purposes: +// +// eEName Usage +// ---------- ------------------------- +// ENAME_NAME (1) the AS of result set column +// (2) COLUMN= of an UPDATE +// +// ENAME_TAB DB.TABLE.NAME used to resolve names +// of subqueries +// +// ENAME_SPAN Text of the original result set +// expression. +type ExprList_item = struct { + FpExpr uintptr + FzEName uintptr + FsortFlags U8 + F__ccgo_pad1 [3]byte + FeEName uint8 /* unsigned eEName: 2, unsigned done: 1, unsigned reusable: 1, unsigned bSorterRef: 1, unsigned bNulls: 1 */ + F__ccgo_pad2 [3]byte + Fu struct { + F__ccgo_pad1 [0]uint32 + Fx struct { + FiOrderByCol U16 + FiAlias U16 + } + } + F__ccgo_pad3 [4]byte +} /* sqlite3.c:1331:9 */ + +// Allowed values for Expr.a.eEName + +// An instance of this structure can hold a simple list of identifiers, +// such as the list "a,b,c" in the following statements: +// +// INSERT INTO t(a,b,c) VALUES ...; +// CREATE INDEX idx ON t(a,b,c); +// CREATE TRIGGER trig BEFORE UPDATE ON t(a,b,c) ...; +// +// The IdList.a.idx field is used when the IdList represents the list of +// column names after a table name in an INSERT statement. In the statement +// +// INSERT INTO t(a,b,c) ... +// +// If "a" is the k-th column of table "t", then IdList.a[0].idx==k. +type IdList_item = struct { + FzName uintptr + Fidx int32 + F__ccgo_pad1 [4]byte +} /* sqlite3.c:1331:9 */ + +// The yDbMask datatype for the bitmask of all attached databases. +type YDbMask = uint32 /* sqlite3.c:18969:24 */ + +// A pointer to this structure is used to communicate information +// from sqlite3Init and OP_ParseSchema into the sqlite3InitCallback. +type InitData = struct { + Fdb uintptr + FpzErrMsg uintptr + FiDb int32 + Frc int32 + FmInitFlags U32 + FnInitRow U32 + FmxPage Pgno + F__ccgo_pad1 [4]byte +} /* sqlite3.c:19327:3 */ + +// Allowed values for mInitFlags + +// Tuning parameters are set using SQLITE_TESTCTRL_TUNE and are controlled +// on debug-builds of the CLI using ".testctrl tune ID VALUE". Tuning +// parameters are for temporary use during development, to help find +// optimial values for parameters in the query planner. The should not +// be used on trunk check-ins. They are a temporary mechanism available +// for transient development builds only. +// +// Tuning parameters are numbered starting with 1. + +// Structure containing global configuration data for the SQLite library. +// +// This structure also contains some state information. +type Sqlite3Config = struct { + FbMemstat int32 + FbCoreMutex U8 + FbFullMutex U8 + FbOpenUri U8 + FbUseCis U8 + FbSmallMalloc U8 + FbExtraSchemaChecks U8 + F__ccgo_pad1 [2]byte + FmxStrlen int32 + FneverCorrupt int32 + FszLookaside int32 + FnLookaside int32 + FnStmtSpill int32 + Fm Sqlite3_mem_methods + Fmutex Sqlite3_mutex_methods + Fpcache2 Sqlite3_pcache_methods2 + FpHeap uintptr + FnHeap int32 + FmnReq int32 + FmxReq int32 + F__ccgo_pad2 [4]byte + FszMmap Sqlite3_int64 + FmxMmap Sqlite3_int64 + FpPage uintptr + FszPage int32 + FnPage int32 + FmxParserStack int32 + FsharedCacheEnabled int32 + FszPma U32 + FisInit int32 + FinProgress int32 + FisMutexInit int32 + FisMallocInit int32 + FisPCacheInit int32 + FnRefInitMutex int32 + F__ccgo_pad3 [4]byte + FpInitMutex uintptr + FxLog uintptr + FpLogArg uintptr + FmxMemdbSize Sqlite3_int64 + FxTestCallback uintptr + FbLocaltimeFault int32 + FiOnceResetThreshold int32 + FszSorterRef U32 + FiPrngSeed uint32 +} /* sqlite3.c:19356:1 */ + +// This macro is used inside of assert() statements to indicate that +// the assert is only valid on a well-formed database. Instead of: +// +// assert( X ); +// +// One writes: +// +// assert( X || CORRUPT_DB ); +// +// CORRUPT_DB is true during normal operation. CORRUPT_DB does not indicate +// that the database is definitely corrupt, only that it might be corrupt. +// For most test cases, CORRUPT_DB is set to false using a special +// sqlite3_test_control(). This enables assert() statements to prove +// things that are always true for well-formed databases. + +// Context pointer passed down through the tree-walk. +type SrcCount = struct { + FpSrc uintptr + FiSrcInner int32 + FnThis int32 + FnOther int32 + F__ccgo_pad1 [4]byte +} /* sqlite3.c:19454:5 */ + +// This macro is used inside of assert() statements to indicate that +// the assert is only valid on a well-formed database. Instead of: +// +// assert( X ); +// +// One writes: +// +// assert( X || CORRUPT_DB ); +// +// CORRUPT_DB is true during normal operation. CORRUPT_DB does not indicate +// that the database is definitely corrupt, only that it might be corrupt. +// For most test cases, CORRUPT_DB is set to false using a special +// sqlite3_test_control(). This enables assert() statements to prove +// things that are always true for well-formed databases. + +// Context pointer passed down through the tree-walk. +type IdxCover = struct { + FpIdx uintptr + FiCur int32 + F__ccgo_pad1 [4]byte +} /* sqlite3.c:19457:5 */ + +// This macro is used inside of assert() statements to indicate that +// the assert is only valid on a well-formed database. Instead of: +// +// assert( X ); +// +// One writes: +// +// assert( X || CORRUPT_DB ); +// +// CORRUPT_DB is true during normal operation. CORRUPT_DB does not indicate +// that the database is definitely corrupt, only that it might be corrupt. +// For most test cases, CORRUPT_DB is set to false using a special +// sqlite3_test_control(). This enables assert() statements to prove +// things that are always true for well-formed databases. + +// Context pointer passed down through the tree-walk. +type IdxExprTrans1 = struct { + FpIdxExpr uintptr + FiTabCur int32 + FiIdxCur int32 + FiIdxCol int32 + FiTabCol int32 + FpWInfo uintptr + Fdb uintptr +} /* sqlite3.c:19458:5 */ + +// This macro is used inside of assert() statements to indicate that +// the assert is only valid on a well-formed database. Instead of: +// +// assert( X ); +// +// One writes: +// +// assert( X || CORRUPT_DB ); +// +// CORRUPT_DB is true during normal operation. CORRUPT_DB does not indicate +// that the database is definitely corrupt, only that it might be corrupt. +// For most test cases, CORRUPT_DB is set to false using a special +// sqlite3_test_control(). This enables assert() statements to prove +// things that are always true for well-formed databases. + +// Context pointer passed down through the tree-walk. +type WindowRewrite1 = struct { + FpWin uintptr + FpSrc uintptr + FpSub uintptr + FpTab uintptr + FpSubSelect uintptr +} /* sqlite3.c:19461:5 */ + +// This macro is used inside of assert() statements to indicate that +// the assert is only valid on a well-formed database. Instead of: +// +// assert( X ); +// +// One writes: +// +// assert( X || CORRUPT_DB ); +// +// CORRUPT_DB is true during normal operation. CORRUPT_DB does not indicate +// that the database is definitely corrupt, only that it might be corrupt. +// For most test cases, CORRUPT_DB is set to false using a special +// sqlite3_test_control(). This enables assert() statements to prove +// things that are always true for well-formed databases. + +// Context pointer passed down through the tree-walk. +type WhereConst1 = struct { + FpParse uintptr + FpOomFault uintptr + FnConst int32 + FnChng int32 + FbHasAffBlob int32 + F__ccgo_pad1 [4]byte + FapExpr uintptr +} /* sqlite3.c:19462:5 */ + +// This macro is used inside of assert() statements to indicate that +// the assert is only valid on a well-formed database. Instead of: +// +// assert( X ); +// +// One writes: +// +// assert( X || CORRUPT_DB ); +// +// CORRUPT_DB is true during normal operation. CORRUPT_DB does not indicate +// that the database is definitely corrupt, only that it might be corrupt. +// For most test cases, CORRUPT_DB is set to false using a special +// sqlite3_test_control(). This enables assert() statements to prove +// things that are always true for well-formed databases. + +// Context pointer passed down through the tree-walk. +type RenameCtx1 = struct { + FpList uintptr + FnList int32 + FiCol int32 + FpTab uintptr + FzOld uintptr +} /* sqlite3.c:19463:5 */ + +//************* End of sqliteInt.h ****************************************** +//************* Begin file global.c ***************************************** +// 2008 June 13 +// +// 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 definitions of global variables and constants. +// #include "sqliteInt.h" + +// An array to map all upper-case characters into their corresponding +// lower-case character. +// +// SQLite only considers US-ASCII (or EBCDIC) characters. We do not +// handle case conversions for the UTF character set since the tables +// involved are nearly as big or bigger than SQLite itself. +var Xsqlite3UpperToLower = [274]uint8{ + uint8(0), uint8(1), uint8(2), uint8(3), uint8(4), uint8(5), uint8(6), uint8(7), uint8(8), uint8(9), uint8(10), uint8(11), uint8(12), uint8(13), uint8(14), uint8(15), uint8(16), uint8(17), + uint8(18), uint8(19), uint8(20), uint8(21), uint8(22), uint8(23), uint8(24), uint8(25), uint8(26), uint8(27), uint8(28), uint8(29), uint8(30), uint8(31), uint8(32), uint8(33), uint8(34), uint8(35), + uint8(36), uint8(37), uint8(38), uint8(39), uint8(40), uint8(41), uint8(42), uint8(43), uint8(44), uint8(45), uint8(46), uint8(47), uint8(48), uint8(49), uint8(50), uint8(51), uint8(52), uint8(53), + uint8(54), uint8(55), uint8(56), uint8(57), uint8(58), uint8(59), uint8(60), uint8(61), uint8(62), uint8(63), uint8(64), uint8(97), uint8(98), uint8(99), uint8(100), uint8(101), uint8(102), uint8(103), + uint8(104), uint8(105), uint8(106), uint8(107), uint8(108), uint8(109), uint8(110), uint8(111), uint8(112), uint8(113), uint8(114), uint8(115), uint8(116), uint8(117), uint8(118), uint8(119), uint8(120), uint8(121), + uint8(122), uint8(91), uint8(92), uint8(93), uint8(94), uint8(95), uint8(96), uint8(97), uint8(98), uint8(99), uint8(100), uint8(101), uint8(102), uint8(103), uint8(104), uint8(105), uint8(106), uint8(107), + uint8(108), uint8(109), uint8(110), uint8(111), uint8(112), uint8(113), uint8(114), uint8(115), uint8(116), uint8(117), uint8(118), uint8(119), uint8(120), uint8(121), uint8(122), uint8(123), uint8(124), uint8(125), + uint8(126), uint8(127), uint8(128), uint8(129), uint8(130), uint8(131), uint8(132), uint8(133), uint8(134), uint8(135), uint8(136), uint8(137), uint8(138), uint8(139), uint8(140), uint8(141), uint8(142), uint8(143), + uint8(144), uint8(145), uint8(146), uint8(147), uint8(148), uint8(149), uint8(150), uint8(151), uint8(152), uint8(153), uint8(154), uint8(155), uint8(156), uint8(157), uint8(158), uint8(159), uint8(160), uint8(161), + uint8(162), uint8(163), uint8(164), uint8(165), uint8(166), uint8(167), uint8(168), uint8(169), uint8(170), uint8(171), uint8(172), uint8(173), uint8(174), uint8(175), uint8(176), uint8(177), uint8(178), uint8(179), + uint8(180), uint8(181), uint8(182), uint8(183), uint8(184), uint8(185), uint8(186), uint8(187), uint8(188), uint8(189), uint8(190), uint8(191), uint8(192), uint8(193), uint8(194), uint8(195), uint8(196), uint8(197), + uint8(198), uint8(199), uint8(200), uint8(201), uint8(202), uint8(203), uint8(204), uint8(205), uint8(206), uint8(207), uint8(208), uint8(209), uint8(210), uint8(211), uint8(212), uint8(213), uint8(214), uint8(215), + uint8(216), uint8(217), uint8(218), uint8(219), uint8(220), uint8(221), uint8(222), uint8(223), uint8(224), uint8(225), uint8(226), uint8(227), uint8(228), uint8(229), uint8(230), uint8(231), uint8(232), uint8(233), + uint8(234), uint8(235), uint8(236), uint8(237), uint8(238), uint8(239), uint8(240), uint8(241), uint8(242), uint8(243), uint8(244), uint8(245), uint8(246), uint8(247), uint8(248), uint8(249), uint8(250), uint8(251), + uint8(252), uint8(253), uint8(254), uint8(255), + // All of the upper-to-lower conversion data is above. The following + // 18 integers are completely unrelated. They are appended to the + // sqlite3UpperToLower[] array to avoid UBSAN warnings. Here's what is + // going on: + // + // The SQL comparison operators (<>, =, >, <=, <, and >=) are implemented + // by invoking sqlite3MemCompare(A,B) which compares values A and B and + // returns negative, zero, or positive if A is less then, equal to, or + // greater than B, respectively. Then the true false results is found by + // consulting sqlite3aLTb[opcode], sqlite3aEQb[opcode], or + // sqlite3aGTb[opcode] depending on whether the result of compare(A,B) + // is negative, zero, or positive, where opcode is the specific opcode. + // The only works because the comparison opcodes are consecutive and in + // this order: NE EQ GT LE LT GE. Various assert()s throughout the code + // ensure that is the case. + // + // These elements must be appended to another array. Otherwise the + // index (here shown as [256-OP_Ne]) would be out-of-bounds and thus + // be undefined behavior. That's goofy, but the C-standards people thought + // it was a good idea, so here we are. + // NE EQ GT LE LT GE + uint8(1), uint8(0), uint8(0), uint8(1), uint8(1), uint8(0), // aLTb[]: Use when compare(A,B) less than zero + uint8(0), uint8(1), uint8(0), uint8(1), uint8(0), uint8(1), // aEQb[]: Use when compare(A,B) equals zero + uint8(1), uint8(0), uint8(1), uint8(0), uint8(0), uint8(1), // aGTb[]: Use when compare(A,B) greater than zero +} /* sqlite3.c:20818:36 */ +var Xsqlite3aLTb uintptr = 0 /* sqlite3.c:20880:36 */ +var Xsqlite3aEQb uintptr = 0 /* sqlite3.c:20881:36 */ +var Xsqlite3aGTb uintptr = 0 /* sqlite3.c:20882:36 */ + +// The following 256 byte lookup table is used to support SQLites built-in +// equivalents to the following standard library functions: +// +// isspace() 0x01 +// isalpha() 0x02 +// isdigit() 0x04 +// isalnum() 0x06 +// isxdigit() 0x08 +// toupper() 0x20 +// SQLite identifier character 0x40 +// Quote character 0x80 +// +// Bit 0x20 is set if the mapped character requires translation to upper +// case. i.e. if the character is a lower-case ASCII character. +// If x is a lower-case ASCII character, then its upper-case equivalent +// is (x - 0x20). Therefore toupper() can be implemented as: +// +// (x & ~(map[x]&0x20)) +// +// The equivalent of tolower() is implemented using the sqlite3UpperToLower[] +// array. tolower() is used more often than toupper() by SQLite. +// +// Bit 0x40 is set if the character is non-alphanumeric and can be used in an +// SQLite identifier. Identifiers are alphanumerics, "_", "$", and any +// non-ASCII UTF character. Hence the test for whether or not a character is +// part of an identifier is 0x46. +var Xsqlite3CtypeMap = [256]uint8{ + uint8(0x00), uint8(0x00), uint8(0x00), uint8(0x00), uint8(0x00), uint8(0x00), uint8(0x00), uint8(0x00), // 00..07 ........ + uint8(0x00), uint8(0x01), uint8(0x01), uint8(0x01), uint8(0x01), uint8(0x01), uint8(0x00), uint8(0x00), // 08..0f ........ + uint8(0x00), uint8(0x00), uint8(0x00), uint8(0x00), uint8(0x00), uint8(0x00), uint8(0x00), uint8(0x00), // 10..17 ........ + uint8(0x00), uint8(0x00), uint8(0x00), uint8(0x00), uint8(0x00), uint8(0x00), uint8(0x00), uint8(0x00), // 18..1f ........ + uint8(0x01), uint8(0x00), uint8(0x80), uint8(0x00), uint8(0x40), uint8(0x00), uint8(0x00), uint8(0x80), // 20..27 !"#$%&' + uint8(0x00), uint8(0x00), uint8(0x00), uint8(0x00), uint8(0x00), uint8(0x00), uint8(0x00), uint8(0x00), // 28..2f ()*+,-./ + uint8(0x0c), uint8(0x0c), uint8(0x0c), uint8(0x0c), uint8(0x0c), uint8(0x0c), uint8(0x0c), uint8(0x0c), // 30..37 01234567 + uint8(0x0c), uint8(0x0c), uint8(0x00), uint8(0x00), uint8(0x00), uint8(0x00), uint8(0x00), uint8(0x00), // 38..3f 89:;<=>? + + uint8(0x00), uint8(0x0a), uint8(0x0a), uint8(0x0a), uint8(0x0a), uint8(0x0a), uint8(0x0a), uint8(0x02), // 40..47 @ABCDEFG + uint8(0x02), uint8(0x02), uint8(0x02), uint8(0x02), uint8(0x02), uint8(0x02), uint8(0x02), uint8(0x02), // 48..4f HIJKLMNO + uint8(0x02), uint8(0x02), uint8(0x02), uint8(0x02), uint8(0x02), uint8(0x02), uint8(0x02), uint8(0x02), // 50..57 PQRSTUVW + uint8(0x02), uint8(0x02), uint8(0x02), uint8(0x80), uint8(0x00), uint8(0x00), uint8(0x00), uint8(0x40), // 58..5f XYZ[\]^_ + uint8(0x80), uint8(0x2a), uint8(0x2a), uint8(0x2a), uint8(0x2a), uint8(0x2a), uint8(0x2a), uint8(0x22), // 60..67 `abcdefg + uint8(0x22), uint8(0x22), uint8(0x22), uint8(0x22), uint8(0x22), uint8(0x22), uint8(0x22), uint8(0x22), // 68..6f hijklmno + uint8(0x22), uint8(0x22), uint8(0x22), uint8(0x22), uint8(0x22), uint8(0x22), uint8(0x22), uint8(0x22), // 70..77 pqrstuvw + uint8(0x22), uint8(0x22), uint8(0x22), uint8(0x00), uint8(0x00), uint8(0x00), uint8(0x00), uint8(0x00), // 78..7f xyz{|}~. + + uint8(0x40), uint8(0x40), uint8(0x40), uint8(0x40), uint8(0x40), uint8(0x40), uint8(0x40), uint8(0x40), // 80..87 ........ + uint8(0x40), uint8(0x40), uint8(0x40), uint8(0x40), uint8(0x40), uint8(0x40), uint8(0x40), uint8(0x40), // 88..8f ........ + uint8(0x40), uint8(0x40), uint8(0x40), uint8(0x40), uint8(0x40), uint8(0x40), uint8(0x40), uint8(0x40), // 90..97 ........ + uint8(0x40), uint8(0x40), uint8(0x40), uint8(0x40), uint8(0x40), uint8(0x40), uint8(0x40), uint8(0x40), // 98..9f ........ + uint8(0x40), uint8(0x40), uint8(0x40), uint8(0x40), uint8(0x40), uint8(0x40), uint8(0x40), uint8(0x40), // a0..a7 ........ + uint8(0x40), uint8(0x40), uint8(0x40), uint8(0x40), uint8(0x40), uint8(0x40), uint8(0x40), uint8(0x40), // a8..af ........ + uint8(0x40), uint8(0x40), uint8(0x40), uint8(0x40), uint8(0x40), uint8(0x40), uint8(0x40), uint8(0x40), // b0..b7 ........ + uint8(0x40), uint8(0x40), uint8(0x40), uint8(0x40), uint8(0x40), uint8(0x40), uint8(0x40), uint8(0x40), // b8..bf ........ + + uint8(0x40), uint8(0x40), uint8(0x40), uint8(0x40), uint8(0x40), uint8(0x40), uint8(0x40), uint8(0x40), // c0..c7 ........ + uint8(0x40), uint8(0x40), uint8(0x40), uint8(0x40), uint8(0x40), uint8(0x40), uint8(0x40), uint8(0x40), // c8..cf ........ + uint8(0x40), uint8(0x40), uint8(0x40), uint8(0x40), uint8(0x40), uint8(0x40), uint8(0x40), uint8(0x40), // d0..d7 ........ + uint8(0x40), uint8(0x40), uint8(0x40), uint8(0x40), uint8(0x40), uint8(0x40), uint8(0x40), uint8(0x40), // d8..df ........ + uint8(0x40), uint8(0x40), uint8(0x40), uint8(0x40), uint8(0x40), uint8(0x40), uint8(0x40), uint8(0x40), // e0..e7 ........ + uint8(0x40), uint8(0x40), uint8(0x40), uint8(0x40), uint8(0x40), uint8(0x40), uint8(0x40), uint8(0x40), // e8..ef ........ + uint8(0x40), uint8(0x40), uint8(0x40), uint8(0x40), uint8(0x40), uint8(0x40), uint8(0x40), uint8(0x40), // f0..f7 ........ + uint8(0x40), uint8(0x40), uint8(0x40), uint8(0x40), uint8(0x40), uint8(0x40), uint8(0x40), uint8(0x40), // f8..ff ........ +} /* sqlite3.c:20912:36 */ + +// EVIDENCE-OF: R-02982-34736 In order to maintain full backwards +// compatibility for legacy applications, the URI filename capability is +// disabled by default. +// +// EVIDENCE-OF: R-38799-08373 URI filenames can be enabled or disabled +// using the SQLITE_USE_URI=1 or SQLITE_USE_URI=0 compile-time options. +// +// EVIDENCE-OF: R-43642-56306 By default, URI handling is globally +// disabled. The default value may be changed by compiling with the +// SQLITE_USE_URI symbol defined. + +// EVIDENCE-OF: R-38720-18127 The default setting is determined by the +// SQLITE_ALLOW_COVERING_INDEX_SCAN compile-time option, or is "on" if +// that compile-time option is omitted. + +// The minimum PMA size is set to this value multiplied by the database +// page size in bytes. + +// Statement journals spill to disk when their size exceeds the following +// threshold (in bytes). 0 means that statement journals are created and +// written to disk immediately (the default behavior for SQLite versions +// before 3.12.0). -1 means always keep the entire statement journal in +// memory. (The statement journal is also always held entirely in memory +// if journal_mode=MEMORY or if temp_store=MEMORY, regardless of this +// setting.) + +// The default lookaside-configuration, the format "SZ,N". SZ is the +// number of bytes in each lookaside slot (should be a multiple of 8) +// and N is the number of slots. The lookaside-configuration can be +// changed as start-time using sqlite3_config(SQLITE_CONFIG_LOOKASIDE) +// or at run-time for an individual database connection using +// sqlite3_db_config(db, SQLITE_DBCONFIG_LOOKASIDE); +// +// With the two-size-lookaside enhancement, less lookaside is required. +// The default configuration of 1200,40 actually provides 30 1200-byte slots +// and 93 128-byte slots, which is more lookaside than is available +// using the older 1200,100 configuration without two-size-lookaside. + +// The default maximum size of an in-memory database created using +// sqlite3_deserialize() + +// The following singleton contains the global configuration for +// the SQLite library. +var Xsqlite3Config = Sqlite3Config{ // bMemstat + FbCoreMutex: U8(1), // bCoreMutex + FbFullMutex: (U8(libc.Bool32(SQLITE_THREADSAFE == 1))), // bOpenUri + FbUseCis: U8(SQLITE_ALLOW_COVERING_INDEX_SCAN), // bSmallMalloc + FbExtraSchemaChecks: U8(1), // bExtraSchemaChecks + FmxStrlen: 0x7ffffffe, // neverCorrupt + FszLookaside: 1200, FnLookaside: 40, // szLookaside, nLookaside + FnStmtSpill: (64 * 1024), // szPage + FnPage: SQLITE_DEFAULT_PCACHE_INITSZ, // sharedCacheEnabled + FszPma: U32(SQLITE_SORTER_PMASZ), // pLogArg + FmxMemdbSize: int64(SQLITE_MEMDB_DEFAULT_MAXSIZE), // bLocaltimeFault + FiOnceResetThreshold: 0x7ffffffe, // iOnceResetThreshold + FszSorterRef: U32(SQLITE_DEFAULT_SORTERREF_SIZE), // iPrngSeed +} /* sqlite3.c:21032:48 */ + +// Hash table for global functions - functions common to all +// database connections. After initialization, this table is +// read-only. +var Xsqlite3BuiltinFunctions FuncDefHash /* sqlite3.c:21093:28: */ + +// The value of the "pending" byte must be 0x40000000 (1 byte past the +// 1-gibabyte boundary) in a compatible database. SQLite never uses +// the database page that contains the pending byte. It never attempts +// to read or write that page. The pending byte page is set aside +// for use by the VFS layers as space for managing file locks. +// +// During testing, it is often desirable to move the pending byte to +// a different position in the file. This allows code that has to +// deal with the pending byte to run on files that are much smaller +// than 1 GiB. The sqlite3_test_control() interface can be used to +// move the pending byte. +// +// IMPORTANT: Changing the pending byte to any value other than +// 0x40000000 results in an incompatible database file format! +// Changing the pending byte during operation will result in undefined +// and incorrect behavior. +var Xsqlite3PendingByte int32 = 0x40000000 /* sqlite3.c:21122:20 */ + +// Tracing flags set by SQLITE_TESTCTRL_TRACEFLAGS. +var Xsqlite3SelectTrace U32 = U32(0) /* sqlite3.c:21128:20 */ +var Xsqlite3WhereTrace U32 = U32(0) /* sqlite3.c:21129:20 */ + +// #include "opcodes.h" +// Properties of opcodes. The OPFLG_INITIALIZER macro is +// created by mkopcodeh.awk during compilation. Data is obtained +// from the comments following the "case OP_xxxx:" statements in +// the vdbe.c file. +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 + 478 /* "BINARY" */)) /* sqlite3.c:21143:27 */ + +//************* End of global.c ********************************************* +//************* Begin file status.c ***************************************** +// 2008 June 18 +// +// 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 module implements the sqlite3_status() interface and related +// functionality. +// #include "sqliteInt.h" +//************* Include vdbeInt.h in the middle of status.c ***************** +//************* Begin file vdbeInt.h **************************************** +// 2003 September 6 +// +// 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 is the header file for information that is private to the +// VDBE. This information used to all be at the top of the single +// source code file "vdbe.c". When that file became too big (over +// 6000 lines long) it was split up into several smaller files and +// this header information was factored out. + +// The maximum number of times that a statement will try to reparse +// itself before giving up and returning SQLITE_SCHEMA. + +// VDBE_DISPLAY_P4 is true or false depending on whether or not the +// "explain" P4 display logic is enabled. + +// SQL is translated into a sequence of instructions to be +// executed by a virtual machine. Each instruction is an instance +// of the following structure. +type Op = VdbeOp1 /* sqlite3.c:21210:23 */ + +// Boolean values +type Bool = uint32 /* sqlite3.c:21215:18 */ + +// Opaque type used by code in vdbesort.c +type VdbeSorter1 = struct { + FmnPmaSize int32 + FmxPmaSize int32 + FmxKeysize int32 + Fpgsz int32 + FpReader uintptr + FpMerger uintptr + Fdb uintptr + FpKeyInfo uintptr + FpUnpacked uintptr + Flist SorterList + FiMemory int32 + FnMemory int32 + FbUsePMA U8 + FbUseThreads U8 + FiPrev U8 + FnTask U8 + FtypeMask U8 + F__ccgo_pad1 [3]byte + FaTask [1]SortSubtask +} /* sqlite3.c:21218:9 */ + +// Opaque type used by code in vdbesort.c +type VdbeSorter = VdbeSorter1 /* sqlite3.c:21218:27 */ + +// Elements of the linked list at Vdbe.pAuxData +type AuxData1 = struct { + FiAuxOp int32 + FiAuxArg int32 + FpAux uintptr + FxDeleteAux uintptr + FpNextAux uintptr +} /* sqlite3.c:1331:9 */ + +// Elements of the linked list at Vdbe.pAuxData +type AuxData = AuxData1 /* sqlite3.c:21221:24 */ + +// Types of VDBE cursors + +// A VdbeCursor is an superclass (a wrapper) for various cursor objects: +// +// * A b-tree cursor +// - In the main database or in an ephemeral database +// - On either an index or a table +// * A sorter +// * A virtual table +// * A one-row "pseudotable" stored in a single register +type VdbeCursor1 = struct { + FeCurType U8 + FiDb I8 + FnullRow U8 + FdeferredMoveto U8 + FisTable U8 + F__ccgo_pad1 [3]byte + FisEphemeral uint8 /* Bool isEphemeral: 1, Bool useRandomRowid: 1, Bool isOrdered: 1, Bool hasBeenDuped: 1 */ + F__ccgo_pad2 [1]byte + FseekHit U16 + F__ccgo_pad3 [4]byte + FpBtx uintptr + FseqCount I64 + FaAltMap uintptr + FcacheStatus U32 + FseekResult int32 + FpAltCursor uintptr + Fuc struct{ FpCursor uintptr } + FpKeyInfo uintptr + FiHdrOffset U32 + FpgnoRoot Pgno + FnField I16 + FnHdrParsed U16 + F__ccgo_pad4 [4]byte + FmovetoTarget I64 + FaOffset uintptr + FaRow uintptr + FpayloadSize U32 + FszRow U32 + FaType [1]U32 + F__ccgo_pad5 [4]byte +} /* sqlite3.c:1331:9 */ + +// Types of VDBE cursors + +// A VdbeCursor is an superclass (a wrapper) for various cursor objects: +// +// * A b-tree cursor +// - In the main database or in an ephemeral database +// - On either an index or a table +// * A sorter +// * A virtual table +// * A one-row "pseudotable" stored in a single register +type VdbeCursor = VdbeCursor1 /* sqlite3.c:21239:27 */ + +// A value for VdbeCursor.cacheStatus that means the cache is always invalid. + +// When a sub-program is executed (OP_Program), a structure of this type +// is allocated to store the current value of the program counter, as +// well as the current memory cell array and various other frame specific +// values stored in the Vdbe struct. When the sub-program is finished, +// these values are copied back to the Vdbe from the VdbeFrame structure, +// restoring the state of the VM to as it was before the sub-program +// began executing. +// +// The memory for a VdbeFrame object is allocated and managed by a memory +// cell in the parent (calling) frame. When the memory cell is deleted or +// overwritten, the VdbeFrame object is not freed immediately. Instead, it +// is linked into the Vdbe.pDelFrame list. The contents of the Vdbe.pDelFrame +// list is deleted when the VM is reset in VdbeHalt(). The reason for doing +// this instead of deleting the VdbeFrame immediately is to avoid recursive +// calls to sqlite3VdbeMemRelease() when the memory cells belonging to the +// child frame are released. +// +// The currently executing frame is stored in Vdbe.pFrame. Vdbe.pFrame is +// set to NULL if the currently executing frame is the main program. +type VdbeFrame1 = struct { + Fv uintptr + FpParent uintptr + FaOp uintptr + FanExec uintptr + FaMem uintptr + FapCsr uintptr + FaOnce uintptr + Ftoken uintptr + FlastRowid I64 + FpAuxData uintptr + FnCursor int32 + Fpc int32 + FnOp int32 + FnMem int32 + FnChildMem int32 + FnChildCsr int32 + FnChange int32 + FnDbChange int32 +} /* sqlite3.c:1331:9 */ + +// A value for VdbeCursor.cacheStatus that means the cache is always invalid. + +// When a sub-program is executed (OP_Program), a structure of this type +// is allocated to store the current value of the program counter, as +// well as the current memory cell array and various other frame specific +// values stored in the Vdbe struct. When the sub-program is finished, +// these values are copied back to the Vdbe from the VdbeFrame structure, +// restoring the state of the VM to as it was before the sub-program +// began executing. +// +// The memory for a VdbeFrame object is allocated and managed by a memory +// cell in the parent (calling) frame. When the memory cell is deleted or +// overwritten, the VdbeFrame object is not freed immediately. Instead, it +// is linked into the Vdbe.pDelFrame list. The contents of the Vdbe.pDelFrame +// list is deleted when the VM is reset in VdbeHalt(). The reason for doing +// this instead of deleting the VdbeFrame immediately is to avoid recursive +// calls to sqlite3VdbeMemRelease() when the memory cells belonging to the +// child frame are released. +// +// The currently executing frame is stored in Vdbe.pFrame. Vdbe.pFrame is +// set to NULL if the currently executing frame is the main program. +type VdbeFrame = VdbeFrame1 /* sqlite3.c:21326:26 */ + +// Magic number for sanity checking on VdbeFrame objects + +// Return a pointer to the array of registers allocated for use +// by a VdbeFrame. + +// Internally, the vdbe manipulates nearly all SQL values as Mem +// structures. Each Mem struct may cache multiple representations (string, +// integer etc.) of the same value. +type MemValue = struct{ Fr float64 } /* sqlite3.c:1331:9 */ + +// A bitfield type for use inside of structures. Always follow with :N where +// N is the number of bits. +type Bft = uint32 /* sqlite3.c:21509:18 */ // Bit Field Type + +// The ScanStatus object holds a single value for the +// sqlite3_stmt_scanstatus() interface. +type ScanStatus1 = struct { + FaddrExplain int32 + FaddrLoop int32 + FaddrVisit int32 + FiSelectID int32 + FnEst LogEst + F__ccgo_pad1 [6]byte + FzName uintptr +} /* sqlite3.c:21514:9 */ + +// Bit Field Type + +// The ScanStatus object holds a single value for the +// sqlite3_stmt_scanstatus() interface. +type ScanStatus = ScanStatus1 /* sqlite3.c:21514:27 */ + +// The DblquoteStr object holds the text of a double-quoted +// string for a prepared statement. A linked list of these objects +// is constructed during statement parsing and is held on Vdbe.pDblStr. +// When computing a normalized SQL statement for an SQL statement, that +// list is consulted for each double-quoted identifier to see if the +// identifier should really be a string literal. +type DblquoteStr1 = struct { + FpNextStr uintptr + Fz [8]int8 +} /* sqlite3.c:21531:9 */ + +// The DblquoteStr object holds the text of a double-quoted +// string for a prepared statement. A linked list of these objects +// is constructed during statement parsing and is held on Vdbe.pDblStr. +// When computing a normalized SQL statement for an SQL statement, that +// list is consulted for each double-quoted identifier to see if the +// identifier should really be a string literal. +type DblquoteStr = DblquoteStr1 /* sqlite3.c:21531:28 */ + +//************* End of vdbeInt.h ******************************************** +//************* Continuing where we left off in status.c ******************** + +// Variables in which to record status information. +type Sqlite3StatValueType = Sqlite3_int64 /* sqlite3.c:21799:23 */ +type sqlite3StatType = struct { + FnowValue [10]Sqlite3StatValueType + FmxValue [10]Sqlite3StatValueType +} /* sqlite3.c:21803:9 */ + +type Sqlite3StatType = sqlite3StatType /* sqlite3.c:21803:32 */ +var sqlite3Stat = sqlite3StatType{} /* sqlite3.c:21807:3 */ + +// Elements of sqlite3Stat[] are protected by either the memory allocator +// mutex, or by the pcache1 mutex. The following array determines which. +var statMutex = [10]int8{ + int8(0), // SQLITE_STATUS_MEMORY_USED + int8(1), // SQLITE_STATUS_PAGECACHE_USED + int8(1), // SQLITE_STATUS_PAGECACHE_OVERFLOW + int8(0), // SQLITE_STATUS_SCRATCH_USED + int8(0), // SQLITE_STATUS_SCRATCH_OVERFLOW + int8(0), // SQLITE_STATUS_MALLOC_SIZE + int8(0), // SQLITE_STATUS_PARSER_STACK + int8(1), // SQLITE_STATUS_PAGECACHE_SIZE + int8(0), // SQLITE_STATUS_SCRATCH_SIZE + int8(0), // SQLITE_STATUS_MALLOC_COUNT +} /* sqlite3.c:21813:19 */ + +// The "wsdStat" macro will resolve to the status information +// state vector. If writable static data is unsupported on the target, +// we have to locate the state vector at run-time. In the more common +// case where writable static data is supported, wsdStat can refer directly +// to the "sqlite3Stat" state vector declared above. + +// Return the current value of a status parameter. The caller must +// be holding the appropriate mutex. +func Xsqlite3StatusValue(tls *libc.TLS, op int32) Sqlite3_int64 { /* sqlite3.c:21845:30: */ + + return *(*Sqlite3StatValueType)(unsafe.Pointer((uintptr(unsafe.Pointer(&sqlite3Stat)) /* &.nowValue */) + uintptr(op)*8)) +} + +// Add N to the value of a status record. The caller must hold the +// appropriate mutex. (Locking is checked by assert()). +// +// The StatusUp() routine can accept positive or negative values for N. +// The value of N is added to the current status value and the high-water +// mark is adjusted if necessary. +// +// The StatusDown() routine lowers the current value by N. The highwater +// mark is unchanged. N must be non-negative for StatusDown(). +func Xsqlite3StatusUp(tls *libc.TLS, op int32, N int32) { /* sqlite3.c:21865:21: */ + + *(*Sqlite3StatValueType)(unsafe.Pointer((uintptr(unsafe.Pointer(&sqlite3Stat)) /* &.nowValue */) + uintptr(op)*8)) += (Sqlite3StatValueType(N)) + if *(*Sqlite3StatValueType)(unsafe.Pointer((uintptr(unsafe.Pointer(&sqlite3Stat)) /* &.nowValue */) + uintptr(op)*8)) > *(*Sqlite3StatValueType)(unsafe.Pointer((uintptr(unsafe.Pointer(&sqlite3Stat)) + 80 /* &.mxValue */) + uintptr(op)*8)) { + *(*Sqlite3StatValueType)(unsafe.Pointer((uintptr(unsafe.Pointer(&sqlite3Stat)) + 80 /* &.mxValue */) + uintptr(op)*8)) = *(*Sqlite3StatValueType)(unsafe.Pointer((uintptr(unsafe.Pointer(&sqlite3Stat)) /* &.nowValue */) + uintptr(op)*8)) + } +} + +func Xsqlite3StatusDown(tls *libc.TLS, op int32, N int32) { /* sqlite3.c:21876:21: */ + + *(*Sqlite3StatValueType)(unsafe.Pointer((uintptr(unsafe.Pointer(&sqlite3Stat)) /* &.nowValue */) + uintptr(op)*8)) -= (Sqlite3StatValueType(N)) +} + +// Adjust the highwater mark if necessary. +// The caller must hold the appropriate mutex. +func Xsqlite3StatusHighwater(tls *libc.TLS, op int32, X int32) { /* sqlite3.c:21890:21: */ + var newValue Sqlite3StatValueType + + newValue = Sqlite3StatValueType(X) + + if newValue > *(*Sqlite3StatValueType)(unsafe.Pointer((uintptr(unsafe.Pointer(&sqlite3Stat)) + 80 /* &.mxValue */) + uintptr(op)*8)) { + *(*Sqlite3StatValueType)(unsafe.Pointer((uintptr(unsafe.Pointer(&sqlite3Stat)) + 80 /* &.mxValue */) + uintptr(op)*8)) = newValue + } +} + +// Query status information. +func Xsqlite3_status64(tls *libc.TLS, op int32, pCurrent uintptr, pHighwater uintptr, resetFlag int32) int32 { /* sqlite3.c:21910:16: */ + var pMutex uintptr + _ = pMutex + + if (op < 0) || (op >= (int32(uint64(unsafe.Sizeof([10]Sqlite3StatValueType{})) / uint64(unsafe.Sizeof(Sqlite3StatValueType(0)))))) { + return Xsqlite3MisuseError(tls, 21919) + } + if statMutex[op] != 0 { + pMutex = Xsqlite3Pcache1Mutex(tls) + } else { + pMutex = Xsqlite3MallocMutex(tls) + } + Xsqlite3_mutex_enter(tls, pMutex) + *(*Sqlite3_int64)(unsafe.Pointer(pCurrent)) = *(*Sqlite3StatValueType)(unsafe.Pointer((uintptr(unsafe.Pointer(&sqlite3Stat)) /* &.nowValue */) + uintptr(op)*8)) + *(*Sqlite3_int64)(unsafe.Pointer(pHighwater)) = *(*Sqlite3StatValueType)(unsafe.Pointer((uintptr(unsafe.Pointer(&sqlite3Stat)) + 80 /* &.mxValue */) + uintptr(op)*8)) + if resetFlag != 0 { + *(*Sqlite3StatValueType)(unsafe.Pointer((uintptr(unsafe.Pointer(&sqlite3Stat)) + 80 /* &.mxValue */) + uintptr(op)*8)) = *(*Sqlite3StatValueType)(unsafe.Pointer((uintptr(unsafe.Pointer(&sqlite3Stat)) /* &.nowValue */) + uintptr(op)*8)) + } + Xsqlite3_mutex_leave(tls, pMutex) + _ = pMutex // Prevent warning when SQLITE_THREADSAFE=0 + return SQLITE_OK +} + +func Xsqlite3_status(tls *libc.TLS, op int32, pCurrent uintptr, pHighwater uintptr, resetFlag int32) int32 { /* sqlite3.c:21935:16: */ + bp := tls.Alloc(16) + defer tls.Free(16) + + *(*Sqlite3_int64)(unsafe.Pointer(bp /* iCur */)) = int64(0) + *(*Sqlite3_int64)(unsafe.Pointer(bp + 8 /* iHwtr */)) = int64(0) + var rc int32 + rc = Xsqlite3_status64(tls, op, bp /* &iCur */, bp+8 /* &iHwtr */, resetFlag) + if rc == 0 { + *(*int32)(unsafe.Pointer(pCurrent)) = int32(*(*Sqlite3_int64)(unsafe.Pointer(bp /* iCur */))) + *(*int32)(unsafe.Pointer(pHighwater)) = int32(*(*Sqlite3_int64)(unsafe.Pointer(bp + 8 /* iHwtr */))) + } + return rc +} + +// Return the number of LookasideSlot elements on the linked list +func countLookasideSlots(tls *libc.TLS, p uintptr) U32 { /* sqlite3.c:21952:12: */ + var cnt U32 = U32(0) + for p != 0 { + p = (*LookasideSlot)(unsafe.Pointer(p)).FpNext + cnt++ + } + return cnt +} + +// Count the number of slots of lookaside memory that are outstanding +func Xsqlite3LookasideUsed(tls *libc.TLS, db uintptr, pHighwater uintptr) int32 { /* sqlite3.c:21964:20: */ + var nInit U32 = countLookasideSlots(tls, (*Sqlite3)(unsafe.Pointer(db)).Flookaside.FpInit) + var nFree U32 = countLookasideSlots(tls, (*Sqlite3)(unsafe.Pointer(db)).Flookaside.FpFree) + nInit = nInit + (countLookasideSlots(tls, (*Sqlite3)(unsafe.Pointer(db)).Flookaside.FpSmallInit)) + nFree = nFree + (countLookasideSlots(tls, (*Sqlite3)(unsafe.Pointer(db)).Flookaside.FpSmallFree)) + if pHighwater != 0 { + *(*int32)(unsafe.Pointer(pHighwater)) = (int32((*Sqlite3)(unsafe.Pointer(db)).Flookaside.FnSlot - nInit)) + } + return (int32((*Sqlite3)(unsafe.Pointer(db)).Flookaside.FnSlot - (nInit + nFree))) +} + +// Query status information for a single database connection +func Xsqlite3_db_status(tls *libc.TLS, db uintptr, op int32, pCurrent uintptr, pHighwater uintptr, resetFlag int32) int32 { /* sqlite3.c:21978:16: */ + bp := tls.Alloc(12) + defer tls.Free(12) + + var rc int32 = SQLITE_OK // Return code + Xsqlite3_mutex_enter(tls, (*Sqlite3)(unsafe.Pointer(db)).Fmutex) + switch op { + case SQLITE_DBSTATUS_LOOKASIDE_USED: + { + *(*int32)(unsafe.Pointer(pCurrent)) = Xsqlite3LookasideUsed(tls, db, pHighwater) + if resetFlag != 0 { + var p uintptr = (*Sqlite3)(unsafe.Pointer(db)).Flookaside.FpFree + if p != 0 { + for (*LookasideSlot)(unsafe.Pointer(p)).FpNext != 0 { + p = (*LookasideSlot)(unsafe.Pointer(p)).FpNext + } + (*LookasideSlot)(unsafe.Pointer(p)).FpNext = (*Sqlite3)(unsafe.Pointer(db)).Flookaside.FpInit + (*Sqlite3)(unsafe.Pointer(db)).Flookaside.FpInit = (*Sqlite3)(unsafe.Pointer(db)).Flookaside.FpFree + (*Sqlite3)(unsafe.Pointer(db)).Flookaside.FpFree = uintptr(0) + } + p = (*Sqlite3)(unsafe.Pointer(db)).Flookaside.FpSmallFree + if p != 0 { + for (*LookasideSlot)(unsafe.Pointer(p)).FpNext != 0 { + p = (*LookasideSlot)(unsafe.Pointer(p)).FpNext + } + (*LookasideSlot)(unsafe.Pointer(p)).FpNext = (*Sqlite3)(unsafe.Pointer(db)).Flookaside.FpSmallInit + (*Sqlite3)(unsafe.Pointer(db)).Flookaside.FpSmallInit = (*Sqlite3)(unsafe.Pointer(db)).Flookaside.FpSmallFree + (*Sqlite3)(unsafe.Pointer(db)).Flookaside.FpSmallFree = uintptr(0) + } + } + break + + } + + case SQLITE_DBSTATUS_LOOKASIDE_HIT: + fallthrough + case SQLITE_DBSTATUS_LOOKASIDE_MISS_SIZE: + fallthrough + case SQLITE_DBSTATUS_LOOKASIDE_MISS_FULL: + { + + *(*int32)(unsafe.Pointer(pCurrent)) = 0 + *(*int32)(unsafe.Pointer(pHighwater)) = int32(*(*U32)(unsafe.Pointer((db + 408 /* &.lookaside */ + 16 /* &.anStat */) + uintptr((op-SQLITE_DBSTATUS_LOOKASIDE_HIT))*4))) + if resetFlag != 0 { + *(*U32)(unsafe.Pointer((db + 408 /* &.lookaside */ + 16 /* &.anStat */) + uintptr((op-SQLITE_DBSTATUS_LOOKASIDE_HIT))*4)) = U32(0) + } + break + + } + + // Return an approximation for the amount of memory currently used + // by all pagers associated with the given database connection. The + // highwater mark is meaningless and is returned as zero. + case SQLITE_DBSTATUS_CACHE_USED_SHARED: + fallthrough + case SQLITE_DBSTATUS_CACHE_USED: + { + var totalUsed int32 = 0 + var i int32 + Xsqlite3BtreeEnterAll(tls, db) + for i = 0; i < (*Sqlite3)(unsafe.Pointer(db)).FnDb; i++ { + var pBt uintptr = (*Db)(unsafe.Pointer((*Sqlite3)(unsafe.Pointer(db)).FaDb + uintptr(i)*32)).FpBt + if pBt != 0 { + var pPager uintptr = Xsqlite3BtreePager(tls, pBt) + var nByte int32 = Xsqlite3PagerMemUsed(tls, pPager) + if op == SQLITE_DBSTATUS_CACHE_USED_SHARED { + nByte = (nByte / Xsqlite3BtreeConnectionCount(tls, pBt)) + } + totalUsed = totalUsed + (nByte) + } + } + Xsqlite3BtreeLeaveAll(tls, db) + *(*int32)(unsafe.Pointer(pCurrent)) = totalUsed + *(*int32)(unsafe.Pointer(pHighwater)) = 0 + break + + } + + // *pCurrent gets an accurate estimate of the amount of memory used + // to store the schema for all databases (main, temp, and any ATTACHed + // databases. *pHighwater is set to zero. + case SQLITE_DBSTATUS_SCHEMA_USED: + { + var i int32 // Used to iterate through schemas + *(*int32)(unsafe.Pointer(bp /* nByte */)) = 0 // Used to accumulate return value + + Xsqlite3BtreeEnterAll(tls, db) + (*Sqlite3)(unsafe.Pointer(db)).FpnBytesFreed = bp /* &nByte */ + for i = 0; i < (*Sqlite3)(unsafe.Pointer(db)).FnDb; i++ { + var pSchema uintptr = (*Db)(unsafe.Pointer((*Sqlite3)(unsafe.Pointer(db)).FaDb + uintptr(i)*32)).FpSchema + if pSchema != uintptr(0) { + var p uintptr + + *(*int32)(unsafe.Pointer(bp /* nByte */)) += int32((uint32((*struct{ f func(*libc.TLS, int32) int32 })(unsafe.Pointer(&struct{ uintptr }{Xsqlite3Config.Fm.FxRoundup})).f(tls, int32(unsafe.Sizeof(HashElem{})))) * ((((*Schema)(unsafe.Pointer(pSchema)).FtblHash.Fcount + + (*Schema)(unsafe.Pointer(pSchema)).FtrigHash.Fcount) + + (*Schema)(unsafe.Pointer(pSchema)).FidxHash.Fcount) + + (*Schema)(unsafe.Pointer(pSchema)).FfkeyHash.Fcount))) + *(*int32)(unsafe.Pointer(bp /* nByte */)) += int32(Xsqlite3_msize(tls, (*Schema)(unsafe.Pointer(pSchema)).FtblHash.Fht)) + *(*int32)(unsafe.Pointer(bp /* nByte */)) += int32(Xsqlite3_msize(tls, (*Schema)(unsafe.Pointer(pSchema)).FtrigHash.Fht)) + *(*int32)(unsafe.Pointer(bp /* nByte */)) += int32(Xsqlite3_msize(tls, (*Schema)(unsafe.Pointer(pSchema)).FidxHash.Fht)) + *(*int32)(unsafe.Pointer(bp /* nByte */)) += int32(Xsqlite3_msize(tls, (*Schema)(unsafe.Pointer(pSchema)).FfkeyHash.Fht)) + + for p = (*Hash)(unsafe.Pointer((pSchema + 56 /* &.trigHash */))).Ffirst; p != 0; p = (*HashElem)(unsafe.Pointer(p)).Fnext { + Xsqlite3DeleteTrigger(tls, db, (*HashElem)(unsafe.Pointer(p)).Fdata) + } + for p = (*Hash)(unsafe.Pointer((pSchema + 8 /* &.tblHash */))).Ffirst; p != 0; p = (*HashElem)(unsafe.Pointer(p)).Fnext { + Xsqlite3DeleteTable(tls, db, (*HashElem)(unsafe.Pointer(p)).Fdata) + } + } + } + (*Sqlite3)(unsafe.Pointer(db)).FpnBytesFreed = uintptr(0) + Xsqlite3BtreeLeaveAll(tls, db) + + *(*int32)(unsafe.Pointer(pHighwater)) = 0 + *(*int32)(unsafe.Pointer(pCurrent)) = *(*int32)(unsafe.Pointer(bp /* nByte */)) + break + + } + + // *pCurrent gets an accurate estimate of the amount of memory used + // to store all prepared statements. + // *pHighwater is set to zero. + case SQLITE_DBSTATUS_STMT_USED: + { + var pVdbe uintptr // Used to iterate through VMs + *(*int32)(unsafe.Pointer(bp + 4 /* nByte */)) = 0 // Used to accumulate return value + + (*Sqlite3)(unsafe.Pointer(db)).FpnBytesFreed = bp + 4 /* &nByte */ + for pVdbe = (*Sqlite3)(unsafe.Pointer(db)).FpVdbe; pVdbe != 0; pVdbe = (*Vdbe1)(unsafe.Pointer(pVdbe)).FpNext { + Xsqlite3VdbeClearObject(tls, db, pVdbe) + Xsqlite3DbFree(tls, db, pVdbe) + } + (*Sqlite3)(unsafe.Pointer(db)).FpnBytesFreed = uintptr(0) + + *(*int32)(unsafe.Pointer(pHighwater)) = 0 // IMP: R-64479-57858 + *(*int32)(unsafe.Pointer(pCurrent)) = *(*int32)(unsafe.Pointer(bp + 4 /* nByte */)) + + break + + } + + // Set *pCurrent to the total cache hits or misses encountered by all + // pagers the database handle is connected to. *pHighwater is always set + // to zero. + case SQLITE_DBSTATUS_CACHE_SPILL: + op = (SQLITE_DBSTATUS_CACHE_WRITE + 1) + fallthrough + case SQLITE_DBSTATUS_CACHE_HIT: + fallthrough + case SQLITE_DBSTATUS_CACHE_MISS: + fallthrough + case SQLITE_DBSTATUS_CACHE_WRITE: + { + var i int32 + *(*int32)(unsafe.Pointer(bp + 8 /* nRet */)) = 0 + + for i = 0; i < (*Sqlite3)(unsafe.Pointer(db)).FnDb; i++ { + if (*Db)(unsafe.Pointer((*Sqlite3)(unsafe.Pointer(db)).FaDb+uintptr(i)*32)).FpBt != 0 { + var pPager uintptr = Xsqlite3BtreePager(tls, (*Db)(unsafe.Pointer((*Sqlite3)(unsafe.Pointer(db)).FaDb+uintptr(i)*32)).FpBt) + Xsqlite3PagerCacheStat(tls, pPager, op, resetFlag, bp+8 /* &nRet */) + } + } + *(*int32)(unsafe.Pointer(pHighwater)) = 0 // IMP: R-42420-56072 + // IMP: R-54100-20147 + // IMP: R-29431-39229 + *(*int32)(unsafe.Pointer(pCurrent)) = *(*int32)(unsafe.Pointer(bp + 8 /* nRet */)) + break + + } + + // Set *pCurrent to non-zero if there are unresolved deferred foreign + // key constraints. Set *pCurrent to zero if all foreign key constraints + // have been satisfied. The *pHighwater is always set to zero. + case SQLITE_DBSTATUS_DEFERRED_FKS: + { + *(*int32)(unsafe.Pointer(pHighwater)) = 0 // IMP: R-11967-56545 + *(*int32)(unsafe.Pointer(pCurrent)) = (libc.Bool32(((*Sqlite3)(unsafe.Pointer(db)).FnDeferredImmCons > int64(0)) || ((*Sqlite3)(unsafe.Pointer(db)).FnDeferredCons > int64(0)))) + break + + } + + default: + { + rc = SQLITE_ERROR + + } + } + Xsqlite3_mutex_leave(tls, (*Sqlite3)(unsafe.Pointer(db)).Fmutex) + return rc +} + +//************* End of status.c ********************************************* +//************* Begin file date.c ******************************************* +// 2003 October 31 +// +// 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 the C functions that implement date and time +// functions for SQLite. +// +// There is only one exported symbol in this file - the function +// sqlite3RegisterDateTimeFunctions() found at the bottom of the file. +// All other code has file scope. +// +// SQLite processes all times and dates as julian day numbers. The +// dates and times are stored as the number of days since noon +// in Greenwich on November 24, 4714 B.C. according to the Gregorian +// calendar system. +// +// 1970-01-01 00:00:00 is JD 2440587.5 +// 2000-01-01 00:00:00 is JD 2451544.5 +// +// This implementation requires years to be expressed as a 4-digit number +// which means that only dates between 0000-01-01 and 9999-12-31 can +// be represented, even though julian day numbers allow a much wider +// range of dates. +// +// The Gregorian calendar system is used for all dates and times, +// even those that predate the Gregorian calendar. Historians usually +// use the julian calendar for dates prior to 1582-10-15 and for some +// dates afterwards, depending on locale. Beware of this difference. +// +// The conversion algorithms are implemented based on descriptions +// in the following text: +// +// Jean Meeus +// Astronomical Algorithms, 2nd Edition, 1998 +// ISBN 0-943396-61-1 +// Willmann-Bell, Inc +// Richmond, Virginia (USA) +// #include "sqliteInt.h" +// #include +// #include +// $NetBSD: time.h,v 1.47 2016/10/04 09:41:41 kamil Exp $ + +// Copyright (c) 1989, 1993 +// The Regents of the University of California. All rights reserved. +// (c) UNIX System Laboratories, Inc. +// All or some portions of this file are derived from material licensed +// to the University of California by American Telephone and Telegraph +// Co. or Unix System Laboratories, Inc. and are reproduced herein with +// the permission of UNIX System Laboratories, 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. 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. +// +// @(#)time.h 8.3 (Berkeley) 1/21/94 + +// $NetBSD: cdefs.h,v 1.141 2019/02/21 21:34:05 christos Exp $ + +// * 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. 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 + +// $NetBSD: featuretest.h,v 1.10 2013/04/26 18:29:06 christos Exp $ + +// Written by Klaus Klein , February 2, 1998. +// Public domain. +// +// NOTE: Do not protect this header against multiple inclusion. Doing +// so can have subtle side-effects due to header file inclusion order +// and testing of e.g. _POSIX_SOURCE vs. _POSIX_C_SOURCE. Instead, +// protect each CPP macro that we want to supply. + +// Feature-test macros are defined by several standards, and allow an +// application to specify what symbols they want the system headers to +// expose, and hence what standard they want them to conform to. +// There are two classes of feature-test macros. The first class +// specify complete standards, and if one of these is defined, header +// files will try to conform to the relevant standard. They are: +// +// ANSI macros: +// _ANSI_SOURCE ANSI C89 +// +// POSIX macros: +// _POSIX_SOURCE == 1 IEEE Std 1003.1 (version?) +// _POSIX_C_SOURCE == 1 IEEE Std 1003.1-1990 +// _POSIX_C_SOURCE == 2 IEEE Std 1003.2-1992 +// _POSIX_C_SOURCE == 199309L IEEE Std 1003.1b-1993 +// _POSIX_C_SOURCE == 199506L ISO/IEC 9945-1:1996 +// _POSIX_C_SOURCE == 200112L IEEE Std 1003.1-2001 +// _POSIX_C_SOURCE == 200809L IEEE Std 1003.1-2008 +// +// X/Open macros: +// _XOPEN_SOURCE System Interfaces and Headers, Issue 4, Ver 2 +// _XOPEN_SOURCE_EXTENDED == 1 XSH4.2 UNIX extensions +// _XOPEN_SOURCE == 500 System Interfaces and Headers, Issue 5 +// _XOPEN_SOURCE == 520 Networking Services (XNS), Issue 5.2 +// _XOPEN_SOURCE == 600 IEEE Std 1003.1-2001, XSI option +// _XOPEN_SOURCE == 700 IEEE Std 1003.1-2008, XSI option +// +// NetBSD macros: +// _NETBSD_SOURCE == 1 Make all NetBSD features available. +// +// If more than one of these "major" feature-test macros is defined, +// then the set of facilities provided (and namespace used) is the +// union of that specified by the relevant standards, and in case of +// conflict, the earlier standard in the above list has precedence (so +// if both _POSIX_C_SOURCE and _NETBSD_SOURCE are defined, the version +// of rename() that's used is the POSIX one). If none of the "major" +// feature-test macros is defined, _NETBSD_SOURCE is assumed. +// +// There are also "minor" feature-test macros, which enable extra +// functionality in addition to some base standard. They should be +// defined along with one of the "major" macros. The "minor" macros +// are: +// +// _REENTRANT +// _ISOC99_SOURCE +// _ISOC11_SOURCE +// _LARGEFILE_SOURCE Large File Support +// + +// $NetBSD: ansi.h,v 1.11 2019/05/07 03:49:26 kamil Exp $ + +// $NetBSD: common_ansi.h,v 1.1 2014/08/19 07:27:31 matt Exp $ + +// - +// Copyright (c) 2014 The NetBSD Foundation, Inc. +// All rights reserved. +// +// This code is derived from software contributed to The NetBSD Foundation +// by Matt Thomas of 3am Software Foundry. +// +// 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. +// +// THIS SOFTWARE IS PROVIDED BY THE NETBSD FOUNDATION, INC. 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 FOUNDATION 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. + +// $NetBSD: null.h,v 1.9 2010/07/06 11:56:20 kleink Exp $ + +// Written by Klaus Klein , December 22, 1999. +// Public domain. + +type tm = struct { + Ftm_sec int32 + Ftm_min int32 + Ftm_hour int32 + Ftm_mday int32 + Ftm_mon int32 + Ftm_year int32 + Ftm_wday int32 + Ftm_yday int32 + Ftm_isdst int32 + F__ccgo_pad1 [4]byte + Ftm_gmtoff int64 + Ftm_zone uintptr +} /* time.h:75:1 */ + +// ISO/IEC 9899:201x 7.27.1/3 Components of time +// $NetBSD: timespec.h,v 1.1 2015/07/31 12:51:32 kamil Exp $ + +// Copyright (c) 1982, 1986, 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. 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. +// +// @(#)time.h 8.5 (Berkeley) 5/4/95 +// +// Extracted by Kamil Rytarowski from: +// NetBSD: src/sys/sys/time.h,v 1.69 2015/05/19 23:35:11 riastradh Exp + +// $NetBSD: ansi.h,v 1.14 2011/07/17 20:54:54 joerg Exp $ + +// - +// Copyright (c) 2000, 2001, 2002 The NetBSD Foundation, Inc. +// All rights reserved. +// +// This code is derived from software contributed to The NetBSD Foundation +// by Jun-ichiro itojun Hagino and by Klaus Klein. +// +// 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. +// +// THIS SOFTWARE IS PROVIDED BY THE NETBSD FOUNDATION, INC. 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 FOUNDATION 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. + +type timespec = struct { + Ftv_sec Time_t + Ftv_nsec int64 +} /* timespec.h:47:1 */ + +// $NetBSD: time.h,v 1.79 2017/01/17 15:28:34 maya Exp $ + +// Copyright (c) 1982, 1986, 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. 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. +// +// @(#)time.h 8.5 (Berkeley) 5/4/95 + +// $NetBSD: featuretest.h,v 1.10 2013/04/26 18:29:06 christos Exp $ + +// Written by Klaus Klein , February 2, 1998. +// Public domain. +// +// NOTE: Do not protect this header against multiple inclusion. Doing +// so can have subtle side-effects due to header file inclusion order +// and testing of e.g. _POSIX_SOURCE vs. _POSIX_C_SOURCE. Instead, +// protect each CPP macro that we want to supply. + +// Feature-test macros are defined by several standards, and allow an +// application to specify what symbols they want the system headers to +// expose, and hence what standard they want them to conform to. +// There are two classes of feature-test macros. The first class +// specify complete standards, and if one of these is defined, header +// files will try to conform to the relevant standard. They are: +// +// ANSI macros: +// _ANSI_SOURCE ANSI C89 +// +// POSIX macros: +// _POSIX_SOURCE == 1 IEEE Std 1003.1 (version?) +// _POSIX_C_SOURCE == 1 IEEE Std 1003.1-1990 +// _POSIX_C_SOURCE == 2 IEEE Std 1003.2-1992 +// _POSIX_C_SOURCE == 199309L IEEE Std 1003.1b-1993 +// _POSIX_C_SOURCE == 199506L ISO/IEC 9945-1:1996 +// _POSIX_C_SOURCE == 200112L IEEE Std 1003.1-2001 +// _POSIX_C_SOURCE == 200809L IEEE Std 1003.1-2008 +// +// X/Open macros: +// _XOPEN_SOURCE System Interfaces and Headers, Issue 4, Ver 2 +// _XOPEN_SOURCE_EXTENDED == 1 XSH4.2 UNIX extensions +// _XOPEN_SOURCE == 500 System Interfaces and Headers, Issue 5 +// _XOPEN_SOURCE == 520 Networking Services (XNS), Issue 5.2 +// _XOPEN_SOURCE == 600 IEEE Std 1003.1-2001, XSI option +// _XOPEN_SOURCE == 700 IEEE Std 1003.1-2008, XSI option +// +// NetBSD macros: +// _NETBSD_SOURCE == 1 Make all NetBSD features available. +// +// If more than one of these "major" feature-test macros is defined, +// then the set of facilities provided (and namespace used) is the +// union of that specified by the relevant standards, and in case of +// conflict, the earlier standard in the above list has precedence (so +// if both _POSIX_C_SOURCE and _NETBSD_SOURCE are defined, the version +// of rename() that's used is the POSIX one). If none of the "major" +// feature-test macros is defined, _NETBSD_SOURCE is assumed. +// +// There are also "minor" feature-test macros, which enable extra +// functionality in addition to some base standard. They should be +// defined along with one of the "major" macros. The "minor" macros +// are: +// +// _REENTRANT +// _ISOC99_SOURCE +// _ISOC11_SOURCE +// _LARGEFILE_SOURCE Large File Support +// + +// $NetBSD: types.h,v 1.102 2018/11/06 16:26:44 maya Exp $ + +// - +// Copyright (c) 1982, 1986, 1991, 1993, 1994 +// The Regents of the University of California. All rights reserved. +// (c) UNIX System Laboratories, Inc. +// All or some portions of this file are derived from material licensed +// to the University of California by American Telephone and Telegraph +// Co. or Unix System Laboratories, Inc. and are reproduced herein with +// the permission of UNIX System Laboratories, 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. 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. +// +// @(#)types.h 8.4 (Berkeley) 1/21/94 + +// Structure returned by gettimeofday(2) system call, +// and used in other calls. +type timeval = struct { + Ftv_sec Time_t + Ftv_usec Suseconds_t + F__ccgo_pad1 [4]byte +} /* time.h:44:1 */ + +// $NetBSD: timespec.h,v 1.1 2015/07/31 12:51:32 kamil Exp $ + +// Copyright (c) 1982, 1986, 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. 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. +// +// @(#)time.h 8.5 (Berkeley) 5/4/95 +// +// Extracted by Kamil Rytarowski from: +// NetBSD: src/sys/sys/time.h,v 1.69 2015/05/19 23:35:11 riastradh Exp + +// Note: timezone is obsolete. All timezone handling is now in +// userland. Its just here for back compatibility. +type timezone = struct { + Ftz_minuteswest int32 + Ftz_dsttime int32 +} /* time.h:65:1 */ + +// Operations on timevals. + +// hide bintime for _STANDALONE because this header is used for hpcboot.exe, +// which is built with compilers which don't recognize LL suffix. +// http://mail-index.NetBSD.org/tech-userlevel/2008/02/27/msg000181.html +type bintime = struct { + Fsec Time_t + Ffrac Uint64_t +} /* time.h:102:1 */ + +// Operations on timespecs. + +// Names of the interval timers, and structure +// defining a timer setting. +// NB: Must match the CLOCK_ constants below. + +type itimerval = struct { + Fit_interval struct { + Ftv_sec Time_t + Ftv_usec Suseconds_t + F__ccgo_pad1 [4]byte + } + Fit_value struct { + Ftv_sec Time_t + Ftv_usec Suseconds_t + F__ccgo_pad1 [4]byte + } +} /* time.h:280:1 */ + +// Structure defined by POSIX.1b to be like a itimerval, but with +// timespecs. Used in the timer_*() system calls. +type itimerspec = struct { + Fit_interval struct { + Ftv_sec Time_t + Ftv_nsec int64 + } + Fit_value struct { + Ftv_sec Time_t + Ftv_nsec int64 + } +} /* time.h:289:1 */ + +// $NetBSD: select.h,v 1.37 2014/04/25 15:52:45 pooka Exp $ + +// - +// Copyright (c) 1992, 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. 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. +// +// @(#)select.h 8.2 (Berkeley) 1/4/94 + +// $NetBSD: cdefs.h,v 1.141 2019/02/21 21:34:05 christos Exp $ + +// * 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. 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 + +// $NetBSD: featuretest.h,v 1.10 2013/04/26 18:29:06 christos Exp $ + +// Written by Klaus Klein , February 2, 1998. +// Public domain. +// +// NOTE: Do not protect this header against multiple inclusion. Doing +// so can have subtle side-effects due to header file inclusion order +// and testing of e.g. _POSIX_SOURCE vs. _POSIX_C_SOURCE. Instead, +// protect each CPP macro that we want to supply. + +// Feature-test macros are defined by several standards, and allow an +// application to specify what symbols they want the system headers to +// expose, and hence what standard they want them to conform to. +// There are two classes of feature-test macros. The first class +// specify complete standards, and if one of these is defined, header +// files will try to conform to the relevant standard. They are: +// +// ANSI macros: +// _ANSI_SOURCE ANSI C89 +// +// POSIX macros: +// _POSIX_SOURCE == 1 IEEE Std 1003.1 (version?) +// _POSIX_C_SOURCE == 1 IEEE Std 1003.1-1990 +// _POSIX_C_SOURCE == 2 IEEE Std 1003.2-1992 +// _POSIX_C_SOURCE == 199309L IEEE Std 1003.1b-1993 +// _POSIX_C_SOURCE == 199506L ISO/IEC 9945-1:1996 +// _POSIX_C_SOURCE == 200112L IEEE Std 1003.1-2001 +// _POSIX_C_SOURCE == 200809L IEEE Std 1003.1-2008 +// +// X/Open macros: +// _XOPEN_SOURCE System Interfaces and Headers, Issue 4, Ver 2 +// _XOPEN_SOURCE_EXTENDED == 1 XSH4.2 UNIX extensions +// _XOPEN_SOURCE == 500 System Interfaces and Headers, Issue 5 +// _XOPEN_SOURCE == 520 Networking Services (XNS), Issue 5.2 +// _XOPEN_SOURCE == 600 IEEE Std 1003.1-2001, XSI option +// _XOPEN_SOURCE == 700 IEEE Std 1003.1-2008, XSI option +// +// NetBSD macros: +// _NETBSD_SOURCE == 1 Make all NetBSD features available. +// +// If more than one of these "major" feature-test macros is defined, +// then the set of facilities provided (and namespace used) is the +// union of that specified by the relevant standards, and in case of +// conflict, the earlier standard in the above list has precedence (so +// if both _POSIX_C_SOURCE and _NETBSD_SOURCE are defined, the version +// of rename() that's used is the POSIX one). If none of the "major" +// feature-test macros is defined, _NETBSD_SOURCE is assumed. +// +// There are also "minor" feature-test macros, which enable extra +// functionality in addition to some base standard. They should be +// defined along with one of the "major" macros. The "minor" macros +// are: +// +// _REENTRANT +// _ISOC99_SOURCE +// _ISOC11_SOURCE +// _LARGEFILE_SOURCE Large File Support +// + +// $NetBSD: fd_set.h,v 1.7 2018/06/24 12:05:40 kamil Exp $ + +// - +// Copyright (c) 1992, 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. 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. +// +// from: @(#)types.h 8.4 (Berkeley) 1/21/94 + // $NetBSD: sigtypes.h,v 1.11 2017/01/12 18:29:14 christos Exp $ // Copyright (c) 1982, 1986, 1989, 1991, 1993 @@ -11680,12 +11968,54 @@ type Sigset_t = struct{ F__bits [4]X__uint32_t } /* sigtypes.h:62:3 */ // Macro for manipulating signal masks. -type Stack_t = struct { - Fss_sp uintptr - Fss_size Size_t - Fss_flags int32 - _ [4]byte -} /* sigtypes.h:116:3 */ +type sigaltstack = struct { + Fss_sp uintptr + Fss_size Size_t + Fss_flags int32 + F__ccgo_pad1 [4]byte +} /* sigtypes.h:108:9 */ + +// Macro for manipulating signal masks. + +type Stack_t = sigaltstack /* sigtypes.h:116:3 */ +// $NetBSD: idtype.h,v 1.5 2016/04/09 17:02:51 riastradh Exp $ + +// - +// Copyright (c) 2016 The NetBSD Foundation, Inc. +// All rights reserved. +// +// This code is derived from software contributed to The NetBSD Foundation +// by Christos Zoulas. +// +// 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. +// +// THIS SOFTWARE IS PROVIDED BY THE NETBSD FOUNDATION, INC. 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 FOUNDATION 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. + +// Using the solaris constants, some of them are not applicable to us +// Do not re-order the list, or add elements in the middle as this will +// break the ABI of the system calls using this. We set a high private +// maximum so that new values can be added in the future without +// changing the width of the type. +type Idtype_t = int32 /* idtype.h:60:3 */ + +type Timezone_t = uintptr /* time.h:198:24 */ // The MSVC CRT on Windows CE may not have a localtime() function. // So declare a substitute. The substitute function itself is @@ -11693,22 +12023,22 @@ type Stack_t = struct { // A structure for holding a single date and time. type DateTime1 = struct { - FiJD Sqlite3_int64 - FY int32 - FM int32 - FD int32 - Fh int32 - Fm int32 - Ftz int32 - Fs float64 - FvalidJD int8 - FrawS int8 - FvalidYMD int8 - FvalidHMS int8 - FvalidTZ int8 - FtzSet int8 - FisError int8 - _ [1]byte + FiJD Sqlite3_int64 + FY int32 + FM int32 + FD int32 + Fh int32 + Fm int32 + Ftz int32 + Fs float64 + FvalidJD int8 + FrawS int8 + FvalidYMD int8 + FvalidHMS int8 + FvalidTZ int8 + FtzSet int8 + FisError int8 + F__ccgo_pad1 [1]byte } /* sqlite3.c:22238:9 */ // The MSVC CRT on Windows CE may not have a localtime() function. @@ -11753,7 +12083,7 @@ func getDigits(tls *libc.TLS, zDate uintptr, zFormat uintptr, va uintptr) int32 var val int32 var max U16 cnt = 0 - ap = va + (ap) = va __1: N = (int8(int32(*(*int8)(unsafe.Pointer(zFormat))) - '0')) min = (int8(int32(*(*int8)(unsafe.Pointer(zFormat + 1))) - '0')) @@ -11864,7 +12194,7 @@ __6: __4: ; zDate++ - if !(getDigits(tls, zDate, ts+486 /* "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 @@ -11901,13 +12231,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+494 /* "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+502 /* "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) @@ -11985,10 +12315,10 @@ func computeJD(tls *libc.TLS, p uintptr) { /* sqlite3.c:22423:13: */ B = ((2 - A) + (A / 4)) X1 = ((36525 * (Y + 4716)) / 100) X2 = ((306001 * (M + 1)) / 10000) - (*DateTime)(unsafe.Pointer(p)).FiJD = (Sqlite3_int64(((float64(((X1 + X2) + D) + B)) - 1524.5) * float64(86400000))) + (*DateTime)(unsafe.Pointer(p)).FiJD = (libc.Int64FromFloat64(((float64(((X1 + X2) + D) + B)) - 1524.5) * float64(86400000))) (*DateTime)(unsafe.Pointer(p)).FvalidJD = int8(1) if (*DateTime)(unsafe.Pointer(p)).FvalidHMS != 0 { - *(*Sqlite3_int64)(unsafe.Pointer(p /* &.iJD */)) += ((Sqlite3_int64(((*DateTime)(unsafe.Pointer(p)).Fh * 3600000) + ((*DateTime)(unsafe.Pointer(p)).Fm * 60000))) + (Sqlite3_int64((*DateTime)(unsafe.Pointer(p)).Fs * float64(1000)))) + *(*Sqlite3_int64)(unsafe.Pointer(p /* &.iJD */)) += ((Sqlite3_int64(((*DateTime)(unsafe.Pointer(p)).Fh * 3600000) + ((*DateTime)(unsafe.Pointer(p)).Fm * 60000))) + (libc.Int64FromFloat64((*DateTime)(unsafe.Pointer(p)).Fs * float64(1000)))) if (*DateTime)(unsafe.Pointer(p)).FvalidTZ != 0 { *(*Sqlite3_int64)(unsafe.Pointer(p /* &.iJD */)) -= (Sqlite3_int64((*DateTime)(unsafe.Pointer(p)).Ftz * 60000)) (*DateTime)(unsafe.Pointer(p)).FvalidYMD = int8(0) @@ -12026,7 +12356,7 @@ func parseYyyyMmDd(tls *libc.TLS, zDate uintptr, p uintptr) int32 { /* sqlite3.c } else { neg = 0 } - if getDigits(tls, zDate, ts+506 /* "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) @@ -12078,7 +12408,7 @@ func setRawDateNumber(tls *libc.TLS, p uintptr, r float64) { /* sqlite3.c:22526: (*DateTime)(unsafe.Pointer(p)).Fs = r (*DateTime)(unsafe.Pointer(p)).FrawS = int8(1) if (r >= 0.0) && (r < 5373484.5) { - (*DateTime)(unsafe.Pointer(p)).FiJD = (Sqlite3_int64((r * 86400000.0) + 0.5)) + (*DateTime)(unsafe.Pointer(p)).FiJD = (libc.Int64FromFloat64((r * 86400000.0) + 0.5)) (*DateTime)(unsafe.Pointer(p)).FvalidJD = int8(1) } } @@ -12107,7 +12437,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+518 /* "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 */))) @@ -12151,13 +12481,13 @@ func computeYMD(tls *libc.TLS, p uintptr) { /* sqlite3.c:22591:13: */ return } else { Z = (int32(((*DateTime)(unsafe.Pointer(p)).FiJD + int64(43200000)) / int64(86400000))) - A = (int32((float64(Z) - 1867216.25) / 36524.25)) + A = (libc.Int32FromFloat64((float64(Z) - 1867216.25) / 36524.25)) A = (((Z + 1) + A) - (A / 4)) B = (A + 1524) - C = (int32((float64(B) - 122.1) / 365.25)) + C = (libc.Int32FromFloat64((float64(B) - 122.1) / 365.25)) D = ((36525 * (C & 32767)) / 100) - E = (int32((float64(B - D)) / 30.6001)) - X1 = (int32(30.6001 * float64(E))) + E = (libc.Int32FromFloat64((float64(B - D)) / 30.6001)) + X1 = (libc.Int32FromFloat64(30.6001 * float64(E))) (*DateTime)(unsafe.Pointer(p)).FD = ((B - D) - X1) (*DateTime)(unsafe.Pointer(p)).FM = func() int32 { if E < 14 { @@ -12184,7 +12514,7 @@ func computeHMS(tls *libc.TLS, p uintptr) { /* sqlite3.c:22620:13: */ computeJD(tls, p) s = (int32(((*DateTime)(unsafe.Pointer(p)).FiJD + int64(43200000)) % int64(86400000))) (*DateTime)(unsafe.Pointer(p)).Fs = (float64(s) / 1000.0) - s = int32((*DateTime)(unsafe.Pointer(p)).Fs) + s = libc.Int32FromFloat64((*DateTime)(unsafe.Pointer(p)).Fs) *(*float64)(unsafe.Pointer(p + 32 /* &.s */)) -= (float64(s)) (*DateTime)(unsafe.Pointer(p)).Fh = (s / 3600) s = s - ((*DateTime)(unsafe.Pointer(p)).Fh * 3600) @@ -12281,7 +12611,7 @@ func localtimeOffset(tls *libc.TLS, p uintptr, pCtx uintptr, pRc uintptr) Sqlite (*DateTime)(unsafe.Pointer(bp + 56 /* &x */)).Fm = 0 (*DateTime)(unsafe.Pointer(bp + 56 /* &x */)).Fs = 0.0 } else { - var s int32 = (int32((*DateTime)(unsafe.Pointer(bp+56 /* &x */)).Fs + 0.5)) + var s int32 = (libc.Int32FromFloat64((*DateTime)(unsafe.Pointer(bp+56 /* &x */)).Fs + 0.5)) (*DateTime)(unsafe.Pointer(bp + 56 /* &x */)).Fs = float64(s) } (*DateTime)(unsafe.Pointer(bp + 56 /* &x */)).Ftz = 0 @@ -12289,7 +12619,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+522 /* "local time unava..." */, -1) + Xsqlite3_result_error(tls, pCtx, ts+521 /* "local time unava..." */, -1) *(*int32)(unsafe.Pointer(pRc)) = SQLITE_ERROR return int64(0) } @@ -12317,19 +12647,19 @@ func localtimeOffset(tls *libc.TLS, p uintptr, pCtx uintptr, pRc uintptr) Sqlite // Where NNN is an arbitrary floating-point number and "days" can be one // of several units of time. var aXformType = [6]struct { - FeType U8 - FnName U8 - _ [6]byte - FzName uintptr - FrLimit float64 - FrXform float64 + FeType U8 + FnName U8 + F__ccgo_pad1 [6]byte + FzName uintptr + FrLimit float64 + FrXform float64 }{ - {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}, + {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 @@ -12368,7 +12698,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+579 /* "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) @@ -12382,16 +12712,16 @@ 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+589 /* "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) - (*DateTime)(unsafe.Pointer(p)).FiJD = (Sqlite3_int64(*(*float64)(unsafe.Pointer(bp + 8 /* r */)) + 0.5)) + (*DateTime)(unsafe.Pointer(p)).FiJD = (libc.Int64FromFloat64(*(*float64)(unsafe.Pointer(bp + 8 /* r */)) + 0.5)) (*DateTime)(unsafe.Pointer(p)).FvalidJD = int8(1) (*DateTime)(unsafe.Pointer(p)).FrawS = int8(0) *(*int32)(unsafe.Pointer(bp /* rc */)) = 0 } - } else if (Xsqlite3_stricmp(tls, z, ts+599 /* "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) @@ -12416,7 +12746,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+603 /* "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 @@ -12441,7 +12771,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+612 /* "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) { @@ -12455,14 +12785,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+568 /* "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+574 /* "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+564 /* "day" */) == 0 { + } else if Xsqlite3_stricmp(tls, z, ts+563 /* "day" */) == 0 { *(*int32)(unsafe.Pointer(bp /* rc */)) = 0 } break @@ -12551,12 +12881,12 @@ func parseModifier(tls *libc.TLS, pCtx uintptr, z uintptr, n int32, p uintptr) i rRounder = +0.5 } for i = 0; i < (int32(uint64(unsafe.Sizeof(aXformType)) / uint64(unsafe.Sizeof(struct { - FeType U8 - FnName U8 - _ [6]byte - FzName uintptr - FrLimit float64 - FrXform float64 + FeType U8 + FnName U8 + F__ccgo_pad1 [6]byte + FzName uintptr + FrLimit float64 + FrXform float64 }{})))); i++ { if (((int32(aXformType[i].FnName) == n) && (Xsqlite3_strnicmp(tls, aXformType[i].FzName, z, n) == 0)) && @@ -12592,7 +12922,7 @@ func parseModifier(tls *libc.TLS, pCtx uintptr, z uintptr, n int32, p uintptr) i } } computeJD(tls, p) - *(*Sqlite3_int64)(unsafe.Pointer(p /* &.iJD */)) += (Sqlite3_int64((*(*float64)(unsafe.Pointer(bp + 8 /* r */)) * aXformType[i].FrXform) + rRounder)) + *(*Sqlite3_int64)(unsafe.Pointer(p /* &.iJD */)) += (libc.Int64FromFloat64((*(*float64)(unsafe.Pointer(bp + 8 /* r */)) * aXformType[i].FrXform) + rRounder)) *(*int32)(unsafe.Pointer(bp /* rc */)) = 0 break } @@ -12683,8 +13013,8 @@ 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+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_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, libc.Int32FromFloat64((*DateTime)(unsafe.Pointer(bp+48 /* &x */)).Fs))) Xsqlite3_result_text(tls, context, bp+96 /* &zBuf[0] */, -1, libc.UintptrFromInt32(-1)) } } @@ -12702,7 +13032,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+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_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, libc.Int32FromFloat64((*DateTime)(unsafe.Pointer(bp+24 /* &x */)).Fs))) Xsqlite3_result_text(tls, context, bp+72 /* &zBuf[0] */, -1, libc.UintptrFromInt32(-1)) } } @@ -12720,7 +13050,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+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_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)) } } @@ -12847,7 +13177,7 @@ __3: i++ switch int32(*(*int8)(unsafe.Pointer(zFmt + uintptr(i)))) { case 'd': - Xsqlite3_snprintf(tls, 3, (z + uintptr(j)), ts+682 /* "%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 @@ -12857,14 +13187,14 @@ __3: if s > 59.999 { s = 59.999 } - Xsqlite3_snprintf(tls, 7, (z + uintptr(j)), ts+687 /* "%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+682 /* "%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 @@ -12882,10 +13212,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+682 /* "%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+694 /* "%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 @@ -12894,19 +13224,19 @@ __3: fallthrough case 'J': { - Xsqlite3_snprintf(tls, 20, (z + uintptr(j)), ts+699 /* "%.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+682 /* "%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+682 /* "%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 @@ -12920,7 +13250,7 @@ __3: } fallthrough case 'S': - Xsqlite3_snprintf(tls, 3, (z + uintptr(j)), ts+682 /* "%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, libc.Int32FromFloat64((*DateTime)(unsafe.Pointer(bp+80 /* &x */)).Fs))) j = j + (uint64(2)) break fallthrough @@ -12933,7 +13263,7 @@ __3: fallthrough case 'Y': { - Xsqlite3_snprintf(tls, 5, (z + uintptr(j)), ts+705 /* "%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 @@ -12990,14 +13320,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 + 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 */ + {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 ********************************************* @@ -13060,7 +13390,9 @@ var Xsqlite3_memdebug_vfs_oom_test int32 = 1 /* sqlite3.c:23490:16 */ // C++ instead of plain old C. func Xsqlite3OsClose(tls *libc.TLS, pId uintptr) { /* sqlite3.c:23507:21: */ if (*Sqlite3_file)(unsafe.Pointer(pId)).FpMethods != 0 { - (*(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(((*Sqlite3_file)(unsafe.Pointer(pId)).FpMethods + 8 /* &.xClose */))))(tls, pId) + (*struct { + f func(*libc.TLS, uintptr) int32 + })(unsafe.Pointer(&struct{ uintptr }{(*sqlite3_io_methods)(unsafe.Pointer((*Sqlite3_file)(unsafe.Pointer(pId)).FpMethods)).FxClose})).f(tls, pId) (*Sqlite3_file)(unsafe.Pointer(pId)).FpMethods = uintptr(0) } } @@ -13074,7 +13406,9 @@ func Xsqlite3OsRead(tls *libc.TLS, id uintptr, pBuf uintptr, amt int32, offset I Xsqlite3_free(tls, pTstAlloc) } - return (*(*func(*libc.TLS, uintptr, uintptr, int32, Sqlite3_int64) int32)(unsafe.Pointer(((*Sqlite3_file)(unsafe.Pointer(id)).FpMethods + 16 /* &.xRead */))))(tls, id, pBuf, amt, offset) + return (*struct { + f func(*libc.TLS, uintptr, uintptr, int32, Sqlite3_int64) int32 + })(unsafe.Pointer(&struct{ uintptr }{(*sqlite3_io_methods)(unsafe.Pointer((*Sqlite3_file)(unsafe.Pointer(id)).FpMethods)).FxRead})).f(tls, id, pBuf, amt, offset) } func Xsqlite3OsWrite(tls *libc.TLS, id uintptr, pBuf uintptr, amt int32, offset I64) int32 { /* sqlite3.c:23517:20: */ @@ -13086,11 +13420,15 @@ func Xsqlite3OsWrite(tls *libc.TLS, id uintptr, pBuf uintptr, amt int32, offset Xsqlite3_free(tls, pTstAlloc) } - return (*(*func(*libc.TLS, uintptr, uintptr, int32, Sqlite3_int64) int32)(unsafe.Pointer(((*Sqlite3_file)(unsafe.Pointer(id)).FpMethods + 24 /* &.xWrite */))))(tls, id, pBuf, amt, offset) + return (*struct { + f func(*libc.TLS, uintptr, uintptr, int32, Sqlite3_int64) int32 + })(unsafe.Pointer(&struct{ uintptr }{(*sqlite3_io_methods)(unsafe.Pointer((*Sqlite3_file)(unsafe.Pointer(id)).FpMethods)).FxWrite})).f(tls, id, pBuf, amt, offset) } func Xsqlite3OsTruncate(tls *libc.TLS, id uintptr, size I64) int32 { /* sqlite3.c:23521:20: */ - return (*(*func(*libc.TLS, uintptr, Sqlite3_int64) int32)(unsafe.Pointer(((*Sqlite3_file)(unsafe.Pointer(id)).FpMethods + 32 /* &.xTruncate */))))(tls, id, size) + return (*struct { + f func(*libc.TLS, uintptr, Sqlite3_int64) int32 + })(unsafe.Pointer(&struct{ uintptr }{(*sqlite3_io_methods)(unsafe.Pointer((*Sqlite3_file)(unsafe.Pointer(id)).FpMethods)).FxTruncate})).f(tls, id, size) } func Xsqlite3OsSync(tls *libc.TLS, id uintptr, flags int32) int32 { /* sqlite3.c:23524:20: */ @@ -13103,7 +13441,9 @@ func Xsqlite3OsSync(tls *libc.TLS, id uintptr, flags int32) int32 { /* sqlite3.c } if flags != 0 { - return (*(*func(*libc.TLS, uintptr, int32) int32)(unsafe.Pointer(((*Sqlite3_file)(unsafe.Pointer(id)).FpMethods + 40 /* &.xSync */))))(tls, id, flags) + return (*struct { + f func(*libc.TLS, uintptr, int32) int32 + })(unsafe.Pointer(&struct{ uintptr }{(*sqlite3_io_methods)(unsafe.Pointer((*Sqlite3_file)(unsafe.Pointer(id)).FpMethods)).FxSync})).f(tls, id, flags) } return SQLITE_OK } @@ -13117,7 +13457,9 @@ func Xsqlite3OsFileSize(tls *libc.TLS, id uintptr, pSize uintptr) int32 { /* sql Xsqlite3_free(tls, pTstAlloc) } - return (*(*func(*libc.TLS, uintptr, uintptr) int32)(unsafe.Pointer(((*Sqlite3_file)(unsafe.Pointer(id)).FpMethods + 48 /* &.xFileSize */))))(tls, id, pSize) + return (*struct { + f func(*libc.TLS, uintptr, uintptr) int32 + })(unsafe.Pointer(&struct{ uintptr }{(*sqlite3_io_methods)(unsafe.Pointer((*Sqlite3_file)(unsafe.Pointer(id)).FpMethods)).FxFileSize})).f(tls, id, pSize) } func Xsqlite3OsLock(tls *libc.TLS, id uintptr, lockType int32) int32 { /* sqlite3.c:23532:20: */ @@ -13129,11 +13471,15 @@ func Xsqlite3OsLock(tls *libc.TLS, id uintptr, lockType int32) int32 { /* sqlite Xsqlite3_free(tls, pTstAlloc) } - return (*(*func(*libc.TLS, uintptr, int32) int32)(unsafe.Pointer(((*Sqlite3_file)(unsafe.Pointer(id)).FpMethods + 56 /* &.xLock */))))(tls, id, lockType) + return (*struct { + f func(*libc.TLS, uintptr, int32) int32 + })(unsafe.Pointer(&struct{ uintptr }{(*sqlite3_io_methods)(unsafe.Pointer((*Sqlite3_file)(unsafe.Pointer(id)).FpMethods)).FxLock})).f(tls, id, lockType) } func Xsqlite3OsUnlock(tls *libc.TLS, id uintptr, lockType int32) int32 { /* sqlite3.c:23536:20: */ - return (*(*func(*libc.TLS, uintptr, int32) int32)(unsafe.Pointer(((*Sqlite3_file)(unsafe.Pointer(id)).FpMethods + 64 /* &.xUnlock */))))(tls, id, lockType) + return (*struct { + f func(*libc.TLS, uintptr, int32) int32 + })(unsafe.Pointer(&struct{ uintptr }{(*sqlite3_io_methods)(unsafe.Pointer((*Sqlite3_file)(unsafe.Pointer(id)).FpMethods)).FxUnlock})).f(tls, id, lockType) } func Xsqlite3OsCheckReservedLock(tls *libc.TLS, id uintptr, pResOut uintptr) int32 { /* sqlite3.c:23539:20: */ @@ -13145,7 +13491,9 @@ func Xsqlite3OsCheckReservedLock(tls *libc.TLS, id uintptr, pResOut uintptr) int Xsqlite3_free(tls, pTstAlloc) } - return (*(*func(*libc.TLS, uintptr, uintptr) int32)(unsafe.Pointer(((*Sqlite3_file)(unsafe.Pointer(id)).FpMethods + 72 /* &.xCheckReservedLock */))))(tls, id, pResOut) + return (*struct { + f func(*libc.TLS, uintptr, uintptr) int32 + })(unsafe.Pointer(&struct{ uintptr }{(*sqlite3_io_methods)(unsafe.Pointer((*Sqlite3_file)(unsafe.Pointer(id)).FpMethods)).FxCheckReservedLock})).f(tls, id, pResOut) } // Use sqlite3OsFileControl() when we are doing something that might fail @@ -13185,12 +13533,16 @@ func Xsqlite3OsFileControl(tls *libc.TLS, id uintptr, op int32, pArg uintptr) in } } - return (*(*func(*libc.TLS, uintptr, int32, uintptr) int32)(unsafe.Pointer(((*Sqlite3_file)(unsafe.Pointer(id)).FpMethods + 80 /* &.xFileControl */))))(tls, id, op, pArg) + return (*struct { + f func(*libc.TLS, uintptr, int32, uintptr) int32 + })(unsafe.Pointer(&struct{ uintptr }{(*sqlite3_io_methods)(unsafe.Pointer((*Sqlite3_file)(unsafe.Pointer(id)).FpMethods)).FxFileControl})).f(tls, id, op, pArg) } func Xsqlite3OsFileControlHint(tls *libc.TLS, id uintptr, op int32, pArg uintptr) { /* sqlite3.c:23580:21: */ if (*Sqlite3_file)(unsafe.Pointer(id)).FpMethods != 0 { - (*(*func(*libc.TLS, uintptr, int32, uintptr) int32)(unsafe.Pointer(((*Sqlite3_file)(unsafe.Pointer(id)).FpMethods + 80 /* &.xFileControl */))))(tls, id, op, pArg) + (*struct { + f func(*libc.TLS, uintptr, int32, uintptr) int32 + })(unsafe.Pointer(&struct{ uintptr }{(*sqlite3_io_methods)(unsafe.Pointer((*Sqlite3_file)(unsafe.Pointer(id)).FpMethods)).FxFileControl})).f(tls, id, op, pArg) } } @@ -13198,26 +13550,34 @@ func Xsqlite3OsSectorSize(tls *libc.TLS, id uintptr) int32 { /* sqlite3.c:23584: var xSectorSize uintptr = (*sqlite3_io_methods)(unsafe.Pointer((*Sqlite3_file)(unsafe.Pointer(id)).FpMethods)).FxSectorSize return func() int32 { if xSectorSize != 0 { - return (*(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(&xSectorSize)))(tls, id) + return (*struct { + f func(*libc.TLS, uintptr) int32 + })(unsafe.Pointer(&struct{ uintptr }{xSectorSize})).f(tls, id) } return SQLITE_DEFAULT_SECTOR_SIZE }() } func Xsqlite3OsDeviceCharacteristics(tls *libc.TLS, id uintptr) int32 { /* sqlite3.c:23588:20: */ - return (*(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(((*Sqlite3_file)(unsafe.Pointer(id)).FpMethods + 96 /* &.xDeviceCharacteristics */))))(tls, id) + return (*struct { + f func(*libc.TLS, uintptr) int32 + })(unsafe.Pointer(&struct{ uintptr }{(*sqlite3_io_methods)(unsafe.Pointer((*Sqlite3_file)(unsafe.Pointer(id)).FpMethods)).FxDeviceCharacteristics})).f(tls, id) } func Xsqlite3OsShmLock(tls *libc.TLS, id uintptr, offset int32, n int32, flags int32) int32 { /* sqlite3.c:23592:20: */ - return (*(*func(*libc.TLS, uintptr, int32, int32, int32) int32)(unsafe.Pointer(((*Sqlite3_file)(unsafe.Pointer(id)).FpMethods + 112 /* &.xShmLock */))))(tls, id, offset, n, flags) + return (*struct { + f func(*libc.TLS, uintptr, int32, int32, int32) int32 + })(unsafe.Pointer(&struct{ uintptr }{(*sqlite3_io_methods)(unsafe.Pointer((*Sqlite3_file)(unsafe.Pointer(id)).FpMethods)).FxShmLock})).f(tls, id, offset, n, flags) } func Xsqlite3OsShmBarrier(tls *libc.TLS, id uintptr) { /* sqlite3.c:23595:21: */ - (*(*func(*libc.TLS, uintptr))(unsafe.Pointer(((*Sqlite3_file)(unsafe.Pointer(id)).FpMethods + 120 /* &.xShmBarrier */))))(tls, id) + (*struct{ f func(*libc.TLS, uintptr) })(unsafe.Pointer(&struct{ uintptr }{(*sqlite3_io_methods)(unsafe.Pointer((*Sqlite3_file)(unsafe.Pointer(id)).FpMethods)).FxShmBarrier})).f(tls, id) } func Xsqlite3OsShmUnmap(tls *libc.TLS, id uintptr, deleteFlag int32) int32 { /* sqlite3.c:23598:20: */ - return (*(*func(*libc.TLS, uintptr, int32) int32)(unsafe.Pointer(((*Sqlite3_file)(unsafe.Pointer(id)).FpMethods + 128 /* &.xShmUnmap */))))(tls, id, deleteFlag) + return (*struct { + f func(*libc.TLS, uintptr, int32) int32 + })(unsafe.Pointer(&struct{ uintptr }{(*sqlite3_io_methods)(unsafe.Pointer((*Sqlite3_file)(unsafe.Pointer(id)).FpMethods)).FxShmUnmap})).f(tls, id, deleteFlag) } func Xsqlite3OsShmMap(tls *libc.TLS, id uintptr, iPage int32, pgsz int32, bExtend int32, pp uintptr) int32 { /* sqlite3.c:23601:20: */ @@ -13229,7 +13589,9 @@ func Xsqlite3OsShmMap(tls *libc.TLS, id uintptr, iPage int32, pgsz int32, bExten Xsqlite3_free(tls, pTstAlloc) } - return (*(*func(*libc.TLS, uintptr, int32, int32, int32, uintptr) int32)(unsafe.Pointer(((*Sqlite3_file)(unsafe.Pointer(id)).FpMethods + 104 /* &.xShmMap */))))(tls, id, iPage, pgsz, bExtend, libc.AtomicLoadUintptr(&pp)) + return (*struct { + f func(*libc.TLS, uintptr, int32, int32, int32, uintptr) int32 + })(unsafe.Pointer(&struct{ uintptr }{(*sqlite3_io_methods)(unsafe.Pointer((*Sqlite3_file)(unsafe.Pointer(id)).FpMethods)).FxShmMap})).f(tls, id, iPage, pgsz, bExtend, pp) } // No-op stubs to use when memory-mapped I/O is disabled @@ -13258,7 +13620,9 @@ func Xsqlite3OsOpen(tls *libc.TLS, pVfs uintptr, zPath uintptr, pFile uintptr, f // down into the VFS layer. Some SQLITE_OPEN_ flags (for example, // SQLITE_OPEN_FULLMUTEX or SQLITE_OPEN_SHAREDCACHE) are blocked before // reaching the VFS. - rc = (*(*func(*libc.TLS, uintptr, uintptr, uintptr, int32, uintptr) int32)(unsafe.Pointer((pVfs + 40 /* &.xOpen */))))(tls, pVfs, zPath, pFile, (flags & 0x1087f7f), pFlagsOut) + rc = (*struct { + f func(*libc.TLS, uintptr, uintptr, uintptr, int32, uintptr) int32 + })(unsafe.Pointer(&struct{ uintptr }{(*Sqlite3_vfs)(unsafe.Pointer(pVfs)).FxOpen})).f(tls, pVfs, zPath, pFile, (flags & 0x1087f7f), pFlagsOut) return rc } @@ -13273,7 +13637,9 @@ func Xsqlite3OsDelete(tls *libc.TLS, pVfs uintptr, zPath uintptr, dirSync int32) } if (*Sqlite3_vfs)(unsafe.Pointer(pVfs)).FxDelete != uintptr(0) { - return (*(*func(*libc.TLS, uintptr, uintptr, int32) int32)(unsafe.Pointer((pVfs + 48 /* &.xDelete */))))(tls, pVfs, zPath, dirSync) + return (*struct { + f func(*libc.TLS, uintptr, uintptr, int32) int32 + })(unsafe.Pointer(&struct{ uintptr }{(*Sqlite3_vfs)(unsafe.Pointer(pVfs)).FxDelete})).f(tls, pVfs, zPath, dirSync) } return SQLITE_OK } @@ -13287,7 +13653,9 @@ func Xsqlite3OsAccess(tls *libc.TLS, pVfs uintptr, zPath uintptr, flags int32, p Xsqlite3_free(tls, pTstAlloc) } - return (*(*func(*libc.TLS, uintptr, uintptr, int32, uintptr) int32)(unsafe.Pointer((pVfs + 56 /* &.xAccess */))))(tls, pVfs, zPath, flags, pResOut) + return (*struct { + f func(*libc.TLS, uintptr, uintptr, int32, uintptr) int32 + })(unsafe.Pointer(&struct{ uintptr }{(*Sqlite3_vfs)(unsafe.Pointer(pVfs)).FxAccess})).f(tls, pVfs, zPath, flags, pResOut) } func Xsqlite3OsFullPathname(tls *libc.TLS, pVfs uintptr, zPath uintptr, nPathOut int32, zPathOut uintptr) int32 { /* sqlite3.c:23668:20: */ @@ -13300,25 +13668,35 @@ func Xsqlite3OsFullPathname(tls *libc.TLS, pVfs uintptr, zPath uintptr, nPathOut } *(*int8)(unsafe.Pointer(zPathOut)) = int8(0) - return (*(*func(*libc.TLS, uintptr, uintptr, int32, uintptr) int32)(unsafe.Pointer((pVfs + 64 /* &.xFullPathname */))))(tls, pVfs, zPath, nPathOut, zPathOut) + return (*struct { + f func(*libc.TLS, uintptr, uintptr, int32, uintptr) int32 + })(unsafe.Pointer(&struct{ uintptr }{(*Sqlite3_vfs)(unsafe.Pointer(pVfs)).FxFullPathname})).f(tls, pVfs, zPath, nPathOut, zPathOut) } func Xsqlite3OsDlOpen(tls *libc.TLS, pVfs uintptr, zPath uintptr) uintptr { /* sqlite3.c:23679:21: */ // tag-20210611-1 - return (*(*func(*libc.TLS, uintptr, uintptr) uintptr)(unsafe.Pointer((pVfs + 72 /* &.xDlOpen */))))(tls, pVfs, zPath) + return (*struct { + f func(*libc.TLS, uintptr, uintptr) uintptr + })(unsafe.Pointer(&struct{ uintptr }{(*Sqlite3_vfs)(unsafe.Pointer(pVfs)).FxDlOpen})).f(tls, pVfs, zPath) } func Xsqlite3OsDlError(tls *libc.TLS, pVfs uintptr, nByte int32, zBufOut uintptr) { /* sqlite3.c:23684:21: */ - (*(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer((pVfs + 80 /* &.xDlError */))))(tls, pVfs, nByte, zBufOut) + (*struct { + f func(*libc.TLS, uintptr, int32, uintptr) + })(unsafe.Pointer(&struct{ uintptr }{(*Sqlite3_vfs)(unsafe.Pointer(pVfs)).FxDlError})).f(tls, pVfs, nByte, zBufOut) } func Xsqlite3OsDlSym(tls *libc.TLS, pVfs uintptr, pHdle uintptr, zSym uintptr) uintptr { /* sqlite3.c:23687:21: */ - return (*(*func(*libc.TLS, uintptr, uintptr, uintptr) uintptr)(unsafe.Pointer((pVfs + 88 /* &.xDlSym */))))(tls, pVfs, pHdle, zSym) + return (*struct { + f func(*libc.TLS, uintptr, uintptr, uintptr) uintptr + })(unsafe.Pointer(&struct{ uintptr }{(*Sqlite3_vfs)(unsafe.Pointer(pVfs)).FxDlSym})).f(tls, pVfs, pHdle, zSym) } func Xsqlite3OsDlClose(tls *libc.TLS, pVfs uintptr, pHandle uintptr) { /* sqlite3.c:23690:21: */ - (*(*func(*libc.TLS, uintptr, uintptr))(unsafe.Pointer((pVfs + 96 /* &.xDlClose */))))(tls, pVfs, pHandle) + (*struct { + f func(*libc.TLS, uintptr, uintptr) + })(unsafe.Pointer(&struct{ uintptr }{(*Sqlite3_vfs)(unsafe.Pointer(pVfs)).FxDlClose})).f(tls, pVfs, pHandle) } func Xsqlite3OsRandomness(tls *libc.TLS, pVfs uintptr, nByte int32, zBufOut uintptr) int32 { /* sqlite3.c:23694:20: */ @@ -13330,19 +13708,25 @@ func Xsqlite3OsRandomness(tls *libc.TLS, pVfs uintptr, nByte int32, zBufOut uint libc.Xmemcpy(tls, zBufOut, (uintptr(unsafe.Pointer(&Xsqlite3Config)) + 420 /* &.iPrngSeed */), uint64(nByte)) return SQLITE_OK } else { - return (*(*func(*libc.TLS, uintptr, int32, uintptr) int32)(unsafe.Pointer((pVfs + 104 /* &.xRandomness */))))(tls, pVfs, nByte, zBufOut) + return (*struct { + f func(*libc.TLS, uintptr, int32, uintptr) int32 + })(unsafe.Pointer(&struct{ uintptr }{(*Sqlite3_vfs)(unsafe.Pointer(pVfs)).FxRandomness})).f(tls, pVfs, nByte, zBufOut) } return int32(0) } func Xsqlite3OsSleep(tls *libc.TLS, pVfs uintptr, nMicro int32) int32 { /* sqlite3.c:23705:20: */ - return (*(*func(*libc.TLS, uintptr, int32) int32)(unsafe.Pointer((pVfs + 112 /* &.xSleep */))))(tls, pVfs, nMicro) + return (*struct { + f func(*libc.TLS, uintptr, int32) int32 + })(unsafe.Pointer(&struct{ uintptr }{(*Sqlite3_vfs)(unsafe.Pointer(pVfs)).FxSleep})).f(tls, pVfs, nMicro) } func Xsqlite3OsGetLastError(tls *libc.TLS, pVfs uintptr) int32 { /* sqlite3.c:23708:20: */ if (*Sqlite3_vfs)(unsafe.Pointer(pVfs)).FxGetLastError != 0 { - return (*(*func(*libc.TLS, uintptr, int32, uintptr) int32)(unsafe.Pointer((pVfs + 128 /* &.xGetLastError */))))(tls, pVfs, 0, uintptr(0)) + return (*struct { + f func(*libc.TLS, uintptr, int32, uintptr) int32 + })(unsafe.Pointer(&struct{ uintptr }{(*Sqlite3_vfs)(unsafe.Pointer(pVfs)).FxGetLastError})).f(tls, pVfs, 0, uintptr(0)) } return 0 } @@ -13358,12 +13742,16 @@ func Xsqlite3OsCurrentTimeInt64(tls *libc.TLS, pVfs uintptr, pTimeOut uintptr) i // will fall back to xCurrentTime() if xCurrentTimeInt64() is // unavailable. if ((*Sqlite3_vfs)(unsafe.Pointer(pVfs)).FiVersion >= 2) && ((*Sqlite3_vfs)(unsafe.Pointer(pVfs)).FxCurrentTimeInt64 != 0) { - rc = (*(*func(*libc.TLS, uintptr, uintptr) int32)(unsafe.Pointer((pVfs + 136 /* &.xCurrentTimeInt64 */))))(tls, pVfs, pTimeOut) + rc = (*struct { + f func(*libc.TLS, uintptr, uintptr) int32 + })(unsafe.Pointer(&struct{ uintptr }{(*Sqlite3_vfs)(unsafe.Pointer(pVfs)).FxCurrentTimeInt64})).f(tls, pVfs, pTimeOut) } else { // var r float64 at bp, 8 - rc = (*(*func(*libc.TLS, uintptr, uintptr) int32)(unsafe.Pointer((pVfs + 120 /* &.xCurrentTime */))))(tls, pVfs, bp /* &r */) - *(*Sqlite3_int64)(unsafe.Pointer(pTimeOut)) = (Sqlite3_int64(*(*float64)(unsafe.Pointer(bp /* r */)) * 86400000.0)) + rc = (*struct { + f func(*libc.TLS, uintptr, uintptr) int32 + })(unsafe.Pointer(&struct{ uintptr }{(*Sqlite3_vfs)(unsafe.Pointer(pVfs)).FxCurrentTime})).f(tls, pVfs, bp /* &r */) + *(*Sqlite3_int64)(unsafe.Pointer(pTimeOut)) = (libc.Int64FromFloat64(*(*float64)(unsafe.Pointer(bp /* r */)) * 86400000.0)) } return rc } @@ -13573,14 +13961,14 @@ func Xsqlite3BenignMallocHooks(tls *libc.TLS, xBenignBegin uintptr, xBenignEnd u func Xsqlite3BeginBenignMalloc(tls *libc.TLS) { /* sqlite3.c:23942:21: */ if sqlite3Hooks.FxBenignBegin != 0 { - (*(*func(*libc.TLS))(unsafe.Pointer((uintptr(unsafe.Pointer(&sqlite3Hooks)) /* &.xBenignBegin */))))(tls) + (*struct{ f func(*libc.TLS) })(unsafe.Pointer(&struct{ uintptr }{sqlite3Hooks.FxBenignBegin})).f(tls) } } func Xsqlite3EndBenignMalloc(tls *libc.TLS) { /* sqlite3.c:23948:21: */ if sqlite3Hooks.FxBenignEnd != 0 { - (*(*func(*libc.TLS))(unsafe.Pointer((uintptr(unsafe.Pointer(&sqlite3Hooks)) + 8 /* &.xBenignEnd */))))(tls) + (*struct{ f func(*libc.TLS) })(unsafe.Pointer(&struct{ uintptr }{sqlite3Hooks.FxBenignEnd})).f(tls) } } @@ -13687,7 +14075,7 @@ func sqlite3MemMalloc(tls *libc.TLS, nByte int32) uintptr { /* sqlite3.c:24148:1 p += 8 } else { - Xsqlite3_log(tls, SQLITE_NOMEM, ts+792 /* "failed to alloca..." */, libc.VaList(bp, nByte)) + Xsqlite3_log(tls, SQLITE_NOMEM, ts+791 /* "failed to alloca..." */, libc.VaList(bp, nByte)) } return p } @@ -13738,7 +14126,7 @@ func sqlite3MemRealloc(tls *libc.TLS, pPrior uintptr, nByte int32) uintptr { /* } else { Xsqlite3_log(tls, SQLITE_NOMEM, - ts+830, /* "failed memory re..." */ + ts+829, /* "failed memory re..." */ libc.VaList(bp, sqlite3MemSize(tls, pPrior), nByte)) } return p @@ -13941,7 +14329,7 @@ func Xsqlite3MutexInit(tls *libc.TLS) int32 { /* sqlite3.c:26333:20: */ (*Sqlite3_mutex_methods)(unsafe.Pointer(pTo)).FxMutexAlloc = (*Sqlite3_mutex_methods)(unsafe.Pointer(pFrom)).FxMutexAlloc } - rc = (*(*func(*libc.TLS) int32)(unsafe.Pointer((uintptr(unsafe.Pointer(&Xsqlite3Config)) + 96 /* &.mutex */ /* &.xMutexInit */))))(tls) + rc = (*struct{ f func(*libc.TLS) int32 })(unsafe.Pointer(&struct{ uintptr }{Xsqlite3Config.Fmutex.FxMutexInit})).f(tls) return rc } @@ -13951,7 +14339,7 @@ func Xsqlite3MutexInit(tls *libc.TLS) int32 { /* sqlite3.c:26333:20: */ func Xsqlite3MutexEnd(tls *libc.TLS) int32 { /* sqlite3.c:26379:20: */ var rc int32 = SQLITE_OK if Xsqlite3Config.Fmutex.FxMutexEnd != 0 { - rc = (*(*func(*libc.TLS) int32)(unsafe.Pointer((uintptr(unsafe.Pointer(&Xsqlite3Config)) + 96 /* &.mutex */ + 8 /* &.xMutexEnd */))))(tls) + rc = (*struct{ f func(*libc.TLS) int32 })(unsafe.Pointer(&struct{ uintptr }{Xsqlite3Config.Fmutex.FxMutexEnd})).f(tls) } return rc @@ -13966,7 +14354,9 @@ func Xsqlite3_mutex_alloc(tls *libc.TLS, id int32) uintptr { /* sqlite3.c:26395: return uintptr(0) } - return (*(*func(*libc.TLS, int32) uintptr)(unsafe.Pointer((uintptr(unsafe.Pointer(&Xsqlite3Config)) + 96 /* &.mutex */ + 16 /* &.xMutexAlloc */))))(tls, id) + return (*struct { + f func(*libc.TLS, int32) uintptr + })(unsafe.Pointer(&struct{ uintptr }{Xsqlite3Config.Fmutex.FxMutexAlloc})).f(tls, id) } func Xsqlite3MutexAlloc(tls *libc.TLS, id int32) uintptr { /* sqlite3.c:26404:30: */ @@ -13974,14 +14364,16 @@ func Xsqlite3MutexAlloc(tls *libc.TLS, id int32) uintptr { /* sqlite3.c:26404:30 return uintptr(0) } - return (*(*func(*libc.TLS, int32) uintptr)(unsafe.Pointer((uintptr(unsafe.Pointer(&Xsqlite3Config)) + 96 /* &.mutex */ + 16 /* &.xMutexAlloc */))))(tls, id) + return (*struct { + f func(*libc.TLS, int32) uintptr + })(unsafe.Pointer(&struct{ uintptr }{Xsqlite3Config.Fmutex.FxMutexAlloc})).f(tls, id) } // Free a dynamic mutex. func Xsqlite3_mutex_free(tls *libc.TLS, p uintptr) { /* sqlite3.c:26416:17: */ if p != 0 { - (*(*func(*libc.TLS, uintptr))(unsafe.Pointer((uintptr(unsafe.Pointer(&Xsqlite3Config)) + 96 /* &.mutex */ + 24 /* &.xMutexFree */))))(tls, p) + (*struct{ f func(*libc.TLS, uintptr) })(unsafe.Pointer(&struct{ uintptr }{Xsqlite3Config.Fmutex.FxMutexFree})).f(tls, p) } } @@ -13990,7 +14382,7 @@ func Xsqlite3_mutex_free(tls *libc.TLS, p uintptr) { /* sqlite3.c:26416:17: */ func Xsqlite3_mutex_enter(tls *libc.TLS, p uintptr) { /* sqlite3.c:26427:17: */ if p != 0 { - (*(*func(*libc.TLS, uintptr))(unsafe.Pointer((uintptr(unsafe.Pointer(&Xsqlite3Config)) + 96 /* &.mutex */ + 32 /* &.xMutexEnter */))))(tls, p) + (*struct{ f func(*libc.TLS, uintptr) })(unsafe.Pointer(&struct{ uintptr }{Xsqlite3Config.Fmutex.FxMutexEnter})).f(tls, p) } } @@ -14000,7 +14392,9 @@ func Xsqlite3_mutex_try(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:26438:16: var rc int32 = SQLITE_OK if p != 0 { - return (*(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer((uintptr(unsafe.Pointer(&Xsqlite3Config)) + 96 /* &.mutex */ + 40 /* &.xMutexTry */))))(tls, p) + return (*struct { + f func(*libc.TLS, uintptr) int32 + })(unsafe.Pointer(&struct{ uintptr }{Xsqlite3Config.Fmutex.FxMutexTry})).f(tls, p) } return rc } @@ -14012,7 +14406,7 @@ func Xsqlite3_mutex_try(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:26438:16: func Xsqlite3_mutex_leave(tls *libc.TLS, p uintptr) { /* sqlite3.c:26453:17: */ if p != 0 { - (*(*func(*libc.TLS, uintptr))(unsafe.Pointer((uintptr(unsafe.Pointer(&Xsqlite3Config)) + 96 /* &.mutex */ + 48 /* &.xMutexLeave */))))(tls, p) + (*struct{ f func(*libc.TLS, uintptr) })(unsafe.Pointer(&struct{ uintptr }{Xsqlite3Config.Fmutex.FxMutexLeave})).f(tls, p) } } @@ -14173,7 +14567,7 @@ type Mem0Global = struct { FalarmThreshold Sqlite3_int64 FhardLimit Sqlite3_int64 FnearlyFull int32 - _ [4]byte + F__ccgo_pad1 [4]byte } /* sqlite3.c:27830:19 */ // Default value of the hard heap limit. 0 means "no limit". @@ -14280,7 +14674,9 @@ func Xsqlite3MallocInit(tls *libc.TLS) int32 { /* sqlite3.c:27944:20: */ Xsqlite3Config.FpPage = uintptr(0) Xsqlite3Config.FszPage = 0 } - rc = (*(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer((uintptr(unsafe.Pointer(&Xsqlite3Config)) + 32 /* &.m */ + 40 /* &.xInit */))))(tls, Xsqlite3Config.Fm.FpAppData) + rc = (*struct { + f func(*libc.TLS, uintptr) int32 + })(unsafe.Pointer(&struct{ uintptr }{Xsqlite3Config.Fm.FxInit})).f(tls, Xsqlite3Config.Fm.FpAppData) if rc != SQLITE_OK { libc.Xmemset(tls, uintptr(unsafe.Pointer(&mem0)), 0, uint64(unsafe.Sizeof(mem0))) } @@ -14297,7 +14693,7 @@ func Xsqlite3HeapNearlyFull(tls *libc.TLS) int32 { /* sqlite3.c:27965:20: */ // Deinitialize the memory allocation subsystem. func Xsqlite3MallocEnd(tls *libc.TLS) { /* sqlite3.c:27972:21: */ if Xsqlite3Config.Fm.FxShutdown != 0 { - (*(*func(*libc.TLS, uintptr))(unsafe.Pointer((uintptr(unsafe.Pointer(&Xsqlite3Config)) + 32 /* &.m */ + 48 /* &.xShutdown */))))(tls, Xsqlite3Config.Fm.FpAppData) + (*struct{ f func(*libc.TLS, uintptr) })(unsafe.Pointer(&struct{ uintptr }{Xsqlite3Config.Fm.FxShutdown})).f(tls, Xsqlite3Config.Fm.FpAppData) } libc.Xmemset(tls, uintptr(unsafe.Pointer(&mem0)), 0, uint64(unsafe.Sizeof(mem0))) } @@ -14351,7 +14747,7 @@ func mallocWithAlarm(tls *libc.TLS, n int32, pp uintptr) { /* sqlite3.c:28013:13 // mode and specifically when the DMD "Dark Matter Detector" is enabled // or else a crash results. Hence, do not attempt to optimize out the // following xRoundup() call. - nFull = (*(*func(*libc.TLS, int32) int32)(unsafe.Pointer((uintptr(unsafe.Pointer(&Xsqlite3Config)) + 32 /* &.m */ + 32 /* &.xRoundup */))))(tls, n) + nFull = (*struct{ f func(*libc.TLS, int32) int32 })(unsafe.Pointer(&struct{ uintptr }{Xsqlite3Config.Fm.FxRoundup})).f(tls, n) Xsqlite3StatusHighwater(tls, SQLITE_STATUS_MALLOC_SIZE, n) if mem0.FalarmThreshold > int64(0) { @@ -14370,10 +14766,14 @@ func mallocWithAlarm(tls *libc.TLS, n int32, pp uintptr) { /* sqlite3.c:28013:13 libc.AtomicStoreNInt32((uintptr(unsafe.Pointer(&mem0)) + 24 /* &.nearlyFull */), int32(0), 0) } } - p = (*(*func(*libc.TLS, int32) uintptr)(unsafe.Pointer((uintptr(unsafe.Pointer(&Xsqlite3Config)) + 32 /* &.m */ /* &.xMalloc */))))(tls, nFull) + p = (*struct { + f func(*libc.TLS, int32) uintptr + })(unsafe.Pointer(&struct{ uintptr }{Xsqlite3Config.Fm.FxMalloc})).f(tls, nFull) if (p == uintptr(0)) && (mem0.FalarmThreshold > int64(0)) { sqlite3MallocAlarm(tls, nFull) - p = (*(*func(*libc.TLS, int32) uintptr)(unsafe.Pointer((uintptr(unsafe.Pointer(&Xsqlite3Config)) + 32 /* &.m */ /* &.xMalloc */))))(tls, nFull) + p = (*struct { + f func(*libc.TLS, int32) uintptr + })(unsafe.Pointer(&struct{ uintptr }{Xsqlite3Config.Fm.FxMalloc})).f(tls, nFull) } if p != 0 { nFull = Xsqlite3MallocSize(tls, p) @@ -14403,7 +14803,9 @@ func Xsqlite3Malloc(tls *libc.TLS, n U64) uintptr { /* sqlite3.c:28062:21: */ mallocWithAlarm(tls, int32(n), bp /* &p */) Xsqlite3_mutex_leave(tls, mem0.Fmutex) } else { - *(*uintptr)(unsafe.Pointer(bp /* p */)) = (*(*func(*libc.TLS, int32) uintptr)(unsafe.Pointer((uintptr(unsafe.Pointer(&Xsqlite3Config)) + 32 /* &.m */ /* &.xMalloc */))))(tls, int32(n)) + *(*uintptr)(unsafe.Pointer(bp /* p */)) = (*struct { + f func(*libc.TLS, int32) uintptr + })(unsafe.Pointer(&struct{ uintptr }{Xsqlite3Config.Fm.FxMalloc})).f(tls, int32(n)) } // IMP: R-11148-40995 return *(*uintptr)(unsafe.Pointer(bp /* p */)) @@ -14438,7 +14840,9 @@ func isLookaside(tls *libc.TLS, db uintptr, p uintptr) int32 { /* sqlite3.c:2810 // sqlite3Malloc() or sqlite3_malloc(). func Xsqlite3MallocSize(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:28115:20: */ - return (*(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer((uintptr(unsafe.Pointer(&Xsqlite3Config)) + 32 /* &.m */ + 24 /* &.xSize */))))(tls, p) + return (*struct { + f func(*libc.TLS, uintptr) int32 + })(unsafe.Pointer(&struct{ uintptr }{Xsqlite3Config.Fm.FxSize})).f(tls, p) } func lookasideMallocSize(tls *libc.TLS, db uintptr, p uintptr) int32 { /* sqlite3.c:28119:12: */ @@ -14462,13 +14866,17 @@ func Xsqlite3DbMallocSize(tls *libc.TLS, db uintptr, p uintptr) int32 { /* sqlit } } } - return (*(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer((uintptr(unsafe.Pointer(&Xsqlite3Config)) + 32 /* &.m */ + 24 /* &.xSize */))))(tls, p) + return (*struct { + f func(*libc.TLS, uintptr) int32 + })(unsafe.Pointer(&struct{ uintptr }{Xsqlite3Config.Fm.FxSize})).f(tls, p) } func Xsqlite3_msize(tls *libc.TLS, p uintptr) Sqlite3_uint64 { /* sqlite3.c:28155:27: */ if p != 0 { - return uint64((*(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer((uintptr(unsafe.Pointer(&Xsqlite3Config)) + 32 /* &.m */ + 24 /* &.xSize */))))(tls, p)) + return uint64((*struct { + f func(*libc.TLS, uintptr) int32 + })(unsafe.Pointer(&struct{ uintptr }{Xsqlite3Config.Fm.FxSize})).f(tls, p)) } return uint64(0) } @@ -14483,10 +14891,10 @@ func Xsqlite3_free(tls *libc.TLS, p uintptr) { /* sqlite3.c:28164:17: */ Xsqlite3_mutex_enter(tls, mem0.Fmutex) Xsqlite3StatusDown(tls, SQLITE_STATUS_MEMORY_USED, Xsqlite3MallocSize(tls, p)) Xsqlite3StatusDown(tls, SQLITE_STATUS_MALLOC_COUNT, 1) - (*(*func(*libc.TLS, uintptr))(unsafe.Pointer((uintptr(unsafe.Pointer(&Xsqlite3Config)) + 32 /* &.m */ + 8 /* &.xFree */))))(tls, p) + (*struct{ f func(*libc.TLS, uintptr) })(unsafe.Pointer(&struct{ uintptr }{Xsqlite3Config.Fm.FxFree})).f(tls, p) Xsqlite3_mutex_leave(tls, mem0.Fmutex) } else { - (*(*func(*libc.TLS, uintptr))(unsafe.Pointer((uintptr(unsafe.Pointer(&Xsqlite3Config)) + 32 /* &.m */ + 8 /* &.xFree */))))(tls, p) + (*struct{ f func(*libc.TLS, uintptr) })(unsafe.Pointer(&struct{ uintptr }{Xsqlite3Config.Fm.FxFree})).f(tls, p) } } @@ -14554,7 +14962,7 @@ func Xsqlite3Realloc(tls *libc.TLS, pOld uintptr, nBytes U64) uintptr { /* sqlit // IMPLEMENTATION-OF: R-46199-30249 SQLite guarantees that the second // argument to xRealloc is always a value returned by a prior call to // xRoundup. - nNew = (*(*func(*libc.TLS, int32) int32)(unsafe.Pointer((uintptr(unsafe.Pointer(&Xsqlite3Config)) + 32 /* &.m */ + 32 /* &.xRoundup */))))(tls, int32(nBytes)) + nNew = (*struct{ f func(*libc.TLS, int32) int32 })(unsafe.Pointer(&struct{ uintptr }{Xsqlite3Config.Fm.FxRoundup})).f(tls, int32(nBytes)) if nOld == nNew { pNew = pOld } else if Xsqlite3Config.FbMemstat != 0 { @@ -14569,10 +14977,14 @@ func Xsqlite3Realloc(tls *libc.TLS, pOld uintptr, nBytes U64) uintptr { /* sqlit return uintptr(0) } } - pNew = (*(*func(*libc.TLS, uintptr, int32) uintptr)(unsafe.Pointer((uintptr(unsafe.Pointer(&Xsqlite3Config)) + 32 /* &.m */ + 16 /* &.xRealloc */))))(tls, pOld, nNew) + pNew = (*struct { + f func(*libc.TLS, uintptr, int32) uintptr + })(unsafe.Pointer(&struct{ uintptr }{Xsqlite3Config.Fm.FxRealloc})).f(tls, pOld, nNew) if (pNew == uintptr(0)) && (mem0.FalarmThreshold > int64(0)) { sqlite3MallocAlarm(tls, int32(nBytes)) - pNew = (*(*func(*libc.TLS, uintptr, int32) uintptr)(unsafe.Pointer((uintptr(unsafe.Pointer(&Xsqlite3Config)) + 32 /* &.m */ + 16 /* &.xRealloc */))))(tls, pOld, nNew) + pNew = (*struct { + f func(*libc.TLS, uintptr, int32) uintptr + })(unsafe.Pointer(&struct{ uintptr }{Xsqlite3Config.Fm.FxRealloc})).f(tls, pOld, nNew) } if pNew != 0 { nNew = Xsqlite3MallocSize(tls, pNew) @@ -14580,7 +14992,9 @@ func Xsqlite3Realloc(tls *libc.TLS, pOld uintptr, nBytes U64) uintptr { /* sqlit } Xsqlite3_mutex_leave(tls, mem0.Fmutex) } else { - pNew = (*(*func(*libc.TLS, uintptr, int32) uintptr)(unsafe.Pointer((uintptr(unsafe.Pointer(&Xsqlite3Config)) + 32 /* &.m */ + 16 /* &.xRealloc */))))(tls, pOld, nNew) + pNew = (*struct { + f func(*libc.TLS, uintptr, int32) uintptr + })(unsafe.Pointer(&struct{ uintptr }{Xsqlite3Config.Fm.FxRealloc})).f(tls, pOld, nNew) } // IMP: R-11148-40995 return pNew @@ -14923,8 +15337,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 + 866 /* "0123456789ABCDEF..." */)) /* sqlite3.c:28685:19 */ -var aPrefix = *(*[7]int8)(unsafe.Pointer(ts + 899 /* "-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)}, @@ -15178,7 +15592,7 @@ __6: if !((libc.AssignInt32(&c, int32(*(*int8)(unsafe.Pointer(libc.PreIncUintptr(&fmt, 1)))))) == 0) { goto __11 } - Xsqlite3_str_append(tls, pAccum, ts+906 /* "%" */, 1) + Xsqlite3_str_append(tls, pAccum, ts+905 /* "%" */, 1) goto __5 __11: ; @@ -15761,7 +16175,7 @@ __125: if !(Xsqlite3IsNaN(tls, *(*float64)(unsafe.Pointer(bp + 96 /* realvalue */))) != 0) { goto __127 } - bufpt = ts + 908 /* "NaN" */ + bufpt = ts + 907 /* "NaN" */ length = 3 goto __58 __127: @@ -15821,7 +16235,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+912 /* "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: @@ -16178,7 +16592,7 @@ __197: if !(bufpt == uintptr(0)) { goto __198 } - bufpt = ts + 916 /* "" */ + bufpt = ts + 915 /* "" */ goto __199 __198: if !(int32(xtype) == EtDYNSTRING) { @@ -16307,9 +16721,9 @@ __219: } escarg = func() uintptr { if int32(xtype) == EtSQLESCAPE2 { - return ts + 917 /* "NULL" */ + return ts + 916 /* "NULL" */ } - return ts + 922 /* "(NULL)" */ + return ts + 921 /* "(NULL)" */ }() __220: ; @@ -16444,7 +16858,7 @@ __240: goto __244 } Xsqlite3_str_appendall(tls, pAccum, (*SrcItem)(unsafe.Pointer(pItem)).FzDatabase) - Xsqlite3_str_append(tls, pAccum, ts+929 /* "." */, 1) + Xsqlite3_str_append(tls, pAccum, ts+928 /* "." */, 1) __244: ; Xsqlite3_str_appendall(tls, pAccum, (*SrcItem)(unsafe.Pointer(pItem)).FzName) @@ -16459,7 +16873,7 @@ __245: if !((*SrcItem)(unsafe.Pointer(pItem)).FpSelect != 0) { goto __247 } - Xsqlite3_str_appendf(tls, pAccum, ts+931 /* "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: @@ -16522,7 +16936,7 @@ __5: // End for loop over the format string } -var zOrd = *(*[9]int8)(unsafe.Pointer(ts + 943 /* "thstndrd" */)) /* sqlite3.c:29091:29 */ +var zOrd = *(*[9]int8)(unsafe.Pointer(ts + 942 /* "thstndrd" */)) /* sqlite3.c:29091:29 */ // End of function @@ -16775,7 +17189,7 @@ func Xsqlite3MPrintf(tls *libc.TLS, db uintptr, zFormat uintptr, va uintptr) uin var ap Va_list _ = ap var z uintptr - ap = va + (ap) = va z = Xsqlite3VMPrintf(tls, db, zFormat, ap) _ = ap return z @@ -16810,7 +17224,7 @@ func Xsqlite3_mprintf(tls *libc.TLS, zFormat uintptr, va uintptr) uintptr { /* s if Xsqlite3_initialize(tls) != 0 { return uintptr(0) } - ap = va + (ap) = va z = Xsqlite3_vmprintf(tls, zFormat, ap) _ = ap return z @@ -16846,7 +17260,7 @@ func Xsqlite3_snprintf(tls *libc.TLS, n int32, zBuf uintptr, zFormat uintptr, va var z uintptr var ap Va_list _ = ap - ap = va + (ap) = va z = Xsqlite3_vsnprintf(tls, n, zBuf, zFormat, ap) _ = ap return z @@ -16875,7 +17289,9 @@ func renderLogMsg(tls *libc.TLS, iErrCode int32, zFormat uintptr, ap Va_list) { Xsqlite3StrAccumInit(tls, bp /* &acc */, uintptr(0), bp+32 /* &zMsg[0] */, int32(unsafe.Sizeof([210]int8{})), 0) Xsqlite3_str_vappendf(tls, bp /* &acc */, zFormat, ap) - (*(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer((uintptr(unsafe.Pointer(&Xsqlite3Config)) + 376 /* &.xLog */))))(tls, Xsqlite3Config.FpLogArg, iErrCode, + (*struct { + f func(*libc.TLS, uintptr, int32, uintptr) + })(unsafe.Pointer(&struct{ uintptr }{Xsqlite3Config.FxLog})).f(tls, Xsqlite3Config.FpLogArg, iErrCode, Xsqlite3StrAccumFinish(tls, bp /* &acc */)) } @@ -16884,7 +17300,7 @@ func Xsqlite3_log(tls *libc.TLS, iErrCode int32, zFormat uintptr, va uintptr) { var ap Va_list _ = ap // Vararg list if Xsqlite3Config.FxLog != 0 { - ap = va + (ap) = va renderLogMsg(tls, iErrCode, zFormat, ap) _ = ap } @@ -16904,11 +17320,11 @@ func Xsqlite3DebugPrintf(tls *libc.TLS, zFormat uintptr, va uintptr) { /* sqlite // var zBuf [700]int8 at bp+40, 700 Xsqlite3StrAccumInit(tls, bp+8 /* &acc */, uintptr(0), bp+40 /* &zBuf[0] */, int32(unsafe.Sizeof([700]int8{})), 0) - ap = va + (ap) = va Xsqlite3_str_vappendf(tls, bp+8 /* &acc */, zFormat, ap) _ = ap Xsqlite3StrAccumFinish(tls, bp+8 /* &acc */) - libc.Xfprintf(tls, (uintptr(unsafe.Pointer(&libc.X__sF)) + 1*152), ts+952 /* "%s" */, libc.VaList(bp, bp+40 /* &zBuf[0] */)) + libc.Xfprintf(tls, (uintptr(unsafe.Pointer(&libc.X__sF)) + 1*152), ts+951 /* "%s" */, libc.VaList(bp, bp+40 /* &zBuf[0] */)) libc.Xfflush(tls, (uintptr(unsafe.Pointer(&libc.X__sF)) + 1*152)) } @@ -16917,7 +17333,7 @@ func Xsqlite3DebugPrintf(tls *libc.TLS, zFormat uintptr, va uintptr) { /* sqlite func Xsqlite3_str_appendf(tls *libc.TLS, p uintptr, zFormat uintptr, va uintptr) { /* sqlite3.c:29929:17: */ var ap Va_list _ = ap - ap = va + (ap) = va Xsqlite3_str_vappendf(tls, p, zFormat, ap) _ = ap } @@ -17125,7 +17541,9 @@ func Xsqlite3ThreadCreate(tls *libc.TLS, ppThread uintptr, xTask uintptr, pIn ui (*SQLiteThread)(unsafe.Pointer(p)).FpIn = pIn } else { (*SQLiteThread)(unsafe.Pointer(p)).FxTask = uintptr(0) - (*SQLiteThread)(unsafe.Pointer(p)).FpResult = (*(*func(*libc.TLS, uintptr) uintptr)(unsafe.Pointer(&xTask)))(tls, pIn) + (*SQLiteThread)(unsafe.Pointer(p)).FpResult = (*struct { + f func(*libc.TLS, uintptr) uintptr + })(unsafe.Pointer(&struct{ uintptr }{xTask})).f(tls, pIn) } *(*uintptr)(unsafe.Pointer(ppThread)) = p return SQLITE_OK @@ -17138,7 +17556,9 @@ func Xsqlite3ThreadJoin(tls *libc.TLS, p uintptr, ppOut uintptr) int32 { /* sqli return SQLITE_NOMEM } if (*SQLiteThread)(unsafe.Pointer(p)).FxTask != 0 { - *(*uintptr)(unsafe.Pointer(ppOut)) = (*(*func(*libc.TLS, uintptr) uintptr)(unsafe.Pointer((p /* &.xTask */))))(tls, (*SQLiteThread)(unsafe.Pointer(p)).FpIn) + *(*uintptr)(unsafe.Pointer(ppOut)) = (*struct { + f func(*libc.TLS, uintptr) uintptr + })(unsafe.Pointer(&struct{ uintptr }{(*SQLiteThread)(unsafe.Pointer(p)).FxTask})).f(tls, (*SQLiteThread)(unsafe.Pointer(p)).FpIn) } else { *(*uintptr)(unsafe.Pointer(ppOut)) = (*SQLiteThread)(unsafe.Pointer(p)).FpResult } @@ -17768,15 +18188,6 @@ func Xsqlite3UtfSelfTest(tls *libc.TLS) { /* sqlite3.c:31655:21: */ // // #include "sqliteInt.h" // #include -// DO NOT EDIT THIS FILE. -// -// It has been auto-edited by fixincludes from: -// -// "/usr/include/math.h" -// -// This had to be done to correct non-standard usages in the -// original, manufacturer supplied header file. - // $NetBSD: math.h,v 1.65 2018/06/24 23:55:29 christos Exp $ // ==================================================== @@ -17884,19 +18295,342 @@ func Xsqlite3UtfSelfTest(tls *libc.TLS) { /* sqlite3.c:31655:21: */ // type __float_u = struct { - _ [0]uint32 - F__dummy [4]uint8 -} /* math.h:39:1 */ + F__ccgo_pad1 [0]uint32 + F__dummy [4]uint8 +} /* math.h:24:1 */ type __double_u = struct { - _ [0]uint64 - F__dummy [8]uint8 -} /* math.h:44:1 */ + F__ccgo_pad1 [0]uint64 + F__dummy [8]uint8 +} /* math.h:29:1 */ type __long_double_u = struct { - _ [0]uint64 - F__dummy [8]uint8 -} /* math.h:49:1 */ + F__ccgo_pad1 [0]uint64 + F__dummy [8]uint8 +} /* math.h:34:1 */ + +// $NetBSD: math.h,v 1.3 2005/12/11 12:16:25 christos Exp $ + +// $NetBSD: math.h,v 1.2 2003/10/28 00:55:28 kleink Exp $ + +// $NetBSD: limits.h,v 1.40 2016/08/04 06:43:43 christos Exp $ + +// Copyright (c) 1988, 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. 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. +// +// @(#)limits.h 8.2 (Berkeley) 1/4/94 + +// $NetBSD: featuretest.h,v 1.10 2013/04/26 18:29:06 christos Exp $ + +// Written by Klaus Klein , February 2, 1998. +// Public domain. +// +// NOTE: Do not protect this header against multiple inclusion. Doing +// so can have subtle side-effects due to header file inclusion order +// and testing of e.g. _POSIX_SOURCE vs. _POSIX_C_SOURCE. Instead, +// protect each CPP macro that we want to supply. + +// Feature-test macros are defined by several standards, and allow an +// application to specify what symbols they want the system headers to +// expose, and hence what standard they want them to conform to. +// There are two classes of feature-test macros. The first class +// specify complete standards, and if one of these is defined, header +// files will try to conform to the relevant standard. They are: +// +// ANSI macros: +// _ANSI_SOURCE ANSI C89 +// +// POSIX macros: +// _POSIX_SOURCE == 1 IEEE Std 1003.1 (version?) +// _POSIX_C_SOURCE == 1 IEEE Std 1003.1-1990 +// _POSIX_C_SOURCE == 2 IEEE Std 1003.2-1992 +// _POSIX_C_SOURCE == 199309L IEEE Std 1003.1b-1993 +// _POSIX_C_SOURCE == 199506L ISO/IEC 9945-1:1996 +// _POSIX_C_SOURCE == 200112L IEEE Std 1003.1-2001 +// _POSIX_C_SOURCE == 200809L IEEE Std 1003.1-2008 +// +// X/Open macros: +// _XOPEN_SOURCE System Interfaces and Headers, Issue 4, Ver 2 +// _XOPEN_SOURCE_EXTENDED == 1 XSH4.2 UNIX extensions +// _XOPEN_SOURCE == 500 System Interfaces and Headers, Issue 5 +// _XOPEN_SOURCE == 520 Networking Services (XNS), Issue 5.2 +// _XOPEN_SOURCE == 600 IEEE Std 1003.1-2001, XSI option +// _XOPEN_SOURCE == 700 IEEE Std 1003.1-2008, XSI option +// +// NetBSD macros: +// _NETBSD_SOURCE == 1 Make all NetBSD features available. +// +// If more than one of these "major" feature-test macros is defined, +// then the set of facilities provided (and namespace used) is the +// union of that specified by the relevant standards, and in case of +// conflict, the earlier standard in the above list has precedence (so +// if both _POSIX_C_SOURCE and _NETBSD_SOURCE are defined, the version +// of rename() that's used is the POSIX one). If none of the "major" +// feature-test macros is defined, _NETBSD_SOURCE is assumed. +// +// There are also "minor" feature-test macros, which enable extra +// functionality in addition to some base standard. They should be +// defined along with one of the "major" macros. The "minor" macros +// are: +// +// _REENTRANT +// _ISOC99_SOURCE +// _ISOC11_SOURCE +// _LARGEFILE_SOURCE Large File Support +// + +// We have not implemented these yet +// +// _POSIX_THREAD_ATTR_STACKADDR +// _POSIX_THREAD_ATTR_STACKSIZE +// _POSIX_THREAD_CPUTIME +// _POSIX_THREAD_PRIORITY_SCHEDULING +// _POSIX_THREAD_PRIO_INHERIT +// _POSIX_THREAD_PRIO_PROTECT +// _POSIX_THREAD_PROCESS_SHARED +// _POSIX_THREAD_SAFE_FUNCTIONS +// _POSIX_THREAD_SPORADIC_SERVER + +// The following 3 are defined in +// Open Group Base Specifications Issue 7 + +// These are the correct names, defined in terms of the above +// except for PTHREAD_KEYS_MAX which is bigger than standard +// mandated minimum value _POSIX_THREAD_KEYS_MAX. +// Not yet: PTHREAD_STACK_MIN + +// X/Open CAE Specifications, +// adopted in IEEE Std 1003.1-2001 XSI. + +// IEEE Std 1003.1-2001 TSF + +// Always ensure that this is consistent with + +// X/Open Extended API set 2 (a.k.a. C063) +// This hides unimplemented functions from GNU configure until +// we are done implementing them. + +// $NetBSD: limits.h,v 1.15 2019/01/21 20:22:48 dholland Exp $ + +// Copyright (c) 1988 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. 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. +// +// @(#)limits.h 7.2 (Berkeley) 6/28/90 + +// $NetBSD: featuretest.h,v 1.10 2013/04/26 18:29:06 christos Exp $ + +// Written by Klaus Klein , February 2, 1998. +// Public domain. +// +// NOTE: Do not protect this header against multiple inclusion. Doing +// so can have subtle side-effects due to header file inclusion order +// and testing of e.g. _POSIX_SOURCE vs. _POSIX_C_SOURCE. Instead, +// protect each CPP macro that we want to supply. + +// Feature-test macros are defined by several standards, and allow an +// application to specify what symbols they want the system headers to +// expose, and hence what standard they want them to conform to. +// There are two classes of feature-test macros. The first class +// specify complete standards, and if one of these is defined, header +// files will try to conform to the relevant standard. They are: +// +// ANSI macros: +// _ANSI_SOURCE ANSI C89 +// +// POSIX macros: +// _POSIX_SOURCE == 1 IEEE Std 1003.1 (version?) +// _POSIX_C_SOURCE == 1 IEEE Std 1003.1-1990 +// _POSIX_C_SOURCE == 2 IEEE Std 1003.2-1992 +// _POSIX_C_SOURCE == 199309L IEEE Std 1003.1b-1993 +// _POSIX_C_SOURCE == 199506L ISO/IEC 9945-1:1996 +// _POSIX_C_SOURCE == 200112L IEEE Std 1003.1-2001 +// _POSIX_C_SOURCE == 200809L IEEE Std 1003.1-2008 +// +// X/Open macros: +// _XOPEN_SOURCE System Interfaces and Headers, Issue 4, Ver 2 +// _XOPEN_SOURCE_EXTENDED == 1 XSH4.2 UNIX extensions +// _XOPEN_SOURCE == 500 System Interfaces and Headers, Issue 5 +// _XOPEN_SOURCE == 520 Networking Services (XNS), Issue 5.2 +// _XOPEN_SOURCE == 600 IEEE Std 1003.1-2001, XSI option +// _XOPEN_SOURCE == 700 IEEE Std 1003.1-2008, XSI option +// +// NetBSD macros: +// _NETBSD_SOURCE == 1 Make all NetBSD features available. +// +// If more than one of these "major" feature-test macros is defined, +// then the set of facilities provided (and namespace used) is the +// union of that specified by the relevant standards, and in case of +// conflict, the earlier standard in the above list has precedence (so +// if both _POSIX_C_SOURCE and _NETBSD_SOURCE are defined, the version +// of rename() that's used is the POSIX one). If none of the "major" +// feature-test macros is defined, _NETBSD_SOURCE is assumed. +// +// There are also "minor" feature-test macros, which enable extra +// functionality in addition to some base standard. They should be +// defined along with one of the "major" macros. The "minor" macros +// are: +// +// _REENTRANT +// _ISOC99_SOURCE +// _ISOC11_SOURCE +// _LARGEFILE_SOURCE Large File Support +// + +// $NetBSD: syslimits.h,v 1.28 2015/08/21 07:19:39 uebayasi Exp $ + +// Copyright (c) 1988, 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. 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. +// +// @(#)syslimits.h 8.1 (Berkeley) 6/2/93 + +// $NetBSD: featuretest.h,v 1.10 2013/04/26 18:29:06 christos Exp $ + +// Written by Klaus Klein , February 2, 1998. +// Public domain. +// +// NOTE: Do not protect this header against multiple inclusion. Doing +// so can have subtle side-effects due to header file inclusion order +// and testing of e.g. _POSIX_SOURCE vs. _POSIX_C_SOURCE. Instead, +// protect each CPP macro that we want to supply. + +// Feature-test macros are defined by several standards, and allow an +// application to specify what symbols they want the system headers to +// expose, and hence what standard they want them to conform to. +// There are two classes of feature-test macros. The first class +// specify complete standards, and if one of these is defined, header +// files will try to conform to the relevant standard. They are: +// +// ANSI macros: +// _ANSI_SOURCE ANSI C89 +// +// POSIX macros: +// _POSIX_SOURCE == 1 IEEE Std 1003.1 (version?) +// _POSIX_C_SOURCE == 1 IEEE Std 1003.1-1990 +// _POSIX_C_SOURCE == 2 IEEE Std 1003.2-1992 +// _POSIX_C_SOURCE == 199309L IEEE Std 1003.1b-1993 +// _POSIX_C_SOURCE == 199506L ISO/IEC 9945-1:1996 +// _POSIX_C_SOURCE == 200112L IEEE Std 1003.1-2001 +// _POSIX_C_SOURCE == 200809L IEEE Std 1003.1-2008 +// +// X/Open macros: +// _XOPEN_SOURCE System Interfaces and Headers, Issue 4, Ver 2 +// _XOPEN_SOURCE_EXTENDED == 1 XSH4.2 UNIX extensions +// _XOPEN_SOURCE == 500 System Interfaces and Headers, Issue 5 +// _XOPEN_SOURCE == 520 Networking Services (XNS), Issue 5.2 +// _XOPEN_SOURCE == 600 IEEE Std 1003.1-2001, XSI option +// _XOPEN_SOURCE == 700 IEEE Std 1003.1-2008, XSI option +// +// NetBSD macros: +// _NETBSD_SOURCE == 1 Make all NetBSD features available. +// +// If more than one of these "major" feature-test macros is defined, +// then the set of facilities provided (and namespace used) is the +// union of that specified by the relevant standards, and in case of +// conflict, the earlier standard in the above list has precedence (so +// if both _POSIX_C_SOURCE and _NETBSD_SOURCE are defined, the version +// of rename() that's used is the POSIX one). If none of the "major" +// feature-test macros is defined, _NETBSD_SOURCE is assumed. +// +// There are also "minor" feature-test macros, which enable extra +// functionality in addition to some base standard. They should be +// defined along with one of the "major" macros. The "minor" macros +// are: +// +// _REENTRANT +// _ISOC99_SOURCE +// _ISOC11_SOURCE +// _LARGEFILE_SOURCE Large File Support +// + +// kept in sync with MAXNAMLEN + +// IEEE Std 1003.1c-95, adopted in X/Open CAE Specification Issue 5 Version 2 + +// X/Open CAE Specification Issue 5 Version 2 + +type Double_t = float64 /* math.h:45:16 */ +type Float_t = float32 /* math.h:46:15 */ + +type exception = struct { + Ftype int32 + F__ccgo_pad1 [4]byte + Fname uintptr + Farg1 float64 + Farg2 float64 + Fretval float64 +} /* math.h:181:1 */ // Routine needed to support the testcase() macro. @@ -17920,7 +18654,7 @@ type __long_double_u = struct { func Xsqlite3FaultSim(tls *libc.TLS, iTest int32) int32 { /* sqlite3.c:31735:20: */ var xCallback uintptr = Xsqlite3Config.FxTestCallback if xCallback != 0 { - return (*(*func(*libc.TLS, int32) int32)(unsafe.Pointer(&xCallback)))(tls, iTest) + return (*struct{ f func(*libc.TLS, int32) int32 })(unsafe.Pointer(&struct{ uintptr }{xCallback})).f(tls, iTest) } return SQLITE_OK } @@ -18034,7 +18768,7 @@ func Xsqlite3ErrorWithMsg(tls *libc.TLS, db uintptr, err_code int32, zFormat uin var z uintptr var ap Va_list _ = ap - ap = va + (ap) = va z = Xsqlite3VMPrintf(tls, db, zFormat, ap) _ = ap Xsqlite3ValueSetStr(tls, (*Sqlite3)(unsafe.Pointer(db)).FpErr, -1, z, uint8(SQLITE_UTF8), *(*uintptr)(unsafe.Pointer(&struct{ f func(*libc.TLS, uintptr) }{Xsqlite3OomFault}))) @@ -18061,7 +18795,7 @@ func Xsqlite3ErrorMsg(tls *libc.TLS, pParse uintptr, zFormat uintptr, va uintptr var ap Va_list _ = ap var db uintptr = (*Parse)(unsafe.Pointer(pParse)).Fdb - ap = va + (ap) = va zMsg = Xsqlite3VMPrintf(tls, db, zFormat, ap) _ = ap if (*Sqlite3)(unsafe.Pointer(db)).FsuppressErr != 0 { @@ -18708,7 +19442,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 + 955 /* "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) } @@ -19358,7 +20092,7 @@ func logBadConnection(tls *libc.TLS, zType uintptr) { /* sqlite3.c:33033:13: */ defer tls.Free(8) Xsqlite3_log(tls, SQLITE_MISUSE, - ts+974, /* "API call with %s..." */ + ts+973, /* "API call with %s..." */ libc.VaList(bp, zType)) } @@ -19377,14 +20111,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+917 /* "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+1019 /* "unopened" */) + logBadConnection(tls, ts+1018 /* "unopened" */) } return 0 } else { @@ -19398,7 +20132,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+1028 /* "invalid" */) + logBadConnection(tls, ts+1027 /* "invalid" */) return 0 } else { return 1 @@ -19926,186 +20660,186 @@ func Xsqlite3OpcodeName(tls *libc.TLS, i int32) uintptr { /* sqlite3.c:33672:27: } var azName = [180]uintptr{ - /* 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" */ + /* 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 ******************************************** @@ -20174,15 +20908,6 @@ var azName = [180]uintptr{ // Use pread() and pwrite() if they are available // standard include files. -// DO NOT EDIT THIS FILE. -// -// It has been auto-edited by fixincludes from: -// -// "/usr/include/sys/types.h" -// -// This had to be done to correct non-standard usages in the -// original, manufacturer supplied header file. - // $NetBSD: types.h,v 1.102 2018/11/06 16:26:44 maya Exp $ // - @@ -20316,15 +21041,6 @@ var azName = [180]uintptr{ // _LARGEFILE_SOURCE Large File Support // -// DO NOT EDIT THIS FILE. -// -// It has been auto-edited by fixincludes from: -// -// "/usr/include/sys/types.h" -// -// This had to be done to correct non-standard usages in the -// original, manufacturer supplied header file. - // $NetBSD: types.h,v 1.102 2018/11/06 16:26:44 maya Exp $ // - @@ -20362,34 +21078,78 @@ var azName = [180]uintptr{ // // @(#)types.h 8.4 (Berkeley) 1/21/94 -type stat = struct { - Fst_dev Dev_t - Fst_mode X__mode_t - _ [4]byte - Fst_ino Ino_t - Fst_nlink Nlink_t - Fst_uid X__uid_t - Fst_gid X__gid_t - _ [4]byte - Fst_rdev Dev_t - Fst_atime Time_t - Fst_atimensec int64 - Fst_mtime Time_t - Fst_mtimensec int64 - Fst_ctime Time_t - Fst_ctimensec int64 - Fst_birthtime Time_t - Fst_birthtimensec int64 - Fst_size X__off_t - Fst_blocks Blkcnt_t - Fst_blksize Blksize_t - Fst_flags Uint32_t - Fst_gen Uint32_t - Fst_spare [2]Uint32_t - _ [4]byte -} /* stat.h:59:1 */ +// POSIX:2008 / XPG7 requires struct timespec to be declared in +// this header, but does not provide the usual exemption +// "inclusion of this header may make visible symbols defined in ". +// +// This is a Standard omission, acknowledged by the committee and +// scheduled to be corrected in Technical Corrigendum 2, according to +// http://austingroupbugs.net/view.php?id=531 +// $NetBSD: time.h,v 1.79 2017/01/17 15:28:34 maya Exp $ -// X/Open Extended API set 2 (a.k.a. C063) +// Copyright (c) 1982, 1986, 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. 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. +// +// @(#)time.h 8.5 (Berkeley) 5/4/95 + +type stat = struct { + Fst_dev Dev_t + Fst_mode X__mode_t + F__ccgo_pad1 [4]byte + Fst_ino Ino_t + Fst_nlink Nlink_t + Fst_uid X__uid_t + Fst_gid X__gid_t + F__ccgo_pad2 [4]byte + Fst_rdev Dev_t + Fst_atim struct { + Ftv_sec Time_t + Ftv_nsec int64 + } + Fst_mtim struct { + Ftv_sec Time_t + Ftv_nsec int64 + } + Fst_ctim struct { + Ftv_sec Time_t + Ftv_nsec int64 + } + Fst_birthtim struct { + Ftv_sec Time_t + Ftv_nsec int64 + } + Fst_size X__off_t + Fst_blocks Blkcnt_t + Fst_blksize Blksize_t + Fst_flags Uint32_t + Fst_gen Uint32_t + Fst_spare [2]Uint32_t + F__ccgo_pad3 [4]byte +} /* stat.h:59:1 */ // $NetBSD: fcntl.h,v 1.50 2018/02/20 18:20:05 kamil Exp $ @@ -20491,15 +21251,6 @@ type stat = struct { // _LARGEFILE_SOURCE Large File Support // -// DO NOT EDIT THIS FILE. -// -// It has been auto-edited by fixincludes from: -// -// "/usr/include/sys/types.h" -// -// This had to be done to correct non-standard usages in the -// original, manufacturer supplied header file. - // $NetBSD: types.h,v 1.102 2018/11/06 16:26:44 maya Exp $ // - @@ -20587,6 +21338,7 @@ type stat = struct { // XXX // FREAD and FWRITE are excluded from the #ifdef _KERNEL so that TIOCFLUSH, // which was documented to use FREAD/FWRITE, continues to work. +// path component // defined by POSIX 1003.1; BSD default, but required to be bitwise distinct @@ -20604,6 +21356,11 @@ type stat = struct { // Constants for fcntl's passed to the underlying fs - like ioctl's. +// Define command macros for operations which, if implemented, must be +// the same for all fs's. + +// Define command macros for fs-specific commands. + // Advisory file segment locking data type - // information passed to system by user type flock = struct { @@ -20614,8 +21371,6 @@ type flock = struct { Fl_whence int16 } /* fcntl.h:252:1 */ -// X/Open Extended API set 2 (a.k.a. C063) - // $NetBSD: ioctl.h,v 1.39 2019/03/25 19:24:31 maxv Exp $ // - @@ -20937,15 +21692,6 @@ type ttysize = struct { // POSSIBILITY OF SUCH DAMAGE. // for size_t -// DO NOT EDIT THIS FILE. -// -// It has been auto-edited by fixincludes from: -// -// "/usr/include/sys/types.h" -// -// This had to be done to correct non-standard usages in the -// original, manufacturer supplied header file. - // $NetBSD: types.h,v 1.102 2018/11/06 16:26:44 maya Exp $ // - @@ -21222,13 +21968,13 @@ type ioctl_pt = struct { // Forward references type unixShm = struct { - FpShmNode uintptr - FpNext uintptr - FhasMutex U8 - Fid U8 - FsharedMask U16 - FexclMask U16 - _ [2]byte + FpShmNode uintptr + FpNext uintptr + FhasMutex U8 + Fid U8 + FsharedMask U16 + FexclMask U16 + F__ccgo_pad1 [2]byte } /* sqlite3.c:34057:9 */ // Try to determine if gethostuuid() is available based on standard @@ -21264,20 +22010,20 @@ type unixShm = struct { // Forward references type UnixShm = unixShm /* sqlite3.c:34057:24 */ // Connection shared memory type unixShmNode = struct { - FpInode uintptr - FpShmMutex uintptr - FzFilename uintptr - FhShm int32 - FszRegion int32 - FnRegion U16 - FisReadonly U8 - FisUnlocked U8 - _ [4]byte - FapRegion uintptr - FnRef int32 - _ [4]byte - FpFirst uintptr - FaLock [8]int32 + FpInode uintptr + FpShmMutex uintptr + FzFilename uintptr + FhShm int32 + FszRegion int32 + FnRegion U16 + FisReadonly U8 + FisUnlocked U8 + F__ccgo_pad1 [4]byte + FapRegion uintptr + FnRef int32 + F__ccgo_pad2 [4]byte + FpFirst uintptr + FaLock [8]int32 } /* sqlite3.c:34057:9 */ // Connection shared memory @@ -21292,10 +22038,10 @@ type unixInodeInfo = struct { FnLock int32 FeFileLock uint8 FbProcessLock uint8 - _ [6]byte + F__ccgo_pad1 [6]byte FpUnused uintptr FnRef int32 - _ [4]byte + F__ccgo_pad2 [4]byte FpShmNode uintptr FpNext uintptr FpPrev uintptr @@ -21320,10 +22066,10 @@ type unixFile = struct { FpInode uintptr Fh int32 FeFileLock uint8 - _ [1]byte + F__ccgo_pad1 [1]byte FctrlFlags uint16 FlastErrno int32 - _ [4]byte + F__ccgo_pad2 [4]byte FlockingContext uintptr FpPreallocatedUnused uintptr FzPath uintptr @@ -21332,7 +22078,7 @@ type unixFile = struct { FsectorSize int32 FdeviceCharacteristics int32 FaPadding [32]int8 - _ [4]byte + F__ccgo_pad3 [4]byte } /* sqlite3.c:34078:9 */ // The unixFile structure is subclass of sqlite3_file specific to the unix @@ -21393,67 +22139,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 + 4644 /* "open" */, FpCurrent: 0}, + {FzName: ts + 4643 /* "open" */, FpCurrent: 0}, - {FzName: ts + 4649 /* "close" */, FpCurrent: 0}, + {FzName: ts + 4648 /* "close" */, FpCurrent: 0}, - {FzName: ts + 4655 /* "access" */, FpCurrent: 0}, + {FzName: ts + 4654 /* "access" */, FpCurrent: 0}, - {FzName: ts + 4662 /* "getcwd" */, FpCurrent: 0}, + {FzName: ts + 4661 /* "getcwd" */, FpCurrent: 0}, - {FzName: ts + 4669 /* "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 + 4674 /* "fstat" */, FpCurrent: 0}, + {FzName: ts + 4673 /* "fstat" */, FpCurrent: 0}, - {FzName: ts + 4680 /* "ftruncate" */, FpCurrent: 0}, + {FzName: ts + 4679 /* "ftruncate" */, FpCurrent: 0}, - {FzName: ts + 4690 /* "fcntl" */, FpCurrent: 0}, + {FzName: ts + 4689 /* "fcntl" */, FpCurrent: 0}, - {FzName: ts + 4696 /* "read" */, FpCurrent: 0}, + {FzName: ts + 4695 /* "read" */, FpCurrent: 0}, - {FzName: ts + 4701 /* "pread" */}, + {FzName: ts + 4700 /* "pread" */}, - {FzName: ts + 4707 /* "pread64" */}, + {FzName: ts + 4706 /* "pread64" */}, - {FzName: ts + 4715 /* "write" */, FpCurrent: 0}, + {FzName: ts + 4714 /* "write" */, FpCurrent: 0}, - {FzName: ts + 4721 /* "pwrite" */}, + {FzName: ts + 4720 /* "pwrite" */}, - {FzName: ts + 4728 /* "pwrite64" */}, + {FzName: ts + 4727 /* "pwrite64" */}, - {FzName: ts + 4737 /* "fchmod" */, FpCurrent: 0}, + {FzName: ts + 4736 /* "fchmod" */, FpCurrent: 0}, - {FzName: ts + 4744 /* "fallocate" */}, + {FzName: ts + 4743 /* "fallocate" */}, - {FzName: ts + 4754 /* "unlink" */, FpCurrent: 0}, + {FzName: ts + 4753 /* "unlink" */, FpCurrent: 0}, - {FzName: ts + 4761 /* "openDirectory" */, FpCurrent: 0}, + {FzName: ts + 4760 /* "openDirectory" */, FpCurrent: 0}, - {FzName: ts + 4775 /* "mkdir" */, FpCurrent: 0}, + {FzName: ts + 4774 /* "mkdir" */, FpCurrent: 0}, - {FzName: ts + 4781 /* "rmdir" */, FpCurrent: 0}, + {FzName: ts + 4780 /* "rmdir" */, FpCurrent: 0}, - {FzName: ts + 4787 /* "fchown" */, FpCurrent: 0}, + {FzName: ts + 4786 /* "fchown" */, FpCurrent: 0}, - {FzName: ts + 4794 /* "geteuid" */, FpCurrent: 0}, + {FzName: ts + 4793 /* "geteuid" */, FpCurrent: 0}, - {FzName: ts + 4802 /* "mmap" */, FpCurrent: 0}, + {FzName: ts + 4801 /* "mmap" */, FpCurrent: 0}, - {FzName: ts + 4807 /* "munmap" */, FpCurrent: 0}, + {FzName: ts + 4806 /* "munmap" */, FpCurrent: 0}, - {FzName: ts + 4814 /* "mremap" */}, + {FzName: ts + 4813 /* "mremap" */}, - {FzName: ts + 4821 /* "getpagesize" */, FpCurrent: 0}, + {FzName: ts + 4820 /* "getpagesize" */, FpCurrent: 0}, - {FzName: ts + 4833 /* "readlink" */, FpCurrent: 0}, + {FzName: ts + 4832 /* "readlink" */, FpCurrent: 0}, - {FzName: ts + 4842 /* "lstat" */, FpCurrent: 0}, + {FzName: ts + 4841 /* "lstat" */, FpCurrent: 0}, - {FzName: ts + 4848 /* "ioctl" */}, + {FzName: ts + 4847 /* "ioctl" */}, } /* sqlite3.c:34446:3 */ // End of the overrideable system calls @@ -21587,9 +22333,9 @@ func robust_open(tls *libc.TLS, z uintptr, f int32, m X__mode_t) int32 { /* sqli } (*(*func(*libc.TLS, int32) int32)(unsafe.Pointer((uintptr(unsafe.Pointer(&aSyscall)) + 1*24 + 8 /* &.pCurrent */))))(tls, fd) Xsqlite3_log(tls, SQLITE_WARNING, - ts+4854 /* "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+4897 /* "/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 } } @@ -21648,17 +22394,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 + 4907 /* "NONE" */ + return ts + 4906 /* "NONE" */ case SHARED_LOCK: - return ts + 4912 /* "SHARED" */ + return ts + 4911 /* "SHARED" */ case RESERVED_LOCK: - return ts + 4919 /* "RESERVED" */ + return ts + 4918 /* "RESERVED" */ case PENDING_LOCK: - return ts + 4928 /* "PENDING" */ + return ts + 4927 /* "PENDING" */ case EXCLUSIVE_LOCK: - return ts + 4936 /* "EXCLUSIVE" */ + return ts + 4935 /* "EXCLUSIVE" */ } - return ts + 4946 /* "ERROR" */ + return ts + 4945 /* "ERROR" */ } // Retry ftruncate() calls that fail due to EINTR @@ -21866,13 +22612,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 + 916 /* "" */ + zErr = ts + 915 /* "" */ if zPath == uintptr(0) { - zPath = ts + 916 /* "" */ + zPath = ts + 915 /* "" */ } Xsqlite3_log(tls, errcode, - ts+4952, /* "os_unix.c:%d: (%..." */ + ts+4951, /* "os_unix.c:%d: (%..." */ libc.VaList(bp, iLine, iErrno, zFunc, zPath, zErr)) return errcode @@ -21891,7 +22637,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+4649, /* "close" */ + unixLogErrorAtLine(tls, (SQLITE_IOERR | (int32(16) << 8)), ts+4648, /* "close" */ func() uintptr { if pFile != 0 { return (*UnixFile)(unsafe.Pointer(pFile)).FzPath @@ -22050,19 +22796,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+4983 /* "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 == Nlink_t(0) { - Xsqlite3_log(tls, SQLITE_WARNING, ts+5007 /* "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 > Nlink_t(1) { - Xsqlite3_log(tls, SQLITE_WARNING, ts+5036 /* "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+5063 /* "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 } } @@ -22109,7 +22855,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+5091 /* "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 @@ -22252,7 +22998,7 @@ func unixLock(tls *libc.TLS, id uintptr, eFileLock int32) int32 { /* sqlite3.c:3 if !(Xsqlite3OSTrace != 0) { goto __1 } - Xsqlite3DebugPrintf(tls, ts+5121 /* "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: ; @@ -22265,7 +23011,7 @@ __1: if !(Xsqlite3OSTrace != 0) { goto __3 } - Xsqlite3DebugPrintf(tls, ts+5164 /* "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 @@ -22453,11 +23199,11 @@ end_lock: if !(Xsqlite3OSTrace != 0) { goto __25 } - Xsqlite3DebugPrintf(tls, ts+5204 /* "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 + 5229 /* "ok" */ + return ts + 5228 /* "ok" */ } - return ts + 5232 /* "failed" */ + return ts + 5231 /* "failed" */ }())) __25: ; @@ -22502,7 +23248,7 @@ func posixUnlock(tls *libc.TLS, id uintptr, eFileLock int32, handleNFSUnlock int if !(Xsqlite3OSTrace != 0) { goto __1 } - Xsqlite3DebugPrintf(tls, ts+5239 /* "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: ; @@ -22650,7 +23396,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+5282 /* "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) @@ -22784,7 +23530,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+5296 /* "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 @@ -22866,7 +23612,7 @@ func dotlockUnlock(tls *libc.TLS, id uintptr, eFileLock int32) int32 { /* sqlite var rc int32 if Xsqlite3OSTrace != 0 { - Xsqlite3DebugPrintf(tls, ts+5329 /* "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 @@ -23038,7 +23784,7 @@ func seekAndRead(tls *libc.TLS, id uintptr, offset Sqlite3_int64, pBuf uintptr, } if Xsqlite3OSTrace != 0 { - Xsqlite3DebugPrintf(tls, ts+5368 /* "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) } @@ -23109,7 +23855,7 @@ func seekAndWriteFd(tls *libc.TLS, fd int32, iOff I64, pBuf uintptr, nBuf int32, } if Xsqlite3OSTrace != 0 { - Xsqlite3DebugPrintf(tls, ts+5397 /* "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 { @@ -23266,7 +24012,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+952 /* "%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 { @@ -23280,14 +24026,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+5426 /* "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+4761 /* "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. @@ -23329,7 +24075,7 @@ func unixSync(tls *libc.TLS, id uintptr, flags int32) int32 { /* sqlite3.c:37793 } if Xsqlite3OSTrace != 0 { - Xsqlite3DebugPrintf(tls, ts+5443 /* "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) { @@ -23339,7 +24085,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(tls)))) - return unixLogErrorAtLine(tls, (SQLITE_IOERR | (int32(4) << 8)), ts+5457 /* "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 @@ -23349,7 +24095,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+5468 /* "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 { @@ -23385,7 +24131,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(tls)))) - return unixLogErrorAtLine(tls, (SQLITE_IOERR | (int32(6) << 8)), ts+4680 /* "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 { return SQLITE_OK @@ -23461,7 +24207,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+916 /* "" */, 1) + nWrite = seekAndWrite(tls, pFile, iWrite, ts+915 /* "" */, 1) if nWrite != 1 { return (SQLITE_IOERR | (int32(3) << 8)) } @@ -23535,7 +24281,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+952 /* "%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 } @@ -23795,7 +24541,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+4680 /* "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 { @@ -23901,7 +24647,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+5512 /* "%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 @@ -23923,7 +24669,7 @@ __5: if !(int32((*UnixInodeInfo)(unsafe.Pointer(pInode)).FbProcessLock) == 0) { goto __7 } - if !(0 == Xsqlite3_uri_boolean(tls, (*UnixFile)(unsafe.Pointer(pDbFd)).FzPath, ts+5519 /* "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) | O_NOFOLLOW), @@ -23938,7 +24684,7 @@ __8: if !((*unixShmNode)(unsafe.Pointer(pShmNode)).FhShm < 0) { goto __10 } - rc = unixLogErrorAtLine(tls, Xsqlite3CantopenError(tls, 38716), ts+4644 /* "open" */, zShm, 38716) + rc = unixLogErrorAtLine(tls, Xsqlite3CantopenError(tls, 38716), ts+4643 /* "open" */, zShm, 38716) goto shm_open_err __10: ; @@ -24105,11 +24851,11 @@ __11: goto __13 } *(*int32)(unsafe.Pointer(bp + 152 /* x */)) = 0 - if !(seekAndWriteFd(tls, (*UnixShmNode)(unsafe.Pointer(pShmNode)).FhShm, (int64(((iPg*pgsz)+pgsz)-1)), ts+916 /* "" */, 1, bp+152 /* &x */) != 1) { + if !(seekAndWriteFd(tls, (*UnixShmNode)(unsafe.Pointer(pShmNode)).FhShm, (int64(((iPg*pgsz)+pgsz)-1)), ts+915 /* "" */, 1, bp+152 /* &x */) != 1) { goto __14 } zFile = (*UnixShmNode)(unsafe.Pointer(pShmNode)).FzFilename - rc = unixLogErrorAtLine(tls, (SQLITE_IOERR | (int32(19) << 8)), ts+4715 /* "write" */, zFile, 38860) + rc = unixLogErrorAtLine(tls, (SQLITE_IOERR | (int32(19) << 8)), ts+4714 /* "write" */, zFile, 38860) goto shmpage_out __14: ; @@ -24157,7 +24903,7 @@ __16: if !(pMem == (libc.UintptrFromInt32(-1))) { goto __20 } - rc = unixLogErrorAtLine(tls, (SQLITE_IOERR | (int32(21) << 8)), ts+4802 /* "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: ; @@ -24199,10 +24945,10 @@ shmpage_out: if !(int32((*UnixShmNode)(unsafe.Pointer(pShmNode)).FnRegion) > iRegion) { goto __25 } - *(*uintptr)(unsafe.Pointer(libc.AtomicLoadUintptr(&pp))) = *(*uintptr)(unsafe.Pointer((*UnixShmNode)(unsafe.Pointer(pShmNode)).FapRegion + uintptr(iRegion)*8)) + *(*uintptr)(unsafe.Pointer(pp)) = *(*uintptr)(unsafe.Pointer((*UnixShmNode)(unsafe.Pointer(pShmNode)).FapRegion + uintptr(iRegion)*8)) goto __26 __25: - *(*uintptr)(unsafe.Pointer(libc.AtomicLoadUintptr(&pp))) = uintptr(0) + *(*uintptr)(unsafe.Pointer(pp)) = uintptr(0) __26: ; if !(((*UnixShmNode)(unsafe.Pointer(pShmNode)).FisReadonly != 0) && (rc == SQLITE_OK)) { @@ -24332,7 +25078,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+5532 /* "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 } @@ -24529,7 +25275,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+5573 /* "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 @@ -24541,17 +25287,19 @@ func fillInUnixFile(tls *libc.TLS, pVfs uintptr, h int32, pId uintptr, zFilename } return uintptr(0) }(), - ts+5590 /* "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+5595 /* "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)) } if (ctrlFlags & UNIXFILE_NOLOCK) != 0 { pLockingStyle = uintptr(unsafe.Pointer(&nolockIoMethods)) } else { - pLockingStyle = (**(**func(*libc.TLS, uintptr, uintptr) uintptr)(unsafe.Pointer((pVfs + 32 /* &.pAppData */))))(tls, zFilename, pNew) + pLockingStyle = (*(**struct { + f func(*libc.TLS, uintptr, uintptr) uintptr + })(unsafe.Pointer(&struct{ uintptr }{(*Sqlite3_vfs)(unsafe.Pointer(pVfs)).FpAppData}))).f(tls, zFilename, pNew) } if pLockingStyle == uintptr(unsafe.Pointer(&posixIoMethods)) { @@ -24590,7 +25338,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+5605 /* "%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 } @@ -24620,10 +25368,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+5613 /* "SQLITE_TMPDIR" */) + azDirs[0] = libc.Xgetenv(tls, ts+5612 /* "SQLITE_TMPDIR" */) } if !(int32(azDirs[1]) != 0) { - azDirs[1] = libc.Xgetenv(tls, ts+5627 /* "TMPDIR" */) + azDirs[1] = libc.Xgetenv(tls, ts+5626 /* "TMPDIR" */) } for 1 != 0 { if (((zDir != uintptr(0)) && @@ -24643,10 +25391,10 @@ func unixTempFileDir(tls *libc.TLS) uintptr { /* sqlite3.c:39856:19: */ var azDirs = [6]uintptr{ uintptr(0), uintptr(0), - ts + 5634, /* "/var/tmp" */ - ts + 5643, /* "/usr/tmp" */ - ts + 5652, /* "/tmp" */ - ts + 929, /* "." */ + 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 @@ -24678,7 +25426,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+5657, /* "%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 @@ -24834,7 +25582,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+5674 /* "modeof" */) + var z uintptr = Xsqlite3_uri_parameter(tls, zPath, ts+5673 /* "modeof" */) if z != 0 { rc = getFileMode(tls, z, pMode, pUid, pGid) } @@ -25032,7 +25780,7 @@ __14: if !(Xsqlite3OSTrace != 0) { goto __15 } - Xsqlite3DebugPrintf(tls, ts+5681 /* "OPENX %-3d %s ..." */, libc.VaList(bp, fd, zName, openFlags)) + Xsqlite3DebugPrintf(tls, ts+5680 /* "OPENX %-3d %s ..." */, libc.VaList(bp, fd, zName, openFlags)) __15: ; @@ -25066,7 +25814,7 @@ __16: if !(fd < 0) { goto __20 } - rc2 = unixLogErrorAtLine(tls, Xsqlite3CantopenError(tls, 40257), ts+4644 /* "open" */, zName, 40257) + rc2 = unixLogErrorAtLine(tls, Xsqlite3CantopenError(tls, 40257), ts+4643 /* "open" */, zName, 40257) if !(rc == SQLITE_OK) { goto __21 } @@ -25181,7 +25929,7 @@ func unixDelete(tls *libc.TLS, NotUsed uintptr, zPath uintptr, dirSync int32) in if (*(*int32)(unsafe.Pointer(libc.X__errno(tls)))) == ENOENT { rc = (SQLITE_IOERR | (int32(23) << 8)) } else { - rc = unixLogErrorAtLine(tls, (SQLITE_IOERR | (int32(10) << 8)), ts+4754 /* "unlink" */, zPath, 40396) + rc = unixLogErrorAtLine(tls, (SQLITE_IOERR | (int32(10) << 8)), ts+4753 /* "unlink" */, zPath, 40396) } return rc } @@ -25191,7 +25939,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+5702 /* "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 { @@ -25270,7 +26018,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+4662 /* "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('/') @@ -25281,7 +26029,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+952 /* "%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. @@ -25360,7 +26108,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(tls)))) != ENOENT { - rc = unixLogErrorAtLine(tls, Xsqlite3CantopenError(tls, 40577), ts+4842 /* "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(X_S_IFMT)) == X__mode_t(X_S_IFLNK))) @@ -25380,7 +26128,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+4833 /* "readlink" */, zIn, 40595) + rc = unixLogErrorAtLine(tls, Xsqlite3CantopenError(tls, 40595), ts+4832 /* "readlink" */, zIn, 40595) } else { if int32(*(*int8)(unsafe.Pointer(zDel))) != '/' { var n int32 @@ -25417,6 +26165,329 @@ func unixFullPathname(tls *libc.TLS, pVfs uintptr, zPath uintptr, nOut int32, zO return rc } +// Interfaces for opening a shared library, finding entry points +// within the shared library, and closing the shared library. +// $NetBSD: dlfcn.h,v 1.25 2017/07/11 15:21:35 joerg Exp $ + +// - +// Copyright (c) 1998 The NetBSD Foundation, Inc. +// All rights reserved. +// +// This code is derived from software contributed to The NetBSD Foundation +// by Paul Kranenburg. +// +// 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. +// +// THIS SOFTWARE IS PROVIDED BY THE NETBSD FOUNDATION, INC. 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 FOUNDATION 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. + +// $NetBSD: featuretest.h,v 1.10 2013/04/26 18:29:06 christos Exp $ + +// Written by Klaus Klein , February 2, 1998. +// Public domain. +// +// NOTE: Do not protect this header against multiple inclusion. Doing +// so can have subtle side-effects due to header file inclusion order +// and testing of e.g. _POSIX_SOURCE vs. _POSIX_C_SOURCE. Instead, +// protect each CPP macro that we want to supply. + +// Feature-test macros are defined by several standards, and allow an +// application to specify what symbols they want the system headers to +// expose, and hence what standard they want them to conform to. +// There are two classes of feature-test macros. The first class +// specify complete standards, and if one of these is defined, header +// files will try to conform to the relevant standard. They are: +// +// ANSI macros: +// _ANSI_SOURCE ANSI C89 +// +// POSIX macros: +// _POSIX_SOURCE == 1 IEEE Std 1003.1 (version?) +// _POSIX_C_SOURCE == 1 IEEE Std 1003.1-1990 +// _POSIX_C_SOURCE == 2 IEEE Std 1003.2-1992 +// _POSIX_C_SOURCE == 199309L IEEE Std 1003.1b-1993 +// _POSIX_C_SOURCE == 199506L ISO/IEC 9945-1:1996 +// _POSIX_C_SOURCE == 200112L IEEE Std 1003.1-2001 +// _POSIX_C_SOURCE == 200809L IEEE Std 1003.1-2008 +// +// X/Open macros: +// _XOPEN_SOURCE System Interfaces and Headers, Issue 4, Ver 2 +// _XOPEN_SOURCE_EXTENDED == 1 XSH4.2 UNIX extensions +// _XOPEN_SOURCE == 500 System Interfaces and Headers, Issue 5 +// _XOPEN_SOURCE == 520 Networking Services (XNS), Issue 5.2 +// _XOPEN_SOURCE == 600 IEEE Std 1003.1-2001, XSI option +// _XOPEN_SOURCE == 700 IEEE Std 1003.1-2008, XSI option +// +// NetBSD macros: +// _NETBSD_SOURCE == 1 Make all NetBSD features available. +// +// If more than one of these "major" feature-test macros is defined, +// then the set of facilities provided (and namespace used) is the +// union of that specified by the relevant standards, and in case of +// conflict, the earlier standard in the above list has precedence (so +// if both _POSIX_C_SOURCE and _NETBSD_SOURCE are defined, the version +// of rename() that's used is the POSIX one). If none of the "major" +// feature-test macros is defined, _NETBSD_SOURCE is assumed. +// +// There are also "minor" feature-test macros, which enable extra +// functionality in addition to some base standard. They should be +// defined along with one of the "major" macros. The "minor" macros +// are: +// +// _REENTRANT +// _ISOC99_SOURCE +// _ISOC11_SOURCE +// _LARGEFILE_SOURCE Large File Support +// + +// $NetBSD: cdefs.h,v 1.141 2019/02/21 21:34:05 christos Exp $ + +// * 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. 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 + +// $NetBSD: ansi.h,v 1.11 2019/05/07 03:49:26 kamil Exp $ + +// $NetBSD: common_ansi.h,v 1.1 2014/08/19 07:27:31 matt Exp $ + +// - +// Copyright (c) 2014 The NetBSD Foundation, Inc. +// All rights reserved. +// +// This code is derived from software contributed to The NetBSD Foundation +// by Matt Thomas of 3am Software Foundry. +// +// 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. +// +// THIS SOFTWARE IS PROVIDED BY THE NETBSD FOUNDATION, INC. 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 FOUNDATION 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. + +type _dl_info = struct { + Fdli_fname uintptr + Fdli_fbase uintptr + Fdli_sname uintptr + Fdli_saddr uintptr +} /* dlfcn.h:45:9 */ + +// Interfaces for opening a shared library, finding entry points +// within the shared library, and closing the shared library. +// $NetBSD: dlfcn.h,v 1.25 2017/07/11 15:21:35 joerg Exp $ + +// - +// Copyright (c) 1998 The NetBSD Foundation, Inc. +// All rights reserved. +// +// This code is derived from software contributed to The NetBSD Foundation +// by Paul Kranenburg. +// +// 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. +// +// THIS SOFTWARE IS PROVIDED BY THE NETBSD FOUNDATION, INC. 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 FOUNDATION 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. + +// $NetBSD: featuretest.h,v 1.10 2013/04/26 18:29:06 christos Exp $ + +// Written by Klaus Klein , February 2, 1998. +// Public domain. +// +// NOTE: Do not protect this header against multiple inclusion. Doing +// so can have subtle side-effects due to header file inclusion order +// and testing of e.g. _POSIX_SOURCE vs. _POSIX_C_SOURCE. Instead, +// protect each CPP macro that we want to supply. + +// Feature-test macros are defined by several standards, and allow an +// application to specify what symbols they want the system headers to +// expose, and hence what standard they want them to conform to. +// There are two classes of feature-test macros. The first class +// specify complete standards, and if one of these is defined, header +// files will try to conform to the relevant standard. They are: +// +// ANSI macros: +// _ANSI_SOURCE ANSI C89 +// +// POSIX macros: +// _POSIX_SOURCE == 1 IEEE Std 1003.1 (version?) +// _POSIX_C_SOURCE == 1 IEEE Std 1003.1-1990 +// _POSIX_C_SOURCE == 2 IEEE Std 1003.2-1992 +// _POSIX_C_SOURCE == 199309L IEEE Std 1003.1b-1993 +// _POSIX_C_SOURCE == 199506L ISO/IEC 9945-1:1996 +// _POSIX_C_SOURCE == 200112L IEEE Std 1003.1-2001 +// _POSIX_C_SOURCE == 200809L IEEE Std 1003.1-2008 +// +// X/Open macros: +// _XOPEN_SOURCE System Interfaces and Headers, Issue 4, Ver 2 +// _XOPEN_SOURCE_EXTENDED == 1 XSH4.2 UNIX extensions +// _XOPEN_SOURCE == 500 System Interfaces and Headers, Issue 5 +// _XOPEN_SOURCE == 520 Networking Services (XNS), Issue 5.2 +// _XOPEN_SOURCE == 600 IEEE Std 1003.1-2001, XSI option +// _XOPEN_SOURCE == 700 IEEE Std 1003.1-2008, XSI option +// +// NetBSD macros: +// _NETBSD_SOURCE == 1 Make all NetBSD features available. +// +// If more than one of these "major" feature-test macros is defined, +// then the set of facilities provided (and namespace used) is the +// union of that specified by the relevant standards, and in case of +// conflict, the earlier standard in the above list has precedence (so +// if both _POSIX_C_SOURCE and _NETBSD_SOURCE are defined, the version +// of rename() that's used is the POSIX one). If none of the "major" +// feature-test macros is defined, _NETBSD_SOURCE is assumed. +// +// There are also "minor" feature-test macros, which enable extra +// functionality in addition to some base standard. They should be +// defined along with one of the "major" macros. The "minor" macros +// are: +// +// _REENTRANT +// _ISOC99_SOURCE +// _ISOC11_SOURCE +// _LARGEFILE_SOURCE Large File Support +// + +// $NetBSD: cdefs.h,v 1.141 2019/02/21 21:34:05 christos Exp $ + +// * 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. 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 + +// $NetBSD: ansi.h,v 1.11 2019/05/07 03:49:26 kamil Exp $ + +// $NetBSD: common_ansi.h,v 1.1 2014/08/19 07:27:31 matt Exp $ + +// - +// Copyright (c) 2014 The NetBSD Foundation, Inc. +// All rights reserved. +// +// This code is derived from software contributed to The NetBSD Foundation +// by Matt Thomas of 3am Software Foundry. +// +// 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. +// +// THIS SOFTWARE IS PROVIDED BY THE NETBSD FOUNDATION, INC. 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 FOUNDATION 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. + +type Dl_info = _dl_info /* dlfcn.h:50:3 */ + // Values for dlopen `mode'. /* @@ -25448,7 +26519,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+952 /* "%s" */, libc.VaList(bp, zErr)) + Xsqlite3_snprintf(tls, nBuf, zBufOut, ts+951 /* "%s" */, libc.VaList(bp, zErr)) } unixLeaveMutex(tls) } @@ -25474,7 +26545,9 @@ func unixDlSym(tls *libc.TLS, NotUsed uintptr, p uintptr, zSym uintptr) uintptr x = *(*uintptr)(unsafe.Pointer(&struct { f func(*libc.TLS, uintptr, uintptr) uintptr }{libc.Xdlsym})) - return (*(*func(*libc.TLS, uintptr, uintptr) uintptr)(unsafe.Pointer(&x)))(tls, p, zSym) + return (*struct { + f func(*libc.TLS, uintptr, uintptr) uintptr + })(unsafe.Pointer(&struct{ uintptr }{x})).f(tls, p, zSym) } func unixDlClose(tls *libc.TLS, NotUsed uintptr, pHandle uintptr) { /* sqlite3.c:40681:13: */ @@ -25785,10 +26858,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 + 5708 /* "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 + 5713 /* "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 + 5723 /* "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 + 5595 /* "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. @@ -25840,26 +26913,26 @@ func Xsqlite3_os_end(tls *libc.TLS) int32 { /* sqlite3.c:42157:16: */ // Forward declaration of objects used by this utility type MemVfs = sqlite3_vfs /* sqlite3.c:48545:28 */ type MemFile1 = struct { - Fbase Sqlite3_file - FpStore uintptr - FeLock int32 - _ [4]byte + Fbase Sqlite3_file + FpStore uintptr + FeLock int32 + F__ccgo_pad1 [4]byte } /* sqlite3.c:48546:9 */ type MemFile = MemFile1 /* sqlite3.c:48546:24 */ type MemStore1 = struct { - Fsz Sqlite3_int64 - FszAlloc Sqlite3_int64 - FszMax Sqlite3_int64 - FaData uintptr - FpMutex uintptr - FnMmap int32 - FmFlags uint32 - FnRdLock int32 - FnWrLock int32 - FnRef int32 - _ [4]byte - FzFName uintptr + Fsz Sqlite3_int64 + FszAlloc Sqlite3_int64 + FszMax Sqlite3_int64 + FaData uintptr + FpMutex uintptr + FnMmap int32 + FmFlags uint32 + FnRdLock int32 + FnWrLock int32 + FnRef int32 + F__ccgo_pad1 [4]byte + FzFName uintptr } /* sqlite3.c:48546:9 */ type MemStore = MemStore1 /* sqlite3.c:48547:25 */ @@ -25869,9 +26942,9 @@ type MemStore = MemStore1 /* sqlite3.c:48547:25 */ // // Must hold SQLITE_MUTEX_STATIC_VFS1 to access any part of this object. type MemFS = struct { - FnMemStore int32 - _ [4]byte - FapMemStore uintptr + FnMemStore int32 + F__ccgo_pad1 [4]byte + FapMemStore uintptr } /* sqlite3.c:48617:8 */ // File-scope variables for holding the memdb files that are accessible @@ -25883,7 +26956,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 + 5736, /* "memdb" */ // pAppData (set when registered) + FzName: ts + 5735, /* "memdb" */ // pAppData (set when registered) FxOpen: 0, /* memdbDelete, */ // xDelete FxAccess: 0, // xAccess FxFullPathname: 0, // xFullPathname @@ -26115,7 +27188,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+5742 /* "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 { @@ -26172,7 +27245,9 @@ func memdbOpen(tls *libc.TLS, pVfs uintptr, zName uintptr, pFd uintptr, flags in var p uintptr = uintptr(0) var szName int32 if (flags & SQLITE_OPEN_MAIN_DB) == 0 { - return (*(*func(*libc.TLS, uintptr, uintptr, uintptr, int32, uintptr) int32)(unsafe.Pointer(((*Sqlite3_vfs)(unsafe.Pointer(pVfs)).FpAppData + 40 /* &.xOpen */))))(tls, (*Sqlite3_vfs)(unsafe.Pointer(pVfs)).FpAppData, zName, pFd, flags, pOutFlags) + return (*struct { + f func(*libc.TLS, uintptr, uintptr, uintptr, int32, uintptr) int32 + })(unsafe.Pointer(&struct{ uintptr }{(*Sqlite3_vfs)(unsafe.Pointer(((*Sqlite3_vfs)(unsafe.Pointer(pVfs)).FpAppData))).FxOpen})).f(tls, (*Sqlite3_vfs)(unsafe.Pointer(pVfs)).FpAppData, zName, pFd, flags, pOutFlags) } libc.Xmemset(tls, pFile, 0, uint64(unsafe.Sizeof(MemStore{}))) szName = Xsqlite3Strlen30(tls, zName) @@ -26258,50 +27333,66 @@ func memdbFullPathname(tls *libc.TLS, pVfs uintptr, zPath uintptr, nOut int32, z defer tls.Free(8) _ = pVfs - Xsqlite3_snprintf(tls, nOut, zOut, ts+952 /* "%s" */, libc.VaList(bp, zPath)) + Xsqlite3_snprintf(tls, nOut, zOut, ts+951 /* "%s" */, libc.VaList(bp, zPath)) return SQLITE_OK } // Open the dynamic library located at zPath and return a handle. func memdbDlOpen(tls *libc.TLS, pVfs uintptr, zPath uintptr) uintptr { /* sqlite3.c:49147:13: */ - return (*(*func(*libc.TLS, uintptr, uintptr) uintptr)(unsafe.Pointer(((*Sqlite3_vfs)(unsafe.Pointer(pVfs)).FpAppData + 72 /* &.xDlOpen */))))(tls, (*Sqlite3_vfs)(unsafe.Pointer(pVfs)).FpAppData, zPath) + return (*struct { + f func(*libc.TLS, uintptr, uintptr) uintptr + })(unsafe.Pointer(&struct{ uintptr }{(*Sqlite3_vfs)(unsafe.Pointer(((*Sqlite3_vfs)(unsafe.Pointer(pVfs)).FpAppData))).FxDlOpen})).f(tls, (*Sqlite3_vfs)(unsafe.Pointer(pVfs)).FpAppData, zPath) } // Populate the buffer zErrMsg (size nByte bytes) with a human readable // utf-8 string describing the most recent error encountered associated // with dynamic libraries. func memdbDlError(tls *libc.TLS, pVfs uintptr, nByte int32, zErrMsg uintptr) { /* sqlite3.c:49156:13: */ - (*(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(((*Sqlite3_vfs)(unsafe.Pointer(pVfs)).FpAppData + 80 /* &.xDlError */))))(tls, (*Sqlite3_vfs)(unsafe.Pointer(pVfs)).FpAppData, nByte, zErrMsg) + (*struct { + f func(*libc.TLS, uintptr, int32, uintptr) + })(unsafe.Pointer(&struct{ uintptr }{(*Sqlite3_vfs)(unsafe.Pointer(((*Sqlite3_vfs)(unsafe.Pointer(pVfs)).FpAppData))).FxDlError})).f(tls, (*Sqlite3_vfs)(unsafe.Pointer(pVfs)).FpAppData, nByte, zErrMsg) } // Return a pointer to the symbol zSymbol in the dynamic library pHandle. func memdbDlSym(tls *libc.TLS, pVfs uintptr, p uintptr, zSym uintptr) uintptr { /* sqlite3.c:49163:13: */ - return (*(*func(*libc.TLS, uintptr, uintptr, uintptr) uintptr)(unsafe.Pointer(((*Sqlite3_vfs)(unsafe.Pointer(pVfs)).FpAppData + 88 /* &.xDlSym */))))(tls, (*Sqlite3_vfs)(unsafe.Pointer(pVfs)).FpAppData, p, zSym) + return (*struct { + f func(*libc.TLS, uintptr, uintptr, uintptr) uintptr + })(unsafe.Pointer(&struct{ uintptr }{(*Sqlite3_vfs)(unsafe.Pointer(((*Sqlite3_vfs)(unsafe.Pointer(pVfs)).FpAppData))).FxDlSym})).f(tls, (*Sqlite3_vfs)(unsafe.Pointer(pVfs)).FpAppData, p, zSym) } // Close the dynamic library handle pHandle. func memdbDlClose(tls *libc.TLS, pVfs uintptr, pHandle uintptr) { /* sqlite3.c:49170:13: */ - (*(*func(*libc.TLS, uintptr, uintptr))(unsafe.Pointer(((*Sqlite3_vfs)(unsafe.Pointer(pVfs)).FpAppData + 96 /* &.xDlClose */))))(tls, (*Sqlite3_vfs)(unsafe.Pointer(pVfs)).FpAppData, pHandle) + (*struct { + f func(*libc.TLS, uintptr, uintptr) + })(unsafe.Pointer(&struct{ uintptr }{(*Sqlite3_vfs)(unsafe.Pointer(((*Sqlite3_vfs)(unsafe.Pointer(pVfs)).FpAppData))).FxDlClose})).f(tls, (*Sqlite3_vfs)(unsafe.Pointer(pVfs)).FpAppData, pHandle) } // Populate the buffer pointed to by zBufOut with nByte bytes of // random data. func memdbRandomness(tls *libc.TLS, pVfs uintptr, nByte int32, zBufOut uintptr) int32 { /* sqlite3.c:49178:12: */ - return (*(*func(*libc.TLS, uintptr, int32, uintptr) int32)(unsafe.Pointer(((*Sqlite3_vfs)(unsafe.Pointer(pVfs)).FpAppData + 104 /* &.xRandomness */))))(tls, (*Sqlite3_vfs)(unsafe.Pointer(pVfs)).FpAppData, nByte, zBufOut) + return (*struct { + f func(*libc.TLS, uintptr, int32, uintptr) int32 + })(unsafe.Pointer(&struct{ uintptr }{(*Sqlite3_vfs)(unsafe.Pointer(((*Sqlite3_vfs)(unsafe.Pointer(pVfs)).FpAppData))).FxRandomness})).f(tls, (*Sqlite3_vfs)(unsafe.Pointer(pVfs)).FpAppData, nByte, zBufOut) } // Sleep for nMicro microseconds. Return the number of microseconds // actually slept. func memdbSleep(tls *libc.TLS, pVfs uintptr, nMicro int32) int32 { /* sqlite3.c:49186:12: */ - return (*(*func(*libc.TLS, uintptr, int32) int32)(unsafe.Pointer(((*Sqlite3_vfs)(unsafe.Pointer(pVfs)).FpAppData + 112 /* &.xSleep */))))(tls, (*Sqlite3_vfs)(unsafe.Pointer(pVfs)).FpAppData, nMicro) + return (*struct { + f func(*libc.TLS, uintptr, int32) int32 + })(unsafe.Pointer(&struct{ uintptr }{(*Sqlite3_vfs)(unsafe.Pointer(((*Sqlite3_vfs)(unsafe.Pointer(pVfs)).FpAppData))).FxSleep})).f(tls, (*Sqlite3_vfs)(unsafe.Pointer(pVfs)).FpAppData, nMicro) } func memdbGetLastError(tls *libc.TLS, pVfs uintptr, a int32, b uintptr) int32 { /* sqlite3.c:49199:12: */ - return (*(*func(*libc.TLS, uintptr, int32, uintptr) int32)(unsafe.Pointer(((*Sqlite3_vfs)(unsafe.Pointer(pVfs)).FpAppData + 128 /* &.xGetLastError */))))(tls, (*Sqlite3_vfs)(unsafe.Pointer(pVfs)).FpAppData, a, b) + return (*struct { + f func(*libc.TLS, uintptr, int32, uintptr) int32 + })(unsafe.Pointer(&struct{ uintptr }{(*Sqlite3_vfs)(unsafe.Pointer(((*Sqlite3_vfs)(unsafe.Pointer(pVfs)).FpAppData))).FxGetLastError})).f(tls, (*Sqlite3_vfs)(unsafe.Pointer(pVfs)).FpAppData, a, b) } func memdbCurrentTimeInt64(tls *libc.TLS, pVfs uintptr, p uintptr) int32 { /* sqlite3.c:49202:12: */ - return (*(*func(*libc.TLS, uintptr, uintptr) int32)(unsafe.Pointer(((*Sqlite3_vfs)(unsafe.Pointer(pVfs)).FpAppData + 136 /* &.xCurrentTimeInt64 */))))(tls, (*Sqlite3_vfs)(unsafe.Pointer(pVfs)).FpAppData, p) + return (*struct { + f func(*libc.TLS, uintptr, uintptr) int32 + })(unsafe.Pointer(&struct{ uintptr }{(*Sqlite3_vfs)(unsafe.Pointer(((*Sqlite3_vfs)(unsafe.Pointer(pVfs)).FpAppData))).FxCurrentTimeInt64})).f(tls, (*Sqlite3_vfs)(unsafe.Pointer(pVfs)).FpAppData, p) } // Translate a database connection pointer and schema name into a @@ -26375,7 +27466,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+5757 /* "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 { @@ -26448,7 +27539,7 @@ __1: goto end_deserialize __2: ; - zSql = Xsqlite3_mprintf(tls, ts+5780 /* "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 } @@ -27048,7 +28139,9 @@ func pcacheManageDirtyList(tls *libc.TLS, pPage uintptr, addRemove U8) { /* sqli func pcacheUnpin(tls *libc.TLS, p uintptr) { /* sqlite3.c:50041:13: */ if (*PCache)(unsafe.Pointer((*PgHdr)(unsafe.Pointer(p)).FpCache)).FbPurgeable != 0 { - (*(*func(*libc.TLS, uintptr, uintptr, int32))(unsafe.Pointer((uintptr(unsafe.Pointer(&Xsqlite3Config)) + 168 /* &.pcache2 */ + 64 /* &.xUnpin */))))(tls, (*PCache)(unsafe.Pointer((*PgHdr)(unsafe.Pointer(p)).FpCache)).FpCache, (*PgHdr)(unsafe.Pointer(p)).FpPage, 0) + (*struct { + f func(*libc.TLS, uintptr, uintptr, int32) + })(unsafe.Pointer(&struct{ uintptr }{Xsqlite3Config.Fpcache2.FxUnpin})).f(tls, (*PCache)(unsafe.Pointer((*PgHdr)(unsafe.Pointer(p)).FpCache)).FpCache, (*PgHdr)(unsafe.Pointer(p)).FpPage, 0) } } @@ -27083,13 +28176,15 @@ func Xsqlite3PcacheInitialize(tls *libc.TLS) int32 { /* sqlite3.c:50072:20: */ Xsqlite3PCacheSetDefault(tls) } - return (*(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer((uintptr(unsafe.Pointer(&Xsqlite3Config)) + 168 /* &.pcache2 */ + 16 /* &.xInit */))))(tls, Xsqlite3Config.Fpcache2.FpArg) + return (*struct { + f func(*libc.TLS, uintptr) int32 + })(unsafe.Pointer(&struct{ uintptr }{Xsqlite3Config.Fpcache2.FxInit})).f(tls, Xsqlite3Config.Fpcache2.FpArg) } func Xsqlite3PcacheShutdown(tls *libc.TLS) { /* sqlite3.c:50082:21: */ if Xsqlite3Config.Fpcache2.FxShutdown != 0 { // IMPLEMENTATION-OF: R-26000-56589 The xShutdown() method may be NULL. - (*(*func(*libc.TLS, uintptr))(unsafe.Pointer((uintptr(unsafe.Pointer(&Xsqlite3Config)) + 168 /* &.pcache2 */ + 24 /* &.xShutdown */))))(tls, Xsqlite3Config.Fpcache2.FpArg) + (*struct{ f func(*libc.TLS, uintptr) })(unsafe.Pointer(&struct{ uintptr }{Xsqlite3Config.Fpcache2.FxShutdown})).f(tls, Xsqlite3Config.Fpcache2.FpArg) } } @@ -27129,15 +28224,19 @@ func Xsqlite3PcacheSetPageSize(tls *libc.TLS, pCache uintptr, szPage int32) int3 if (*PCache)(unsafe.Pointer(pCache)).FszPage != 0 { var pNew uintptr - pNew = (*(*func(*libc.TLS, int32, int32, int32) uintptr)(unsafe.Pointer((uintptr(unsafe.Pointer(&Xsqlite3Config)) + 168 /* &.pcache2 */ + 32 /* &.xCreate */))))(tls, + pNew = (*struct { + f func(*libc.TLS, int32, int32, int32) uintptr + })(unsafe.Pointer(&struct{ uintptr }{Xsqlite3Config.Fpcache2.FxCreate})).f(tls, szPage, (int32(uint64((*PCache)(unsafe.Pointer(pCache)).FszExtra) + (((uint64(unsafe.Sizeof(PgHdr{}))) + uint64(7)) & libc.Uint64FromInt32(libc.CplInt32(7))))), int32((*PCache)(unsafe.Pointer(pCache)).FbPurgeable)) if pNew == uintptr(0) { return SQLITE_NOMEM } - (*(*func(*libc.TLS, uintptr, int32))(unsafe.Pointer((uintptr(unsafe.Pointer(&Xsqlite3Config)) + 168 /* &.pcache2 */ + 40 /* &.xCachesize */))))(tls, pNew, numberOfCachePages(tls, pCache)) + (*struct { + f func(*libc.TLS, uintptr, int32) + })(unsafe.Pointer(&struct{ uintptr }{Xsqlite3Config.Fpcache2.FxCachesize})).f(tls, pNew, numberOfCachePages(tls, pCache)) if (*PCache)(unsafe.Pointer(pCache)).FpCache != 0 { - (*(*func(*libc.TLS, uintptr))(unsafe.Pointer((uintptr(unsafe.Pointer(&Xsqlite3Config)) + 168 /* &.pcache2 */ + 88 /* &.xDestroy */))))(tls, (*PCache)(unsafe.Pointer(pCache)).FpCache) + (*struct{ f func(*libc.TLS, uintptr) })(unsafe.Pointer(&struct{ uintptr }{Xsqlite3Config.Fpcache2.FxDestroy})).f(tls, (*PCache)(unsafe.Pointer(pCache)).FpCache) } (*PCache)(unsafe.Pointer(pCache)).FpCache = pNew (*PCache)(unsafe.Pointer(pCache)).FszPage = szPage @@ -27180,7 +28279,9 @@ func Xsqlite3PcacheFetch(tls *libc.TLS, pCache uintptr, pgno Pgno, createFlag in // (createFlag==1 AND !(bPurgeable AND pDirty) eCreate = (createFlag & int32((*PCache)(unsafe.Pointer(pCache)).FeCreate)) - pRes = (*(*func(*libc.TLS, uintptr, uint32, int32) uintptr)(unsafe.Pointer((uintptr(unsafe.Pointer(&Xsqlite3Config)) + 168 /* &.pcache2 */ + 56 /* &.xFetch */))))(tls, (*PCache)(unsafe.Pointer(pCache)).FpCache, pgno, eCreate) + pRes = (*struct { + f func(*libc.TLS, uintptr, uint32, int32) uintptr + })(unsafe.Pointer(&struct{ uintptr }{Xsqlite3Config.Fpcache2.FxFetch})).f(tls, (*PCache)(unsafe.Pointer(pCache)).FpCache, pgno, eCreate) return pRes } @@ -27220,14 +28321,18 @@ func Xsqlite3PcacheFetchStress(tls *libc.TLS, pCache uintptr, pgno Pgno, ppPage if pPg != 0 { var rc int32 - rc = (*(*func(*libc.TLS, uintptr, uintptr) int32)(unsafe.Pointer((pCache + 48 /* &.xStress */))))(tls, (*PCache)(unsafe.Pointer(pCache)).FpStress, pPg) + rc = (*struct { + f func(*libc.TLS, uintptr, uintptr) int32 + })(unsafe.Pointer(&struct{ uintptr }{(*PCache)(unsafe.Pointer(pCache)).FxStress})).f(tls, (*PCache)(unsafe.Pointer(pCache)).FpStress, pPg) if (rc != SQLITE_OK) && (rc != SQLITE_BUSY) { return rc } } } - *(*uintptr)(unsafe.Pointer(ppPage)) = (*(*func(*libc.TLS, uintptr, uint32, int32) uintptr)(unsafe.Pointer((uintptr(unsafe.Pointer(&Xsqlite3Config)) + 168 /* &.pcache2 */ + 56 /* &.xFetch */))))(tls, (*PCache)(unsafe.Pointer(pCache)).FpCache, pgno, 2) + *(*uintptr)(unsafe.Pointer(ppPage)) = (*struct { + f func(*libc.TLS, uintptr, uint32, int32) uintptr + })(unsafe.Pointer(&struct{ uintptr }{Xsqlite3Config.Fpcache2.FxFetch})).f(tls, (*PCache)(unsafe.Pointer(pCache)).FpCache, pgno, 2) if *(*uintptr)(unsafe.Pointer(ppPage)) == uintptr(0) { return SQLITE_NOMEM } @@ -27305,7 +28410,9 @@ func Xsqlite3PcacheDrop(tls *libc.TLS, p uintptr) { /* sqlite3.c:50349:21: */ pcacheManageDirtyList(tls, p, uint8(PCACHE_DIRTYLIST_REMOVE)) } (*PCache)(unsafe.Pointer((*PgHdr)(unsafe.Pointer(p)).FpCache)).FnRefSum-- - (*(*func(*libc.TLS, uintptr, uintptr, int32))(unsafe.Pointer((uintptr(unsafe.Pointer(&Xsqlite3Config)) + 168 /* &.pcache2 */ + 64 /* &.xUnpin */))))(tls, (*PCache)(unsafe.Pointer((*PgHdr)(unsafe.Pointer(p)).FpCache)).FpCache, (*PgHdr)(unsafe.Pointer(p)).FpPage, 1) + (*struct { + f func(*libc.TLS, uintptr, uintptr, int32) + })(unsafe.Pointer(&struct{ uintptr }{Xsqlite3Config.Fpcache2.FxUnpin})).f(tls, (*PCache)(unsafe.Pointer((*PgHdr)(unsafe.Pointer(p)).FpCache)).FpCache, (*PgHdr)(unsafe.Pointer(p)).FpPage, 1) } // Make sure the page is marked as dirty. If it isn't dirty already, @@ -27368,7 +28475,9 @@ func Xsqlite3PcacheClearSyncFlags(tls *libc.TLS, pCache uintptr) { /* sqlite3.c: func Xsqlite3PcacheMove(tls *libc.TLS, p uintptr, newPgno Pgno) { /* sqlite3.c:50433:21: */ var pCache uintptr = (*PgHdr)(unsafe.Pointer(p)).FpCache - (*(*func(*libc.TLS, uintptr, uintptr, uint32, uint32))(unsafe.Pointer((uintptr(unsafe.Pointer(&Xsqlite3Config)) + 168 /* &.pcache2 */ + 72 /* &.xRekey */))))(tls, (*PCache)(unsafe.Pointer(pCache)).FpCache, (*PgHdr)(unsafe.Pointer(p)).FpPage, (*PgHdr)(unsafe.Pointer(p)).Fpgno, newPgno) + (*struct { + f func(*libc.TLS, uintptr, uintptr, uint32, uint32) + })(unsafe.Pointer(&struct{ uintptr }{Xsqlite3Config.Fpcache2.FxRekey})).f(tls, (*PCache)(unsafe.Pointer(pCache)).FpCache, (*PgHdr)(unsafe.Pointer(p)).FpPage, (*PgHdr)(unsafe.Pointer(p)).Fpgno, newPgno) (*PgHdr)(unsafe.Pointer(p)).Fpgno = newPgno if ((int32((*PgHdr)(unsafe.Pointer(p)).Fflags) & PGHDR_DIRTY) != 0) && ((int32((*PgHdr)(unsafe.Pointer(p)).Fflags) & PGHDR_NEED_SYNC) != 0) { pcacheManageDirtyList(tls, p, uint8(PCACHE_DIRTYLIST_FRONT)) @@ -27400,21 +28509,25 @@ func Xsqlite3PcacheTruncate(tls *libc.TLS, pCache uintptr, pgno Pgno) { /* sqlit } if (pgno == Pgno(0)) && ((*PCache)(unsafe.Pointer(pCache)).FnRefSum != 0) { var pPage1 uintptr - pPage1 = (*(*func(*libc.TLS, uintptr, uint32, int32) uintptr)(unsafe.Pointer((uintptr(unsafe.Pointer(&Xsqlite3Config)) + 168 /* &.pcache2 */ + 56 /* &.xFetch */))))(tls, (*PCache)(unsafe.Pointer(pCache)).FpCache, uint32(1), 0) + pPage1 = (*struct { + f func(*libc.TLS, uintptr, uint32, int32) uintptr + })(unsafe.Pointer(&struct{ uintptr }{Xsqlite3Config.Fpcache2.FxFetch})).f(tls, (*PCache)(unsafe.Pointer(pCache)).FpCache, uint32(1), 0) if pPage1 != 0 { // Page 1 is always available in cache, because // pCache->nRefSum>0 libc.Xmemset(tls, (*Sqlite3_pcache_page)(unsafe.Pointer(pPage1)).FpBuf, 0, uint64((*PCache)(unsafe.Pointer(pCache)).FszPage)) pgno = Pgno(1) } } - (*(*func(*libc.TLS, uintptr, uint32))(unsafe.Pointer((uintptr(unsafe.Pointer(&Xsqlite3Config)) + 168 /* &.pcache2 */ + 80 /* &.xTruncate */))))(tls, (*PCache)(unsafe.Pointer(pCache)).FpCache, (pgno + Pgno(1))) + (*struct { + f func(*libc.TLS, uintptr, uint32) + })(unsafe.Pointer(&struct{ uintptr }{Xsqlite3Config.Fpcache2.FxTruncate})).f(tls, (*PCache)(unsafe.Pointer(pCache)).FpCache, (pgno + Pgno(1))) } } // Close a cache. func Xsqlite3PcacheClose(tls *libc.TLS, pCache uintptr) { /* sqlite3.c:50488:21: */ - (*(*func(*libc.TLS, uintptr))(unsafe.Pointer((uintptr(unsafe.Pointer(&Xsqlite3Config)) + 168 /* &.pcache2 */ + 88 /* &.xDestroy */))))(tls, (*PCache)(unsafe.Pointer(pCache)).FpCache) + (*struct{ f func(*libc.TLS, uintptr) })(unsafe.Pointer(&struct{ uintptr }{Xsqlite3Config.Fpcache2.FxDestroy})).f(tls, (*PCache)(unsafe.Pointer(pCache)).FpCache) } // Discard the contents of the cache. @@ -27530,7 +28643,9 @@ func Xsqlite3PcachePageRefcount(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:5 // Return the total number of pages in the cache. func Xsqlite3PcachePagecount(tls *libc.TLS, pCache uintptr) int32 { /* sqlite3.c:50605:20: */ - return (*(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer((uintptr(unsafe.Pointer(&Xsqlite3Config)) + 168 /* &.pcache2 */ + 48 /* &.xPagecount */))))(tls, (*PCache)(unsafe.Pointer(pCache)).FpCache) + return (*struct { + f func(*libc.TLS, uintptr) int32 + })(unsafe.Pointer(&struct{ uintptr }{Xsqlite3Config.Fpcache2.FxPagecount})).f(tls, (*PCache)(unsafe.Pointer(pCache)).FpCache) } // Get the suggested cache-size value. @@ -27542,7 +28657,9 @@ func Xsqlite3PcacheGetCachesize(tls *libc.TLS, pCache uintptr) int32 { /* sqlite func Xsqlite3PcacheSetCachesize(tls *libc.TLS, pCache uintptr, mxPage int32) { /* sqlite3.c:50622:21: */ (*PCache)(unsafe.Pointer(pCache)).FszCache = mxPage - (*(*func(*libc.TLS, uintptr, int32))(unsafe.Pointer((uintptr(unsafe.Pointer(&Xsqlite3Config)) + 168 /* &.pcache2 */ + 40 /* &.xCachesize */))))(tls, (*PCache)(unsafe.Pointer(pCache)).FpCache, + (*struct { + f func(*libc.TLS, uintptr, int32) + })(unsafe.Pointer(&struct{ uintptr }{Xsqlite3Config.Fpcache2.FxCachesize})).f(tls, (*PCache)(unsafe.Pointer(pCache)).FpCache, numberOfCachePages(tls, pCache)) } @@ -27568,7 +28685,7 @@ func Xsqlite3PcacheSetSpillsize(tls *libc.TLS, p uintptr, mxPage int32) int32 { // Free up as much memory as possible from the page cache. func Xsqlite3PcacheShrink(tls *libc.TLS, pCache uintptr) { /* sqlite3.c:50651:21: */ - (*(*func(*libc.TLS, uintptr))(unsafe.Pointer((uintptr(unsafe.Pointer(&Xsqlite3Config)) + 168 /* &.pcache2 */ + 96 /* &.xShrink */))))(tls, (*PCache)(unsafe.Pointer(pCache)).FpCache) + (*struct{ f func(*libc.TLS, uintptr) })(unsafe.Pointer(&struct{ uintptr }{Xsqlite3Config.Fpcache2.FxShrink})).f(tls, (*PCache)(unsafe.Pointer(pCache)).FpCache) } // Return the size of the header added by this middleware layer @@ -29235,7 +30352,7 @@ type Wal1 = struct { FpDbFd uintptr FpWalFd uintptr FiCallback U32 - _ [4]byte + F__ccgo_pad1 [4]byte FmxWalSize I64 FnWiData int32 FszFirstBlock int32 @@ -29251,13 +30368,13 @@ type Wal1 = struct { FsyncHeader U8 FpadToSectorBoundary U8 FbShmUnreliable U8 - _ [1]byte + F__ccgo_pad2 [1]byte Fhdr WalIndexHdr FminFrame U32 FiReCksum U32 FzWalName uintptr FnCkpt U32 - _ [4]byte + F__ccgo_pad3 [4]byte FpSnapshot uintptr } /* sqlite3.c:1331:9 */ @@ -29693,7 +30810,7 @@ type PagerSavepoint1 = struct { FiSubRec Pgno FbTruncateOnRelease int32 FaWalData [4]U32 - _ [4]byte + F__ccgo_pad1 [4]byte } /* sqlite3.c:1331:9 */ //************* End of wal.h ************************************************ @@ -31324,7 +32441,7 @@ func pager_playback_one_page(tls *libc.TLS, pPager uintptr, pOffset uintptr, pDo var pData uintptr pData = (*PgHdr)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp + 8 /* pPg */)))).FpData libc.Xmemcpy(tls, pData, aData, uint64((*Pager)(unsafe.Pointer(pPager)).FpageSize)) - (*(*func(*libc.TLS, uintptr))(unsafe.Pointer((pPager + 264 /* &.xReiniter */))))(tls, *(*uintptr)(unsafe.Pointer(bp + 8 /* pPg */))) + (*struct{ f func(*libc.TLS, uintptr) })(unsafe.Pointer(&struct{ uintptr }{(*Pager)(unsafe.Pointer(pPager)).FxReiniter})).f(tls, *(*uintptr)(unsafe.Pointer(bp + 8 /* pPg */))) // It used to be that sqlite3PcacheMakeClean(pPg) was called here. But // that call was dangerous and had no detectable benefit since the cache // is normally cleaned by sqlite3PcacheCleanAll() after rollback and so @@ -31945,7 +33062,7 @@ __26: if !((isHot != 0) && (nPlayback != 0)) { goto __27 } - Xsqlite3_log(tls, (SQLITE_NOTICE | (int32(2) << 8)), ts+5795, /* "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: ; @@ -32059,7 +33176,7 @@ func pagerUndoCallback(tls *libc.TLS, pCtx uintptr, iPg Pgno) int32 { /* sqlite3 } else { rc = readDbPage(tls, pPg) if rc == SQLITE_OK { - (*(*func(*libc.TLS, uintptr))(unsafe.Pointer((pPager + 264 /* &.xReiniter */))))(tls, pPg) + (*struct{ f func(*libc.TLS, uintptr) })(unsafe.Pointer(&struct{ uintptr }{(*Pager)(unsafe.Pointer(pPager)).FxReiniter})).f(tls, pPg) } Xsqlite3PagerUnrefNotNull(tls, pPg) } @@ -32786,7 +33903,9 @@ func pager_wait_on_lock(tls *libc.TLS, pPager uintptr, locktype int32) int32 { / // may be invoked during, according to the comment above // sqlite3PagerSetBusyhandler(). - for ok := true; ok; ok = ((rc == SQLITE_BUSY) && ((*(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer((pPager + 224 /* &.xBusyHandler */))))(tls, (*Pager)(unsafe.Pointer(pPager)).FpBusyHandlerArg) != 0)) { + for ok := true; ok; ok = ((rc == SQLITE_BUSY) && ((*struct { + f func(*libc.TLS, uintptr) int32 + })(unsafe.Pointer(&struct{ uintptr }{(*Pager)(unsafe.Pointer(pPager)).FxBusyHandler})).f(tls, (*Pager)(unsafe.Pointer(pPager)).FpBusyHandlerArg) != 0)) { rc = pagerLockDb(tls, pPager, locktype) } return rc @@ -33666,7 +34785,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+5822 /* "-journal" */, uint64(8)) + libc.Xmemcpy(tls, pPtr, ts+5821 /* "-journal" */, uint64(8)) pPtr += (uintptr(8 + 1)) goto __19 __18: @@ -33681,7 +34800,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+5831 /* "-wal" */, uint64(4)) + libc.Xmemcpy(tls, pPtr, ts+5830 /* "-wal" */, uint64(4)) pPtr += (uintptr(4 + 1)) goto __21 __20: @@ -33740,9 +34859,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+5836 /* "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+5843 /* "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) @@ -34503,7 +35622,9 @@ func getPageError(tls *libc.TLS, pPager uintptr, pgno Pgno, ppPage uintptr, flag // Dispatch all page fetch requests to the appropriate getter method. func Xsqlite3PagerGet(tls *libc.TLS, pPager uintptr, pgno Pgno, ppPage uintptr, flags int32) int32 { /* sqlite3.c:58297:20: */ - return (*(*func(*libc.TLS, uintptr, Pgno, uintptr, int32) int32)(unsafe.Pointer((pPager + 272 /* &.xGet */))))(tls, pPager, pgno, ppPage, flags) + return (*struct { + f func(*libc.TLS, uintptr, Pgno, uintptr, int32) int32 + })(unsafe.Pointer(&struct{ uintptr }{(*Pager)(unsafe.Pointer(pPager)).FxGet})).f(tls, pPager, pgno, ppPage, flags) } // Acquire a page if it is already in the in-memory cache. Do @@ -36785,12 +37906,12 @@ type WalIterator1 = struct { FiPrior U32 FnSegment int32 FaSegment [1]struct { - FiNext int32 - _ [4]byte - FaIndex uintptr - FaPgno uintptr - FnEntry int32 - FiZero int32 + FiNext int32 + F__ccgo_pad1 [4]byte + FaIndex uintptr + FaPgno uintptr + FnEntry int32 + FiZero int32 } } /* sqlite3.c:60656:9 */ @@ -36827,12 +37948,12 @@ type Ht_slot = U16 /* sqlite3.c:60848:13 */ // // This functionality is used by the checkpoint code (see walCheckpoint()). type WalSegment = struct { - FiNext int32 - _ [4]byte - FaIndex uintptr - FaPgno uintptr - FnEntry int32 - FiZero int32 + FiNext int32 + F__ccgo_pad1 [4]byte + FaIndex uintptr + FaPgno uintptr + FnEntry int32 + FiZero int32 } /* sqlite3.c:60656:9 */ // Define the parameters of the hash tables in the wal-index file. There @@ -36868,13 +37989,13 @@ func walIndexPageRealloc(tls *libc.TLS, pWal uintptr, iPage int32, ppPage uintpt var nByte Sqlite3_int64 = (Sqlite3_int64(uint64(unsafe.Sizeof(uintptr(0))) * (uint64(iPage + 1)))) var apNew uintptr libc.AtomicStoreUintptr(&apNew, uintptr(Xsqlite3Realloc(tls, (*Wal)(unsafe.Pointer(pWal)).FapWiData, uint64(nByte)))) - if !(libc.AtomicLoadUintptr(&apNew) != 0) { - *(*uintptr)(unsafe.Pointer(libc.AtomicLoadUintptr(&ppPage))) = uintptr(0) + if !(apNew != 0) { + *(*uintptr)(unsafe.Pointer(ppPage)) = uintptr(0) return SQLITE_NOMEM } - libc.Xmemset(tls, (libc.AtomicLoadUintptr(&apNew) + uintptr((*Wal)(unsafe.Pointer(pWal)).FnWiData)*8), 0, + libc.Xmemset(tls, (apNew + uintptr((*Wal)(unsafe.Pointer(pWal)).FnWiData)*8), 0, (uint64(unsafe.Sizeof(uintptr(0))) * (uint64((iPage + 1) - (*Wal)(unsafe.Pointer(pWal)).FnWiData)))) - (*Wal)(unsafe.Pointer(pWal)).FapWiData = libc.AtomicLoadUintptr(&apNew) + (*Wal)(unsafe.Pointer(pWal)).FapWiData = apNew (*Wal)(unsafe.Pointer(pWal)).FnWiData = (iPage + 1) } @@ -36901,14 +38022,14 @@ func walIndexPageRealloc(tls *libc.TLS, pWal uintptr, iPage int32, ppPage uintpt } } - *(*uintptr)(unsafe.Pointer(libc.AtomicLoadUintptr(&ppPage))) = *(*uintptr)(unsafe.Pointer((*Wal)(unsafe.Pointer(pWal)).FapWiData + uintptr(iPage)*8)) + *(*uintptr)(unsafe.Pointer(ppPage)) = *(*uintptr)(unsafe.Pointer((*Wal)(unsafe.Pointer(pWal)).FapWiData + uintptr(iPage)*8)) return rc } func walIndexPage(tls *libc.TLS, pWal uintptr, iPage int32, ppPage uintptr) int32 { /* sqlite3.c:60962:12: */ - if ((*Wal)(unsafe.Pointer(pWal)).FnWiData <= iPage) || ((libc.AssignPtrUintptr(libc.AtomicLoadUintptr(&ppPage), *(*uintptr)(unsafe.Pointer((*Wal)(unsafe.Pointer(pWal)).FapWiData + uintptr(iPage)*8)))) == uintptr(0)) { - return walIndexPageRealloc(tls, pWal, iPage, libc.AtomicLoadUintptr(&ppPage)) + if ((*Wal)(unsafe.Pointer(pWal)).FnWiData <= iPage) || ((libc.AssignPtrUintptr(ppPage, *(*uintptr)(unsafe.Pointer((*Wal)(unsafe.Pointer(pWal)).FapWiData + uintptr(iPage)*8)))) == uintptr(0)) { + return walIndexPageRealloc(tls, pWal, iPage, ppPage) } return SQLITE_OK } @@ -36993,9 +38114,9 @@ func walIndexWriteHdr(tls *libc.TLS, pWal uintptr) { /* sqlite3.c:61077:28: */ (*Wal)(unsafe.Pointer(pWal)).Fhdr.FiVersion = U32(WALINDEX_MAX_VERSION) walChecksumBytes(tls, 1, (pWal + 72 /* &.hdr */), nCksum, uintptr(0), pWal+72 /* &.hdr */ +40 /* &.aCksum */) // Possible TSAN false-positive. See tag-20200519-1 - libc.Xmemcpy(tls, (libc.AtomicLoadUintptr(&aHdr) + 1*48), (pWal + 72 /* &.hdr */), uint64(unsafe.Sizeof(WalIndexHdr{}))) + libc.Xmemcpy(tls, (aHdr + 1*48), (pWal + 72 /* &.hdr */), uint64(unsafe.Sizeof(WalIndexHdr{}))) walShmBarrier(tls, pWal) - libc.Xmemcpy(tls, (libc.AtomicLoadUintptr(&aHdr)), (pWal + 72 /* &.hdr */), uint64(unsafe.Sizeof(WalIndexHdr{}))) + libc.Xmemcpy(tls, (aHdr), (pWal + 72 /* &.hdr */), uint64(unsafe.Sizeof(WalIndexHdr{}))) } // This function encodes a single frame header and writes it to a buffer @@ -37130,10 +38251,10 @@ func walNextHash(tls *libc.TLS, iPriorHash int32) int32 { /* sqlite3.c:61258:12: // of a page hash table in the wal-index. This becomes the return value // from walHashGet(). type WalHashLoc1 = struct { - FaHash uintptr - FaPgno uintptr - FiZero U32 - _ [4]byte + FaHash uintptr + FaPgno uintptr + FiZero U32 + F__ccgo_pad1 [4]byte } /* sqlite3.c:61267:9 */ // An instance of the WalHashLoc object is used to describe the location @@ -37558,9 +38679,9 @@ finished: // currently holding locks that exclude all other writers and // checkpointers. Then set the values of read-mark slots 1 through N. libc.AtomicStoreUintptr(&pInfo, uintptr(walCkptInfo(tls, pWal))) - (*WalCkptInfo)(unsafe.Pointer(libc.AtomicLoadUintptr(&pInfo))).FnBackfill = U32(0) - (*WalCkptInfo)(unsafe.Pointer(libc.AtomicLoadUintptr(&pInfo))).FnBackfillAttempted = (*Wal)(unsafe.Pointer(pWal)).Fhdr.FmxFrame - *(*U32)(unsafe.Pointer((libc.AtomicLoadUintptr(&pInfo) + 4 /* &.aReadMark */))) = U32(0) + (*WalCkptInfo)(unsafe.Pointer(pInfo)).FnBackfill = U32(0) + (*WalCkptInfo)(unsafe.Pointer(pInfo)).FnBackfillAttempted = (*Wal)(unsafe.Pointer(pWal)).Fhdr.FmxFrame + *(*U32)(unsafe.Pointer((pInfo + 4 /* &.aReadMark */))) = U32(0) i = 1 __22: if !(i < (SQLITE_SHM_NLOCK - 3)) { @@ -37573,10 +38694,10 @@ __22: if !((i == 1) && ((*Wal)(unsafe.Pointer(pWal)).Fhdr.FmxFrame != 0)) { goto __27 } - *(*U32)(unsafe.Pointer((libc.AtomicLoadUintptr(&pInfo) + 4 /* &.aReadMark */) + uintptr(i)*4)) = (*Wal)(unsafe.Pointer(pWal)).Fhdr.FmxFrame + *(*U32)(unsafe.Pointer((pInfo + 4 /* &.aReadMark */) + uintptr(i)*4)) = (*Wal)(unsafe.Pointer(pWal)).Fhdr.FmxFrame goto __28 __27: - *(*U32)(unsafe.Pointer((libc.AtomicLoadUintptr(&pInfo) + 4 /* &.aReadMark */) + uintptr(i)*4)) = READMARK_NOT_USED + *(*U32)(unsafe.Pointer((pInfo + 4 /* &.aReadMark */) + uintptr(i)*4)) = READMARK_NOT_USED __28: ; walUnlockExclusive(tls, pWal, (3 + (i)), 1) @@ -37606,7 +38727,7 @@ __24: goto __30 } Xsqlite3_log(tls, (SQLITE_NOTICE | (int32(1) << 8)), - ts+5853, /* "recovered %d fra..." */ + ts+5852, /* "recovered %d fra..." */ libc.VaList(bp, (*Wal)(unsafe.Pointer(pWal)).Fhdr.FmxFrame, (*Wal)(unsafe.Pointer(pWal)).FzWalName)) __30: ; @@ -37859,9 +38980,9 @@ func walMergesort(tls *libc.TLS, aContent uintptr, aBuffer uintptr, aList uintpt } type Sublist = struct { - FnList int32 - _ [4]byte - FaList uintptr + FnList int32 + F__ccgo_pad1 [4]byte + FaList uintptr } /* sqlite3.c:61957:3 */ // Free an iterator allocated by walIteratorInit(). @@ -37967,7 +39088,9 @@ func walIteratorInit(tls *libc.TLS, pWal uintptr, nBackfill U32, pp uintptr) int // lock is successfully obtained or the busy-handler returns 0. func walBusyLock(tls *libc.TLS, pWal uintptr, xBusy uintptr, pBusyArg uintptr, lockIdx int32, n int32) int32 { /* sqlite3.c:62195:12: */ var rc int32 - for ok := true; ok; ok = (((xBusy != 0) && (rc == SQLITE_BUSY)) && ((*(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(&xBusy)))(tls, pBusyArg) != 0)) { + for ok := true; ok; ok = (((xBusy != 0) && (rc == SQLITE_BUSY)) && ((*struct { + f func(*libc.TLS, uintptr) int32 + })(unsafe.Pointer(&struct{ uintptr }{xBusy})).f(tls, pBusyArg) != 0)) { rc = walLockExclusive(tls, pWal, lockIdx, n) } return rc @@ -38007,11 +39130,11 @@ func walRestartHdr(tls *libc.TLS, pWal uintptr, salt1 U32) { /* sqlite3.c:62240: Xsqlite3Put4byte(tls, (aSalt), (U32(1) + Xsqlite3Get4byte(tls, (aSalt)))) libc.Xmemcpy(tls, ((pWal + 72 /* &.hdr */ + 32 /* &.aSalt */) + 1*4), bp /* &salt1 */, uint64(4)) walIndexWriteHdr(tls, pWal) - libc.AtomicStoreNInt32((libc.AtomicLoadUintptr(&pInfo) /* &.nBackfill */), int32(0), 0) - (*WalCkptInfo)(unsafe.Pointer(libc.AtomicLoadUintptr(&pInfo))).FnBackfillAttempted = U32(0) - *(*U32)(unsafe.Pointer((libc.AtomicLoadUintptr(&pInfo) + 4 /* &.aReadMark */) + 1*4)) = U32(0) + libc.AtomicStoreNInt32((pInfo /* &.nBackfill */), int32(0), 0) + (*WalCkptInfo)(unsafe.Pointer(pInfo)).FnBackfillAttempted = U32(0) + *(*U32)(unsafe.Pointer((pInfo + 4 /* &.aReadMark */) + 1*4)) = U32(0) for i = 2; i < (SQLITE_SHM_NLOCK - 3); i++ { - *(*U32)(unsafe.Pointer((libc.AtomicLoadUintptr(&pInfo) + 4 /* &.aReadMark */) + uintptr(i)*4)) = READMARK_NOT_USED + *(*U32)(unsafe.Pointer((pInfo + 4 /* &.aReadMark */) + uintptr(i)*4)) = READMARK_NOT_USED } } @@ -38079,7 +39202,7 @@ func walCheckpoint(tls *libc.TLS, pWal uintptr, db uintptr, eMode int32, xBusy u szPage = walPagesize(tls, pWal) libc.AtomicStoreUintptr(&pInfo, uintptr(walCkptInfo(tls, pWal))) - if !((*WalCkptInfo)(unsafe.Pointer(libc.AtomicLoadUintptr(&pInfo))).FnBackfill < (*Wal)(unsafe.Pointer(pWal)).Fhdr.FmxFrame) { + if !((*WalCkptInfo)(unsafe.Pointer(pInfo)).FnBackfill < (*Wal)(unsafe.Pointer(pWal)).Fhdr.FmxFrame) { goto __1 } @@ -38097,7 +39220,7 @@ __2: if !(i < (SQLITE_SHM_NLOCK - 3)) { goto __4 } - y = U32(libc.AtomicLoadNUint32(((libc.AtomicLoadUintptr(&pInfo) + 4 /* &.aReadMark */) + uintptr(i)*4), 0)) + y = U32(libc.AtomicLoadNUint32(((pInfo + 4 /* &.aReadMark */) + uintptr(i)*4), 0)) if !(mxSafeFrame > y) { goto __5 } @@ -38112,7 +39235,7 @@ __2: } return READMARK_NOT_USED }() - libc.AtomicStoreNUint32(((libc.AtomicLoadUintptr(&pInfo) + 4 /* &.aReadMark */) + uintptr(i)*4), uint32(iMark), 0) + libc.AtomicStoreNUint32(((pInfo + 4 /* &.aReadMark */) + uintptr(i)*4), uint32(iMark), 0) walUnlockExclusive(tls, pWal, (3 + (i)), 1) goto __7 __6: @@ -38139,10 +39262,10 @@ __4: ; // Allocate the iterator - if !((*WalCkptInfo)(unsafe.Pointer(libc.AtomicLoadUintptr(&pInfo))).FnBackfill < mxSafeFrame) { + if !((*WalCkptInfo)(unsafe.Pointer(pInfo)).FnBackfill < mxSafeFrame) { goto __10 } - rc = walIteratorInit(tls, pWal, (*WalCkptInfo)(unsafe.Pointer(libc.AtomicLoadUintptr(&pInfo))).FnBackfill, bp /* &pIter */) + rc = walIteratorInit(tls, pWal, (*WalCkptInfo)(unsafe.Pointer(pInfo)).FnBackfill, bp /* &pIter */) __10: ; @@ -38151,9 +39274,9 @@ __10: ((libc.AssignInt32(&rc, walBusyLock(tls, pWal, xBusy, pBusyArg, (3+(0)), 1))) == SQLITE_OK)) { goto __11 } - nBackfill = (*WalCkptInfo)(unsafe.Pointer(libc.AtomicLoadUintptr(&pInfo))).FnBackfill + nBackfill = (*WalCkptInfo)(unsafe.Pointer(pInfo)).FnBackfill - (*WalCkptInfo)(unsafe.Pointer(libc.AtomicLoadUintptr(&pInfo))).FnBackfillAttempted = mxSafeFrame + (*WalCkptInfo)(unsafe.Pointer(pInfo)).FnBackfillAttempted = mxSafeFrame // Sync the WAL to disk rc = Xsqlite3OsSync(tls, (*Wal)(unsafe.Pointer(pWal)).FpWalFd, (((sync_flags) >> 2) & 0x03)) @@ -38255,7 +39378,7 @@ __23: if !(rc == SQLITE_OK) { goto __25 } - libc.AtomicStoreNUint32((libc.AtomicLoadUintptr(&pInfo) /* &.nBackfill */), uint32(mxSafeFrame), 0) + libc.AtomicStoreNUint32((pInfo /* &.nBackfill */), uint32(mxSafeFrame), 0) __25: ; __22: @@ -38285,7 +39408,7 @@ __1: goto __27 } - if !((*WalCkptInfo)(unsafe.Pointer(libc.AtomicLoadUintptr(&pInfo))).FnBackfill < (*Wal)(unsafe.Pointer(pWal)).Fhdr.FmxFrame) { + if !((*WalCkptInfo)(unsafe.Pointer(pInfo)).FnBackfill < (*Wal)(unsafe.Pointer(pWal)).Fhdr.FmxFrame) { goto __28 } rc = SQLITE_BUSY @@ -38351,7 +39474,7 @@ func walLimitSize(tls *libc.TLS, pWal uintptr, nMax I64) { /* sqlite3.c:62473:13 } Xsqlite3EndBenignMalloc(tls) if rx != 0 { - Xsqlite3_log(tls, rx, ts+5890 /* "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)) } } @@ -38458,9 +39581,9 @@ func walIndexTryHdr(tls *libc.TLS, pWal uintptr, pChanged uintptr) int32 { /* sq // shared among multiple processes and not all mutex implementions work // reliably in that environment. libc.AtomicStoreUintptr(&aHdr, uintptr(walIndexHdr(tls, pWal))) - libc.Xmemcpy(tls, bp /* &h1 */, (libc.AtomicLoadUintptr(&aHdr)), uint64(unsafe.Sizeof(WalIndexHdr{}))) // Possible TSAN false-positive + libc.Xmemcpy(tls, bp /* &h1 */, (aHdr), uint64(unsafe.Sizeof(WalIndexHdr{}))) // Possible TSAN false-positive walShmBarrier(tls, pWal) - libc.Xmemcpy(tls, bp+48 /* &h2 */, (libc.AtomicLoadUintptr(&aHdr) + 1*48), uint64(unsafe.Sizeof(WalIndexHdr{}))) + libc.Xmemcpy(tls, bp+48 /* &h2 */, (aHdr + 1*48), uint64(unsafe.Sizeof(WalIndexHdr{}))) if (libc.Xmemcmp(tls, bp /* &h1 */, bp+48 /* &h2 */, uint64(unsafe.Sizeof(WalIndexHdr{}))) != 0) { return 1 // Dirty read @@ -38537,7 +39660,7 @@ func walIndexReadHdr(tls *libc.TLS, pWal uintptr, pChanged uintptr) int32 { /* s // works, but may fail if the wal-index header is corrupt or currently // being modified by another thread or process. badHdr = func() int32 { - if libc.AtomicLoadPUintptr(bp /* page0 */) != 0 { + if *(*uintptr)(unsafe.Pointer(bp /* page0 */)) != 0 { return walIndexTryHdr(tls, pWal, pChanged) } return 1 @@ -38963,7 +40086,7 @@ func walTryBeginRead(tls *libc.TLS, pWal uintptr, pChanged uintptr, useWal int32 } libc.AtomicStoreUintptr(&pInfo, uintptr(walCkptInfo(tls, pWal))) - if (!(useWal != 0) && (U32(libc.AtomicLoadNUint32((libc.AtomicLoadUintptr(&pInfo) /* &.nBackfill */), 0)) == (*Wal)(unsafe.Pointer(pWal)).Fhdr.FmxFrame)) && + if (!(useWal != 0) && (U32(libc.AtomicLoadNUint32((pInfo /* &.nBackfill */), 0)) == (*Wal)(unsafe.Pointer(pWal)).Fhdr.FmxFrame)) && (((*Wal)(unsafe.Pointer(pWal)).FpSnapshot == uintptr(0)) || ((*Wal)(unsafe.Pointer(pWal)).Fhdr.FmxFrame == U32(0))) { // The WAL has been completely backfilled (or it is empty). // and can be safely ignored. @@ -39004,7 +40127,7 @@ func walTryBeginRead(tls *libc.TLS, pWal uintptr, pChanged uintptr, useWal int32 mxFrame = (*WalIndexHdr)(unsafe.Pointer((*Wal)(unsafe.Pointer(pWal)).FpSnapshot)).FmxFrame } for i = 1; i < (SQLITE_SHM_NLOCK - 3); i++ { - var thisMark U32 = U32(libc.AtomicLoadNUint32(((libc.AtomicLoadUintptr(&pInfo) + 4 /* &.aReadMark */) + uintptr(i)*4), 0)) + var thisMark U32 = U32(libc.AtomicLoadNUint32(((pInfo + 4 /* &.aReadMark */) + uintptr(i)*4), 0)) if (mxReadMark <= thisMark) && (thisMark <= mxFrame) { mxReadMark = thisMark @@ -39016,7 +40139,7 @@ func walTryBeginRead(tls *libc.TLS, pWal uintptr, pChanged uintptr, useWal int32 for i = 1; i < (SQLITE_SHM_NLOCK - 3); i++ { rc = walLockExclusive(tls, pWal, (3 + (i)), 1) if rc == SQLITE_OK { - libc.AtomicStoreNUint32(((libc.AtomicLoadUintptr(&pInfo) + 4 /* &.aReadMark */) + uintptr(i)*4), uint32(mxFrame), 0) + libc.AtomicStoreNUint32(((pInfo + 4 /* &.aReadMark */) + uintptr(i)*4), uint32(mxFrame), 0) mxReadMark = mxFrame mxI = i walUnlockExclusive(tls, pWal, (3 + (i)), 1) @@ -39074,9 +40197,9 @@ func walTryBeginRead(tls *libc.TLS, pWal uintptr, pChanged uintptr, useWal int32 // that it can read version A from the database file. However, since // we can guarantee that the checkpointer that set nBackfill could not // see any pages past pWal->hdr.mxFrame, this problem does not come up. - (*Wal)(unsafe.Pointer(pWal)).FminFrame = (U32(libc.AtomicLoadNUint32((libc.AtomicLoadUintptr(&pInfo) /* &.nBackfill */), 0) + 1)) + (*Wal)(unsafe.Pointer(pWal)).FminFrame = (U32(libc.AtomicLoadNUint32((pInfo /* &.nBackfill */), 0) + 1)) walShmBarrier(tls, pWal) - if (U32(libc.AtomicLoadNUint32(((libc.AtomicLoadUintptr(&pInfo)+4 /* &.aReadMark */)+uintptr(mxI)*4), 0)) != mxReadMark) || + if (U32(libc.AtomicLoadNUint32(((pInfo+4 /* &.aReadMark */)+uintptr(mxI)*4), 0)) != mxReadMark) || (libc.Xmemcmp(tls, walIndexHdr(tls, pWal), (pWal+72 /* &.hdr */), uint64(unsafe.Sizeof(WalIndexHdr{}))) != 0) { walUnlockShared(tls, pWal, (3 + (mxI))) return -1 @@ -39124,8 +40247,8 @@ func Xsqlite3WalSnapshotRecover(tls *libc.TLS, pWal uintptr) int32 { /* sqlite3. if (pBuf1 == uintptr(0)) || (pBuf2 == uintptr(0)) { rc = SQLITE_NOMEM } else { - var i U32 = (*WalCkptInfo)(unsafe.Pointer(libc.AtomicLoadUintptr(&pInfo))).FnBackfillAttempted - for i = (*WalCkptInfo)(unsafe.Pointer(libc.AtomicLoadUintptr(&pInfo))).FnBackfillAttempted; i > U32(libc.AtomicLoadNUint32((libc.AtomicLoadUintptr(&pInfo) /* &.nBackfill */), 0)); i-- { + var i U32 = (*WalCkptInfo)(unsafe.Pointer(pInfo)).FnBackfillAttempted + for i = (*WalCkptInfo)(unsafe.Pointer(pInfo)).FnBackfillAttempted; i > U32(libc.AtomicLoadNUint32((pInfo /* &.nBackfill */), 0)); i-- { // var sLoc WalHashLoc at bp+8, 24 // Hash table location var pgno U32 // Page number in db file @@ -39152,7 +40275,7 @@ func Xsqlite3WalSnapshotRecover(tls *libc.TLS, pWal uintptr) int32 { /* sqlite3. } } - (*WalCkptInfo)(unsafe.Pointer(libc.AtomicLoadUintptr(&pInfo))).FnBackfillAttempted = (i - U32(1)) + (*WalCkptInfo)(unsafe.Pointer(pInfo)).FnBackfillAttempted = (i - U32(1)) } } @@ -39232,7 +40355,7 @@ func Xsqlite3WalBeginReadTransaction(tls *libc.TLS, pWal uintptr, pChanged uintp // with *pSnapshot and set *pChanged as appropriate for opening the // snapshot. if !(libc.Xmemcmp(tls, pSnapshot+32 /* &.aSalt */, pWal+72 /* &.hdr */ +32 /* &.aSalt */, uint64(unsafe.Sizeof([2]U32{}))) != 0) && - ((*WalIndexHdr)(unsafe.Pointer(pSnapshot)).FmxFrame >= (*WalCkptInfo)(unsafe.Pointer(libc.AtomicLoadUintptr(&pInfo))).FnBackfillAttempted) { + ((*WalIndexHdr)(unsafe.Pointer(pSnapshot)).FmxFrame >= (*WalCkptInfo)(unsafe.Pointer(pInfo)).FnBackfillAttempted) { libc.Xmemcpy(tls, (pWal + 72 /* &.hdr */), pSnapshot, uint64(unsafe.Sizeof(WalIndexHdr{}))) *(*int32)(unsafe.Pointer(pChanged)) = bChanged @@ -39471,7 +40594,9 @@ func Xsqlite3WalUndo(tls *libc.TLS, pWal uintptr, xUndo uintptr, pUndoCtx uintpt // page 1 is never written to the log until the transaction is // committed. As a result, the call to xUndo may not fail. - rc = (*(*func(*libc.TLS, uintptr, Pgno) int32)(unsafe.Pointer(&xUndo)))(tls, pUndoCtx, walFramePgno(tls, pWal, iFrame)) + rc = (*struct { + f func(*libc.TLS, uintptr, Pgno) int32 + })(unsafe.Pointer(&struct{ uintptr }{xUndo})).f(tls, pUndoCtx, walFramePgno(tls, pWal, iFrame)) } if iMax != (*Wal)(unsafe.Pointer(pWal)).Fhdr.FmxFrame { walCleanupHash(tls, pWal) @@ -39537,7 +40662,7 @@ func walRestartLog(tls *libc.TLS, pWal uintptr) int32 { /* sqlite3.c:63690:12: * if int32((*Wal)(unsafe.Pointer(pWal)).FreadLock) == 0 { var pInfo uintptr = walCkptInfo(tls, pWal) - if (*WalCkptInfo)(unsafe.Pointer(libc.AtomicLoadUintptr(&pInfo))).FnBackfill > U32(0) { + if (*WalCkptInfo)(unsafe.Pointer(pInfo)).FnBackfill > U32(0) { // var salt1 U32 at bp, 4 Xsqlite3_randomness(tls, 4, bp /* &salt1 */) @@ -40447,7 +41572,7 @@ type MemPage1 = struct { FchildPtrSize U8 Fmax1bytePayload U8 FnOverflow U8 - _ [1]byte + F__ccgo_pad1 [1]byte FmaxLocal U16 FminLocal U16 FcellOffset U16 @@ -40455,7 +41580,7 @@ type MemPage1 = struct { FnCell U16 FmaskPage U16 FaiOvfl [4]U16 - _ [4]byte + F__ccgo_pad2 [4]byte FapOvfl [4]uintptr FpBt uintptr FaData uintptr @@ -40712,11 +41837,11 @@ type MemPage1 = struct { // Forward declarations type MemPage = MemPage1 /* sqlite3.c:64658:24 */ type BtLock1 = struct { - FpBtree uintptr - FiTable Pgno - FeLock U8 - _ [3]byte - FpNext uintptr + FpBtree uintptr + FiTable Pgno + FeLock U8 + F__ccgo_pad1 [3]byte + FpNext uintptr } /* sqlite3.c:1331:9 */ type BtLock = BtLock1 /* sqlite3.c:64659:23 */ @@ -41131,7 +42256,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 + 5916 /* "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. @@ -42062,7 +43187,9 @@ func btreeParseCellPtrIndex(tls *libc.TLS, pPage uintptr, pCell uintptr, pInfo u } func btreeParseCell(tls *libc.TLS, pPage uintptr, iCell int32, pInfo uintptr) { /* sqlite3.c:66752:13: */ - (*(*func(*libc.TLS, uintptr, uintptr, uintptr))(unsafe.Pointer((pPage + 128 /* &.xParseCell */))))(tls, pPage, ((*MemPage)(unsafe.Pointer((pPage))).FaData + uintptr((int32((*MemPage)(unsafe.Pointer((pPage))).FmaskPage) & int32(libc.X__builtin_bswap16(tls, *(*U16)(unsafe.Pointer(((*MemPage)(unsafe.Pointer((pPage))).FaCellIdx + uintptr((2 * (iCell))))))))))), pInfo) + (*struct { + f func(*libc.TLS, uintptr, uintptr, uintptr) + })(unsafe.Pointer(&struct{ uintptr }{(*MemPage)(unsafe.Pointer(pPage)).FxParseCell})).f(tls, pPage, ((*MemPage)(unsafe.Pointer((pPage))).FaData + uintptr((int32((*MemPage)(unsafe.Pointer((pPage))).FmaskPage) & int32(libc.X__builtin_bswap16(tls, *(*U16)(unsafe.Pointer(((*MemPage)(unsafe.Pointer((pPage))).FaCellIdx + uintptr((2 * (iCell))))))))))), pInfo) } // The following routines are implementations of the MemPage.xCellSize @@ -42143,7 +43270,9 @@ func ptrmapPutOvflPtr(tls *libc.TLS, pPage uintptr, pSrc uintptr, pCell uintptr, return } - (*(*func(*libc.TLS, uintptr, uintptr, uintptr))(unsafe.Pointer((pPage + 128 /* &.xParseCell */))))(tls, pPage, pCell, bp /* &info */) + (*struct { + f func(*libc.TLS, uintptr, uintptr, uintptr) + })(unsafe.Pointer(&struct{ uintptr }{(*MemPage)(unsafe.Pointer(pPage)).FxParseCell})).f(tls, pPage, pCell, bp /* &info */) if U32((*CellInfo)(unsafe.Pointer(bp /* &info */)).FnLocal) < (*CellInfo)(unsafe.Pointer(bp /* &info */)).FnPayload { var ovfl Pgno if (Uptr(((*MemPage)(unsafe.Pointer(pSrc)).FaDataEnd)) >= Uptr((pCell))) && (Uptr(((*MemPage)(unsafe.Pointer(pSrc)).FaDataEnd)) < Uptr((pCell + uintptr((*CellInfo)(unsafe.Pointer(bp /* &info */)).FnLocal)))) { @@ -42326,7 +43455,9 @@ __18: __21: ; - size = int32((*(*func(*libc.TLS, uintptr, uintptr) U16)(unsafe.Pointer((pPage + 120 /* &.xCellSize */))))(tls, pPage, (src + uintptr(pc)))) + size = int32((*struct { + f func(*libc.TLS, uintptr, uintptr) U16 + })(unsafe.Pointer(&struct{ uintptr }{(*MemPage)(unsafe.Pointer(pPage)).FxCellSize})).f(tls, pPage, (src + uintptr(pc)))) cbrk = cbrk - (size) if !((cbrk < iCellStart) || ((pc + size) > usableSize)) { goto __22 @@ -42816,7 +43947,9 @@ func btreeCellSizeCheck(tls *libc.TLS, pPage uintptr) int32 { /* sqlite3.c:67431 if (pc < iCellFirst) || (pc > iCellLast) { return Xsqlite3CorruptError(tls, 67452) } - sz = int32((*(*func(*libc.TLS, uintptr, uintptr) U16)(unsafe.Pointer((pPage + 120 /* &.xCellSize */))))(tls, pPage, (data + uintptr(pc)))) + sz = int32((*struct { + f func(*libc.TLS, uintptr, uintptr) U16 + })(unsafe.Pointer(&struct{ uintptr }{(*MemPage)(unsafe.Pointer(pPage)).FxCellSize})).f(tls, pPage, (data + uintptr(pc)))) if (pc + sz) > usableSize { return Xsqlite3CorruptError(tls, 67457) @@ -43171,7 +44304,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+5932 /* ":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))) @@ -43654,7 +44787,7 @@ func Xsqlite3BtreeClose(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:68190:20: Xsqlite3PagerClose(tls, (*BtShared)(unsafe.Pointer(pBt)).FpPager, (*Btree)(unsafe.Pointer(p)).Fdb) if ((*BtShared)(unsafe.Pointer(pBt)).FxFreeSchema != 0) && ((*BtShared)(unsafe.Pointer(pBt)).FpSchema != 0) { - (*(*func(*libc.TLS, uintptr))(unsafe.Pointer((pBt + 80 /* &.xFreeSchema */))))(tls, (*BtShared)(unsafe.Pointer(pBt)).FpSchema) + (*struct{ f func(*libc.TLS, uintptr) })(unsafe.Pointer(&struct{ uintptr }{(*BtShared)(unsafe.Pointer(pBt)).FxFreeSchema})).f(tls, (*BtShared)(unsafe.Pointer(pBt)).FpSchema) } Xsqlite3DbFree(tls, uintptr(0), (*BtShared)(unsafe.Pointer(pBt)).FpSchema) freeTempSpace(tls, pBt) @@ -44034,7 +45167,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+5941 /* "@ " */, uint64(3)) != 0) { + if !(libc.Xmemcmp(tls, (page1+21), ts+5940 /* "@ " */, uint64(3)) != 0) { goto __14 } goto page1_init_failed @@ -44597,7 +45730,9 @@ func modifyPagePointer(tls *libc.TLS, pPage uintptr, iFrom Pgno, iTo Pgno, eType if int32(eType) == PTRMAP_OVERFLOW1 { // var info CellInfo at bp, 24 - (*(*func(*libc.TLS, uintptr, uintptr, uintptr))(unsafe.Pointer((pPage + 128 /* &.xParseCell */))))(tls, pPage, pCell, bp /* &info */) + (*struct { + f func(*libc.TLS, uintptr, uintptr, uintptr) + })(unsafe.Pointer(&struct{ uintptr }{(*MemPage)(unsafe.Pointer(pPage)).FxParseCell})).f(tls, pPage, pCell, bp /* &info */) if U32((*CellInfo)(unsafe.Pointer(bp /* &info */)).FnLocal) < (*CellInfo)(unsafe.Pointer(bp /* &info */)).FnPayload { if (pCell + uintptr((*CellInfo)(unsafe.Pointer(bp /* &info */)).FnSize)) > ((*MemPage)(unsafe.Pointer(pPage)).FaData + uintptr((*BtShared)(unsafe.Pointer((*MemPage)(unsafe.Pointer(pPage)).FpBt)).FusableSize)) { return Xsqlite3CorruptError(tls, 69109) @@ -46403,7 +47538,9 @@ __35: // Size of the pCell cell in bytes // single byte varint and the record fits entirely on the main // b-tree page. - c = (*(*func(*libc.TLS, int32, uintptr, uintptr) int32)(unsafe.Pointer(&xRecordCompare)))(tls, nCell, (pCell + 1), pIdxKey) + c = (*struct { + f func(*libc.TLS, int32, uintptr, uintptr) int32 + })(unsafe.Pointer(&struct{ uintptr }{xRecordCompare})).f(tls, nCell, (pCell + 1), pIdxKey) goto __39 __38: if !(!((int32(*(*U8)(unsafe.Pointer(pCell + 1))) & 0x80) != 0) && @@ -46413,12 +47550,16 @@ __38: // The record-size field is a 2 byte varint and the record // fits entirely on the main b-tree page. - c = (*(*func(*libc.TLS, int32, uintptr, uintptr) int32)(unsafe.Pointer(&xRecordCompare)))(tls, nCell, (pCell + 2), pIdxKey) + c = (*struct { + f func(*libc.TLS, int32, uintptr, uintptr) int32 + })(unsafe.Pointer(&struct{ uintptr }{xRecordCompare})).f(tls, nCell, (pCell + 2), pIdxKey) goto __41 __40: pCellBody = (pCell - uintptr((*MemPage)(unsafe.Pointer(pPage)).FchildPtrSize)) nOverrun = 18 // Size of the overrun padding - (*(*func(*libc.TLS, uintptr, uintptr, uintptr))(unsafe.Pointer((pPage + 128 /* &.xParseCell */))))(tls, pPage, pCellBody, (pCur + 48 /* &.info */)) + (*struct { + f func(*libc.TLS, uintptr, uintptr, uintptr) + })(unsafe.Pointer(&struct{ uintptr }{(*MemPage)(unsafe.Pointer(pPage)).FxParseCell})).f(tls, pPage, pCellBody, (pCur + 48 /* &.info */)) nCell = int32((*BtCursor)(unsafe.Pointer(pCur)).Finfo.FnKey) // True if key size is 2^32 or more // Invalid key size: 0x80 0x80 0x00 @@ -47990,13 +49131,13 @@ func insertCell(tls *libc.TLS, pPage uintptr, i int32, pCell uintptr, sz int32, // entries, shift down. The end result is that each ixNx[] entry should // be larger than the previous type CellArray1 = struct { - FnCell int32 - _ [4]byte - FpRef uintptr - FapCell uintptr - FszCell uintptr - FapEnd [6]uintptr - FixNx [6]int32 + FnCell int32 + F__ccgo_pad1 [4]byte + FpRef uintptr + FapCell uintptr + FszCell uintptr + FapEnd [6]uintptr + FixNx [6]int32 } /* sqlite3.c:72392:9 */ // The following parameters determine how many adjacent pages get involved @@ -48083,7 +49224,9 @@ func populateCellCache(tls *libc.TLS, p uintptr, idx int32, N int32) { /* sqlite for N > 0 { if int32(*(*U16)(unsafe.Pointer((*CellArray)(unsafe.Pointer(p)).FszCell + uintptr(idx)*2))) == 0 { - *(*U16)(unsafe.Pointer((*CellArray)(unsafe.Pointer(p)).FszCell + uintptr(idx)*2)) = (*(*func(*libc.TLS, uintptr, uintptr) U16)(unsafe.Pointer(((*CellArray)(unsafe.Pointer(p)).FpRef + 120 /* &.xCellSize */))))(tls, (*CellArray)(unsafe.Pointer(p)).FpRef, *(*uintptr)(unsafe.Pointer((*CellArray)(unsafe.Pointer(p)).FapCell + uintptr(idx)*8))) + *(*U16)(unsafe.Pointer((*CellArray)(unsafe.Pointer(p)).FszCell + uintptr(idx)*2)) = (*struct { + f func(*libc.TLS, uintptr, uintptr) U16 + })(unsafe.Pointer(&struct{ uintptr }{(*MemPage)(unsafe.Pointer((*CellArray)(unsafe.Pointer(p)).FpRef)).FxCellSize})).f(tls, (*CellArray)(unsafe.Pointer(p)).FpRef, *(*uintptr)(unsafe.Pointer((*CellArray)(unsafe.Pointer(p)).FapCell + uintptr(idx)*8))) } else { } @@ -48095,7 +49238,9 @@ func populateCellCache(tls *libc.TLS, p uintptr, idx int32, N int32) { /* sqlite // Return the size of the Nth element of the cell array func computeCellSize(tls *libc.TLS, p uintptr, N int32) U16 { /* sqlite3.c:72424:28: */ - *(*U16)(unsafe.Pointer((*CellArray)(unsafe.Pointer(p)).FszCell + uintptr(N)*2)) = (*(*func(*libc.TLS, uintptr, uintptr) U16)(unsafe.Pointer(((*CellArray)(unsafe.Pointer(p)).FpRef + 120 /* &.xCellSize */))))(tls, (*CellArray)(unsafe.Pointer(p)).FpRef, *(*uintptr)(unsafe.Pointer((*CellArray)(unsafe.Pointer(p)).FapCell + uintptr(N)*8))) + *(*U16)(unsafe.Pointer((*CellArray)(unsafe.Pointer(p)).FszCell + uintptr(N)*2)) = (*struct { + f func(*libc.TLS, uintptr, uintptr) U16 + })(unsafe.Pointer(&struct{ uintptr }{(*MemPage)(unsafe.Pointer((*CellArray)(unsafe.Pointer(p)).FpRef)).FxCellSize})).f(tls, (*CellArray)(unsafe.Pointer(p)).FpRef, *(*uintptr)(unsafe.Pointer((*CellArray)(unsafe.Pointer(p)).FapCell + uintptr(N)*8))) return *(*U16)(unsafe.Pointer((*CellArray)(unsafe.Pointer(p)).FszCell + uintptr(N)*2)) } @@ -48522,7 +49667,9 @@ func balance_quick(tls *libc.TLS, pParent uintptr, pPage uintptr, pSpace uintptr var pOut uintptr = (pSpace + 4) *(*uintptr)(unsafe.Pointer(bp + 16 /* pCell */)) = *(*uintptr)(unsafe.Pointer((pPage + 40 /* &.apOvfl */))) - *(*U16)(unsafe.Pointer(bp + 24 /* szCell */)) = (*(*func(*libc.TLS, uintptr, uintptr) U16)(unsafe.Pointer((pPage + 120 /* &.xCellSize */))))(tls, pPage, *(*uintptr)(unsafe.Pointer(bp + 16 /* pCell */))) + *(*U16)(unsafe.Pointer(bp + 24 /* szCell */)) = (*struct { + f func(*libc.TLS, uintptr, uintptr) U16 + })(unsafe.Pointer(&struct{ uintptr }{(*MemPage)(unsafe.Pointer(pPage)).FxCellSize})).f(tls, pPage, *(*uintptr)(unsafe.Pointer(bp + 16 /* pCell */))) var pStop uintptr // var b CellArray at bp+32, 104 @@ -48888,13 +50035,17 @@ __16: } *(*uintptr)(unsafe.Pointer(bp + 32 /* &apDiv[0] */ + uintptr(i)*8)) = *(*uintptr)(unsafe.Pointer((pParent + 40 /* &.apOvfl */))) *(*Pgno)(unsafe.Pointer(bp + 272 /* pgno */)) = Xsqlite3Get4byte(tls, *(*uintptr)(unsafe.Pointer(bp + 32 /* &apDiv[0] */ + uintptr(i)*8))) - *(*int32)(unsafe.Pointer(bp + 48 /* &szNew[0] */ + uintptr(i)*4)) = int32((*(*func(*libc.TLS, uintptr, uintptr) U16)(unsafe.Pointer((pParent + 120 /* &.xCellSize */))))(tls, pParent, *(*uintptr)(unsafe.Pointer(bp + 32 /* &apDiv[0] */ + uintptr(i)*8)))) + *(*int32)(unsafe.Pointer(bp + 48 /* &szNew[0] */ + uintptr(i)*4)) = int32((*struct { + f func(*libc.TLS, uintptr, uintptr) U16 + })(unsafe.Pointer(&struct{ uintptr }{(*MemPage)(unsafe.Pointer(pParent)).FxCellSize})).f(tls, pParent, *(*uintptr)(unsafe.Pointer(bp + 32 /* &apDiv[0] */ + uintptr(i)*8)))) (*MemPage)(unsafe.Pointer(pParent)).FnOverflow = U8(0) goto __18 __17: *(*uintptr)(unsafe.Pointer(bp + 32 /* &apDiv[0] */ + uintptr(i)*8)) = ((*MemPage)(unsafe.Pointer((pParent))).FaData + uintptr((int32((*MemPage)(unsafe.Pointer((pParent))).FmaskPage) & int32(libc.X__builtin_bswap16(tls, *(*U16)(unsafe.Pointer(((*MemPage)(unsafe.Pointer((pParent))).FaCellIdx + uintptr((2 * ((i + nxDiv) - int32((*MemPage)(unsafe.Pointer(pParent)).FnOverflow)))))))))))) *(*Pgno)(unsafe.Pointer(bp + 272 /* pgno */)) = Xsqlite3Get4byte(tls, *(*uintptr)(unsafe.Pointer(bp + 32 /* &apDiv[0] */ + uintptr(i)*8))) - *(*int32)(unsafe.Pointer(bp + 48 /* &szNew[0] */ + uintptr(i)*4)) = int32((*(*func(*libc.TLS, uintptr, uintptr) U16)(unsafe.Pointer((pParent + 120 /* &.xCellSize */))))(tls, pParent, *(*uintptr)(unsafe.Pointer(bp + 32 /* &apDiv[0] */ + uintptr(i)*8)))) + *(*int32)(unsafe.Pointer(bp + 48 /* &szNew[0] */ + uintptr(i)*4)) = int32((*struct { + f func(*libc.TLS, uintptr, uintptr) U16 + })(unsafe.Pointer(&struct{ uintptr }{(*MemPage)(unsafe.Pointer(pParent)).FxCellSize})).f(tls, pParent, *(*uintptr)(unsafe.Pointer(bp + 32 /* &apDiv[0] */ + uintptr(i)*8)))) // Drop the cell from the parent page. apDiv[i] still points to // the cell within the parent, even though it has been dropped. @@ -49156,7 +50307,9 @@ __46: if !(j < int32((*MemPage)(unsafe.Pointer(p)).FnOverflow)) { goto __48 } - *(*int32)(unsafe.Pointer(bp + 48 /* &szNew */ + uintptr(i)*4)) += (2 + int32((*(*func(*libc.TLS, uintptr, uintptr) U16)(unsafe.Pointer((p + 120 /* &.xCellSize */))))(tls, p, *(*uintptr)(unsafe.Pointer((p + 40 /* &.apOvfl */) + uintptr(j)*8))))) + *(*int32)(unsafe.Pointer(bp + 48 /* &szNew */ + uintptr(i)*4)) += (2 + int32((*struct { + f func(*libc.TLS, uintptr, uintptr) U16 + })(unsafe.Pointer(&struct{ uintptr }{(*MemPage)(unsafe.Pointer(p)).FxCellSize})).f(tls, p, *(*uintptr)(unsafe.Pointer((p + 40 /* &.apOvfl */) + uintptr(j)*8))))) goto __47 __47: j++ @@ -49660,7 +50813,9 @@ __118: goto __120 } j-- - (*(*func(*libc.TLS, uintptr, uintptr, uintptr))(unsafe.Pointer((pNew2 + 128 /* &.xParseCell */))))(tls, pNew2, *(*uintptr)(unsafe.Pointer((*CellArray)(unsafe.Pointer(bp+96 /* &b */)).FapCell + uintptr(j)*8)), bp+328 /* &info */) + (*struct { + f func(*libc.TLS, uintptr, uintptr, uintptr) + })(unsafe.Pointer(&struct{ uintptr }{(*MemPage)(unsafe.Pointer(pNew2)).FxParseCell})).f(tls, pNew2, *(*uintptr)(unsafe.Pointer((*CellArray)(unsafe.Pointer(bp+96 /* &b */)).FapCell + uintptr(j)*8)), bp+328 /* &info */) pCell1 = pTemp1 sz2 = (4 + Xsqlite3PutVarint(tls, (pCell1+4), uint64((*CellInfo)(unsafe.Pointer(bp+328 /* &info */)).FnKey))) pTemp1 = uintptr(0) @@ -49681,7 +50836,9 @@ __120: goto __122 } - sz2 = int32((*(*func(*libc.TLS, uintptr, uintptr) U16)(unsafe.Pointer((pParent + 120 /* &.xCellSize */))))(tls, pParent, pCell1)) + sz2 = int32((*struct { + f func(*libc.TLS, uintptr, uintptr) U16 + })(unsafe.Pointer(&struct{ uintptr }{(*MemPage)(unsafe.Pointer(pParent)).FxCellSize})).f(tls, pParent, pCell1)) __122: ; __121: @@ -50477,7 +51634,9 @@ __25: if !(((*BtShared)(unsafe.Pointer(pBt)).FautoVacuum != 0) && (*(*int32)(unsafe.Pointer(bp + 108 /* szNew */)) > int32((*MemPage)(unsafe.Pointer(pPage)).FmaxLocal))) { goto __26 } - (*(*func(*libc.TLS, uintptr, uintptr, uintptr))(unsafe.Pointer((pPage + 128 /* &.xParseCell */))))(tls, pPage, newCell, bp+80 /* &info */) + (*struct { + f func(*libc.TLS, uintptr, uintptr, uintptr) + })(unsafe.Pointer(&struct{ uintptr }{(*MemPage)(unsafe.Pointer(pPage)).FxParseCell})).f(tls, pPage, newCell, bp+80 /* &info */) if !((*CellInfo)(unsafe.Pointer(bp+80 /* &info */)).FnPayload != U32((*CellInfo)(unsafe.Pointer(bp+80 /* &info */)).FnLocal)) { goto __27 } @@ -50518,7 +51677,9 @@ __31: libc.Xmemcpy(tls, newCell, oldCell, uint64(4)) __32: ; - (*(*func(*libc.TLS, uintptr, uintptr, uintptr))(unsafe.Pointer((pPage + 128 /* &.xParseCell */))))(tls, pPage, oldCell, bp+112 /* &info1 */) + (*struct { + f func(*libc.TLS, uintptr, uintptr, uintptr) + })(unsafe.Pointer(&struct{ uintptr }{(*MemPage)(unsafe.Pointer(pPage)).FxParseCell})).f(tls, pPage, oldCell, bp+112 /* &info1 */) if !(U32((*CellInfo)(unsafe.Pointer(bp+112 /* &info1 */)).FnLocal) != (*CellInfo)(unsafe.Pointer(bp+112 /* &info1 */)).FnPayload) { goto __33 } @@ -50887,7 +52048,9 @@ func Xsqlite3BtreeDelete(tls *libc.TLS, pCur uintptr, flags U8) int32 { /* sqlit if *(*int32)(unsafe.Pointer(bp + 24 /* rc */)) != 0 { return *(*int32)(unsafe.Pointer(bp + 24 /* rc */)) } - (*(*func(*libc.TLS, uintptr, uintptr, uintptr))(unsafe.Pointer((pPage + 128 /* &.xParseCell */))))(tls, pPage, pCell, bp /* &info */) + (*struct { + f func(*libc.TLS, uintptr, uintptr, uintptr) + })(unsafe.Pointer(&struct{ uintptr }{(*MemPage)(unsafe.Pointer(pPage)).FxParseCell})).f(tls, pPage, pCell, bp /* &info */) if U32((*CellInfo)(unsafe.Pointer(bp /* &info */)).FnLocal) != (*CellInfo)(unsafe.Pointer(bp /* &info */)).FnPayload { *(*int32)(unsafe.Pointer(bp + 24 /* rc */)) = clearCellOverflow(tls, pPage, pCell, bp /* &info */) } else { @@ -50925,7 +52088,9 @@ func Xsqlite3BtreeDelete(tls *libc.TLS, pCur uintptr, flags U8) int32 { /* sqlit if pCell < ((*MemPage)(unsafe.Pointer(pLeaf)).FaData + 4) { return Xsqlite3CorruptError(tls, 74681) } - nCell = int32((*(*func(*libc.TLS, uintptr, uintptr) U16)(unsafe.Pointer((pLeaf + 120 /* &.xCellSize */))))(tls, pLeaf, pCell)) + nCell = int32((*struct { + f func(*libc.TLS, uintptr, uintptr) U16 + })(unsafe.Pointer(&struct{ uintptr }{(*MemPage)(unsafe.Pointer(pLeaf)).FxCellSize})).f(tls, pLeaf, pCell)) pTmp = (*BtShared)(unsafe.Pointer(pBt)).FpTmpSpace @@ -51197,7 +52362,9 @@ __8: ; __7: ; - (*(*func(*libc.TLS, uintptr, uintptr, uintptr))(unsafe.Pointer((*(*uintptr)(unsafe.Pointer(bp /* pPage */)) + 128 /* &.xParseCell */))))(tls, *(*uintptr)(unsafe.Pointer(bp /* pPage */)), pCell, bp+8 /* &info */) + (*struct { + f func(*libc.TLS, uintptr, uintptr, uintptr) + })(unsafe.Pointer(&struct{ uintptr }{(*MemPage)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp /* pPage */)))).FxParseCell})).f(tls, *(*uintptr)(unsafe.Pointer(bp /* pPage */)), pCell, bp+8 /* &info */) if !(U32((*CellInfo)(unsafe.Pointer(bp+8 /* &info */)).FnLocal) != (*CellInfo)(unsafe.Pointer(bp+8 /* &info */)).FnPayload) { goto __9 } @@ -51548,9 +52715,9 @@ func checkAppendMsg(tls *libc.TLS, pCheck uintptr, zFormat uintptr, va uintptr) } (*IntegrityCk)(unsafe.Pointer(pCheck)).FmxErr-- (*IntegrityCk)(unsafe.Pointer(pCheck)).FnErr++ - ap = va + (ap) = va if (*IntegrityCk)(unsafe.Pointer(pCheck)).FerrMsg.FnChar != 0 { - Xsqlite3_str_append(tls, (pCheck + 56 /* &.errMsg */), ts+5945 /* "\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)) @@ -51586,11 +52753,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+5947 /* "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+5970 /* "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 { @@ -51617,13 +52784,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+5995 /* "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+6024, /* "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 */)))) } } @@ -51646,7 +52813,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+6078 /* "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 */))) @@ -51657,7 +52824,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+6100 /* "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++ { @@ -51683,12 +52850,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+6139, /* "%s is %d but sho..." */ + ts+6138, /* "%s is %d but sho..." */ libc.VaList(bp+16, func() uintptr { if isFreeList != 0 { - return ts + 6165 /* "size" */ + return ts + 6164 /* "size" */ } - return ts + 6170 /* "overflow list le..." */ + return ts + 6169 /* "overflow list le..." */ }(), (expected-N), expected)) } @@ -51832,13 +52999,13 @@ __1: return 0 __2: ; - (*IntegrityCk)(unsafe.Pointer(pCheck)).FzPfx = ts + 6191 /* "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+6201 /* "unable to get th..." */, libc.VaList(bp, rc)) + ts+6200 /* "unable to get th..." */, libc.VaList(bp, rc)) goto end_of_check __3: ; @@ -51852,7 +53019,7 @@ __3: } // The only possible error from InitPage checkAppendMsg(tls, pCheck, - ts+6239 /* "btreeInitPage() ..." */, libc.VaList(bp+8, rc)) + ts+6238 /* "btreeInitPage() ..." */, libc.VaList(bp+8, rc)) goto end_of_check __4: ; @@ -51860,7 +53027,7 @@ __4: goto __5 } - checkAppendMsg(tls, pCheck, ts+6277 /* "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: ; @@ -51868,7 +53035,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 + 6299 /* "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() @@ -51890,7 +53057,7 @@ __5: if !((*BtShared)(unsafe.Pointer(pBt)).FautoVacuum != 0) { goto __8 } - (*IntegrityCk)(unsafe.Pointer(pCheck)).FzPfx = ts + 6325 /* "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: ; @@ -51921,18 +53088,20 @@ __9: if !((pc < contentOffset) || (pc > (usableSize - U32(4)))) { goto __12 } - checkAppendMsg(tls, pCheck, ts+6353, /* "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 __12: ; pCell = (data + uintptr(pc)) - (*(*func(*libc.TLS, uintptr, uintptr, uintptr))(unsafe.Pointer((*(*uintptr)(unsafe.Pointer(bp + 96 /* pPage */)) + 128 /* &.xParseCell */))))(tls, *(*uintptr)(unsafe.Pointer(bp + 96 /* pPage */)), pCell, bp+112 /* &info */) + (*struct { + f func(*libc.TLS, uintptr, uintptr, uintptr) + })(unsafe.Pointer(&struct{ uintptr }{(*MemPage)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp + 96 /* pPage */)))).FxParseCell})).f(tls, *(*uintptr)(unsafe.Pointer(bp + 96 /* pPage */)), pCell, bp+112 /* &info */) if !((pc + U32((*CellInfo)(unsafe.Pointer(bp+112 /* &info */)).FnSize)) > usableSize) { goto __13 } - checkAppendMsg(tls, pCheck, ts+6383 /* "Extends off end ..." */, 0) + checkAppendMsg(tls, pCheck, ts+6382 /* "Extends off end ..." */, 0) doCoverageCheck = 0 goto __10 __13: @@ -51950,7 +53119,7 @@ __13: }() != 0) { goto __15 } - checkAppendMsg(tls, pCheck, ts+6407 /* "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 @@ -51991,7 +53160,7 @@ __20: if !(d2 != depth) { goto __21 } - checkAppendMsg(tls, pCheck, ts+6431 /* "Child page depth..." */, 0) + checkAppendMsg(tls, pCheck, ts+6430 /* "Child page depth..." */, 0) depth = d2 __21: ; @@ -52029,7 +53198,9 @@ __24: goto __26 } pc = U32(libc.X__builtin_bswap16(tls, *(*U16)(unsafe.Pointer((data + uintptr((cellStart + (i * 2)))))))) - size = U32((*(*func(*libc.TLS, uintptr, uintptr) U16)(unsafe.Pointer((*(*uintptr)(unsafe.Pointer(bp + 96 /* pPage */)) + 120 /* &.xCellSize */))))(tls, *(*uintptr)(unsafe.Pointer(bp + 96 /* pPage */)), (data + uintptr(pc)))) + size = U32((*struct { + f func(*libc.TLS, uintptr, uintptr) U16 + })(unsafe.Pointer(&struct{ uintptr }{(*MemPage)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp + 96 /* pPage */)))).FxCellSize})).f(tls, *(*uintptr)(unsafe.Pointer(bp + 96 /* pPage */)), (data + uintptr(pc)))) btreeHeapInsert(tls, heap, ((pc << 16) | ((pc + size) - U32(1)))) goto __25 __25: @@ -52089,7 +53260,7 @@ __29: goto __31 } checkAppendMsg(tls, pCheck, - ts+6456 /* "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: @@ -52109,7 +53280,7 @@ __30: goto __33 } checkAppendMsg(tls, pCheck, - ts+6493, /* "Fragmentation of..." */ + ts+6492, /* "Fragmentation of..." */ libc.VaList(bp+72, nFrag, int32(*(*U8)(unsafe.Pointer(data + uintptr((hdr + 7))))), iPage)) __33: ; @@ -52238,7 +53409,7 @@ __6: if !(bCkFreelist != 0) { goto __7 } - (*IntegrityCk)(unsafe.Pointer(bp + 32 /* &sCheck */)).FzPfx = ts + 6545 /* "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) @@ -52276,7 +53447,7 @@ __13: goto __15 } checkAppendMsg(tls, bp+32, /* &sCheck */ - ts+6561, /* "max rootpage (%d..." */ + ts+6560, /* "max rootpage (%d..." */ libc.VaList(bp, mx, mxInHdr)) __15: ; @@ -52286,7 +53457,7 @@ __9: goto __16 } checkAppendMsg(tls, bp+32, /* &sCheck */ - ts+6606 /* "incremental_vacu..." */, 0) + ts+6605 /* "incremental_vacu..." */, 0) __16: ; __10: @@ -52336,13 +53507,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+6661 /* "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+6683 /* "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 @@ -52661,7 +53832,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+952 /* "%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) @@ -52672,7 +53843,7 @@ func findBtree(tls *libc.TLS, pErrorDb uintptr, pDb uintptr, zDb uintptr) uintpt } if i < 0 { - Xsqlite3ErrorWithMsg(tls, pErrorDb, SQLITE_ERROR, ts+6717 /* "unknown database..." */, libc.VaList(bp+8, zDb)) + Xsqlite3ErrorWithMsg(tls, pErrorDb, SQLITE_ERROR, ts+6716 /* "unknown database..." */, libc.VaList(bp+8, zDb)) return uintptr(0) } @@ -52693,7 +53864,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+6737 /* "destination data..." */, 0) + Xsqlite3ErrorWithMsg(tls, db, SQLITE_ERROR, ts+6736 /* "destination data..." */, 0) return SQLITE_ERROR } return SQLITE_OK @@ -52720,7 +53891,7 @@ func Xsqlite3_backup_init(tls *libc.TLS, pDestDb uintptr, zDestDb uintptr, pSrcD if pSrcDb == pDestDb { Xsqlite3ErrorWithMsg(tls, - pDestDb, SQLITE_ERROR, ts+6768 /* "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... @@ -53334,7 +54505,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+6808, /* "%!.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 */))) @@ -53414,7 +54585,7 @@ func Xsqlite3VdbeMemGrow(tls *libc.TLS, pMem uintptr, n int32, bPreserve int32) } if (int32((*Mem)(unsafe.Pointer(pMem)).Fflags) & MEM_Dyn) != 0 { - (*(*func(*libc.TLS, uintptr))(unsafe.Pointer((pMem + 48 /* &.xDel */))))(tls, (*Mem)(unsafe.Pointer(pMem)).Fz) + (*struct{ f func(*libc.TLS, uintptr) })(unsafe.Pointer(&struct{ uintptr }{(*Mem)(unsafe.Pointer(pMem)).FxDel})).f(tls, (*Mem)(unsafe.Pointer(pMem)).Fz) } (*Mem)(unsafe.Pointer(pMem)).Fz = (*Mem)(unsafe.Pointer(pMem)).FzMalloc @@ -53576,7 +54747,7 @@ func Xsqlite3VdbeMemFinalize(tls *libc.TLS, pMem uintptr, pFunc uintptr) int32 { (*Sqlite3_context)(unsafe.Pointer(bp /* &ctx */)).FpOut = bp + 56 /* &t */ (*Sqlite3_context)(unsafe.Pointer(bp /* &ctx */)).FpMem = pMem (*Sqlite3_context)(unsafe.Pointer(bp /* &ctx */)).FpFunc = pFunc - (*(*func(*libc.TLS, uintptr))(unsafe.Pointer((pFunc + 32 /* &.xFinalize */))))(tls, bp /* &ctx */) // IMP: R-24505-23230 + (*struct{ f func(*libc.TLS, uintptr) })(unsafe.Pointer(&struct{ uintptr }{(*FuncDef)(unsafe.Pointer(pFunc)).FxFinalize})).f(tls, bp /* &ctx */) // IMP: R-24505-23230 if (*Mem)(unsafe.Pointer(pMem)).FszMalloc > 0 { Xsqlite3DbFreeNN(tls, (*Mem)(unsafe.Pointer(pMem)).Fdb, (*Mem)(unsafe.Pointer(pMem)).FzMalloc) @@ -53602,7 +54773,7 @@ func Xsqlite3VdbeMemAggValue(tls *libc.TLS, pAccum uintptr, pOut uintptr, pFunc (*Sqlite3_context)(unsafe.Pointer(bp /* &ctx */)).FpOut = pOut (*Sqlite3_context)(unsafe.Pointer(bp /* &ctx */)).FpMem = pAccum (*Sqlite3_context)(unsafe.Pointer(bp /* &ctx */)).FpFunc = pFunc - (*(*func(*libc.TLS, uintptr))(unsafe.Pointer((pFunc + 40 /* &.xValue */))))(tls, bp /* &ctx */) + (*struct{ f func(*libc.TLS, uintptr) })(unsafe.Pointer(&struct{ uintptr }{(*FuncDef)(unsafe.Pointer(pFunc)).FxValue})).f(tls, bp /* &ctx */) return (*Sqlite3_context)(unsafe.Pointer(bp /* &ctx */)).FisError } @@ -53621,7 +54792,7 @@ func vdbeMemClearExternAndSetNull(tls *libc.TLS, p uintptr) { /* sqlite3.c:77496 } if (int32((*Mem)(unsafe.Pointer(p)).Fflags) & MEM_Dyn) != 0 { - (*(*func(*libc.TLS, uintptr))(unsafe.Pointer((p + 48 /* &.xDel */))))(tls, (*Mem)(unsafe.Pointer(p)).Fz) + (*struct{ f func(*libc.TLS, uintptr) })(unsafe.Pointer(&struct{ uintptr }{(*Mem)(unsafe.Pointer(p)).FxDel})).f(tls, (*Mem)(unsafe.Pointer(p)).Fz) } (*Mem)(unsafe.Pointer(p)).Fflags = U16(MEM_Null) } @@ -53828,7 +54999,7 @@ func Xsqlite3VdbeMemNumerify(tls *libc.TLS, pMem uintptr) int32 { /* sqlite3.c:7 rc = Xsqlite3AtoF(tls, (*Mem)(unsafe.Pointer(pMem)).Fz, (pMem /* &.u */ /* &.r */), (*Mem)(unsafe.Pointer(pMem)).Fn, (*Mem)(unsafe.Pointer(pMem)).Fenc) if (((rc == 0) || (rc == 1)) && (Xsqlite3Atoi64(tls, (*Mem)(unsafe.Pointer(pMem)).Fz, bp /* &ix */, (*Mem)(unsafe.Pointer(pMem)).Fn, (*Mem)(unsafe.Pointer(pMem)).Fenc) <= 1)) || - (Xsqlite3RealSameAsInt(tls, *(*float64)(unsafe.Pointer(pMem /* &.u */)), libc.AssignPtrInt64(bp /* ix */, I64(*(*float64)(unsafe.Pointer(pMem /* &.u */))))) != 0) { + (Xsqlite3RealSameAsInt(tls, *(*float64)(unsafe.Pointer(pMem /* &.u */)), libc.AssignPtrInt64(bp /* ix */, libc.Int64FromFloat64(*(*float64)(unsafe.Pointer(pMem /* &.u */))))) != 0) { *(*I64)(unsafe.Pointer(pMem /* &.u */)) = *(*Sqlite3_int64)(unsafe.Pointer(bp /* ix */)) (*Mem)(unsafe.Pointer(pMem)).Fflags = (U16((int32((*Mem)(unsafe.Pointer((pMem))).Fflags) & libc.CplInt32((MEM_TypeMask | MEM_Zero))) | MEM_Int)) } else { @@ -53975,7 +55146,7 @@ func Xsqlite3VdbeMemSetPointer(tls *libc.TLS, pMem uintptr, pPtr uintptr, zPType if zPType != 0 { return zPType } - return ts + 916 /* "" */ + return ts + 915 /* "" */ }() (*Mem)(unsafe.Pointer(pMem)).Fz = pPtr (*Mem)(unsafe.Pointer(pMem)).Fflags = (U16(((MEM_Null | MEM_Dyn) | MEM_Subtype) | MEM_Term)) @@ -54329,11 +55500,11 @@ func Xsqlite3ValueNew(tls *libc.TLS, db uintptr) uintptr { /* sqlite3.c:78293:30 // Context object passed by sqlite3Stat4ProbeSetValue() through to // valueNew(). See comments above valueNew() for details. type ValueNewStat4Ctx = struct { - FpParse uintptr - FpIdx uintptr - FppRec uintptr - FiVal int32 - _ [4]byte + FpParse uintptr + FpIdx uintptr + FppRec uintptr + FiVal int32 + F__ccgo_pad1 [4]byte } /* sqlite3.c:78306:1 */ // Allocate and return a pointer to a new sqlite3_value object. If @@ -54483,12 +55654,14 @@ __9: libc.Xmemset(tls, bp+8 /* &ctx */, 0, uint64(unsafe.Sizeof(Sqlite3_context{}))) (*Sqlite3_context)(unsafe.Pointer(bp + 8 /* &ctx */)).FpOut = pVal (*Sqlite3_context)(unsafe.Pointer(bp + 8 /* &ctx */)).FpFunc = pFunc - (*(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer((pFunc + 24 /* &.xSFunc */))))(tls, bp+8 /* &ctx */, nVal, apVal) + (*struct { + f func(*libc.TLS, uintptr, int32, uintptr) + })(unsafe.Pointer(&struct{ uintptr }{(*FuncDef)(unsafe.Pointer(pFunc)).FxSFunc})).f(tls, bp+8 /* &ctx */, nVal, apVal) if !((*Sqlite3_context)(unsafe.Pointer(bp+8 /* &ctx */)).FisError != 0) { goto __10 } rc = (*Sqlite3_context)(unsafe.Pointer(bp + 8 /* &ctx */)).FisError - Xsqlite3ErrorMsg(tls, (*ValueNewStat4Ctx)(unsafe.Pointer(pCtx)).FpParse, ts+952 /* "%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)) @@ -54560,7 +55733,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 + 916 /* "" */ + zNeg = ts + 915 /* "" */ rc = SQLITE_OK __1: @@ -54609,7 +55782,7 @@ __4: pExpr = (*Expr)(unsafe.Pointer(pExpr)).FpLeft op = int32((*Expr)(unsafe.Pointer(pExpr)).Fop) negInt = -1 - zNeg = ts + 6815 /* "-" */ + zNeg = ts + 6814 /* "-" */ __6: ; @@ -54629,7 +55802,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+6817 /* "%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 } @@ -55087,7 +56260,7 @@ func Xsqlite3VdbeError(tls *libc.TLS, p uintptr, zFormat uintptr, va uintptr) { var ap Va_list _ = ap Xsqlite3DbFree(tls, (*Vdbe)(unsafe.Pointer(p)).Fdb, (*Vdbe)(unsafe.Pointer(p)).FzErrMsg) - ap = va + (ap) = va (*Vdbe)(unsafe.Pointer(p)).FzErrMsg = Xsqlite3VMPrintf(tls, (*Vdbe)(unsafe.Pointer(p)).Fdb, zFormat, ap) _ = ap } @@ -55259,7 +56432,7 @@ func Xsqlite3VdbeMultiLoad(tls *libc.TLS, p uintptr, iDest int32, zTypes uintptr var i int32 var c int8 var z uintptr - ap = va + (ap) = va i = 0 __1: if !((int32(libc.AssignInt8(&c, *(*int8)(unsafe.Pointer(zTypes + uintptr(i)))))) != 0) { @@ -55382,7 +56555,7 @@ func Xsqlite3VdbeExplain(tls *libc.TLS, pParse uintptr, bPush U8, zFmt uintptr, var ap Va_list _ = ap var iThis int32 - ap = va + (ap) = va zMsg = Xsqlite3VMPrintf(tls, (*Parse)(unsafe.Pointer(pParse)).Fdb, zFmt, ap) _ = ap v = (*Parse)(unsafe.Pointer(pParse)).FpVdbe @@ -56051,7 +57224,7 @@ func Xsqlite3VdbeComment(tls *libc.TLS, p uintptr, zFormat uintptr, va uintptr) var ap Va_list _ = ap if p != 0 { - ap = va + (ap) = va vdbeVComment(tls, p, zFormat, ap) _ = ap } @@ -56062,7 +57235,7 @@ func Xsqlite3VdbeNoopComment(tls *libc.TLS, p uintptr, zFormat uintptr, va uintp _ = ap if p != 0 { Xsqlite3VdbeAddOp0(tls, p, OP_Noop) - ap = va + (ap) = va vdbeVComment(tls, p, zFormat, ap) _ = ap } @@ -56143,8 +57316,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+6822 /* "IF " */, uint64(3)) == 0 { - Xsqlite3_snprintf(tls, int32(unsafe.Sizeof([50]int8{})), bp+104 /* &zAlt[0] */, ts+6826 /* "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++ { @@ -56158,24 +57331,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+6840 /* "@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+6843 /* "+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+6846 /* "%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+6849 /* "%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+6856 /* "@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+6846 /* "%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+6849 /* "%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)) @@ -56183,8 +57356,8 @@ func Xsqlite3VdbeDisplayComment(tls *libc.TLS, db uintptr, pOp uintptr, zP4 uint } ii = ii + (3) } else { - Xsqlite3_str_appendf(tls, bp+72 /* &x */, ts+6846 /* "%d" */, libc.VaList(bp+56, v1)) - if (libc.Xstrncmp(tls, ((zSynopsis+uintptr(ii))+uintptr(1)), ts+6860 /* "..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) } } @@ -56194,7 +57367,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+6865 /* "; %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) @@ -56221,34 +57394,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+6870 /* "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 + 916 /* "" */ + zColl = ts + 915 /* "" */ } - if libc.Xstrcmp(tls, zColl, ts+479 /* "BINARY" */) == 0 { - zColl = ts + 6875 /* "B" */ + if libc.Xstrcmp(tls, zColl, ts+478 /* "BINARY" */) == 0 { + zColl = ts + 6874 /* "B" */ } - Xsqlite3_str_appendf(tls, bp+144 /* &x */, ts+6877, /* ",%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 + 6815 /* "-" */ + return ts + 6814 /* "-" */ } - return ts + 916 /* "" */ + return ts + 915 /* "" */ }(), func() uintptr { if (int32(*(*U8)(unsafe.Pointer((*KeyInfo)(unsafe.Pointer(pKeyInfo)).FaSortFlags + uintptr(j)))) & KEYINFO_ORDER_BIGNULL) != 0 { - return ts + 6885 /* "N." */ + return ts + 6884 /* "N." */ } - return ts + 916 /* "" */ + return ts + 915 /* "" */ }(), zColl)) } - Xsqlite3_str_append(tls, bp+144 /* &x */, ts+6888 /* ")" */, 1) + Xsqlite3_str_append(tls, bp+144 /* &x */, ts+6887 /* ")" */, 1) break } @@ -56256,7 +57429,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+6890 /* "%.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 @@ -56264,32 +57437,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+6899 /* "%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+6899 /* "%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+6906 /* "%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+6846 /* "%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+699 /* "%.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 } @@ -56299,14 +57472,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+6906 /* "%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+699 /* "%.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 + 917 /* "NULL" */ + zP4 = ts + 916 /* "NULL" */ } else { - zP4 = ts + 6911 /* "(blob)" */ + zP4 = ts + 6910 /* "(blob)" */ } break @@ -56314,7 +57487,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+6918 /* "vtab:%p" */, libc.VaList(bp+120, pVtab)) + Xsqlite3_str_appendf(tls, bp+144 /* &x */, ts+6917 /* "vtab:%p" */, libc.VaList(bp+120, pVtab)) break } @@ -56325,20 +57498,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+6926 /* "%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+6931 /* "]" */, 1) + Xsqlite3_str_append(tls, bp+144 /* &x */, ts+6930 /* "]" */, 1) break } case -4: { - zP4 = ts + 6933 /* "program" */ + zP4 = ts + 6932 /* "program" */ break } @@ -56370,7 +57543,7 @@ func Xsqlite3VdbeDisplayP4(tls *libc.TLS, db uintptr, pOp uintptr) uintptr { /* return Xsqlite3StrAccumFinish(tls, bp+144 /* &x */) } -var encnames = [4]uintptr{ts + 6941 /* "?" */, ts + 6943 /* "8" */, ts + 6945 /* "16LE" */, ts + 6950 /* "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. // @@ -56915,8 +58088,8 @@ func Xsqlite3VdbeMakeReady(tls *libc.TLS, p uintptr, pParse uintptr) { /* sqlite } var azColName = [12]uintptr{ - ts + 6955 /* "addr" */, ts + 6960 /* "opcode" */, ts + 6967 /* "p1" */, ts + 6970 /* "p2" */, ts + 6973 /* "p3" */, ts + 6976 /* "p4" */, ts + 6979 /* "p5" */, ts + 6982, /* "comment" */ - ts + 6990 /* "id" */, ts + 6993 /* "parent" */, ts + 7000 /* "notused" */, ts + 7008, /* "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 @@ -56946,7 +58119,9 @@ func Xsqlite3VdbeFreeCursor(tls *libc.TLS, p uintptr, pCx uintptr) { /* sqlite3. var pModule uintptr = (*Sqlite3_vtab)(unsafe.Pointer((*Sqlite3_vtab_cursor)(unsafe.Pointer(pVCur)).FpVtab)).FpModule (*Sqlite3_vtab)(unsafe.Pointer((*Sqlite3_vtab_cursor)(unsafe.Pointer(pVCur)).FpVtab)).FnRef-- - (*(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer((pModule + 56 /* &.xClose */))))(tls, pVCur) + (*struct { + f func(*libc.TLS, uintptr) int32 + })(unsafe.Pointer(&struct{ uintptr }{(*Sqlite3_module)(unsafe.Pointer(pModule)).FxClose})).f(tls, pVCur) break } @@ -57115,7 +58290,9 @@ func vdbeCommit(tls *libc.TLS, db uintptr, p uintptr) int32 { /* sqlite3.c:81537 // If there are any write-transactions at all, invoke the commit hook if (needXcommit != 0) && ((*Sqlite3)(unsafe.Pointer(db)).FxCommitCallback != 0) { - rc = (*(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer((db + 280 /* &.xCommitCallback */))))(tls, (*Sqlite3)(unsafe.Pointer(db)).FpCommitArg) + rc = (*struct { + f func(*libc.TLS, uintptr) int32 + })(unsafe.Pointer(&struct{ uintptr }{(*Sqlite3)(unsafe.Pointer(db)).FxCommitCallback})).f(tls, (*Sqlite3)(unsafe.Pointer(db)).FpCommitArg) if rc != 0 { return (SQLITE_CONSTRAINT | (int32(2) << 8)) } @@ -57164,7 +58341,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+7015 /* "%.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 } @@ -57174,16 +58351,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+7027 /* "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+7041 /* "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+7056, /* "-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. @@ -57378,7 +58555,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+7069 /* "FOREIGN KEY cons..." */, 0) + Xsqlite3VdbeError(tls, p, ts+7068 /* "FOREIGN KEY cons..." */, 0) return SQLITE_ERROR } return SQLITE_OK @@ -57660,7 +58837,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 + 952 /* "%s" */ + return ts + 951 /* "%s" */ } return uintptr(0) }(), libc.VaList(bp, (*Vdbe)(unsafe.Pointer(p)).FzErrMsg)) @@ -57713,7 +58890,7 @@ func Xsqlite3VdbeDeleteAuxData(tls *libc.TLS, db uintptr, pp uintptr, iOp int32, (((*AuxData)(unsafe.Pointer(pAux)).FiAuxArg > 31) || !((uint32(mask) & (uint32((uint32(1))) << ((*AuxData)(unsafe.Pointer(pAux)).FiAuxArg))) != 0))) { if (*AuxData)(unsafe.Pointer(pAux)).FxDeleteAux != 0 { - (*(*func(*libc.TLS, uintptr))(unsafe.Pointer((pAux + 16 /* &.xDeleteAux */))))(tls, (*AuxData)(unsafe.Pointer(pAux)).FpAux) + (*struct{ f func(*libc.TLS, uintptr) })(unsafe.Pointer(&struct{ uintptr }{(*AuxData)(unsafe.Pointer(pAux)).FxDeleteAux})).f(tls, (*AuxData)(unsafe.Pointer(pAux)).FpAux) } *(*uintptr)(unsafe.Pointer(pp)) = (*AuxData)(unsafe.Pointer(pAux)).FpNextAux Xsqlite3DbFree(tls, db, pAux) @@ -58256,7 +59433,9 @@ func vdbeCompareMemString(tls *libc.TLS, pMem1 uintptr, pMem2 uintptr, pColl uin if int32((*Mem)(unsafe.Pointer(pMem1)).Fenc) == int32((*CollSeq)(unsafe.Pointer(pColl)).Fenc) { // The strings are already in the correct encoding. Call the // comparison function directly - return (*(*func(*libc.TLS, uintptr, int32, uintptr, int32, uintptr) int32)(unsafe.Pointer((pColl + 24 /* &.xCmp */))))(tls, (*CollSeq)(unsafe.Pointer(pColl)).FpUser, (*Mem)(unsafe.Pointer(pMem1)).Fn, (*Mem)(unsafe.Pointer(pMem1)).Fz, (*Mem)(unsafe.Pointer(pMem2)).Fn, (*Mem)(unsafe.Pointer(pMem2)).Fz) + return (*struct { + f func(*libc.TLS, uintptr, int32, uintptr, int32, uintptr) int32 + })(unsafe.Pointer(&struct{ uintptr }{(*CollSeq)(unsafe.Pointer(pColl)).FxCmp})).f(tls, (*CollSeq)(unsafe.Pointer(pColl)).FpUser, (*Mem)(unsafe.Pointer(pMem1)).Fn, (*Mem)(unsafe.Pointer(pMem1)).Fz, (*Mem)(unsafe.Pointer(pMem2)).Fn, (*Mem)(unsafe.Pointer(pMem2)).Fz) } else { var rc int32 var v1 uintptr @@ -58277,7 +59456,9 @@ func vdbeCompareMemString(tls *libc.TLS, pMem1 uintptr, pMem2 uintptr, pColl uin } rc = 0 } else { - rc = (*(*func(*libc.TLS, uintptr, int32, uintptr, int32, uintptr) int32)(unsafe.Pointer((pColl + 24 /* &.xCmp */))))(tls, (*CollSeq)(unsafe.Pointer(pColl)).FpUser, (*Mem)(unsafe.Pointer(bp /* &c1 */)).Fn, v1, (*Mem)(unsafe.Pointer(bp+56 /* &c2 */)).Fn, v2) + rc = (*struct { + f func(*libc.TLS, uintptr, int32, uintptr, int32, uintptr) int32 + })(unsafe.Pointer(&struct{ uintptr }{(*CollSeq)(unsafe.Pointer(pColl)).FxCmp})).f(tls, (*CollSeq)(unsafe.Pointer(pColl)).FpUser, (*Mem)(unsafe.Pointer(bp /* &c1 */)).Fn, v1, (*Mem)(unsafe.Pointer(bp+56 /* &c2 */)).Fn, v2) } Xsqlite3VdbeMemRelease(tls, bp /* &c1 */) Xsqlite3VdbeMemRelease(tls, bp+56 /* &c2 */) @@ -59212,13 +60393,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 + 7099 /* "a CHECK constrai..." */ + zContext = ts + 7098 /* "a CHECK constrai..." */ } else if (int32((*VdbeOp)(unsafe.Pointer(pOp)).Fp5) & NC_GenCol) != 0 { - zContext = ts + 7118 /* "a generated colu..." */ + zContext = ts + 7117 /* "a generated colu..." */ } else { - zContext = ts + 7137 /* "an index" */ + zContext = ts + 7136 /* "an index" */ } - zMsg = Xsqlite3_mprintf(tls, ts+7146, /* "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) @@ -59299,7 +60480,9 @@ func Xsqlite3VdbePreUpdateHook(tls *libc.TLS, v uintptr, pCsr uintptr, op int32, (*PreUpdate)(unsafe.Pointer(bp /* &preupdate */)).FiBlobWrite = iBlobWrite (*Sqlite3)(unsafe.Pointer(db)).FpPreUpdate = bp /* &preupdate */ - (*(*func(*libc.TLS, uintptr, uintptr, int32, uintptr, uintptr, Sqlite3_int64, Sqlite3_int64))(unsafe.Pointer((db + 336 /* &.xPreUpdateCallback */))))(tls, (*Sqlite3)(unsafe.Pointer(db)).FpPreUpdateArg, db, op, zDb, zTbl, iKey1, iKey2) + (*struct { + f func(*libc.TLS, uintptr, uintptr, int32, uintptr, uintptr, Sqlite3_int64, Sqlite3_int64) + })(unsafe.Pointer(&struct{ uintptr }{(*Sqlite3)(unsafe.Pointer(db)).FxPreUpdateCallback})).f(tls, (*Sqlite3)(unsafe.Pointer(db)).FpPreUpdateArg, db, op, zDb, zTbl, iKey1, iKey2) (*Sqlite3)(unsafe.Pointer(db)).FpPreUpdate = uintptr(0) Xsqlite3DbFree(tls, db, (*PreUpdate)(unsafe.Pointer(bp /* &preupdate */)).FaRecord) vdbeFreeUnpacked(tls, db, (int32((*PreUpdate)(unsafe.Pointer(bp /* &preupdate */)).Fkeyinfo.FnKeyField) + 1), (*PreUpdate)(unsafe.Pointer(bp /* &preupdate */)).FpUnpacked) @@ -59349,7 +60532,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+7182 /* "API called with ..." */, 0) + Xsqlite3_log(tls, SQLITE_MISUSE, ts+7181 /* "API called with ..." */, 0) return 1 } else { return 0 @@ -59359,7 +60542,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+7227 /* "API called with ..." */, 0) + Xsqlite3_log(tls, SQLITE_MISUSE, ts+7226 /* "API called with ..." */, 0) return 1 } else { return vdbeSafety(tls, p) @@ -59380,10 +60563,14 @@ func invokeProfileCallback(tls *libc.TLS, db uintptr, p uintptr) { /* sqlite3.c: Xsqlite3OsCurrentTimeInt64(tls, (*Sqlite3)(unsafe.Pointer(db)).FpVfs, bp /* &iNow */) *(*Sqlite3_int64)(unsafe.Pointer(bp + 8 /* iElapse */)) = ((*(*Sqlite3_int64)(unsafe.Pointer(bp /* iNow */)) - (*Vdbe)(unsafe.Pointer(p)).FstartTime) * int64(1000000)) if (*Sqlite3)(unsafe.Pointer(db)).FxProfile != 0 { - (*(*func(*libc.TLS, uintptr, uintptr, U64))(unsafe.Pointer((db + 256 /* &.xProfile */))))(tls, (*Sqlite3)(unsafe.Pointer(db)).FpProfileArg, (*Vdbe)(unsafe.Pointer(p)).FzSql, uint64(*(*Sqlite3_int64)(unsafe.Pointer(bp + 8 /* iElapse */)))) + (*struct { + f func(*libc.TLS, uintptr, uintptr, U64) + })(unsafe.Pointer(&struct{ uintptr }{(*Sqlite3)(unsafe.Pointer(db)).FxProfile})).f(tls, (*Sqlite3)(unsafe.Pointer(db)).FpProfileArg, (*Vdbe)(unsafe.Pointer(p)).FzSql, uint64(*(*Sqlite3_int64)(unsafe.Pointer(bp + 8 /* iElapse */)))) } if (int32((*Sqlite3)(unsafe.Pointer(db)).FmTrace) & SQLITE_TRACE_PROFILE) != 0 { - (*(*func(*libc.TLS, U32, uintptr, uintptr, uintptr) int32)(unsafe.Pointer((db + 240 /* &.trace */ /* &.xV2 */))))(tls, uint32(SQLITE_TRACE_PROFILE), (*Sqlite3)(unsafe.Pointer(db)).FpTraceArg, p, bp+8 /* &iElapse */) + (*struct { + f func(*libc.TLS, U32, uintptr, uintptr, uintptr) int32 + })(unsafe.Pointer(&struct{ uintptr }{*(*uintptr)(unsafe.Pointer(db + 240 /* &.trace */))})).f(tls, uint32(SQLITE_TRACE_PROFILE), (*Sqlite3)(unsafe.Pointer(db)).FpTraceArg, p, bp+8 /* &iElapse */) } (*Vdbe)(unsafe.Pointer(p)).FstartTime = int64(0) } @@ -59693,7 +60880,7 @@ func invokeValueDestructor(tls *libc.TLS, p uintptr, xDel uintptr, pCtx uintptr) } else if xDel == (libc.UintptrFromInt32(-1)) { // noop } else { - (*(*func(*libc.TLS, uintptr))(unsafe.Pointer(&xDel)))(tls, p) + (*struct{ f func(*libc.TLS, uintptr) })(unsafe.Pointer(&struct{ uintptr }{xDel})).f(tls, p) } Xsqlite3_result_error_toobig(tls, pCtx) return SQLITE_TOOBIG @@ -59829,7 +61016,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+7267 /* "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)) } @@ -59865,7 +61052,9 @@ func doWalCallbacks(tls *libc.TLS, db uintptr) int32 { /* sqlite3.c:84742:12: */ nEntry = Xsqlite3PagerWalCallback(tls, Xsqlite3BtreePager(tls, pBt)) Xsqlite3BtreeLeave(tls, pBt) if ((nEntry > 0) && ((*Sqlite3)(unsafe.Pointer(db)).FxWalCallback != 0)) && (rc == SQLITE_OK) { - rc = (*(*func(*libc.TLS, uintptr, uintptr, uintptr, int32) int32)(unsafe.Pointer((db + 352 /* &.xWalCallback */))))(tls, (*Sqlite3)(unsafe.Pointer(db)).FpWalArg, db, (*Db)(unsafe.Pointer((*Sqlite3)(unsafe.Pointer(db)).FaDb+uintptr(i)*32)).FzDbSName, nEntry) + rc = (*struct { + f func(*libc.TLS, uintptr, uintptr, uintptr, int32) int32 + })(unsafe.Pointer(&struct{ uintptr }{(*Sqlite3)(unsafe.Pointer(db)).FxWalCallback})).f(tls, (*Sqlite3)(unsafe.Pointer(db)).FpWalArg, db, (*Db)(unsafe.Pointer((*Sqlite3)(unsafe.Pointer(db)).FaDb+uintptr(i)*32)).FzDbSName, nEntry) } } } @@ -60272,7 +61461,7 @@ __6: if !((*AuxData)(unsafe.Pointer(pAuxData)).FxDeleteAux != 0) { goto __10 } - (*(*func(*libc.TLS, uintptr))(unsafe.Pointer((pAuxData + 16 /* &.xDeleteAux */))))(tls, (*AuxData)(unsafe.Pointer(pAuxData)).FpAux) + (*struct{ f func(*libc.TLS, uintptr) })(unsafe.Pointer(&struct{ uintptr }{(*AuxData)(unsafe.Pointer(pAuxData)).FxDeleteAux})).f(tls, (*AuxData)(unsafe.Pointer(pAuxData)).FpAux) __10: ; __7: @@ -60286,7 +61475,7 @@ failed: if !(xDelete != 0) { goto __11 } - (*(*func(*libc.TLS, uintptr))(unsafe.Pointer(&xDelete)))(tls, pAux) + (*struct{ f func(*libc.TLS, uintptr) })(unsafe.Pointer(&struct{ uintptr }{xDelete})).f(tls, pAux) __11: } @@ -60580,7 +61769,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+7290 /* "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)) { @@ -60635,7 +61824,7 @@ func bindText(tls *libc.TLS, pStmt uintptr, i int32, zData uintptr, nData I64, x } Xsqlite3_mutex_leave(tls, (*Sqlite3)(unsafe.Pointer((*Vdbe)(unsafe.Pointer(p)).Fdb)).Fmutex) } else if (xDel != (uintptr(0))) && (xDel != (libc.UintptrFromInt32(-1))) { - (*(*func(*libc.TLS, uintptr))(unsafe.Pointer(&xDel)))(tls, zData) + (*struct{ f func(*libc.TLS, uintptr) })(unsafe.Pointer(&struct{ uintptr }{xDel})).f(tls, zData) } return rc } @@ -60694,7 +61883,7 @@ func Xsqlite3_bind_pointer(tls *libc.TLS, pStmt uintptr, i int32, pPtr uintptr, Xsqlite3VdbeMemSetPointer(tls, ((*Vdbe)(unsafe.Pointer(p)).FaVar + uintptr((i-1))*56), pPtr, zPTtype, xDestructor) Xsqlite3_mutex_leave(tls, (*Sqlite3)(unsafe.Pointer((*Vdbe)(unsafe.Pointer(p)).Fdb)).Fmutex) } else if xDestructor != 0 { - (*(*func(*libc.TLS, uintptr))(unsafe.Pointer(&xDestructor)))(tls, pPtr) + (*struct{ f func(*libc.TLS, uintptr) })(unsafe.Pointer(&struct{ uintptr }{xDestructor})).f(tls, pPtr) } return rc } @@ -61357,7 +62546,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+7330 /* "-- " */, 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))) } @@ -61395,11 +62584,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+917 /* "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+6906 /* "%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+6808 /* "%!.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 @@ -61414,21 +62603,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+7334 /* "'%.*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+7341 /* "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+7354 /* "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+7357 /* "%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+7362 /* "'" */, 1) + Xsqlite3_str_append(tls, bp+48 /* &out */, ts+7361 /* "'" */, 1) } } } @@ -64960,7 +66149,9 @@ __187: } nProgressLimit = nProgressLimit + (U64((*Sqlite3)(unsafe.Pointer(db)).FnProgressOps)) - if !((*(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer((db + 512 /* &.xProgress */))))(tls, (*Sqlite3)(unsafe.Pointer(db)).FpProgressArg) != 0) { + if !((*struct { + f func(*libc.TLS, uintptr) int32 + })(unsafe.Pointer(&struct{ uintptr }{(*Sqlite3)(unsafe.Pointer(db)).FxProgress})).f(tls, (*Sqlite3)(unsafe.Pointer(db)).FpProgressArg) != 0) { goto __189 } nProgressLimit = (uint64(0xffffffff) | (U64((uint64(0xffffffff))) << 32)) @@ -65150,19 +66341,19 @@ __192: goto __195 } - Xsqlite3VdbeError(tls, p, ts+7364 /* "%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+7385 /* "%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+952 /* "%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+7392 /* "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) @@ -65562,7 +66753,9 @@ __222: if !((int32((*Sqlite3)(unsafe.Pointer(db)).FmTrace) & SQLITE_TRACE_ROW) != 0) { goto __223 } - (*(*func(*libc.TLS, U32, uintptr, uintptr, uintptr) int32)(unsafe.Pointer((db + 240 /* &.trace */ /* &.xV2 */))))(tls, uint32(SQLITE_TRACE_ROW), (*Sqlite3)(unsafe.Pointer(db)).FpTraceArg, p, uintptr(0)) + (*struct { + f func(*libc.TLS, U32, uintptr, uintptr, uintptr) int32 + })(unsafe.Pointer(&struct{ uintptr }{*(*uintptr)(unsafe.Pointer(db + 240 /* &.trace */))})).f(tls, uint32(SQLITE_TRACE_ROW), (*Sqlite3)(unsafe.Pointer(db)).FpTraceArg, p, uintptr(0)) __223: ; @@ -67713,7 +68906,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+7416 /* "cannot open save..." */, 0) + Xsqlite3VdbeError(tls, p, ts+7415 /* "cannot open save..." */, 0) rc = SQLITE_BUSY goto __450 __449: @@ -67786,7 +68979,7 @@ __457: if !(!(pSavepoint != 0)) { goto __458 } - Xsqlite3VdbeError(tls, p, ts+7467 /* "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: @@ -67796,7 +68989,7 @@ __458: // It is not possible to release (commit) a savepoint if there are // active write statements. Xsqlite3VdbeError(tls, p, - ts+7489 /* "cannot release s..." */, 0) + ts+7488 /* "cannot release s..." */, 0) rc = SQLITE_BUSY goto __461 __460: @@ -68001,7 +69194,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+7543 /* "cannot commit tr..." */, 0) + ts+7542 /* "cannot commit tr..." */, 0) rc = SQLITE_BUSY goto abort_due_to_error goto __493 @@ -68044,13 +69237,13 @@ __488: Xsqlite3VdbeError(tls, p, func() uintptr { if !(desiredAutoCommit != 0) { - return ts + 7598 /* "cannot start a t..." */ + return ts + 7597 /* "cannot start a t..." */ } return func() uintptr { if iRollback != 0 { - return ts + 7646 /* "cannot rollback ..." */ + return ts + 7645 /* "cannot rollback ..." */ } - return ts + 7689 /* "cannot commit - ..." */ + return ts + 7688 /* "cannot commit - ..." */ }() }(), 0) @@ -68168,7 +69361,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+7730 /* "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. @@ -68550,7 +69743,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 + 916 /* "" */ + (*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)) @@ -69871,7 +71064,9 @@ __642: goto __643 } - (*(*func(*libc.TLS, uintptr, int32, uintptr, uintptr, Sqlite_int64))(unsafe.Pointer((db + 312 /* &.xUpdateCallback */))))(tls, (*Sqlite3)(unsafe.Pointer(db)).FpUpdateArg, + (*struct { + f func(*libc.TLS, uintptr, int32, uintptr, uintptr, Sqlite_int64) + })(unsafe.Pointer(&struct{ uintptr }{(*Sqlite3)(unsafe.Pointer(db)).FxUpdateCallback})).f(tls, (*Sqlite3)(unsafe.Pointer(db)).FpUpdateArg, func() int32 { if (int32((*Op)(unsafe.Pointer(pOp)).Fp5) & OPFLAG_ISUPDATE) != 0 { return SQLITE_UPDATE @@ -70019,7 +71214,9 @@ __650: if !(((*Sqlite3)(unsafe.Pointer(db)).FxUpdateCallback != 0) && (((*Table)(unsafe.Pointer((pTab1))).FtabFlags & U32(TF_WithoutRowid)) == U32(0))) { goto __652 } - (*(*func(*libc.TLS, uintptr, int32, uintptr, uintptr, Sqlite_int64))(unsafe.Pointer((db + 312 /* &.xUpdateCallback */))))(tls, (*Sqlite3)(unsafe.Pointer(db)).FpUpdateArg, SQLITE_DELETE, zDb1, (*Table)(unsafe.Pointer(pTab1)).FzName, + (*struct { + f func(*libc.TLS, uintptr, int32, uintptr, uintptr, Sqlite_int64) + })(unsafe.Pointer(&struct{ uintptr }{(*Sqlite3)(unsafe.Pointer(db)).FxUpdateCallback})).f(tls, (*Sqlite3)(unsafe.Pointer(db)).FpUpdateArg, SQLITE_DELETE, zDb1, (*Table)(unsafe.Pointer(pTab1)).FzName, (*VdbeCursor)(unsafe.Pointer(pC11)).FmovetoTarget) __652: @@ -70213,7 +71410,9 @@ __662: pVtab = (*Sqlite3_vtab_cursor)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(pC15 + 56 /* &.uc */)))).FpVtab pModule = (*Sqlite3_vtab)(unsafe.Pointer(pVtab)).FpModule - rc = (*(*func(*libc.TLS, uintptr, uintptr) int32)(unsafe.Pointer((pModule + 96 /* &.xRowid */))))(tls, *(*uintptr)(unsafe.Pointer(pC15 + 56 /* &.uc */)), bp+520 /* &v3 */) + rc = (*struct { + f func(*libc.TLS, uintptr, uintptr) int32 + })(unsafe.Pointer(&struct{ uintptr }{(*Sqlite3_module)(unsafe.Pointer(pModule)).FxRowid})).f(tls, *(*uintptr)(unsafe.Pointer(pC15 + 56 /* &.uc */)), bp+520 /* &v3 */) Xsqlite3VtabImportErrmsg(tls, p, pVtab) if !(rc != 0) { goto __666 @@ -70516,7 +71715,9 @@ __123: // jump // The Next opcode is only used after SeekGT, SeekGE, Rewind, and Found. // The Prev opcode is only used after SeekLT, SeekLE, and Last. - rc = (*(*func(*libc.TLS, uintptr, int32) int32)(unsafe.Pointer((pOp + 16 /* &.p4 */ /* &.xAdvance */))))(tls, *(*uintptr)(unsafe.Pointer(pC20 + 56 /* &.uc */)), (*Op)(unsafe.Pointer(pOp)).Fp3) + rc = (*struct { + f func(*libc.TLS, uintptr, int32) int32 + })(unsafe.Pointer(&struct{ uintptr }{*(*uintptr)(unsafe.Pointer(pOp + 16 /* &.p4 */))})).f(tls, *(*uintptr)(unsafe.Pointer(pC20 + 56 /* &.uc */)), (*Op)(unsafe.Pointer(pOp)).Fp3) next_tail: (*VdbeCursor)(unsafe.Pointer(pC20)).FcacheStatus = U32(CACHE_STALE) @@ -70692,7 +71893,7 @@ __691: if !((*Op)(unsafe.Pointer(pOp)).Fp5 != 0) { goto __694 } - rc = Xsqlite3ReportError(tls, (SQLITE_CORRUPT | (int32(3) << 8)), 92446, ts+7758 /* "index corruption" */) + rc = Xsqlite3ReportError(tls, (SQLITE_CORRUPT | (int32(3) << 8)), 92446, ts+7757 /* "index corruption" */) goto abort_due_to_error __694: ; @@ -71125,14 +72326,14 @@ __139: goto __723 __722: - zSchema = ts + 7775 /* "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+7789, /* "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 @@ -71465,7 +72666,7 @@ __744: goto __749 } rc = SQLITE_ERROR - Xsqlite3VdbeError(tls, p, ts+7832 /* "too many levels ..." */, 0) + Xsqlite3VdbeError(tls, p, ts+7831 /* "too many levels ..." */, 0) goto abort_due_to_error __749: ; @@ -71897,10 +73098,14 @@ __779: if !((*Op)(unsafe.Pointer(pOp)).Fp1 != 0) { goto __783 } - (*(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(((*Sqlite3_context)(unsafe.Pointer(pCtx1)).FpFunc + 48 /* &.xInverse */))))(tls, pCtx1, int32((*Sqlite3_context)(unsafe.Pointer(pCtx1)).Fargc), pCtx1+48 /* &.argv */) + (*struct { + f func(*libc.TLS, uintptr, int32, uintptr) + })(unsafe.Pointer(&struct{ uintptr }{(*FuncDef)(unsafe.Pointer((*Sqlite3_context)(unsafe.Pointer(pCtx1)).FpFunc)).FxInverse})).f(tls, pCtx1, int32((*Sqlite3_context)(unsafe.Pointer(pCtx1)).Fargc), pCtx1+48 /* &.argv */) goto __784 __783: - (*(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(((*Sqlite3_context)(unsafe.Pointer(pCtx1)).FpFunc + 24 /* &.xSFunc */))))(tls, pCtx1, int32((*Sqlite3_context)(unsafe.Pointer(pCtx1)).Fargc), pCtx1+48 /* &.argv */) + (*struct { + f func(*libc.TLS, uintptr, int32, uintptr) + })(unsafe.Pointer(&struct{ uintptr }{(*FuncDef)(unsafe.Pointer((*Sqlite3_context)(unsafe.Pointer(pCtx1)).FpFunc)).FxSFunc})).f(tls, pCtx1, int32((*Sqlite3_context)(unsafe.Pointer(pCtx1)).Fargc), pCtx1+48 /* &.argv */) __784: ; // IMP: R-24505-23230 @@ -71910,7 +73115,7 @@ __784: if !((*Sqlite3_context)(unsafe.Pointer(pCtx1)).FisError > 0) { goto __786 } - Xsqlite3VdbeError(tls, p, ts+952 /* "%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: ; @@ -71988,7 +73193,7 @@ __791: if !(rc != 0) { goto __792 } - Xsqlite3VdbeError(tls, p, ts+952 /* "%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: ; @@ -72103,12 +73308,12 @@ __801: } rc = SQLITE_ERROR Xsqlite3VdbeError(tls, p, - ts+7869, /* "cannot change %s..." */ + ts+7868, /* "cannot change %s..." */ libc.VaList(bp+104, func() uintptr { if eNew == PAGER_JOURNALMODE_WAL { - return ts + 7921 /* "into" */ + return ts + 7920 /* "into" */ } - return ts + 7926 /* "out of" */ + return ts + 7925 /* "out of" */ }())) goto abort_due_to_error goto __804 @@ -72311,7 +73516,7 @@ __169: goto __819 } z1 = *(*uintptr)(unsafe.Pointer(pOp + 16 /* &.p4 */)) - Xsqlite3VdbeError(tls, p, ts+7933 /* "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 @@ -72411,7 +73616,9 @@ __173: __825: ; pModule1 = (*Sqlite3_vtab)(unsafe.Pointer(pVtab1)).FpModule - rc = (*(*func(*libc.TLS, uintptr, uintptr) int32)(unsafe.Pointer((pModule1 + 48 /* &.xOpen */))))(tls, pVtab1, bp+864 /* &pVCur */) + rc = (*struct { + f func(*libc.TLS, uintptr, uintptr) int32 + })(unsafe.Pointer(&struct{ uintptr }{(*Sqlite3_module)(unsafe.Pointer(pModule1)).FxOpen})).f(tls, pVtab1, bp+864 /* &pVCur */) Xsqlite3VtabImportErrmsg(tls, p, pVtab1) if !(rc != 0) { goto __826 @@ -72433,7 +73640,9 @@ __826: goto __828 __827: ; - (*(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer((pModule1 + 56 /* &.xClose */))))(tls, *(*uintptr)(unsafe.Pointer(bp + 864 /* pVCur */))) + (*struct { + f func(*libc.TLS, uintptr) int32 + })(unsafe.Pointer(&struct{ uintptr }{(*Sqlite3_module)(unsafe.Pointer(pModule1)).FxClose})).f(tls, *(*uintptr)(unsafe.Pointer(bp + 864 /* pVCur */))) goto no_mem __828: ; @@ -72488,7 +73697,9 @@ __830: goto __831 __831: ; - rc = (*(*func(*libc.TLS, uintptr, int32, uintptr, int32, uintptr) int32)(unsafe.Pointer((pModule2 + 64 /* &.xFilter */))))(tls, pVCur1, iQuery, *(*uintptr)(unsafe.Pointer(pOp + 16 /* &.p4 */)), nArg, apArg) + rc = (*struct { + f func(*libc.TLS, uintptr, int32, uintptr, int32, uintptr) int32 + })(unsafe.Pointer(&struct{ uintptr }{(*Sqlite3_module)(unsafe.Pointer(pModule2)).FxFilter})).f(tls, pVCur1, iQuery, *(*uintptr)(unsafe.Pointer(pOp + 16 /* &.p4 */)), nArg, apArg) Xsqlite3VtabImportErrmsg(tls, p, pVtab2) if !(rc != 0) { goto __832 @@ -72496,7 +73707,9 @@ __831: goto abort_due_to_error __832: ; - res13 = (*(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer((pModule2 + 80 /* &.xEof */))))(tls, pVCur1) + res13 = (*struct { + f func(*libc.TLS, uintptr) int32 + })(unsafe.Pointer(&struct{ uintptr }{(*Sqlite3_module)(unsafe.Pointer(pModule2)).FxEof})).f(tls, pVCur1) (*VdbeCursor)(unsafe.Pointer(pCur3)).FnullRow = U8(0) if !(res13 != 0) { @@ -72550,12 +73763,14 @@ __835: (*Mem)(unsafe.Pointer(pDest2)).Fflags = (U16((int32((*Mem)(unsafe.Pointer((pDest2))).Fflags) & libc.CplInt32((MEM_TypeMask | MEM_Zero))) | MEM_Null)) __836: ; - rc = (*(*func(*libc.TLS, uintptr, uintptr, int32) int32)(unsafe.Pointer((pModule3 + 88 /* &.xColumn */))))(tls, *(*uintptr)(unsafe.Pointer(pCur4 + 56 /* &.uc */)), bp+872 /* &sContext */, (*Op)(unsafe.Pointer(pOp)).Fp2) + rc = (*struct { + f func(*libc.TLS, uintptr, uintptr, int32) int32 + })(unsafe.Pointer(&struct{ uintptr }{(*Sqlite3_module)(unsafe.Pointer(pModule3)).FxColumn})).f(tls, *(*uintptr)(unsafe.Pointer(pCur4 + 56 /* &.uc */)), bp+872 /* &sContext */, (*Op)(unsafe.Pointer(pOp)).Fp2) Xsqlite3VtabImportErrmsg(tls, p, pVtab3) if !((*Sqlite3_context)(unsafe.Pointer(bp+872 /* &sContext */)).FisError > 0) { goto __837 } - Xsqlite3VdbeError(tls, p, ts+952 /* "%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: ; @@ -72601,7 +73816,9 @@ __840: // xNext(). Instead, if an error occurs, true is returned (indicating that // data is available) and the error code returned when xColumn or // some other method is next invoked on the save virtual table cursor. - rc = (*(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer((pModule4 + 72 /* &.xNext */))))(tls, *(*uintptr)(unsafe.Pointer(pCur5 + 56 /* &.uc */))) + rc = (*struct { + f func(*libc.TLS, uintptr) int32 + })(unsafe.Pointer(&struct{ uintptr }{(*Sqlite3_module)(unsafe.Pointer(pModule4)).FxNext})).f(tls, *(*uintptr)(unsafe.Pointer(pCur5 + 56 /* &.uc */))) Xsqlite3VtabImportErrmsg(tls, p, pVtab4) if !(rc != 0) { goto __841 @@ -72609,7 +73826,9 @@ __840: goto abort_due_to_error __841: ; - res14 = (*(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer((pModule4 + 80 /* &.xEof */))))(tls, *(*uintptr)(unsafe.Pointer(pCur5 + 56 /* &.uc */))) + res14 = (*struct { + f func(*libc.TLS, uintptr) int32 + })(unsafe.Pointer(&struct{ uintptr }{(*Sqlite3_module)(unsafe.Pointer(pModule4)).FxEof})).f(tls, *(*uintptr)(unsafe.Pointer(pCur5 + 56 /* &.uc */))) if !(!(res14 != 0)) { goto __842 @@ -72639,7 +73858,9 @@ __177: goto abort_due_to_error __843: ; - rc = (*(*func(*libc.TLS, uintptr, uintptr) int32)(unsafe.Pointer(((*Sqlite3_vtab)(unsafe.Pointer(pVtab5)).FpModule + 152 /* &.xRename */))))(tls, pVtab5, (*Mem)(unsafe.Pointer(pName)).Fz) + rc = (*struct { + f func(*libc.TLS, uintptr, uintptr) int32 + })(unsafe.Pointer(&struct{ uintptr }{(*Sqlite3_module)(unsafe.Pointer((*Sqlite3_vtab)(unsafe.Pointer(pVtab5)).FpModule)).FxRename})).f(tls, pVtab5, (*Mem)(unsafe.Pointer(pName)).Fz) if !(isLegacy == 0) { goto __844 } @@ -72725,7 +73946,9 @@ __850: __851: ; (*Sqlite3)(unsafe.Pointer(db)).FvtabOnConflict = U8((*Op)(unsafe.Pointer(pOp)).Fp5) - rc = (*(*func(*libc.TLS, uintptr, int32, uintptr, uintptr) int32)(unsafe.Pointer((pModule5 + 104 /* &.xUpdate */))))(tls, pVtab6, nArg1, apArg1, bp+928 /* &rowid1 */) + rc = (*struct { + f func(*libc.TLS, uintptr, int32, uintptr, uintptr) int32 + })(unsafe.Pointer(&struct{ uintptr }{(*Sqlite3_module)(unsafe.Pointer(pModule5)).FxUpdate})).f(tls, pVtab6, nArg1, apArg1, bp+928 /* &rowid1 */) (*Sqlite3)(unsafe.Pointer(db)).FvtabOnConflict = vtabOnConflict Xsqlite3VtabImportErrmsg(tls, p, pVtab6) if !((rc == SQLITE_OK) && ((*Op)(unsafe.Pointer(pOp)).Fp1 != 0)) { @@ -72879,7 +74102,9 @@ __860: (*Mem)(unsafe.Pointer(pOut)).Fflags = (U16((int32((*Mem)(unsafe.Pointer((pOut))).Fflags) & libc.CplInt32((MEM_TypeMask | MEM_Zero))) | MEM_Null)) - (*(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer(((*Sqlite3_context)(unsafe.Pointer(pCtx2)).FpFunc + 24 /* &.xSFunc */))))(tls, pCtx2, int32((*Sqlite3_context)(unsafe.Pointer(pCtx2)).Fargc), pCtx2+48 /* &.argv */) // IMP: R-24505-23230 + (*struct { + f func(*libc.TLS, uintptr, int32, uintptr) + })(unsafe.Pointer(&struct{ uintptr }{(*FuncDef)(unsafe.Pointer((*Sqlite3_context)(unsafe.Pointer(pCtx2)).FpFunc)).FxSFunc})).f(tls, pCtx2, int32((*Sqlite3_context)(unsafe.Pointer(pCtx2)).Fargc), pCtx2+48 /* &.argv */) // IMP: R-24505-23230 // If the function returned an error, throw an exception if !((*Sqlite3_context)(unsafe.Pointer(pCtx2)).FisError != 0) { @@ -72888,7 +74113,7 @@ __860: if !((*Sqlite3_context)(unsafe.Pointer(pCtx2)).FisError > 0) { goto __865 } - Xsqlite3VdbeError(tls, p, ts+952 /* "%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: ; @@ -72972,19 +74197,25 @@ __184: goto __870 } z2 = Xsqlite3VdbeExpandSql(tls, p, zTrace) - (*(*func(*libc.TLS, uintptr, uintptr))(unsafe.Pointer((db + 240 /* &.trace */ /* &.xLegacy */))))(tls, (*Sqlite3)(unsafe.Pointer(db)).FpTraceArg, z2) + (*struct { + f func(*libc.TLS, uintptr, uintptr) + })(unsafe.Pointer(&struct{ uintptr }{*(*uintptr)(unsafe.Pointer(db + 240 /* &.trace */))})).f(tls, (*Sqlite3)(unsafe.Pointer(db)).FpTraceArg, z2) Xsqlite3_free(tls, z2) goto __871 __870: if !((*Sqlite3)(unsafe.Pointer(db)).FnVdbeExec > 1) { goto __872 } - z3 = Xsqlite3MPrintf(tls, db, ts+7962 /* "-- %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) + z3 = Xsqlite3MPrintf(tls, db, ts+7961 /* "-- %s" */, libc.VaList(bp+136, zTrace)) + (*struct { + f func(*libc.TLS, U32, uintptr, uintptr, uintptr) int32 + })(unsafe.Pointer(&struct{ uintptr }{*(*uintptr)(unsafe.Pointer(db + 240 /* &.trace */))})).f(tls, uint32(SQLITE_TRACE_STMT), (*Sqlite3)(unsafe.Pointer(db)).FpTraceArg, p, z3) Xsqlite3DbFree(tls, db, z3) goto __873 __872: - (*(*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, zTrace) + (*struct { + f func(*libc.TLS, U32, uintptr, uintptr, uintptr) int32 + })(unsafe.Pointer(&struct{ uintptr }{*(*uintptr)(unsafe.Pointer(db + 240 /* &.trace */))})).f(tls, uint32(SQLITE_TRACE_STMT), (*Sqlite3)(unsafe.Pointer(db)).FpTraceArg, p, zTrace) __873: ; __871: @@ -73082,13 +74313,13 @@ __881: if !(((*Vdbe)(unsafe.Pointer(p)).FzErrMsg == uintptr(0)) && (rc != (SQLITE_IOERR | (int32(12) << 8)))) { goto __883 } - Xsqlite3VdbeError(tls, p, ts+952 /* "%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+7968, /* "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))) { @@ -73114,7 +74345,9 @@ __886: goto __887 } nProgressLimit = nProgressLimit + (U64((*Sqlite3)(unsafe.Pointer(db)).FnProgressOps)) - if !((*(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer((db + 512 /* &.xProgress */))))(tls, (*Sqlite3)(unsafe.Pointer(db)).FpProgressArg) != 0) { + if !((*struct { + f func(*libc.TLS, uintptr) int32 + })(unsafe.Pointer(&struct{ uintptr }{(*Sqlite3)(unsafe.Pointer(db)).FxProgress})).f(tls, (*Sqlite3)(unsafe.Pointer(db)).FpProgressArg) != 0) { goto __888 } nProgressLimit = (uint64(0xffffffff) | (U64((uint64(0xffffffff))) << 32)) @@ -73133,14 +74366,14 @@ __887: // Jump to here if a string or blob larger than SQLITE_MAX_LENGTH // is encountered. too_big: - Xsqlite3VdbeError(tls, p, ts+7267 /* "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+8000 /* "out of memory" */, 0) + Xsqlite3VdbeError(tls, p, ts+7999 /* "out of memory" */, 0) rc = SQLITE_NOMEM goto abort_due_to_error @@ -73153,8 +74386,8 @@ abort_due_to_interrupt: return int32(0) } -var azType = [4]uintptr{ts + 8014 /* "NOT NULL" */, ts + 8023 /* "UNIQUE" */, ts + 8030, /* "CHECK" */ - ts + 8036 /* "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 */ @@ -73180,15 +74413,15 @@ var vfsFlags int32 = ((((SQLITE_OPEN_READWRITE | SQLITE_OPEN_CREATE) | SQLITE_OP // Valid sqlite3_blob* handles point to Incrblob structures. type Incrblob1 = struct { - FnByte int32 - FiOffset int32 - FiCol U16 - _ [6]byte - FpCsr uintptr - FpStmt uintptr - Fdb uintptr - FzDb uintptr - FpTab uintptr + FnByte int32 + FiOffset int32 + FiCol U16 + F__ccgo_pad1 [6]byte + FpCsr uintptr + FpStmt uintptr + Fdb uintptr + FzDb uintptr + FpTab uintptr } /* sqlite3.c:94829:9 */ //************* End of vdbe.c *********************************************** @@ -73261,16 +74494,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+8048, /* "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 + 8077 /* "null" */ + return ts + 8076 /* "null" */ } return func() uintptr { if type1 == U32(7) { - return ts + 8082 /* "real" */ + return ts + 8081 /* "real" */ } - return ts + 8087 /* "integer" */ + return ts + 8086 /* "integer" */ }() }())) rc = SQLITE_ERROR @@ -73290,10 +74523,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+8095 /* "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+952 /* "%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))) } } @@ -73356,21 +74589,21 @@ __4: goto __5 } pTab = uintptr(0) - Xsqlite3ErrorMsg(tls, bp+48 /* &sParse */, ts+8115 /* "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+8145 /* "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+8181 /* "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)) { @@ -73415,7 +74648,7 @@ __12: goto __14 } Xsqlite3DbFree(tls, db, *(*uintptr)(unsafe.Pointer(bp + 456 /* zErr */))) - *(*uintptr)(unsafe.Pointer(bp + 456 /* zErr */)) = Xsqlite3MPrintf(tls, db, ts+8202 /* "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 @@ -73444,7 +74677,7 @@ __20: if !((*sColMap)(unsafe.Pointer((pFKey+64 /* &.aCol */)+uintptr(j)*16)).FiFrom == iCol) { goto __23 } - zFault = ts + 8223 /* "foreign key" */ + zFault = ts + 8222 /* "foreign key" */ __23: ; goto __21 @@ -73477,7 +74710,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 + 8235 /* "indexed" */ + zFault = ts + 8234 /* "indexed" */ __30: ; goto __28 @@ -73498,7 +74731,7 @@ __26: goto __31 } Xsqlite3DbFree(tls, db, *(*uintptr)(unsafe.Pointer(bp + 456 /* zErr */))) - *(*uintptr)(unsafe.Pointer(bp + 456 /* zErr */)) = Xsqlite3MPrintf(tls, db, ts+8243 /* "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 @@ -73607,7 +74840,7 @@ __38: ; Xsqlite3ErrorWithMsg(tls, db, rc, func() uintptr { if *(*uintptr)(unsafe.Pointer(bp + 456 /* zErr */)) != 0 { - return ts + 952 /* "%s" */ + return ts + 951 /* "%s" */ } return uintptr(0) }(), libc.VaList(bp+40, *(*uintptr)(unsafe.Pointer(bp + 456 /* zErr */)))) @@ -73697,7 +74930,9 @@ func blobReadWrite(tls *libc.TLS, pBlob uintptr, z uintptr, n int32, iOffset int v, *(*uintptr)(unsafe.Pointer((*Vdbe)(unsafe.Pointer(v)).FapCsr)), SQLITE_DELETE, (*Incrblob)(unsafe.Pointer(p)).FzDb, (*Incrblob)(unsafe.Pointer(p)).FpTab, iKey, -1, int32((*Incrblob)(unsafe.Pointer(p)).FiCol)) } - rc = (*(*func(*libc.TLS, uintptr, U32, U32, uintptr) int32)(unsafe.Pointer(&xCall)))(tls, (*Incrblob)(unsafe.Pointer(p)).FpCsr, (uint32(iOffset + (*Incrblob)(unsafe.Pointer(p)).FiOffset)), uint32(n), z) + rc = (*struct { + f func(*libc.TLS, uintptr, U32, U32, uintptr) int32 + })(unsafe.Pointer(&struct{ uintptr }{xCall})).f(tls, (*Incrblob)(unsafe.Pointer(p)).FpCsr, (uint32(iOffset + (*Incrblob)(unsafe.Pointer(p)).FiOffset)), uint32(n), z) Xsqlite3BtreeLeaveCursor(tls, (*Incrblob)(unsafe.Pointer(p)).FpCsr) if rc == SQLITE_ABORT { Xsqlite3VdbeFinalize(tls, v) @@ -73772,7 +75007,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 + 952 /* "%s" */ + return ts + 951 /* "%s" */ } return uintptr(0) }(), libc.VaList(bp, *(*uintptr)(unsafe.Pointer(bp + 8 /* zErr */)))) @@ -73937,11 +75172,11 @@ func Xsqlite3_blob_reopen(tls *libc.TLS, pBlob uintptr, iRow Sqlite3_int64) int3 // Private objects used by the sorter type MergeEngine1 = struct { - FnTree int32 - _ [4]byte - FpTask uintptr - FaTree uintptr - FaReadr uintptr + FnTree int32 + F__ccgo_pad1 [4]byte + FpTask uintptr + FaTree uintptr + FaReadr uintptr } /* sqlite3.c:21218:9 */ //************* End of vdbeblob.c ******************************************* @@ -74095,56 +75330,56 @@ type MergeEngine1 = struct { // Private objects used by the sorter type MergeEngine = MergeEngine1 /* sqlite3.c:95477:28 */ // Merge PMAs together type PmaReader1 = struct { - FiReadOff I64 - FiEof I64 - FnAlloc int32 - FnKey int32 - FpFd uintptr - FaAlloc uintptr - FaKey uintptr - FaBuffer uintptr - FnBuffer int32 - _ [4]byte - FaMap uintptr - FpIncr uintptr + FiReadOff I64 + FiEof I64 + FnAlloc int32 + FnKey int32 + FpFd uintptr + FaAlloc uintptr + FaKey uintptr + FaBuffer uintptr + FnBuffer int32 + F__ccgo_pad1 [4]byte + FaMap uintptr + FpIncr uintptr } /* sqlite3.c:21218:9 */ // Merge PMAs together type PmaReader = PmaReader1 /* sqlite3.c:95478:26 */ // Incrementally read one PMA type PmaWriter1 = struct { - FeFWErr int32 - _ [4]byte - FaBuffer uintptr - FnBuffer int32 - FiBufStart int32 - FiBufEnd int32 - _ [4]byte - FiWriteOff I64 - FpFd uintptr + FeFWErr int32 + F__ccgo_pad1 [4]byte + FaBuffer uintptr + FnBuffer int32 + FiBufStart int32 + FiBufEnd int32 + F__ccgo_pad2 [4]byte + FiWriteOff I64 + FpFd uintptr } /* sqlite3.c:95479:9 */ // Incrementally read one PMA type PmaWriter = PmaWriter1 /* sqlite3.c:95479:26 */ // Incrementally write one PMA type SorterRecord1 = struct { - FnVal int32 - _ [4]byte - Fu struct{ FpNext uintptr } + FnVal int32 + F__ccgo_pad1 [4]byte + Fu struct{ FpNext uintptr } } /* sqlite3.c:21218:9 */ // Incrementally write one PMA type SorterRecord = SorterRecord1 /* sqlite3.c:95480:29 */ // A record being sorted type SortSubtask1 = struct { - FpThread uintptr - FbDone int32 - _ [4]byte - FpSorter uintptr - FpUnpacked uintptr - Flist SorterList - FnPMA int32 - _ [4]byte - FxCompare SorterCompare - Ffile SorterFile - Ffile2 SorterFile + FpThread uintptr + FbDone int32 + F__ccgo_pad1 [4]byte + FpSorter uintptr + FpUnpacked uintptr + Flist SorterList + FnPMA int32 + F__ccgo_pad2 [4]byte + FxCompare SorterCompare + Ffile SorterFile + Ffile2 SorterFile } /* sqlite3.c:21218:9 */ // A record being sorted @@ -74157,23 +75392,23 @@ type SorterFile1 = struct { // A sub-task in the sort process type SorterFile = SorterFile1 /* sqlite3.c:95482:27 */ // Temporary file object wrapper type SorterList1 = struct { - FpList uintptr - FaMemory uintptr - FszPMA int32 - _ [4]byte + FpList uintptr + FaMemory uintptr + FszPMA int32 + F__ccgo_pad1 [4]byte } /* sqlite3.c:21218:9 */ // Temporary file object wrapper type SorterList = SorterList1 /* sqlite3.c:95483:27 */ // In-memory list of records type IncrMerger1 = struct { - FpTask uintptr - FpMerger uintptr - FiStartOff I64 - FmxSz int32 - FbEof int32 - FbUseThread int32 - _ [4]byte - FaFile [2]SorterFile + FpTask uintptr + FpMerger uintptr + FiStartOff I64 + FmxSz int32 + FbEof int32 + FbUseThread int32 + F__ccgo_pad1 [4]byte + FaFile [2]SorterFile } /* sqlite3.c:21218:9 */ // In-memory list of records @@ -74983,7 +76218,9 @@ func vdbeSorterMerge(tls *libc.TLS, pTask uintptr, p1 uintptr, p2 uintptr) uintp for { var res int32 - res = (*(*func(*libc.TLS, uintptr, uintptr, uintptr, int32, uintptr, int32) int32)(unsafe.Pointer((pTask + 64 /* &.xCompare */))))(tls, + res = (*struct { + f func(*libc.TLS, uintptr, uintptr, uintptr, int32, uintptr, int32) int32 + })(unsafe.Pointer(&struct{ uintptr }{(*SortSubtask)(unsafe.Pointer(pTask)).FxCompare})).f(tls, pTask, bp+8 /* &bCached */, ((p1) + uintptr(1)*16), (*SorterRecord)(unsafe.Pointer(p1)).FnVal, ((p2) + uintptr(1)*16), (*SorterRecord)(unsafe.Pointer(p2)).FnVal) if res <= 0 { @@ -75254,7 +76491,9 @@ func vdbeMergeEngineStep(tls *libc.TLS, pMerger uintptr, pbEof uintptr) int32 { } else if (*PmaReader)(unsafe.Pointer(pReadr2)).FpFd == uintptr(0) { iRes = -1 } else { - iRes = (*(*func(*libc.TLS, uintptr, uintptr, uintptr, int32, uintptr, int32) int32)(unsafe.Pointer((pTask + 64 /* &.xCompare */))))(tls, pTask, bp, /* &bCached */ + iRes = (*struct { + f func(*libc.TLS, uintptr, uintptr, uintptr, int32, uintptr, int32) int32 + })(unsafe.Pointer(&struct{ uintptr }{(*SortSubtask)(unsafe.Pointer(pTask)).FxCompare})).f(tls, pTask, bp, /* &bCached */ (*PmaReader)(unsafe.Pointer(pReadr1)).FaKey, (*PmaReader)(unsafe.Pointer(pReadr1)).FnKey, (*PmaReader)(unsafe.Pointer(pReadr2)).FaKey, (*PmaReader)(unsafe.Pointer(pReadr2)).FnKey) } @@ -75663,7 +76902,9 @@ func vdbeMergeEngineCompare(tls *libc.TLS, pMerger uintptr, iOut int32) { /* sql *(*int32)(unsafe.Pointer(bp /* bCached */)) = 0 var res int32 // from vdbeSortSubtaskMain() - res = (*(*func(*libc.TLS, uintptr, uintptr, uintptr, int32, uintptr, int32) int32)(unsafe.Pointer((pTask + 64 /* &.xCompare */))))(tls, + res = (*struct { + f func(*libc.TLS, uintptr, uintptr, uintptr, int32, uintptr, int32) int32 + })(unsafe.Pointer(&struct{ uintptr }{(*SortSubtask)(unsafe.Pointer(pTask)).FxCompare})).f(tls, pTask, bp /* &bCached */, (*PmaReader)(unsafe.Pointer(p1)).FaKey, (*PmaReader)(unsafe.Pointer(p1)).FnKey, (*PmaReader)(unsafe.Pointer(p2)).FaKey, (*PmaReader)(unsafe.Pointer(p2)).FnKey) if res <= 0 { iRes = i1 @@ -76321,7 +77562,7 @@ type bytecodevtab = struct { Fbase Sqlite3_vtab Fdb uintptr FbTablesUsed int32 - _ [4]byte + F__ccgo_pad1 [4]byte } /* sqlite3.c:98106:9 */ //************* End of vdbesort.c ******************************************* @@ -76375,11 +77616,11 @@ func bytecodevtabConnect(tls *libc.TLS, db uintptr, pAux uintptr, argc int32, ar *(*[2]uintptr)(unsafe.Pointer(bp /* azSchema */)) = [2]uintptr{ // bytecode() schema - ts + 8277, /* "CREATE TABLE x(a..." */ + ts + 8276, /* "CREATE TABLE x(a..." */ // Tables_used() schema - ts + 8389, /* "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))) @@ -76503,7 +77744,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 + 8470 /* "table" */ + (*Bytecodevtab_cursor)(unsafe.Pointer(pCur)).FzType = ts + 8469 /* "table" */ break } } @@ -76512,7 +77753,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 + 8476 /* "index" */ + (*Bytecodevtab_cursor)(unsafe.Pointer(pCur)).FzType = ts + 8475 /* "index" */ } } } @@ -76562,7 +77803,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+8482 /* "(FK)" */, 4, uintptr(0)) + Xsqlite3_result_text(tls, ctx, ts+8481 /* "(FK)" */, 4, uintptr(0)) } break @@ -76617,16 +77858,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+8487 /* "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+8500, /* "argument to %s()..." */ + ts+8499, /* "argument to %s()..." */ libc.VaList(bp, func() uintptr { if (*Bytecodevtab)(unsafe.Pointer(pVTab)).FbTablesUsed != 0 { - return ts + 8546 /* "tables_used" */ + return ts + 8545 /* "tables_used" */ } - return ts + 8558 /* "bytecode" */ + return ts + 8557 /* "bytecode" */ }())) rc = SQLITE_ERROR } else { @@ -76705,9 +77946,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+8558 /* "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+8546 /* "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 } @@ -76741,16 +77982,16 @@ func Xsqlite3VdbeBytecodeVtabInit(tls *libc.TLS, db uintptr) int32 { /* sqlite3. // Forward references to internal structures type MemJournal1 = struct { - FpMethod uintptr - FnChunkSize int32 - FnSpill int32 - FpFirst uintptr - Fendpoint FilePoint - Freadpoint FilePoint - Fflags int32 - _ [4]byte - FpVfs uintptr - FzJournal uintptr + FpMethod uintptr + FnChunkSize int32 + FnSpill int32 + FpFirst uintptr + Fendpoint FilePoint + Freadpoint FilePoint + Fflags int32 + F__ccgo_pad1 [4]byte + FpVfs uintptr + FzJournal uintptr } /* sqlite3.c:98540:9 */ //************* End of vdbevtab.c ******************************************* @@ -77147,7 +78388,9 @@ func walkExpr(tls *libc.TLS, pWalker uintptr, pExpr uintptr) int32 { /* sqlite3. var rc int32 for 1 != 0 { - rc = (*(*func(*libc.TLS, uintptr, uintptr) int32)(unsafe.Pointer((pWalker + 8 /* &.xExprCallback */))))(tls, pWalker, pExpr) + rc = (*struct { + f func(*libc.TLS, uintptr, uintptr) int32 + })(unsafe.Pointer(&struct{ uintptr }{(*Walker)(unsafe.Pointer(pWalker)).FxExprCallback})).f(tls, pWalker, pExpr) if rc != 0 { return (rc & WRC_Abort) } @@ -77331,7 +78574,9 @@ func Xsqlite3WalkSelect(tls *libc.TLS, pWalker uintptr, p uintptr) int32 { /* sq return WRC_Continue } for ok := true; ok; ok = (p != uintptr(0)) { - rc = (*(*func(*libc.TLS, uintptr, uintptr) int32)(unsafe.Pointer((pWalker + 16 /* &.xSelectCallback */))))(tls, pWalker, p) + rc = (*struct { + f func(*libc.TLS, uintptr, uintptr) int32 + })(unsafe.Pointer(&struct{ uintptr }{(*Walker)(unsafe.Pointer(pWalker)).FxSelectCallback})).f(tls, pWalker, p) if rc != 0 { return (rc & WRC_Abort) } @@ -77340,7 +78585,9 @@ func Xsqlite3WalkSelect(tls *libc.TLS, pWalker uintptr, p uintptr) int32 { /* sq return WRC_Abort } if (*Walker)(unsafe.Pointer(pWalker)).FxSelectCallback2 != 0 { - (*(*func(*libc.TLS, uintptr, uintptr))(unsafe.Pointer((pWalker + 24 /* &.xSelectCallback2 */))))(tls, pWalker, p) + (*struct { + f func(*libc.TLS, uintptr, uintptr) + })(unsafe.Pointer(&struct{ uintptr }{(*Walker)(unsafe.Pointer(pWalker)).FxSelectCallback2})).f(tls, pWalker, p) } p = (*Select)(unsafe.Pointer(p)).FpPrior } @@ -77688,7 +78935,7 @@ __5: goto __6 __6: ; - if !((i == (*Sqlite3)(unsafe.Pointer(db)).FnDb) && (Xsqlite3StrICmp(tls, ts+8567 /* "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 @@ -77891,14 +79138,14 @@ __40: ; goto __39 __38: - if !(((op != TK_DELETE) && (zTab != 0)) && (Xsqlite3StrICmp(tls, ts+8572 /* "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+8576 /* "old" */, zTab) == 0)) { + if !(((op != TK_INSERT) && (zTab != 0)) && (Xsqlite3StrICmp(tls, ts+8575 /* "old" */, zTab) == 0)) { goto __43 } (*Expr)(unsafe.Pointer(pExpr)).FiTable = 0 @@ -77915,7 +79162,7 @@ __37: goto __44 } pUpsert = *(*uintptr)(unsafe.Pointer(pNC + 16 /* &.uNC */)) - if !((pUpsert != 0) && (Xsqlite3StrICmp(tls, ts+8580 /* "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 @@ -78092,7 +79339,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+8589 /* "misuse of aliase..." */, libc.VaList(bp, zAs)) + Xsqlite3ErrorMsg(tls, pParse, ts+8588 /* "misuse of aliase..." */, libc.VaList(bp, zAs)) return WRC_Abort __70: ; @@ -78100,14 +79347,14 @@ __70: ((((*NameContext)(unsafe.Pointer(pNC)).FncFlags & NC_AllowWin) == 0) || (pNC != pTopNC))) { goto __71 } - Xsqlite3ErrorMsg(tls, pParse, ts+8620 /* "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+8657 /* "row value misuse..." */, 0) + Xsqlite3ErrorMsg(tls, pParse, ts+8656 /* "row value misuse..." */, 0) return WRC_Abort __72: ; @@ -78183,7 +79430,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+8675 /* "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 @@ -78204,23 +79451,23 @@ __75: goto __78 } if cnt == 0 { - zErr = ts + 8710 /* "no such column" */ + zErr = ts + 8709 /* "no such column" */ } else { - zErr = ts + 8725 /* "ambiguous column..." */ + zErr = ts + 8724 /* "ambiguous column..." */ } if !(zDb != 0) { goto __79 } - Xsqlite3ErrorMsg(tls, pParse, ts+8747 /* "%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+8760 /* "%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+8770 /* "%s: %s" */, libc.VaList(bp+80, zErr, zCol)) + Xsqlite3ErrorMsg(tls, pParse, ts+8769 /* "%s: %s" */, libc.VaList(bp+80, zErr, zCol)) __82: ; __80: @@ -78354,15 +79601,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 + 8777 /* "partial index WH..." */ + var zIn uintptr = ts + 8776 /* "partial index WH..." */ if ((*NameContext)(unsafe.Pointer(pNC)).FncFlags & NC_IdxExpr) != 0 { - zIn = ts + 8805 /* "index expression..." */ + zIn = ts + 8804 /* "index expression..." */ } else if ((*NameContext)(unsafe.Pointer(pNC)).FncFlags & NC_IsCheck) != 0 { - zIn = ts + 8823 /* "CHECK constraint..." */ + zIn = ts + 8822 /* "CHECK constraint..." */ } else if ((*NameContext)(unsafe.Pointer(pNC)).FncFlags & NC_GenCol) != 0 { - zIn = ts + 8841 /* "generated column..." */ + zIn = ts + 8840 /* "generated column..." */ } - Xsqlite3ErrorMsg(tls, pParse, ts+8859 /* "%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) } @@ -78384,7 +79631,7 @@ func exprProbability(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:99948:12: */ if *(*float64)(unsafe.Pointer(bp /* r */)) > 1.0 { return -1 } - return (int32(*(*float64)(unsafe.Pointer(bp /* r */)) * 134217728.0)) + return (libc.Int32FromFloat64(*(*float64)(unsafe.Pointer(bp /* r */)) * 134217728.0)) } // This routine is callback for sqlite3WalkExpr(). @@ -78470,10 +79717,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 + 8879 /* "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 + 8884 /* "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) @@ -78526,7 +79773,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+8890 /* "the \".\" operator" */, uintptr(0)) + notValidImpl(tls, pParse, pNC, ts+8889 /* "the \".\" operator" */, uintptr(0)) } pRight = (*Expr)(unsafe.Pointer(pExpr)).FpRight @@ -78593,7 +79840,7 @@ func resolveExprStep(tls *libc.TLS, pWalker uintptr, pExpr uintptr) int32 { /* s if (*Expr)(unsafe.Pointer(pExpr)).FiTable < 0 { Xsqlite3ErrorMsg(tls, pParse, - ts+8907 /* "second argument ..." */, 0) + ts+8906 /* "second argument ..." */, 0) (*NameContext)(unsafe.Pointer(pNC)).FnNcErr++ } } else { @@ -78618,7 +79865,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+8978, /* "not authorized t..." */ + Xsqlite3ErrorMsg(tls, pParse, ts+8977, /* "not authorized t..." */ libc.VaList(bp, (*FuncDef)(unsafe.Pointer(pDef)).FzName)) (*NameContext)(unsafe.Pointer(pNC)).FnNcErr++ } @@ -78642,7 +79889,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+9013 /* "non-deterministi..." */, uintptr(0)) + notValidImpl(tls, pParse, pNC, ts+9012 /* "non-deterministi..." */, uintptr(0)) } } else { @@ -78671,30 +79918,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+9041 /* "%.*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 + 9085 /* "window" */ + zType = ts + 9084 /* "window" */ } else { - zType = ts + 9092 /* "aggregate" */ + zType = ts + 9091 /* "aggregate" */ } - Xsqlite3ErrorMsg(tls, pParse, ts+9102 /* "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+9131 /* "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+9154, /* "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+9199, /* "FILTER may not b..." */ + ts+9198, /* "FILTER may not b..." */ libc.VaList(bp+80, nId, zId)) (*NameContext)(unsafe.Pointer(pNC)).FnNcErr++ } @@ -78769,7 +80016,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+9248 /* "subqueries" */, pExpr) + notValidImpl(tls, pParse, pNC, ts+9247 /* "subqueries" */, pExpr) } Xsqlite3WalkSelect(tls, pWalker, *(*uintptr)(unsafe.Pointer(pExpr + 32 /* &.x */))) @@ -78786,7 +80033,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+9259 /* "parameters" */, pExpr) + notValidImpl(tls, pParse, pNC, ts+9258 /* "parameters" */, pExpr) } break @@ -78846,7 +80093,7 @@ func resolveExprStep(tls *libc.TLS, pWalker uintptr, pExpr uintptr) int32 { /* s } if nLeft != nRight { - Xsqlite3ErrorMsg(tls, pParse, ts+8657 /* "row value misuse..." */, 0) + Xsqlite3ErrorMsg(tls, pParse, ts+8656 /* "row value misuse..." */, 0) } break @@ -78951,7 +80198,7 @@ func resolveOutOfRangeError(tls *libc.TLS, pParse uintptr, zType uintptr, i int3 Xsqlite3ErrorMsg(tls, pParse, - ts+9270 /* "%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 @@ -78983,7 +80230,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+9326 /* "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++ { @@ -79018,7 +80265,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+9360 /* "ORDER" */, (i + 1), (*ExprList)(unsafe.Pointer(pEList)).FnExpr) + resolveOutOfRangeError(tls, pParse, ts+9359 /* "ORDER" */, (i + 1), (*ExprList)(unsafe.Pointer(pEList)).FnExpr) return 1 } } else { @@ -79089,7 +80336,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+9366 /* "%r ORDER BY term..." */, libc.VaList(bp, (i+1))) + ts+9365 /* "%r ORDER BY term..." */, libc.VaList(bp, (i+1))) return 1 } } @@ -79117,7 +80364,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+9427 /* "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 @@ -79406,7 +80653,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+9458 /* "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 { @@ -79463,7 +80710,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+9360 /* "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 { @@ -79476,7 +80723,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+9502 /* "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 @@ -79488,7 +80735,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+9508 /* "aggregate functi..." */, 0) + ts+9507 /* "aggregate functi..." */, 0) return WRC_Abort } @@ -80258,7 +81505,7 @@ func codeVectorCompare(tls *libc.TLS, pParse uintptr, pExpr uintptr, dest int32, return } if nLeft != Xsqlite3ExprVectorSize(tls, pRight) { - Xsqlite3ErrorMsg(tls, pParse, ts+8657 /* "row value misuse..." */, 0) + Xsqlite3ErrorMsg(tls, pParse, ts+8656 /* "row value misuse..." */, 0) return } @@ -80334,7 +81581,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+9567 /* "Expression tree ..." */, libc.VaList(bp, mxHeight)) + ts+9566 /* "Expression tree ..." */, libc.VaList(bp, mxHeight)) rc = SQLITE_ERROR } return rc @@ -80575,7 +81822,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+9615 /* "0" */) + return Xsqlite3Expr(tls, db, TK_INTEGER, ts+9614 /* "0" */) } else { return Xsqlite3PExpr(tls, pParse, TK_AND, pLeft, pRight) } @@ -80597,7 +81844,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+9617 /* "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)) @@ -80631,7 +81878,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+9651 /* "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)) } } } @@ -80684,7 +81931,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+9670, /* "variable number ..." */ + Xsqlite3ErrorMsg(tls, pParse, ts+9669, /* "variable number ..." */ libc.VaList(bp, *(*int32)(unsafe.Pointer((db + 128 /* &.aLimit */) + 9*4)))) return } @@ -80711,7 +81958,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+9713 /* "too many SQL var..." */, 0) + Xsqlite3ErrorMsg(tls, pParse, ts+9712 /* "too many SQL var..." */, 0) } } @@ -81380,7 +82627,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+9736, /* "%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: @@ -81515,7 +82762,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+9766 /* "too many columns..." */, libc.VaList(bp, zObject)) + Xsqlite3ErrorMsg(tls, pParse, ts+9765 /* "too many columns..." */, libc.VaList(bp, zObject)) } } @@ -81570,10 +82817,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+8879 /* "true" */) == 0 { + if Xsqlite3StrICmp(tls, zIn, ts+8878 /* "true" */) == 0 { return U32(EP_IsTrue) } - if Xsqlite3StrICmp(tls, zIn, ts+8884 /* "false" */) == 0 { + if Xsqlite3StrICmp(tls, zIn, ts+8883 /* "false" */) == 0 { return U32(EP_IsFalse) } return U32(0) @@ -82018,13 +83265,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+9789 /* "_ROWID_" */) == 0 { + if Xsqlite3StrICmp(tls, z, ts+9788 /* "_ROWID_" */) == 0 { return 1 } - if Xsqlite3StrICmp(tls, z, ts+9797 /* "ROWID" */) == 0 { + if Xsqlite3StrICmp(tls, z, ts+9796 /* "ROWID" */) == 0 { return 1 } - if Xsqlite3StrICmp(tls, z, ts+9803 /* "OID" */) == 0 { + if Xsqlite3StrICmp(tls, z, ts+9802 /* "OID" */) == 0 { return 1 } return 0 @@ -82102,7 +83349,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+9807 /* "first_entry_in(%..." */, libc.VaList(bp, iCur)) + Xsqlite3VdbeComment(tls, v, ts+9806 /* "first_entry_in(%..." */, libc.VaList(bp, iCur)) Xsqlite3VdbeJumpHere(tls, v, addr1) } @@ -82255,7 +83502,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+9826 /* "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 @@ -82346,10 +83593,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+9873 /* "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+952 /* "%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)))) @@ -82453,7 +83700,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 + 9904 /* "sub-select retur..." */ + var zFmt uintptr = ts + 9903 /* "sub-select retur..." */ Xsqlite3ErrorMsg(tls, pParse, zFmt, libc.VaList(bp, nActual, nExpect)) } } @@ -82471,7 +83718,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+8657 /* "row value misuse..." */, 0) + Xsqlite3ErrorMsg(tls, pParse, ts+8656 /* "row value misuse..." */, 0) } } @@ -82524,7 +83771,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+9948 /* "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 */))) @@ -82538,7 +83785,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+9971 /* "return address" */, 0) + Xsqlite3VdbeComment(tls, v, ts+9970 /* "return address" */, 0) addrOnce = Xsqlite3VdbeAddOp0(tls, v, OP_Once) } @@ -82552,9 +83799,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+9986 /* "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+10006 /* "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) @@ -82566,11 +83813,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+10025 /* "%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 + 916 /* "" */ + return ts + 915 /* "" */ } - return ts + 10044 /* "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. @@ -82716,7 +83963,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+10056 /* "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 @@ -82726,7 +83973,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+9971 /* "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: @@ -82750,11 +83997,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+10074 /* "%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 + 916 /* "" */ + return ts + 915 /* "" */ } - return ts + 10044 /* "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 @@ -82768,17 +84015,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+10095 /* "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+10116 /* "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+9615 /* "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, @@ -82788,7 +84035,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+10135 /* "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 @@ -82923,7 +84170,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+10137 /* "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 { @@ -83228,7 +84475,7 @@ sqlite3ExprCodeIN_finished: Xsqlite3ReleaseTempReg(tls, pParse, rLhs) __40: ; - Xsqlite3VdbeComment(tls, v, ts+10151 /* "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) @@ -83280,12 +84527,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+10163 /* "0x" */, 2) == 0 { - Xsqlite3ErrorMsg(tls, pParse, ts+10166 /* "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 + 6815 /* "-" */ + return ts + 6814 /* "-" */ } - return ts + 916 /* "" */ + return ts + 915 /* "" */ }(), z)) } else { codeReal(tls, v, z, negFlag, iMem) @@ -83360,7 +84607,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+10192 /* "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)) @@ -83851,10 +85098,10 @@ __56: if !(int32((*AggInfo_col)(unsafe.Pointer(pCol)).FiColumn) < 0) { goto __59 } - Xsqlite3VdbeComment(tls, v, ts+10222 /* "%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+10231 /* "%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 } @@ -83919,7 +85166,7 @@ __69: if !((int32((*Column)(unsafe.Pointer(pCol1)).FcolFlags) & COLFLAG_BUSY) != 0) { goto __72 } - Xsqlite3ErrorMsg(tls, pParse, ts+10192, /* "generated column..." */ + Xsqlite3ErrorMsg(tls, pParse, ts+10191, /* "generated column..." */ libc.VaList(bp+24, (*Column)(unsafe.Pointer(pCol1)).FzName)) return 0 __72: @@ -84171,7 +85418,7 @@ __41: goto __87 } - Xsqlite3ErrorMsg(tls, pParse, ts+10237 /* "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 @@ -84213,7 +85460,7 @@ __90: if !((pDef == uintptr(0)) || ((*FuncDef)(unsafe.Pointer(pDef)).FxFinalize != uintptr(0))) { goto __91 } - Xsqlite3ErrorMsg(tls, pParse, ts+10263 /* "unknown function..." */, libc.VaList(bp+40, zId)) + Xsqlite3ErrorMsg(tls, pParse, ts+10262 /* "unknown function..." */, libc.VaList(bp+40, zId)) goto __3 __91: ; @@ -84407,7 +85654,7 @@ __122: ((*Expr)(unsafe.Pointer(pExpr)).FiTable != (libc.AssignInt32(&n1, Xsqlite3ExprVectorSize(tls, (*Expr)(unsafe.Pointer(pExpr)).FpLeft))))) { goto __123 } - Xsqlite3ErrorMsg(tls, pParse, ts+9736, /* "%d columns assig..." */ + Xsqlite3ErrorMsg(tls, pParse, ts+9735, /* "%d columns assig..." */ libc.VaList(bp+48, (*Expr)(unsafe.Pointer(pExpr)).FiTable, n1)) __123: ; @@ -84474,14 +85721,14 @@ __51: int32(Xsqlite3TableColumnToStorage(tls, pTab2, int16(iCol1)))) Xsqlite3VdbeAddOp2(tls, v, OP_Param, p1, target) - Xsqlite3VdbeComment(tls, v, ts+10286 /* "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 + 8572 /* "new" */ + return ts + 8571 /* "new" */ } - return ts + 8576 /* "old" */ + return ts + 8575 /* "old" */ }(), func() uintptr { if int32((*Expr)(unsafe.Pointer(pExpr)).FiColumn) < 0 { - return ts + 10298 /* "rowid" */ + return ts + 10297 /* "rowid" */ } return (*Column)(unsafe.Pointer((*Table)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(pExpr + 64 /* &.y */)))).FaCol + uintptr(iCol1)*32)).FzName }())) @@ -84500,7 +85747,7 @@ __124: goto __3 __52: - Xsqlite3ErrorMsg(tls, pParse, ts+8657 /* "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 @@ -84624,7 +85871,7 @@ __55: goto __134 } Xsqlite3ErrorMsg(tls, pParse, - ts+10304 /* "RAISE() may only..." */, 0) + ts+10303 /* "RAISE() may only..." */, 0) return 0 __134: ; @@ -84663,7 +85910,7 @@ __3: return inReg } -var zAff = *(*[8]int8)(unsafe.Pointer(ts + 10354 /* "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. @@ -84947,7 +86194,9 @@ func exprCodeBetween(tls *libc.TLS, pParse uintptr, pExpr uintptr, dest int32, x (*Expr)(unsafe.Pointer(bp + 72 /* &compRight */)).FpRight = (*ExprList_item)(unsafe.Pointer((*(*uintptr)(unsafe.Pointer(pExpr + 32 /* &.x */)) + 8 /* &.a */) + 1*32)).FpExpr exprToRegister(tls, pDel, exprCodeVector(tls, pParse, pDel, bp+216 /* ®Free1 */)) if xJump != 0 { - (*(*func(*libc.TLS, uintptr, uintptr, int32, int32))(unsafe.Pointer(&xJump)))(tls, pParse, bp+144 /* &exprAnd */, dest, jumpIfNull) + (*struct { + f func(*libc.TLS, uintptr, uintptr, int32, int32) + })(unsafe.Pointer(&struct{ uintptr }{xJump})).f(tls, pParse, bp+144 /* &exprAnd */, dest, jumpIfNull) } else { // Mark the expression is being from the ON or USING clause of a join // so that the sqlite3ExprCodeTarget() routine will not attempt to move @@ -86500,11 +87749,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+10362 /* "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+10370 /* "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 @@ -86522,14 +87771,14 @@ func renameTestSchema(tls *libc.TLS, pParse uintptr, zDb uintptr, bTemp int32, z (*Parse)(unsafe.Pointer(pParse)).FcolNamesSet = U8(1) Xsqlite3NestedParse(tls, pParse, - ts+10398, /* "SELECT 1 FROM \"%..." */ + ts+10397, /* "SELECT 1 FROM \"%..." */ libc.VaList(bp, zDb, zDb, bTemp, zWhen, bNoDQS)) if bTemp == 0 { Xsqlite3NestedParse(tls, pParse, - ts+10573, /* "SELECT 1 FROM te..." */ + ts+10572, /* "SELECT 1 FROM te..." */ libc.VaList(bp+40, zDb, zWhen, bNoDQS)) } } @@ -86545,11 +87794,11 @@ func renameFixQuotes(tls *libc.TLS, pParse uintptr, zDb uintptr, bTemp int32) { Xsqlite3NestedParse(tls, pParse, - ts+10747 /* "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+10894 /* "UPDATE temp.sqli..." */, 0) + ts+10893 /* "UPDATE temp.sqli..." */, 0) } } @@ -86623,7 +87872,7 @@ __3: goto __4 } Xsqlite3ErrorMsg(tls, pParse, - ts+11045 /* "there is already..." */, libc.VaList(bp, zName)) + ts+11044 /* "there is already..." */, libc.VaList(bp, zName)) goto exit_rename_table __4: ; @@ -86636,7 +87885,7 @@ __4: goto exit_rename_table __5: ; - if !(SQLITE_OK != Xsqlite3CheckObjectName(tls, pParse, zName, ts+8470 /* "table" */, zName)) { + if !(SQLITE_OK != Xsqlite3CheckObjectName(tls, pParse, zName, ts+8469 /* "table" */, zName)) { goto __6 } goto exit_rename_table @@ -86646,7 +87895,7 @@ __6: if !((*Table)(unsafe.Pointer(pTab)).FpSelect != 0) { goto __7 } - Xsqlite3ErrorMsg(tls, pParse, ts+11104 /* "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: ; @@ -86699,24 +87948,24 @@ __12: // the schema to use the new table name. Xsqlite3NestedParse(tls, pParse, - ts+11131 /* "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+11315, /* "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+11620 /* "sqlite_sequence" */, zDb) != 0) { + if !(Xsqlite3FindTable(tls, db, ts+11619 /* "sqlite_sequence" */, zDb) != 0) { goto __13 } Xsqlite3NestedParse(tls, pParse, - ts+11636, /* "UPDATE \"%w\".sqli..." */ + ts+11635, /* "UPDATE \"%w\".sqli..." */ libc.VaList(bp+112, zDb, zName, (*Table)(unsafe.Pointer(pTab)).FzName)) __13: ; @@ -86729,7 +87978,7 @@ __13: } Xsqlite3NestedParse(tls, pParse, - ts+11694 /* "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: ; @@ -86747,7 +87996,7 @@ __15: ; renameReloadSchema(tls, pParse, iDb, uint16(INITFLAG_AlterRename)) - renameTestSchema(tls, pParse, zDb, (libc.Bool32(iDb == 1)), ts+11959 /* "after rename" */, 0) + renameTestSchema(tls, pParse, zDb, (libc.Bool32(iDb == 1)), ts+11958 /* "after rename" */, 0) exit_rename_table: Xsqlite3SrcListDelete(tls, db, pSrc) @@ -86762,7 +88011,7 @@ func sqlite3ErrorIfNotEmpty(tls *libc.TLS, pParse uintptr, zDb uintptr, zTab uin defer tls.Free(24) Xsqlite3NestedParse(tls, pParse, - ts+11972, /* "SELECT raise(ABO..." */ + ts+11971, /* "SELECT raise(ABO..." */ libc.VaList(bp, zErr, zDb, zTab)) } @@ -86810,12 +88059,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+12010 /* "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+12042 /* "Cannot add a UNI..." */, 0) + ts+12041 /* "Cannot add a UNI..." */, 0) return } if (int32((*Column)(unsafe.Pointer(pCol)).FcolFlags) & COLFLAG_GENERATED) == 0 { @@ -86828,11 +88077,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+12069 /* "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+12128 /* "Cannot add a NOT..." */) + ts+12127 /* "Cannot add a NOT..." */) } // Ensure the default expression is something that sqlite3ValueFromExpr() @@ -86848,12 +88097,12 @@ func Xsqlite3AlterFinishAddColumn(tls *libc.TLS, pParse uintptr, pColDef uintptr } if !(*(*uintptr)(unsafe.Pointer(bp + 40 /* pVal */)) != 0) { sqlite3ErrorIfNotEmpty(tls, pParse, zDb, zTab, - ts+12181 /* "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+12227 /* "cannot add a STO..." */) + sqlite3ErrorIfNotEmpty(tls, pParse, zDb, zTab, ts+12226 /* "cannot add a STO..." */) } // Modify the CREATE TABLE statement. @@ -86869,7 +88118,7 @@ func Xsqlite3AlterFinishAddColumn(tls *libc.TLS, pParse uintptr, pColDef uintptr // have to use printf() to translate between these units: Xsqlite3NestedParse(tls, pParse, - ts+12254, /* "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) @@ -86940,7 +88189,7 @@ __2: if !((*Table)(unsafe.Pointer(pTab)).FnModuleArg != 0) { goto __3 } - Xsqlite3ErrorMsg(tls, pParse, ts+12400 /* "virtual tables m..." */, 0) + Xsqlite3ErrorMsg(tls, pParse, ts+12399 /* "virtual tables m..." */, 0) goto exit_begin_add_column __3: ; @@ -86949,7 +88198,7 @@ __3: if !((*Table)(unsafe.Pointer(pTab)).FpSelect != 0) { goto __4 } - Xsqlite3ErrorMsg(tls, pParse, ts+12434 /* "Cannot add a col..." */, 0) + Xsqlite3ErrorMsg(tls, pParse, ts+12433 /* "Cannot add a col..." */, 0) goto exit_begin_add_column __4: ; @@ -86984,7 +88233,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+12464 /* "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 } @@ -87031,18 +88280,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 + 12483 /* "view" */ + zType = ts + 12482 /* "view" */ } if (*Table)(unsafe.Pointer(pTab)).FnModuleArg != 0 { - zType = ts + 12488 /* "virtual table" */ + zType = ts + 12487 /* "virtual table" */ } if zType != 0 { - Xsqlite3ErrorMsg(tls, pParse, ts+12502, /* "cannot %s %s \"%s..." */ + Xsqlite3ErrorMsg(tls, pParse, ts+12501, /* "cannot %s %s \"%s..." */ libc.VaList(bp, func() uintptr { if bDrop != 0 { - return ts + 12520 /* "drop column from" */ + return ts + 12519 /* "drop column from" */ } - return ts + 12537 /* "rename columns o..." */ + return ts + 12536 /* "rename columns o..." */ }(), zType, (*Table)(unsafe.Pointer(pTab)).FzName)) return 1 @@ -87135,13 +88384,13 @@ __8: if !(iCol == int32((*Table)(unsafe.Pointer(pTab)).FnCol)) { goto __10 } - Xsqlite3ErrorMsg(tls, pParse, ts+8202 /* "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+916 /* "" */, 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 @@ -87159,19 +88408,19 @@ __11: bQuote = (int32(Xsqlite3CtypeMap[uint8(*(*int8)(unsafe.Pointer((*Token)(unsafe.Pointer(pNew)).Fz)))]) & 0x80) Xsqlite3NestedParse(tls, pParse, - ts+12555, /* "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+12773, /* "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+11959 /* "after rename" */, 1) + renameTestSchema(tls, pParse, zDb, (libc.Bool32(iSchema == 1)), ts+11958 /* "after rename" */, 1) exit_rename_column: Xsqlite3SrcListDelete(tls, db, pSrc) @@ -87466,12 +88715,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+12904, /* "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 + 12927 /* " " */ + return ts + 12926 /* " " */ } - return ts + 916 /* "" */ + return ts + 915 /* "" */ }(), zWhen, (*Parse)(unsafe.Pointer(pParse)).FzErrMsg)) Xsqlite3_result_error(tls, pCtx, zErr, -1) @@ -87580,7 +88829,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+12929 /* "\"%w\" " */, libc.VaList(bp, zNew)) + zQuot = Xsqlite3MPrintf(tls, db, ts+12928 /* "\"%w\" " */, libc.VaList(bp, zNew)) if zQuot == uintptr(0) { return SQLITE_NOMEM } else { @@ -87630,12 +88879,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+12935 /* "%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 + 12927 /* " " */ + return ts + 12926 /* " " */ } - return ts + 916 /* "" */ + return ts + 915 /* "" */ }())) zReplace = zBuf2 nReplace = U32(Xsqlite3Strlen30(tls, zReplace)) @@ -88140,7 +89389,7 @@ renameColumnFunc_done: if !((*Parse)(unsafe.Pointer(bp+32 /* &sParse */)).FzErrMsg != 0) { goto __44 } - renameColumnParseError(tls, context, ts+916 /* "" */, *(*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) @@ -88320,7 +89569,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+916 /* "" */, *(*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) } @@ -88602,7 +89851,7 @@ __6: __4: ; - zNew = Xsqlite3MPrintf(tls, db, ts+12940 /* "%.*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) @@ -88690,7 +89939,7 @@ __5: if !(iCol < 0) { goto __6 } - Xsqlite3ErrorMsg(tls, pParse, ts+8202 /* "no such column: ..." */, libc.VaList(bp, zCol)) + Xsqlite3ErrorMsg(tls, pParse, ts+8201 /* "no such column: ..." */, libc.VaList(bp, zCol)) goto exit_drop_column __6: ; @@ -88700,12 +89949,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+12947, /* "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 + 12975 /* "PRIMARY KEY" */ + return ts + 12974 /* "PRIMARY KEY" */ } - return ts + 8023 /* "UNIQUE" */ + return ts + 8022 /* "UNIQUE" */ }(), zCol)) goto exit_drop_column @@ -88716,7 +89965,7 @@ __7: if !(int32((*Table)(unsafe.Pointer(pTab)).FnCol) <= 1) { goto __8 } - Xsqlite3ErrorMsg(tls, pParse, ts+12987 /* "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: ; @@ -88725,15 +89974,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+916 /* "" */, 0) + renameTestSchema(tls, pParse, zDb, (libc.Bool32(iDb == 1)), ts+915 /* "" */, 0) renameFixQuotes(tls, pParse, zDb, (libc.Bool32(iDb == 1))) Xsqlite3NestedParse(tls, pParse, - ts+13035 /* "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+13156 /* "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)) { @@ -88844,11 +90093,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 + 13174 /* "sqlite_rename_co..." */}, - {FnArg: int8(7), FfuncFlags: (U32((SQLITE_FUNC_INTERNAL | SQLITE_UTF8) | SQLITE_FUNC_CONSTANT)), FxSFunc: 0, FzName: ts + 13195 /* "sqlite_rename_ta..." */}, - {FnArg: int8(7), FfuncFlags: (U32((SQLITE_FUNC_INTERNAL | SQLITE_UTF8) | SQLITE_FUNC_CONSTANT)), FxSFunc: 0, FzName: ts + 13215 /* "sqlite_rename_te..." */}, - {FnArg: int8(3), FfuncFlags: (U32((SQLITE_FUNC_INTERNAL | SQLITE_UTF8) | SQLITE_FUNC_CONSTANT)), FxSFunc: 0, FzName: ts + 13234 /* "sqlite_drop_colu..." */}, - {FnArg: int8(2), FfuncFlags: (U32((SQLITE_FUNC_INTERNAL | SQLITE_UTF8) | SQLITE_FUNC_CONSTANT)), FxSFunc: 0, FzName: ts + 13253 /* "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 **************************************** @@ -89045,7 +90294,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+13276 /* "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) } @@ -89057,10 +90306,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+13299, /* "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+13329 /* "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) @@ -89081,9 +90330,9 @@ var aTable = [3]struct { FzName uintptr FzCols uintptr }{ - {FzName: ts + 13347 /* "sqlite_stat1" */, FzCols: ts + 13360 /* "tbl,idx,stat" */}, - {FzName: ts + 13373 /* "sqlite_stat4" */, FzCols: ts + 13386 /* "tbl,idx,neq,nlt,..." */}, - {FzName: ts + 13414 /* "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 @@ -89092,25 +90341,25 @@ var aTable = [3]struct { // share an instance of the following structure to hold their state // information. type StatAccum1 = struct { - Fdb uintptr - FnEst TRowcnt - FnRow TRowcnt - FnLimit int32 - FnCol int32 - FnKeyCol int32 - FnSkipAhead U8 - _ [3]byte - Fcurrent StatSample - FnPSample TRowcnt - FmxSample int32 - FiPrn U32 - _ [4]byte - FaBest uintptr - FiMin int32 - FnSample int32 - FnMaxEqZero int32 - FiGet int32 - Fa uintptr + Fdb uintptr + FnEst TRowcnt + FnRow TRowcnt + FnLimit int32 + FnCol int32 + FnKeyCol int32 + FnSkipAhead U8 + F__ccgo_pad1 [3]byte + Fcurrent StatSample + FnPSample TRowcnt + FmxSample int32 + FiPrn U32 + F__ccgo_pad2 [4]byte + FaBest uintptr + FiMin int32 + FnSample int32 + FnMaxEqZero int32 + FiGet int32 + Fa uintptr } /* sqlite3.c:109861:9 */ // Recommended number of samples for sqlite_stat4 @@ -89120,15 +90369,15 @@ type StatAccum1 = struct { // information. type StatAccum = StatAccum1 /* sqlite3.c:109861:26 */ type StatSample1 = struct { - FanEq uintptr - FanDLt uintptr - FanLt uintptr - Fu struct{ FiRowid I64 } - FnRowid U32 - FisPSample U8 - _ [3]byte - FiCol int32 - FiHash U32 + FanEq uintptr + FanDLt uintptr + FanLt uintptr + Fu struct{ FiRowid I64 } + FnRowid U32 + FisPSample U8 + F__ccgo_pad1 [3]byte + FiCol int32 + FiHash U32 } /* sqlite3.c:109861:9 */ type StatSample = StatSample1 /* sqlite3.c:109862:27 */ @@ -89314,7 +90563,7 @@ var statInitFuncdef = FuncDef{ FnArg: int8(4), // nArg FfuncFlags: U32(SQLITE_UTF8), // pNext FxSFunc: 0, // xValue, xInverse - FzName: ts + 13427 /* "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 @@ -89632,7 +90881,7 @@ var statPushFuncdef = FuncDef{ FnArg: (int8(2 + IsStat4)), // nArg FfuncFlags: U32(SQLITE_UTF8), // pNext FxSFunc: 0, // xValue, xInverse - FzName: ts + 13437 /* "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 @@ -89689,7 +90938,7 @@ func statGet(tls *libc.TLS, context uintptr, argc int32, argv uintptr) { /* sqli return } - Xsqlite3_snprintf(tls, 24, zRet, ts+13447, /* "%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) @@ -89700,7 +90949,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+13452 /* " %llu" */, libc.VaList(bp+8, iVal)) + Xsqlite3_snprintf(tls, 24, z, ts+13451 /* " %llu" */, libc.VaList(bp+8, iVal)) z += uintptr(Xsqlite3Strlen30(tls, z)) } @@ -89749,7 +90998,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+13458 /* "%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)) } @@ -89766,7 +91015,7 @@ var statGetFuncdef = FuncDef{ FnArg: (int8(1 + IsStat4)), // nArg FfuncFlags: U32(SQLITE_UTF8), // pNext FxSFunc: 0, // xValue, xInverse - FzName: ts + 13464 /* "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)) @@ -89785,11 +91034,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+10222 /* "%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+13473 /* "%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+10231 /* "%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)) } } @@ -89834,7 +91083,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+13485 /* "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 } @@ -89852,7 +91101,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+13347 /* "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) @@ -89903,7 +91152,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+13495 /* "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(): // @@ -89950,7 +91199,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+952 /* "%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: // @@ -90087,7 +91336,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+13514 /* "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) @@ -90144,12 +91393,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+952 /* "%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+13514 /* "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)) @@ -90202,9 +91451,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+13518 /* "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+13522 /* "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) @@ -90299,7 +91548,7 @@ func decodeIntArray(tls *libc.TLS, zIntArray uintptr, nOut int32, aOut uintptr, var v TRowcnt if z == uintptr(0) { - z = ts + 916 /* "" */ + z = ts + 915 /* "" */ } for i = 0; (*(*int8)(unsafe.Pointer(z)) != 0) && (i < nOut); i++ { v = TRowcnt(0) @@ -90321,15 +91570,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+13526 /* "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+13537 /* "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+13547 /* "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))) != ' ') { @@ -90648,10 +91897,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+13373 /* "sqlite_stat4" */, zDb) != 0 { + if Xsqlite3FindTable(tls, db, ts+13372 /* "sqlite_stat4" */, zDb) != 0 { rc = loadStatTbl(tls, db, - ts+13559, /* "SELECT idx,count..." */ - ts+13613, /* "SELECT idx,neq,n..." */ + ts+13558, /* "SELECT idx,count..." */ + ts+13612, /* "SELECT idx,neq,n..." */ zDb) } return rc @@ -90702,9 +91951,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+13347 /* "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+13665 /* "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 { @@ -90796,7 +92045,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+8567 /* "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 @@ -90847,13 +92096,13 @@ func attachFunc(tls *libc.TLS, context uintptr, NotUsed int32, argv uintptr) { / if !(zFile == uintptr(0)) { goto __1 } - zFile = ts + 916 /* "" */ + zFile = ts + 915 /* "" */ __1: ; if !(zName == uintptr(0)) { goto __2 } - zName = ts + 916 /* "" */ + zName = ts + 915 /* "" */ __2: ; @@ -90863,7 +92112,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+5736 /* "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 } @@ -90879,7 +92128,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+13706 /* "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 @@ -90892,7 +92141,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+13709, /* "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: @@ -90906,7 +92155,7 @@ __8: if !(Xsqlite3DbIsNamed(tls, db, i, zName) != 0) { goto __11 } - *(*uintptr)(unsafe.Pointer(bp + 56 /* zErrDyn */)) = Xsqlite3MPrintf(tls, db, ts+13746 /* "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: ; @@ -90977,7 +92226,7 @@ __4: goto __18 } rc = SQLITE_ERROR - *(*uintptr)(unsafe.Pointer(bp + 56 /* zErrDyn */)) = Xsqlite3MPrintf(tls, db, ts+13776 /* "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) { @@ -90994,7 +92243,7 @@ __21: goto __23 } *(*uintptr)(unsafe.Pointer(bp + 56 /* zErrDyn */)) = Xsqlite3MPrintf(tls, db, - ts+13805 /* "attached databas..." */, 0) + ts+13804 /* "attached databas..." */, 0) rc = SQLITE_ERROR __23: ; @@ -91064,13 +92313,13 @@ __29: } Xsqlite3OomFault(tls, db) Xsqlite3DbFree(tls, db, *(*uintptr)(unsafe.Pointer(bp + 56 /* zErrDyn */))) - *(*uintptr)(unsafe.Pointer(bp + 56 /* zErrDyn */)) = Xsqlite3MPrintf(tls, db, ts+8000 /* "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+13873 /* "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: @@ -91126,7 +92375,7 @@ func detachFunc(tls *libc.TLS, context uintptr, NotUsed int32, argv uintptr) { / if !(zName == uintptr(0)) { goto __1 } - zName = ts + 916 /* "" */ + zName = ts + 915 /* "" */ __1: ; i = 0 @@ -91158,14 +92407,14 @@ __4: if !(i >= (*Sqlite3)(unsafe.Pointer(db)).FnDb) { goto __7 } - Xsqlite3_snprintf(tls, int32(unsafe.Sizeof([128]int8{})), bp+24 /* &zErr[0] */, ts+13901 /* "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+13922 /* "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: ; @@ -91173,7 +92422,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+13948 /* "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: ; @@ -91296,7 +92545,7 @@ var detach_func = FuncDef{ FnArg: int8(1), // nArg FfuncFlags: U32(SQLITE_UTF8), // pNext FxSFunc: 0, // xValue, xInverse - FzName: ts + 13970 /* "sqlite_detach" */} /* sqlite3.c:111944:24 */ + FzName: ts + 13969 /* "sqlite_detach" */} /* sqlite3.c:111944:24 */ // Called by the parser to compile an ATTACH statement. // @@ -91309,7 +92558,7 @@ var attach_func = FuncDef{ FnArg: int8(3), // nArg FfuncFlags: U32(SQLITE_UTF8), // pNext FxSFunc: 0, // xValue, xInverse - FzName: ts + 13984 /* "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: */ @@ -91324,7 +92573,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+13998 /* "%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 } } @@ -91357,7 +92606,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+14022, /* "%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 } @@ -91556,7 +92805,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+14068 /* "authorizer malfu..." */, 0) + Xsqlite3ErrorMsg(tls, pParse, ts+14067 /* "authorizer malfu..." */, 0) (*Parse)(unsafe.Pointer(pParse)).Frc = SQLITE_ERROR } @@ -91578,13 +92827,15 @@ func Xsqlite3AuthReadCol(tls *libc.TLS, pParse uintptr, zTab uintptr, zCol uintp if (*Sqlite3)(unsafe.Pointer(db)).Finit.Fbusy != 0 { return SQLITE_OK } - 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) + rc = (*struct { + f func(*libc.TLS, uintptr, int32, uintptr, uintptr, uintptr, uintptr) int32 + })(unsafe.Pointer(&struct{ uintptr }{(*Sqlite3)(unsafe.Pointer(db)).FxAuth})).f(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+10231 /* "%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+14091 /* "%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+14097 /* "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) @@ -91636,7 +92887,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 + 9797 /* "ROWID" */ + zCol = ts + 9796 /* "ROWID" */ } if SQLITE_IGNORE == Xsqlite3AuthReadCol(tls, pParse, (*Table)(unsafe.Pointer(pTab)).FzName, zCol, iDb) { @@ -91666,9 +92917,11 @@ func Xsqlite3AuthCheck(tls *libc.TLS, pParse uintptr, code int32, zArg1 uintptr, // The following testcase() macros show that any of the 3rd through 6th // parameters can be either NULL or a string. - 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) + rc = (*struct { + f func(*libc.TLS, uintptr, int32, uintptr, uintptr, uintptr, uintptr) int32 + })(unsafe.Pointer(&struct{ uintptr }{(*Sqlite3)(unsafe.Pointer(db)).FxAuth})).f(tls, (*Sqlite3)(unsafe.Pointer(db)).FpAuthArg, code, zArg1, zArg2, zArg3, (*Parse)(unsafe.Pointer(pParse)).FzAuthContext) if rc == SQLITE_DENY { - Xsqlite3ErrorMsg(tls, pParse, ts+14124 /* "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 @@ -91853,7 +93106,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+14139 /* "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))) @@ -91933,7 +93186,7 @@ func Xsqlite3NestedParse(tls *libc.TLS, pParse uintptr, zFormat uintptr, va uint return } // Nesting should only be of limited depth - ap = va + (ap) = va zSql = Xsqlite3VMPrintf(tls, db, zFormat, ap) _ = ap if zSql == uintptr(0) { @@ -91981,25 +93234,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+8567 /* "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+10362 /* "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+14158 /* "sqlite_temp_sche..." */ +7)) == 0) || - (Xsqlite3StrICmp(tls, (zName+uintptr(7)), (ts+14177 /* "sqlite_schema" */ +7)) == 0)) || - (Xsqlite3StrICmp(tls, (zName+uintptr(7)), (ts+7775 /* "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+14191 /* "sqlite_temp_mast..." */) + ts+14190 /* "sqlite_temp_mast..." */) } } else { - if Xsqlite3StrICmp(tls, (zName+uintptr(7)), (ts+14177 /* "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+7775 /* "sqlite_master" */) + ts+7774 /* "sqlite_master" */) } } } @@ -92022,12 +93275,12 @@ func Xsqlite3FindTable(tls *libc.TLS, db uintptr, zName uintptr, zDatabase uintp break } } - if (p == uintptr(0)) && (Xsqlite3_strnicmp(tls, zName, ts+10362 /* "sqlite_" */, 7) == 0) { - if Xsqlite3StrICmp(tls, (zName+uintptr(7)), (ts+14177 /* "sqlite_schema" */ +7)) == 0 { - p = Xsqlite3HashFind(tls, ((*Db)(unsafe.Pointer((*Sqlite3)(unsafe.Pointer(db)).FaDb)).FpSchema + 8 /* &.tblHash */), ts+7775 /* "sqlite_master" */) - } else if Xsqlite3StrICmp(tls, (zName+uintptr(7)), (ts+14158 /* "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+14191 /* "sqlite_temp_mast..." */) + ts+14190 /* "sqlite_temp_mast..." */) } } } @@ -92063,7 +93316,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+14210 /* "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) { @@ -92081,14 +93334,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 + 14218 /* "no such view" */ + zMsg = ts + 14217 /* "no such view" */ } else { - zMsg = ts + 14231 /* "no such table" */ + zMsg = ts + 14230 /* "no such table" */ } if zDbase != 0 { - Xsqlite3ErrorMsg(tls, pParse, ts+8760 /* "%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+8770 /* "%s: %s" */, libc.VaList(bp+24, zMsg, zName)) + Xsqlite3ErrorMsg(tls, pParse, ts+8769 /* "%s: %s" */, libc.VaList(bp+24, zMsg, zName)) } } else { @@ -92401,7 +93654,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+7775 /* "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 @@ -92428,7 +93681,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+8567 /* "main" */, zName)) { + if (i == 0) && (0 == Xsqlite3_stricmp(tls, ts+8566 /* "main" */, zName)) { goto __3 } @@ -92481,13 +93734,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+14245 /* "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+14262 /* "unknown database..." */, libc.VaList(bp, pName1)) + Xsqlite3ErrorMsg(tls, pParse, ts+14261 /* "unknown database..." */, libc.VaList(bp, pName1)) return -1 } } else { @@ -92528,13 +93781,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+916 /* "" */, 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+10362 /* "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+14282, /* "object name rese..." */ + Xsqlite3ErrorMsg(tls, pParse, ts+14281, /* "object name rese..." */ libc.VaList(bp, zName)) return SQLITE_ERROR } @@ -92703,9 +93956,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 + 14191 /* "sqlite_temp_mast..." */ + return ts + 14190 /* "sqlite_temp_mast..." */ } - return ts + 7775 /* "sqlite_master" */ + return ts + 7774 /* "sqlite_master" */ }()) *(*uintptr)(unsafe.Pointer(bp + 16 /* pName */)) = pName1 goto __2 @@ -92723,7 +93976,7 @@ __3: } // If creating a temp table, the name may not be qualified. Unless // the database name is "temp" anyway. - Xsqlite3ErrorMsg(tls, pParse, ts+14324 /* "temporary table ..." */, 0) + Xsqlite3ErrorMsg(tls, pParse, ts+14323 /* "temporary table ..." */, 0) return __4: ; @@ -92751,9 +94004,9 @@ __7: ; if !(Xsqlite3CheckObjectName(tls, pParse, zName, func() uintptr { if isView != 0 { - return ts + 12483 /* "view" */ + return ts + 12482 /* "view" */ } - return ts + 8470 /* "table" */ + return ts + 8469 /* "table" */ }(), zName) != 0) { goto __8 } @@ -92770,9 +94023,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 + 14191 /* "sqlite_temp_mast..." */ + return ts + 14190 /* "sqlite_temp_mast..." */ } - return ts + 7775 /* "sqlite_master" */ + return ts + 7774 /* "sqlite_master" */ }(), uintptr(0), zDb) != 0) { goto __10 } @@ -92810,7 +94063,7 @@ __13: if !(!(noErr != 0)) { goto __15 } - Xsqlite3ErrorMsg(tls, pParse, ts+14365 /* "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: ; @@ -92824,7 +94077,7 @@ __14: if !(Xsqlite3FindIndex(tls, db, zName, zDb1) != uintptr(0)) { goto __17 } - Xsqlite3ErrorMsg(tls, pParse, ts+14389 /* "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: ; @@ -92940,7 +94193,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+14424 /* "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) } @@ -92964,7 +94217,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+14441 /* "cannot use RETUR..." */, 0) + Xsqlite3ErrorMsg(tls, pParse, ts+14440 /* "cannot use RETUR..." */, 0) } else { } @@ -92985,7 +94238,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 + 14424 /* "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) @@ -92997,7 +94250,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+14424 /* "sqlite_returning" */, (pRet+16 /* &.retTrig */)) == + if Xsqlite3HashInsert(tls, pHash, ts+14423 /* "sqlite_returning" */, (pRet+16 /* &.retTrig */)) == (pRet + 16 /* &.retTrig */) { Xsqlite3OomFault(tls, db) } @@ -93025,7 +94278,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+14475 /* "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)))) @@ -93041,7 +94294,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+14498 /* "duplicate column..." */, libc.VaList(bp+8, z)) + Xsqlite3ErrorMsg(tls, pParse, ts+14497 /* "duplicate column..." */, libc.VaList(bp+8, z)) Xsqlite3DbFree(tls, db, z) return } @@ -93215,11 +94468,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+14524, /* "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+14569 /* "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. @@ -93269,7 +94522,7 @@ func makeColumnPartOfPrimaryKey(tls *libc.TLS, pParse uintptr, pCol uintptr) { / if (int32((*Column)(unsafe.Pointer(pCol)).FcolFlags) & COLFLAG_GENERATED) != 0 { Xsqlite3ErrorMsg(tls, pParse, - ts+14610 /* "generated column..." */, 0) + ts+14609 /* "generated column..." */, 0) } } @@ -93314,7 +94567,7 @@ __1: goto __2 } Xsqlite3ErrorMsg(tls, pParse, - ts+14662 /* "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: ; @@ -93374,7 +94627,7 @@ __4: ; if !((((nTerm == 1) && (pCol != 0)) && - (Xsqlite3StrICmp(tls, Xsqlite3ColumnType(tls, pCol, ts+916 /* "" */), ts+14703 /* "INTEGER" */) == 0)) && + (Xsqlite3StrICmp(tls, Xsqlite3ColumnType(tls, pCol, ts+915 /* "" */), ts+14702 /* "INTEGER" */) == 0)) && (sortOrder != SQLITE_SO_DESC)) { goto __13 } @@ -93402,7 +94655,7 @@ __13: goto __17 } Xsqlite3ErrorMsg(tls, pParse, - ts+14711 /* "AUTOINCREMENT is..." */, 0) + ts+14710 /* "AUTOINCREMENT is..." */, 0) goto __18 __17: Xsqlite3CreateIndex(tls, pParse, uintptr(0), uintptr(0), uintptr(0), pList, onError, uintptr(0), @@ -93506,7 +94759,7 @@ __1: if !(int32((*Parse)(unsafe.Pointer(pParse)).FeParseMode) == PARSE_MODE_DECLARE_VTAB) { goto __2 } - Xsqlite3ErrorMsg(tls, pParse, ts+14767 /* "virtual tables c..." */, 0) + Xsqlite3ErrorMsg(tls, pParse, ts+14766 /* "virtual tables c..." */, 0) goto generated_done __2: ; @@ -93519,13 +94772,13 @@ __3: if !(pType != 0) { goto __4 } - if !(((*Token)(unsafe.Pointer(pType)).Fn == uint32(7)) && (Xsqlite3_strnicmp(tls, ts+14810 /* "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+14818 /* "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) @@ -93558,7 +94811,7 @@ __10: goto generated_done generated_error: - Xsqlite3ErrorMsg(tls, pParse, ts+14825, /* "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) @@ -93700,13 +94953,13 @@ __3: ; n = n + (identLength(tls, (*Table)(unsafe.Pointer(p)).FzName)) if n < 50 { - zSep = ts + 916 /* "" */ - zSep2 = ts + 14856 /* "," */ - zEnd = ts + 6888 /* ")" */ + zSep = ts + 915 /* "" */ + zSep2 = ts + 14855 /* "," */ + zEnd = ts + 6887 /* ")" */ } else { - zSep = ts + 14858 /* "\n " */ - zSep2 = ts + 14862 /* ",\n " */ - zEnd = ts + 14867 /* "\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)) @@ -93714,7 +94967,7 @@ __3: Xsqlite3OomFault(tls, db) return uintptr(0) } - Xsqlite3_snprintf(tls, n, zStmt, ts+14870 /* "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('(') @@ -93748,16 +95001,16 @@ __5: goto __6 __6: ; - 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)) + 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 + 916, /* "" */ - /* SQLITE_AFF_TEXT */ ts + 14884, /* " TEXT" */ - /* SQLITE_AFF_NUMERIC */ ts + 14890, /* " NUM" */ - /* SQLITE_AFF_INTEGER */ ts + 14895, /* " INT" */ - /* SQLITE_AFF_REAL */ ts + 14900, /* " 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 @@ -94118,7 +95371,9 @@ func Xsqlite3IsShadowTableOf(tls *libc.TLS, db uintptr, pTab uintptr, zName uint if (*Sqlite3_module)(unsafe.Pointer((*Module)(unsafe.Pointer(pMod)).FpModule)).FxShadowName == uintptr(0) { return 0 } - return (*(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(((*Module)(unsafe.Pointer(pMod)).FpModule + 184 /* &.xShadowName */))))(tls, ((zName + uintptr(nName)) + uintptr(1))) + return (*struct { + f func(*libc.TLS, uintptr) int32 + })(unsafe.Pointer(&struct{ uintptr }{(*Sqlite3_module)(unsafe.Pointer((*Module)(unsafe.Pointer(pMod)).FpModule)).FxShadowName})).f(tls, ((zName + uintptr(nName)) + uintptr(1))) } // Return true if zName is a shadow table name in the current database @@ -94194,7 +95449,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+916 /* "" */, 0) + Xsqlite3ErrorMsg(tls, pParse, ts+915 /* "" */, 0) return } (*Table)(unsafe.Pointer(p)).Ftnum = (*Sqlite3)(unsafe.Pointer(db)).Finit.FnewTnum @@ -94207,11 +95462,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+14906 /* "AUTOINCREMENT no..." */, 0) + ts+14905 /* "AUTOINCREMENT no..." */, 0) return } if ((*Table)(unsafe.Pointer(p)).FtabFlags & U32(TF_HasPrimaryKey)) == U32(0) { - Xsqlite3ErrorMsg(tls, pParse, ts+14956 /* "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)) @@ -94255,7 +95510,7 @@ func Xsqlite3EndTable(tls *libc.TLS, pParse uintptr, pCons uintptr, pEnd uintptr } } if nNG == 0 { - Xsqlite3ErrorMsg(tls, pParse, ts+14988 /* "must have at lea..." */, 0) + Xsqlite3ErrorMsg(tls, pParse, ts+14987 /* "must have at lea..." */, 0) return } } @@ -94288,12 +95543,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 + 8470 /* "table" */ - zType2 = ts + 15032 /* "TABLE" */ + zType = ts + 8469 /* "table" */ + zType2 = ts + 15031 /* "TABLE" */ } else { // A view - zType = ts + 12483 /* "view" */ - zType2 = ts + 15038 /* "VIEW" */ + zType = ts + 12482 /* "view" */ + zType2 = ts + 15037 /* "VIEW" */ } // If this is a CREATE TABLE xx AS SELECT ..., execute the SELECT @@ -94374,7 +95629,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+15043 /* "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 @@ -94382,7 +95637,7 @@ func Xsqlite3EndTable(tls *libc.TLS, pParse uintptr, pCons uintptr, pEnd uintptr // the information we've collected. Xsqlite3NestedParse(tls, pParse, - ts+15058, /* "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, @@ -94400,14 +95655,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+15156, /* "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+15198 /* "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. @@ -94428,7 +95683,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+11620 /* "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 } @@ -94465,7 +95720,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+15232 /* "parameters are n..." */, 0) + Xsqlite3ErrorMsg(tls, pParse, ts+15231 /* "parameters are n..." */, 0) goto create_view_fail __1: ; @@ -94487,7 +95742,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+12483 /* "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 } @@ -94604,7 +95859,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+15268 /* "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 } @@ -94746,7 +96001,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+15298 /* "corrupt schema" */, 0) + Xsqlite3ErrorMsg(tls, pParse, ts+15297 /* "corrupt schema" */, 0) } Xsqlite3VdbeAddOp3(tls, v, OP_Destroy, iTable, r1, iDb) Xsqlite3MayAbort(tls, pParse) @@ -94760,7 +96015,7 @@ func destroyRootPage(tls *libc.TLS, pParse uintptr, iTable int32, iDb int32) { / // token for additional information. Xsqlite3NestedParse(tls, pParse, - ts+15313, /* "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) } @@ -94824,10 +96079,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+15380 /* "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+13299, /* "DELETE FROM %Q.%..." */ + ts+13298, /* "DELETE FROM %Q.%..." */ libc.VaList(bp+8, zDbName, bp+40 /* &zTab[0] */, zType, zName)) } } @@ -94867,7 +96122,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+15394, /* "DELETE FROM %Q.s..." */ + ts+15393, /* "DELETE FROM %Q.s..." */ libc.VaList(bp, (*Db)(unsafe.Pointer(pDb)).FzDbSName, (*Table)(unsafe.Pointer(pTab)).FzName)) } @@ -94879,7 +96134,7 @@ func Xsqlite3CodeDropTable(tls *libc.TLS, pParse uintptr, pTab uintptr, iDb int3 // database. Xsqlite3NestedParse(tls, pParse, - ts+15439, /* "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) @@ -94909,11 +96164,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+10362 /* "sqlite_" */, 7) == 0 { - if Xsqlite3_strnicmp(tls, ((*Table)(unsafe.Pointer(pTab)).FzName+uintptr(7)), ts+4669 /* "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+9259 /* "parameters" */, 10) == 0 { + if Xsqlite3_strnicmp(tls, ((*Table)(unsafe.Pointer(pTab)).FzName+uintptr(7)), ts+9258 /* "parameters" */, 10) == 0 { return 0 } return 1 @@ -94994,9 +96249,9 @@ __7: zTab = func() uintptr { if (!(0 != 0)) && (iDb == 1) { - return ts + 14191 /* "sqlite_temp_mast..." */ + return ts + 14190 /* "sqlite_temp_mast..." */ } - return ts + 7775 /* "sqlite_master" */ + return ts + 7774 /* "sqlite_master" */ }() zDb = (*Db)(unsafe.Pointer((*Sqlite3)(unsafe.Pointer(db)).FaDb + uintptr(iDb)*32)).FzDbSName zArg2 = uintptr(0) @@ -95056,7 +96311,7 @@ __18: if !(tableMayNotBeDropped(tls, db, pTab) != 0) { goto __19 } - Xsqlite3ErrorMsg(tls, pParse, ts+15506 /* "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: ; @@ -95066,14 +96321,14 @@ __19: if !((isView != 0) && ((*Table)(unsafe.Pointer(pTab)).FpSelect == uintptr(0))) { goto __20 } - Xsqlite3ErrorMsg(tls, pParse, ts+15534 /* "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+15568 /* "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: ; @@ -95088,7 +96343,7 @@ __21: if !(!(isView != 0)) { goto __23 } - sqlite3ClearStatTables(tls, pParse, iDb, ts+13522 /* "tbl" */, (*Table)(unsafe.Pointer(pTab)).FzName) + sqlite3ClearStatTables(tls, pParse, iDb, ts+13521 /* "tbl" */, (*Table)(unsafe.Pointer(pTab)).FzName) Xsqlite3FkDropTable(tls, pParse, pName, pTab) __23: ; @@ -95153,7 +96408,7 @@ __4: goto __5 } Xsqlite3ErrorMsg(tls, pParse, - ts+15600, /* "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: @@ -95166,7 +96421,7 @@ __2: } Xsqlite3ErrorMsg(tls, pParse, - ts+15663 /* "number of column..." */, 0) + ts+15662 /* "number of column..." */, 0) goto fk_end goto __7 __6: @@ -95250,7 +96505,7 @@ __21: goto __23 } Xsqlite3ErrorMsg(tls, pParse, - ts+15757, /* "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: @@ -95500,12 +96755,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+15803, /* "unsupported use ..." */ + Xsqlite3ErrorMsg(tls, pParse, ts+15802, /* "unsupported use ..." */ libc.VaList(bp, func() uintptr { if (int32(sf) == 0) || (int32(sf) == 3) { - return ts + 15831 /* "FIRST" */ + return ts + 15830 /* "FIRST" */ } - return ts + 15837 /* "LAST" */ + return ts + 15836 /* "LAST" */ }())) return 1 } @@ -95663,7 +96918,7 @@ __9: __8: ; - Xsqlite3FixInit(tls, bp+136 /* &sFix */, pParse, iDb, ts+8476 /* "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 } @@ -95684,7 +96939,7 @@ __11: goto __12 } Xsqlite3ErrorMsg(tls, pParse, - ts+15842, /* "cannot create a ..." */ + ts+15841, /* "cannot create a ..." */ libc.VaList(bp, (*Table)(unsafe.Pointer(pTab)).FzName)) goto exit_create_index __12: @@ -95711,26 +96966,26 @@ __6: ; pDb = ((*Sqlite3)(unsafe.Pointer(db)).FaDb + uintptr(iDb)*32) - if !(((Xsqlite3_strnicmp(tls, (*Table)(unsafe.Pointer(pTab)).FzName, ts+10362 /* "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+15892 /* "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+15920 /* "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+15945 /* "virtual tables m..." */, 0) + Xsqlite3ErrorMsg(tls, pParse, ts+15944 /* "virtual tables m..." */, 0) goto exit_create_index __17: ; @@ -95757,7 +97012,7 @@ __17: __20: ; - if !(SQLITE_OK != Xsqlite3CheckObjectName(tls, pParse, zName, ts+8476 /* "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 @@ -95772,7 +97027,7 @@ __21: if !(Xsqlite3FindTable(tls, db, zName, uintptr(0)) != uintptr(0)) { goto __24 } - Xsqlite3ErrorMsg(tls, pParse, ts+15979 /* "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: ; @@ -95784,7 +97039,7 @@ __23: if !(!(ifNotExist != 0)) { goto __26 } - Xsqlite3ErrorMsg(tls, pParse, ts+16013 /* "index %s already..." */, libc.VaList(bp+24, zName)) + Xsqlite3ErrorMsg(tls, pParse, ts+16012 /* "index %s already..." */, libc.VaList(bp+24, zName)) goto __27 __26: ; @@ -95813,7 +97068,7 @@ __29: goto __30 __30: ; - zName = Xsqlite3MPrintf(tls, db, ts+16037 /* "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 } @@ -95842,9 +97097,9 @@ __19: zDb = (*Db)(unsafe.Pointer(pDb)).FzDbSName if !(Xsqlite3AuthCheck(tls, pParse, SQLITE_INSERT, func() uintptr { if (!(0 != 0)) && (iDb == 1) { - return ts + 14191 /* "sqlite_temp_mast..." */ + return ts + 14190 /* "sqlite_temp_mast..." */ } - return ts + 7775 /* "sqlite_master" */ + return ts + 7774 /* "sqlite_master" */ }(), uintptr(0), zDb) != 0) { goto __34 } @@ -95888,7 +97143,7 @@ __39: Xsqlite3ExprListSetSortOrder(tls, pList, sortOrder, -1) goto __38 __37: - Xsqlite3ExprListCheckLength(tls, pParse, pList, ts+8476 /* "index" */) + Xsqlite3ExprListCheckLength(tls, pParse, pList, ts+8475 /* "index" */) if !((*Parse)(unsafe.Pointer(pParse)).FnErr != 0) { goto __40 } @@ -96005,7 +97260,7 @@ __53: goto __56 } Xsqlite3ErrorMsg(tls, pParse, - ts+16060 /* "expressions proh..." */, 0) + ts+16059 /* "expressions proh..." */, 0) goto exit_create_index __56: ; @@ -96234,7 +97489,7 @@ __88: goto __93 } Xsqlite3ErrorMsg(tls, pParse, - ts+16121 /* "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) { @@ -96290,7 +97545,7 @@ __81: if !(Xsqlite3IndexHasDuplicateRootPage(tls, pIndex) != 0) { goto __101 } - Xsqlite3ErrorMsg(tls, pParse, ts+16163 /* "invalid rootpage" */, 0) + Xsqlite3ErrorMsg(tls, pParse, ts+16162 /* "invalid rootpage" */, 0) (*Parse)(unsafe.Pointer(pParse)).Frc = Xsqlite3CorruptError(tls, 116514) goto exit_create_index __101: @@ -96348,12 +97603,12 @@ __104: __107: ; // A named index with an explicit CREATE INDEX statement - zStmt = Xsqlite3MPrintf(tls, db, ts+16180, /* "CREATE%s INDEX %..." */ + zStmt = Xsqlite3MPrintf(tls, db, ts+16179, /* "CREATE%s INDEX %..." */ libc.VaList(bp+56, func() uintptr { if onError == OE_None { - return ts + 916 /* "" */ + return ts + 915 /* "" */ } - return ts + 16200 /* " UNIQUE" */ + return ts + 16199 /* " UNIQUE" */ }(), n1, (*Token)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp + 128 /* pName */)))).Fz)) goto __106 __105: @@ -96365,7 +97620,7 @@ __106: // Add an entry in sqlite_schema for this index Xsqlite3NestedParse(tls, pParse, - ts+16208, /* "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, @@ -96381,7 +97636,7 @@ __106: sqlite3RefillIndex(tls, pParse, pIndex, iMem) Xsqlite3ChangeCookie(tls, pParse, iDb) Xsqlite3VdbeAddParseSchemaOp(tls, v, iDb, - Xsqlite3MPrintf(tls, db, ts+16267 /* "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: ; @@ -96565,7 +97820,7 @@ __2: if !(!(ifExists != 0)) { goto __4 } - Xsqlite3ErrorMsg(tls, pParse, ts+16294 /* "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) @@ -96580,7 +97835,7 @@ __3: goto __6 } Xsqlite3ErrorMsg(tls, pParse, - ts+16312 /* "index associated..." */, libc.VaList(bp+8, 0)) + ts+16311 /* "index associated..." */, libc.VaList(bp+8, 0)) goto exit_drop_index __6: ; @@ -96591,9 +97846,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 + 14191 /* "sqlite_temp_mast..." */ + return ts + 14190 /* "sqlite_temp_mast..." */ } - return ts + 7775 /* "sqlite_master" */ + return ts + 7774 /* "sqlite_master" */ }() if !(Xsqlite3AuthCheck(tls, pParse, SQLITE_DELETE, zTab, uintptr(0), zDb) != 0) { goto __7 @@ -96621,9 +97876,9 @@ __9: } Xsqlite3BeginWriteOperation(tls, pParse, 1, iDb) Xsqlite3NestedParse(tls, pParse, - ts+16385, /* "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+13518 /* "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) @@ -96774,7 +98029,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+16445, /* "too many FROM cl..." */ + Xsqlite3ErrorMsg(tls, pParse, ts+16444, /* "too many FROM cl..." */ libc.VaList(bp, SQLITE_MAX_SRCLIST)) return uintptr(0) } @@ -96986,12 +98241,12 @@ func Xsqlite3SrcListAppendFromTerm(tls *libc.TLS, pParse uintptr, p uintptr, pTa if !(!(p != 0) && ((pOn != 0) || (pUsing != 0))) { goto __1 } - Xsqlite3ErrorMsg(tls, pParse, ts+16481, /* "a JOIN clause is..." */ + Xsqlite3ErrorMsg(tls, pParse, ts+16480, /* "a JOIN clause is..." */ libc.VaList(bp, func() uintptr { if pOn != 0 { - return ts + 16517 /* "ON" */ + return ts + 16516 /* "ON" */ } - return ts + 16520 /* "USING" */ + return ts + 16519 /* "USING" */ }())) goto append_from_error __1: @@ -97119,7 +98374,7 @@ func Xsqlite3BeginTransaction(tls *libc.TLS, pParse uintptr, type1 int32) { /* s db = (*Parse)(unsafe.Pointer(pParse)).Fdb - if Xsqlite3AuthCheck(tls, pParse, SQLITE_TRANSACTION, ts+16526 /* "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) @@ -97155,9 +98410,9 @@ func Xsqlite3EndTransaction(tls *libc.TLS, pParse uintptr, eType int32) { /* sql if Xsqlite3AuthCheck(tls, pParse, SQLITE_TRANSACTION, func() uintptr { if isRollback != 0 { - return ts + 16532 /* "ROLLBACK" */ + return ts + 16531 /* "ROLLBACK" */ } - return ts + 16541 /* "COMMIT" */ + return ts + 16540 /* "COMMIT" */ }(), uintptr(0), uintptr(0)) != 0 { return } @@ -97182,7 +98437,7 @@ func Xsqlite3Savepoint(tls *libc.TLS, pParse uintptr, op int32, pName uintptr) { } } -var az = [3]uintptr{ts + 16526 /* "BEGIN" */, ts + 16548 /* "RELEASE" */, ts + 16532 /* "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. @@ -97198,7 +98453,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+16556 /* "unable to open a..." */, 0) + ts+16555 /* "unable to open a..." */, 0) (*Parse)(unsafe.Pointer(pParse)).Frc = rc return 1 } @@ -97341,17 +98596,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+16626 /* "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+16637 /* ", " */, 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+929 /* "." */, 1) + Xsqlite3_str_append(tls, bp+8 /* &errMsg */, ts+928 /* "." */, 1) Xsqlite3_str_appendall(tls, bp+8 /* &errMsg */, zCol) } } @@ -97374,11 +98629,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+10231 /* "%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+10222 /* "%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), @@ -97521,7 +98776,7 @@ func Xsqlite3Reindex(tls *libc.TLS, pParse uintptr, pName1 uintptr, pName2 uintp sqlite3RefillIndex(tls, pParse, pIndex, -1) return } - Xsqlite3ErrorMsg(tls, pParse, ts+16640 /* "unable to identi..." */, 0) + Xsqlite3ErrorMsg(tls, pParse, ts+16639 /* "unable to identi..." */, 0) } // Return a KeyInfo structure that is appropriate for the given Index. @@ -97631,7 +98886,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+16686 /* "duplicate WITH t..." */, libc.VaList(bp, zName)) + Xsqlite3ErrorMsg(tls, pParse, ts+16685 /* "duplicate WITH t..." */, libc.VaList(bp, zName)) } } } @@ -97692,7 +98947,9 @@ func callCollNeeded(tls *libc.TLS, db uintptr, enc int32, zName uintptr) { /* sq if !(zExternal != 0) { return } - (*(*func(*libc.TLS, uintptr, uintptr, int32, uintptr))(unsafe.Pointer((db + 368 /* &.xCollNeeded */))))(tls, (*Sqlite3)(unsafe.Pointer(db)).FpCollNeededArg, db, enc, zExternal) + (*struct { + f func(*libc.TLS, uintptr, uintptr, int32, uintptr) + })(unsafe.Pointer(&struct{ uintptr }{(*Sqlite3)(unsafe.Pointer(db)).FxCollNeeded})).f(tls, (*Sqlite3)(unsafe.Pointer(db)).FpCollNeededArg, db, enc, zExternal) Xsqlite3DbFree(tls, db, zExternal) } if (*Sqlite3)(unsafe.Pointer(db)).FxCollNeeded16 != 0 { @@ -97701,7 +98958,9 @@ func callCollNeeded(tls *libc.TLS, db uintptr, enc int32, zName uintptr) { /* sq Xsqlite3ValueSetStr(tls, pTmp, -1, zName, uint8(SQLITE_UTF8), uintptr(0)) zExternal = Xsqlite3ValueText(tls, pTmp, uint8(SQLITE_UTF16LE)) if zExternal != 0 { - (*(*func(*libc.TLS, uintptr, uintptr, int32, uintptr))(unsafe.Pointer((db + 376 /* &.xCollNeeded16 */))))(tls, (*Sqlite3)(unsafe.Pointer(db)).FpCollNeededArg, db, int32((*Sqlite3)(unsafe.Pointer(db)).Fenc), zExternal) + (*struct { + f func(*libc.TLS, uintptr, uintptr, int32, uintptr) + })(unsafe.Pointer(&struct{ uintptr }{(*Sqlite3)(unsafe.Pointer(db)).FxCollNeeded16})).f(tls, (*Sqlite3)(unsafe.Pointer(db)).FpCollNeededArg, db, int32((*Sqlite3)(unsafe.Pointer(db)).Fenc), zExternal) } Xsqlite3ValueFree(tls, pTmp) } @@ -97865,7 +99124,7 @@ func Xsqlite3GetCollSeq(tls *libc.TLS, pParse uintptr, enc U8, pColl uintptr, zN } if p == uintptr(0) { - Xsqlite3ErrorMsg(tls, pParse, ts+16716 /* "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 @@ -98231,11 +99490,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+16747 /* "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+16776 /* "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 @@ -98828,7 +100087,7 @@ __60: } Xsqlite3VdbeAddOp2(tls, v, OP_ChngCntRow, memCnt, 1) Xsqlite3VdbeSetNumCols(tls, v, 1) - Xsqlite3VdbeSetColName(tls, v, 0, COLNAME_NAME, ts+16814 /* "rows deleted" */, uintptr(0)) + Xsqlite3VdbeSetColName(tls, v, 0, COLNAME_NAME, ts+16813 /* "rows deleted" */, uintptr(0)) __61: ; @@ -98973,7 +100232,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+13347 /* "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 { @@ -99251,7 +100510,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 + 8087 /* "integer" */, ts + 8082 /* "real" */, ts + 16827 /* "text" */, ts + 16832 /* "blob" */, ts + 8077 /* "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: */ @@ -99315,7 +100574,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+16837 /* "integer overflow" */, -1) + Xsqlite3_result_error(tls, context, ts+16836 /* "integer overflow" */, -1) return } iVal = -iVal @@ -99646,14 +100905,14 @@ func roundFunc(tls *libc.TLS, context uintptr, argc int32, argv uintptr) { /* sq if (*(*float64)(unsafe.Pointer(bp + 16 /* r */)) < -4503599627370496.0) || (*(*float64)(unsafe.Pointer(bp + 16 /* r */)) > +4503599627370496.0) { // The value has no fractional part so there is nothing to round } else if n == 0 { - *(*float64)(unsafe.Pointer(bp + 16 /* r */)) = float64((Sqlite_int64(*(*float64)(unsafe.Pointer(bp + 16 /* r */)) + (func() float64 { + *(*float64)(unsafe.Pointer(bp + 16 /* r */)) = float64((libc.Int64FromFloat64(*(*float64)(unsafe.Pointer(bp + 16 /* r */)) + (func() float64 { if *(*float64)(unsafe.Pointer(bp + 16 /* r */)) < float64(0) { return -0.5 } return +0.5 }())))) } else { - zBuf = Xsqlite3_mprintf(tls, ts+16854 /* "%.*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 @@ -100105,7 +101364,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+16859 /* "LIKE or GLOB pat..." */, -1) + Xsqlite3_result_error(tls, context, ts+16858 /* "LIKE or GLOB pat..." */, -1) return } if argc == 3 { @@ -100117,7 +101376,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+16892 /* "ESCAPE expressio..." */, -1) + ts+16891 /* "ESCAPE expressio..." */, -1) return } escape = Xsqlite3Utf8Read(tls, bp /* &zEsc */) @@ -100184,7 +101443,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+952 /* "%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. @@ -100241,10 +101500,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+6808 /* "%!.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+16937 /* "%!.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 @@ -100318,7 +101577,7 @@ func quoteFunc(tls *libc.TLS, context uintptr, argc int32, argv uintptr) { /* sq default: { - Xsqlite3_result_text(tls, context, ts+917 /* "NULL" */, 4, uintptr(0)) + Xsqlite3_result_text(tls, context, ts+916 /* "NULL" */, 4, uintptr(0)) break } @@ -100629,7 +101888,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 + 12927 /* " " */)} /* 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 @@ -100650,7 +101909,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 + 916 /* "" */ + zIn = ts + 915 /* "" */ } for i = 0; (*(*U8)(unsafe.Pointer(zIn + uintptr(i))) != 0) && !((int32(Xsqlite3CtypeMap[*(*U8)(unsafe.Pointer(zIn + uintptr(i)))]) & 0x02) != 0); i++ { } @@ -100676,7 +101935,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+16944 /* "?000" */, 4, uintptr(0)) + Xsqlite3_result_text(tls, context, ts+16943 /* "?000" */, 4, uintptr(0)) } } @@ -100704,7 +101963,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+14124 /* "not authorized" */, -1) + Xsqlite3_result_error(tls, context, ts+14123 /* "not authorized" */, -1) return } @@ -100722,12 +101981,12 @@ func loadExt(tls *libc.TLS, context uintptr, argc int32, argv uintptr) { /* sqli // An instance of the following structure holds the context of a // sum() or avg() aggregate computation. type SumCtx1 = struct { - FrSum float64 - FiSum I64 - Fcnt I64 - Foverflow U8 - Fapprox U8 - _ [6]byte + FrSum float64 + FiSum I64 + Fcnt I64 + Foverflow U8 + Fapprox U8 + F__ccgo_pad1 [6]byte } /* sqlite3.c:120823:9 */ // An instance of the following structure holds the context of a @@ -100792,7 +102051,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+16837 /* "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 { @@ -100946,7 +102205,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 + 14856 /* "," */ + zSep = ts + 14855 /* "," */ nSep = 1 } if zSep != 0 { @@ -101024,7 +102283,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+16949 /* "MATCH" */, 2) + var rc int32 = Xsqlite3_overload_function(tls, db, ts+16948 /* "MATCH" */, 2) if rc == SQLITE_NOMEM { Xsqlite3OomFault(tls, db) @@ -101044,14 +102303,14 @@ func Xsqlite3RegisterLikeFunctions(tls *libc.TLS, db uintptr, caseSensitive int3 pInfo = uintptr(unsafe.Pointer(&likeInfoNorm)) flags = SQLITE_FUNC_LIKE } - Xsqlite3CreateFunc(tls, db, ts+16955 /* "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+16955 /* "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+16955 /* "like" */, 2, uint8(SQLITE_UTF8), uint8(0)) + 4 /* &.funcFlags */)) |= (U32(flags)) - *(*U32)(unsafe.Pointer(Xsqlite3FindFunction(tls, db, ts+16955 /* "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 @@ -101156,76 +102415,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 + 16960 /* "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 + 16980 /* "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 + 16993 /* "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 + 17011 /* "soundex" */}, - {FnArg: int8(1), FfuncFlags: (U32((SQLITE_UTF8 | SQLITE_DIRECTONLY) | SQLITE_FUNC_UNSAFE)), FxSFunc: 0, FzName: ts + 17019 /* "load_extension" */}, - {FnArg: int8(2), FfuncFlags: (U32((SQLITE_UTF8 | SQLITE_DIRECTONLY) | SQLITE_FUNC_UNSAFE)), FxSFunc: 0, FzName: ts + 17019 /* "load_extension" */}, - {FnArg: int8(1), FfuncFlags: (U32(SQLITE_FUNC_SLOCHNG | SQLITE_UTF8)), FxSFunc: 0, FzName: ts + 17034 /* "sqlite_compileop..." */}, - {FnArg: int8(1), FfuncFlags: (U32(SQLITE_FUNC_SLOCHNG | SQLITE_UTF8)), FxSFunc: 0, FzName: ts + 17060 /* "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 + 17085 /* "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 + 17094 /* "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 + 17105 /* "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 + 17112 /* "sqlite_offset" */}, - {FnArg: int8(1), FfuncFlags: (U32((SQLITE_FUNC_CONSTANT | SQLITE_UTF8) | (0 * SQLITE_FUNC_NEEDCOLL))), FpUserData: uintptr(int64(1)), FxSFunc: 0, FzName: ts + 17126 /* "ltrim" */}, - {FnArg: int8(2), FfuncFlags: (U32((SQLITE_FUNC_CONSTANT | SQLITE_UTF8) | (0 * SQLITE_FUNC_NEEDCOLL))), FpUserData: uintptr(int64(1)), FxSFunc: 0, FzName: ts + 17126 /* "ltrim" */}, - {FnArg: int8(1), FfuncFlags: (U32((SQLITE_FUNC_CONSTANT | SQLITE_UTF8) | (0 * SQLITE_FUNC_NEEDCOLL))), FpUserData: uintptr(int64(2)), FxSFunc: 0, FzName: ts + 17132 /* "rtrim" */}, - {FnArg: int8(2), FfuncFlags: (U32((SQLITE_FUNC_CONSTANT | SQLITE_UTF8) | (0 * SQLITE_FUNC_NEEDCOLL))), FpUserData: uintptr(int64(2)), FxSFunc: 0, FzName: ts + 17132 /* "rtrim" */}, - {FnArg: int8(1), FfuncFlags: (U32((SQLITE_FUNC_CONSTANT | SQLITE_UTF8) | (0 * SQLITE_FUNC_NEEDCOLL))), FpUserData: uintptr(int64(3)), FxSFunc: 0, FzName: ts + 17138 /* "trim" */}, - {FnArg: int8(2), FfuncFlags: (U32((SQLITE_FUNC_CONSTANT | SQLITE_UTF8) | (0 * SQLITE_FUNC_NEEDCOLL))), FpUserData: uintptr(int64(3)), FxSFunc: 0, FzName: ts + 17138 /* "trim" */}, - {FnArg: int8(-1), FfuncFlags: (U32((SQLITE_FUNC_CONSTANT | SQLITE_UTF8) | (1 * SQLITE_FUNC_NEEDCOLL))), FxSFunc: 0, FzName: ts + 17143 /* "min" */}, - {FfuncFlags: (U32((SQLITE_FUNC_CONSTANT | SQLITE_UTF8) | (1 * SQLITE_FUNC_NEEDCOLL))), FzName: ts + 17143 /* "min" */}, - {FnArg: int8(1), FfuncFlags: (U32((SQLITE_UTF8 | (1 * SQLITE_FUNC_NEEDCOLL)) | SQLITE_FUNC_MINMAX)), FxSFunc: 0, FxFinalize: 0, FxValue: 0, FzName: ts + 17143 /* "min" */}, - {FnArg: int8(-1), FfuncFlags: (U32((SQLITE_FUNC_CONSTANT | SQLITE_UTF8) | (1 * SQLITE_FUNC_NEEDCOLL))), FpUserData: uintptr(int64(1)), FxSFunc: 0, FzName: ts + 17147 /* "max" */}, - {FfuncFlags: (U32((SQLITE_FUNC_CONSTANT | SQLITE_UTF8) | (1 * SQLITE_FUNC_NEEDCOLL))), FpUserData: uintptr(int64(1)), FzName: ts + 17147 /* "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 + 17147 /* "max" */}, - {FnArg: int8(1), FfuncFlags: (U32(((SQLITE_FUNC_CONSTANT | SQLITE_UTF8) | (0 * SQLITE_FUNC_NEEDCOLL)) | SQLITE_FUNC_TYPEOF)), FxSFunc: 0, FzName: ts + 17151 /* "typeof" */}, - {FnArg: int8(1), FfuncFlags: (U32(((SQLITE_FUNC_CONSTANT | SQLITE_UTF8) | (0 * SQLITE_FUNC_NEEDCOLL)) | SQLITE_FUNC_LENGTH)), FxSFunc: 0, FzName: ts + 17158 /* "length" */}, - {FnArg: int8(2), FfuncFlags: (U32((SQLITE_FUNC_CONSTANT | SQLITE_UTF8) | (0 * SQLITE_FUNC_NEEDCOLL))), FxSFunc: 0, FzName: ts + 17165 /* "instr" */}, - {FnArg: int8(-1), FfuncFlags: (U32((SQLITE_FUNC_CONSTANT | SQLITE_UTF8) | (0 * SQLITE_FUNC_NEEDCOLL))), FxSFunc: 0, FzName: ts + 17171 /* "printf" */}, - {FnArg: int8(1), FfuncFlags: (U32((SQLITE_FUNC_CONSTANT | SQLITE_UTF8) | (0 * SQLITE_FUNC_NEEDCOLL))), FxSFunc: 0, FzName: ts + 17178 /* "unicode" */}, - {FnArg: int8(-1), FfuncFlags: (U32((SQLITE_FUNC_CONSTANT | SQLITE_UTF8) | (0 * SQLITE_FUNC_NEEDCOLL))), FxSFunc: 0, FzName: ts + 17186 /* "char" */}, - {FnArg: int8(1), FfuncFlags: (U32((SQLITE_FUNC_CONSTANT | SQLITE_UTF8) | (0 * SQLITE_FUNC_NEEDCOLL))), FxSFunc: 0, FzName: ts + 17191 /* "abs" */}, - {FnArg: int8(1), FfuncFlags: (U32((SQLITE_FUNC_CONSTANT | SQLITE_UTF8) | (0 * SQLITE_FUNC_NEEDCOLL))), FxSFunc: 0, FzName: ts + 17195 /* "round" */}, - {FnArg: int8(2), FfuncFlags: (U32((SQLITE_FUNC_CONSTANT | SQLITE_UTF8) | (0 * SQLITE_FUNC_NEEDCOLL))), FxSFunc: 0, FzName: ts + 17195 /* "round" */}, - {FnArg: int8(1), FfuncFlags: (U32((SQLITE_FUNC_CONSTANT | SQLITE_UTF8) | (0 * SQLITE_FUNC_NEEDCOLL))), FxSFunc: 0, FzName: ts + 17201 /* "upper" */}, - {FnArg: int8(1), FfuncFlags: (U32((SQLITE_FUNC_CONSTANT | SQLITE_UTF8) | (0 * SQLITE_FUNC_NEEDCOLL))), FxSFunc: 0, FzName: ts + 17207 /* "lower" */}, - {FnArg: int8(1), FfuncFlags: (U32((SQLITE_FUNC_CONSTANT | SQLITE_UTF8) | (0 * SQLITE_FUNC_NEEDCOLL))), FxSFunc: 0, FzName: ts + 17213 /* "hex" */}, - {FnArg: int8(2), FfuncFlags: (U32(((SQLITE_UTF8 | SQLITE_FUNC_INLINE) | SQLITE_FUNC_CONSTANT) | (0))), FxSFunc: 0, FzName: ts + 17217 /* "ifnull" */}, - {FfuncFlags: (U32(SQLITE_UTF8 | (0 * SQLITE_FUNC_NEEDCOLL))), FxSFunc: 0, FzName: ts + 17224 /* "random" */}, - {FnArg: int8(1), FfuncFlags: (U32(SQLITE_UTF8 | (0 * SQLITE_FUNC_NEEDCOLL))), FxSFunc: 0, FzName: ts + 17231 /* "randomblob" */}, - {FnArg: int8(2), FfuncFlags: (U32((SQLITE_FUNC_CONSTANT | SQLITE_UTF8) | (1 * SQLITE_FUNC_NEEDCOLL))), FxSFunc: 0, FzName: ts + 17242 /* "nullif" */}, - {FfuncFlags: (U32(SQLITE_FUNC_SLOCHNG | SQLITE_UTF8)), FxSFunc: 0, FzName: ts + 17249 /* "sqlite_version" */}, - {FfuncFlags: (U32(SQLITE_FUNC_SLOCHNG | SQLITE_UTF8)), FxSFunc: 0, FzName: ts + 17264 /* "sqlite_source_id" */}, - {FnArg: int8(2), FfuncFlags: (U32((SQLITE_FUNC_CONSTANT | SQLITE_UTF8) | (0 * SQLITE_FUNC_NEEDCOLL))), FxSFunc: 0, FzName: ts + 17281 /* "sqlite_log" */}, - {FnArg: int8(1), FfuncFlags: (U32((SQLITE_FUNC_CONSTANT | SQLITE_UTF8) | (0 * SQLITE_FUNC_NEEDCOLL))), FxSFunc: 0, FzName: ts + 17292 /* "quote" */}, - {FfuncFlags: (U32(SQLITE_UTF8 | (0 * SQLITE_FUNC_NEEDCOLL))), FxSFunc: 0, FzName: ts + 17298 /* "last_insert_rowi..." */}, - {FfuncFlags: (U32(SQLITE_UTF8 | (0 * SQLITE_FUNC_NEEDCOLL))), FxSFunc: 0, FzName: ts + 17316 /* "changes" */}, - {FfuncFlags: (U32(SQLITE_UTF8 | (0 * SQLITE_FUNC_NEEDCOLL))), FxSFunc: 0, FzName: ts + 17324 /* "total_changes" */}, - {FnArg: int8(3), FfuncFlags: (U32((SQLITE_FUNC_CONSTANT | SQLITE_UTF8) | (0 * SQLITE_FUNC_NEEDCOLL))), FxSFunc: 0, FzName: ts + 17338 /* "replace" */}, - {FnArg: int8(1), FfuncFlags: (U32((SQLITE_FUNC_CONSTANT | SQLITE_UTF8) | (0 * SQLITE_FUNC_NEEDCOLL))), FxSFunc: 0, FzName: ts + 17346 /* "zeroblob" */}, - {FnArg: int8(2), FfuncFlags: (U32((SQLITE_FUNC_CONSTANT | SQLITE_UTF8) | (0 * SQLITE_FUNC_NEEDCOLL))), FxSFunc: 0, FzName: ts + 17355 /* "substr" */}, - {FnArg: int8(3), FfuncFlags: (U32((SQLITE_FUNC_CONSTANT | SQLITE_UTF8) | (0 * SQLITE_FUNC_NEEDCOLL))), FxSFunc: 0, FzName: ts + 17355 /* "substr" */}, - {FnArg: int8(2), FfuncFlags: (U32((SQLITE_FUNC_CONSTANT | SQLITE_UTF8) | (0 * SQLITE_FUNC_NEEDCOLL))), FxSFunc: 0, FzName: ts + 17362 /* "substring" */}, - {FnArg: int8(3), FfuncFlags: (U32((SQLITE_FUNC_CONSTANT | SQLITE_UTF8) | (0 * SQLITE_FUNC_NEEDCOLL))), FxSFunc: 0, FzName: ts + 17362 /* "substring" */}, - {FnArg: int8(1), FfuncFlags: (U32((SQLITE_UTF8 | (0 * SQLITE_FUNC_NEEDCOLL)) | 0)), FxSFunc: 0, FxFinalize: 0, FxValue: 0, FxInverse: 0, FzName: ts + 17372 /* "sum" */}, - {FnArg: int8(1), FfuncFlags: (U32((SQLITE_UTF8 | (0 * SQLITE_FUNC_NEEDCOLL)) | 0)), FxSFunc: 0, FxFinalize: 0, FxValue: 0, FxInverse: 0, FzName: ts + 17376 /* "total" */}, - {FnArg: int8(1), FfuncFlags: (U32((SQLITE_UTF8 | (0 * SQLITE_FUNC_NEEDCOLL)) | 0)), FxSFunc: 0, FxFinalize: 0, FxValue: 0, FxInverse: 0, FzName: ts + 17382 /* "avg" */}, - {FfuncFlags: (U32((SQLITE_UTF8 | (0 * SQLITE_FUNC_NEEDCOLL)) | SQLITE_FUNC_COUNT)), FxSFunc: 0, FxFinalize: 0, FxValue: 0, FxInverse: 0, FzName: ts + 17386 /* "count" */}, - {FnArg: int8(1), FfuncFlags: (U32((SQLITE_UTF8 | (0 * SQLITE_FUNC_NEEDCOLL)) | 0)), FxSFunc: 0, FxFinalize: 0, FxValue: 0, FxInverse: 0, FzName: ts + 17386 /* "count" */}, - {FnArg: int8(1), FfuncFlags: (U32((SQLITE_UTF8 | (0 * SQLITE_FUNC_NEEDCOLL)) | 0)), FxSFunc: 0, FxFinalize: 0, FxValue: 0, FxInverse: 0, FzName: ts + 17392 /* "group_concat" */}, - {FnArg: int8(2), FfuncFlags: (U32((SQLITE_UTF8 | (0 * SQLITE_FUNC_NEEDCOLL)) | 0)), FxSFunc: 0, FxFinalize: 0, FxValue: 0, FxInverse: 0, FzName: ts + 17392 /* "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 + 17405 /* "glob" */}, - {FnArg: int8(2), FfuncFlags: (U32((SQLITE_FUNC_CONSTANT | SQLITE_UTF8) | SQLITE_FUNC_LIKE)), FpUserData: 0, FxSFunc: 0, FzName: ts + 16955 /* "like" */}, - {FnArg: int8(3), FfuncFlags: (U32((SQLITE_FUNC_CONSTANT | SQLITE_UTF8) | SQLITE_FUNC_LIKE)), FpUserData: 0, FxSFunc: 0, FzName: ts + 16955 /* "like" */}, - {FnArg: int8(1), FfuncFlags: (U32((SQLITE_FUNC_CONSTANT | SQLITE_UTF8) | (0 * SQLITE_FUNC_NEEDCOLL))), FzName: ts + 17410 /* "coalesce" */}, - {FfuncFlags: (U32((SQLITE_FUNC_CONSTANT | SQLITE_UTF8) | (0 * SQLITE_FUNC_NEEDCOLL))), FzName: ts + 17410 /* "coalesce" */}, - {FnArg: int8(1), FfuncFlags: (U32((SQLITE_FUNC_CONSTANT | SQLITE_UTF8) | (0 * SQLITE_FUNC_NEEDCOLL))), FxSFunc: 0, FzName: ts + 17419 /* "sign" */}, - {FnArg: int8(-1), FfuncFlags: (U32(((SQLITE_UTF8 | SQLITE_FUNC_INLINE) | SQLITE_FUNC_CONSTANT) | (0))), FxSFunc: 0, FzName: ts + 17410 /* "coalesce" */}, - {FnArg: int8(3), FfuncFlags: (U32(((SQLITE_UTF8 | SQLITE_FUNC_INLINE) | SQLITE_FUNC_CONSTANT) | (0))), FpUserData: uintptr(int64(INLINEFUNC_iif)), FxSFunc: 0, FzName: ts + 17424 /* "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 ******************************************* @@ -101511,7 +102770,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+17428, /* "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) @@ -102407,8 +103666,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 + 8576 /* "old" */, Fn: uint32(3)} // Literal "old" token - *(*Token)(unsafe.Pointer(bp + 64 /* tNew */)) = Token{Fz: ts + 8572 /* "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 @@ -102496,7 +103755,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+7069 /* "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) } @@ -102675,13 +103934,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+952 /* "%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+952 /* "%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)) } } @@ -102929,7 +104188,7 @@ func Xsqlite3ComputeGeneratedColumns(tls *libc.TLS, pParse uintptr, iRegStore in } } if pRedo != 0 { - Xsqlite3ErrorMsg(tls, pParse, ts+10192 /* "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 } @@ -103493,7 +104752,7 @@ __23: goto __24 } Xsqlite3ErrorMsg(tls, pParse, - ts+17473, /* "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: @@ -103518,7 +104777,7 @@ __20: bIdListInOrder = U8(0) goto __27 __26: - Xsqlite3ErrorMsg(tls, pParse, ts+17514, /* "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 @@ -103688,7 +104947,7 @@ __42: goto __47 } Xsqlite3ErrorMsg(tls, pParse, - ts+17546, /* "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: @@ -103698,7 +104957,7 @@ __36: if !((pColumn != uintptr(0)) && (nColumn != (*IdList)(unsafe.Pointer(pColumn)).FnId)) { goto __48 } - Xsqlite3ErrorMsg(tls, pParse, ts+17598 /* "%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: ; @@ -103754,7 +105013,7 @@ __50: if !((*Table)(unsafe.Pointer(pTab)).FnModuleArg != 0) { goto __56 } - Xsqlite3ErrorMsg(tls, pParse, ts+17623, /* "UPSERT not imple..." */ + Xsqlite3ErrorMsg(tls, pParse, ts+17622, /* "UPSERT not imple..." */ libc.VaList(bp+64, (*Table)(unsafe.Pointer(pTab)).FzName)) goto insert_cleanup __56: @@ -103762,7 +105021,7 @@ __56: if !((*Table)(unsafe.Pointer(pTab)).FpSelect != 0) { goto __57 } - Xsqlite3ErrorMsg(tls, pParse, ts+17669 /* "cannot UPSERT a ..." */, 0) + Xsqlite3ErrorMsg(tls, pParse, ts+17668 /* "cannot UPSERT a ..." */, 0) goto insert_cleanup __57: ; @@ -104242,7 +105501,7 @@ __122: } Xsqlite3VdbeAddOp2(tls, v, OP_ChngCntRow, regRowCount, 1) Xsqlite3VdbeSetNumCols(tls, v, 1) - Xsqlite3VdbeSetColName(tls, v, 0, COLNAME_NAME, ts+17690 /* "rows inserted" */, uintptr(0)) + Xsqlite3VdbeSetColName(tls, v, 0, COLNAME_NAME, ts+17689 /* "rows inserted" */, uintptr(0)) __123: ; @@ -104324,9 +105583,9 @@ func Xsqlite3ExprReferencesUpdatedColumn(tls *libc.TLS, pExpr uintptr, aiChng ui // of a table in either Index.pNext order, or in some other order established // by an array of IndexListTerm objects. type IndexListTerm1 = struct { - Fp uintptr - Fix int32 - _ [4]byte + Fp uintptr + Fix int32 + F__ccgo_pad1 [4]byte } /* sqlite3.c:124490:9 */ // The sqlite3GenerateConstraintChecks() routine usually wants to visit @@ -104343,8 +105602,8 @@ type IndexIterator1 = struct { FeType int32 Fi int32 Fu struct { - Flx struct{ FpIdx uintptr } - _ [8]byte + Flx struct{ FpIdx uintptr } + F__ccgo_pad1 [8]byte } } /* sqlite3.c:124491:9 */ @@ -104586,7 +105845,7 @@ func Xsqlite3GenerateConstraintChecks(tls *libc.TLS, pParse uintptr, pTab uintpt fallthrough case OE_Fail: { - var zMsg uintptr = Xsqlite3MPrintf(tls, db, ts+10231 /* "%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) @@ -104797,6 +106056,7 @@ func Xsqlite3GenerateConstraintChecks(tls *libc.TLS, pParse uintptr, pTab uintpt goto __4 goto __6 __6: + } } @@ -104837,7 +106097,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+17704 /* "trigger count" */, 0) + Xsqlite3VdbeComment(tls, v, ts+17703 /* "trigger count" */, 0) lblRecheckOk = Xsqlite3VdbeMakeLabel(tls, pParse) addrRecheck = lblRecheckOk } @@ -104882,7 +106142,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+17718 /* "defer IPK REPLAC..." */, 0) + Xsqlite3VdbeComment(tls, v, ts+17717 /* "defer IPK REPLAC..." */, 0) } if isUpdate != 0 { @@ -104896,7 +106156,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+17747 /* "uniqueness check..." */, 0) + Xsqlite3VdbeNoopComment(tls, v, ts+17746 /* "uniqueness check..." */, 0) Xsqlite3VdbeAddOp3(tls, v, OP_NotExists, iDataCur, addrRowidOk, regNewData) @@ -105016,7 +106276,7 @@ func Xsqlite3GenerateConstraintChecks(tls *libc.TLS, pParse uintptr, pTab uintpt Xsqlite3TableAffinity(tls, v, pTab, (regNewData + 1)) bAffinityDone = U8(1) } - Xsqlite3VdbeNoopComment(tls, v, ts+17774 /* "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 @@ -105038,20 +106298,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+17788 /* "%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+10298 /* "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+952 /* "%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+17801 /* "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 @@ -105124,7 +106384,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+10231 /* "%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 { @@ -105218,7 +106478,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+17808 /* "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 @@ -105287,7 +106547,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+17823 /* "Do IPK REPLACE" */, 0) + Xsqlite3VdbeComment(tls, v, ts+17822 /* "Do IPK REPLACE" */, 0) Xsqlite3VdbeJumpHere(tls, v, ipkBottom) } @@ -105503,7 +106763,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+952 /* "%s" */, libc.VaList(bp, (*Index)(unsafe.Pointer(pIdx)).FzName)) + Xsqlite3VdbeComment(tls, v, ts+951 /* "%s" */, libc.VaList(bp, (*Index)(unsafe.Pointer(pIdx)).FzName)) } } @@ -105884,11 +107144,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+952 /* "%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+952 /* "%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 @@ -106005,7 +107265,7 @@ __1: if !(zSql == uintptr(0)) { goto __2 } - zSql = ts + 916 /* "" */ + zSql = ts + 915 /* "" */ __2: ; @@ -106105,7 +107365,9 @@ __18: *(*uintptr)(unsafe.Pointer(azVals + uintptr(i)*8)) = uintptr(0) __15: ; - if !((*(*func(*libc.TLS, uintptr, int32, uintptr, uintptr) int32)(unsafe.Pointer(&xCallback)))(tls, pArg, nCol, azVals, azCols) != 0) { + if !((*struct { + f func(*libc.TLS, uintptr, int32, uintptr, uintptr) int32 + })(unsafe.Pointer(&struct{ uintptr }{xCallback})).f(tls, pArg, nCol, azVals, azCols) != 0) { goto __20 } // EVIDENCE-OF: R-38229-40159 If the callback function to @@ -106566,7 +107828,7 @@ __1: if !(pzErrMsg != 0) { goto __3 } - *(*uintptr)(unsafe.Pointer(pzErrMsg)) = Xsqlite3_mprintf(tls, ts+14124 /* "not authorized" */, 0) + *(*uintptr)(unsafe.Pointer(pzErrMsg)) = Xsqlite3_mprintf(tls, ts+14123 /* "not authorized" */, 0) __3: ; return SQLITE_ERROR @@ -106576,7 +107838,7 @@ __2: if zProc != 0 { zEntry = zProc } else { - zEntry = ts + 17838 /* "sqlite3_extensio..." */ + zEntry = ts + 17837 /* "sqlite3_extensio..." */ } // tag-20210611-1. Some dlopen() implementations will segfault if given @@ -106596,7 +107858,7 @@ __5: if !((ii < (int32(uint64(unsafe.Sizeof(azEndings)) / uint64(unsafe.Sizeof(uintptr(0)))))) && (handle == uintptr(0))) { goto __7 } - zAltFile = Xsqlite3_mprintf(tls, ts+10231 /* "%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 } @@ -106642,7 +107904,7 @@ __9: return SQLITE_NOMEM __11: ; - libc.Xmemcpy(tls, zAltEntry, ts+17861 /* "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))))) == '/')) { @@ -106656,7 +107918,7 @@ __13: __14: ; iFile++ - if !(Xsqlite3_strnicmp(tls, (zFile+uintptr(iFile)), ts+17870 /* "lib" */, 3) == 0) { + if !(Xsqlite3_strnicmp(tls, (zFile+uintptr(iFile)), ts+17869 /* "lib" */, 3) == 0) { goto __15 } iFile = iFile + (3) @@ -106680,7 +107942,7 @@ __17: goto __18 __18: ; - libc.Xmemcpy(tls, (zAltEntry + uintptr(iEntry)), ts+17874 /* "_init" */, uint64(6)) + libc.Xmemcpy(tls, (zAltEntry + uintptr(iEntry)), ts+17873 /* "_init" */, uint64(6)) zEntry = zAltEntry xInit = Xsqlite3OsDlSym(tls, pVfs, handle, zEntry) __10: @@ -106698,7 +107960,7 @@ __10: } // zErrmsg would be NULL if not so Xsqlite3_snprintf(tls, int32(nMsg), *(*uintptr)(unsafe.Pointer(bp + 56 /* zErrmsg */)), - ts+17880 /* "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: ; @@ -106710,7 +107972,9 @@ __21: __20: ; Xsqlite3_free(tls, zAltEntry) - rc = (*(*func(*libc.TLS, uintptr, uintptr, uintptr) int32)(unsafe.Pointer(&xInit)))(tls, db, bp+56 /* &zErrmsg */, uintptr(unsafe.Pointer(&sqlite3Apis))) + rc = (*struct { + f func(*libc.TLS, uintptr, uintptr, uintptr) int32 + })(unsafe.Pointer(&struct{ uintptr }{xInit})).f(tls, db, bp+56 /* &zErrmsg */, uintptr(unsafe.Pointer(&sqlite3Apis))) if !(rc != 0) { goto __23 } @@ -106723,7 +107987,7 @@ __24: if !(pzErrMsg != 0) { goto __25 } - *(*uintptr)(unsafe.Pointer(pzErrMsg)) = Xsqlite3_mprintf(tls, ts+17923 /* "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 */))) @@ -106763,7 +108027,7 @@ extension_not_found: } // zErrmsg would be NULL if not so Xsqlite3_snprintf(tls, int32(nMsg), *(*uintptr)(unsafe.Pointer(bp + 56 /* zErrmsg */)), - ts+17955 /* "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: ; @@ -106773,7 +108037,7 @@ __28: } var azEndings = [1]uintptr{ - ts + 17992, /* "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: */ @@ -106815,9 +108079,9 @@ func Xsqlite3_enable_load_extension(tls *libc.TLS, db uintptr, onoff int32) int3 // This list is shared across threads. The SQLITE_MUTEX_STATIC_MAIN // mutex must be held while accessing this list. type sqlite3AutoExtList = struct { - FnExt U32 - _ [4]byte - FaExt uintptr + FnExt U32 + F__ccgo_pad1 [4]byte + FaExt uintptr } /* sqlite3.c:127641:9 */ // The following object holds the list of automatically loaded @@ -106938,9 +108202,11 @@ func Xsqlite3AutoLoadExtensions(tls *libc.TLS, db uintptr) { /* sqlite3.c:127761 } Xsqlite3_mutex_leave(tls, mutex) *(*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) { + if (xInit != 0) && ((libc.AssignInt32(&rc, (*struct { + f func(*libc.TLS, uintptr, uintptr, uintptr) int32 + })(unsafe.Pointer(&struct{ uintptr }{xInit})).f(tls, db, bp+8 /* &zErrmsg */, pThunk))) != 0) { Xsqlite3ErrorWithMsg(tls, db, rc, - ts+17995 /* "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 */))) @@ -106985,309 +108251,309 @@ 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 + 6990, /* "id" */ // Used by: foreign_key_list - /* 1 */ ts + 18034, /* "seq" */ - /* 2 */ ts + 8470, /* "table" */ - /* 3 */ ts + 18038, /* "from" */ - /* 4 */ ts + 18043, /* "to" */ - /* 5 */ ts + 18046, /* "on_update" */ - /* 6 */ ts + 18056, /* "on_delete" */ - /* 7 */ ts + 18066, /* "match" */ - /* 8 */ ts + 18072, /* "cid" */ // Used by: table_xinfo - /* 9 */ ts + 18076, /* "name" */ - /* 10 */ ts + 18081, /* "type" */ - /* 11 */ ts + 18086, /* "notnull" */ - /* 12 */ ts + 18094, /* "dflt_value" */ - /* 13 */ ts + 18105, /* "pk" */ - /* 14 */ ts + 18108, /* "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 + 18115, /* "seqno" */ // Used by: index_xinfo - /* 16 */ ts + 18072, /* "cid" */ - /* 17 */ ts + 18076, /* "name" */ - /* 18 */ ts + 18121, /* "desc" */ - /* 19 */ ts + 18126, /* "coll" */ - /* 20 */ ts + 18131, /* "key" */ - /* 21 */ ts + 18076, /* "name" */ // Used by: function_list - /* 22 */ ts + 18135, /* "builtin" */ - /* 23 */ ts + 18081, /* "type" */ - /* 24 */ ts + 18143, /* "enc" */ - /* 25 */ ts + 18147, /* "narg" */ - /* 26 */ ts + 18152, /* "flags" */ - /* 27 */ ts + 13522, /* "tbl" */ // Used by: stats - /* 28 */ ts + 13518, /* "idx" */ - /* 29 */ ts + 18158, /* "wdth" */ - /* 30 */ ts + 18163, /* "hght" */ - /* 31 */ ts + 18168, /* "flgs" */ - /* 32 */ ts + 18034, /* "seq" */ // Used by: index_list - /* 33 */ ts + 18076, /* "name" */ - /* 34 */ ts + 18173, /* "unique" */ - /* 35 */ ts + 18180, /* "origin" */ - /* 36 */ ts + 18187, /* "partial" */ - /* 37 */ ts + 8470, /* "table" */ // Used by: foreign_key_check - /* 38 */ ts + 10298, /* "rowid" */ - /* 39 */ ts + 6993, /* "parent" */ - /* 40 */ ts + 18195, /* "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 + 18034, /* "seq" */ // Used by: database_list - /* 42 */ ts + 18076, /* "name" */ - /* 43 */ ts + 18200, /* "file" */ - /* 44 */ ts + 18205, /* "busy" */ // Used by: wal_checkpoint - /* 45 */ ts + 18210, /* "log" */ - /* 46 */ ts + 18214, /* "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 + 18227, /* "database" */ // Used by: lock_status - /* 48 */ ts + 18236, /* "status" */ - /* 49 */ ts + 18243, /* "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 + 18254, /* "timeout" */ // Used by: busy_timeout + /* 50 */ ts + 18253, /* "timeout" */ // Used by: busy_timeout } /* sqlite3.c:127901:19 */ // Definitions of all built-in pragmas type PragmaName1 = struct { - FzName uintptr - FePragTyp U8 - FmPragFlg U8 - FiPragCName U8 - FnPragCName U8 - _ [4]byte - FiArg U64 + FzName uintptr + FePragTyp U8 + FmPragFlg U8 + FiPragCName U8 + FnPragCName U8 + F__ccgo_pad1 [4]byte + FiArg U64 } /* sqlite3.c:127960:9 */ // Definitions of all built-in pragmas type PragmaName = PragmaName1 /* sqlite3.c:127967:3 */ var aPragmaName = [66]PragmaName{ - { /* zName: */ FzName: ts + 18262, /* "analysis_limit" */ + { /* zName: */ FzName: ts + 18261, /* "analysis_limit" */ /* ePragTyp: */ FePragTyp: U8(PragTyp_ANALYSIS_LIMIT), /* ePragFlg: */ FmPragFlg: U8(PragFlg_Result0)}, - { /* zName: */ FzName: ts + 18277, /* "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 + 18292, /* "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 + 18304, /* "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 + 18320, /* "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 + 18243, /* "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 + 18333, /* "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 + 18345, /* "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 + 18365, /* "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 + 18381, /* "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 + 18402, /* "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 + 18417, /* "compile_options" */ + { /* zName: */ FzName: ts + 18416, /* "compile_options" */ /* ePragTyp: */ FePragTyp: U8(PragTyp_COMPILE_OPTIONS), /* ePragFlg: */ FmPragFlg: U8(PragFlg_Result0)}, - { /* zName: */ FzName: ts + 18433, /* "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 + 18447, /* "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 + 18460, /* "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 + 18474, /* "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 + 18493, /* "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 + 18512, /* "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 + 18535, /* "encoding" */ + { /* zName: */ FzName: ts + 18534, /* "encoding" */ /* ePragTyp: */ FePragTyp: U8(PragTyp_ENCODING), /* ePragFlg: */ FmPragFlg: (U8(PragFlg_Result0 | PragFlg_NoColumns1))}, - { /* zName: */ FzName: ts + 18544, /* "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 + 18562, /* "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 + 18579, /* "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 + 18592, /* "freelist_count" */ + { /* zName: */ FzName: ts + 18591, /* "freelist_count" */ /* ePragTyp: */ FePragTyp: U8(PragTyp_HEADER_VALUE), /* ePragFlg: */ FmPragFlg: (U8(PragFlg_ReadOnly | PragFlg_Result0))}, - { /* zName: */ FzName: ts + 18607, /* "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 + 18625, /* "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 + 18635, /* "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 + 18649, /* "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 + 18665, /* "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 + 18690, /* "incremental_vacu..." */ + { /* zName: */ FzName: ts + 18689, /* "incremental_vacu..." */ /* ePragTyp: */ FePragTyp: U8(PragTyp_INCREMENTAL_VACUUM), /* ePragFlg: */ FmPragFlg: (U8(PragFlg_NeedSchema | PragFlg_NoColumns))}, - { /* zName: */ FzName: ts + 18709, /* "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 + 18720, /* "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 + 18731, /* "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 + 18743, /* "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 + 18759, /* "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 + 18772, /* "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 + 18791, /* "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 + 18810, /* "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 + 18822, /* "locking_mode" */ + { /* zName: */ FzName: ts + 18821, /* "locking_mode" */ /* ePragTyp: */ FePragTyp: U8(PragTyp_LOCKING_MODE), /* ePragFlg: */ FmPragFlg: (U8(PragFlg_Result0 | PragFlg_SchemaReq))}, - { /* zName: */ FzName: ts + 18835, /* "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 + 18850, /* "mmap_size" */ + { /* zName: */ FzName: ts + 18849, /* "mmap_size" */ /* ePragTyp: */ FePragTyp: U8(PragTyp_MMAP_SIZE)}, - { /* zName: */ FzName: ts + 18860, /* "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 + 18872, /* "optimize" */ + { /* zName: */ FzName: ts + 18871, /* "optimize" */ /* ePragTyp: */ FePragTyp: U8(PragTyp_OPTIMIZE), /* ePragFlg: */ FmPragFlg: (U8(PragFlg_Result1 | PragFlg_NeedSchema))}, - { /* zName: */ FzName: ts + 18881, /* "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 + 18892, /* "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 + 18902, /* "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 + 18914, /* "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 + 18925, /* "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 + 18937, /* "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 + 18954, /* "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 + 18973, /* "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 + 18999, /* "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 + 19014, /* "secure_delete" */ + { /* zName: */ FzName: ts + 19013, /* "secure_delete" */ /* ePragTyp: */ FePragTyp: U8(PragTyp_SECURE_DELETE), /* ePragFlg: */ FmPragFlg: U8(PragFlg_Result0)}, - { /* zName: */ FzName: ts + 19028, /* "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 + 19047, /* "shrink_memory" */ + { /* zName: */ FzName: ts + 19046, /* "shrink_memory" */ /* ePragTyp: */ FePragTyp: U8(PragTyp_SHRINK_MEMORY), /* ePragFlg: */ FmPragFlg: U8(PragFlg_NoColumns)}, - { /* zName: */ FzName: ts + 19061, /* "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 + 19077, /* "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 + 19089, /* "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 + 19100, /* "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 + 19112, /* "temp_store" */ + { /* zName: */ FzName: ts + 19111, /* "temp_store" */ /* ePragTyp: */ FePragTyp: U8(PragTyp_TEMP_STORE), /* ePragFlg: */ FmPragFlg: (U8(PragFlg_Result0 | PragFlg_NoColumns1))}, - { /* zName: */ FzName: ts + 19123, /* "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 + 19144, /* "threads" */ + { /* zName: */ FzName: ts + 19143, /* "threads" */ /* ePragTyp: */ FePragTyp: U8(PragTyp_THREADS), /* ePragFlg: */ FmPragFlg: U8(PragFlg_Result0)}, - { /* zName: */ FzName: ts + 19152, /* "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 + 19167, /* "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 + 19180, /* "wal_autocheckpoi..." */ + { /* zName: */ FzName: ts + 19179, /* "wal_autocheckpoi..." */ /* ePragTyp: */ FePragTyp: U8(PragTyp_WAL_AUTOCHECKPOINT)}, - { /* zName: */ FzName: ts + 19199, /* "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 + 19214, /* "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))}, @@ -107324,7 +108590,7 @@ func getSafetyLevel(tls *libc.TLS, z uintptr, omitFull int32, dflt U8) U8 { /* s return dflt } -var zText = *(*[25]int8)(unsafe.Pointer(ts + 19230 /* "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 */ @@ -107341,10 +108607,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+19255 /* "exclusive" */) { + if 0 == Xsqlite3StrICmp(tls, z, ts+19254 /* "exclusive" */) { return PAGER_LOCKINGMODE_EXCLUSIVE } - if 0 == Xsqlite3StrICmp(tls, z, ts+19265 /* "normal" */) { + if 0 == Xsqlite3StrICmp(tls, z, ts+19264 /* "normal" */) { return PAGER_LOCKINGMODE_NORMAL } } @@ -107357,13 +108623,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+19272 /* "none" */) { + if 0 == Xsqlite3StrICmp(tls, z, ts+19271 /* "none" */) { return BTREE_AUTOVACUUM_NONE } - if 0 == Xsqlite3StrICmp(tls, z, ts+19277 /* "full" */) { + if 0 == Xsqlite3StrICmp(tls, z, ts+19276 /* "full" */) { return BTREE_AUTOVACUUM_FULL } - if 0 == Xsqlite3StrICmp(tls, z, ts+19282 /* "incremental" */) { + if 0 == Xsqlite3StrICmp(tls, z, ts+19281 /* "incremental" */) { return BTREE_AUTOVACUUM_INCR } i = Xsqlite3Atoi(tls, z) @@ -107381,9 +108647,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+18200 /* "file" */) == 0 { + } else if Xsqlite3StrICmp(tls, z, ts+18199 /* "file" */) == 0 { return 1 - } else if Xsqlite3StrICmp(tls, z, ts+19294 /* "memory" */) == 0 { + } else if Xsqlite3StrICmp(tls, z, ts+19293 /* "memory" */) == 0 { return 2 } else { return 0 @@ -107399,7 +108665,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+19301 /* "temporary storag..." */, 0) + ts+19300 /* "temporary storag..." */, 0) return SQLITE_ERROR } Xsqlite3BtreeClose(tls, (*Db)(unsafe.Pointer((*Sqlite3)(unsafe.Pointer(db)).FaDb+1*32)).FpBt) @@ -107499,19 +108765,19 @@ func actionName(tls *libc.TLS, action U8) uintptr { /* sqlite3.c:128694:19: */ var zName uintptr switch int32(action) { case OE_SetNull: - zName = ts + 19363 /* "SET NULL" */ + zName = ts + 19362 /* "SET NULL" */ break case OE_SetDflt: - zName = ts + 19372 /* "SET DEFAULT" */ + zName = ts + 19371 /* "SET DEFAULT" */ break case OE_Cascade: - zName = ts + 19384 /* "CASCADE" */ + zName = ts + 19383 /* "CASCADE" */ break case OE_Restrict: - zName = ts + 19392 /* "RESTRICT" */ + zName = ts + 19391 /* "RESTRICT" */ break default: - zName = ts + 19401 /* "NO ACTION" */ + zName = ts + 19400 /* "NO ACTION" */ break } return zName @@ -107529,7 +108795,7 @@ func Xsqlite3JournalModename(tls *libc.TLS, eMode int32) uintptr { /* sqlite3.c: } var azModeName = [6]uintptr{ - ts + 19411 /* "delete" */, ts + 19418 /* "persist" */, ts + 19426 /* "off" */, ts + 19430 /* "truncate" */, ts + 19294 /* "memory" */, ts + 19439, /* "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. @@ -107575,13 +108841,13 @@ func pragmaFunclistLine(tls *libc.TLS, v uintptr, p uintptr, isBuiltin int32, sh continue } if (*FuncDef)(unsafe.Pointer(p)).FxValue != uintptr(0) { - zType = ts + 19443 /* "w" */ + zType = ts + 19442 /* "w" */ } else if (*FuncDef)(unsafe.Pointer(p)).FxFinalize != uintptr(0) { - zType = ts + 19445 /* "a" */ + zType = ts + 19444 /* "a" */ } else { - zType = ts + 19447 /* "s" */ + zType = ts + 19446 /* "s" */ } - Xsqlite3VdbeMultiLoad(tls, v, 1, ts+19449, /* "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), @@ -107590,7 +108856,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 + 19456 /* "utf8" */, ts + 19461 /* "utf16le" */, ts + 19469 /* "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: // @@ -107856,7 +109122,7 @@ __4: if !(minusFlag != 0) { goto __5 } - zRight = Xsqlite3MPrintf(tls, db, ts+19477 /* "-%T" */, libc.VaList(bp, pValue)) + zRight = Xsqlite3MPrintf(tls, db, ts+19476 /* "-%T" */, libc.VaList(bp, pValue)) goto __6 __5: zRight = Xsqlite3NameFromToken(tls, db, pValue) @@ -107911,7 +109177,7 @@ __8: if !(*(*uintptr)(unsafe.Pointer(bp + 384 /* &aFcntl[0] */)) != 0) { goto __10 } - Xsqlite3ErrorMsg(tls, pParse, ts+952 /* "%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: ; @@ -108487,7 +109753,7 @@ __18: if !(zRight != 0) { goto __63 } - if !(Xsqlite3_stricmp(tls, zRight, ts+19481 /* "fast" */) == 0) { + if !(Xsqlite3_stricmp(tls, zRight, ts+19480 /* "fast" */) == 0) { goto __64 } b = 2 @@ -108576,7 +109842,7 @@ __71: // PRAGMA [schema.]locking_mode // PRAGMA [schema.]locking_mode = (normal|exclusive) __20: - zRet = ts + 19265 /* "normal" */ + zRet = ts + 19264 /* "normal" */ eMode = getLockingMode(tls, zRight) if !(((*Token)(unsafe.Pointer(pId2)).Fn == uint32(0)) && (eMode == -1)) { @@ -108617,7 +109883,7 @@ __78: if !(eMode == PAGER_LOCKINGMODE_EXCLUSIVE) { goto __83 } - zRet = ts + 19255 /* "exclusive" */ + zRet = ts + 19254 /* "exclusive" */ __83: ; returnSingleText(tls, v, zRet) @@ -108945,7 +110211,7 @@ __116: if !((rc != SQLITE_OK) || (*(*int32)(unsafe.Pointer(bp + 440 /* res */)) == 0)) { goto __119 } - Xsqlite3ErrorMsg(tls, pParse, ts+19486 /* "not a writable d..." */, 0) + Xsqlite3ErrorMsg(tls, pParse, ts+19485 /* "not a writable d..." */, 0) goto pragma_out __119: ; @@ -108963,7 +110229,7 @@ __120: if !(*(*int8)(unsafe.Pointer(zRight)) != 0) { goto __121 } - Xsqlite3_temp_directory = Xsqlite3_mprintf(tls, ts+952 /* "%s" */, libc.VaList(bp+16, zRight)) + Xsqlite3_temp_directory = Xsqlite3_mprintf(tls, ts+951 /* "%s" */, libc.VaList(bp+16, zRight)) goto __122 __121: Xsqlite3_temp_directory = uintptr(0) @@ -108991,7 +110257,7 @@ __123: goto __125 } Xsqlite3ErrorMsg(tls, pParse, - ts+19511 /* "Safety level may..." */, 0) + ts+19510 /* "Safety level may..." */, 0) goto __126 __125: if !(iDb != 1) { @@ -109150,13 +110416,13 @@ __147: Xsqlite3VdbeMultiLoad(tls, v, 1, func() uintptr { if (*PragmaName)(unsafe.Pointer(pPragma)).FiArg != 0 { - return ts + 19564 /* "issisii" */ + return ts + 19563 /* "issisii" */ } - return ts + 19572 /* "issisi" */ + return ts + 19571 /* "issisi" */ }(), libc.VaList(bp+24, (i-nHidden), (*Column)(unsafe.Pointer(pCol)).FzName, - Xsqlite3ColumnType(tls, pCol, ts+916 /* "" */), + Xsqlite3ColumnType(tls, pCol, ts+915 /* "" */), func() int32 { if (*Column)(unsafe.Pointer(pCol)).FnotNull != 0 { return 1 @@ -109231,7 +110497,7 @@ __159: goto __161 } cnum = *(*I16)(unsafe.Pointer((*Index)(unsafe.Pointer(pIdx)).FaiColumn + uintptr(i1)*2)) - Xsqlite3VdbeMultiLoad(tls, v, 1, ts+19579 /* "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) @@ -109241,7 +110507,7 @@ __159: if !((*PragmaName)(unsafe.Pointer(pPragma)).FiArg != 0) { goto __162 } - Xsqlite3VdbeMultiLoad(tls, v, 4, ts+19584, /* "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))))) @@ -109278,8 +110544,8 @@ __165: if !(pIdx1 != 0) { goto __167 } - *(*[3]uintptr)(unsafe.Pointer(bp + 448 /* azOrigin */)) = [3]uintptr{ts + 19589 /* "c" */, ts + 19591 /* "u" */, ts + 18105 /* "pk" */} - Xsqlite3VdbeMultiLoad(tls, v, 1, ts+19593, /* "isisi" */ + *(*[3]uintptr)(unsafe.Pointer(bp + 448 /* 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)), @@ -109313,7 +110579,7 @@ __168: __171: ; - Xsqlite3VdbeMultiLoad(tls, v, 1, ts+19599, /* "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))) @@ -109336,7 +110602,7 @@ __172: goto __174 } pColl = (*HashElem)(unsafe.Pointer(p)).Fdata - Xsqlite3VdbeMultiLoad(tls, v, 1, ts+19603 /* "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 __173 __173: p = (*HashElem)(unsafe.Pointer(p)).Fnext @@ -109400,7 +110666,7 @@ __184: goto __186 } pMod = (*HashElem)(unsafe.Pointer(j1)).Fdata - Xsqlite3VdbeMultiLoad(tls, v, 1, ts+19447 /* "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 __185 __185: j1 = (*HashElem)(unsafe.Pointer(j1)).Fnext @@ -109417,7 +110683,7 @@ __187: if !(i6 < (int32(uint64(unsafe.Sizeof(aPragmaName)) / uint64(unsafe.Sizeof(PragmaName{}))))) { goto __189 } - Xsqlite3VdbeMultiLoad(tls, v, 1, ts+19447 /* "s" */, libc.VaList(bp+216, aPragmaName[i6].FzName)) + Xsqlite3VdbeMultiLoad(tls, v, 1, ts+19446 /* "s" */, libc.VaList(bp+216, aPragmaName[i6].FzName)) goto __188 __188: i6++ @@ -109453,7 +110719,7 @@ __195: if !(j2 < (*FKey)(unsafe.Pointer(pFK)).FnCol) { goto __197 } - Xsqlite3VdbeMultiLoad(tls, v, 1, ts+19606, /* "iissssss" */ + Xsqlite3VdbeMultiLoad(tls, v, 1, ts+19605, /* "iissssss" */ libc.VaList(bp+224, i7, j2, (*FKey)(unsafe.Pointer(pFK)).FzTo, @@ -109461,7 +110727,7 @@ __195: (*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+4907 /* "NONE" */)) + ts+4906 /* "NONE" */)) goto __196 __196: j2++ @@ -109654,7 +110920,7 @@ __224: Xsqlite3VdbeAddOp2(tls, v, OP_Null, 0, (regResult + 1)) __225: ; - Xsqlite3VdbeMultiLoad(tls, v, (regResult + 2), ts+19615 /* "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 + 480 /* aiCols */))) @@ -109920,7 +111186,7 @@ __252: 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+19619 /* "*** 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) @@ -110010,7 +111276,7 @@ __271: __272: ; jmp2 = Xsqlite3VdbeAddOp1(tls, v, OP_NotNull, 3) - zErr = Xsqlite3MPrintf(tls, db, ts+19643 /* "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) @@ -110050,7 +111316,7 @@ __277: SQLITE_JUMPIFNULL) Xsqlite3VdbeResolveLabel(tls, v, addrCkFault) (*Parse)(unsafe.Pointer(pParse)).FiSelfTab = 0 - zErr1 = Xsqlite3MPrintf(tls, db, ts+19663, /* "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) @@ -110084,9 +111350,9 @@ __282: // 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+19693 /* "row " */) + Xsqlite3VdbeLoadString(tls, v, 3, ts+19692 /* "row " */) Xsqlite3VdbeAddOp3(tls, v, OP_Concat, 7, 3, 3) - Xsqlite3VdbeLoadString(tls, v, 4, ts+19698 /* " 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) @@ -110126,7 +111392,7 @@ __286: 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+19719 /* "non-unique entry..." */) + Xsqlite3VdbeLoadString(tls, v, 3, ts+19718 /* "non-unique entry..." */) Xsqlite3VdbeGoto(tls, v, jmp5) Xsqlite3VdbeResolveLabel(tls, v, uniqOk) __283: @@ -110148,7 +111414,7 @@ __278: if !(!(isQuick != 0)) { goto __288 } - Xsqlite3VdbeLoadString(tls, v, 2, ts+19746 /* "wrong # of entri..." */) + Xsqlite3VdbeLoadString(tls, v, 2, ts+19745 /* "wrong # of entri..." */) j4 = 0 pIdx5 = (*Table)(unsafe.Pointer(pTab7)).FpIndex __289: @@ -110199,7 +111465,7 @@ __234: } (*VdbeOp)(unsafe.Pointer(aOp2)).Fp2 = (1 - *(*int32)(unsafe.Pointer(bp + 488 /* mxErr */))) (*VdbeOp)(unsafe.Pointer(aOp2 + 2*32)).Fp4type = int8(-1) - *(*uintptr)(unsafe.Pointer(aOp2 + 2*32 + 16 /* &.p4 */)) = ts + 5229 /* "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) __293: @@ -110277,7 +111543,7 @@ __300: if !(!(int32((*EncName)(unsafe.Pointer(pEnc)).FzName) != 0)) { goto __302 } - Xsqlite3ErrorMsg(tls, pParse, ts+19775 /* "unsupported enco..." */, libc.VaList(bp+336, zRight)) + Xsqlite3ErrorMsg(tls, pParse, ts+19774 /* "unsupported enco..." */, libc.VaList(bp+336, zRight)) __302: ; __297: @@ -110389,19 +111655,19 @@ __47: if !(zRight != 0) { goto __309 } - if !(Xsqlite3StrICmp(tls, zRight, ts+19277 /* "full" */) == 0) { + if !(Xsqlite3StrICmp(tls, zRight, ts+19276 /* "full" */) == 0) { goto __310 } eMode2 = SQLITE_CHECKPOINT_FULL goto __311 __310: - if !(Xsqlite3StrICmp(tls, zRight, ts+19800 /* "restart" */) == 0) { + if !(Xsqlite3StrICmp(tls, zRight, ts+19799 /* "restart" */) == 0) { goto __312 } eMode2 = SQLITE_CHECKPOINT_RESTART goto __313 __312: - if !(Xsqlite3StrICmp(tls, zRight, ts+19430 /* "truncate" */) == 0) { + if !(Xsqlite3StrICmp(tls, zRight, ts+19429 /* "truncate" */) == 0) { goto __314 } eMode2 = SQLITE_CHECKPOINT_TRUNCATE @@ -110588,7 +111854,7 @@ __329: __331: ; - zSubSql = Xsqlite3MPrintf(tls, db, ts+19808, /* "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 __332 @@ -110723,7 +111989,7 @@ __340: if !(i11 < (*Sqlite3)(unsafe.Pointer(db)).FnDb) { goto __342 } - zState = ts + 19826 /* "unknown" */ + zState = ts + 19825 /* "unknown" */ if !((*Db)(unsafe.Pointer((*Sqlite3)(unsafe.Pointer(db)).FaDb+uintptr(i11)*32)).FzDbSName == uintptr(0)) { goto __343 } @@ -110734,7 +112000,7 @@ __343: if !((pBt3 == uintptr(0)) || (Xsqlite3BtreePager(tls, pBt3) == uintptr(0))) { goto __344 } - zState = ts + 19834 /* "closed" */ + zState = ts + 19833 /* "closed" */ goto __345 __344: if !(Xsqlite3_file_control(tls, db, func() uintptr { @@ -110751,7 +112017,7 @@ __346: ; __345: ; - Xsqlite3VdbeMultiLoad(tls, v, 1, ts+19841 /* "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 __341 __341: i11++ @@ -110782,9 +112048,9 @@ pragma_out: } type EncName = struct { - FzName uintptr - Fenc U8 - _ [7]byte + FzName uintptr + Fenc U8 + F__ccgo_pad1 [7]byte } /* sqlite3.c:130282:18 */ var iLn3 int32 = 0 /* sqlite3.c:128958:22 */ @@ -110818,14 +112084,14 @@ var endCode = [7]VdbeOpList{ {Fopcode: U8(OP_Goto), Fp2: int8(3)}, // 6 } /* sqlite3.c:130233:31 */ var encnames1 = [9]EncName{ - {FzName: ts + 19844 /* "UTF8" */, Fenc: U8(SQLITE_UTF8)}, - {FzName: ts + 19849 /* "UTF-8" */, Fenc: U8(SQLITE_UTF8)}, // Must be element [1] - {FzName: ts + 19855 /* "UTF-16le" */, Fenc: U8(SQLITE_UTF16LE)}, // Must be element [2] - {FzName: ts + 19864 /* "UTF-16be" */, Fenc: U8(SQLITE_UTF16BE)}, // Must be element [3] - {FzName: ts + 19873 /* "UTF16le" */, Fenc: U8(SQLITE_UTF16LE)}, - {FzName: ts + 19881 /* "UTF16be" */, Fenc: U8(SQLITE_UTF16BE)}, - {FzName: ts + 19889 /* "UTF-16" */}, // SQLITE_UTF16NATIVE - {FzName: ts + 19896 /* "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{ @@ -110838,19 +112104,19 @@ var readCookie = [3]VdbeOpList{ {Fopcode: U8(OP_ResultRow), Fp1: int8(1), Fp2: int8(1)}, } /* sqlite3.c:130380:31 */ var azLockName = [5]uintptr{ - ts + 19902 /* "unlocked" */, ts + 19911 /* "shared" */, ts + 19918 /* "reserved" */, ts + 19927 /* "pending" */, ts + 19255, /* "exclusive" */ + ts + 19901 /* "unlocked" */, ts + 19910 /* "shared" */, ts + 19917 /* "reserved" */, ts + 19926 /* "pending" */, ts + 19254, /* "exclusive" */ } /* sqlite3.c:130688:23 */ // **************************************************************************** // // Implementation of an eponymous virtual table that runs a pragma. // type PragmaVtab1 = struct { - Fbase Sqlite3_vtab - Fdb uintptr - FpName uintptr - FnHidden U8 - FiHidden U8 - _ [6]byte + Fbase Sqlite3_vtab + Fdb uintptr + FpName uintptr + FnHidden U8 + FiHidden U8 + F__ccgo_pad1 [6]byte } /* sqlite3.c:130740:9 */ // **************************************************************************** @@ -110885,7 +112151,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+19935 /* "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: @@ -110893,7 +112159,7 @@ __1: goto __3 } { - Xsqlite3_str_appendf(tls, bp+32 /* &acc */, ts+19950 /* "%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(',') } @@ -110906,19 +112172,19 @@ __2: __3: ; if i == 0 { - Xsqlite3_str_appendf(tls, bp+32 /* &acc */, ts+19957 /* "(\"%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+19963 /* ",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+19975 /* ",schema HIDDEN" */) + Xsqlite3_str_appendall(tls, bp+32 /* &acc */, ts+19974 /* ",schema HIDDEN" */) j++ } - Xsqlite3_str_append(tls, bp+32 /* &acc */, ts+6888 /* ")" */, 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] */) @@ -110934,7 +112200,7 @@ __3: (*PragmaVtab)(unsafe.Pointer(pTab)).FnHidden = U8(j) } } else { - *(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3_mprintf(tls, ts+952 /* "%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 @@ -111097,7 +112363,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+952 /* "%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 } @@ -111113,13 +112379,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+19990 /* "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+19998 /* "%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+20002 /* "=%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) { @@ -111128,7 +112394,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+952 /* "%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) @@ -111221,12 +112487,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+20006 /* "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 + 20034 /* "rename" */ + return ts + 20033 /* "rename" */ } - return ts + 20041 /* "drop column" */ + return ts + 20040 /* "drop column" */ }(), zExtra)) (*InitData)(unsafe.Pointer(pData)).Frc = SQLITE_ERROR @@ -111238,11 +112504,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 + 6941 /* "?" */ + zObj = ts + 6940 /* "?" */ } - z = Xsqlite3MPrintf(tls, db, ts+20053 /* "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+20084 /* "%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) @@ -111319,7 +112585,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+16163 /* "invalid rootpage" */) + corruptSchema(tls, pData, argv, ts+16162 /* "invalid rootpage" */) } } libc.SetBitFieldPtr8Uint32(db+184 /* &.init */ +8 /* &.orphanTrigger */, uint32(0), 0, 0x1) @@ -111356,13 +112622,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+20092 /* "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+16163 /* "invalid rootpage" */) + corruptSchema(tls, pData, argv, ts+16162 /* "invalid rootpage" */) } } } @@ -111405,16 +112671,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 + 8470 /* "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 + 14191 /* "sqlite_temp_mast..." */ + return ts + 14190 /* "sqlite_temp_mast..." */ } - return ts + 7775 /* "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 + 10135 /* "1" */ - *(*uintptr)(unsafe.Pointer(bp + 16 /* &azArg[0] */ + 4*8)) = ts + 20105 /* "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 @@ -111527,7 +112793,7 @@ __10: goto __13 } Xsqlite3SetString(tls, pzErrMsg, db, - ts+13805 /* "attached databas..." */) + ts+13804 /* "attached databas..." */) rc = SQLITE_ERROR goto initone_error_out __13: @@ -111567,7 +112833,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+20177 /* "unsupported file..." */) + Xsqlite3SetString(tls, pzErrMsg, db, ts+20176 /* "unsupported file..." */) rc = SQLITE_ERROR goto initone_error_out __17: @@ -111589,7 +112855,7 @@ __18: (*InitData)(unsafe.Pointer(bp + 64 /* &initData */)).FmxPage = Xsqlite3BtreeLastPage(tls, (*Db)(unsafe.Pointer(pDb)).FpBt) zSql = Xsqlite3MPrintf(tls, db, - ts+20201, /* "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 @@ -111812,7 +113078,9 @@ func Xsqlite3ParserReset(tls *libc.TLS, pParse uintptr) { /* sqlite3.c:131614:21 for (*Parse)(unsafe.Pointer(pParse)).FpCleanup != 0 { var pCleanup uintptr = (*Parse)(unsafe.Pointer(pParse)).FpCleanup (*Parse)(unsafe.Pointer(pParse)).FpCleanup = (*ParseCleanup)(unsafe.Pointer(pCleanup)).FpNext - (*(*func(*libc.TLS, uintptr, uintptr))(unsafe.Pointer((pCleanup + 16 /* &.xCleanup */))))(tls, db, (*ParseCleanup)(unsafe.Pointer(pCleanup)).FpPtr) + (*struct { + f func(*libc.TLS, uintptr, uintptr) + })(unsafe.Pointer(&struct{ uintptr }{(*ParseCleanup)(unsafe.Pointer(pCleanup)).FxCleanup})).f(tls, db, (*ParseCleanup)(unsafe.Pointer(pCleanup)).FpPtr) Xsqlite3DbFreeNN(tls, db, pCleanup) } Xsqlite3DbFree(tls, db, (*Parse)(unsafe.Pointer(pParse)).FaLabel) @@ -111866,7 +113134,9 @@ func Xsqlite3ParserAddCleanup(tls *libc.TLS, pParse uintptr, xCleanup uintptr, p (*ParseCleanup)(unsafe.Pointer(pCleanup)).FpPtr = pPtr (*ParseCleanup)(unsafe.Pointer(pCleanup)).FxCleanup = xCleanup } else { - (*(*func(*libc.TLS, uintptr, uintptr))(unsafe.Pointer(&xCleanup)))(tls, (*Parse)(unsafe.Pointer(pParse)).Fdb, pPtr) + (*struct { + f func(*libc.TLS, uintptr, uintptr) + })(unsafe.Pointer(&struct{ uintptr }{xCleanup})).f(tls, (*Parse)(unsafe.Pointer(pParse)).Fdb, pPtr) pPtr = uintptr(0) } return pPtr @@ -111949,7 +113219,7 @@ __3: goto __7 } zDb = (*Db)(unsafe.Pointer((*Sqlite3)(unsafe.Pointer(db)).FaDb + uintptr(i)*32)).FzDbSName - Xsqlite3ErrorWithMsg(tls, db, rc, ts+20235 /* "database schema ..." */, libc.VaList(bp, zDb)) + Xsqlite3ErrorWithMsg(tls, db, rc, ts+20234 /* "database schema ..." */, libc.VaList(bp, zDb)) goto end_prepare __7: @@ -111977,7 +113247,7 @@ __2: if !(nBytes > mxLen) { goto __10 } - Xsqlite3ErrorWithMsg(tls, db, SQLITE_TOOBIG, ts+20265 /* "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: @@ -112040,7 +113310,7 @@ __19: if !(*(*uintptr)(unsafe.Pointer(bp + 424 /* zErrMsg */)) != 0) { goto __20 } - Xsqlite3ErrorWithMsg(tls, db, rc, ts+952 /* "%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: @@ -112273,11 +113543,11 @@ func Xsqlite3_prepare16_v3(tls *libc.TLS, db uintptr, zSql uintptr, nBytes int32 // how to process the DISTINCT keyword, to simplify passing that information // into the selectInnerLoop() routine. type DistinctCtx1 = struct { - FisTnct U8 - FeTnctType U8 - _ [2]byte - FtabTnct int32 - FaddrTnct int32 + FisTnct U8 + FeTnctType U8 + F__ccgo_pad1 [2]byte + FtabTnct int32 + FaddrTnct int32 } /* sqlite3.c:132093:9 */ //************* End of prepare.c ******************************************** @@ -112327,7 +113597,7 @@ type SortCtx1 = struct { FlabelDone int32 FlabelOBLopt int32 FsortFlags U8 - _ [3]byte + F__ccgo_pad1 [3]byte FpDeferredRowLoad uintptr } /* sqlite3.c:132119:9 */ @@ -112349,9 +113619,9 @@ type SortCtx1 = struct { // extracted from the sorter. type SortCtx = SortCtx1 /* sqlite3.c:132119:24 */ type RowLoadInfo1 = struct { - FregResult int32 - FecelFlags U8 - _ [3]byte + FregResult int32 + FecelFlags U8 + F__ccgo_pad1 [3]byte } /* sqlite3.c:132119:9 */ // Delete all the content of a Select structure. Deallocate the structure @@ -112515,24 +113785,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 + 12927 /* " " */ + var zSp uintptr = ts + 12926 /* " " */ if pC == uintptr(0) { zSp++ } Xsqlite3ErrorMsg(tls, pParse, - ts+20284 /* "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+20328 /* "RIGHT and FULL O..." */, 0) + ts+20327 /* "RIGHT and FULL O..." */, 0) jointype = JT_INNER } return jointype } -var zKeyText = *(*[34]int8)(unsafe.Pointer(ts + 20383 /* "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 @@ -112738,7 +114008,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+20417 /* "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++ { @@ -112762,7 +114032,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+20467 /* "cannot have both..." */, 0) + ts+20466 /* "cannot have both..." */, 0) return 1 } @@ -112797,7 +114067,7 @@ __1: if (iRightCol < 0) || !(tableAndColumnIndex(tls, pSrc, (i+1), zName, bp+24 /* &iLeft */, bp+28 /* &iLeftCol */, 0) != 0) { Xsqlite3ErrorMsg(tls, pParse, - ts+20522 /* "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, @@ -112992,7 +114262,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+20586 /* "OFFSET" */, 0) + Xsqlite3VdbeComment(tls, v, ts+20585 /* "OFFSET" */, 0) } } @@ -113206,7 +114476,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+952 /* "%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 @@ -113588,16 +114858,16 @@ func Xsqlite3SelectOpName(tls *libc.TLS, id int32) uintptr { /* sqlite3.c:133540 var z uintptr switch id { case TK_ALL: - z = ts + 20593 /* "UNION ALL" */ + z = ts + 20592 /* "UNION ALL" */ break case TK_INTERSECT: - z = ts + 20603 /* "INTERSECT" */ + z = ts + 20602 /* "INTERSECT" */ break case TK_EXCEPT: - z = ts + 20613 /* "EXCEPT" */ + z = ts + 20612 /* "EXCEPT" */ break default: - z = ts + 20620 /* "UNION" */ + z = ts + 20619 /* "UNION" */ break } return z @@ -113615,7 +114885,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+20626 /* "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 @@ -113709,7 +114979,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+952 /* "%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)) } } @@ -113885,8 +115155,8 @@ func columnTypeImpl(tls *libc.TLS, pNC uintptr, pExpr uintptr, pzOrigDb uintptr, } if iCol < 0 { - zType = ts + 14703 /* "INTEGER" */ - *(*uintptr)(unsafe.Pointer(bp + 72 /* zOrigCol */)) = ts + 10298 /* "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)) @@ -114039,13 +115309,13 @@ func Xsqlite3GenerateColumnNames(tls *libc.TLS, pParse uintptr, pSelect uintptr) } if iCol < 0 { - zCol = ts + 10298 /* "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+10231 /* "%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)) @@ -114053,7 +115323,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+20649 /* "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) } @@ -114142,7 +115412,7 @@ __1: if iCol >= 0 { zName = (*Column)(unsafe.Pointer((*Table)(unsafe.Pointer(pTab)).FaCol + uintptr(iCol)*32)).FzName } else { - zName = ts + 10298 /* "rowid" */ + zName = ts + 10297 /* "rowid" */ } } else if int32((*Expr)(unsafe.Pointer(pColExpr)).Fop) == TK_ID { @@ -114155,7 +115425,7 @@ __1: if (zName != 0) && !(Xsqlite3IsTrueOrFalse(tls, zName) != 0) { zName = Xsqlite3DbStrDup(tls, db, zName) } else { - zName = Xsqlite3MPrintf(tls, db, ts+20649 /* "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, @@ -114170,7 +115440,7 @@ __1: nName = j } } - zName = Xsqlite3MPrintf(tls, db, ts+20658 /* "%.*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 */) } @@ -114371,7 +115641,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+20666 /* "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 */)))))) { @@ -114381,7 +115651,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+20666 /* "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 { @@ -114389,9 +115659,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+20680 /* "OFFSET counter" */, 0) + Xsqlite3VdbeComment(tls, v, ts+20679 /* "OFFSET counter" */, 0) Xsqlite3VdbeAddOp3(tls, v, OP_OffsetLimit, iLimit, (iOffset + 1), iOffset) - Xsqlite3VdbeComment(tls, v, ts+20695 /* "LIMIT+OFFSET" */, 0) + Xsqlite3VdbeComment(tls, v, ts+20694 /* "LIMIT+OFFSET" */, 0) } } } @@ -114527,7 +115797,7 @@ func generateWithRecursiveQuery(tls *libc.TLS, pParse uintptr, p uintptr, pDest if !((*Select)(unsafe.Pointer(p)).FpWin != 0) { goto __1 } - Xsqlite3ErrorMsg(tls, pParse, ts+20708 /* "cannot use windo..." */, 0) + Xsqlite3ErrorMsg(tls, pParse, ts+20707 /* "cannot use windo..." */, 0) return __1: ; @@ -114611,7 +115881,7 @@ __9: Xsqlite3VdbeAddOp2(tls, v, OP_OpenEphemeral, iQueue, nCol) __10: ; - Xsqlite3VdbeComment(tls, v, ts+20757 /* "Queue table" */, 0) + Xsqlite3VdbeComment(tls, v, ts+20756 /* "Queue table" */, 0) if !(iDistinct != 0) { goto __11 } @@ -114638,7 +115908,7 @@ __12: if !(((*Select)(unsafe.Pointer(pFirstRec)).FselFlags & U32(SF_Aggregate)) != 0) { goto __15 } - Xsqlite3ErrorMsg(tls, pParse, ts+20769 /* "recursive aggreg..." */, 0) + Xsqlite3ErrorMsg(tls, pParse, ts+20768 /* "recursive aggreg..." */, 0) goto end_of_recursive_query __15: ; @@ -114660,7 +115930,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+20811 /* "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) { @@ -114703,7 +115973,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+20817 /* "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 @@ -114753,11 +116023,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+20832 /* "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 + 916 /* "" */ + return ts + 915 /* "" */ } - return ts + 20855 /* "S" */ + return ts + 20854 /* "S" */ }())) for p != 0 { selectInnerLoop(tls, pParse, p, -1, uintptr(0), uintptr(0), pDest, 1, 1) @@ -114909,8 +116179,8 @@ __6: if !((*Select)(unsafe.Pointer(pPrior)).FpPrior == uintptr(0)) { goto __8 } - Xsqlite3VdbeExplain(tls, pParse, uint8(1), ts+20857 /* "COMPOUND QUERY" */, 0) - Xsqlite3VdbeExplain(tls, pParse, uint8(1), ts+20872 /* "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: ; @@ -114949,7 +116219,7 @@ __14: goto __15 } addr = Xsqlite3VdbeAddOp1(tls, v, OP_IfNot, (*Select)(unsafe.Pointer(p)).FiLimit) - Xsqlite3VdbeComment(tls, v, ts+20891 /* "Jump ahead if LI..." */, 0) + Xsqlite3VdbeComment(tls, v, ts+20890 /* "Jump ahead if LI..." */, 0) if !((*Select)(unsafe.Pointer(p)).FiOffset != 0) { goto __16 } @@ -114959,7 +116229,7 @@ __16: ; __15: ; - Xsqlite3VdbeExplain(tls, pParse, uint8(1), ts+20593 /* "UNION ALL" */, 0) + Xsqlite3VdbeExplain(tls, pParse, uint8(1), ts+20592 /* "UNION ALL" */, 0) rc = Xsqlite3Select(tls, pParse, p, bp+16 /* &dest */) @@ -115035,7 +116305,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+20919 /* "%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 */) @@ -115107,7 +116377,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+20919 /* "%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 */) @@ -115268,10 +116538,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+20940 /* "all VALUES must ..." */, 0) + Xsqlite3ErrorMsg(tls, pParse, ts+20939 /* "all VALUES must ..." */, 0) } else { Xsqlite3ErrorMsg(tls, pParse, - ts+20986, /* "SELECTs to the l..." */ + ts+20985, /* "SELECTs to the l..." */ libc.VaList(bp, Xsqlite3SelectOpName(tls, int32((*Select)(unsafe.Pointer(p)).Fop)))) } } @@ -115651,9 +116921,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+9360 /* "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+9360 /* "ORDER" */) + Xsqlite3ResolveOrderGroupBy(tls, pParse, pPrior, (*Select)(unsafe.Pointer(pPrior)).FpOrderBy, ts+9359 /* "ORDER" */) } // Compute the limit registers @@ -115682,15 +116952,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+21068 /* "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+21079 /* "left SELECT" */, 0) + Xsqlite3VdbeComment(tls, v, ts+21078 /* "left SELECT" */, 0) (*Select)(unsafe.Pointer(pPrior)).FiLimit = regLimitA - Xsqlite3VdbeExplain(tls, pParse, uint8(1), ts+21091 /* "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) @@ -115699,12 +116969,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+21096 /* "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+21109 /* "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 @@ -115712,7 +116982,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+21115 /* "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) @@ -115720,7 +116990,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+21136 /* "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) @@ -115732,7 +117002,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+21157 /* "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) @@ -115748,14 +117018,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+21174 /* "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+21227 /* "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) @@ -115820,12 +117090,12 @@ func multiSelectOrderBy(tls *libc.TLS, pParse uintptr, p uintptr, pDest uintptr) // All references to columns in table iTable are to be replaced by corresponding // expressions in pEList. type SubstContext1 = struct { - FpParse uintptr - FiTable int32 - FiNewTable int32 - FisLeftJoin int32 - _ [4]byte - FpEList uintptr + FpParse uintptr + FiTable int32 + FiNewTable int32 + FisLeftJoin int32 + F__ccgo_pad1 [4]byte + FpEList uintptr } /* sqlite3.c:135643:9 */ // An instance of the SubstContext object describes an substitution edit @@ -115901,7 +117171,7 @@ func substExpr(tls *libc.TLS, pSubst uintptr, pExpr uintptr) uintptr { /* sqlite if pColl != 0 { return (*CollSeq)(unsafe.Pointer(pColl)).FzName } - return ts + 479 /* "BINARY" */ + return ts + 478 /* "BINARY" */ }()) } *(*U32)(unsafe.Pointer(pExpr + 4 /* &.flags */)) &= (libc.Uint32FromInt32(libc.CplInt32(EP_Collate))) @@ -117114,12 +118384,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+17143 /* "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+17147 /* "max" */) == 0 { + } else if Xsqlite3StrICmp(tls, zFunc, ts+17146 /* "max" */) == 0 { eRet = WHERE_ORDERBY_MAX sortFlags = U8(KEYINFO_ORDER_DESC) } else { @@ -117188,7 +118458,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+21245 /* "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 } @@ -117299,7 +118569,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+21263 /* "'%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 @@ -117487,7 +118757,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+21286 /* "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)) @@ -117503,7 +118773,7 @@ func resolveFromTermToCte(tls *libc.TLS, pParse uintptr, pWalker uintptr, pFrom pRecTerm = (*Select)(unsafe.Pointer(pRecTerm)).FpPrior } - (*Cte)(unsafe.Pointer(pCte)).FzCteErr = ts + 21329 /* "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 { @@ -117529,7 +118799,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+21352, /* "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 @@ -117540,9 +118810,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 + 21390 /* "multiple recursi..." */ + (*Cte)(unsafe.Pointer(pCte)).FzCteErr = ts + 21389 /* "multiple recursi..." */ } else { - (*Cte)(unsafe.Pointer(pCte)).FzCteErr = ts + 21424 /* "recursive refere..." */ + (*Cte)(unsafe.Pointer(pCte)).FzCteErr = ts + 21423 /* "recursive refere..." */ } Xsqlite3WalkSelect(tls, pWalker, pSel) } @@ -117590,7 +118860,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+21462 /* "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 @@ -117717,7 +118987,7 @@ __1: return WRC_Abort } if (*Table)(unsafe.Pointer(pTab)).FnTabRef >= U32(0xffff) { - Xsqlite3ErrorMsg(tls, pParse, ts+21474, /* "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 @@ -117736,7 +119006,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+21513, /* "access to view \"..." */ + Xsqlite3ErrorMsg(tls, pParse, ts+21512, /* "access to view \"..." */ libc.VaList(bp+8, (*Table)(unsafe.Pointer(pTab)).FzName)) } @@ -117744,7 +119014,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+21544, /* "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) @@ -117859,7 +119129,7 @@ __3: if iDb >= 0 { zSchemaName = (*Db)(unsafe.Pointer((*Sqlite3)(unsafe.Pointer(db)).FaDb + uintptr(iDb)*32)).FzDbSName } else { - zSchemaName = ts + 21577 /* "*" */ + zSchemaName = ts + 21576 /* "*" */ } } for j = 0; j < int32((*Table)(unsafe.Pointer(pTab)).FnCol); j++ { @@ -117908,7 +119178,7 @@ __3: pExpr = Xsqlite3PExpr(tls, pParse, TK_DOT, pLeft, pExpr) } if longNames != 0 { - zColname = Xsqlite3MPrintf(tls, db, ts+10231 /* "%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 { @@ -117924,7 +119194,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+21579, /* "%s.%s.%s" */ + (*ExprList_item)(unsafe.Pointer(pX)).FzEName = Xsqlite3MPrintf(tls, db, ts+21578, /* "%s.%s.%s" */ libc.VaList(bp+40, zSchemaName, zTabName, zColname)) } @@ -117944,9 +119214,9 @@ __3: ; if !(tableSeen != 0) { if zTName != 0 { - Xsqlite3ErrorMsg(tls, pParse, ts+21588 /* "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+21606 /* "no tables specif..." */, 0) + Xsqlite3ErrorMsg(tls, pParse, ts+21605 /* "no tables specif..." */, 0) } } } @@ -117956,7 +119226,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+21626 /* "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) { @@ -118144,13 +119414,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+21657 /* "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+21708 /* "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)) } } @@ -118350,19 +119620,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+21741, /* "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 + 21753 /* " USING COVERING ..." */ + return ts + 21752 /* " USING COVERING ..." */ } - return ts + 916 /* "" */ + return ts + 915 /* "" */ }(), func() uintptr { if bCover != 0 { return (*Index)(unsafe.Pointer(pIdx)).FzName } - return ts + 916 /* "" */ + return ts + 915 /* "" */ }())) } } @@ -118382,7 +119652,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+10135 /* "1" */) + var pNew uintptr = Xsqlite3Expr(tls, db, TK_INTEGER, ts+10134 /* "1" */) if pNew != 0 { var pWhere uintptr = (*Select)(unsafe.Pointer(pS)).FpWhere { @@ -118684,7 +119954,7 @@ __7: goto __10 } Xsqlite3ErrorMsg(tls, pParse, - ts+21776, /* "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 @@ -118764,7 +120034,7 @@ __17: if !(int32((*Table)(unsafe.Pointer(pTab)).FnCol) != (*ExprList)(unsafe.Pointer((*Select)(unsafe.Pointer(pSub)).FpEList)).FnExpr) { goto __18 } - Xsqlite3ErrorMsg(tls, pParse, ts+21830, /* "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: @@ -118905,7 +120175,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+916 /* "" */, (*SrcItem)(unsafe.Pointer(pItem1)).FzDatabase) + Xsqlite3AuthCheck(tls, pParse, SQLITE_READ, (*SrcItem)(unsafe.Pointer(pItem1)).FzName, ts+915 /* "" */, (*SrcItem)(unsafe.Pointer(pItem1)).FzDatabase) __32: ; @@ -118967,10 +120237,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+21870 /* "%!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+21874 /* "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) @@ -119025,14 +120295,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+21889 /* "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+21889 /* "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+21905 /* "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) { @@ -119042,7 +120312,7 @@ __45: __46: ; retAddr = Xsqlite3VdbeAddOp1(tls, v, OP_Return, (*SrcItem)(unsafe.Pointer(pItem1)).FregReturn) - Xsqlite3VdbeComment(tls, v, ts+21921 /* "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)) { @@ -119255,12 +120525,12 @@ __65: Xsqlite3VdbeAddOp2(tls, v, OP_Goto, 0, iBreak) Xsqlite3VdbeResolveLabel(tls, v, addrGosub) - Xsqlite3VdbeNoopComment(tls, v, ts+21929 /* "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+21951 /* "end inner-loop s..." */, 0) + Xsqlite3VdbeComment(tls, v, ts+21950 /* "end inner-loop s..." */, 0) Xsqlite3VdbeResolveLabel(tls, v, iBreak) goto __67 __66: @@ -119514,7 +120784,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+21977 /* "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. @@ -119552,9 +120822,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 + 21994 /* "DISTINCT" */ + return ts + 21993 /* "DISTINCT" */ } - return ts + 22003 /* "GROUP BY" */ + return ts + 22002 /* "GROUP BY" */ }()) groupBySort = 1 @@ -119616,7 +120886,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+22012 /* "GROUP BY sort" */, 0) + Xsqlite3VdbeComment(tls, v, ts+22011 /* "GROUP BY sort" */, 0) (*AggInfo)(unsafe.Pointer(pAggInfo)).FuseSortingIdx = U8(1) __98: ; @@ -119686,18 +120956,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+22026 /* "output one row" */, 0) + Xsqlite3VdbeComment(tls, v, ts+22025 /* "output one row" */, 0) Xsqlite3VdbeAddOp2(tls, v, OP_IfPos, iAbortFlag, addrEnd) - Xsqlite3VdbeComment(tls, v, ts+22041 /* "check abort flag" */, 0) + Xsqlite3VdbeComment(tls, v, ts+22040 /* "check abort flag" */, 0) Xsqlite3VdbeAddOp2(tls, v, OP_Gosub, regReset, addrReset) - Xsqlite3VdbeComment(tls, v, ts+22058 /* "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+22076 /* "indicate data in..." */, 0) + Xsqlite3VdbeComment(tls, v, ts+22075 /* "indicate data in..." */, 0) // End of the loop if !(groupBySort != 0) { @@ -119716,7 +120986,7 @@ __115: // Output the final row of result Xsqlite3VdbeAddOp2(tls, v, OP_Gosub, regOutputRow, addrOutputRow) - Xsqlite3VdbeComment(tls, v, ts+22105 /* "output final row" */, 0) + Xsqlite3VdbeComment(tls, v, ts+22104 /* "output final row" */, 0) // Jump over the subroutines Xsqlite3VdbeGoto(tls, v, addrEnd) @@ -119729,13 +120999,13 @@ __115: // order to signal the caller to abort. addrSetAbort = Xsqlite3VdbeCurrentAddr(tls, v) Xsqlite3VdbeAddOp2(tls, v, OP_Integer, 1, iAbortFlag) - Xsqlite3VdbeComment(tls, v, ts+22122 /* "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+22137 /* "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) @@ -119743,13 +121013,13 @@ __115: bp+168 /* &sDistinct */, pDest, (addrOutputRow + 1), addrSetAbort) Xsqlite3VdbeAddOp1(tls, v, OP_Return, regOutputRow) - Xsqlite3VdbeComment(tls, v, ts+22174 /* "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+22203 /* "indicate accumul..." */, 0) + Xsqlite3VdbeComment(tls, v, ts+22202 /* "indicate accumul..." */, 0) Xsqlite3VdbeAddOp1(tls, v, OP_Return, regReset) if !(eDist != WHERE_DISTINCT_NOOP) { @@ -119971,7 +121241,7 @@ __58: if !(int32((*DistinctCtx)(unsafe.Pointer(bp+168 /* &sDistinct */)).FeTnctType) == WHERE_DISTINCT_UNORDERED) { goto __140 } - explainTempTable(tls, pParse, ts+21994 /* "DISTINCT" */) + explainTempTable(tls, pParse, ts+21993 /* "DISTINCT" */) __140: ; @@ -119983,9 +121253,9 @@ __140: explainTempTable(tls, pParse, func() uintptr { if (*SortCtx)(unsafe.Pointer(bp+80 /* &sSort */)).FnOBSat > 0 { - return ts + 22230 /* "RIGHT PART OF OR..." */ + return ts + 22229 /* "RIGHT PART OF OR..." */ } - return ts + 22253 /* "ORDER BY" */ + return ts + 22252 /* "ORDER BY" */ }()) generateSortTail(tls, pParse, p, bp+80 /* &sSort */, (*ExprList)(unsafe.Pointer(pEList)).FnExpr, pDest) @@ -120033,14 +121303,14 @@ select_end: // This structure is used to pass data from sqlite3_get_table() through // to the callback function is uses to build the result. type TabResult1 = struct { - FazResult uintptr - FzErrMsg uintptr - FnAlloc U32 - FnRow U32 - FnColumn U32 - FnData U32 - Frc int32 - _ [4]byte + FazResult uintptr + FzErrMsg uintptr + FnAlloc U32 + FnRow U32 + FnColumn U32 + FnData U32 + Frc int32 + F__ccgo_pad1 [4]byte } /* sqlite3.c:139498:9 */ //************* End of select.c ********************************************* @@ -120119,7 +121389,7 @@ __7: if !(i < nCol) { goto __9 } - z = Xsqlite3_mprintf(tls, ts+952 /* "%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 } @@ -120141,7 +121411,7 @@ __5: } Xsqlite3_free(tls, (*TabResult)(unsafe.Pointer(p)).FzErrMsg) (*TabResult)(unsafe.Pointer(p)).FzErrMsg = Xsqlite3_mprintf(tls, - ts+22262 /* "sqlite3_get_tabl..." */, 0) + ts+22261 /* "sqlite3_get_tabl..." */, 0) (*TabResult)(unsafe.Pointer(p)).Frc = SQLITE_ERROR return 1 __11: @@ -120240,7 +121510,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+952 /* "%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) } @@ -120401,7 +121671,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+22327 /* "temporary trigge..." */, 0) + Xsqlite3ErrorMsg(tls, pParse, ts+22326 /* "temporary trigge..." */, 0) goto trigger_cleanup __3: ; @@ -120462,7 +121732,7 @@ __7: __8: ; - Xsqlite3FixInit(tls, bp+40 /* &sFix */, pParse, iDb, ts+22373 /* "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 } @@ -120480,7 +121750,7 @@ __10: if !((*Table)(unsafe.Pointer(pTab)).FnModuleArg != 0) { goto __11 } - Xsqlite3ErrorMsg(tls, pParse, ts+22381 /* "cannot create tr..." */, 0) + Xsqlite3ErrorMsg(tls, pParse, ts+22380 /* "cannot create tr..." */, 0) goto trigger_orphan_error __11: ; @@ -120495,7 +121765,7 @@ __11: goto trigger_cleanup __12: ; - if !(Xsqlite3CheckObjectName(tls, pParse, zName, ts+22373 /* "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 @@ -120511,7 +121781,7 @@ __13: if !(!(noErr != 0)) { goto __16 } - Xsqlite3ErrorMsg(tls, pParse, ts+22422 /* "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: ; @@ -120525,10 +121795,10 @@ __14: ; // Do not create a trigger on a system table - if !(Xsqlite3_strnicmp(tls, (*Table)(unsafe.Pointer(pTab)).FzName, ts+10362 /* "sqlite_" */, 7) == 0) { + if !(Xsqlite3_strnicmp(tls, (*Table)(unsafe.Pointer(pTab)).FzName, ts+10361 /* "sqlite_" */, 7) == 0) { goto __18 } - Xsqlite3ErrorMsg(tls, pParse, ts+22448 /* "cannot create tr..." */, 0) + Xsqlite3ErrorMsg(tls, pParse, ts+22447 /* "cannot create tr..." */, 0) goto trigger_cleanup __18: ; @@ -120538,12 +121808,12 @@ __18: if !(((*Table)(unsafe.Pointer(pTab)).FpSelect != 0) && (tr_tm != TK_INSTEAD)) { goto __19 } - Xsqlite3ErrorMsg(tls, pParse, ts+22486, /* "cannot create %s..." */ + Xsqlite3ErrorMsg(tls, pParse, ts+22485, /* "cannot create %s..." */ libc.VaList(bp+8, func() uintptr { if tr_tm == TK_BEFORE { - return ts + 22523 /* "BEFORE" */ + return ts + 22522 /* "BEFORE" */ } - return ts + 22530 /* "AFTER" */ + return ts + 22529 /* "AFTER" */ }(), pTableName+8 /* &.a */)) goto trigger_orphan_error __19: @@ -120552,7 +121822,7 @@ __19: goto __20 } Xsqlite3ErrorMsg(tls, pParse, - ts+22536 /* "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: ; @@ -120582,9 +121852,9 @@ __23: ; if !(Xsqlite3AuthCheck(tls, pParse, SQLITE_INSERT, func() uintptr { if (!(0 != 0)) && (iTabDb == 1) { - return ts + 14191 /* "sqlite_temp_mast..." */ + return ts + 14190 /* "sqlite_temp_mast..." */ } - return ts + 7775 /* "sqlite_master" */ + return ts + 7774 /* "sqlite_master" */ }(), uintptr(0), zDb) != 0) { goto __24 } @@ -120718,7 +121988,7 @@ __2: __3: ; Xsqlite3TokenInit(tls, bp+40 /* &nameToken */, (*Trigger)(unsafe.Pointer(pTrig)).FzName) - Xsqlite3FixInit(tls, bp+56 /* &sFix */, pParse, iDb, ts+22373 /* "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 @@ -120755,13 +122025,13 @@ __8: Xsqlite3NestedParse(tls, pParse, - ts+22582, /* "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+22657 /* "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: @@ -121027,7 +122297,7 @@ __5: if !(!(noErr != 0)) { goto __9 } - Xsqlite3ErrorMsg(tls, pParse, ts+22686 /* "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) @@ -121068,9 +122338,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 + 14191 /* "sqlite_temp_mast..." */ + return ts + 14190 /* "sqlite_temp_mast..." */ } - return ts + 7775 /* "sqlite_master" */ + return ts + 7774 /* "sqlite_master" */ }() if iDb == 1 { code = SQLITE_DROP_TEMP_TRIGGER @@ -121083,7 +122353,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+22706, /* "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) @@ -121202,12 +122472,12 @@ __9: goto __15 } Xsqlite3ErrorMsg(tls, pParse, - ts+22768, /* "%s RETURNING is ..." */ + ts+22767, /* "%s RETURNING is ..." */ libc.VaList(bp, func() uintptr { if op == TK_DELETE { - return ts + 22816 /* "DELETE" */ + return ts + 22815 /* "DELETE" */ } - return ts + 22823 /* "UPDATE" */ + return ts + 22822 /* "UPDATE" */ }())) __15: ; @@ -121303,7 +122573,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+22830 /* "RETURNING may no..." */, 0) + Xsqlite3ErrorMsg(tls, pParse, ts+22829 /* "RETURNING may no..." */, 0) return 1 } @@ -121444,7 +122714,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+7962 /* "-- %s" */, libc.VaList(bp, (*TriggerStep)(unsafe.Pointer(pStep)).FzSpan)), + Xsqlite3MPrintf(tls, db, ts+7961 /* "-- %s" */, libc.VaList(bp, (*TriggerStep)(unsafe.Pointer(pStep)).FzSpan)), -7) } @@ -121503,19 +122773,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 + 22872 /* "abort" */ + return ts + 22871 /* "abort" */ case OE_Rollback: - return ts + 22878 /* "rollback" */ + return ts + 22877 /* "rollback" */ case OE_Fail: - return ts + 22887 /* "fail" */ + return ts + 22886 /* "fail" */ case OE_Replace: - return ts + 17338 /* "replace" */ + return ts + 17337 /* "replace" */ case OE_Ignore: - return ts + 22892 /* "ignore" */ + return ts + 22891 /* "ignore" */ case OE_Default: - return ts + 22899 /* "default" */ + return ts + 22898 /* "default" */ } - return ts + 22907 /* "n/a" */ + return ts + 22906 /* "n/a" */ } // Parse context structure pFrom has just been used to create a sub-vdbe @@ -121591,30 +122861,30 @@ func codeRowTrigger(tls *libc.TLS, pParse uintptr, pTrigger uintptr, pTab uintpt v = Xsqlite3GetVdbe(tls, pSubParse) if v != 0 { - Xsqlite3VdbeComment(tls, v, ts+22911 /* "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 + 22523 /* "BEFORE" */ + return ts + 22522 /* "BEFORE" */ } - return ts + 22530 /* "AFTER" */ + return ts + 22529 /* "AFTER" */ }(), func() uintptr { if int32((*Trigger)(unsafe.Pointer(pTrigger)).Fop) == TK_UPDATE { - return ts + 22823 /* "UPDATE" */ + return ts + 22822 /* "UPDATE" */ } - return ts + 916 /* "" */ + return ts + 915 /* "" */ }(), func() uintptr { if int32((*Trigger)(unsafe.Pointer(pTrigger)).Fop) == TK_INSERT { - return ts + 22942 /* "INSERT" */ + return ts + 22941 /* "INSERT" */ } - return ts + 916 /* "" */ + return ts + 915 /* "" */ }(), func() uintptr { if int32((*Trigger)(unsafe.Pointer(pTrigger)).Fop) == TK_DELETE { - return ts + 22816 /* "DELETE" */ + return ts + 22815 /* "DELETE" */ } - return ts + 916 /* "" */ + return ts + 915 /* "" */ }(), (*Table)(unsafe.Pointer(pTab)).FzName)) if (*Trigger)(unsafe.Pointer(pTrigger)).FzName != 0 { Xsqlite3VdbeChangeP4(tls, v, -1, - Xsqlite3MPrintf(tls, db, ts+22949 /* "-- 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 @@ -121638,7 +122908,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+22963 /* "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) { @@ -121705,11 +122975,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+22974 /* "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 + 22986 /* "fkey" */ + return ts + 22985 /* "fkey" */ }(), onErrorText(tls, orconf))) // Set the P5 operand of the OP_Program instruction to non-zero if @@ -121872,7 +123142,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+10231 /* "%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 */) @@ -122328,7 +123598,7 @@ __25: } Xsqlite3ErrorMsg(tls, pParse, - ts+22991, /* "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: @@ -122360,7 +123630,7 @@ __21: iRowidExpr = i goto __30 __29: - Xsqlite3ErrorMsg(tls, pParse, ts+23027 /* "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: @@ -122371,7 +123641,7 @@ __28: rc = Xsqlite3AuthCheck(tls, pParse, SQLITE_UPDATE, (*Table)(unsafe.Pointer(pTab)).FzName, func() uintptr { if j < 0 { - return ts + 9797 /* "ROWID" */ + return ts + 9796 /* "ROWID" */ } return (*Column)(unsafe.Pointer((*Table)(unsafe.Pointer(pTab)).FaCol + uintptr(j)*32)).FzName }(), @@ -123402,7 +124672,7 @@ __168: } Xsqlite3VdbeAddOp2(tls, v, OP_ChngCntRow, regRowCount, 1) Xsqlite3VdbeSetNumCols(tls, v, 1) - Xsqlite3VdbeSetColName(tls, v, 0, COLNAME_NAME, ts+23046 /* "rows updated" */, uintptr(0)) + Xsqlite3VdbeSetColName(tls, v, 0, COLNAME_NAME, ts+23045 /* "rows updated" */, uintptr(0)) __169: ; @@ -123789,10 +125059,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+23059 /* "%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+23063 /* "%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 } @@ -123862,7 +125132,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+23136 /* "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) @@ -123880,13 +125150,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+10231 /* "%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+14245 /* "corrupt database" */, -1) + ts+14244 /* "corrupt database" */, -1) Xsqlite3MayAbort(tls, pParse) Xsqlite3VdbeJumpHere(tls, v, i) } @@ -123902,7 +125172,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+23162 /* "End DO UPDATE of..." */, 0) + Xsqlite3VdbeNoopComment(tls, v, ts+23161 /* "End DO UPDATE of..." */, 0) } //************* End of upsert.c ********************************************* @@ -123954,7 +125224,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+23186 /* "CRE" */, uint64(3)) == 0) || (libc.Xstrncmp(tls, zSubSql, ts+23190 /* "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 @@ -123977,7 +125247,7 @@ func execSqlF(tls *libc.TLS, db uintptr, pzErrMsg uintptr, zSql uintptr, va uint var ap Va_list _ = ap var rc int32 - ap = va + (ap) = va z = Xsqlite3VMPrintf(tls, db, zSql, ap) _ = ap if z == uintptr(0) { @@ -124104,14 +125374,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+23194 /* "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+23234 /* "cannot VACUUM - ..." */) + Xsqlite3SetString(tls, pzErrMsg, db, ts+23233 /* "cannot VACUUM - ..." */) return SQLITE_ERROR // IMP: R-15610-35227 __2: ; @@ -124122,7 +125392,7 @@ __2: if !(Xsqlite3_value_type(tls, pOut) != SQLITE_TEXT) { goto __5 } - Xsqlite3SetString(tls, pzErrMsg, db, ts+23277 /* "non-text filenam..." */) + Xsqlite3SetString(tls, pzErrMsg, db, ts+23276 /* "non-text filenam..." */) return SQLITE_ERROR __5: ; @@ -124131,7 +125401,7 @@ __5: *(*uint32)(unsafe.Pointer(db + 76 /* &.openFlags */)) |= (uint32(SQLITE_OPEN_CREATE | SQLITE_OPEN_READWRITE)) goto __4 __3: - zOut = ts + 916 /* "" */ + zOut = ts + 915 /* "" */ __4: ; @@ -124167,7 +125437,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+23295 /* "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 @@ -124188,7 +125458,7 @@ __6: goto __8 } rc = SQLITE_ERROR - Xsqlite3SetString(tls, pzErrMsg, db, ts+23318 /* "output file alre..." */) + Xsqlite3SetString(tls, pzErrMsg, db, ts+23317 /* "output file alre..." */) goto end_of_vacuum __8: ; @@ -124204,7 +125474,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+16526 /* "BEGIN" */) + rc = execSql(tls, db, pzErrMsg, ts+16525 /* "BEGIN" */) if !(rc != SQLITE_OK) { goto __9 } @@ -124255,7 +125525,7 @@ __12: (*Sqlite3)(unsafe.Pointer(db)).Finit.FiDb = U8(nDb) // force new CREATE statements into vacuum_db rc = execSqlF(tls, db, pzErrMsg, - ts+23345, /* "SELECT sql FROM ..." */ + ts+23344, /* "SELECT sql FROM ..." */ libc.VaList(bp+8, zDbMain)) if !(rc != SQLITE_OK) { goto __13 @@ -124265,7 +125535,7 @@ __13: ; rc = execSqlF(tls, db, pzErrMsg, - ts+23453, /* "SELECT sql FROM ..." */ + ts+23452, /* "SELECT sql FROM ..." */ libc.VaList(bp+16, zDbMain)) if !(rc != SQLITE_OK) { goto __14 @@ -124280,7 +125550,7 @@ __14: // the contents to the temporary database. rc = execSqlF(tls, db, pzErrMsg, - ts+23507, /* "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))) @@ -124297,7 +125567,7 @@ __15: // from the schema table. rc = execSqlF(tls, db, pzErrMsg, - ts+23658, /* "INSERT INTO vacu..." */ + ts+23657, /* "INSERT INTO vacu..." */ libc.VaList(bp+32, zDbMain)) if !(rc != 0) { goto __16 @@ -124465,7 +125735,7 @@ func createModule(tls *libc.TLS, db uintptr, zName uintptr, pModule uintptr, pAu Xsqlite3VtabCreateModule(tls, db, zName, pModule, pAux, xDestroy) rc = Xsqlite3ApiExit(tls, db, rc) if (rc != SQLITE_OK) && (xDestroy != 0) { - (*(*func(*libc.TLS, uintptr))(unsafe.Pointer(&xDestroy)))(tls, pAux) + (*struct{ f func(*libc.TLS, uintptr) })(unsafe.Pointer(&struct{ uintptr }{xDestroy})).f(tls, pAux) } Xsqlite3_mutex_leave(tls, (*Sqlite3)(unsafe.Pointer(db)).Fmutex) return rc @@ -124509,7 +125779,7 @@ func Xsqlite3VtabModuleUnref(tls *libc.TLS, db uintptr, pMod uintptr) { /* sqlit (*Module)(unsafe.Pointer(pMod)).FnRefModule-- if (*Module)(unsafe.Pointer(pMod)).FnRefModule == 0 { if (*Module)(unsafe.Pointer(pMod)).FxDestroy != 0 { - (*(*func(*libc.TLS, uintptr))(unsafe.Pointer((pMod + 32 /* &.xDestroy */))))(tls, (*Module)(unsafe.Pointer(pMod)).FpAux) + (*struct{ f func(*libc.TLS, uintptr) })(unsafe.Pointer(&struct{ uintptr }{(*Module)(unsafe.Pointer(pMod)).FxDestroy})).f(tls, (*Module)(unsafe.Pointer(pMod)).FpAux) } Xsqlite3DbFree(tls, db, pMod) @@ -124547,7 +125817,9 @@ func Xsqlite3VtabUnlock(tls *libc.TLS, pVTab uintptr) { /* sqlite3.c:143352:21: var p uintptr = (*VTable)(unsafe.Pointer(pVTab)).FpVtab Xsqlite3VtabModuleUnref(tls, (*VTable)(unsafe.Pointer(pVTab)).Fdb, (*VTable)(unsafe.Pointer(pVTab)).FpMod) if p != 0 { - (*(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(((*Sqlite3_vtab)(unsafe.Pointer(p)).FpModule + 32 /* &.xDisconnect */))))(tls, p) + (*struct { + f func(*libc.TLS, uintptr) int32 + })(unsafe.Pointer(&struct{ uintptr }{(*Sqlite3_module)(unsafe.Pointer((*Sqlite3_vtab)(unsafe.Pointer(p)).FpModule)).FxDisconnect})).f(tls, p) } Xsqlite3DbFree(tls, db, pVTab) } @@ -124677,7 +125949,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+14475 /* "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) { @@ -124771,7 +126043,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+23788 /* "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 @@ -124783,7 +126055,7 @@ func Xsqlite3VtabFinishParse(tls *libc.TLS, pParse uintptr, pEnd uintptr) { /* s iDb = Xsqlite3SchemaToIndex(tls, db, (*Table)(unsafe.Pointer(pTab)).FpSchema) Xsqlite3NestedParse(tls, pParse, - ts+23812, /* "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, @@ -124793,7 +126065,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+23911 /* "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) @@ -124858,7 +126130,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+23930 /* "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 } } @@ -124888,7 +126160,9 @@ func vtabCallConstructor(tls *libc.TLS, db uintptr, pTab uintptr, pMod uintptr, (*VtabCtx)(unsafe.Pointer(bp + 32 /* &sCtx */)).FpPrior = (*Sqlite3)(unsafe.Pointer(db)).FpVtabCtx (*VtabCtx)(unsafe.Pointer(bp + 32 /* &sCtx */)).FbDeclared = 0 (*Sqlite3)(unsafe.Pointer(db)).FpVtabCtx = bp + 32 /* &sCtx */ - rc = (*(*func(*libc.TLS, uintptr, uintptr, int32, uintptr, uintptr, uintptr) int32)(unsafe.Pointer(&xConstruct)))(tls, db, (*Module)(unsafe.Pointer(pMod)).FpAux, nArg, azArg, (pVTable + 16 /* &.pVtab */), bp+64 /* &zErr */) + rc = (*struct { + f func(*libc.TLS, uintptr, uintptr, int32, uintptr, uintptr, uintptr) int32 + })(unsafe.Pointer(&struct{ uintptr }{xConstruct})).f(tls, db, (*Module)(unsafe.Pointer(pMod)).FpAux, nArg, azArg, (pVTable + 16 /* &.pVtab */), bp+64 /* &zErr */) (*Sqlite3)(unsafe.Pointer(db)).FpVtabCtx = (*VtabCtx)(unsafe.Pointer(bp + 32 /* &sCtx */)).FpPrior if rc == SQLITE_NOMEM { Xsqlite3OomFault(tls, db) @@ -124896,9 +126170,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+23972 /* "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+952 /* "%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) @@ -124910,7 +126184,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 + 24002 /* "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 @@ -124926,12 +126200,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+916 /* "" */) + 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+18108 /* "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 @@ -124990,13 +126264,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+24048 /* "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+952 /* "%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 */))) @@ -125058,7 +126332,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+24048 /* "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) @@ -125135,7 +126409,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 + 952 /* "%s" */ + return ts + 951 /* "%s" */ } return uintptr(0) }(), libc.VaList(bp, *(*uintptr)(unsafe.Pointer(bp + 416 /* zErr */)))) @@ -125181,7 +126455,9 @@ func Xsqlite3VtabCallDestroy(tls *libc.TLS, db uintptr, iDb int32, zTab uintptr) } (*Table)(unsafe.Pointer(pTab)).FnTabRef++ - rc = (*(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(&xDestroy)))(tls, (*VTable)(unsafe.Pointer(p)).FpVtab) + rc = (*struct { + f func(*libc.TLS, uintptr) int32 + })(unsafe.Pointer(&struct{ uintptr }{xDestroy})).f(tls, (*VTable)(unsafe.Pointer(p)).FpVtab) // Remove the sqlite3_vtab* from the aVTrans[] array, if applicable if rc == SQLITE_OK { @@ -125213,7 +126489,9 @@ func callFinaliser(tls *libc.TLS, db uintptr, offset int32) { /* sqlite3.c:14407 var x uintptr x = *(*uintptr)(unsafe.Pointer(((*Sqlite3_vtab)(unsafe.Pointer(p)).FpModule + uintptr(offset)))) if x != 0 { - (*(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(&x)))(tls, p) + (*struct { + f func(*libc.TLS, uintptr) int32 + })(unsafe.Pointer(&struct{ uintptr }{x})).f(tls, p) } } (*VTable)(unsafe.Pointer(pVTab)).FiSavepoint = 0 @@ -125239,7 +126517,9 @@ func Xsqlite3VtabSync(tls *libc.TLS, db uintptr, p uintptr) int32 { /* sqlite3.c var x uintptr var pVtab uintptr = (*VTable)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(aVTrans + uintptr(i)*8)))).FpVtab if (pVtab != 0) && ((libc.AssignUintptr(&x, (*Sqlite3_module)(unsafe.Pointer((*Sqlite3_vtab)(unsafe.Pointer(pVtab)).FpModule)).FxSync)) != uintptr(0)) { - rc = (*(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(&x)))(tls, pVtab) + rc = (*struct { + f func(*libc.TLS, uintptr) int32 + })(unsafe.Pointer(&struct{ uintptr }{x})).f(tls, pVtab) Xsqlite3VtabImportErrmsg(tls, p, pVtab) } } @@ -125297,13 +126577,17 @@ func Xsqlite3VtabBegin(tls *libc.TLS, db uintptr, pVTab uintptr) int32 { /* sqli // sqlite3.aVTrans[] array. rc = growVTrans(tls, db) if rc == SQLITE_OK { - rc = (*(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer((pModule + 112 /* &.xBegin */))))(tls, (*VTable)(unsafe.Pointer(pVTab)).FpVtab) + rc = (*struct { + f func(*libc.TLS, uintptr) int32 + })(unsafe.Pointer(&struct{ uintptr }{(*Sqlite3_module)(unsafe.Pointer(pModule)).FxBegin})).f(tls, (*VTable)(unsafe.Pointer(pVTab)).FpVtab) if rc == SQLITE_OK { var iSvpt int32 = ((*Sqlite3)(unsafe.Pointer(db)).FnStatement + (*Sqlite3)(unsafe.Pointer(db)).FnSavepoint) addToVTrans(tls, db, pVTab) if (iSvpt != 0) && ((*Sqlite3_module)(unsafe.Pointer(pModule)).FxSavepoint != 0) { (*VTable)(unsafe.Pointer(pVTab)).FiSavepoint = iSvpt - rc = (*(*func(*libc.TLS, uintptr, int32) int32)(unsafe.Pointer((pModule + 160 /* &.xSavepoint */))))(tls, (*VTable)(unsafe.Pointer(pVTab)).FpVtab, (iSvpt - 1)) + rc = (*struct { + f func(*libc.TLS, uintptr, int32) int32 + })(unsafe.Pointer(&struct{ uintptr }{(*Sqlite3_module)(unsafe.Pointer(pModule)).FxSavepoint})).f(tls, (*VTable)(unsafe.Pointer(pVTab)).FpVtab, (iSvpt - 1)) } } } @@ -125350,7 +126634,9 @@ func Xsqlite3VtabSavepoint(tls *libc.TLS, db uintptr, op int32, iSavepoint int32 break } if (xMethod != 0) && ((*VTable)(unsafe.Pointer(pVTab)).FiSavepoint > iSavepoint) { - rc = (*(*func(*libc.TLS, uintptr, int32) int32)(unsafe.Pointer(&xMethod)))(tls, (*VTable)(unsafe.Pointer(pVTab)).FpVtab, iSavepoint) + rc = (*struct { + f func(*libc.TLS, uintptr, int32) int32 + })(unsafe.Pointer(&struct{ uintptr }{xMethod})).f(tls, (*VTable)(unsafe.Pointer(pVTab)).FpVtab, iSavepoint) } Xsqlite3VtabUnlock(tls, pVTab) } @@ -125409,7 +126695,9 @@ func Xsqlite3VtabOverloadFunction(tls *libc.TLS, db uintptr, pDef uintptr, nArg // Though undocumented, we have historically always invoked xFindFunction // with an all lower-case function name. Continue in this tradition to // avoid any chance of an incompatibility. - rc = (*(*func(*libc.TLS, uintptr, int32, uintptr, uintptr, uintptr) int32)(unsafe.Pointer((pMod + 144 /* &.xFindFunction */))))(tls, pVtab, nArg, (*FuncDef)(unsafe.Pointer(pDef)).FzName, bp /* &xSFunc */, bp+8 /* &pArg */) + rc = (*struct { + f func(*libc.TLS, uintptr, int32, uintptr, uintptr, uintptr) int32 + })(unsafe.Pointer(&struct{ uintptr }{(*Sqlite3_module)(unsafe.Pointer(pMod)).FxFindFunction})).f(tls, pVtab, nArg, (*FuncDef)(unsafe.Pointer(pDef)).FzName, bp /* &xSFunc */, bp+8 /* &pArg */) if rc == 0 { return pDef } @@ -125507,7 +126795,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+952 /* "%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 @@ -125558,7 +126846,7 @@ func Xsqlite3_vtab_config(tls *libc.TLS, db uintptr, op int32, va uintptr) int32 rc = Xsqlite3MisuseError(tls, 144439) } else { - ap = va + (ap) = va switch op { case SQLITE_VTAB_CONSTRAINT_SUPPORT: { @@ -125637,16 +126925,16 @@ func Xsqlite3_vtab_config(tls *libc.TLS, db uintptr, op int32, va uintptr) int32 // Forward references type WhereClause1 = struct { - FpWInfo uintptr - FpOuter uintptr - Fop U8 - FhasOr U8 - _ [2]byte - FnTerm int32 - FnSlot int32 - _ [4]byte - Fa uintptr - FaStatic [8]WhereTerm + FpWInfo uintptr + FpOuter uintptr + Fop U8 + FhasOr U8 + F__ccgo_pad1 [2]byte + FnTerm int32 + FnSlot int32 + F__ccgo_pad2 [4]byte + Fa uintptr + FaStatic [8]WhereTerm } /* sqlite3.c:14936:9 */ //************* End of vtab.c *********************************************** @@ -125724,9 +127012,9 @@ type WhereLevel1 = struct { Fp2 int32 Fu struct { Fin struct { - FnIn int32 - _ [4]byte - FaInLoop uintptr + FnIn int32 + F__ccgo_pad1 [4]byte + FaInLoop uintptr } } FpWLoop uintptr @@ -125755,7 +127043,7 @@ type WhereLoop1 = struct { FnLTerm U16 FnSkip U16 FnLSlot U16 - _ [6]byte + F__ccgo_pad1 [6]byte FaLTerm uintptr FpNextLoop uintptr FaLTermSpace [3]uintptr @@ -125763,14 +127051,14 @@ type WhereLoop1 = struct { type WhereLoop = WhereLoop1 /* sqlite3.c:144522:26 */ type WherePath1 = struct { - FmaskLoop Bitmask - FrevLoop Bitmask - FnRow LogEst - FrCost LogEst - FrUnsorted LogEst - FisOrdered I8 - _ [1]byte - FaLoop uintptr + FmaskLoop Bitmask + FrevLoop Bitmask + FnRow LogEst + FrCost LogEst + FrUnsorted LogEst + FisOrdered I8 + F__ccgo_pad1 [1]byte + FaLoop uintptr } /* sqlite3.c:144523:9 */ type WherePath = WherePath1 /* sqlite3.c:144523:26 */ @@ -125785,8 +127073,8 @@ type WhereTerm1 = struct { FiParent int32 FleftCursor int32 Fu struct { - _ [0]uint64 - Fx struct { + F__ccgo_pad1 [0]uint64 + Fx struct { FleftColumn int32 FiField int32 } @@ -125797,50 +127085,50 @@ type WhereTerm1 = struct { type WhereTerm = WhereTerm1 /* sqlite3.c:144524:26 */ type WhereLoopBuilder1 = struct { - FpWInfo uintptr - FpWC uintptr - FpOrderBy uintptr - FpNew uintptr - FpOrSet uintptr - FpRec uintptr - FnRecValid int32 - FbldFlags1 uint8 - FbldFlags2 uint8 - _ [2]byte - FiPlanLimit uint32 - _ [4]byte + FpWInfo uintptr + FpWC uintptr + FpOrderBy uintptr + FpNew uintptr + FpOrSet uintptr + FpRec uintptr + FnRecValid int32 + FbldFlags1 uint8 + FbldFlags2 uint8 + F__ccgo_pad1 [2]byte + FiPlanLimit uint32 + F__ccgo_pad2 [4]byte } /* sqlite3.c:144525:9 */ type WhereLoopBuilder = WhereLoopBuilder1 /* sqlite3.c:144525:33 */ type WhereScan1 = struct { - FpOrigWC uintptr - FpWC uintptr - FzCollName uintptr - FpIdxExpr uintptr - Fidxaff int8 - FnEquiv uint8 - FiEquiv uint8 - _ [1]byte - FopMask U32 - Fk int32 - FaiCur [11]int32 - FaiColumn [11]I16 - _ [2]byte + FpOrigWC uintptr + FpWC uintptr + FzCollName uintptr + FpIdxExpr uintptr + Fidxaff int8 + FnEquiv uint8 + FiEquiv uint8 + F__ccgo_pad1 [1]byte + FopMask U32 + Fk int32 + FaiCur [11]int32 + FaiColumn [11]I16 + F__ccgo_pad2 [2]byte } /* sqlite3.c:144526:9 */ type WhereScan = WhereScan1 /* sqlite3.c:144526:26 */ type WhereOrCost1 = struct { - Fprereq Bitmask - FrRun LogEst - FnOut LogEst - _ [4]byte + Fprereq Bitmask + FrRun LogEst + FnOut LogEst + F__ccgo_pad1 [4]byte } /* sqlite3.c:144525:9 */ type WhereOrCost = WhereOrCost1 /* sqlite3.c:144527:28 */ type WhereOrSet1 = struct { - Fn U16 - _ [6]byte - Fa [3]WhereOrCost + Fn U16 + F__ccgo_pad1 [6]byte + Fa [3]WhereOrCost } /* sqlite3.c:144525:9 */ type WhereOrSet = WhereOrSet1 /* sqlite3.c:144528:27 */ @@ -125859,12 +127147,12 @@ type WhereOrSet = WhereOrSet1 /* sqlite3.c:144528:27 */ // the loop nested order, with WhereInfo.a[0] being the outer loop and // WhereInfo.a[WhereInfo.nLevel-1] being the inner loop. type InLoop = struct { - FiCur int32 - FaddrInTop int32 - FiBase int32 - FnPrefix int32 - FeEndLoopOp U8 - _ [3]byte + FiCur int32 + FaddrInTop int32 + FiBase int32 + FnPrefix int32 + FeEndLoopOp U8 + F__ccgo_pad1 [3]byte } /* sqlite3.c:144567:7 */ // Allowed values for WhereLoopBuider.bldFlags @@ -125938,10 +127226,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 + 24067 /* "" */ + return ts + 24066 /* "" */ } if i == (-1) { - return ts + 10298 /* "rowid" */ + return ts + 10297 /* "rowid" */ } return (*Column)(unsafe.Pointer((*Table)(unsafe.Pointer((*Index)(unsafe.Pointer(pIdx)).FpTable)).FaCol + uintptr(i)*32)).FzName } @@ -125956,35 +127244,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+24074 /* " AND " */, 5) + Xsqlite3_str_append(tls, pStr, ts+24073 /* " AND " */, 5) } if nTerm > 1 { - Xsqlite3_str_append(tls, pStr, ts+24080 /* "(" */, 1) + Xsqlite3_str_append(tls, pStr, ts+24079 /* "(" */, 1) } for i = 0; i < nTerm; i++ { if i != 0 { - Xsqlite3_str_append(tls, pStr, ts+14856 /* "," */, 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+6888 /* ")" */, 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+24080 /* "(" */, 1) + Xsqlite3_str_append(tls, pStr, ts+24079 /* "(" */, 1) } for i = 0; i < nTerm; i++ { if i != 0 { - Xsqlite3_str_append(tls, pStr, ts+14856 /* "," */, 1) + Xsqlite3_str_append(tls, pStr, ts+14855 /* "," */, 1) } - Xsqlite3_str_append(tls, pStr, ts+6941 /* "?" */, 1) + Xsqlite3_str_append(tls, pStr, ts+6940 /* "?" */, 1) } if nTerm > 1 { - Xsqlite3_str_append(tls, pStr, ts+6888 /* ")" */, 1) + Xsqlite3_str_append(tls, pStr, ts+6887 /* ")" */, 1) } } @@ -126013,29 +127301,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+24082 /* " (" */, 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+24074 /* " AND " */, 5) + Xsqlite3_str_append(tls, pStr, ts+24073 /* " AND " */, 5) } Xsqlite3_str_appendf(tls, pStr, func() uintptr { if i >= int32(nSkip) { - return ts + 24085 /* "%s=?" */ + return ts + 24084 /* "%s=?" */ } - return ts + 24090 /* "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+24098 /* ">" */) + 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+24100 /* "<" */) + explainAppendTerm(tls, pStr, pIndex, int32(*(*U16)(unsafe.Pointer(pLoop + 24 /* &.u */ /* &.btree */ + 4 /* &.nTop */))), j, i, ts+24099 /* "<" */) } - Xsqlite3_str_append(tls, pStr, ts+6888 /* ")" */, 1) + Xsqlite3_str_append(tls, pStr, ts+6887 /* ")" */, 1) } // This function is a no-op unless currently processing an EXPLAIN QUERY PLAN @@ -126080,11 +127368,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+24102 /* "%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 + 24108 /* "SEARCH" */ + return ts + 24107 /* "SEARCH" */ } - return ts + 24115 /* "SCAN" */ + return ts + 24114 /* "SCAN" */ }(), pItem)) if (flags & (U32(WHERE_IPK | WHERE_VIRTUALTABLE))) == U32(0) { var zFmt uintptr = uintptr(0) @@ -126094,38 +127382,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 + 12975 /* "PRIMARY KEY" */ + zFmt = ts + 12974 /* "PRIMARY KEY" */ } } else if (flags & U32(WHERE_PARTIALIDX)) != 0 { - zFmt = ts + 24120 /* "AUTOMATIC PARTIA..." */ + zFmt = ts + 24119 /* "AUTOMATIC PARTIA..." */ } else if (flags & U32(WHERE_AUTO_INDEX)) != 0 { - zFmt = ts + 24153 /* "AUTOMATIC COVERI..." */ + zFmt = ts + 24152 /* "AUTOMATIC COVERI..." */ } else if (flags & U32(WHERE_IDX_ONLY)) != 0 { - zFmt = ts + 24178 /* "COVERING INDEX %..." */ + zFmt = ts + 24177 /* "COVERING INDEX %..." */ } else { - zFmt = ts + 24196 /* "INDEX %s" */ + zFmt = ts + 24195 /* "INDEX %s" */ } if zFmt != 0 { - Xsqlite3_str_append(tls, bp+48 /* &str */, ts+24205 /* " 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 + 24213 /* "=" */ + zRangeOp = ts + 24212 /* "=" */ } else if (flags & U32(WHERE_BOTH_LIMIT)) == U32(WHERE_BOTH_LIMIT) { - zRangeOp = ts + 24215 /* ">? AND rowid<" */ + zRangeOp = ts + 24214 /* ">? AND rowid<" */ } else if (flags & U32(WHERE_BTM_LIMIT)) != 0 { - zRangeOp = ts + 24098 /* ">" */ + zRangeOp = ts + 24097 /* ">" */ } else { - zRangeOp = ts + 24100 /* "<" */ + zRangeOp = ts + 24099 /* "<" */ } Xsqlite3_str_appendf(tls, bp+48, /* &str */ - ts+24229 /* " 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+24267, /* " 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 */) @@ -126582,7 +127870,7 @@ func codeAllEqualityTerms(tls *libc.TLS, pParse uintptr, pLevel uintptr, bRev in return OP_Rewind }(), iIdxCur) - Xsqlite3VdbeComment(tls, v, ts+24294 /* "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 { @@ -126596,7 +127884,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+952 /* "%s" */, libc.VaList(bp+8, explainIndexColumnName(tls, pIdx, j))) + Xsqlite3VdbeComment(tls, v, ts+951 /* "%s" */, libc.VaList(bp+8, explainIndexColumnName(tls, pIdx, j))) } } @@ -126941,7 +128229,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+24316 /* "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 @@ -126956,7 +128244,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+24345 /* "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 @@ -127136,7 +128424,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+18105 /* "pk" */, 0) + Xsqlite3VdbeComment(tls, v, ts+18104 /* "pk" */, 0) Xsqlite3ReleaseTempReg(tls, pParse, *(*int32)(unsafe.Pointer(bp + 20 /* rTemp */))) } else { @@ -127355,7 +128643,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+24360 /* "NULL-scan pass c..." */, 0) + Xsqlite3VdbeComment(tls, v, ts+24359 /* "NULL-scan pass c..." */, 0) } op = int32(aStartOp[(((start_constraints << 2) + (startEq << 1)) + bRev)]) @@ -127429,7 +128717,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+24379 /* "If NULL-scan 2nd..." */, 0) + Xsqlite3VdbeComment(tls, v, ts+24378 /* "If NULL-scan 2nd..." */, 0) } op = int32(aEndOp[((bRev * 2) + endEq)]) @@ -127444,7 +128732,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+24401 /* "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, @@ -127690,7 +128978,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+24423 /* "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) { @@ -127709,7 +128997,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+24438 /* "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) @@ -128014,7 +129302,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+24447 /* "record LEFT JOIN..." */, 0) + Xsqlite3VdbeComment(tls, v, ts+24446 /* "record LEFT JOIN..." */, 0) pTerm = (*WhereClause)(unsafe.Pointer(pWC)).Fa j = 0 __7: @@ -128408,7 +129696,9 @@ func isAuxiliaryVtabOperator(tls *libc.TLS, db uintptr, pExpr uintptr, peOp2 uin pMod = (*Sqlite3_vtab)(unsafe.Pointer(pVtab)).FpModule if (*Sqlite3_module)(unsafe.Pointer(pMod)).FxFindFunction != uintptr(0) { - i = (*(*func(*libc.TLS, uintptr, int32, uintptr, uintptr, uintptr) int32)(unsafe.Pointer((pMod + 144 /* &.xFindFunction */))))(tls, pVtab, 2, *(*uintptr)(unsafe.Pointer(pExpr + 8 /* &.u */)), bp /* &xNotUsed */, bp+8 /* &pNotUsed */) + i = (*struct { + f func(*libc.TLS, uintptr, int32, uintptr, uintptr, uintptr) int32 + })(unsafe.Pointer(&struct{ uintptr }{(*Sqlite3_module)(unsafe.Pointer(pMod)).FxFindFunction})).f(tls, pVtab, 2, *(*uintptr)(unsafe.Pointer(pExpr + 8 /* &.u */)), bp /* &xNotUsed */, bp+8 /* &pNotUsed */) if i >= SQLITE_INDEX_CONSTRAINT_FUNCTION { *(*uint8)(unsafe.Pointer(peOp2)) = uint8(i) *(*uintptr)(unsafe.Pointer(ppRight)) = (*ExprList_item)(unsafe.Pointer((pList + 8 /* &.a */) + 1*32)).FpExpr @@ -128452,16 +129742,16 @@ func isAuxiliaryVtabOperator(tls *libc.TLS, db uintptr, pExpr uintptr, peOp2 uin } type Op2 = struct { - FzOp uintptr - FeOp2 uint8 - _ [7]byte + FzOp uintptr + FeOp2 uint8 + F__ccgo_pad1 [7]byte } /* sqlite3.c:147955:18 */ var aOp = [4]Op2{ - {FzOp: ts + 18066 /* "match" */, FeOp2: uint8(SQLITE_INDEX_CONSTRAINT_MATCH)}, - {FzOp: ts + 17405 /* "glob" */, FeOp2: uint8(SQLITE_INDEX_CONSTRAINT_GLOB)}, - {FzOp: ts + 16955 /* "like" */, FeOp2: uint8(SQLITE_INDEX_CONSTRAINT_LIKE)}, - {FzOp: ts + 24468 /* "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 @@ -129162,7 +130452,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+24475 /* "ON clause refere..." */, 0) + Xsqlite3ErrorMsg(tls, pParse, ts+24474 /* "ON clause refere..." */, 0) return } } @@ -129238,7 +130528,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 + 8884 /* "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) @@ -129339,7 +130629,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 + 24516 /* "NOCASE" */ + return ts + 24515 /* "NOCASE" */ } return uintptr(unsafe.Pointer(&Xsqlite3StrBINARY)) }() @@ -129641,7 +130931,7 @@ func Xsqlite3WhereTabFuncArgs(tls *libc.TLS, pParse uintptr, pItem uintptr, pWC k++ } if k >= int32((*Table)(unsafe.Pointer(pTab)).FnCol) { - Xsqlite3ErrorMsg(tls, pParse, ts+24523, /* "too many argumen..." */ + Xsqlite3ErrorMsg(tls, pParse, ts+24522, /* "too many argumen..." */ libc.VaList(bp, (*Table)(unsafe.Pointer(pTab)).FzName, j)) return } @@ -130464,7 +131754,7 @@ __4: goto __6 } Xsqlite3_log(tls, (SQLITE_WARNING | (int32(1) << 8)), - ts+24559 /* "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: @@ -130545,7 +131835,7 @@ __13: __14: ; *(*uintptr)(unsafe.Pointer(pLoop + 24 /* &.u */ /* &.btree */ + 8 /* &.pIndex */)) = pIdx - (*Index)(unsafe.Pointer(pIdx)).FzName = ts + 24585 /* "auto-index" */ + (*Index)(unsafe.Pointer(pIdx)).FzName = ts + 24584 /* "auto-index" */ (*Index)(unsafe.Pointer(pIdx)).FpTable = pTable n = 0 idxCols = uint64(0) @@ -130642,7 +131932,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+17801 /* "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) @@ -130654,7 +131944,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+24345 /* "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) @@ -130780,7 +132070,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+8000 /* "out of memory" */, 0) + Xsqlite3ErrorMsg(tls, pParse, ts+7999 /* "out of memory" */, 0) return uintptr(0) } pHidden = (pIdxInfo + 1*96) @@ -130901,15 +132191,17 @@ func vtabBestIndex(tls *libc.TLS, pParse uintptr, pTab uintptr, p uintptr) int32 var pVtab uintptr = (*VTable)(unsafe.Pointer(Xsqlite3GetVTable(tls, (*Parse)(unsafe.Pointer(pParse)).Fdb, pTab))).FpVtab var rc int32 - rc = (*(*func(*libc.TLS, uintptr, uintptr) int32)(unsafe.Pointer(((*Sqlite3_vtab)(unsafe.Pointer(pVtab)).FpModule + 24 /* &.xBestIndex */))))(tls, pVtab, p) + rc = (*struct { + f func(*libc.TLS, uintptr, uintptr) int32 + })(unsafe.Pointer(&struct{ uintptr }{(*Sqlite3_module)(unsafe.Pointer((*Sqlite3_vtab)(unsafe.Pointer(pVtab)).FpModule)).FxBestIndex})).f(tls, pVtab, p) if (rc != SQLITE_OK) && (rc != SQLITE_CONSTRAINT) { 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+952 /* "%s" */, libc.VaList(bp, Xsqlite3ErrStr(tls, rc))) + Xsqlite3ErrorMsg(tls, pParse, ts+951 /* "%s" */, libc.VaList(bp, Xsqlite3ErrStr(tls, rc))) } else { - Xsqlite3ErrorMsg(tls, pParse, ts+952 /* "%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) @@ -132959,7 +134251,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+24596 /* "%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 } @@ -133007,7 +134299,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+24596 /* "%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 } @@ -133396,7 +134688,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+24622 /* "abbreviated quer..." */, 0) + Xsqlite3_log(tls, SQLITE_WARNING, ts+24621 /* "abbreviated quer..." */, 0) rc = SQLITE_OK } else { goto __3 @@ -134165,7 +135457,7 @@ __3: } if nFrom == 0 { - Xsqlite3ErrorMsg(tls, pParse, ts+24657 /* "no query solutio..." */, 0) + Xsqlite3ErrorMsg(tls, pParse, ts+24656 /* "no query solutio..." */, 0) Xsqlite3DbFreeNN(tls, db, pSpace) return SQLITE_ERROR } @@ -134546,7 +135838,7 @@ __2: if !((*SrcList)(unsafe.Pointer(pTabList)).FnSrc > (int32(uint64(unsafe.Sizeof(Bitmask(0))) * uint64(8)))) { goto __3 } - Xsqlite3ErrorMsg(tls, pParse, ts+24675 /* "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: ; @@ -134621,7 +135913,7 @@ __7: (*WhereInfo)(unsafe.Pointer(pWInfo)).FeDistinct = U8(WHERE_DISTINCT_UNIQUE) __8: ; - Xsqlite3VdbeExplain(tls, pParse, uint8(0), ts+24703 /* "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. @@ -135145,7 +136437,7 @@ __74: Xsqlite3VdbeChangeP5(tls, v, uint16(OPFLAG_SEEKEQ)) __82: ; - Xsqlite3VdbeComment(tls, v, ts+952 /* "%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: @@ -135313,9 +136605,9 @@ func Xsqlite3WhereEnd(tls *libc.TLS, pWInfo uintptr) { /* sqlite3.c:154626:21: * } { - Xsqlite3VdbeJumpHere(tls, v, ((*InLoop)(unsafe.Pointer(pIn)).FaddrInTop + 1)) - if int32((*InLoop)(unsafe.Pointer(pIn)).FeEndLoopOp) != OP_Noop { - if (*InLoop)(unsafe.Pointer(pIn)).FnPrefix != 0 { + Xsqlite3VdbeJumpHere(tls, v, (*(*int32)(unsafe.Pointer(pIn + 4)) + 1)) + if int32(*(*U8)(unsafe.Pointer(pIn + 16))) != OP_Noop { + if *(*int32)(unsafe.Pointer(pIn + 12)) != 0 { var bEarlyOut int32 = (libc.Bool32((((*WhereLoop)(unsafe.Pointer(pLoop)).FwsFlags & U32(WHERE_VIRTUALTABLE)) == U32(0)) && (((*WhereLoop)(unsafe.Pointer(pLoop)).FwsFlags & U32(WHERE_IN_EARLYOUT)) != U32(0)))) if (*WhereLevel)(unsafe.Pointer(pLevel)).FiLeftJoin != 0 { @@ -135327,26 +136619,26 @@ func Xsqlite3WhereEnd(tls *libc.TLS, pWInfo uintptr) { /* sqlite3.c:154626:21: * // return the null-row. So, if the cursor is not open yet, // jump over the OP_Next or OP_Prev instruction about to // be coded. - Xsqlite3VdbeAddOp2(tls, v, OP_IfNotOpen, (*InLoop)(unsafe.Pointer(pIn)).FiCur, + Xsqlite3VdbeAddOp2(tls, v, OP_IfNotOpen, *(*int32)(unsafe.Pointer(pIn)), ((Xsqlite3VdbeCurrentAddr(tls, v) + 2) + bEarlyOut)) } if bEarlyOut != 0 { Xsqlite3VdbeAddOp4Int(tls, v, OP_IfNoHope, (*WhereLevel)(unsafe.Pointer(pLevel)).FiIdxCur, (Xsqlite3VdbeCurrentAddr(tls, v) + 2), - (*InLoop)(unsafe.Pointer(pIn)).FiBase, (*InLoop)(unsafe.Pointer(pIn)).FnPrefix) + *(*int32)(unsafe.Pointer(pIn + 8)), *(*int32)(unsafe.Pointer(pIn + 12))) // Retarget the OP_IsNull against the left operand of IN so // it jumps past the OP_IfNoHope. This is because the // OP_IsNull also bypasses the OP_Affinity opcode that is // required by OP_IfNoHope. - Xsqlite3VdbeJumpHere(tls, v, ((*InLoop)(unsafe.Pointer(pIn)).FaddrInTop + 1)) + Xsqlite3VdbeJumpHere(tls, v, (*(*int32)(unsafe.Pointer(pIn + 4)) + 1)) } } - Xsqlite3VdbeAddOp2(tls, v, int32((*InLoop)(unsafe.Pointer(pIn)).FeEndLoopOp), (*InLoop)(unsafe.Pointer(pIn)).FiCur, (*InLoop)(unsafe.Pointer(pIn)).FaddrInTop) + Xsqlite3VdbeAddOp2(tls, v, int32(*(*U8)(unsafe.Pointer(pIn + 16))), *(*int32)(unsafe.Pointer(pIn)), *(*int32)(unsafe.Pointer(pIn + 4))) } - Xsqlite3VdbeJumpHere(tls, v, ((*InLoop)(unsafe.Pointer(pIn)).FaddrInTop - 1)) + Xsqlite3VdbeJumpHere(tls, v, (*(*int32)(unsafe.Pointer(pIn + 4)) - 1)) } goto __2 @@ -135360,7 +136652,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+24721 /* "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)) } @@ -135759,7 +137051,7 @@ __1: error_out: Xsqlite3_result_error(tls, - pCtx, ts+24742 /* "second argument ..." */, -1) + pCtx, ts+24741 /* "second argument ..." */, -1) } func nth_valueFinalizeFunc(tls *libc.TLS, pCtx uintptr) { /* sqlite3.c:155162:13: */ @@ -135908,7 +137200,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+24798 /* "argument of ntil..." */, -1) + pCtx, ts+24797 /* "argument of ntil..." */, -1) } } (*NtileCtx)(unsafe.Pointer(p)).FnTotal++ @@ -135946,9 +137238,9 @@ func ntileValueFunc(tls *libc.TLS, pCtx uintptr) { /* sqlite3.c:155364:13: */ // Context object for last_value() window function. type LastValueCtx = struct { - FpVal uintptr - FnVal int32 - _ [4]byte + FpVal uintptr + FnVal int32 + F__ccgo_pad1 [4]byte } /* sqlite3.c:155391:1 */ // Implementation of last_value(). @@ -136005,17 +137297,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 + 24843 /* "row_number" */)) /* sqlite3.c:155459:19 */ -var dense_rankName = *(*[11]int8)(unsafe.Pointer(ts + 24854 /* "dense_rank" */)) /* sqlite3.c:155460:19 */ -var rankName = *(*[5]int8)(unsafe.Pointer(ts + 24865 /* "rank" */)) /* sqlite3.c:155461:19 */ -var percent_rankName = *(*[13]int8)(unsafe.Pointer(ts + 24870 /* "percent_rank" */)) /* sqlite3.c:155462:19 */ -var cume_distName = *(*[10]int8)(unsafe.Pointer(ts + 24883 /* "cume_dist" */)) /* sqlite3.c:155463:19 */ -var ntileName = *(*[6]int8)(unsafe.Pointer(ts + 24893 /* "ntile" */)) /* sqlite3.c:155464:19 */ -var last_valueName = *(*[11]int8)(unsafe.Pointer(ts + 24899 /* "last_value" */)) /* sqlite3.c:155465:19 */ -var nth_valueName = *(*[10]int8)(unsafe.Pointer(ts + 24910 /* "nth_value" */)) /* sqlite3.c:155466:19 */ -var first_valueName = *(*[12]int8)(unsafe.Pointer(ts + 24920 /* "first_value" */)) /* sqlite3.c:155467:19 */ -var leadName = *(*[5]int8)(unsafe.Pointer(ts + 24932 /* "lead" */)) /* sqlite3.c:155468:19 */ -var lagName = *(*[4]int8)(unsafe.Pointer(ts + 24937 /* "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. @@ -136079,7 +137371,7 @@ func windowFind(tls *libc.TLS, pParse uintptr, pList uintptr, zName uintptr) uin } } if p == uintptr(0) { - Xsqlite3ErrorMsg(tls, pParse, ts+24941 /* "no such window: ..." */, libc.VaList(bp, zName)) + Xsqlite3ErrorMsg(tls, pParse, ts+24940 /* "no such window: ..." */, libc.VaList(bp, zName)) } return p } @@ -136123,12 +137415,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+24960 /* "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+25031 /* "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}, @@ -136151,7 +137443,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+10135 /* "1" */) + (*Window)(unsafe.Pointer(pWin)).FpStart = Xsqlite3Expr(tls, db, TK_INTEGER, ts+10134 /* "1" */) } break } @@ -136162,11 +137454,11 @@ func Xsqlite3WindowUpdate(tls *libc.TLS, pParse uintptr, pList uintptr, pWin uin } type WindowUpdate = struct { - FzFunc uintptr - FeFrmType int32 - FeStart int32 - FeEnd int32 - _ [4]byte + FzFunc uintptr + FeFrmType int32 + FeStart int32 + FeEnd int32 + F__ccgo_pad1 [4]byte } /* sqlite3.c:155605:7 */ // Context object passed through sqlite3WalkExprList() to @@ -136393,7 +137685,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+10237 /* "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 } @@ -136523,7 +137815,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+9615 /* "0" */)) + Xsqlite3Expr(tls, db, TK_INTEGER, ts+9614 /* "0" */)) } pSub = Xsqlite3SelectNew(tls, @@ -136663,7 +137955,7 @@ __1: ((eStart == TK_FOLLOWING) && ((eEnd == TK_PRECEDING) || (eEnd == TK_CURRENT)))) { goto __2 } - Xsqlite3ErrorMsg(tls, pParse, ts+25094 /* "unsupported fram..." */, 0) + Xsqlite3ErrorMsg(tls, pParse, ts+25093 /* "unsupported fram..." */, 0) goto windowAllocErr __2: ; @@ -136729,15 +138021,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 + 25126 /* "PARTITION clause" */ + zErr = ts + 25125 /* "PARTITION clause" */ } else if ((*Window)(unsafe.Pointer(pExist)).FpOrderBy != 0) && ((*Window)(unsafe.Pointer(pWin)).FpOrderBy != 0) { - zErr = ts + 25143 /* "ORDER BY clause" */ + zErr = ts + 25142 /* "ORDER BY clause" */ } else if int32((*Window)(unsafe.Pointer(pExist)).FbImplicitFrame) == 0 { - zErr = ts + 25159 /* "frame specificat..." */ + zErr = ts + 25158 /* "frame specificat..." */ } if zErr != 0 { Xsqlite3ErrorMsg(tls, pParse, - ts+25179 /* "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 { @@ -136760,7 +138052,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+25212 /* "DISTINCT is not ..." */, 0) + ts+25211 /* "DISTINCT is not ..." */, 0) } } else { Xsqlite3WindowDelete(tls, (*Parse)(unsafe.Pointer(pParse)).Fdb, pWin) @@ -136911,7 +138203,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+916 /* "" */, -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))) @@ -136933,11 +138225,11 @@ func windowCheckValue(tls *libc.TLS, pParse uintptr, reg int32, eCond int32) { / } var azErr = [5]uintptr{ - ts + 25259, /* "frame starting o..." */ - ts + 25312, /* "frame ending off..." */ - ts + 24742, /* "second argument ..." */ - ts + 25363, /* "frame starting o..." */ - ts + 25415, /* "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 */ @@ -136954,18 +138246,18 @@ func windowArgCount(tls *libc.TLS, pWin uintptr) int32 { /* sqlite3.c:156418:12: } type WindowCodeArg1 = struct { - FpParse uintptr - FpMWin uintptr - FpVdbe uintptr - FaddrGosub int32 - FregGosub int32 - FregArg int32 - FeDelete int32 - FregRowid int32 - Fstart WindowCsrAndReg - Fcurrent WindowCsrAndReg - Fend WindowCsrAndReg - _ [4]byte + FpParse uintptr + FpMWin uintptr + FpVdbe uintptr + FaddrGosub int32 + FregGosub int32 + FregArg int32 + FeDelete int32 + FregRowid int32 + Fstart WindowCsrAndReg + Fcurrent WindowCsrAndReg + Fend WindowCsrAndReg + F__ccgo_pad1 [4]byte } /* sqlite3.c:156423:9 */ type WindowCodeArg = WindowCodeArg1 /* sqlite3.c:156423:30 */ @@ -137539,7 +138831,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+916 /* "" */, -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)) { @@ -138256,7 +139548,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+25465 /* "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)) } @@ -138512,15 +139804,15 @@ func Xsqlite3WindowCodeStep(tls *libc.TLS, pParse uintptr, p uintptr, pWInfo uin // // Then the "b" IdList records the list "a,b,c". type TrigEvent = struct { - Fa int32 - _ [4]byte - Fb uintptr + Fa int32 + F__ccgo_pad1 [4]byte + Fb uintptr } /* sqlite3.c:158068:1 */ type FrameBound = struct { - FeType int32 - _ [4]byte - FpExpr uintptr + FeType int32 + F__ccgo_pad1 [4]byte + FpExpr uintptr } /* sqlite3.c:158070:1 */ // Disable lookaside memory allocation for objects that might be @@ -138554,19 +139846,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+25486, /* "%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 + 22253 /* "ORDER BY" */ + return ts + 22252 /* "ORDER BY" */ } - return ts + 25528 /* "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+25534 /* "too many terms i..." */, 0) + Xsqlite3ErrorMsg(tls, pParse, ts+25533 /* "too many terms i..." */, 0) } } @@ -138646,7 +139938,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+25568, /* "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) @@ -138711,9 +140003,9 @@ func parserAddExprIdListTerm(tls *libc.TLS, pParse uintptr, pPrior uintptr, pIdT // YY_MAX_REDUCE Maximum value for reduce actions //************ Begin control #defines **************************************** type YYMINORTYPE = struct { - _ [0]uint64 - Fyyinit int32 - _ [12]byte + F__ccgo_pad1 [0]uint64 + Fyyinit int32 + F__ccgo_pad2 [12]byte } /* sqlite3.c:158494:3 */ //************ End control #defines ****************************************** @@ -139582,10 +140874,10 @@ var yyFallback = [184]uint16{ // actually contains the reduce action for the second half of the // SHIFTREDUCE. type yyStackEntry = struct { - Fstateno uint16 - Fmajor uint16 - _ [4]byte - Fminor YYMINORTYPE + Fstateno uint16 + Fmajor uint16 + F__ccgo_pad1 [4]byte + Fminor YYMINORTYPE } /* sqlite3.c:159404:1 */ type YyStackEntry = yyStackEntry /* sqlite3.c:159411:29 */ @@ -139873,7 +141165,7 @@ func yyStackOverflow(tls *libc.TLS, yypParser uintptr) { /* sqlite3.c:160618:13: // stack every overflows //******* Begin %stack_overflow code ***************************************** - Xsqlite3ErrorMsg(tls, pParse, ts+25606 /* "parser stack ove..." */, 0) + Xsqlite3ErrorMsg(tls, pParse, ts+25605 /* "parser stack ove..." */, 0) //******* End %stack_overflow code ******************************************* (*YyParser)(unsafe.Pointer(yypParser)).FpParse = pParse @@ -140852,11 +142144,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+10298 /* "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+25628 /* "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 @@ -141591,7 +142883,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+25655 /* "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)) } @@ -141744,7 +143036,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+25664 /* "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)) @@ -141948,9 +143240,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 + 10135 /* "1" */ + return ts + 10134 /* "1" */ } - return ts + 9615 /* "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 @@ -142225,21 +143517,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+25688 /* "qualified table ..." */, 0) + ts+25687 /* "qualified table ..." */, 0) } break case uint32(266): /* tridxby ::= INDEXED BY nm */ { Xsqlite3ErrorMsg(tls, pParse, - ts+25783 /* "the INDEXED BY c..." */, 0) + ts+25782 /* "the INDEXED BY c..." */, 0) } break case uint32(267): /* tridxby ::= NOT INDEXED */ { Xsqlite3ErrorMsg(tls, pParse, - ts+25867 /* "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 */ @@ -142688,9 +143980,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+25664 /* "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+25952 /* "incomplete input" */, 0) + Xsqlite3ErrorMsg(tls, pParse, ts+25951 /* "incomplete input" */, 0) } //*********** End %syntax_error code ***************************************** @@ -143897,7 +145189,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+25969 /* "unrecognized tok..." */, libc.VaList(bp, n, zSql)) + Xsqlite3ErrorMsg(tls, pParse, ts+25968 /* "unrecognized tok..." */, libc.VaList(bp, n, zSql)) break } } @@ -143917,12 +145209,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+952 /* "%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+25996, /* "%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++ @@ -144134,7 +145426,7 @@ func Xsqlite3_complete(tls *libc.TLS, zSql uintptr) int32 { /* sqlite3.c:164796: fallthrough case 'C': { - if (nId == 6) && (Xsqlite3_strnicmp(tls, zSql, ts+26007 /* "create" */, 6) == 0) { + if (nId == 6) && (Xsqlite3_strnicmp(tls, zSql, ts+26006 /* "create" */, 6) == 0) { token = U8(TkCREATE) } else { token = U8(TkOTHER) @@ -144147,11 +145439,11 @@ func Xsqlite3_complete(tls *libc.TLS, zSql uintptr) int32 { /* sqlite3.c:164796: fallthrough case 'T': { - if (nId == 7) && (Xsqlite3_strnicmp(tls, zSql, ts+22373 /* "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+26014 /* "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+26019 /* "temporary" */, 9) == 0) { + } else if (nId == 9) && (Xsqlite3_strnicmp(tls, zSql, ts+26018 /* "temporary" */, 9) == 0) { token = U8(TkTEMP) } else { token = U8(TkOTHER) @@ -144164,9 +145456,9 @@ func Xsqlite3_complete(tls *libc.TLS, zSql uintptr) int32 { /* sqlite3.c:164796: fallthrough case 'E': { - if (nId == 3) && (Xsqlite3_strnicmp(tls, zSql, ts+26029 /* "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+26033 /* "explain" */, 7) == 0) { + } else if (nId == 7) && (Xsqlite3_strnicmp(tls, zSql, ts+26032 /* "explain" */, 7) == 0) { token = U8(TkEXPLAIN) } else { token = U8(TkOTHER) @@ -144508,7 +145800,7 @@ func Xsqlite3_config(tls *libc.TLS, op int32, va uintptr) int32 { /* sqlite3.c:1 return Xsqlite3MisuseError(tls, 165517) } - ap = va + (ap) = va switch op { // Mutex configuration options are only available in a threadsafe @@ -144931,7 +146223,7 @@ func Xsqlite3_db_config(tls *libc.TLS, db uintptr, op int32, va uintptr) int32 { var ap Va_list _ = ap var rc int32 - ap = va + (ap) = va switch op { case SQLITE_DBCONFIG_MAINDBNAME: { @@ -145119,7 +146411,7 @@ func functionDestroy(tls *libc.TLS, db uintptr, p uintptr) { /* sqlite3.c:166213 if pDestructor != 0 { (*FuncDestructor)(unsafe.Pointer(pDestructor)).FnRef-- if (*FuncDestructor)(unsafe.Pointer(pDestructor)).FnRef == 0 { - (*(*func(*libc.TLS, uintptr))(unsafe.Pointer((pDestructor + 8 /* &.xDestroy */))))(tls, (*FuncDestructor)(unsafe.Pointer(pDestructor)).FpUserData) + (*struct{ f func(*libc.TLS, uintptr) })(unsafe.Pointer(&struct{ uintptr }{(*FuncDestructor)(unsafe.Pointer(pDestructor)).FxDestroy})).f(tls, (*FuncDestructor)(unsafe.Pointer(pDestructor)).FpUserData) Xsqlite3DbFree(tls, db, pDestructor) } } @@ -145181,7 +146473,9 @@ func sqlite3Close(tls *libc.TLS, db uintptr, forceZombie int32) int32 { /* sqlit } Xsqlite3_mutex_enter(tls, (*Sqlite3)(unsafe.Pointer(db)).Fmutex) if (int32((*Sqlite3)(unsafe.Pointer(db)).FmTrace) & SQLITE_TRACE_CLOSE) != 0 { - (*(*func(*libc.TLS, U32, uintptr, uintptr, uintptr) int32)(unsafe.Pointer((db + 240 /* &.trace */ /* &.xV2 */))))(tls, uint32(SQLITE_TRACE_CLOSE), (*Sqlite3)(unsafe.Pointer(db)).FpTraceArg, db, uintptr(0)) + (*struct { + f func(*libc.TLS, U32, uintptr, uintptr, uintptr) int32 + })(unsafe.Pointer(&struct{ uintptr }{*(*uintptr)(unsafe.Pointer(db + 240 /* &.trace */))})).f(tls, uint32(SQLITE_TRACE_CLOSE), (*Sqlite3)(unsafe.Pointer(db)).FpTraceArg, db, uintptr(0)) } // Force xDisconnect calls on all virtual tables @@ -145199,7 +146493,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+26041 /* "unable to close ..." */, 0) + ts+26040 /* "unable to close ..." */, 0) Xsqlite3_mutex_leave(tls, (*Sqlite3)(unsafe.Pointer(db)).Fmutex) return SQLITE_BUSY } @@ -145330,7 +146624,7 @@ func Xsqlite3LeaveMutexAndCloseZombie(tls *libc.TLS, db uintptr) { /* sqlite3.c: // Invoke any destructors registered for collation sequence user data. for j = 0; j < 3; j++ { if (*CollSeq)(unsafe.Pointer(pColl+uintptr(j)*40)).FxDel != 0 { - (*(*func(*libc.TLS, uintptr))(unsafe.Pointer((pColl + uintptr(j)*40 + 32 /* &.xDel */))))(tls, (*CollSeq)(unsafe.Pointer(pColl+uintptr(j)*40)).FpUser) + (*struct{ f func(*libc.TLS, uintptr) })(unsafe.Pointer(&struct{ uintptr }{(*CollSeq)(unsafe.Pointer(pColl + uintptr(j)*40)).FxDel})).f(tls, (*CollSeq)(unsafe.Pointer(pColl+uintptr(j)*40)).FpUser) } } Xsqlite3DbFree(tls, db, pColl) @@ -145411,7 +146705,7 @@ func Xsqlite3RollbackAll(tls *libc.TLS, db uintptr, tripCode int32) { /* sqlite3 // If one has been configured, invoke the rollback-hook callback if ((*Sqlite3)(unsafe.Pointer(db)).FxRollbackCallback != 0) && ((inTrans != 0) || !(int32((*Sqlite3)(unsafe.Pointer(db)).FautoCommit) != 0)) { - (*(*func(*libc.TLS, uintptr))(unsafe.Pointer((db + 296 /* &.xRollbackCallback */))))(tls, (*Sqlite3)(unsafe.Pointer(db)).FpRollbackArg) + (*struct{ f func(*libc.TLS, uintptr) })(unsafe.Pointer(&struct{ uintptr }{(*Sqlite3)(unsafe.Pointer(db)).FxRollbackCallback})).f(tls, (*Sqlite3)(unsafe.Pointer(db)).FpRollbackArg) } } @@ -145432,259 +146726,259 @@ __1: { switch rc { case SQLITE_OK: - zName = ts + 26109 /* "SQLITE_OK" */ + zName = ts + 26108 /* "SQLITE_OK" */ break case SQLITE_ERROR: - zName = ts + 26119 /* "SQLITE_ERROR" */ + zName = ts + 26118 /* "SQLITE_ERROR" */ break case (SQLITE_ERROR | (int32(3) << 8)): - zName = ts + 26132 /* "SQLITE_ERROR_SNA..." */ + zName = ts + 26131 /* "SQLITE_ERROR_SNA..." */ break case SQLITE_INTERNAL: - zName = ts + 26154 /* "SQLITE_INTERNAL" */ + zName = ts + 26153 /* "SQLITE_INTERNAL" */ break case SQLITE_PERM: - zName = ts + 26170 /* "SQLITE_PERM" */ + zName = ts + 26169 /* "SQLITE_PERM" */ break case SQLITE_ABORT: - zName = ts + 26182 /* "SQLITE_ABORT" */ + zName = ts + 26181 /* "SQLITE_ABORT" */ break case (SQLITE_ABORT | (int32(2) << 8)): - zName = ts + 26195 /* "SQLITE_ABORT_ROL..." */ + zName = ts + 26194 /* "SQLITE_ABORT_ROL..." */ break case SQLITE_BUSY: - zName = ts + 26217 /* "SQLITE_BUSY" */ + zName = ts + 26216 /* "SQLITE_BUSY" */ break case (SQLITE_BUSY | (int32(1) << 8)): - zName = ts + 26229 /* "SQLITE_BUSY_RECO..." */ + zName = ts + 26228 /* "SQLITE_BUSY_RECO..." */ break case (SQLITE_BUSY | (int32(2) << 8)): - zName = ts + 26250 /* "SQLITE_BUSY_SNAP..." */ + zName = ts + 26249 /* "SQLITE_BUSY_SNAP..." */ break case SQLITE_LOCKED: - zName = ts + 26271 /* "SQLITE_LOCKED" */ + zName = ts + 26270 /* "SQLITE_LOCKED" */ break case (SQLITE_LOCKED | (int32(1) << 8)): - zName = ts + 26285 /* "SQLITE_LOCKED_SH..." */ + zName = ts + 26284 /* "SQLITE_LOCKED_SH..." */ break case SQLITE_NOMEM: - zName = ts + 26311 /* "SQLITE_NOMEM" */ + zName = ts + 26310 /* "SQLITE_NOMEM" */ break case SQLITE_READONLY: - zName = ts + 26324 /* "SQLITE_READONLY" */ + zName = ts + 26323 /* "SQLITE_READONLY" */ break case (SQLITE_READONLY | (int32(1) << 8)): - zName = ts + 26340 /* "SQLITE_READONLY_..." */ + zName = ts + 26339 /* "SQLITE_READONLY_..." */ break case (SQLITE_READONLY | (int32(5) << 8)): - zName = ts + 26365 /* "SQLITE_READONLY_..." */ + zName = ts + 26364 /* "SQLITE_READONLY_..." */ break case (SQLITE_READONLY | (int32(3) << 8)): - zName = ts + 26390 /* "SQLITE_READONLY_..." */ + zName = ts + 26389 /* "SQLITE_READONLY_..." */ break case (SQLITE_READONLY | (int32(4) << 8)): - zName = ts + 26415 /* "SQLITE_READONLY_..." */ + zName = ts + 26414 /* "SQLITE_READONLY_..." */ break case (SQLITE_READONLY | (int32(6) << 8)): - zName = ts + 26439 /* "SQLITE_READONLY_..." */ + zName = ts + 26438 /* "SQLITE_READONLY_..." */ break case SQLITE_INTERRUPT: - zName = ts + 26465 /* "SQLITE_INTERRUPT" */ + zName = ts + 26464 /* "SQLITE_INTERRUPT" */ break case SQLITE_IOERR: - zName = ts + 26482 /* "SQLITE_IOERR" */ + zName = ts + 26481 /* "SQLITE_IOERR" */ break case (SQLITE_IOERR | (int32(1) << 8)): - zName = ts + 26495 /* "SQLITE_IOERR_REA..." */ + zName = ts + 26494 /* "SQLITE_IOERR_REA..." */ break case (SQLITE_IOERR | (int32(2) << 8)): - zName = ts + 26513 /* "SQLITE_IOERR_SHO..." */ + zName = ts + 26512 /* "SQLITE_IOERR_SHO..." */ break case (SQLITE_IOERR | (int32(3) << 8)): - zName = ts + 26537 /* "SQLITE_IOERR_WRI..." */ + zName = ts + 26536 /* "SQLITE_IOERR_WRI..." */ break case (SQLITE_IOERR | (int32(4) << 8)): - zName = ts + 26556 /* "SQLITE_IOERR_FSY..." */ + zName = ts + 26555 /* "SQLITE_IOERR_FSY..." */ break case (SQLITE_IOERR | (int32(5) << 8)): - zName = ts + 26575 /* "SQLITE_IOERR_DIR..." */ + zName = ts + 26574 /* "SQLITE_IOERR_DIR..." */ break case (SQLITE_IOERR | (int32(6) << 8)): - zName = ts + 26598 /* "SQLITE_IOERR_TRU..." */ + zName = ts + 26597 /* "SQLITE_IOERR_TRU..." */ break case (SQLITE_IOERR | (int32(7) << 8)): - zName = ts + 26620 /* "SQLITE_IOERR_FST..." */ + zName = ts + 26619 /* "SQLITE_IOERR_FST..." */ break case (SQLITE_IOERR | (int32(8) << 8)): - zName = ts + 26639 /* "SQLITE_IOERR_UNL..." */ + zName = ts + 26638 /* "SQLITE_IOERR_UNL..." */ break case (SQLITE_IOERR | (int32(9) << 8)): - zName = ts + 26659 /* "SQLITE_IOERR_RDL..." */ + zName = ts + 26658 /* "SQLITE_IOERR_RDL..." */ break case (SQLITE_IOERR | (int32(10) << 8)): - zName = ts + 26679 /* "SQLITE_IOERR_DEL..." */ + zName = ts + 26678 /* "SQLITE_IOERR_DEL..." */ break case (SQLITE_IOERR | (int32(12) << 8)): - zName = ts + 26699 /* "SQLITE_IOERR_NOM..." */ + zName = ts + 26698 /* "SQLITE_IOERR_NOM..." */ break case (SQLITE_IOERR | (int32(13) << 8)): - zName = ts + 26718 /* "SQLITE_IOERR_ACC..." */ + zName = ts + 26717 /* "SQLITE_IOERR_ACC..." */ break case (SQLITE_IOERR | (int32(14) << 8)): - zName = ts + 26738 /* "SQLITE_IOERR_CHE..." */ + zName = ts + 26737 /* "SQLITE_IOERR_CHE..." */ break case (SQLITE_IOERR | (int32(15) << 8)): - zName = ts + 26769 /* "SQLITE_IOERR_LOC..." */ + zName = ts + 26768 /* "SQLITE_IOERR_LOC..." */ break case (SQLITE_IOERR | (int32(16) << 8)): - zName = ts + 26787 /* "SQLITE_IOERR_CLO..." */ + zName = ts + 26786 /* "SQLITE_IOERR_CLO..." */ break case (SQLITE_IOERR | (int32(17) << 8)): - zName = ts + 26806 /* "SQLITE_IOERR_DIR..." */ + zName = ts + 26805 /* "SQLITE_IOERR_DIR..." */ break case (SQLITE_IOERR | (int32(18) << 8)): - zName = ts + 26829 /* "SQLITE_IOERR_SHM..." */ + zName = ts + 26828 /* "SQLITE_IOERR_SHM..." */ break case (SQLITE_IOERR | (int32(19) << 8)): - zName = ts + 26850 /* "SQLITE_IOERR_SHM..." */ + zName = ts + 26849 /* "SQLITE_IOERR_SHM..." */ break case (SQLITE_IOERR | (int32(20) << 8)): - zName = ts + 26871 /* "SQLITE_IOERR_SHM..." */ + zName = ts + 26870 /* "SQLITE_IOERR_SHM..." */ break case (SQLITE_IOERR | (int32(21) << 8)): - zName = ts + 26892 /* "SQLITE_IOERR_SHM..." */ + zName = ts + 26891 /* "SQLITE_IOERR_SHM..." */ break case (SQLITE_IOERR | (int32(22) << 8)): - zName = ts + 26912 /* "SQLITE_IOERR_SEE..." */ + zName = ts + 26911 /* "SQLITE_IOERR_SEE..." */ break case (SQLITE_IOERR | (int32(23) << 8)): - zName = ts + 26930 /* "SQLITE_IOERR_DEL..." */ + zName = ts + 26929 /* "SQLITE_IOERR_DEL..." */ break case (SQLITE_IOERR | (int32(24) << 8)): - zName = ts + 26956 /* "SQLITE_IOERR_MMA..." */ + zName = ts + 26955 /* "SQLITE_IOERR_MMA..." */ break case (SQLITE_IOERR | (int32(25) << 8)): - zName = ts + 26974 /* "SQLITE_IOERR_GET..." */ + zName = ts + 26973 /* "SQLITE_IOERR_GET..." */ break case (SQLITE_IOERR | (int32(26) << 8)): - zName = ts + 26999 /* "SQLITE_IOERR_CON..." */ + zName = ts + 26998 /* "SQLITE_IOERR_CON..." */ break case SQLITE_CORRUPT: - zName = ts + 27021 /* "SQLITE_CORRUPT" */ + zName = ts + 27020 /* "SQLITE_CORRUPT" */ break case (SQLITE_CORRUPT | (int32(1) << 8)): - zName = ts + 27036 /* "SQLITE_CORRUPT_V..." */ + zName = ts + 27035 /* "SQLITE_CORRUPT_V..." */ break case SQLITE_NOTFOUND: - zName = ts + 27056 /* "SQLITE_NOTFOUND" */ + zName = ts + 27055 /* "SQLITE_NOTFOUND" */ break case SQLITE_FULL: - zName = ts + 27072 /* "SQLITE_FULL" */ + zName = ts + 27071 /* "SQLITE_FULL" */ break case SQLITE_CANTOPEN: - zName = ts + 27084 /* "SQLITE_CANTOPEN" */ + zName = ts + 27083 /* "SQLITE_CANTOPEN" */ break case (SQLITE_CANTOPEN | (int32(1) << 8)): - zName = ts + 27100 /* "SQLITE_CANTOPEN_..." */ + zName = ts + 27099 /* "SQLITE_CANTOPEN_..." */ break case (SQLITE_CANTOPEN | (int32(2) << 8)): - zName = ts + 27126 /* "SQLITE_CANTOPEN_..." */ + zName = ts + 27125 /* "SQLITE_CANTOPEN_..." */ break case (SQLITE_CANTOPEN | (int32(3) << 8)): - zName = ts + 27148 /* "SQLITE_CANTOPEN_..." */ + zName = ts + 27147 /* "SQLITE_CANTOPEN_..." */ break case (SQLITE_CANTOPEN | (int32(4) << 8)): - zName = ts + 27173 /* "SQLITE_CANTOPEN_..." */ + zName = ts + 27172 /* "SQLITE_CANTOPEN_..." */ break case (SQLITE_CANTOPEN | (int32(6) << 8)): - zName = ts + 27198 /* "SQLITE_CANTOPEN_..." */ + zName = ts + 27197 /* "SQLITE_CANTOPEN_..." */ break case SQLITE_PROTOCOL: - zName = ts + 27222 /* "SQLITE_PROTOCOL" */ + zName = ts + 27221 /* "SQLITE_PROTOCOL" */ break case SQLITE_EMPTY: - zName = ts + 27238 /* "SQLITE_EMPTY" */ + zName = ts + 27237 /* "SQLITE_EMPTY" */ break case SQLITE_SCHEMA: - zName = ts + 27251 /* "SQLITE_SCHEMA" */ + zName = ts + 27250 /* "SQLITE_SCHEMA" */ break case SQLITE_TOOBIG: - zName = ts + 27265 /* "SQLITE_TOOBIG" */ + zName = ts + 27264 /* "SQLITE_TOOBIG" */ break case SQLITE_CONSTRAINT: - zName = ts + 27279 /* "SQLITE_CONSTRAIN..." */ + zName = ts + 27278 /* "SQLITE_CONSTRAIN..." */ break case (SQLITE_CONSTRAINT | (int32(8) << 8)): - zName = ts + 27297 /* "SQLITE_CONSTRAIN..." */ + zName = ts + 27296 /* "SQLITE_CONSTRAIN..." */ break case (SQLITE_CONSTRAINT | (int32(7) << 8)): - zName = ts + 27322 /* "SQLITE_CONSTRAIN..." */ + zName = ts + 27321 /* "SQLITE_CONSTRAIN..." */ break case (SQLITE_CONSTRAINT | (int32(3) << 8)): - zName = ts + 27348 /* "SQLITE_CONSTRAIN..." */ + zName = ts + 27347 /* "SQLITE_CONSTRAIN..." */ break case (SQLITE_CONSTRAINT | (int32(1) << 8)): - zName = ts + 27377 /* "SQLITE_CONSTRAIN..." */ + zName = ts + 27376 /* "SQLITE_CONSTRAIN..." */ break case (SQLITE_CONSTRAINT | (int32(6) << 8)): - zName = ts + 27401 /* "SQLITE_CONSTRAIN..." */ + zName = ts + 27400 /* "SQLITE_CONSTRAIN..." */ break case (SQLITE_CONSTRAINT | (int32(5) << 8)): - zName = ts + 27430 /* "SQLITE_CONSTRAIN..." */ + zName = ts + 27429 /* "SQLITE_CONSTRAIN..." */ break case (SQLITE_CONSTRAINT | (int32(2) << 8)): - zName = ts + 27456 /* "SQLITE_CONSTRAIN..." */ + zName = ts + 27455 /* "SQLITE_CONSTRAIN..." */ break case (SQLITE_CONSTRAINT | (int32(9) << 8)): - zName = ts + 27485 /* "SQLITE_CONSTRAIN..." */ + zName = ts + 27484 /* "SQLITE_CONSTRAIN..." */ break case (SQLITE_CONSTRAINT | (int32(4) << 8)): - zName = ts + 27508 /* "SQLITE_CONSTRAIN..." */ + zName = ts + 27507 /* "SQLITE_CONSTRAIN..." */ break case (SQLITE_CONSTRAINT | (int32(10) << 8)): - zName = ts + 27535 /* "SQLITE_CONSTRAIN..." */ + zName = ts + 27534 /* "SQLITE_CONSTRAIN..." */ break case SQLITE_MISMATCH: - zName = ts + 27559 /* "SQLITE_MISMATCH" */ + zName = ts + 27558 /* "SQLITE_MISMATCH" */ break case SQLITE_MISUSE: - zName = ts + 27575 /* "SQLITE_MISUSE" */ + zName = ts + 27574 /* "SQLITE_MISUSE" */ break case SQLITE_NOLFS: - zName = ts + 27589 /* "SQLITE_NOLFS" */ + zName = ts + 27588 /* "SQLITE_NOLFS" */ break case SQLITE_AUTH: - zName = ts + 27602 /* "SQLITE_AUTH" */ + zName = ts + 27601 /* "SQLITE_AUTH" */ break case SQLITE_FORMAT: - zName = ts + 27614 /* "SQLITE_FORMAT" */ + zName = ts + 27613 /* "SQLITE_FORMAT" */ break case SQLITE_RANGE: - zName = ts + 27628 /* "SQLITE_RANGE" */ + zName = ts + 27627 /* "SQLITE_RANGE" */ break case SQLITE_NOTADB: - zName = ts + 27641 /* "SQLITE_NOTADB" */ + zName = ts + 27640 /* "SQLITE_NOTADB" */ break case SQLITE_ROW: - zName = ts + 27655 /* "SQLITE_ROW" */ + zName = ts + 27654 /* "SQLITE_ROW" */ break case SQLITE_NOTICE: - zName = ts + 27666 /* "SQLITE_NOTICE" */ + zName = ts + 27665 /* "SQLITE_NOTICE" */ break case (SQLITE_NOTICE | (int32(1) << 8)): - zName = ts + 27680 /* "SQLITE_NOTICE_RE..." */ + zName = ts + 27679 /* "SQLITE_NOTICE_RE..." */ break case (SQLITE_NOTICE | (int32(2) << 8)): - zName = ts + 27706 /* "SQLITE_NOTICE_RE..." */ + zName = ts + 27705 /* "SQLITE_NOTICE_RE..." */ break case SQLITE_WARNING: - zName = ts + 27737 /* "SQLITE_WARNING" */ + zName = ts + 27736 /* "SQLITE_WARNING" */ break case (SQLITE_WARNING | (int32(1) << 8)): - zName = ts + 27752 /* "SQLITE_WARNING_A..." */ + zName = ts + 27751 /* "SQLITE_WARNING_A..." */ break case SQLITE_DONE: - zName = ts + 27777 /* "SQLITE_DONE" */ + zName = ts + 27776 /* "SQLITE_DONE" */ break } @@ -145698,7 +146992,7 @@ __2: __3: ; if zName == uintptr(0) { - Xsqlite3_snprintf(tls, int32(unsafe.Sizeof(zBuf)), uintptr(unsafe.Pointer(&zBuf)), ts+27789 /* "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 @@ -145709,23 +147003,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 + 27808 /* "unknown error" */ + var zErr uintptr = ts + 27807 /* "unknown error" */ switch rc { case (SQLITE_ABORT | (int32(2) << 8)): { - zErr = ts + 27822 /* "abort due to ROL..." */ + zErr = ts + 27821 /* "abort due to ROL..." */ break } case SQLITE_ROW: { - zErr = ts + 27844 /* "another row avai..." */ + zErr = ts + 27843 /* "another row avai..." */ break } case SQLITE_DONE: { - zErr = ts + 27866 /* "no more rows ava..." */ + zErr = ts + 27865 /* "no more rows ava..." */ break } @@ -145743,35 +147037,35 @@ func Xsqlite3ErrStr(tls *libc.TLS, rc int32) uintptr { /* sqlite3.c:166655:27: * } var aMsg = [29]uintptr{ - /* SQLITE_OK */ ts + 27889, /* "not an error" */ - /* SQLITE_ERROR */ ts + 27902, /* "SQL logic error" */ + /* SQLITE_OK */ ts + 27888, /* "not an error" */ + /* SQLITE_ERROR */ ts + 27901, /* "SQL logic error" */ /* SQLITE_INTERNAL */ uintptr(0), - /* SQLITE_PERM */ ts + 27918, /* "access permissio..." */ - /* SQLITE_ABORT */ ts + 27943, /* "query aborted" */ - /* SQLITE_BUSY */ ts + 27957, /* "database is lock..." */ - /* SQLITE_LOCKED */ ts + 27976, /* "database table i..." */ - /* SQLITE_NOMEM */ ts + 8000, /* "out of memory" */ - /* SQLITE_READONLY */ ts + 28001, /* "attempt to write..." */ - /* SQLITE_INTERRUPT */ ts + 28038, /* "interrupted" */ - /* SQLITE_IOERR */ ts + 28050, /* "disk I/O error" */ - /* SQLITE_CORRUPT */ ts + 28065, /* "database disk im..." */ - /* SQLITE_NOTFOUND */ ts + 28098, /* "unknown operatio..." */ - /* SQLITE_FULL */ ts + 28116, /* "database or disk..." */ - /* SQLITE_CANTOPEN */ ts + 28141, /* "unable to open d..." */ - /* SQLITE_PROTOCOL */ ts + 28170, /* "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 + 7730, /* "database schema ..." */ - /* SQLITE_TOOBIG */ ts + 7267, /* "string or blob t..." */ - /* SQLITE_CONSTRAINT */ ts + 28187, /* "constraint faile..." */ - /* SQLITE_MISMATCH */ ts + 28205, /* "datatype mismatc..." */ - /* SQLITE_MISUSE */ ts + 28223, /* "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 + 28257, /* "authorization de..." */ + /* SQLITE_AUTH */ ts + 28256, /* "authorization de..." */ /* SQLITE_FORMAT */ uintptr(0), - /* SQLITE_RANGE */ ts + 28278, /* "column index out..." */ - /* SQLITE_NOTADB */ ts + 28304, /* "file is not a da..." */ - /* SQLITE_NOTICE */ ts + 28327, /* "notification mes..." */ - /* SQLITE_WARNING */ ts + 28348, /* "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 @@ -145819,7 +147113,9 @@ func Xsqlite3InvokeBusyHandler(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:16 if ((*BusyHandler)(unsafe.Pointer(p)).FxBusyHandler == uintptr(0)) || ((*BusyHandler)(unsafe.Pointer(p)).FnBusy < 0) { return 0 } - rc = (*(*func(*libc.TLS, uintptr, int32) int32)(unsafe.Pointer((p /* &.xBusyHandler */))))(tls, (*BusyHandler)(unsafe.Pointer(p)).FpBusyArg, (*BusyHandler)(unsafe.Pointer(p)).FnBusy) + rc = (*struct { + f func(*libc.TLS, uintptr, int32) int32 + })(unsafe.Pointer(&struct{ uintptr }{(*BusyHandler)(unsafe.Pointer(p)).FxBusyHandler})).f(tls, (*BusyHandler)(unsafe.Pointer(p)).FpBusyArg, (*BusyHandler)(unsafe.Pointer(p)).FnBusy) if rc == 0 { (*BusyHandler)(unsafe.Pointer(p)).FnBusy = -1 } else { @@ -145936,7 +147232,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+28364 /* "unable to delete..." */, 0) + ts+28363 /* "unable to delete..." */, 0) return SQLITE_BUSY } else { @@ -145998,7 +147294,7 @@ func createFunctionApi(tls *libc.TLS, db uintptr, zFunc uintptr, nArg int32, enc goto __2 } Xsqlite3OomFault(tls, db) - (*(*func(*libc.TLS, uintptr))(unsafe.Pointer(&xDestroy)))(tls, p) + (*struct{ f func(*libc.TLS, uintptr) })(unsafe.Pointer(&struct{ uintptr }{xDestroy})).f(tls, p) goto out __2: ; @@ -146013,7 +147309,7 @@ __1: goto __3 } - (*(*func(*libc.TLS, uintptr))(unsafe.Pointer(&xDestroy)))(tls, p) + (*struct{ f func(*libc.TLS, uintptr) })(unsafe.Pointer(&struct{ uintptr }{xDestroy})).f(tls, p) Xsqlite3_free(tls, pArg) __3: ; @@ -146069,7 +147365,7 @@ func sqlite3InvalidFunction(tls *libc.TLS, context uintptr, NotUsed int32, NotUs _ = NotUsed _ = NotUsed2 zErr = Xsqlite3_mprintf(tls, - ts+28427 /* "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) } @@ -146291,7 +147587,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+28478 /* "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) @@ -146510,7 +147806,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+28499 /* "unable to delete..." */, 0) + ts+28498 /* "unable to delete..." */, 0) return SQLITE_BUSY } Xsqlite3ExpirePreparedStatements(tls, db, 0) @@ -146527,7 +147823,7 @@ func createCollation(tls *libc.TLS, db uintptr, zName uintptr, enc U8, pCtx uint var p uintptr = (aColl + uintptr(j)*40) if int32((*CollSeq)(unsafe.Pointer(p)).Fenc) == int32((*CollSeq)(unsafe.Pointer(pColl)).Fenc) { if (*CollSeq)(unsafe.Pointer(p)).FxDel != 0 { - (*(*func(*libc.TLS, uintptr))(unsafe.Pointer((p + 32 /* &.xDel */))))(tls, (*CollSeq)(unsafe.Pointer(p)).FpUser) + (*struct{ f func(*libc.TLS, uintptr) })(unsafe.Pointer(&struct{ uintptr }{(*CollSeq)(unsafe.Pointer(p)).FxDel})).f(tls, (*CollSeq)(unsafe.Pointer(p)).FpUser) } (*CollSeq)(unsafe.Pointer(p)).FxCmp = uintptr(0) } @@ -146653,7 +147949,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+28567 /* "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 @@ -146701,10 +147997,10 @@ __8: goto __8 __9: ; - if !((iIn != 7) && ((iIn != 16) || (libc.Xmemcmp(tls, ts+28573 /* "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+28583, /* "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 @@ -146826,7 +148122,7 @@ __27: zVal = (zOpt + uintptr((nOpt + 1))) nVal = Xsqlite3Strlen30(tls, zVal) - if !((nOpt == 3) && (libc.Xmemcmp(tls, ts+28611 /* "vfs" */, zOpt, uint64(3)) == 0)) { + if !((nOpt == 3) && (libc.Xmemcmp(tls, ts+28610 /* "vfs" */, zOpt, uint64(3)) == 0)) { goto __29 } zVfs = zVal @@ -146837,17 +148133,17 @@ __29: mask = 0 limit = 0 - if !((nOpt == 5) && (libc.Xmemcmp(tls, ts+28615 /* "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 + 28615 /* "cache" */ + zModeType = ts + 28614 /* "cache" */ __31: ; - if !((nOpt == 4) && (libc.Xmemcmp(tls, ts+28621 /* "mode" */, zOpt, uint64(4)) == 0)) { + if !((nOpt == 4) && (libc.Xmemcmp(tls, ts+28620 /* "mode" */, zOpt, uint64(4)) == 0)) { goto __32 } @@ -146855,7 +148151,7 @@ __31: SQLITE_OPEN_CREATE) | SQLITE_OPEN_MEMORY) aMode = uintptr(unsafe.Pointer(&aOpenMode)) limit = (int32(uint32(mask) & flags)) - zModeType = ts + 4655 /* "access" */ + zModeType = ts + 4654 /* "access" */ __32: ; @@ -146886,7 +148182,7 @@ __36: if !(mode == 0) { goto __38 } - *(*uintptr)(unsafe.Pointer(pzErrMsg)) = Xsqlite3_mprintf(tls, ts+28626 /* "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: @@ -146894,7 +148190,7 @@ __38: if !((mode & libc.CplInt32(SQLITE_OPEN_MEMORY)) > limit) { goto __39 } - *(*uintptr)(unsafe.Pointer(pzErrMsg)) = Xsqlite3_mprintf(tls, ts+28646, /* "%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 @@ -146937,7 +148233,7 @@ __2: if !(*(*uintptr)(unsafe.Pointer(ppVfs)) == uintptr(0)) { goto __42 } - *(*uintptr)(unsafe.Pointer(pzErrMsg)) = Xsqlite3_mprintf(tls, ts+28670 /* "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: ; @@ -146955,21 +148251,21 @@ __43: } type OpenMode = struct { - Fz uintptr - Fmode int32 - _ [4]byte + Fz uintptr + Fmode int32 + F__ccgo_pad1 [4]byte } /* sqlite3.c:168064:9 */ var aCacheMode = [3]OpenMode{ - {Fz: ts + 19911 /* "shared" */, Fmode: SQLITE_OPEN_SHAREDCACHE}, - {Fz: ts + 28686 /* "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 + 28694 /* "ro" */, Fmode: SQLITE_OPEN_READONLY}, - {Fz: ts + 28697 /* "rw" */, Fmode: SQLITE_OPEN_READWRITE}, - {Fz: ts + 28700 /* "rwc" */, Fmode: (SQLITE_OPEN_READWRITE | SQLITE_OPEN_CREATE)}, - {Fz: ts + 19294 /* "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 */ @@ -147151,10 +148447,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+24516 /* "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+28704 /* "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) { @@ -147200,7 +148496,7 @@ __19: ; Xsqlite3ErrorWithMsg(tls, db, rc, func() uintptr { if *(*uintptr)(unsafe.Pointer(bp + 24 /* zErrMsg */)) != 0 { - return ts + 952 /* "%s" */ + return ts + 951 /* "%s" */ } return uintptr(0) }(), libc.VaList(bp, *(*uintptr)(unsafe.Pointer(bp + 24 /* zErrMsg */)))) @@ -147238,9 +148534,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 + 8567 /* "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 + 26014 /* "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 @@ -147358,7 +148654,7 @@ func Xsqlite3_open16(tls *libc.TLS, zFilename uintptr, ppDb uintptr) int32 { /* return rc } if zFilename == uintptr(0) { - zFilename = ts + 28710 /* "\x00\x00" */ + zFilename = ts + 28709 /* "\x00\x00" */ } pVal = Xsqlite3ValueNew(tls, uintptr(0)) Xsqlite3ValueSetStr(tls, pVal, -1, zFilename, uint8(SQLITE_UTF16LE), uintptr(0)) @@ -147461,24 +148757,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+28713, /* "%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+28738 /* "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+28758 /* "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+28765 /* "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 @@ -147605,7 +148901,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 + 14703 /* "INTEGER" */ + zDataType = ts + 14702 /* "INTEGER" */ primarykey = 1 __13: ; @@ -147657,14 +148953,14 @@ __19: goto __20 } Xsqlite3DbFree(tls, db, *(*uintptr)(unsafe.Pointer(bp + 24 /* zErrMsg */))) - *(*uintptr)(unsafe.Pointer(bp + 24 /* zErrMsg */)) = Xsqlite3MPrintf(tls, db, ts+28782 /* "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 + 952 /* "%s" */ + return ts + 951 /* "%s" */ } return uintptr(0) }(), libc.VaList(bp+16, *(*uintptr)(unsafe.Pointer(bp + 24 /* zErrMsg */)))) @@ -147752,7 +149048,7 @@ func Xsqlite3_test_control(tls *libc.TLS, op int32, va uintptr) int32 { /* sqlit var rc int32 = 0 var ap Va_list _ = ap - ap = va + (ap) = va switch op { // Save the current state of the PRNG. @@ -147891,7 +149187,7 @@ func Xsqlite3_test_control(tls *libc.TLS, op int32, va uintptr) int32 { /* sqlit { var x int32 = 0 - rc = libc.AtomicLoadInt32(&x) + rc = x break } @@ -148463,7 +149759,7 @@ func Xsqlite3_compileoption_used(tls *libc.TLS, zOptName uintptr) int32 { /* sql azCompileOpt = Xsqlite3CompileOptions(tls, bp /* &nOpt */) - if Xsqlite3_strnicmp(tls, zOptName, ts+28810 /* "SQLITE_" */, 7) == 0 { + if Xsqlite3_strnicmp(tls, zOptName, ts+28809 /* "SQLITE_" */, 7) == 0 { zOptName += uintptr(7) } n = Xsqlite3Strlen30(tls, zOptName) @@ -148603,7 +149899,9 @@ func Xsqlite3_unlock_notify(tls *libc.TLS, db uintptr, xNotify uintptr, pArg uin // The blocking transaction has been concluded. Or there never was a // blocking transaction. In either case, invoke the notify callback // immediately. - (*(*func(*libc.TLS, uintptr, int32))(unsafe.Pointer(&xNotify)))(tls, bp /* &pArg */, 1) + (*struct { + f func(*libc.TLS, uintptr, int32) + })(unsafe.Pointer(&struct{ uintptr }{xNotify})).f(tls, bp /* &pArg */, 1) } else { var p uintptr @@ -148624,7 +149922,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 + 28818 /* "database is dead..." */ + return ts + 28817 /* "database is dead..." */ } return uintptr(0) }(), 0) @@ -148690,7 +149988,9 @@ func Xsqlite3ConnectionUnlocked(tls *libc.TLS, db uintptr) { /* sqlite3.c:170018 if (*Sqlite3)(unsafe.Pointer(p)).FpUnlockConnection == db { if ((*Sqlite3)(unsafe.Pointer(p)).FxUnlockNotify != xUnlockNotify) && (nArg != 0) { - (*(*func(*libc.TLS, uintptr, int32))(unsafe.Pointer(&xUnlockNotify)))(tls, aArg, nArg) + (*struct { + f func(*libc.TLS, uintptr, int32) + })(unsafe.Pointer(&struct{ uintptr }{xUnlockNotify})).f(tls, aArg, nArg) nArg = 0 } @@ -148728,7 +150028,9 @@ func Xsqlite3ConnectionUnlocked(tls *libc.TLS, db uintptr) { /* sqlite3.c:170018 // reduce the applications ability to prioritize multiple // connections. But it is the best that can be done under the // circumstances. - (*(*func(*libc.TLS, uintptr, int32))(unsafe.Pointer(&xUnlockNotify)))(tls, aArg, nArg) + (*struct { + f func(*libc.TLS, uintptr, int32) + })(unsafe.Pointer(&struct{ uintptr }{xUnlockNotify})).f(tls, aArg, nArg) nArg = 0 } } @@ -148752,7 +150054,9 @@ func Xsqlite3ConnectionUnlocked(tls *libc.TLS, db uintptr) { /* sqlite3.c:170018 } if nArg != 0 { - (*(*func(*libc.TLS, uintptr, int32))(unsafe.Pointer(&xUnlockNotify)))(tls, aArg, nArg) + (*struct { + f func(*libc.TLS, uintptr, int32) + })(unsafe.Pointer(&struct{ uintptr }{xUnlockNotify})).f(tls, aArg, nArg) } Xsqlite3_free(tls, aDyn) leaveMutex(tls) // Leave STATIC_MAIN mutex @@ -149381,39 +150685,39 @@ var jsonIsSpace = [256]int8{ // Objects type JsonString1 = struct { - FpCtx uintptr - FzBuf uintptr - FnAlloc U64 - FnUsed U64 - FbStatic U8 - FbErr U8 - FzSpace [100]int8 - _ [2]byte + FpCtx uintptr + FzBuf uintptr + FnAlloc U64 + FnUsed U64 + FbStatic U8 + FbErr U8 + FzSpace [100]int8 + F__ccgo_pad1 [2]byte } /* sqlite3.c:189736:9 */ // Objects type JsonString = JsonString1 /* sqlite3.c:189736:27 */ type JsonNode1 = struct { - FeType U8 - FjnFlags U8 - _ [2]byte - Fn U32 - Fu struct{ FzJContent uintptr } + FeType U8 + FjnFlags U8 + F__ccgo_pad1 [2]byte + Fn U32 + Fu struct{ FzJContent uintptr } } /* sqlite3.c:189737:9 */ type JsonNode = JsonNode1 /* sqlite3.c:189737:25 */ type JsonParse1 = struct { - FnNode U32 - FnAlloc U32 - FaNode uintptr - FzJson uintptr - FaUp uintptr - Foom U8 - FnErr U8 - FiDepth U16 - FnJson int32 - FiHold U32 - _ [4]byte + FnNode U32 + FnAlloc U32 + FaNode uintptr + FzJson uintptr + FaUp uintptr + Foom U8 + FnErr U8 + FiDepth U16 + FnJson int32 + FiHold U32 + F__ccgo_pad1 [4]byte } /* sqlite3.c:189738:9 */ type JsonParse = JsonParse1 /* sqlite3.c:189738:26 */ @@ -149424,7 +150728,7 @@ type JsonParse = JsonParse1 /* sqlite3.c:189738:26 */ // Names of the various JSON types: var jsonType = [8]uintptr{ - ts + 8077 /* "null" */, ts + 8879 /* "true" */, ts + 8884 /* "false" */, ts + 8087 /* "integer" */, ts + 8082 /* "real" */, ts + 16827 /* "text" */, ts + 28841 /* "array" */, ts + 28847, /* "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. @@ -149522,7 +150826,7 @@ func jsonPrintf(tls *libc.TLS, N int32, p uintptr, zFormat uintptr, va uintptr) if (((*JsonString)(unsafe.Pointer(p)).FnUsed + U64(N)) >= (*JsonString)(unsafe.Pointer(p)).FnAlloc) && (jsonGrow(tls, p, uint32(N)) != 0) { return } - ap = va + (ap) = va Xsqlite3_vsnprintf(tls, N, ((*JsonString)(unsafe.Pointer(p)).FzBuf + uintptr((*JsonString)(unsafe.Pointer(p)).FnUsed)), zFormat, ap) _ = ap *(*U64)(unsafe.Pointer(p + 24 /* &.nUsed */)) += (U64(int32(libc.Xstrlen(tls, ((*JsonString)(unsafe.Pointer(p)).FzBuf + uintptr((*JsonString)(unsafe.Pointer(p)).FnUsed)))))) @@ -149604,7 +150908,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 + 28854 /* "0123456789abcdef" */ + uintptr((int32(c) & 0xf))))) + c = uint8(*(*int8)(unsafe.Pointer(ts + 28853 /* "0123456789abcdef" */ + uintptr((int32(c) & 0xf))))) __8: ; __6: @@ -149632,7 +150936,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+8077 /* "null" */, uint32(4)) + jsonAppendRaw(tls, p, ts+8076 /* "null" */, uint32(4)) break } @@ -149661,7 +150965,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+28871 /* "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) } @@ -149738,19 +151042,19 @@ func jsonRenderNode(tls *libc.TLS, pNode uintptr, pOut uintptr, aReplace uintptr default: { - jsonAppendRaw(tls, pOut, ts+8077 /* "null" */, uint32(4)) + jsonAppendRaw(tls, pOut, ts+8076 /* "null" */, uint32(4)) break } case JSON_TRUE: { - jsonAppendRaw(tls, pOut, ts+8879 /* "true" */, uint32(4)) + jsonAppendRaw(tls, pOut, ts+8878 /* "true" */, uint32(4)) break } case JSON_FALSE: { - jsonAppendRaw(tls, pOut, ts+8884 /* "false" */, uint32(5)) + jsonAppendRaw(tls, pOut, ts+8883 /* "false" */, uint32(5)) break } @@ -150316,17 +151620,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+8077 /* "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+8879 /* "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+8884 /* "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))) @@ -150434,7 +151738,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+28900 /* "malformed JSON" */, -1) + Xsqlite3_result_error(tls, pCtx, ts+28899 /* "malformed JSON" */, -1) } } jsonParseReset(tls, pParse) @@ -150754,7 +152058,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+28915 /* "[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) @@ -150771,7 +152075,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+28919 /* "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. @@ -150838,7 +152142,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+28945, /* "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) @@ -150982,7 +152286,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+8077 /* "null" */, uint32(4)) + jsonAppendRaw(tls, bp /* &jx */, ts+8076 /* "null" */, uint32(4)) } } else if pNode != 0 { jsonReturn(tls, pNode, ctx, uintptr(0)) @@ -151110,14 +152414,14 @@ func jsonObjectFunc(tls *libc.TLS, ctx uintptr, argc int32, argv uintptr) { /* s if (argc & 1) != 0 { Xsqlite3_result_error(tls, ctx, - ts+28988 /* "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+29039 /* "json_object() la..." */, -1) + Xsqlite3_result_error(tls, ctx, ts+29038 /* "json_object() la..." */, -1) jsonReset(tls, bp /* &jx */) return } @@ -151225,7 +152529,7 @@ __1: if !((argc & 1) == 0) { goto __2 } - jsonWrongNumArgs(tls, ctx, ts+17338 /* "replace" */) + jsonWrongNumArgs(tls, ctx, ts+17337 /* "replace" */) return __2: ; @@ -151311,9 +152615,9 @@ __1: } jsonWrongNumArgs(tls, ctx, func() uintptr { if bIsSet != 0 { - return ts + 29073 /* "set" */ + return ts + 29072 /* "set" */ } - return ts + 29077 /* "insert" */ + return ts + 29076 /* "insert" */ }()) return __2: @@ -151461,7 +152765,7 @@ func jsonArrayCompute(tls *libc.TLS, ctx uintptr, isFinal int32) { /* sqlite3.c: (*JsonString)(unsafe.Pointer(pStr)).FnUsed-- } } else { - Xsqlite3_result_text(tls, ctx, ts+29084 /* "[]" */, 2, uintptr(0)) + Xsqlite3_result_text(tls, ctx, ts+29083 /* "[]" */, 2, uintptr(0)) } Xsqlite3_result_subtype(tls, ctx, uint32(JSON_SUBTYPE)) } @@ -151566,7 +152870,7 @@ func jsonObjectCompute(tls *libc.TLS, ctx uintptr, isFinal int32) { /* sqlite3.c (*JsonString)(unsafe.Pointer(pStr)).FnUsed-- } } else { - Xsqlite3_result_text(tls, ctx, ts+29087 /* "{}" */, 2, uintptr(0)) + Xsqlite3_result_text(tls, ctx, ts+29086 /* "{}" */, 2, uintptr(0)) } Xsqlite3_result_subtype(tls, ctx, uint32(JSON_SUBTYPE)) } @@ -151584,17 +152888,17 @@ func jsonObjectFinal(tls *libc.TLS, ctx uintptr) { /* sqlite3.c:191673:13: */ // The json_each virtual table // type JsonEachCursor1 = struct { - Fbase Sqlite3_vtab_cursor - FiRowid U32 - FiBegin U32 - Fi U32 - FiEnd U32 - FeType U8 - FbRecursive U8 - _ [6]byte - FzJson uintptr - FzRoot uintptr - FsParse JsonParse + Fbase Sqlite3_vtab_cursor + FiRowid U32 + FiBegin U32 + Fi U32 + FiEnd U32 + FeType U8 + FbRecursive U8 + F__ccgo_pad1 [6]byte + FzJson uintptr + FzRoot uintptr + FsParse JsonParse } /* sqlite3.c:191683:9 */ // *************************************************************************** @@ -151619,7 +152923,7 @@ func jsonEachConnect(tls *libc.TLS, db uintptr, pAux uintptr, argc int32, argv u _ = pAux rc = Xsqlite3_declare_vtab(tls, db, - ts+29090 /* "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) { @@ -151757,14 +153061,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+29173 /* "[%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+29178 /* ".%.*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)))) } } @@ -151857,9 +153161,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+29173 /* "[%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+29178 /* ".%.*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 */) @@ -151883,7 +153187,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 + 29184 /* "$" */ + zRoot = ts + 29183 /* "$" */ } Xsqlite3_result_text(tls, ctx, zRoot, -1, uintptr(0)) break @@ -152015,7 +153319,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+28900 /* "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 } @@ -152127,12 +153431,12 @@ func Xsqlite3Json1Init(tls *libc.TLS, db uintptr) int32 { /* sqlite3.c:192174:20 aFunc[i].FxFunc, uintptr(0), uintptr(0)) } for i = uint32(0); (uint64(i) < (uint64(unsafe.Sizeof(aAgg)) / uint64(unsafe.Sizeof(struct { - FzName uintptr - FnArg int32 - _ [4]byte - FxStep uintptr - FxFinal uintptr - FxValue uintptr + FzName uintptr + FnArg int32 + F__ccgo_pad1 [4]byte + FxStep uintptr + FxFinal uintptr + FxValue uintptr }{})))) && (rc == SQLITE_OK); i++ { rc = Xsqlite3_create_window_function(tls, db, aAgg[i].FzName, aAgg[i].FnArg, (SQLITE_SUBTYPE | enc), uintptr(0), @@ -152156,41 +153460,41 @@ var aFunc = [15]struct { Fflag int32 FxFunc uintptr }{ - {FzName: ts + 29186 /* "json" */, FnArg: 1, FxFunc: 0}, - {FzName: ts + 29191 /* "json_array" */, FnArg: -1, FxFunc: 0}, - {FzName: ts + 29202 /* "json_array_lengt..." */, FnArg: 1, FxFunc: 0}, - {FzName: ts + 29202 /* "json_array_lengt..." */, FnArg: 2, FxFunc: 0}, - {FzName: ts + 29220 /* "json_extract" */, FnArg: -1, FxFunc: 0}, - {FzName: ts + 29233 /* "json_insert" */, FnArg: -1, FxFunc: 0}, - {FzName: ts + 29245 /* "json_object" */, FnArg: -1, FxFunc: 0}, - {FzName: ts + 29257 /* "json_patch" */, FnArg: 2, FxFunc: 0}, - {FzName: ts + 29268 /* "json_quote" */, FnArg: 1, FxFunc: 0}, - {FzName: ts + 29279 /* "json_remove" */, FnArg: -1, FxFunc: 0}, - {FzName: ts + 29291 /* "json_replace" */, FnArg: -1, FxFunc: 0}, - {FzName: ts + 29304 /* "json_set" */, FnArg: -1, Fflag: 1, FxFunc: 0}, - {FzName: ts + 29313 /* "json_type" */, FnArg: 1, FxFunc: 0}, - {FzName: ts + 29313 /* "json_type" */, FnArg: 2, FxFunc: 0}, - {FzName: ts + 29323 /* "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 - FnArg int32 - _ [4]byte - FxStep uintptr - FxFinal uintptr - FxValue uintptr + FzName uintptr + FnArg int32 + F__ccgo_pad1 [4]byte + FxStep uintptr + FxFinal uintptr + FxValue uintptr }{ - {FzName: ts + 29334 /* "json_group_array" */, FnArg: 1, + {FzName: ts + 29333 /* "json_group_array" */, FnArg: 1, FxStep: 0, FxFinal: 0, FxValue: 0}, - {FzName: ts + 29351 /* "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 + 29369 /* "json_each" */, FpModule: 0}, - {FzName: ts + 29379 /* "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 @@ -152212,19 +153516,19 @@ type Rtree1 = struct { FinWrTrans U8 FnAux U8 FnAuxNotNull U8 - _ [1]byte + F__ccgo_pad1 [1]byte FiDepth int32 FzDb uintptr FzName uintptr FnBusy U32 - _ [4]byte + F__ccgo_pad2 [4]byte FnRowEst I64 FnCursor U32 FnNodeRef U32 FzReadAuxSql uintptr FpDeleted uintptr FiReinsertHeight int32 - _ [4]byte + F__ccgo_pad3 [4]byte FpNodeBlob uintptr FpWriteNode uintptr FpDeleteNode uintptr @@ -152253,21 +153557,21 @@ type RtreeCursor1 = struct { FatEOF U8 FbPoint U8 FbAuxValid U8 - _ [1]byte + F__ccgo_pad1 [1]byte FiStrategy int32 FnConstraint int32 - _ [4]byte + F__ccgo_pad2 [4]byte FaConstraint uintptr FnPointAlloc int32 FnPoint int32 FmxLevel int32 - _ [4]byte + F__ccgo_pad3 [4]byte FaPoint uintptr FpReadAux uintptr FsPoint RtreeSearchPoint FaNode [5]uintptr FanQueue [41]U32 - _ [4]byte + F__ccgo_pad4 [4]byte } /* sqlite3.c:192363:9 */ type RtreeCursor = RtreeCursor1 /* sqlite3.c:192363:28 */ @@ -152296,13 +153600,13 @@ type RtreeConstraint1 = struct { type RtreeConstraint = RtreeConstraint1 /* sqlite3.c:192366:32 */ type RtreeMatchArg1 = struct { - FiSize U32 - _ [4]byte - Fcb RtreeGeomCallback - FnParam int32 - _ [4]byte - FapSqlParam uintptr - FaParam [1]RtreeDValue + FiSize U32 + F__ccgo_pad1 [4]byte + Fcb RtreeGeomCallback + FnParam int32 + F__ccgo_pad2 [4]byte + FapSqlParam uintptr + FaParam [1]RtreeDValue } /* sqlite3.c:192367:9 */ type RtreeMatchArg = RtreeMatchArg1 /* sqlite3.c:192367:30 */ @@ -152318,12 +153622,12 @@ type RtreeCoord1 = struct{ Ff RtreeValue } /* sqlite3.c:192365:9 */ type RtreeCoord = RtreeCoord1 /* sqlite3.c:192369:26 */ type RtreeSearchPoint1 = struct { - FrScore RtreeDValue - Fid Sqlite3_int64 - FiLevel U8 - FeWithin U8 - FiCell U8 - _ [5]byte + FrScore RtreeDValue + Fid Sqlite3_int64 + FiLevel U8 + FeWithin U8 + FiCell U8 + F__ccgo_pad1 [5]byte } /* sqlite3.c:192363:9 */ type RtreeSearchPoint = RtreeSearchPoint1 /* sqlite3.c:192370:33 */ @@ -152540,11 +153844,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+29389 /* "%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+29397 /* "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) } @@ -152789,7 +154093,7 @@ func rtreeDestroy(tls *libc.TLS, pVtab uintptr) int32 { /* sqlite3.c:193308:12: var rc int32 var zCreate uintptr = Xsqlite3_mprintf(tls, - ts+29402, /* "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)) @@ -152836,7 +154140,7 @@ func resetCursor(tls *libc.TLS, pCsr uintptr) { /* sqlite3.c:193357:13: */ var pInfo uintptr = (*RtreeConstraint)(unsafe.Pointer((*RtreeCursor)(unsafe.Pointer(pCsr)).FaConstraint + uintptr(i)*24)).FpInfo if pInfo != 0 { if (*Sqlite3_rtree_query_info)(unsafe.Pointer(pInfo)).FxDelUser != 0 { - (*(*func(*libc.TLS, uintptr))(unsafe.Pointer((pInfo + 32 /* &.xDelUser */))))(tls, (*Sqlite3_rtree_query_info)(unsafe.Pointer(pInfo)).FpUser) + (*struct{ f func(*libc.TLS, uintptr) })(unsafe.Pointer(&struct{ uintptr }{(*Sqlite3_rtree_query_info)(unsafe.Pointer(pInfo)).FxDelUser})).f(tls, (*Sqlite3_rtree_query_info)(unsafe.Pointer(pInfo)).FpUser) } Xsqlite3_free(tls, pInfo) } @@ -152972,7 +154276,9 @@ func rtreeCallbackConstraint(tls *libc.TLS, pConstraint uintptr, eInt int32, pCe } if (*RtreeConstraint)(unsafe.Pointer(pConstraint)).Fop == RTREE_MATCH { *(*int32)(unsafe.Pointer(bp + 88 /* eWithin */)) = 0 - rc = (*(*func(*libc.TLS, uintptr, int32, uintptr, uintptr) int32)(unsafe.Pointer((pConstraint + 8 /* &.u */ /* &.xGeom */))))(tls, pInfo, + rc = (*struct { + f func(*libc.TLS, uintptr, int32, uintptr, uintptr) int32 + })(unsafe.Pointer(&struct{ uintptr }{*(*uintptr)(unsafe.Pointer(pConstraint + 8 /* &.u */))})).f(tls, pInfo, nCoord, bp+8 /* &aCoord[0] */, bp+88 /* &eWithin */) if *(*int32)(unsafe.Pointer(bp + 88 /* eWithin */)) == 0 { *(*int32)(unsafe.Pointer(peWithin)) = NOT_WITHIN @@ -152983,7 +154289,9 @@ func rtreeCallbackConstraint(tls *libc.TLS, pConstraint uintptr, eInt int32, pCe (*Sqlite3_rtree_query_info)(unsafe.Pointer(pInfo)).FiLevel = (int32((*RtreeSearchPoint)(unsafe.Pointer(pSearch)).FiLevel) - 1) (*Sqlite3_rtree_query_info)(unsafe.Pointer(pInfo)).FrScore = libc.AssignPtrFloat64(pInfo+80 /* &.rParentScore */, (*RtreeSearchPoint)(unsafe.Pointer(pSearch)).FrScore) (*Sqlite3_rtree_query_info)(unsafe.Pointer(pInfo)).FeWithin = libc.AssignPtrInt32(pInfo+88 /* &.eParentWithin */, int32((*RtreeSearchPoint)(unsafe.Pointer(pSearch)).FeWithin)) - rc = (*(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer((pConstraint + 8 /* &.u */ /* &.xQueryFunc */))))(tls, pInfo) + rc = (*struct { + f func(*libc.TLS, uintptr) int32 + })(unsafe.Pointer(&struct{ uintptr }{*(*uintptr)(unsafe.Pointer(pConstraint + 8 /* &.u */))})).f(tls, pInfo) if (*Sqlite3_rtree_query_info)(unsafe.Pointer(pInfo)).FeWithin < *(*int32)(unsafe.Pointer(peWithin)) { *(*int32)(unsafe.Pointer(peWithin)) = (*Sqlite3_rtree_query_info)(unsafe.Pointer(pInfo)).FeWithin } @@ -153549,7 +154857,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+29484 /* "RtreeMatchArg" */) + pSrc = Xsqlite3_value_pointer(tls, pValue, ts+29483 /* "RtreeMatchArg" */) if pSrc == uintptr(0) { return SQLITE_ERROR } @@ -153813,7 +155121,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+952 /* "%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 } @@ -154369,7 +155677,9 @@ func updateMapping(tls *libc.TLS, pRtree uintptr, iRowid I64, pNode uintptr, iHe (*RtreeNode)(unsafe.Pointer(pChild)).FpParent = pNode } } - return (*(*func(*libc.TLS, uintptr, Sqlite3_int64, Sqlite3_int64) int32)(unsafe.Pointer(&xSetMapping)))(tls, pRtree, iRowid, (*RtreeNode)(unsafe.Pointer(pNode)).FiNode) + return (*struct { + f func(*libc.TLS, uintptr, Sqlite3_int64, Sqlite3_int64) int32 + })(unsafe.Pointer(&struct{ uintptr }{xSetMapping})).f(tls, pRtree, iRowid, (*RtreeNode)(unsafe.Pointer(pNode)).FiNode) } func sSplitNode(tls *libc.TLS, pRtree uintptr, pNode uintptr, pCell uintptr, iHeight int32) int32 { /* sqlite3.c:194817:12: */ @@ -155073,7 +156383,7 @@ func rtreeConstraintError(tls *libc.TLS, pRtree uintptr, iCol int32) int32 { /* var zSql uintptr var rc int32 - zSql = Xsqlite3_mprintf(tls, ts+29498 /* "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 { @@ -155085,12 +156395,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+29518 /* "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+29550 /* "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)) } } @@ -155358,7 +156668,7 @@ func rtreeRename(tls *libc.TLS, pVtab uintptr, zNewName uintptr) int32 { /* sqli var rc int32 = SQLITE_NOMEM var zSql uintptr = Xsqlite3_mprintf(tls, - ts+29587 /* "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)) @@ -155396,7 +156706,7 @@ func rtreeQueryStat1(tls *libc.TLS, db uintptr, pRtree uintptr) int32 { /* sqlit bp := tls.Alloc(24) defer tls.Free(24) - var zFmt uintptr = ts + 29732 /* "SELECT stat FROM..." */ + var zFmt uintptr = ts + 29731 /* "SELECT stat FROM..." */ var zSql uintptr // var p uintptr at bp+16, 8 @@ -155404,7 +156714,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+13347 /* "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 { @@ -155457,7 +156767,7 @@ func rtreeShadowName(tls *libc.TLS, zName uintptr) int32 { /* sqlite3.c:195715:1 } var azName1 = [3]uintptr{ - ts + 29788 /* "node" */, ts + 6993 /* "parent" */, ts + 10298, /* "rowid" */ + ts + 29787 /* "node" */, ts + 6992 /* "parent" */, ts + 10297, /* "rowid" */ } /* sqlite3.c:195716:21 */ var rtreeModule = Sqlite3_module{ @@ -155501,19 +156811,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+29793, /* "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+29855 /* ",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+29860, /* ");CREATE TABLE \"..." */ + ts+29859, /* ");CREATE TABLE \"..." */ libc.VaList(bp+24, zDb, zPrefix)) Xsqlite3_str_appendf(tls, p, - ts+29924, /* "CREATE TABLE \"%w..." */ + ts+29923, /* "CREATE TABLE \"%w..." */ libc.VaList(bp+40, zDb, zPrefix)) Xsqlite3_str_appendf(tls, p, - ts+29994, /* "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) { @@ -155544,7 +156854,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 + 30043 /* "INSERT INTO\"%w\"...." */ + zFormat = ts + 30042 /* "INSERT INTO\"%w\"...." */ } zSql = Xsqlite3_mprintf(tls, zFormat, libc.VaList(bp+80, zDb, zPrefix)) if zSql != 0 { @@ -155556,7 +156866,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+30151, /* "SELECT * FROM \"%..." */ + ts+30150, /* "SELECT * FROM \"%..." */ libc.VaList(bp+96, zDb, zPrefix)) if (*Rtree)(unsafe.Pointer(pRtree)).FzReadAuxSql == uintptr(0) { rc = SQLITE_NOMEM @@ -155564,18 +156874,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+30196 /* "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+14856 /* "," */, 1) + Xsqlite3_str_append(tls, p, ts+14855 /* "," */, 1) } if ii < int32((*Rtree)(unsafe.Pointer(pRtree)).FnAuxNotNull) { - Xsqlite3_str_appendf(tls, p, ts+30223 /* "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+30245 /* "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+30253 /* " 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 @@ -155591,18 +156901,18 @@ func rtreeSqlInit(tls *libc.TLS, pRtree uintptr, db uintptr, zDb uintptr, zPrefi var azSql = [8]uintptr{ // Write the xxx_node table - ts + 30269, /* "INSERT OR REPLAC..." */ - ts + 30322, /* "DELETE FROM '%q'..." */ + ts + 30268, /* "INSERT OR REPLAC..." */ + ts + 30321, /* "DELETE FROM '%q'..." */ // Read and write the xxx_rowid table - ts + 30367, /* "SELECT nodeno FR..." */ - ts + 30419, /* "INSERT OR REPLAC..." */ - ts + 30473, /* "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 + 30518, /* "SELECT parentnod..." */ - ts + 30576, /* "INSERT OR REPLAC..." */ - ts + 30631, /* "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 @@ -155649,7 +156959,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+30678 /* "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) @@ -155657,19 +156967,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+952 /* "%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+30698, /* "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+952 /* "%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+30755, /* "undersize RTree ..." */ + *(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3_mprintf(tls, ts+30754, /* "undersize RTree ..." */ libc.VaList(bp+40, (*Rtree)(unsafe.Pointer(pRtree)).FzName)) } } @@ -155720,17 +157030,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 + 30790, /* "Wrong number of ..." */ // 1 - ts + 30833, /* "Too few columns ..." */ // 2 - ts + 30868, /* "Too many columns..." */ // 3 - ts + 30904, /* "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+952 /* "%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: ; @@ -155760,7 +157070,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+30941, /* "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: @@ -155772,7 +157082,7 @@ __3: goto __6 } (*Rtree)(unsafe.Pointer(pRtree)).FnAux++ - Xsqlite3_str_appendf(tls, pSql, ts+30965 /* ",%.*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) { @@ -155795,7 +157105,7 @@ __4: goto __5 __5: ; - Xsqlite3_str_appendf(tls, pSql, ts+30971 /* ");" */, 0) + Xsqlite3_str_appendf(tls, pSql, ts+30970 /* ");" */, 0) zSql = Xsqlite3_str_finish(tls, pSql) if !(!(zSql != 0)) { goto __10 @@ -155806,14 +157116,14 @@ __10: if !(ii < argc) { goto __12 } - *(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3_mprintf(tls, ts+952 /* "%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+952 /* "%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: @@ -155856,7 +157166,7 @@ __17: if !(iErr != 0) { goto __22 } - *(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3_mprintf(tls, ts+952 /* "%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: ; @@ -155874,7 +157184,7 @@ __23: if !(rc != 0) { goto __24 } - *(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3_mprintf(tls, ts+952 /* "%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: ; @@ -155894,7 +157204,7 @@ __25: return rc } -var azFormat = [2]uintptr{ts + 30974 /* ",%.*s REAL" */, ts + 30985 /* ",%.*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. @@ -155949,13 +157259,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+12927 /* " " */, 1) + Xsqlite3_str_append(tls, pOut, ts+12926 /* " " */, 1) } - Xsqlite3_str_appendf(tls, pOut, ts+30995 /* "{%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+31001 /* " %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+31005 /* "}" */, 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}))) @@ -155974,7 +157284,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+31007 /* "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 { @@ -155998,10 +157308,10 @@ type RtreeCheck1 = struct { FnLeaf int32 FnNonLeaf int32 Frc int32 - _ [4]byte + F__ccgo_pad1 [4]byte FzReport uintptr FnErr int32 - _ [4]byte + F__ccgo_pad2 [4]byte } /* sqlite3.c:196179:9 */ // Context object passed between the various routines that make up the @@ -156032,7 +157342,7 @@ func rtreeCheckPrepare(tls *libc.TLS, pCheck uintptr, zFmt uintptr, va uintptr) var z uintptr *(*uintptr)(unsafe.Pointer(bp /* pRet */)) = uintptr(0) - ap = va + (ap) = va z = Xsqlite3_vmprintf(tls, zFmt, ap) if (*RtreeCheck)(unsafe.Pointer(pCheck)).Frc == SQLITE_OK { @@ -156057,18 +157367,18 @@ func rtreeCheckAppendMsg(tls *libc.TLS, pCheck uintptr, zFmt uintptr, va uintptr var ap Va_list _ = ap - ap = va + (ap) = va if ((*RtreeCheck)(unsafe.Pointer(pCheck)).Frc == SQLITE_OK) && ((*RtreeCheck)(unsafe.Pointer(pCheck)).FnErr < RTREE_CHECK_MAX_ERROR) { var z uintptr = Xsqlite3_vmprintf(tls, zFmt, ap) if z == uintptr(0) { (*RtreeCheck)(unsafe.Pointer(pCheck)).Frc = SQLITE_NOMEM } else { - (*RtreeCheck)(unsafe.Pointer(pCheck)).FzReport = Xsqlite3_mprintf(tls, ts+31040, /* "%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 + 5945 /* "\n" */ + return ts + 5944 /* "\n" */ } - return ts + 916 /* "" */ + return ts + 915 /* "" */ }(), z)) if (*RtreeCheck)(unsafe.Pointer(pCheck)).FzReport == uintptr(0) { (*RtreeCheck)(unsafe.Pointer(pCheck)).Frc = SQLITE_NOMEM @@ -156099,7 +157409,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+31047, /* "SELECT data FROM..." */ + ts+31046, /* "SELECT data FROM..." */ libc.VaList(bp, (*RtreeCheck)(unsafe.Pointer(pCheck)).FzDb, (*RtreeCheck)(unsafe.Pointer(pCheck)).FzTab)) } @@ -156118,7 +157428,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+31092 /* "Node %lld missin..." */, libc.VaList(bp+16, iNode)) + rtreeCheckAppendMsg(tls, pCheck, ts+31091 /* "Node %lld missin..." */, libc.VaList(bp+16, iNode)) } } @@ -156142,8 +157452,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 + 31124, /* "SELECT parentnod..." */ - ts + 31178, /* "SELECT nodeno FR..." */ + ts + 31123, /* "SELECT parentnod..." */ + ts + 31177, /* "SELECT nodeno FR..." */ } if *(*uintptr)(unsafe.Pointer((pCheck + 40 /* &.aCheckMapping */) + uintptr(bLeaf)*8)) == uintptr(0) { @@ -156158,23 +157468,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+31226, /* "Mapping (%lld ->..." */ + rtreeCheckAppendMsg(tls, pCheck, ts+31225, /* "Mapping (%lld ->..." */ libc.VaList(bp+16, iKey, iVal, func() uintptr { if bLeaf != 0 { - return ts + 31271 /* "%_rowid" */ + return ts + 31270 /* "%_rowid" */ } - return ts + 31279 /* "%_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+31288, /* "Found (%lld -> %..." */ + ts+31287, /* "Found (%lld -> %..." */ libc.VaList(bp+40, iKey, ii, func() uintptr { if bLeaf != 0 { - return ts + 31271 /* "%_rowid" */ + return ts + 31270 /* "%_rowid" */ } - return ts + 31279 /* "%_parent" */ + return ts + 31278 /* "%_parent" */ }(), iKey, iVal)) } } @@ -156217,7 +157527,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+31346 /* "Dimension %d of ..." */, libc.VaList(bp, i, iCell, iNode)) + ts+31345 /* "Dimension %d of ..." */, libc.VaList(bp, i, iCell, iNode)) } if pParent != 0 { @@ -156237,7 +157547,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+31394 /* "Dimension %d of ..." */, libc.VaList(bp+24, i, iCell, iNode)) + ts+31393 /* "Dimension %d of ..." */, libc.VaList(bp+24, i, iCell, iNode)) } } } @@ -156260,14 +157570,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+31461 /* "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+31495 /* "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 } @@ -156275,7 +157585,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+31525, /* "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++ { @@ -156309,14 +157619,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+31580, /* "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+31611 /* "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) @@ -156346,13 +157656,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+16526 /* "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+31678 /* "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) @@ -156361,12 +157671,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+29498 /* "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+31706 /* "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)) } @@ -156381,8 +157691,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+31737 /* "_rowid" */, int64((*RtreeCheck)(unsafe.Pointer(bp+32 /* &check */)).FnLeaf)) - rtreeCheckCount(tls, bp+32 /* &check */, ts+31744 /* "_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 @@ -156392,7 +157702,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+31752 /* "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 } @@ -156438,7 +157748,7 @@ func rtreecheck(tls *libc.TLS, ctx uintptr, nArg int32, apArg uintptr) { /* sqli if (nArg != 1) && (nArg != 2) { Xsqlite3_result_error(tls, ctx, - ts+31756 /* "wrong number of ..." */, -1) + ts+31755 /* "wrong number of ..." */, -1) } else { var rc int32 *(*uintptr)(unsafe.Pointer(bp /* zReport */)) = uintptr(0) @@ -156446,7 +157756,7 @@ func rtreecheck(tls *libc.TLS, ctx uintptr, nArg int32, apArg uintptr) { /* sqli var zTab uintptr if nArg == 1 { zTab = zDb - zDb = ts + 8567 /* "main" */ + zDb = ts + 8566 /* "main" */ } else { zTab = Xsqlite3_value_text(tls, *(*uintptr)(unsafe.Pointer(apArg + 1*8))) } @@ -156456,7 +157766,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 + 5229 /* "ok" */ + return ts + 5228 /* "ok" */ }(), -1, libc.UintptrFromInt32(-1)) } else { Xsqlite3_result_error_code(tls, ctx, rc) @@ -156550,12 +157860,12 @@ type GeoPoly = GeoPoly1 /* sqlite3.c:196759:24 */ // State of a parse of a GeoJSON input. type GeoParse1 = struct { - Fz uintptr - FnVertex int32 - FnAlloc int32 - FnErr int32 - _ [4]byte - Fa uintptr + Fz uintptr + FnVertex int32 + FnAlloc int32 + FnErr int32 + F__ccgo_pad1 [4]byte + Fa uintptr } /* sqlite3.c:196782:9 */ // The size of a memory allocation needed for a GeoPoly object sufficient @@ -156893,11 +158203,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+31807 /* "[" */, 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+31809 /* "[%!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+31820 /* "[%!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) } @@ -156921,19 +158231,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+31831 /* "" */, 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) } @@ -157453,25 +158763,25 @@ func geopolyWithinFunc(tls *libc.TLS, context uintptr, argc int32, argv uintptr) // Objects used by the overlap algorihm. type GeoEvent1 = struct { - Fx float64 - FeType int32 - _ [4]byte - FpSeg uintptr - FpNext uintptr + Fx float64 + FeType int32 + F__ccgo_pad1 [4]byte + FpSeg uintptr + FpNext uintptr } /* sqlite3.c:197516:9 */ // Objects used by the overlap algorihm. type GeoEvent = GeoEvent1 /* sqlite3.c:197516:25 */ type GeoSegment1 = struct { - FC float64 - FB float64 - Fy float64 - Fy0 float32 - Fside uint8 - _ [3]byte - Fidx uint32 - _ [4]byte - FpNext uintptr + FC float64 + FB float64 + Fy float64 + Fy0 float32 + Fside uint8 + F__ccgo_pad1 [3]byte + Fidx uint32 + F__ccgo_pad2 [4]byte + FpNext uintptr } /* sqlite3.c:197516:9 */ type GeoSegment = GeoSegment1 /* sqlite3.c:197517:27 */ @@ -157949,7 +159259,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+31882 /* "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 @@ -157958,7 +159268,7 @@ __2: goto __4 } (*Rtree)(unsafe.Pointer(pRtree)).FnAux++ - Xsqlite3_str_appendf(tls, pSql, ts+31904 /* ",%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++ @@ -157966,7 +159276,7 @@ __3: goto __4 __4: ; - Xsqlite3_str_appendf(tls, pSql, ts+30971 /* ");" */, 0) + Xsqlite3_str_appendf(tls, pSql, ts+30970 /* ");" */, 0) zSql = Xsqlite3_str_finish(tls, pSql) if !(!(zSql != 0)) { goto __5 @@ -157977,7 +159287,7 @@ __5: if !(SQLITE_OK != (libc.AssignInt32(&rc, Xsqlite3_declare_vtab(tls, db, zSql)))) { goto __7 } - *(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3_mprintf(tls, ts+952 /* "%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: @@ -158003,7 +159313,7 @@ __9: if !(rc != 0) { goto __10 } - *(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3_mprintf(tls, ts+952 /* "%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: ; @@ -158236,7 +159546,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 + 10298 /* "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 @@ -158246,7 +159556,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 + 31908 /* "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 @@ -158254,7 +159564,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 + 31914 /* "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 @@ -158392,7 +159702,7 @@ __1: if !(*(*int32)(unsafe.Pointer(bp + 48 /* rc */)) == SQLITE_ERROR) { goto __4 } - (*Sqlite3_vtab)(unsafe.Pointer(pVtab)).FzErrMsg = Xsqlite3_mprintf(tls, ts+31923 /* "_shape does not ..." */, 0) + (*Sqlite3_vtab)(unsafe.Pointer(pVtab)).FzErrMsg = Xsqlite3_mprintf(tls, ts+31922 /* "_shape does not ..." */, 0) __4: ; goto geopoly_update_end @@ -158537,14 +159847,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+31963 /* "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+31979 /* "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})) @@ -158583,11 +159893,11 @@ func sqlite3_geopoly_init(tls *libc.TLS, db uintptr) int32 { /* sqlite3.c:198409 var rc int32 = SQLITE_OK var i int32 for i = 0; (uint64(i) < (uint64(unsafe.Sizeof(aFunc1)) / uint64(unsafe.Sizeof(struct { - FxFunc uintptr - FnArg int8 - FbPure uint8 - _ [6]byte - FzName uintptr + FxFunc uintptr + FnArg int8 + FbPure uint8 + F__ccgo_pad1 [6]byte + FzName uintptr }{})))) && (rc == SQLITE_OK); i++ { var enc int32 if aFunc1[i].FbPure != 0 { @@ -158609,37 +159919,37 @@ 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+31994 /* "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 } var aFunc1 = [12]struct { - FxFunc uintptr - FnArg int8 - FbPure uint8 - _ [6]byte - FzName uintptr + FxFunc uintptr + FnArg int8 + FbPure uint8 + F__ccgo_pad1 [6]byte + FzName uintptr }{ - {FxFunc: 0, FnArg: int8(1), FbPure: uint8(1), FzName: ts + 32002 /* "geopoly_area" */}, - {FxFunc: 0, FnArg: int8(1), FbPure: uint8(1), FzName: ts + 32015 /* "geopoly_blob" */}, - {FxFunc: 0, FnArg: int8(1), FbPure: uint8(1), FzName: ts + 32028 /* "geopoly_json" */}, - {FxFunc: 0, FnArg: int8(-1), FbPure: uint8(1), FzName: ts + 32041 /* "geopoly_svg" */}, - {FxFunc: 0, FnArg: int8(2), FbPure: uint8(1), FzName: ts + 31979 /* "geopoly_within" */}, - {FxFunc: 0, FnArg: int8(3), FbPure: uint8(1), FzName: ts + 32053 /* "geopoly_contains..." */}, - {FxFunc: 0, FnArg: int8(2), FbPure: uint8(1), FzName: ts + 31963 /* "geopoly_overlap" */}, - {FxFunc: 0, FnArg: int8(1), FzName: ts + 32076 /* "geopoly_debug" */}, - {FxFunc: 0, FnArg: int8(1), FbPure: uint8(1), FzName: ts + 32090 /* "geopoly_bbox" */}, - {FxFunc: 0, FnArg: int8(7), FbPure: uint8(1), FzName: ts + 32103 /* "geopoly_xform" */}, - {FxFunc: 0, FnArg: int8(4), FbPure: uint8(1), FzName: ts + 32117 /* "geopoly_regular" */}, - {FxFunc: 0, FnArg: int8(1), FbPure: uint8(1), FzName: ts + 32133 /* "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 + 32145 /* "geopoly_group_bb..." */}, + {FxStep: 0, FxFinal: 0, FzName: ts + 32144 /* "geopoly_group_bb..." */}, } /* sqlite3.c:198434:5 */ //************* End of geopoly.c ******************************************** @@ -158652,26 +159962,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+32164 /* "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+32174 /* "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+32185 /* "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+31908 /* "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+32196 /* "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) @@ -158688,7 +159998,7 @@ func Xsqlite3RtreeInit(tls *libc.TLS, db uintptr) int32 { /* sqlite3.c:198469:20 func rtreeFreeCallback(tls *libc.TLS, p uintptr) { /* sqlite3.c:198508:13: */ var pInfo uintptr = p if (*RtreeGeomCallback)(unsafe.Pointer(pInfo)).FxDestructor != 0 { - (*(*func(*libc.TLS, uintptr))(unsafe.Pointer((pInfo + 16 /* &.xDestructor */))))(tls, (*RtreeGeomCallback)(unsafe.Pointer(pInfo)).FpContext) + (*struct{ f func(*libc.TLS, uintptr) })(unsafe.Pointer(&struct{ uintptr }{(*RtreeGeomCallback)(unsafe.Pointer(pInfo)).FxDestructor})).f(tls, (*RtreeGeomCallback)(unsafe.Pointer(pInfo)).FpContext) } Xsqlite3_free(tls, p) } @@ -158743,7 +160053,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+29484 /* "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}))) } } } @@ -159188,16 +160498,16 @@ func Xsqlite3_rtree_query_callback(tls *libc.TLS, db uintptr, zQueryFunc uintptr type sqlite3rbu = struct { FeStage int32 - _ [4]byte + F__ccgo_pad1 [4]byte FdbMain uintptr FdbRbu uintptr FzTarget uintptr FzRbu uintptr FzState uintptr FzStateDb [5]int8 - _ [3]byte + F__ccgo_pad2 [3]byte Frc int32 - _ [4]byte + F__ccgo_pad3 [4]byte FzErrmsg uintptr FnStep int32 FnProgress int32 @@ -159205,7 +160515,7 @@ type sqlite3rbu = struct { FzVfsName uintptr FpTargetFd uintptr FnPagePerSector int32 - _ [4]byte + F__ccgo_pad4 [4]byte FiOalSz I64 FnPhaseOneStep I64 FiMaxFrame U32 @@ -159214,13 +160524,13 @@ type sqlite3rbu = struct { FnFrameAlloc int32 FaFrame uintptr Fpgsz int32 - _ [4]byte + F__ccgo_pad5 [4]byte FaBuf uintptr FiWalCksum I64 FszTemp I64 FszTempLimit I64 FnRbu int32 - _ [4]byte + F__ccgo_pad6 [4]byte FpRbuFd uintptr } /* sqlite3.c:199829:9 */ @@ -159746,60 +161056,60 @@ type RbuFrame1 = struct { type RbuFrame = RbuFrame1 /* sqlite3.c:200253:25 */ type RbuObjIter1 = struct { - FpTblIter uintptr - FpIdxIter uintptr - FnTblCol int32 - _ [4]byte - FazTblCol uintptr - FazTblType uintptr - FaiSrcOrder uintptr - FabTblPk uintptr - FabNotNull uintptr - FabIndexed uintptr - FeType int32 - FbCleanup int32 - FzTbl uintptr - FzDataTbl uintptr - FzIdx uintptr - FiTnum int32 - FiPkTnum int32 - FbUnique int32 - FnIndex int32 - FnCol int32 - _ [4]byte - FpSelect uintptr - FpInsert uintptr - FpDelete uintptr - FpTmpInsert uintptr - FnIdxCol int32 - _ [4]byte - FaIdxCol uintptr - FzIdxSql uintptr - FpRbuUpdate uintptr + FpTblIter uintptr + FpIdxIter uintptr + FnTblCol int32 + F__ccgo_pad1 [4]byte + FazTblCol uintptr + FazTblType uintptr + FaiSrcOrder uintptr + FabTblPk uintptr + FabNotNull uintptr + FabIndexed uintptr + FeType int32 + FbCleanup int32 + FzTbl uintptr + FzDataTbl uintptr + FzIdx uintptr + FiTnum int32 + FiPkTnum int32 + FbUnique int32 + FnIndex int32 + FnCol int32 + F__ccgo_pad2 [4]byte + FpSelect uintptr + FpInsert uintptr + FpDelete uintptr + FpTmpInsert uintptr + FnIdxCol int32 + F__ccgo_pad3 [4]byte + FaIdxCol uintptr + FzIdxSql uintptr + FpRbuUpdate uintptr } /* sqlite3.c:199829:9 */ type RbuObjIter = RbuObjIter1 /* sqlite3.c:200254:27 */ type RbuState1 = struct { FeStage int32 - _ [4]byte + F__ccgo_pad1 [4]byte FzTbl uintptr FzDataTbl uintptr FzIdx uintptr FiWalCksum I64 FnRow int32 - _ [4]byte + F__ccgo_pad2 [4]byte FnProgress I64 FiCookie U32 - _ [4]byte + F__ccgo_pad3 [4]byte FiOalSz I64 FnPhaseOneStep I64 } /* sqlite3.c:200255:9 */ type RbuState = RbuState1 /* sqlite3.c:200255:25 */ type RbuSpan1 = struct { - FzSpan uintptr - FnSpan int32 - _ [4]byte + FzSpan uintptr + FnSpan int32 + F__ccgo_pad1 [4]byte } /* sqlite3.c:199829:9 */ type RbuSpan = RbuSpan1 /* sqlite3.c:200256:24 */ @@ -159823,7 +161133,7 @@ type rbu_file = struct { FiCookie U32 FiWriteVer U8 FbNolock U8 - _ [2]byte + F__ccgo_pad1 [2]byte FnShm int32 FapShm uintptr FzDel uintptr @@ -160034,7 +161344,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+32206 /* "corrupt fossil d..." */, -1) + Xsqlite3_result_error(tls, context, ts+32205 /* "corrupt fossil d..." */, -1) return } @@ -160045,7 +161355,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+32206 /* "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}))) } @@ -160066,7 +161376,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+952 /* "%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 @@ -160084,7 +161394,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+952 /* "%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 } @@ -160188,7 +161498,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+32227 /* "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 { @@ -160272,7 +161582,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+29397 /* "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++ { } @@ -160300,17 +161610,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+32398 /* "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 + 32548 /* "AND rootpage!=0 ..." */ + return ts + 32547 /* "AND rootpage!=0 ..." */ } - return ts + 916 /* "" */ + return ts + 915 /* "" */ }()))) if rc == SQLITE_OK { rc = prepareAndCollectError(tls, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbMain, (pIter + 8 /* &.pIdxIter */), (p + 64 /* &.zErrmsg */), - ts+32589 /* "SELECT name, roo..." */) + ts+32588 /* "SELECT name, roo..." */) } (*RbuObjIter)(unsafe.Pointer(pIter)).FbCleanup = 1 @@ -160329,7 +161639,7 @@ func rbuMPrintf(tls *libc.TLS, p uintptr, zFmt uintptr, va uintptr) uintptr { /* var zSql uintptr = uintptr(0) var ap Va_list _ = ap - ap = va + (ap) = va zSql = Xsqlite3_vmprintf(tls, zFmt, ap) if (*Sqlite3rbu)(unsafe.Pointer(p)).Frc == SQLITE_OK { if zSql == uintptr(0) { @@ -160355,7 +161665,7 @@ func rbuMPrintfExec(tls *libc.TLS, p uintptr, db uintptr, zFmt uintptr, va uintp var ap Va_list _ = ap var zSql uintptr - ap = va + (ap) = va zSql = Xsqlite3_vmprintf(tls, zFmt, ap) if (*Sqlite3rbu)(unsafe.Pointer(p)).Frc == SQLITE_OK { if zSql == uintptr(0) { @@ -160448,7 +161758,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+952 /* "%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))) } } @@ -160511,7 +161821,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+32714 /* "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 } @@ -160529,7 +161839,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+32795 /* "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 } @@ -160547,7 +161857,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+32816 /* "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 } @@ -160571,7 +161881,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+32867 /* "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 } @@ -160606,6 +161916,7 @@ __15: goto __14 goto __16 __16: + } // This is a helper function for rbuObjIterCacheTableInfo(). It populates @@ -160620,7 +161931,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+32888 /* "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 @@ -160635,7 +161946,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+32916 /* "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 { @@ -160685,7 +161996,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+21588 /* "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 @@ -160698,18 +162009,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+32945 /* "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+32964 /* "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+32969 /* "rbu_rowid" */, zName) { + } else if 0 == Xsqlite3_stricmp(tls, ts+32968 /* "rbu_rowid" */, zName) { bRbuRowid = 1 } } @@ -160721,12 +162032,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+32979 /* "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 + 33008 /* "may not have" */ + return ts + 33007 /* "may not have" */ } - return ts + 33021 /* "requires" */ + return ts + 33020 /* "requires" */ }())) } @@ -160735,7 +162046,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+33030 /* "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) @@ -160749,7 +162060,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+33052, /* "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) @@ -160795,12 +162106,12 @@ func rbuObjIterGetCollist(tls *libc.TLS, p uintptr, pIter uintptr) uintptr { /* defer tls.Free(24) var zList uintptr = uintptr(0) - var zSep uintptr = ts + 916 /* "" */ + 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+33079 /* "%z%s\"%w\"" */, libc.VaList(bp, zList, zSep, z)) - zSep = ts + 16637 /* ", " */ + zList = rbuMPrintf(tls, p, ts+33078 /* "%z%s\"%w\"" */, libc.VaList(bp, zList, zSep, z)) + zSep = ts + 16636 /* ", " */ } return zList } @@ -160815,13 +162126,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 + 916 /* "" */ + 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+33088 /* "%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 } @@ -160860,25 +162171,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+33101 /* "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+33133 /* " 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+916 /* "" */, ts+16637 /* ", " */, ts+33156 /* " DESC" */) - var zSelect uintptr = rbuObjIterGetPkList(tls, p, pIter, ts+33162 /* "quote(" */, ts+33169 /* "||','||" */, ts+6888 /* ")" */) - var zList uintptr = rbuObjIterGetPkList(tls, p, pIter, ts+916 /* "" */, ts+16637 /* ", " */, ts+916 /* "" */) + 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+33177, /* "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+33219 /* " 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 */))) } @@ -160936,12 +162247,12 @@ func XrbuVacuumIndexStart(tls *libc.TLS, p uintptr, pIter uintptr) uintptr { /* zVector = uintptr(0) zRet = uintptr(0) bFailed = 0 - zSep = ts + 916 /* "" */ + 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+32916 /* "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 @@ -160978,7 +162289,7 @@ __10: zCol = *(*uintptr)(unsafe.Pointer((*RbuObjIter)(unsafe.Pointer(pIter)).FazTblCol + uintptr(i)*8)) goto __7 __6: - zCol = ts + 33239 /* "_rowid_" */ + zCol = ts + 33238 /* "_rowid_" */ __7: ; goto __5 @@ -160987,13 +162298,13 @@ __4: __5: ; - zLhs = rbuMPrintf(tls, p, ts+33247, /* "%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+33268, /* "%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+33304, /* "%z%s quote(\"rbu_..." */ + zSelect = rbuMPrintf(tls, p, ts+33303, /* "%z%s quote(\"rbu_..." */ libc.VaList(bp+80, zSelect, zSep, iCol, zCol)) - zSep = ts + 16637 /* ", " */ + zSep = ts + 16636 /* ", " */ iCol++ goto __1 __2: @@ -161012,12 +162323,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+33331, /* "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 + 916 /* "" */ + zSep = ts + 915 /* "" */ iCol = 0 __14: if !(iCol < (*RbuObjIter)(unsafe.Pointer(pIter)).FnCol) { @@ -161039,8 +162350,8 @@ __19: ; __18: ; - zVector = rbuMPrintf(tls, p, ts+33379 /* "%z%s%s" */, libc.VaList(bp+136, zVector, zSep, zQuoted)) - zSep = ts + 16637 /* ", " */ + zVector = rbuMPrintf(tls, p, ts+33378 /* "%z%s%s" */, libc.VaList(bp+136, zVector, zSep, zQuoted)) + zSep = ts + 16636 /* ", " */ goto __15 __15: iCol++ @@ -161052,7 +162363,7 @@ __16: if !(!(bFailed != 0)) { goto __20 } - zRet = rbuMPrintf(tls, p, ts+33386 /* "(%s) > (%s)" */, libc.VaList(bp+160, zLhs, zVector)) + zRet = rbuMPrintf(tls, p, ts+33385 /* "(%s) > (%s)" */, libc.VaList(bp+160, zLhs, zVector)) __20: ; __13: @@ -161102,14 +162413,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 + 916 /* "" */ // Set to ", " later on - var zAnd uintptr = ts + 916 /* "" */ // 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+32916 /* "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 */)))) { @@ -161121,9 +162432,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+33398 /* "%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 + 916 /* "" */ + zType = ts + 915 /* "" */ } else { if iCid < 0 { // An integer primary key. If the table has an explicit IPK, use @@ -161135,37 +162446,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 + 33239 /* "_rowid_" */ + zCol = ts + 33238 /* "_rowid_" */ } else { - zCol = ts + 32969 /* "rbu_rowid" */ + zCol = ts + 32968 /* "rbu_rowid" */ } - zType = ts + 14703 /* "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+33420 /* "%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 + 33156 /* " DESC" */ + return ts + 33155 /* " DESC" */ } - return ts + 916 /* "" */ + return ts + 915 /* "" */ }() - zImpPK = Xsqlite3_mprintf(tls, ts+33440, /* "%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+33461, /* "%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+33494 /* "%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 + 16637 /* ", " */ - zAnd = ts + 24074 /* " AND " */ + zCom = ts + 16636 /* ", " */ + zAnd = ts + 24073 /* " AND " */ nBind++ } @@ -161208,16 +162519,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 + 916 /* "" */ + 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+33518 /* "%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+33530 /* "%z%sNULL" */, libc.VaList(bp+32, zList, zS)) + zList = Xsqlite3_mprintf(tls, ts+33529 /* "%z%sNULL" */, libc.VaList(bp+32, zList, zS)) } - zS = ts + 16637 /* ", " */ + zS = ts + 16636 /* ", " */ if zList == uintptr(0) { (*Sqlite3rbu)(unsafe.Pointer(p)).Frc = SQLITE_NOMEM break @@ -161226,7 +162537,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+33539 /* "%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 @@ -161246,27 +162557,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+33554 /* "_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 + 916 /* "" */ + 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+33568 /* "%z%sc%d=?%d" */, libc.VaList(bp+8, zList, zSep, i, (i+1))) - zSep = ts + 24074 /* " 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+33580 /* "_rowid_ = (SELEC..." */, libc.VaList(bp+40, zList)) + ts+33579 /* "_rowid_ = (SELEC..." */, libc.VaList(bp+40, zList)) } else { - var zSep uintptr = ts + 916 /* "" */ + 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+33630 /* "%z%s\"%w\"=?%d" */, libc.VaList(bp+48, zList, zSep, zCol, (i+1))) - zSep = ts + 24074 /* " AND " */ + zList = rbuMPrintf(tls, p, ts+33629 /* "%z%s\"%w\"=?%d" */, libc.VaList(bp+48, zList, zSep, zCol, (i+1))) + zSep = ts + 24073 /* " AND " */ } } } @@ -161280,7 +162591,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+33643 /* "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 @@ -161309,21 +162620,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 + 916 /* "" */ + 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+33630, /* "%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 + 16637 /* ", " */ + zSep = ts + 16636 /* ", " */ } else if int32(c) == 'd' { - zList = rbuMPrintf(tls, p, ts+33669, /* "%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 + 16637 /* ", " */ + zSep = ts + 16636 /* ", " */ } else if int32(c) == 'f' { - zList = rbuMPrintf(tls, p, ts+33699, /* "%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 + 16637 /* ", " */ + zSep = ts + 16636 /* ", " */ } } } @@ -161381,19 +162692,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 + 33736 /* "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+32888 /* "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+18105 /* "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+32916 /* "PRAGMA main.inde..." */, libc.VaList(bp+8, zIdx))) + Xsqlite3_mprintf(tls, ts+32915 /* "PRAGMA main.inde..." */, libc.VaList(bp+8, zIdx))) } break } @@ -161406,15 +162717,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 + 33156 /* " DESC" */ + zDesc = ts + 33155 /* " DESC" */ } else { - zDesc = ts + 916 /* "" */ + zDesc = ts + 915 /* "" */ } - z = rbuMPrintf(tls, p, ts+33749 /* "%z%s\"%w\"%s" */, libc.VaList(bp+16, z, zSep, zCol, zDesc)) - zSep = ts + 16637 /* ", " */ + 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+33760 /* "%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 @@ -161446,7 +162757,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 + 916 /* "" */ + 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 @@ -161454,7 +162765,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+33764 /* "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 */))) { @@ -161463,7 +162774,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+32916 /* "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 */))) @@ -161473,25 +162784,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+33814 /* "%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+33836 /* "%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 + 33156 /* " DESC" */ + return ts + 33155 /* " DESC" */ } - return ts + 916 /* "" */ + return ts + 915 /* "" */ }())) - zComma = ts + 16637 /* ", " */ + zComma = ts + 16636 /* ", " */ } } - zCols = rbuMPrintf(tls, p, ts+33846 /* "%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+8567 /* "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+33861, /* "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+8567 /* "main" */, 0, 0)) + Xsqlite3_test_control(tls, SQLITE_TESTCTRL_IMPOSTER, libc.VaList(bp+136, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbMain, ts+8566 /* "main" */, 0, 0)) } } @@ -161519,52 +162830,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 + 916 /* "" */ + 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+8567 /* "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 + 916 /* "" */ + 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+8567 /* "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 + 33923 /* "PRIMARY KEY " */ + zPk = ts + 33922 /* "PRIMARY KEY " */ } - zSql = rbuMPrintf(tls, p, ts+33936, /* "%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 + 33963 /* " NOT NULL" */ + return ts + 33962 /* " NOT NULL" */ } - return ts + 916 /* "" */ + return ts + 915 /* "" */ }())) - zComma = ts + 16637 /* ", " */ + 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+33973 /* "%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+8567 /* "main" */, 1, tnum)) - rbuMPrintfExec(tls, p, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbMain, ts+33980, /* "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 + 34012 /* " WITHOUT ROWID" */ + return ts + 34011 /* " WITHOUT ROWID" */ } - return ts + 916 /* "" */ + return ts + 915 /* "" */ }())) - Xsqlite3_test_control(tls, SQLITE_TESTCTRL_IMPOSTER, libc.VaList(bp+160, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbMain, ts+8567 /* "main" */, 0, 0)) + Xsqlite3_test_control(tls, SQLITE_TESTCTRL_IMPOSTER, libc.VaList(bp+160, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbMain, ts+8566 /* "main" */, 0, 0)) } } @@ -161587,7 +162898,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+34027, /* "INSERT INTO %s.'..." */ + ts+34026, /* "INSERT INTO %s.'..." */ libc.VaList(bp, p+48 /* &.zStateDb */, (*RbuObjIter)(unsafe.Pointer(pIter)).FzDataTbl, zCollist, zRbuRowid, zBind))) } } @@ -161624,7 +162935,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+34084 /* "SELECT trim(sql)..." */) + ts+34083 /* "SELECT trim(sql)..." */) } if *(*int32)(unsafe.Pointer(bp + 8 /* rc */)) == SQLITE_OK { var rc2 int32 @@ -161734,7 +163045,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+34150 /* " 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 } @@ -161755,26 +163066,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+8567 /* "main" */, 0, 1)) - Xsqlite3_test_control(tls, SQLITE_TESTCTRL_IMPOSTER, libc.VaList(bp+40, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbMain, ts+8567 /* "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+34170, /* "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+8567 /* "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+34235 /* "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+34271 /* "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 @@ -161791,7 +163102,7 @@ func rbuObjIterPrepareAll(tls *libc.TLS, p uintptr, pIter uintptr, nOffset int32 } zSql = Xsqlite3_mprintf(tls, - ts+34305, /* "SELECT %s, 0 AS ..." */ + ts+34304, /* "SELECT %s, 0 AS ..." */ libc.VaList(bp+160, zCollist, (*RbuObjIter)(unsafe.Pointer(pIter)).FzDataTbl, zPart, @@ -161799,32 +163110,32 @@ func rbuObjIterPrepareAll(tls *libc.TLS, p uintptr, pIter uintptr, nOffset int32 if zStart != 0 { return func() uintptr { if zPart != 0 { - return ts + 34366 /* "AND" */ + return ts + 34365 /* "AND" */ } - return ts + 34370 /* "WHERE" */ + return ts + 34369 /* "WHERE" */ }() } - return ts + 916 /* "" */ + 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+34376, /* "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+34437, /* "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 + 34366 /* "AND" */ + return ts + 34365 /* "AND" */ } - return ts + 34370 /* "WHERE" */ + return ts + 34369 /* "WHERE" */ }(), zCollist, zLimit)) } @@ -161849,8 +163160,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+8576 /* "old" */) - var zNewlist uintptr = rbuObjIterGetOldlist(tls, p, pIter, ts+8572 /* "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 @@ -161860,21 +163171,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 + 916 /* "" */ + return ts + 915 /* "" */ } - return ts + 34596 /* "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+34605, /* "INSERT INTO \"%s%..." */ + ts+34604, /* "INSERT INTO \"%s%..." */ libc.VaList(bp+344, zWrite, zTbl, zCollist, func() uintptr { if bRbuRowid != 0 { - return ts + 34641 /* ", _rowid_" */ + return ts + 34640 /* ", _rowid_" */ } - return ts + 916 /* "" */ + return ts + 915 /* "" */ }(), zBindings))) } @@ -161884,28 +163195,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+34651 /* "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 + 916 /* "" */ + var zRbuRowid uintptr = ts + 915 /* "" */ if ((*RbuObjIter)(unsafe.Pointer(pIter)).FeType == RBU_PK_EXTERNAL) || ((*RbuObjIter)(unsafe.Pointer(pIter)).FeType == RBU_PK_NONE) { - zRbuRowid = ts + 34679 /* ", 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+34691 /* "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 + 34767 /* ", 0 AS rbu_rowid" */ + return ts + 34766 /* ", 0 AS rbu_rowid" */ } - return ts + 916 /* "" */ + return ts + 915 /* "" */ }(), (*RbuObjIter)(unsafe.Pointer(pIter)).FzDataTbl)) rbuMPrintfExec(tls, p, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbMain, - ts+34784, /* "CREATE TEMP TRIG..." */ + ts+34783, /* "CREATE TEMP TRIG..." */ libc.VaList(bp+440, zWrite, zTbl, zOldlist, zWrite, zTbl, zOldlist, zWrite, zTbl, zNewlist)) @@ -161913,7 +163224,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+35083, /* "CREATE TEMP TRIG..." */ + ts+35082, /* "CREATE TEMP TRIG..." */ libc.VaList(bp+512, zWrite, zTbl, zNewlist)) } @@ -161922,14 +163233,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 + 916 /* "" */ + 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 + 35182 /* ",_rowid_ " */ + zRbuRowid = ts + 35181 /* ",_rowid_ " */ } else { - zRbuRowid = ts + 35192 /* ",rbu_rowid" */ + zRbuRowid = ts + 35191 /* ",rbu_rowid" */ } } @@ -161942,35 +163253,35 @@ func rbuObjIterPrepareAll(tls *libc.TLS, p uintptr, pIter uintptr, nOffset int32 } } if bRbuRowid != 0 { - zOrder = rbuMPrintf(tls, p, ts+33239 /* "_rowid_" */, 0) + zOrder = rbuMPrintf(tls, p, ts+33238 /* "_rowid_" */, 0) } else { - zOrder = rbuObjIterGetPkList(tls, p, pIter, ts+916 /* "" */, ts+16637 /* ", " */, ts+916 /* "" */) + 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+35203, /* "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 + 35251 /* "0 AS " */ + return ts + 35250 /* "0 AS " */ } - return ts + 916 /* "" */ + return ts + 915 /* "" */ }(), zRbuRowid, (*RbuObjIter)(unsafe.Pointer(pIter)).FzDataTbl, func() uintptr { if zStart != 0 { return zStart } - return ts + 916 /* "" */ + return ts + 915 /* "" */ }(), func() uintptr { if zOrder != 0 { - return ts + 22253 /* "ORDER BY" */ + return ts + 22252 /* "ORDER BY" */ } - return ts + 916 /* "" */ + return ts + 915 /* "" */ }(), zOrder, zLimit))) } @@ -162045,12 +163356,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 + 916 /* "" */ + var zPrefix uintptr = ts + 915 /* "" */ if (*RbuObjIter)(unsafe.Pointer(pIter)).FeType != RBU_PK_VTAB { - zPrefix = ts + 34596 /* "rbu_imp_" */ + zPrefix = ts + 34595 /* "rbu_imp_" */ } - zUpdate = Xsqlite3_mprintf(tls, ts+35257, /* "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) @@ -162077,7 +163388,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+952 /* "%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) } @@ -162118,7 +163429,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+35287 /* "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: @@ -162190,31 +163501,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+8567 /* "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+8567 /* "main" */) - (*Sqlite3rbu)(unsafe.Pointer(p)).FzState = rbuMPrintf(tls, p, ts+35317 /* "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+35344 /* "ATTACH %Q AS sta..." */, libc.VaList(bp+16, (*Sqlite3rbu)(unsafe.Pointer(p)).FzState)) - libc.Xmemcpy(tls, p+48 /* &.zStateDb */, ts+4669 /* "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+8567 /* "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+35362 /* "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+8567 /* "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 } @@ -162247,11 +163558,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+35428 /* "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+28567 /* "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)))) == '?' { @@ -162263,16 +163574,16 @@ func rbuOpenDatabase(tls *libc.TLS, p uintptr, pbRetry uintptr) { /* sqlite3.c:2 } } - zTarget = Xsqlite3_mprintf(tls, ts+35460, /* "file:%s-vactmp?r..." */ - libc.VaList(bp+32, Xsqlite3_db_filename(tls, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbRbu, ts+8567 /* "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 + 916 /* "" */ + return ts + 915 /* "" */ } - return ts + 35492 /* "&" */ + return ts + 35491 /* "&" */ }(), func() uintptr { if zExtra == uintptr(0) { - return ts + 916 /* "" */ + return ts + 915 /* "" */ } return zExtra }())) @@ -162288,40 +163599,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+35494 /* "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+35509 /* "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+35526 /* "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+8567 /* "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+35542 /* "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+8567 /* "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+35570 /* "rbu vfs not foun..." */, 0) + (*Sqlite3rbu)(unsafe.Pointer(p)).FzErrmsg = Xsqlite3_mprintf(tls, ts+35569 /* "rbu vfs not foun..." */, 0) } } @@ -162360,9 +163671,11 @@ func rbuShmChecksum(tls *libc.TLS, p uintptr) I64 { /* sqlite3.c:203029:12: */ var pDb uintptr = (*Rbu_file)(unsafe.Pointer((*Sqlite3rbu)(unsafe.Pointer(p)).FpTargetFd)).FpReal // var ptr uintptr at bp, 8 - (*Sqlite3rbu)(unsafe.Pointer(p)).Frc = (*(*func(*libc.TLS, uintptr, int32, int32, int32, uintptr) int32)(unsafe.Pointer(((*Sqlite3_file)(unsafe.Pointer(pDb)).FpMethods + 104 /* &.xShmMap */))))(tls, pDb, 0, (32 * 1024), 0, bp /* &ptr */) + (*Sqlite3rbu)(unsafe.Pointer(p)).Frc = (*struct { + f func(*libc.TLS, uintptr, int32, int32, int32, uintptr) int32 + })(unsafe.Pointer(&struct{ uintptr }{(*sqlite3_io_methods)(unsafe.Pointer((*Sqlite3_file)(unsafe.Pointer(pDb)).FpMethods)).FxShmMap})).f(tls, pDb, 0, (32 * 1024), 0, bp /* &ptr */) if (*Sqlite3rbu)(unsafe.Pointer(p)).Frc == SQLITE_OK { - iRet = ((I64(*(*U32)(unsafe.Pointer(libc.AtomicLoadPUintptr(bp /* ptr */) + 10*4))) << 32) + I64(*(*U32)(unsafe.Pointer(libc.AtomicLoadPUintptr(bp /* ptr */) + 11*4)))) + iRet = ((I64(*(*U32)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp /* ptr */)) + 10*4))) << 32) + I64(*(*U32)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp /* ptr */)) + 11*4)))) } } return iRet @@ -162390,7 +163703,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+35542 /* "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)) } } @@ -162424,7 +163737,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+35588 /* "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 } @@ -162451,7 +163764,9 @@ func rbuSetupCheckpoint(tls *libc.TLS, p uintptr, pState uintptr) { /* sqlite3.c var pDb uintptr = (*Rbu_file)(unsafe.Pointer((*Sqlite3rbu)(unsafe.Pointer(p)).FpTargetFd)).FpReal var pWal uintptr = (*Rbu_file)(unsafe.Pointer((*Rbu_file)(unsafe.Pointer((*Sqlite3rbu)(unsafe.Pointer(p)).FpTargetFd)).FpWalFd)).FpReal - nSectorSize = (*(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(((*Sqlite3_file)(unsafe.Pointer(pDb)).FpMethods + 88 /* &.xSectorSize */))))(tls, pDb) + nSectorSize = (*struct { + f func(*libc.TLS, uintptr) int32 + })(unsafe.Pointer(&struct{ uintptr }{(*sqlite3_io_methods)(unsafe.Pointer((*Sqlite3_file)(unsafe.Pointer(pDb)).FpMethods)).FxSectorSize})).f(tls, pDb) if nSectorSize > (*Sqlite3rbu)(unsafe.Pointer(p)).Fpgsz { (*Sqlite3rbu)(unsafe.Pointer(p)).FnPagePerSector = (nSectorSize / (*Sqlite3rbu)(unsafe.Pointer(p)).Fpgsz) } else { @@ -162462,7 +163777,9 @@ func rbuSetupCheckpoint(tls *libc.TLS, p uintptr, pState uintptr) { /* sqlite3.c // directory in which the target database and the wal file reside, in // case it has not been synced since the rename() call in // rbuMoveOalFile(). - (*Sqlite3rbu)(unsafe.Pointer(p)).Frc = (*(*func(*libc.TLS, uintptr, int32) int32)(unsafe.Pointer(((*Sqlite3_file)(unsafe.Pointer(pWal)).FpMethods + 40 /* &.xSync */))))(tls, pWal, SQLITE_SYNC_NORMAL) + (*Sqlite3rbu)(unsafe.Pointer(p)).Frc = (*struct { + f func(*libc.TLS, uintptr, int32) int32 + })(unsafe.Pointer(&struct{ uintptr }{(*sqlite3_io_methods)(unsafe.Pointer((*Sqlite3_file)(unsafe.Pointer(pWal)).FpMethods)).FxSync})).f(tls, pWal, SQLITE_SYNC_NORMAL) } } } @@ -162523,22 +163840,30 @@ func rbuCheckpointFrame(tls *libc.TLS, p uintptr, pFrame uintptr) { /* sqlite3.c var iOff I64 iOff = ((((I64((*RbuFrame)(unsafe.Pointer(pFrame)).FiWalFrame - U32(1))) * (I64((*Sqlite3rbu)(unsafe.Pointer(p)).Fpgsz + 24))) + int64(32)) + int64(24)) - (*Sqlite3rbu)(unsafe.Pointer(p)).Frc = (*(*func(*libc.TLS, uintptr, uintptr, int32, Sqlite3_int64) int32)(unsafe.Pointer(((*Sqlite3_file)(unsafe.Pointer(pWal)).FpMethods + 16 /* &.xRead */))))(tls, pWal, (*Sqlite3rbu)(unsafe.Pointer(p)).FaBuf, (*Sqlite3rbu)(unsafe.Pointer(p)).Fpgsz, iOff) + (*Sqlite3rbu)(unsafe.Pointer(p)).Frc = (*struct { + f func(*libc.TLS, uintptr, uintptr, int32, Sqlite3_int64) int32 + })(unsafe.Pointer(&struct{ uintptr }{(*sqlite3_io_methods)(unsafe.Pointer((*Sqlite3_file)(unsafe.Pointer(pWal)).FpMethods)).FxRead})).f(tls, pWal, (*Sqlite3rbu)(unsafe.Pointer(p)).FaBuf, (*Sqlite3rbu)(unsafe.Pointer(p)).Fpgsz, iOff) if (*Sqlite3rbu)(unsafe.Pointer(p)).Frc != 0 { return } iOff = ((I64((*RbuFrame)(unsafe.Pointer(pFrame)).FiDbPage - U32(1))) * I64((*Sqlite3rbu)(unsafe.Pointer(p)).Fpgsz)) - (*Sqlite3rbu)(unsafe.Pointer(p)).Frc = (*(*func(*libc.TLS, uintptr, uintptr, int32, Sqlite3_int64) int32)(unsafe.Pointer(((*Sqlite3_file)(unsafe.Pointer(pDb)).FpMethods + 24 /* &.xWrite */))))(tls, pDb, (*Sqlite3rbu)(unsafe.Pointer(p)).FaBuf, (*Sqlite3rbu)(unsafe.Pointer(p)).Fpgsz, iOff) + (*Sqlite3rbu)(unsafe.Pointer(p)).Frc = (*struct { + f func(*libc.TLS, uintptr, uintptr, int32, Sqlite3_int64) int32 + })(unsafe.Pointer(&struct{ uintptr }{(*sqlite3_io_methods)(unsafe.Pointer((*Sqlite3_file)(unsafe.Pointer(pDb)).FpMethods)).FxWrite})).f(tls, pDb, (*Sqlite3rbu)(unsafe.Pointer(p)).FaBuf, (*Sqlite3rbu)(unsafe.Pointer(p)).Fpgsz, iOff) } // Take an EXCLUSIVE lock on the database file. func rbuLockDatabase(tls *libc.TLS, p uintptr) { /* sqlite3.c:203202:13: */ var pReal uintptr = (*Rbu_file)(unsafe.Pointer((*Sqlite3rbu)(unsafe.Pointer(p)).FpTargetFd)).FpReal - (*Sqlite3rbu)(unsafe.Pointer(p)).Frc = (*(*func(*libc.TLS, uintptr, int32) int32)(unsafe.Pointer(((*Sqlite3_file)(unsafe.Pointer(pReal)).FpMethods + 56 /* &.xLock */))))(tls, pReal, SQLITE_LOCK_SHARED) + (*Sqlite3rbu)(unsafe.Pointer(p)).Frc = (*struct { + f func(*libc.TLS, uintptr, int32) int32 + })(unsafe.Pointer(&struct{ uintptr }{(*sqlite3_io_methods)(unsafe.Pointer((*Sqlite3_file)(unsafe.Pointer(pReal)).FpMethods)).FxLock})).f(tls, pReal, SQLITE_LOCK_SHARED) if (*Sqlite3rbu)(unsafe.Pointer(p)).Frc == SQLITE_OK { - (*Sqlite3rbu)(unsafe.Pointer(p)).Frc = (*(*func(*libc.TLS, uintptr, int32) int32)(unsafe.Pointer(((*Sqlite3_file)(unsafe.Pointer(pReal)).FpMethods + 56 /* &.xLock */))))(tls, pReal, SQLITE_LOCK_EXCLUSIVE) + (*Sqlite3rbu)(unsafe.Pointer(p)).Frc = (*struct { + f func(*libc.TLS, uintptr, int32) int32 + })(unsafe.Pointer(&struct{ uintptr }{(*sqlite3_io_methods)(unsafe.Pointer((*Sqlite3_file)(unsafe.Pointer(pReal)).FpMethods)).FxLock})).f(tls, pReal, SQLITE_LOCK_EXCLUSIVE) } } @@ -162551,16 +163876,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+8567 /* "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+8567 /* "main" */) + zMove = Xsqlite3_db_filename(tls, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbRbu, ts+8566 /* "main" */) } - zOal = Xsqlite3_mprintf(tls, ts+35623 /* "%s-oal" */, libc.VaList(bp, zMove)) - zWal = Xsqlite3_mprintf(tls, ts+35630 /* "%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 @@ -162700,7 +164025,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+28205 /* "datatype mismatc..." */, 0) + (*Sqlite3rbu)(unsafe.Pointer(p)).FzErrmsg = Xsqlite3_mprintf(tls, ts+28204 /* "datatype mismatc..." */, 0) return } @@ -162818,7 +164143,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+35637 /* "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 @@ -162831,7 +164156,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+35659 /* "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))) } } } @@ -162856,7 +164181,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+35686, /* "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, @@ -162901,9 +164226,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+35844 /* "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+35859, /* "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 */))) @@ -162920,11 +164245,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+35879 /* "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+35904 /* "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) { @@ -162938,12 +164263,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+36012 /* "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+36077 /* "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) { @@ -162955,7 +164280,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+36121 /* "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 */))) @@ -162977,8 +164302,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+19167 /* "user_version" */) - rbuCopyPragma(tls, p, ts+18277 /* "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) { @@ -162989,7 +164314,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+36146 /* "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) @@ -163015,10 +164340,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+16541 /* "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+16541 /* "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 } @@ -163045,15 +164370,19 @@ func Xsqlite3rbu_step(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:203701:16: var pDb uintptr = (*Rbu_file)(unsafe.Pointer((*Sqlite3rbu)(unsafe.Pointer(p)).FpTargetFd)).FpReal // Sync the db file - (*Sqlite3rbu)(unsafe.Pointer(p)).Frc = (*(*func(*libc.TLS, uintptr, int32) int32)(unsafe.Pointer(((*Sqlite3_file)(unsafe.Pointer(pDb)).FpMethods + 40 /* &.xSync */))))(tls, pDb, SQLITE_SYNC_NORMAL) + (*Sqlite3rbu)(unsafe.Pointer(p)).Frc = (*struct { + f func(*libc.TLS, uintptr, int32) int32 + })(unsafe.Pointer(&struct{ uintptr }{(*sqlite3_io_methods)(unsafe.Pointer((*Sqlite3_file)(unsafe.Pointer(pDb)).FpMethods)).FxSync})).f(tls, pDb, SQLITE_SYNC_NORMAL) // Update nBackfill if (*Sqlite3rbu)(unsafe.Pointer(p)).Frc == SQLITE_OK { // var ptr uintptr at bp+16, 8 - (*Sqlite3rbu)(unsafe.Pointer(p)).Frc = (*(*func(*libc.TLS, uintptr, int32, int32, int32, uintptr) int32)(unsafe.Pointer(((*Sqlite3_file)(unsafe.Pointer(pDb)).FpMethods + 104 /* &.xShmMap */))))(tls, pDb, 0, (32 * 1024), 0, bp+16 /* &ptr */) + (*Sqlite3rbu)(unsafe.Pointer(p)).Frc = (*struct { + f func(*libc.TLS, uintptr, int32, int32, int32, uintptr) int32 + })(unsafe.Pointer(&struct{ uintptr }{(*sqlite3_io_methods)(unsafe.Pointer((*Sqlite3_file)(unsafe.Pointer(pDb)).FpMethods)).FxShmMap})).f(tls, pDb, 0, (32 * 1024), 0, bp+16 /* &ptr */) if (*Sqlite3rbu)(unsafe.Pointer(p)).Frc == SQLITE_OK { - *(*U32)(unsafe.Pointer((libc.AtomicLoadPUintptr(bp + 16 /* ptr */)) + 24*4)) = (*Sqlite3rbu)(unsafe.Pointer(p)).FiMaxFrame + *(*U32)(unsafe.Pointer((*(*uintptr)(unsafe.Pointer(bp + 16 /* ptr */))) + 24*4)) = (*Sqlite3rbu)(unsafe.Pointer(p)).FiMaxFrame } } @@ -163135,7 +164464,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+36174 /* "rbu_state mismat..." */, 0) + (*Sqlite3rbu)(unsafe.Pointer(p)).FzErrmsg = Xsqlite3_mprintf(tls, ts+36173 /* "rbu_state mismat..." */, 0) } if rc == SQLITE_OK { @@ -163154,11 +164483,13 @@ 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+35623 /* "%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)) - (*(*func(*libc.TLS, uintptr, uintptr, int32) int32)(unsafe.Pointer((pVfs + 48 /* &.xDelete */))))(tls, pVfs, zOal, 0) + (*struct { + f func(*libc.TLS, uintptr, uintptr, int32) int32 + })(unsafe.Pointer(&struct{ uintptr }{(*Sqlite3_vfs)(unsafe.Pointer(pVfs)).FxDelete})).f(tls, pVfs, zOal, 0) Xsqlite3_free(tls, zOal) } } @@ -163176,7 +164507,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+36199 /* "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] */) @@ -163215,7 +164546,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+36210 /* "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 { @@ -163258,7 +164589,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+36282 /* "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)) @@ -163266,7 +164597,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+36296 /* "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 */))) { @@ -163278,7 +164609,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+36353 /* "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) @@ -163324,7 +164655,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+952 /* "%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 @@ -163361,7 +164692,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+36427 /* "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 @@ -163383,12 +164714,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+36459, /* "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 + 36491 /* "vacuum" */ + return ts + 36490 /* "vacuum" */ } - return ts + 36498 /* "update" */ + return ts + 36497 /* "update" */ }())) } } @@ -163396,7 +164727,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+16526 /* "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 { @@ -163410,24 +164741,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+18892 /* "page_size" */) - rbuCopyPragma(tls, p, ts+18292 /* "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+36505 /* "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+8567 /* "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+36521 /* "PRAGMA journal_m..." */, uintptr(0), uintptr(0), (p + 64 /* &.zErrmsg */)) + db, ts+36520 /* "PRAGMA journal_m..." */, uintptr(0), uintptr(0), (p + 64 /* &.zErrmsg */)) } } @@ -163480,7 +164811,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+36545 /* "-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) } } @@ -163510,7 +164841,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+34596 /* "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++ @@ -163529,19 +164860,21 @@ 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+16541 /* "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 if ((*Sqlite3rbu)(unsafe.Pointer(p)).Frc == SQLITE_OK) && ((*Sqlite3rbu)(unsafe.Pointer(p)).FeStage == RBU_STAGE_CKPT) { var pDb uintptr = (*Rbu_file)(unsafe.Pointer((*Sqlite3rbu)(unsafe.Pointer(p)).FpTargetFd)).FpReal - (*Sqlite3rbu)(unsafe.Pointer(p)).Frc = (*(*func(*libc.TLS, uintptr, int32) int32)(unsafe.Pointer(((*Sqlite3_file)(unsafe.Pointer(pDb)).FpMethods + 40 /* &.xSync */))))(tls, pDb, SQLITE_SYNC_NORMAL) + (*Sqlite3rbu)(unsafe.Pointer(p)).Frc = (*struct { + f func(*libc.TLS, uintptr, int32) int32 + })(unsafe.Pointer(&struct{ uintptr }{(*sqlite3_io_methods)(unsafe.Pointer((*Sqlite3_file)(unsafe.Pointer(pDb)).FpMethods)).FxSync})).f(tls, pDb, SQLITE_SYNC_NORMAL) } 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+16541 /* "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. @@ -163553,7 +164886,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+36553 /* "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 } @@ -163652,14 +164985,16 @@ 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+16541 /* "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)) } } // Sync the db file if (rc == SQLITE_OK) && ((*Sqlite3rbu)(unsafe.Pointer(p)).FeStage == RBU_STAGE_CKPT) { var pDb uintptr = (*Rbu_file)(unsafe.Pointer((*Sqlite3rbu)(unsafe.Pointer(p)).FpTargetFd)).FpReal - rc = (*(*func(*libc.TLS, uintptr, int32) int32)(unsafe.Pointer(((*Sqlite3_file)(unsafe.Pointer(pDb)).FpMethods + 40 /* &.xSync */))))(tls, pDb, SQLITE_SYNC_NORMAL) + rc = (*struct { + f func(*libc.TLS, uintptr, int32) int32 + })(unsafe.Pointer(&struct{ uintptr }{(*sqlite3_io_methods)(unsafe.Pointer((*Sqlite3_file)(unsafe.Pointer(pDb)).FpMethods)).FxSync})).f(tls, pDb, SQLITE_SYNC_NORMAL) } (*Sqlite3rbu)(unsafe.Pointer(p)).Frc = rc @@ -163669,19 +165004,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+16541 /* "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 + 16526 /* "BEGIN" */ + zBegin = ts + 16525 /* "BEGIN" */ } else { - zBegin = ts + 36505 /* "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+36505 /* "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)) } } @@ -163755,7 +165090,9 @@ func rbuUnlockShm(tls *libc.TLS, p uintptr) { /* sqlite3.c:204477:13: */ var i int32 for i = 0; i < SQLITE_SHM_NLOCK; i++ { if ((U32(int32(1) << i)) & (*Sqlite3rbu)(unsafe.Pointer((*Rbu_file)(unsafe.Pointer(p)).FpRbu)).FmLock) != 0 { - (*(*func(*libc.TLS, uintptr, int32, int32, int32) int32)(unsafe.Pointer(&xShmLock)))(tls, (*Rbu_file)(unsafe.Pointer(p)).FpReal, i, 1, (SQLITE_SHM_UNLOCK | SQLITE_SHM_EXCLUSIVE)) + (*struct { + f func(*libc.TLS, uintptr, int32, int32, int32) int32 + })(unsafe.Pointer(&struct{ uintptr }{xShmLock})).f(tls, (*Rbu_file)(unsafe.Pointer(p)).FpReal, i, 1, (SQLITE_SHM_UNLOCK | SQLITE_SHM_EXCLUSIVE)) } } (*Sqlite3rbu)(unsafe.Pointer((*Rbu_file)(unsafe.Pointer(p)).FpRbu)).FmLock = U32(0) @@ -163859,13 +165196,17 @@ func rbuVfsClose(tls *libc.TLS, pFile uintptr) int32 { /* sqlite3.c:204569:12: * if ((*Rbu_file)(unsafe.Pointer(p)).FopenFlags & SQLITE_OPEN_MAIN_DB) != 0 { rbuMainlistRemove(tls, p) rbuUnlockShm(tls, p) - (*(*func(*libc.TLS, uintptr, int32) int32)(unsafe.Pointer(((*Sqlite3_file)(unsafe.Pointer((*Rbu_file)(unsafe.Pointer(p)).FpReal)).FpMethods + 128 /* &.xShmUnmap */))))(tls, (*Rbu_file)(unsafe.Pointer(p)).FpReal, 0) + (*struct { + f func(*libc.TLS, uintptr, int32) int32 + })(unsafe.Pointer(&struct{ uintptr }{(*sqlite3_io_methods)(unsafe.Pointer((*Sqlite3_file)(unsafe.Pointer((*Rbu_file)(unsafe.Pointer(p)).FpReal)).FpMethods)).FxShmUnmap})).f(tls, (*Rbu_file)(unsafe.Pointer(p)).FpReal, 0) } else if (((*Rbu_file)(unsafe.Pointer(p)).FopenFlags & SQLITE_OPEN_DELETEONCLOSE) != 0) && ((*Rbu_file)(unsafe.Pointer(p)).FpRbu != 0) { rbuUpdateTempSize(tls, p, int64(0)) } // Close the underlying file handle - rc = (*(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(((*Sqlite3_file)(unsafe.Pointer((*Rbu_file)(unsafe.Pointer(p)).FpReal)).FpMethods + 8 /* &.xClose */))))(tls, (*Rbu_file)(unsafe.Pointer(p)).FpReal) + rc = (*struct { + f func(*libc.TLS, uintptr) int32 + })(unsafe.Pointer(&struct{ uintptr }{(*sqlite3_io_methods)(unsafe.Pointer((*Sqlite3_file)(unsafe.Pointer((*Rbu_file)(unsafe.Pointer(p)).FpReal)).FpMethods)).FxClose})).f(tls, (*Rbu_file)(unsafe.Pointer(p)).FpReal) return rc } @@ -163908,7 +165249,9 @@ func rbuVfsRead(tls *libc.TLS, pFile uintptr, zBuf uintptr, iAmt int32, iOfst Sq rc = SQLITE_OK libc.Xmemset(tls, zBuf, 0, uint64(iAmt)) } else { - rc = (*(*func(*libc.TLS, uintptr, uintptr, int32, Sqlite3_int64) int32)(unsafe.Pointer(((*Sqlite3_file)(unsafe.Pointer((*Rbu_file)(unsafe.Pointer(p)).FpReal)).FpMethods + 16 /* &.xRead */))))(tls, (*Rbu_file)(unsafe.Pointer(p)).FpReal, zBuf, iAmt, iOfst) + rc = (*struct { + f func(*libc.TLS, uintptr, uintptr, int32, Sqlite3_int64) int32 + })(unsafe.Pointer(&struct{ uintptr }{(*sqlite3_io_methods)(unsafe.Pointer((*Sqlite3_file)(unsafe.Pointer((*Rbu_file)(unsafe.Pointer(p)).FpReal)).FpMethods)).FxRead})).f(tls, (*Rbu_file)(unsafe.Pointer(p)).FpReal, zBuf, iAmt, iOfst) // If this is being called to read the first page of the target // database as part of an rbu vacuum operation, synthesize the // contents of the first page if it does not yet exist. Otherwise, @@ -163918,7 +165261,9 @@ func rbuVfsRead(tls *libc.TLS, pFile uintptr, zBuf uintptr, iAmt int32, iOfst Sq (((*Rbu_file)(unsafe.Pointer(p)).FopenFlags & SQLITE_OPEN_MAIN_DB) != 0)) && ((*Sqlite3rbu)(unsafe.Pointer(pRbu)).Frc == SQLITE_OK) { var pFd uintptr = (*Sqlite3rbu)(unsafe.Pointer(pRbu)).FpRbuFd - rc = (*(*func(*libc.TLS, uintptr, uintptr, int32, Sqlite3_int64) int32)(unsafe.Pointer(((*Sqlite3_file)(unsafe.Pointer(pFd)).FpMethods + 16 /* &.xRead */))))(tls, pFd, zBuf, iAmt, iOfst) + rc = (*struct { + f func(*libc.TLS, uintptr, uintptr, int32, Sqlite3_int64) int32 + })(unsafe.Pointer(&struct{ uintptr }{(*sqlite3_io_methods)(unsafe.Pointer((*Sqlite3_file)(unsafe.Pointer(pFd)).FpMethods)).FxRead})).f(tls, pFd, zBuf, iAmt, iOfst) if rc == SQLITE_OK { var aBuf uintptr = zBuf var iRoot U32 @@ -163977,7 +165322,9 @@ func rbuVfsWrite(tls *libc.TLS, pFile uintptr, zBuf uintptr, iAmt int32, iOfst S } } } - rc = (*(*func(*libc.TLS, uintptr, uintptr, int32, Sqlite3_int64) int32)(unsafe.Pointer(((*Sqlite3_file)(unsafe.Pointer((*Rbu_file)(unsafe.Pointer(p)).FpReal)).FpMethods + 24 /* &.xWrite */))))(tls, (*Rbu_file)(unsafe.Pointer(p)).FpReal, zBuf, iAmt, iOfst) + rc = (*struct { + f func(*libc.TLS, uintptr, uintptr, int32, Sqlite3_int64) int32 + })(unsafe.Pointer(&struct{ uintptr }{(*sqlite3_io_methods)(unsafe.Pointer((*Sqlite3_file)(unsafe.Pointer((*Rbu_file)(unsafe.Pointer(p)).FpReal)).FpMethods)).FxWrite})).f(tls, (*Rbu_file)(unsafe.Pointer(p)).FpReal, zBuf, iAmt, iOfst) if ((rc == SQLITE_OK) && (iOfst == int64(0))) && (((*Rbu_file)(unsafe.Pointer(p)).FopenFlags & SQLITE_OPEN_MAIN_DB) != 0) { // These look like magic numbers. But they are stable, as they are part // of the definition of the SQLite file format, which may not change. @@ -163998,7 +165345,9 @@ func rbuVfsTruncate(tls *libc.TLS, pFile uintptr, size Sqlite_int64) int32 { /* return rc } } - return (*(*func(*libc.TLS, uintptr, Sqlite3_int64) int32)(unsafe.Pointer(((*Sqlite3_file)(unsafe.Pointer((*Rbu_file)(unsafe.Pointer(p)).FpReal)).FpMethods + 32 /* &.xTruncate */))))(tls, (*Rbu_file)(unsafe.Pointer(p)).FpReal, size) + return (*struct { + f func(*libc.TLS, uintptr, Sqlite3_int64) int32 + })(unsafe.Pointer(&struct{ uintptr }{(*sqlite3_io_methods)(unsafe.Pointer((*Sqlite3_file)(unsafe.Pointer((*Rbu_file)(unsafe.Pointer(p)).FpReal)).FpMethods)).FxTruncate})).f(tls, (*Rbu_file)(unsafe.Pointer(p)).FpReal, size) } // Sync an rbuVfs-file. @@ -164010,14 +165359,18 @@ func rbuVfsSync(tls *libc.TLS, pFile uintptr, flags int32) int32 { /* sqlite3.c: } return SQLITE_OK } - return (*(*func(*libc.TLS, uintptr, int32) int32)(unsafe.Pointer(((*Sqlite3_file)(unsafe.Pointer((*Rbu_file)(unsafe.Pointer(p)).FpReal)).FpMethods + 40 /* &.xSync */))))(tls, (*Rbu_file)(unsafe.Pointer(p)).FpReal, flags) + return (*struct { + f func(*libc.TLS, uintptr, int32) int32 + })(unsafe.Pointer(&struct{ uintptr }{(*sqlite3_io_methods)(unsafe.Pointer((*Sqlite3_file)(unsafe.Pointer((*Rbu_file)(unsafe.Pointer(p)).FpReal)).FpMethods)).FxSync})).f(tls, (*Rbu_file)(unsafe.Pointer(p)).FpReal, flags) } // Return the current file-size of an rbuVfs-file. func rbuVfsFileSize(tls *libc.TLS, pFile uintptr, pSize uintptr) int32 { /* sqlite3.c:204763:12: */ var p uintptr = pFile var rc int32 - rc = (*(*func(*libc.TLS, uintptr, uintptr) int32)(unsafe.Pointer(((*Sqlite3_file)(unsafe.Pointer((*Rbu_file)(unsafe.Pointer(p)).FpReal)).FpMethods + 48 /* &.xFileSize */))))(tls, (*Rbu_file)(unsafe.Pointer(p)).FpReal, pSize) + rc = (*struct { + f func(*libc.TLS, uintptr, uintptr) int32 + })(unsafe.Pointer(&struct{ uintptr }{(*sqlite3_io_methods)(unsafe.Pointer((*Sqlite3_file)(unsafe.Pointer((*Rbu_file)(unsafe.Pointer(p)).FpReal)).FpMethods)).FxFileSize})).f(tls, (*Rbu_file)(unsafe.Pointer(p)).FpReal, pSize) // If this is an RBU vacuum operation and this is the target database, // pretend that it has at least one page. Otherwise, SQLite will not @@ -164043,7 +165396,9 @@ func rbuVfsLock(tls *libc.TLS, pFile uintptr, eLock int32) int32 { /* sqlite3.c: // prevents it from checkpointing the database from sqlite3_close(). rc = SQLITE_BUSY } else { - rc = (*(*func(*libc.TLS, uintptr, int32) int32)(unsafe.Pointer(((*Sqlite3_file)(unsafe.Pointer((*Rbu_file)(unsafe.Pointer(p)).FpReal)).FpMethods + 56 /* &.xLock */))))(tls, (*Rbu_file)(unsafe.Pointer(p)).FpReal, eLock) + rc = (*struct { + f func(*libc.TLS, uintptr, int32) int32 + })(unsafe.Pointer(&struct{ uintptr }{(*sqlite3_io_methods)(unsafe.Pointer((*Sqlite3_file)(unsafe.Pointer((*Rbu_file)(unsafe.Pointer(p)).FpReal)).FpMethods)).FxLock})).f(tls, (*Rbu_file)(unsafe.Pointer(p)).FpReal, eLock) } return rc @@ -164052,13 +165407,17 @@ func rbuVfsLock(tls *libc.TLS, pFile uintptr, eLock int32) int32 { /* sqlite3.c: // Unlock an rbuVfs-file. func rbuVfsUnlock(tls *libc.TLS, pFile uintptr, eLock int32) int32 { /* sqlite3.c:204806:12: */ var p uintptr = pFile - return (*(*func(*libc.TLS, uintptr, int32) int32)(unsafe.Pointer(((*Sqlite3_file)(unsafe.Pointer((*Rbu_file)(unsafe.Pointer(p)).FpReal)).FpMethods + 64 /* &.xUnlock */))))(tls, (*Rbu_file)(unsafe.Pointer(p)).FpReal, eLock) + return (*struct { + f func(*libc.TLS, uintptr, int32) int32 + })(unsafe.Pointer(&struct{ uintptr }{(*sqlite3_io_methods)(unsafe.Pointer((*Sqlite3_file)(unsafe.Pointer((*Rbu_file)(unsafe.Pointer(p)).FpReal)).FpMethods)).FxUnlock})).f(tls, (*Rbu_file)(unsafe.Pointer(p)).FpReal, eLock) } // Check if another file-handle holds a RESERVED lock on an rbuVfs-file. func rbuVfsCheckReservedLock(tls *libc.TLS, pFile uintptr, pResOut uintptr) int32 { /* sqlite3.c:204814:12: */ var p uintptr = pFile - return (*(*func(*libc.TLS, uintptr, uintptr) int32)(unsafe.Pointer(((*Sqlite3_file)(unsafe.Pointer((*Rbu_file)(unsafe.Pointer(p)).FpReal)).FpMethods + 72 /* &.xCheckReservedLock */))))(tls, (*Rbu_file)(unsafe.Pointer(p)).FpReal, pResOut) + return (*struct { + f func(*libc.TLS, uintptr, uintptr) int32 + })(unsafe.Pointer(&struct{ uintptr }{(*sqlite3_io_methods)(unsafe.Pointer((*Sqlite3_file)(unsafe.Pointer((*Rbu_file)(unsafe.Pointer(p)).FpReal)).FpMethods)).FxCheckReservedLock})).f(tls, (*Rbu_file)(unsafe.Pointer(p)).FpReal, pResOut) } // File control method. For custom operations on an rbuVfs-file. @@ -164076,16 +165435,20 @@ func rbuVfsFileControl(tls *libc.TLS, pFile uintptr, op int32, pArg uintptr) int // First try to find another RBU vfs lower down in the vfs stack. If // one is found, this vfs will operate in pass-through mode. The lower // level vfs will do the special RBU handling. - rc = (*(*func(*libc.TLS, uintptr, int32, uintptr) int32)(unsafe.Pointer(&xControl)))(tls, (*Rbu_file)(unsafe.Pointer(p)).FpReal, op, pArg) + rc = (*struct { + f func(*libc.TLS, uintptr, int32, uintptr) int32 + })(unsafe.Pointer(&struct{ uintptr }{xControl})).f(tls, (*Rbu_file)(unsafe.Pointer(p)).FpReal, op, pArg) if rc == SQLITE_NOTFOUND { // Now search for a zipvfs instance lower down in the VFS stack. If // one is found, this is an error. *(*uintptr)(unsafe.Pointer(bp + 16 /* dummy */)) = uintptr(0) - rc = (*(*func(*libc.TLS, uintptr, int32, uintptr) int32)(unsafe.Pointer(&xControl)))(tls, (*Rbu_file)(unsafe.Pointer(p)).FpReal, SQLITE_FCNTL_ZIPVFS, bp+16 /* &dummy */) + rc = (*struct { + f func(*libc.TLS, uintptr, int32, uintptr) int32 + })(unsafe.Pointer(&struct{ uintptr }{xControl})).f(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+36580 /* "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 @@ -164104,11 +165467,13 @@ func rbuVfsFileControl(tls *libc.TLS, pFile uintptr, op int32, pArg uintptr) int (*Rbu_file)(unsafe.Pointer(p)).FbNolock = U8(1) } - rc = (*(*func(*libc.TLS, uintptr, int32, uintptr) int32)(unsafe.Pointer(&xControl)))(tls, (*Rbu_file)(unsafe.Pointer(p)).FpReal, op, pArg) + rc = (*struct { + f func(*libc.TLS, uintptr, int32, uintptr) int32 + })(unsafe.Pointer(&struct{ uintptr }{xControl})).f(tls, (*Rbu_file)(unsafe.Pointer(p)).FpReal, op, pArg) 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+36603 /* "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 @@ -164121,13 +165486,17 @@ func rbuVfsFileControl(tls *libc.TLS, pFile uintptr, op int32, pArg uintptr) int // Return the sector-size in bytes for an rbuVfs-file. func rbuVfsSectorSize(tls *libc.TLS, pFile uintptr) int32 { /* sqlite3.c:204878:12: */ var p uintptr = pFile - return (*(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(((*Sqlite3_file)(unsafe.Pointer((*Rbu_file)(unsafe.Pointer(p)).FpReal)).FpMethods + 88 /* &.xSectorSize */))))(tls, (*Rbu_file)(unsafe.Pointer(p)).FpReal) + return (*struct { + f func(*libc.TLS, uintptr) int32 + })(unsafe.Pointer(&struct{ uintptr }{(*sqlite3_io_methods)(unsafe.Pointer((*Sqlite3_file)(unsafe.Pointer((*Rbu_file)(unsafe.Pointer(p)).FpReal)).FpMethods)).FxSectorSize})).f(tls, (*Rbu_file)(unsafe.Pointer(p)).FpReal) } // Return the device characteristic flags supported by an rbuVfs-file. func rbuVfsDeviceCharacteristics(tls *libc.TLS, pFile uintptr) int32 { /* sqlite3.c:204886:12: */ var p uintptr = pFile - return (*(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(((*Sqlite3_file)(unsafe.Pointer((*Rbu_file)(unsafe.Pointer(p)).FpReal)).FpMethods + 96 /* &.xDeviceCharacteristics */))))(tls, (*Rbu_file)(unsafe.Pointer(p)).FpReal) + return (*struct { + f func(*libc.TLS, uintptr) int32 + })(unsafe.Pointer(&struct{ uintptr }{(*sqlite3_io_methods)(unsafe.Pointer((*Sqlite3_file)(unsafe.Pointer((*Rbu_file)(unsafe.Pointer(p)).FpReal)).FpMethods)).FxDeviceCharacteristics})).f(tls, (*Rbu_file)(unsafe.Pointer(p)).FpReal) } // Take or release a shared-memory lock. @@ -164151,7 +165520,9 @@ func rbuVfsShmLock(tls *libc.TLS, pFile uintptr, ofst int32, n int32, flags int3 bCapture = 1 } if (bCapture == 0) || (0 == (flags & SQLITE_SHM_UNLOCK)) { - rc = (*(*func(*libc.TLS, uintptr, int32, int32, int32) int32)(unsafe.Pointer(((*Sqlite3_file)(unsafe.Pointer((*Rbu_file)(unsafe.Pointer(p)).FpReal)).FpMethods + 112 /* &.xShmLock */))))(tls, (*Rbu_file)(unsafe.Pointer(p)).FpReal, ofst, n, flags) + rc = (*struct { + f func(*libc.TLS, uintptr, int32, int32, int32) int32 + })(unsafe.Pointer(&struct{ uintptr }{(*sqlite3_io_methods)(unsafe.Pointer((*Sqlite3_file)(unsafe.Pointer((*Rbu_file)(unsafe.Pointer(p)).FpReal)).FpMethods)).FxShmLock})).f(tls, (*Rbu_file)(unsafe.Pointer(p)).FpReal, ofst, n, flags) if (bCapture != 0) && (rc == SQLITE_OK) { *(*U32)(unsafe.Pointer(pRbu + 316 /* &.mLock */)) |= (U32(((int32(1) << n) - 1) << ofst)) } @@ -164204,13 +165575,15 @@ func rbuVfsShmMap(tls *libc.TLS, pFile uintptr, iRegion int32, szRegion int32, i } if rc == SQLITE_OK { - *(*uintptr)(unsafe.Pointer(libc.AtomicLoadUintptr(&pp))) = *(*uintptr)(unsafe.Pointer((*Rbu_file)(unsafe.Pointer(p)).FapShm + uintptr(iRegion)*8)) + *(*uintptr)(unsafe.Pointer(pp)) = *(*uintptr)(unsafe.Pointer((*Rbu_file)(unsafe.Pointer(p)).FapShm + uintptr(iRegion)*8)) } else { - *(*uintptr)(unsafe.Pointer(libc.AtomicLoadUintptr(&pp))) = uintptr(0) + *(*uintptr)(unsafe.Pointer(pp)) = uintptr(0) } } else { - rc = (*(*func(*libc.TLS, uintptr, int32, int32, int32, uintptr) int32)(unsafe.Pointer(((*Sqlite3_file)(unsafe.Pointer((*Rbu_file)(unsafe.Pointer(p)).FpReal)).FpMethods + 104 /* &.xShmMap */))))(tls, (*Rbu_file)(unsafe.Pointer(p)).FpReal, iRegion, szRegion, isWrite, libc.AtomicLoadUintptr(&pp)) + rc = (*struct { + f func(*libc.TLS, uintptr, int32, int32, int32, uintptr) int32 + })(unsafe.Pointer(&struct{ uintptr }{(*sqlite3_io_methods)(unsafe.Pointer((*Sqlite3_file)(unsafe.Pointer((*Rbu_file)(unsafe.Pointer(p)).FpReal)).FpMethods)).FxShmMap})).f(tls, (*Rbu_file)(unsafe.Pointer(p)).FpReal, iRegion, szRegion, isWrite, pp) } return rc @@ -164219,7 +165592,7 @@ func rbuVfsShmMap(tls *libc.TLS, pFile uintptr, iRegion int32, szRegion int32, i // Memory barrier. func rbuVfsShmBarrier(tls *libc.TLS, pFile uintptr) { /* sqlite3.c:204990:13: */ var p uintptr = pFile - (*(*func(*libc.TLS, uintptr))(unsafe.Pointer(((*Sqlite3_file)(unsafe.Pointer((*Rbu_file)(unsafe.Pointer(p)).FpReal)).FpMethods + 120 /* &.xShmBarrier */))))(tls, (*Rbu_file)(unsafe.Pointer(p)).FpReal) + (*struct{ f func(*libc.TLS, uintptr) })(unsafe.Pointer(&struct{ uintptr }{(*sqlite3_io_methods)(unsafe.Pointer((*Sqlite3_file)(unsafe.Pointer((*Rbu_file)(unsafe.Pointer(p)).FpReal)).FpMethods)).FxShmBarrier})).f(tls, (*Rbu_file)(unsafe.Pointer(p)).FpReal) } // The xShmUnmap method. @@ -164238,7 +165611,9 @@ func rbuVfsShmUnmap(tls *libc.TLS, pFile uintptr, delFlag int32) int32 { /* sqli } else { // Release the checkpointer and writer locks rbuUnlockShm(tls, p) - rc = (*(*func(*libc.TLS, uintptr, int32) int32)(unsafe.Pointer(((*Sqlite3_file)(unsafe.Pointer((*Rbu_file)(unsafe.Pointer(p)).FpReal)).FpMethods + 128 /* &.xShmUnmap */))))(tls, (*Rbu_file)(unsafe.Pointer(p)).FpReal, delFlag) + rc = (*struct { + f func(*libc.TLS, uintptr, int32) int32 + })(unsafe.Pointer(&struct{ uintptr }{(*sqlite3_io_methods)(unsafe.Pointer((*Sqlite3_file)(unsafe.Pointer((*Rbu_file)(unsafe.Pointer(p)).FpReal)).FpMethods)).FxShmUnmap})).f(tls, (*Rbu_file)(unsafe.Pointer(p)).FpReal, delFlag) } return rc } @@ -164271,7 +165646,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+8567 /* "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) @@ -164286,14 +165661,16 @@ 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+36614 /* "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) } if rc == SQLITE_OK { - rc = (*(*func(*libc.TLS, uintptr, uintptr, uintptr, int32, uintptr) int32)(unsafe.Pointer((pRealVfs + 40 /* &.xOpen */))))(tls, pRealVfs, zOpen, (*Rbu_file)(unsafe.Pointer(pFd)).FpReal, oflags, pOutFlags) + rc = (*struct { + f func(*libc.TLS, uintptr, uintptr, uintptr, int32, uintptr) int32 + })(unsafe.Pointer(&struct{ uintptr }{(*Sqlite3_vfs)(unsafe.Pointer(pRealVfs)).FxOpen})).f(tls, pRealVfs, zOpen, (*Rbu_file)(unsafe.Pointer(pFd)).FpReal, oflags, pOutFlags) } if (*Sqlite3_file)(unsafe.Pointer((*Rbu_file)(unsafe.Pointer(pFd)).FpReal)).FpMethods != 0 { // The xOpen() operation has succeeded. Set the sqlite3_file.pMethods @@ -164333,7 +165710,9 @@ var rbuvfs_io_methods = Sqlite3_io_methods{ // Delete the file located at zPath. func rbuVfsDelete(tls *libc.TLS, pVfs uintptr, zPath uintptr, dirSync int32) int32 { /* sqlite3.c:205115:12: */ var pRealVfs uintptr = (*Rbu_vfs)(unsafe.Pointer(pVfs)).FpRealVfs - return (*(*func(*libc.TLS, uintptr, uintptr, int32) int32)(unsafe.Pointer((pRealVfs + 48 /* &.xDelete */))))(tls, pRealVfs, zPath, dirSync) + return (*struct { + f func(*libc.TLS, uintptr, uintptr, int32) int32 + })(unsafe.Pointer(&struct{ uintptr }{(*Sqlite3_vfs)(unsafe.Pointer(pRealVfs)).FxDelete})).f(tls, pRealVfs, zPath, dirSync) } // Test for access permissions. Return true if the requested permission @@ -164346,7 +165725,9 @@ func rbuVfsAccess(tls *libc.TLS, pVfs uintptr, zPath uintptr, flags int32, pResO var pRealVfs uintptr = (*Rbu_vfs)(unsafe.Pointer(pRbuVfs)).FpRealVfs var rc int32 - rc = (*(*func(*libc.TLS, uintptr, uintptr, int32, uintptr) int32)(unsafe.Pointer((pRealVfs + 56 /* &.xAccess */))))(tls, pRealVfs, zPath, flags, pResOut) + rc = (*struct { + f func(*libc.TLS, uintptr, uintptr, int32, uintptr) int32 + })(unsafe.Pointer(&struct{ uintptr }{(*Sqlite3_vfs)(unsafe.Pointer(pRealVfs)).FxAccess})).f(tls, pRealVfs, zPath, flags, pResOut) // If this call is to check if a *-wal file associated with an RBU target // database connection exists, and the RBU update is in RBU_STAGE_OAL, @@ -164383,13 +165764,17 @@ func rbuVfsAccess(tls *libc.TLS, pVfs uintptr, zPath uintptr, flags int32, pResO // of at least (DEVSYM_MAX_PATHNAME+1) bytes. func rbuVfsFullPathname(tls *libc.TLS, pVfs uintptr, zPath uintptr, nOut int32, zOut uintptr) int32 { /* sqlite3.c:205172:12: */ var pRealVfs uintptr = (*Rbu_vfs)(unsafe.Pointer(pVfs)).FpRealVfs - return (*(*func(*libc.TLS, uintptr, uintptr, int32, uintptr) int32)(unsafe.Pointer((pRealVfs + 64 /* &.xFullPathname */))))(tls, pRealVfs, zPath, nOut, zOut) + return (*struct { + f func(*libc.TLS, uintptr, uintptr, int32, uintptr) int32 + })(unsafe.Pointer(&struct{ uintptr }{(*Sqlite3_vfs)(unsafe.Pointer(pRealVfs)).FxFullPathname})).f(tls, pRealVfs, zPath, nOut, zOut) } // Open the dynamic library located at zPath and return a handle. func rbuVfsDlOpen(tls *libc.TLS, pVfs uintptr, zPath uintptr) uintptr { /* sqlite3.c:205186:13: */ var pRealVfs uintptr = (*Rbu_vfs)(unsafe.Pointer(pVfs)).FpRealVfs - return (*(*func(*libc.TLS, uintptr, uintptr) uintptr)(unsafe.Pointer((pRealVfs + 72 /* &.xDlOpen */))))(tls, pRealVfs, zPath) + return (*struct { + f func(*libc.TLS, uintptr, uintptr) uintptr + })(unsafe.Pointer(&struct{ uintptr }{(*Sqlite3_vfs)(unsafe.Pointer(pRealVfs)).FxDlOpen})).f(tls, pRealVfs, zPath) } // Populate the buffer zErrMsg (size nByte bytes) with a human readable @@ -164397,39 +165782,51 @@ func rbuVfsDlOpen(tls *libc.TLS, pVfs uintptr, zPath uintptr) uintptr { /* sqlit // with dynamic libraries. func rbuVfsDlError(tls *libc.TLS, pVfs uintptr, nByte int32, zErrMsg uintptr) { /* sqlite3.c:205196:13: */ var pRealVfs uintptr = (*Rbu_vfs)(unsafe.Pointer(pVfs)).FpRealVfs - (*(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer((pRealVfs + 80 /* &.xDlError */))))(tls, pRealVfs, nByte, zErrMsg) + (*struct { + f func(*libc.TLS, uintptr, int32, uintptr) + })(unsafe.Pointer(&struct{ uintptr }{(*Sqlite3_vfs)(unsafe.Pointer(pRealVfs)).FxDlError})).f(tls, pRealVfs, nByte, zErrMsg) } // Return a pointer to the symbol zSymbol in the dynamic library pHandle. func rbuVfsDlSym(tls *libc.TLS, pVfs uintptr, pArg uintptr, zSym uintptr) uintptr { /* sqlite3.c:205204:13: */ var pRealVfs uintptr = (*Rbu_vfs)(unsafe.Pointer(pVfs)).FpRealVfs - return (*(*func(*libc.TLS, uintptr, uintptr, uintptr) uintptr)(unsafe.Pointer((pRealVfs + 88 /* &.xDlSym */))))(tls, pRealVfs, pArg, zSym) + return (*struct { + f func(*libc.TLS, uintptr, uintptr, uintptr) uintptr + })(unsafe.Pointer(&struct{ uintptr }{(*Sqlite3_vfs)(unsafe.Pointer(pRealVfs)).FxDlSym})).f(tls, pRealVfs, pArg, zSym) } // Close the dynamic library handle pHandle. func rbuVfsDlClose(tls *libc.TLS, pVfs uintptr, pHandle uintptr) { /* sqlite3.c:205216:13: */ var pRealVfs uintptr = (*Rbu_vfs)(unsafe.Pointer(pVfs)).FpRealVfs - (*(*func(*libc.TLS, uintptr, uintptr))(unsafe.Pointer((pRealVfs + 96 /* &.xDlClose */))))(tls, pRealVfs, pHandle) + (*struct { + f func(*libc.TLS, uintptr, uintptr) + })(unsafe.Pointer(&struct{ uintptr }{(*Sqlite3_vfs)(unsafe.Pointer(pRealVfs)).FxDlClose})).f(tls, pRealVfs, pHandle) } // Populate the buffer pointed to by zBufOut with nByte bytes of // random data. func rbuVfsRandomness(tls *libc.TLS, pVfs uintptr, nByte int32, zBufOut uintptr) int32 { /* sqlite3.c:205226:12: */ var pRealVfs uintptr = (*Rbu_vfs)(unsafe.Pointer(pVfs)).FpRealVfs - return (*(*func(*libc.TLS, uintptr, int32, uintptr) int32)(unsafe.Pointer((pRealVfs + 104 /* &.xRandomness */))))(tls, pRealVfs, nByte, zBufOut) + return (*struct { + f func(*libc.TLS, uintptr, int32, uintptr) int32 + })(unsafe.Pointer(&struct{ uintptr }{(*Sqlite3_vfs)(unsafe.Pointer(pRealVfs)).FxRandomness})).f(tls, pRealVfs, nByte, zBufOut) } // Sleep for nMicro microseconds. Return the number of microseconds // actually slept. func rbuVfsSleep(tls *libc.TLS, pVfs uintptr, nMicro int32) int32 { /* sqlite3.c:205235:12: */ var pRealVfs uintptr = (*Rbu_vfs)(unsafe.Pointer(pVfs)).FpRealVfs - return (*(*func(*libc.TLS, uintptr, int32) int32)(unsafe.Pointer((pRealVfs + 112 /* &.xSleep */))))(tls, pRealVfs, nMicro) + return (*struct { + f func(*libc.TLS, uintptr, int32) int32 + })(unsafe.Pointer(&struct{ uintptr }{(*Sqlite3_vfs)(unsafe.Pointer(pRealVfs)).FxSleep})).f(tls, pRealVfs, nMicro) } // Return the current time as a Julian Day number in *pTimeOut. func rbuVfsCurrentTime(tls *libc.TLS, pVfs uintptr, pTimeOut uintptr) int32 { /* sqlite3.c:205243:12: */ var pRealVfs uintptr = (*Rbu_vfs)(unsafe.Pointer(pVfs)).FpRealVfs - return (*(*func(*libc.TLS, uintptr, uintptr) int32)(unsafe.Pointer((pRealVfs + 120 /* &.xCurrentTime */))))(tls, pRealVfs, pTimeOut) + return (*struct { + f func(*libc.TLS, uintptr, uintptr) int32 + })(unsafe.Pointer(&struct{ uintptr }{(*Sqlite3_vfs)(unsafe.Pointer(pRealVfs)).FxCurrentTime})).f(tls, pRealVfs, pTimeOut) } // No-op. @@ -164598,54 +165995,54 @@ 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 + 36625 /* "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 { - Fbase Sqlite3_vtab - Fdb uintptr - FiDb int32 - _ [4]byte + Fbase Sqlite3_vtab + Fdb uintptr + FiDb int32 + F__ccgo_pad1 [4]byte } /* sqlite3.c:205445:9 */ // Forward reference to data structured used in this module type StatTable = StatTable1 /* sqlite3.c:205445:26 */ type StatCursor1 = struct { - Fbase Sqlite3_vtab_cursor - FpStmt uintptr - FisEof U8 - FisAgg U8 - _ [2]byte - FiDb int32 - FaPage [32]StatPage - FiPage int32 - FiPageno U32 - FzName uintptr - FzPath uintptr - FzPagetype uintptr - FnPage int32 - FnCell int32 - FnMxPayload int32 - _ [4]byte - FnUnused I64 - FnPayload I64 - FiOffset I64 - FszPage I64 + Fbase Sqlite3_vtab_cursor + FpStmt uintptr + FisEof U8 + FisAgg U8 + F__ccgo_pad1 [2]byte + FiDb int32 + FaPage [32]StatPage + FiPage int32 + FiPageno U32 + FzName uintptr + FzPath uintptr + FzPagetype uintptr + FnPage int32 + FnCell int32 + FnMxPayload int32 + F__ccgo_pad2 [4]byte + FnUnused I64 + FnPayload I64 + FiOffset I64 + FszPage I64 } /* sqlite3.c:205446:9 */ type StatCursor = StatCursor1 /* sqlite3.c:205446:27 */ type StatPage1 = struct { FiPgno U32 - _ [4]byte + F__ccgo_pad1 [4]byte FpPg uintptr FiCell int32 - _ [4]byte + F__ccgo_pad2 [4]byte FzPath uintptr Fflags U8 - _ [3]byte + F__ccgo_pad3 [3]byte FnCell int32 FnUnused int32 - _ [4]byte + F__ccgo_pad4 [4]byte FaCell uintptr FiRightChildPg U32 FnMxPayload int32 @@ -164653,13 +166050,13 @@ type StatPage1 = struct { type StatPage = StatPage1 /* sqlite3.c:205447:25 */ type StatCell1 = struct { - FnLocal int32 - FiChildPg U32 - FnOvfl int32 - _ [4]byte - FaOvfl uintptr - FnLastOvfl int32 - FiOvfl int32 + FnLocal int32 + FiChildPg U32 + FnOvfl int32 + F__ccgo_pad1 [4]byte + FaOvfl uintptr + FnLastOvfl int32 + FiOvfl int32 } /* sqlite3.c:205446:9 */ type StatCell = StatCell1 /* sqlite3.c:205448:25 */ @@ -164679,7 +166076,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+13901 /* "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 { @@ -165202,7 +166599,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+36883 /* "/" */, 0)) + (*StatPage)(unsafe.Pointer((pCsr + 24 /* &.aPage */))).FzPath = libc.AssignUintptr(&z, Xsqlite3_mprintf(tls, ts+36882 /* "/" */, 0)) if !(z == uintptr(0)) { goto __7 } @@ -165260,9 +166657,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 + 36885 /* "overflow" */ + (*StatCursor)(unsafe.Pointer(pCsr)).FzPagetype = ts + 36884 /* "overflow" */ (*StatCursor)(unsafe.Pointer(pCsr)).FzPath = libc.AssignUintptr(&z, Xsqlite3_mprintf(tls, - ts+36894 /* "%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 } @@ -165330,7 +166727,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+36906 /* "%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 } @@ -165373,14 +166770,14 @@ __2: goto __28 __29: // table internal __30: // index internal - (*StatCursor)(unsafe.Pointer(pCsr)).FzPagetype = ts + 36914 /* "internal" */ + (*StatCursor)(unsafe.Pointer(pCsr)).FzPagetype = ts + 36913 /* "internal" */ goto __28 __31: // table leaf __32: // index leaf - (*StatCursor)(unsafe.Pointer(pCsr)).FzPagetype = ts + 36923 /* "leaf" */ + (*StatCursor)(unsafe.Pointer(pCsr)).FzPagetype = ts + 36922 /* "leaf" */ goto __28 __33: - (*StatCursor)(unsafe.Pointer(pCsr)).FzPagetype = ts + 36928 /* "corrupted" */ + (*StatCursor)(unsafe.Pointer(pCsr)).FzPagetype = ts + 36927 /* "corrupted" */ goto __28 __28: ; @@ -165395,7 +166792,7 @@ __34: if !(!(int32((*StatCursor)(unsafe.Pointer(pCsr)).FisAgg) != 0)) { goto __35 } - (*StatCursor)(unsafe.Pointer(pCsr)).FzPath = libc.AssignUintptr(&z, Xsqlite3_mprintf(tls, ts+952 /* "%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 } @@ -165484,13 +166881,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+36938, /* "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+37093 /* "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+37107 /* " 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) { @@ -165575,7 +166972,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+37122 /* "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 @@ -165690,7 +167087,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+37129 /* "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) { @@ -165938,14 +167335,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 + 37196 /* "read-only" */ + zErr = ts + 37195 /* "read-only" */ goto update_fail __1: ; if !(argc == 1) { goto __2 } - zErr = ts + 37206 /* "cannot delete" */ + zErr = ts + 37205 /* "cannot delete" */ goto update_fail __2: ; @@ -165953,7 +167350,7 @@ __2: if !(Pgno(Xsqlite3_value_int(tls, *(*uintptr)(unsafe.Pointer(argv + 1*8)))) != pgno) { goto __3 } - zErr = ts + 37220 /* "cannot insert" */ + zErr = ts + 37219 /* "cannot insert" */ goto update_fail __3: ; @@ -165966,7 +167363,7 @@ __3: if !(iDb < 0) { goto __4 } - zErr = ts + 37234 /* "no such schema" */ + zErr = ts + 37233 /* "no such schema" */ goto update_fail __4: ; @@ -165974,7 +167371,7 @@ __4: if !(((pgno < Pgno(1)) || (pBt == uintptr(0))) || (pgno > Pgno(int32(Xsqlite3BtreeLastPage(tls, pBt))))) { goto __5 } - zErr = ts + 37249 /* "bad page number" */ + zErr = ts + 37248 /* "bad page number" */ goto update_fail __5: ; @@ -165983,7 +167380,7 @@ __5: (Xsqlite3_value_bytes(tls, *(*uintptr)(unsafe.Pointer(argv + 3*8))) != szPage)) { goto __6 } - zErr = ts + 37265 /* "bad page value" */ + zErr = ts + 37264 /* "bad page value" */ goto update_fail __6: ; @@ -166008,7 +167405,7 @@ __7: update_fail: Xsqlite3_free(tls, (*Sqlite3_vtab)(unsafe.Pointer(pVtab)).FzErrMsg) - (*Sqlite3_vtab)(unsafe.Pointer(pVtab)).FzErrMsg = Xsqlite3_mprintf(tls, ts+952 /* "%s" */, libc.VaList(bp, zErr)) + (*Sqlite3_vtab)(unsafe.Pointer(pVtab)).FzErrMsg = Xsqlite3_mprintf(tls, ts+951 /* "%s" */, libc.VaList(bp, zErr)) return SQLITE_ERROR } @@ -166030,7 +167427,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+37280 /* "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 @@ -166078,14 +167475,14 @@ type SessionTable1 = struct { 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 + Fop U8 + FbIndirect U8 + F__ccgo_pad1 [2]byte + FnMaxSize int32 + FnRecord int32 + F__ccgo_pad2 [4]byte + FaRecord uintptr + FpNext uintptr } /* sqlite3.c:11155:9 */ type SessionChange = SessionChange1 /* sqlite3.c:206656:30 */ @@ -166097,18 +167494,18 @@ type SessionBuffer1 = struct { 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 + FbNoDiscard int32 + FiCurrent int32 + FiNext int32 + F__ccgo_pad1 [4]byte + FaData uintptr + FnData int32 + F__ccgo_pad2 [4]byte + Fbuf SessionBuffer + FxInput uintptr + FpIn uintptr + FbEof int32 + F__ccgo_pad3 [4]byte } /* sqlite3.c:11163:9 */ type SessionInput = SessionInput1 /* sqlite3.c:206658:29 */ @@ -166354,9 +167751,13 @@ func sessionPreupdateHash(tls *libc.TLS, pSession uintptr, pTab uintptr, bNew in // 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 */) + rc = (*struct { + f func(*libc.TLS, uintptr, int32, uintptr) int32 + })(unsafe.Pointer(&struct{ uintptr }{(*Sqlite3_session)(unsafe.Pointer(pSession)).Fhook.FxNew})).f(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 */) + rc = (*struct { + f func(*libc.TLS, uintptr, int32, uintptr) int32 + })(unsafe.Pointer(&struct{ uintptr }{(*Sqlite3_session)(unsafe.Pointer(pSession)).Fhook.FxOld})).f(tls, (*Sqlite3_session)(unsafe.Pointer(pSession)).Fhook.FpCtx, i, bp /* &pVal */) } if rc != SQLITE_OK { return rc @@ -166675,10 +168076,14 @@ func sessionPreupdateEqual(tls *libc.TLS, pSession uintptr, pTab uintptr, pChang // 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 */) + rc = (*struct { + f func(*libc.TLS, uintptr, int32, uintptr) int32 + })(unsafe.Pointer(&struct{ uintptr }{(*Sqlite3_session)(unsafe.Pointer(pSession)).Fhook.FxNew})).f(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 */) + rc = (*struct { + f func(*libc.TLS, uintptr, int32, uintptr) int32 + })(unsafe.Pointer(&struct{ uintptr }{(*Sqlite3_session)(unsafe.Pointer(pSession)).Fhook.FxOld})).f(tls, (*Sqlite3_session)(unsafe.Pointer(pSession)).Fhook.FpCtx, iCol, bp /* &pVal */) } if Xsqlite3_value_type(tls, *(*uintptr)(unsafe.Pointer(bp /* pVal */))) != eType { @@ -166816,20 +168221,20 @@ func sessionTableInfo(tls *libc.TLS, pSession uintptr, db uintptr, zDb uintptr, var abPK uintptr = uintptr(0) nThis = Xsqlite3Strlen30(tls, zThis) - if (nThis == 12) && (0 == Xsqlite3_stricmp(tls, ts+13347 /* "sqlite_stat1" */, 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+37294 /* "SELECT 0, 'tbl',..." */, 0) + ts+37293 /* "SELECT 0, 'tbl',..." */, 0) } else if rc == SQLITE_ERROR { - zPragma = Xsqlite3_mprintf(tls, ts+916 /* "" */, 0) + zPragma = Xsqlite3_mprintf(tls, ts+915 /* "" */, 0) } else { return rc } } else { - zPragma = Xsqlite3_mprintf(tls, ts+37415 /* "PRAGMA '%q'.tabl..." */, libc.VaList(bp, zDb, zThis)) + zPragma = Xsqlite3_mprintf(tls, ts+37414 /* "PRAGMA '%q'.tabl..." */, libc.VaList(bp, zDb, zThis)) } if !(zPragma != 0) { return SQLITE_NOMEM @@ -166929,7 +168334,7 @@ func sessionInitTable(tls *libc.TLS, pSession uintptr, pTab uintptr) int32 { /* break } } - if 0 == Xsqlite3_stricmp(tls, ts+13347 /* "sqlite_stat1" */, (*SessionTable)(unsafe.Pointer(pTab)).FzName) { + if 0 == Xsqlite3_stricmp(tls, ts+13346 /* "sqlite_stat1" */, (*SessionTable)(unsafe.Pointer(pTab)).FzName) { (*SessionTable)(unsafe.Pointer(pTab)).FbStat1 = 1 } @@ -166962,7 +168367,9 @@ func sessionStat1Old(tls *libc.TLS, pCtx uintptr, iCol int32, ppVal uintptr) int 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 */) + var rc int32 = (*struct { + f func(*libc.TLS, uintptr, int32, uintptr) int32 + })(unsafe.Pointer(&struct{ uintptr }{(*SessionStat1Ctx)(unsafe.Pointer(p)).Fhook.FxOld})).f(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 } @@ -166976,7 +168383,9 @@ func sessionStat1New(tls *libc.TLS, pCtx uintptr, iCol int32, ppVal uintptr) int 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 */) + var rc int32 = (*struct { + f func(*libc.TLS, uintptr, int32, uintptr) int32 + })(unsafe.Pointer(&struct{ uintptr }{(*SessionStat1Ctx)(unsafe.Pointer(p)).Fhook.FxNew})).f(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 } @@ -166986,12 +168395,16 @@ func sessionStat1New(tls *libc.TLS, pCtx uintptr, iCol int32, ppVal uintptr) int 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) + return (*struct { + f func(*libc.TLS, uintptr) int32 + })(unsafe.Pointer(&struct{ uintptr }{(*SessionStat1Ctx)(unsafe.Pointer(p)).Fhook.FxCount})).f(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) + return (*struct { + f func(*libc.TLS, uintptr) int32 + })(unsafe.Pointer(&struct{ uintptr }{(*SessionStat1Ctx)(unsafe.Pointer(p)).Fhook.FxDepth})).f(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: */ @@ -167004,7 +168417,9 @@ func sessionUpdateMaxSize(tls *libc.TLS, op int32, pSession uintptr, pTab uintpt 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 */) + (*struct { + f func(*libc.TLS, uintptr, int32, uintptr) int32 + })(unsafe.Pointer(&struct{ uintptr }{(*Sqlite3_session)(unsafe.Pointer(pSession)).Fhook.FxNew})).f(tls, (*Sqlite3_session)(unsafe.Pointer(pSession)).Fhook.FpCtx, ii, bp /* &p */) sessionSerializeValue(tls, uintptr(0), *(*uintptr)(unsafe.Pointer(bp /* p */)), bp+8 /* &nNew */) } } @@ -167021,7 +168436,9 @@ func sessionUpdateMaxSize(tls *libc.TLS, op int32, pSession uintptr, pTab uintpt 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 */) + (*struct { + f func(*libc.TLS, uintptr, int32, uintptr) int32 + })(unsafe.Pointer(&struct{ uintptr }{(*Sqlite3_session)(unsafe.Pointer(pSession)).Fhook.FxNew})).f(tls, (*Sqlite3_session)(unsafe.Pointer(pSession)).Fhook.FpCtx, ii, bp+16 /* &p */) if *(*uintptr)(unsafe.Pointer(bp + 16 /* p */)) == uintptr(0) { return SQLITE_NOMEM } @@ -167149,7 +168566,9 @@ __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)) { + if !((*SessionTable)(unsafe.Pointer(pTab)).FnCol != (*struct { + f func(*libc.TLS, uintptr) int32 + })(unsafe.Pointer(&struct{ uintptr }{(*Sqlite3_session)(unsafe.Pointer(pSession)).Fhook.FxCount})).f(tls, (*Sqlite3_session)(unsafe.Pointer(pSession)).Fhook.FpCtx)) { goto __3 } (*Sqlite3_session)(unsafe.Pointer(pSession)).Frc = SQLITE_SCHEMA @@ -167195,7 +168614,7 @@ __4: goto error_out __7: ; - Xsqlite3ValueSetStr(tls, p, 0, ts+916 /* "" */, uint8(0), uintptr(0)) + Xsqlite3ValueSetStr(tls, p, 0, ts+915 /* "" */, uint8(0), uintptr(0)) (*Sqlite3_session)(unsafe.Pointer(pSession)).FpZeroBlob = p __6: ; @@ -167252,14 +168671,18 @@ __16: 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 */) + (*struct { + f func(*libc.TLS, uintptr, int32, uintptr) int32 + })(unsafe.Pointer(&struct{ uintptr }{(*Sqlite3_session)(unsafe.Pointer(pSession)).Fhook.FxOld})).f(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 */) + (*struct { + f func(*libc.TLS, uintptr, int32, uintptr) int32 + })(unsafe.Pointer(&struct{ uintptr }{(*Sqlite3_session)(unsafe.Pointer(pSession)).Fhook.FxNew})).f(tls, (*Sqlite3_session)(unsafe.Pointer(pSession)).Fhook.FpCtx, i, bp+56 /* &p1 */) __21: ; @@ -167311,13 +168734,17 @@ __25: 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 */) + (*struct { + f func(*libc.TLS, uintptr, int32, uintptr) int32 + })(unsafe.Pointer(&struct{ uintptr }{(*Sqlite3_session)(unsafe.Pointer(pSession)).Fhook.FxOld})).f(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 */) + (*struct { + f func(*libc.TLS, uintptr, int32, uintptr) int32 + })(unsafe.Pointer(&struct{ uintptr }{(*Sqlite3_session)(unsafe.Pointer(pSession)).Fhook.FxNew})).f(tls, (*Sqlite3_session)(unsafe.Pointer(pSession)).Fhook.FpCtx, i, bp+72 /* &p2 */) __30: ; __29: @@ -167332,7 +168759,9 @@ __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)) { + if !(((*Sqlite3_session)(unsafe.Pointer(pSession)).FbIndirect != 0) || ((*struct { + f func(*libc.TLS, uintptr) int32 + })(unsafe.Pointer(&struct{ uintptr }{(*Sqlite3_session)(unsafe.Pointer(pSession)).Fhook.FxDepth})).f(tls, (*Sqlite3_session)(unsafe.Pointer(pSession)).Fhook.FpCtx) != 0)) { goto __31 } (*SessionChange)(unsafe.Pointer(pC)).FbIndirect = U8(1) @@ -167350,7 +168779,9 @@ __14: } // 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) && + if !(((*struct { + f func(*libc.TLS, uintptr) int32 + })(unsafe.Pointer(&struct{ uintptr }{(*Sqlite3_session)(unsafe.Pointer(pSession)).Fhook.FxDepth})).f(tls, (*Sqlite3_session)(unsafe.Pointer(pSession)).Fhook.FpCtx) == 0) && ((*Sqlite3_session)(unsafe.Pointer(pSession)).FbIndirect == 0)) { goto __33 } @@ -167402,7 +168833,9 @@ func sessionFindTable(tls *libc.TLS, pSession uintptr, zName uintptr, ppTab uint // 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) { + ((*struct { + f func(*libc.TLS, uintptr, uintptr) int32 + })(unsafe.Pointer(&struct{ uintptr }{(*Sqlite3_session)(unsafe.Pointer(pSession)).FxTableFilter})).f(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 { @@ -167487,9 +168920,9 @@ func sessionPreupdateHooks(tls *libc.TLS, pSession uintptr) { /* sqlite3.c:20816 } type SessionDiffCtx1 = struct { - FpStmt uintptr - FnOldOff int32 - _ [4]byte + FpStmt uintptr + FnOldOff int32 + F__ccgo_pad1 [4]byte } /* sqlite3.c:208177:9 */ type SessionDiffCtx = SessionDiffCtx1 /* sqlite3.c:208177:31 */ @@ -167542,14 +168975,14 @@ func sessionExprComparePK(tls *libc.TLS, nCol int32, zDb1 uintptr, zDb2 uintptr, defer tls.Free(64) var i int32 - var zSep uintptr = ts + 916 /* "" */ + 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+37444, /* "%z%s\"%w\".\"%w\".\"%..." */ + 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 + 24074 /* " AND " */ + zSep = ts + 24073 /* " AND " */ if zRet == uintptr(0) { break } @@ -167564,7 +168997,7 @@ func sessionExprCompareOther(tls *libc.TLS, nCol int32, zDb1 uintptr, zDb2 uintp defer tls.Free(64) var i int32 - var zSep uintptr = ts + 916 /* "" */ + var zSep uintptr = ts + 915 /* "" */ var zRet uintptr = uintptr(0) var bHave int32 = 0 @@ -167572,9 +169005,9 @@ func sessionExprCompareOther(tls *libc.TLS, nCol int32, zDb1 uintptr, zDb2 uintp if int32(*(*U8)(unsafe.Pointer(abPK + uintptr(i)))) == 0 { bHave = 1 zRet = Xsqlite3_mprintf(tls, - ts+37478, /* "%z%s\"%w\".\"%w\".\"%..." */ + 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 + 37519 /* " OR " */ + zSep = ts + 37518 /* " OR " */ if zRet == uintptr(0) { break } @@ -167583,7 +169016,7 @@ func sessionExprCompareOther(tls *libc.TLS, nCol int32, zDb1 uintptr, zDb2 uintp if bHave == 0 { - zRet = Xsqlite3_mprintf(tls, ts+9615 /* "0" */, 0) + zRet = Xsqlite3_mprintf(tls, ts+9614 /* "0" */, 0) } return zRet @@ -167595,7 +169028,7 @@ func sessionSelectFindNew(tls *libc.TLS, nCol int32, zDb1 uintptr, zDb2 uintptr, var zRet uintptr = Xsqlite3_mprintf(tls, - ts+37524, /* "SELECT * FROM \"%..." */ + ts+37523, /* "SELECT * FROM \"%..." */ libc.VaList(bp, zDb1, zTbl, zDb2, zTbl, zExpr)) return zRet } @@ -167640,7 +169073,7 @@ func sessionDiffFindModified(tls *libc.TLS, pSession uintptr, pTab uintptr, zFro rc = SQLITE_NOMEM } else { var zStmt uintptr = Xsqlite3_mprintf(tls, - ts+37602, /* "SELECT * FROM \"%..." */ + 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 @@ -167778,7 +169211,7 @@ __6: if !(pzErrMsg != 0) { goto __16 } - *(*uintptr)(unsafe.Pointer(pzErrMsg)) = Xsqlite3_mprintf(tls, ts+37655 /* "table schemas do..." */, 0) + *(*uintptr)(unsafe.Pointer(pzErrMsg)) = Xsqlite3_mprintf(tls, ts+37654 /* "table schemas do..." */, 0) __16: ; rc = SQLITE_SCHEMA @@ -168120,7 +169553,7 @@ func sessionAppendInteger(tls *libc.TLS, p uintptr, iVal int32, pRc uintptr) { / // var aBuf [24]int8 at bp+8, 24 - Xsqlite3_snprintf(tls, (int32(uint64(unsafe.Sizeof([24]int8{})) - uint64(1))), bp+8 /* &aBuf[0] */, ts+6846 /* "%d" */, libc.VaList(bp, iVal)) + 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) } @@ -168383,30 +169816,30 @@ func sessionSelectStmt(tls *libc.TLS, db uintptr, zDb uintptr, zTab uintptr, nCo var zSql uintptr = uintptr(0) var nSql int32 = -1 - if 0 == Xsqlite3_stricmp(tls, ts+13347 /* "sqlite_stat1" */, zTab) { + if 0 == Xsqlite3_stricmp(tls, ts+13346 /* "sqlite_stat1" */, zTab) { zSql = Xsqlite3_mprintf(tls, - ts+37682 /* "SELECT tbl, ?2, ..." */, libc.VaList(bp, zDb)) + 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 + 916 /* "" */ + var zSep uintptr = ts + 915 /* "" */ *(*SessionBuffer)(unsafe.Pointer(bp + 8 /* buf */)) = SessionBuffer{} - sessionAppendStr(tls, bp+8 /* &buf */, ts+37792 /* "SELECT * FROM " */, bp+24 /* &rc */) + 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+929 /* "." */, 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+37807 /* " WHERE " */, 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+37815 /* " IS ?" */, 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 + 24074 /* " AND " */ + zSep = ts + 24073 /* " AND " */ } } zSql = (*SessionBuffer)(unsafe.Pointer(bp + 8 /* &buf */)).FaBuf @@ -168546,7 +169979,7 @@ func sessionGenerateChangeset(tls *libc.TLS, pSession uintptr, bPatchset int32, if (*Sqlite3_session)(unsafe.Pointer(pSession)).Frc != 0 { return (*Sqlite3_session)(unsafe.Pointer(pSession)).Frc } - *(*int32)(unsafe.Pointer(bp + 40 /* rc */)) = Xsqlite3_exec(tls, (*Sqlite3_session)(unsafe.Pointer(pSession)).Fdb, ts+37821 /* "SAVEPOINT change..." */, uintptr(0), uintptr(0), uintptr(0)) + *(*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 */)) } @@ -168614,7 +170047,9 @@ func sessionGenerateChangeset(tls *libc.TLS, pSession uintptr, bPatchset int32, (*(*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) + *(*int32)(unsafe.Pointer(bp + 40 /* rc */)) = (*struct { + f func(*libc.TLS, uintptr, uintptr, int32) int32 + })(unsafe.Pointer(&struct{ uintptr }{xOutput})).f(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 } @@ -168636,12 +170071,14 @@ func sessionGenerateChangeset(tls *libc.TLS, pSession uintptr, bPatchset int32, *(*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) + *(*int32)(unsafe.Pointer(bp + 40 /* rc */)) = (*struct { + f func(*libc.TLS, uintptr, uintptr, int32) int32 + })(unsafe.Pointer(&struct{ uintptr }{xOutput})).f(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+37841 /* "RELEASE changese..." */, uintptr(0), uintptr(0), uintptr(0)) + 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 */)) } @@ -168837,7 +170274,9 @@ func sessionInputBuffer(tls *libc.TLS, pIn uintptr, nByte int32) int32 { /* sqli 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 */) + *(*int32)(unsafe.Pointer(bp /* rc */)) = (*struct { + f func(*libc.TLS, uintptr, uintptr, uintptr) int32 + })(unsafe.Pointer(&struct{ uintptr }{(*SessionInput)(unsafe.Pointer(pIn)).FxInput})).f(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 { @@ -169704,7 +171143,9 @@ __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) + *(*int32)(unsafe.Pointer(bp + 40 /* rc */)) = (*struct { + f func(*libc.TLS, uintptr, uintptr, int32) int32 + })(unsafe.Pointer(&struct{ uintptr }{xOutput})).f(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 @@ -169729,7 +171170,9 @@ __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) + *(*int32)(unsafe.Pointer(bp + 40 /* rc */)) = (*struct { + f func(*libc.TLS, uintptr, uintptr, int32) int32 + })(unsafe.Pointer(&struct{ uintptr }{xOutput})).f(tls, pOut, (*SessionBuffer)(unsafe.Pointer(bp /* &sOut */)).FaBuf, (*SessionBuffer)(unsafe.Pointer(bp /* &sOut */)).FnBuf) __32: ; __31: @@ -169790,7 +171233,7 @@ type SessionApplyCtx1 = struct { FpInsert uintptr FpSelect uintptr FnCol int32 - _ [4]byte + F__ccgo_pad1 [4]byte FazCol uintptr FabPK uintptr FaUpdateMask uintptr @@ -169798,12 +171241,12 @@ type SessionApplyCtx1 = struct { FbStat1 int32 FbDeferConstraints int32 FbInvertConstraints int32 - _ [4]byte + F__ccgo_pad2 [4]byte Fconstraints SessionBuffer Frebase SessionBuffer FbRebaseStarted U8 FbRebase U8 - _ [6]byte + F__ccgo_pad3 [6]byte } /* sqlite3.c:210362:9 */ type SessionApplyCtx = SessionApplyCtx1 /* sqlite3.c:210362:32 */ @@ -169875,36 +171318,36 @@ func sessionUpdateFind(tls *libc.TLS, pIter uintptr, p uintptr, bPatchset int32, 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+13347 /* "sqlite_stat1" */) == 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 + 916 /* "" */ + 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+37859 /* "UPDATE main." */, bp+16 /* &rc */) + 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+37872 /* " SET " */, 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+37878 /* " = ?" */, bp+16 /* &rc */) + sessionAppendStr(tls, bp /* &buf */, ts+37877 /* " = ?" */, bp+16 /* &rc */) sessionAppendInteger(tls, bp /* &buf */, ((ii * 2) + 1), bp+16 /* &rc */) - zSep = ts + 16637 /* ", " */ + zSep = ts + 16636 /* ", " */ } } // Create the WHERE clause part of the UPDATE - zSep = ts + 916 /* "" */ - sessionAppendStr(tls, bp /* &buf */, ts+37807 /* " WHERE " */, bp+16 /* &rc */) + 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 */) @@ -169912,13 +171355,13 @@ func sessionUpdateFind(tls *libc.TLS, pIter uintptr, p uintptr, bPatchset int32, sessionAppendStr(tls, bp, /* &buf */ - ts+37883 /* "idx IS CASE WHEN..." */, bp+16 /* &rc */) + 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+37815 /* " IS ?" */, 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 + 24074 /* " AND " */ + zSep = ts + 24073 /* " AND " */ } } @@ -169981,42 +171424,42 @@ func sessionDeleteRow(tls *libc.TLS, db uintptr, zTab uintptr, p uintptr) int32 defer tls.Free(20) var i int32 - var zSep uintptr = ts + 916 /* "" */ + 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+37958 /* "DELETE FROM main..." */, bp+16 /* &rc */) + 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+37807 /* " WHERE " */, 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+37878 /* " = ?" */, bp+16 /* &rc */) + sessionAppendStr(tls, bp /* &buf */, ts+37877 /* " = ?" */, bp+16 /* &rc */) sessionAppendInteger(tls, bp /* &buf */, (i + 1), bp+16 /* &rc */) - zSep = ts + 24074 /* " AND " */ + zSep = ts + 24073 /* " AND " */ } } if nPk < (*SessionApplyCtx)(unsafe.Pointer(p)).FnCol { - sessionAppendStr(tls, bp /* &buf */, ts+37976 /* " AND (?" */, bp+16 /* &rc */) + 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+37519 /* " OR " */, bp+16 /* &rc */) + sessionAppendStr(tls, bp /* &buf */, ts+37518 /* " OR " */, bp+16 /* &rc */) - zSep = ts + 916 /* "" */ + 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+37815 /* " IS ?" */, bp+16 /* &rc */) + sessionAppendStr(tls, bp /* &buf */, ts+37814 /* " IS ?" */, bp+16 /* &rc */) sessionAppendInteger(tls, bp /* &buf */, (i + 1), bp+16 /* &rc */) - zSep = ts + 37984 /* "AND " */ + zSep = ts + 37983 /* "AND " */ } } - sessionAppendStr(tls, bp /* &buf */, ts+6888 /* ")" */, bp+16 /* &rc */) + sessionAppendStr(tls, bp /* &buf */, ts+6887 /* ")" */, bp+16 /* &rc */) } if *(*int32)(unsafe.Pointer(bp + 16 /* rc */)) == SQLITE_OK { @@ -170040,7 +171483,7 @@ func sessionDeleteRow(tls *libc.TLS, db uintptr, zTab uintptr, p uintptr) int32 // 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+8567 /* "main" */, zTab, (*SessionApplyCtx)(unsafe.Pointer(p)).FnCol, (*SessionApplyCtx)(unsafe.Pointer(p)).FazCol, (*SessionApplyCtx)(unsafe.Pointer(p)).FabPK, (p + 24 /* &.pSelect */)) + 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. @@ -170058,21 +171501,21 @@ func sessionInsertRow(tls *libc.TLS, db uintptr, zTab uintptr, p uintptr) int32 var i int32 *(*SessionBuffer)(unsafe.Pointer(bp /* buf */)) = SessionBuffer{} - sessionAppendStr(tls, bp /* &buf */, ts+37989 /* "INSERT INTO main..." */, bp+16 /* &rc */) + 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+24080 /* "(" */, 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+16637 /* ", " */, bp+16 /* &rc */) + 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+38007 /* ") VALUES(?" */, 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+38018 /* ", ?" */, bp+16 /* &rc */) + sessionAppendStr(tls, bp /* &buf */, ts+38017 /* ", ?" */, bp+16 /* &rc */) } - sessionAppendStr(tls, bp /* &buf */, ts+6888 /* ")" */, 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)) @@ -170090,16 +171533,16 @@ func sessionPrepare(tls *libc.TLS, db uintptr, pp uintptr, zSql uintptr) int32 { // 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+13347 /* "sqlite_stat1" */, p) + var rc int32 = sessionSelectRow(tls, db, ts+13346 /* "sqlite_stat1" */, p) if rc == SQLITE_OK { rc = sessionPrepare(tls, db, (p + 16 /* &.pInsert */), - ts+38022 /* "INSERT INTO main..." */) + ts+38021 /* "INSERT INTO main..." */) } if rc == SQLITE_OK { rc = sessionPrepare(tls, db, (p + 8 /* &.pDelete */), - ts+38135 /* "DELETE FROM main..." */) + ts+38134 /* "DELETE FROM main..." */) } return rc } @@ -170149,7 +171592,9 @@ func sessionBindRow(tls *libc.TLS, pIter uintptr, xValue uintptr, nCol int32, ab 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 */) + (*struct { + f func(*libc.TLS, uintptr, int32, uintptr) int32 + })(unsafe.Pointer(&struct{ uintptr }{xValue})).f(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. @@ -170318,7 +171763,9 @@ func sessionConflictHandler(tls *libc.TLS, eType int32, p uintptr, pIter uintptr 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) + res = (*struct { + f func(*libc.TLS, uintptr, int32, uintptr) int32 + })(unsafe.Pointer(&struct{ uintptr }{xConflict})).f(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 { @@ -170331,7 +171778,9 @@ func sessionConflictHandler(tls *libc.TLS, eType int32, p uintptr, pIter uintptr 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) + res = (*struct { + f func(*libc.TLS, uintptr, int32, uintptr) int32 + })(unsafe.Pointer(&struct{ uintptr }{xConflict})).f(tls, pCtx, (eType + 1), pIter) if res == SQLITE_CHANGESET_REPLACE { *(*int32)(unsafe.Pointer(bp + 16 /* rc */)) = SQLITE_MISUSE } @@ -170546,7 +171995,7 @@ func sessionApplyOneWithRetry(tls *libc.TLS, db uintptr, pIter uintptr, pApply u 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+38279 /* "SAVEPOINT replac..." */, uintptr(0), uintptr(0), uintptr(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 { @@ -170562,7 +172011,7 @@ func sessionApplyOneWithRetry(tls *libc.TLS, db uintptr, pIter uintptr, pApply u rc = sessionApplyOneOp(tls, pIter, pApply, xConflict, pCtx, uintptr(0), uintptr(0)) } if rc == SQLITE_OK { - rc = Xsqlite3_exec(tls, db, ts+38300 /* "RELEASE replace_..." */, uintptr(0), uintptr(0), uintptr(0)) + rc = Xsqlite3_exec(tls, db, ts+38299 /* "RELEASE replace_..." */, uintptr(0), uintptr(0), uintptr(0)) } } } @@ -170643,10 +172092,10 @@ func sessionChangesetApply(tls *libc.TLS, db uintptr, pIter uintptr, xFilter uin (*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+38319 /* "SAVEPOINT change..." */, uintptr(0), uintptr(0), uintptr(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+38345 /* "PRAGMA defer_for..." */, uintptr(0), uintptr(0), uintptr(0)) + 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 @@ -170686,9 +172135,11 @@ func sessionChangesetApply(tls *libc.TLS, db uintptr, pIter uintptr, xFilter uin // 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 */)))))) + schemaMismatch = (libc.Bool32((xFilter != 0) && (0 == (*struct { + f func(*libc.TLS, uintptr, uintptr) int32 + })(unsafe.Pointer(&struct{ uintptr }{xFilter})).f(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 */)))) + *(*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 @@ -170701,7 +172152,7 @@ func sessionChangesetApply(tls *libc.TLS, db uintptr, pIter uintptr, xFilter uin Xsqlite3changeset_pk(tls, pIter, bp+192 /* &abPK */, uintptr(0)) rc = sessionTableInfo(tls, uintptr(0), - db, ts+8567 /* "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 */)) + 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 } @@ -170714,20 +172165,20 @@ func sessionChangesetApply(tls *libc.TLS, db uintptr, pIter uintptr, xFilter uin if (*SessionApplyCtx)(unsafe.Pointer(bp+48 /* &sApply */)).FnCol == 0 { schemaMismatch = 1 Xsqlite3_log(tls, SQLITE_SCHEMA, - ts+38375 /* "sqlite3changeset..." */, libc.VaList(bp+8, *(*uintptr)(unsafe.Pointer(bp + 200 /* zTab */)))) + 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+38419, /* "sqlite3changeset..." */ + 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+38490 /* "sqlite3changeset..." */, libc.VaList(bp+40, *(*uintptr)(unsafe.Pointer(bp + 200 /* zTab */)))) + 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+13347 /* "sqlite_stat1" */) { + 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 } @@ -170777,20 +172228,22 @@ func sessionChangesetApply(tls *libc.TLS, db uintptr, pIter uintptr, xFilter uin 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 */) + res = (*struct { + f func(*libc.TLS, uintptr, int32, uintptr) int32 + })(unsafe.Pointer(&struct{ uintptr }{xConflict})).f(tls, pCtx, SQLITE_CHANGESET_FOREIGN_KEY, bp+216 /* &sIter */) if res != SQLITE_CHANGESET_OMIT { rc = SQLITE_CONSTRAINT } } } - Xsqlite3_exec(tls, db, ts+38550 /* "PRAGMA defer_for..." */, uintptr(0), uintptr(0), uintptr(0)) + 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+38580 /* "RELEASE changese..." */, uintptr(0), uintptr(0), uintptr(0)) + rc = Xsqlite3_exec(tls, db, ts+38579 /* "RELEASE changese..." */, uintptr(0), uintptr(0), uintptr(0)) } else { - Xsqlite3_exec(tls, db, ts+38604 /* "ROLLBACK TO chan..." */, uintptr(0), uintptr(0), uintptr(0)) - Xsqlite3_exec(tls, db, ts+38580 /* "RELEASE changese..." */, uintptr(0), uintptr(0), uintptr(0)) + 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)) } } @@ -171188,7 +172641,9 @@ func sessionChangegroupOutput(tls *libc.TLS, pGrp uintptr, xOutput uintptr, pOut 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) + *(*int32)(unsafe.Pointer(bp + 16 /* rc */)) = (*struct { + f func(*libc.TLS, uintptr, uintptr, int32) int32 + })(unsafe.Pointer(&struct{ uintptr }{xOutput})).f(tls, pOut, (*SessionBuffer)(unsafe.Pointer(bp /* &buf */)).FaBuf, (*SessionBuffer)(unsafe.Pointer(bp /* &buf */)).FnBuf) (*SessionBuffer)(unsafe.Pointer(bp /* &buf */)).FnBuf = 0 } } @@ -171198,7 +172653,9 @@ func sessionChangegroupOutput(tls *libc.TLS, pGrp uintptr, xOutput uintptr, pOut 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) + *(*int32)(unsafe.Pointer(bp + 16 /* rc */)) = (*struct { + f func(*libc.TLS, uintptr, uintptr, int32) int32 + })(unsafe.Pointer(&struct{ uintptr }{xOutput})).f(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 @@ -171539,7 +172996,9 @@ func sessionRebase(tls *libc.TLS, p uintptr, pIter uintptr, xOutput uintptr, pOu 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) + *(*int32)(unsafe.Pointer(bp + 32 /* rc */)) = (*struct { + f func(*libc.TLS, uintptr, uintptr, int32) int32 + })(unsafe.Pointer(&struct{ uintptr }{xOutput})).f(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 { @@ -171555,7 +173014,9 @@ func sessionRebase(tls *libc.TLS, p uintptr, pIter uintptr, xOutput uintptr, pOu 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) + *(*int32)(unsafe.Pointer(bp + 32 /* rc */)) = (*struct { + f func(*libc.TLS, uintptr, uintptr, int32) int32 + })(unsafe.Pointer(&struct{ uintptr }{xOutput})).f(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 @@ -171806,14 +173267,14 @@ type Fts5Config1 = struct { FzDb uintptr FzName uintptr FnCol int32 - _ [4]byte + F__ccgo_pad1 [4]byte FazCol uintptr FabUnindexed uintptr FnPrefix int32 - _ [4]byte + F__ccgo_pad2 [4]byte FaPrefix uintptr FeContent int32 - _ [4]byte + F__ccgo_pad3 [4]byte FzContent uintptr FzContentRowid uintptr FbColumnsize int32 @@ -171868,13 +173329,13 @@ type Fts5Buffer1 = struct { type Fts5Buffer = Fts5Buffer1 /* sqlite3.c:213265:27 */ type Fts5PoslistReader1 = struct { - Fa uintptr - Fn int32 - Fi int32 - FbFlag U8 - FbEof U8 - _ [6]byte - FiPos I64 + Fa uintptr + Fn int32 + Fi int32 + FbFlag U8 + FbEof U8 + F__ccgo_pad1 [6]byte + FiPos I64 } /* sqlite3.c:213118:9 */ type Fts5PoslistReader = Fts5PoslistReader1 /* sqlite3.c:213301:34 */ @@ -171902,10 +173363,10 @@ type Fts5Index1 = struct { FpConfig uintptr FzDataTbl uintptr FnWorkUnit int32 - _ [4]byte + F__ccgo_pad1 [4]byte FpHash uintptr FnPendingData int32 - _ [4]byte + F__ccgo_pad2 [4]byte FiWriteRowid I64 FbDelete int32 Frc int32 @@ -171916,7 +173377,7 @@ type Fts5Index1 = struct { FpIdxDeleter uintptr FpIdxSelect uintptr FnRead int32 - _ [4]byte + F__ccgo_pad3 [4]byte FpDataVersion uintptr FiStructVersion I64 FpStruct uintptr @@ -171933,11 +173394,11 @@ type Fts5Index1 = struct { type Fts5Index = Fts5Index1 /* sqlite3.c:213356:26 */ type Fts5IndexIter1 = struct { - FiRowid I64 - FpData uintptr - FnData int32 - FbEof U8 - _ [3]byte + FiRowid I64 + FpData uintptr + FnData int32 + FbEof U8 + F__ccgo_pad1 [3]byte } /* sqlite3.c:213118:9 */ type Fts5IndexIter = Fts5IndexIter1 /* sqlite3.c:213357:30 */ @@ -171976,13 +173437,13 @@ type Fts5Table = Fts5Table1 /* sqlite3.c:213556:26 */ // // Interface to code in fts5_hash.c. type Fts5Hash1 = struct { - FeDetail int32 - _ [4]byte - FpnByte uintptr - FnEntry int32 - FnSlot int32 - FpScan uintptr - FaSlot uintptr + FeDetail int32 + F__ccgo_pad1 [4]byte + FpnByte uintptr + FnEntry int32 + FnSlot int32 + FpScan uintptr + FaSlot uintptr } /* sqlite3.c:213118:9 */ // @@ -172007,7 +173468,7 @@ type Fts5Storage1 = struct { FpConfig uintptr FpIndex uintptr FbTotalsValid int32 - _ [4]byte + F__ccgo_pad1 [4]byte FnTotalRow I64 FaTotalSize uintptr FaStmt [11]uintptr @@ -172049,16 +173510,16 @@ type Fts5Expr1 = struct { // Interface to code in fts5_expr.c. type Fts5Expr = Fts5Expr1 /* sqlite3.c:213681:25 */ type Fts5ExprNode1 = struct { - FeType int32 - FbEof int32 - FbNomatch int32 - _ [4]byte - FxNext uintptr - FiRowid I64 - FpNear uintptr - FnChild int32 - _ [4]byte - FapChild [1]uintptr + FeType int32 + FbEof int32 + FbNomatch int32 + F__ccgo_pad1 [4]byte + FxNext uintptr + FiRowid I64 + FpNear uintptr + FnChild int32 + F__ccgo_pad2 [4]byte + FapChild [1]uintptr } /* sqlite3.c:213118:9 */ type Fts5ExprNode = Fts5ExprNode1 /* sqlite3.c:213682:29 */ @@ -172070,33 +173531,33 @@ type Fts5Parse1 = struct { FapPhrase uintptr FpExpr uintptr FbPhraseToAnd int32 - _ [4]byte + F__ccgo_pad1 [4]byte } /* sqlite3.c:213683:9 */ type Fts5Parse = Fts5Parse1 /* sqlite3.c:213683:26 */ type Fts5Token1 = struct { - Fp uintptr - Fn int32 - _ [4]byte + Fp uintptr + Fn int32 + F__ccgo_pad1 [4]byte } /* sqlite3.c:213684:9 */ type Fts5Token = Fts5Token1 /* sqlite3.c:213684:26 */ type Fts5ExprPhrase1 = struct { - FpNode uintptr - Fposlist Fts5Buffer - FnTerm int32 - _ [4]byte - FaTerm [1]Fts5ExprTerm + FpNode uintptr + Fposlist Fts5Buffer + FnTerm int32 + F__ccgo_pad1 [4]byte + FaTerm [1]Fts5ExprTerm } /* sqlite3.c:213118:9 */ type Fts5ExprPhrase = Fts5ExprPhrase1 /* sqlite3.c:213685:31 */ type Fts5ExprNearset1 = struct { - FnNear int32 - _ [4]byte - FpColset uintptr - FnPhrase int32 - _ [4]byte - FapPhrase [1]uintptr + FnNear int32 + F__ccgo_pad1 [4]byte + FpColset uintptr + FnPhrase int32 + F__ccgo_pad2 [4]byte + FapPhrase [1]uintptr } /* sqlite3.c:213118:9 */ type Fts5ExprNearset = Fts5ExprNearset1 /* sqlite3.c:213686:32 */ @@ -172209,9 +173670,9 @@ type Fts5PoslistPopulator = Fts5PoslistPopulator1 /* sqlite3.c:213734:37 */ // fts5YY_MAX_REDUCE Maximum value for reduce actions //************ Begin control #defines **************************************** type Fts5YYMINORTYPE = struct { - _ [0]uint64 - Ffts5yyinit int32 - _ [12]byte + F__ccgo_pad1 [0]uint64 + Ffts5yyinit int32 + F__ccgo_pad2 [12]byte } /* sqlite3.c:214010:3 */ //************ End control #defines ****************************************** @@ -172349,10 +173810,10 @@ var fts5yy_default = [35]uint8{ // actually contains the reduce action for the second half of the // SHIFTREDUCE. type fts5yyStackEntry = struct { - Fstateno uint8 - Fmajor uint8 - _ [6]byte - Fminor Fts5YYMINORTYPE + Fstateno uint8 + Fmajor uint8 + F__ccgo_pad1 [6]byte + Fminor Fts5YYMINORTYPE } /* sqlite3.c:214190:1 */ type Fts5yyStackEntry = fts5yyStackEntry /* sqlite3.c:214197:33 */ @@ -172395,7 +173856,7 @@ func sqlite3Fts5ParserInit(tls *libc.TLS, fts5yypRawParser uintptr) { /* sqlite3 // to sqlite3Fts5Parser and sqlite3Fts5ParserFree. func sqlite3Fts5ParserAlloc(tls *libc.TLS, mallocProc uintptr) uintptr { /* sqlite3.c:214408:13: */ var fts5yypParser uintptr - fts5yypParser = (*(*func(*libc.TLS, U64) uintptr)(unsafe.Pointer(&mallocProc)))(tls, U64(unsafe.Sizeof(Fts5yyParser{}))) + fts5yypParser = (*struct{ f func(*libc.TLS, U64) uintptr })(unsafe.Pointer(&struct{ uintptr }{mallocProc})).f(tls, U64(unsafe.Sizeof(Fts5yyParser{}))) if fts5yypParser != 0 { sqlite3Fts5ParserInit(tls, fts5yypParser) @@ -172493,7 +173954,7 @@ func sqlite3Fts5ParserFree(tls *libc.TLS, p uintptr, freeProc uintptr) { /* sqli return } sqlite3Fts5ParserFinalize(tls, p) - (*(*func(*libc.TLS, uintptr))(unsafe.Pointer(&freeProc)))(tls, p) + (*struct{ f func(*libc.TLS, uintptr) })(unsafe.Pointer(&struct{ uintptr }{freeProc})).f(tls, p) } // Return the peak depth of the stack for a parser. @@ -172557,7 +174018,7 @@ func fts5yyStackOverflow(tls *libc.TLS, fts5yypParser uintptr) { /* sqlite3.c:21 // stack every overflows //******* Begin %stack_overflow code ***************************************** - sqlite3Fts5ParseError(tls, pParse, ts+38632 /* "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 @@ -172880,7 +174341,7 @@ func fts5yy_syntax_error(tls *libc.TLS, fts5yypParser uintptr, fts5yymajor int32 _ = fts5yymajor // Silence a compiler warning sqlite3Fts5ParseError(tls, - pParse, ts+38660 /* "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 @@ -172988,14 +174449,18 @@ func sqlite3Fts5ParserFallback(tls *libc.TLS, iToken int32) int32 { /* sqlite3.c // // #include "fts5Int.h" -// DO NOT EDIT THIS FILE. +// $NetBSD: math.h,v 1.65 2018/06/24 23:55:29 christos Exp $ + +// ==================================================== +// Copyright (C) 1993 by Sun Microsystems, Inc. All rights reserved. // -// It has been auto-edited by fixincludes from: -// -// "/usr/include/math.h" -// -// This had to be done to correct non-standard usages in the -// original, manufacturer supplied header file. +// Developed at SunPro, a Sun Microsystems, Inc. business. +// Permission to use, copy, modify, and distribute this +// software is freely granted, provided that this notice +// is preserved. +// ==================================================== + +// @(#)fdlibm.h 5.1 93/09/24 // Object used to iterate through all "coalesced phrase instances" in // a single column of the current row. If the phrase instances in the @@ -173015,14 +174480,14 @@ func sqlite3Fts5ParserFallback(tls *libc.TLS, iToken int32) int32 { /* sqlite3.c // } // type CInstIter1 = struct { - FpApi uintptr - FpFts uintptr - FiCol int32 - FiInst int32 - FnInst int32 - FiStart int32 - FiEnd int32 - _ [4]byte + FpApi uintptr + FpFts uintptr + FiCol int32 + FiInst int32 + FnInst int32 + FiStart int32 + FiEnd int32 + F__ccgo_pad1 [4]byte } /* sqlite3.c:215383:9 */ // 2014 May 31 @@ -173037,14 +174502,18 @@ type CInstIter1 = struct { // // #include "fts5Int.h" -// DO NOT EDIT THIS FILE. +// $NetBSD: math.h,v 1.65 2018/06/24 23:55:29 christos Exp $ + +// ==================================================== +// Copyright (C) 1993 by Sun Microsystems, Inc. All rights reserved. // -// It has been auto-edited by fixincludes from: -// -// "/usr/include/math.h" -// -// This had to be done to correct non-standard usages in the -// original, manufacturer supplied header file. +// Developed at SunPro, a Sun Microsystems, Inc. business. +// Permission to use, copy, modify, and distribute this +// software is freely granted, provided that this notice +// is preserved. +// ==================================================== + +// @(#)fdlibm.h 5.1 93/09/24 // Object used to iterate through all "coalesced phrase instances" in // a single column of the current row. If the phrase instances in the @@ -173082,10 +174551,14 @@ func fts5CInstIterNext(tls *libc.TLS, pIter uintptr) int32 { /* sqlite3.c:215400 // var io int32 at bp+8, 4 - rc = (*(*func(*libc.TLS, uintptr, int32, uintptr, uintptr, uintptr) int32)(unsafe.Pointer(((*CInstIter)(unsafe.Pointer(pIter)).FpApi + 72 /* &.xInst */))))(tls, (*CInstIter)(unsafe.Pointer(pIter)).FpFts, (*CInstIter)(unsafe.Pointer(pIter)).FiInst, bp /* &ip */, bp+4 /* &ic */, bp+8 /* &io */) + rc = (*struct { + f func(*libc.TLS, uintptr, int32, uintptr, uintptr, uintptr) int32 + })(unsafe.Pointer(&struct{ uintptr }{(*Fts5ExtensionApi)(unsafe.Pointer((*CInstIter)(unsafe.Pointer(pIter)).FpApi)).FxInst})).f(tls, (*CInstIter)(unsafe.Pointer(pIter)).FpFts, (*CInstIter)(unsafe.Pointer(pIter)).FiInst, bp /* &ip */, bp+4 /* &ic */, bp+8 /* &io */) if rc == SQLITE_OK { if *(*int32)(unsafe.Pointer(bp + 4 /* ic */)) == (*CInstIter)(unsafe.Pointer(pIter)).FiCol { - var iEnd int32 = ((*(*int32)(unsafe.Pointer(bp + 8 /* io */)) - 1) + (*(*func(*libc.TLS, uintptr, int32) int32)(unsafe.Pointer(((*CInstIter)(unsafe.Pointer(pIter)).FpApi + 56 /* &.xPhraseSize */))))(tls, (*CInstIter)(unsafe.Pointer(pIter)).FpFts, *(*int32)(unsafe.Pointer(bp /* ip */)))) + var iEnd int32 = ((*(*int32)(unsafe.Pointer(bp + 8 /* io */)) - 1) + (*struct { + f func(*libc.TLS, uintptr, int32) int32 + })(unsafe.Pointer(&struct{ uintptr }{(*Fts5ExtensionApi)(unsafe.Pointer((*CInstIter)(unsafe.Pointer(pIter)).FpApi)).FxPhraseSize})).f(tls, (*CInstIter)(unsafe.Pointer(pIter)).FpFts, *(*int32)(unsafe.Pointer(bp /* ip */)))) if (*CInstIter)(unsafe.Pointer(pIter)).FiStart < 0 { (*CInstIter)(unsafe.Pointer(pIter)).FiStart = *(*int32)(unsafe.Pointer(bp + 8 /* io */)) (*CInstIter)(unsafe.Pointer(pIter)).FiEnd = iEnd @@ -173113,7 +174586,9 @@ func fts5CInstIterInit(tls *libc.TLS, pApi uintptr, pFts uintptr, iCol int32, pI (*CInstIter)(unsafe.Pointer(pIter)).FpApi = pApi (*CInstIter)(unsafe.Pointer(pIter)).FpFts = pFts (*CInstIter)(unsafe.Pointer(pIter)).FiCol = iCol - rc = (*(*func(*libc.TLS, uintptr, uintptr) int32)(unsafe.Pointer((pApi + 64 /* &.xInstCount */))))(tls, pFts, (pIter + 24 /* &.nInst */)) + rc = (*struct { + f func(*libc.TLS, uintptr, uintptr) int32 + })(unsafe.Pointer(&struct{ uintptr }{(*Fts5ExtensionApi)(unsafe.Pointer(pApi)).FxInstCount})).f(tls, pFts, (pIter + 24 /* &.nInst */)) if rc == SQLITE_OK { rc = fts5CInstIterNext(tls, pIter) @@ -173130,7 +174605,7 @@ type HighlightContext1 = struct { FiPos int32 FiRangeStart int32 FiRangeEnd int32 - _ [4]byte + F__ccgo_pad1 [4]byte FzOpen uintptr FzClose uintptr FzIn uintptr @@ -173159,7 +174634,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+38691 /* "%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 } @@ -173233,7 +174708,7 @@ func fts5HighlightFunction(tls *libc.TLS, pApi uintptr, pFts uintptr, pCtx uintp var iCol int32 if nVal != 3 { - var zErr uintptr = ts + 38698 /* "wrong number of ..." */ + var zErr uintptr = ts + 38697 /* "wrong number of ..." */ Xsqlite3_result_error(tls, pCtx, zErr, -1) return } @@ -173242,7 +174717,9 @@ func fts5HighlightFunction(tls *libc.TLS, pApi uintptr, pFts uintptr, pCtx uintp libc.Xmemset(tls, bp /* &ctx */, 0, uint64(unsafe.Sizeof(HighlightContext{}))) (*HighlightContext)(unsafe.Pointer(bp /* &ctx */)).FzOpen = Xsqlite3_value_text(tls, *(*uintptr)(unsafe.Pointer(apVal + 1*8))) (*HighlightContext)(unsafe.Pointer(bp /* &ctx */)).FzClose = Xsqlite3_value_text(tls, *(*uintptr)(unsafe.Pointer(apVal + 2*8))) - *(*int32)(unsafe.Pointer(bp + 96 /* rc */)) = (*(*func(*libc.TLS, uintptr, int32, uintptr, uintptr) int32)(unsafe.Pointer((pApi + 88 /* &.xColumnText */))))(tls, pFts, iCol, (bp /* &ctx */ + 72 /* &.zIn */), (bp /* &ctx */ + 80 /* &.nIn */)) + *(*int32)(unsafe.Pointer(bp + 96 /* rc */)) = (*struct { + f func(*libc.TLS, uintptr, int32, uintptr, uintptr) int32 + })(unsafe.Pointer(&struct{ uintptr }{(*Fts5ExtensionApi)(unsafe.Pointer(pApi)).FxColumnText})).f(tls, pFts, iCol, (bp /* &ctx */ + 72 /* &.zIn */), (bp /* &ctx */ + 80 /* &.nIn */)) if (*HighlightContext)(unsafe.Pointer(bp /* &ctx */)).FzIn != 0 { if *(*int32)(unsafe.Pointer(bp + 96 /* rc */)) == SQLITE_OK { @@ -173250,7 +174727,9 @@ func fts5HighlightFunction(tls *libc.TLS, pApi uintptr, pFts uintptr, pCtx uintp } if *(*int32)(unsafe.Pointer(bp + 96 /* rc */)) == SQLITE_OK { - *(*int32)(unsafe.Pointer(bp + 96 /* rc */)) = (*(*func(*libc.TLS, uintptr, uintptr, int32, uintptr, uintptr) int32)(unsafe.Pointer((pApi + 40 /* &.xTokenize */))))(tls, pFts, (*HighlightContext)(unsafe.Pointer(bp /* &ctx */)).FzIn, (*HighlightContext)(unsafe.Pointer(bp /* &ctx */)).FnIn, bp /* &ctx */, *(*uintptr)(unsafe.Pointer(&struct { + *(*int32)(unsafe.Pointer(bp + 96 /* rc */)) = (*struct { + f func(*libc.TLS, uintptr, uintptr, int32, uintptr, uintptr) int32 + })(unsafe.Pointer(&struct{ uintptr }{(*Fts5ExtensionApi)(unsafe.Pointer(pApi)).FxTokenize})).f(tls, pFts, (*HighlightContext)(unsafe.Pointer(bp /* &ctx */)).FzIn, (*HighlightContext)(unsafe.Pointer(bp /* &ctx */)).FnIn, bp /* &ctx */, *(*uintptr)(unsafe.Pointer(&struct { f func(*libc.TLS, uintptr, int32, uintptr, int32, int32, int32) int32 }{fts5HighlightCb}))) } @@ -173275,7 +174754,7 @@ type Fts5SFinder1 = struct { FiPos int32 FnFirstAlloc int32 FnFirst int32 - _ [4]byte + F__ccgo_pad1 [4]byte FaFirst uintptr FzDoc uintptr } /* sqlite3.c:215598:9 */ @@ -173359,9 +174838,13 @@ func fts5SnippetScore(tls *libc.TLS, pApi uintptr, pFts uintptr, nDocsize int32, var iLast int32 = 0 var iEnd Sqlite3_int64 = (Sqlite3_int64(iPos) + Sqlite3_int64(nToken)) - rc = (*(*func(*libc.TLS, uintptr, uintptr) int32)(unsafe.Pointer((pApi + 64 /* &.xInstCount */))))(tls, pFts, bp /* &nInst */) + rc = (*struct { + f func(*libc.TLS, uintptr, uintptr) int32 + })(unsafe.Pointer(&struct{ uintptr }{(*Fts5ExtensionApi)(unsafe.Pointer(pApi)).FxInstCount})).f(tls, pFts, bp /* &nInst */) for i = 0; (i < *(*int32)(unsafe.Pointer(bp /* nInst */))) && (rc == SQLITE_OK); i++ { - rc = (*(*func(*libc.TLS, uintptr, int32, uintptr, uintptr, uintptr) int32)(unsafe.Pointer((pApi + 72 /* &.xInst */))))(tls, pFts, i, bp+4 /* &ip */, bp+8 /* &ic */, bp+12 /* &iOff */) + rc = (*struct { + f func(*libc.TLS, uintptr, int32, uintptr, uintptr, uintptr) int32 + })(unsafe.Pointer(&struct{ uintptr }{(*Fts5ExtensionApi)(unsafe.Pointer(pApi)).FxInst})).f(tls, pFts, i, bp+4 /* &ip */, bp+8 /* &ic */, bp+12 /* &iOff */) if (((rc == SQLITE_OK) && (*(*int32)(unsafe.Pointer(bp + 8 /* ic */)) == iCol)) && (*(*int32)(unsafe.Pointer(bp + 12 /* iOff */)) >= iPos)) && (Sqlite3_int64(*(*int32)(unsafe.Pointer(bp + 12 /* iOff */))) < iEnd) { nScore = nScore + (func() int32 { if *(*uint8)(unsafe.Pointer(aSeen + uintptr(*(*int32)(unsafe.Pointer(bp + 4 /* ip */))))) != 0 { @@ -173373,7 +174856,9 @@ func fts5SnippetScore(tls *libc.TLS, pApi uintptr, pFts uintptr, nDocsize int32, if iFirst < 0 { iFirst = *(*int32)(unsafe.Pointer(bp + 12 /* iOff */)) } - iLast = (*(*int32)(unsafe.Pointer(bp + 12 /* iOff */)) + (*(*func(*libc.TLS, uintptr, int32) int32)(unsafe.Pointer((pApi + 56 /* &.xPhraseSize */))))(tls, pFts, *(*int32)(unsafe.Pointer(bp + 4 /* ip */)))) + iLast = (*(*int32)(unsafe.Pointer(bp + 12 /* iOff */)) + (*struct { + f func(*libc.TLS, uintptr, int32) int32 + })(unsafe.Pointer(&struct{ uintptr }{(*Fts5ExtensionApi)(unsafe.Pointer(pApi)).FxPhraseSize})).f(tls, pFts, *(*int32)(unsafe.Pointer(bp + 4 /* ip */)))) } } @@ -173400,7 +174885,7 @@ func fts5ValueToText(tls *libc.TLS, pVal uintptr) uintptr { /* sqlite3.c:215713: if zRet != 0 { return zRet } - return ts + 916 /* "" */ + return ts + 915 /* "" */ } // Implementation of snippet() function. @@ -173427,12 +174912,14 @@ func fts5SnippetFunction(tls *libc.TLS, pApi uintptr, pFts uintptr, pCtx uintptr var nCol int32 if nVal != 5 { - var zErr uintptr = ts + 38748 /* "wrong number of ..." */ + var zErr uintptr = ts + 38747 /* "wrong number of ..." */ Xsqlite3_result_error(tls, pCtx, zErr, -1) return } - nCol = (*(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer((pApi + 16 /* &.xColumnCount */))))(tls, pFts) + nCol = (*struct { + f func(*libc.TLS, uintptr) int32 + })(unsafe.Pointer(&struct{ uintptr }{(*Fts5ExtensionApi)(unsafe.Pointer(pApi)).FxColumnCount})).f(tls, pFts) libc.Xmemset(tls, bp /* &ctx */, 0, uint64(unsafe.Sizeof(HighlightContext{}))) iCol = Xsqlite3_value_int(tls, *(*uintptr)(unsafe.Pointer(apVal))) (*HighlightContext)(unsafe.Pointer(bp /* &ctx */)).FzOpen = fts5ValueToText(tls, *(*uintptr)(unsafe.Pointer(apVal + 1*8))) @@ -173446,13 +174933,17 @@ func fts5SnippetFunction(tls *libc.TLS, pApi uintptr, pFts uintptr, pCtx uintptr } return 0 }() - nPhrase = (*(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer((pApi + 48 /* &.xPhraseCount */))))(tls, pFts) + nPhrase = (*struct { + f func(*libc.TLS, uintptr) int32 + })(unsafe.Pointer(&struct{ uintptr }{(*Fts5ExtensionApi)(unsafe.Pointer(pApi)).FxPhraseCount})).f(tls, pFts) aSeen = Xsqlite3_malloc(tls, nPhrase) if aSeen == uintptr(0) { *(*int32)(unsafe.Pointer(bp + 168 /* rc */)) = SQLITE_NOMEM } if *(*int32)(unsafe.Pointer(bp + 168 /* rc */)) == SQLITE_OK { - *(*int32)(unsafe.Pointer(bp + 168 /* rc */)) = (*(*func(*libc.TLS, uintptr, uintptr) int32)(unsafe.Pointer((pApi + 64 /* &.xInstCount */))))(tls, pFts, bp+96 /* &nInst */) + *(*int32)(unsafe.Pointer(bp + 168 /* rc */)) = (*struct { + f func(*libc.TLS, uintptr, uintptr) int32 + })(unsafe.Pointer(&struct{ uintptr }{(*Fts5ExtensionApi)(unsafe.Pointer(pApi)).FxInstCount})).f(tls, pFts, bp+96 /* &nInst */) } libc.Xmemset(tls, bp+104 /* &sFinder */, 0, uint64(unsafe.Sizeof(Fts5SFinder{}))) @@ -173465,18 +174956,24 @@ func fts5SnippetFunction(tls *libc.TLS, pApi uintptr, pFts uintptr, pCtx uintptr var ii int32 (*Fts5SFinder)(unsafe.Pointer(bp + 104 /* &sFinder */)).FiPos = 0 (*Fts5SFinder)(unsafe.Pointer(bp + 104 /* &sFinder */)).FnFirst = 0 - *(*int32)(unsafe.Pointer(bp + 168 /* rc */)) = (*(*func(*libc.TLS, uintptr, int32, uintptr, uintptr) int32)(unsafe.Pointer((pApi + 88 /* &.xColumnText */))))(tls, pFts, i, (bp + 104 /* &sFinder */ + 24 /* &.zDoc */), bp+136 /* &nDoc */) + *(*int32)(unsafe.Pointer(bp + 168 /* rc */)) = (*struct { + f func(*libc.TLS, uintptr, int32, uintptr, uintptr) int32 + })(unsafe.Pointer(&struct{ uintptr }{(*Fts5ExtensionApi)(unsafe.Pointer(pApi)).FxColumnText})).f(tls, pFts, i, (bp + 104 /* &sFinder */ + 24 /* &.zDoc */), bp+136 /* &nDoc */) if *(*int32)(unsafe.Pointer(bp + 168 /* rc */)) != SQLITE_OK { break } - *(*int32)(unsafe.Pointer(bp + 168 /* rc */)) = (*(*func(*libc.TLS, uintptr, uintptr, int32, uintptr, uintptr) int32)(unsafe.Pointer((pApi + 40 /* &.xTokenize */))))(tls, pFts, + *(*int32)(unsafe.Pointer(bp + 168 /* rc */)) = (*struct { + f func(*libc.TLS, uintptr, uintptr, int32, uintptr, uintptr) int32 + })(unsafe.Pointer(&struct{ uintptr }{(*Fts5ExtensionApi)(unsafe.Pointer(pApi)).FxTokenize})).f(tls, pFts, (*Fts5SFinder)(unsafe.Pointer(bp+104 /* &sFinder */)).FzDoc, *(*int32)(unsafe.Pointer(bp + 136 /* nDoc */)), bp+104 /* &sFinder */, *(*uintptr)(unsafe.Pointer(&struct { f func(*libc.TLS, uintptr, int32, uintptr, int32, int32, int32) int32 }{fts5SentenceFinderCb}))) if *(*int32)(unsafe.Pointer(bp + 168 /* rc */)) != SQLITE_OK { break } - *(*int32)(unsafe.Pointer(bp + 168 /* rc */)) = (*(*func(*libc.TLS, uintptr, int32, uintptr) int32)(unsafe.Pointer((pApi + 96 /* &.xColumnSize */))))(tls, pFts, i, bp+140 /* &nDocsize */) + *(*int32)(unsafe.Pointer(bp + 168 /* rc */)) = (*struct { + f func(*libc.TLS, uintptr, int32, uintptr) int32 + })(unsafe.Pointer(&struct{ uintptr }{(*Fts5ExtensionApi)(unsafe.Pointer(pApi)).FxColumnSize})).f(tls, pFts, i, bp+140 /* &nDocsize */) if *(*int32)(unsafe.Pointer(bp + 168 /* rc */)) != SQLITE_OK { break } @@ -173494,7 +174991,9 @@ func fts5SnippetFunction(tls *libc.TLS, pApi uintptr, pFts uintptr, pCtx uintptr var jj int32 - *(*int32)(unsafe.Pointer(bp + 168 /* rc */)) = (*(*func(*libc.TLS, uintptr, int32, uintptr, uintptr, uintptr) int32)(unsafe.Pointer((pApi + 72 /* &.xInst */))))(tls, pFts, ii, bp+144 /* &ip */, bp+148 /* &ic */, bp+152 /* &io */) + *(*int32)(unsafe.Pointer(bp + 168 /* rc */)) = (*struct { + f func(*libc.TLS, uintptr, int32, uintptr, uintptr, uintptr) int32 + })(unsafe.Pointer(&struct{ uintptr }{(*Fts5ExtensionApi)(unsafe.Pointer(pApi)).FxInst})).f(tls, pFts, ii, bp+144 /* &ip */, bp+148 /* &ic */, bp+152 /* &io */) if *(*int32)(unsafe.Pointer(bp + 148 /* ic */)) != i { continue } @@ -173545,10 +175044,14 @@ func fts5SnippetFunction(tls *libc.TLS, pApi uintptr, pFts uintptr, pCtx uintptr } if *(*int32)(unsafe.Pointer(bp + 168 /* rc */)) == SQLITE_OK { - *(*int32)(unsafe.Pointer(bp + 168 /* rc */)) = (*(*func(*libc.TLS, uintptr, int32, uintptr, uintptr) int32)(unsafe.Pointer((pApi + 88 /* &.xColumnText */))))(tls, pFts, iBestCol, (bp /* &ctx */ + 72 /* &.zIn */), (bp /* &ctx */ + 80 /* &.nIn */)) + *(*int32)(unsafe.Pointer(bp + 168 /* rc */)) = (*struct { + f func(*libc.TLS, uintptr, int32, uintptr, uintptr) int32 + })(unsafe.Pointer(&struct{ uintptr }{(*Fts5ExtensionApi)(unsafe.Pointer(pApi)).FxColumnText})).f(tls, pFts, iBestCol, (bp /* &ctx */ + 72 /* &.zIn */), (bp /* &ctx */ + 80 /* &.nIn */)) } if (*(*int32)(unsafe.Pointer(bp + 168 /* rc */)) == SQLITE_OK) && (*(*int32)(unsafe.Pointer(bp + 164 /* nColSize */)) == 0) { - *(*int32)(unsafe.Pointer(bp + 168 /* rc */)) = (*(*func(*libc.TLS, uintptr, int32, uintptr) int32)(unsafe.Pointer((pApi + 96 /* &.xColumnSize */))))(tls, pFts, iBestCol, bp+164 /* &nColSize */) + *(*int32)(unsafe.Pointer(bp + 168 /* rc */)) = (*struct { + f func(*libc.TLS, uintptr, int32, uintptr) int32 + })(unsafe.Pointer(&struct{ uintptr }{(*Fts5ExtensionApi)(unsafe.Pointer(pApi)).FxColumnSize})).f(tls, pFts, iBestCol, bp+164 /* &nColSize */) } if (*HighlightContext)(unsafe.Pointer(bp /* &ctx */)).FzIn != 0 { if *(*int32)(unsafe.Pointer(bp + 168 /* rc */)) == SQLITE_OK { @@ -173569,7 +175072,9 @@ func fts5SnippetFunction(tls *libc.TLS, pApi uintptr, pFts uintptr, pCtx uintptr } if *(*int32)(unsafe.Pointer(bp + 168 /* rc */)) == SQLITE_OK { - *(*int32)(unsafe.Pointer(bp + 168 /* rc */)) = (*(*func(*libc.TLS, uintptr, uintptr, int32, uintptr, uintptr) int32)(unsafe.Pointer((pApi + 40 /* &.xTokenize */))))(tls, pFts, (*HighlightContext)(unsafe.Pointer(bp /* &ctx */)).FzIn, (*HighlightContext)(unsafe.Pointer(bp /* &ctx */)).FnIn, bp /* &ctx */, *(*uintptr)(unsafe.Pointer(&struct { + *(*int32)(unsafe.Pointer(bp + 168 /* rc */)) = (*struct { + f func(*libc.TLS, uintptr, uintptr, int32, uintptr, uintptr) int32 + })(unsafe.Pointer(&struct{ uintptr }{(*Fts5ExtensionApi)(unsafe.Pointer(pApi)).FxTokenize})).f(tls, pFts, (*HighlightContext)(unsafe.Pointer(bp /* &ctx */)).FzIn, (*HighlightContext)(unsafe.Pointer(bp /* &ctx */)).FnIn, bp /* &ctx */, *(*uintptr)(unsafe.Pointer(&struct { f func(*libc.TLS, uintptr, int32, uintptr, int32, int32, int32) int32 }{fts5HighlightCb}))) } @@ -173594,11 +175099,11 @@ func fts5SnippetFunction(tls *libc.TLS, pApi uintptr, pFts uintptr, pCtx uintptr // The first time the bm25() function is called for a query, an instance // of the following structure is allocated and populated. type Fts5Bm25Data1 = struct { - FnPhrase int32 - _ [4]byte - Favgdl float64 - FaIDF uintptr - FaFreq uintptr + FnPhrase int32 + F__ccgo_pad1 [4]byte + Favgdl float64 + FaIDF uintptr + FaFreq uintptr } /* sqlite3.c:215879:9 */ //********************************************************************** @@ -173627,7 +175132,9 @@ func fts5Bm25GetData(tls *libc.TLS, pApi uintptr, pFts uintptr, ppData uintptr) var rc int32 = SQLITE_OK // Return code var p uintptr // Object to return - p = (*(*func(*libc.TLS, uintptr, int32) uintptr)(unsafe.Pointer((pApi + 120 /* &.xGetAuxdata */))))(tls, pFts, 0) + p = (*struct { + f func(*libc.TLS, uintptr, int32) uintptr + })(unsafe.Pointer(&struct{ uintptr }{(*Fts5ExtensionApi)(unsafe.Pointer(pApi)).FxGetAuxdata})).f(tls, pFts, 0) if p == uintptr(0) { var nPhrase int32 // Number of phrases in query *(*Sqlite3_int64)(unsafe.Pointer(bp /* nRow */)) = int64(0) // Number of rows in table @@ -173636,7 +175143,9 @@ func fts5Bm25GetData(tls *libc.TLS, pApi uintptr, pFts uintptr, ppData uintptr) var i int32 // Allocate the Fts5Bm25Data object - nPhrase = (*(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer((pApi + 48 /* &.xPhraseCount */))))(tls, pFts) + nPhrase = (*struct { + f func(*libc.TLS, uintptr) int32 + })(unsafe.Pointer(&struct{ uintptr }{(*Fts5ExtensionApi)(unsafe.Pointer(pApi)).FxPhraseCount})).f(tls, pFts) nByte = (Sqlite3_int64(uint64(unsafe.Sizeof(Fts5Bm25Data{})) + ((uint64(nPhrase * 2)) * uint64(unsafe.Sizeof(float64(0)))))) p = Xsqlite3_malloc64(tls, uint64(nByte)) if p == uintptr(0) { @@ -173650,11 +175159,15 @@ func fts5Bm25GetData(tls *libc.TLS, pApi uintptr, pFts uintptr, ppData uintptr) // Calculate the average document length for this FTS5 table if rc == SQLITE_OK { - rc = (*(*func(*libc.TLS, uintptr, uintptr) int32)(unsafe.Pointer((pApi + 24 /* &.xRowCount */))))(tls, pFts, bp /* &nRow */) + rc = (*struct { + f func(*libc.TLS, uintptr, uintptr) int32 + })(unsafe.Pointer(&struct{ uintptr }{(*Fts5ExtensionApi)(unsafe.Pointer(pApi)).FxRowCount})).f(tls, pFts, bp /* &nRow */) } if rc == SQLITE_OK { - rc = (*(*func(*libc.TLS, uintptr, int32, uintptr) int32)(unsafe.Pointer((pApi + 32 /* &.xColumnTotalSize */))))(tls, pFts, -1, bp+8 /* &nToken */) + rc = (*struct { + f func(*libc.TLS, uintptr, int32, uintptr) int32 + })(unsafe.Pointer(&struct{ uintptr }{(*Fts5ExtensionApi)(unsafe.Pointer(pApi)).FxColumnTotalSize})).f(tls, pFts, -1, bp+8 /* &nToken */) } if rc == SQLITE_OK { (*Fts5Bm25Data)(unsafe.Pointer(p)).Favgdl = (float64(*(*Sqlite3_int64)(unsafe.Pointer(bp + 8 /* nToken */))) / float64(*(*Sqlite3_int64)(unsafe.Pointer(bp /* nRow */)))) @@ -173663,7 +175176,9 @@ func fts5Bm25GetData(tls *libc.TLS, pApi uintptr, pFts uintptr, ppData uintptr) // Calculate an IDF for each phrase in the query for i = 0; (rc == SQLITE_OK) && (i < nPhrase); i++ { *(*Sqlite3_int64)(unsafe.Pointer(bp + 16 /* nHit */)) = int64(0) - rc = (*(*func(*libc.TLS, uintptr, int32, uintptr, uintptr) int32)(unsafe.Pointer((pApi + 104 /* &.xQueryPhrase */))))(tls, pFts, i, bp+16 /* &nHit */, *(*uintptr)(unsafe.Pointer(&struct { + rc = (*struct { + f func(*libc.TLS, uintptr, int32, uintptr, uintptr) int32 + })(unsafe.Pointer(&struct{ uintptr }{(*Fts5ExtensionApi)(unsafe.Pointer(pApi)).FxQueryPhrase})).f(tls, pFts, i, bp+16 /* &nHit */, *(*uintptr)(unsafe.Pointer(&struct { f func(*libc.TLS, uintptr, uintptr, uintptr) int32 }{fts5CountCb}))) if rc == SQLITE_OK { @@ -173691,7 +175206,9 @@ func fts5Bm25GetData(tls *libc.TLS, pApi uintptr, pFts uintptr, ppData uintptr) if rc != SQLITE_OK { Xsqlite3_free(tls, p) } else { - rc = (*(*func(*libc.TLS, uintptr, uintptr, uintptr) int32)(unsafe.Pointer((pApi + 112 /* &.xSetAuxdata */))))(tls, pFts, p, *(*uintptr)(unsafe.Pointer(&struct{ f func(*libc.TLS, uintptr) }{Xsqlite3_free}))) + rc = (*struct { + f func(*libc.TLS, uintptr, uintptr, uintptr) int32 + })(unsafe.Pointer(&struct{ uintptr }{(*Fts5ExtensionApi)(unsafe.Pointer(pApi)).FxSetAuxdata})).f(tls, pFts, p, *(*uintptr)(unsafe.Pointer(&struct{ f func(*libc.TLS, uintptr) }{Xsqlite3_free}))) } if rc != SQLITE_OK { p = uintptr(0) @@ -173723,7 +175240,9 @@ func fts5Bm25Function(tls *libc.TLS, pApi uintptr, pFts uintptr, pCtx uintptr, n if rc == SQLITE_OK { aFreq = (*Fts5Bm25Data)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp /* pData */)))).FaFreq libc.Xmemset(tls, aFreq, 0, (uint64(unsafe.Sizeof(float64(0))) * uint64((*Fts5Bm25Data)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp /* pData */)))).FnPhrase))) - rc = (*(*func(*libc.TLS, uintptr, uintptr) int32)(unsafe.Pointer((pApi + 64 /* &.xInstCount */))))(tls, pFts, bp+8 /* &nInst */) + rc = (*struct { + f func(*libc.TLS, uintptr, uintptr) int32 + })(unsafe.Pointer(&struct{ uintptr }{(*Fts5ExtensionApi)(unsafe.Pointer(pApi)).FxInstCount})).f(tls, pFts, bp+8 /* &nInst */) } for i = 0; (rc == SQLITE_OK) && (i < *(*int32)(unsafe.Pointer(bp + 8 /* nInst */))); i++ { // var ip int32 at bp+12, 4 @@ -173732,7 +175251,9 @@ func fts5Bm25Function(tls *libc.TLS, pApi uintptr, pFts uintptr, pCtx uintptr, n // var io int32 at bp+20, 4 - rc = (*(*func(*libc.TLS, uintptr, int32, uintptr, uintptr, uintptr) int32)(unsafe.Pointer((pApi + 72 /* &.xInst */))))(tls, pFts, i, bp+12 /* &ip */, bp+16 /* &ic */, bp+20 /* &io */) + rc = (*struct { + f func(*libc.TLS, uintptr, int32, uintptr, uintptr, uintptr) int32 + })(unsafe.Pointer(&struct{ uintptr }{(*Fts5ExtensionApi)(unsafe.Pointer(pApi)).FxInst})).f(tls, pFts, i, bp+12 /* &ip */, bp+16 /* &ic */, bp+20 /* &io */) if rc == SQLITE_OK { var w float64 if nVal > *(*int32)(unsafe.Pointer(bp + 16 /* ic */)) { @@ -173748,7 +175269,9 @@ func fts5Bm25Function(tls *libc.TLS, pApi uintptr, pFts uintptr, pCtx uintptr, n if rc == SQLITE_OK { // var nTok int32 at bp+24, 4 - rc = (*(*func(*libc.TLS, uintptr, int32, uintptr) int32)(unsafe.Pointer((pApi + 96 /* &.xColumnSize */))))(tls, pFts, -1, bp+24 /* &nTok */) + rc = (*struct { + f func(*libc.TLS, uintptr, int32, uintptr) int32 + })(unsafe.Pointer(&struct{ uintptr }{(*Fts5ExtensionApi)(unsafe.Pointer(pApi)).FxColumnSize})).f(tls, pFts, -1, bp+24 /* &nTok */) D = float64(*(*int32)(unsafe.Pointer(bp + 24 /* nTok */))) } @@ -173769,13 +175292,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 + 38796 /* "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 + 38804 /* "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 + 38814 /* "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}))}, } @@ -173783,7 +175306,9 @@ func sqlite3Fts5AuxInit(tls *libc.TLS, pApi uintptr) int32 { /* sqlite3.c:216036 var i int32 // To iterate through builtin functions for i = 0; (rc == SQLITE_OK) && (i < (int32(uint64(unsafe.Sizeof([3]Builtin{})) / uint64(unsafe.Sizeof(Builtin{}))))); i++ { - rc = (*(*func(*libc.TLS, uintptr, uintptr, uintptr, Fts5_extension_function, uintptr) int32)(unsafe.Pointer((pApi + 24 /* &.xCreateFunction */))))(tls, pApi, + rc = (*struct { + f func(*libc.TLS, uintptr, uintptr, uintptr, Fts5_extension_function, uintptr) int32 + })(unsafe.Pointer(&struct{ uintptr }{(*Fts5_api)(unsafe.Pointer(pApi)).FxCreateFunction})).f(tls, pApi, (*Builtin)(unsafe.Pointer(bp /* &aBuiltin */ +uintptr(i)*32)).FzFunc, (*Builtin)(unsafe.Pointer(bp /* &aBuiltin */ +uintptr(i)*32)).FpUserData, (*Builtin)(unsafe.Pointer(bp /* &aBuiltin */ +uintptr(i)*32)).FxFunc, @@ -173901,7 +175426,7 @@ func sqlite3Fts5BufferAppendPrintf(tls *libc.TLS, pRc uintptr, pBuf uintptr, zFm var zTmp uintptr var ap Va_list _ = ap - ap = va + (ap) = va zTmp = Xsqlite3_vmprintf(tls, zFmt, ap) _ = ap @@ -173919,7 +175444,7 @@ func sqlite3Fts5Mprintf(tls *libc.TLS, pRc uintptr, zFmt uintptr, va uintptr) ui if *(*int32)(unsafe.Pointer(pRc)) == SQLITE_OK { var ap Va_list _ = ap - ap = va + (ap) = va zRet = Xsqlite3_vmprintf(tls, zFmt, ap) _ = ap if zRet == uintptr(0) { @@ -174269,7 +175794,7 @@ func fts5ConfigSkipLiteral(tls *libc.TLS, pIn uintptr) uintptr { /* sqlite3.c:21 case 'n': fallthrough case 'N': - if Xsqlite3_strnicmp(tls, ts+8077 /* "null" */, p, 4) == 0 { + if Xsqlite3_strnicmp(tls, ts+8076 /* "null" */, p, 4) == 0 { p = (p + 4) } else { p = uintptr(0) @@ -174407,9 +175932,9 @@ func sqlite3Fts5Dequote(tls *libc.TLS, z uintptr) { /* sqlite3.c:216659:13: */ } type Fts5Enum1 = struct { - FzName uintptr - FeVal int32 - _ [4]byte + FzName uintptr + FeVal int32 + F__ccgo_pad1 [4]byte } /* sqlite3.c:216670:1 */ type Fts5Enum = Fts5Enum1 /* sqlite3.c:216674:25 */ @@ -174448,7 +175973,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+38819 /* "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 @@ -174475,14 +176000,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+38826 /* "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+38857 /* "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 } @@ -174493,7 +176018,7 @@ func fts5ConfigParseSpecial(tls *libc.TLS, pGlobal uintptr, pConfig uintptr, zCm } if (nPre <= 0) || (nPre >= 1000) { - *(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3_mprintf(tls, ts+38890 /* "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 } @@ -174506,7 +176031,7 @@ func fts5ConfigParseSpecial(tls *libc.TLS, pGlobal uintptr, pConfig uintptr, zCm return *(*int32)(unsafe.Pointer(bp + 40 /* rc */)) } - if Xsqlite3_strnicmp(tls, ts+38927 /* "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)))) @@ -174515,7 +176040,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+38936 /* "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++ { @@ -174534,7 +176059,7 @@ func fts5ConfigParseSpecial(tls *libc.TLS, pGlobal uintptr, pConfig uintptr, zCm } } if p == uintptr(0) { - *(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3_mprintf(tls, ts+38969 /* "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, @@ -174549,14 +176074,14 @@ func fts5ConfigParseSpecial(tls *libc.TLS, pGlobal uintptr, pConfig uintptr, zCm return *(*int32)(unsafe.Pointer(bp + 40 /* rc */)) } - if Xsqlite3_strnicmp(tls, ts+39003 /* "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+39011 /* "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+39043 /* "%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 } @@ -174564,9 +176089,9 @@ func fts5ConfigParseSpecial(tls *libc.TLS, pGlobal uintptr, pConfig uintptr, zCm return *(*int32)(unsafe.Pointer(bp + 40 /* rc */)) } - if Xsqlite3_strnicmp(tls, ts+39049 /* "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+39063 /* "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) @@ -174574,9 +176099,9 @@ func fts5ConfigParseSpecial(tls *libc.TLS, pGlobal uintptr, pConfig uintptr, zCm return *(*int32)(unsafe.Pointer(bp + 40 /* rc */)) } - if Xsqlite3_strnicmp(tls, ts+39101 /* "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+39112 /* "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')) @@ -174584,21 +176109,21 @@ func fts5ConfigParseSpecial(tls *libc.TLS, pGlobal uintptr, pConfig uintptr, zCm return *(*int32)(unsafe.Pointer(bp + 40 /* rc */)) } - if Xsqlite3_strnicmp(tls, ts+7008 /* "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 + 19272 /* "none" */, FeVal: FTS5_DETAIL_NONE}, - {FzName: ts + 19277 /* "full" */}, - {FzName: ts + 39147 /* "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+39155 /* "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+39186 /* "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 } @@ -174662,15 +176187,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+24865 /* "rank" */)) || - (0 == Xsqlite3_stricmp(tls, zCol, ts+10298 /* "rowid" */)) { - *(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3_mprintf(tls, ts+39214 /* "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+39244 /* "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+39254 /* "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 } } @@ -174688,13 +176213,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+39285 /* "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+39290 /* ", 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+39297 /* ", 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)) } } } @@ -174742,8 +176267,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+24865 /* "rank" */) == 0) { - *(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3_mprintf(tls, ts+39305 /* "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 } @@ -174776,7 +176301,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+39334 /* "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 { @@ -174784,7 +176309,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 + 916 /* "" */ + 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) @@ -174809,19 +176334,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 + 39003 /* "content" */ + zTail = ts + 39002 /* "content" */ } else if (*Fts5Config)(unsafe.Pointer(pRet)).FbColumnsize != 0 { - zTail = ts + 39354 /* "docsize" */ + zTail = ts + 39353 /* "docsize" */ } if zTail != 0 { (*Fts5Config)(unsafe.Pointer(pRet)).FzContent = sqlite3Fts5Mprintf(tls, - bp+40 /* &rc */, ts+39362 /* "%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+10298 /* "rowid" */, -1) + (*Fts5Config)(unsafe.Pointer(pRet)).FzContentRowid = sqlite3Fts5Strndup(tls, bp+40 /* &rc */, ts+10297 /* "rowid" */, -1) } // Formulate the zContentExprlist text @@ -174841,7 +176366,7 @@ func sqlite3Fts5ConfigFree(tls *libc.TLS, pConfig uintptr) { /* sqlite3.c:217109 if pConfig != 0 { var i int32 if (*Fts5Config)(unsafe.Pointer(pConfig)).FpTok != 0 { - (*(*func(*libc.TLS, uintptr))(unsafe.Pointer(((*Fts5Config)(unsafe.Pointer(pConfig)).FpTokApi + 8 /* &.xDelete */))))(tls, (*Fts5Config)(unsafe.Pointer(pConfig)).FpTok) + (*struct{ f func(*libc.TLS, uintptr) })(unsafe.Pointer(&struct{ uintptr }{(*Fts5_tokenizer)(unsafe.Pointer((*Fts5Config)(unsafe.Pointer(pConfig)).FpTokApi)).FxDelete})).f(tls, (*Fts5Config)(unsafe.Pointer(pConfig)).FpTok) } Xsqlite3_free(tls, (*Fts5Config)(unsafe.Pointer(pConfig)).FzDb) Xsqlite3_free(tls, (*Fts5Config)(unsafe.Pointer(pConfig)).FzName) @@ -174870,18 +176395,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+39373 /* "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 + 916 /* "" */ + return ts + 915 /* "" */ } - return ts + 16637 /* ", " */ + return ts + 16636 /* ", " */ }() - zSql = sqlite3Fts5Mprintf(tls, bp+48 /* &rc */, ts+39389 /* "%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+39396, /* "%z, %Q HIDDEN, %..." */ - libc.VaList(bp+24, zSql, (*Fts5Config)(unsafe.Pointer(pConfig)).FzName, ts+24865 /* "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) @@ -174916,7 +176441,9 @@ func sqlite3Fts5Tokenize(tls *libc.TLS, pConfig uintptr, flags int32, pText uint if pText == uintptr(0) { return SQLITE_OK } - return (*(*func(*libc.TLS, uintptr, uintptr, int32, uintptr, int32, uintptr) int32)(unsafe.Pointer(((*Fts5Config)(unsafe.Pointer(pConfig)).FpTokApi + 16 /* &.xTokenize */))))(tls, + return (*struct { + f func(*libc.TLS, uintptr, uintptr, int32, uintptr, int32, uintptr) int32 + })(unsafe.Pointer(&struct{ uintptr }{(*Fts5_tokenizer)(unsafe.Pointer((*Fts5Config)(unsafe.Pointer(pConfig)).FpTokApi)).FxTokenize})).f(tls, (*Fts5Config)(unsafe.Pointer(pConfig)).FpTok, pCtx, flags, pText, nText, xToken) } @@ -175021,7 +176548,7 @@ func sqlite3Fts5ConfigSetValue(tls *libc.TLS, pConfig uintptr, zKey uintptr, pVa var rc int32 = SQLITE_OK - if 0 == Xsqlite3_stricmp(tls, zKey, ts+39422 /* "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) @@ -175031,7 +176558,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+39427 /* "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) @@ -175041,7 +176568,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+39436 /* "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) @@ -175054,7 +176581,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+39446 /* "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) @@ -175064,7 +176591,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+39456 /* "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) @@ -175080,7 +176607,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+24865 /* "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 @@ -175107,7 +176634,7 @@ func sqlite3Fts5ConfigLoad(tls *libc.TLS, pConfig uintptr, iCookie int32) int32 bp := tls.Alloc(52) defer tls.Free(52) - var zSelect uintptr = ts + 39468 /* "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 @@ -175130,7 +176657,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+39500 /* "version" */) { + if 0 == Xsqlite3_stricmp(tls, zK, ts+39499 /* "version" */) { iVersion = Xsqlite3_value_int(tls, pVal) } else { *(*int32)(unsafe.Pointer(bp + 48 /* bDummy */)) = 0 @@ -175145,7 +176672,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+39508, /* "invalid fts5 fil..." */ + ts+39507, /* "invalid fts5 fil..." */ libc.VaList(bp+16, iVersion, FTS5_CURRENT_VERSION)) } } @@ -175174,12 +176701,12 @@ func sqlite3Fts5ConfigLoad(tls *libc.TLS, pConfig uintptr, iCookie int32) int32 // All token types in the generated fts5parse.h file are greater than 0. type Fts5ExprTerm1 = struct { - FbPrefix U8 - FbFirst U8 - _ [6]byte - FzTerm uintptr - FpIter uintptr - FpSynonym uintptr + FbPrefix U8 + FbFirst U8 + F__ccgo_pad1 [6]byte + FzTerm uintptr + FpIter uintptr + FpSynonym uintptr } /* sqlite3.c:213118:9 */ // 2014 May 31 @@ -175204,7 +176731,7 @@ type Fts5ExprTerm = Fts5ExprTerm1 /* sqlite3.c:217459:29 */ func sqlite3Fts5ParseError(tls *libc.TLS, pParse uintptr, zFmt uintptr, va uintptr) { /* sqlite3.c:217566:13: */ var ap Va_list _ = ap - ap = va + (ap) = va if (*Fts5Parse)(unsafe.Pointer(pParse)).Frc == SQLITE_OK { (*Fts5Parse)(unsafe.Pointer(pParse)).FzErr = Xsqlite3_vmprintf(tls, zFmt, ap) (*Fts5Parse)(unsafe.Pointer(pParse)).Frc = SQLITE_ERROR @@ -175279,7 +176806,7 @@ func fts5ExprGetToken(tls *libc.TLS, pParse uintptr, pz uintptr, pToken uintptr) } } if int32(*(*int8)(unsafe.Pointer(z2))) == 0 { - sqlite3Fts5ParseError(tls, pParse, ts+39573 /* "unterminated str..." */, 0) + sqlite3Fts5ParseError(tls, pParse, ts+39572 /* "unterminated str..." */, 0) return FTS5_EOF } } @@ -175292,20 +176819,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+39593 /* "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+39624 /* "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+39627 /* "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+34366 /* "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 @@ -176625,7 +178152,9 @@ func fts5ExprNodeNext_OR(tls *libc.TLS, pExpr uintptr, pNode uintptr, bFromValid if (*Fts5ExprNode)(unsafe.Pointer(p1)).FbEof == 0 { if ((*Fts5ExprNode)(unsafe.Pointer(p1)).FiRowid == iLast) || ((bFromValid != 0) && (fts5RowidCmp(tls, pExpr, (*Fts5ExprNode)(unsafe.Pointer(p1)).FiRowid, iFrom) < 0)) { - var rc int32 = (*(*func(*libc.TLS, uintptr, uintptr, int32, I64) int32)(unsafe.Pointer((p1 + 16 /* &.xNext */))))(tls, pExpr, p1, bFromValid, iFrom) + var rc int32 = (*struct { + f func(*libc.TLS, uintptr, uintptr, int32, I64) int32 + })(unsafe.Pointer(&struct{ uintptr }{(*Fts5ExprNode)(unsafe.Pointer((p1))).FxNext})).f(tls, pExpr, p1, bFromValid, iFrom) if rc != SQLITE_OK { (*Fts5ExprNode)(unsafe.Pointer(pNode)).FbNomatch = 0 return rc @@ -176653,7 +178182,9 @@ func fts5ExprNodeTest_AND(tls *libc.TLS, pExpr uintptr, pAnd uintptr) int32 { /* var cmp int32 = fts5RowidCmp(tls, pExpr, iLast, (*Fts5ExprNode)(unsafe.Pointer(pChild)).FiRowid) if cmp > 0 { // Advance pChild until it points to iLast or laster - rc = (*(*func(*libc.TLS, uintptr, uintptr, int32, I64) int32)(unsafe.Pointer((pChild + 16 /* &.xNext */))))(tls, pExpr, pChild, 1, iLast) + rc = (*struct { + f func(*libc.TLS, uintptr, uintptr, int32, I64) int32 + })(unsafe.Pointer(&struct{ uintptr }{(*Fts5ExprNode)(unsafe.Pointer((pChild))).FxNext})).f(tls, pExpr, pChild, 1, iLast) if rc != SQLITE_OK { (*Fts5ExprNode)(unsafe.Pointer(pAnd)).FbNomatch = 0 return rc @@ -176688,7 +178219,9 @@ func fts5ExprNodeTest_AND(tls *libc.TLS, pExpr uintptr, pAnd uintptr) int32 { /* } func fts5ExprNodeNext_AND(tls *libc.TLS, pExpr uintptr, pNode uintptr, bFromValid int32, iFrom I64) int32 { /* sqlite3.c:218749:12: */ - var rc int32 = (*(*func(*libc.TLS, uintptr, uintptr, int32, I64) int32)(unsafe.Pointer((*(*uintptr)(unsafe.Pointer((pNode + 48 /* &.apChild */))) + 16 /* &.xNext */))))(tls, pExpr, *(*uintptr)(unsafe.Pointer((pNode + 48 /* &.apChild */))), bFromValid, iFrom) + var rc int32 = (*struct { + f func(*libc.TLS, uintptr, uintptr, int32, I64) int32 + })(unsafe.Pointer(&struct{ uintptr }{(*Fts5ExprNode)(unsafe.Pointer((*(*uintptr)(unsafe.Pointer((pNode + 48 /* &.apChild */)))))).FxNext})).f(tls, pExpr, *(*uintptr)(unsafe.Pointer((pNode + 48 /* &.apChild */))), bFromValid, iFrom) if rc == SQLITE_OK { rc = fts5ExprNodeTest_AND(tls, pExpr, pNode) } else { @@ -176705,14 +178238,18 @@ func fts5ExprNodeTest_NOT(tls *libc.TLS, pExpr uintptr, pNode uintptr) int32 { / for (rc == SQLITE_OK) && ((*Fts5ExprNode)(unsafe.Pointer(p1)).FbEof == 0) { var cmp int32 = fts5NodeCompare(tls, pExpr, p1, p2) if cmp > 0 { - rc = (*(*func(*libc.TLS, uintptr, uintptr, int32, I64) int32)(unsafe.Pointer((p2 + 16 /* &.xNext */))))(tls, pExpr, p2, 1, (*Fts5ExprNode)(unsafe.Pointer(p1)).FiRowid) + rc = (*struct { + f func(*libc.TLS, uintptr, uintptr, int32, I64) int32 + })(unsafe.Pointer(&struct{ uintptr }{(*Fts5ExprNode)(unsafe.Pointer((p2))).FxNext})).f(tls, pExpr, p2, 1, (*Fts5ExprNode)(unsafe.Pointer(p1)).FiRowid) cmp = fts5NodeCompare(tls, pExpr, p1, p2) } if (cmp != 0) || ((*Fts5ExprNode)(unsafe.Pointer(p2)).FbNomatch != 0) { break } - rc = (*(*func(*libc.TLS, uintptr, uintptr, int32, I64) int32)(unsafe.Pointer((p1 + 16 /* &.xNext */))))(tls, pExpr, p1, 0, int64(0)) + rc = (*struct { + f func(*libc.TLS, uintptr, uintptr, int32, I64) int32 + })(unsafe.Pointer(&struct{ uintptr }{(*Fts5ExprNode)(unsafe.Pointer((p1))).FxNext})).f(tls, pExpr, p1, 0, int64(0)) } (*Fts5ExprNode)(unsafe.Pointer(pNode)).FbEof = (*Fts5ExprNode)(unsafe.Pointer(p1)).FbEof (*Fts5ExprNode)(unsafe.Pointer(pNode)).FbNomatch = (*Fts5ExprNode)(unsafe.Pointer(p1)).FbNomatch @@ -176724,7 +178261,9 @@ func fts5ExprNodeTest_NOT(tls *libc.TLS, pExpr uintptr, pNode uintptr) int32 { / } func fts5ExprNodeNext_NOT(tls *libc.TLS, pExpr uintptr, pNode uintptr, bFromValid int32, iFrom I64) int32 { /* sqlite3.c:218792:12: */ - var rc int32 = (*(*func(*libc.TLS, uintptr, uintptr, int32, I64) int32)(unsafe.Pointer((*(*uintptr)(unsafe.Pointer((pNode + 48 /* &.apChild */))) + 16 /* &.xNext */))))(tls, pExpr, *(*uintptr)(unsafe.Pointer((pNode + 48 /* &.apChild */))), bFromValid, iFrom) + var rc int32 = (*struct { + f func(*libc.TLS, uintptr, uintptr, int32, I64) int32 + })(unsafe.Pointer(&struct{ uintptr }{(*Fts5ExprNode)(unsafe.Pointer((*(*uintptr)(unsafe.Pointer((pNode + 48 /* &.apChild */)))))).FxNext})).f(tls, pExpr, *(*uintptr)(unsafe.Pointer((pNode + 48 /* &.apChild */))), bFromValid, iFrom) if rc == SQLITE_OK { rc = fts5ExprNodeTest_NOT(tls, pExpr, pNode) } @@ -176865,13 +178404,17 @@ func sqlite3Fts5ExprFirst(tls *libc.TLS, p uintptr, pIdx uintptr, iFirst I64, bD if ((rc == SQLITE_OK) && (0 == (*Fts5ExprNode)(unsafe.Pointer(pRoot)).FbEof)) && (fts5RowidCmp(tls, p, (*Fts5ExprNode)(unsafe.Pointer(pRoot)).FiRowid, iFirst) < 0) { - rc = (*(*func(*libc.TLS, uintptr, uintptr, int32, I64) int32)(unsafe.Pointer((pRoot + 16 /* &.xNext */))))(tls, p, pRoot, 1, iFirst) + rc = (*struct { + f func(*libc.TLS, uintptr, uintptr, int32, I64) int32 + })(unsafe.Pointer(&struct{ uintptr }{(*Fts5ExprNode)(unsafe.Pointer((pRoot))).FxNext})).f(tls, p, pRoot, 1, iFirst) } // If the iterator is not at a real match, skip forward until it is. for ((*Fts5ExprNode)(unsafe.Pointer(pRoot)).FbNomatch != 0) && (rc == SQLITE_OK) { - rc = (*(*func(*libc.TLS, uintptr, uintptr, int32, I64) int32)(unsafe.Pointer((pRoot + 16 /* &.xNext */))))(tls, p, pRoot, 0, int64(0)) + rc = (*struct { + f func(*libc.TLS, uintptr, uintptr, int32, I64) int32 + })(unsafe.Pointer(&struct{ uintptr }{(*Fts5ExprNode)(unsafe.Pointer((pRoot))).FxNext})).f(tls, p, pRoot, 0, int64(0)) } return rc } @@ -176885,7 +178428,9 @@ func sqlite3Fts5ExprNext(tls *libc.TLS, p uintptr, iLast I64) int32 { /* sqlite3 var pRoot uintptr = (*Fts5Expr)(unsafe.Pointer(p)).FpRoot for ok := true; ok; ok = (*Fts5ExprNode)(unsafe.Pointer(pRoot)).FbNomatch != 0 { - rc = (*(*func(*libc.TLS, uintptr, uintptr, int32, I64) int32)(unsafe.Pointer((pRoot + 16 /* &.xNext */))))(tls, p, pRoot, 0, int64(0)) + rc = (*struct { + f func(*libc.TLS, uintptr, uintptr, int32, I64) int32 + })(unsafe.Pointer(&struct{ uintptr }{(*Fts5ExprNode)(unsafe.Pointer((pRoot))).FxNext})).f(tls, p, pRoot, 0, int64(0)) } if fts5RowidCmp(tls, p, (*Fts5ExprNode)(unsafe.Pointer(pRoot)).FiRowid, iLast) > 0 { @@ -177006,9 +178551,9 @@ func sqlite3Fts5ParseNearset(tls *libc.TLS, pParse uintptr, pNear uintptr, pPhra } type TokenCtx1 = struct { - FpPhrase uintptr - Frc int32 - _ [4]byte + FpPhrase uintptr + Frc int32 + F__ccgo_pad1 [4]byte } /* sqlite3.c:219078:9 */ type TokenCtx = TokenCtx1 /* sqlite3.c:219078:25 */ @@ -177278,9 +178823,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+39631 /* "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+38660 /* "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)) } } @@ -177296,7 +178841,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+39636 /* "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')) @@ -177393,7 +178938,7 @@ func sqlite3Fts5ParseColset(tls *libc.TLS, pParse uintptr, pColset uintptr, p ui } } if iCol == (*Fts5Config)(unsafe.Pointer(pConfig)).FnCol { - sqlite3Fts5ParseError(tls, pParse, ts+23027 /* "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) } @@ -177489,7 +179034,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+39665 /* "fts5: column que..." */, 0) + ts+39664 /* "fts5: column que..." */, 0) } else { fts5ParseSetColset(tls, pParse, pExpr, pColset, bp /* &pFree */) } @@ -177673,12 +179218,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+39718, /* "fts5: %s queries..." */ + ts+39717, /* "fts5: %s queries..." */ libc.VaList(bp, func() uintptr { if (*Fts5ExprNearset)(unsafe.Pointer(pNear)).FnPhrase == 1 { - return ts + 39768 /* "phrase" */ + return ts + 39767 /* "phrase" */ } - return ts + 39631 /* "NEAR" */ + return ts + 39630 /* "NEAR" */ }())) Xsqlite3_free(tls, pRet) pRet = uintptr(0) @@ -177788,11 +179333,11 @@ func fts5PrintfAppend(tls *libc.TLS, zApp uintptr, zFmt uintptr, va uintptr) uin var zNew uintptr var ap Va_list _ = ap - ap = va + (ap) = va zNew = Xsqlite3_vmprintf(tls, zFmt, ap) _ = ap if (zApp != 0) && (zNew != 0) { - var zNew2 uintptr = Xsqlite3_mprintf(tls, ts+6817 /* "%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 } @@ -177814,7 +179359,7 @@ func fts5ExprPrintTcl(tls *libc.TLS, pConfig uintptr, zNearsetCmd uintptr, pExpr var i int32 var iTerm int32 - zRet = fts5PrintfAppend(tls, zRet, ts+39775 /* "%s " */, libc.VaList(bp, zNearsetCmd)) + zRet = fts5PrintfAppend(tls, zRet, ts+39774 /* "%s " */, libc.VaList(bp, zNearsetCmd)) if zRet == uintptr(0) { return uintptr(0) } @@ -177822,13 +179367,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+39779 /* "-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+39788 /* "-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+39797 /* " %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+39801 /* "} " */, 0) + zRet = fts5PrintfAppend(tls, zRet, ts+39800 /* "} " */, 0) } if zRet == uintptr(0) { return uintptr(0) @@ -177836,13 +179381,13 @@ func fts5ExprPrintTcl(tls *libc.TLS, pConfig uintptr, zNearsetCmd uintptr, pExpr } if (*Fts5ExprNearset)(unsafe.Pointer(pNear)).FnPhrase > 1 { - zRet = fts5PrintfAppend(tls, zRet, ts+39804 /* "-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+39814 /* "--" */, 0) + zRet = fts5PrintfAppend(tls, zRet, ts+39813 /* "--" */, 0) if zRet == uintptr(0) { return uintptr(0) } @@ -177850,22 +179395,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+39817 /* " {" */, 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+6817 /* "%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 + 916 /* "" */ + return ts + 915 /* "" */ } - return ts + 12927 /* " " */ + return ts + 12926 /* " " */ }(), zTerm)) if (*Fts5ExprTerm)(unsafe.Pointer((pPhrase+32 /* &.aTerm */)+uintptr(iTerm)*32)).FbPrefix != 0 { - zRet = fts5PrintfAppend(tls, zRet, ts+21577 /* "*" */, 0) + zRet = fts5PrintfAppend(tls, zRet, ts+21576 /* "*" */, 0) } } if zRet != 0 { - zRet = fts5PrintfAppend(tls, zRet, ts+31005 /* "}" */, 0) + zRet = fts5PrintfAppend(tls, zRet, ts+31004 /* "}" */, 0) } if zRet == uintptr(0) { return uintptr(0) @@ -177877,27 +179422,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 + 34366 /* "AND" */ + zOp = ts + 34365 /* "AND" */ break fallthrough case FTS5_NOT: - zOp = ts + 39627 /* "NOT" */ + zOp = ts + 39626 /* "NOT" */ break fallthrough default: - zOp = ts + 39624 /* "OR" */ + zOp = ts + 39623 /* "OR" */ break } - zRet = Xsqlite3_mprintf(tls, ts+952 /* "%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+39820 /* " [%z]" */, libc.VaList(bp+64, z)) + zRet = fts5PrintfAppend(tls, zRet, ts+39819 /* " [%z]" */, libc.VaList(bp+64, z)) } } } @@ -177911,7 +179456,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+39826 /* "\"\"" */, 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 @@ -177921,23 +179466,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+39829 /* "{" */, 0) + zRet = fts5PrintfAppend(tls, zRet, ts+39828 /* "{" */, 0) } for ii = 0; ii < (*Fts5Colset)(unsafe.Pointer(pColset)).FnCol; ii++ { - zRet = fts5PrintfAppend(tls, zRet, ts+6817, /* "%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 + 916 /* "" */ + return ts + 915 /* "" */ } - return ts + 12927 /* " " */ + return ts + 12926 /* " " */ }())) } if zRet != 0 { - zRet = fts5PrintfAppend(tls, zRet, ts+39831 /* "%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 + 31005 /* "}" */ + return ts + 31004 /* "}" */ } - return ts + 916 /* "" */ + return ts + 915 /* "" */ }())) } if zRet == uintptr(0) { @@ -177946,7 +179491,7 @@ func fts5ExprPrint(tls *libc.TLS, pConfig uintptr, pExpr uintptr) uintptr { /* s } if (*Fts5ExprNearset)(unsafe.Pointer(pNear)).FnPhrase > 1 { - zRet = fts5PrintfAppend(tls, zRet, ts+39837 /* "NEAR(" */, 0) + zRet = fts5PrintfAppend(tls, zRet, ts+39836 /* "NEAR(" */, 0) if zRet == uintptr(0) { return uintptr(0) } @@ -177955,7 +179500,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+12927 /* " " */, 0) + zRet = fts5PrintfAppend(tls, zRet, ts+12926 /* " " */, 0) if zRet == uintptr(0) { return uintptr(0) } @@ -177963,11 +179508,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+6817 /* "%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 + 916 /* "" */ + return ts + 915 /* "" */ } - return ts + 39843 /* " + " */ + return ts + 39842 /* " + " */ }(), zTerm)) Xsqlite3_free(tls, zTerm) } @@ -177979,7 +179524,7 @@ func fts5ExprPrint(tls *libc.TLS, pConfig uintptr, pExpr uintptr) uintptr { /* s } if (*Fts5ExprNearset)(unsafe.Pointer(pNear)).FnPhrase > 1 { - zRet = fts5PrintfAppend(tls, zRet, ts+39847 /* ", %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) } @@ -177991,16 +179536,16 @@ func fts5ExprPrint(tls *libc.TLS, pConfig uintptr, pExpr uintptr) uintptr { /* s switch (*Fts5ExprNode)(unsafe.Pointer(pExpr)).FeType { case FTS5_AND: - zOp = ts + 24074 /* " AND " */ + zOp = ts + 24073 /* " AND " */ break fallthrough case FTS5_NOT: - zOp = ts + 39853 /* " NOT " */ + zOp = ts + 39852 /* " NOT " */ break fallthrough default: - zOp = ts + 37519 /* " OR " */ + zOp = ts + 37518 /* " OR " */ break } @@ -178012,23 +179557,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+39859, /* "%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 + 916 /* "" */ + return ts + 915 /* "" */ } return zOp }(), func() uintptr { if b != 0 { - return ts + 24080 /* "(" */ + return ts + 24079 /* "(" */ } - return ts + 916 /* "" */ + return ts + 915 /* "" */ }(), z, func() uintptr { if b != 0 { - return ts + 6888 /* ")" */ + return ts + 6887 /* ")" */ } - return ts + 916 /* "" */ + return ts + 915 /* "" */ }())) } if zRet == uintptr(0) { @@ -178054,18 +179599,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 + 39868 /* "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+39876, /* "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 + 39917 /* "fts5_expr_tcl" */ + return ts + 39916 /* "fts5_expr_tcl" */ } - return ts + 39931 /* "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 */))) @@ -178084,21 +179629,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 + 8567 /* "main" */ - *(*uintptr)(unsafe.Pointer(azConfig + 2*8)) = ts + 13522 /* "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 + 916 /* "" */ + return ts + 915 /* "" */ }() } zExpr = Xsqlite3_value_text(tls, *(*uintptr)(unsafe.Pointer(apVal))) if zExpr == uintptr(0) { - zExpr = ts + 916 /* "" */ + zExpr = ts + 915 /* "" */ } rc = sqlite3Fts5ConfigParse(tls, pGlobal, db, nConfig, azConfig, bp+8 /* &pConfig */, bp+16 /* &zErr */) @@ -178108,7 +179653,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+916 /* "" */, 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 { @@ -178155,13 +179700,13 @@ func fts5ExprIsAlnum(tls *libc.TLS, pCtx uintptr, nArg int32, apVal uintptr) { / if nArg != 1 { Xsqlite3_result_error(tls, pCtx, - ts+39941 /* "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+39992 /* "L*" */, bp /* &aArr[0] */) - sqlite3Fts5UnicodeCatParse(tls, ts+39995 /* "N*" */, bp /* &aArr[0] */) - sqlite3Fts5UnicodeCatParse(tls, ts+39998 /* "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))))))) } @@ -178169,7 +179714,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+40001 /* "wrong number of ..." */, -1) + ts+40000 /* "wrong number of ..." */, -1) } else { var iCode int32 var bRemoveDiacritics int32 = 0 @@ -178188,16 +179733,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 + 39931 /* "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 + 39917 /* "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 + 40049 /* "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 + 40062 /* "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}))}, } @@ -179411,7 +180956,7 @@ type Fts5Iter1 = struct { FnSeg int32 FbRev int32 FbSkipEmpty U8 - _ [7]byte + F__ccgo_pad1 [7]byte FiSwitchRowid I64 FaFirst uintptr FaSeg [1]Fts5SegIter @@ -179447,7 +180992,7 @@ type Fts5SegIter1 = struct { FiRowid I64 FnPos int32 FbDel U8 - _ [3]byte + F__ccgo_pad1 [3]byte } /* sqlite3.c:221314:9 */ type Fts5SegIter = Fts5SegIter1 /* sqlite3.c:221316:28 */ @@ -179462,26 +181007,26 @@ type Fts5DoclistIter1 = struct { type Fts5DoclistIter = Fts5DoclistIter1 /* sqlite3.c:221317:32 */ type Fts5SegWriter1 = struct { FiSegid int32 - _ [4]byte + F__ccgo_pad1 [4]byte Fwriter Fts5PageWriter FiPrevRowid I64 FbFirstRowidInDoclist U8 FbFirstRowidInPage U8 FbFirstTermInPage U8 - _ [1]byte + F__ccgo_pad2 [1]byte FnLeafWritten int32 FnEmpty int32 FnDlidx int32 FaDlidx uintptr Fbtterm Fts5Buffer FiBtPage int32 - _ [4]byte + F__ccgo_pad3 [4]byte } /* sqlite3.c:221318:9 */ type Fts5SegWriter = Fts5SegWriter1 /* sqlite3.c:221318:30 */ type Fts5Structure1 = struct { FnRef int32 - _ [4]byte + F__ccgo_pad1 [4]byte FnWriteCounter U64 FnSegment int32 FnLevel int32 @@ -179505,9 +181050,9 @@ type Fts5StructureSegment1 = struct { type Fts5StructureSegment = Fts5StructureSegment1 /* sqlite3.c:221321:37 */ type Fts5CResult1 = struct { - FiFirst U16 - FbTermEq U8 - _ [1]byte + FiFirst U16 + FbTermEq U8 + F__ccgo_pad1 [1]byte } /* sqlite3.c:221314:9 */ type Fts5CResult = Fts5CResult1 /* sqlite3.c:221431:28 */ @@ -179614,7 +181159,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+40072 /* "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 @@ -179702,7 +181247,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+40078, /* "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 @@ -179730,7 +181275,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+40129, /* "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 @@ -179754,7 +181299,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+40178, /* "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 { @@ -179962,7 +181507,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+40218 /* "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) } @@ -181397,7 +182942,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+40241, /* "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 @@ -181663,7 +183208,9 @@ func fts5SegIterNextFrom(tls *libc.TLS, p uintptr, pIter uintptr, iMatch I64) { for ok := true; ok; ok = ((*Fts5Index)(unsafe.Pointer(p)).Frc == SQLITE_OK) { if (bMove != 0) && ((*Fts5Index)(unsafe.Pointer(p)).Frc == SQLITE_OK) { - (*(*func(*libc.TLS, uintptr, uintptr, uintptr))(unsafe.Pointer((pIter + 40 /* &.xNext */))))(tls, p, pIter, uintptr(0)) + (*struct { + f func(*libc.TLS, uintptr, uintptr, uintptr) + })(unsafe.Pointer(&struct{ uintptr }{(*Fts5SegIter)(unsafe.Pointer(pIter)).FxNext})).f(tls, p, pIter, uintptr(0)) } if (*Fts5SegIter)(unsafe.Pointer(pIter)).FpLeaf == uintptr(0) { break @@ -181697,7 +183244,9 @@ func fts5MultiIterAdvanced(tls *libc.TLS, p uintptr, pIter uintptr, iChanged int if libc.AssignInt32(&iEq, fts5MultiIterDoCompare(tls, pIter, i)) != 0 { var pSeg uintptr = ((pIter + 96 /* &.aSeg */) + uintptr(iEq)*120) - (*(*func(*libc.TLS, uintptr, uintptr, uintptr))(unsafe.Pointer((pSeg + 40 /* &.xNext */))))(tls, p, pSeg, uintptr(0)) + (*struct { + f func(*libc.TLS, uintptr, uintptr, uintptr) + })(unsafe.Pointer(&struct{ uintptr }{(*Fts5SegIter)(unsafe.Pointer(pSeg)).FxNext})).f(tls, p, pSeg, uintptr(0)) i = ((*Fts5Iter)(unsafe.Pointer(pIter)).FnSeg + iEq) } } @@ -181776,7 +183325,9 @@ func fts5MultiIterNext(tls *libc.TLS, p uintptr, pIter uintptr, bFrom int32, iFr if (bUseFrom != 0) && ((*Fts5SegIter)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp + 8 /* pSeg */)))).FpDlidx != 0) { fts5SegIterNextFrom(tls, p, *(*uintptr)(unsafe.Pointer(bp + 8 /* pSeg */)), iFrom) } else { - (*(*func(*libc.TLS, uintptr, uintptr, uintptr))(unsafe.Pointer((*(*uintptr)(unsafe.Pointer(bp + 8 /* pSeg */)) + 40 /* &.xNext */))))(tls, p, *(*uintptr)(unsafe.Pointer(bp + 8 /* pSeg */)), bp /* &bNewTerm */) + (*struct { + f func(*libc.TLS, uintptr, uintptr, uintptr) + })(unsafe.Pointer(&struct{ uintptr }{(*Fts5SegIter)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp + 8 /* pSeg */)))).FxNext})).f(tls, p, *(*uintptr)(unsafe.Pointer(bp + 8 /* pSeg */)), bp /* &bNewTerm */) } if (((*Fts5SegIter)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp + 8 /* pSeg */)))).FpLeaf == uintptr(0)) || (*(*int32)(unsafe.Pointer(bp /* bNewTerm */)) != 0)) || @@ -181790,7 +183341,9 @@ func fts5MultiIterNext(tls *libc.TLS, p uintptr, pIter uintptr, bFrom int32, iFr } if (int32((*Fts5Iter)(unsafe.Pointer(pIter)).FbSkipEmpty) == 0) || ((*Fts5SegIter)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp + 8 /* pSeg */)))).FnPos != 0) { - (*(*func(*libc.TLS, uintptr, uintptr))(unsafe.Pointer((pIter + 56 /* &.xSetOutputs */))))(tls, pIter, *(*uintptr)(unsafe.Pointer(bp + 8 /* pSeg */))) + (*struct { + f func(*libc.TLS, uintptr, uintptr) + })(unsafe.Pointer(&struct{ uintptr }{(*Fts5Iter)(unsafe.Pointer(pIter)).FxSetOutputs})).f(tls, pIter, *(*uintptr)(unsafe.Pointer(bp + 8 /* pSeg */))) return } bUseFrom = 0 @@ -181808,7 +183361,9 @@ func fts5MultiIterNext2(tls *libc.TLS, p uintptr, pIter uintptr, pbNewTerm uintp *(*uintptr)(unsafe.Pointer(bp + 8 /* pSeg */)) = ((pIter + 96 /* &.aSeg */) + uintptr(iFirst)*120) *(*int32)(unsafe.Pointer(bp /* bNewTerm */)) = 0 - (*(*func(*libc.TLS, uintptr, uintptr, uintptr))(unsafe.Pointer((*(*uintptr)(unsafe.Pointer(bp + 8 /* pSeg */)) + 40 /* &.xNext */))))(tls, p, *(*uintptr)(unsafe.Pointer(bp + 8 /* pSeg */)), bp /* &bNewTerm */) + (*struct { + f func(*libc.TLS, uintptr, uintptr, uintptr) + })(unsafe.Pointer(&struct{ uintptr }{(*Fts5SegIter)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp + 8 /* pSeg */)))).FxNext})).f(tls, p, *(*uintptr)(unsafe.Pointer(bp + 8 /* pSeg */)), bp /* &bNewTerm */) if (((*Fts5SegIter)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp + 8 /* pSeg */)))).FpLeaf == uintptr(0)) || (*(*int32)(unsafe.Pointer(bp /* bNewTerm */)) != 0)) || (fts5MultiIterAdvanceRowid(tls, pIter, iFirst, bp+8 /* &pSeg */) != 0) { fts5MultiIterAdvanced(tls, p, pIter, iFirst, 1) @@ -181857,10 +183412,10 @@ func fts5PoslistCallback(tls *libc.TLS, pUnused uintptr, pContext uintptr, pChun } type PoslistCallbackCtx1 = struct { - FpBuf uintptr - FpColset uintptr - FeState int32 - _ [4]byte + FpBuf uintptr + FpColset uintptr + FeState int32 + F__ccgo_pad1 [4]byte } /* sqlite3.c:224008:9 */ type PoslistCallbackCtx = PoslistCallbackCtx1 /* sqlite3.c:224008:35 */ @@ -182011,7 +183566,9 @@ func fts5ChunkIterate(tls *libc.TLS, p uintptr, pSeg uintptr, pCtx uintptr, xChu } for 1 != 0 { - (*(*func(*libc.TLS, uintptr, uintptr, uintptr, int32))(unsafe.Pointer(&xChunk)))(tls, p, pCtx, pChunk, nChunk) + (*struct { + f func(*libc.TLS, uintptr, uintptr, uintptr, int32) + })(unsafe.Pointer(&struct{ uintptr }{xChunk})).f(tls, p, pCtx, pChunk, nChunk) nRem = nRem - (nChunk) fts5DataRelease(tls, pData) if nRem <= 0 { @@ -182413,7 +183970,9 @@ func fts5MultiIterNew(tls *libc.TLS, p uintptr, pStruct uintptr, flags int32, pC if libc.AssignInt32(&iEq, fts5MultiIterDoCompare(tls, pNew, iIter)) != 0 { var pSeg uintptr = ((pNew + 96 /* &.aSeg */) + uintptr(iEq)*120) if (*Fts5Index)(unsafe.Pointer(p)).Frc == SQLITE_OK { - (*(*func(*libc.TLS, uintptr, uintptr, uintptr))(unsafe.Pointer((pSeg + 40 /* &.xNext */))))(tls, p, pSeg, uintptr(0)) + (*struct { + f func(*libc.TLS, uintptr, uintptr, uintptr) + })(unsafe.Pointer(&struct{ uintptr }{(*Fts5SegIter)(unsafe.Pointer(pSeg)).FxNext})).f(tls, p, pSeg, uintptr(0)) } fts5MultiIterAdvanced(tls, p, pNew, iEq, iIter) } @@ -182424,7 +183983,9 @@ func fts5MultiIterNew(tls *libc.TLS, p uintptr, pStruct uintptr, flags int32, pC fts5MultiIterNext(tls, p, pNew, 0, int64(0)) } else if int32((*Fts5Iter)(unsafe.Pointer(pNew)).Fbase.FbEof) == 0 { var pSeg uintptr = ((pNew + 96 /* &.aSeg */) + uintptr((*Fts5CResult)(unsafe.Pointer((*Fts5Iter)(unsafe.Pointer(pNew)).FaFirst+1*4)).FiFirst)*120) - (*(*func(*libc.TLS, uintptr, uintptr))(unsafe.Pointer((pNew + 56 /* &.xSetOutputs */))))(tls, pNew, pSeg) + (*struct { + f func(*libc.TLS, uintptr, uintptr) + })(unsafe.Pointer(&struct{ uintptr }{(*Fts5Iter)(unsafe.Pointer(pNew)).FxSetOutputs})).f(tls, pNew, pSeg) } } else { @@ -182654,7 +184215,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 + 916 /* "" */ + return ts + 915 /* "" */ }() // The following was already done in fts5WriteInit(): // sqlite3_bind_int(p->pIdxWriter, 1, pWriter->iSegid); @@ -182995,7 +184556,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+40325, /* "INSERT INTO '%q'..." */ + ts+40324, /* "INSERT INTO '%q'..." */ libc.VaList(bp, (*Fts5Config)(unsafe.Pointer(pConfig)).FzDb, (*Fts5Config)(unsafe.Pointer(pConfig)).FzName))) } @@ -183827,12 +185388,12 @@ func fts5MergeRowidLists(tls *libc.TLS, p uintptr, p1 uintptr, nBuf int32, aBuf } type PrefixMerger1 = struct { - Fiter Fts5DoclistIter - FiPos I64 - FiOff int32 - _ [4]byte - FaPos uintptr - FpNext uintptr + Fiter Fts5DoclistIter + FiPos I64 + FiOff int32 + F__ccgo_pad1 [4]byte + FaPos uintptr + FpNext uintptr } /* sqlite3.c:225988:9 */ type PrefixMerger = PrefixMerger1 /* sqlite3.c:225988:29 */ @@ -184078,9 +185639,13 @@ func fts5SetupPrefixIter(tls *libc.TLS, p uintptr, bDesc int32, iIdx int32, pTok fts5IterSetOutputCb(tls, (p + 52 /* &.rc */), *(*uintptr)(unsafe.Pointer(bp + 16 /* p1 */))) for ; fts5MultiIterEof(tls, p, *(*uintptr)(unsafe.Pointer(bp + 16 /* p1 */))) == 0; fts5MultiIterNext2(tls, p, *(*uintptr)(unsafe.Pointer(bp + 16 /* p1 */)), bp+24 /* &dummy */) { var pSeg uintptr = ((*(*uintptr)(unsafe.Pointer(bp + 16 /* p1 */)) + 96 /* &.aSeg */) + uintptr((*Fts5CResult)(unsafe.Pointer((*Fts5Iter)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp + 16 /* p1 */)))).FaFirst+1*4)).FiFirst)*120) - (*(*func(*libc.TLS, uintptr, uintptr))(unsafe.Pointer((*(*uintptr)(unsafe.Pointer(bp + 16 /* p1 */)) + 56 /* &.xSetOutputs */))))(tls, *(*uintptr)(unsafe.Pointer(bp + 16 /* p1 */)), pSeg) + (*struct { + f func(*libc.TLS, uintptr, uintptr) + })(unsafe.Pointer(&struct{ uintptr }{(*Fts5Iter)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp + 16 /* p1 */)))).FxSetOutputs})).f(tls, *(*uintptr)(unsafe.Pointer(bp + 16 /* p1 */)), pSeg) if (*Fts5Iter)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp + 16 /* p1 */)))).Fbase.FnData != 0 { - (*(*func(*libc.TLS, uintptr, I64, uintptr, uintptr))(unsafe.Pointer(&xAppend)))(tls, p, ((*Fts5Iter)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp + 16 /* p1 */)))).Fbase.FiRowid - iLastRowid), *(*uintptr)(unsafe.Pointer(bp + 16 /* p1 */)), bp /* &doclist */) + (*struct { + f func(*libc.TLS, uintptr, I64, uintptr, uintptr) + })(unsafe.Pointer(&struct{ uintptr }{xAppend})).f(tls, p, ((*Fts5Iter)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp + 16 /* p1 */)))).Fbase.FiRowid - iLastRowid), *(*uintptr)(unsafe.Pointer(bp + 16 /* p1 */)), bp /* &doclist */) iLastRowid = (*Fts5Iter)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp + 16 /* p1 */)))).Fbase.FiRowid } } @@ -184094,7 +185659,9 @@ func fts5SetupPrefixIter(tls *libc.TLS, p uintptr, bDesc int32, iIdx int32, pTok var pSeg uintptr = ((*(*uintptr)(unsafe.Pointer(bp + 16 /* p1 */)) + 96 /* &.aSeg */) + uintptr((*Fts5CResult)(unsafe.Pointer((*Fts5Iter)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp + 16 /* p1 */)))).FaFirst+1*4)).FiFirst)*120) var nTerm int32 = (*Fts5SegIter)(unsafe.Pointer(pSeg)).Fterm.Fn var pTerm uintptr = (*Fts5SegIter)(unsafe.Pointer(pSeg)).Fterm.Fp - (*(*func(*libc.TLS, uintptr, uintptr))(unsafe.Pointer((*(*uintptr)(unsafe.Pointer(bp + 16 /* p1 */)) + 56 /* &.xSetOutputs */))))(tls, *(*uintptr)(unsafe.Pointer(bp + 16 /* p1 */)), pSeg) + (*struct { + f func(*libc.TLS, uintptr, uintptr) + })(unsafe.Pointer(&struct{ uintptr }{(*Fts5Iter)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp + 16 /* p1 */)))).FxSetOutputs})).f(tls, *(*uintptr)(unsafe.Pointer(bp + 16 /* p1 */)), pSeg) if *(*int32)(unsafe.Pointer(bp + 28 /* bNewTerm */)) != 0 { if (nTerm < nToken) || (libc.Xmemcmp(tls, pToken, pTerm, uint64(nToken)) != 0) { @@ -184119,7 +185686,9 @@ func fts5SetupPrefixIter(tls *libc.TLS, p uintptr, bDesc int32, iIdx int32, pTok } } if iStore == (i1 + nMerge) { - (*(*func(*libc.TLS, uintptr, uintptr, int32, uintptr))(unsafe.Pointer(&xMerge)))(tls, p, bp /* &doclist */, nMerge, (aBuf + uintptr(i1)*16)) + (*struct { + f func(*libc.TLS, uintptr, uintptr, int32, uintptr) + })(unsafe.Pointer(&struct{ uintptr }{xMerge})).f(tls, p, bp /* &doclist */, nMerge, (aBuf + uintptr(i1)*16)) for iStore = i1; iStore < (i1 + nMerge); iStore++ { sqlite3Fts5BufferZero(tls, (aBuf + uintptr(iStore)*16)) } @@ -184128,14 +185697,18 @@ func fts5SetupPrefixIter(tls *libc.TLS, p uintptr, bDesc int32, iIdx int32, pTok iLastRowid = int64(0) } - (*(*func(*libc.TLS, uintptr, I64, uintptr, uintptr))(unsafe.Pointer(&xAppend)))(tls, p, ((*Fts5Iter)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp + 16 /* p1 */)))).Fbase.FiRowid - iLastRowid), *(*uintptr)(unsafe.Pointer(bp + 16 /* p1 */)), bp /* &doclist */) + (*struct { + f func(*libc.TLS, uintptr, I64, uintptr, uintptr) + })(unsafe.Pointer(&struct{ uintptr }{xAppend})).f(tls, p, ((*Fts5Iter)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp + 16 /* p1 */)))).Fbase.FiRowid - iLastRowid), *(*uintptr)(unsafe.Pointer(bp + 16 /* p1 */)), bp /* &doclist */) iLastRowid = (*Fts5Iter)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp + 16 /* p1 */)))).Fbase.FiRowid } for i = 0; i < nBuf; i = i + (nMerge) { var iFree int32 if (*Fts5Index)(unsafe.Pointer(p)).Frc == SQLITE_OK { - (*(*func(*libc.TLS, uintptr, uintptr, int32, uintptr))(unsafe.Pointer(&xMerge)))(tls, p, bp /* &doclist */, nMerge, (aBuf + uintptr(i)*16)) + (*struct { + f func(*libc.TLS, uintptr, uintptr, int32, uintptr) + })(unsafe.Pointer(&struct{ uintptr }{xMerge})).f(tls, p, bp /* &doclist */, nMerge, (aBuf + uintptr(i)*16)) } for iFree = i; iFree < (i + nMerge); iFree++ { sqlite3Fts5BufferFree(tls, (aBuf + uintptr(iFree)*16)) @@ -184212,7 +185785,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+916 /* "" */, 0) + fts5DataWrite(tls, p, int64(FTS5_AVERAGES_ROWID), ts+915 /* "" */, 0) fts5StructureWrite(tls, p, bp /* &s */) return fts5IndexReturn(tls, p) } @@ -184233,13 +185806,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+40382 /* "%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+29397 /* "data" */, ts+40390 /* "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+13518, /* "idx" */ - ts+40425, /* "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 { @@ -184408,7 +185981,9 @@ func sqlite3Fts5IndexQuery(tls *libc.TLS, p uintptr, pToken uintptr, nToken int3 if (*Fts5Index)(unsafe.Pointer(p)).Frc == SQLITE_OK { var pSeg uintptr = ((*(*uintptr)(unsafe.Pointer(bp + 16 /* pRet */)) + 96 /* &.aSeg */) + uintptr((*Fts5CResult)(unsafe.Pointer((*Fts5Iter)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp + 16 /* pRet */)))).FaFirst+1*4)).FiFirst)*120) if (*Fts5SegIter)(unsafe.Pointer(pSeg)).FpLeaf != 0 { - (*(*func(*libc.TLS, uintptr, uintptr))(unsafe.Pointer((*(*uintptr)(unsafe.Pointer(bp + 16 /* pRet */)) + 56 /* &.xSetOutputs */))))(tls, *(*uintptr)(unsafe.Pointer(bp + 16 /* pRet */)), pSeg) + (*struct { + f func(*libc.TLS, uintptr, uintptr) + })(unsafe.Pointer(&struct{ uintptr }{(*Fts5Iter)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp + 16 /* pRet */)))).FxSetOutputs})).f(tls, *(*uintptr)(unsafe.Pointer(bp + 16 /* pRet */)), pSeg) } } } @@ -184545,7 +186120,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+40072 /* "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 */))) @@ -184682,7 +186257,7 @@ func fts5IndexIntegrityCheckSegment(tls *libc.TLS, p uintptr, pSeg uintptr) { /* fts5IndexPrepareStmt(tls, p, bp+24 /* &pStmt */, Xsqlite3_mprintf(tls, - ts+40469, /* "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. @@ -184892,7 +186467,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+40555 /* "\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))) @@ -184948,17 +186523,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+40560 /* "{averages} " */, 0) + sqlite3Fts5BufferAppendPrintf(tls, pRc, pBuf, ts+40559 /* "{averages} " */, 0) } else { - sqlite3Fts5BufferAppendPrintf(tls, pRc, pBuf, ts+40572 /* "{structure}" */, 0) + sqlite3Fts5BufferAppendPrintf(tls, pRc, pBuf, ts+40571 /* "{structure}" */, 0) } } else { - sqlite3Fts5BufferAppendPrintf(tls, pRc, pBuf, ts+40584, /* "{%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 + 40610 /* "dlidx " */ + return ts + 40609 /* "dlidx " */ } - return ts + 916 /* "" */ + return ts + 915 /* "" */ }(), *(*int32)(unsafe.Pointer(bp + 32 /* iSegid */)), *(*int32)(unsafe.Pointer(bp + 40 /* iHeight */)), *(*int32)(unsafe.Pointer(bp + 44 /* iPgno */)))) } } @@ -184973,13 +186548,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+40617 /* " {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+40644, /* " {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+31005 /* "}" */, 0) + sqlite3Fts5BufferAppendPrintf(tls, pRc, pBuf, ts+31004 /* "}" */, 0) } } @@ -185015,14 +186590,14 @@ func fts5DecodeAverages(tls *libc.TLS, pRc uintptr, pBuf uintptr, pBlob uintptr, defer tls.Free(24) var i int32 = 0 - var zSpace uintptr = ts + 916 /* "" */ + 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+40667 /* "%s%d" */, libc.VaList(bp, zSpace, int32(*(*U64)(unsafe.Pointer(bp + 16 /* iVal */))))) - zSpace = ts + 12927 /* " " */ + sqlite3Fts5BufferAppendPrintf(tls, pRc, pBuf, ts+40666 /* "%s%d" */, libc.VaList(bp, zSpace, int32(*(*U64)(unsafe.Pointer(bp + 16 /* iVal */))))) + zSpace = ts + 12926 /* " " */ } } @@ -185040,7 +186615,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+39797 /* " %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 } @@ -185060,7 +186635,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+40672 /* " 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 @@ -185068,11 +186643,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+40681 /* " 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 + 21577 /* "*" */ + return ts + 21576 /* "*" */ } - return ts + 916 /* "" */ + return ts + 915 /* "" */ }())) iOff = iOff + (fts5DecodePoslist(tls, pRc, pBuf, (a + uintptr(iOff)), func() int32 { if (n - iOff) < (*(*int32)(unsafe.Pointer(bp + 40 /* nPos */))) { @@ -185085,7 +186660,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+40672 /* " 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 */)))) } } @@ -185111,7 +186686,7 @@ func fts5DecodeRowidList(tls *libc.TLS, pRc uintptr, pBuf uintptr, pData uintptr var iRowid I64 = int64(0) for i < nData { - var zApp uintptr = ts + 916 /* "" */ + var zApp uintptr = ts + 915 /* "" */ // var iVal U64 at bp+16, 8 i = i + (int32(sqlite3Fts5GetVarint(tls, (pData + uintptr(i)), bp+16 /* &iVal */))) @@ -185121,13 +186696,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 + 40692 /* "+" */ + zApp = ts + 40691 /* "+" */ } else { - zApp = ts + 21577 /* "*" */ + zApp = ts + 21576 /* "*" */ } } - sqlite3Fts5BufferAppendPrintf(tls, pRc, pBuf, ts+40694 /* " %lld%s" */, libc.VaList(bp, iRowid, zApp)) + sqlite3Fts5BufferAppendPrintf(tls, pRc, pBuf, ts+40693 /* " %lld%s" */, libc.VaList(bp, iRowid, zApp)) } } @@ -185234,7 +186809,7 @@ __5: goto __7 } sqlite3Fts5BufferAppendPrintf(tls, bp+64 /* &rc */, bp+48, /* &s */ - ts+40702 /* " %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 */) @@ -185289,7 +186864,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+40712 /* " 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 @@ -185328,7 +186903,7 @@ __12: if !(n < 4) { goto __21 } - sqlite3Fts5BufferSet(tls, bp+64 /* &rc */, bp+48 /* &s */, 7, ts+40723 /* "corrupt" */) + sqlite3Fts5BufferSet(tls, bp+64 /* &rc */, bp+48 /* &s */, 7, ts+40722 /* "corrupt" */) goto decode_out goto __22 __21: @@ -185450,7 +187025,7 @@ __39: iOff1 = iOff1 + (*(*int32)(unsafe.Pointer(bp + 188 /* nByte */))) sqlite3Fts5BufferAppendPrintf(tls, - bp+64 /* &rc */, bp+48 /* &s */, ts+40712 /* " 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: @@ -185482,16 +187057,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+40731 /* "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+40768 /* "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+40776 /* "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))) @@ -185500,7 +187075,7 @@ func fts5RowidFunction(tls *libc.TLS, pCtx uintptr, nArg int32, apVal uintptr) { } } else { Xsqlite3_result_error(tls, pCtx, - ts+40823 /* "first arg to fts..." */, -1) + ts+40822 /* "first arg to fts..." */, -1) } } } @@ -185513,13 +187088,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+40867 /* "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+40879 /* "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)) @@ -185527,7 +187102,7 @@ func sqlite3Fts5IndexInit(tls *libc.TLS, db uintptr) int32 { /* sqlite3.c:227757 if rc == SQLITE_OK { rc = Xsqlite3_create_function(tls, - db, ts+40896 /* "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)) } @@ -185613,13 +187188,13 @@ type Fts5Cursor1 = struct { FpExpr uintptr FpSorter uintptr Fcsrflags int32 - _ [4]byte + F__ccgo_pad1 [4]byte FiSpecial I64 FzRank uintptr FzRankArgs uintptr FpRank uintptr FnRankArg int32 - _ [4]byte + F__ccgo_pad2 [4]byte FapRankArg uintptr FpRankArgStmt uintptr FpAux uintptr @@ -185693,9 +187268,9 @@ type Fts5TransactionState = struct { } /* sqlite3.c:227858:1 */ type Fts5MatchPhrase = struct { - FpPoslist uintptr - FnTerm int32 - _ [4]byte + FpPoslist uintptr + FnTerm int32 + F__ccgo_pad1 [4]byte } /* sqlite3.c:227915:1 */ // Return true if pTab is a contentless table. @@ -185908,7 +187483,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+40907 /* "recursively defi..." */, 0) + ts+40906 /* "recursively defi..." */, 0) return SQLITE_ERROR } @@ -185942,7 +187517,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+6846 /* "%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)))) } @@ -185958,7 +187533,7 @@ func fts5BestIndexMethod(tls *libc.TLS, pVTab uintptr, pInfo uintptr) int32 { /* } return int8('G') }() - Xsqlite3_snprintf(tls, 6, (idxStr + uintptr(iIdxStr)), ts+6846 /* "%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) @@ -186127,7 +187702,7 @@ func fts5FreeCursorComponents(tls *libc.TLS, pCsr uintptr) { /* sqlite3.c:228530 for pData = (*Fts5Cursor)(unsafe.Pointer(pCsr)).FpAuxdata; pData != 0; pData = pNext { pNext = (*Fts5Auxdata)(unsafe.Pointer(pData)).FpNext if (*Fts5Auxdata)(unsafe.Pointer(pData)).FxDelete != 0 { - (*(*func(*libc.TLS, uintptr))(unsafe.Pointer((pData + 16 /* &.xDelete */))))(tls, (*Fts5Auxdata)(unsafe.Pointer(pData)).FpPtr) + (*struct{ f func(*libc.TLS, uintptr) })(unsafe.Pointer(&struct{ uintptr }{(*Fts5Auxdata)(unsafe.Pointer(pData)).FxDelete})).f(tls, (*Fts5Auxdata)(unsafe.Pointer(pData)).FpPtr) } Xsqlite3_free(tls, pData) } @@ -186301,7 +187876,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+952 /* "%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 @@ -186325,7 +187900,7 @@ func fts5PrepareStatement(tls *libc.TLS, ppStmt uintptr, pConfig uintptr, zFmt u var ap Va_list _ = ap - ap = va + (ap) = va zSql = Xsqlite3_vmprintf(tls, zFmt, ap) if zSql == uintptr(0) { rc = SQLITE_NOMEM @@ -186333,7 +187908,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+952 /* "%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) } @@ -186372,25 +187947,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+40946, /* "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 + 16637 /* ", " */ + return ts + 16636 /* ", " */ } - return ts + 916 /* "" */ + return ts + 915 /* "" */ }(), func() uintptr { if zRankArgs != 0 { return zRankArgs } - return ts + 916 /* "" */ + return ts + 915 /* "" */ }(), func() uintptr { if bDesc != 0 { - return ts + 41001 /* "DESC" */ + return ts + 41000 /* "DESC" */ } - return ts + 41006 /* "ASC" */ + return ts + 41005 /* "ASC" */ }())) (*Fts5Cursor)(unsafe.Pointer(pCsr)).FpSorter = pSorter @@ -186441,13 +188016,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+41010 /* "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+6990 /* "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+41016 /* "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 } @@ -186482,7 +188057,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+41044 /* "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, @@ -186514,7 +188089,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+41054 /* "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 } } @@ -186546,14 +188121,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+41075 /* "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 + 38814 /* "bm25" */ + (*Fts5Cursor)(unsafe.Pointer(pCsr)).FzRank = ts + 38813 /* "bm25" */ (*Fts5Cursor)(unsafe.Pointer(pCsr)).FzRankArgs = uintptr(0) } } @@ -186619,7 +188194,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+40907 /* "recursively defi..." */, 0) + ts+40906 /* "recursively defi..." */, 0) return SQLITE_ERROR __1: ; @@ -186665,7 +188240,7 @@ __8: if !(zText == uintptr(0)) { goto __14 } - zText = ts + 916 /* "" */ + zText = ts + 915 /* "" */ __14: ; iCol = 0 @@ -186854,7 +188429,7 @@ __35: goto __40 } *(*uintptr)(unsafe.Pointer((*Fts5Config)(unsafe.Pointer(pConfig)).FpzErrmsg)) = Xsqlite3_mprintf(tls, - ts+41108 /* "%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: @@ -186991,7 +188566,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+952 /* "%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))) } } } @@ -187001,7 +188576,7 @@ func fts5SeekCursor(tls *libc.TLS, pCsr uintptr, bErrormsg int32) int32 { /* sql func fts5SetVtabError(tls *libc.TLS, p uintptr, zFormat uintptr, va uintptr) { /* sqlite3.c:229283:13: */ var ap Va_list _ = ap // ... printf arguments - ap = va + (ap) = va (*Fts5FullTable)(unsafe.Pointer(p)).Fp.Fbase.FzErrMsg = Xsqlite3_vmprintf(tls, zFormat, ap) _ = ap @@ -187028,29 +188603,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+41144 /* "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+41155 /* "'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+41235 /* "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+41243 /* "'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+18872 /* "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+41299 /* "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+41305 /* "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 { @@ -187124,7 +188699,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+19411 /* "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))) @@ -187149,12 +188724,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+41321, /* "cannot %s conten..." */ + ts+41320, /* "cannot %s conten..." */ libc.VaList(bp, func() uintptr { if nArg > 1 { - return ts + 22823 /* "UPDATE" */ + return ts + 22822 /* "UPDATE" */ } - return ts + 41358 /* "DELETE from" */ + return ts + 41357 /* "DELETE from" */ }(), (*Fts5Config)(unsafe.Pointer(pConfig)).FzName)) *(*int32)(unsafe.Pointer(bp + 16 /* rc */)) = SQLITE_ERROR } else if nArg == 1 { @@ -187555,14 +189130,14 @@ func fts5ApiSetAuxdata(tls *libc.TLS, pCtx uintptr, pPtr uintptr, xDelete uintpt if pData != 0 { if (*Fts5Auxdata)(unsafe.Pointer(pData)).FxDelete != 0 { - (*(*func(*libc.TLS, uintptr))(unsafe.Pointer((pData + 16 /* &.xDelete */))))(tls, (*Fts5Auxdata)(unsafe.Pointer(pData)).FpPtr) + (*struct{ f func(*libc.TLS, uintptr) })(unsafe.Pointer(&struct{ uintptr }{(*Fts5Auxdata)(unsafe.Pointer(pData)).FxDelete})).f(tls, (*Fts5Auxdata)(unsafe.Pointer(pData)).FpPtr) } } else { *(*int32)(unsafe.Pointer(bp /* rc */)) = SQLITE_OK pData = sqlite3Fts5MallocZero(tls, bp /* &rc */, int64(unsafe.Sizeof(Fts5Auxdata{}))) if pData == uintptr(0) { if xDelete != 0 { - (*(*func(*libc.TLS, uintptr))(unsafe.Pointer(&xDelete)))(tls, pPtr) + (*struct{ f func(*libc.TLS, uintptr) })(unsafe.Pointer(&struct{ uintptr }{xDelete})).f(tls, pPtr) } return *(*int32)(unsafe.Pointer(bp /* rc */)) } @@ -187780,7 +189355,9 @@ func fts5ApiQueryPhrase(tls *libc.TLS, pCtx uintptr, iPhrase int32, pUserData ui if rc == SQLITE_OK { for rc = fts5CursorFirst(tls, pTab, *(*uintptr)(unsafe.Pointer(bp /* pNew */)), 0); (rc == SQLITE_OK) && (((*Fts5Cursor)(unsafe.Pointer((*(*uintptr)(unsafe.Pointer(bp /* pNew */))))).Fcsrflags & (FTS5CSR_EOF)) == 0); rc = fts5NextMethod(tls, *(*uintptr)(unsafe.Pointer(bp /* pNew */))) { - rc = (*(*func(*libc.TLS, uintptr, uintptr, uintptr) int32)(unsafe.Pointer(&xCallback)))(tls, uintptr(unsafe.Pointer(&sFts5Api)), *(*uintptr)(unsafe.Pointer(bp /* pNew */)), pUserData) + rc = (*struct { + f func(*libc.TLS, uintptr, uintptr, uintptr) int32 + })(unsafe.Pointer(&struct{ uintptr }{xCallback})).f(tls, uintptr(unsafe.Pointer(&sFts5Api)), *(*uintptr)(unsafe.Pointer(bp /* pNew */)), pUserData) if rc != SQLITE_OK { if rc == SQLITE_DONE { rc = SQLITE_OK @@ -187797,7 +189374,9 @@ func fts5ApiQueryPhrase(tls *libc.TLS, pCtx uintptr, iPhrase int32, pUserData ui func fts5ApiInvoke(tls *libc.TLS, pAux uintptr, pCsr uintptr, context uintptr, argc int32, argv uintptr) { /* sqlite3.c:230126:13: */ (*Fts5Cursor)(unsafe.Pointer(pCsr)).FpAux = pAux - (*(*func(*libc.TLS, uintptr, uintptr, uintptr, int32, uintptr))(unsafe.Pointer((pAux + 24 /* &.xFunc */))))(tls, uintptr(unsafe.Pointer(&sFts5Api)), pCsr, context, argc, argv) + (*struct { + f func(*libc.TLS, uintptr, uintptr, uintptr, int32, uintptr) + })(unsafe.Pointer(&struct{ uintptr }{(*Fts5Auxiliary)(unsafe.Pointer(pAux)).FxFunc})).f(tls, uintptr(unsafe.Pointer(&sFts5Api)), pCsr, context, argc, argv) (*Fts5Cursor)(unsafe.Pointer(pCsr)).FpAux = uintptr(0) } @@ -187824,7 +189403,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+41370 /* "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 { @@ -188129,9 +189708,11 @@ 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+41391 /* "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, + rc = (*struct { + f func(*libc.TLS, uintptr, uintptr, int32, uintptr) int32 + })(unsafe.Pointer(&struct{ uintptr }{(*Fts5TokenizerModule)(unsafe.Pointer(pMod)).Fx.FxCreate})).f(tls, (*Fts5TokenizerModule)(unsafe.Pointer(pMod)).FpUserData, func() uintptr { if azArg != 0 { return (azArg + 1*8) @@ -188146,7 +189727,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+41413 /* "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, @@ -188172,7 +189753,7 @@ func fts5ModuleDestroy(tls *libc.TLS, pCtx uintptr) { /* sqlite3.c:230542:13: */ for pAux = (*Fts5Global)(unsafe.Pointer(pGlobal)).FpAux; pAux != 0; pAux = pNextAux { pNextAux = (*Fts5Auxiliary)(unsafe.Pointer(pAux)).FpNext if (*Fts5Auxiliary)(unsafe.Pointer(pAux)).FxDestroy != 0 { - (*(*func(*libc.TLS, uintptr))(unsafe.Pointer((pAux + 32 /* &.xDestroy */))))(tls, (*Fts5Auxiliary)(unsafe.Pointer(pAux)).FpUserData) + (*struct{ f func(*libc.TLS, uintptr) })(unsafe.Pointer(&struct{ uintptr }{(*Fts5Auxiliary)(unsafe.Pointer(pAux)).FxDestroy})).f(tls, (*Fts5Auxiliary)(unsafe.Pointer(pAux)).FpUserData) } Xsqlite3_free(tls, pAux) } @@ -188180,7 +189761,7 @@ func fts5ModuleDestroy(tls *libc.TLS, pCtx uintptr) { /* sqlite3.c:230542:13: */ for pTok = (*Fts5Global)(unsafe.Pointer(pGlobal)).FpTok; pTok != 0; pTok = pNextTok { pNextTok = (*Fts5TokenizerModule)(unsafe.Pointer(pTok)).FpNext if (*Fts5TokenizerModule)(unsafe.Pointer(pTok)).FxDestroy != 0 { - (*(*func(*libc.TLS, uintptr))(unsafe.Pointer((pTok + 40 /* &.xDestroy */))))(tls, (*Fts5TokenizerModule)(unsafe.Pointer(pTok)).FpUserData) + (*struct{ f func(*libc.TLS, uintptr) })(unsafe.Pointer(&struct{ uintptr }{(*Fts5TokenizerModule)(unsafe.Pointer(pTok)).FxDestroy})).f(tls, (*Fts5TokenizerModule)(unsafe.Pointer(pTok)).FpUserData) } Xsqlite3_free(tls, pTok) } @@ -188193,7 +189774,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+41444 /* "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 */) } @@ -188204,7 +189785,7 @@ func fts5SourceIdFunc(tls *libc.TLS, pCtx uintptr, nArg int32, apUnused uintptr) _ = nArg _ = apUnused - Xsqlite3_result_text(tls, pCtx, ts+41457 /* "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 @@ -188220,7 +189801,7 @@ func fts5ShadowName(tls *libc.TLS, zName uintptr) int32 { /* sqlite3.c:230592:12 } var azName2 = [5]uintptr{ - ts + 41548 /* "config" */, ts + 39003 /* "content" */, ts + 29397 /* "data" */, ts + 39354 /* "docsize" */, ts + 13518, /* "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: */ @@ -188244,7 +189825,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+41555 /* "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) } @@ -188262,13 +189843,13 @@ func fts5Init(tls *libc.TLS, db uintptr) int32 { /* sqlite3.c:230603:12: */ } if rc == SQLITE_OK { rc = Xsqlite3_create_function(tls, - db, ts+41555 /* "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+41560 /* "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)) } @@ -188334,20 +189915,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 + 41575, /* "SELECT %s FROM %..." */ - ts + 41643, /* "SELECT %s FROM %..." */ - ts + 41712, /* "SELECT %s FROM %..." */ // LOOKUP + ts + 41574, /* "SELECT %s FROM %..." */ + ts + 41642, /* "SELECT %s FROM %..." */ + ts + 41711, /* "SELECT %s FROM %..." */ // LOOKUP - ts + 41745, /* "INSERT INTO %Q.'..." */ // INSERT_CONTENT - ts + 41784, /* "REPLACE INTO %Q...." */ // REPLACE_CONTENT - ts + 41824, /* "DELETE FROM %Q.'..." */ // DELETE_CONTENT - ts + 41863, /* "REPLACE INTO %Q...." */ // REPLACE_DOCSIZE - ts + 41904, /* "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 + 41943, /* "SELECT sz FROM %..." */ // LOOKUP_DOCSIZE + ts + 41942, /* "SELECT sz FROM %..." */ // LOOKUP_DOCSIZE - ts + 41985, /* "REPLACE INTO %Q...." */ // REPLACE_CONFIG - ts + 42025, /* "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) @@ -188414,7 +189995,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+952 /* "%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))) } } } @@ -188430,7 +190011,7 @@ func fts5ExecPrintf(tls *libc.TLS, db uintptr, pzErr uintptr, zFormat uintptr, v _ = ap // ... printf arguments var zSql uintptr - ap = va + (ap) = va zSql = Xsqlite3_vmprintf(tls, zFormat, ap) if zSql == uintptr(0) { @@ -188452,18 +190033,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+42048, /* "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+42152, /* "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+42190, /* "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 @@ -188475,7 +190056,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+42228, /* "ALTER TABLE %Q.'..." */ + ts+42227, /* "ALTER TABLE %Q.'..." */ libc.VaList(bp, (*Fts5Config)(unsafe.Pointer(pConfig)).FzDb, (*Fts5Config)(unsafe.Pointer(pConfig)).FzName, zTail, zName, zTail)) } } @@ -188487,14 +190068,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+29397 /* "data" */, zName) - fts5StorageRenameOne(tls, pConfig, bp /* &rc */, ts+13518 /* "idx" */, zName) - fts5StorageRenameOne(tls, pConfig, bp /* &rc */, ts+41548 /* "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+39354 /* "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+39003 /* "content" */, zName) + fts5StorageRenameOne(tls, pConfig, bp /* &rc */, ts+39002 /* "content" */, zName) } return *(*int32)(unsafe.Pointer(bp /* rc */)) } @@ -188508,17 +190089,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+42270, /* "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 + 34012 /* " WITHOUT ROWID" */ + return ts + 34011 /* " WITHOUT ROWID" */ } - return ts + 916 /* "" */ + return ts + 915 /* "" */ }())) if *(*uintptr)(unsafe.Pointer(bp + 64 /* zErr */)) != 0 { *(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3_mprintf(tls, - ts+42300, /* "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 */))) } @@ -188560,27 +190141,27 @@ func sqlite3Fts5StorageOpen(tls *libc.TLS, pConfig uintptr, pIndex uintptr, bCre } else { var i int32 var iOff int32 - Xsqlite3_snprintf(tls, nDefn, zDefn, ts+42344 /* "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+42367 /* ", 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+39003 /* "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+39354 /* "docsize" */, ts+42373 /* "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+41548 /* "config" */, ts+42405 /* "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+39500 /* "version" */, uintptr(0), FTS5_CURRENT_VERSION) + rc = sqlite3Fts5StorageConfigValue(tls, p, ts+39499 /* "version" */, uintptr(0), FTS5_CURRENT_VERSION) } } @@ -188817,12 +190398,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+42422, /* "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+42472, /* "DELETE FROM %Q.'..." */ + ts+42471, /* "DELETE FROM %Q.'..." */ libc.VaList(bp+32, (*Fts5Config)(unsafe.Pointer(pConfig)).FzDb, (*Fts5Config)(unsafe.Pointer(pConfig)).FzName)) } @@ -188832,7 +190413,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+39500 /* "version" */, uintptr(0), FTS5_CURRENT_VERSION) + rc = sqlite3Fts5StorageConfigValue(tls, p, ts+39499 /* "version" */, uintptr(0), FTS5_CURRENT_VERSION) } return rc } @@ -189027,7 +190608,7 @@ func fts5StorageCount(tls *libc.TLS, p uintptr, zSuffix uintptr, pnRow uintptr) var zSql uintptr var rc int32 - zSql = Xsqlite3_mprintf(tls, ts+42501, /* "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 @@ -189224,14 +190805,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+39003 /* "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+39354 /* "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)) } @@ -189467,9 +191048,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+42533 /* "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+42544 /* "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 @@ -189547,7 +191128,9 @@ func fts5AsciiTokenize(tls *libc.TLS, pTokenizer uintptr, pCtx uintptr, iUnused asciiFold(tls, pFold, (pText + uintptr(is)), nByte) // Invoke the token callback - rc = (*(*func(*libc.TLS, uintptr, int32, uintptr, int32, int32, int32) int32)(unsafe.Pointer(&xToken)))(tls, pCtx, 0, pFold, nByte, is, ie) + rc = (*struct { + f func(*libc.TLS, uintptr, int32, uintptr, int32, int32, int32) int32 + })(unsafe.Pointer(&struct{ uintptr }{xToken})).f(tls, pCtx, 0, pFold, nByte, is, ie) is = (ie + 1) } @@ -189574,7 +191157,7 @@ type Unicode61Tokenizer1 = struct { FnFold int32 FeRemoveDiacritic int32 FnException int32 - _ [4]byte + F__ccgo_pad1 [4]byte FaiException uintptr FaCategory [32]uint8 } /* sqlite3.c:232110:9 */ @@ -189709,7 +191292,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 + 42555 /* "L* N* Co" */ + var zCat uintptr = ts + 42554 /* "L* N* Co" */ var i int32 libc.Xmemset(tls, p, 0, uint64(unsafe.Sizeof(Unicode61Tokenizer{}))) @@ -189722,7 +191305,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+42564 /* "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)) } } @@ -189733,18 +191316,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+42575 /* "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+42533 /* "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+42544 /* "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+42564 /* "categories" */) { + } else if 0 == Xsqlite3_stricmp(tls, *(*uintptr)(unsafe.Pointer(azArg + uintptr(i)*8)), ts+42563 /* "categories" */) { // no-op } else { rc = SQLITE_ERROR @@ -189999,7 +191582,9 @@ __15: ; // Invoke the token callback - rc = (*(*func(*libc.TLS, uintptr, int32, uintptr, int32, int32, int32) int32)(unsafe.Pointer(&xToken)))(tls, pCtx, 0, aFold, (int32((int64(zOut) - int64(aFold)) / 1)), is, ie) + rc = (*struct { + f func(*libc.TLS, uintptr, int32, uintptr, int32, int32, int32) int32 + })(unsafe.Pointer(&struct{ uintptr }{xToken})).f(tls, pCtx, 0, aFold, (int32((int64(zOut) - int64(aFold)) / 1)), is, ie) goto __1 __2: ; @@ -190041,7 +191626,7 @@ func fts5PorterDelete(tls *libc.TLS, pTok uintptr) { /* sqlite3.c:232438:13: */ if pTok != 0 { var p uintptr = pTok if (*PorterTokenizer)(unsafe.Pointer(p)).FpTokenizer != 0 { - (*(*func(*libc.TLS, uintptr))(unsafe.Pointer((p /* &.tokenizer */ + 8 /* &.xDelete */))))(tls, (*PorterTokenizer)(unsafe.Pointer(p)).FpTokenizer) + (*struct{ f func(*libc.TLS, uintptr) })(unsafe.Pointer(&struct{ uintptr }{(*PorterTokenizer)(unsafe.Pointer(p)).Ftokenizer.FxDelete})).f(tls, (*PorterTokenizer)(unsafe.Pointer(p)).FpTokenizer) } Xsqlite3_free(tls, p) } @@ -190056,7 +191641,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 + 42593 /* "unicode61" */ + var zBase uintptr = ts + 42592 /* "unicode61" */ if nArg > 0 { zBase = *(*uintptr)(unsafe.Pointer(azArg)) @@ -190065,7 +191650,9 @@ func fts5PorterCreate(tls *libc.TLS, pCtx uintptr, azArg uintptr, nArg int32, pp pRet = Xsqlite3_malloc(tls, int32(unsafe.Sizeof(PorterTokenizer{}))) if pRet != 0 { libc.Xmemset(tls, pRet, 0, uint64(unsafe.Sizeof(PorterTokenizer{}))) - rc = (*(*func(*libc.TLS, uintptr, uintptr, uintptr, uintptr) int32)(unsafe.Pointer((pApi + 16 /* &.xFindTokenizer */))))(tls, pApi, zBase, bp /* &pUserdata */, (pRet /* &.tokenizer */)) + rc = (*struct { + f func(*libc.TLS, uintptr, uintptr, uintptr, uintptr) int32 + })(unsafe.Pointer(&struct{ uintptr }{(*Fts5_api)(unsafe.Pointer(pApi)).FxFindTokenizer})).f(tls, pApi, zBase, bp /* &pUserdata */, (pRet /* &.tokenizer */)) } else { rc = SQLITE_NOMEM } @@ -190082,7 +191669,9 @@ func fts5PorterCreate(tls *libc.TLS, pCtx uintptr, azArg uintptr, nArg int32, pp } return uintptr(0) }() - rc = (*(*func(*libc.TLS, uintptr, uintptr, int32, uintptr) int32)(unsafe.Pointer((pRet /* &.tokenizer */ /* &.xCreate */))))(tls, *(*uintptr)(unsafe.Pointer(bp /* pUserdata */)), azArg2, nArg2, (pRet + 24 /* &.pTokenizer */)) + rc = (*struct { + f func(*libc.TLS, uintptr, uintptr, int32, uintptr) int32 + })(unsafe.Pointer(&struct{ uintptr }{(*PorterTokenizer)(unsafe.Pointer(pRet)).Ftokenizer.FxCreate})).f(tls, *(*uintptr)(unsafe.Pointer(bp /* pUserdata */)), azArg2, nArg2, (pRet + 24 /* &.pTokenizer */)) } if rc != SQLITE_OK { @@ -190102,13 +191691,13 @@ type PorterContext1 = struct { type PorterContext = PorterContext1 /* sqlite3.c:232487:30 */ type PorterRule1 = struct { - FzSuffix uintptr - FnSuffix int32 - _ [4]byte - FxCond uintptr - FzOutput uintptr - FnOutput int32 - _ [4]byte + FzSuffix uintptr + FnSuffix int32 + F__ccgo_pad1 [4]byte + FxCond uintptr + FzOutput uintptr + FnOutput int32 + F__ccgo_pad2 [4]byte } /* sqlite3.c:232494:9 */ type PorterRule = PorterRule1 /* sqlite3.c:232494:27 */ @@ -190209,7 +191798,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+42603 /* "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) } @@ -190217,11 +191806,11 @@ func fts5PorterStep4(tls *libc.TLS, aBuf uintptr, pnBuf uintptr) int32 { /* sqli break case 'c': - if (nBuf > 4) && (0 == libc.Xmemcmp(tls, ts+42606 /* "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+42611 /* "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) } @@ -190229,7 +191818,7 @@ func fts5PorterStep4(tls *libc.TLS, aBuf uintptr, pnBuf uintptr) int32 { /* sqli break case 'e': - if (nBuf > 2) && (0 == libc.Xmemcmp(tls, ts+42616 /* "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) } @@ -190237,7 +191826,7 @@ func fts5PorterStep4(tls *libc.TLS, aBuf uintptr, pnBuf uintptr) int32 { /* sqli break case 'i': - if (nBuf > 2) && (0 == libc.Xmemcmp(tls, ts+42619 /* "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) } @@ -190245,11 +191834,11 @@ func fts5PorterStep4(tls *libc.TLS, aBuf uintptr, pnBuf uintptr) int32 { /* sqli break case 'l': - if (nBuf > 4) && (0 == libc.Xmemcmp(tls, ts+42622 /* "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+42627 /* "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) } @@ -190257,19 +191846,19 @@ func fts5PorterStep4(tls *libc.TLS, aBuf uintptr, pnBuf uintptr) int32 { /* sqli break case 'n': - if (nBuf > 3) && (0 == libc.Xmemcmp(tls, ts+42632 /* "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+42636 /* "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+42642 /* "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+42647 /* "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) } @@ -190277,11 +191866,11 @@ func fts5PorterStep4(tls *libc.TLS, aBuf uintptr, pnBuf uintptr) int32 { /* sqli break case 'o': - if (nBuf > 3) && (0 == libc.Xmemcmp(tls, ts+42651 /* "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+42655 /* "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) } @@ -190289,7 +191878,7 @@ func fts5PorterStep4(tls *libc.TLS, aBuf uintptr, pnBuf uintptr) int32 { /* sqli break case 's': - if (nBuf > 3) && (0 == libc.Xmemcmp(tls, ts+42658 /* "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) } @@ -190297,11 +191886,11 @@ func fts5PorterStep4(tls *libc.TLS, aBuf uintptr, pnBuf uintptr) int32 { /* sqli break case 't': - if (nBuf > 3) && (0 == libc.Xmemcmp(tls, ts+42662 /* "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+42666 /* "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) } @@ -190309,7 +191898,7 @@ func fts5PorterStep4(tls *libc.TLS, aBuf uintptr, pnBuf uintptr) int32 { /* sqli break case 'u': - if (nBuf > 3) && (0 == libc.Xmemcmp(tls, ts+42670 /* "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) } @@ -190317,7 +191906,7 @@ func fts5PorterStep4(tls *libc.TLS, aBuf uintptr, pnBuf uintptr) int32 { /* sqli break case 'v': - if (nBuf > 3) && (0 == libc.Xmemcmp(tls, ts+42674 /* "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) } @@ -190325,7 +191914,7 @@ func fts5PorterStep4(tls *libc.TLS, aBuf uintptr, pnBuf uintptr) int32 { /* sqli break case 'z': - if (nBuf > 3) && (0 == libc.Xmemcmp(tls, ts+42678 /* "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) } @@ -190342,24 +191931,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+42682 /* "at" */, (aBuf+uintptr((nBuf-2))), uint64(2))) { - libc.Xmemcpy(tls, (aBuf + uintptr((nBuf - 2))), ts+42662 /* "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+42685 /* "bl" */, (aBuf+uintptr((nBuf-2))), uint64(2))) { - libc.Xmemcpy(tls, (aBuf + uintptr((nBuf - 2))), ts+42688 /* "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+42692 /* "iz" */, (aBuf+uintptr((nBuf-2))), uint64(2))) { - libc.Xmemcpy(tls, (aBuf + uintptr((nBuf - 2))), ts+42678 /* "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 } @@ -190375,137 +191964,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+42695 /* "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+42662 /* "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+42703 /* "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+42710 /* "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+42715 /* "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+42611 /* "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+42720 /* "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+42606 /* "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+42725 /* "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+42678 /* "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+42730 /* "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+18210 /* "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+42735 /* "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+42688 /* "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+42739 /* "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+42603 /* "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+42744 /* "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+42647 /* "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+42750 /* "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+42754 /* "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+42756 /* "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+42670 /* "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+42762 /* "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+42678 /* "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+42770 /* "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+42662 /* "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+42776 /* "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+42662 /* "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+42781 /* "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+42603 /* "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+42787 /* "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+42674 /* "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+42795 /* "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+42803 /* "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+42807 /* "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+42670 /* "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+42815 /* "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+42603 /* "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+42821 /* "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+42674 /* "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+42827 /* "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+42688 /* "ble" */, uint64(3)) + libc.Xmemcpy(tls, (aBuf + uintptr((nBuf - 6))), ts+42687 /* "ble" */, uint64(3)) *(*int32)(unsafe.Pointer(pnBuf)) = ((nBuf - 6) + 3) } } @@ -190521,16 +192110,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+42834 /* "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+42619 /* "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+42839 /* "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) } @@ -190538,21 +192127,21 @@ func fts5PorterStep3(tls *libc.TLS, aBuf uintptr, pnBuf uintptr) int32 { /* sqli break case 't': - if (nBuf > 5) && (0 == libc.Xmemcmp(tls, ts+42844 /* "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+42619 /* "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+42850 /* "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+42619 /* "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+42803 /* "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) } @@ -190560,7 +192149,7 @@ func fts5PorterStep3(tls *libc.TLS, aBuf uintptr, pnBuf uintptr) int32 { /* sqli break case 'v': - if (nBuf > 5) && (0 == libc.Xmemcmp(tls, ts+42856 /* "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) } @@ -190568,9 +192157,9 @@ func fts5PorterStep3(tls *libc.TLS, aBuf uintptr, pnBuf uintptr) int32 { /* sqli break case 'z': - if (nBuf > 5) && (0 == libc.Xmemcmp(tls, ts+42862 /* "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+42603 /* "al" */, uint64(2)) + libc.Xmemcpy(tls, (aBuf + uintptr((nBuf - 5))), ts+42602 /* "al" */, uint64(2)) *(*int32)(unsafe.Pointer(pnBuf)) = ((nBuf - 5) + 2) } } @@ -190586,12 +192175,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+42868 /* "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+42872 /* "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+42875 /* "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 @@ -190600,7 +192189,7 @@ func fts5PorterStep1B(tls *libc.TLS, aBuf uintptr, pnBuf uintptr) int32 { /* sql break case 'n': - if (nBuf > 3) && (0 == libc.Xmemcmp(tls, ts+42878 /* "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 @@ -190720,10 +192309,14 @@ __8: __10: ; - return (*(*func(*libc.TLS, uintptr, int32, uintptr, int32, int32, int32) int32)(unsafe.Pointer((p + 8 /* &.xToken */))))(tls, (*PorterContext)(unsafe.Pointer(p)).FpCtx, tflags, aBuf, *(*int32)(unsafe.Pointer(bp /* nBuf */)), iStart, iEnd) + return (*struct { + f func(*libc.TLS, uintptr, int32, uintptr, int32, int32, int32) int32 + })(unsafe.Pointer(&struct{ uintptr }{(*PorterContext)(unsafe.Pointer(p)).FxToken})).f(tls, (*PorterContext)(unsafe.Pointer(p)).FpCtx, tflags, aBuf, *(*int32)(unsafe.Pointer(bp /* nBuf */)), iStart, iEnd) pass_through: - return (*(*func(*libc.TLS, uintptr, int32, uintptr, int32, int32, int32) int32)(unsafe.Pointer((p + 8 /* &.xToken */))))(tls, (*PorterContext)(unsafe.Pointer(p)).FpCtx, tflags, pToken, nToken, iStart, iEnd) + return (*struct { + f func(*libc.TLS, uintptr, int32, uintptr, int32, int32, int32) int32 + })(unsafe.Pointer(&struct{ uintptr }{(*PorterContext)(unsafe.Pointer(p)).FxToken})).f(tls, (*PorterContext)(unsafe.Pointer(p)).FpCtx, tflags, pToken, nToken, iStart, iEnd) } // Tokenize using the porter tokenizer. @@ -190737,7 +192330,9 @@ func fts5PorterTokenize(tls *libc.TLS, pTokenizer uintptr, pCtx uintptr, flags i (*PorterContext)(unsafe.Pointer(bp /* &sCtx */)).FxToken = xToken (*PorterContext)(unsafe.Pointer(bp /* &sCtx */)).FpCtx = pCtx (*PorterContext)(unsafe.Pointer(bp /* &sCtx */)).FaBuf = p + 32 /* &.aBuf */ - return (*(*func(*libc.TLS, uintptr, uintptr, int32, uintptr, int32, uintptr) int32)(unsafe.Pointer((p /* &.tokenizer */ + 16 /* &.xTokenize */))))(tls, + return (*struct { + f func(*libc.TLS, uintptr, uintptr, int32, uintptr, int32, uintptr) int32 + })(unsafe.Pointer(&struct{ uintptr }{(*PorterTokenizer)(unsafe.Pointer(p)).Ftokenizer.FxTokenize})).f(tls, (*PorterTokenizer)(unsafe.Pointer(p)).FpTokenizer, bp /* &sCtx */, flags, pText, nText, *(*uintptr)(unsafe.Pointer(&struct { f func(*libc.TLS, uintptr, int32, uintptr, int32, int32, int32) int32 }{fts5PorterCb}))) @@ -190770,7 +192365,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+42882 /* "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 { @@ -190922,7 +192517,9 @@ func fts5TriTokenize(tls *libc.TLS, pTok uintptr, pCtx uintptr, unusedFlags int3 } else { break } - rc = (*(*func(*libc.TLS, uintptr, int32, uintptr, int32, int32, int32) int32)(unsafe.Pointer(&xToken)))(tls, pCtx, 0, bp /* &aBuf[0] */, (int32(int64((zOut - bp /* &aBuf[0] */) / 1))), iStart, (int32(int64(((uintptr(iStart) + zOut) - bp /* &aBuf[0] */) / 1)))) + rc = (*struct { + f func(*libc.TLS, uintptr, int32, uintptr, int32, int32, int32) int32 + })(unsafe.Pointer(&struct{ uintptr }{xToken})).f(tls, pCtx, 0, bp /* &aBuf[0] */, (int32(int64((zOut - bp /* &aBuf[0] */) / 1))), iStart, (int32(int64(((uintptr(iStart) + zOut) - bp /* &aBuf[0] */) / 1)))) if rc != SQLITE_OK { break } @@ -190960,22 +192557,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 + 42593 /* "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 + 42897 /* "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 + 42903 /* "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 + 42910 /* "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 @@ -190986,7 +192583,9 @@ func sqlite3Fts5TokenizerInit(tls *libc.TLS, pApi uintptr) int32 { /* sqlite3.c: var i int32 // To iterate through builtin functions for i = 0; (rc == SQLITE_OK) && (i < (int32(uint64(unsafe.Sizeof([4]BuiltinTokenizer{})) / uint64(unsafe.Sizeof(BuiltinTokenizer{}))))); i++ { - rc = (*(*func(*libc.TLS, uintptr, uintptr, uintptr, uintptr, uintptr) int32)(unsafe.Pointer((pApi + 8 /* &.xCreateTokenizer */))))(tls, pApi, + rc = (*struct { + f func(*libc.TLS, uintptr, uintptr, uintptr, uintptr, uintptr) int32 + })(unsafe.Pointer(&struct{ uintptr }{(*Fts5_api)(unsafe.Pointer(pApi)).FxCreateTokenizer})).f(tls, pApi, (*BuiltinTokenizer)(unsafe.Pointer(bp /* &aBuiltin */ +uintptr(i)*32)).FzName, pApi, (bp /* &aBuiltin */ + uintptr(i)*32 + 8 /* &.x */), @@ -192286,24 +193885,24 @@ type Fts5VocabTable1 = struct { type Fts5VocabTable = Fts5VocabTable1 /* sqlite3.c:234461:31 */ type Fts5VocabCursor1 = struct { - Fbase Sqlite3_vtab_cursor - FpStmt uintptr - FpFts5 uintptr - FbEof int32 - _ [4]byte - FpIter uintptr - FnLeTerm int32 - _ [4]byte - FzLeTerm uintptr - FiCol int32 - _ [4]byte - FaCnt uintptr - FaDoc uintptr - Frowid I64 - Fterm Fts5Buffer - FiInstPos I64 - FiInstOff int32 - _ [4]byte + Fbase Sqlite3_vtab_cursor + FpStmt uintptr + FpFts5 uintptr + FbEof int32 + F__ccgo_pad1 [4]byte + FpIter uintptr + FnLeTerm int32 + F__ccgo_pad2 [4]byte + FzLeTerm uintptr + FiCol int32 + F__ccgo_pad3 [4]byte + FaCnt uintptr + FaDoc uintptr + Frowid I64 + Fterm Fts5Buffer + FiInstPos I64 + FiInstOff int32 + F__ccgo_pad4 [4]byte } /* sqlite3.c:234462:9 */ type Fts5VocabCursor = Fts5VocabCursor1 /* sqlite3.c:234462:32 */ @@ -192322,14 +193921,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+42918 /* "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+42922 /* "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+42926 /* "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+42935 /* "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) @@ -192376,19 +193975,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 + 42969, /* "CREATE TABlE voc..." */ - ts + 43009, /* "CREATE TABlE voc..." */ - ts + 43044, /* "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+26014 /* "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+43087 /* "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 @@ -192540,11 +194139,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+43120 /* "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+43151, /* "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)) @@ -192568,7 +194167,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+43202 /* "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 { @@ -192856,7 +194455,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 + 916 /* "" */ + 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)) @@ -192973,7 +194572,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+43228 /* "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{ @@ -193089,7 +194688,7 @@ func stmtConnect(tls *libc.TLS, db uintptr, pAux uintptr, argc int32, argv uintp rc = Xsqlite3_declare_vtab(tls, db, - ts+43238 /* "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 @@ -193246,14 +194845,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+43310 /* "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 + 43322 /* "2021-06-18 18:36..." */ + return ts + 43321 /* "2021-06-18 18:36..." */ } //************************* End of sqlite3.c ***************************** @@ -194188,5 +195787,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-10.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 ts1 = "COMPILER=gcc-7.5.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/speedtest1/main_netbsd_amd64.go b/speedtest1/main_netbsd_amd64.go index a12377a..40a48ab 100644 --- a/speedtest1/main_netbsd_amd64.go +++ b/speedtest1/main_netbsd_amd64.go @@ -33,7 +33,6 @@ const ( FD_SETSIZE = 256 FFILESYNC = 0x0020 FILENAME_MAX = 1024 - FIXINC_WRAP_STDIO_H_STDIO_STDARG_H = 1 FOPEN_MAX = 20 FPARSELN_UNESCALL = 0x0f FPARSELN_UNESCCOMM = 0x04 @@ -639,7 +638,6 @@ const ( X_AMD64_INT_MWGWTYPES_H_ = 0 X_AMD64_INT_TYPES_H_ = 0 X_AMD64_WCHAR_LIMITS_H_ = 0 - X_ANSI_STDARG_H_ = 0 X_BIG_ENDIAN = 4321 X_BSD_INT16_T_ = 0 X_BSD_INT32_T_ = 0 @@ -672,8 +670,6 @@ const ( X_FILE_OFFSET_BITS = 64 X_FSTDIO = 0 X_FTS5_H = 0 - X_GCC_PTRDIFF_T = 0 - X_GCC_WCHAR_T = 0 X_IOFBF = 0 X_IOLBF = 1 X_IONBF = 2 @@ -854,7 +850,6 @@ const ( X_SC_VERSION = 8 X_SC_XOPEN_SHM = 30 X_SQLITE3RTREE_H_ = 0 - X_STDARG_H = 0 X_STDIO_H_ = 0 X_STDLIB_H_ = 0 X_STRINGS_H_ = 0 @@ -871,14 +866,11 @@ const ( X_SYS_ENDIAN_H_ = 0 X_SYS_FD_SET_H_ = 0 X_SYS_NULL_H_ = 0 + X_SYS_STDARG_H_ = 0 X_SYS_STDINT_H_ = 0 X_SYS_TYPES_H_ = 0 X_SYS_UNISTD_H_ = 0 X_UNISTD_H_ = 0 - X_VA_LIST = 0 - X_VA_LIST_ = 0 - X_VA_LIST_DEFINED = 0 - X_VA_LIST_T_H = 0 X_X86_64_BSWAP_H_ = 0 X_X86_64_CDEFS_H_ = 0 X_X86_64_TYPES_H_ = 0 @@ -896,25 +888,66 @@ type wchar_t = int32 /* :15:24 */ // The available command-line options are described below: var zHelp = *(*[2206]int8)(unsafe.Pointer(ts /* "Usage: %s [--opt..." */)) /* speedtest1.c:6:19 */ -// Define the standard macros for the user, -// if this invocation was from the user program. +// $NetBSD: featuretest.h,v 1.10 2013/04/26 18:29:06 christos Exp $ -// Define va_list, if desired, from __gnuc_va_list. -// We deliberately do not define va_list when called from -// stdio.h, because ANSI C says that stdio.h is not supposed to define -// va_list. stdio.h needs to have access to that data type, -// but must not use that name. It should use the name __gnuc_va_list, -// which is safe because it is reserved for the implementation. +// Written by Klaus Klein , February 2, 1998. +// Public domain. +// +// NOTE: Do not protect this header against multiple inclusion. Doing +// so can have subtle side-effects due to header file inclusion order +// and testing of e.g. _POSIX_SOURCE vs. _POSIX_C_SOURCE. Instead, +// protect each CPP macro that we want to supply. -// The macro _VA_LIST_ is the same thing used by this file in Ultrix. -// But on BSD NET2 we must not test or define or undef it. -// (Note that the comments in NET 2's ansi.h -// are incorrect for _VA_LIST_--see stdio.h!) -// The macro _VA_LIST_DEFINED is used in Windows NT 3.5 -// The macro _VA_LIST is used in SCO Unix 3.2. -// The macro _VA_LIST_T_H is used in the Bull dpx2 -// The macro __va_list__ is used by BeOS. -type va_list = uintptr /* stdarg.h:99:24 */ +// Feature-test macros are defined by several standards, and allow an +// application to specify what symbols they want the system headers to +// expose, and hence what standard they want them to conform to. +// There are two classes of feature-test macros. The first class +// specify complete standards, and if one of these is defined, header +// files will try to conform to the relevant standard. They are: +// +// ANSI macros: +// _ANSI_SOURCE ANSI C89 +// +// POSIX macros: +// _POSIX_SOURCE == 1 IEEE Std 1003.1 (version?) +// _POSIX_C_SOURCE == 1 IEEE Std 1003.1-1990 +// _POSIX_C_SOURCE == 2 IEEE Std 1003.2-1992 +// _POSIX_C_SOURCE == 199309L IEEE Std 1003.1b-1993 +// _POSIX_C_SOURCE == 199506L ISO/IEC 9945-1:1996 +// _POSIX_C_SOURCE == 200112L IEEE Std 1003.1-2001 +// _POSIX_C_SOURCE == 200809L IEEE Std 1003.1-2008 +// +// X/Open macros: +// _XOPEN_SOURCE System Interfaces and Headers, Issue 4, Ver 2 +// _XOPEN_SOURCE_EXTENDED == 1 XSH4.2 UNIX extensions +// _XOPEN_SOURCE == 500 System Interfaces and Headers, Issue 5 +// _XOPEN_SOURCE == 520 Networking Services (XNS), Issue 5.2 +// _XOPEN_SOURCE == 600 IEEE Std 1003.1-2001, XSI option +// _XOPEN_SOURCE == 700 IEEE Std 1003.1-2008, XSI option +// +// NetBSD macros: +// _NETBSD_SOURCE == 1 Make all NetBSD features available. +// +// If more than one of these "major" feature-test macros is defined, +// then the set of facilities provided (and namespace used) is the +// union of that specified by the relevant standards, and in case of +// conflict, the earlier standard in the above list has precedence (so +// if both _POSIX_C_SOURCE and _NETBSD_SOURCE are defined, the version +// of rename() that's used is the POSIX one). If none of the "major" +// feature-test macros is defined, _NETBSD_SOURCE is assumed. +// +// There are also "minor" feature-test macros, which enable extra +// functionality in addition to some base standard. They should be +// defined along with one of the "major" macros. The "minor" macros +// are: +// +// _REENTRANT +// _ISOC99_SOURCE +// _ISOC11_SOURCE +// _LARGEFILE_SOURCE Large File Support +// + +type va_list = uintptr /* stdarg.h:53:19 */ // CAPI3REF: 64-Bit Integer Types // KEYWORDS: sqlite_int64 sqlite_uint64 @@ -2987,7 +3020,7 @@ type fts5_api1 = struct { // // FTS5 EXTENSION REGISTRATION API type fts5_api = fts5_api1 /* sqlite3.h:12312:25 */ -type ssize_t = int64 /* stdio.h:63:23 */ +type ssize_t = int64 /* stdio.h:49:23 */ // $NetBSD: null.h,v 1.9 2010/07/06 11:56:20 kleink Exp $ @@ -3007,7 +3040,7 @@ type __sfpos = struct { __mbstateL int64 _ [120]byte } -} /* stdio.h:81:9 */ +} /* stdio.h:67:9 */ // $NetBSD: null.h,v 1.9 2010/07/06 11:56:20 kleink Exp $ @@ -3017,7 +3050,7 @@ type __sfpos = struct { // This is fairly grotesque, but pure ANSI code must not inspect the // innards of an fpos_t anyway. The library internally uses off_t, // which we assume is exactly as big as eight chars. -type fpos_t = __sfpos /* stdio.h:84:3 */ +type fpos_t = __sfpos /* stdio.h:70:3 */ // NB: to fit things in six character monocase externals, the stdio // code uses the prefix `__s' for stdio objects, typically followed @@ -3028,7 +3061,7 @@ type __sbuf = struct { _base uintptr _size int32 _ [4]byte -} /* stdio.h:95:1 */ +} /* stdio.h:81:1 */ // stdio state variables. // @@ -3087,7 +3120,7 @@ type __sFILE = struct { _blksize int32 _ [4]byte _offset int64 -} /* stdio.h:126:9 */ +} /* stdio.h:112:9 */ // stdio state variables. // @@ -3113,12 +3146,12 @@ type __sFILE = struct { // _ub._base!=NULL) and _up and _ur save the current values of _p and _r. // // NB: see WARNING above before changing the layout of this structure! -type FILE = __sFILE /* stdio.h:160:3 */ +type FILE = __sFILE /* stdio.h:146:3 */ // X/Open CAE Specification Issue 5 Version 2 -type off_t = int64 /* stdio.h:390:18 */ +type off_t = int64 /* stdio.h:376:18 */ -type locale_t = uintptr /* stdio.h:557:25 */ +type locale_t = uintptr /* stdio.h:543:25 */ // __cpu_simple_lock_t used to be a full word. @@ -3218,26 +3251,26 @@ type locale_t = uintptr /* stdio.h:557:25 */ // ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE // POSSIBILITY OF SUCH DAMAGE. -type int8_t = int8 /* types.h:63:18 */ +type int8_t = int8 /* types.h:54:18 */ -type uint8_t = uint8 /* types.h:68:19 */ +type uint8_t = uint8 /* types.h:59:19 */ -type int16_t = int16 /* types.h:73:19 */ +type int16_t = int16 /* types.h:64:19 */ -type uint16_t = uint16 /* types.h:78:20 */ +type uint16_t = uint16 /* types.h:69:20 */ -type int32_t = int32 /* types.h:83:19 */ +type int32_t = int32 /* types.h:74:19 */ -type uint32_t = uint32 /* types.h:88:20 */ +type uint32_t = uint32 /* types.h:79:20 */ -type int64_t = int64 /* types.h:93:19 */ +type int64_t = int64 /* types.h:84:19 */ -type uint64_t = uint64 /* types.h:98:20 */ +type uint64_t = uint64 /* types.h:89:20 */ -type u_int8_t = uint8_t /* types.h:102:18 */ -type u_int16_t = uint16_t /* types.h:103:18 */ -type u_int32_t = uint32_t /* types.h:104:18 */ -type u_int64_t = uint64_t /* types.h:105:18 */ +type u_int8_t = uint8_t /* types.h:93:18 */ +type u_int16_t = uint16_t /* types.h:94:18 */ +type u_int32_t = uint32_t /* types.h:95:18 */ +type u_int64_t = uint64_t /* types.h:96:18 */ // $NetBSD: endian.h,v 1.1 2003/04/26 18:39:40 fvdl Exp $ @@ -3400,15 +3433,6 @@ type u_int64_t = uint64_t /* types.h:105:18 */ // // @(#)cdefs.h 8.8 (Berkeley) 1/9/95 -// DO NOT EDIT THIS FILE. -// -// It has been auto-edited by fixincludes from: -// -// "/usr/include/sys/types.h" -// -// This had to be done to correct non-standard usages in the -// original, manufacturer supplied header file. - // $NetBSD: types.h,v 1.102 2018/11/06 16:26:44 maya Exp $ // - @@ -3657,19 +3681,19 @@ type uint_fast64_t = uint64 /* common_int_mwgwtypes.h:62:32 */ type intmax_t = int64 /* common_int_mwgwtypes.h:66:33 */ type uintmax_t = uint64 /* common_int_mwgwtypes.h:67:32 */ -type u_char = uint8 /* types.h:110:23 */ -type u_short = uint16 /* types.h:111:24 */ -type u_int = uint32 /* types.h:112:22 */ -type u_long = uint64 /* types.h:113:23 */ +type u_char = uint8 /* types.h:101:23 */ +type u_short = uint16 /* types.h:102:24 */ +type u_int = uint32 /* types.h:103:22 */ +type u_long = uint64 /* types.h:104:23 */ -type unchar = uint8 /* types.h:115:23 */ // Sys V compatibility -type ushort = uint16 /* types.h:116:24 */ // Sys V compatibility -type uint = uint32 /* types.h:117:22 */ // Sys V compatibility -type ulong = uint64 /* types.h:118:23 */ // Sys V compatibility +type unchar = uint8 /* types.h:106:23 */ // Sys V compatibility +type ushort = uint16 /* types.h:107:24 */ // Sys V compatibility +type uint = uint32 /* types.h:108:22 */ // Sys V compatibility +type ulong = uint64 /* types.h:109:23 */ // Sys V compatibility -type u_quad_t = uint64_t /* types.h:121:18 */ // quads -type quad_t = int64_t /* types.h:122:18 */ -type qaddr_t = uintptr /* types.h:123:16 */ +type u_quad_t = uint64_t /* types.h:112:18 */ // quads +type quad_t = int64_t /* types.h:113:18 */ +type qaddr_t = uintptr /* types.h:114:16 */ // The types longlong_t and u_longlong_t exist for use with the // Sun-derived XDR routines involving these types, and their usage @@ -3679,59 +3703,59 @@ type qaddr_t = uintptr /* types.h:123:16 */ // respectively. Portable programs that need 64-bit types should use // the C99 types int64_t and uint64_t instead. -type longlong_t = int64_t /* types.h:135:18 */ // for XDR -type u_longlong_t = uint64_t /* types.h:136:18 */ // for XDR +type longlong_t = int64_t /* types.h:126:18 */ // for XDR +type u_longlong_t = uint64_t /* types.h:127:18 */ // for XDR -type blkcnt_t = int64_t /* types.h:138:18 */ // fs block count -type blksize_t = int32_t /* types.h:139:18 */ // fs optimal block size +type blkcnt_t = int64_t /* types.h:129:18 */ // fs block count +type blksize_t = int32_t /* types.h:130:18 */ // fs optimal block size -type fsblkcnt_t = uint64 /* types.h:142:22 */ // fs block count (statvfs) +type fsblkcnt_t = uint64 /* types.h:133:22 */ // fs block count (statvfs) -type fsfilcnt_t = uint64 /* types.h:147:22 */ // fs file count +type fsfilcnt_t = uint64 /* types.h:138:22 */ // fs file count // We don't and shouldn't use caddr_t in the kernel anymore -type caddr_t = uintptr /* types.h:154:19 */ // core address +type caddr_t = uintptr /* types.h:145:19 */ // core address -type daddr_t = int64_t /* types.h:163:18 */ // disk address +type daddr_t = int64_t /* types.h:154:18 */ // disk address -type dev_t = uint64_t /* types.h:166:18 */ // device number -type fixpt_t = uint32_t /* types.h:167:18 */ // fixed point number +type dev_t = uint64_t /* types.h:157:18 */ // device number +type fixpt_t = uint32_t /* types.h:158:18 */ // fixed point number -type gid_t = uint32 /* types.h:170:18 */ // group id +type gid_t = uint32 /* types.h:161:18 */ // group id -type id_t = uint32_t /* types.h:174:18 */ // group id, process id or user id -type ino_t = uint64_t /* types.h:175:18 */ // inode number -type key_t = int64 /* types.h:176:15 */ // IPC key (for Sys V IPC) +type id_t = uint32_t /* types.h:165:18 */ // group id, process id or user id +type ino_t = uint64_t /* types.h:166:18 */ // inode number +type key_t = int64 /* types.h:167:15 */ // IPC key (for Sys V IPC) -type mode_t = uint32 /* types.h:179:18 */ // permissions +type mode_t = uint32 /* types.h:170:18 */ // permissions -type nlink_t = uint32_t /* types.h:183:18 */ // link count +type nlink_t = uint32_t /* types.h:174:18 */ // link count -type pid_t = int32 /* types.h:191:18 */ // process id -type lwpid_t = int32_t /* types.h:194:18 */ // LWP id -type rlim_t = uint64_t /* types.h:195:18 */ // resource limit -type segsz_t = int32_t /* types.h:196:18 */ // segment size -type swblk_t = int32_t /* types.h:197:18 */ // swap offset +type pid_t = int32 /* types.h:182:18 */ // process id +type lwpid_t = int32_t /* types.h:185:18 */ // LWP id +type rlim_t = uint64_t /* types.h:186:18 */ // resource limit +type segsz_t = int32_t /* types.h:187:18 */ // segment size +type swblk_t = int32_t /* types.h:188:18 */ // swap offset -type uid_t = uint32 /* types.h:200:18 */ // user id +type uid_t = uint32 /* types.h:191:18 */ // user id -type mqd_t = int32 /* types.h:204:14 */ +type mqd_t = int32 /* types.h:195:14 */ -type cpuid_t = uint64 /* types.h:206:23 */ +type cpuid_t = uint64 /* types.h:197:23 */ -type psetid_t = int32 /* types.h:208:14 */ +type psetid_t = int32 /* types.h:199:14 */ -type clock_t = uint32 /* types.h:277:24 */ +type clock_t = uint32 /* types.h:268:24 */ -type time_t = int64 /* types.h:306:23 */ +type time_t = int64 /* types.h:289:23 */ -type clockid_t = int32 /* types.h:311:26 */ +type clockid_t = int32 /* types.h:294:26 */ -type timer_t = int32 /* types.h:316:24 */ +type timer_t = int32 /* types.h:299:24 */ -type suseconds_t = int32 /* types.h:321:27 */ +type suseconds_t = int32 /* types.h:304:27 */ -type useconds_t = uint32 /* types.h:326:26 */ +type useconds_t = uint32 /* types.h:309:26 */ // 32 = 2 ^ 5 @@ -3749,9 +3773,9 @@ type fd_set = fd_set1 /* fd_set.h:68:3 */ // Expose our internals if we are not required to hide them. -type kauth_cred_t = uintptr /* types.h:335:27 */ +type kauth_cred_t = uintptr /* types.h:318:27 */ -type pri_t = int32 /* types.h:337:13 */ +type pri_t = int32 /* types.h:320:13 */ // $NetBSD: pthread_types.h,v 1.23 2017/09/09 23:21:45 kamil Exp $ @@ -3906,22 +3930,22 @@ type pthread_key_t = int32 /* pthread_types.h:88:13 * type div_t = struct { quot int32 rem int32 -} /* stdlib.h:76:3 */ +} /* stdlib.h:59:3 */ type ldiv_t = struct { quot int64 rem int64 -} /* stdlib.h:81:3 */ +} /* stdlib.h:64:3 */ type lldiv_t = struct { quot int64 rem int64 -} /* stdlib.h:91:3 */ +} /* stdlib.h:74:3 */ type qdiv_t = struct { quot quad_t rem quad_t -} /* stdlib.h:98:3 */ // getsubopt(3) external variable +} /* stdlib.h:81:3 */ // getsubopt(3) external variable type u64 = sqlite3_uint64 /* speedtest1.c:67:24 */ @@ -3984,7 +4008,7 @@ func isTemp(tls *libc.TLS, N int32) uintptr { /* speedtest1.c:113:19: */ func fatal_error(tls *libc.TLS, zMsg uintptr, va uintptr) { /* speedtest1.c:118:13: */ var ap va_list _ = ap - ap = va + (ap) = va libc.Xvfprintf(tls, (uintptr(unsafe.Pointer(&libc.X__sF)) + 2*152), zMsg, ap) _ = ap libc.Xexit(tls, 1) @@ -4141,12 +4165,16 @@ func speedtest1_timestamp(tls *libc.TLS) sqlite3_int64 { /* speedtest1.c:257:15: clockVfs = sqlite3.Xsqlite3_vfs_find(tls, uintptr(0)) } if ((*sqlite3_vfs)(unsafe.Pointer(clockVfs)).iVersion >= 2) && ((*sqlite3_vfs)(unsafe.Pointer(clockVfs)).xCurrentTimeInt64 != uintptr(0)) { - (*(*func(*libc.TLS, uintptr, uintptr) int32)(unsafe.Pointer((clockVfs + 136 /* &.xCurrentTimeInt64 */))))(tls, clockVfs, bp /* &t */) + (*struct { + f func(*libc.TLS, uintptr, uintptr) int32 + })(unsafe.Pointer(&struct{ uintptr }{(*sqlite3_vfs)(unsafe.Pointer(clockVfs)).xCurrentTimeInt64})).f(tls, clockVfs, bp /* &t */) } else { // var r float64 at bp+8, 8 - (*(*func(*libc.TLS, uintptr, uintptr) int32)(unsafe.Pointer((clockVfs + 120 /* &.xCurrentTime */))))(tls, clockVfs, bp+8 /* &r */) - *(*sqlite3_int64)(unsafe.Pointer(bp /* t */)) = (sqlite3_int64(*(*float64)(unsafe.Pointer(bp + 8 /* r */)) * 86400000.0)) + (*struct { + f func(*libc.TLS, uintptr, uintptr) int32 + })(unsafe.Pointer(&struct{ uintptr }{(*sqlite3_vfs)(unsafe.Pointer(clockVfs)).xCurrentTime})).f(tls, clockVfs, bp+8 /* &r */) + *(*sqlite3_int64)(unsafe.Pointer(bp /* t */)) = (libc.Int64FromFloat64(*(*float64)(unsafe.Pointer(bp + 8 /* r */)) * 86400000.0)) } return *(*sqlite3_int64)(unsafe.Pointer(bp /* t */)) } @@ -4266,7 +4294,7 @@ func speedtest1_begin_test(tls *libc.TLS, iTestNum int32, zTestName uintptr, va var zName uintptr var ap va_list _ = ap - ap = va + (ap) = va zName = sqlite3.Xsqlite3_vmprintf(tls, zTestName, ap) _ = ap n = int32(libc.Xstrlen(tls, zName)) @@ -4367,7 +4395,7 @@ func speedtest1_exec(tls *libc.TLS, zFormat uintptr, va uintptr) { /* speedtest1 var ap va_list _ = ap var zSql uintptr - ap = va + (ap) = va zSql = sqlite3.Xsqlite3_vmprintf(tls, zFormat, ap) _ = ap if g.bSqlOnly != 0 { @@ -4399,7 +4427,7 @@ func speedtest1_once(tls *libc.TLS, zFormat uintptr, va uintptr) uintptr { /* sp // var pStmt uintptr at bp+16, 8 var zResult uintptr = uintptr(0) - ap = va + (ap) = va zSql = sqlite3.Xsqlite3_vmprintf(tls, zFormat, ap) _ = ap if g.bSqlOnly != 0 { @@ -4430,7 +4458,7 @@ func speedtest1_prepare(tls *libc.TLS, zFormat uintptr, va uintptr) { /* speedte var ap va_list _ = ap var zSql uintptr - ap = va + (ap) = va zSql = sqlite3.Xsqlite3_vmprintf(tls, zFormat, ap) _ = ap if g.bSqlOnly != 0 {