diff options
author | 2021-11-27 15:26:58 +0100 | |
---|---|---|
committer | 2021-11-27 15:26:58 +0100 | |
commit | 182b4eea73881c611a0f519576aa6ad2aa6799c2 (patch) | |
tree | 230fac469690fcee8797b13585e739be148d4789 /vendor/modernc.org/sqlite/lib/sqlite_freebsd_amd64.go | |
parent | Require confirmed email when checking oauth token (#332) (diff) | |
download | gotosocial-182b4eea73881c611a0f519576aa6ad2aa6799c2.tar.xz |
Update dependencies (#333)
Diffstat (limited to 'vendor/modernc.org/sqlite/lib/sqlite_freebsd_amd64.go')
-rw-r--r-- | vendor/modernc.org/sqlite/lib/sqlite_freebsd_amd64.go | 11053 |
1 files changed, 6231 insertions, 4822 deletions
diff --git a/vendor/modernc.org/sqlite/lib/sqlite_freebsd_amd64.go b/vendor/modernc.org/sqlite/lib/sqlite_freebsd_amd64.go index 9bb7f6c5e..80ced15a8 100644 --- a/vendor/modernc.org/sqlite/lib/sqlite_freebsd_amd64.go +++ b/vendor/modernc.org/sqlite/lib/sqlite_freebsd_amd64.go @@ -19,8 +19,17 @@ var _ unsafe.Pointer var _ types.Size_t const ( + ACCESSPERMS = 511 + ALLPERMS = 4095 ALT_SCHEMA_TABLE = "sqlite_schema" ALT_TEMP_SCHEMA_TABLE = "sqlite_temp_schema" + AT_EACCESS = 0x0100 + AT_FDCWD = -100 + AT_REMOVEDIR = 0x0800 + AT_RESOLVE_BENEATH = 0x2000 + AT_SYMLINK_FOLLOW = 0x0400 + AT_SYMLINK_NOFOLLOW = 0x0200 + BIG_ENDIAN = 4321 BITVEC_SZ = 512 BITVEC_SZELEM = 8 BTALLOC_ANY = 0 @@ -72,6 +81,7 @@ const ( BTS_READ_ONLY = 0x0001 BTS_SECURE_DELETE = 0x0004 BUFSIZ = 1024 + BYTE_ORDER = 1234 CACHE_STALE = 0 CC_AND = 24 CC_BANG = 15 @@ -106,6 +116,7 @@ const ( CC_X = 0 CKCNSTRNT_COLUMN = 0x01 CKCNSTRNT_ROWID = 0x02 + CLK_TCK = 128 CLOCKS_PER_SEC = 128 CLOCK_MONOTONIC = 4 CLOCK_MONOTONIC_FAST = 12 @@ -138,6 +149,8 @@ const ( COLNAME_N = 5 COLNAME_NAME = 0 COLNAME_TABLE = 3 + CPUCLOCK_WHICH_PID = 0 + CPUCLOCK_WHICH_TID = 1 CURSOR_FAULT = 4 CURSOR_INVALID = 1 CURSOR_REQUIRESEEK = 3 @@ -157,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 @@ -310,11 +324,18 @@ const ( EXIT_FAILURE = 1 EXIT_SUCCESS = 0 EXPRDUP_REDUCE = 0x0001 + FAPPEND = 8 + FASYNC = 64 + FDSYNC = 16777216 FD_CLOEXEC = 1 + FD_NONE = -200 FD_SETSIZE = 1024 + FFSYNC = 128 FILENAME_MAX = 1024 FLAG_SIGNED = 1 FLAG_STRING = 4 + FNDELAY = 4 + FNONBLOCK = 4 FOPEN_MAX = 20 FP_FAST_FMAF = 1 FP_ILOGB0 = -2147483647 @@ -324,6 +345,8 @@ const ( FP_NORMAL = 0x04 FP_SUBNORMAL = 0x08 FP_ZERO = 0x10 + FRDAHEAD = 512 + FREAD = 0x0001 FTS5CSR_EOF = 0x01 FTS5CSR_FREE_ZRANK = 0x10 FTS5CSR_REQUIRE_CONTENT = 0x02 @@ -437,25 +460,44 @@ const ( FTS5_WORK_UNIT = 64 FULLY_WITHIN = 2 FUNC_PERFECT_MATCH = 6 + FWRITE = 0x0002 + F_ADD_SEALS = 19 + F_CANCEL = 5 + F_DUP2FD = 10 + F_DUP2FD_CLOEXEC = 18 F_DUPFD = 0 + F_DUPFD_CLOEXEC = 17 F_GETFD = 1 F_GETFL = 3 F_GETLK = 11 F_GETOWN = 5 + F_GET_SEALS = 20 + F_ISUNIONSTACK = 21 F_LOCK = 1 + F_OGETLK = 7 F_OK = 0 + F_OSETLK = 8 + F_OSETLKW = 9 + F_RDAHEAD = 16 F_RDLCK = 1 + F_READAHEAD = 15 + F_SEAL_GROW = 0x0004 + F_SEAL_SEAL = 0x0001 + F_SEAL_SHRINK = 0x0002 + F_SEAL_WRITE = 0x0008 F_SETFD = 2 F_SETFL = 4 F_SETLK = 12 F_SETLKW = 13 + F_SETLK_REMOTE = 14 F_SETOWN = 6 F_TEST = 3 F_TLOCK = 2 F_ULOCK = 0 F_UNLCK = 2 + F_UNLCKSYS = 4 F_WRLCK = 3 - GCC_VERSION = 10003000 + GCC_VERSION = 4002001 GEOPOLY_PI = 3.1415926535897932385 H4DISC = 7 HASHSIZE = 97 @@ -472,6 +514,10 @@ const ( INCRINIT_NORMAL = 0 INCRINIT_ROOT = 2 INCRINIT_TASK = 1 + INHERIT_COPY = 1 + INHERIT_NONE = 2 + INHERIT_SHARE = 0 + INHERIT_ZERO = 3 INITFLAG_AlterDrop = 0x0002 INITFLAG_AlterRename = 0x0001 INLINEFUNC_affinity = 4 @@ -540,20 +586,56 @@ const ( JT_RIGHT = 0x0010 KEYINFO_ORDER_BIGNULL = 0x02 KEYINFO_ORDER_DESC = 0x01 + LITTLE_ENDIAN = 1234 LOCATE_NOERR = 0x02 LOCATE_VIEW = 0x01 + LOCK_EX = 0x02 + LOCK_NB = 0x04 + LOCK_SH = 0x01 + LOCK_UN = 0x08 LOOKASIDE_SMALL = 128 L_INCR = 1 L_SET = 0 L_XTND = 2 L_ctermid = 1024 + L_cuserid = 17 L_tmpnam = 1024 M10d_Any = 1 M10d_No = 2 M10d_Yes = 0 + MADV_AUTOSYNC = 7 + MADV_CORE = 9 + MADV_DONTNEED = 4 + MADV_FREE = 5 + MADV_NOCORE = 8 + MADV_NORMAL = 0 + MADV_NOSYNC = 6 + MADV_PROTECT = 10 + MADV_RANDOM = 1 + MADV_SEQUENTIAL = 2 + MADV_WILLNEED = 3 + MAP_32BIT = 0x00080000 + MAP_ALIGNED_SUPER = 16777216 + MAP_ALIGNMENT_MASK = 4278190080 + MAP_ALIGNMENT_SHIFT = 24 + MAP_ANON = 0x1000 + MAP_ANONYMOUS = 4096 + MAP_COPY = 2 + MAP_EXCL = 0x00004000 + MAP_FILE = 0x0000 MAP_FIXED = 0x0010 + MAP_GUARD = 0x00002000 + MAP_HASSEMAPHORE = 0x0200 + MAP_NOCORE = 0x00020000 + MAP_NOSYNC = 0x0800 + MAP_PREFAULT_READ = 0x00040000 MAP_PRIVATE = 0x0002 + MAP_RESERVED0020 = 0x0020 + MAP_RESERVED0040 = 0x0040 + MAP_RESERVED0080 = 0x0080 + MAP_RESERVED0100 = 0x0100 MAP_SHARED = 0x0001 + MAP_STACK = 0x0400 MATH_ERREXCEPT = 2 MATH_ERRNO = 1 MAX_PATHNAME = 512 @@ -582,6 +664,29 @@ const ( MEM_TypeMask = 0xc1bf MEM_Undefined = 0x0080 MEM_Zero = 0x4000 + MFD_ALLOW_SEALING = 0x00000002 + MFD_CLOEXEC = 0x00000001 + MFD_HUGETLB = 0x00000004 + MFD_HUGE_16GB = 2281701376 + MFD_HUGE_16MB = 1610612736 + MFD_HUGE_1GB = 2013265920 + MFD_HUGE_1MB = 1342177280 + MFD_HUGE_256MB = 1879048192 + MFD_HUGE_2GB = 2080374784 + MFD_HUGE_2MB = 1409286144 + MFD_HUGE_32MB = 1677721600 + MFD_HUGE_512KB = 1275068416 + MFD_HUGE_512MB = 1946157056 + MFD_HUGE_64KB = 1073741824 + MFD_HUGE_8MB = 1543503872 + MFD_HUGE_MASK = 0xFC000000 + MFD_HUGE_SHIFT = 26 + MINCORE_INCORE = 0x1 + MINCORE_MODIFIED = 0x4 + MINCORE_MODIFIED_OTHER = 0x10 + MINCORE_REFERENCED = 0x2 + MINCORE_REFERENCED_OTHER = 0x8 + MINCORE_SUPER = 0x60 MSVC_VERSION = 0 MS_ASYNC = 0x0001 MS_INVALIDATE = 0x0002 @@ -852,18 +957,31 @@ const ( OS_VXWORKS = 0 O_ACCMODE = 0x0003 O_APPEND = 0x0008 + O_ASYNC = 0x0040 O_BINARY = 0 + O_CLOEXEC = 0x00100000 O_CREAT = 0x0200 + O_DIRECT = 0x00010000 + O_DIRECTORY = 0x00020000 O_DSYNC = 0x01000000 O_EXCL = 0x0800 + O_EXEC = 0x00040000 + O_EXLOCK = 0x0020 + O_FSYNC = 0x0080 O_LARGEFILE = 0 + O_NDELAY = 4 O_NOCTTY = 0x8000 - O_NOFOLLOW = 0 + O_NOFOLLOW = 0x0100 O_NONBLOCK = 0x0004 O_RDONLY = 0x0000 O_RDWR = 0x0002 + O_RESOLVE_BENEATH = 0x00800000 + O_SEARCH = 262144 + O_SHLOCK = 0x0010 O_SYNC = 0x0080 O_TRUNC = 0x0400 + O_TTY_INIT = 0x00080000 + O_VERIFY = 0x00200000 O_WRONLY = 0x0001 P4_ADVANCE = -5 P4_COLLSEQ = -2 @@ -932,6 +1050,7 @@ const ( PCACHE_DIRTYLIST_ADD = 2 PCACHE_DIRTYLIST_FRONT = 3 PCACHE_DIRTYLIST_REMOVE = 1 + PDP_ENDIAN = 3412 PENDING_LOCK = 3 PGHDR_CLEAN = 0x001 PGHDR_DIRTY = 0x002 @@ -1053,6 +1172,29 @@ const ( READ_LOCK = 1 RESERVED_LOCK = 2 RETURNING_TRIGGER_NAME = "sqlite_returning" + RFCENVG = 2048 + RFCFDG = 4096 + RFCNAMEG = 1024 + RFENVG = 2 + RFFDG = 4 + RFFLAGS = 2416930932 + RFHIGHPID = 262144 + RFKERNELONLY = 268828672 + RFLINUXTHPN = 65536 + RFMEM = 32 + RFNAMEG = 1 + RFNOTEG = 8 + RFNOWAIT = 64 + RFPPWAIT = 2147483648 + RFPROC = 16 + RFPROCDESC = 268435456 + RFSIGSHARE = 16384 + RFSPAWN = 2147483648 + RFSTOPPED = 131072 + RFTHREAD = 8192 + RFTSIGMASK = 0xFF + RFTSIGSHIFT = 20 + RFTSIGZMB = 524288 RNDAWAY = 0 RNDTOWARDS = 0 ROWSET_ALLOCATION_SIZE = 1024 @@ -1096,14 +1238,19 @@ const ( SAVEPOINT_BEGIN = 0 SAVEPOINT_RELEASE = 1 SAVEPOINT_ROLLBACK = 2 + SBT_MAX = 0x7fffffffffffffff SCHEMA_ROOT = 1 SEEK_CUR = 1 + SEEK_DATA = 3 SEEK_END = 2 + SEEK_HOLE = 4 SEEK_SET = 0 SELECTTRACE_ENABLED = 0 SESSIONS_STRM_CHUNK_SIZE = 1024 SESSION_MAX_BUFFER_SZ = 2147483391 SESSION_UPDATE_CACHE_SZ = 12 + SF_APPEND = 0x00040000 + SF_ARCHIVED = 0x00010000 SF_Aggregate = 0x0000008 SF_All = 0x0000002 SF_ComplexResult = 0x0040000 @@ -1115,16 +1262,20 @@ const ( SF_FixedLimit = 0x0004000 SF_HasAgg = 0x0000010 SF_HasTypeInfo = 0x0000080 + SF_IMMUTABLE = 0x00020000 SF_IncludeHidden = 0x0020000 SF_MaybeConvert = 0x0008000 SF_MinMaxAgg = 0x0001000 SF_MultiPart = 0x2000000 SF_MultiValue = 0x0000400 + SF_NOUNLINK = 0x00100000 SF_NestedFrom = 0x0000800 SF_NoopOrderBy = 0x0400000 SF_PushDown = 0x1000000 SF_Recursive = 0x0002000 SF_Resolved = 0x0000004 + SF_SETTABLE = 0xffff0000 + SF_SNAPSHOT = 0x00200000 SF_UpdateFrom = 0x0800000 SF_UsesEphemeral = 0x0000020 SF_Values = 0x0000200 @@ -1133,6 +1284,14 @@ const ( SF_WinRewrite = 0x0100000 SHARED_LOCK = 1 SHARED_SIZE = 510 + SHM_ALLOW_SEALING = 0x00000001 + SHM_GROW_ON_WRITE = 0x00000002 + SHM_LARGEPAGE = 0x00000004 + SHM_LARGEPAGE_ALLOC_DEFAULT = 0 + SHM_LARGEPAGE_ALLOC_HARD = 2 + SHM_LARGEPAGE_ALLOC_NOWAIT = 1 + SHM_RENAME_EXCHANGE = 2 + SHM_RENAME_NOREPLACE = 1 SLIPDISC = 4 SLOT_2_0 = 0x001fc07f SLOT_4_2_0 = 0xf01fc07f @@ -1632,7 +1791,6 @@ const ( SQLITE_NOTICE_RECOVER_WAL = 283 SQLITE_NOTNULL = 0x90 SQLITE_NOWILDCARDMATCH = 2 - SQLITE_NO_TSAN = 0 SQLITE_NTUNE = 6 SQLITE_NULL = 5 SQLITE_NULLEQ = 0x80 @@ -1877,6 +2035,8 @@ const ( STDERR_FILENO = 2 STDIN_FILENO = 0 STDOUT_FILENO = 1 + S_BLKSIZE = 512 + S_IEXEC = 64 S_IFBLK = 0060000 S_IFCHR = 0020000 S_IFDIR = 0040000 @@ -1885,6 +2045,8 @@ const ( S_IFMT = 0170000 S_IFREG = 0100000 S_IFSOCK = 0140000 + S_IFWHT = 0160000 + S_IREAD = 256 S_IRGRP = 0000040 S_IROTH = 0000004 S_IRUSR = 0000400 @@ -1892,10 +2054,12 @@ const ( S_IRWXO = 0000007 S_IRWXU = 0000700 S_ISGID = 0002000 + S_ISTXT = 0001000 S_ISUID = 0004000 S_ISVTX = 0001000 S_IWGRP = 0000020 S_IWOTH = 0000002 + S_IWRITE = 128 S_IWUSR = 0000200 S_IXGRP = 0000010 S_IXOTH = 0000001 @@ -1934,7 +2098,9 @@ const ( TF_WithoutRowid = 0x0080 TIMER_ABSTIME = 0x1 TIMER_END = 0 + TIMER_RELTIME = 0x0 TIMER_START = 0 + TIME_UTC = 1 TIOCM_CAR = 64 TIOCM_CD = 64 TIOCM_CTS = 0040 @@ -2145,6 +2311,19 @@ const ( TRIGGER_AFTER = 2 TRIGGER_BEFORE = 1 TTYDISC = 0 + UF_APPEND = 0x00000004 + UF_ARCHIVE = 0x00000800 + UF_HIDDEN = 0x00008000 + UF_IMMUTABLE = 0x00000002 + UF_NODUMP = 0x00000001 + UF_NOUNLINK = 0x00000010 + UF_OFFLINE = 0x00000200 + UF_OPAQUE = 0x00000008 + UF_READONLY = 0x00001000 + UF_REPARSE = 0x00000400 + UF_SETTABLE = 0x0000ffff + UF_SPARSE = 0x00000100 + UF_SYSTEM = 0x00000080 UNIXFILE_DELETE = 0x20 UNIXFILE_DIRSYNC = 0x08 UNIXFILE_EXCL = 0x01 @@ -2156,6 +2335,8 @@ const ( UNIX_SHM_BASE = 120 UNIX_SHM_DMS = 128 UNKNOWN_LOCK = 5 + UTIME_NOW = -1 + UTIME_OMIT = -2 VDBE_DISPLAY_P4 = 1 VDBE_MAGIC_DEAD = 0x5606c3c8 VDBE_MAGIC_HALT = 0x319c2973 @@ -2281,13 +2462,10 @@ const ( YY_SHIFT_MAX = 2009 YY_SHIFT_MIN = 0 X_ACCMODE_T_DECLARED = 0 - X_ANSI_STDARG_H_ = 0 - X_ANSI_STDDEF_H = 0 X_ASSERT_H_ = 0 X_BIG_ENDIAN = 4321 X_BLKCNT_T_DECLARED = 0 X_BLKSIZE_T_DECLARED = 0 - X_BSD_PTRDIFF_T_ = 0 X_BYTE_ORDER = 1234 X_CAP_IOCTL_T_DECLARED = 0 X_CAP_RIGHTS_T_DECLARED = 0 @@ -2309,6 +2487,7 @@ const ( X_CS_POSIX_V6_WIDTH_RESTRICTED_ENVS = 14 X_DEV_T_DECLARED = 0 X_DLFCN_H_ = 0 + X_ERRNO_T_DEFINED = 0 X_FFLAGS_T_DECLARED = 0 X_FILE_OFFSET_BITS = 64 X_FSBLKCNT_T_DECLARED = 0 @@ -2318,7 +2497,6 @@ const ( X_FTS5_H = 0 X_FTSINT_H = 0 X_GCC_MAX_ALIGN_T = 0 - X_GCC_PTRDIFF_T = 0 X_GETOPT_DECLARED = 0 X_GID_T_DECLARED = 0 X_GNU_SOURCE = 0 @@ -2344,6 +2522,7 @@ const ( X_LSEEK_DECLARED = 0 X_LWPID_T_DECLARED = 0 X_MACHINE_ENDIAN_H_ = 0 + X_MACHINE_STDARG_H_ = 0 X_MACHINE__LIMITS_H_ = 0 X_MACHINE__TYPES_H_ = 0 X_MADV_DONTNEED = 4 @@ -2365,12 +2544,19 @@ const ( X_Nullable = 0 X_OFF64_T_DECLARED = 0 X_OFF_T_DECLARED = 0 + X_OPTRESET_DECLARED = 0 X_OS_COMMON_H_ = 0 + X_PC_ACL_EXTENDED = 59 + X_PC_ACL_NFS4 = 64 + X_PC_ACL_PATH_MAX = 60 X_PC_ALLOC_SIZE_MIN = 10 X_PC_ASYNC_IO = 53 + X_PC_CAP_PRESENT = 61 X_PC_CHOWN_RESTRICTED = 7 X_PC_FILESIZEBITS = 12 + X_PC_INF_PRESENT = 62 X_PC_LINK_MAX = 1 + X_PC_MAC_PRESENT = 63 X_PC_MAX_CANON = 2 X_PC_MAX_INPUT = 3 X_PC_MIN_HOLE_SIZE = 21 @@ -2409,7 +2595,6 @@ const ( X_POSIX_CHOWN_RESTRICTED = 1 X_POSIX_CLOCK_SELECTION = -1 X_POSIX_CPUTIME = 200112 - X_POSIX_C_SOURCE = 200112 X_POSIX_FSYNC = 200112 X_POSIX_IPV6 = 0 X_POSIX_JOB_CONTROL = 1 @@ -2452,14 +2637,15 @@ const ( X_POSIX_TYPED_MEMORY_OBJECTS = -1 X_POSIX_VDISABLE = 0xff X_POSIX_VERSION = 200112 + X_PROT_ALL = 7 + X_PROT_MAX_SHIFT = 16 X_PTHREAD_T_DECLARED = 0 - X_PTRDIFF_T = 0 - X_PTRDIFF_T_ = 0 X_PTRDIFF_T_DECLARED = 0 X_QUAD_HIGHWORD = 1 X_QUAD_LOWWORD = 0 X_RLIM_T_DECLARED = 0 X_RSIZE_T_DEFINED = 0 + X_RUNE_T_DECLARED = 0 X_SC_2_CHAR_TERM = 20 X_SC_2_C_BIND = 18 X_SC_2_C_DEV = 19 @@ -2491,6 +2677,7 @@ const ( X_SC_CLK_TCK = 3 X_SC_CLOCK_SELECTION = 67 X_SC_COLL_WEIGHTS_MAX = 13 + X_SC_CPUSET_SIZE = 122 X_SC_CPUTIME = 68 X_SC_DELAYTIMER_MAX = 45 X_SC_EXPR_NEST_MAX = 14 @@ -2513,6 +2700,8 @@ const ( X_SC_MQ_OPEN_MAX = 46 X_SC_MQ_PRIO_MAX = 75 X_SC_NGROUPS_MAX = 4 + X_SC_NPROCESSORS_CONF = 57 + X_SC_NPROCESSORS_ONLN = 58 X_SC_OPEN_MAX = 5 X_SC_PAGESIZE = 47 X_SC_PAGE_SIZE = 47 @@ -2586,13 +2775,12 @@ const ( X_SQLITE3RTREE_H_ = 0 X_SQLITE_OS_H_ = 0 X_SSIZE_T_DECLARED = 0 - X_STDARG_H = 0 - X_STDDEF_H = 0 X_STDDEF_H_ = 0 X_STDFILE_DECLARED = 0 X_STDIO_H_ = 0 X_STDLIB_H_ = 0 X_STDSTREAM_DECLARED = 0 + X_STRINGS_H_ = 0 X_STRING_H_ = 0 X_SUSECONDS_T_DECLARED = 0 X_SWAB_DECLARED = 0 @@ -2613,6 +2801,7 @@ const ( X_SYS_UNISTD_H_ = 0 X_SYS__PTHREADTYPES_H_ = 0 X_SYS__SIGSET_H_ = 0 + X_SYS__STDARG_H_ = 0 X_SYS__STDINT_H_ = 0 X_SYS__TIMESPEC_H_ = 0 X_SYS__TIMEVAL_H_ = 0 @@ -2622,8 +2811,6 @@ const ( X_TIME_H_ = 0 X_TIME_T_DECLARED = 0 X_TRUNCATE_DECLARED = 0 - X_T_PTRDIFF = 0 - X_T_PTRDIFF_ = 0 X_UID_T_DECLARED = 0 X_UINT16_T_DECLARED = 0 X_UINT32_T_DECLARED = 0 @@ -2637,12 +2824,11 @@ const ( X_V6_ILP32_OFFBIG = 0 X_V6_LP64_OFF64 = 0 X_V6_LPBIG_OFFBIG = -1 - X_VA_LIST = 0 X_VA_LIST_DECLARED = 0 - X_VA_LIST_DEFINED = 0 - X_VA_LIST_T_H = 0 X_WCHAR_T_DECLARED = 0 + X_XLOCALE_LOCALE1_H = 0 X_XLOCALE_STRING1_H = 0 + X_XLOCALE_STRINGS1_H = 0 X_XOPEN_CRYPT = -1 X_XOPEN_ENH_I18N = -1 X_XOPEN_LEGACY = -1 @@ -2653,6 +2839,7 @@ const ( X_XOPEN_STREAMS = -1 X_XOPEN_UNIX = -1 BBatch = 0 + Deliberate_fall_through = 0 EtBUFSIZE = 70 EtCHARX = 8 EtDECIMAL = 16 @@ -2792,25 +2979,26 @@ type X__float128 = float64 /* <builtin>: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=clang-1..." */ + ts + 22, /* "ENABLE_COLUMN_ME..." */ + ts + 45, /* "ENABLE_FTS5" */ + ts + 57, /* "ENABLE_GEOPOLY" */ + ts + 72, /* "ENABLE_JSON1" */ + ts + 85, /* "ENABLE_MEMORY_MA..." */ + ts + 110, /* "ENABLE_OFFSET_SQ..." */ + ts + 133, /* "ENABLE_PREUPDATE..." */ + ts + 155, /* "ENABLE_RBU" */ + ts + 166, /* "ENABLE_RTREE" */ + ts + 179, /* "ENABLE_SESSION" */ + ts + 194, /* "ENABLE_SNAPSHOT" */ + ts + 210, /* "ENABLE_STAT4" */ + ts + 223, /* "ENABLE_UNLOCK_NO..." */ + ts + 244, /* "LIKE_DOESNT_MATC..." */ + ts + 268, /* "MUTEX_NOOP" */ + ts + 279, /* "SOUNDEX" */ + ts + 287, /* "SYSTEM_MALLOC" */ + ts + 301, /* "THREADSAFE=1" */ // END CODE GENERATED BY tool/mkctime.tcl } /* sqlite3.c:72:19 */ @@ -3000,54 +3188,583 @@ func Xsqlite3CompileOptions(tls *libc.TLS, pnOpt uintptr) uintptr { /* sqlite3.c // 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 in the public domain. +// $FreeBSD$ + +// - +// SPDX-License-Identifier: BSD-2-Clause +// +// Copyright (c) 2017 Poul-Henning Kamp. All rights reserved. // -// This file is part of GCC. +// 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. // -// 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. +// THIS SOFTWARE IS PROVIDED BY THE AUTHOR 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 AUTHOR 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. +// +// $FreeBSD$ + +// - +// SPDX-License-Identifier: BSD-3-Clause +// +// Copyright (c) 2002 David E. O'Brien. 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 AUTHOR 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 AUTHOR 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. +// +// $FreeBSD$ + +// - +// SPDX-License-Identifier: BSD-3-Clause +// +// 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. // -// 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. +// 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. // -// 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. +// @(#)cdefs.h 8.8 (Berkeley) 1/9/95 +// $FreeBSD$ + +// Testing against Clang-specific extensions. + +// This code has been put in place to help reduce the addition of +// compiler specific defines in FreeBSD code. It helps to aid in +// having a compiler-agnostic source tree. + +// Compiler memory barriers, specific to gcc and clang. + +// XXX: if __GNUC__ >= 2: not tested everywhere originally, where replaced + +// Macro to test if we're using a specific version of gcc or later. + +// The __CONCAT macro is used to concatenate parts of symbol names, e.g. +// with "#define OLD(foo) __CONCAT(old,foo)", OLD(foo) produces oldfoo. +// The __CONCAT macro is a bit tricky to use if it must work in non-ANSI +// mode -- there must be no spaces between its arguments, and for nested +// __CONCAT's, all the __CONCAT's must be at the left. __CONCAT can also +// concatenate double-quoted strings produced by the __STRING macro, but +// this only works with ANSI C. // -// 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 -// <http://www.gnu.org/licenses/>. +// __XSTRING is like __STRING, but it expands any macros in its argument +// first. It is only available with ANSI C. -// ISO C Standard: 7.15 Variable arguments <stdarg.h> +// Compiler-dependent macros to help declare dead (non-returning) and +// pure (no side effects) functions, and unused variables. They are +// null except for versions of gcc that are known to support the features +// properly (old versions of gcc-2 supported the dead and pure features +// in a different (wrong) way). If we do not provide an implementation +// for a given compiler, let the compile fail if it is told to use +// a feature that we cannot live without. -// Define __gnuc_va_list. +// Keywords added in C11. -type X__gnuc_va_list = X__builtin_va_list /* stdarg.h:40:27 */ +// Emulation of C11 _Generic(). Unlike the previously defined C11 +// keywords, it is not possible to implement this using exactly the same +// syntax. Therefore implement something similar under the name +// __generic(). Unlike _Generic(), this macro can only distinguish +// between a single type, so it requires nested invocations to +// distinguish multiple cases. -// Define the standard macros for the user, -// if this invocation was from the user program. +// C99 Static array indices in function parameter declarations. Syntax such as: +// void bar(int myArray[static 10]); +// is allowed in C99 but not in C++. Define __min_size appropriately so +// headers using it can be compiled in either language. Use like this: +// void bar(int myArray[__min_size(10)]); -// 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. +// XXX: should use `#if __STDC_VERSION__ < 199901'. -// 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 */ +// C++11 exposes a load of C99 stuff + +// GCC 2.95 provides `__restrict' as an extension to C90 to support the +// C99-specific `restrict' type qualifier. We happen to use `__restrict' as +// a way to define the `restrict' type qualifier without disturbing older +// software that is unaware of C99 keywords. + +// GNU C version 2.96 adds explicit branch prediction so that +// the CPU back-end can hint the processor and also so that +// code blocks can be reordered such that the predicted path +// sees a more linear flow, thus improving cache behavior, etc. +// +// The following two macros provide us with a way to utilize this +// compiler feature. Use __predict_true() if you expect the expression +// to evaluate to true, and __predict_false() if you expect the +// expression to evaluate to false. +// +// A few notes about usage: +// +// * Generally, __predict_false() error condition checks (unless +// you have some _strong_ reason to do otherwise, in which case +// document it), and/or __predict_true() `no-error' condition +// checks, assuming you want to optimize for the no-error case. +// +// * Other than that, if you don't know the likelihood of a test +// succeeding from empirical or other `hard' evidence, don't +// make predictions. +// +// * These are meant to be used in places that are run `a lot'. +// It is wasteful to make predictions in code that is run +// seldomly (e.g. at subsystem initialization time) as the +// basic block reordering that this affects can often generate +// larger code. + +// We define this here since <stddef.h>, <sys/queue.h>, and <sys/types.h> +// require it. + +// Given the pointer x to the member m of the struct s, return +// a pointer to the containing structure. When using GCC, we first +// assign pointer x to a local variable, to check that its type is +// compatible with member m. + +// Compiler-dependent macros to declare that functions take printf-like +// or scanf-like arguments. They are null except for versions of gcc +// that are known to support the features properly (old versions of gcc-2 +// didn't permit keeping the keywords out of the application namespace). + +// Compiler-dependent macros that rely on FreeBSD-specific extensions. + +// Embed the rcs id of a source file in the resulting library. Note that in +// more recent ELF binutils, we use .ident allowing the ID to be stripped. +// Usage: +// __FBSDID("$FreeBSD$"); + +// - +// The following definitions are an extension of the behavior originally +// implemented in <sys/_posix.h>, but with a different level of granularity. +// POSIX.1 requires that the macros we test be defined before any standard +// header file is included. +// +// Here's a quick run-down of the versions: +// defined(_POSIX_SOURCE) 1003.1-1988 +// _POSIX_C_SOURCE == 1 1003.1-1990 +// _POSIX_C_SOURCE == 2 1003.2-1992 C Language Binding Option +// _POSIX_C_SOURCE == 199309 1003.1b-1993 +// _POSIX_C_SOURCE == 199506 1003.1c-1995, 1003.1i-1995, +// and the omnibus ISO/IEC 9945-1: 1996 +// _POSIX_C_SOURCE == 200112 1003.1-2001 +// _POSIX_C_SOURCE == 200809 1003.1-2008 +// +// In addition, the X/Open Portability Guide, which is now the Single UNIX +// Specification, defines a feature-test macro which indicates the version of +// that specification, and which subsumes _POSIX_C_SOURCE. +// +// Our macros begin with two underscores to avoid namespace screwage. + +// Deal with IEEE Std. 1003.1-1990, in which _POSIX_C_SOURCE == 1. + +// Deal with IEEE Std. 1003.2-1992, in which _POSIX_C_SOURCE == 2. + +// Deal with various X/Open Portability Guides and Single UNIX Spec. + +// Deal with all versions of POSIX. The ordering relative to the tests above is +// important. +// - +// Deal with _ANSI_SOURCE: +// If it is defined, and no other compilation environment is explicitly +// requested, then define our internal feature-test macros to zero. This +// makes no difference to the preprocessor (undefined symbols in preprocessing +// expressions are defined to have value zero), but makes it more convenient for +// a test program to print out the values. +// +// If a program mistakenly defines _ANSI_SOURCE and some other macro such as +// _POSIX_C_SOURCE, we will assume that it wants the broader compilation +// environment (and in fact we will never get here). + +// User override __EXT1_VISIBLE + +// Old versions of GCC use non-standard ARM arch symbols; acle-compat.h +// translates them to __ARM_ARCH and the modern feature symbols defined by ARM. + +// Nullability qualifiers: currently only supported by Clang. + +// Type Safety Checking +// +// Clang provides additional attributes to enable checking type safety +// properties that cannot be enforced by the C type system. + +// Lock annotations. +// +// Clang provides support for doing basic thread-safety tests at +// compile-time, by marking which locks will/should be held when +// entering/leaving a functions. +// +// Furthermore, it is also possible to annotate variables and structure +// members to enforce that they are only accessed when certain locks are +// held. + +// Structure implements a lock. + +// Function acquires an exclusive or shared lock. + +// Function attempts to acquire an exclusive or shared lock. + +// Function releases a lock. + +// Function asserts that an exclusive or shared lock is held. + +// Function requires that an exclusive or shared lock is or is not held. + +// Function should not be analyzed. + +// Function or variable should not be sanitized, i.e. by AddressSanitizer. +// GCC has the nosanitize attribute, but as a function attribute only, and +// warns on use as a variable attribute. + +// Guard variables and structure members by lock. + +// - +// SPDX-License-Identifier: BSD-2-Clause-FreeBSD +// +// Copyright (c) 2002 Mike Barcroft <mike@FreeBSD.org> +// 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. +// +// THIS SOFTWARE IS PROVIDED BY THE AUTHOR 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 AUTHOR 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. +// +// $FreeBSD$ + +// - +// SPDX-License-Identifier: BSD-3-Clause +// +// 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 +// $FreeBSD$ + +// - +// This file is in the public domain. +// $FreeBSD$ + +// - +// SPDX-License-Identifier: BSD-4-Clause +// +// Copyright (c) 2002 Mike Barcroft <mike@FreeBSD.org> +// Copyright (c) 1990, 1993 +// The Regents of the University of California. All rights reserved. +// +// Redistribution and use in source and binary forms, with or without +// modification, are permitted provided that the following conditions +// are met: +// 1. Redistributions of source code must retain the above copyright +// notice, this list of conditions and the following disclaimer. +// 2. Redistributions in binary form must reproduce the above copyright +// notice, this list of conditions and the following disclaimer in the +// documentation and/or other materials provided with the distribution. +// 3. All advertising materials mentioning features or use of this software +// must display the following acknowledgement: +// This product includes software developed by the University of +// California, Berkeley and its contributors. +// 4. Neither the name of the University nor the names of its contributors +// may be used to endorse or promote products derived from this software +// without specific prior written permission. +// +// THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND +// ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE +// IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE +// ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE +// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL +// DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS +// OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) +// HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT +// LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY +// OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF +// SUCH DAMAGE. +// +// From: @(#)ansi.h 8.2 (Berkeley) 1/4/94 +// From: @(#)types.h 8.3 (Berkeley) 1/5/94 +// $FreeBSD$ + +// - +// This file is in the public domain. +// $FreeBSD$ + +// - +// SPDX-License-Identifier: BSD-3-Clause +// +// 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.3 (Berkeley) 1/4/94 +// $FreeBSD$ + +// According to ANSI (section 2.2.4.2), the values below must be usable by +// #if preprocessing directives. Additionally, the expression must have the +// same type as would an expression that is an object of the corresponding +// type converted according to the integral promotions. The subtraction for +// INT_MIN, etc., is so the value is not unsigned; e.g., 0x80000000 is an +// unsigned int for 32-bit two's complement ANSI compilers (section 3.1.3.2). + +// max value for an unsigned long long + +// Quads and longs are the same on the amd64. Ensure they stay in sync. + +// Minimum signal stack size. + +// Basic types upon which most other types are built. +type X__int8_t = int8 /* _types.h:55:22 */ +type X__uint8_t = uint8 /* _types.h:56:24 */ +type X__int16_t = int16 /* _types.h:57:17 */ +type X__uint16_t = uint16 /* _types.h:58:25 */ +type X__int32_t = int32 /* _types.h:59:15 */ +type X__uint32_t = uint32 /* _types.h:60:23 */ +type X__int64_t = int64 /* _types.h:62:16 */ +type X__uint64_t = uint64 /* _types.h:63:24 */ + +// Standard type definitions. +type X__clock_t = X__int32_t /* _types.h:75:19 */ // clock()... +type X__critical_t = X__int64_t /* _types.h:76:19 */ +type X__double_t = float64 /* _types.h:78:17 */ +type X__float_t = float32 /* _types.h:79:16 */ +type X__intfptr_t = X__int64_t /* _types.h:81:19 */ +type X__intptr_t = X__int64_t /* _types.h:82:19 */ +type X__intmax_t = X__int64_t /* _types.h:93:19 */ +type X__int_fast8_t = X__int32_t /* _types.h:94:19 */ +type X__int_fast16_t = X__int32_t /* _types.h:95:19 */ +type X__int_fast32_t = X__int32_t /* _types.h:96:19 */ +type X__int_fast64_t = X__int64_t /* _types.h:97:19 */ +type X__int_least8_t = X__int8_t /* _types.h:98:18 */ +type X__int_least16_t = X__int16_t /* _types.h:99:19 */ +type X__int_least32_t = X__int32_t /* _types.h:100:19 */ +type X__int_least64_t = X__int64_t /* _types.h:101:19 */ +type X__ptrdiff_t = X__int64_t /* _types.h:103:19 */ // ptr1 - ptr2 +type X__register_t = X__int64_t /* _types.h:104:19 */ +type X__segsz_t = X__int64_t /* _types.h:105:19 */ // segment size (in pages) +type X__size_t = X__uint64_t /* _types.h:106:20 */ // sizeof() +type X__ssize_t = X__int64_t /* _types.h:107:19 */ // byte count or error +type X__time_t = X__int64_t /* _types.h:108:19 */ // time()... +type X__uintfptr_t = X__uint64_t /* _types.h:109:20 */ +type X__uintptr_t = X__uint64_t /* _types.h:110:20 */ +type X__uintmax_t = X__uint64_t /* _types.h:121:20 */ +type X__uint_fast8_t = X__uint32_t /* _types.h:122:20 */ +type X__uint_fast16_t = X__uint32_t /* _types.h:123:20 */ +type X__uint_fast32_t = X__uint32_t /* _types.h:124:20 */ +type X__uint_fast64_t = X__uint64_t /* _types.h:125:20 */ +type X__uint_least8_t = X__uint8_t /* _types.h:126:19 */ +type X__uint_least16_t = X__uint16_t /* _types.h:127:20 */ +type X__uint_least32_t = X__uint32_t /* _types.h:128:20 */ +type X__uint_least64_t = X__uint64_t /* _types.h:129:20 */ +type X__u_register_t = X__uint64_t /* _types.h:131:20 */ +type X__vm_offset_t = X__uint64_t /* _types.h:132:20 */ +type X__vm_paddr_t = X__uint64_t /* _types.h:133:20 */ +type X__vm_size_t = X__uint64_t /* _types.h:134:20 */ +type X___wchar_t = int32 /* _types.h:141:14 */ + +// Standard type definitions. +type X__blksize_t = X__int32_t /* _types.h:40:19 */ // file block size +type X__blkcnt_t = X__int64_t /* _types.h:41:19 */ // file block count +type X__clockid_t = X__int32_t /* _types.h:42:19 */ // clock_gettime()... +type X__fflags_t = X__uint32_t /* _types.h:43:20 */ // file flags +type X__fsblkcnt_t = X__uint64_t /* _types.h:44:20 */ +type X__fsfilcnt_t = X__uint64_t /* _types.h:45:20 */ +type X__gid_t = X__uint32_t /* _types.h:46:20 */ +type X__id_t = X__int64_t /* _types.h:47:19 */ // can hold a gid_t, pid_t, or uid_t +type X__ino_t = X__uint64_t /* _types.h:48:20 */ // inode number +type X__key_t = int64 /* _types.h:49:15 */ // IPC key (for Sys V IPC) +type X__lwpid_t = X__int32_t /* _types.h:50:19 */ // Thread ID (a.k.a. LWP) +type X__mode_t = X__uint16_t /* _types.h:51:20 */ // permissions +type X__accmode_t = int32 /* _types.h:52:14 */ // access permissions +type X__nl_item = int32 /* _types.h:53:14 */ +type X__nlink_t = X__uint64_t /* _types.h:54:20 */ // link count +type X__off_t = X__int64_t /* _types.h:55:19 */ // file offset +type X__off64_t = X__int64_t /* _types.h:56:19 */ // file offset (alias) +type X__pid_t = X__int32_t /* _types.h:57:19 */ // process [group] +type X__rlim_t = X__int64_t /* _types.h:58:19 */ // resource limit - intentionally +// signed, because of legacy code +// that uses -1 for RLIM_INFINITY +type X__sa_family_t = X__uint8_t /* _types.h:61:19 */ +type X__socklen_t = X__uint32_t /* _types.h:62:20 */ +type X__suseconds_t = int64 /* _types.h:63:15 */ // microseconds (signed) +type X__timer_t = uintptr /* _types.h:64:24 */ // timer_gettime()... +type X__mqd_t = uintptr /* _types.h:65:21 */ // mq_open()... +type X__uid_t = X__uint32_t /* _types.h:66:20 */ +type X__useconds_t = uint32 /* _types.h:67:22 */ // microseconds (unsigned) +type X__cpuwhich_t = int32 /* _types.h:68:14 */ // which parameter for cpuset. +type X__cpulevel_t = int32 /* _types.h:69:14 */ // level parameter for cpuset. +type X__cpusetid_t = int32 /* _types.h:70:14 */ // cpuset identifier. +type X__daddr_t = X__int64_t /* _types.h:71:19 */ // bwrite(3), FIOBMAP2, etc + +// Unusual type definitions. +// rune_t is declared to be an ``int'' instead of the more natural +// ``unsigned long'' or ``long''. Two things are happening here. It is not +// unsigned so that EOF (-1) can be naturally assigned to it and used. Also, +// it looks like 10646 will be a 31 bit standard. This means that if your +// ints cannot hold 32 bits, you will be in trouble. The reason an int was +// chosen over a long is that the is*() and to*() routines take ints (says +// ANSI C), but they use __ct_rune_t instead of int. +// +// NOTE: rune_t is not covered by ANSI nor other standards, and should not +// be instantiated outside of lib/libc/locale. Use wchar_t. wint_t and +// rune_t must be the same type. Also, wint_t should be able to hold all +// members of the largest character set plus one extra value (WEOF), and +// must be at least 16 bits. +type X__ct_rune_t = int32 /* _types.h:91:14 */ // arg type for ctype funcs +type X__rune_t = X__ct_rune_t /* _types.h:92:21 */ // rune_t (see above) +type X__wint_t = X__ct_rune_t /* _types.h:93:21 */ // wint_t (see above) + +// Clang already provides these types as built-ins, but only in C++ mode. +type X__char16_t = X__uint_least16_t /* _types.h:97:26 */ +type X__char32_t = X__uint_least32_t /* _types.h:98:26 */ +// In C++11, char16_t and char32_t are built-in types. + +type X__max_align_t = struct { + F__max_align1 int64 + F__max_align2 float64 +} /* _types.h:111:3 */ + +type X__dev_t = X__uint64_t /* _types.h:113:20 */ // device number + +type X__fixpt_t = X__uint32_t /* _types.h:115:20 */ // fixed point number + +// mbstate_t is an opaque object to keep conversion state during multibyte +// stream conversions. +type X__mbstate_t = struct { + F__ccgo_pad1 [0]uint64 + F__mbstate8 [128]int8 +} /* _types.h:124:3 */ + +type X__rman_res_t = X__uintmax_t /* _types.h:126:25 */ + +// Types for varargs. These are all provided by builtin types these +// days, so centralize their definition. +type X__va_list = X__builtin_va_list /* _types.h:133:27 */ // internally known to gcc +type X__gnuc_va_list = X__va_list /* _types.h:140:20 */ // compatibility w/GNU headers + +// When the following macro is defined, the system uses 64-bit inode numbers. +// Programs can use this to avoid including <sys/param.h>, with its associated +// namespace pollution. + +type Va_list = X__va_list /* _stdarg.h:41:27 */ // Make sure we can call this stuff from C++. @@ -3126,7 +3843,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 + 314 /* "3.36.0" */)) /* sqlite3.c:1244:23 */ // CAPI3REF: Database Connection Handle // KEYWORDS: {database connection} {database connections} @@ -3170,21 +3887,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 @@ -3215,9 +3932,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 @@ -3510,7 +4227,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 @@ -4066,7 +4783,7 @@ type sqlite3_vfs = struct { FiVersion int32 FszOsFile int32 FmxPathname int32 - _ [4]byte + F__ccgo_pad1 [4]byte FpNext uintptr FzName uintptr FpAppData uintptr @@ -4496,16 +5213,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 @@ -4543,10 +5260,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 @@ -4560,21 +5277,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 */ @@ -4584,7 +5301,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 @@ -4716,7 +5433,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 */ @@ -4821,9 +5538,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 @@ -4927,9 +5644,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 @@ -5094,7 +5811,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 @@ -5294,20 +6011,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. @@ -5505,7 +6222,7 @@ type sqlite3_backup = struct { FiDestSchema U32 FbDestLocked int32 FiNext Pgno - _ [4]byte + F__ccgo_pad1 [4]byte FpSrcDb uintptr FpSrc uintptr Frc int32 @@ -5601,12 +6318,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() @@ -5648,7 +6365,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 @@ -5657,7 +6374,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 @@ -5691,7 +6408,7 @@ type sqlite3_session = struct { FbIndirect int32 FbAutoAttach int32 Frc int32 - _ [4]byte + F__ccgo_pad1 [4]byte FpFilterCtx uintptr FxTableFilter uintptr FnMalloc I64 @@ -5720,20 +6437,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 @@ -6194,7 +6911,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 @@ -6277,7 +6994,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 @@ -6965,9 +7682,9 @@ 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 */ // Macros for looping over all elements of a hash table. The idiom is @@ -7065,181 +7782,6 @@ type _ht = struct { // @(#)cdefs.h 8.8 (Berkeley) 1/9/95 // $FreeBSD$ -// Testing against Clang-specific extensions. - -// This code has been put in place to help reduce the addition of -// compiler specific defines in FreeBSD code. It helps to aid in -// having a compiler-agnostic source tree. - -// Compiler memory barriers, specific to gcc and clang. - -// XXX: if __GNUC__ >= 2: not tested everywhere originally, where replaced - -// Macro to test if we're using a specific version of gcc or later. - -// The __CONCAT macro is used to concatenate parts of symbol names, e.g. -// with "#define OLD(foo) __CONCAT(old,foo)", OLD(foo) produces oldfoo. -// The __CONCAT macro is a bit tricky to use if it must work in non-ANSI -// mode -- there must be no spaces between its arguments, and for nested -// __CONCAT's, all the __CONCAT's must be at the left. __CONCAT can also -// concatenate double-quoted strings produced by the __STRING macro, but -// this only works with ANSI C. -// -// __XSTRING is like __STRING, but it expands any macros in its argument -// first. It is only available with ANSI C. - -// Compiler-dependent macros to help declare dead (non-returning) and -// pure (no side effects) functions, and unused variables. They are -// null except for versions of gcc that are known to support the features -// properly (old versions of gcc-2 supported the dead and pure features -// in a different (wrong) way). If we do not provide an implementation -// for a given compiler, let the compile fail if it is told to use -// a feature that we cannot live without. - -// Keywords added in C11. - -// Emulation of C11 _Generic(). Unlike the previously defined C11 -// keywords, it is not possible to implement this using exactly the same -// syntax. Therefore implement something similar under the name -// __generic(). Unlike _Generic(), this macro can only distinguish -// between a single type, so it requires nested invocations to -// distinguish multiple cases. - -// C99 Static array indices in function parameter declarations. Syntax such as: -// void bar(int myArray[static 10]); -// is allowed in C99 but not in C++. Define __min_size appropriately so -// headers using it can be compiled in either language. Use like this: -// void bar(int myArray[__min_size(10)]); - -// XXX: should use `#if __STDC_VERSION__ < 199901'. - -// C++11 exposes a load of C99 stuff - -// GCC 2.95 provides `__restrict' as an extension to C90 to support the -// C99-specific `restrict' type qualifier. We happen to use `__restrict' as -// a way to define the `restrict' type qualifier without disturbing older -// software that is unaware of C99 keywords. - -// GNU C version 2.96 adds explicit branch prediction so that -// the CPU back-end can hint the processor and also so that -// code blocks can be reordered such that the predicted path -// sees a more linear flow, thus improving cache behavior, etc. -// -// The following two macros provide us with a way to utilize this -// compiler feature. Use __predict_true() if you expect the expression -// to evaluate to true, and __predict_false() if you expect the -// expression to evaluate to false. -// -// A few notes about usage: -// -// * Generally, __predict_false() error condition checks (unless -// you have some _strong_ reason to do otherwise, in which case -// document it), and/or __predict_true() `no-error' condition -// checks, assuming you want to optimize for the no-error case. -// -// * Other than that, if you don't know the likelihood of a test -// succeeding from empirical or other `hard' evidence, don't -// make predictions. -// -// * These are meant to be used in places that are run `a lot'. -// It is wasteful to make predictions in code that is run -// seldomly (e.g. at subsystem initialization time) as the -// basic block reordering that this affects can often generate -// larger code. - -// We define this here since <stddef.h>, <sys/queue.h>, and <sys/types.h> -// require it. - -// Given the pointer x to the member m of the struct s, return -// a pointer to the containing structure. When using GCC, we first -// assign pointer x to a local variable, to check that its type is -// compatible with member m. - -// Compiler-dependent macros to declare that functions take printf-like -// or scanf-like arguments. They are null except for versions of gcc -// that are known to support the features properly (old versions of gcc-2 -// didn't permit keeping the keywords out of the application namespace). - -// Compiler-dependent macros that rely on FreeBSD-specific extensions. - -// Embed the rcs id of a source file in the resulting library. Note that in -// more recent ELF binutils, we use .ident allowing the ID to be stripped. -// Usage: -// __FBSDID("$FreeBSD$"); - -// - -// The following definitions are an extension of the behavior originally -// implemented in <sys/_posix.h>, but with a different level of granularity. -// POSIX.1 requires that the macros we test be defined before any standard -// header file is included. -// -// Here's a quick run-down of the versions: -// defined(_POSIX_SOURCE) 1003.1-1988 -// _POSIX_C_SOURCE == 1 1003.1-1990 -// _POSIX_C_SOURCE == 2 1003.2-1992 C Language Binding Option -// _POSIX_C_SOURCE == 199309 1003.1b-1993 -// _POSIX_C_SOURCE == 199506 1003.1c-1995, 1003.1i-1995, -// and the omnibus ISO/IEC 9945-1: 1996 -// _POSIX_C_SOURCE == 200112 1003.1-2001 -// _POSIX_C_SOURCE == 200809 1003.1-2008 -// -// In addition, the X/Open Portability Guide, which is now the Single UNIX -// Specification, defines a feature-test macro which indicates the version of -// that specification, and which subsumes _POSIX_C_SOURCE. -// -// Our macros begin with two underscores to avoid namespace screwage. - -// Deal with IEEE Std. 1003.1-1990, in which _POSIX_C_SOURCE == 1. - -// Deal with IEEE Std. 1003.2-1992, in which _POSIX_C_SOURCE == 2. - -// Deal with various X/Open Portability Guides and Single UNIX Spec. - -// Deal with all versions of POSIX. The ordering relative to the tests above is -// important. - -// User override __EXT1_VISIBLE - -// Old versions of GCC use non-standard ARM arch symbols; acle-compat.h -// translates them to __ARM_ARCH and the modern feature symbols defined by ARM. - -// Nullability qualifiers: currently only supported by Clang. - -// Type Safety Checking -// -// Clang provides additional attributes to enable checking type safety -// properties that cannot be enforced by the C type system. - -// Lock annotations. -// -// Clang provides support for doing basic thread-safety tests at -// compile-time, by marking which locks will/should be held when -// entering/leaving a functions. -// -// Furthermore, it is also possible to annotate variables and structure -// members to enforce that they are only accessed when certain locks are -// held. - -// Structure implements a lock. - -// Function acquires an exclusive or shared lock. - -// Function attempts to acquire an exclusive or shared lock. - -// Function releases a lock. - -// Function asserts that an exclusive or shared lock is held. - -// Function requires that an exclusive or shared lock is or is not held. - -// Function should not be analyzed. - -// Function or variable should not be sanitized, i.e. by AddressSanitizer. -// GCC has the nosanitize attribute, but as a function attribute only, and -// warns on use as a variable attribute. - -// Guard variables and structure members by lock. - // - // SPDX-License-Identifier: BSD-2-Clause-FreeBSD // @@ -7298,15 +7840,114 @@ type _ht = struct { // // $FreeBSD$ +type Fpos_t = X__off_t /* stdio.h:47:18 */ + +type Rsize_t = Size_t /* stdio.h:56:16 */ + +type Off_t = X__off_t /* stdio.h:62:18 */ +type Ssize_t = X__ssize_t /* stdio.h:66:19 */ + +type Off64_t = X__off64_t /* stdio.h:72:19 */ + +// NB: to fit things in six character monocase externals, the stdio +// code uses the prefix `__s' for stdio objects, typically followed +// by a three-character attempt at a mnemonic. + +// stdio buffers +type __sbuf = struct { + F_base uintptr + F_size int32 + F__ccgo_pad1 [4]byte +} /* stdio.h:91:1 */ + +// stdio state variables. +// +// The following always hold: +// +// if (_flags&(__SLBF|__SWR)) == (__SLBF|__SWR), +// _lbfsize is -_bf._size, else _lbfsize is 0 +// if _flags&__SRD, _w is 0 +// if _flags&__SWR, _r is 0 +// +// This ensures that the getc and putc macros (or inline functions) never +// try to write or read from a file that is in `read' or `write' mode. +// (Moreover, they can, and do, automatically switch from read mode to +// write mode, and back, on "r+" and "w+" files.) +// +// _lbfsize is used only to make the inline line-buffered output stream +// code as compact as possible. +// +// _ub, _up, and _ur are used when ungetc() pushes back more characters +// than fit in the current _bf, or when ungetc() pushes back a character +// that does not match the previous one in _bf. When this happens, +// _ub._base becomes non-nil (i.e., a stream has ungetc() data iff +// _ub._base!=NULL) and _up and _ur save the current values of _p and _r. +// +// Certain members of __sFILE are accessed directly via macros or +// inline functions. To preserve ABI compat, these members must not +// be disturbed. These members are marked below with (*). +type __sFILE = struct { + F_p uintptr + F_r int32 + F_w int32 + F_flags int16 + 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 + F__ccgo_pad2 [4]byte + F_cookie uintptr + F_close uintptr + F_read uintptr + F_seek uintptr + F_write uintptr + F_ub 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_lb struct { + F_base uintptr + F_size int32 + F__ccgo_pad1 [4]byte + } + F_blksize int32 + F__ccgo_pad3 [4]byte + F_offset Fpos_t + F_fl_mutex uintptr + F_fl_owner uintptr + F_fl_count int32 + F_orientation int32 + F_mbstate X__mbstate_t + F_flags2 int32 + F__ccgo_pad4 [4]byte +} /* stdio.h:124:1 */ + +type FILE = __sFILE /* stdio.h:165:24 */ +type Cookie_io_functions_t = struct { + Fread uintptr + Fwrite uintptr + Fseek uintptr + Fclose uintptr +} /* stdio.h:428:3 */ + +// See ISO/IEC 9945-1 ANSI/IEEE Std 1003.1 Second Edition 1996-07-12 +// B.8.2.7 for the rationale behind the *_unlocked() macros. + // - // SPDX-License-Identifier: BSD-3-Clause // -// Copyright (c) 1991, 1993 +// Copyright (c) 1990, 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: @@ -7331,20 +7972,18 @@ type _ht = struct { // OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF // SUCH DAMAGE. // -// @(#)cdefs.h 8.8 (Berkeley) 1/9/95 -// $FreeBSD$ - -// - -// This file is in the public domain. +// @(#)stdlib.h 8.5 (Berkeley) 5/19/95 // $FreeBSD$ // - -// SPDX-License-Identifier: BSD-4-Clause +// SPDX-License-Identifier: BSD-3-Clause // -// Copyright (c) 2002 Mike Barcroft <mike@FreeBSD.org> -// Copyright (c) 1990, 1993 +// 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: @@ -7353,11 +7992,7 @@ type _ht = struct { // 2. Redistributions in binary form must reproduce the above copyright // notice, this list of conditions and the following disclaimer in the // documentation and/or other materials provided with the distribution. -// 3. All advertising materials mentioning features or use of this software -// must display the following acknowledgement: -// This product includes software developed by the University of -// California, Berkeley and its contributors. -// 4. Neither the name of the University nor the names of its contributors +// 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. // @@ -7373,19 +8008,43 @@ type _ht = struct { // OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF // SUCH DAMAGE. // -// From: @(#)ansi.h 8.2 (Berkeley) 1/4/94 -// From: @(#)types.h 8.3 (Berkeley) 1/5/94 +// @(#)cdefs.h 8.8 (Berkeley) 1/9/95 // $FreeBSD$ // - -// This file is in the public domain. +// SPDX-License-Identifier: BSD-2-Clause-FreeBSD +// +// Copyright (c) 2003 Marcel Moolenaar +// 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. +// +// THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``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 AUTHOR 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. +// // $FreeBSD$ // - -// SPDX-License-Identifier: BSD-3-Clause +// SPDX-License-Identifier: BSD-2-Clause-FreeBSD // -// Copyright (c) 1988, 1993 -// The Regents of the University of California. All rights reserved. +// Copyright (c) 2002 Mike Barcroft <mike@FreeBSD.org> +// All rights reserved. // // Redistribution and use in source and binary forms, with or without // modification, are permitted provided that the following conditions @@ -7395,14 +8054,11 @@ type _ht = struct { // 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 +// THIS SOFTWARE IS PROVIDED BY THE AUTHOR 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 +// ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR 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) @@ -7411,243 +8067,9 @@ type _ht = struct { // OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF // SUCH DAMAGE. // -// @(#)limits.h 8.3 (Berkeley) 1/4/94 // $FreeBSD$ -// According to ANSI (section 2.2.4.2), the values below must be usable by -// #if preprocessing directives. Additionally, the expression must have the -// same type as would an expression that is an object of the corresponding -// type converted according to the integral promotions. The subtraction for -// INT_MIN, etc., is so the value is not unsigned; e.g., 0x80000000 is an -// unsigned int for 32-bit two's complement ANSI compilers (section 3.1.3.2). - -// max value for an unsigned long long - -// Quads and longs are the same on the amd64. Ensure they stay in sync. - -// Minimum signal stack size. - -// Basic types upon which most other types are built. -type X__int8_t = int8 /* _types.h:55:22 */ -type X__uint8_t = uint8 /* _types.h:56:24 */ -type X__int16_t = int16 /* _types.h:57:17 */ -type X__uint16_t = uint16 /* _types.h:58:25 */ -type X__int32_t = int32 /* _types.h:59:15 */ -type X__uint32_t = uint32 /* _types.h:60:23 */ -type X__int64_t = int64 /* _types.h:62:16 */ -type X__uint64_t = uint64 /* _types.h:63:24 */ - -// Standard type definitions. -type X__clock_t = X__int32_t /* _types.h:75:19 */ // clock()... -type X__critical_t = X__int64_t /* _types.h:76:19 */ -type X__double_t = float64 /* _types.h:78:17 */ -type X__float_t = float32 /* _types.h:79:16 */ -type X__intfptr_t = X__int64_t /* _types.h:81:19 */ -type X__intptr_t = X__int64_t /* _types.h:82:19 */ -type X__intmax_t = X__int64_t /* _types.h:93:19 */ -type X__int_fast8_t = X__int32_t /* _types.h:94:19 */ -type X__int_fast16_t = X__int32_t /* _types.h:95:19 */ -type X__int_fast32_t = X__int32_t /* _types.h:96:19 */ -type X__int_fast64_t = X__int64_t /* _types.h:97:19 */ -type X__int_least8_t = X__int8_t /* _types.h:98:18 */ -type X__int_least16_t = X__int16_t /* _types.h:99:19 */ -type X__int_least32_t = X__int32_t /* _types.h:100:19 */ -type X__int_least64_t = X__int64_t /* _types.h:101:19 */ -type X__ptrdiff_t = X__int64_t /* _types.h:103:19 */ // ptr1 - ptr2 -type X__register_t = X__int64_t /* _types.h:104:19 */ -type X__segsz_t = X__int64_t /* _types.h:105:19 */ // segment size (in pages) -type X__size_t = X__uint64_t /* _types.h:106:20 */ // sizeof() -type X__ssize_t = X__int64_t /* _types.h:107:19 */ // byte count or error -type X__time_t = X__int64_t /* _types.h:108:19 */ // time()... -type X__uintfptr_t = X__uint64_t /* _types.h:109:20 */ -type X__uintptr_t = X__uint64_t /* _types.h:110:20 */ -type X__uintmax_t = X__uint64_t /* _types.h:121:20 */ -type X__uint_fast8_t = X__uint32_t /* _types.h:122:20 */ -type X__uint_fast16_t = X__uint32_t /* _types.h:123:20 */ -type X__uint_fast32_t = X__uint32_t /* _types.h:124:20 */ -type X__uint_fast64_t = X__uint64_t /* _types.h:125:20 */ -type X__uint_least8_t = X__uint8_t /* _types.h:126:19 */ -type X__uint_least16_t = X__uint16_t /* _types.h:127:20 */ -type X__uint_least32_t = X__uint32_t /* _types.h:128:20 */ -type X__uint_least64_t = X__uint64_t /* _types.h:129:20 */ -type X__u_register_t = X__uint64_t /* _types.h:131:20 */ -type X__vm_offset_t = X__uint64_t /* _types.h:132:20 */ -type X__vm_paddr_t = X__uint64_t /* _types.h:133:20 */ -type X__vm_size_t = X__uint64_t /* _types.h:134:20 */ -type X___wchar_t = int32 /* _types.h:141:14 */ - -// Standard type definitions. -type X__blksize_t = X__int32_t /* _types.h:40:19 */ // file block size -type X__blkcnt_t = X__int64_t /* _types.h:41:19 */ // file block count -type X__clockid_t = X__int32_t /* _types.h:42:19 */ // clock_gettime()... -type X__fflags_t = X__uint32_t /* _types.h:43:20 */ // file flags -type X__fsblkcnt_t = X__uint64_t /* _types.h:44:20 */ -type X__fsfilcnt_t = X__uint64_t /* _types.h:45:20 */ -type X__gid_t = X__uint32_t /* _types.h:46:20 */ -type X__id_t = X__int64_t /* _types.h:47:19 */ // can hold a gid_t, pid_t, or uid_t -type X__ino_t = X__uint64_t /* _types.h:48:20 */ // inode number -type X__key_t = int64 /* _types.h:49:15 */ // IPC key (for Sys V IPC) -type X__lwpid_t = X__int32_t /* _types.h:50:19 */ // Thread ID (a.k.a. LWP) -type X__mode_t = X__uint16_t /* _types.h:51:20 */ // permissions -type X__accmode_t = int32 /* _types.h:52:14 */ // access permissions -type X__nl_item = int32 /* _types.h:53:14 */ -type X__nlink_t = X__uint64_t /* _types.h:54:20 */ // link count -type X__off_t = X__int64_t /* _types.h:55:19 */ // file offset -type X__off64_t = X__int64_t /* _types.h:56:19 */ // file offset (alias) -type X__pid_t = X__int32_t /* _types.h:57:19 */ // process [group] -type X__rlim_t = X__int64_t /* _types.h:58:19 */ // resource limit - intentionally -// signed, because of legacy code -// that uses -1 for RLIM_INFINITY -type X__sa_family_t = X__uint8_t /* _types.h:61:19 */ -type X__socklen_t = X__uint32_t /* _types.h:62:20 */ -type X__suseconds_t = int64 /* _types.h:63:15 */ // microseconds (signed) -type X__timer_t = uintptr /* _types.h:64:24 */ // timer_gettime()... -type X__mqd_t = uintptr /* _types.h:65:21 */ // mq_open()... -type X__uid_t = X__uint32_t /* _types.h:66:20 */ -type X__useconds_t = uint32 /* _types.h:67:22 */ // microseconds (unsigned) -type X__cpuwhich_t = int32 /* _types.h:68:14 */ // which parameter for cpuset. -type X__cpulevel_t = int32 /* _types.h:69:14 */ // level parameter for cpuset. -type X__cpusetid_t = int32 /* _types.h:70:14 */ // cpuset identifier. -type X__daddr_t = X__int64_t /* _types.h:71:19 */ // bwrite(3), FIOBMAP2, etc - -// Unusual type definitions. -// rune_t is declared to be an ``int'' instead of the more natural -// ``unsigned long'' or ``long''. Two things are happening here. It is not -// unsigned so that EOF (-1) can be naturally assigned to it and used. Also, -// it looks like 10646 will be a 31 bit standard. This means that if your -// ints cannot hold 32 bits, you will be in trouble. The reason an int was -// chosen over a long is that the is*() and to*() routines take ints (says -// ANSI C), but they use __ct_rune_t instead of int. -// -// NOTE: rune_t is not covered by ANSI nor other standards, and should not -// be instantiated outside of lib/libc/locale. Use wchar_t. wint_t and -// rune_t must be the same type. Also, wint_t should be able to hold all -// members of the largest character set plus one extra value (WEOF), and -// must be at least 16 bits. -type X__ct_rune_t = int32 /* _types.h:91:14 */ // arg type for ctype funcs -type X__rune_t = X__ct_rune_t /* _types.h:92:21 */ // rune_t (see above) -type X__wint_t = X__ct_rune_t /* _types.h:93:21 */ // wint_t (see above) - -// Clang already provides these types as built-ins, but only in C++ mode. -type X__char16_t = X__uint_least16_t /* _types.h:97:26 */ -type X__char32_t = X__uint_least32_t /* _types.h:98:26 */ -// In C++11, char16_t and char32_t are built-in types. - -type X__max_align_t = struct { - F__max_align1 int64 - F__max_align2 float64 -} /* _types.h:111:3 */ - -type X__dev_t = X__uint64_t /* _types.h:113:20 */ // device number - -type X__fixpt_t = X__uint32_t /* _types.h:115:20 */ // fixed point number - -// mbstate_t is an opaque object to keep conversion state during multibyte -// stream conversions. -type X__mbstate_t = struct { - _ [0]uint64 - F__mbstate8 [128]int8 -} /* _types.h:124:3 */ - -type X__rman_res_t = X__uintmax_t /* _types.h:126:25 */ - -// Types for varargs. These are all provided by builtin types these -// days, so centralize their definition. -type X__va_list = X__builtin_va_list /* _types.h:133:27 */ // internally known to gcc - -// When the following macro is defined, the system uses 64-bit inode numbers. -// Programs can use this to avoid including <sys/param.h>, with its associated -// namespace pollution. - -type Fpos_t = X__off_t /* stdio.h:47:18 */ - -type Rsize_t = Size_t /* stdio.h:56:16 */ - -type Off64_t = X__off64_t /* stdio.h:72:19 */ - -// NB: to fit things in six character monocase externals, the stdio -// code uses the prefix `__s' for stdio objects, typically followed -// by a three-character attempt at a mnemonic. - -// stdio buffers -type __sbuf = struct { - F_base uintptr - F_size int32 - _ [4]byte -} /* stdio.h:91:1 */ - -// stdio state variables. -// -// The following always hold: -// -// if (_flags&(__SLBF|__SWR)) == (__SLBF|__SWR), -// _lbfsize is -_bf._size, else _lbfsize is 0 -// if _flags&__SRD, _w is 0 -// if _flags&__SWR, _r is 0 -// -// This ensures that the getc and putc macros (or inline functions) never -// try to write or read from a file that is in `read' or `write' mode. -// (Moreover, they can, and do, automatically switch from read mode to -// write mode, and back, on "r+" and "w+" files.) -// -// _lbfsize is used only to make the inline line-buffered output stream -// code as compact as possible. -// -// _ub, _up, and _ur are used when ungetc() pushes back more characters -// than fit in the current _bf, or when ungetc() pushes back a character -// that does not match the previous one in _bf. When this happens, -// _ub._base becomes non-nil (i.e., a stream has ungetc() data iff -// _ub._base!=NULL) and _up and _ur save the current values of _p and _r. -// -// Certain members of __sFILE are accessed directly via macros or -// inline functions. To preserve ABI compat, these members must not -// be disturbed. These members are marked below with (*). -type __sFILE = struct { - F_p uintptr - F_r int32 - F_w int32 - F_flags int16 - F_file int16 - _ [4]byte - F_bf struct { - F_base uintptr - F_size int32 - _ [4]byte - } - F_lbfsize int32 - _ [4]byte - F_cookie uintptr - F_close uintptr - F_read uintptr - F_seek uintptr - F_write uintptr - F_ub struct { - F_base uintptr - F_size int32 - _ [4]byte - } - F_up uintptr - F_ur int32 - F_ubuf [3]uint8 - F_nbuf [1]uint8 - F_lb struct { - F_base uintptr - F_size int32 - _ [4]byte - } - F_blksize int32 - _ [4]byte - F_offset Fpos_t - F_fl_mutex uintptr - F_fl_owner uintptr - F_fl_count int32 - F_orientation int32 - F_mbstate X__mbstate_t - F_flags2 int32 - _ [4]byte -} /* stdio.h:124:1 */ - -type FILE = __sFILE /* stdio.h:165:24 */ +type Rune_t = X__rune_t /* stdlib.h:46:18 */ type Div_t = struct { Fquot int32 @@ -7671,11 +8093,14 @@ type Ldiv_t = struct { type Lldiv_t = struct { Fquot int64 Frem int64 -} /* stdlib.h:142:3 */ +} /* stdlib.h:142:3 */ // getsubopt(3) external variable + +type Errno_t = int32 /* stdlib.h:345:13 */ + +// K.3.6 +type Constraint_handler_t = uintptr /* stdlib.h:349:14 */ // - -// SPDX-License-Identifier: BSD-2-Clause-FreeBSD -// // Copyright (c) 2011, 2012 The FreeBSD Foundation // All rights reserved. // @@ -7702,34 +8127,11 @@ type Lldiv_t = struct { // // $FreeBSD$ -type Locale_t = uintptr /* _string.h:33:25 */ - -// If this symbol has done its job, get rid of it. +type Locale_t = uintptr /* _strings.h:31:25 */ -// Unsigned type of `sizeof' something. +type Max_align_t = X__max_align_t /* stddef.h:69:23 */ -// 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. - -// 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 */ +// ISO/IEC 9899:2011 K.3.3.2 // Use a macro to replace memcpy() if compiled with SQLITE_INLINE_MEMCPY. // This allows better measurements of where memcpy() is used when running @@ -7846,7 +8248,7 @@ type BusyHandler1 = struct { FxBusyHandler uintptr FpBusyArg uintptr FnBusy int32 - _ [4]byte + F__ccgo_pad1 [4]byte } /* sqlite3.c:1331:9 */ // An instance of the following structure is used to store the busy-handler @@ -7908,7 +8310,7 @@ type BusyHandler = BusyHandler1 /* sqlite3.c:14788:28 */ type AggInfo1 = struct { FdirectMode U8 FuseSortingIdx U8 - _ [2]byte + F__ccgo_pad1 [2]byte FsortingIdx int32 FsortingIdxPTab int32 FnSortingColumn int32 @@ -7986,59 +8388,59 @@ type AutoincInfo1 = struct { 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 + 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 - _ [7]byte - FpUser uintptr - FxCmp uintptr - FxDel uintptr + 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 - _ [2]byte + 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 - _ [7]byte + 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 - _ [1]byte + 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 */ @@ -8047,20 +8449,20 @@ type Db1 = struct { FpBt uintptr Fsafety_level U8 FbSyncSet U8 - _ [6]byte + 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 - _ [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 } /* sqlite3.c:14893:9 */ type DbFixer = DbFixer1 /* sqlite3.c:14893:24 */ @@ -8083,7 +8485,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 @@ -8103,63 +8505,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.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 + 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 - _ [4]byte - FxDestroy uintptr - FpUserData uintptr + 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 - _ [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.c:1331:9 */ type FuncDef = FuncDef1 /* sqlite3.c:14899:24 */ @@ -8167,9 +8569,9 @@ 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 + Fa uintptr + FnId int32 + F__ccgo_pad1 [4]byte } /* sqlite3.c:1331:9 */ type IdList = IdList1 /* sqlite3.c:14901:23 */ @@ -8190,59 +8592,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.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 + 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 - _ [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.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 + 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 */ @@ -8250,26 +8652,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 + 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 - _ [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 } /* sqlite3.c:14909:9 */ type NameContext = NameContext1 /* sqlite3.c:14909:28 */ @@ -8288,7 +8690,7 @@ type Parse1 = struct { FokConstFactor U8 FdisableLookaside U8 FdisableVtab U8 - _ [2]byte + F__ccgo_pad1 [2]byte FnRangeReg int32 FiRangeReg int32 FnErr int32 @@ -8298,7 +8700,7 @@ type Parse1 = struct { FiSelfTab int32 FnLabel int32 FnLabelAlloc int32 - _ [4]byte + F__ccgo_pad2 [4]byte FaLabel uintptr FpConstExpr uintptr FconstraintName Token @@ -8309,16 +8711,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 @@ -8334,11 +8736,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 @@ -8366,7 +8768,7 @@ type PreUpdate1 = struct { Fv uintptr FpCsr uintptr Fop int32 - _ [4]byte + F__ccgo_pad1 [4]byte FaRecord uintptr Fkeyinfo KeyInfo FpUnpacked uintptr @@ -8396,14 +8798,14 @@ type RenameToken1 = struct { 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 + 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 */ @@ -8430,14 +8832,14 @@ type Savepoint1 = struct { type Savepoint = Savepoint1 /* sqlite3.c:14917: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 @@ -8461,15 +8863,15 @@ type SQLiteThread1 = struct { 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 + 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 */ @@ -8484,11 +8886,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 @@ -8524,7 +8926,7 @@ type Table1 = struct { FnRowLogEst LogEst FszTabRow LogEst FkeyConf U8 - _ [1]byte + F__ccgo_pad1 [1]byte FaddColOffset int32 FnModuleArg int32 FazModuleArg uintptr @@ -8539,72 +8941,72 @@ type TableLock1 = struct { FiDb int32 FiTab Pgno FisWriteLock U8 - _ [7]byte + 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 - _ [4]byte + 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 - _ [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.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 + 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 - _ [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.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 + 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 */ @@ -8615,14 +9017,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.c:1331:9 */ type Upsert = Upsert1 /* sqlite3.c:14932:23 */ @@ -8633,19 +9035,19 @@ 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.c:1331:9 */ type VTable = VTable1 /* sqlite3.c:14933:23 */ type VtabCtx1 = struct { - FpVTable uintptr - FpTab uintptr - FpPrior uintptr - FbDeclared int32 - _ [4]byte + FpVTable uintptr + FpTab uintptr + FpPrior uintptr + FbDeclared int32 + F__ccgo_pad1 [4]byte } /* sqlite3.c:1331:9 */ type VtabCtx = VtabCtx1 /* sqlite3.c:14934:24 */ @@ -8656,7 +9058,7 @@ type Walker1 = struct { FxSelectCallback2 uintptr FwalkerDepth int32 FeCode U16 - _ [2]byte + F__ccgo_pad1 [2]byte Fu struct{ FpNC uintptr } } /* sqlite3.c:14893:9 */ @@ -8678,7 +9080,7 @@ type WhereInfo1 = struct { FeOnePass U8 FeDistinct U8 FbDeferredSeek uint8 /* unsigned bDeferredSeek: 1, unsigned untestedTerms: 1, unsigned bOrderedInnerLoop: 1, unsigned sorted: 1 */ - _ [1]byte + F__ccgo_pad1 [1]byte FnRowOut LogEst FiTop int32 FiEndWhere int32 @@ -8701,7 +9103,7 @@ type Window1 = struct { FeEnd U8 FbImplicitFrame U8 FeExclude U8 - _ [3]byte + F__ccgo_pad1 [3]byte FpStart uintptr FpEnd uintptr FppThis uintptr @@ -8721,7 +9123,7 @@ type Window1 = struct { FregStartRowid int32 FregEndRowid int32 FbExprArgs U8 - _ [3]byte + F__ccgo_pad2 [3]byte } /* sqlite3.c:1331:9 */ type Window = Window1 /* sqlite3.c:14937:23 */ @@ -8810,7 +9212,7 @@ type Pager1 = struct { FnRec int32 FcksumInit U32 FnSubRec U32 - _ [4]byte + F__ccgo_pad1 [4]byte FpInJournal uintptr Ffd uintptr Fjfd uintptr @@ -8823,7 +9225,7 @@ type Pager1 = struct { FiDataVersion U32 FdbFileVers [16]int8 FnMmapOut int32 - _ [4]byte + F__ccgo_pad2 [4]byte FszMmap Sqlite3_int64 FpMmapFreelist uintptr FnExtra U16 @@ -8832,7 +9234,7 @@ type Pager1 = struct { FsectorSize U32 FpageSize int32 FmxPgno Pgno - _ [4]byte + F__ccgo_pad3 [4]byte FjournalSizeLimit I64 FzFilename uintptr FzJournal uintptr @@ -8956,7 +9358,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 @@ -8975,43 +9377,43 @@ 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 } /* 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 + 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 */ @@ -9046,7 +9448,7 @@ type Vdbe1 = struct { FpNext uintptr FpParse uintptr FnVar YnVar - _ [2]byte + F__ccgo_pad1 [2]byte FiVdbeMagic U32 FnMem int32 FnCursor int32 @@ -9055,7 +9457,7 @@ type Vdbe1 = struct { Frc int32 FnChange int32 FiStatement int32 - _ [4]byte + F__ccgo_pad2 [4]byte FiCurrentTime I64 FnFkConstraint I64 FnStmtDefCons I64 @@ -9077,9 +9479,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 @@ -9123,14 +9525,14 @@ type Vdbe = Vdbe1 /* sqlite3.c:15668:21 */ // 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 + 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 */ @@ -9146,9 +9548,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 } } /* sqlite3.c:1331:9 */ @@ -9156,9 +9558,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.c:1331:9 */ type VdbeOp = VdbeOp1 /* sqlite3.c:15721:23 */ @@ -9241,20 +9643,20 @@ type RecordCompare = uintptr /* sqlite3.c:16156:13 */ 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 + 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 */ @@ -9273,9 +9675,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.c:1331:9 */ @@ -9331,9 +9733,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.c:1331:9 */ // An instance of this structure contains information needed to generate @@ -9354,7 +9756,7 @@ type AggInfo_col = struct { FiMem int32 FiColumn I16 FiSorterColumn I16 - _ [4]byte + F__ccgo_pad1 [4]byte } /* sqlite3.c:1331:9 */ // An instance of this structure contains information needed to generate @@ -9369,12 +9771,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.c:1331:9 */ // The datatype ynVar is a signed integer, either 16-bit or 32-bit. @@ -9438,20 +9840,20 @@ type YnVar = I16 /* sqlite3.c:18212: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.c:1331:9 */ // Allowed values for Expr.a.eEName @@ -9470,9 +9872,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.c:1331:9 */ // The yDbMask datatype for the bitmask of all attached databases. @@ -9481,14 +9883,14 @@ 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 + 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 @@ -9513,7 +9915,7 @@ type Sqlite3Config = struct { FbUseCis U8 FbSmallMalloc U8 FbExtraSchemaChecks U8 - _ [2]byte + F__ccgo_pad1 [2]byte FmxStrlen int32 FneverCorrupt int32 FszLookaside int32 @@ -9526,7 +9928,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 @@ -9541,7 +9943,7 @@ type Sqlite3Config = struct { FisMallocInit int32 FisPCacheInit int32 FnRefInitMutex int32 - _ [4]byte + F__ccgo_pad3 [4]byte FpInitMutex uintptr FxLog uintptr FpLogArg uintptr @@ -9570,11 +9972,11 @@ type Sqlite3Config = struct { // Context pointer passed down through the tree-walk. type SrcCount = struct { - FpSrc uintptr - FiSrcInner int32 - FnThis int32 - FnOther int32 - _ [4]byte + 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 @@ -9594,9 +9996,9 @@ type SrcCount = struct { // Context pointer passed down through the tree-walk. type IdxCover = struct { - FpIdx uintptr - FiCur int32 - _ [4]byte + FpIdx uintptr + FiCur int32 + F__ccgo_pad1 [4]byte } /* sqlite3.c:19457:5 */ // This macro is used inside of assert() statements to indicate that @@ -9671,7 +10073,7 @@ type WhereConst1 = struct { FnConst int32 FnChng int32 FbHasAffBlob int32 - _ [4]byte + F__ccgo_pad1 [4]byte FapExpr uintptr } /* sqlite3.c:19462:5 */ @@ -9925,7 +10327,7 @@ var Xsqlite3WhereTrace U32 = U32(0) /* sqlite3.c:21129:20 */ var Xsqlite3OpcodeProperty = [180]uint8{ /* 0 */ uint8(0x00), uint8(0x00), uint8(0x00), uint8(0x01), uint8(0x01), uint8(0x01), uint8(0x00), uint8(0x10) /* 8 */, uint8(0x00), uint8(0x01), uint8(0x00), uint8(0x01), uint8(0x01), uint8(0x01), uint8(0x03), uint8(0x03) /* 16 */, uint8(0x01), uint8(0x01), uint8(0x03), uint8(0x12), uint8(0x03), uint8(0x01), uint8(0x09), uint8(0x09) /* 24 */, uint8(0x09), uint8(0x09), uint8(0x01), uint8(0x09), uint8(0x09), uint8(0x09), uint8(0x09), uint8(0x09) /* 32 */, uint8(0x09), uint8(0x01), uint8(0x01), uint8(0x01), uint8(0x01), uint8(0x01), uint8(0x01), uint8(0x01) /* 40 */, uint8(0x01), uint8(0x01), uint8(0x23), uint8(0x26), uint8(0x26), uint8(0x0b), uint8(0x01), uint8(0x01) /* 48 */, uint8(0x03), uint8(0x03), uint8(0x03), uint8(0x03), uint8(0x0b), uint8(0x0b), uint8(0x0b), uint8(0x0b) /* 56 */, uint8(0x0b), uint8(0x0b), uint8(0x01), uint8(0x03), uint8(0x01), uint8(0x01), uint8(0x01), uint8(0x00) /* 64 */, uint8(0x00), uint8(0x02), uint8(0x02), uint8(0x08), uint8(0x00), uint8(0x10), uint8(0x10), uint8(0x10) /* 72 */, uint8(0x10), uint8(0x00), uint8(0x10), uint8(0x10), uint8(0x00), uint8(0x00), uint8(0x10), uint8(0x10) /* 80 */, uint8(0x00), uint8(0x00), uint8(0x00), uint8(0x02), uint8(0x02), uint8(0x02), uint8(0x00), uint8(0x00) /* 88 */, uint8(0x12), uint8(0x1e), uint8(0x20), uint8(0x00), uint8(0x00), uint8(0x00), uint8(0x10), uint8(0x10) /* 96 */, uint8(0x00), uint8(0x00), uint8(0x00), uint8(0x00), uint8(0x00), uint8(0x00), uint8(0x26), uint8(0x26) /* 104 */, uint8(0x26), uint8(0x26), uint8(0x26), uint8(0x26), uint8(0x26), uint8(0x26), uint8(0x26), uint8(0x26) /* 112 */, uint8(0x00), uint8(0x12), uint8(0x00), uint8(0x00), uint8(0x10), uint8(0x00), uint8(0x00), uint8(0x00) /* 120 */, uint8(0x00), uint8(0x00), uint8(0x10), uint8(0x10), uint8(0x00), uint8(0x00), uint8(0x00), uint8(0x00) /* 128 */, uint8(0x00), uint8(0x00), uint8(0x00), uint8(0x10), uint8(0x00), uint8(0x00), uint8(0x04), uint8(0x04) /* 136 */, uint8(0x00), uint8(0x00), uint8(0x10), uint8(0x00), uint8(0x10), uint8(0x00), uint8(0x00), uint8(0x10) /* 144 */, uint8(0x00), uint8(0x00), uint8(0x00), uint8(0x00), uint8(0x00), uint8(0x00), uint8(0x00), uint8(0x06) /* 152 */, uint8(0x10), uint8(0x10), uint8(0x00), uint8(0x04), uint8(0x1a), uint8(0x00), uint8(0x00), uint8(0x00) /* 160 */, uint8(0x00), uint8(0x00), uint8(0x00), uint8(0x00), uint8(0x00), uint8(0x00), uint8(0x00), uint8(0x00) /* 168 */, uint8(0x00), uint8(0x00), uint8(0x00), uint8(0x00), uint8(0x10), uint8(0x10), uint8(0x00), uint8(0x00) /* 176 */, uint8(0x00), uint8(0x00), uint8(0x00), uint8(0x00)} /* sqlite3.c:21138:36 */ // Name of the default collating sequence -var Xsqlite3StrBINARY = *(*[7]int8)(unsafe.Pointer(ts + 319 /* "BINARY" */)) /* sqlite3.c:21143:27 */ +var Xsqlite3StrBINARY = *(*[7]int8)(unsafe.Pointer(ts + 321 /* "BINARY" */)) /* sqlite3.c:21143:27 */ //************* End of global.c ********************************************* //************* Begin file status.c ***************************************** @@ -9994,7 +10396,7 @@ type VdbeSorter1 = struct { FiPrev U8 FnTask U8 FtypeMask U8 - _ [3]byte + F__ccgo_pad1 [3]byte FaTask [1]SortSubtask } /* sqlite3.c:21218:9 */ @@ -10029,11 +10431,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 @@ -10046,14 +10448,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.c:1331:9 */ // Types of VDBE cursors @@ -10155,7 +10557,7 @@ type ScanStatus1 = struct { FaddrVisit int32 FiSelectID int32 FnEst LogEst - _ [6]byte + F__ccgo_pad1 [6]byte FzName uintptr } /* sqlite3.c:21514:9 */ @@ -10414,7 +10816,7 @@ func Xsqlite3_db_status(tls *libc.TLS, db uintptr, op int32, pCurrent uintptr, p 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 + + *(*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))) @@ -10468,6 +10870,7 @@ func Xsqlite3_db_status(tls *libc.TLS, db uintptr, op int32, pCurrent uintptr, p case SQLITE_DBSTATUS_CACHE_SPILL: op = (SQLITE_DBSTATUS_CACHE_WRITE + 1) fallthrough + /* no break */ case SQLITE_DBSTATUS_CACHE_HIT: fallthrough case SQLITE_DBSTATUS_CACHE_MISS: @@ -10693,6 +11096,9 @@ func Xsqlite3_db_status(tls *libc.TLS, db uintptr, op int32, pCurrent uintptr, p // // $FreeBSD$ +// Frequency of the clock ticks reported by times(). Deprecated - use +// sysconf(_SC_CLK_TCK) instead. (Removed in 1003.1-2001.) + // Frequency of the clock ticks reported by clock(). type Clock_t = X__clock_t /* time.h:62:19 */ @@ -10860,18 +11266,18 @@ type Pid_t = X__pid_t /* time.h:95:18 */ // These macros are also in sys/time.h. 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:129:1 */ // The MSVC CRT on Windows CE may not have a localtime() function. @@ -10880,22 +11286,22 @@ type tm = 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. @@ -10940,7 +11346,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')) @@ -10970,7 +11376,7 @@ __5: goto end_getDigits __7: ; - *(*int32)(unsafe.Pointer(libc.VaUintptr(&ap))) = val + *(*int32)(unsafe.Pointer(libc.VaUintptr(&(ap)))) = val zDate++ cnt++ zFormat += uintptr(4) @@ -11051,7 +11457,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+328 /* "20b:20e" */, libc.VaList(bp, bp+16 /* &nHr */, bp+20 /* &nMn */)) != 2) { goto __9 } return 1 @@ -11088,13 +11494,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+336 /* "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+344 /* "20e" */, libc.VaList(bp+16, bp+32 /* &s */)) != 1 { return 1 } zDate += uintptr(2) @@ -11172,10 +11578,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) @@ -11213,7 +11619,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+348 /* "40f-21a-21d" */, libc.VaList(bp, bp+24 /* &Y */, bp+28 /* &M */, bp+32 /* &D */)) != 3 { return 1 } zDate += uintptr(10) @@ -11265,7 +11671,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) } } @@ -11294,7 +11700,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+360 /* "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 */))) @@ -11338,13 +11744,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 { @@ -11371,7 +11777,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) @@ -11468,7 +11874,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 @@ -11476,7 +11882,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+364 /* "local time unava..." */, -1) *(*int32)(unsafe.Pointer(pRc)) = SQLITE_ERROR return int64(0) } @@ -11504,19 +11910,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 + 387 /* "second" */, FrLimit: 464269060800.0, FrXform: 1000.0}, + {FnName: U8(6), FzName: ts + 394 /* "minute" */, FrLimit: 7737817680.0, FrXform: 60000.0}, + {FnName: U8(4), FzName: ts + 401 /* "hour" */, FrLimit: 128963628.0, FrXform: 3600000.0}, + {FnName: U8(3), FzName: ts + 406 /* "day" */, FrLimit: 5373485.0, FrXform: 86400000.0}, + {FeType: U8(1), FnName: U8(5), FzName: ts + 410 /* "month" */, FrLimit: 176546.0, FrXform: 2592000000.0}, + {FeType: U8(2), FnName: U8(4), FzName: ts + 416 /* "year" */, FrLimit: 14713.0, FrXform: 31536000000.0}, } /* sqlite3.c:22795:3 */ // Process a modifier to a date-time stamp. The modifiers are @@ -11555,7 +11961,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+421 /* "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) @@ -11569,16 +11975,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+431 /* "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+441 /* "utc" */) == 0) && (Xsqlite3NotPureFunc(tls, pCtx) != 0) { if int32((*DateTime)(unsafe.Pointer(p)).FtzSet) == 0 { var c1 Sqlite3_int64 computeJD(tls, p) @@ -11603,7 +12009,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+445 /* "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 @@ -11628,7 +12034,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+454 /* "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) { @@ -11642,14 +12048,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+410 /* "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+416 /* "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+406 /* "day" */) == 0 { *(*int32)(unsafe.Pointer(bp /* rc */)) = 0 } break @@ -11738,12 +12144,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)) && @@ -11779,7 +12185,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 } @@ -11870,8 +12276,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+464, /* "%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)) } } @@ -11889,7 +12295,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+494 /* "%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)) } } @@ -11907,7 +12313,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+509 /* "%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)) } } @@ -12034,7 +12440,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+524 /* "%02d" */, libc.VaList(bp, (*DateTime)(unsafe.Pointer(bp+80 /* &x */)).FD)) j = j + (uint64(2)) break fallthrough @@ -12044,14 +12450,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+529 /* "%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+524 /* "%02d" */, libc.VaList(bp+16, (*DateTime)(unsafe.Pointer(bp+80 /* &x */)).Fh)) j = j + (uint64(2)) break fallthrough @@ -12069,10 +12475,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+524 /* "%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+536 /* "%03d" */, libc.VaList(bp+32, (nDay+1))) j = j + (uint64(3)) } break @@ -12081,19 +12487,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+541 /* "%.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+524 /* "%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+524 /* "%02d" */, libc.VaList(bp+56, (*DateTime)(unsafe.Pointer(bp+80 /* &x */)).Fm)) j = j + (uint64(2)) break fallthrough @@ -12107,7 +12513,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+524 /* "%02d" */, libc.VaList(bp+64, libc.Int32FromFloat64((*DateTime)(unsafe.Pointer(bp+80 /* &x */)).Fs))) j = j + (uint64(2)) break fallthrough @@ -12120,7 +12526,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+547 /* "%04d" */, libc.VaList(bp+72, (*DateTime)(unsafe.Pointer(bp+80 /* &x */)).FY)) j = j + (Size_t(Xsqlite3Strlen30(tls, (z + uintptr(j))))) break @@ -12177,14 +12583,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 + 552 /* "julianday" */}, + {FnArg: int8(-1), FfuncFlags: (U32((SQLITE_FUNC_SLOCHNG | SQLITE_UTF8) | SQLITE_FUNC_CONSTANT)), FpUserData: 0, FxSFunc: 0, FzName: ts + 562 /* "date" */}, + {FnArg: int8(-1), FfuncFlags: (U32((SQLITE_FUNC_SLOCHNG | SQLITE_UTF8) | SQLITE_FUNC_CONSTANT)), FpUserData: 0, FxSFunc: 0, FzName: ts + 567 /* "time" */}, + {FnArg: int8(-1), FfuncFlags: (U32((SQLITE_FUNC_SLOCHNG | SQLITE_UTF8) | SQLITE_FUNC_CONSTANT)), FpUserData: 0, FxSFunc: 0, FzName: ts + 572 /* "datetime" */}, + {FnArg: int8(-1), FfuncFlags: (U32((SQLITE_FUNC_SLOCHNG | SQLITE_UTF8) | SQLITE_FUNC_CONSTANT)), FpUserData: 0, FxSFunc: 0, FzName: ts + 581 /* "strftime" */}, + {FfuncFlags: (U32(SQLITE_FUNC_SLOCHNG | SQLITE_UTF8)), FxSFunc: 0, FzName: ts + 590 /* "current_time" */}, + {FfuncFlags: (U32(SQLITE_FUNC_SLOCHNG | SQLITE_UTF8)), FxSFunc: 0, FzName: ts + 603 /* "current_timestam..." */}, + {FfuncFlags: (U32(SQLITE_FUNC_SLOCHNG | SQLITE_UTF8)), FxSFunc: 0, FzName: ts + 621 /* "current_date" */}} /* sqlite3.c:23405:18 */ //************* End of date.c *********************************************** //************* Begin file os.c ********************************************* @@ -12238,50 +12644,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 @@ -12294,12 +12718,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) } } @@ -12307,41 +12735,55 @@ 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) } // The real implementation of xFetch and xUnfetch func Xsqlite3OsFetch(tls *libc.TLS, id uintptr, iOff I64, iAmt int32, pp uintptr) int32 { /* sqlite3.c:23615:20: */ - return (*(*func(*libc.TLS, uintptr, Sqlite3_int64, int32, uintptr) int32)(unsafe.Pointer(((*Sqlite3_file)(unsafe.Pointer(id)).FpMethods + 136 /* &.xFetch */))))(tls, id, iOff, iAmt, pp) + return (*struct { + f func(*libc.TLS, uintptr, Sqlite3_int64, int32, uintptr) int32 + })(unsafe.Pointer(&struct{ uintptr }{(*sqlite3_io_methods)(unsafe.Pointer((*Sqlite3_file)(unsafe.Pointer(id)).FpMethods)).FxFetch})).f(tls, id, iOff, iAmt, pp) } func Xsqlite3OsUnfetch(tls *libc.TLS, id uintptr, iOff I64, p uintptr) int32 { /* sqlite3.c:23619:20: */ - return (*(*func(*libc.TLS, uintptr, Sqlite3_int64, uintptr) int32)(unsafe.Pointer(((*Sqlite3_file)(unsafe.Pointer(id)).FpMethods + 144 /* &.xUnfetch */))))(tls, id, iOff, p) + return (*struct { + f func(*libc.TLS, uintptr, Sqlite3_int64, uintptr) int32 + })(unsafe.Pointer(&struct{ uintptr }{(*sqlite3_io_methods)(unsafe.Pointer((*Sqlite3_file)(unsafe.Pointer(id)).FpMethods)).FxUnfetch})).f(tls, id, iOff, p) } // The next group of routines are convenience wrappers around the @@ -12353,7 +12795,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 } @@ -12361,38 +12805,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: */ @@ -12404,19 +12862,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 } @@ -12432,12 +12896,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 } @@ -12647,14 +13115,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) } } @@ -12761,7 +13229,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+634 /* "failed to alloca..." */, libc.VaList(bp, nByte)) } return p } @@ -12812,7 +13280,7 @@ func sqlite3MemRealloc(tls *libc.TLS, pPrior uintptr, nByte int32) uintptr { /* } else { Xsqlite3_log(tls, SQLITE_NOMEM, - ts+670, /* "failed memory re..." */ + ts+672, /* "failed memory re..." */ libc.VaList(bp, sqlite3MemSize(tls, pPrior), nByte)) } return p @@ -13015,7 +13483,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 } @@ -13025,7 +13493,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 @@ -13040,7 +13508,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: */ @@ -13048,14 +13518,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) } } @@ -13064,7 +13536,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) } } @@ -13074,7 +13546,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 } @@ -13086,7 +13560,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) } } @@ -13247,7 +13721,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". @@ -13298,7 +13772,7 @@ func Xsqlite3_soft_heap_limit64(tls *libc.TLS, n Sqlite3_int64) Sqlite3_int64 { } mem0.FalarmThreshold = n nUsed = Xsqlite3StatusValue(tls, SQLITE_STATUS_MEMORY_USED) - libc.AtomicStoreNInt32((uintptr(unsafe.Pointer(&mem0)) + 24 /* &.nearlyFull */), int32((libc.Bool32((n > int64(0)) && (n <= nUsed)))), 0) + *(*int32)(unsafe.Pointer((uintptr(unsafe.Pointer(&mem0)) + 24 /* &.nearlyFull */))) = (libc.Bool32((n > int64(0)) && (n <= nUsed))) Xsqlite3_mutex_leave(tls, mem0.Fmutex) excess = (Xsqlite3_memory_used(tls) - n) if excess > int64(0) { @@ -13354,7 +13828,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))) } @@ -13365,13 +13841,13 @@ func Xsqlite3MallocInit(tls *libc.TLS) int32 { /* sqlite3.c:27944:20: */ // words if the amount of heap used is close to the limit set by // sqlite3_soft_heap_limit(). func Xsqlite3HeapNearlyFull(tls *libc.TLS) int32 { /* sqlite3.c:27965:20: */ - return libc.AtomicLoadNInt32((uintptr(unsafe.Pointer(&mem0)) + 24 /* &.nearlyFull */), 0) + return *(*int32)(unsafe.Pointer((uintptr(unsafe.Pointer(&mem0)) + 24 /* &.nearlyFull */))) } // 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))) } @@ -13425,13 +13901,13 @@ 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) { var nUsed Sqlite3_int64 = Xsqlite3StatusValue(tls, SQLITE_STATUS_MEMORY_USED) if nUsed >= (mem0.FalarmThreshold - Sqlite3_int64(nFull)) { - libc.AtomicStoreNInt32((uintptr(unsafe.Pointer(&mem0)) + 24 /* &.nearlyFull */), int32(1), 0) + *(*int32)(unsafe.Pointer((uintptr(unsafe.Pointer(&mem0)) + 24 /* &.nearlyFull */))) = 1 sqlite3MallocAlarm(tls, nFull) if mem0.FhardLimit != 0 { nUsed = Xsqlite3StatusValue(tls, SQLITE_STATUS_MEMORY_USED) @@ -13441,13 +13917,17 @@ func mallocWithAlarm(tls *libc.TLS, n int32, pp uintptr) { /* sqlite3.c:28013:13 } } } else { - libc.AtomicStoreNInt32((uintptr(unsafe.Pointer(&mem0)) + 24 /* &.nearlyFull */), int32(0), 0) + *(*int32)(unsafe.Pointer((uintptr(unsafe.Pointer(&mem0)) + 24 /* &.nearlyFull */))) = 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) @@ -13477,7 +13957,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 */)) @@ -13512,7 +13994,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: */ @@ -13536,13 +14020,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) } @@ -13557,10 +14045,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) } } @@ -13628,7 +14116,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 { @@ -13643,10 +14131,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) @@ -13654,7 +14146,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 @@ -13897,7 +14391,7 @@ func Xsqlite3OomFault(tls *libc.TLS, db uintptr) { /* sqlite3.c:28548:21: */ if (int32((*Sqlite3)(unsafe.Pointer(db)).FmallocFailed) == 0) && (int32((*Sqlite3)(unsafe.Pointer(db)).FbBenignMalloc) == 0) { (*Sqlite3)(unsafe.Pointer(db)).FmallocFailed = U8(1) if (*Sqlite3)(unsafe.Pointer(db)).FnVdbeExec > 0 { - libc.AtomicStoreNInt32((db + 400 /* &.u1 */ /* &.isInterrupted */), int32(1), 0) + *(*int32)(unsafe.Pointer((db + 400 /* &.u1 */ /* &.isInterrupted */))) = 1 } (*Sqlite3)(unsafe.Pointer(db)).Flookaside.FbDisable++ (*Sqlite3)(unsafe.Pointer(db)).Flookaside.Fsz = U16(0) @@ -13915,7 +14409,7 @@ func Xsqlite3OomFault(tls *libc.TLS, db uintptr) { /* sqlite3.c:28548:21: */ func Xsqlite3OomClear(tls *libc.TLS, db uintptr) { /* sqlite3.c:28568:21: */ if ((*Sqlite3)(unsafe.Pointer(db)).FmallocFailed != 0) && ((*Sqlite3)(unsafe.Pointer(db)).FnVdbeExec == 0) { (*Sqlite3)(unsafe.Pointer(db)).FmallocFailed = U8(0) - libc.AtomicStoreNInt32((db + 400 /* &.u1 */ /* &.isInterrupted */), int32(0), 0) + *(*int32)(unsafe.Pointer((db + 400 /* &.u1 */ /* &.isInterrupted */))) = 0 (*Sqlite3)(unsafe.Pointer(db)).Flookaside.FbDisable-- (*Sqlite3)(unsafe.Pointer(db)).Flookaside.Fsz = func() uint16 { @@ -13997,8 +14491,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 + 708 /* "0123456789ABCDEF..." */)) /* sqlite3.c:28685:19 */ +var aPrefix = *(*[7]int8)(unsafe.Pointer(ts + 741 /* "-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)}, @@ -14215,7 +14709,7 @@ func Xsqlite3_str_vappendf(tls *libc.TLS, pAccum uintptr, fmt uintptr, ap Va_lis if !((int32((*Sqlite3_str)(unsafe.Pointer(pAccum)).FprintfFlags) & SQLITE_PRINTF_SQLFUNC) != 0) { goto __1 } - pArgList = libc.VaUintptr(&ap) + pArgList = libc.VaUintptr(&(ap)) bArgList = U8(1) goto __2 __1: @@ -14252,7 +14746,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+748 /* "%" */, 1) goto __5 __11: ; @@ -14381,7 +14875,7 @@ __34: width = int32(getIntArg(tls, pArgList)) goto __42 __41: - width = int32(libc.VaInt32(&ap)) + width = int32(libc.VaInt32(&(ap))) __42: ; if !(width < 0) { @@ -14415,7 +14909,7 @@ __35: precision = int32(getIntArg(tls, pArgList)) goto __48 __47: - precision = int32(libc.VaInt32(&ap)) + precision = int32(libc.VaInt32(&(ap))) __48: ; if !(precision < 0) { @@ -14510,10 +15004,12 @@ __56: switch int32(xtype) { case EtPOINTER: goto __59 + /* no break */ case EtORDINAL: goto __60 case EtRADIX: goto __61 + /* no break */ case EtDECIMAL: goto __62 case EtFLOAT: @@ -14556,9 +15052,11 @@ __59: flag_long = uint8(0) } } + /* no break */ __60: __61: cThousand = EtByte(0) + /* no break */ __62: if !((int32((*Et_info)(unsafe.Pointer(infop)).Fflags) & FLAG_SIGNED) != 0) { goto __77 @@ -14575,15 +15073,15 @@ __79: if !(int32(flag_long) == 2) { goto __83 } - v = I64(libc.VaInt64(&ap)) + v = I64(libc.VaInt64(&(ap))) goto __84 __83: - v = I64(libc.VaInt64(&ap)) + v = I64(libc.VaInt64(&(ap))) __84: ; goto __82 __81: - v = I64(libc.VaInt32(&ap)) + v = I64(libc.VaInt32(&(ap))) __82: ; __80: @@ -14615,15 +15113,15 @@ __87: if !(int32(flag_long) == 2) { goto __91 } - longvalue = Sqlite_uint64(libc.VaUint64(&ap)) + longvalue = Sqlite_uint64(libc.VaUint64(&(ap))) goto __92 __91: - longvalue = Sqlite_uint64(libc.VaUint64(&ap)) + longvalue = Sqlite_uint64(libc.VaUint64(&(ap))) __92: ; goto __90 __89: - longvalue = Sqlite_uint64(libc.VaUint32(&ap)) + longvalue = Sqlite_uint64(libc.VaUint32(&(ap))) __90: ; __88: @@ -14772,7 +15270,7 @@ __65: *(*float64)(unsafe.Pointer(bp + 96 /* realvalue */)) = getDoubleArg(tls, pArgList) goto __117 __116: - *(*float64)(unsafe.Pointer(bp + 96 /* realvalue */)) = float64(libc.VaFloat64(&ap)) + *(*float64)(unsafe.Pointer(bp + 96 /* realvalue */)) = float64(libc.VaFloat64(&(ap))) __117: ; if !(precision < 0) { @@ -14835,7 +15333,7 @@ __125: if !(Xsqlite3IsNaN(tls, *(*float64)(unsafe.Pointer(bp + 96 /* realvalue */))) != 0) { goto __127 } - bufpt = ts + 748 /* "NaN" */ + bufpt = ts + 750 /* "NaN" */ length = 3 goto __58 __127: @@ -14895,7 +15393,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+754 /* "Inf" */, uint64(4)) length = (3 + (libc.Bool32(int32(prefix) != 0))) goto __58 __139: @@ -15135,7 +15633,7 @@ __66: if !(!(bArgList != 0)) { goto __178 } - *(*int32)(unsafe.Pointer(libc.VaUintptr(&ap))) = int32((*Sqlite3_str)(unsafe.Pointer(pAccum)).FnChar) + *(*int32)(unsafe.Pointer(libc.VaUintptr(&(ap)))) = int32((*Sqlite3_str)(unsafe.Pointer(pAccum)).FnChar) __178: ; length = libc.AssignInt32(&width, 0) @@ -15175,7 +15673,7 @@ __182: ; goto __180 __179: - ch = uint32(libc.VaUint32(&ap)) + ch = uint32(libc.VaUint32(&(ap))) if !(ch < uint32(0x00080)) { goto __186 } @@ -15246,13 +15744,13 @@ __70: xtype = EtByte(EtSTRING) goto __197 __196: - bufpt = libc.VaUintptr(&ap) + bufpt = libc.VaUintptr(&(ap)) __197: ; if !(bufpt == uintptr(0)) { goto __198 } - bufpt = ts + 756 /* "" */ + bufpt = ts + 758 /* "" */ goto __199 __198: if !(int32(xtype) == EtDYNSTRING) { @@ -15372,7 +15870,7 @@ __73: escarg = getTextArg(tls, pArgList) goto __219 __218: - escarg = libc.VaUintptr(&ap) + escarg = libc.VaUintptr(&(ap)) __219: ; isnull = (libc.Bool32(escarg == uintptr(0))) @@ -15381,9 +15879,9 @@ __219: } escarg = func() uintptr { if int32(xtype) == EtSQLESCAPE2 { - return ts + 757 /* "NULL" */ + return ts + 759 /* "NULL" */ } - return ts + 762 /* "(NULL)" */ + return ts + 764 /* "(NULL)" */ }() __220: ; @@ -15485,7 +15983,7 @@ __74: return __237: ; - pToken = libc.VaUintptr(&ap) + pToken = libc.VaUintptr(&(ap)) if !((pToken != 0) && ((*Token)(unsafe.Pointer(pToken)).Fn != 0)) { goto __238 @@ -15503,7 +16001,7 @@ __75: return __239: ; - pItem = libc.VaUintptr(&ap) + pItem = libc.VaUintptr(&(ap)) if !(((*SrcItem)(unsafe.Pointer(pItem)).FzAlias != 0) && !(flag_altform2 != 0)) { goto __240 @@ -15518,7 +16016,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+771 /* "." */, 1) __244: ; Xsqlite3_str_appendall(tls, pAccum, (*SrcItem)(unsafe.Pointer(pItem)).FzName) @@ -15533,7 +16031,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+773 /* "SUBQUERY %u" */, libc.VaList(bp, (*Select)(unsafe.Pointer((*SrcItem)(unsafe.Pointer(pItem)).FpSelect)).FselId)) __247: ; __246: @@ -15596,7 +16094,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 + 785 /* "thstndrd" */)) /* sqlite3.c:29091:29 */ // End of function @@ -15849,7 +16347,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 @@ -15884,7 +16382,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 @@ -15920,7 +16418,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 @@ -15949,7 +16447,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 */)) } @@ -15958,7 +16458,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 } @@ -15969,7 +16469,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 } @@ -16177,7 +16677,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 @@ -16190,7 +16692,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 } @@ -16872,13 +17376,13 @@ func Xsqlite3Utf16ByteLen(tls *libc.TLS, zIn uintptr, nChar int32) int32 { /* sq // ANSI/POSIX type __infinity_un = struct { - _ [0]uint64 - F__uc [8]uint8 + F__ccgo_pad1 [0]uint64 + F__uc [8]uint8 } /* math.h:27:14 */ type __nan_un = struct { - _ [0]uint32 - F__uc [4]uint8 + F__ccgo_pad1 [0]uint32 + F__uc [4]uint8 } /* math.h:32:14 */ // Symbolic constants to classify floating point numbers. @@ -16908,7 +17412,7 @@ type Float_t = X__float_t /* math.h:137:19 */ 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 } @@ -17022,7 +17526,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}))) @@ -17049,7 +17553,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 { @@ -17696,7 +18200,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 + 794 /* "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) } @@ -18293,21 +18797,15 @@ func Xsqlite3VarintLen(tls *libc.TLS, v U64) int32 { /* sqlite3.c:32942:20: */ // Read or write a four-byte big-endian integer value. func Xsqlite3Get4byte(tls *libc.TLS, p uintptr) U32 { /* sqlite3.c:32952:20: */ - bp := tls.Alloc(4) - defer tls.Free(4) - - // var x U32 at bp, 4 - libc.Xmemcpy(tls, bp /* &x */, p, uint64(4)) - return libc.X__builtin_bswap32(tls, *(*U32)(unsafe.Pointer(bp /* x */))) + return ((((uint32(*(*U8)(unsafe.Pointer(p))) << 24) | (uint32(int32(*(*U8)(unsafe.Pointer(p + 1))) << 16))) | (uint32(int32(*(*U8)(unsafe.Pointer(p + 2))) << 8))) | uint32(*(*U8)(unsafe.Pointer(p + 3)))) } func Xsqlite3Put4byte(tls *libc.TLS, p uintptr, v U32) { /* sqlite3.c:32970:21: */ - bp := tls.Alloc(4) - defer tls.Free(4) - - *(*U32)(unsafe.Pointer(bp /* x */)) = libc.X__builtin_bswap32(tls, v) - libc.Xmemcpy(tls, p, bp /* &x */, uint64(4)) + *(*uint8)(unsafe.Pointer(p)) = (U8(v >> 24)) + *(*uint8)(unsafe.Pointer(p + 1)) = (U8(v >> 16)) + *(*uint8)(unsafe.Pointer(p + 2)) = (U8(v >> 8)) + *(*uint8)(unsafe.Pointer(p + 3)) = U8(v) } // Translate a single byte of Hex into an integer. @@ -18346,7 +18844,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+813, /* "API call with %s..." */ libc.VaList(bp, zType)) } @@ -18365,14 +18863,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+759 /* "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+858 /* "unopened" */) } return 0 } else { @@ -18386,7 +18884,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+867 /* "invalid" */) return 0 } else { return 1 @@ -18399,15 +18897,66 @@ func Xsqlite3SafetyCheckSickOrOk(tls *libc.TLS, db uintptr) int32 { /* sqlite3.c // Return 0 on success. Or if the operation would have resulted in an // overflow, leave *pA unchanged and return 1. func Xsqlite3AddInt64(tls *libc.TLS, pA uintptr, iB I64) int32 { /* sqlite3.c:33091:20: */ - return libc.X__builtin_add_overflowInt64(tls, *(*I64)(unsafe.Pointer(pA)), iB, pA) + var iA I64 = *(*I64)(unsafe.Pointer(pA)) + + if iB >= int64(0) { + + if (iA > int64(0)) && (((int64(0xffffffff) | (I64((int64(0x7fffffff))) << 32)) - iA) < iB) { + return 1 + } + } else { + + if (iA < int64(0)) && (-(iA + (int64(0xffffffff) | (I64((int64(0x7fffffff))) << 32))) > (iB + int64(1))) { + return 1 + } + } + *(*I64)(unsafe.Pointer(pA)) += (iB) + return 0 } func Xsqlite3SubInt64(tls *libc.TLS, pA uintptr, iB I64) int32 { /* sqlite3.c:33111:20: */ - return libc.X__builtin_sub_overflowInt64(tls, *(*I64)(unsafe.Pointer(pA)), iB, pA) + + if iB == ((int64(-1)) - (int64(0xffffffff) | (I64((int64(0x7fffffff))) << 32))) { + + if (*(*I64)(unsafe.Pointer(pA))) >= int64(0) { + return 1 + } + *(*I64)(unsafe.Pointer(pA)) -= (iB) + return 0 + } else { + return Xsqlite3AddInt64(tls, pA, -iB) + } + return int32(0) } func Xsqlite3MulInt64(tls *libc.TLS, pA uintptr, iB I64) int32 { /* sqlite3.c:33126:20: */ - return libc.X__builtin_mul_overflowInt64(tls, *(*I64)(unsafe.Pointer(pA)), iB, pA) + var iA I64 = *(*I64)(unsafe.Pointer(pA)) + if iB > int64(0) { + if iA > ((int64(0xffffffff) | (I64((int64(0x7fffffff))) << 32)) / iB) { + return 1 + } + if iA < (((int64(-1)) - (int64(0xffffffff) | (I64((int64(0x7fffffff))) << 32))) / iB) { + return 1 + } + } else if iB < int64(0) { + if iA > int64(0) { + if iB < (((int64(-1)) - (int64(0xffffffff) | (I64((int64(0x7fffffff))) << 32))) / iA) { + return 1 + } + } else if iA < int64(0) { + if iB == ((int64(-1)) - (int64(0xffffffff) | (I64((int64(0x7fffffff))) << 32))) { + return 1 + } + if iA == ((int64(-1)) - (int64(0xffffffff) | (I64((int64(0x7fffffff))) << 32))) { + return 1 + } + if -iA > ((int64(0xffffffff) | (I64((int64(0x7fffffff))) << 32)) / -iB) { + return 1 + } + } + } + *(*I64)(unsafe.Pointer(pA)) = (iA * iB) + return 0 } // Compute the absolute value of a 32-bit signed integer, of possible. Or @@ -18472,9 +19021,14 @@ func Xsqlite3LogEst(tls *libc.TLS, x U64) LogEst { /* sqlite3.c:33222:23: */ x <<= 1 } } else { - var i int32 = (60 - libc.X__builtin_clzll(tls, x)) - y = LogEst(int32(y) + (i * 10)) - x >>= i + for x > uint64(255) { + y = int16(int32(y) + (40)) + x >>= 4 + } //OPTIMIZATION-IF-TRUE + for x > uint64(15) { + y = int16(int32(y) + (10)) + x >>= 1 + } } return (LogEst((int32(a[(x&uint64(7))]) + int32(y)) - 10)) } @@ -18914,191 +19468,191 @@ 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 + 875, /* "Savepoint" */ + /* 1 */ ts + 885, /* "AutoCommit" */ + /* 2 */ ts + 896, /* "Transaction" */ + /* 3 */ ts + 908, /* "SorterNext" */ + /* 4 */ ts + 919, /* "Prev" */ + /* 5 */ ts + 924, /* "Next" */ + /* 6 */ ts + 929, /* "Checkpoint" */ + /* 7 */ ts + 940, /* "JournalMode" */ + /* 8 */ ts + 952, /* "Vacuum" */ + /* 9 */ ts + 959, /* "VFilter" */ + /* 10 */ ts + 967, /* "VUpdate" */ + /* 11 */ ts + 975, /* "Goto" */ + /* 12 */ ts + 980, /* "Gosub" */ + /* 13 */ ts + 986, /* "InitCoroutine" */ + /* 14 */ ts + 1000, /* "Yield" */ + /* 15 */ ts + 1006, /* "MustBeInt" */ + /* 16 */ ts + 1016, /* "Jump" */ + /* 17 */ ts + 1021, /* "Once" */ + /* 18 */ ts + 1026, /* "If" */ + /* 19 */ ts + 1029, /* "Not" */ + /* 20 */ ts + 1033, /* "IfNot" */ + /* 21 */ ts + 1039, /* "IfNullRow" */ + /* 22 */ ts + 1049, /* "SeekLT" */ + /* 23 */ ts + 1056, /* "SeekLE" */ + /* 24 */ ts + 1063, /* "SeekGE" */ + /* 25 */ ts + 1070, /* "SeekGT" */ + /* 26 */ ts + 1077, /* "IfNotOpen" */ + /* 27 */ ts + 1087, /* "IfNoHope" */ + /* 28 */ ts + 1096, /* "NoConflict" */ + /* 29 */ ts + 1107, /* "NotFound" */ + /* 30 */ ts + 1116, /* "Found" */ + /* 31 */ ts + 1122, /* "SeekRowid" */ + /* 32 */ ts + 1132, /* "NotExists" */ + /* 33 */ ts + 1142, /* "Last" */ + /* 34 */ ts + 1147, /* "IfSmaller" */ + /* 35 */ ts + 1157, /* "SorterSort" */ + /* 36 */ ts + 1168, /* "Sort" */ + /* 37 */ ts + 1173, /* "Rewind" */ + /* 38 */ ts + 1180, /* "IdxLE" */ + /* 39 */ ts + 1186, /* "IdxGT" */ + /* 40 */ ts + 1192, /* "IdxLT" */ + /* 41 */ ts + 1198, /* "IdxGE" */ + /* 42 */ ts + 1204, /* "RowSetRead" */ + /* 43 */ ts + 1215, /* "Or" */ + /* 44 */ ts + 1218, /* "And" */ + /* 45 */ ts + 1222, /* "RowSetTest" */ + /* 46 */ ts + 1233, /* "Program" */ + /* 47 */ ts + 1241, /* "FkIfZero" */ + /* 48 */ ts + 1250, /* "IfPos" */ + /* 49 */ ts + 1256, /* "IfNotZero" */ + /* 50 */ ts + 1266, /* "IsNull" */ + /* 51 */ ts + 1273, /* "NotNull" */ + /* 52 */ ts + 1281, /* "Ne" */ + /* 53 */ ts + 1284, /* "Eq" */ + /* 54 */ ts + 1287, /* "Gt" */ + /* 55 */ ts + 1290, /* "Le" */ + /* 56 */ ts + 1293, /* "Lt" */ + /* 57 */ ts + 1296, /* "Ge" */ + /* 58 */ ts + 1299, /* "ElseEq" */ + /* 59 */ ts + 1306, /* "DecrJumpZero" */ + /* 60 */ ts + 1319, /* "IncrVacuum" */ + /* 61 */ ts + 1330, /* "VNext" */ + /* 62 */ ts + 1336, /* "Init" */ + /* 63 */ ts + 1341, /* "PureFunc" */ + /* 64 */ ts + 1350, /* "Function" */ + /* 65 */ ts + 1359, /* "Return" */ + /* 66 */ ts + 1366, /* "EndCoroutine" */ + /* 67 */ ts + 1379, /* "HaltIfNull" */ + /* 68 */ ts + 1390, /* "Halt" */ + /* 69 */ ts + 1395, /* "Integer" */ + /* 70 */ ts + 1403, /* "Int64" */ + /* 71 */ ts + 1409, /* "String" */ + /* 72 */ ts + 1416, /* "Null" */ + /* 73 */ ts + 1421, /* "SoftNull" */ + /* 74 */ ts + 1430, /* "Blob" */ + /* 75 */ ts + 1435, /* "Variable" */ + /* 76 */ ts + 1444, /* "Move" */ + /* 77 */ ts + 1449, /* "Copy" */ + /* 78 */ ts + 1454, /* "SCopy" */ + /* 79 */ ts + 1460, /* "IntCopy" */ + /* 80 */ ts + 1468, /* "ChngCntRow" */ + /* 81 */ ts + 1479, /* "ResultRow" */ + /* 82 */ ts + 1489, /* "CollSeq" */ + /* 83 */ ts + 1497, /* "AddImm" */ + /* 84 */ ts + 1504, /* "RealAffinity" */ + /* 85 */ ts + 1517, /* "Cast" */ + /* 86 */ ts + 1522, /* "Permutation" */ + /* 87 */ ts + 1534, /* "Compare" */ + /* 88 */ ts + 1542, /* "IsTrue" */ + /* 89 */ ts + 1549, /* "ZeroOrNull" */ + /* 90 */ ts + 1560, /* "Offset" */ + /* 91 */ ts + 1567, /* "Column" */ + /* 92 */ ts + 1574, /* "Affinity" */ + /* 93 */ ts + 1583, /* "MakeRecord" */ + /* 94 */ ts + 1594, /* "Count" */ + /* 95 */ ts + 1600, /* "ReadCookie" */ + /* 96 */ ts + 1611, /* "SetCookie" */ + /* 97 */ ts + 1621, /* "ReopenIdx" */ + /* 98 */ ts + 1631, /* "OpenRead" */ + /* 99 */ ts + 1640, /* "OpenWrite" */ + /* 100 */ ts + 1650, /* "OpenDup" */ + /* 101 */ ts + 1658, /* "OpenAutoindex" */ + /* 102 */ ts + 1672, /* "BitAnd" */ + /* 103 */ ts + 1679, /* "BitOr" */ + /* 104 */ ts + 1685, /* "ShiftLeft" */ + /* 105 */ ts + 1695, /* "ShiftRight" */ + /* 106 */ ts + 1706, /* "Add" */ + /* 107 */ ts + 1710, /* "Subtract" */ + /* 108 */ ts + 1719, /* "Multiply" */ + /* 109 */ ts + 1728, /* "Divide" */ + /* 110 */ ts + 1735, /* "Remainder" */ + /* 111 */ ts + 1745, /* "Concat" */ + /* 112 */ ts + 1752, /* "OpenEphemeral" */ + /* 113 */ ts + 1766, /* "BitNot" */ + /* 114 */ ts + 1773, /* "SorterOpen" */ + /* 115 */ ts + 1784, /* "SequenceTest" */ + /* 116 */ ts + 1797, /* "String8" */ + /* 117 */ ts + 1805, /* "OpenPseudo" */ + /* 118 */ ts + 1816, /* "Close" */ + /* 119 */ ts + 1822, /* "ColumnsUsed" */ + /* 120 */ ts + 1834, /* "SeekScan" */ + /* 121 */ ts + 1843, /* "SeekHit" */ + /* 122 */ ts + 1851, /* "Sequence" */ + /* 123 */ ts + 1860, /* "NewRowid" */ + /* 124 */ ts + 1869, /* "Insert" */ + /* 125 */ ts + 1876, /* "RowCell" */ + /* 126 */ ts + 1884, /* "Delete" */ + /* 127 */ ts + 1891, /* "ResetCount" */ + /* 128 */ ts + 1902, /* "SorterCompare" */ + /* 129 */ ts + 1916, /* "SorterData" */ + /* 130 */ ts + 1927, /* "RowData" */ + /* 131 */ ts + 1935, /* "Rowid" */ + /* 132 */ ts + 1941, /* "NullRow" */ + /* 133 */ ts + 1949, /* "SeekEnd" */ + /* 134 */ ts + 1957, /* "IdxInsert" */ + /* 135 */ ts + 1967, /* "SorterInsert" */ + /* 136 */ ts + 1980, /* "IdxDelete" */ + /* 137 */ ts + 1990, /* "DeferredSeek" */ + /* 138 */ ts + 2003, /* "IdxRowid" */ + /* 139 */ ts + 2012, /* "FinishSeek" */ + /* 140 */ ts + 2023, /* "Destroy" */ + /* 141 */ ts + 2031, /* "Clear" */ + /* 142 */ ts + 2037, /* "ResetSorter" */ + /* 143 */ ts + 2049, /* "CreateBtree" */ + /* 144 */ ts + 2061, /* "SqlExec" */ + /* 145 */ ts + 2069, /* "ParseSchema" */ + /* 146 */ ts + 2081, /* "LoadAnalysis" */ + /* 147 */ ts + 2094, /* "DropTable" */ + /* 148 */ ts + 2104, /* "DropIndex" */ + /* 149 */ ts + 2114, /* "DropTrigger" */ + /* 150 */ ts + 2126, /* "IntegrityCk" */ + /* 151 */ ts + 2138, /* "RowSetAdd" */ + /* 152 */ ts + 2148, /* "Real" */ + /* 153 */ ts + 2153, /* "Param" */ + /* 154 */ ts + 2159, /* "FkCounter" */ + /* 155 */ ts + 2169, /* "MemMax" */ + /* 156 */ ts + 2176, /* "OffsetLimit" */ + /* 157 */ ts + 2188, /* "AggInverse" */ + /* 158 */ ts + 2199, /* "AggStep" */ + /* 159 */ ts + 2207, /* "AggStep1" */ + /* 160 */ ts + 2216, /* "AggValue" */ + /* 161 */ ts + 2225, /* "AggFinal" */ + /* 162 */ ts + 2234, /* "Expire" */ + /* 163 */ ts + 2241, /* "CursorLock" */ + /* 164 */ ts + 2252, /* "CursorUnlock" */ + /* 165 */ ts + 2265, /* "TableLock" */ + /* 166 */ ts + 2275, /* "VBegin" */ + /* 167 */ ts + 2282, /* "VCreate" */ + /* 168 */ ts + 2290, /* "VDestroy" */ + /* 169 */ ts + 2299, /* "VOpen" */ + /* 170 */ ts + 2305, /* "VColumn" */ + /* 171 */ ts + 2313, /* "VRename" */ + /* 172 */ ts + 2321, /* "Pagecount" */ + /* 173 */ ts + 2331, /* "MaxPgcnt" */ + /* 174 */ ts + 2340, /* "Trace" */ + /* 175 */ ts + 2346, /* "CursorHint" */ + /* 176 */ ts + 2357, /* "ReleaseReg" */ + /* 177 */ ts + 2368, /* "Noop" */ + /* 178 */ ts + 2373, /* "Explain" */ + /* 179 */ ts + 2381, /* "Abortable" */ } /* sqlite3.c:33673:20 */ type pthread_once = struct { - Fstate int32 - _ [4]byte - Fmutex Pthread_mutex_t + Fstate int32 + F__ccgo_pad1 [4]byte + Fmutex Pthread_mutex_t } /* _pthreadtypes.h:52:1 */ // Primitive system data type definitions required by P1003.1c. @@ -19127,6 +19681,13 @@ type Pthread_spinlock_t = uintptr /* _pthreadtypes.h:81:33 */ type Pthread_addr_t = uintptr /* _pthreadtypes.h:89:14 */ type Pthread_startroutine_t = uintptr /* _pthreadtypes.h:90:14 */ +type U_char = uint8 /* types.h:52:23 */ +type U_short = uint16 /* types.h:53:24 */ +type U_int = uint32 /* types.h:54:22 */ +type U_long = uint64 /* types.h:55:23 */ +type Ushort = uint16 /* types.h:57:24 */ // Sys V compatibility +type Uint = uint32 /* types.h:58:22 */ // Sys V compatibility + // XXX POSIX sized integrals that should appear only in <sys/stdint.h>. // - // SPDX-License-Identifier: BSD-2-Clause-FreeBSD @@ -19231,8 +19792,6 @@ type Accmode_t = X__accmode_t /* types.h:165:21 */ // access permissions type Nlink_t = X__nlink_t /* types.h:170:19 */ // link count -type Off_t = X__off_t /* types.h:175:18 */ // file offset - type Register_t = X__register_t /* types.h:189:22 */ type Rlim_t = X__rlim_t /* types.h:192:18 */ // resource limit @@ -19241,8 +19800,6 @@ type Sbintime_t = X__int64_t /* types.h:196:19 */ type Segsz_t = X__segsz_t /* types.h:198:19 */ // segment size (in pages) -type Ssize_t = X__ssize_t /* types.h:206:19 */ - type Suseconds_t = X__suseconds_t /* types.h:211:23 */ // microseconds (signed) type Mqd_t = X__mqd_t /* types.h:226:17 */ @@ -19275,13 +19832,8 @@ type Rman_res_t = X__rman_res_t /* types.h:271:25 */ // - // SPDX-License-Identifier: BSD-3-Clause // -// Copyright (c) 1982, 1986, 1989, 1993 +// Copyright (c) 1992, 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 @@ -19307,7 +19859,6 @@ type Rman_res_t = X__rman_res_t /* types.h:271:25 */ // OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF // SUCH DAMAGE. // -// @(#)stat.h 8.12 (Berkeley) 6/16/95 // $FreeBSD$ // - @@ -19347,10 +19898,10 @@ type Rman_res_t = X__rman_res_t /* types.h:271:25 */ // $FreeBSD$ // - -// SPDX-License-Identifier: BSD-3-Clause +// SPDX-License-Identifier: BSD-2-Clause-FreeBSD // -// Copyright (c) 1982, 1986, 1993 -// The Regents of the University of California. All rights reserved. +// Copyright (c) 2002 Mike Barcroft <mike@FreeBSD.org> +// All rights reserved. // // Redistribution and use in source and binary forms, with or without // modification, are permitted provided that the following conditions @@ -19360,14 +19911,11 @@ type Rman_res_t = X__rman_res_t /* types.h:271:25 */ // 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 +// THIS SOFTWARE IS PROVIDED BY THE AUTHOR 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 +// ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR 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) @@ -19376,15 +19924,18 @@ type Rman_res_t = X__rman_res_t /* types.h:271:25 */ // OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF // SUCH DAMAGE. // -// @(#)time.h 8.5 (Berkeley) 5/4/95 -// from: FreeBSD: src/sys/sys/time.h,v 1.43 2000/03/20 14:09:05 phk Exp -// $FreeBSD$ +// $FreeBSD$ // - -// SPDX-License-Identifier: BSD-2-Clause-FreeBSD +// SPDX-License-Identifier: BSD-3-Clause // -// Copyright (c) 2002 Mike Barcroft <mike@FreeBSD.org> -// All rights reserved. +// Copyright (c) 1982, 1986, 1989, 1991, 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 @@ -19394,11 +19945,14 @@ type Rman_res_t = X__rman_res_t /* types.h:271:25 */ // 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 AUTHOR AND CONTRIBUTORS ``AS IS'' AND +// 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 AUTHOR OR CONTRIBUTORS BE LIABLE +// 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) @@ -19407,52 +19961,18 @@ type Rman_res_t = X__rman_res_t /* types.h:271:25 */ // OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF // SUCH DAMAGE. // +// @(#)signal.h 8.4 (Berkeley) 5/4/95 // $FreeBSD$ -type stat = struct { - Fst_dev Dev_t - Fst_ino Ino_t - Fst_nlink Nlink_t - Fst_mode Mode_t - Fst_padding0 X__int16_t - Fst_uid Uid_t - Fst_gid Gid_t - Fst_padding1 X__int32_t - 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 Off_t - Fst_blocks Blkcnt_t - Fst_blksize Blksize_t - Fst_flags Fflags_t - Fst_gen X__uint64_t - Fst_spare [10]X__uint64_t -} /* stat.h:160:1 */ +// sigset_t macros. + +type __sigset = struct{ F__bits [4]X__uint32_t } /* _sigset.h:53:9 */ // - // SPDX-License-Identifier: BSD-3-Clause // -// Copyright (c) 1983, 1990, 1993 +// Copyright (c) 1992, 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 @@ -19478,13 +19998,8 @@ type stat = struct { // OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF // SUCH DAMAGE. // -// @(#)fcntl.h 8.3 (Berkeley) 1/21/94 // $FreeBSD$ -// This file includes the definitions for open and fcntl -// described by POSIX for <fcntl.h>; it also includes -// related kernel definitions. - // - // SPDX-License-Identifier: BSD-3-Clause // @@ -19550,57 +20065,10 @@ type stat = struct { // // $FreeBSD$ -// File status flags: these are used by open(2), fcntl(2). -// They are also used (indirectly) in the kernel file structure f_flags, -// which is a superset of the open/fcntl flags. Open flags and f_flags -// are inter-convertible using OFLAGS(fflags) and FFLAGS(oflags). -// Open/fcntl flags begin with O_; kernel-internal flags begin with F. -// open-only flags - -// Kernel encoding of open mode; separate read and write bits that are -// independently testable: 1 greater than the above. -// -// XXX -// FREAD and FWRITE are excluded from the #ifdef _KERNEL so that TIOCFLUSH, -// which was documented to use FREAD/FWRITE, continues to work. - -// Defined by POSIX 1003.1; BSD default, but must be distinct from O_RDONLY. - -// XXX missing O_RSYNC. - -// The O_* flags used to have only F* names, which were used in the kernel -// and by fcntl. We retain the F* names for the kernel f_flag field -// and for backward compatibility for fcntl. These flags are deprecated. - -// Historically, we ran out of bits in f_flag (which was once a short). -// However, the flag bits not set in FMASK are only meaningful in the -// initial open syscall. Those bits were thus given a -// different meaning for fcntl(2). - -// Constants used for fcntl(2) - -// command values - -// file descriptor flags (F_GETFD, F_SETFD) - -// record locking flags (F_GETLK, F_SETLK, F_SETLKW) - -// Advisory file segment locking data type - -// information passed to system by user -type flock = struct { - Fl_start Off_t - Fl_len Off_t - Fl_pid Pid_t - Fl_type int16 - Fl_whence int16 - Fl_sysid int32 - _ [4]byte -} /* fcntl.h:294:1 */ - // - // SPDX-License-Identifier: BSD-3-Clause // -// Copyright (c) 1982, 1986, 1990, 1993, 1994 +// Copyright (c) 1982, 1986, 1989, 1991, 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 @@ -19632,9 +20100,13 @@ type flock = struct { // OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF // SUCH DAMAGE. // -// @(#)filio.h 8.1 (Berkeley) 3/28/94 +// @(#)signal.h 8.4 (Berkeley) 5/4/95 // $FreeBSD$ +// sigset_t macros. + +type X__sigset_t = __sigset /* _sigset.h:55:3 */ + // - // SPDX-License-Identifier: BSD-2-Clause-FreeBSD // @@ -19665,10 +20137,10 @@ type flock = struct { // $FreeBSD$ // - -// SPDX-License-Identifier: BSD-3-Clause +// SPDX-License-Identifier: BSD-2-Clause-FreeBSD // -// Copyright (c) 1982, 1986, 1990, 1993, 1994 -// The Regents of the University of California. All rights reserved. +// Copyright (c) 2002 Mike Barcroft <mike@FreeBSD.org> +// All rights reserved. // // Redistribution and use in source and binary forms, with or without // modification, are permitted provided that the following conditions @@ -19678,14 +20150,11 @@ type flock = struct { // 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 +// THIS SOFTWARE IS PROVIDED BY THE AUTHOR 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 +// ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR 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) @@ -19694,30 +20163,18 @@ type flock = struct { // OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF // SUCH DAMAGE. // -// @(#)ioccom.h 8.3 (Berkeley) 1/9/95 // $FreeBSD$ -// Generic file-descriptor ioctl's. -type fiodgname_arg = struct { - Flen int32 - _ [4]byte - Fbuf uintptr -} /* filio.h:56:1 */ - -// Handle lseek SEEK_DATA and SEEK_HOLE for holey file knowledge. -type fiobmap2_arg = struct { - Fbn X__daddr_t - Frunp int32 - Frunb int32 -} /* filio.h:66:1 */ - -// Get the file's bmap info for the logical block bn. -// POSIX shm largepage set/get config +// Structure returned by gettimeofday(2) system call, and used in other calls. +type timeval = struct { + Ftv_sec Time_t + Ftv_usec Suseconds_t +} /* _timeval.h:49:1 */ // - // SPDX-License-Identifier: BSD-3-Clause // -// Copyright (c) 1982, 1986, 1990, 1993, 1994 +// 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 @@ -19744,63 +20201,37 @@ type fiobmap2_arg = struct { // OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF // SUCH DAMAGE. // -// @(#)sockio.h 8.1 (Berkeley) 3/28/94 -// $FreeBSD$ +// @(#)time.h 8.5 (Berkeley) 5/4/95 +// from: FreeBSD: src/sys/sys/time.h,v 1.43 2000/03/20 14:09:05 phk Exp +// $FreeBSD$ -// - -// SPDX-License-Identifier: BSD-3-Clause -// -// Copyright (c) 1982, 1986, 1990, 1993, 1994 -// 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. -// -// @(#)ioccom.h 8.3 (Berkeley) 1/9/95 -// $FreeBSD$ +type X__fd_mask = uint64 /* select.h:44:23 */ +type Fd_mask = X__fd_mask /* select.h:46:19 */ -// Socket ioctl's. +type Sigset_t = X__sigset_t /* select.h:51:20 */ -// SIOCADDRT _IOW('r', 10, struct ortentry) 4.3BSD -// SIOCDELRT _IOW('r', 11, struct ortentry) 4.3BSD +// Select uses bit masks of file descriptors in longs. These macros +// manipulate such bit fields (the filesystem macros use chars). +// FD_SETSIZE may be defined by the user, but the default here should +// be enough for most uses. -// OSIOCGIFADDR _IOWR('i', 13, struct ifreq) 4.3BSD -// OSIOCGIFDSTADDR _IOWR('i', 15, struct ifreq) 4.3BSD -// OSIOCGIFBRDADDR _IOWR('i', 18, struct ifreq) 4.3BSD -// OSIOCGIFCONF _IOWR('i', 20, struct ifconf) 4.3BSD -// OSIOCGIFNETMASK _IOWR('i', 21, struct ifreq) 4.3BSD -// SIOCALIFADDR _IOW('i', 27, struct if_laddrreq) KAME -// SIOCGLIFADDR _IOWR('i', 28, struct if_laddrreq) KAME -// SIOCDLIFADDR _IOW('i', 29, struct if_laddrreq) KAME +type fd_set = struct{ F__fds_bits [16]X__fd_mask } /* select.h:73:9 */ -// SIOCSLIFPHYADDR _IOW('i', 74, struct if_laddrreq) KAME -// SIOCGLIFPHYADDR _IOWR('i', 75, struct if_laddrreq) KAME +// Select uses bit masks of file descriptors in longs. These macros +// manipulate such bit fields (the filesystem macros use chars). +// FD_SETSIZE may be defined by the user, but the default here should +// be enough for most uses. + +type Fd_set = fd_set /* select.h:75:3 */ + +// These declarations belong elsewhere, but are repeated here and in +// <stdio.h> to give broken programs a better chance of working with +// 64-bit off_t's. // - // SPDX-License-Identifier: BSD-3-Clause // -// Copyright (c) 1982, 1986, 1990, 1993, 1994 +// Copyright (c) 1982, 1986, 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 @@ -19832,15 +20263,18 @@ type fiobmap2_arg = struct { // OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF // SUCH DAMAGE. // -// @(#)ttycom.h 8.1 (Berkeley) 3/28/94 +// @(#)stat.h 8.12 (Berkeley) 6/16/95 // $FreeBSD$ // - // SPDX-License-Identifier: BSD-3-Clause // -// Copyright (c) 1982, 1986, 1990, 1993, 1994 +// 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: @@ -19865,13 +20299,13 @@ type fiobmap2_arg = struct { // OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF // SUCH DAMAGE. // -// @(#)ioccom.h 8.3 (Berkeley) 1/9/95 +// @(#)cdefs.h 8.8 (Berkeley) 1/9/95 // $FreeBSD$ // - // SPDX-License-Identifier: BSD-3-Clause // -// Copyright (c) 1988, 1989, 1993, 1994 +// 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 @@ -19898,24 +20332,15 @@ type fiobmap2_arg = struct { // OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF // SUCH DAMAGE. // -// @(#)ttycom.h 8.1 (Berkeley) 3/28/94 -// $FreeBSD$ - -// Window/terminal size structure. This information is stored by the kernel -// in order to provide a consistent interface, but is not used by the kernel. -type winsize = struct { - Fws_row uint16 - Fws_col uint16 - Fws_xpixel uint16 - Fws_ypixel uint16 -} /* _winsize.h:42:1 */ +// @(#)time.h 8.5 (Berkeley) 5/4/95 +// from: FreeBSD: src/sys/sys/time.h,v 1.43 2000/03/20 14:09:05 phk Exp +// $FreeBSD$ -// #include <time.h> // - -// SPDX-License-Identifier: BSD-3-Clause +// SPDX-License-Identifier: BSD-2-Clause-FreeBSD // -// Copyright (c) 1982, 1986, 1993 -// The Regents of the University of California. All rights reserved. +// Copyright (c) 2002 Mike Barcroft <mike@FreeBSD.org> +// All rights reserved. // // Redistribution and use in source and binary forms, with or without // modification, are permitted provided that the following conditions @@ -19925,14 +20350,11 @@ type winsize = struct { // 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 +// THIS SOFTWARE IS PROVIDED BY THE AUTHOR 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 +// ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR 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) @@ -19941,14 +20363,14 @@ type winsize = struct { // OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF // SUCH DAMAGE. // -// @(#)time.h 8.5 (Berkeley) 5/4/95 // $FreeBSD$ +// XXX We get miscellaneous namespace pollution with this. // - -// SPDX-License-Identifier: BSD-2-Clause-FreeBSD +// SPDX-License-Identifier: BSD-3-Clause // -// Copyright (c) 2002 Mike Barcroft <mike@FreeBSD.org> -// All rights reserved. +// 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 @@ -19958,11 +20380,14 @@ type winsize = struct { // 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 AUTHOR AND CONTRIBUTORS ``AS IS'' AND +// 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 AUTHOR OR CONTRIBUTORS BE LIABLE +// 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) @@ -19971,6 +20396,7 @@ type winsize = struct { // OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF // SUCH DAMAGE. // +// @(#)time.h 8.5 (Berkeley) 5/4/95 // $FreeBSD$ // - @@ -20002,12 +20428,6 @@ type winsize = struct { // // $FreeBSD$ -// Structure returned by gettimeofday(2) system call, and used in other calls. -type timeval = struct { - Ftv_sec Time_t - Ftv_usec Suseconds_t -} /* _timeval.h:49:1 */ - // - // SPDX-License-Identifier: BSD-3-Clause // @@ -20085,6 +20505,75 @@ type timezone = struct { Ftz_dsttime int32 } /* time.h:42:1 */ +type bintime = struct { + Fsec Time_t + Ffrac Uint64_t +} /* time.h:55:1 */ + +// Decimal<->sbt conversions. Multiplying or dividing by SBT_1NS results in +// large roundoff errors which sbttons() and nstosbt() avoid. Millisecond and +// microsecond functions are also provided for completeness. +// +// These functions return the smallest sbt larger or equal to the +// number of seconds requested so that sbttoX(Xtosbt(y)) == y. Unlike +// top of second computations below, which require that we tick at the +// top of second, these need to be rounded up so we do whatever for at +// least as long as requested. +// +// The naive computation we'd do is this +// ((unit * 2^64 / SIFACTOR) + 2^32-1) >> 32 +// However, that overflows. Instead, we compute +// ((unit * 2^63 / SIFACTOR) + 2^31-1) >> 32 +// and use pre-computed constants that are the ceil of the 2^63 / SIFACTOR +// term to ensure we are using exactly the right constant. We use the lesser +// evil of ull rather than a uint64_t cast to ensure we have well defined +// right shift semantics. With these changes, we get all the ns, us and ms +// conversions back and forth right. +// Note: This file is used for both kernel and userland includes, so we can't +// rely on KASSERT being defined, nor can we pollute the namespace by including +// assert.h. +func sbttons(tls *libc.TLS, _sbt Sbintime_t) Int64_t { /* time.h:185:1: */ + var ns Uint64_t + + ns = Uint64_t(_sbt) + if ns >= (uint64(Sbintime_t(int64(1)) << 32)) { + ns = ((ns >> 32) * uint64(1000000000)) + } else { + ns = uint64(0) + } + + return (Int64_t(ns + (Uint64_t((int64(1000000000) * (_sbt & int64(0xffffffff))) >> 32)))) +} + +func nstosbt(tls *libc.TLS, _ns Int64_t) Sbintime_t { /* time.h:202:1: */ + var sb Sbintime_t = int64(0) + + if _ns >= (Sbintime_t(int64(1)) << 32) { + sb = ((_ns / int64(1000000000)) * (Sbintime_t(int64(1)) << 32)) + _ns = (_ns % int64(1000000000)) + } + // 9223372037 = ceil(2^63 / 1000000000) + sb = Sbintime_t(uint64(sb) + (((uint64(_ns) * 9223372037) + uint64(0x7fffffff)) >> 31)) + return sb +} + +func sbttous(tls *libc.TLS, _sbt Sbintime_t) Int64_t { /* time.h:219:1: */ + + return ((int64(1000000) * _sbt) >> 32) +} + +func ustosbt(tls *libc.TLS, _us Int64_t) Sbintime_t { /* time.h:226:1: */ + var sb Sbintime_t = int64(0) + + if _us >= (Sbintime_t(int64(1)) << 32) { + sb = ((_us / int64(1000000)) * (Sbintime_t(int64(1)) << 32)) + _us = (_us % int64(1000000)) + } + // 9223372036855 = ceil(2^63 / 1000000) + sb = Sbintime_t(uint64(sb) + (((uint64(_us) * 9223372036855) + uint64(0x7fffffff)) >> 31)) + return sb +} + // Operations on timespecs // Names of the interval timers, and structure @@ -20110,12 +20599,44 @@ type clockinfo = struct { Fprofhz int32 } /* time.h:455:1 */ -// These macros are also in time.h. +type stat = struct { + Fst_dev Dev_t + Fst_ino Ino_t + Fst_nlink Nlink_t + Fst_mode Mode_t + Fst_padding0 X__int16_t + Fst_uid Uid_t + Fst_gid Gid_t + Fst_padding1 X__int32_t + 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 Off_t + Fst_blocks Blkcnt_t + Fst_blksize Blksize_t + Fst_flags Fflags_t + Fst_gen X__uint64_t + Fst_spare [10]X__uint64_t +} /* stat.h:160:1 */ // - // SPDX-License-Identifier: BSD-3-Clause // -// Copyright (c) 1989, 1993 +// Copyright (c) 1983, 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 @@ -20147,10 +20668,13 @@ type clockinfo = struct { // OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF // SUCH DAMAGE. // -// @(#)time.h 8.3 (Berkeley) 1/21/94 - +// @(#)fcntl.h 8.3 (Berkeley) 1/21/94 // $FreeBSD$ +// This file includes the definitions for open and fcntl +// described by POSIX for <fcntl.h>; it also includes +// related kernel definitions. + // - // SPDX-License-Identifier: BSD-3-Clause // @@ -20188,10 +20712,10 @@ type clockinfo = struct { // $FreeBSD$ // - -// SPDX-License-Identifier: BSD-3-Clause +// SPDX-License-Identifier: BSD-2-Clause-FreeBSD // -// Copyright (c) 1992, 1993 -// The Regents of the University of California. All rights reserved. +// Copyright (c) 2002 Mike Barcroft <mike@FreeBSD.org> +// All rights reserved. // // Redistribution and use in source and binary forms, with or without // modification, are permitted provided that the following conditions @@ -20201,14 +20725,11 @@ type clockinfo = struct { // 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 +// THIS SOFTWARE IS PROVIDED BY THE AUTHOR 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 +// ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR 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) @@ -20219,14 +20740,89 @@ type clockinfo = struct { // // $FreeBSD$ +// File status flags: these are used by open(2), fcntl(2). +// They are also used (indirectly) in the kernel file structure f_flags, +// which is a superset of the open/fcntl flags. Open flags and f_flags +// are inter-convertible using OFLAGS(fflags) and FFLAGS(oflags). +// Open/fcntl flags begin with O_; kernel-internal flags begin with F. +// open-only flags + +// Kernel encoding of open mode; separate read and write bits that are +// independently testable: 1 greater than the above. +// +// XXX +// FREAD and FWRITE are excluded from the #ifdef _KERNEL so that TIOCFLUSH, +// which was documented to use FREAD/FWRITE, continues to work. + +// Defined by POSIX 1003.1; BSD default, but must be distinct from O_RDONLY. + +// Attempt to bypass buffer cache + +// Defined by POSIX 1003.1-2008; BSD default, but reserve for future use. + +/* #define O_UNUSED1 0x00400000 */ // Was O_BENEATH + +// XXX missing O_RSYNC. + +// The O_* flags used to have only F* names, which were used in the kernel +// and by fcntl. We retain the F* names for the kernel f_flag field +// and for backward compatibility for fcntl. These flags are deprecated. + +// Historically, we ran out of bits in f_flag (which was once a short). +// However, the flag bits not set in FMASK are only meaningful in the +// initial open syscall. Those bits were thus given a +// different meaning for fcntl(2). +// Read ahead + +// Magic value that specify the use of the current working directory +// to determine the target of relative file paths in the openat() and +// similar syscalls. + +// Miscellaneous flags for the *at() syscalls. +/* #define AT_UNUSED1 0x1000 */ // Was AT_BENEATH + +// Constants used for fcntl(2) + +// command values + +// Seals (F_ADD_SEALS, F_GET_SEALS). + +// file descriptor flags (F_GETFD, F_SETFD) + +// record locking flags (F_GETLK, F_SETLK, F_SETLKW) + +// Advisory file segment locking data type - +// information passed to system by user +type flock = struct { + Fl_start Off_t + Fl_len Off_t + Fl_pid Pid_t + Fl_type int16 + Fl_whence int16 + Fl_sysid int32 + F__ccgo_pad1 [4]byte +} /* fcntl.h:294:1 */ + +// Old advisory file segment locking data type, +// before adding l_sysid. +type __oflock = struct { + Fl_start Off_t + Fl_len Off_t + Fl_pid Pid_t + Fl_type int16 + Fl_whence int16 +} /* fcntl.h:308:1 */ + // - // SPDX-License-Identifier: BSD-3-Clause // -// Copyright (c) 1991, 1993 +// Copyright (c) 1982, 1986, 1990, 1993, 1994 // The Regents of the University of California. All rights reserved. -// -// This code is derived from software contributed to Berkeley by -// Berkeley Software Design, Inc. +// (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 @@ -20252,7 +20848,7 @@ type clockinfo = struct { // OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF // SUCH DAMAGE. // -// @(#)cdefs.h 8.8 (Berkeley) 1/9/95 +// @(#)filio.h 8.1 (Berkeley) 3/28/94 // $FreeBSD$ // - @@ -20287,13 +20883,8 @@ type clockinfo = struct { // - // SPDX-License-Identifier: BSD-3-Clause // -// Copyright (c) 1982, 1986, 1989, 1991, 1993 +// Copyright (c) 1982, 1986, 1990, 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 @@ -20319,25 +20910,31 @@ type clockinfo = struct { // OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF // SUCH DAMAGE. // -// @(#)signal.h 8.4 (Berkeley) 5/4/95 +// @(#)ioccom.h 8.3 (Berkeley) 1/9/95 // $FreeBSD$ -// sigset_t macros. +// Generic file-descriptor ioctl's. +type fiodgname_arg = struct { + Flen int32 + F__ccgo_pad1 [4]byte + Fbuf uintptr +} /* filio.h:56:1 */ -type __sigset = struct{ F__bits [4]X__uint32_t } /* _sigset.h:53:9 */ +// Handle lseek SEEK_DATA and SEEK_HOLE for holey file knowledge. +type fiobmap2_arg = struct { + Fbn X__daddr_t + Frunp int32 + Frunb int32 +} /* filio.h:66:1 */ -// These macros are also in time.h. +// Get the file's bmap info for the logical block bn. +// POSIX shm largepage set/get config // - // SPDX-License-Identifier: BSD-3-Clause // -// Copyright (c) 1989, 1993 +// Copyright (c) 1982, 1986, 1990, 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 @@ -20363,19 +20960,15 @@ type __sigset = struct{ F__bits [4]X__uint32_t } /* _sigset.h:53:9 */ // OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF // SUCH DAMAGE. // -// @(#)time.h 8.3 (Berkeley) 1/21/94 - +// @(#)sockio.h 8.1 (Berkeley) 3/28/94 // $FreeBSD$ // - // SPDX-License-Identifier: BSD-3-Clause // -// Copyright (c) 1991, 1993 +// Copyright (c) 1982, 1986, 1990, 1993, 1994 // 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: @@ -20400,14 +20993,36 @@ type __sigset = struct{ F__bits [4]X__uint32_t } /* _sigset.h:53:9 */ // OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF // SUCH DAMAGE. // -// @(#)cdefs.h 8.8 (Berkeley) 1/9/95 +// @(#)ioccom.h 8.3 (Berkeley) 1/9/95 // $FreeBSD$ +// Socket ioctl's. + +// SIOCADDRT _IOW('r', 10, struct ortentry) 4.3BSD +// SIOCDELRT _IOW('r', 11, struct ortentry) 4.3BSD + +// OSIOCGIFADDR _IOWR('i', 13, struct ifreq) 4.3BSD +// OSIOCGIFDSTADDR _IOWR('i', 15, struct ifreq) 4.3BSD +// OSIOCGIFBRDADDR _IOWR('i', 18, struct ifreq) 4.3BSD +// OSIOCGIFCONF _IOWR('i', 20, struct ifconf) 4.3BSD +// OSIOCGIFNETMASK _IOWR('i', 21, struct ifreq) 4.3BSD +// SIOCALIFADDR _IOW('i', 27, struct if_laddrreq) KAME +// SIOCGLIFADDR _IOWR('i', 28, struct if_laddrreq) KAME +// SIOCDLIFADDR _IOW('i', 29, struct if_laddrreq) KAME + +// SIOCSLIFPHYADDR _IOW('i', 74, struct if_laddrreq) KAME +// SIOCGLIFPHYADDR _IOWR('i', 75, struct if_laddrreq) KAME + // - // SPDX-License-Identifier: BSD-3-Clause // -// Copyright (c) 1992, 1993 +// Copyright (c) 1982, 1986, 1990, 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 @@ -20433,17 +21048,15 @@ type __sigset = struct{ F__bits [4]X__uint32_t } /* _sigset.h:53:9 */ // OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF // SUCH DAMAGE. // +// @(#)ttycom.h 8.1 (Berkeley) 3/28/94 // $FreeBSD$ // - // SPDX-License-Identifier: BSD-3-Clause // -// Copyright (c) 1991, 1993 +// Copyright (c) 1982, 1986, 1990, 1993, 1994 // 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: @@ -20468,14 +21081,14 @@ type __sigset = struct{ F__bits [4]X__uint32_t } /* _sigset.h:53:9 */ // OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF // SUCH DAMAGE. // -// @(#)cdefs.h 8.8 (Berkeley) 1/9/95 +// @(#)ioccom.h 8.3 (Berkeley) 1/9/95 // $FreeBSD$ // - -// SPDX-License-Identifier: BSD-2-Clause-FreeBSD +// SPDX-License-Identifier: BSD-3-Clause // -// Copyright (c) 2002 Mike Barcroft <mike@FreeBSD.org> -// All rights reserved. +// Copyright (c) 1988, 1989, 1993, 1994 +// 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 @@ -20485,11 +21098,14 @@ type __sigset = struct{ F__bits [4]X__uint32_t } /* _sigset.h:53:9 */ // 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 AUTHOR AND CONTRIBUTORS ``AS IS'' AND +// 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 AUTHOR OR CONTRIBUTORS BE LIABLE +// 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) @@ -20498,18 +21114,48 @@ type __sigset = struct{ F__bits [4]X__uint32_t } /* _sigset.h:53:9 */ // OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF // SUCH DAMAGE. // +// @(#)ttycom.h 8.1 (Berkeley) 3/28/94 // $FreeBSD$ +// Window/terminal size structure. This information is stored by the kernel +// in order to provide a consistent interface, but is not used by the kernel. +type winsize = struct { + Fws_row uint16 + Fws_col uint16 + Fws_xpixel uint16 + Fws_ypixel uint16 +} /* _winsize.h:42:1 */ + +// select(2) + +type crypt_data = struct { + Finitialized int32 + F__buf [256]int8 +} /* unistd.h:489:1 */ + +// 11 was EAGAIN + +// math software + +// non-blocking and interrupt i/o + +// ipc/network software -- argument errors + +// ipc/network software -- operational errors + +// should be rearranged + +// quotas & mush + +// Network File System + +// ISO/IEC 9899:2011 K.3.2.2 + // - // SPDX-License-Identifier: BSD-3-Clause // -// Copyright (c) 1982, 1986, 1989, 1991, 1993 +// Copyright (c) 1982, 1986, 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 @@ -20535,18 +21181,17 @@ type __sigset = struct{ F__bits [4]X__uint32_t } /* _sigset.h:53:9 */ // OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF // SUCH DAMAGE. // -// @(#)signal.h 8.4 (Berkeley) 5/4/95 +// @(#)mman.h 8.2 (Berkeley) 1/9/95 // $FreeBSD$ -// sigset_t macros. - -type X__sigset_t = __sigset /* _sigset.h:55:3 */ - // - -// SPDX-License-Identifier: BSD-2-Clause-FreeBSD +// SPDX-License-Identifier: BSD-3-Clause // -// Copyright (c) 2002 Mike Barcroft <mike@FreeBSD.org> -// All rights reserved. +// Copyright (c) 1991, 1993 +// The Regents of the University of California. All rights reserved. +// +// This code is derived from software contributed to Berkeley by +// Berkeley Software Design, Inc. // // Redistribution and use in source and binary forms, with or without // modification, are permitted provided that the following conditions @@ -20556,11 +21201,14 @@ type X__sigset_t = __sigset /* _sigset.h:55:3 */ // 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 AUTHOR AND CONTRIBUTORS ``AS IS'' AND +// 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 AUTHOR OR CONTRIBUTORS BE LIABLE +// 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) @@ -20569,13 +21217,14 @@ type X__sigset_t = __sigset /* _sigset.h:55:3 */ // OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF // SUCH DAMAGE. // +// @(#)cdefs.h 8.8 (Berkeley) 1/9/95 // $FreeBSD$ // - -// SPDX-License-Identifier: BSD-3-Clause +// SPDX-License-Identifier: BSD-2-Clause-FreeBSD // -// Copyright (c) 1982, 1986, 1993 -// The Regents of the University of California. All rights reserved. +// Copyright (c) 2002 Mike Barcroft <mike@FreeBSD.org> +// All rights reserved. // // Redistribution and use in source and binary forms, with or without // modification, are permitted provided that the following conditions @@ -20585,14 +21234,11 @@ type X__sigset_t = __sigset /* _sigset.h:55:3 */ // 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 +// THIS SOFTWARE IS PROVIDED BY THE AUTHOR 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 +// ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR 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) @@ -20601,27 +21247,49 @@ type X__sigset_t = __sigset /* _sigset.h:55:3 */ // OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF // SUCH DAMAGE. // -// @(#)time.h 8.5 (Berkeley) 5/4/95 -// from: FreeBSD: src/sys/sys/time.h,v 1.43 2000/03/20 14:09:05 phk Exp -// $FreeBSD$ +// $FreeBSD$ -type X__fd_mask = uint64 /* select.h:44:23 */ +// Inheritance for minherit() -type Sigset_t = X__sigset_t /* select.h:51:20 */ +// Protections are chosen from these bits, or-ed together -// Select uses bit masks of file descriptors in longs. These macros -// manipulate such bit fields (the filesystem macros use chars). -// FD_SETSIZE may be defined by the user, but the default here should -// be enough for most uses. +// Flags contain sharing type and options. +// Sharing types; choose one. -type fd_set = struct{ F__fds_bits [16]X__fd_mask } /* select.h:73:9 */ +// Other flags -// Select uses bit masks of file descriptors in longs. These macros -// manipulate such bit fields (the filesystem macros use chars). -// FD_SETSIZE may be defined by the user, but the default here should -// be enough for most uses. +// Mapping type -type Fd_set = fd_set /* select.h:75:3 */ +// Extended flags + +// Request specific alignment (n == log2 of the desired alignment). +// +// MAP_ALIGNED_SUPER requests optimal superpage alignment, but does +// not enforce a specific alignment. + +// Flags provided to shm_rename +// Don't overwrite dest, if it exists +// Atomically swap src and dest + +// Process memory locking + +// Error return from mmap() + +// msync() flags + +// Advice to madvise + +// Return bits from mincore + +// Anonymous object constant for shm_open(). + +// shmflags for shm_open2() + +type shm_largepage_conf = struct { + Fpsind int32 + Falloc_policy int32 + Fpad [10]int32 +} /* mman.h:201:1 */ // Try to determine if gethostuuid() is available based on standard // macros. This might sometimes compute the wrong value for some @@ -20655,13 +21323,13 @@ type Fd_set = fd_set /* select.h:75:3 */ // 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 @@ -20697,20 +21365,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 @@ -20725,10 +21393,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 @@ -20753,10 +21421,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 @@ -20857,67 +21525,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 + 2391 /* "open" */, FpCurrent: 0}, - {FzName: ts + 2394 /* "close" */, FpCurrent: 0}, + {FzName: ts + 2396 /* "close" */, FpCurrent: 0}, - {FzName: ts + 2400 /* "access" */, FpCurrent: 0}, + {FzName: ts + 2402 /* "access" */, FpCurrent: 0}, - {FzName: ts + 2407 /* "getcwd" */, FpCurrent: 0}, + {FzName: ts + 2409 /* "getcwd" */, FpCurrent: 0}, - {FzName: ts + 2414 /* "stat" */, FpCurrent: 0}, + {FzName: ts + 2416 /* "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 + 2421 /* "fstat" */, FpCurrent: 0}, - {FzName: ts + 2425 /* "ftruncate" */, FpCurrent: 0}, + {FzName: ts + 2427 /* "ftruncate" */, FpCurrent: 0}, - {FzName: ts + 2435 /* "fcntl" */, FpCurrent: 0}, + {FzName: ts + 2437 /* "fcntl" */, FpCurrent: 0}, - {FzName: ts + 2441 /* "read" */, FpCurrent: 0}, + {FzName: ts + 2443 /* "read" */, FpCurrent: 0}, - {FzName: ts + 2446 /* "pread" */}, + {FzName: ts + 2448 /* "pread" */}, - {FzName: ts + 2452 /* "pread64" */}, + {FzName: ts + 2454 /* "pread64" */}, - {FzName: ts + 2460 /* "write" */, FpCurrent: 0}, + {FzName: ts + 2462 /* "write" */, FpCurrent: 0}, - {FzName: ts + 2466 /* "pwrite" */}, + {FzName: ts + 2468 /* "pwrite" */}, - {FzName: ts + 2473 /* "pwrite64" */}, + {FzName: ts + 2475 /* "pwrite64" */}, - {FzName: ts + 2482 /* "fchmod" */, FpCurrent: 0}, + {FzName: ts + 2484 /* "fchmod" */, FpCurrent: 0}, - {FzName: ts + 2489 /* "fallocate" */}, + {FzName: ts + 2491 /* "fallocate" */}, - {FzName: ts + 2499 /* "unlink" */, FpCurrent: 0}, + {FzName: ts + 2501 /* "unlink" */, FpCurrent: 0}, - {FzName: ts + 2506 /* "openDirectory" */, FpCurrent: 0}, + {FzName: ts + 2508 /* "openDirectory" */, FpCurrent: 0}, - {FzName: ts + 2520 /* "mkdir" */, FpCurrent: 0}, + {FzName: ts + 2522 /* "mkdir" */, FpCurrent: 0}, - {FzName: ts + 2526 /* "rmdir" */, FpCurrent: 0}, + {FzName: ts + 2528 /* "rmdir" */, FpCurrent: 0}, - {FzName: ts + 2532 /* "fchown" */, FpCurrent: 0}, + {FzName: ts + 2534 /* "fchown" */, FpCurrent: 0}, - {FzName: ts + 2539 /* "geteuid" */, FpCurrent: 0}, + {FzName: ts + 2541 /* "geteuid" */, FpCurrent: 0}, - {FzName: ts + 2547 /* "mmap" */, FpCurrent: 0}, + {FzName: ts + 2549 /* "mmap" */, FpCurrent: 0}, - {FzName: ts + 2552 /* "munmap" */, FpCurrent: 0}, + {FzName: ts + 2554 /* "munmap" */, FpCurrent: 0}, - {FzName: ts + 2559 /* "mremap" */}, + {FzName: ts + 2561 /* "mremap" */}, - {FzName: ts + 2566 /* "getpagesize" */, FpCurrent: 0}, + {FzName: ts + 2568 /* "getpagesize" */, FpCurrent: 0}, - {FzName: ts + 2578 /* "readlink" */, FpCurrent: 0}, + {FzName: ts + 2580 /* "readlink" */, FpCurrent: 0}, - {FzName: ts + 2587 /* "lstat" */, FpCurrent: 0}, + {FzName: ts + 2589 /* "lstat" */, FpCurrent: 0}, - {FzName: ts + 2593 /* "ioctl" */}, + {FzName: ts + 2595 /* "ioctl" */}, } /* sqlite3.c:34446:3 */ // End of the overrideable system calls @@ -21028,8 +21696,8 @@ func unixNextSystemCall(tls *libc.TLS, p uintptr, zName uintptr) uintptr { /* sq // process that is able to write to the database will also be able to // recover the hot journals. func robust_open(tls *libc.TLS, z uintptr, f int32, m Mode_t) int32 { /* sqlite3.c:34733:12: */ - bp := tls.Alloc(256) - defer tls.Free(256) + bp := tls.Alloc(240) + defer tls.Free(240) var fd int32 var m2 Mode_t @@ -21039,7 +21707,7 @@ func robust_open(tls *libc.TLS, z uintptr, f int32, m Mode_t) int32 { /* sqlite3 m2 = uint16(SQLITE_DEFAULT_FILE_PERMISSIONS) } for 1 != 0 { - fd = (*(*func(*libc.TLS, uintptr, int32, int32) int32)(unsafe.Pointer((uintptr(unsafe.Pointer(&aSyscall)) + 8 /* &.pCurrent */))))(tls, z, f, int32(m2)) + fd = (*(*func(*libc.TLS, uintptr, int32, int32) int32)(unsafe.Pointer((uintptr(unsafe.Pointer(&aSyscall)) + 8 /* &.pCurrent */))))(tls, z, (f | O_CLOEXEC), int32(m2)) if fd < 0 { if (*(*int32)(unsafe.Pointer(libc.X__error(tls)))) == EINTR { continue @@ -21051,23 +21719,22 @@ func robust_open(tls *libc.TLS, z uintptr, f int32, m Mode_t) int32 { /* sqlite3 } (*(*func(*libc.TLS, int32) int32)(unsafe.Pointer((uintptr(unsafe.Pointer(&aSyscall)) + 1*24 + 8 /* &.pCurrent */))))(tls, fd) Xsqlite3_log(tls, SQLITE_WARNING, - ts+2599 /* "attempt to open ..." */, libc.VaList(bp, z, fd)) + ts+2601 /* "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+2644 /* "/dev/null" */, O_RDONLY, int32(m)) < 0 { break } } if fd >= 0 { if int32(m) != 0 { - // var statbuf stat at bp+32, 224 + // var statbuf stat at bp+16, 224 - if (((*(*func(*libc.TLS, int32, uintptr) int32)(unsafe.Pointer((uintptr(unsafe.Pointer(&aSyscall)) + 5*24 + 8 /* &.pCurrent */))))(tls, fd, bp+32 /* &statbuf */) == 0) && - ((*stat)(unsafe.Pointer(bp+32 /* &statbuf */)).Fst_size == int64(0))) && - ((int32((*stat)(unsafe.Pointer(bp+32 /* &statbuf */)).Fst_mode) & 0777) != int32(m)) { + if (((*(*func(*libc.TLS, int32, uintptr) int32)(unsafe.Pointer((uintptr(unsafe.Pointer(&aSyscall)) + 5*24 + 8 /* &.pCurrent */))))(tls, fd, bp+16 /* &statbuf */) == 0) && + ((*stat)(unsafe.Pointer(bp+16 /* &statbuf */)).Fst_size == int64(0))) && + ((int32((*stat)(unsafe.Pointer(bp+16 /* &statbuf */)).Fst_mode) & 0777) != int32(m)) { (*(*func(*libc.TLS, int32, Mode_t) int32)(unsafe.Pointer((uintptr(unsafe.Pointer(&aSyscall)) + 14*24 + 8 /* &.pCurrent */))))(tls, fd, m) } } - (*(*func(*libc.TLS, int32, int32, uintptr) int32)(unsafe.Pointer((uintptr(unsafe.Pointer(&aSyscall)) + 7*24 + 8 /* &.pCurrent */))))(tls, fd, F_SETFD, libc.VaList(bp+16, ((*(*func(*libc.TLS, int32, int32, uintptr) int32)(unsafe.Pointer((uintptr(unsafe.Pointer(&aSyscall)) + 7*24 + 8 /* &.pCurrent */))))(tls, fd, F_GETFD, libc.VaList(bp+24, 0))|FD_CLOEXEC))) } return fd } @@ -21312,13 +21979,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 + 758 /* "" */ if zPath == uintptr(0) { - zPath = ts + 756 /* "" */ + zPath = ts + 758 /* "" */ } Xsqlite3_log(tls, errcode, - ts+2652, /* "os_unix.c:%d: (%..." */ + ts+2654, /* "os_unix.c:%d: (%..." */ libc.VaList(bp, iLine, iErrno, zFunc, zPath, zErr)) return errcode @@ -21337,7 +22004,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+2396, /* "close" */ func() uintptr { if pFile != 0 { return (*UnixFile)(unsafe.Pointer(pFile)).FzPath @@ -21496,19 +22163,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+2685 /* "cannot fstat db ..." */, libc.VaList(bp, (*UnixFile)(unsafe.Pointer(pFile)).FzPath)) return } if (*stat)(unsafe.Pointer(bp+32 /* &buf */)).Fst_nlink == uint64(0) { - Xsqlite3_log(tls, SQLITE_WARNING, ts+2707 /* "file unlinked wh..." */, libc.VaList(bp+8, (*UnixFile)(unsafe.Pointer(pFile)).FzPath)) + Xsqlite3_log(tls, SQLITE_WARNING, ts+2709 /* "file unlinked wh..." */, libc.VaList(bp+8, (*UnixFile)(unsafe.Pointer(pFile)).FzPath)) return } if (*stat)(unsafe.Pointer(bp+32 /* &buf */)).Fst_nlink > uint64(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+2738 /* "multiple links t..." */, libc.VaList(bp+16, (*UnixFile)(unsafe.Pointer(pFile)).FzPath)) return } if fileHasMoved(tls, pFile) != 0 { - Xsqlite3_log(tls, SQLITE_WARNING, ts+2763 /* "file renamed whi..." */, libc.VaList(bp+24, (*UnixFile)(unsafe.Pointer(pFile)).FzPath)) + Xsqlite3_log(tls, SQLITE_WARNING, ts+2765 /* "file renamed whi..." */, libc.VaList(bp+24, (*UnixFile)(unsafe.Pointer(pFile)).FzPath)) return } } @@ -22622,7 +23289,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+2793 /* "%s" */, libc.VaList(bp, zFilename)) for ii = int32(libc.Xstrlen(tls, bp+8 /* &zDirname[0] */)); (ii > 0) && (int32(*(*int8)(unsafe.Pointer(bp + 8 /* &zDirname[0] */ + uintptr(ii)))) != '/'); ii-- { } if ii > 0 { @@ -22641,7 +23308,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+2508 /* "openDirectory" */, bp+8 /* &zDirname[0] */, 37775) } // Make sure all writes to a particular file are committed to disk. @@ -22676,7 +23343,7 @@ func unixSync(tls *libc.TLS, id uintptr, flags int32) int32 { /* sqlite3.c:37793 if rc != 0 { storeLastErrno(tls, pFile, *(*int32)(unsafe.Pointer(libc.X__error(tls)))) - return unixLogErrorAtLine(tls, (SQLITE_IOERR | (int32(4) << 8)), ts+2794 /* "full_fsync" */, (*UnixFile)(unsafe.Pointer(pFile)).FzPath, 37816) + return unixLogErrorAtLine(tls, (SQLITE_IOERR | (int32(4) << 8)), ts+2796 /* "full_fsync" */, (*UnixFile)(unsafe.Pointer(pFile)).FzPath, 37816) } // Also fsync the directory containing the file if the DIRSYNC flag @@ -22714,7 +23381,7 @@ func unixTruncate(tls *libc.TLS, id uintptr, nByte I64) int32 { /* sqlite3.c:378 rc = robust_ftruncate(tls, (*UnixFile)(unsafe.Pointer(pFile)).Fh, nByte) if rc != 0 { storeLastErrno(tls, pFile, *(*int32)(unsafe.Pointer(libc.X__error(tls)))) - return unixLogErrorAtLine(tls, (SQLITE_IOERR | (int32(6) << 8)), ts+2425 /* "ftruncate" */, (*UnixFile)(unsafe.Pointer(pFile)).FzPath, 37861) + return unixLogErrorAtLine(tls, (SQLITE_IOERR | (int32(6) << 8)), ts+2427 /* "ftruncate" */, (*UnixFile)(unsafe.Pointer(pFile)).FzPath, 37861) } else { // If the file was just truncated to a size smaller than the currently @@ -22793,7 +23460,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+758 /* "" */, 1) if nWrite != 1 { return (SQLITE_IOERR | (int32(3) << 8)) } @@ -22806,7 +23473,7 @@ func fcntlSizeHint(tls *libc.TLS, pFile uintptr, nByte I64) int32 { /* sqlite3.c if (*UnixFile)(unsafe.Pointer(pFile)).FszChunk <= 0 { if robust_ftruncate(tls, (*UnixFile)(unsafe.Pointer(pFile)).Fh, nByte) != 0 { storeLastErrno(tls, pFile, *(*int32)(unsafe.Pointer(libc.X__error(tls)))) - return unixLogErrorAtLine(tls, (SQLITE_IOERR | (int32(6) << 8)), ts+2425 /* "ftruncate" */, (*UnixFile)(unsafe.Pointer(pFile)).FzPath, 37982) + return unixLogErrorAtLine(tls, (SQLITE_IOERR | (int32(6) << 8)), ts+2427 /* "ftruncate" */, (*UnixFile)(unsafe.Pointer(pFile)).FzPath, 37982) } } @@ -22880,7 +23547,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+2793 /* "%s" */, libc.VaList(bp, (*Sqlite3_vfs)(unsafe.Pointer((*UnixFile)(unsafe.Pointer(pFile)).FpVfs)).FzName)) return SQLITE_OK } @@ -23166,7 +23833,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+2427 /* "ftruncate" */, (*UnixShmNode)(unsafe.Pointer(pShmNode)).FzFilename, 38591) } } } else if int32((*flock)(unsafe.Pointer(bp+8 /* &lock */)).Fl_type) == F_WRLCK { @@ -23272,7 +23939,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+2807 /* "%s-shm" */, libc.VaList(bp, zBasePath)) (*unixShmNode)(unsafe.Pointer(pShmNode)).FhShm = -1 (*UnixInodeInfo)(unsafe.Pointer((*UnixFile)(unsafe.Pointer(pDbFd)).FpInode)).FpShmNode = pShmNode @@ -23294,7 +23961,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+2814 /* "readonly_shm" */, 0)) { goto __8 } (*unixShmNode)(unsafe.Pointer(pShmNode)).FhShm = robust_open(tls, zShm, ((O_RDWR | O_CREAT) | O_NOFOLLOW), @@ -23309,7 +23976,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+2391 /* "open" */, zShm, 38716) goto shm_open_err __10: ; @@ -23476,11 +24143,11 @@ __11: goto __13 } *(*int32)(unsafe.Pointer(bp + 224 /* x */)) = 0 - if !(seekAndWriteFd(tls, (*UnixShmNode)(unsafe.Pointer(pShmNode)).FhShm, (int64(((iPg*pgsz)+pgsz)-1)), ts+756 /* "" */, 1, bp+224 /* &x */) != 1) { + if !(seekAndWriteFd(tls, (*UnixShmNode)(unsafe.Pointer(pShmNode)).FhShm, (int64(((iPg*pgsz)+pgsz)-1)), ts+758 /* "" */, 1, bp+224 /* &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+2462 /* "write" */, zFile, 38860) goto shmpage_out __14: ; @@ -23528,7 +24195,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+2549 /* "mmap" */, (*UnixShmNode)(unsafe.Pointer(pShmNode)).FzFilename, 38887) goto shmpage_out __20: ; @@ -23570,10 +24237,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)) { @@ -23787,7 +24454,7 @@ func unixUnmapfile(tls *libc.TLS, pFd uintptr) { /* sqlite3.c:39165:13: */ // continue accessing the database using the xRead() and xWrite() // methods. func unixRemapfile(tls *libc.TLS, pFd uintptr, nNew I64) { /* sqlite3.c:39190:13: */ - var zErr uintptr = ts + 2547 /* "mmap" */ + var zErr uintptr = ts + 2549 /* "mmap" */ var h int32 = (*UnixFile)(unsafe.Pointer(pFd)).Fh // File descriptor open on db file var pOrig uintptr = (*UnixFile)(unsafe.Pointer(pFd)).FpMapRegion // Pointer to current file mapping var nOrig I64 = (*UnixFile)(unsafe.Pointer(pFd)).FmmapSizeActual // Size of pOrig region in bytes @@ -24048,17 +24715,19 @@ func fillInUnixFile(tls *libc.TLS, pVfs uintptr, h int32, pId uintptr, zFilename } return uintptr(0) }(), - ts+2825 /* "psow" */, SQLITE_POWERSAFE_OVERWRITE) != 0 { + ts+2827 /* "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+2832 /* "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)) { @@ -24097,7 +24766,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+2842 /* "%s.lock" */, libc.VaList(bp, zFilename)) } (*UnixFile)(unsafe.Pointer(pNew)).FlockingContext = zLockFile } @@ -24127,10 +24796,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+2850 /* "SQLITE_TMPDIR" */) } if !(int32(azDirs[1]) != 0) { - azDirs[1] = libc.Xgetenv(tls, ts+2862 /* "TMPDIR" */) + azDirs[1] = libc.Xgetenv(tls, ts+2864 /* "TMPDIR" */) } for 1 != 0 { if (((zDir != uintptr(0)) && @@ -24150,10 +24819,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 + 2871, /* "/var/tmp" */ + ts + 2880, /* "/usr/tmp" */ + ts + 2889, /* "/tmp" */ + ts + 771, /* "." */ } /* sqlite3.c:39857:21 */ // Create a temporary file name in zBuf. zBuf must be allocated @@ -24181,7 +24850,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+2894, /* "%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 @@ -24337,7 +25006,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+2911 /* "modeof" */) if z != 0 { rc = getFileMode(tls, z, pMode, pUid, pGid) } @@ -24563,7 +25232,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+2391 /* "open" */, zName, 40257) if !(rc == SQLITE_OK) { goto __20 } @@ -24674,7 +25343,7 @@ func unixDelete(tls *libc.TLS, NotUsed uintptr, zPath uintptr, dirSync int32) in if (*(*int32)(unsafe.Pointer(libc.X__error(tls)))) == ENOENT { rc = (SQLITE_IOERR | (int32(23) << 8)) } else { - rc = unixLogErrorAtLine(tls, (SQLITE_IOERR | (int32(10) << 8)), ts+2499 /* "unlink" */, zPath, 40396) + rc = unixLogErrorAtLine(tls, (SQLITE_IOERR | (int32(10) << 8)), ts+2501 /* "unlink" */, zPath, 40396) } return rc } @@ -24684,7 +25353,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+2918 /* "fsync" */, zPath, 40406) } robust_close(tls, uintptr(0), *(*int32)(unsafe.Pointer(bp /* fd */)), 40408) } else { @@ -24759,7 +25428,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+2409 /* "getcwd" */, zPath, 40485) } iOff = Xsqlite3Strlen30(tls, zOut) *(*int8)(unsafe.Pointer(zOut + uintptr(libc.PostIncInt32(&iOff, 1)))) = int8('/') @@ -24770,7 +25439,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+2793 /* "%s" */, libc.VaList(bp, zPath)) // Remove duplicate '/' characters. Except, two // at the beginning // of a pathname is allowed since this is important on windows. @@ -24845,7 +25514,7 @@ func unixFullPathname(tls *libc.TLS, pVfs uintptr, zPath uintptr, nOut int32, zO if (*(*func(*libc.TLS, uintptr, uintptr) int32)(unsafe.Pointer((uintptr(unsafe.Pointer(&aSyscall)) + 27*24 + 8 /* &.pCurrent */))))(tls, zIn, bp /* &buf */) != 0 { if (*(*int32)(unsafe.Pointer(libc.X__error(tls)))) != ENOENT { - rc = unixLogErrorAtLine(tls, Xsqlite3CantopenError(tls, 40577), ts+2587 /* "lstat" */, zIn, 40577) + rc = unixLogErrorAtLine(tls, Xsqlite3CantopenError(tls, 40577), ts+2589 /* "lstat" */, zIn, 40577) } } else { bLink = (libc.Bool32(((int32((*stat)(unsafe.Pointer(bp /* &buf */)).Fst_mode)) & 0170000) == 0120000)) @@ -24865,7 +25534,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+2580 /* "readlink" */, zIn, 40595) } else { if int32(*(*int8)(unsafe.Pointer(zDel))) != '/' { var n int32 @@ -24902,6 +25571,186 @@ 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. +// - +// SPDX-License-Identifier: BSD-3-Clause +// +// Copyright (c) 1994 +// 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. +// +// $FreeBSD$ + +// - +// SPDX-License-Identifier: BSD-2-Clause-FreeBSD +// +// Copyright (c) 2002 Mike Barcroft <mike@FreeBSD.org> +// 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. +// +// THIS SOFTWARE IS PROVIDED BY THE AUTHOR 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 AUTHOR 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. +// +// $FreeBSD$ + +// Modes and flags for dlopen(). + +// Request arguments for dlinfo(). + +// Special handle arguments for dlsym()/dlinfo(). + +// Structure filled in by dladdr(). +type dl_info = struct { + Fdli_fname uintptr + Fdli_fbase uintptr + Fdli_sname uintptr + Fdli_saddr uintptr +} /* dlfcn.h:79:9 */ + +// Interfaces for opening a shared library, finding entry points +// within the shared library, and closing the shared library. +// - +// SPDX-License-Identifier: BSD-3-Clause +// +// Copyright (c) 1994 +// 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. +// +// $FreeBSD$ + +// - +// SPDX-License-Identifier: BSD-2-Clause-FreeBSD +// +// Copyright (c) 2002 Mike Barcroft <mike@FreeBSD.org> +// 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. +// +// THIS SOFTWARE IS PROVIDED BY THE AUTHOR 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 AUTHOR 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. +// +// $FreeBSD$ + +// Modes and flags for dlopen(). + +// Request arguments for dlinfo(). + +// Special handle arguments for dlsym()/dlinfo(). + +// Structure filled in by dladdr(). +type Dl_info = dl_info /* dlfcn.h:84:3 */ + +// - +// The actual type declared by this typedef is immaterial, provided that +// it is a function pointer. Its purpose is to provide a return type for +// dlfunc() which can be cast to a function pointer type without depending +// on behavior undefined by the C standard, which might trigger a compiler +// diagnostic. We intentionally declare a unique type signature to force +// a diagnostic should the application not cast the return value of dlfunc() +// appropriately. +type __dlfunc_arg = struct{ F__dlfunc_dummy int32 } /* dlfcn.h:95:1 */ + +type Dlfunc_t = uintptr /* dlfcn.h:99:14 */ + +// Structures, returned by the RTLD_DI_SERINFO dlinfo() request. +type dl_serpath = struct { + Fdls_name uintptr + Fdls_flags uint32 + F__ccgo_pad1 [4]byte +} /* dlfcn.h:104:9 */ + +// Structures, returned by the RTLD_DI_SERINFO dlinfo() request. +type Dl_serpath = dl_serpath /* dlfcn.h:107:3 */ + +type dl_serinfo = struct { + Fdls_size Size_t + Fdls_cnt uint32 + F__ccgo_pad1 [4]byte + Fdls_serpath [1]Dl_serpath +} /* dlfcn.h:109:9 */ + +type Dl_serinfo = dl_serinfo /* dlfcn.h:113:3 */ + func unixDlOpen(tls *libc.TLS, NotUsed uintptr, zFilename uintptr) uintptr { /* sqlite3.c:40636:13: */ _ = NotUsed return libc.Xdlopen(tls, zFilename, (RTLD_NOW | RTLD_GLOBAL)) @@ -24921,7 +25770,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+2793 /* "%s" */, libc.VaList(bp, zErr)) } unixLeaveMutex(tls) } @@ -24947,7 +25796,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: */ @@ -24978,7 +25829,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, uint16(0)) + fd = robust_open(tls, ts+2924 /* "/dev/urandom" */, O_RDONLY, uint16(0)) if fd < 0 { // var t Time_t at bp, 8 @@ -25275,10 +26126,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 + 2937 /* "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 + 2942 /* "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 + 2952 /* "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 + 2832 /* "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. @@ -25330,26 +26181,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 */ @@ -25359,9 +26210,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 @@ -25373,7 +26224,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 + 2965, /* "memdb" */ // pAppData (set when registered) FxOpen: 0, /* memdbDelete, */ // xDelete FxAccess: 0, // xAccess FxFullPathname: 0, // xFullPathname @@ -25605,7 +26456,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+2971 /* "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 { @@ -25662,7 +26513,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) @@ -25748,50 +26601,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+2793 /* "%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 @@ -25865,7 +26734,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+2986 /* "PRAGMA \"%w\".page..." */, libc.VaList(bp, zSchema)) if zSql != 0 { rc = Xsqlite3_prepare_v2(tls, db, zSql, -1, bp+8 /* &pStmt */, uintptr(0)) } else { @@ -25938,7 +26807,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+3009 /* "ATTACH x AS %Q" */, libc.VaList(bp, zSchema)) if !(zSql == uintptr(0)) { goto __3 } @@ -26538,7 +27407,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) } } @@ -26573,13 +27444,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) } } @@ -26619,15 +27492,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 @@ -26670,7 +27547,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 } @@ -26710,14 +27589,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 } @@ -26795,7 +27678,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, @@ -26858,7 +27743,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)) @@ -26890,21 +27777,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. @@ -27020,14 +27911,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)) } @@ -27053,7 +27948,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 @@ -28705,7 +29600,7 @@ type Wal1 = struct { FpDbFd uintptr FpWalFd uintptr FiCallback U32 - _ [4]byte + F__ccgo_pad1 [4]byte FmxWalSize I64 FnWiData int32 FszFirstBlock int32 @@ -28721,13 +29616,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 */ @@ -29163,7 +30058,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 ************************************************ @@ -30795,7 +31690,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 @@ -31416,7 +32311,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+3024, /* "recovered %d pag..." */ libc.VaList(bp, nPlayback, (*Pager)(unsafe.Pointer(pPager)).FzJournal)) __27: ; @@ -31528,7 +32423,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) } @@ -32260,7 +33155,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 @@ -33168,7 +34065,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+3051 /* "-journal" */, uint64(8)) pPtr += (uintptr(8 + 1)) goto __19 __18: @@ -33183,7 +34080,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+3060 /* "-wal" */, uint64(4)) pPtr += (uintptr(4 + 1)) goto __21 __20: @@ -33242,9 +34139,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+3065 /* "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+3072 /* "immutable" */, 0) != 0)) { goto __30 } vfsFlags = vfsFlags | (SQLITE_OPEN_READONLY) @@ -34063,7 +34960,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 @@ -36320,12 +37219,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 */ @@ -36362,12 +37261,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 @@ -36403,13 +37302,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) } @@ -36436,14 +37335,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 } @@ -36528,9 +37427,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 @@ -36665,10 +37564,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 @@ -36822,7 +37721,7 @@ func walIndexAppend(tls *libc.TLS, pWal uintptr, iFrame U32, iPage U32) int32 { } } *(*U32)(unsafe.Pointer((*WalHashLoc)(unsafe.Pointer(bp /* &sLoc */)).FaPgno + uintptr(idx)*4)) = iPage - libc.AtomicStoreNUint16(((*WalHashLoc)(unsafe.Pointer(bp /* &sLoc */)).FaHash + uintptr(iKey)*2), uint16(Ht_slot(idx)), 0) + *(*Ht_slot)(unsafe.Pointer(((*WalHashLoc)(unsafe.Pointer(bp /* &sLoc */)).FaHash + uintptr(iKey)*2))) = Ht_slot(idx) } @@ -37093,9 +37992,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)) { @@ -37108,10 +38007,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) @@ -37141,7 +38040,7 @@ __24: goto __30 } Xsqlite3_log(tls, (SQLITE_NOTICE | (int32(1) << 8)), - ts+3080, /* "recovered %d fra..." */ + ts+3082, /* "recovered %d fra..." */ libc.VaList(bp, (*Wal)(unsafe.Pointer(pWal)).Fhdr.FmxFrame, (*Wal)(unsafe.Pointer(pWal)).FzWalName)) __30: ; @@ -37394,9 +38293,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(). @@ -37502,7 +38401,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 @@ -37542,11 +38443,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) + *(*U32)(unsafe.Pointer((pInfo /* &.nBackfill */))) = U32(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 } } @@ -37614,7 +38515,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 } @@ -37632,7 +38533,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)(unsafe.Pointer(((pInfo + 4 /* &.aReadMark */) + uintptr(i)*4))) if !(mxSafeFrame > y) { goto __5 } @@ -37647,7 +38548,7 @@ __2: } return READMARK_NOT_USED }() - libc.AtomicStoreNUint32(((libc.AtomicLoadUintptr(&pInfo) + 4 /* &.aReadMark */) + uintptr(i)*4), uint32(iMark), 0) + *(*U32)(unsafe.Pointer(((pInfo + 4 /* &.aReadMark */) + uintptr(i)*4))) = iMark walUnlockExclusive(tls, pWal, (3 + (i)), 1) goto __7 __6: @@ -37674,10 +38575,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: ; @@ -37686,9 +38587,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)) @@ -37729,7 +38630,7 @@ __16: goto __17 } - if !(libc.AtomicLoadNInt32((db+400 /* &.u1 */ /* &.isInterrupted */), 0) != 0) { + if !(*(*int32)(unsafe.Pointer((db + 400 /* &.u1 */ /* &.isInterrupted */))) != 0) { goto __18 } if (*Sqlite3)(unsafe.Pointer(db)).FmallocFailed != 0 { @@ -37790,7 +38691,7 @@ __23: if !(rc == SQLITE_OK) { goto __25 } - libc.AtomicStoreNUint32((libc.AtomicLoadUintptr(&pInfo) /* &.nBackfill */), uint32(mxSafeFrame), 0) + *(*U32)(unsafe.Pointer((pInfo /* &.nBackfill */))) = mxSafeFrame __25: ; __22: @@ -37820,7 +38721,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 @@ -37886,7 +38787,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+3119 /* "cannot limit WAL..." */, libc.VaList(bp, (*Wal)(unsafe.Pointer(pWal)).FzWalName)) } } @@ -37993,9 +38894,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 @@ -38072,7 +38973,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 @@ -38498,7 +39399,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)(unsafe.Pointer((pInfo /* &.nBackfill */)))) == (*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. @@ -38539,7 +39440,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)(unsafe.Pointer(((pInfo + 4 /* &.aReadMark */) + uintptr(i)*4))) if (mxReadMark <= thisMark) && (thisMark <= mxFrame) { mxReadMark = thisMark @@ -38551,7 +39452,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) + *(*U32)(unsafe.Pointer(((pInfo + 4 /* &.aReadMark */) + uintptr(i)*4))) = mxFrame mxReadMark = mxFrame mxI = i walUnlockExclusive(tls, pWal, (3 + (i)), 1) @@ -38609,9 +39510,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)(unsafe.Pointer((pInfo /* &.nBackfill */)))) + U32(1)) walShmBarrier(tls, pWal) - if (U32(libc.AtomicLoadNUint32(((libc.AtomicLoadUintptr(&pInfo)+4 /* &.aReadMark */)+uintptr(mxI)*4), 0)) != mxReadMark) || + if ((*(*U32)(unsafe.Pointer(((pInfo + 4 /* &.aReadMark */) + uintptr(mxI)*4)))) != mxReadMark) || (libc.Xmemcmp(tls, walIndexHdr(tls, pWal), (pWal+72 /* &.hdr */), uint64(unsafe.Sizeof(WalIndexHdr{}))) != 0) { walUnlockShared(tls, pWal, (3 + (mxI))) return -1 @@ -38659,8 +39560,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)(unsafe.Pointer((pInfo /* &.nBackfill */)))); i-- { // var sLoc WalHashLoc at bp+8, 24 // Hash table location var pgno U32 // Page number in db file @@ -38687,7 +39588,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)) } } @@ -38767,7 +39668,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 @@ -38874,7 +39775,7 @@ func Xsqlite3WalFindFrame(tls *libc.TLS, pWal uintptr, pgno Pgno, piRead uintptr } nCollide = (HASHTABLE_NPAGE * 2) iKey = walHash(tls, pgno) - for (libc.AssignUint32(&iH, U32(libc.AtomicLoadNUint16(((*WalHashLoc)(unsafe.Pointer(bp /* &sLoc */)).FaHash+uintptr(iKey)*2), 0)))) != U32(0) { + for (libc.AssignUint32(&iH, U32(*(*Ht_slot)(unsafe.Pointer(((*WalHashLoc)(unsafe.Pointer(bp /* &sLoc */)).FaHash + uintptr(iKey)*2)))))) != U32(0) { var iFrame U32 = (iH + (*WalHashLoc)(unsafe.Pointer(bp /* &sLoc */)).FiZero) if ((iFrame <= iLast) && (iFrame >= (*Wal)(unsafe.Pointer(pWal)).FminFrame)) && (*(*U32)(unsafe.Pointer((*WalHashLoc)(unsafe.Pointer(bp /* &sLoc */)).FaPgno + uintptr(iH)*4)) == pgno) { @@ -39006,7 +39907,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) @@ -39072,7 +39975,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 */) @@ -39982,7 +40885,7 @@ type MemPage1 = struct { FchildPtrSize U8 Fmax1bytePayload U8 FnOverflow U8 - _ [1]byte + F__ccgo_pad1 [1]byte FmaxLocal U16 FminLocal U16 FcellOffset U16 @@ -39990,7 +40893,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 @@ -40247,11 +41150,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 */ @@ -40666,7 +41569,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 + 3145 /* "SQLite format 3" */)) /* sqlite3.c:65474:19 */ // Set this global variable to 1 to enable tracing using the TRACE // macro. @@ -41597,7 +42500,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(*(*U8)(unsafe.Pointer(((*MemPage)(unsafe.Pointer((pPage))).FaCellIdx + uintptr((2 * (iCell))))))) << 8) | int32(*(*U8)(unsafe.Pointer(((*MemPage)(unsafe.Pointer((pPage))).FaCellIdx + uintptr((2 * (iCell)))) + 1))))))), pInfo) } // The following routines are implementations of the MemPage.xCellSize @@ -41678,7 +42583,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)))) { @@ -41861,7 +42768,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 @@ -42346,12 +43255,14 @@ func btreeCellSizeCheck(tls *libc.TLS, pPage uintptr) int32 { /* sqlite3.c:67431 iCellLast-- } for i = 0; i < int32((*MemPage)(unsafe.Pointer(pPage)).FnCell); i++ { - pc = int32(libc.X__builtin_bswap16(tls, *(*U16)(unsafe.Pointer((data + uintptr((cellOffset + (i * 2)))))))) + pc = ((int32(*(*U8)(unsafe.Pointer((data + uintptr((cellOffset + (i * 2))))))) << 8) | int32(*(*U8)(unsafe.Pointer((data + uintptr((cellOffset + (i * 2)))) + 1)))) if (pc < iCellFirst) || (pc > iCellLast) { return Xsqlite3CorruptError(tls, 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) @@ -42706,7 +43617,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+3161 /* ":memory:" */) == 0)) || ((isTempDb != 0) && (Xsqlite3TempInMemory(tls, db) != 0))) || ((vfsFlags & SQLITE_OPEN_MEMORY) != 0))) @@ -43189,7 +44100,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) @@ -43580,7 +44491,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+3170 /* "@ " */, uint64(3)) != 0) { goto __14 } goto page1_init_failed @@ -44083,7 +44994,7 @@ func setChildPtrmaps(tls *libc.TLS, pPage uintptr) int32 { /* sqlite3.c:69039:12 nCell = int32((*MemPage)(unsafe.Pointer(pPage)).FnCell) for i = 0; i < nCell; i++ { - var pCell uintptr = ((*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 * (i))))))))))) + var pCell uintptr = ((*MemPage)(unsafe.Pointer((pPage))).FaData + uintptr((int32((*MemPage)(unsafe.Pointer((pPage))).FmaskPage) & ((int32(*(*U8)(unsafe.Pointer(((*MemPage)(unsafe.Pointer((pPage))).FaCellIdx + uintptr((2 * (i))))))) << 8) | int32(*(*U8)(unsafe.Pointer(((*MemPage)(unsafe.Pointer((pPage))).FaCellIdx + uintptr((2 * (i)))) + 1))))))) ptrmapPutOvflPtr(tls, pPage, pPage, pCell, bp /* &rc */) @@ -44139,11 +45050,13 @@ func modifyPagePointer(tls *libc.TLS, pPage uintptr, iFrom Pgno, iTo Pgno, eType nCell = int32((*MemPage)(unsafe.Pointer(pPage)).FnCell) for i = 0; i < nCell; i++ { - var pCell uintptr = ((*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 * (i))))))))))) + var pCell uintptr = ((*MemPage)(unsafe.Pointer((pPage))).FaData + uintptr((int32((*MemPage)(unsafe.Pointer((pPage))).FmaskPage) & ((int32(*(*U8)(unsafe.Pointer(((*MemPage)(unsafe.Pointer((pPage))).FaCellIdx + uintptr((2 * (i))))))) << 8) | int32(*(*U8)(unsafe.Pointer(((*MemPage)(unsafe.Pointer((pPage))).FaCellIdx + uintptr((2 * (i)))) + 1))))))) 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) @@ -45607,7 +46520,7 @@ func moveToLeftmost(tls *libc.TLS, pCur uintptr) int32 { /* sqlite3.c:70764:12: for (rc == SQLITE_OK) && !(int32((*MemPage)(unsafe.Pointer(libc.AssignUintptr(&pPage, (*BtCursor)(unsafe.Pointer(pCur)).FpPage))).Fleaf) != 0) { - pgno = Xsqlite3Get4byte(tls, ((*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 * (int32((*BtCursor)(unsafe.Pointer(pCur)).Fix))))))))))))) + pgno = Xsqlite3Get4byte(tls, ((*MemPage)(unsafe.Pointer((pPage))).FaData + uintptr((int32((*MemPage)(unsafe.Pointer((pPage))).FmaskPage) & ((int32(*(*U8)(unsafe.Pointer(((*MemPage)(unsafe.Pointer((pPage))).FaCellIdx + uintptr((2 * (int32((*BtCursor)(unsafe.Pointer(pCur)).Fix)))))))) << 8) | int32(*(*U8)(unsafe.Pointer(((*MemPage)(unsafe.Pointer((pPage))).FaCellIdx + uintptr((2 * (int32((*BtCursor)(unsafe.Pointer(pCur)).Fix))))) + 1)))))))) rc = moveToChild(tls, pCur, pgno) } return rc @@ -45855,7 +46768,7 @@ __15: goto __18 } __20: - pCell = ((*MemPage)(unsafe.Pointer((pPage))).FaDataOfst + uintptr((int32((*MemPage)(unsafe.Pointer((pPage))).FmaskPage) & int32(libc.X__builtin_bswap16(tls, *(*U16)(unsafe.Pointer(((*MemPage)(unsafe.Pointer((pPage))).FaCellIdx + uintptr((2 * (idx))))))))))) + pCell = ((*MemPage)(unsafe.Pointer((pPage))).FaDataOfst + uintptr((int32((*MemPage)(unsafe.Pointer((pPage))).FmaskPage) & ((int32(*(*U8)(unsafe.Pointer(((*MemPage)(unsafe.Pointer((pPage))).FaCellIdx + uintptr((2 * (idx))))))) << 8) | int32(*(*U8)(unsafe.Pointer(((*MemPage)(unsafe.Pointer((pPage))).FaCellIdx + uintptr((2 * (idx)))) + 1))))))) if !((*MemPage)(unsafe.Pointer(pPage)).FintKeyLeaf != 0) { goto __23 } @@ -45932,7 +46845,7 @@ __22: goto __19 __18: __35: // Size of the pCell cell in bytes - pCell = ((*MemPage)(unsafe.Pointer((pPage))).FaDataOfst + uintptr((int32((*MemPage)(unsafe.Pointer((pPage))).FmaskPage) & int32(libc.X__builtin_bswap16(tls, *(*U16)(unsafe.Pointer(((*MemPage)(unsafe.Pointer((pPage))).FaCellIdx + uintptr((2 * (idx))))))))))) + pCell = ((*MemPage)(unsafe.Pointer((pPage))).FaDataOfst + uintptr((int32((*MemPage)(unsafe.Pointer((pPage))).FmaskPage) & ((int32(*(*U8)(unsafe.Pointer(((*MemPage)(unsafe.Pointer((pPage))).FaCellIdx + uintptr((2 * (idx))))))) << 8) | int32(*(*U8)(unsafe.Pointer(((*MemPage)(unsafe.Pointer((pPage))).FaCellIdx + uintptr((2 * (idx)))) + 1))))))) // The maximum supported page-size is 65536 bytes. This means that // the maximum number of record bytes stored on an index B-Tree @@ -45949,7 +46862,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) && @@ -45959,12 +46874,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 @@ -46064,7 +46983,7 @@ moveto_next_layer: chldPg = Xsqlite3Get4byte(tls, ((*MemPage)(unsafe.Pointer(pPage)).FaData + uintptr((int32((*MemPage)(unsafe.Pointer(pPage)).FhdrOffset) + 8)))) goto __53 __52: - chldPg = Xsqlite3Get4byte(tls, ((*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 * (lwr)))))))))))) + chldPg = Xsqlite3Get4byte(tls, ((*MemPage)(unsafe.Pointer((pPage))).FaData + uintptr((int32((*MemPage)(unsafe.Pointer((pPage))).FmaskPage) & ((int32(*(*U8)(unsafe.Pointer(((*MemPage)(unsafe.Pointer((pPage))).FaCellIdx + uintptr((2 * (lwr))))))) << 8) | int32(*(*U8)(unsafe.Pointer(((*MemPage)(unsafe.Pointer((pPage))).FaCellIdx + uintptr((2 * (lwr)))) + 1)))))))) __53: ; (*BtCursor)(unsafe.Pointer(pCur)).Fix = U16(lwr) @@ -46289,7 +47208,7 @@ func btreePrevious(tls *libc.TLS, pCur uintptr) int32 { /* sqlite3.c:71324:28: * if !(int32((*MemPage)(unsafe.Pointer(pPage)).Fleaf) != 0) { var idx int32 = int32((*BtCursor)(unsafe.Pointer(pCur)).Fix) - rc = moveToChild(tls, pCur, Xsqlite3Get4byte(tls, ((*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 * (idx))))))))))))) + rc = moveToChild(tls, pCur, Xsqlite3Get4byte(tls, ((*MemPage)(unsafe.Pointer((pPage))).FaData+uintptr((int32((*MemPage)(unsafe.Pointer((pPage))).FmaskPage)&((int32(*(*U8)(unsafe.Pointer(((*MemPage)(unsafe.Pointer((pPage))).FaCellIdx + uintptr((2 * (idx)))))))<<8)|int32(*(*U8)(unsafe.Pointer(((*MemPage)(unsafe.Pointer((pPage))).FaCellIdx + uintptr((2 * (idx)))) + 1))))))))) if rc != 0 { return rc } @@ -47536,13 +48455,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 @@ -47629,7 +48548,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 { } @@ -47641,7 +48562,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)) } @@ -48068,7 +48991,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 @@ -48113,7 +49038,7 @@ func balance_quick(tls *libc.TLS, pParent uintptr, pPage uintptr, pSpace uintptr // The first of the while(...) loops below skips over the record-length // field. The second while(...) loop copies the key value from the // cell on pPage into the pSpace buffer. - *(*uintptr)(unsafe.Pointer(bp + 16 /* pCell */)) = ((*MemPage)(unsafe.Pointer((pPage))).FaData + uintptr((int32((*MemPage)(unsafe.Pointer((pPage))).FmaskPage) & int32(libc.X__builtin_bswap16(tls, *(*U16)(unsafe.Pointer(((*MemPage)(unsafe.Pointer((pPage))).FaCellIdx + uintptr((2 * (int32((*MemPage)(unsafe.Pointer(pPage)).FnCell) - 1))))))))))) + *(*uintptr)(unsafe.Pointer(bp + 16 /* pCell */)) = ((*MemPage)(unsafe.Pointer((pPage))).FaData + uintptr((int32((*MemPage)(unsafe.Pointer((pPage))).FmaskPage) & ((int32(*(*U8)(unsafe.Pointer(((*MemPage)(unsafe.Pointer((pPage))).FaCellIdx + uintptr((2 * (int32((*MemPage)(unsafe.Pointer(pPage)).FnCell) - 1))))))) << 8) | int32(*(*U8)(unsafe.Pointer(((*MemPage)(unsafe.Pointer((pPage))).FaCellIdx + uintptr((2 * (int32((*MemPage)(unsafe.Pointer(pPage)).FnCell) - 1)))) + 1))))))) pStop = (*(*uintptr)(unsafe.Pointer(bp + 16 /* pCell */)) + 9) for ((int32(*(*U8)(unsafe.Pointer(libc.PostIncUintptr(&*(*uintptr)(unsafe.Pointer(bp + 16 /* pCell */)), 1)))) & 0x80) != 0) && (*(*uintptr)(unsafe.Pointer(bp + 16 /* pCell */)) < pStop) { } @@ -48388,7 +49313,7 @@ __3: pRight = ((*MemPage)(unsafe.Pointer(pParent)).FaData + uintptr((int32((*MemPage)(unsafe.Pointer(pParent)).FhdrOffset) + 8))) goto __9 __8: - pRight = ((*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)))))))))))) + pRight = ((*MemPage)(unsafe.Pointer((pParent))).FaData + uintptr((int32((*MemPage)(unsafe.Pointer((pParent))).FmaskPage) & ((int32(*(*U8)(unsafe.Pointer(((*MemPage)(unsafe.Pointer((pParent))).FaCellIdx + uintptr((2 * ((i + nxDiv) - int32((*MemPage)(unsafe.Pointer(pParent)).FnOverflow)))))))) << 8) | int32(*(*U8)(unsafe.Pointer(((*MemPage)(unsafe.Pointer((pParent))).FaCellIdx + uintptr((2 * ((i + nxDiv) - int32((*MemPage)(unsafe.Pointer(pParent)).FnOverflow))))) + 1))))))) __9: ; *(*Pgno)(unsafe.Pointer(bp + 272 /* pgno */)) = Xsqlite3Get4byte(tls, pRight) @@ -48434,13 +49359,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)))))))))))) + *(*uintptr)(unsafe.Pointer(bp + 32 /* &apDiv[0] */ + uintptr(i)*8)) = ((*MemPage)(unsafe.Pointer((pParent))).FaData + uintptr((int32((*MemPage)(unsafe.Pointer((pParent))).FmaskPage) & ((int32(*(*U8)(unsafe.Pointer(((*MemPage)(unsafe.Pointer((pParent))).FaCellIdx + uintptr((2 * ((i + nxDiv) - int32((*MemPage)(unsafe.Pointer(pParent)).FnOverflow)))))))) << 8) | int32(*(*U8)(unsafe.Pointer(((*MemPage)(unsafe.Pointer((pParent))).FaCellIdx + uintptr((2 * ((i + nxDiv) - int32((*MemPage)(unsafe.Pointer(pParent)).FnOverflow))))) + 1))))))) *(*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. @@ -48569,7 +49498,7 @@ __28: if !(j < limit) { goto __30 } - *(*uintptr)(unsafe.Pointer((*CellArray)(unsafe.Pointer(bp+96 /* &b */)).FapCell + uintptr((*CellArray)(unsafe.Pointer(bp+96 /* &b */)).FnCell)*8)) = (aData + uintptr((int32(maskPage) & int32(libc.X__builtin_bswap16(tls, *(*U16)(unsafe.Pointer(piCell))))))) + *(*uintptr)(unsafe.Pointer((*CellArray)(unsafe.Pointer(bp+96 /* &b */)).FapCell + uintptr((*CellArray)(unsafe.Pointer(bp+96 /* &b */)).FnCell)*8)) = (aData + uintptr((int32(maskPage) & ((int32(*(*U8)(unsafe.Pointer((piCell)))) << 8) | int32(*(*U8)(unsafe.Pointer((piCell) + 1))))))) piCell += uintptr(2) (*CellArray)(unsafe.Pointer(bp+96 /* &b */)).FnCell++ goto __29 @@ -48602,7 +49531,7 @@ __34: goto __35 } - *(*uintptr)(unsafe.Pointer((*CellArray)(unsafe.Pointer(bp+96 /* &b */)).FapCell + uintptr((*CellArray)(unsafe.Pointer(bp+96 /* &b */)).FnCell)*8)) = (aData + uintptr((int32(maskPage) & int32(libc.X__builtin_bswap16(tls, *(*U16)(unsafe.Pointer(piCell))))))) + *(*uintptr)(unsafe.Pointer((*CellArray)(unsafe.Pointer(bp+96 /* &b */)).FapCell + uintptr((*CellArray)(unsafe.Pointer(bp+96 /* &b */)).FnCell)*8)) = (aData + uintptr((int32(maskPage) & ((int32(*(*U8)(unsafe.Pointer((piCell)))) << 8) | int32(*(*U8)(unsafe.Pointer((piCell) + 1))))))) piCell += uintptr(2) (*CellArray)(unsafe.Pointer(bp+96 /* &b */)).FnCell++ goto __34 @@ -48702,7 +49631,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++ @@ -49206,7 +50137,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) @@ -49227,7 +50160,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: @@ -50023,7 +50958,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 } @@ -50057,14 +50994,16 @@ __28: goto end_insert __31: ; - oldCell = ((*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 * (idx))))))))))) + oldCell = ((*MemPage)(unsafe.Pointer((pPage))).FaData + uintptr((int32((*MemPage)(unsafe.Pointer((pPage))).FmaskPage) & ((int32(*(*U8)(unsafe.Pointer(((*MemPage)(unsafe.Pointer((pPage))).FaCellIdx + uintptr((2 * (idx))))))) << 8) | int32(*(*U8)(unsafe.Pointer(((*MemPage)(unsafe.Pointer((pPage))).FaCellIdx + uintptr((2 * (idx)))) + 1))))))) if !(!(int32((*MemPage)(unsafe.Pointer(pPage)).Fleaf) != 0)) { goto __32 } 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 } @@ -50367,7 +51306,7 @@ func Xsqlite3BtreeDelete(tls *libc.TLS, pCur uintptr, flags U8) int32 { /* sqlit iCellDepth = int32((*BtCursor)(unsafe.Pointer(pCur)).FiPage) iCellIdx = int32((*BtCursor)(unsafe.Pointer(pCur)).Fix) pPage = (*BtCursor)(unsafe.Pointer(pCur)).FpPage - pCell = ((*MemPage)(unsafe.Pointer((pPage))).FaData + uintptr((int32((*MemPage)(unsafe.Pointer((pPage))).FmaskPage) & int32(libc.X__builtin_bswap16(tls, *(*U16)(unsafe.Pointer(((*MemPage)(unsafe.Pointer((pPage))).FaCellIdx + uintptr((2 * (iCellIdx))))))))))) + pCell = ((*MemPage)(unsafe.Pointer((pPage))).FaData + uintptr((int32((*MemPage)(unsafe.Pointer((pPage))).FmaskPage) & ((int32(*(*U8)(unsafe.Pointer(((*MemPage)(unsafe.Pointer((pPage))).FaCellIdx + uintptr((2 * (iCellIdx))))))) << 8) | int32(*(*U8)(unsafe.Pointer(((*MemPage)(unsafe.Pointer((pPage))).FaCellIdx + uintptr((2 * (iCellIdx)))) + 1))))))) if ((*MemPage)(unsafe.Pointer(pPage)).FnFree < 0) && (btreeComputeFreeSpace(tls, pPage) != 0) { return SQLITE_CORRUPT } @@ -50433,7 +51372,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 { @@ -50467,11 +51408,13 @@ func Xsqlite3BtreeDelete(tls *libc.TLS, pCur uintptr, flags U8) int32 { /* sqlit } else { n = (*MemPage)(unsafe.Pointer((*BtCursor)(unsafe.Pointer(pCur)).FpPage)).Fpgno } - pCell = ((*MemPage)(unsafe.Pointer((pLeaf))).FaData + uintptr((int32((*MemPage)(unsafe.Pointer((pLeaf))).FmaskPage) & int32(libc.X__builtin_bswap16(tls, *(*U16)(unsafe.Pointer(((*MemPage)(unsafe.Pointer((pLeaf))).FaCellIdx + uintptr((2 * (int32((*MemPage)(unsafe.Pointer(pLeaf)).FnCell) - 1))))))))))) + pCell = ((*MemPage)(unsafe.Pointer((pLeaf))).FaData + uintptr((int32((*MemPage)(unsafe.Pointer((pLeaf))).FmaskPage) & ((int32(*(*U8)(unsafe.Pointer(((*MemPage)(unsafe.Pointer((pLeaf))).FaCellIdx + uintptr((2 * (int32((*MemPage)(unsafe.Pointer(pLeaf)).FnCell) - 1))))))) << 8) | int32(*(*U8)(unsafe.Pointer(((*MemPage)(unsafe.Pointer((pLeaf))).FaCellIdx + uintptr((2 * (int32((*MemPage)(unsafe.Pointer(pLeaf)).FnCell) - 1)))) + 1))))))) if pCell < ((*MemPage)(unsafe.Pointer(pLeaf)).FaData + 4) { return Xsqlite3CorruptError(tls, 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 @@ -50730,7 +51673,7 @@ __4: if !(i < int32((*MemPage)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp /* pPage */)))).FnCell)) { goto __6 } - pCell = ((*MemPage)(unsafe.Pointer((*(*uintptr)(unsafe.Pointer(bp /* pPage */))))).FaData + uintptr((int32((*MemPage)(unsafe.Pointer((*(*uintptr)(unsafe.Pointer(bp /* pPage */))))).FmaskPage) & int32(libc.X__builtin_bswap16(tls, *(*U16)(unsafe.Pointer(((*MemPage)(unsafe.Pointer((*(*uintptr)(unsafe.Pointer(bp /* pPage */))))).FaCellIdx + uintptr((2 * (i))))))))))) + pCell = ((*MemPage)(unsafe.Pointer((*(*uintptr)(unsafe.Pointer(bp /* pPage */))))).FaData + uintptr((int32((*MemPage)(unsafe.Pointer((*(*uintptr)(unsafe.Pointer(bp /* pPage */))))).FmaskPage) & ((int32(*(*U8)(unsafe.Pointer(((*MemPage)(unsafe.Pointer((*(*uintptr)(unsafe.Pointer(bp /* pPage */))))).FaCellIdx + uintptr((2 * (i))))))) << 8) | int32(*(*U8)(unsafe.Pointer(((*MemPage)(unsafe.Pointer((*(*uintptr)(unsafe.Pointer(bp /* pPage */))))).FaCellIdx + uintptr((2 * (i)))) + 1))))))) if !(!(int32((*MemPage)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp /* pPage */)))).Fleaf) != 0)) { goto __7 } @@ -50743,7 +51686,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 } @@ -51027,7 +51972,7 @@ func Xsqlite3BtreeCount(tls *libc.TLS, db uintptr, pCur uintptr, pnEntry uintptr // Unless an error occurs, the following loop runs one iteration for each // page in the B-Tree structure (not including overflow pages). - for (rc == SQLITE_OK) && !(libc.AtomicLoadNInt32((db+400 /* &.u1 */ /* &.isInterrupted */), 0) != 0) { + for (rc == SQLITE_OK) && !(*(*int32)(unsafe.Pointer((db + 400 /* &.u1 */ /* &.isInterrupted */))) != 0) { var iIdx int32 // Index of child node in parent var pPage uintptr // Current page of the b-tree @@ -51068,7 +52013,7 @@ func Xsqlite3BtreeCount(tls *libc.TLS, db uintptr, pCur uintptr, pnEntry uintptr if iIdx == int32((*MemPage)(unsafe.Pointer(pPage)).FnCell) { rc = moveToChild(tls, pCur, Xsqlite3Get4byte(tls, ((*MemPage)(unsafe.Pointer(pPage)).FaData+uintptr((int32((*MemPage)(unsafe.Pointer(pPage)).FhdrOffset)+8))))) } else { - rc = moveToChild(tls, pCur, Xsqlite3Get4byte(tls, ((*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 * (iIdx))))))))))))) + rc = moveToChild(tls, pCur, Xsqlite3Get4byte(tls, ((*MemPage)(unsafe.Pointer((pPage))).FaData+uintptr((int32((*MemPage)(unsafe.Pointer((pPage))).FmaskPage)&((int32(*(*U8)(unsafe.Pointer(((*MemPage)(unsafe.Pointer((pPage))).FaCellIdx + uintptr((2 * (iIdx)))))))<<8)|int32(*(*U8)(unsafe.Pointer(((*MemPage)(unsafe.Pointer((pPage))).FaCellIdx + uintptr((2 * (iIdx)))) + 1))))))))) } } @@ -51094,9 +52039,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+3174 /* "\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)) @@ -51132,14 +52077,14 @@ 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+3176 /* "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+3199 /* "2nd reference to..." */, libc.VaList(bp+8, iPage)) return 1 } - if libc.AtomicLoadNInt32(((*IntegrityCk)(unsafe.Pointer(pCheck)).Fdb+400 /* &.u1 */ /* &.isInterrupted */), 0) != 0 { + if *(*int32)(unsafe.Pointer(((*IntegrityCk)(unsafe.Pointer(pCheck)).Fdb + 400 /* &.u1 */ /* &.isInterrupted */))) != 0 { return 1 } setPageReferenced(tls, pCheck, iPage) @@ -51163,13 +52108,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+3224 /* "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+3253, /* "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 */)))) } } @@ -51192,7 +52137,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+3307 /* "failed to get pa..." */, libc.VaList(bp, iPage)) break } pOvflData = Xsqlite3PagerGetData(tls, *(*uintptr)(unsafe.Pointer(bp + 40 /* pOvflPage */))) @@ -51203,7 +52148,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+3329 /* "freelist leaf co..." */, libc.VaList(bp+8, iPage)) N-- } else { for i = 0; i < int32(n); i++ { @@ -51229,12 +52174,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+3368, /* "%s is %d but sho..." */ libc.VaList(bp+16, func() uintptr { if isFreeList != 0 { - return ts + 3392 /* "size" */ + return ts + 3394 /* "size" */ } - return ts + 3397 /* "overflow list le..." */ + return ts + 3399 /* "overflow list le..." */ }(), (expected-N), expected)) } @@ -51378,13 +52323,13 @@ __1: return 0 __2: ; - (*IntegrityCk)(unsafe.Pointer(pCheck)).FzPfx = ts + 3418 /* "Page %u: " */ + (*IntegrityCk)(unsafe.Pointer(pCheck)).FzPfx = ts + 3420 /* "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+3430 /* "unable to get th..." */, libc.VaList(bp, rc)) goto end_of_check __3: ; @@ -51398,7 +52343,7 @@ __3: } // The only possible error from InitPage checkAppendMsg(tls, pCheck, - ts+3466 /* "btreeInitPage() ..." */, libc.VaList(bp+8, rc)) + ts+3468 /* "btreeInitPage() ..." */, libc.VaList(bp+8, rc)) goto end_of_check __4: ; @@ -51406,7 +52351,7 @@ __4: goto __5 } - checkAppendMsg(tls, pCheck, ts+3504 /* "free space corru..." */, libc.VaList(bp+16, rc)) + checkAppendMsg(tls, pCheck, ts+3506 /* "free space corru..." */, libc.VaList(bp+16, rc)) goto end_of_check __5: ; @@ -51414,7 +52359,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 + 3528 /* "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() @@ -51436,7 +52381,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 + 3554 /* "On page %u at ri..." */ checkPtrmap(tls, pCheck, uint32(pgno), uint8(PTRMAP_BTREE), iPage) __8: ; @@ -51462,23 +52407,25 @@ __9: // Check cell size (*IntegrityCk)(unsafe.Pointer(pCheck)).Fv2 = i - pc = U32(libc.X__builtin_bswap16(tls, *(*U16)(unsafe.Pointer(pCellIdx)))) + pc = (U32((int32(*(*U8)(unsafe.Pointer((pCellIdx)))) << 8) | int32(*(*U8)(unsafe.Pointer((pCellIdx) + 1))))) pCellIdx -= uintptr(2) if !((pc < contentOffset) || (pc > (usableSize - U32(4)))) { goto __12 } - checkAppendMsg(tls, pCheck, ts+3580, /* "Offset %d out of..." */ + checkAppendMsg(tls, pCheck, ts+3582, /* "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+3612 /* "Extends off end ..." */, 0) doCoverageCheck = 0 goto __10 __13: @@ -51496,7 +52443,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+3636 /* "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 @@ -51537,7 +52484,7 @@ __20: if !(d2 != depth) { goto __21 } - checkAppendMsg(tls, pCheck, ts+3658 /* "Child page depth..." */, 0) + checkAppendMsg(tls, pCheck, ts+3660 /* "Child page depth..." */, 0) depth = d2 __21: ; @@ -51574,8 +52521,10 @@ __24: if !(i >= 0) { 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)))) + pc = (U32((int32(*(*U8)(unsafe.Pointer((data + uintptr((cellStart + (i * 2))))))) << 8) | int32(*(*U8)(unsafe.Pointer((data + uintptr((cellStart + (i * 2)))) + 1))))) + 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: @@ -51635,7 +52584,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+3685 /* "Multiple uses fo..." */, libc.VaList(bp+56, (*(*U32)(unsafe.Pointer(bp + 136 /* x */))>>16), iPage)) goto __30 goto __32 __31: @@ -51655,7 +52604,7 @@ __30: goto __33 } checkAppendMsg(tls, pCheck, - ts+3720, /* "Fragmentation of..." */ + ts+3722, /* "Fragmentation of..." */ libc.VaList(bp+72, nFrag, int32(*(*U8)(unsafe.Pointer(data + uintptr((hdr + 7))))), iPage)) __33: ; @@ -51784,7 +52733,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 + 3774 /* "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) @@ -51822,7 +52771,7 @@ __13: goto __15 } checkAppendMsg(tls, bp+32, /* &sCheck */ - ts+3788, /* "max rootpage (%d..." */ + ts+3790, /* "max rootpage (%d..." */ libc.VaList(bp, mx, mxInHdr)) __15: ; @@ -51832,7 +52781,7 @@ __9: goto __16 } checkAppendMsg(tls, bp+32, /* &sCheck */ - ts+3833 /* "incremental_vacu..." */, 0) + ts+3835 /* "incremental_vacu..." */, 0) __16: ; __10: @@ -51882,13 +52831,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+3890 /* "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+3912 /* "Pointer map page..." */, libc.VaList(bp+24, i)) __27: ; goto __24 @@ -52207,7 +53156,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+2793 /* "%s" */, libc.VaList(bp, (*Parse)(unsafe.Pointer(bp+16 /* &sParse */)).FzErrMsg)) rc = SQLITE_ERROR } Xsqlite3DbFree(tls, pErrorDb, (*Parse)(unsafe.Pointer(bp+16 /* &sParse */)).FzErrMsg) @@ -52218,7 +53167,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+3946 /* "unknown database..." */, libc.VaList(bp+8, zDb)) return uintptr(0) } @@ -52239,7 +53188,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+3966 /* "destination data..." */, 0) return SQLITE_ERROR } return SQLITE_OK @@ -52266,7 +53215,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+3997 /* "source and desti..." */, 0) p = uintptr(0) } else { // Allocate space for a new sqlite3_backup object... @@ -52866,21 +53815,16 @@ copy_finished: // Render a Mem object which is one of MEM_Int, MEM_Real, or MEM_IntReal // into a buffer. func vdbeMemRenderNum(tls *libc.TLS, sz int32, zBuf uintptr, p uintptr) { /* sqlite3.c:77103:13: */ - bp := tls.Alloc(48) - defer tls.Free(48) + bp := tls.Alloc(40) + defer tls.Free(40) - // var acc StrAccum at bp+16, 32 + // var acc StrAccum at bp+8, 32 if (int32((*Mem)(unsafe.Pointer(p)).Fflags) & MEM_Int) != 0 { - // Work-around for GCC bug - // https://gcc.gnu.org/bugzilla/show_bug.cgi?id=96270 - // var x I64 at bp+8, 8 - - libc.Xmemcpy(tls, bp+8 /* &x */, (p /* &.u */), (uint64((int32((*Mem)(unsafe.Pointer(p)).Fflags) & MEM_Int) * 2))) - Xsqlite3Int64ToText(tls, *(*I64)(unsafe.Pointer(bp + 8 /* x */)), zBuf) + Xsqlite3Int64ToText(tls, *(*I64)(unsafe.Pointer(p /* &.u */)), zBuf) } else { - Xsqlite3StrAccumInit(tls, bp+16 /* &acc */, uintptr(0), zBuf, sz, 0) - Xsqlite3_str_appendf(tls, bp+16 /* &acc */, ts+4035, /* "%!.15g" */ + Xsqlite3StrAccumInit(tls, bp+8 /* &acc */, uintptr(0), zBuf, sz, 0) + Xsqlite3_str_appendf(tls, bp+8 /* &acc */, ts+4037, /* "%!.15g" */ libc.VaList(bp, func() float64 { if (int32((*Mem)(unsafe.Pointer(p)).Fflags) & MEM_IntReal) != 0 { return float64(*(*I64)(unsafe.Pointer(p /* &.u */))) @@ -52888,7 +53832,7 @@ func vdbeMemRenderNum(tls *libc.TLS, sz int32, zBuf uintptr, p uintptr) { /* sql return *(*float64)(unsafe.Pointer(p /* &.u */)) }())) - *(*int8)(unsafe.Pointer(zBuf + uintptr((*StrAccum)(unsafe.Pointer(bp+16 /* &acc */)).FnChar))) = int8(0) // Fast version of sqlite3StrAccumFinish(&acc) + *(*int8)(unsafe.Pointer(zBuf + uintptr((*StrAccum)(unsafe.Pointer(bp+8 /* &acc */)).FnChar))) = int8(0) // Fast version of sqlite3StrAccumFinish(&acc) } } @@ -52960,7 +53904,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 @@ -53122,7 +54066,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) @@ -53148,7 +54092,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 } @@ -53167,7 +54111,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) } @@ -53374,7 +54318,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 { @@ -53521,7 +54465,7 @@ func Xsqlite3VdbeMemSetPointer(tls *libc.TLS, pMem uintptr, pPtr uintptr, zPType if zPType != 0 { return zPType } - return ts + 756 /* "" */ + return ts + 758 /* "" */ }() (*Mem)(unsafe.Pointer(pMem)).Fz = pPtr (*Mem)(unsafe.Pointer(pMem)).Fflags = (U16(((MEM_Null | MEM_Dyn) | MEM_Subtype) | MEM_Term)) @@ -53875,11 +54819,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 @@ -54029,12 +54973,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+2793 /* "%s" */, libc.VaList(bp, Xsqlite3_value_text(tls, pVal))) goto __11 __10: Xsqlite3ValueApplyAffinity(tls, pVal, aff, uint8(SQLITE_UTF8)) @@ -54106,7 +55052,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 + 758 /* "" */ rc = SQLITE_OK __1: @@ -54155,7 +55101,7 @@ __4: pExpr = (*Expr)(unsafe.Pointer(pExpr)).FpLeft op = int32((*Expr)(unsafe.Pointer(pExpr)).Fop) negInt = -1 - zNeg = ts + 4042 /* "-" */ + zNeg = ts + 4044 /* "-" */ __6: ; @@ -54175,7 +55121,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+4046 /* "%s%s" */, libc.VaList(bp, zNeg, *(*uintptr)(unsafe.Pointer(pExpr + 8 /* &.u */)))) if !(zVal == uintptr(0)) { goto __12 } @@ -54633,7 +55579,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 } @@ -54804,7 +55750,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) { @@ -54813,7 +55759,7 @@ __1: if !(int32(c) == 's') { goto __4 } - z = libc.VaUintptr(&ap) + z = libc.VaUintptr(&(ap)) Xsqlite3VdbeAddOp4(tls, p, func() int32 { if z == uintptr(0) { return OP_Null @@ -54825,7 +55771,7 @@ __4: if !(int32(c) == 'i') { goto __6 } - Xsqlite3VdbeAddOp2(tls, p, OP_Integer, int32(libc.VaInt32(&ap)), (iDest + i)) + Xsqlite3VdbeAddOp2(tls, p, OP_Integer, int32(libc.VaInt32(&(ap))), (iDest + i)) goto __7 __6: goto skip_op_resultrow @@ -54927,7 +55873,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 @@ -55094,6 +56040,7 @@ func resolveP2Values(tls *libc.TLS, p uintptr, pMaxFuncArgs uintptr) { /* sqlite if (*Op)(unsafe.Pointer(pOp)).Fp2 != 0 { libc.SetBitFieldPtr16Uint32(p+200 /* &.readOnly */, Bft(0), 7, 0x80) } + /* no break */ } fallthrough @@ -55165,6 +56112,8 @@ func resolveP2Values(tls *libc.TLS, p uintptr, pMaxFuncArgs uintptr) { /* sqlite if n > nMaxArgs { nMaxArgs = n } + // Fall through into the default case + /* no break */ } fallthrough @@ -55620,34 +56569,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+4051 /* "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 + 758 /* "" */ } - if libc.Xstrcmp(tls, zColl, ts+319 /* "BINARY" */) == 0 { - zColl = ts + 4054 /* "B" */ + if libc.Xstrcmp(tls, zColl, ts+321 /* "BINARY" */) == 0 { + zColl = ts + 4056 /* "B" */ } - Xsqlite3_str_appendf(tls, bp+144 /* &x */, ts+4056, /* ",%s%s%s" */ + Xsqlite3_str_appendf(tls, bp+144 /* &x */, ts+4058, /* ",%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 + 4044 /* "-" */ } - return ts + 756 /* "" */ + return ts + 758 /* "" */ }(), func() uintptr { if (int32(*(*U8)(unsafe.Pointer((*KeyInfo)(unsafe.Pointer(pKeyInfo)).FaSortFlags + uintptr(j)))) & KEYINFO_ORDER_BIGNULL) != 0 { - return ts + 4064 /* "N." */ + return ts + 4066 /* "N." */ } - return ts + 756 /* "" */ + return ts + 758 /* "" */ }(), zColl)) } - Xsqlite3_str_append(tls, bp+144 /* &x */, ts+4067 /* ")" */, 1) + Xsqlite3_str_append(tls, bp+144 /* &x */, ts+4069 /* ")" */, 1) break } @@ -55655,7 +56604,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+4071 /* "%.18s-%s" */, libc.VaList(bp+32, (*CollSeq)(unsafe.Pointer(pColl)).FzName, encnames[(*CollSeq)(unsafe.Pointer(pColl)).Fenc])) break @@ -55663,32 +56612,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+4080 /* "%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+4080 /* "%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+4087 /* "%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+4092 /* "%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+541 /* "%.16g" */, libc.VaList(bp+96, *(*float64)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(pOp + 16 /* &.p4 */)))))) break } @@ -55698,14 +56647,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+4087 /* "%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+541 /* "%.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 + 759 /* "NULL" */ } else { - zP4 = ts + 4093 /* "(blob)" */ + zP4 = ts + 4095 /* "(blob)" */ } break @@ -55713,7 +56662,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+4102 /* "vtab:%p" */, libc.VaList(bp+120, pVtab)) break } @@ -55724,20 +56673,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+4110 /* "%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+4115 /* "]" */, 1) break } case -4: { - zP4 = ts + 4115 /* "program" */ + zP4 = ts + 4117 /* "program" */ break } @@ -55769,7 +56718,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 + 4125 /* "?" */, ts + 4127 /* "8" */, ts + 4129 /* "16LE" */, ts + 4134 /* "16BE" */} /* sqlite3.c:80570:25 */ // Declare to the Vdbe that the BTree object at db->aDb[i] is used. // @@ -56083,7 +57032,7 @@ func Xsqlite3VdbeList(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:81009:20: * if rc == SQLITE_OK { pOp = (*(*uintptr)(unsafe.Pointer(bp + 8 /* aOp */)) + uintptr(*(*int32)(unsafe.Pointer(bp /* i */)))*24) - if libc.AtomicLoadNInt32((db+400 /* &.u1 */ /* &.isInterrupted */), 0) != 0 { + if *(*int32)(unsafe.Pointer((db + 400 /* &.u1 */ /* &.isInterrupted */))) != 0 { (*Vdbe)(unsafe.Pointer(p)).Frc = SQLITE_INTERRUPT rc = SQLITE_ERROR Xsqlite3VdbeError(tls, p, Xsqlite3ErrStr(tls, (*Vdbe)(unsafe.Pointer(p)).Frc), 0) @@ -56300,8 +57249,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 + 4139 /* "addr" */, ts + 4144 /* "opcode" */, ts + 4151 /* "p1" */, ts + 4154 /* "p2" */, ts + 4157 /* "p3" */, ts + 4160 /* "p4" */, ts + 4163 /* "p5" */, ts + 4166, /* "comment" */ + ts + 4174 /* "id" */, ts + 4177 /* "parent" */, ts + 4184 /* "notused" */, ts + 4192, /* "detail" */ } /* sqlite3.c:81298:23 */ // Close a VDBE cursor and release all the resources that cursor @@ -56331,7 +57280,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 } @@ -56500,7 +57451,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)) } @@ -56549,7 +57502,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+4199 /* "%.4c%s%.16c" */, libc.VaList(bp, 0, zMainFile, 0)) if zSuper == uintptr(0) { return SQLITE_NOMEM } @@ -56559,16 +57512,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+4211 /* "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+4225 /* "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+4240, /* "-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. @@ -56762,7 +57715,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+4253 /* "FOREIGN KEY cons..." */, 0) return SQLITE_ERROR } return SQLITE_OK @@ -57044,7 +57997,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 + 2793 /* "%s" */ } return uintptr(0) }(), libc.VaList(bp, (*Vdbe)(unsafe.Pointer(p)).FzErrMsg)) @@ -57097,7 +58050,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) @@ -57639,7 +58592,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 @@ -57660,7 +58615,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 */) @@ -58595,13 +59552,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 + 4283 /* "a CHECK constrai..." */ } else if (int32((*VdbeOp)(unsafe.Pointer(pOp)).Fp5) & NC_GenCol) != 0 { - zContext = ts + 4300 /* "a generated colu..." */ + zContext = ts + 4302 /* "a generated colu..." */ } else { - zContext = ts + 4319 /* "an index" */ + zContext = ts + 4321 /* "an index" */ } - zMsg = Xsqlite3_mprintf(tls, ts+4328, /* "non-deterministi..." */ + zMsg = Xsqlite3_mprintf(tls, ts+4330, /* "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) @@ -58682,7 +59639,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) @@ -58732,7 +59691,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+4366 /* "API called with ..." */, 0) return 1 } else { return 0 @@ -58742,7 +59701,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+4411 /* "API called with ..." */, 0) return 1 } else { return vdbeSafety(tls, p) @@ -58763,10 +59722,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) } @@ -59076,7 +60039,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 @@ -59212,7 +60175,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+4451 /* "string or blob t..." */, int64(-1), uint8(SQLITE_UTF8), uintptr(0)) } @@ -59248,7 +60211,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) } } } @@ -59324,7 +60289,7 @@ __3: if !((*Sqlite3)(unsafe.Pointer(db)).FnVdbeActive == 0) { goto __6 } - libc.AtomicStoreNInt32((db + 400 /* &.u1 */ /* &.isInterrupted */), int32(0), 0) + *(*int32)(unsafe.Pointer((db + 400 /* &.u1 */ /* &.isInterrupted */))) = 0 __6: ; @@ -59655,7 +60620,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: @@ -59669,7 +60634,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: } @@ -59963,7 +60928,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+4474 /* "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)) { @@ -60018,7 +60983,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 } @@ -60077,7 +61042,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 } @@ -60740,7 +61705,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+4514 /* "-- " */, 3) Xsqlite3_str_append(tls, bp+48 /* &out */, zStart, (int32((int64(zRawSql) - int64(zStart)) / 1))) } @@ -60778,11 +61743,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+759 /* "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+4087 /* "%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+4037 /* "%!.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 @@ -60797,21 +61762,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+4518 /* "'%.*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+4525 /* "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+4538 /* "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+4541 /* "%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+4546 /* "'" */, 1) } } } @@ -61617,7 +62582,7 @@ __3: (*Vdbe)(unsafe.Pointer(p)).FpResultSet = uintptr(0) (*Sqlite3)(unsafe.Pointer(db)).FbusyHandler.FnBusy = 0 - if !(libc.AtomicLoadNInt32((db+400 /* &.u1 */ /* &.isInterrupted */), 0) != 0) { + if !(*(*int32)(unsafe.Pointer((db + 400 /* &.u1 */ /* &.isInterrupted */))) != 0) { goto __4 } goto abort_due_to_interrupt @@ -63061,6 +64026,8 @@ __5: // See also: Found, NotFound, NoConflict, SeekRowid case OP_SeekRowid: goto __100 + // Fall through into OP_NotExists + /* no break */ case OP_NotExists: goto __101 @@ -64303,7 +65270,7 @@ jump_to_p2_and_check_for_interrupt: // checks on every opcode. This helps sqlite3_step() to run about 1.5% // faster according to "valgrind --tool=cachegrind" check_for_interrupt: - if !(libc.AtomicLoadNInt32((db+400 /* &.u1 */ /* &.isInterrupted */), 0) != 0) { + if !(*(*int32)(unsafe.Pointer((db + 400 /* &.u1 */ /* &.isInterrupted */))) != 0) { goto __184 } goto abort_due_to_interrupt @@ -64320,7 +65287,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)) @@ -64440,6 +65409,8 @@ __15: // in3 goto __8 __189: ; + // Fall through into OP_Halt + /* no break */ // Opcode: Halt P1 P2 * P4 P5 // @@ -64510,19 +65481,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+4548 /* "%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+4569 /* "%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+2793 /* "%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+4576 /* "abort at %d in [..." */, libc.VaList(bp+32, pcx, (*Vdbe)(unsafe.Pointer(p)).FzSql, (*Vdbe)(unsafe.Pointer(p)).FzErrMsg)) __192: ; rc = Xsqlite3VdbeHalt(tls, p) @@ -64627,6 +65598,9 @@ __202: ; (*Op)(unsafe.Pointer(pOp)).Fopcode = U8(OP_String) + // Fall through to the next case, OP_String + /* no break */ + // Opcode: String P1 P2 P3 P4 P5 // Synopsis: r[P2]='P4' (len=P1) // @@ -64871,6 +65845,8 @@ __30: goto abort_due_to_error __215: ; + // Fall through to the next case, OP_ResultRow + /* no break */ // Opcode: ResultRow P1 P2 * * * // Synopsis: output=r[P1@P2] @@ -64922,7 +65898,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: ; @@ -67072,7 +68050,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+4600 /* "cannot open save..." */, 0) rc = SQLITE_BUSY goto __448 __447: @@ -67145,7 +68123,7 @@ __455: if !(!(pSavepoint != 0)) { goto __456 } - Xsqlite3VdbeError(tls, p, ts+4649 /* "no such savepoin..." */, libc.VaList(bp+56, zName)) + Xsqlite3VdbeError(tls, p, ts+4651 /* "no such savepoin..." */, libc.VaList(bp+56, zName)) rc = SQLITE_ERROR goto __457 __456: @@ -67155,7 +68133,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+4673 /* "cannot release s..." */, 0) rc = SQLITE_BUSY goto __459 __458: @@ -67360,7 +68338,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+4727 /* "cannot commit tr..." */, 0) rc = SQLITE_BUSY goto abort_due_to_error goto __491 @@ -67403,13 +68381,13 @@ __486: Xsqlite3VdbeError(tls, p, func() uintptr { if !(desiredAutoCommit != 0) { - return ts + 4780 /* "cannot start a t..." */ + return ts + 4782 /* "cannot start a t..." */ } return func() uintptr { if iRollback != 0 { - return ts + 4828 /* "cannot rollback ..." */ + return ts + 4830 /* "cannot rollback ..." */ } - return ts + 4871 /* "cannot commit - ..." */ + return ts + 4873 /* "cannot commit - ..." */ }() }(), 0) @@ -67527,7 +68505,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+4914 /* "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. @@ -67909,7 +68887,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 + 758 /* "" */ __524: ; pCx1 = *(*uintptr)(unsafe.Pointer((*Vdbe)(unsafe.Pointer(p)).FapCsr + uintptr((*Op)(unsafe.Pointer(pOp)).Fp1)*8)) @@ -68677,6 +69655,8 @@ __96: goto __8 __586: ; + // Fall through into OP_NotFound + /* no break */ __97: // jump, in3 __98: // jump, in3 @@ -68866,6 +69846,8 @@ __604: goto notExistsWithKey __603: ; + // Fall through into OP_NotExists + /* no break */ __101: // jump, in3 pIn3 = (aMem + uintptr((*Op)(unsafe.Pointer(pOp)).Fp3)*56) @@ -69223,7 +70205,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 @@ -69371,7 +70355,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: @@ -69563,7 +70549,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 @@ -69744,6 +70732,8 @@ __675: __116: // jump __117: // jump *(*U32)(unsafe.Pointer((p + 212 /* &.aCounter */) + 2*4))++ + // Fall through into OP_Rewind + /* no break */ // Opcode: Rewind P1 P2 * * * // @@ -69864,7 +70854,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) @@ -70039,7 +71031,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+4942 /* "index corruption" */) goto abort_due_to_error __691: ; @@ -70472,14 +71464,14 @@ __137: goto __720 __719: - zSchema = ts + 4957 /* "sqlite_master" */ + zSchema = ts + 4959 /* "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+4973, /* "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 @@ -70812,7 +71804,7 @@ __741: goto __746 } rc = SQLITE_ERROR - Xsqlite3VdbeError(tls, p, ts+5014 /* "too many levels ..." */, 0) + Xsqlite3VdbeError(tls, p, ts+5016 /* "too many levels ..." */, 0) goto abort_due_to_error __746: ; @@ -71209,6 +72201,8 @@ __775: // OP_AggInverse must have P1==1 and OP_AggStep must have P1==0 (*Op)(unsafe.Pointer(pOp)).Fopcode = U8(OP_AggStep1) + // Fall through into OP_AggStep + /* no break */ __157: ; @@ -71244,10 +72238,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 @@ -71257,7 +72255,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+2793 /* "%s" */, libc.VaList(bp+88, Xsqlite3_value_text(tls, (*Sqlite3_context)(unsafe.Pointer(pCtx1)).FpOut))) rc = (*Sqlite3_context)(unsafe.Pointer(pCtx1)).FisError __783: ; @@ -71335,7 +72333,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+2793 /* "%s" */, libc.VaList(bp+96, Xsqlite3_value_text(tls, pMem4))) goto abort_due_to_error __789: ; @@ -71450,12 +72448,12 @@ __798: } rc = SQLITE_ERROR Xsqlite3VdbeError(tls, p, - ts+5051, /* "cannot change %s..." */ + ts+5053, /* "cannot change %s..." */ libc.VaList(bp+104, func() uintptr { if eNew == PAGER_JOURNALMODE_WAL { - return ts + 5103 /* "into" */ + return ts + 5105 /* "into" */ } - return ts + 5108 /* "out of" */ + return ts + 5110 /* "out of" */ }())) goto abort_due_to_error goto __801 @@ -71658,7 +72656,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+5117 /* "database table i..." */, libc.VaList(bp+112, z1)) __816: ; goto abort_due_to_error @@ -71758,7 +72756,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 @@ -71780,7 +72780,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: ; @@ -71835,7 +72837,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 @@ -71843,7 +72847,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) { @@ -71897,12 +72903,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+2793 /* "%s" */, libc.VaList(bp+120, Xsqlite3_value_text(tls, pDest2))) rc = (*Sqlite3_context)(unsafe.Pointer(bp + 872 /* &sContext */)).FisError __834: ; @@ -71946,7 +72954,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 @@ -71954,7 +72964,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 @@ -71984,7 +72996,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 } @@ -72070,7 +73084,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)) { @@ -72224,7 +73240,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) { @@ -72233,7 +73251,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+2793 /* "%s" */, libc.VaList(bp+128, Xsqlite3_value_text(tls, pOut))) rc = (*Sqlite3_context)(unsafe.Pointer(pCtx2)).FisError __862: ; @@ -72316,19 +73334,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+5146 /* "-- %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: @@ -72426,13 +73450,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+2793 /* "%s" */, libc.VaList(bp+144, Xsqlite3ErrStr(tls, rc))) __880: ; (*Vdbe)(unsafe.Pointer(p)).Frc = rc Xsqlite3SystemError(tls, db, rc) - Xsqlite3_log(tls, rc, ts+5150, /* "statement aborts..." */ + Xsqlite3_log(tls, rc, ts+5152, /* "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))) { @@ -72458,7 +73482,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)) @@ -72477,14 +73503,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+4451 /* "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+5184 /* "out of memory" */, 0) rc = SQLITE_NOMEM goto abort_due_to_error @@ -72497,8 +73523,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 + 5198 /* "NOT NULL" */, ts + 5207 /* "UNIQUE" */, ts + 5214, /* "CHECK" */ + ts + 5220 /* "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 */ @@ -72524,15 +73550,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 *********************************************** @@ -72605,16 +73631,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+5232, /* "cannot open valu..." */ libc.VaList(bp, func() uintptr { if type1 == U32(0) { - return ts + 5259 /* "null" */ + return ts + 5261 /* "null" */ } return func() uintptr { if type1 == U32(7) { - return ts + 5264 /* "real" */ + return ts + 5266 /* "real" */ } - return ts + 5269 /* "integer" */ + return ts + 5271 /* "integer" */ }() }())) rc = SQLITE_ERROR @@ -72634,10 +73660,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+5279 /* "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+2793 /* "%s" */, libc.VaList(bp+16, Xsqlite3_errmsg(tls, (*Incrblob)(unsafe.Pointer(p)).Fdb))) } } @@ -72700,21 +73726,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+5299 /* "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+5329 /* "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+5365 /* "cannot open view..." */, libc.VaList(bp+16, zTable)) __7: ; if !(!(pTab != 0)) { @@ -72759,7 +73785,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+5386 /* "no such column: ..." */, libc.VaList(bp+24, zColumn)) rc = SQLITE_ERROR Xsqlite3BtreeLeaveAll(tls, db) goto blob_open_out @@ -72788,7 +73814,7 @@ __20: if !((*sColMap)(unsafe.Pointer((pFKey+64 /* &.aCol */)+uintptr(j)*16)).FiFrom == iCol) { goto __23 } - zFault = ts + 5405 /* "foreign key" */ + zFault = ts + 5407 /* "foreign key" */ __23: ; goto __21 @@ -72821,7 +73847,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 + 5419 /* "indexed" */ __30: ; goto __28 @@ -72842,7 +73868,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+5427 /* "cannot open %s c..." */, libc.VaList(bp+32, zFault)) rc = SQLITE_ERROR Xsqlite3BtreeLeaveAll(tls, db) goto blob_open_out @@ -72951,7 +73977,7 @@ __38: ; Xsqlite3ErrorWithMsg(tls, db, rc, func() uintptr { if *(*uintptr)(unsafe.Pointer(bp + 456 /* zErr */)) != 0 { - return ts + 2791 /* "%s" */ + return ts + 2793 /* "%s" */ } return uintptr(0) }(), libc.VaList(bp+40, *(*uintptr)(unsafe.Pointer(bp + 456 /* zErr */)))) @@ -73041,7 +74067,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) @@ -73116,7 +74144,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 + 2793 /* "%s" */ } return uintptr(0) }(), libc.VaList(bp, *(*uintptr)(unsafe.Pointer(bp + 8 /* zErr */)))) @@ -73281,11 +74309,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 ******************************************* @@ -73439,56 +74467,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 @@ -73501,23 +74529,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 @@ -74349,7 +75377,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 { @@ -74620,7 +75650,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) } @@ -75029,7 +76061,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 @@ -75710,16 +76744,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 ******************************************* @@ -76133,7 +77167,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) } @@ -76317,7 +77353,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) } @@ -76326,7 +77364,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 } @@ -76674,7 +77714,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+5461 /* "main" */, zDb) == 0)) { goto __8 } // This branch is taken when the main database has been renamed @@ -76877,14 +77917,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+5466 /* "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+5470 /* "old" */, zTab) == 0)) { goto __43 } (*Expr)(unsafe.Pointer(pExpr)).FiTable = 0 @@ -76901,7 +77941,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+5474 /* "excluded" */, zTab) == 0)) { goto __45 } pTab = (*SrcItem)(unsafe.Pointer(((*Upsert)(unsafe.Pointer(pUpsert)).FpUpsertSrc + 8 /* &.a */))).FpTab @@ -77078,7 +78118,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+5483 /* "misuse of aliase..." */, libc.VaList(bp, zAs)) return WRC_Abort __70: ; @@ -77086,14 +78126,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+5514 /* "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+5551 /* "row value misuse..." */, 0) return WRC_Abort __72: ; @@ -77169,7 +78209,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+5569 /* "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 @@ -77190,23 +78230,23 @@ __75: goto __78 } if cnt == 0 { - zErr = ts + 5602 /* "no such column" */ + zErr = ts + 5604 /* "no such column" */ } else { - zErr = ts + 5617 /* "ambiguous column..." */ + zErr = ts + 5619 /* "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+5641 /* "%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+5654 /* "%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+5664 /* "%s: %s" */, libc.VaList(bp+80, zErr, zCol)) __82: ; __80: @@ -77340,15 +78380,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 + 5671 /* "partial index WH..." */ if ((*NameContext)(unsafe.Pointer(pNC)).FncFlags & NC_IdxExpr) != 0 { - zIn = ts + 5697 /* "index expression..." */ + zIn = ts + 5699 /* "index expression..." */ } else if ((*NameContext)(unsafe.Pointer(pNC)).FncFlags & NC_IsCheck) != 0 { - zIn = ts + 5715 /* "CHECK constraint..." */ + zIn = ts + 5717 /* "CHECK constraint..." */ } else if ((*NameContext)(unsafe.Pointer(pNC)).FncFlags & NC_GenCol) != 0 { - zIn = ts + 5733 /* "generated column..." */ + zIn = ts + 5735 /* "generated column..." */ } - Xsqlite3ErrorMsg(tls, pParse, ts+5751 /* "%s prohibited in..." */, libc.VaList(bp, zMsg, zIn)) + Xsqlite3ErrorMsg(tls, pParse, ts+5753 /* "%s prohibited in..." */, libc.VaList(bp, zMsg, zIn)) if pExpr != 0 { (*Expr)(unsafe.Pointer(pExpr)).Fop = U8(TK_NULL) } @@ -77370,7 +78410,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(). @@ -77456,10 +78496,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 + 5773 /* "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 + 5778 /* "false" */ *(*U32)(unsafe.Pointer(pExpr + 4 /* &.flags */)) |= (U32(EP_IsFalse)) } (*Expr)(unsafe.Pointer(pExpr)).Fop = U8(TK_TRUEFALSE) @@ -77512,7 +78552,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+5784 /* "the \".\" operator" */, uintptr(0)) } pRight = (*Expr)(unsafe.Pointer(pExpr)).FpRight @@ -77579,7 +78619,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+5801 /* "second argument ..." */, 0) (*NameContext)(unsafe.Pointer(pNC)).FnNcErr++ } } else { @@ -77604,7 +78644,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+5872, /* "not authorized t..." */ libc.VaList(bp, (*FuncDef)(unsafe.Pointer(pDef)).FzName)) (*NameContext)(unsafe.Pointer(pNC)).FnNcErr++ } @@ -77628,7 +78668,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+5907 /* "non-deterministi..." */, uintptr(0)) } } else { @@ -77657,30 +78697,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+5935 /* "%.*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 + 5979 /* "window" */ } else { - zType = ts + 5984 /* "aggregate" */ + zType = ts + 5986 /* "aggregate" */ } - Xsqlite3ErrorMsg(tls, pParse, ts+5994 /* "misuse of %s fun..." */, libc.VaList(bp+24, zType, nId, zId)) + Xsqlite3ErrorMsg(tls, pParse, ts+5996 /* "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+6025 /* "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+6048, /* "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+6093, /* "FILTER may not b..." */ libc.VaList(bp+80, nId, zId)) (*NameContext)(unsafe.Pointer(pNC)).FnNcErr++ } @@ -77755,7 +78795,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+6142 /* "subqueries" */, pExpr) } Xsqlite3WalkSelect(tls, pWalker, *(*uintptr)(unsafe.Pointer(pExpr + 32 /* &.x */))) @@ -77772,7 +78812,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+6153 /* "parameters" */, pExpr) } break @@ -77797,6 +78837,7 @@ func resolveExprStep(tls *libc.TLS, pWalker uintptr, pExpr uintptr) int32 { /* s return WRC_Continue } } + /* no break */ } fallthrough @@ -77832,7 +78873,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+5551 /* "row value misuse..." */, 0) } break @@ -77937,7 +78978,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+6164 /* "%r %s BY term ou..." */, libc.VaList(bp, i, zType, mx)) } // Analyze the ORDER BY clause in a compound SELECT statement. Modify @@ -77969,7 +79010,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+6220 /* "too many terms i..." */, 0) return 1 } for i = 0; i < (*ExprList)(unsafe.Pointer(pOrderBy)).FnExpr; i++ { @@ -78004,7 +79045,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+6254 /* "ORDER" */, (i + 1), (*ExprList)(unsafe.Pointer(pEList)).FnExpr) return 1 } } else { @@ -78075,7 +79116,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+6260 /* "%r ORDER BY term..." */, libc.VaList(bp, (i+1))) return 1 } } @@ -78103,7 +79144,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+6321 /* "too many terms i..." */, libc.VaList(bp, zType)) return 1 } pEList = (*Select)(unsafe.Pointer(pSelect)).FpEList @@ -78392,7 +79433,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+6352 /* "a GROUP BY claus..." */, 0) return WRC_Abort } if Xsqlite3ResolveExprNames(tls, bp /* &sNC */, (*Select)(unsafe.Pointer(p)).FpHaving) != 0 { @@ -78449,7 +79490,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+6254 /* "ORDER" */) != 0) { return WRC_Abort } if (*Sqlite3)(unsafe.Pointer(db)).FmallocFailed != 0 { @@ -78462,7 +79503,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+6396 /* "GROUP" */) != 0) || ((*Sqlite3)(unsafe.Pointer(db)).FmallocFailed != 0) { return WRC_Abort } i = 0 @@ -78474,7 +79515,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+6402 /* "aggregate functi..." */, 0) return WRC_Abort } @@ -79244,7 +80285,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+5551 /* "row value misuse..." */, 0) return } @@ -79320,7 +80361,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+6461 /* "Expression tree ..." */, libc.VaList(bp, mxHeight)) rc = SQLITE_ERROR } return rc @@ -79561,7 +80602,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+6509 /* "0" */) } else { return Xsqlite3PExpr(tls, pParse, TK_AND, pLeft, pRight) } @@ -79583,7 +80624,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+6511 /* "too many argumen..." */, libc.VaList(bp, pToken)) } *(*uintptr)(unsafe.Pointer(pNew + 32 /* &.x */)) = pList *(*U32)(unsafe.Pointer(pNew + 4 /* &.flags */)) |= (U32(EP_HasFunc)) @@ -79617,7 +80658,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+6545 /* "unsafe use of %s..." */, libc.VaList(bp, (*FuncDef)(unsafe.Pointer(pDef)).FzName)) } } } @@ -79670,7 +80711,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+6564, /* "variable number ..." */ libc.VaList(bp, *(*int32)(unsafe.Pointer((db + 128 /* &.aLimit */) + 9*4)))) return } @@ -79697,7 +80738,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+6607 /* "too many SQL var..." */, 0) } } @@ -80366,7 +81407,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+6630, /* "%d columns assig..." */ libc.VaList(bp, (*IdList)(unsafe.Pointer(pColumns)).FnId, n)) goto vector_append_error __3: @@ -80501,7 +81542,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+6660 /* "too many columns..." */, libc.VaList(bp, zObject)) } } @@ -80556,10 +81597,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+5773 /* "true" */) == 0 { return U32(EP_IsTrue) } - if Xsqlite3StrICmp(tls, zIn, ts+5776 /* "false" */) == 0 { + if Xsqlite3StrICmp(tls, zIn, ts+5778 /* "false" */) == 0 { return U32(EP_IsFalse) } return U32(0) @@ -80678,6 +81719,7 @@ func exprNodeIsConstant(tls *libc.TLS, pWalker uintptr, pExpr uintptr) int32 { / return WRC_Prune } fallthrough + /* no break */ case TK_COLUMN: fallthrough case TK_AGG_FUNCTION: @@ -80691,6 +81733,7 @@ func exprNodeIsConstant(tls *libc.TLS, pWalker uintptr, pExpr uintptr) int32 { / return WRC_Continue } fallthrough + /* no break */ case TK_IF_NULL_ROW: fallthrough case TK_REGISTER: @@ -80712,6 +81755,7 @@ func exprNodeIsConstant(tls *libc.TLS, pWalker uintptr, pExpr uintptr) int32 { / return WRC_Abort } fallthrough + /* no break */ default: // sqlite3SelectWalkFail() disallows // sqlite3SelectWalkFail() disallows @@ -81004,13 +82048,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+6683 /* "_ROWID_" */) == 0 { return 1 } - if Xsqlite3StrICmp(tls, z, ts+6689 /* "ROWID" */) == 0 { + if Xsqlite3StrICmp(tls, z, ts+6691 /* "ROWID" */) == 0 { return 1 } - if Xsqlite3StrICmp(tls, z, ts+6695 /* "OID" */) == 0 { + if Xsqlite3StrICmp(tls, z, ts+6697 /* "OID" */) == 0 { return 1 } return 0 @@ -81238,7 +82282,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+6701 /* "USING ROWID SEAR..." */, libc.VaList(bp, (*Table)(unsafe.Pointer(pTab)).FzName)) Xsqlite3VdbeJumpHere(tls, v, iAddr) } else { var pIdx uintptr // Iterator variable @@ -81329,7 +82373,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+6748 /* "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) @@ -81435,7 +82479,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 + 6779 /* "sub-select retur..." */ Xsqlite3ErrorMsg(tls, pParse, zFmt, libc.VaList(bp, nActual, nExpect)) } } @@ -81453,7 +82497,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+5551 /* "row value misuse..." */, 0) } } @@ -81506,7 +82550,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+6823 /* "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 */))) @@ -81542,11 +82586,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+6846 /* "%sLIST SUBQUERY ..." */, libc.VaList(bp+8, func() uintptr { if addrOnce != 0 { - return ts + 756 /* "" */ + return ts + 758 /* "" */ } - return ts + 6863 /* "CORRELATED " */ + return ts + 6865 /* "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. @@ -81692,7 +82736,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+6877 /* "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 @@ -81725,11 +82769,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+6895 /* "%sSCALAR SUBQUER..." */, libc.VaList(bp+8, func() uintptr { if addrOnce != 0 { - return ts + 756 /* "" */ + return ts + 758 /* "" */ } - return ts + 6863 /* "CORRELATED " */ + return ts + 6865 /* "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 @@ -81753,7 +82797,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+6509 /* "0" */) if pLimit != 0 { (*Expr)(unsafe.Pointer(pLimit)).FaffExpr = int8(SQLITE_AFF_NUMERIC) pLimit = Xsqlite3PExpr(tls, pParse, TK_NE, @@ -81763,7 +82807,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+6916 /* "1" */) (*Select)(unsafe.Pointer(pSel)).FpLimit = Xsqlite3PExpr(tls, pParse, TK_LIMIT, pLimit, uintptr(0)) } (*Select)(unsafe.Pointer(pSel)).FiLimit = 0 @@ -82255,12 +83299,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+6918 /* "0x" */, 2) == 0 { + Xsqlite3ErrorMsg(tls, pParse, ts+6921 /* "hex literal too ..." */, libc.VaList(bp, func() uintptr { if negFlag != 0 { - return ts + 4042 /* "-" */ + return ts + 4044 /* "-" */ } - return ts + 756 /* "" */ + return ts + 758 /* "" */ }(), z)) } else { codeReal(tls, v, z, negFlag, iMem) @@ -82335,7 +83379,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+6947 /* "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)) @@ -82843,6 +83887,8 @@ __58: ; __57: ; + // Otherwise, fall thru into the TK_COLUMN case + /* no break */ __5: iTab = (*Expr)(unsafe.Pointer(pExpr)).FiTable @@ -82894,7 +83940,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+6947, /* "generated column..." */ libc.VaList(bp, (*Column)(unsafe.Pointer(pCol1)).FzName)) return 0 __72: @@ -83146,7 +84192,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+6977 /* "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 @@ -83188,7 +84234,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+7003 /* "unknown function..." */, libc.VaList(bp+16, zId)) goto __3 __91: ; @@ -83382,7 +84428,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+6630, /* "%d columns assig..." */ libc.VaList(bp+24, (*Expr)(unsafe.Pointer(pExpr)).FiTable, n1)) __123: ; @@ -83464,7 +84510,7 @@ __124: goto __3 __52: - Xsqlite3ErrorMsg(tls, pParse, ts+5549 /* "row value misuse..." */, 0) + Xsqlite3ErrorMsg(tls, pParse, ts+5551 /* "row value misuse..." */, 0) goto __3 // TK_IF_NULL_ROW Expr nodes are inserted ahead of expressions @@ -83588,7 +84634,7 @@ __55: goto __134 } Xsqlite3ErrorMsg(tls, pParse, - ts+7024 /* "RAISE() may only..." */, 0) + ts+7026 /* "RAISE() may only..." */, 0) return 0 __134: ; @@ -83627,7 +84673,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 + 7076 /* "B\x00C\x00D\x00E" */)) /* sqlite3.c:105169:29 */ // Generate code that will evaluate expression pExpr just one time // per prepared statement execution. @@ -83911,7 +84957,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 @@ -83991,6 +85039,7 @@ __2: goto __8 case TK_ISNOT: goto __9 + /* no break */ case TK_LT: goto __10 case TK_LE: @@ -84087,6 +85136,7 @@ __9: op = TK_NE } jumpIfNull = SQLITE_NULLEQ + /* no break */ __10: __11: __12: @@ -84240,6 +85290,7 @@ __2: goto __8 case TK_ISNOT: goto __9 + /* no break */ case TK_LT: goto __10 case TK_LE: @@ -84339,6 +85390,7 @@ __9: op = TK_EQ } jumpIfNull = SQLITE_NULLEQ + /* no break */ __10: __11: __12: @@ -84685,6 +85737,7 @@ func exprImpliesNotNull(tls *libc.TLS, pParse uintptr, p uintptr, pNN uintptr, i case TK_CONCAT: seenNot = 1 fallthrough + /* no break */ case TK_STAR: fallthrough case TK_REM: @@ -84696,6 +85749,7 @@ func exprImpliesNotNull(tls *libc.TLS, pParse uintptr, p uintptr, pNN uintptr, i if exprImpliesNotNull(tls, pParse, (*Expr)(unsafe.Pointer(p)).FpRight, pNN, iTab, seenNot) != 0 { return 1 } + /* no break */ } fallthrough @@ -84855,6 +85909,7 @@ func impliesNotNullRow(tls *libc.TLS, pWalker uintptr, pExpr uintptr) int32 { /* ((*Table)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(pRight + 64 /* &.y */)))).FnModuleArg != 0)) { return WRC_Prune } + /* no break */ } fallthrough @@ -85464,11 +86519,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+7084 /* "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+7092 /* "table %s may not..." */, libc.VaList(bp, (*Table)(unsafe.Pointer(pTab)).FzName)) return 1 } return 0 @@ -85486,14 +86541,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+7120, /* "SELECT 1 FROM \"%..." */ libc.VaList(bp, zDb, zDb, bTemp, zWhen, bNoDQS)) if bTemp == 0 { Xsqlite3NestedParse(tls, pParse, - ts+7293, /* "SELECT 1 FROM te..." */ + ts+7295, /* "SELECT 1 FROM te..." */ libc.VaList(bp+40, zDb, zWhen, bNoDQS)) } } @@ -85509,11 +86564,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+7469 /* "UPDATE \"%w\".sqli..." */, libc.VaList(bp, zDb, zDb)) if bTemp == 0 { Xsqlite3NestedParse(tls, pParse, - ts+7614 /* "UPDATE temp.sqli..." */, 0) + ts+7616 /* "UPDATE temp.sqli..." */, 0) } } @@ -85587,7 +86642,7 @@ __3: goto __4 } Xsqlite3ErrorMsg(tls, pParse, - ts+7765 /* "there is already..." */, libc.VaList(bp, zName)) + ts+7767 /* "there is already..." */, libc.VaList(bp, zName)) goto exit_rename_table __4: ; @@ -85600,7 +86655,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+7826 /* "table" */, zName)) { goto __6 } goto exit_rename_table @@ -85610,7 +86665,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+7832 /* "view %s may not ..." */, libc.VaList(bp+8, (*Table)(unsafe.Pointer(pTab)).FzName)) goto exit_rename_table __7: ; @@ -85663,24 +86718,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+7859 /* "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+8043, /* "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+8348 /* "sqlite_sequence" */, zDb) != 0) { goto __13 } Xsqlite3NestedParse(tls, pParse, - ts+8362, /* "UPDATE \"%w\".sqli..." */ + ts+8364, /* "UPDATE \"%w\".sqli..." */ libc.VaList(bp+112, zDb, zName, (*Table)(unsafe.Pointer(pTab)).FzName)) __13: ; @@ -85693,7 +86748,7 @@ __13: } Xsqlite3NestedParse(tls, pParse, - ts+8420 /* "UPDATE sqlite_te..." */, libc.VaList(bp+136, zDb, zTabName, zName, zTabName, zDb, zName)) + ts+8422 /* "UPDATE sqlite_te..." */, libc.VaList(bp+136, zDb, zTabName, zName, zTabName, zDb, zName)) __14: ; @@ -85711,7 +86766,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+8687 /* "after rename" */, 0) exit_rename_table: Xsqlite3SrcListDelete(tls, db, pSrc) @@ -85726,7 +86781,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+8700, /* "SELECT raise(ABO..." */ libc.VaList(bp, zErr, zDb, zTab)) } @@ -85774,12 +86829,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+8738 /* "Cannot add a PRI..." */, 0) return } if (*Table)(unsafe.Pointer(pNew)).FpIndex != 0 { Xsqlite3ErrorMsg(tls, pParse, - ts+8768 /* "Cannot add a UNI..." */, 0) + ts+8770 /* "Cannot add a UNI..." */, 0) return } if (int32((*Column)(unsafe.Pointer(pCol)).FcolFlags) & COLFLAG_GENERATED) == 0 { @@ -85792,11 +86847,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+8797 /* "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+8856 /* "Cannot add a NOT..." */) } // Ensure the default expression is something that sqlite3ValueFromExpr() @@ -85812,12 +86867,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+8909 /* "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+8955 /* "cannot add a STO..." */) } // Modify the CREATE TABLE statement. @@ -85833,7 +86888,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+8982, /* "UPDATE \"%w\".sqli..." */ libc.VaList(bp, zDb, (*Table)(unsafe.Pointer(pNew)).FaddColOffset, zCol, (*Table)(unsafe.Pointer(pNew)).FaddColOffset, zTab)) Xsqlite3DbFree(tls, db, zCol) @@ -85904,7 +86959,7 @@ __2: if !((*Table)(unsafe.Pointer(pTab)).FnModuleArg != 0) { goto __3 } - Xsqlite3ErrorMsg(tls, pParse, ts+9126 /* "virtual tables m..." */, 0) + Xsqlite3ErrorMsg(tls, pParse, ts+9128 /* "virtual tables m..." */, 0) goto exit_begin_add_column __3: ; @@ -85913,7 +86968,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+9162 /* "Cannot add a col..." */, 0) goto exit_begin_add_column __4: ; @@ -85948,7 +87003,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+9192 /* "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 } @@ -85995,18 +87050,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 + 9211 /* "view" */ } if (*Table)(unsafe.Pointer(pTab)).FnModuleArg != 0 { - zType = ts + 9214 /* "virtual table" */ + zType = ts + 9216 /* "virtual table" */ } if zType != 0 { - Xsqlite3ErrorMsg(tls, pParse, ts+9228, /* "cannot %s %s \"%s..." */ + Xsqlite3ErrorMsg(tls, pParse, ts+9230, /* "cannot %s %s \"%s..." */ libc.VaList(bp, func() uintptr { if bDrop != 0 { - return ts + 9246 /* "drop column from" */ + return ts + 9248 /* "drop column from" */ } - return ts + 9263 /* "rename columns o..." */ + return ts + 9265 /* "rename columns o..." */ }(), zType, (*Table)(unsafe.Pointer(pTab)).FzName)) return 1 @@ -86099,13 +87154,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+5386 /* "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+758 /* "" */, 0) renameFixQuotes(tls, pParse, zDb, (libc.Bool32(iSchema == 1))) // Do the rename operation using a recursive UPDATE statement that @@ -86123,19 +87178,19 @@ __11: bQuote = (int32(Xsqlite3CtypeMap[uint8(*(*int8)(unsafe.Pointer((*Token)(unsafe.Pointer(pNew)).Fz)))]) & 0x80) Xsqlite3NestedParse(tls, pParse, - ts+9281, /* "UPDATE \"%w\".sqli..." */ + ts+9283, /* "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+9501, /* "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+8687 /* "after rename" */, 1) exit_rename_column: Xsqlite3SrcListDelete(tls, db, pSrc) @@ -86430,12 +87485,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+9632, /* "error in %s %s%s..." */ libc.VaList(bp, zT, zN, func() uintptr { if *(*int8)(unsafe.Pointer(zWhen)) != 0 { - return ts + 9653 /* " " */ + return ts + 9655 /* " " */ } - return ts + 756 /* "" */ + return ts + 758 /* "" */ }(), zWhen, (*Parse)(unsafe.Pointer(pParse)).FzErrMsg)) Xsqlite3_result_error(tls, pCtx, zErr, -1) @@ -86544,7 +87599,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+9657 /* "\"%w\" " */, libc.VaList(bp, zNew)) if zQuot == uintptr(0) { return SQLITE_NOMEM } else { @@ -86594,12 +87649,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+9663 /* "%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 + 9655 /* " " */ } - return ts + 756 /* "" */ + return ts + 758 /* "" */ }())) zReplace = zBuf2 nReplace = U32(Xsqlite3Strlen30(tls, zReplace)) @@ -87104,7 +88159,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+758 /* "" */, *(*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) @@ -87284,7 +88339,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+758 /* "" */, *(*uintptr)(unsafe.Pointer(argv + 1*8)), *(*uintptr)(unsafe.Pointer(argv + 2*8)), bp+80 /* &sParse */) } else { Xsqlite3_result_error_code(tls, context, rc) } @@ -87566,7 +88621,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+9668 /* "%.*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) @@ -87654,7 +88709,7 @@ __5: if !(iCol < 0) { goto __6 } - Xsqlite3ErrorMsg(tls, pParse, ts+5384 /* "no such column: ..." */, libc.VaList(bp, zCol)) + Xsqlite3ErrorMsg(tls, pParse, ts+5386 /* "no such column: ..." */, libc.VaList(bp, zCol)) goto exit_drop_column __6: ; @@ -87664,12 +88719,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+9675, /* "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 + 9703 /* "PRIMARY KEY" */ } - return ts + 5205 /* "UNIQUE" */ + return ts + 5207 /* "UNIQUE" */ }(), zCol)) goto exit_drop_column @@ -87680,7 +88735,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+9715 /* "cannot drop colu..." */, libc.VaList(bp+24, zCol)) goto exit_drop_column __8: ; @@ -87689,15 +88744,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+758 /* "" */, 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+9763 /* "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+9884 /* "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)) { @@ -87808,11 +88863,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 + 9902 /* "sqlite_rename_co..." */}, + {FnArg: int8(7), FfuncFlags: (U32((SQLITE_FUNC_INTERNAL | SQLITE_UTF8) | SQLITE_FUNC_CONSTANT)), FxSFunc: 0, FzName: ts + 9923 /* "sqlite_rename_ta..." */}, + {FnArg: int8(7), FfuncFlags: (U32((SQLITE_FUNC_INTERNAL | SQLITE_UTF8) | SQLITE_FUNC_CONSTANT)), FxSFunc: 0, FzName: ts + 9943 /* "sqlite_rename_te..." */}, + {FnArg: int8(3), FfuncFlags: (U32((SQLITE_FUNC_INTERNAL | SQLITE_UTF8) | SQLITE_FUNC_CONSTANT)), FxSFunc: 0, FzName: ts + 9962 /* "sqlite_drop_colu..." */}, + {FnArg: int8(2), FfuncFlags: (U32((SQLITE_FUNC_INTERNAL | SQLITE_UTF8) | SQLITE_FUNC_CONSTANT)), FxSFunc: 0, FzName: ts + 9981 /* "sqlite_rename_qu..." */}} /* sqlite3.c:109585:18 */ //************* End of alter.c ********************************************** //************* Begin file analyze.c **************************************** @@ -88009,7 +89064,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+10004 /* "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) } @@ -88021,10 +89076,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+10027, /* "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+10057 /* "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) @@ -88045,9 +89100,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 + 10075 /* "sqlite_stat1" */, FzCols: ts + 10088 /* "tbl,idx,stat" */}, + {FzName: ts + 10101 /* "sqlite_stat4" */, FzCols: ts + 10114 /* "tbl,idx,neq,nlt,..." */}, + {FzName: ts + 10142 /* "sqlite_stat3" */}, } /* sqlite3.c:109773:5 */ // Recommended number of samples for sqlite_stat4 @@ -88056,25 +89111,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 @@ -88084,15 +89139,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 */ @@ -88278,7 +89333,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 + 10155 /* "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 @@ -88596,7 +89651,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 + 10165 /* "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 @@ -88653,7 +89708,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+10175, /* "%llu" */ libc.VaList(bp, func() uint64 { if (*StatAccum)(unsafe.Pointer(p)).FnSkipAhead != 0 { return U64((*StatAccum)(unsafe.Pointer(p)).FnEst) @@ -88664,7 +89719,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+10180 /* " %llu" */, libc.VaList(bp+8, iVal)) z += uintptr(Xsqlite3Strlen30(tls, z)) } @@ -88713,7 +89768,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+10186 /* "%llu " */, libc.VaList(bp+16, U64(*(*TRowcnt)(unsafe.Pointer(aCnt + uintptr(i)*4))))) z += uintptr(Xsqlite3Strlen30(tls, z)) } @@ -88730,7 +89785,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 + 10192 /* "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)) @@ -88777,7 +89832,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+10201 /* "sqlite\\_%" */, (*Table)(unsafe.Pointer(pTab)).FzName, uint32('\\')) == 0 { // Do not gather statistics on system tables return } @@ -88795,7 +89850,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+10075 /* "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) @@ -89028,7 +90083,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+10211 /* "BBB" */, 0) Xsqlite3VdbeAddOp2(tls, v, OP_NewRowid, iStatCur, regNewRowid) Xsqlite3VdbeAddOp3(tls, v, OP_Insert, iStatCur, regTemp, regNewRowid) Xsqlite3VdbeChangeP4(tls, v, -1, pStat1, -6) @@ -89090,7 +90145,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+10211 /* "BBB" */, 0) Xsqlite3VdbeAddOp2(tls, v, OP_NewRowid, iStatCur, regNewRowid) Xsqlite3VdbeAddOp3(tls, v, OP_Insert, iStatCur, regTemp, regNewRowid) Xsqlite3VdbeChangeP5(tls, v, uint16(OPFLAG_APPEND)) @@ -89143,9 +90198,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+10215 /* "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+10219 /* "tbl" */) } analyzeOneTable(tls, pParse, pTab, pOnlyIdx, iStatCur, ((*Parse)(unsafe.Pointer(pParse)).FnMem + 1), (*Parse)(unsafe.Pointer(pParse)).FnTab) loadAnalysis(tls, pParse, iDb) @@ -89240,7 +90295,7 @@ func decodeIntArray(tls *libc.TLS, zIntArray uintptr, nOut int32, aOut uintptr, var v TRowcnt if z == uintptr(0) { - z = ts + 756 /* "" */ + z = ts + 758 /* "" */ } for i = 0; (*(*int8)(unsafe.Pointer(z)) != 0) && (i < nOut); i++ { v = TRowcnt(0) @@ -89262,15 +90317,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+10223 /* "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+10234 /* "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+10244 /* "noskipscan*" */, z) == 0 { libc.SetBitFieldPtr16Uint32(pIndex+100 /* &.noSkipScan */, uint32(1), 6, 0x40) } for (int32(*(*int8)(unsafe.Pointer(z))) != 0) && (int32(*(*int8)(unsafe.Pointer(z))) != ' ') { @@ -89589,10 +90644,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+10101 /* "sqlite_stat4" */, zDb) != 0 { rc = loadStatTbl(tls, db, - ts+10254, /* "SELECT idx,count..." */ - ts+10308, /* "SELECT idx,neq,n..." */ + ts+10256, /* "SELECT idx,count..." */ + ts+10310, /* "SELECT idx,neq,n..." */ zDb) } return rc @@ -89643,9 +90698,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+10075 /* "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+10362 /* "SELECT tbl,idx,s..." */, libc.VaList(bp, (*AnalysisInfo)(unsafe.Pointer(bp+8 /* &sInfo */)).FzDatabase)) if zSql == uintptr(0) { rc = SQLITE_NOMEM } else { @@ -89737,7 +90792,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+5461 /* "main" */, zName) == 0)))) } // An SQL user-function registered to do the work of an ATTACH statement. The @@ -89788,13 +90843,13 @@ func attachFunc(tls *libc.TLS, context uintptr, NotUsed int32, argv uintptr) { / if !(zFile == uintptr(0)) { goto __1 } - zFile = ts + 756 /* "" */ + zFile = ts + 758 /* "" */ __1: ; if !(zName == uintptr(0)) { goto __2 } - zName = ts + 756 /* "" */ + zName = ts + 758 /* "" */ __2: ; @@ -89804,7 +90859,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+2965 /* "memdb" */) if !(*(*uintptr)(unsafe.Pointer(bp + 32 /* pVfs */)) == uintptr(0)) { goto __5 } @@ -89820,7 +90875,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+10403 /* "x\x00" */, db, (pNew + 8 /* &.pBt */), 0, SQLITE_OPEN_MAIN_DB) goto __4 __3: // This is a real ATTACH @@ -89833,7 +90888,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+10406, /* "too many attache..." */ libc.VaList(bp, *(*int32)(unsafe.Pointer((db + 128 /* &.aLimit */) + 7*4)))) goto attach_error __7: @@ -89847,7 +90902,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+10443 /* "database %s is a..." */, libc.VaList(bp+8, zName)) goto attach_error __11: ; @@ -89918,7 +90973,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+10473 /* "database is alre..." */, 0) goto __19 __18: if !(rc == SQLITE_OK) { @@ -89935,7 +90990,7 @@ __21: goto __23 } *(*uintptr)(unsafe.Pointer(bp + 56 /* zErrDyn */)) = Xsqlite3MPrintf(tls, db, - ts+10500 /* "attached databas..." */, 0) + ts+10502 /* "attached databas..." */, 0) rc = SQLITE_ERROR __23: ; @@ -90005,13 +91060,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+5184 /* "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+10570 /* "unable to open d..." */, libc.VaList(bp+16, zFile)) __32: ; __31: @@ -90067,7 +91122,7 @@ func detachFunc(tls *libc.TLS, context uintptr, NotUsed int32, argv uintptr) { / if !(zName == uintptr(0)) { goto __1 } - zName = ts + 756 /* "" */ + zName = ts + 758 /* "" */ __1: ; i = 0 @@ -90099,14 +91154,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+10598 /* "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+10619 /* "cannot detach da..." */, libc.VaList(bp+8, zName)) goto detach_error __8: ; @@ -90114,7 +91169,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+10645 /* "database %s is l..." */, libc.VaList(bp+16, zName)) goto detach_error __9: ; @@ -90237,7 +91292,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 + 10667 /* "sqlite_detach" */} /* sqlite3.c:111944:24 */ // Called by the parser to compile an ATTACH statement. // @@ -90250,7 +91305,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 + 10681 /* "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: */ @@ -90265,7 +91320,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+10695 /* "%s cannot use va..." */, libc.VaList(bp, (*DbFixer)(unsafe.Pointer(pFix)).FzType)) return WRC_Abort } } @@ -90298,7 +91353,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+10719, /* "%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 } @@ -90497,7 +91552,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+10765 /* "authorizer malfu..." */, 0) (*Parse)(unsafe.Pointer(pParse)).Frc = SQLITE_ERROR } @@ -90519,13 +91574,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+10788 /* "%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+10794 /* "%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+10800 /* "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) @@ -90577,7 +91634,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 + 6691 /* "ROWID" */ } if SQLITE_IGNORE == Xsqlite3AuthReadCol(tls, pParse, (*Table)(unsafe.Pointer(pTab)).FzName, zCol, iDb) { @@ -90607,9 +91664,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+10827 /* "not authorized" */, 0) (*Parse)(unsafe.Pointer(pParse)).Frc = SQLITE_AUTH } else if (rc != SQLITE_OK) && (rc != SQLITE_IGNORE) { rc = SQLITE_DENY @@ -90871,7 +91930,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) { @@ -90919,25 +91978,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+5461 /* "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+7084 /* "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+10842 /* "sqlite_temp_sche..." */ +7)) == 0) || + (Xsqlite3StrICmp(tls, (zName+uintptr(7)), (ts+10861 /* "sqlite_schema" */ +7)) == 0)) || + (Xsqlite3StrICmp(tls, (zName+uintptr(7)), (ts+4959 /* "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+10875 /* "sqlite_temp_mast..." */) } } else { - if Xsqlite3StrICmp(tls, (zName+uintptr(7)), (ts+10859 /* "sqlite_schema" */ +7)) == 0 { + if Xsqlite3StrICmp(tls, (zName+uintptr(7)), (ts+10861 /* "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+4959 /* "sqlite_master" */) } } } @@ -90960,12 +92019,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+7084 /* "sqlite_" */, 7) == 0) { + if Xsqlite3StrICmp(tls, (zName+uintptr(7)), (ts+10861 /* "sqlite_schema" */ +7)) == 0 { + p = Xsqlite3HashFind(tls, ((*Db)(unsafe.Pointer((*Sqlite3)(unsafe.Pointer(db)).FaDb)).FpSchema + 8 /* &.tblHash */), ts+4959 /* "sqlite_master" */) + } else if Xsqlite3StrICmp(tls, (zName+uintptr(7)), (ts+10842 /* "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+10875 /* "sqlite_temp_mast..." */) } } } @@ -91001,7 +92060,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+10894 /* "pragma_" */, 7) == 0) { pMod = Xsqlite3PragmaVtabRegister(tls, db, zName) } if (pMod != 0) && (Xsqlite3VtabEponymousTableInit(tls, pParse, pMod) != 0) { @@ -91019,14 +92078,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 + 10902 /* "no such view" */ } else { - zMsg = ts + 10913 /* "no such table" */ + zMsg = ts + 10915 /* "no such table" */ } if zDbase != 0 { - Xsqlite3ErrorMsg(tls, pParse, ts+5652 /* "%s: %s.%s" */, libc.VaList(bp, zMsg, zDbase, zName)) + Xsqlite3ErrorMsg(tls, pParse, ts+5654 /* "%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+5664 /* "%s: %s" */, libc.VaList(bp+24, zMsg, zName)) } } else { @@ -91339,7 +92398,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+4959 /* "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 @@ -91366,7 +92425,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+5461 /* "main" */, zName)) { goto __3 } @@ -91419,13 +92478,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+10929 /* "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+10946 /* "unknown database..." */, libc.VaList(bp, pName1)) return -1 } } else { @@ -91466,13 +92525,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+758 /* "" */, 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+7084 /* "sqlite_" */, 7))) || ((Xsqlite3ReadOnlyShadowTables(tls, db) != 0) && (Xsqlite3ShadowTableName(tls, db, zName) != 0)) { - Xsqlite3ErrorMsg(tls, pParse, ts+10964, /* "object name rese..." */ + Xsqlite3ErrorMsg(tls, pParse, ts+10966, /* "object name rese..." */ libc.VaList(bp, zName)) return SQLITE_ERROR } @@ -91641,9 +92700,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 + 10875 /* "sqlite_temp_mast..." */ } - return ts + 4957 /* "sqlite_master" */ + return ts + 4959 /* "sqlite_master" */ }()) *(*uintptr)(unsafe.Pointer(bp + 16 /* pName */)) = pName1 goto __2 @@ -91661,7 +92720,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+11008 /* "temporary table ..." */, 0) return __4: ; @@ -91689,9 +92748,9 @@ __7: ; if !(Xsqlite3CheckObjectName(tls, pParse, zName, func() uintptr { if isView != 0 { - return ts + 9209 /* "view" */ + return ts + 9211 /* "view" */ } - return ts + 7824 /* "table" */ + return ts + 7826 /* "table" */ }(), zName) != 0) { goto __8 } @@ -91708,9 +92767,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 + 10875 /* "sqlite_temp_mast..." */ } - return ts + 4957 /* "sqlite_master" */ + return ts + 4959 /* "sqlite_master" */ }(), uintptr(0), zDb) != 0) { goto __10 } @@ -91748,7 +92807,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+11049 /* "table %T already..." */, libc.VaList(bp, *(*uintptr)(unsafe.Pointer(bp + 16 /* pName */)))) goto __16 __15: ; @@ -91762,7 +92821,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+11073 /* "there is already..." */, libc.VaList(bp+8, zName)) goto begin_table_error __17: ; @@ -91878,7 +92937,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+11108 /* "sqlite_returning" */, uintptr(0)) Xsqlite3ExprListDelete(tls, db, (*Returning)(unsafe.Pointer(pRet)).FpReturnEL) Xsqlite3DbFree(tls, db, pRet) } @@ -91902,7 +92961,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+11125 /* "cannot use RETUR..." */, 0) } else { } @@ -91923,7 +92982,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 + 11108 /* "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) @@ -91935,7 +92994,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+11108 /* "sqlite_returning" */, (pRet+16 /* &.retTrig */)) == (pRet + 16 /* &.retTrig */) { Xsqlite3OomFault(tls, db) } @@ -91963,7 +93022,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+11159 /* "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)))) @@ -91979,7 +93038,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+11182 /* "duplicate column..." */, libc.VaList(bp+8, z)) Xsqlite3DbFree(tls, db, z) return } @@ -92153,11 +93212,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+11208, /* "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+11253 /* "cannot use DEFAU..." */, 0) } else { // A copy of pExpr is used instead of the original, as pExpr contains // tokens that point to volatile memory. @@ -92207,7 +93266,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+11294 /* "generated column..." */, 0) } } @@ -92252,7 +93311,7 @@ __1: goto __2 } Xsqlite3ErrorMsg(tls, pParse, - ts+11344 /* "table \"%s\" has m..." */, libc.VaList(bp, (*Table)(unsafe.Pointer(pTab)).FzName)) + ts+11346 /* "table \"%s\" has m..." */, libc.VaList(bp, (*Table)(unsafe.Pointer(pTab)).FzName)) goto primary_key_exit __2: ; @@ -92312,7 +93371,7 @@ __4: ; if !((((nTerm == 1) && (pCol != 0)) && - (Xsqlite3StrICmp(tls, Xsqlite3ColumnType(tls, pCol, ts+756 /* "" */), ts+11385 /* "INTEGER" */) == 0)) && + (Xsqlite3StrICmp(tls, Xsqlite3ColumnType(tls, pCol, ts+758 /* "" */), ts+11387 /* "INTEGER" */) == 0)) && (sortOrder != SQLITE_SO_DESC)) { goto __13 } @@ -92340,7 +93399,7 @@ __13: goto __17 } Xsqlite3ErrorMsg(tls, pParse, - ts+11393 /* "AUTOINCREMENT is..." */, 0) + ts+11395 /* "AUTOINCREMENT is..." */, 0) goto __18 __17: Xsqlite3CreateIndex(tls, pParse, uintptr(0), uintptr(0), uintptr(0), pList, onError, uintptr(0), @@ -92444,7 +93503,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+11451 /* "virtual tables c..." */, 0) goto generated_done __2: ; @@ -92457,13 +93516,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+11494 /* "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+11502 /* "stored" */, (*Token)(unsafe.Pointer(pType)).Fz, 6) == 0)) { goto __7 } eType = U8(COLFLAG_STORED) @@ -92496,7 +93555,7 @@ __10: goto generated_done generated_error: - Xsqlite3ErrorMsg(tls, pParse, ts+11507, /* "error in generat..." */ + Xsqlite3ErrorMsg(tls, pParse, ts+11509, /* "error in generat..." */ libc.VaList(bp, (*Column)(unsafe.Pointer(pCol)).FzName)) generated_done: Xsqlite3ExprDelete(tls, (*Parse)(unsafe.Pointer(pParse)).Fdb, pExpr) @@ -92638,13 +93697,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 + 758 /* "" */ + zSep2 = ts + 11540 /* "," */ + zEnd = ts + 4069 /* ")" */ } else { - zSep = ts + 11540 /* "\n " */ - zSep2 = ts + 11544 /* ",\n " */ - zEnd = ts + 11549 /* "\n)" */ + zSep = ts + 11542 /* "\n " */ + zSep2 = ts + 11546 /* ",\n " */ + zEnd = ts + 11551 /* "\n)" */ } n = n + (35 + (6 * int32((*Table)(unsafe.Pointer(p)).FnCol))) zStmt = Xsqlite3DbMallocRaw(tls, uintptr(0), uint64(n)) @@ -92652,7 +93711,7 @@ __3: Xsqlite3OomFault(tls, db) return uintptr(0) } - Xsqlite3_snprintf(tls, n, zStmt, ts+11552 /* "CREATE TABLE " */, 0) + Xsqlite3_snprintf(tls, n, zStmt, ts+11554 /* "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('(') @@ -92686,16 +93745,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+2793 /* "%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 + 758, /* "" */ + /* SQLITE_AFF_TEXT */ ts + 11568, /* " TEXT" */ + /* SQLITE_AFF_NUMERIC */ ts + 11574, /* " NUM" */ + /* SQLITE_AFF_INTEGER */ ts + 11579, /* " INT" */ + /* SQLITE_AFF_REAL */ ts + 11584, /* " REAL" */ } /* sqlite3.c:114391:23 */ // Resize an Index object to hold N columns total. Return SQLITE_OK @@ -93056,7 +94115,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 @@ -93132,7 +94193,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+758 /* "" */, 0) return } (*Table)(unsafe.Pointer(p)).Ftnum = (*Sqlite3)(unsafe.Pointer(db)).Finit.FnewTnum @@ -93145,11 +94206,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+11590 /* "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+11640 /* "PRIMARY KEY miss..." */, libc.VaList(bp, (*Table)(unsafe.Pointer(p)).FzName)) return } *(*U32)(unsafe.Pointer(p + 64 /* &.tabFlags */)) |= (U32(TF_WithoutRowid | TF_NoVisibleRowid)) @@ -93193,7 +94254,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+11672 /* "must have at lea..." */, 0) return } } @@ -93226,12 +94287,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 + 7826 /* "table" */ + zType2 = ts + 11716 /* "TABLE" */ } else { // A view - zType = ts + 9209 /* "view" */ - zType2 = ts + 11720 /* "VIEW" */ + zType = ts + 9211 /* "view" */ + zType2 = ts + 11722 /* "VIEW" */ } // If this is a CREATE TABLE xx AS SELECT ..., execute the SELECT @@ -93312,7 +94373,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+11727 /* "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 @@ -93320,7 +94381,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+11742, /* "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, @@ -93338,14 +94399,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+11840, /* "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+11882 /* "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. @@ -93366,7 +94427,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+8348 /* "sqlite_sequence" */) == 0 { (*Schema)(unsafe.Pointer((*Table)(unsafe.Pointer(p)).FpSchema)).FpSeqTab = p } @@ -93403,7 +94464,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+11916 /* "parameters are n..." */, 0) goto create_view_fail __1: ; @@ -93425,7 +94486,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+9211 /* "view" */, *(*uintptr)(unsafe.Pointer(bp /* pName */))) if !(Xsqlite3FixSelect(tls, bp+8 /* &sFix */, pSelect) != 0) { goto __3 } @@ -93542,7 +94603,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+11952 /* "view %s is circu..." */, libc.VaList(bp, (*Table)(unsafe.Pointer(pTable)).FzName)) return 1 } @@ -93684,7 +94745,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+11982 /* "corrupt schema" */, 0) } Xsqlite3VdbeAddOp3(tls, v, OP_Destroy, iTable, r1, iDb) Xsqlite3MayAbort(tls, pParse) @@ -93698,7 +94759,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+11997, /* "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) } @@ -93762,10 +94823,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+12064 /* "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+10027, /* "DELETE FROM %Q.%..." */ libc.VaList(bp+8, zDbName, bp+40 /* &zTab[0] */, zType, zName)) } } @@ -93805,7 +94866,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+12078, /* "DELETE FROM %Q.s..." */ libc.VaList(bp, (*Db)(unsafe.Pointer(pDb)).FzDbSName, (*Table)(unsafe.Pointer(pTab)).FzName)) } @@ -93817,7 +94878,7 @@ func Xsqlite3CodeDropTable(tls *libc.TLS, pParse uintptr, pTab uintptr, iDb int3 // database. Xsqlite3NestedParse(tls, pParse, - ts+12121, /* "DELETE FROM %Q.s..." */ + ts+12123, /* "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) @@ -93847,11 +94908,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+7084 /* "sqlite_" */, 7) == 0 { + if Xsqlite3_strnicmp(tls, ((*Table)(unsafe.Pointer(pTab)).FzName+uintptr(7)), ts+2416 /* "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+6153 /* "parameters" */, 10) == 0 { return 0 } return 1 @@ -93932,9 +94993,9 @@ __7: zTab = func() uintptr { if (!(0 != 0)) && (iDb == 1) { - return ts + 10873 /* "sqlite_temp_mast..." */ + return ts + 10875 /* "sqlite_temp_mast..." */ } - return ts + 4957 /* "sqlite_master" */ + return ts + 4959 /* "sqlite_master" */ }() zDb = (*Db)(unsafe.Pointer((*Sqlite3)(unsafe.Pointer(db)).FaDb + uintptr(iDb)*32)).FzDbSName zArg2 = uintptr(0) @@ -93994,7 +95055,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+12190 /* "table %s may not..." */, libc.VaList(bp, (*Table)(unsafe.Pointer(pTab)).FzName)) goto exit_drop_table __19: ; @@ -94004,14 +95065,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+12218 /* "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+12252 /* "use DROP VIEW to..." */, libc.VaList(bp+16, (*Table)(unsafe.Pointer(pTab)).FzName)) goto exit_drop_table __21: ; @@ -94026,7 +95087,7 @@ __21: if !(!(isView != 0)) { goto __23 } - sqlite3ClearStatTables(tls, pParse, iDb, ts+10217 /* "tbl" */, (*Table)(unsafe.Pointer(pTab)).FzName) + sqlite3ClearStatTables(tls, pParse, iDb, ts+10219 /* "tbl" */, (*Table)(unsafe.Pointer(pTab)).FzName) Xsqlite3FkDropTable(tls, pParse, pName, pTab) __23: ; @@ -94091,7 +95152,7 @@ __4: goto __5 } Xsqlite3ErrorMsg(tls, pParse, - ts+12282, /* "foreign key on %..." */ + ts+12284, /* "foreign key on %..." */ libc.VaList(bp, (*Column)(unsafe.Pointer((*Table)(unsafe.Pointer(p)).FaCol+uintptr(iCol)*32)).FzName, pTo)) goto fk_end __5: @@ -94104,7 +95165,7 @@ __2: } Xsqlite3ErrorMsg(tls, pParse, - ts+12345 /* "number of column..." */, 0) + ts+12347 /* "number of column..." */, 0) goto fk_end goto __7 __6: @@ -94188,7 +95249,7 @@ __21: goto __23 } Xsqlite3ErrorMsg(tls, pParse, - ts+12439, /* "unknown column \"..." */ + ts+12441, /* "unknown column \"..." */ libc.VaList(bp+16, (*ExprList_item)(unsafe.Pointer((pFromCol+8 /* &.a */)+uintptr(i)*32)).FzEName)) goto fk_end __23: @@ -94438,12 +95499,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+12487, /* "unsupported use ..." */ libc.VaList(bp, func() uintptr { if (int32(sf) == 0) || (int32(sf) == 3) { - return ts + 12513 /* "FIRST" */ + return ts + 12515 /* "FIRST" */ } - return ts + 12519 /* "LAST" */ + return ts + 12521 /* "LAST" */ }())) return 1 } @@ -94601,7 +95662,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+12526 /* "index" */, *(*uintptr)(unsafe.Pointer(bp + 128 /* pName */))) if !(Xsqlite3FixSrcList(tls, bp+136 /* &sFix */, pTblName) != 0) { goto __10 } @@ -94622,7 +95683,7 @@ __11: goto __12 } Xsqlite3ErrorMsg(tls, pParse, - ts+12530, /* "cannot create a ..." */ + ts+12532, /* "cannot create a ..." */ libc.VaList(bp, (*Table)(unsafe.Pointer(pTab)).FzName)) goto exit_create_index __12: @@ -94649,26 +95710,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+7084 /* "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+12582 /* "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+12610 /* "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+12635 /* "virtual tables m..." */, 0) goto exit_create_index __17: ; @@ -94695,7 +95756,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+12526 /* "index" */, (*Table)(unsafe.Pointer(pTab)).FzName)) { goto __21 } goto exit_create_index @@ -94710,7 +95771,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+12669 /* "there is already..." */, libc.VaList(bp+16, zName)) goto exit_create_index __24: ; @@ -94722,7 +95783,7 @@ __23: if !(!(ifNotExist != 0)) { goto __26 } - Xsqlite3ErrorMsg(tls, pParse, ts+12701 /* "index %s already..." */, libc.VaList(bp+24, zName)) + Xsqlite3ErrorMsg(tls, pParse, ts+12703 /* "index %s already..." */, libc.VaList(bp+24, zName)) goto __27 __26: ; @@ -94751,7 +95812,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+12727 /* "sqlite_autoindex..." */, libc.VaList(bp+32, (*Table)(unsafe.Pointer(pTab)).FzName, n)) if !(zName == uintptr(0)) { goto __31 } @@ -94780,9 +95841,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 + 10875 /* "sqlite_temp_mast..." */ } - return ts + 4957 /* "sqlite_master" */ + return ts + 4959 /* "sqlite_master" */ }(), uintptr(0), zDb) != 0) { goto __34 } @@ -94826,7 +95887,7 @@ __39: Xsqlite3ExprListSetSortOrder(tls, pList, sortOrder, -1) goto __38 __37: - Xsqlite3ExprListCheckLength(tls, pParse, pList, ts+12524 /* "index" */) + Xsqlite3ExprListCheckLength(tls, pParse, pList, ts+12526 /* "index" */) if !((*Parse)(unsafe.Pointer(pParse)).FnErr != 0) { goto __40 } @@ -94943,7 +96004,7 @@ __53: goto __56 } Xsqlite3ErrorMsg(tls, pParse, - ts+12748 /* "expressions proh..." */, 0) + ts+12750 /* "expressions proh..." */, 0) goto exit_create_index __56: ; @@ -95172,7 +96233,7 @@ __88: goto __93 } Xsqlite3ErrorMsg(tls, pParse, - ts+12809 /* "conflicting ON C..." */, libc.VaList(bp+48, 0)) + ts+12811 /* "conflicting ON C..." */, libc.VaList(bp+48, 0)) __93: ; if !(int32((*Index)(unsafe.Pointer(pIdx)).FonError) == OE_Default) { @@ -95228,7 +96289,7 @@ __81: if !(Xsqlite3IndexHasDuplicateRootPage(tls, pIndex) != 0) { goto __101 } - Xsqlite3ErrorMsg(tls, pParse, ts+12851 /* "invalid rootpage" */, 0) + Xsqlite3ErrorMsg(tls, pParse, ts+12853 /* "invalid rootpage" */, 0) (*Parse)(unsafe.Pointer(pParse)).Frc = Xsqlite3CorruptError(tls, 116514) goto exit_create_index __101: @@ -95286,12 +96347,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+12870, /* "CREATE%s INDEX %..." */ libc.VaList(bp+56, func() uintptr { if onError == OE_None { - return ts + 756 /* "" */ + return ts + 758 /* "" */ } - return ts + 12888 /* " UNIQUE" */ + return ts + 12890 /* " UNIQUE" */ }(), n1, (*Token)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp + 128 /* pName */)))).Fz)) goto __106 __105: @@ -95303,7 +96364,7 @@ __106: // Add an entry in sqlite_schema for this index Xsqlite3NestedParse(tls, pParse, - ts+12896, /* "INSERT INTO %Q.s..." */ + ts+12898, /* "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, @@ -95319,7 +96380,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+12957 /* "name='%q' AND ty..." */, libc.VaList(bp+120, (*Index)(unsafe.Pointer(pIndex)).FzName)), uint16(0)) Xsqlite3VdbeAddOp2(tls, v, OP_Expire, 0, 1) __108: ; @@ -95503,7 +96564,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+12984 /* "no such index: %..." */, libc.VaList(bp, pName+8 /* &.a */)) goto __5 __4: Xsqlite3CodeVerifyNamedSchema(tls, pParse, (*SrcItem)(unsafe.Pointer((pName + 8 /* &.a */))).FzDatabase) @@ -95518,7 +96579,7 @@ __3: goto __6 } Xsqlite3ErrorMsg(tls, pParse, - ts+13000 /* "index associated..." */, libc.VaList(bp+8, 0)) + ts+13002 /* "index associated..." */, libc.VaList(bp+8, 0)) goto exit_drop_index __6: ; @@ -95529,9 +96590,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 + 10875 /* "sqlite_temp_mast..." */ } - return ts + 4957 /* "sqlite_master" */ + return ts + 4959 /* "sqlite_master" */ }() if !(Xsqlite3AuthCheck(tls, pParse, SQLITE_DELETE, zTab, uintptr(0), zDb) != 0) { goto __7 @@ -95559,9 +96620,9 @@ __9: } Xsqlite3BeginWriteOperation(tls, pParse, 1, iDb) Xsqlite3NestedParse(tls, pParse, - ts+13073, /* "DELETE FROM %Q.s..." */ + ts+13075, /* "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+10215 /* "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) @@ -95712,7 +96773,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+13135, /* "too many FROM cl..." */ libc.VaList(bp, SQLITE_MAX_SRCLIST)) return uintptr(0) } @@ -95924,12 +96985,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+13171, /* "a JOIN clause is..." */ libc.VaList(bp, func() uintptr { if pOn != 0 { - return ts + 13205 /* "ON" */ + return ts + 13207 /* "ON" */ } - return ts + 13208 /* "USING" */ + return ts + 13210 /* "USING" */ }())) goto append_from_error __1: @@ -96057,7 +97118,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+13216 /* "BEGIN" */, uintptr(0), uintptr(0)) != 0 { return } v = Xsqlite3GetVdbe(tls, pParse) @@ -96093,9 +97154,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 + 13222 /* "ROLLBACK" */ } - return ts + 13229 /* "COMMIT" */ + return ts + 13231 /* "COMMIT" */ }(), uintptr(0), uintptr(0)) != 0 { return } @@ -96120,7 +97181,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 + 13216 /* "BEGIN" */, ts + 13238 /* "RELEASE" */, ts + 13222 /* "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. @@ -96136,7 +97197,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+13246 /* "unable to open a..." */, 0) (*Parse)(unsafe.Pointer(pParse)).Frc = rc return 1 } @@ -96279,17 +97340,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+13316 /* "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+13327 /* ", " */, 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+771 /* "." */, 1) Xsqlite3_str_appendall(tls, bp+8 /* &errMsg */, zCol) } } @@ -96312,11 +97373,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+10788 /* "%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+13330 /* "%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), @@ -96459,7 +97520,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+13339 /* "unable to identi..." */, 0) } // Return a KeyInfo structure that is appropriate for the given Index. @@ -96569,7 +97630,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+13385 /* "duplicate WITH t..." */, libc.VaList(bp, zName)) } } } @@ -96630,7 +97691,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 { @@ -96639,7 +97702,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) } @@ -96803,7 +97868,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+13415 /* "no such collatio..." */, libc.VaList(bp, zName)) (*Parse)(unsafe.Pointer(pParse)).Frc = (SQLITE_ERROR | (int32(1) << 8)) } return p @@ -97169,11 +98234,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+13446 /* "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+13475 /* "cannot modify %s..." */, libc.VaList(bp+8, (*Table)(unsafe.Pointer(pTab)).FzName)) return 1 } return 0 @@ -97766,7 +98831,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+13513 /* "rows deleted" */, uintptr(0)) __61: ; @@ -97911,7 +98976,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+10075 /* "sqlite_stat1" */)) { Xsqlite3VdbeAppendP4(tls, v, pTab, -6) } if int32(eMode) != ONEPASS_OFF { @@ -98189,7 +99254,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 + 5271 /* "integer" */, ts + 5266 /* "real" */, ts + 13526 /* "text" */, ts + 13531 /* "blob" */, ts + 5261 /* "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: */ @@ -98253,7 +99318,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+13536 /* "integer overflow" */, -1) return } iVal = -iVal @@ -98584,14 +99649,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+13553 /* "%.*f" */, libc.VaList(bp, n, *(*float64)(unsafe.Pointer(bp + 16 /* r */)))) if zBuf == uintptr(0) { Xsqlite3_result_error_nomem(tls, context) return @@ -99041,7 +100106,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+13558 /* "LIKE or GLOB pat..." */, -1) return } if argc == 3 { @@ -99053,7 +100118,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+13591 /* "ESCAPE expressio..." */, -1) return } escape = Xsqlite3Utf8Read(tls, bp /* &zEsc */) @@ -99119,7 +100184,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+2793 /* "%s" */, libc.VaList(bp, Xsqlite3_value_text(tls, *(*uintptr)(unsafe.Pointer(argv + 1*8))))) } // Implementation of the sqlite_compileoption_used() function. @@ -99176,10 +100241,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+4037 /* "%!.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+13636 /* "%!.20e" */, libc.VaList(bp+8, r1)) } Xsqlite3_result_text(tls, context, bp+16 /* &zBuf[0] */, -1, libc.UintptrFromInt32(-1)) break @@ -99253,7 +100318,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+759 /* "NULL" */, 4, uintptr(0)) break } @@ -99564,7 +100629,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 + 9655 /* " " */)} /* 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 @@ -99585,7 +100650,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 + 758 /* "" */ } for i = 0; (*(*U8)(unsafe.Pointer(zIn + uintptr(i))) != 0) && !((int32(Xsqlite3CtypeMap[*(*U8)(unsafe.Pointer(zIn + uintptr(i)))]) & 0x02) != 0); i++ { } @@ -99611,7 +100676,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+13643 /* "?000" */, 4, uintptr(0)) } } @@ -99639,7 +100704,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+10827 /* "not authorized" */, -1) return } @@ -99657,12 +100722,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 @@ -99727,7 +100792,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+13536 /* "integer overflow" */, -1) } else if (*SumCtx)(unsafe.Pointer(p)).Fapprox != 0 { Xsqlite3_result_double(tls, context, (*SumCtx)(unsafe.Pointer(p)).FrSum) } else { @@ -99881,7 +100946,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 + 11540 /* "," */ nSep = 1 } if zSep != 0 { @@ -99959,7 +101024,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+13648 /* "MATCH" */, 2) if rc == SQLITE_NOMEM { Xsqlite3OomFault(tls, db) @@ -99979,14 +101044,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+13654 /* "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+13654 /* "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+13654 /* "like" */, 2, uint8(SQLITE_UTF8), uint8(0)) + 4 /* &.funcFlags */)) |= (U32(flags)) + *(*U32)(unsafe.Pointer(Xsqlite3FindFunction(tls, db, ts+13654 /* "like" */, 3, uint8(SQLITE_UTF8), uint8(0)) + 4 /* &.funcFlags */)) |= (U32(flags)) } // pExpr points to an expression which implements a function. If @@ -100091,76 +101156,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 + 13659 /* "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 + 13679 /* "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 + 13692 /* "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(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(1), FfuncFlags: (U32((SQLITE_FUNC_CONSTANT | SQLITE_UTF8) | (0 * SQLITE_FUNC_NEEDCOLL))), FxSFunc: 0, FzName: ts + 13710 /* "soundex" */}, + {FnArg: int8(1), FfuncFlags: (U32((SQLITE_UTF8 | SQLITE_DIRECTONLY) | SQLITE_FUNC_UNSAFE)), FxSFunc: 0, FzName: ts + 13718 /* "load_extension" */}, + {FnArg: int8(2), FfuncFlags: (U32((SQLITE_UTF8 | SQLITE_DIRECTONLY) | SQLITE_FUNC_UNSAFE)), FxSFunc: 0, FzName: ts + 13718 /* "load_extension" */}, + {FnArg: int8(1), FfuncFlags: (U32(SQLITE_FUNC_SLOCHNG | SQLITE_UTF8)), FxSFunc: 0, FzName: ts + 13733 /* "sqlite_compileop..." */}, + {FnArg: int8(1), FfuncFlags: (U32(SQLITE_FUNC_SLOCHNG | SQLITE_UTF8)), FxSFunc: 0, FzName: ts + 13759 /* "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 + 13784 /* "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 + 13793 /* "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 + 13804 /* "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 + 13811 /* "sqlite_offset" */}, + {FnArg: int8(1), FfuncFlags: (U32((SQLITE_FUNC_CONSTANT | SQLITE_UTF8) | (0 * SQLITE_FUNC_NEEDCOLL))), FpUserData: uintptr(int64(1)), FxSFunc: 0, FzName: ts + 13825 /* "ltrim" */}, + {FnArg: int8(2), FfuncFlags: (U32((SQLITE_FUNC_CONSTANT | SQLITE_UTF8) | (0 * SQLITE_FUNC_NEEDCOLL))), FpUserData: uintptr(int64(1)), FxSFunc: 0, FzName: ts + 13825 /* "ltrim" */}, + {FnArg: int8(1), FfuncFlags: (U32((SQLITE_FUNC_CONSTANT | SQLITE_UTF8) | (0 * SQLITE_FUNC_NEEDCOLL))), FpUserData: uintptr(int64(2)), FxSFunc: 0, FzName: ts + 13831 /* "rtrim" */}, + {FnArg: int8(2), FfuncFlags: (U32((SQLITE_FUNC_CONSTANT | SQLITE_UTF8) | (0 * SQLITE_FUNC_NEEDCOLL))), FpUserData: uintptr(int64(2)), FxSFunc: 0, FzName: ts + 13831 /* "rtrim" */}, + {FnArg: int8(1), FfuncFlags: (U32((SQLITE_FUNC_CONSTANT | SQLITE_UTF8) | (0 * SQLITE_FUNC_NEEDCOLL))), FpUserData: uintptr(int64(3)), FxSFunc: 0, FzName: ts + 13837 /* "trim" */}, + {FnArg: int8(2), FfuncFlags: (U32((SQLITE_FUNC_CONSTANT | SQLITE_UTF8) | (0 * SQLITE_FUNC_NEEDCOLL))), FpUserData: uintptr(int64(3)), FxSFunc: 0, FzName: ts + 13837 /* "trim" */}, + {FnArg: int8(-1), FfuncFlags: (U32((SQLITE_FUNC_CONSTANT | SQLITE_UTF8) | (1 * SQLITE_FUNC_NEEDCOLL))), FxSFunc: 0, FzName: ts + 13842 /* "min" */}, + {FfuncFlags: (U32((SQLITE_FUNC_CONSTANT | SQLITE_UTF8) | (1 * SQLITE_FUNC_NEEDCOLL))), FzName: ts + 13842 /* "min" */}, + {FnArg: int8(1), FfuncFlags: (U32((SQLITE_UTF8 | (1 * SQLITE_FUNC_NEEDCOLL)) | SQLITE_FUNC_MINMAX)), FxSFunc: 0, FxFinalize: 0, FxValue: 0, FzName: ts + 13842 /* "min" */}, + {FnArg: int8(-1), FfuncFlags: (U32((SQLITE_FUNC_CONSTANT | SQLITE_UTF8) | (1 * SQLITE_FUNC_NEEDCOLL))), FpUserData: uintptr(int64(1)), FxSFunc: 0, FzName: ts + 13846 /* "max" */}, + {FfuncFlags: (U32((SQLITE_FUNC_CONSTANT | SQLITE_UTF8) | (1 * SQLITE_FUNC_NEEDCOLL))), FpUserData: uintptr(int64(1)), FzName: ts + 13846 /* "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 + 13846 /* "max" */}, + {FnArg: int8(1), FfuncFlags: (U32(((SQLITE_FUNC_CONSTANT | SQLITE_UTF8) | (0 * SQLITE_FUNC_NEEDCOLL)) | SQLITE_FUNC_TYPEOF)), FxSFunc: 0, FzName: ts + 13850 /* "typeof" */}, + {FnArg: int8(1), FfuncFlags: (U32(((SQLITE_FUNC_CONSTANT | SQLITE_UTF8) | (0 * SQLITE_FUNC_NEEDCOLL)) | SQLITE_FUNC_LENGTH)), FxSFunc: 0, FzName: ts + 13857 /* "length" */}, + {FnArg: int8(2), FfuncFlags: (U32((SQLITE_FUNC_CONSTANT | SQLITE_UTF8) | (0 * SQLITE_FUNC_NEEDCOLL))), FxSFunc: 0, FzName: ts + 13864 /* "instr" */}, + {FnArg: int8(-1), FfuncFlags: (U32((SQLITE_FUNC_CONSTANT | SQLITE_UTF8) | (0 * SQLITE_FUNC_NEEDCOLL))), FxSFunc: 0, FzName: ts + 13870 /* "printf" */}, + {FnArg: int8(1), FfuncFlags: (U32((SQLITE_FUNC_CONSTANT | SQLITE_UTF8) | (0 * SQLITE_FUNC_NEEDCOLL))), FxSFunc: 0, FzName: ts + 13877 /* "unicode" */}, + {FnArg: int8(-1), FfuncFlags: (U32((SQLITE_FUNC_CONSTANT | SQLITE_UTF8) | (0 * SQLITE_FUNC_NEEDCOLL))), FxSFunc: 0, FzName: ts + 13885 /* "char" */}, + {FnArg: int8(1), FfuncFlags: (U32((SQLITE_FUNC_CONSTANT | SQLITE_UTF8) | (0 * SQLITE_FUNC_NEEDCOLL))), FxSFunc: 0, FzName: ts + 13890 /* "abs" */}, + {FnArg: int8(1), FfuncFlags: (U32((SQLITE_FUNC_CONSTANT | SQLITE_UTF8) | (0 * SQLITE_FUNC_NEEDCOLL))), FxSFunc: 0, FzName: ts + 13894 /* "round" */}, + {FnArg: int8(2), FfuncFlags: (U32((SQLITE_FUNC_CONSTANT | SQLITE_UTF8) | (0 * SQLITE_FUNC_NEEDCOLL))), FxSFunc: 0, FzName: ts + 13894 /* "round" */}, + {FnArg: int8(1), FfuncFlags: (U32((SQLITE_FUNC_CONSTANT | SQLITE_UTF8) | (0 * SQLITE_FUNC_NEEDCOLL))), FxSFunc: 0, FzName: ts + 13900 /* "upper" */}, + {FnArg: int8(1), FfuncFlags: (U32((SQLITE_FUNC_CONSTANT | SQLITE_UTF8) | (0 * SQLITE_FUNC_NEEDCOLL))), FxSFunc: 0, FzName: ts + 13906 /* "lower" */}, + {FnArg: int8(1), FfuncFlags: (U32((SQLITE_FUNC_CONSTANT | SQLITE_UTF8) | (0 * SQLITE_FUNC_NEEDCOLL))), FxSFunc: 0, FzName: ts + 13912 /* "hex" */}, + {FnArg: int8(2), FfuncFlags: (U32(((SQLITE_UTF8 | SQLITE_FUNC_INLINE) | SQLITE_FUNC_CONSTANT) | (0))), FxSFunc: 0, FzName: ts + 13916 /* "ifnull" */}, + {FfuncFlags: (U32(SQLITE_UTF8 | (0 * SQLITE_FUNC_NEEDCOLL))), FxSFunc: 0, FzName: ts + 13923 /* "random" */}, + {FnArg: int8(1), FfuncFlags: (U32(SQLITE_UTF8 | (0 * SQLITE_FUNC_NEEDCOLL))), FxSFunc: 0, FzName: ts + 13930 /* "randomblob" */}, + {FnArg: int8(2), FfuncFlags: (U32((SQLITE_FUNC_CONSTANT | SQLITE_UTF8) | (1 * SQLITE_FUNC_NEEDCOLL))), FxSFunc: 0, FzName: ts + 13941 /* "nullif" */}, + {FfuncFlags: (U32(SQLITE_FUNC_SLOCHNG | SQLITE_UTF8)), FxSFunc: 0, FzName: ts + 13948 /* "sqlite_version" */}, + {FfuncFlags: (U32(SQLITE_FUNC_SLOCHNG | SQLITE_UTF8)), FxSFunc: 0, FzName: ts + 13963 /* "sqlite_source_id" */}, + {FnArg: int8(2), FfuncFlags: (U32((SQLITE_FUNC_CONSTANT | SQLITE_UTF8) | (0 * SQLITE_FUNC_NEEDCOLL))), FxSFunc: 0, FzName: ts + 13980 /* "sqlite_log" */}, + {FnArg: int8(1), FfuncFlags: (U32((SQLITE_FUNC_CONSTANT | SQLITE_UTF8) | (0 * SQLITE_FUNC_NEEDCOLL))), FxSFunc: 0, FzName: ts + 13991 /* "quote" */}, + {FfuncFlags: (U32(SQLITE_UTF8 | (0 * SQLITE_FUNC_NEEDCOLL))), FxSFunc: 0, FzName: ts + 13997 /* "last_insert_rowi..." */}, + {FfuncFlags: (U32(SQLITE_UTF8 | (0 * SQLITE_FUNC_NEEDCOLL))), FxSFunc: 0, FzName: ts + 14015 /* "changes" */}, + {FfuncFlags: (U32(SQLITE_UTF8 | (0 * SQLITE_FUNC_NEEDCOLL))), FxSFunc: 0, FzName: ts + 14023 /* "total_changes" */}, + {FnArg: int8(3), FfuncFlags: (U32((SQLITE_FUNC_CONSTANT | SQLITE_UTF8) | (0 * SQLITE_FUNC_NEEDCOLL))), FxSFunc: 0, FzName: ts + 14037 /* "replace" */}, + {FnArg: int8(1), FfuncFlags: (U32((SQLITE_FUNC_CONSTANT | SQLITE_UTF8) | (0 * SQLITE_FUNC_NEEDCOLL))), FxSFunc: 0, FzName: ts + 14045 /* "zeroblob" */}, + {FnArg: int8(2), FfuncFlags: (U32((SQLITE_FUNC_CONSTANT | SQLITE_UTF8) | (0 * SQLITE_FUNC_NEEDCOLL))), FxSFunc: 0, FzName: ts + 14054 /* "substr" */}, + {FnArg: int8(3), FfuncFlags: (U32((SQLITE_FUNC_CONSTANT | SQLITE_UTF8) | (0 * SQLITE_FUNC_NEEDCOLL))), FxSFunc: 0, FzName: ts + 14054 /* "substr" */}, + {FnArg: int8(2), FfuncFlags: (U32((SQLITE_FUNC_CONSTANT | SQLITE_UTF8) | (0 * SQLITE_FUNC_NEEDCOLL))), FxSFunc: 0, FzName: ts + 14061 /* "substring" */}, + {FnArg: int8(3), FfuncFlags: (U32((SQLITE_FUNC_CONSTANT | SQLITE_UTF8) | (0 * SQLITE_FUNC_NEEDCOLL))), FxSFunc: 0, FzName: ts + 14061 /* "substring" */}, + {FnArg: int8(1), FfuncFlags: (U32((SQLITE_UTF8 | (0 * SQLITE_FUNC_NEEDCOLL)) | 0)), FxSFunc: 0, FxFinalize: 0, FxValue: 0, FxInverse: 0, FzName: ts + 14071 /* "sum" */}, + {FnArg: int8(1), FfuncFlags: (U32((SQLITE_UTF8 | (0 * SQLITE_FUNC_NEEDCOLL)) | 0)), FxSFunc: 0, FxFinalize: 0, FxValue: 0, FxInverse: 0, FzName: ts + 14075 /* "total" */}, + {FnArg: int8(1), FfuncFlags: (U32((SQLITE_UTF8 | (0 * SQLITE_FUNC_NEEDCOLL)) | 0)), FxSFunc: 0, FxFinalize: 0, FxValue: 0, FxInverse: 0, FzName: ts + 14081 /* "avg" */}, + {FfuncFlags: (U32((SQLITE_UTF8 | (0 * SQLITE_FUNC_NEEDCOLL)) | SQLITE_FUNC_COUNT)), FxSFunc: 0, FxFinalize: 0, FxValue: 0, FxInverse: 0, FzName: ts + 14085 /* "count" */}, + {FnArg: int8(1), FfuncFlags: (U32((SQLITE_UTF8 | (0 * SQLITE_FUNC_NEEDCOLL)) | 0)), FxSFunc: 0, FxFinalize: 0, FxValue: 0, FxInverse: 0, FzName: ts + 14085 /* "count" */}, + {FnArg: int8(1), FfuncFlags: (U32((SQLITE_UTF8 | (0 * SQLITE_FUNC_NEEDCOLL)) | 0)), FxSFunc: 0, FxFinalize: 0, FxValue: 0, FxInverse: 0, FzName: ts + 14091 /* "group_concat" */}, + {FnArg: int8(2), FfuncFlags: (U32((SQLITE_UTF8 | (0 * SQLITE_FUNC_NEEDCOLL)) | 0)), FxSFunc: 0, FxFinalize: 0, FxValue: 0, FxInverse: 0, FzName: ts + 14091 /* "group_concat" */}, + + {FnArg: int8(2), FfuncFlags: (U32(((SQLITE_FUNC_CONSTANT | SQLITE_UTF8) | SQLITE_FUNC_LIKE) | SQLITE_FUNC_CASE)), FpUserData: 0, FxSFunc: 0, FzName: ts + 14104 /* "glob" */}, + {FnArg: int8(2), FfuncFlags: (U32((SQLITE_FUNC_CONSTANT | SQLITE_UTF8) | SQLITE_FUNC_LIKE)), FpUserData: 0, FxSFunc: 0, FzName: ts + 13654 /* "like" */}, + {FnArg: int8(3), FfuncFlags: (U32((SQLITE_FUNC_CONSTANT | SQLITE_UTF8) | SQLITE_FUNC_LIKE)), FpUserData: 0, FxSFunc: 0, FzName: ts + 13654 /* "like" */}, + {FnArg: int8(1), FfuncFlags: (U32((SQLITE_FUNC_CONSTANT | SQLITE_UTF8) | (0 * SQLITE_FUNC_NEEDCOLL))), FzName: ts + 14109 /* "coalesce" */}, + {FfuncFlags: (U32((SQLITE_FUNC_CONSTANT | SQLITE_UTF8) | (0 * SQLITE_FUNC_NEEDCOLL))), FzName: ts + 14109 /* "coalesce" */}, + {FnArg: int8(1), FfuncFlags: (U32((SQLITE_FUNC_CONSTANT | SQLITE_UTF8) | (0 * SQLITE_FUNC_NEEDCOLL))), FxSFunc: 0, FzName: ts + 14118 /* "sign" */}, + {FnArg: int8(-1), FfuncFlags: (U32(((SQLITE_UTF8 | SQLITE_FUNC_INLINE) | SQLITE_FUNC_CONSTANT) | (0))), FxSFunc: 0, FzName: ts + 14109 /* "coalesce" */}, + {FnArg: int8(3), FfuncFlags: (U32(((SQLITE_UTF8 | SQLITE_FUNC_INLINE) | SQLITE_FUNC_CONSTANT) | (0))), FpUserData: uintptr(int64(INLINEFUNC_iif)), FxSFunc: 0, FzName: ts + 14123 /* "iif" */}} /* sqlite3.c:121438:18 */ //************* End of func.c *********************************************** //************* Begin file fkey.c ******************************************* @@ -100446,7 +101511,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+14127, /* "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) @@ -101342,8 +102407,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 + 5470 /* "old" */, Fn: uint32(3)} // Literal "old" token + *(*Token)(unsafe.Pointer(bp + 64 /* tNew */)) = Token{Fz: ts + 5466 /* "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 @@ -101431,7 +102496,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+4253 /* "FOREIGN KEY cons..." */) if pRaise != 0 { (*Expr)(unsafe.Pointer(pRaise)).FaffExpr = int8(OE_Abort) } @@ -101492,6 +102557,7 @@ func fkActionTrigger(tls *libc.TLS, pParse uintptr, pTab uintptr, pFKey uintptr, break } fallthrough + /* no break */ default: (*TriggerStep)(unsafe.Pointer(pStep)).Fop = U8(TK_UPDATE) } @@ -101861,7 +102927,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+6947 /* "generated column..." */, libc.VaList(bp, (*Column)(unsafe.Pointer(pRedo)).FzName)) } (*Parse)(unsafe.Pointer(pParse)).FiSelfTab = 0 } @@ -102425,7 +103491,7 @@ __23: goto __24 } Xsqlite3ErrorMsg(tls, pParse, - ts+14170, /* "cannot INSERT in..." */ + ts+14172, /* "cannot INSERT in..." */ libc.VaList(bp, (*Column)(unsafe.Pointer((*Table)(unsafe.Pointer(pTab)).FaCol+uintptr(j)*32)).FzName)) goto insert_cleanup __24: @@ -102450,7 +103516,7 @@ __20: bIdListInOrder = U8(0) goto __27 __26: - Xsqlite3ErrorMsg(tls, pParse, ts+14211, /* "table %S has no ..." */ + Xsqlite3ErrorMsg(tls, pParse, ts+14213, /* "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 @@ -102620,7 +103686,7 @@ __42: goto __47 } Xsqlite3ErrorMsg(tls, pParse, - ts+14243, /* "table %S has %d ..." */ + ts+14245, /* "table %S has %d ..." */ libc.VaList(bp+24, pTabList+8 /* &.a */, (int32((*Table)(unsafe.Pointer(pTab)).FnCol)-nHidden), nColumn)) goto insert_cleanup __47: @@ -102630,7 +103696,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+14297 /* "%d values for %d..." */, libc.VaList(bp+48, nColumn, (*IdList)(unsafe.Pointer(pColumn)).FnId)) goto insert_cleanup __48: ; @@ -102686,7 +103752,7 @@ __50: if !((*Table)(unsafe.Pointer(pTab)).FnModuleArg != 0) { goto __56 } - Xsqlite3ErrorMsg(tls, pParse, ts+14320, /* "UPSERT not imple..." */ + Xsqlite3ErrorMsg(tls, pParse, ts+14322, /* "UPSERT not imple..." */ libc.VaList(bp+64, (*Table)(unsafe.Pointer(pTab)).FzName)) goto insert_cleanup __56: @@ -102694,7 +103760,7 @@ __56: if !((*Table)(unsafe.Pointer(pTab)).FpSelect != 0) { goto __57 } - Xsqlite3ErrorMsg(tls, pParse, ts+14366 /* "cannot UPSERT a ..." */, 0) + Xsqlite3ErrorMsg(tls, pParse, ts+14368 /* "cannot UPSERT a ..." */, 0) goto insert_cleanup __57: ; @@ -103174,7 +104240,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+14389 /* "rows inserted" */, uintptr(0)) __123: ; @@ -103256,9 +104322,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 @@ -103275,8 +104341,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 */ @@ -103514,11 +104580,12 @@ func Xsqlite3GenerateConstraintChecks(tls *libc.TLS, pParse uintptr, pTab uintpt case OE_Abort: Xsqlite3MayAbort(tls, pParse) fallthrough + /* no break */ case OE_Rollback: 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+10788 /* "%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) @@ -103835,6 +104902,7 @@ func Xsqlite3GenerateConstraintChecks(tls *libc.TLS, pParse uintptr, pTab uintpt default: { onError = OE_Abort + /* no break */ } fallthrough @@ -103900,6 +104968,7 @@ func Xsqlite3GenerateConstraintChecks(tls *libc.TLS, pParse uintptr, pTab uintpt case OE_Update: { Xsqlite3UpsertDoUpdate(tls, pParse, pUpsert, pTab, uintptr(0), iDataCur) + /* no break */ } fallthrough @@ -104109,6 +105178,7 @@ func Xsqlite3GenerateConstraintChecks(tls *libc.TLS, pParse uintptr, pTab uintpt case OE_Update: { Xsqlite3UpsertDoUpdate(tls, pParse, pUpsert, pTab, pIdx, (iIdxCur + *(*int32)(unsafe.Pointer(bp + 40 /* ix */)))) + /* no break */ } fallthrough @@ -104921,7 +105991,7 @@ __1: if !(zSql == uintptr(0)) { goto __2 } - zSql = ts + 756 /* "" */ + zSql = ts + 758 /* "" */ __2: ; @@ -105021,7 +106091,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 @@ -105482,7 +106554,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+10827 /* "not authorized" */, 0) __3: ; return SQLITE_ERROR @@ -105492,7 +106564,7 @@ __2: if zProc != 0 { zEntry = zProc } else { - zEntry = ts + 14401 /* "sqlite3_extensio..." */ + zEntry = ts + 14403 /* "sqlite3_extensio..." */ } // tag-20210611-1. Some dlopen() implementations will segfault if given @@ -105512,7 +106584,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+10788 /* "%s.%s" */, libc.VaList(bp, zFile, azEndings[ii])) if !(zAltFile == uintptr(0)) { goto __8 } @@ -105558,7 +106630,7 @@ __9: return SQLITE_NOMEM __11: ; - libc.Xmemcpy(tls, zAltEntry, ts+14424 /* "sqlite3_" */, uint64(8)) + libc.Xmemcpy(tls, zAltEntry, ts+14426 /* "sqlite3_" */, uint64(8)) iFile = (ncFile - 1) __12: if !((iFile >= 0) && !((int32(*(*int8)(unsafe.Pointer(zFile + uintptr(iFile))))) == '/')) { @@ -105572,7 +106644,7 @@ __13: __14: ; iFile++ - if !(Xsqlite3_strnicmp(tls, (zFile+uintptr(iFile)), ts+14433 /* "lib" */, 3) == 0) { + if !(Xsqlite3_strnicmp(tls, (zFile+uintptr(iFile)), ts+14435 /* "lib" */, 3) == 0) { goto __15 } iFile = iFile + (3) @@ -105596,7 +106668,7 @@ __17: goto __18 __18: ; - libc.Xmemcpy(tls, (zAltEntry + uintptr(iEntry)), ts+14437 /* "_init" */, uint64(6)) + libc.Xmemcpy(tls, (zAltEntry + uintptr(iEntry)), ts+14439 /* "_init" */, uint64(6)) zEntry = zAltEntry xInit = Xsqlite3OsDlSym(tls, pVfs, handle, zEntry) __10: @@ -105614,7 +106686,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+14445 /* "no entry point [..." */, libc.VaList(bp+16, zEntry, zFile)) Xsqlite3OsDlError(tls, pVfs, (int32(nMsg - uint64(1))), *(*uintptr)(unsafe.Pointer(bp + 56 /* zErrmsg */))) __22: ; @@ -105626,7 +106698,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 } @@ -105639,7 +106713,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+14488 /* "error during ini..." */, libc.VaList(bp+32, *(*uintptr)(unsafe.Pointer(bp + 56 /* zErrmsg */)))) __25: ; Xsqlite3_free(tls, *(*uintptr)(unsafe.Pointer(bp + 56 /* zErrmsg */))) @@ -105679,7 +106753,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+14520 /* "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: ; @@ -105689,7 +106763,7 @@ __28: } var azEndings = [1]uintptr{ - ts + 14555, /* "so" */ + ts + 14557, /* "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: */ @@ -105731,9 +106805,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 @@ -105854,9 +106928,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+14560 /* "automatic extens..." */, libc.VaList(bp, *(*uintptr)(unsafe.Pointer(bp + 8 /* zErrmsg */)))) go1 = 0 } Xsqlite3_free(tls, *(*uintptr)(unsafe.Pointer(bp + 8 /* zErrmsg */))) @@ -105901,305 +106977,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 + 4174, /* "id" */ // Used by: foreign_key_list + /* 1 */ ts + 14599, /* "seq" */ + /* 2 */ ts + 7826, /* "table" */ + /* 3 */ ts + 14603, /* "from" */ + /* 4 */ ts + 14608, /* "to" */ + /* 5 */ ts + 14611, /* "on_update" */ + /* 6 */ ts + 14621, /* "on_delete" */ + /* 7 */ ts + 14631, /* "match" */ + /* 8 */ ts + 14637, /* "cid" */ // Used by: table_xinfo + /* 9 */ ts + 14641, /* "name" */ + /* 10 */ ts + 14646, /* "type" */ + /* 11 */ ts + 14651, /* "notnull" */ + /* 12 */ ts + 14659, /* "dflt_value" */ + /* 13 */ ts + 14670, /* "pk" */ + /* 14 */ ts + 14673, /* "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 + 14680, /* "seqno" */ // Used by: index_xinfo + /* 16 */ ts + 14637, /* "cid" */ + /* 17 */ ts + 14641, /* "name" */ + /* 18 */ ts + 14686, /* "desc" */ + /* 19 */ ts + 14691, /* "coll" */ + /* 20 */ ts + 14696, /* "key" */ + /* 21 */ ts + 14641, /* "name" */ // Used by: function_list + /* 22 */ ts + 14700, /* "builtin" */ + /* 23 */ ts + 14646, /* "type" */ + /* 24 */ ts + 14708, /* "enc" */ + /* 25 */ ts + 14712, /* "narg" */ + /* 26 */ ts + 14717, /* "flags" */ + /* 27 */ ts + 10219, /* "tbl" */ // Used by: stats + /* 28 */ ts + 10215, /* "idx" */ + /* 29 */ ts + 14723, /* "wdth" */ + /* 30 */ ts + 14728, /* "hght" */ + /* 31 */ ts + 14733, /* "flgs" */ + /* 32 */ ts + 14599, /* "seq" */ // Used by: index_list + /* 33 */ ts + 14641, /* "name" */ + /* 34 */ ts + 14738, /* "unique" */ + /* 35 */ ts + 14745, /* "origin" */ + /* 36 */ ts + 14752, /* "partial" */ + /* 37 */ ts + 7826, /* "table" */ // Used by: foreign_key_check + /* 38 */ ts + 14760, /* "rowid" */ + /* 39 */ ts + 4177, /* "parent" */ + /* 40 */ ts + 14766, /* "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 + 14599, /* "seq" */ // Used by: database_list + /* 42 */ ts + 14641, /* "name" */ + /* 43 */ ts + 14771, /* "file" */ + /* 44 */ ts + 14776, /* "busy" */ // Used by: wal_checkpoint + /* 45 */ ts + 14781, /* "log" */ + /* 46 */ ts + 14785, /* "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 + 14798, /* "database" */ // Used by: lock_status + /* 48 */ ts + 14807, /* "status" */ + /* 49 */ ts + 14814, /* "cache_size" */ // Used by: default_cache_size // module_list pragma_list reuses 9 - /* 50 */ ts + 14823, /* "timeout" */ // Used by: busy_timeout + /* 50 */ ts + 14825, /* "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 + 14833, /* "analysis_limit" */ /* ePragTyp: */ FePragTyp: U8(PragTyp_ANALYSIS_LIMIT), /* ePragFlg: */ FmPragFlg: U8(PragFlg_Result0)}, - { /* zName: */ FzName: ts + 14846, /* "application_id" */ + { /* zName: */ FzName: ts + 14848, /* "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 + 14863, /* "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 + 14875, /* "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 + 14891, /* "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 + 14814, /* "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 + 14904, /* "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 + 14916, /* "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 + 14936, /* "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 + 14952, /* "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 + 14973, /* "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 + 14988, /* "compile_options" */ /* ePragTyp: */ FePragTyp: U8(PragTyp_COMPILE_OPTIONS), /* ePragFlg: */ FmPragFlg: U8(PragFlg_Result0)}, - { /* zName: */ FzName: ts + 15002, /* "count_changes" */ + { /* zName: */ FzName: ts + 15004, /* "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 + 15018, /* "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 + 15031, /* "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 + 15045, /* "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 + 15064, /* "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 + 15083, /* "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 + 15106, /* "encoding" */ /* ePragTyp: */ FePragTyp: U8(PragTyp_ENCODING), /* ePragFlg: */ FmPragFlg: (U8(PragFlg_Result0 | PragFlg_NoColumns1))}, - { /* zName: */ FzName: ts + 15113, /* "foreign_key_chec..." */ + { /* zName: */ FzName: ts + 15115, /* "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 + 15133, /* "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 + 15150, /* "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 + 15163, /* "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 + 15178, /* "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 + 15196, /* "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 + 15206, /* "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 + 15220, /* "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 + 15236, /* "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 + 15261, /* "incremental_vacu..." */ /* ePragTyp: */ FePragTyp: U8(PragTyp_INCREMENTAL_VACUUM), /* ePragFlg: */ FmPragFlg: (U8(PragFlg_NeedSchema | PragFlg_NoColumns))}, - { /* zName: */ FzName: ts + 15278, /* "index_info" */ + { /* zName: */ FzName: ts + 15280, /* "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 + 15291, /* "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 + 15302, /* "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 + 15314, /* "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 + 15330, /* "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 + 15343, /* "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 + 15362, /* "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 + 15381, /* "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 + 15394, /* "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 + 15409, /* "mmap_size" */ /* ePragTyp: */ FePragTyp: U8(PragTyp_MMAP_SIZE)}, - { /* zName: */ FzName: ts + 15417, /* "module_list" */ + { /* zName: */ FzName: ts + 15419, /* "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 + 15431, /* "optimize" */ /* ePragTyp: */ FePragTyp: U8(PragTyp_OPTIMIZE), /* ePragFlg: */ FmPragFlg: (U8(PragFlg_Result1 | PragFlg_NeedSchema))}, - { /* zName: */ FzName: ts + 15438, /* "page_count" */ + { /* zName: */ FzName: ts + 15440, /* "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 + 15451, /* "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 + 15461, /* "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 + 15473, /* "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 + 15484, /* "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 + 15496, /* "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 + 15513, /* "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 + 15532, /* "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 + 15558, /* "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 + 15573, /* "secure_delete" */ /* ePragTyp: */ FePragTyp: U8(PragTyp_SECURE_DELETE), /* ePragFlg: */ FmPragFlg: U8(PragFlg_Result0)}, - { /* zName: */ FzName: ts + 15585, /* "short_column_nam..." */ + { /* zName: */ FzName: ts + 15587, /* "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 + 15606, /* "shrink_memory" */ /* ePragTyp: */ FePragTyp: U8(PragTyp_SHRINK_MEMORY), /* ePragFlg: */ FmPragFlg: U8(PragFlg_NoColumns)}, - { /* zName: */ FzName: ts + 15618, /* "soft_heap_limit" */ + { /* zName: */ FzName: ts + 15620, /* "soft_heap_limit" */ /* ePragTyp: */ FePragTyp: U8(PragTyp_SOFT_HEAP_LIMIT), /* ePragFlg: */ FmPragFlg: U8(PragFlg_Result0)}, - { /* zName: */ FzName: ts + 15634, /* "synchronous" */ + { /* zName: */ FzName: ts + 15636, /* "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 + 15648, /* "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 + 15659, /* "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 + 15671, /* "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 + 15682, /* "temp_store_direc..." */ /* ePragTyp: */ FePragTyp: U8(PragTyp_TEMP_STORE_DIRECTORY), /* ePragFlg: */ FmPragFlg: U8(PragFlg_NoColumns1)}, - { /* zName: */ FzName: ts + 15701, /* "threads" */ + { /* zName: */ FzName: ts + 15703, /* "threads" */ /* ePragTyp: */ FePragTyp: U8(PragTyp_THREADS), /* ePragFlg: */ FmPragFlg: U8(PragFlg_Result0)}, - { /* zName: */ FzName: ts + 15709, /* "trusted_schema" */ + { /* zName: */ FzName: ts + 15711, /* "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 + 15726, /* "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 + 15739, /* "wal_autocheckpoi..." */ /* ePragTyp: */ FePragTyp: U8(PragTyp_WAL_AUTOCHECKPOINT)}, - { /* zName: */ FzName: ts + 15756, /* "wal_checkpoint" */ + { /* zName: */ FzName: ts + 15758, /* "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 + 15773, /* "writable_schema" */ /* ePragTyp: */ FePragTyp: U8(PragTyp_FLAG), /* ePragFlg: */ FmPragFlg: (U8(PragFlg_Result0 | PragFlg_NoColumns1)), /* iArg: */ FiArg: (uint64(SQLITE_WriteSchema | SQLITE_NoSchemaError))}, @@ -106236,7 +107312,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 + 15789 /* "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 */ @@ -106253,10 +107329,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+15814 /* "exclusive" */) { return PAGER_LOCKINGMODE_EXCLUSIVE } - if 0 == Xsqlite3StrICmp(tls, z, ts+15822 /* "normal" */) { + if 0 == Xsqlite3StrICmp(tls, z, ts+15824 /* "normal" */) { return PAGER_LOCKINGMODE_NORMAL } } @@ -106269,13 +107345,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+15831 /* "none" */) { return BTREE_AUTOVACUUM_NONE } - if 0 == Xsqlite3StrICmp(tls, z, ts+15834 /* "full" */) { + if 0 == Xsqlite3StrICmp(tls, z, ts+15836 /* "full" */) { return BTREE_AUTOVACUUM_FULL } - if 0 == Xsqlite3StrICmp(tls, z, ts+15839 /* "incremental" */) { + if 0 == Xsqlite3StrICmp(tls, z, ts+15841 /* "incremental" */) { return BTREE_AUTOVACUUM_INCR } i = Xsqlite3Atoi(tls, z) @@ -106293,9 +107369,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+14771 /* "file" */) == 0 { return 1 - } else if Xsqlite3StrICmp(tls, z, ts+15851 /* "memory" */) == 0 { + } else if Xsqlite3StrICmp(tls, z, ts+15853 /* "memory" */) == 0 { return 2 } else { return 0 @@ -106311,7 +107387,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+15860 /* "temporary storag..." */, 0) return SQLITE_ERROR } Xsqlite3BtreeClose(tls, (*Db)(unsafe.Pointer((*Sqlite3)(unsafe.Pointer(db)).FaDb+1*32)).FpBt) @@ -106411,19 +107487,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 + 15922 /* "SET NULL" */ break case OE_SetDflt: - zName = ts + 15929 /* "SET DEFAULT" */ + zName = ts + 15931 /* "SET DEFAULT" */ break case OE_Cascade: - zName = ts + 15941 /* "CASCADE" */ + zName = ts + 15943 /* "CASCADE" */ break case OE_Restrict: - zName = ts + 15949 /* "RESTRICT" */ + zName = ts + 15951 /* "RESTRICT" */ break default: - zName = ts + 15958 /* "NO ACTION" */ + zName = ts + 15960 /* "NO ACTION" */ break } return zName @@ -106441,7 +107517,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 + 15970 /* "delete" */, ts + 15977 /* "persist" */, ts + 15985 /* "off" */, ts + 15989 /* "truncate" */, ts + 15853 /* "memory" */, ts + 15998, /* "wal" */ } /* sqlite3.c:128715:15 */ // Locate a pragma in the aPragmaName[] array. @@ -106487,13 +107563,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 + 16002 /* "w" */ } else if (*FuncDef)(unsafe.Pointer(p)).FxFinalize != uintptr(0) { - zType = ts + 16002 /* "a" */ + zType = ts + 16004 /* "a" */ } else { - zType = ts + 16004 /* "s" */ + zType = ts + 16006 /* "s" */ } - Xsqlite3VdbeMultiLoad(tls, v, 1, ts+16006, /* "sissii" */ + Xsqlite3VdbeMultiLoad(tls, v, 1, ts+16008, /* "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), @@ -106502,7 +107578,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 + 16015 /* "utf8" */, ts + 16020 /* "utf16le" */, ts + 16028 /* "utf16be" */} /* sqlite3.c:128772:23 */ // Helper subroutine for PRAGMA integrity_check: // @@ -106764,7 +107840,7 @@ __4: if !(minusFlag != 0) { goto __5 } - zRight = Xsqlite3MPrintf(tls, db, ts+16034 /* "-%T" */, libc.VaList(bp, pValue)) + zRight = Xsqlite3MPrintf(tls, db, ts+16036 /* "-%T" */, libc.VaList(bp, pValue)) goto __6 __5: zRight = Xsqlite3NameFromToken(tls, db, pValue) @@ -106819,7 +107895,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+2793 /* "%s" */, libc.VaList(bp+8, *(*uintptr)(unsafe.Pointer(bp + 368 /* &aFcntl[0] */)))) Xsqlite3_free(tls, *(*uintptr)(unsafe.Pointer(bp + 368 /* &aFcntl[0] */))) __10: ; @@ -107391,7 +108467,7 @@ __18: if !(zRight != 0) { goto __62 } - if !(Xsqlite3_stricmp(tls, zRight, ts+16038 /* "fast" */) == 0) { + if !(Xsqlite3_stricmp(tls, zRight, ts+16040 /* "fast" */) == 0) { goto __63 } b = 2 @@ -107480,7 +108556,7 @@ __70: // PRAGMA [schema.]locking_mode // PRAGMA [schema.]locking_mode = (normal|exclusive) __20: - zRet = ts + 15822 /* "normal" */ + zRet = ts + 15824 /* "normal" */ eMode = getLockingMode(tls, zRight) if !(((*Token)(unsafe.Pointer(pId2)).Fn == uint32(0)) && (eMode == -1)) { @@ -107521,7 +108597,7 @@ __77: if !(eMode == PAGER_LOCKINGMODE_EXCLUSIVE) { goto __82 } - zRet = ts + 15812 /* "exclusive" */ + zRet = ts + 15814 /* "exclusive" */ __82: ; returnSingleText(tls, v, zRet) @@ -107886,7 +108962,7 @@ __122: if !((rc != SQLITE_OK) || (*(*int32)(unsafe.Pointer(bp + 432 /* res */)) == 0)) { goto __125 } - Xsqlite3ErrorMsg(tls, pParse, ts+16043 /* "not a writable d..." */, 0) + Xsqlite3ErrorMsg(tls, pParse, ts+16045 /* "not a writable d..." */, 0) goto pragma_out __125: ; @@ -107904,7 +108980,7 @@ __126: if !(*(*int8)(unsafe.Pointer(zRight)) != 0) { goto __127 } - Xsqlite3_temp_directory = Xsqlite3_mprintf(tls, ts+2791 /* "%s" */, libc.VaList(bp+16, zRight)) + Xsqlite3_temp_directory = Xsqlite3_mprintf(tls, ts+2793 /* "%s" */, libc.VaList(bp+16, zRight)) goto __128 __127: Xsqlite3_temp_directory = uintptr(0) @@ -107932,7 +109008,7 @@ __129: goto __131 } Xsqlite3ErrorMsg(tls, pParse, - ts+16068 /* "Safety level may..." */, 0) + ts+16070 /* "Safety level may..." */, 0) goto __132 __131: if !(iDb != 1) { @@ -108091,13 +109167,13 @@ __153: Xsqlite3VdbeMultiLoad(tls, v, 1, func() uintptr { if (*PragmaName)(unsafe.Pointer(pPragma)).FiArg != 0 { - return ts + 16121 /* "issisii" */ + return ts + 16123 /* "issisii" */ } - return ts + 16129 /* "issisi" */ + return ts + 16131 /* "issisi" */ }(), libc.VaList(bp+24, (i-nHidden), (*Column)(unsafe.Pointer(pCol)).FzName, - Xsqlite3ColumnType(tls, pCol, ts+756 /* "" */), + Xsqlite3ColumnType(tls, pCol, ts+758 /* "" */), func() int32 { if (*Column)(unsafe.Pointer(pCol)).FnotNull != 0 { return 1 @@ -108172,7 +109248,7 @@ __165: goto __167 } 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+16138 /* "iisX" */, libc.VaList(bp+80, i1, int32(cnum), func() uintptr { if int32(cnum) < 0 { return uintptr(0) @@ -108182,7 +109258,7 @@ __165: if !((*PragmaName)(unsafe.Pointer(pPragma)).FiArg != 0) { goto __168 } - Xsqlite3VdbeMultiLoad(tls, v, 4, ts+16141, /* "isiX" */ + Xsqlite3VdbeMultiLoad(tls, v, 4, ts+16143, /* "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))))) @@ -108219,8 +109295,8 @@ __171: if !(pIdx1 != 0) { goto __173 } - *(*[3]uintptr)(unsafe.Pointer(bp + 440 /* azOrigin */)) = [3]uintptr{ts + 16146 /* "c" */, ts + 16148 /* "u" */, ts + 14668 /* "pk" */} - Xsqlite3VdbeMultiLoad(tls, v, 1, ts+16150, /* "isisi" */ + *(*[3]uintptr)(unsafe.Pointer(bp + 440 /* azOrigin */)) = [3]uintptr{ts + 16148 /* "c" */, ts + 16150 /* "u" */, ts + 14670 /* "pk" */} + Xsqlite3VdbeMultiLoad(tls, v, 1, ts+16152, /* "isisi" */ libc.VaList(bp+128, i2, (*Index)(unsafe.Pointer(pIdx1)).FzName, (libc.Bool32(int32((*Index)(unsafe.Pointer((pIdx1))).FonError) != OE_None)), @@ -108254,7 +109330,7 @@ __174: __177: ; - Xsqlite3VdbeMultiLoad(tls, v, 1, ts+16156, /* "iss" */ + Xsqlite3VdbeMultiLoad(tls, v, 1, ts+16158, /* "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))) @@ -108277,7 +109353,7 @@ __178: goto __180 } 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+16162 /* "is" */, libc.VaList(bp+192, libc.PostIncInt32(&i4, 1), (*CollSeq)(unsafe.Pointer(pColl)).FzName)) goto __179 __179: p = (*HashElem)(unsafe.Pointer(p)).Fnext @@ -108341,7 +109417,7 @@ __190: goto __192 } 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+16006 /* "s" */, libc.VaList(bp+208, (*Module)(unsafe.Pointer(pMod)).FzName)) goto __191 __191: j1 = (*HashElem)(unsafe.Pointer(j1)).Fnext @@ -108358,7 +109434,7 @@ __193: if !(i6 < (int32(uint64(unsafe.Sizeof(aPragmaName)) / uint64(unsafe.Sizeof(PragmaName{}))))) { goto __195 } - Xsqlite3VdbeMultiLoad(tls, v, 1, ts+16004 /* "s" */, libc.VaList(bp+216, aPragmaName[i6].FzName)) + Xsqlite3VdbeMultiLoad(tls, v, 1, ts+16006 /* "s" */, libc.VaList(bp+216, aPragmaName[i6].FzName)) goto __194 __194: i6++ @@ -108394,7 +109470,7 @@ __201: if !(j2 < (*FKey)(unsafe.Pointer(pFK)).FnCol) { goto __203 } - Xsqlite3VdbeMultiLoad(tls, v, 1, ts+16163, /* "iissssss" */ + Xsqlite3VdbeMultiLoad(tls, v, 1, ts+16165, /* "iissssss" */ libc.VaList(bp+224, i7, j2, (*FKey)(unsafe.Pointer(pFK)).FzTo, @@ -108402,7 +109478,7 @@ __201: (*sColMap)(unsafe.Pointer((pFK+64 /* &.aCol */)+uintptr(j2)*16)).FzCol, actionName(tls, *(*U8)(unsafe.Pointer((pFK + 45 /* &.aAction */) + 1))), // ON UPDATE actionName(tls, *(*U8)(unsafe.Pointer((pFK + 45 /* &.aAction */)))), // ON DELETE - ts+16172 /* "NONE" */)) + ts+16174 /* "NONE" */)) goto __202 __202: j2++ @@ -108595,7 +109671,7 @@ __230: Xsqlite3VdbeAddOp2(tls, v, OP_Null, 0, (regResult + 1)) __231: ; - 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+16179 /* "siX" */, libc.VaList(bp+288, (*FKey)(unsafe.Pointer(pFK1)).FzTo, (i8-1))) Xsqlite3VdbeAddOp2(tls, v, OP_ResultRow, regResult, 4) Xsqlite3VdbeResolveLabel(tls, v, addrOk) Xsqlite3DbFree(tls, db, *(*uintptr)(unsafe.Pointer(bp + 472 /* aiCols */))) @@ -108861,7 +109937,7 @@ __258: Xsqlite3VdbeChangeP5(tls, v, uint16(U8(i9))) addr1 = Xsqlite3VdbeAddOp1(tls, v, OP_IsNull, 2) Xsqlite3VdbeAddOp4(tls, v, OP_String8, 0, 3, 0, - Xsqlite3MPrintf(tls, db, ts+16181 /* "*** in database ..." */, libc.VaList(bp+304, (*Db)(unsafe.Pointer((*Sqlite3)(unsafe.Pointer(db)).FaDb+uintptr(i9)*32)).FzDbSName)), + Xsqlite3MPrintf(tls, db, ts+16183 /* "*** 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) @@ -108951,7 +110027,7 @@ __277: __278: ; 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+16207 /* "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) @@ -108991,7 +110067,7 @@ __283: 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+16227, /* "CHECK constraint..." */ libc.VaList(bp+328, (*Table)(unsafe.Pointer(pTab7)).FzName)) Xsqlite3VdbeAddOp4(tls, v, OP_String8, 0, 3, 0, zErr1, -7) integrityCheckResultRow(tls, v) @@ -109025,9 +110101,9 @@ __288: // Verify that an index entry exists for the current table row jmp21 = Xsqlite3VdbeAddOp4Int(tls, v, OP_Found, (*(*int32)(unsafe.Pointer(bp + 488 /* iIdxCur */)) + j4), ckUniq, r1, int32((*Index)(unsafe.Pointer(pIdx5)).FnColumn)) - Xsqlite3VdbeLoadString(tls, v, 3, ts+16255 /* "row " */) + Xsqlite3VdbeLoadString(tls, v, 3, ts+16257 /* "row " */) Xsqlite3VdbeAddOp3(tls, v, OP_Concat, 7, 3, 3) - Xsqlite3VdbeLoadString(tls, v, 4, ts+16260 /* " missing from in..." */) + Xsqlite3VdbeLoadString(tls, v, 4, ts+16262 /* " 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) @@ -109067,7 +110143,7 @@ __292: Xsqlite3VdbeJumpHere(tls, v, jmp6) Xsqlite3VdbeAddOp4Int(tls, v, OP_IdxGT, (*(*int32)(unsafe.Pointer(bp + 488 /* iIdxCur */)) + j4), uniqOk, r1, int32((*Index)(unsafe.Pointer(pIdx5)).FnKeyCol)) - Xsqlite3VdbeLoadString(tls, v, 3, ts+16281 /* "non-unique entry..." */) + Xsqlite3VdbeLoadString(tls, v, 3, ts+16283 /* "non-unique entry..." */) Xsqlite3VdbeGoto(tls, v, jmp5) Xsqlite3VdbeResolveLabel(tls, v, uniqOk) __289: @@ -109089,7 +110165,7 @@ __284: if !(!(isQuick != 0)) { goto __294 } - Xsqlite3VdbeLoadString(tls, v, 2, ts+16308 /* "wrong # of entri..." */) + Xsqlite3VdbeLoadString(tls, v, 2, ts+16310 /* "wrong # of entri..." */) j4 = 0 pIdx5 = (*Table)(unsafe.Pointer(pTab7)).FpIndex __295: @@ -109140,7 +110216,7 @@ __240: } (*VdbeOp)(unsafe.Pointer(aOp2)).Fp2 = (1 - *(*int32)(unsafe.Pointer(bp + 480 /* mxErr */))) (*VdbeOp)(unsafe.Pointer(aOp2 + 2*24)).Fp4type = int8(-1) - *(*uintptr)(unsafe.Pointer(aOp2 + 2*24 + 16 /* &.p4 */)) = ts + 16337 /* "ok" */ + *(*uintptr)(unsafe.Pointer(aOp2 + 2*24 + 16 /* &.p4 */)) = ts + 16339 /* "ok" */ (*VdbeOp)(unsafe.Pointer(aOp2 + 5*24)).Fp4type = int8(-1) *(*uintptr)(unsafe.Pointer(aOp2 + 5*24 + 16 /* &.p4 */)) = Xsqlite3ErrStr(tls, SQLITE_CORRUPT) __299: @@ -109218,7 +110294,7 @@ __306: if !(!(int32((*EncName)(unsafe.Pointer(pEnc)).FzName) != 0)) { goto __308 } - Xsqlite3ErrorMsg(tls, pParse, ts+16340 /* "unsupported enco..." */, libc.VaList(bp+336, zRight)) + Xsqlite3ErrorMsg(tls, pParse, ts+16342 /* "unsupported enco..." */, libc.VaList(bp+336, zRight)) __308: ; __303: @@ -109330,19 +110406,19 @@ __47: if !(zRight != 0) { goto __315 } - if !(Xsqlite3StrICmp(tls, zRight, ts+15834 /* "full" */) == 0) { + if !(Xsqlite3StrICmp(tls, zRight, ts+15836 /* "full" */) == 0) { goto __316 } eMode2 = SQLITE_CHECKPOINT_FULL goto __317 __316: - if !(Xsqlite3StrICmp(tls, zRight, ts+16365 /* "restart" */) == 0) { + if !(Xsqlite3StrICmp(tls, zRight, ts+16367 /* "restart" */) == 0) { goto __318 } eMode2 = SQLITE_CHECKPOINT_RESTART goto __319 __318: - if !(Xsqlite3StrICmp(tls, zRight, ts+15987 /* "truncate" */) == 0) { + if !(Xsqlite3StrICmp(tls, zRight, ts+15989 /* "truncate" */) == 0) { goto __320 } eMode2 = SQLITE_CHECKPOINT_TRUNCATE @@ -109529,7 +110605,7 @@ __335: __337: ; - zSubSql = Xsqlite3MPrintf(tls, db, ts+16373, /* "ANALYZE \"%w\".\"%w..." */ + zSubSql = Xsqlite3MPrintf(tls, db, ts+16375, /* "ANALYZE \"%w\".\"%w..." */ libc.VaList(bp+344, (*Db)(unsafe.Pointer((*Sqlite3)(unsafe.Pointer(db)).FaDb+uintptr(iDb)*32)).FzDbSName, (*Table)(unsafe.Pointer(pTab8)).FzName)) if !((opMask & U32(0x01)) != 0) { goto __338 @@ -109677,9 +110753,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 */ @@ -109713,14 +110789,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 + 16393 /* "UTF8" */, Fenc: U8(SQLITE_UTF8)}, + {FzName: ts + 16398 /* "UTF-8" */, Fenc: U8(SQLITE_UTF8)}, // Must be element [1] + {FzName: ts + 16404 /* "UTF-16le" */, Fenc: U8(SQLITE_UTF16LE)}, // Must be element [2] + {FzName: ts + 16413 /* "UTF-16be" */, Fenc: U8(SQLITE_UTF16BE)}, // Must be element [3] + {FzName: ts + 16422 /* "UTF16le" */, Fenc: U8(SQLITE_UTF16LE)}, + {FzName: ts + 16430 /* "UTF16be" */, Fenc: U8(SQLITE_UTF16BE)}, + {FzName: ts + 16438 /* "UTF-16" */}, // SQLITE_UTF16NATIVE + {FzName: ts + 16445 /* "UTF16" */}, // SQLITE_UTF16NATIVE {}, } /* sqlite3.c:130285:7 */ var setCookie = [2]VdbeOpList{ @@ -109737,12 +110813,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 */ // **************************************************************************** @@ -109777,7 +110853,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+16451 /* "CREATE TABLE x" */) i = 0 j = int32((*PragmaName)(unsafe.Pointer(pPragma)).FiPragCName) __1: @@ -109785,7 +110861,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+16466 /* "%c\"%s\"" */, libc.VaList(bp, int32(cSep), pragCName[j])) cSep = int8(',') } @@ -109798,19 +110874,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+16473 /* "(\"%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+16479 /* ",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+16491 /* ",schema HIDDEN" */) j++ } - Xsqlite3_str_append(tls, bp+32 /* &acc */, ts+4067 /* ")" */, 1) + Xsqlite3_str_append(tls, bp+32 /* &acc */, ts+4069 /* ")" */, 1) Xsqlite3StrAccumFinish(tls, bp+32 /* &acc */) rc = Xsqlite3_declare_vtab(tls, db, bp+64 /* &zBuf[0] */) @@ -109826,7 +110902,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+2793 /* "%s" */, libc.VaList(bp+24, Xsqlite3_errmsg(tls, db))) } *(*uintptr)(unsafe.Pointer(ppVtab)) = pTab @@ -109989,7 +111065,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+2793 /* "%s" */, libc.VaList(bp, zText)) if *(*uintptr)(unsafe.Pointer((pCsr + 24 /* &.azArg */) + uintptr(j)*8)) == uintptr(0) { return SQLITE_NOMEM } @@ -110005,13 +111081,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+16506 /* "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+16514 /* "%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+16518 /* "=%Q" */, libc.VaList(bp+16, *(*uintptr)(unsafe.Pointer((pCsr + 24 /* &.azArg */))))) } zSql = Xsqlite3StrAccumFinish(tls, bp+32 /* &acc */) if zSql == uintptr(0) { @@ -110020,7 +111096,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+2793 /* "%s" */, libc.VaList(bp+24, Xsqlite3_errmsg(tls, (*PragmaVtab)(unsafe.Pointer(pTab)).Fdb))) return rc } return pragmaVtabNext(tls, pVtabCursor) @@ -110113,12 +111189,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+16522 /* "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 + 16550 /* "rename" */ } - return ts + 16555 /* "drop column" */ + return ts + 16557 /* "drop column" */ }(), zExtra)) (*InitData)(unsafe.Pointer(pData)).Frc = SQLITE_ERROR @@ -110130,11 +111206,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 + 4125 /* "?" */ } - z = Xsqlite3MPrintf(tls, db, ts+16567 /* "malformed databa..." */, libc.VaList(bp+32, zObj)) + z = Xsqlite3MPrintf(tls, db, ts+16569 /* "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+16600 /* "%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) @@ -110211,7 +111287,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+12853 /* "invalid rootpage" */) } } libc.SetBitFieldPtr8Uint32(db+184 /* &.init */ +8 /* &.orphanTrigger */, uint32(0), 0, 0x1) @@ -110248,13 +111324,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+16608 /* "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+12853 /* "invalid rootpage" */) } } } @@ -110297,16 +111373,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 + 7826 /* "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 + 10875 /* "sqlite_temp_mast..." */ } - return ts + 4957 /* "sqlite_master" */ + return ts + 4959 /* "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 + 6916 /* "1" */ + *(*uintptr)(unsafe.Pointer(bp + 16 /* &azArg[0] */ + 4*8)) = ts + 16621 /* "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 @@ -110419,7 +111495,7 @@ __10: goto __13 } Xsqlite3SetString(tls, pzErrMsg, db, - ts+10500 /* "attached databas..." */) + ts+10502 /* "attached databas..." */) rc = SQLITE_ERROR goto initone_error_out __13: @@ -110459,7 +111535,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+16693 /* "unsupported file..." */) rc = SQLITE_ERROR goto initone_error_out __17: @@ -110481,7 +111557,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+16717, /* "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 @@ -110704,7 +111780,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) @@ -110758,7 +111836,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 @@ -110841,7 +111921,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+16751 /* "database schema ..." */, libc.VaList(bp, zDb)) goto end_prepare __7: @@ -110869,7 +111949,7 @@ __2: if !(nBytes > mxLen) { goto __10 } - Xsqlite3ErrorWithMsg(tls, db, SQLITE_TOOBIG, ts+16779 /* "statement too lo..." */, 0) + Xsqlite3ErrorWithMsg(tls, db, SQLITE_TOOBIG, ts+16781 /* "statement too lo..." */, 0) rc = Xsqlite3ApiExit(tls, db, SQLITE_TOOBIG) goto end_prepare __10: @@ -110932,7 +112012,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+2793 /* "%s" */, libc.VaList(bp+8, *(*uintptr)(unsafe.Pointer(bp + 424 /* zErrMsg */)))) Xsqlite3DbFree(tls, db, *(*uintptr)(unsafe.Pointer(bp + 424 /* zErrMsg */))) goto __21 __20: @@ -111165,11 +112245,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 ******************************************** @@ -111219,7 +112299,7 @@ type SortCtx1 = struct { FlabelDone int32 FlabelOBLopt int32 FsortFlags U8 - _ [3]byte + F__ccgo_pad1 [3]byte FpDeferredRowLoad uintptr } /* sqlite3.c:132119:9 */ @@ -111241,9 +112321,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 @@ -111407,24 +112487,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 + 9655 /* " " */ if pC == uintptr(0) { zSp++ } Xsqlite3ErrorMsg(tls, pParse, - ts+16798 /* "unknown or unsup..." */, libc.VaList(bp, pA, pB, zSp, pC)) + ts+16800 /* "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+16844 /* "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 + 16899 /* "naturaleftouteri..." */)) /* sqlite3.c:132284:21 */ var aKeyword = [7]struct { Fi U8 FnChar U8 @@ -111630,7 +112710,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+16933 /* "a NATURAL join m..." */, libc.VaList(bp, 0)) return 1 } for j = 0; j < int32((*Table)(unsafe.Pointer(pRightTab)).FnCol); j++ { @@ -111654,7 +112734,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+16983 /* "cannot have both..." */, 0) return 1 } @@ -111689,7 +112769,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+17038 /* "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, @@ -112480,16 +113560,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 + 17102 /* "UNION ALL" */ break case TK_INTERSECT: - z = ts + 17110 /* "INTERSECT" */ + z = ts + 17112 /* "INTERSECT" */ break case TK_EXCEPT: - z = ts + 17120 /* "EXCEPT" */ + z = ts + 17122 /* "EXCEPT" */ break default: - z = ts + 17127 /* "UNION" */ + z = ts + 17129 /* "UNION" */ break } return z @@ -112507,7 +113587,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+17135 /* "USE TEMP B-TREE ..." */, libc.VaList(bp, zUsage)) } // Assign expression b to lvalue a. A second, no-op, version of this macro @@ -112773,8 +113853,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 + 11387 /* "INTEGER" */ + *(*uintptr)(unsafe.Pointer(bp + 72 /* zOrigCol */)) = ts + 14760 /* "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)) @@ -112927,13 +114007,13 @@ func Xsqlite3GenerateColumnNames(tls *libc.TLS, pParse uintptr, pSelect uintptr) } if iCol < 0 { - zCol = ts + 14758 /* "rowid" */ + zCol = ts + 14760 /* "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+10788 /* "%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)) @@ -112941,7 +114021,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+17158 /* "column%d" */, libc.VaList(bp+16, (i+1))) } else { z = Xsqlite3DbStrDup(tls, db, z) } @@ -113030,7 +114110,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 + 14760 /* "rowid" */ } } else if int32((*Expr)(unsafe.Pointer(pColExpr)).Fop) == TK_ID { @@ -113043,7 +114123,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+17158 /* "column%d" */, libc.VaList(bp, (i+1))) } // Make sure the column name is unique. If the name is not unique, @@ -113058,7 +114138,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+17167 /* "%.*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 */) } @@ -113415,7 +114495,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+17175 /* "cannot use windo..." */, 0) return __1: ; @@ -113526,7 +114606,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+17224 /* "recursive aggreg..." */, 0) goto end_of_recursive_query __15: ; @@ -113548,7 +114628,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+17266 /* "SETUP" */, 0) rc = Xsqlite3Select(tls, pParse, pSetup, bp /* &destQueue */) (*Select)(unsafe.Pointer(pSetup)).FpNext = p if !(rc != 0) { @@ -113591,7 +114671,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+17272 /* "RECURSIVE STEP" */, 0) Xsqlite3Select(tls, pParse, p, bp /* &destQueue */) (*Select)(unsafe.Pointer(pFirstRec)).FpPrior = pSetup @@ -113641,11 +114721,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+17287 /* "SCAN %d CONSTANT..." */, libc.VaList(bp, nRow, func() uintptr { if nRow == 1 { - return ts + 756 /* "" */ + return ts + 758 /* "" */ } - return ts + 17308 /* "S" */ + return ts + 17310 /* "S" */ }())) for p != 0 { selectInnerLoop(tls, pParse, p, -1, uintptr(0), uintptr(0), pDest, 1, 1) @@ -113797,8 +114877,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+17312 /* "COMPOUND QUERY" */, 0) + Xsqlite3VdbeExplain(tls, pParse, uint8(1), ts+17327 /* "LEFT-MOST SUBQUE..." */, 0) __8: ; @@ -113847,7 +114927,7 @@ __16: ; __15: ; - Xsqlite3VdbeExplain(tls, pParse, uint8(1), ts+17100 /* "UNION ALL" */, 0) + Xsqlite3VdbeExplain(tls, pParse, uint8(1), ts+17102 /* "UNION ALL" */, 0) rc = Xsqlite3Select(tls, pParse, p, bp+16 /* &dest */) @@ -113923,7 +115003,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+17346 /* "%s USING TEMP B-..." */, libc.VaList(bp, Xsqlite3SelectOpName(tls, int32((*Select)(unsafe.Pointer(p)).Fop)))) rc = Xsqlite3Select(tls, pParse, p, bp+64 /* &uniondest */) @@ -113995,7 +115075,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+17346 /* "%s USING TEMP B-..." */, libc.VaList(bp+8, Xsqlite3SelectOpName(tls, int32((*Select)(unsafe.Pointer(p)).Fop)))) rc = Xsqlite3Select(tls, pParse, p, bp+104 /* &intersectdest */) @@ -114156,10 +115236,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+17367 /* "all VALUES must ..." */, 0) } else { Xsqlite3ErrorMsg(tls, pParse, - ts+17411, /* "SELECTs to the l..." */ + ts+17413, /* "SELECTs to the l..." */ libc.VaList(bp, Xsqlite3SelectOpName(tls, int32((*Select)(unsafe.Pointer(p)).Fop)))) } } @@ -114539,9 +115619,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+6254 /* "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+6254 /* "ORDER" */) } // Compute the limit registers @@ -114570,7 +115650,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+17495 /* "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. @@ -114578,7 +115658,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+17506 /* "LEFT" */, 0) Xsqlite3Select(tls, pParse, pPrior, bp+8 /* &destA */) Xsqlite3VdbeEndCoroutine(tls, v, regAddrA) Xsqlite3VdbeJumpHere(tls, v, addr1) @@ -114592,7 +115672,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+17511 /* "RIGHT" */, 0) Xsqlite3Select(tls, pParse, p, bp+48 /* &destB */) (*Select)(unsafe.Pointer(p)).FiLimit = savedLimit (*Select)(unsafe.Pointer(p)).FiOffset = savedOffset @@ -114708,12 +115788,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 @@ -114789,7 +115869,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 + 321 /* "BINARY" */ }()) } *(*U32)(unsafe.Pointer(pExpr + 4 /* &.flags */)) &= (libc.Uint32FromInt32(libc.CplInt32(EP_Collate))) @@ -116002,12 +117082,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+13842 /* "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+13846 /* "max" */) == 0 { eRet = WHERE_ORDERBY_MAX sortFlags = U8(KEYINFO_ORDER_DESC) } else { @@ -116076,7 +117156,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+17517 /* "no such index: %..." */, libc.VaList(bp, zIndexedBy, 0)) (*Parse)(unsafe.Pointer(pParse)).FcheckSchema = U8(1) return SQLITE_ERROR } @@ -116187,7 +117267,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+17535 /* "'%s' is not a fu..." */, libc.VaList(bp, (*SrcItem)(unsafe.Pointer(pFrom)).FzName)) return 1 } return 0 @@ -116375,7 +117455,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+17558 /* "multiple referen..." */, libc.VaList(bp+8, (*Cte)(unsafe.Pointer(pCte)).FzName)) return 2 } *(*U32)(unsafe.Pointer(pRecTerm + 4 /* &.selFlags */)) |= (U32(SF_Recursive)) @@ -116391,7 +117471,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 + 17601 /* "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 { @@ -116417,7 +117497,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+17624, /* "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 @@ -116428,9 +117508,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 + 17662 /* "multiple recursi..." */ } else { - (*Cte)(unsafe.Pointer(pCte)).FzCteErr = ts + 17694 /* "recursive refere..." */ + (*Cte)(unsafe.Pointer(pCte)).FzCteErr = ts + 17696 /* "recursive refere..." */ } Xsqlite3WalkSelect(tls, pWalker, pSel) } @@ -116478,7 +117558,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+17734 /* "subquery_%u" */, libc.VaList(bp, (*Select)(unsafe.Pointer(pSel)).FselId)) } for (*Select)(unsafe.Pointer(pSel)).FpPrior != 0 { pSel = (*Select)(unsafe.Pointer(pSel)).FpPrior @@ -116605,7 +117685,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+17746, /* "too many referen..." */ libc.VaList(bp, (*Table)(unsafe.Pointer(pTab)).FzName)) (*SrcItem)(unsafe.Pointer(pFrom)).FpTab = uintptr(0) return WRC_Abort @@ -116624,7 +117704,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+17785, /* "access to view \"..." */ libc.VaList(bp+8, (*Table)(unsafe.Pointer(pTab)).FzName)) } @@ -116632,7 +117712,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+17816, /* "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) @@ -116747,7 +117827,7 @@ __3: if iDb >= 0 { zSchemaName = (*Db)(unsafe.Pointer((*Sqlite3)(unsafe.Pointer(db)).FaDb + uintptr(iDb)*32)).FzDbSName } else { - zSchemaName = ts + 17847 /* "*" */ + zSchemaName = ts + 17849 /* "*" */ } } for j = 0; j < int32((*Table)(unsafe.Pointer(pTab)).FnCol); j++ { @@ -116796,7 +117876,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+10788 /* "%s.%s" */, libc.VaList(bp+24, zTabName, zName)) zToFree = zColname } } else { @@ -116812,7 +117892,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+17851, /* "%s.%s.%s" */ libc.VaList(bp+40, zSchemaName, zTabName, zColname)) } @@ -116832,9 +117912,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+17860 /* "no such table: %..." */, libc.VaList(bp+64, zTName)) } else { - Xsqlite3ErrorMsg(tls, pParse, ts+17876 /* "no tables specif..." */, 0) + Xsqlite3ErrorMsg(tls, pParse, ts+17878 /* "no tables specif..." */, 0) } } } @@ -116844,7 +117924,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+17898 /* "too many columns..." */, 0) return WRC_Abort } if (elistFlags & (U32(EP_HasFunc | EP_Subquery))) != U32(0) { @@ -117032,13 +118112,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+17929 /* "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+17980 /* "USE TEMP B-TREE ..." */, libc.VaList(bp, (*FuncDef)(unsafe.Pointer((*AggInfo_func)(unsafe.Pointer(pFunc)).FpFunc)).FzName)) } } @@ -117238,19 +118318,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+18013, /* "SCAN %s%s%s" */ libc.VaList(bp, (*Table)(unsafe.Pointer(pTab)).FzName, func() uintptr { if bCover != 0 { - return ts + 18023 /* " USING COVERING ..." */ + return ts + 18025 /* " USING COVERING ..." */ } - return ts + 756 /* "" */ + return ts + 758 /* "" */ }(), func() uintptr { if bCover != 0 { return (*Index)(unsafe.Pointer(pIdx)).FzName } - return ts + 756 /* "" */ + return ts + 758 /* "" */ }())) } } @@ -117270,7 +118350,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+6916 /* "1" */) if pNew != 0 { var pWhere uintptr = (*Select)(unsafe.Pointer(pS)).FpWhere { @@ -117572,7 +118652,7 @@ __7: goto __10 } Xsqlite3ErrorMsg(tls, pParse, - ts+18046, /* "target object/al..." */ + ts+18048, /* "target object/al..." */ libc.VaList(bp, func() uintptr { if (*SrcItem)(unsafe.Pointer(p0)).FzAlias != 0 { return (*SrcItem)(unsafe.Pointer(p0)).FzAlias @@ -117652,7 +118732,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+18102, /* "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: @@ -117793,7 +118873,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+758 /* "" */, (*SrcItem)(unsafe.Pointer(pItem1)).FzDatabase) __32: ; @@ -117858,7 +118938,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+18142 /* "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) @@ -117920,7 +119000,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+18157 /* "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) { @@ -118440,9 +119520,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 + 18173 /* "DISTINCT" */ } - return ts + 18180 /* "GROUP BY" */ + return ts + 18182 /* "GROUP BY" */ }()) groupBySort = 1 @@ -118854,7 +119934,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+18173 /* "DISTINCT" */) __140: ; @@ -118866,9 +119946,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 + 18191 /* "RIGHT PART OF OR..." */ } - return ts + 18212 /* "ORDER BY" */ + return ts + 18214 /* "ORDER BY" */ }()) generateSortTail(tls, pParse, p, bp+48 /* &sSort */, (*ExprList)(unsafe.Pointer(pEList)).FnExpr, pDest) @@ -118916,14 +119996,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 ********************************************* @@ -119002,7 +120082,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+2793 /* "%s" */, libc.VaList(bp, *(*uintptr)(unsafe.Pointer(colv + uintptr(i)*8)))) if !(z == uintptr(0)) { goto __10 } @@ -119024,7 +120104,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+18223 /* "sqlite3_get_tabl..." */, 0) (*TabResult)(unsafe.Pointer(p)).Frc = SQLITE_ERROR return 1 __11: @@ -119123,7 +120203,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+2793 /* "%s" */, libc.VaList(bp, (*TabResult)(unsafe.Pointer(bp+8 /* &res */)).FzErrMsg)) } Xsqlite3_free(tls, (*TabResult)(unsafe.Pointer(bp+8 /* &res */)).FzErrMsg) } @@ -119284,7 +120364,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+18288 /* "temporary trigge..." */, 0) goto trigger_cleanup __3: ; @@ -119345,7 +120425,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+18334 /* "trigger" */, *(*uintptr)(unsafe.Pointer(bp + 32 /* pName */))) if !(Xsqlite3FixSrcList(tls, bp+40 /* &sFix */, pTableName) != 0) { goto __9 } @@ -119363,7 +120443,7 @@ __10: if !((*Table)(unsafe.Pointer(pTab)).FnModuleArg != 0) { goto __11 } - Xsqlite3ErrorMsg(tls, pParse, ts+18340 /* "cannot create tr..." */, 0) + Xsqlite3ErrorMsg(tls, pParse, ts+18342 /* "cannot create tr..." */, 0) goto trigger_orphan_error __11: ; @@ -119378,7 +120458,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+18334 /* "trigger" */, (*Table)(unsafe.Pointer(pTab)).FzName) != 0) { goto __13 } goto trigger_cleanup @@ -119394,7 +120474,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+18383 /* "trigger %T alrea..." */, libc.VaList(bp, *(*uintptr)(unsafe.Pointer(bp + 32 /* pName */)))) goto __17 __16: ; @@ -119408,10 +120488,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+7084 /* "sqlite_" */, 7) == 0) { goto __18 } - Xsqlite3ErrorMsg(tls, pParse, ts+18407 /* "cannot create tr..." */, 0) + Xsqlite3ErrorMsg(tls, pParse, ts+18409 /* "cannot create tr..." */, 0) goto trigger_cleanup __18: ; @@ -119421,12 +120501,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+18447, /* "cannot create %s..." */ libc.VaList(bp+8, func() uintptr { if tr_tm == TK_BEFORE { - return ts + 18482 /* "BEFORE" */ + return ts + 18484 /* "BEFORE" */ } - return ts + 18489 /* "AFTER" */ + return ts + 18491 /* "AFTER" */ }(), pTableName+8 /* &.a */)) goto trigger_orphan_error __19: @@ -119435,7 +120515,7 @@ __19: goto __20 } Xsqlite3ErrorMsg(tls, pParse, - ts+18495 /* "cannot create IN..." */, libc.VaList(bp+24, pTableName+8 /* &.a */)) + ts+18497 /* "cannot create IN..." */, libc.VaList(bp+24, pTableName+8 /* &.a */)) goto trigger_orphan_error __20: ; @@ -119465,9 +120545,9 @@ __23: ; if !(Xsqlite3AuthCheck(tls, pParse, SQLITE_INSERT, func() uintptr { if (!(0 != 0)) && (iTabDb == 1) { - return ts + 10873 /* "sqlite_temp_mast..." */ + return ts + 10875 /* "sqlite_temp_mast..." */ } - return ts + 4957 /* "sqlite_master" */ + return ts + 4959 /* "sqlite_master" */ }(), uintptr(0), zDb) != 0) { goto __24 } @@ -119601,7 +120681,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+18334 /* "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 @@ -119638,13 +120718,13 @@ __8: Xsqlite3NestedParse(tls, pParse, - ts+18541, /* "INSERT INTO %Q.s..." */ + ts+18543, /* "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+18618 /* "type='trigger' A..." */, libc.VaList(bp+32, zName)), uint16(0)) __7: ; __6: @@ -119910,7 +120990,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+18647 /* "no such trigger:..." */, libc.VaList(bp, pName+8 /* &.a */)) goto __10 __9: Xsqlite3CodeVerifyNamedSchema(tls, pParse, zDb) @@ -119951,9 +121031,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 + 10875 /* "sqlite_temp_mast..." */ } - return ts + 4957 /* "sqlite_master" */ + return ts + 4959 /* "sqlite_master" */ }() if iDb == 1 { code = SQLITE_DROP_TEMP_TRIGGER @@ -119966,7 +121046,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+18667, /* "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) @@ -120085,12 +121165,12 @@ __9: goto __15 } Xsqlite3ErrorMsg(tls, pParse, - ts+18727, /* "%s RETURNING is ..." */ + ts+18729, /* "%s RETURNING is ..." */ libc.VaList(bp, func() uintptr { if op == TK_DELETE { - return ts + 18775 /* "DELETE" */ + return ts + 18777 /* "DELETE" */ } - return ts + 18782 /* "UPDATE" */ + return ts + 18784 /* "UPDATE" */ }())) __15: ; @@ -120186,7 +121266,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+18791 /* "RETURNING may no..." */, 0) return 1 } @@ -120327,7 +121407,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+5146 /* "-- %s" */, libc.VaList(bp, (*TriggerStep)(unsafe.Pointer(pStep)).FzSpan)), -7) } @@ -120457,7 +121537,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+18833 /* "-- TRIGGER %s" */, libc.VaList(bp, (*Trigger)(unsafe.Pointer(pTrigger)).FzName)), -7) } // If one was specified, code the WHEN clause. If it evaluates to false @@ -121160,7 +122240,7 @@ __25: } Xsqlite3ErrorMsg(tls, pParse, - ts+18845, /* "cannot UPDATE ge..." */ + ts+18847, /* "cannot UPDATE ge..." */ libc.VaList(bp, (*Column)(unsafe.Pointer((*Table)(unsafe.Pointer(pTab)).FaCol+uintptr(j)*32)).FzName)) goto update_cleanup __27: @@ -121192,7 +122272,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+18883 /* "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: @@ -121203,7 +122283,7 @@ __28: rc = Xsqlite3AuthCheck(tls, pParse, SQLITE_UPDATE, (*Table)(unsafe.Pointer(pTab)).FzName, func() uintptr { if j < 0 { - return ts + 6689 /* "ROWID" */ + return ts + 6691 /* "ROWID" */ } return (*Column)(unsafe.Pointer((*Table)(unsafe.Pointer(pTab)).FaCol + uintptr(j)*32)).FzName }(), @@ -122234,7 +123314,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+18902 /* "rows updated" */, uintptr(0)) __169: ; @@ -122621,10 +123701,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+18915 /* "%r " */, libc.VaList(bp, (nClause+1))) } Xsqlite3ErrorMsg(tls, pParse, - ts+18917 /* "%sON CONFLICT cl..." */, libc.VaList(bp+8, bp+216 /* &zWhich[0] */)) + ts+18919 /* "%sON CONFLICT cl..." */, libc.VaList(bp+8, bp+216 /* &zWhich[0] */)) return SQLITE_ERROR } @@ -122715,7 +123795,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+10929 /* "corrupt database" */, -1) Xsqlite3MayAbort(tls, pParse) Xsqlite3VdbeJumpHere(tls, v, i) } @@ -122783,7 +123863,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+18992 /* "CRE" */, uint64(3)) == 0) || (libc.Xstrncmp(tls, zSubSql, ts+18996 /* "INS" */, uint64(3)) == 0)) { rc = execSql(tls, db, pzErrMsg, zSubSql) if rc != SQLITE_OK { break @@ -122806,7 +123886,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) { @@ -122933,14 +124013,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+19000 /* "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+19040 /* "cannot VACUUM - ..." */) return SQLITE_ERROR // IMP: R-15610-35227 __2: ; @@ -122951,7 +124031,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+19083 /* "non-text filenam..." */) return SQLITE_ERROR __5: ; @@ -122960,7 +124040,7 @@ __5: *(*uint32)(unsafe.Pointer(db + 76 /* &.openFlags */)) |= (uint32(SQLITE_OPEN_CREATE | SQLITE_OPEN_READWRITE)) goto __4 __3: - zOut = ts + 756 /* "" */ + zOut = ts + 758 /* "" */ __4: ; @@ -122996,7 +124076,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+19101 /* "ATTACH %Q AS vac..." */, libc.VaList(bp, zOut)) (*Sqlite3)(unsafe.Pointer(db)).FopenFlags = saved_openFlags if !(rc != SQLITE_OK) { goto __6 @@ -123017,7 +124097,7 @@ __6: goto __8 } rc = SQLITE_ERROR - Xsqlite3SetString(tls, pzErrMsg, db, ts+19122 /* "output file alre..." */) + Xsqlite3SetString(tls, pzErrMsg, db, ts+19124 /* "output file alre..." */) goto end_of_vacuum __8: ; @@ -123033,7 +124113,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+13216 /* "BEGIN" */) if !(rc != SQLITE_OK) { goto __9 } @@ -123084,7 +124164,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+19151, /* "SELECT sql FROM ..." */ libc.VaList(bp+8, zDbMain)) if !(rc != SQLITE_OK) { goto __13 @@ -123094,7 +124174,7 @@ __13: ; rc = execSqlF(tls, db, pzErrMsg, - ts+19257, /* "SELECT sql FROM ..." */ + ts+19259, /* "SELECT sql FROM ..." */ libc.VaList(bp+16, zDbMain)) if !(rc != SQLITE_OK) { goto __14 @@ -123109,7 +124189,7 @@ __14: // the contents to the temporary database. rc = execSqlF(tls, db, pzErrMsg, - ts+19311, /* "SELECT'INSERT IN..." */ + ts+19313, /* "SELECT'INSERT IN..." */ libc.VaList(bp+24, zDbMain)) *(*U32)(unsafe.Pointer(db + 44 /* &.mDbFlags */)) &= (libc.Uint32FromInt32(libc.CplInt32(DBFLAG_Vacuum))) @@ -123126,7 +124206,7 @@ __15: // from the schema table. rc = execSqlF(tls, db, pzErrMsg, - ts+19462, /* "INSERT INTO vacu..." */ + ts+19464, /* "INSERT INTO vacu..." */ libc.VaList(bp+32, zDbMain)) if !(rc != 0) { goto __16 @@ -123294,7 +124374,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 @@ -123338,7 +124418,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) @@ -123376,7 +124456,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) } @@ -123506,7 +124588,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+11159 /* "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) { @@ -123600,7 +124682,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+19594 /* "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 @@ -123612,7 +124694,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+19618, /* "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, @@ -123622,7 +124704,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+19717 /* "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) @@ -123687,7 +124769,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+19736 /* "vtable construct..." */, libc.VaList(bp, (*Table)(unsafe.Pointer(pTab)).FzName)) return SQLITE_LOCKED } } @@ -123717,7 +124799,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) @@ -123725,9 +124809,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+19778 /* "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+2793 /* "%s" */, libc.VaList(bp+16, *(*uintptr)(unsafe.Pointer(bp + 64 /* zErr */)))) Xsqlite3_free(tls, *(*uintptr)(unsafe.Pointer(bp + 64 /* zErr */))) } Xsqlite3DbFree(tls, db, pVTable) @@ -123739,7 +124823,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 + 19808 /* "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 @@ -123755,12 +124839,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+758 /* "" */) 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+14673 /* "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 @@ -123819,13 +124903,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+19854 /* "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+2793 /* "%s" */, libc.VaList(bp+8, *(*uintptr)(unsafe.Pointer(bp + 16 /* zErr */)))) (*Parse)(unsafe.Pointer(pParse)).Frc = rc } Xsqlite3DbFree(tls, db, *(*uintptr)(unsafe.Pointer(bp + 16 /* zErr */))) @@ -123887,7 +124971,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+19854 /* "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) @@ -123964,7 +125048,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 + 2793 /* "%s" */ } return uintptr(0) }(), libc.VaList(bp, *(*uintptr)(unsafe.Pointer(bp + 416 /* zErr */)))) @@ -124010,7 +125094,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 { @@ -124042,7 +125128,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 @@ -124068,7 +125156,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) } } @@ -124126,13 +125216,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)) } } } @@ -124179,7 +125273,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) } @@ -124238,7 +125334,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 } @@ -124336,7 +125434,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+2793 /* "%s" */, libc.VaList(bp, *(*uintptr)(unsafe.Pointer(bp + 8 /* zErr */)))) Xsqlite3DbFree(tls, db, *(*uintptr)(unsafe.Pointer(bp + 8 /* zErr */))) Xsqlite3VtabEponymousTableClear(tls, db, pMod) return 0 @@ -124387,11 +125485,11 @@ 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: { - (*VTable)(unsafe.Pointer((*VtabCtx)(unsafe.Pointer(p)).FpVTable)).FbConstraint = U8(libc.VaInt32(&ap)) + (*VTable)(unsafe.Pointer((*VtabCtx)(unsafe.Pointer(p)).FpVTable)).FbConstraint = U8(libc.VaInt32(&(ap))) break } @@ -124466,16 +125564,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 *********************************************** @@ -124553,9 +125651,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 @@ -124584,7 +125682,7 @@ type WhereLoop1 = struct { FnLTerm U16 FnSkip U16 FnLSlot U16 - _ [6]byte + F__ccgo_pad1 [6]byte FaLTerm uintptr FpNextLoop uintptr FaLTermSpace [3]uintptr @@ -124592,14 +125690,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 */ @@ -124614,8 +125712,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 } @@ -124626,50 +125724,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 */ @@ -124688,12 +125786,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 @@ -124767,10 +125865,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 /* "<expr>" */ + return ts + 19873 /* "<expr>" */ } if i == (-1) { - return ts + 14758 /* "rowid" */ + return ts + 14760 /* "rowid" */ } return (*Column)(unsafe.Pointer((*Table)(unsafe.Pointer((*Index)(unsafe.Pointer(pIdx)).FpTable)).FaCol + uintptr(i)*32)).FzName } @@ -124785,35 +125883,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+19880 /* " AND " */, 5) } if nTerm > 1 { - Xsqlite3_str_append(tls, pStr, ts+19884 /* "(" */, 1) + Xsqlite3_str_append(tls, pStr, ts+19886 /* "(" */, 1) } for i = 0; i < nTerm; i++ { if i != 0 { - Xsqlite3_str_append(tls, pStr, ts+11538 /* "," */, 1) + Xsqlite3_str_append(tls, pStr, ts+11540 /* "," */, 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+4069 /* ")" */, 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+19886 /* "(" */, 1) } for i = 0; i < nTerm; i++ { if i != 0 { - Xsqlite3_str_append(tls, pStr, ts+11538 /* "," */, 1) + Xsqlite3_str_append(tls, pStr, ts+11540 /* "," */, 1) } - Xsqlite3_str_append(tls, pStr, ts+4123 /* "?" */, 1) + Xsqlite3_str_append(tls, pStr, ts+4125 /* "?" */, 1) } if nTerm > 1 { - Xsqlite3_str_append(tls, pStr, ts+4067 /* ")" */, 1) + Xsqlite3_str_append(tls, pStr, ts+4069 /* ")" */, 1) } } @@ -124842,29 +125940,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+19888 /* " (" */, 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+19880 /* " AND " */, 5) } Xsqlite3_str_appendf(tls, pStr, func() uintptr { if i >= int32(nSkip) { - return ts + 19889 /* "%s=?" */ + return ts + 19891 /* "%s=?" */ } - return ts + 19894 /* "ANY(%s)" */ + return ts + 19896 /* "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+19904 /* ">" */) 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+19906 /* "<" */) } - Xsqlite3_str_append(tls, pStr, ts+4067 /* ")" */, 1) + Xsqlite3_str_append(tls, pStr, ts+4069 /* ")" */, 1) } // This function is a no-op unless currently processing an EXPLAIN QUERY PLAN @@ -124909,11 +126007,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+19908 /* "%s %S" */, libc.VaList(bp, func() uintptr { if isSearch != 0 { - return ts + 19912 /* "SEARCH" */ + return ts + 19914 /* "SEARCH" */ } - return ts + 19919 /* "SCAN" */ + return ts + 19921 /* "SCAN" */ }(), pItem)) if (flags & (U32(WHERE_IPK | WHERE_VIRTUALTABLE))) == U32(0) { var zFmt uintptr = uintptr(0) @@ -124923,38 +126021,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 + 9703 /* "PRIMARY KEY" */ } } else if (flags & U32(WHERE_PARTIALIDX)) != 0 { - zFmt = ts + 19924 /* "AUTOMATIC PARTIA..." */ + zFmt = ts + 19926 /* "AUTOMATIC PARTIA..." */ } else if (flags & U32(WHERE_AUTO_INDEX)) != 0 { - zFmt = ts + 19957 /* "AUTOMATIC COVERI..." */ + zFmt = ts + 19959 /* "AUTOMATIC COVERI..." */ } else if (flags & U32(WHERE_IDX_ONLY)) != 0 { - zFmt = ts + 19982 /* "COVERING INDEX %..." */ + zFmt = ts + 19984 /* "COVERING INDEX %..." */ } else { - zFmt = ts + 20000 /* "INDEX %s" */ + zFmt = ts + 20002 /* "INDEX %s" */ } if zFmt != 0 { - Xsqlite3_str_append(tls, bp+48 /* &str */, ts+20009 /* " USING " */, 7) + Xsqlite3_str_append(tls, bp+48 /* &str */, ts+20011 /* " 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 + 20019 /* "=" */ } else if (flags & U32(WHERE_BOTH_LIMIT)) == U32(WHERE_BOTH_LIMIT) { - zRangeOp = ts + 20019 /* ">? AND rowid<" */ + zRangeOp = ts + 20021 /* ">? AND rowid<" */ } else if (flags & U32(WHERE_BTM_LIMIT)) != 0 { - zRangeOp = ts + 19902 /* ">" */ + zRangeOp = ts + 19904 /* ">" */ } else { - zRangeOp = ts + 19904 /* "<" */ + zRangeOp = ts + 19906 /* "<" */ } Xsqlite3_str_appendf(tls, bp+48, /* &str */ - ts+20033 /* " USING INTEGER P..." */, libc.VaList(bp+24, zRangeOp)) + ts+20035 /* " 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+20073, /* " 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 */) @@ -126510,7 +127608,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+20100 /* "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) { @@ -126529,7 +127627,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+20115 /* "INDEX %d" */, libc.VaList(bp, (ii+1))) pSubWInfo = Xsqlite3WhereBegin(tls, pParse, pOrTab, pOrExpr, uintptr(0), uintptr(0), uint16(WHERE_OR_SUBCLAUSE), iCovCur) @@ -127228,7 +128326,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 @@ -127272,16 +128372,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 + 14631 /* "match" */, FeOp2: uint8(SQLITE_INDEX_CONSTRAINT_MATCH)}, + {FzOp: ts + 14104 /* "glob" */, FeOp2: uint8(SQLITE_INDEX_CONSTRAINT_GLOB)}, + {FzOp: ts + 13654 /* "like" */, FeOp2: uint8(SQLITE_INDEX_CONSTRAINT_LIKE)}, + {FzOp: ts + 20124 /* "regexp" */, FeOp2: uint8(SQLITE_INDEX_CONSTRAINT_REGEXP)}, } /* sqlite3.c:147958:7 */ // If the pBase expression originated in the ON or USING clause of @@ -127982,7 +129082,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+20131 /* "ON clause refere..." */, 0) return } } @@ -128058,7 +129158,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 + 5778 /* "false" */ *(*U32)(unsafe.Pointer(pExpr + 4 /* &.flags */)) |= (U32(EP_IsFalse)) (*WhereTerm)(unsafe.Pointer(pTerm)).FprereqAll = uint64(0) (*WhereTerm)(unsafe.Pointer(pTerm)).FeOperator = U16(0) @@ -128159,7 +129259,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 + 20172 /* "NOCASE" */ } return uintptr(unsafe.Pointer(&Xsqlite3StrBINARY)) }() @@ -128461,7 +129561,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+20179, /* "too many argumen..." */ libc.VaList(bp, (*Table)(unsafe.Pointer(pTab)).FzName, j)) return } @@ -129284,7 +130384,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+20215 /* "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: @@ -129365,7 +130465,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 + 20241 /* "auto-index" */ (*Index)(unsafe.Pointer(pIdx)).FpTable = pTable n = 0 idxCols = uint64(0) @@ -129598,7 +130698,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+5184 /* "out of memory" */, 0) return uintptr(0) } pHidden = (pIdxInfo + 1*96) @@ -129719,15 +130819,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+2793 /* "%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+2793 /* "%s" */, libc.VaList(bp+8, (*Sqlite3_vtab)(unsafe.Pointer(pVtab)).FzErrMsg)) } } Xsqlite3_free(tls, (*Sqlite3_vtab)(unsafe.Pointer(pVtab)).FzErrMsg) @@ -131777,7 +132879,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+20252 /* "%s.xBestIndex ma..." */, libc.VaList(bp, (*Table)(unsafe.Pointer((*SrcItem)(unsafe.Pointer(pSrc)).FpTab)).FzName)) return SQLITE_ERROR } @@ -131825,7 +132927,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+20252 /* "%s.xBestIndex ma..." */, libc.VaList(bp+8, (*Table)(unsafe.Pointer((*SrcItem)(unsafe.Pointer(pSrc)).FpTab)).FzName)) return SQLITE_ERROR } @@ -132214,7 +133316,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+20278 /* "abbreviated quer..." */, 0) rc = SQLITE_OK } else { goto __3 @@ -132983,7 +134085,7 @@ __3: } if nFrom == 0 { - Xsqlite3ErrorMsg(tls, pParse, ts+20311 /* "no query solutio..." */, 0) + Xsqlite3ErrorMsg(tls, pParse, ts+20313 /* "no query solutio..." */, 0) Xsqlite3DbFreeNN(tls, db, pSpace) return SQLITE_ERROR } @@ -133364,7 +134466,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+20331 /* "at most %d table..." */, libc.VaList(bp, (int32(uint64(unsafe.Sizeof(Bitmask(0)))*uint64(8))))) return uintptr(0) __3: ; @@ -133439,7 +134541,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+20359 /* "SCAN CONSTANT RO..." */, 0) goto __6 __5: // Assign a bit from the bitmask to every term in the FROM clause. @@ -134128,9 +135230,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 { @@ -134142,26 +135244,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 @@ -134574,7 +135676,7 @@ __1: error_out: Xsqlite3_result_error(tls, - pCtx, ts+20375 /* "second argument ..." */, -1) + pCtx, ts+20377 /* "second argument ..." */, -1) } func nth_valueFinalizeFunc(tls *libc.TLS, pCtx uintptr) { /* sqlite3.c:155162:13: */ @@ -134723,7 +135825,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+20433 /* "argument of ntil..." */, -1) } } (*NtileCtx)(unsafe.Pointer(p)).FnTotal++ @@ -134761,9 +135863,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(). @@ -134820,17 +135922,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 + 20478 /* "row_number" */)) /* sqlite3.c:155459:19 */ +var dense_rankName = *(*[11]int8)(unsafe.Pointer(ts + 20489 /* "dense_rank" */)) /* sqlite3.c:155460:19 */ +var rankName = *(*[5]int8)(unsafe.Pointer(ts + 20500 /* "rank" */)) /* sqlite3.c:155461:19 */ +var percent_rankName = *(*[13]int8)(unsafe.Pointer(ts + 20505 /* "percent_rank" */)) /* sqlite3.c:155462:19 */ +var cume_distName = *(*[10]int8)(unsafe.Pointer(ts + 20518 /* "cume_dist" */)) /* sqlite3.c:155463:19 */ +var ntileName = *(*[6]int8)(unsafe.Pointer(ts + 20528 /* "ntile" */)) /* sqlite3.c:155464:19 */ +var last_valueName = *(*[11]int8)(unsafe.Pointer(ts + 20534 /* "last_value" */)) /* sqlite3.c:155465:19 */ +var nth_valueName = *(*[10]int8)(unsafe.Pointer(ts + 20545 /* "nth_value" */)) /* sqlite3.c:155466:19 */ +var first_valueName = *(*[12]int8)(unsafe.Pointer(ts + 20555 /* "first_value" */)) /* sqlite3.c:155467:19 */ +var leadName = *(*[5]int8)(unsafe.Pointer(ts + 20567 /* "lead" */)) /* sqlite3.c:155468:19 */ +var lagName = *(*[4]int8)(unsafe.Pointer(ts + 20572 /* "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. @@ -134894,7 +135996,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+20576 /* "no such window: ..." */, libc.VaList(bp, zName)) } return p } @@ -134938,12 +136040,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+20595 /* "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+20666 /* "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}, @@ -134966,7 +136068,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+6916 /* "1" */) } break } @@ -134977,11 +136079,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 @@ -135032,6 +136134,7 @@ func selectWindowRewriteExprCb(tls *libc.TLS, pWalker uintptr, pExpr uintptr) in } } fallthrough + /* no break */ case TK_AGG_FUNCTION: fallthrough @@ -135208,7 +136311,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+6977 /* "misuse of aggreg..." */, libc.VaList(bp, *(*uintptr)(unsafe.Pointer(pExpr + 8 /* &.u */)))) } return WRC_Continue } @@ -135338,7 +136441,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+6509 /* "0" */)) } pSub = Xsqlite3SelectNew(tls, @@ -135478,7 +136581,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+20729 /* "unsupported fram..." */, 0) goto windowAllocErr __2: ; @@ -135544,15 +136647,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 + 20761 /* "PARTITION clause" */ } else if ((*Window)(unsafe.Pointer(pExist)).FpOrderBy != 0) && ((*Window)(unsafe.Pointer(pWin)).FpOrderBy != 0) { - zErr = ts + 20776 /* "ORDER BY clause" */ + zErr = ts + 20778 /* "ORDER BY clause" */ } else if int32((*Window)(unsafe.Pointer(pExist)).FbImplicitFrame) == 0 { - zErr = ts + 20792 /* "frame specificat..." */ + zErr = ts + 20794 /* "frame specificat..." */ } if zErr != 0 { Xsqlite3ErrorMsg(tls, pParse, - ts+20812 /* "cannot override ..." */, libc.VaList(bp, zErr, (*Window)(unsafe.Pointer(pWin)).FzBase)) + ts+20814 /* "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 { @@ -135575,7 +136678,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+20847 /* "DISTINCT is not ..." */, 0) } } else { Xsqlite3WindowDelete(tls, (*Parse)(unsafe.Pointer(pParse)).Fdb, pWin) @@ -135726,7 +136829,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+758 /* "" */, -1) Xsqlite3VdbeAddOp3(tls, v, OP_Ge, regString, (Xsqlite3VdbeCurrentAddr(tls, v) + 2), reg) Xsqlite3VdbeChangeP5(tls, v, (uint16(SQLITE_AFF_NUMERIC | SQLITE_JUMPIFNULL))) @@ -135748,11 +136851,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 + 20894, /* "frame starting o..." */ + ts + 20947, /* "frame ending off..." */ + ts + 20377, /* "second argument ..." */ + ts + 20998, /* "frame starting o..." */ + ts + 21050, /* "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 */ @@ -135769,18 +136872,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 */ @@ -136354,7 +137457,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+758 /* "" */, -1) addrGe = Xsqlite3VdbeAddOp3(tls, v, OP_Ge, regString, 0, reg1) if ((op == OP_Ge) && (arith == OP_Add)) || ((op == OP_Le) && (arith == OP_Subtract)) { @@ -137327,15 +138430,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 @@ -137369,19 +138472,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+21100, /* "%s clause should..." */ libc.VaList(bp, func() uintptr { if (*Select)(unsafe.Pointer(pLoop)).FpOrderBy != uintptr(0) { - return ts + 18212 /* "ORDER BY" */ + return ts + 18214 /* "ORDER BY" */ } - return ts + 21140 /* "LIMIT" */ + return ts + 21142 /* "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+21148 /* "too many terms i..." */, 0) } } @@ -137461,7 +138564,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+21182, /* "syntax error aft..." */ libc.VaList(bp, (*Token)(unsafe.Pointer(pIdToken)).Fn, (*Token)(unsafe.Pointer(pIdToken)).Fz)) } Xsqlite3ExprListSetName(tls, pParse, p, pIdToken, 1) @@ -137526,9 +138629,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 ****************************************** @@ -138397,10 +139500,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 */ @@ -138688,7 +139791,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+21220 /* "parser stack ove..." */, 0) //******* End %stack_overflow code ******************************************* (*YyParser)(unsafe.Pointer(yypParser)).FpParse = pParse @@ -139667,11 +140770,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+14760 /* "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+21242 /* "unknown table op..." */, libc.VaList(bp, (*Token)(unsafe.Pointer(yymsp+8 /* &.minor */)).Fn, (*Token)(unsafe.Pointer(yymsp+8 /* &.minor */)).Fz)) } } break @@ -140406,7 +141509,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+21269 /* "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)) } @@ -140559,7 +141662,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+21278 /* "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)) @@ -140763,9 +141866,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 + 6916 /* "1" */ } - return ts + 6507 /* "0" */ + return ts + 6509 /* "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 @@ -141040,21 +142143,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+21302 /* "qualified table ..." */, 0) } break case uint32(266): /* tridxby ::= INDEXED BY nm */ { Xsqlite3ErrorMsg(tls, pParse, - ts+21395 /* "the INDEXED BY c..." */, 0) + ts+21397 /* "the INDEXED BY c..." */, 0) } break case uint32(267): /* tridxby ::= NOT INDEXED */ { Xsqlite3ErrorMsg(tls, pParse, - ts+21479 /* "the NOT INDEXED ..." */, 0) + ts+21481 /* "the NOT INDEXED ..." */, 0) } break case uint32(268): /* trigger_cmd ::= UPDATE orconf trnm tridxby SET setlist from where_opt scanpt */ @@ -141503,9 +142606,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+21278 /* "near \"%T\": synta..." */, libc.VaList(bp, bp+8 /* &yyminor */)) } else { - Xsqlite3ErrorMsg(tls, pParse, ts+21564 /* "incomplete input" */, 0) + Xsqlite3ErrorMsg(tls, pParse, ts+21566 /* "incomplete input" */, 0) } //*********** End %syntax_error code ***************************************** @@ -142477,6 +143580,9 @@ func Xsqlite3GetToken(tls *libc.TLS, z uintptr, tokenType uintptr) int32 { /* sq *(*int32)(unsafe.Pointer(tokenType)) = TK_DOT return 1 } + // If the next character is a digit, this is a floating point + // number that begins with ".". Fall thru into the next case + /* no break */ } fallthrough @@ -142601,6 +143707,9 @@ func Xsqlite3GetToken(tls *libc.TLS, z uintptr, tokenType uintptr) int32 { /* sq } return i } + // If it is not a BLOB literal, then it must be an ID, since no + // SQL keywords start with the letter 'x'. Fall through + /* no break */ } fallthrough @@ -142664,7 +143773,7 @@ func Xsqlite3RunParser(tls *libc.TLS, pParse uintptr, zSql uintptr, pzErrMsg uin mxSqlLen = *(*int32)(unsafe.Pointer((db + 128 /* &.aLimit */) + 1*4)) if (*Sqlite3)(unsafe.Pointer(db)).FnVdbeActive == 0 { - libc.AtomicStoreNInt32((db + 400 /* &.u1 */ /* &.isInterrupted */), int32(0), 0) + *(*int32)(unsafe.Pointer((db + 400 /* &.u1 */ /* &.isInterrupted */))) = 0 } (*Parse)(unsafe.Pointer(pParse)).Frc = SQLITE_OK (*Parse)(unsafe.Pointer(pParse)).FzTail = zSql @@ -142683,7 +143792,7 @@ func Xsqlite3RunParser(tls *libc.TLS, pParse uintptr, zSql uintptr, pzErrMsg uin } if *(*int32)(unsafe.Pointer(bp + 2464 /* tokenType */)) >= TK_WINDOW { - if libc.AtomicLoadNInt32((db+400 /* &.u1 */ /* &.isInterrupted */), 0) != 0 { + if *(*int32)(unsafe.Pointer((db + 400 /* &.u1 */ /* &.isInterrupted */))) != 0 { (*Parse)(unsafe.Pointer(pParse)).Frc = SQLITE_INTERRUPT break } @@ -142712,7 +143821,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+21583 /* "unrecognized tok..." */, libc.VaList(bp, n, zSql)) break } } @@ -142732,12 +143841,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+2793 /* "%s" */, libc.VaList(bp+16, Xsqlite3ErrStr(tls, (*Parse)(unsafe.Pointer(pParse)).Frc))) } if (*Parse)(unsafe.Pointer(pParse)).FzErrMsg != 0 { *(*uintptr)(unsafe.Pointer(pzErrMsg)) = (*Parse)(unsafe.Pointer(pParse)).FzErrMsg - Xsqlite3_log(tls, (*Parse)(unsafe.Pointer(pParse)).Frc, ts+21608, /* "%s in \"%s\"" */ + Xsqlite3_log(tls, (*Parse)(unsafe.Pointer(pParse)).Frc, ts+21610, /* "%s in \"%s\"" */ libc.VaList(bp+24, *(*uintptr)(unsafe.Pointer(pzErrMsg)), (*Parse)(unsafe.Pointer(pParse)).FzTail)) (*Parse)(unsafe.Pointer(pParse)).FzErrMsg = uintptr(0) nErr++ @@ -142949,7 +144058,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+21621 /* "create" */, 6) == 0) { token = U8(TkCREATE) } else { token = U8(TkOTHER) @@ -142962,11 +144071,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+18334 /* "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+21628 /* "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+21633 /* "temporary" */, 9) == 0) { token = U8(TkTEMP) } else { token = U8(TkOTHER) @@ -142979,9 +144088,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+21643 /* "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+21647 /* "explain" */, 7) == 0) { token = U8(TkEXPLAIN) } else { token = U8(TkOTHER) @@ -143318,7 +144427,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 @@ -143353,14 +144462,14 @@ func Xsqlite3_config(tls *libc.TLS, op int32, va uintptr) int32 { /* sqlite3.c:1 case SQLITE_CONFIG_MUTEX: { // Specify an alternative mutex implementation - Xsqlite3Config.Fmutex = *(*Sqlite3_mutex_methods)(unsafe.Pointer(libc.VaUintptr(&ap))) + Xsqlite3Config.Fmutex = *(*Sqlite3_mutex_methods)(unsafe.Pointer(libc.VaUintptr(&(ap)))) break } case SQLITE_CONFIG_GETMUTEX: { // Retrieve the current mutex implementation - *(*Sqlite3_mutex_methods)(unsafe.Pointer(libc.VaUintptr(&ap))) = Xsqlite3Config.Fmutex + *(*Sqlite3_mutex_methods)(unsafe.Pointer(libc.VaUintptr(&(ap)))) = Xsqlite3Config.Fmutex break } @@ -143372,7 +144481,7 @@ func Xsqlite3_config(tls *libc.TLS, op int32, va uintptr) int32 { /* sqlite3.c:1 // sqlite3_mem_methods structure. The argument specifies alternative // low-level memory allocation routines to be used in place of the memory // allocation routines built into SQLite. - Xsqlite3Config.Fm = *(*Sqlite3_mem_methods)(unsafe.Pointer(libc.VaUintptr(&ap))) + Xsqlite3Config.Fm = *(*Sqlite3_mem_methods)(unsafe.Pointer(libc.VaUintptr(&(ap)))) break } @@ -143385,7 +144494,7 @@ func Xsqlite3_config(tls *libc.TLS, op int32, va uintptr) int32 { /* sqlite3.c:1 if Xsqlite3Config.Fm.FxMalloc == uintptr(0) { Xsqlite3MemSetDefault(tls) } - *(*Sqlite3_mem_methods)(unsafe.Pointer(libc.VaUintptr(&ap))) = Xsqlite3Config.Fm + *(*Sqlite3_mem_methods)(unsafe.Pointer(libc.VaUintptr(&(ap)))) = Xsqlite3Config.Fm break } @@ -143394,13 +144503,13 @@ func Xsqlite3_config(tls *libc.TLS, op int32, va uintptr) int32 { /* sqlite3.c:1 // EVIDENCE-OF: R-61275-35157 The SQLITE_CONFIG_MEMSTATUS option takes // single argument of type int, interpreted as a boolean, which enables // or disables the collection of memory allocation statistics. - Xsqlite3Config.FbMemstat = int32(libc.VaInt32(&ap)) + Xsqlite3Config.FbMemstat = int32(libc.VaInt32(&(ap))) break } case SQLITE_CONFIG_SMALL_MALLOC: { - Xsqlite3Config.FbSmallMalloc = U8(libc.VaInt32(&ap)) + Xsqlite3Config.FbSmallMalloc = U8(libc.VaInt32(&(ap))) break } @@ -143410,9 +144519,9 @@ func Xsqlite3_config(tls *libc.TLS, op int32, va uintptr) int32 { /* sqlite3.c:1 // SQLITE_CONFIG_PAGECACHE: A pointer to 8-byte aligned memory (pMem), // the size of each page cache line (sz), and the number of cache lines // (N). - Xsqlite3Config.FpPage = libc.VaUintptr(&ap) - Xsqlite3Config.FszPage = int32(libc.VaInt32(&ap)) - Xsqlite3Config.FnPage = int32(libc.VaInt32(&ap)) + Xsqlite3Config.FpPage = libc.VaUintptr(&(ap)) + Xsqlite3Config.FszPage = int32(libc.VaInt32(&(ap))) + Xsqlite3Config.FnPage = int32(libc.VaInt32(&(ap))) break } @@ -143422,7 +144531,7 @@ func Xsqlite3_config(tls *libc.TLS, op int32, va uintptr) int32 { /* sqlite3.c:1 // a single parameter which is a pointer to an integer and writes into // that integer the number of extra bytes per page required for each page // in SQLITE_CONFIG_PAGECACHE. - *(*int32)(unsafe.Pointer(libc.VaUintptr(&ap))) = ((Xsqlite3HeaderSizeBtree(tls) + Xsqlite3HeaderSizePcache(tls)) + Xsqlite3HeaderSizePcache1(tls)) + *(*int32)(unsafe.Pointer(libc.VaUintptr(&(ap)))) = ((Xsqlite3HeaderSizeBtree(tls) + Xsqlite3HeaderSizePcache(tls)) + Xsqlite3HeaderSizePcache1(tls)) break } @@ -143447,7 +144556,7 @@ func Xsqlite3_config(tls *libc.TLS, op int32, va uintptr) int32 { /* sqlite3.c:1 // single argument which is a pointer to an sqlite3_pcache_methods2 // object. This object specifies the interface to a custom page cache // implementation. - Xsqlite3Config.Fpcache2 = *(*Sqlite3_pcache_methods2)(unsafe.Pointer(libc.VaUintptr(&ap))) + Xsqlite3Config.Fpcache2 = *(*Sqlite3_pcache_methods2)(unsafe.Pointer(libc.VaUintptr(&(ap)))) break } @@ -143460,7 +144569,7 @@ func Xsqlite3_config(tls *libc.TLS, op int32, va uintptr) int32 { /* sqlite3.c:1 if Xsqlite3Config.Fpcache2.FxInit == uintptr(0) { Xsqlite3PCacheSetDefault(tls) } - *(*Sqlite3_pcache_methods2)(unsafe.Pointer(libc.VaUintptr(&ap))) = Xsqlite3Config.Fpcache2 + *(*Sqlite3_pcache_methods2)(unsafe.Pointer(libc.VaUintptr(&(ap)))) = Xsqlite3Config.Fpcache2 break } @@ -143471,8 +144580,8 @@ func Xsqlite3_config(tls *libc.TLS, op int32, va uintptr) int32 { /* sqlite3.c:1 case SQLITE_CONFIG_LOOKASIDE: { - Xsqlite3Config.FszLookaside = int32(libc.VaInt32(&ap)) - Xsqlite3Config.FnLookaside = int32(libc.VaInt32(&ap)) + Xsqlite3Config.FszLookaside = int32(libc.VaInt32(&(ap))) + Xsqlite3Config.FnLookaside = int32(libc.VaInt32(&(ap))) break } @@ -143482,8 +144591,8 @@ func Xsqlite3_config(tls *libc.TLS, op int32, va uintptr) int32 { /* sqlite3.c:1 // NULL. case SQLITE_CONFIG_LOG: { - Xsqlite3Config.FxLog = libc.VaUintptr(&ap) - Xsqlite3Config.FpLogArg = libc.VaUintptr(&ap) + Xsqlite3Config.FxLog = libc.VaUintptr(&(ap)) + Xsqlite3Config.FpLogArg = libc.VaUintptr(&(ap)) break } @@ -143498,7 +144607,7 @@ func Xsqlite3_config(tls *libc.TLS, op int32, va uintptr) int32 { /* sqlite3.c:1 // argument of type int. If non-zero, then URI handling is globally // enabled. If the parameter is zero, then URI handling is globally // disabled. - Xsqlite3Config.FbOpenUri = U8(libc.VaInt32(&ap)) + Xsqlite3Config.FbOpenUri = U8(libc.VaInt32(&(ap))) break } @@ -143509,7 +144618,7 @@ func Xsqlite3_config(tls *libc.TLS, op int32, va uintptr) int32 { /* sqlite3.c:1 // option takes a single integer argument which is interpreted as a // boolean in order to enable or disable the use of covering indices for // full table scans in the query optimizer. - Xsqlite3Config.FbUseCis = U8(libc.VaInt32(&ap)) + Xsqlite3Config.FbUseCis = U8(libc.VaInt32(&(ap))) break } @@ -143520,8 +144629,8 @@ func Xsqlite3_config(tls *libc.TLS, op int32, va uintptr) int32 { /* sqlite3.c:1 // integer (sqlite3_int64) values that are the default mmap size limit // (the default setting for PRAGMA mmap_size) and the maximum allowed // mmap size limit. - var szMmap Sqlite3_int64 = Sqlite3_int64(libc.VaInt64(&ap)) - var mxMmap Sqlite3_int64 = Sqlite3_int64(libc.VaInt64(&ap)) + var szMmap Sqlite3_int64 = Sqlite3_int64(libc.VaInt64(&(ap))) + var mxMmap Sqlite3_int64 = Sqlite3_int64(libc.VaInt64(&(ap))) // EVIDENCE-OF: R-53367-43190 If either argument to this option is // negative, then that argument is changed to its compile-time default. // @@ -143546,21 +144655,21 @@ func Xsqlite3_config(tls *libc.TLS, op int32, va uintptr) int32 { /* sqlite3.c:1 case SQLITE_CONFIG_PMASZ: { - Xsqlite3Config.FszPma = U32(libc.VaUint32(&ap)) + Xsqlite3Config.FszPma = U32(libc.VaUint32(&(ap))) break } case SQLITE_CONFIG_STMTJRNL_SPILL: { - Xsqlite3Config.FnStmtSpill = int32(libc.VaInt32(&ap)) + Xsqlite3Config.FnStmtSpill = int32(libc.VaInt32(&(ap))) break } case SQLITE_CONFIG_MEMDB_MAXSIZE: { - Xsqlite3Config.FmxMemdbSize = Sqlite3_int64(libc.VaInt64(&ap)) + Xsqlite3Config.FmxMemdbSize = Sqlite3_int64(libc.VaInt64(&(ap))) break } @@ -143741,22 +144850,22 @@ 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: { // IMP: R-06824-28531 // IMP: R-36257-52125 - (*Db)(unsafe.Pointer((*Sqlite3)(unsafe.Pointer(db)).FaDb)).FzDbSName = libc.VaUintptr(&ap) + (*Db)(unsafe.Pointer((*Sqlite3)(unsafe.Pointer(db)).FaDb)).FzDbSName = libc.VaUintptr(&(ap)) rc = SQLITE_OK break } case SQLITE_DBCONFIG_LOOKASIDE: { - var pBuf uintptr = libc.VaUintptr(&ap) // IMP: R-26835-10964 - var sz int32 = int32(libc.VaInt32(&ap)) // IMP: R-47871-25994 - var cnt int32 = int32(libc.VaInt32(&ap)) // IMP: R-04460-53386 + var pBuf uintptr = libc.VaUintptr(&(ap)) // IMP: R-26835-10964 + var sz int32 = int32(libc.VaInt32(&(ap))) // IMP: R-47871-25994 + var cnt int32 = int32(libc.VaInt32(&(ap))) // IMP: R-04460-53386 rc = setupLookaside(tls, db, pBuf, sz, cnt) break @@ -143770,8 +144879,8 @@ func Xsqlite3_db_config(tls *libc.TLS, db uintptr, op int32, va uintptr) int32 { Fmask U32 }{})))))); i++ { if aFlagOp[i].Fop == op { - var onoff int32 = int32(libc.VaInt32(&ap)) - var pRes uintptr = libc.VaUintptr(&ap) + var onoff int32 = int32(libc.VaInt32(&(ap))) + var pRes uintptr = libc.VaUintptr(&(ap)) var oldFlags U64 = (*Sqlite3)(unsafe.Pointer(db)).Fflags if onoff > 0 { *(*U64)(unsafe.Pointer(db + 48 /* &.flags */)) |= (U64(aFlagOp[i].Fmask)) @@ -143929,7 +145038,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) } } @@ -143991,7 +145100,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 @@ -144009,7 +145120,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+21655 /* "unable to close ..." */, 0) Xsqlite3_mutex_leave(tls, (*Sqlite3)(unsafe.Pointer(db)).Fmutex) return SQLITE_BUSY } @@ -144140,7 +145251,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) @@ -144221,7 +145332,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) } } @@ -144231,23 +145342,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 + 21723 /* "unknown error" */ switch rc { case (SQLITE_ABORT | (int32(2) << 8)): { - zErr = ts + 21735 /* "abort due to ROL..." */ + zErr = ts + 21737 /* "abort due to ROL..." */ break } case SQLITE_ROW: { - zErr = ts + 21757 /* "another row avai..." */ + zErr = ts + 21759 /* "another row avai..." */ break } case SQLITE_DONE: { - zErr = ts + 21779 /* "no more rows ava..." */ + zErr = ts + 21781 /* "no more rows ava..." */ break } @@ -144265,35 +145376,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 + 21804, /* "not an error" */ + /* SQLITE_ERROR */ ts + 21817, /* "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 + 21833, /* "access permissio..." */ + /* SQLITE_ABORT */ ts + 21858, /* "query aborted" */ + /* SQLITE_BUSY */ ts + 21872, /* "database is lock..." */ + /* SQLITE_LOCKED */ ts + 21891, /* "database table i..." */ + /* SQLITE_NOMEM */ ts + 5184, /* "out of memory" */ + /* SQLITE_READONLY */ ts + 21916, /* "attempt to write..." */ + /* SQLITE_INTERRUPT */ ts + 21953, /* "interrupted" */ + /* SQLITE_IOERR */ ts + 21965, /* "disk I/O error" */ + /* SQLITE_CORRUPT */ ts + 21980, /* "database disk im..." */ + /* SQLITE_NOTFOUND */ ts + 22013, /* "unknown operatio..." */ + /* SQLITE_FULL */ ts + 22031, /* "database or disk..." */ + /* SQLITE_CANTOPEN */ ts + 22056, /* "unable to open d..." */ + /* SQLITE_PROTOCOL */ ts + 22085, /* "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 + 4914, /* "database schema ..." */ + /* SQLITE_TOOBIG */ ts + 4451, /* "string or blob t..." */ + /* SQLITE_CONSTRAINT */ ts + 22102, /* "constraint faile..." */ + /* SQLITE_MISMATCH */ ts + 22120, /* "datatype mismatc..." */ + /* SQLITE_MISUSE */ ts + 22138, /* "bad parameter or..." */ /* SQLITE_NOLFS */ uintptr(0), - /* SQLITE_AUTH */ ts + 22170, /* "authorization de..." */ + /* SQLITE_AUTH */ ts + 22172, /* "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 + 22193, /* "column index out..." */ + /* SQLITE_NOTADB */ ts + 22219, /* "file is not a da..." */ + /* SQLITE_NOTICE */ ts + 22242, /* "notification mes..." */ + /* SQLITE_WARNING */ ts + 22263, /* "warning message" */ } /* sqlite3.c:166656:20 */ // This routine implements a busy callback that sleeps and tries @@ -144341,7 +145452,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 { @@ -144396,7 +145509,7 @@ func Xsqlite3_busy_timeout(tls *libc.TLS, db uintptr, ms int32) int32 { /* sqlit // Cause any pending operation to stop at its earliest opportunity. func Xsqlite3_interrupt(tls *libc.TLS, db uintptr) { /* sqlite3.c:166864:17: */ - libc.AtomicStoreNInt32((db + 400 /* &.u1 */ /* &.isInterrupted */), int32(1), 0) + *(*int32)(unsafe.Pointer((db + 400 /* &.u1 */ /* &.isInterrupted */))) = 1 } // This function is exactly the same as sqlite3_create_function(), except @@ -144458,7 +145571,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+22279 /* "unable to delete..." */, 0) return SQLITE_BUSY } else { @@ -144520,7 +145633,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: ; @@ -144535,7 +145648,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: ; @@ -144591,7 +145704,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+22342 /* "unable to use fu..." */, libc.VaList(bp, zName)) Xsqlite3_result_error(tls, context, zErr, -1) Xsqlite3_free(tls, zErr) } @@ -144813,7 +145926,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+22393 /* "unknown database..." */, libc.VaList(bp, zDb)) } else { (*Sqlite3)(unsafe.Pointer(db)).FbusyHandler.FnBusy = 0 rc = Xsqlite3Checkpoint(tls, db, iDb, eMode, pnLog, pnCkpt) @@ -144824,7 +145937,7 @@ func Xsqlite3_wal_checkpoint_v2(tls *libc.TLS, db uintptr, zDb uintptr, eMode in // If there are no active statements, clear the interrupt flag at this // point. if (*Sqlite3)(unsafe.Pointer(db)).FnVdbeActive == 0 { - libc.AtomicStoreNInt32((db + 400 /* &.u1 */ /* &.isInterrupted */), int32(0), 0) + *(*int32)(unsafe.Pointer((db + 400 /* &.u1 */ /* &.isInterrupted */))) = 0 } Xsqlite3_mutex_leave(tls, (*Sqlite3)(unsafe.Pointer(db)).Fmutex) @@ -145032,7 +146145,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+22414 /* "unable to delete..." */, 0) return SQLITE_BUSY } Xsqlite3ExpirePreparedStatements(tls, db, 0) @@ -145049,7 +146162,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) } @@ -145175,7 +146288,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+22482 /* "file:" */, uint64(5)) == 0)) { goto __1 } // Input character index iOut = 0 // Output character index @@ -145223,10 +146336,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+22488 /* "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+22498, /* "invalid uri auth..." */ libc.VaList(bp, (iIn-7), (zUri+7))) rc = SQLITE_ERROR goto parse_uri_out @@ -145348,7 +146461,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+22526 /* "vfs" */, zOpt, uint64(3)) == 0)) { goto __29 } zVfs = zVal @@ -145359,17 +146472,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+22530 /* "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 + 22530 /* "cache" */ __31: ; - if !((nOpt == 4) && (libc.Xmemcmp(tls, ts+22534 /* "mode" */, zOpt, uint64(4)) == 0)) { + if !((nOpt == 4) && (libc.Xmemcmp(tls, ts+22536 /* "mode" */, zOpt, uint64(4)) == 0)) { goto __32 } @@ -145377,7 +146490,7 @@ __31: SQLITE_OPEN_CREATE) | SQLITE_OPEN_MEMORY) aMode = uintptr(unsafe.Pointer(&aOpenMode)) limit = (int32(uint32(mask) & flags)) - zModeType = ts + 2400 /* "access" */ + zModeType = ts + 2402 /* "access" */ __32: ; @@ -145408,7 +146521,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+22541 /* "no such %s mode:..." */, libc.VaList(bp+16, zModeType, zVal)) rc = SQLITE_ERROR goto parse_uri_out __38: @@ -145416,7 +146529,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+22561, /* "%s mode not allo..." */ libc.VaList(bp+32, zModeType, zVal)) rc = SQLITE_PERM goto parse_uri_out @@ -145459,7 +146572,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+22585 /* "no such vfs: %s" */, libc.VaList(bp+48, zVfs)) rc = SQLITE_ERROR __42: ; @@ -145477,21 +146590,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 + 22601 /* "shared" */, Fmode: SQLITE_OPEN_SHAREDCACHE}, + {Fz: ts + 22608 /* "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 + 22616 /* "ro" */, Fmode: SQLITE_OPEN_READONLY}, + {Fz: ts + 22619 /* "rw" */, Fmode: SQLITE_OPEN_READWRITE}, + {Fz: ts + 22622 /* "rwc" */, Fmode: (SQLITE_OPEN_READWRITE | SQLITE_OPEN_CREATE)}, + {Fz: ts + 15853 /* "memory" */, Fmode: SQLITE_OPEN_MEMORY}, {}, } /* sqlite3.c:168085:34 */ @@ -145673,10 +146786,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+20172 /* "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+22626 /* "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) { @@ -145722,7 +146835,7 @@ __19: ; Xsqlite3ErrorWithMsg(tls, db, rc, func() uintptr { if *(*uintptr)(unsafe.Pointer(bp + 24 /* zErrMsg */)) != 0 { - return ts + 2791 /* "%s" */ + return ts + 2793 /* "%s" */ } return uintptr(0) }(), libc.VaList(bp, *(*uintptr)(unsafe.Pointer(bp + 24 /* zErrMsg */)))) @@ -145760,9 +146873,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 + 5461 /* "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 + 21628 /* "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 @@ -145880,7 +146993,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 + 22632 /* "\x00\x00" */ } pVal = Xsqlite3ValueNew(tls, uintptr(0)) Xsqlite3ValueSetStr(tls, pVal, -1, zFilename, uint8(SQLITE_UTF16LE), uintptr(0)) @@ -145983,24 +147096,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+22635, /* "%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+22660 /* "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+22680 /* "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+22687 /* "cannot open file" */) } // This is a convenience routine that makes sure that all thread-specific @@ -146127,7 +147240,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 + 11387 /* "INTEGER" */ primarykey = 1 __13: ; @@ -146179,14 +147292,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+22704 /* "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 + 2793 /* "%s" */ } return uintptr(0) }(), libc.VaList(bp+16, *(*uintptr)(unsafe.Pointer(bp + 24 /* zErrMsg */)))) @@ -146274,7 +147387,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. @@ -146316,9 +147429,9 @@ func Xsqlite3_test_control(tls *libc.TLS, op int32, va uintptr) int32 { /* sqlit // be used for the next call to sqlite3_randomness(). case SQLITE_TESTCTRL_PRNG_SEED: { - var x int32 = int32(libc.VaInt32(&ap)) + var x int32 = int32(libc.VaInt32(&(ap))) var y int32 - var db uintptr = libc.VaUintptr(&ap) + var db uintptr = libc.VaUintptr(&(ap)) if (db != 0) && ((libc.AssignInt32(&y, (*Schema)(unsafe.Pointer((*Db)(unsafe.Pointer((*Sqlite3)(unsafe.Pointer(db)).FaDb)).FpSchema)).Fschema_cookie)) != 0) { x = y @@ -146337,8 +147450,8 @@ func Xsqlite3_test_control(tls *libc.TLS, op int32, va uintptr) int32 { /* sqlit // See the sqlite3BitvecBuiltinTest() for additional information. case SQLITE_TESTCTRL_BITVEC_TEST: { - var sz int32 = int32(libc.VaInt32(&ap)) - var aProg uintptr = libc.VaUintptr(&ap) + var sz int32 = int32(libc.VaInt32(&(ap))) + var aProg uintptr = libc.VaUintptr(&(ap)) rc = Xsqlite3BitvecBuiltinTest(tls, sz, aProg) break @@ -146355,7 +147468,7 @@ func Xsqlite3_test_control(tls *libc.TLS, op int32, va uintptr) int32 { /* sqlit // sqlite3_test_control(). case SQLITE_TESTCTRL_FAULT_INSTALL: { - Xsqlite3Config.FxTestCallback = libc.VaUintptr(&ap) + Xsqlite3Config.FxTestCallback = libc.VaUintptr(&(ap)) rc = Xsqlite3FaultSim(tls, 0) break @@ -146369,8 +147482,8 @@ func Xsqlite3_test_control(tls *libc.TLS, op int32, va uintptr) int32 { /* sqlit { var xBenignBegin uintptr var xBenignEnd uintptr - xBenignBegin = libc.VaUintptr(&ap) - xBenignEnd = libc.VaUintptr(&ap) + xBenignBegin = libc.VaUintptr(&(ap)) + xBenignEnd = libc.VaUintptr(&(ap)) Xsqlite3BenignMallocHooks(tls, xBenignBegin, xBenignEnd) break @@ -146390,7 +147503,7 @@ func Xsqlite3_test_control(tls *libc.TLS, op int32, va uintptr) int32 { /* sqlit { rc = Xsqlite3PendingByte { - var newVal uint32 = uint32(libc.VaUint32(&ap)) + var newVal uint32 = uint32(libc.VaUint32(&(ap))) if newVal != 0 { Xsqlite3PendingByte = int32(newVal) } @@ -146413,7 +147526,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 } @@ -146445,7 +147558,7 @@ func Xsqlite3_test_control(tls *libc.TLS, op int32, va uintptr) int32 { /* sqlit // } case SQLITE_TESTCTRL_ALWAYS: { - var x int32 = int32(libc.VaInt32(&ap)) + var x int32 = int32(libc.VaInt32(&(ap))) if x != 0 { rc = x } else { @@ -146481,8 +147594,8 @@ func Xsqlite3_test_control(tls *libc.TLS, op int32, va uintptr) int32 { /* sqlit // is obtained in every case. case SQLITE_TESTCTRL_OPTIMIZATIONS: { - var db uintptr = libc.VaUintptr(&ap) - (*Sqlite3)(unsafe.Pointer(db)).FdbOptFlags = U32(libc.VaUint32(&ap)) + var db uintptr = libc.VaUintptr(&(ap)) + (*Sqlite3)(unsafe.Pointer(db)).FdbOptFlags = U32(libc.VaUint32(&(ap))) break } @@ -146493,7 +147606,7 @@ func Xsqlite3_test_control(tls *libc.TLS, op int32, va uintptr) int32 { /* sqlit // and its variants fail. If onoff is zero, undo this setting. case SQLITE_TESTCTRL_LOCALTIME_FAULT: { - Xsqlite3Config.FbLocaltimeFault = int32(libc.VaInt32(&ap)) + Xsqlite3Config.FbLocaltimeFault = int32(libc.VaInt32(&(ap))) break } @@ -146504,7 +147617,7 @@ func Xsqlite3_test_control(tls *libc.TLS, op int32, va uintptr) int32 { /* sqlit // the database connection given in the argument. case SQLITE_TESTCTRL_INTERNAL_FUNCTIONS: { - var db uintptr = libc.VaUintptr(&ap) + var db uintptr = libc.VaUintptr(&(ap)) *(*U32)(unsafe.Pointer(db + 44 /* &.mDbFlags */)) ^= (U32(DBFLAG_InternalFunc)) break @@ -146519,7 +147632,7 @@ func Xsqlite3_test_control(tls *libc.TLS, op int32, va uintptr) int32 { /* sqlit // that demonstrat invariants on well-formed database files. case SQLITE_TESTCTRL_NEVER_CORRUPT: { - Xsqlite3Config.FneverCorrupt = int32(libc.VaInt32(&ap)) + Xsqlite3Config.FneverCorrupt = int32(libc.VaInt32(&(ap))) break } @@ -146537,7 +147650,7 @@ func Xsqlite3_test_control(tls *libc.TLS, op int32, va uintptr) int32 { /* sqlit // in production. case SQLITE_TESTCTRL_EXTRA_SCHEMA_CHECKS: { - Xsqlite3Config.FbExtraSchemaChecks = U8(libc.VaInt32(&ap)) + Xsqlite3Config.FbExtraSchemaChecks = U8(libc.VaInt32(&(ap))) break } @@ -146548,7 +147661,7 @@ func Xsqlite3_test_control(tls *libc.TLS, op int32, va uintptr) int32 { /* sqlit // provided to set a small and easily reachable reset value. case SQLITE_TESTCTRL_ONCE_RESET_THRESHOLD: { - Xsqlite3Config.FiOnceResetThreshold = int32(libc.VaInt32(&ap)) + Xsqlite3Config.FiOnceResetThreshold = int32(libc.VaInt32(&(ap))) break } @@ -146566,8 +147679,8 @@ func Xsqlite3_test_control(tls *libc.TLS, op int32, va uintptr) int32 { /* sqlit // sqlite3_test_control(SQLITE_TESTCTRL_SORTER_MMAP, db, nMax); case SQLITE_TESTCTRL_SORTER_MMAP: { - var db uintptr = libc.VaUintptr(&ap) - (*Sqlite3)(unsafe.Pointer(db)).FnMaxSorterMmap = int32(libc.VaInt32(&ap)) + var db uintptr = libc.VaUintptr(&(ap)) + (*Sqlite3)(unsafe.Pointer(db)).FnMaxSorterMmap = int32(libc.VaInt32(&(ap))) break } @@ -146602,11 +147715,11 @@ func Xsqlite3_test_control(tls *libc.TLS, op int32, va uintptr) int32 { /* sqlit // effect of erasing all imposter tables. case SQLITE_TESTCTRL_IMPOSTER: { - var db uintptr = libc.VaUintptr(&ap) + var db uintptr = libc.VaUintptr(&(ap)) Xsqlite3_mutex_enter(tls, (*Sqlite3)(unsafe.Pointer(db)).Fmutex) - (*Sqlite3)(unsafe.Pointer(db)).Finit.FiDb = U8(Xsqlite3FindDbName(tls, db, libc.VaUintptr(&ap))) - (*Sqlite3)(unsafe.Pointer(db)).Finit.Fbusy = U8(libc.AssignBitFieldPtr8Uint32(db+184 /* &.init */ +8 /* &.imposterTable */, uint32(libc.VaInt32(&ap)), 1, 1, 0x2)) - (*Sqlite3)(unsafe.Pointer(db)).Finit.FnewTnum = Pgno(libc.VaInt32(&ap)) + (*Sqlite3)(unsafe.Pointer(db)).Finit.FiDb = U8(Xsqlite3FindDbName(tls, db, libc.VaUintptr(&(ap)))) + (*Sqlite3)(unsafe.Pointer(db)).Finit.Fbusy = U8(libc.AssignBitFieldPtr8Uint32(db+184 /* &.init */ +8 /* &.imposterTable */, uint32(libc.VaInt32(&(ap))), 1, 1, 0x2)) + (*Sqlite3)(unsafe.Pointer(db)).Finit.FnewTnum = Pgno(libc.VaInt32(&(ap))) if (int32((*Sqlite3)(unsafe.Pointer(db)).Finit.Fbusy) == 0) && ((*Sqlite3)(unsafe.Pointer(db)).Finit.FnewTnum > Pgno(0)) { Xsqlite3ResetAllSchemasOfConnection(tls, db) } @@ -146626,7 +147739,7 @@ func Xsqlite3_test_control(tls *libc.TLS, op int32, va uintptr) int32 { /* sqlit // for testing purposes. case SQLITE_TESTCTRL_RESULT_INTREAL: { - var pCtx uintptr = libc.VaUintptr(&ap) + var pCtx uintptr = libc.VaUintptr(&(ap)) Xsqlite3ResultIntReal(tls, pCtx) break @@ -146642,9 +147755,9 @@ func Xsqlite3_test_control(tls *libc.TLS, op int32, va uintptr) int32 { /* sqlit // The seek-count is only available if compiled with SQLITE_DEBUG. case SQLITE_TESTCTRL_SEEK_COUNT: { - var db uintptr = libc.VaUintptr(&ap) + var db uintptr = libc.VaUintptr(&(ap)) _ = db - var pn uintptr = libc.VaUintptr(&ap) + var pn uintptr = libc.VaUintptr(&(ap)) *(*U64)(unsafe.Pointer(pn)) = uint64(0) _ = db // Silence harmless unused variable warning break @@ -146661,8 +147774,8 @@ func Xsqlite3_test_control(tls *libc.TLS, op int32, va uintptr) int32 { /* sqlit // op==3 Set sqlite3WhereTrace to the value *ptr case SQLITE_TESTCTRL_TRACEFLAGS: { - var opTrace int32 = int32(libc.VaInt32(&ap)) - var ptr uintptr = libc.VaUintptr(&ap) + var opTrace int32 = int32(libc.VaInt32(&(ap))) + var ptr uintptr = libc.VaUintptr(&(ap)) switch opTrace { case 0: *(*U32)(unsafe.Pointer(ptr)) = Xsqlite3SelectTrace @@ -146985,7 +148098,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+22732 /* "SQLITE_" */, 7) == 0 { zOptName += uintptr(7) } n = Xsqlite3Strlen30(tls, zOptName) @@ -147125,7 +148238,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 @@ -147146,7 +148261,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 + 22740 /* "database is dead..." */ } return uintptr(0) }(), 0) @@ -147212,7 +148327,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 } @@ -147250,7 +148367,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 } } @@ -147274,7 +148393,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 @@ -147903,39 +149024,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 */ @@ -147946,7 +149067,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 + 5261 /* "null" */, ts + 5773 /* "true" */, ts + 5778 /* "false" */, ts + 5271 /* "integer" */, ts + 5266 /* "real" */, ts + 13526 /* "text" */, ts + 22763 /* "array" */, ts + 22769, /* "object" */ } /* sqlite3.c:189771:19 */ // Maximum nesting depth of JSON for this implementation. @@ -148044,7 +149165,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)))))) @@ -148126,7 +149247,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 + 22776 /* "0123456789abcdef" */ + uintptr((int32(c) & 0xf))))) __8: ; __6: @@ -148154,7 +149275,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+5261 /* "null" */, uint32(4)) break } @@ -148183,7 +149304,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+22793 /* "JSON cannot hold..." */, -1) (*JsonString)(unsafe.Pointer(p)).FbErr = U8(2) jsonReset(tls, p) } @@ -148260,19 +149381,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+5261 /* "null" */, uint32(4)) break } case JSON_TRUE: { - jsonAppendRaw(tls, pOut, ts+5771 /* "true" */, uint32(4)) + jsonAppendRaw(tls, pOut, ts+5773 /* "true" */, uint32(4)) break } case JSON_FALSE: { - jsonAppendRaw(tls, pOut, ts+5776 /* "false" */, uint32(5)) + jsonAppendRaw(tls, pOut, ts+5778 /* "false" */, uint32(5)) break } @@ -148282,6 +149403,7 @@ func jsonRenderNode(tls *libc.TLS, pNode uintptr, pOut uintptr, aReplace uintptr jsonAppendString(tls, pOut, *(*uintptr)(unsafe.Pointer(pNode + 8 /* &.u */)), (*JsonNode)(unsafe.Pointer(pNode)).Fn) break } + /* no break */ } fallthrough @@ -148493,7 +149615,7 @@ __20: int_done: goto __1 int_as_real: - i = int64(0) + i = int64(0) /* no break */ __6: z1 = *(*uintptr)(unsafe.Pointer(pNode + 8 /* &.u */)) @@ -148838,17 +149960,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+5261 /* "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+5773 /* "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+5778 /* "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))) @@ -148956,7 +150078,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+22822 /* "malformed JSON" */, -1) } } jsonParseReset(tls, pParse) @@ -149276,7 +150398,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+22837 /* "[0]" */, uint64(3)) == 0 { jsonParseAddNode(tls, pParse, uint32(JSON_ARRAY), uint32(0), uintptr(0)) } else { return uintptr(0) @@ -149293,7 +150415,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+22841 /* "JSON path error ..." */, libc.VaList(bp, zErr)) } // Do a node lookup using zPath. Return a pointer to the node on success. @@ -149360,7 +150482,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+22867, /* "json_%s() needs ..." */ libc.VaList(bp, zFuncName)) Xsqlite3_result_error(tls, pCtx, zMsg, -1) Xsqlite3_free(tls, zMsg) @@ -149504,7 +150626,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+5261 /* "null" */, uint32(4)) } } else if pNode != 0 { jsonReturn(tls, pNode, ctx, uintptr(0)) @@ -149632,14 +150754,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+22910 /* "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+22961 /* "json_object() la..." */, -1) jsonReset(tls, bp /* &jx */) return } @@ -149747,7 +150869,7 @@ __1: if !((argc & 1) == 0) { goto __2 } - jsonWrongNumArgs(tls, ctx, ts+14035 /* "replace" */) + jsonWrongNumArgs(tls, ctx, ts+14037 /* "replace" */) return __2: ; @@ -149833,9 +150955,9 @@ __1: } jsonWrongNumArgs(tls, ctx, func() uintptr { if bIsSet != 0 { - return ts + 22993 /* "set" */ + return ts + 22995 /* "set" */ } - return ts + 22997 /* "insert" */ + return ts + 22999 /* "insert" */ }()) return __2: @@ -149983,7 +151105,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+23006 /* "[]" */, 2, uintptr(0)) } Xsqlite3_result_subtype(tls, ctx, uint32(JSON_SUBTYPE)) } @@ -150088,7 +151210,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+23009 /* "{}" */, 2, uintptr(0)) } Xsqlite3_result_subtype(tls, ctx, uint32(JSON_SUBTYPE)) } @@ -150106,17 +151228,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 */ // *************************************************************************** @@ -150141,7 +151263,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+23012 /* "CREATE TABLE x(k..." */) if rc == SQLITE_OK { pNew = libc.AssignPtrUintptr(ppVtab, Xsqlite3_malloc(tls, int32(unsafe.Sizeof(Sqlite3_vtab{})))) if pNew == uintptr(0) { @@ -150279,14 +151401,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+23095 /* "[%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+23100 /* ".%.*s" */, libc.VaList(bp+8, ((*JsonNode)(unsafe.Pointer(pNode)).Fn-U32(2)), (*(*uintptr)(unsafe.Pointer(pNode + 8 /* &.u */))+uintptr(1)))) } } @@ -150379,9 +151501,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+23095 /* "[%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+23100 /* ".%.*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 */) @@ -150398,6 +151520,9 @@ func jsonEachColumn(tls *libc.TLS, cur uintptr, ctx uintptr, i int32) int32 { /* jsonResult(tls, bp+160 /* &x */) break } + // For json_each() path and root are the same so fall through + // into the root case + /* no break */ } fallthrough @@ -150405,7 +151530,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 + 23106 /* "$" */ } Xsqlite3_result_text(tls, ctx, zRoot, -1, uintptr(0)) break @@ -150537,7 +151662,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+22822 /* "malformed JSON" */, 0) if (*Sqlite3_vtab)(unsafe.Pointer((*Sqlite3_vtab_cursor)(unsafe.Pointer(cur)).FpVtab)).FzErrMsg != 0 { rc = SQLITE_ERROR } @@ -150649,12 +151774,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), @@ -150678,41 +151803,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 + 23108 /* "json" */, FnArg: 1, FxFunc: 0}, + {FzName: ts + 23113 /* "json_array" */, FnArg: -1, FxFunc: 0}, + {FzName: ts + 23124 /* "json_array_lengt..." */, FnArg: 1, FxFunc: 0}, + {FzName: ts + 23124 /* "json_array_lengt..." */, FnArg: 2, FxFunc: 0}, + {FzName: ts + 23142 /* "json_extract" */, FnArg: -1, FxFunc: 0}, + {FzName: ts + 23155 /* "json_insert" */, FnArg: -1, FxFunc: 0}, + {FzName: ts + 23167 /* "json_object" */, FnArg: -1, FxFunc: 0}, + {FzName: ts + 23179 /* "json_patch" */, FnArg: 2, FxFunc: 0}, + {FzName: ts + 23190 /* "json_quote" */, FnArg: 1, FxFunc: 0}, + {FzName: ts + 23201 /* "json_remove" */, FnArg: -1, FxFunc: 0}, + {FzName: ts + 23213 /* "json_replace" */, FnArg: -1, FxFunc: 0}, + {FzName: ts + 23226 /* "json_set" */, FnArg: -1, Fflag: 1, FxFunc: 0}, + {FzName: ts + 23235 /* "json_type" */, FnArg: 1, FxFunc: 0}, + {FzName: ts + 23235 /* "json_type" */, FnArg: 2, FxFunc: 0}, + {FzName: ts + 23245 /* "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 + 23256 /* "json_group_array" */, FnArg: 1, FxStep: 0, FxFinal: 0, FxValue: 0}, - {FzName: ts + 23271 /* "json_group_objec..." */, FnArg: 2, + {FzName: ts + 23273 /* "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 + 23291 /* "json_each" */, FpModule: 0}, + {FzName: ts + 23301 /* "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 @@ -150734,19 +151859,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 @@ -150775,21 +151900,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 */ @@ -150818,13 +151943,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 */ @@ -150840,12 +151965,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 */ @@ -150888,17 +152013,11 @@ func readInt16(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:192745:12: */ func readCoord(tls *libc.TLS, p uintptr, pCoord uintptr) { /* sqlite3.c:192748:13: */ // p is always 4-byte aligned - (*(*U32)(unsafe.Pointer(pCoord /* .Fu */))) = libc.X__builtin_bswap32(tls, *(*U32)(unsafe.Pointer(p))) + (*(*U32)(unsafe.Pointer(pCoord /* .Fu */))) = (((((U32(*(*U8)(unsafe.Pointer(p)))) << 24) + ((U32(*(*U8)(unsafe.Pointer(p + 1)))) << 16)) + ((U32(*(*U8)(unsafe.Pointer(p + 2)))) << 8)) + ((U32(*(*U8)(unsafe.Pointer(p + 3)))) << 0)) } func readInt64(tls *libc.TLS, p uintptr) I64 { /* sqlite3.c:192765:12: */ - bp := tls.Alloc(8) - defer tls.Free(8) - - // var x U64 at bp, 8 - - libc.Xmemcpy(tls, bp /* &x */, p, uint64(8)) - return I64(libc.X__builtin_bswap64(tls, uint64(*(*U64)(unsafe.Pointer(bp /* x */))))) + return (I64(((((((((U64(*(*U8)(unsafe.Pointer(p)))) << 56) + ((U64(*(*U8)(unsafe.Pointer(p + 1)))) << 48)) + ((U64(*(*U8)(unsafe.Pointer(p + 2)))) << 40)) + ((U64(*(*U8)(unsafe.Pointer(p + 3)))) << 32)) + ((U64(*(*U8)(unsafe.Pointer(p + 4)))) << 24)) + ((U64(*(*U8)(unsafe.Pointer(p + 5)))) << 16)) + ((U64(*(*U8)(unsafe.Pointer(p + 6)))) << 8)) + ((U64(*(*U8)(unsafe.Pointer(p + 7)))) << 0))) } // Functions to serialize a 16 bit integer, 32 bit real number and @@ -150910,25 +152029,26 @@ func writeInt16(tls *libc.TLS, p uintptr, i int32) { /* sqlite3.c:192797:13: */ } func writeCoord(tls *libc.TLS, p uintptr, pCoord uintptr) int32 { /* sqlite3.c:192801:12: */ - bp := tls.Alloc(4) - defer tls.Free(4) - - // var i U32 at bp, 4 - + var i U32 // p is always 4-byte aligned - *(*U32)(unsafe.Pointer(bp /* i */)) = libc.X__builtin_bswap32(tls, *(*U32)(unsafe.Pointer(pCoord /* .Fu */))) - libc.Xmemcpy(tls, p, bp /* &i */, uint64(4)) + i = *(*U32)(unsafe.Pointer(pCoord /* .Fu */)) + *(*U8)(unsafe.Pointer(p)) = (U8((i >> 24) & U32(0xFF))) + *(*U8)(unsafe.Pointer(p + 1)) = (U8((i >> 16) & U32(0xFF))) + *(*U8)(unsafe.Pointer(p + 2)) = (U8((i >> 8) & U32(0xFF))) + *(*U8)(unsafe.Pointer(p + 3)) = (U8((i >> 0) & U32(0xFF))) return 4 } func writeInt64(tls *libc.TLS, p uintptr, i I64) int32 { /* sqlite3.c:192824:12: */ - bp := tls.Alloc(8) - defer tls.Free(8) - *(*I64)(unsafe.Pointer(bp)) = i - - *(*I64)(unsafe.Pointer(bp /* i */)) = I64(libc.X__builtin_bswap64(tls, uint64(U64(*(*I64)(unsafe.Pointer(bp /* i */)))))) - libc.Xmemcpy(tls, p, bp /* &i */, uint64(8)) + *(*U8)(unsafe.Pointer(p)) = (U8((i >> 56) & int64(0xFF))) + *(*U8)(unsafe.Pointer(p + 1)) = (U8((i >> 48) & int64(0xFF))) + *(*U8)(unsafe.Pointer(p + 2)) = (U8((i >> 40) & int64(0xFF))) + *(*U8)(unsafe.Pointer(p + 3)) = (U8((i >> 32) & int64(0xFF))) + *(*U8)(unsafe.Pointer(p + 4)) = (U8((i >> 24) & int64(0xFF))) + *(*U8)(unsafe.Pointer(p + 5)) = (U8((i >> 16) & int64(0xFF))) + *(*U8)(unsafe.Pointer(p + 6)) = (U8((i >> 8) & int64(0xFF))) + *(*U8)(unsafe.Pointer(p + 7)) = (U8((i >> 0) & int64(0xFF))) return 8 } @@ -151062,11 +152182,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+23311 /* "%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+23319 /* "data" */, iNode, 0, (pRtree + 112 /* &.pNodeBlob */)) Xsqlite3_free(tls, zTab) } @@ -151311,7 +152431,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+23324, /* "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)) @@ -151358,7 +152478,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) } @@ -151494,7 +152614,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 @@ -151505,7 +152627,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 } @@ -151543,7 +152667,8 @@ func rtreeNonleafConstraint(tls *libc.TLS, p uintptr, eInt int32, pCellData uint { // var c RtreeCoord at bp, 4 /* Coordinate decoded */ - *(*U32)(unsafe.Pointer(bp /* &c */)) = libc.X__builtin_bswap32(tls, *(*U32)(unsafe.Pointer(pCellData))) + libc.Xmemcpy(tls, (bp /* &c */ /* &.u */), pCellData, uint64(4)) + *(*U32)(unsafe.Pointer(bp /* &c */)) = (((((*(*U32)(unsafe.Pointer(bp /* &c */)) >> 24) & U32(0xff)) | ((*(*U32)(unsafe.Pointer(bp /* &c */)) >> 8) & U32(0xff00))) | ((*(*U32)(unsafe.Pointer(bp /* &c */)) & U32(0xff)) << 24)) | ((*(*U32)(unsafe.Pointer(bp /* &c */)) & U32(0xff00)) << 8)) if eInt != 0 { val = Sqlite3_rtree_dbl(*(*int32)(unsafe.Pointer(bp /* &c */))) } else { @@ -151566,7 +152691,8 @@ func rtreeNonleafConstraint(tls *libc.TLS, p uintptr, eInt int32, pCellData uint { // var c RtreeCoord at bp+4, 4 /* Coordinate decoded */ - *(*U32)(unsafe.Pointer(bp + 4 /* &c */)) = libc.X__builtin_bswap32(tls, *(*U32)(unsafe.Pointer(pCellData))) + libc.Xmemcpy(tls, (bp + 4 /* &c */ /* &.u */), pCellData, uint64(4)) + *(*U32)(unsafe.Pointer(bp + 4 /* &c */)) = (((((*(*U32)(unsafe.Pointer(bp + 4 /* &c */)) >> 24) & U32(0xff)) | ((*(*U32)(unsafe.Pointer(bp + 4 /* &c */)) >> 8) & U32(0xff00))) | ((*(*U32)(unsafe.Pointer(bp + 4 /* &c */)) & U32(0xff)) << 24)) | ((*(*U32)(unsafe.Pointer(bp + 4 /* &c */)) & U32(0xff00)) << 8)) if eInt != 0 { val = Sqlite3_rtree_dbl(*(*int32)(unsafe.Pointer(bp + 4 /* &c */))) } else { @@ -151601,7 +152727,8 @@ func rtreeLeafConstraint(tls *libc.TLS, p uintptr, eInt int32, pCellData uintptr { // var c RtreeCoord at bp, 4 /* Coordinate decoded */ - *(*U32)(unsafe.Pointer(bp /* &c */)) = libc.X__builtin_bswap32(tls, *(*U32)(unsafe.Pointer(pCellData))) + libc.Xmemcpy(tls, (bp /* &c */ /* &.u */), pCellData, uint64(4)) + *(*U32)(unsafe.Pointer(bp /* &c */)) = (((((*(*U32)(unsafe.Pointer(bp /* &c */)) >> 24) & U32(0xff)) | ((*(*U32)(unsafe.Pointer(bp /* &c */)) >> 8) & U32(0xff00))) | ((*(*U32)(unsafe.Pointer(bp /* &c */)) & U32(0xff)) << 24)) | ((*(*U32)(unsafe.Pointer(bp /* &c */)) & U32(0xff00)) << 8)) if eInt != 0 { xN = Sqlite3_rtree_dbl(*(*int32)(unsafe.Pointer(bp /* &c */))) } else { @@ -152071,7 +153198,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+23406 /* "RtreeMatchArg" */) if pSrc == uintptr(0) { return SQLITE_ERROR } @@ -152335,7 +153462,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+2793 /* "%s" */, libc.VaList(bp, bp+8 /* &zIdxStr[0] */))))) { return SQLITE_NOMEM } @@ -152891,7 +154018,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: */ @@ -153595,7 +154724,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+23420 /* "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 { @@ -153607,12 +154736,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+23440 /* "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+23472 /* "rtree constraint..." */, libc.VaList(bp+32, (*Rtree)(unsafe.Pointer(pRtree)).FzName, zCol1, zCol2)) } } @@ -153880,7 +155009,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+23509 /* "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)) @@ -153918,7 +155047,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 + 23654 /* "SELECT stat FROM..." */ var zSql uintptr // var p uintptr at bp+16, 8 @@ -153926,7 +155055,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+10075 /* "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 { @@ -153979,7 +155108,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 + 23710 /* "node" */, ts + 4177 /* "parent" */, ts + 14760, /* "rowid" */ } /* sqlite3.c:195716:21 */ var rtreeModule = Sqlite3_module{ @@ -154023,19 +155152,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+23715, /* "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+23777 /* ",a%d" */, libc.VaList(bp+16, ii)) } Xsqlite3_str_appendf(tls, p, - ts+23780, /* ");CREATE TABLE \"..." */ + ts+23782, /* ");CREATE TABLE \"..." */ libc.VaList(bp+24, zDb, zPrefix)) Xsqlite3_str_appendf(tls, p, - ts+23844, /* "CREATE TABLE \"%w..." */ + ts+23846, /* "CREATE TABLE \"%w..." */ libc.VaList(bp+40, zDb, zPrefix)) Xsqlite3_str_appendf(tls, p, - ts+23914, /* "INSERT INTO \"%w\"..." */ + ts+23916, /* "INSERT INTO \"%w\"..." */ libc.VaList(bp+56, zDb, zPrefix, (*Rtree)(unsafe.Pointer(pRtree)).FiNodeSize)) zCreate = Xsqlite3_str_finish(tls, p) if !(zCreate != 0) { @@ -154066,7 +155195,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 + 23965 /* "INSERT INTO\"%w\"...." */ } zSql = Xsqlite3_mprintf(tls, zFormat, libc.VaList(bp+80, zDb, zPrefix)) if zSql != 0 { @@ -154078,7 +155207,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+24073, /* "SELECT * FROM \"%..." */ libc.VaList(bp+96, zDb, zPrefix)) if (*Rtree)(unsafe.Pointer(pRtree)).FzReadAuxSql == uintptr(0) { rc = SQLITE_NOMEM @@ -154086,18 +155215,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+24118 /* "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+11540 /* "," */, 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+24145 /* "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+24167 /* "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+24175 /* " WHERE rowid=?1" */, 0) zSql = Xsqlite3_str_finish(tls, p) if zSql == uintptr(0) { rc = SQLITE_NOMEM @@ -154113,18 +155242,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 + 24191, /* "INSERT OR REPLAC..." */ + ts + 24244, /* "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 + 24289, /* "SELECT nodeno FR..." */ + ts + 24341, /* "INSERT OR REPLAC..." */ + ts + 24395, /* "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 + 24440, /* "SELECT parentnod..." */ + ts + 24498, /* "INSERT OR REPLAC..." */ + ts + 24553, /* "DELETE FROM '%q'..." */ } /* sqlite3.c:195763:21 */ // The second argument to this function contains the text of an SQL statement @@ -154171,7 +155300,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+24600 /* "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) @@ -154179,19 +155308,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+2793 /* "%s" */, libc.VaList(bp+8, Xsqlite3_errmsg(tls, db))) } } else { zSql = Xsqlite3_mprintf(tls, - ts+24618, /* "SELECT length(da..." */ + ts+24620, /* "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+2793 /* "%s" */, libc.VaList(bp+32, Xsqlite3_errmsg(tls, db))) } else if (*Rtree)(unsafe.Pointer(pRtree)).FiNodeSize < (512 - 64) { rc = (SQLITE_CORRUPT | (int32(1) << 8)) - *(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3_mprintf(tls, ts+24675, /* "undersize RTree ..." */ + *(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3_mprintf(tls, ts+24677, /* "undersize RTree ..." */ libc.VaList(bp+40, (*Rtree)(unsafe.Pointer(pRtree)).FzName)) } } @@ -154242,17 +155371,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 + 24712, /* "Wrong number of ..." */ // 1 + ts + 24755, /* "Too few columns ..." */ // 2 + ts + 24790, /* "Too many columns..." */ // 3 + ts + 24826, /* "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+2793 /* "%s" */, libc.VaList(bp, *(*uintptr)(unsafe.Pointer(bp + 96 /* &aErrMsg[0] */ + uintptr((2+(libc.Bool32(argc >= 6))))*8)))) return SQLITE_ERROR __1: ; @@ -154282,7 +155411,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+24863, /* "CREATE TABLE x(%..." */ libc.VaList(bp+16, rtreeTokenLength(tls, *(*uintptr)(unsafe.Pointer(argv + 3*8))), *(*uintptr)(unsafe.Pointer(argv + 3*8)))) ii = 4 __3: @@ -154294,7 +155423,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+24887 /* ",%.*s" */, libc.VaList(bp+32, rtreeTokenLength(tls, (zArg+uintptr(1))), (zArg+uintptr(1)))) goto __7 __6: if !(int32((*Rtree)(unsafe.Pointer(pRtree)).FnAux) > 0) { @@ -154317,7 +155446,7 @@ __4: goto __5 __5: ; - Xsqlite3_str_appendf(tls, pSql, ts+24891 /* ");" */, 0) + Xsqlite3_str_appendf(tls, pSql, ts+24893 /* ");" */, 0) zSql = Xsqlite3_str_finish(tls, pSql) if !(!(zSql != 0)) { goto __10 @@ -154328,14 +155457,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+2793 /* "%s" */, libc.VaList(bp+64, *(*uintptr)(unsafe.Pointer(bp + 96 /* &aErrMsg[0] */ + 4*8)))) rc = SQLITE_ERROR goto __13 __12: if !(SQLITE_OK != (libc.AssignInt32(&rc, Xsqlite3_declare_vtab(tls, db, zSql)))) { goto __14 } - *(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3_mprintf(tls, ts+2791 /* "%s" */, libc.VaList(bp+72, Xsqlite3_errmsg(tls, db))) + *(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3_mprintf(tls, ts+2793 /* "%s" */, libc.VaList(bp+72, Xsqlite3_errmsg(tls, db))) __14: ; __13: @@ -154378,7 +155507,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+2793 /* "%s" */, libc.VaList(bp+80, *(*uintptr)(unsafe.Pointer(bp + 96 /* &aErrMsg[0] */ + uintptr(iErr)*8)))) goto rtreeInit_fail __22: ; @@ -154396,7 +155525,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+2793 /* "%s" */, libc.VaList(bp+88, Xsqlite3_errmsg(tls, db))) goto rtreeInit_fail __24: ; @@ -154416,7 +155545,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 + 24896 /* ",%.*s REAL" */, ts + 24907 /* ",%.*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. @@ -154471,13 +155600,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+9655 /* " " */, 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+24917 /* "{%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+24923 /* " %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+24927 /* "}" */, 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}))) @@ -154496,7 +155625,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+24929 /* "Invalid argument..." */, -1) } else { var zBlob uintptr = Xsqlite3_value_blob(tls, *(*uintptr)(unsafe.Pointer(apArg))) if zBlob != 0 { @@ -154520,10 +155649,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 @@ -154554,7 +155683,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 { @@ -154579,18 +155708,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+24962, /* "%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 + 3174 /* "\n" */ } - return ts + 756 /* "" */ + return ts + 758 /* "" */ }(), z)) if (*RtreeCheck)(unsafe.Pointer(pCheck)).FzReport == uintptr(0) { (*RtreeCheck)(unsafe.Pointer(pCheck)).Frc = SQLITE_NOMEM @@ -154621,7 +155750,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+24969, /* "SELECT data FROM..." */ libc.VaList(bp, (*RtreeCheck)(unsafe.Pointer(pCheck)).FzDb, (*RtreeCheck)(unsafe.Pointer(pCheck)).FzTab)) } @@ -154640,7 +155769,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+25014 /* "Node %lld missin..." */, libc.VaList(bp+16, iNode)) } } @@ -154664,8 +155793,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 + 25046, /* "SELECT parentnod..." */ + ts + 25100, /* "SELECT nodeno FR..." */ } if *(*uintptr)(unsafe.Pointer((pCheck + 40 /* &.aCheckMapping */) + uintptr(bLeaf)*8)) == uintptr(0) { @@ -154680,23 +155809,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+25148, /* "Mapping (%lld ->..." */ libc.VaList(bp+16, iKey, iVal, func() uintptr { if bLeaf != 0 { - return ts + 25191 /* "%_rowid" */ + return ts + 25193 /* "%_rowid" */ } - return ts + 25199 /* "%_parent" */ + return ts + 25201 /* "%_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+25210, /* "Found (%lld -> %..." */ libc.VaList(bp+40, iKey, ii, func() uintptr { if bLeaf != 0 { - return ts + 25191 /* "%_rowid" */ + return ts + 25193 /* "%_rowid" */ } - return ts + 25199 /* "%_parent" */ + return ts + 25201 /* "%_parent" */ }(), iKey, iVal)) } } @@ -154739,7 +155868,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+25268 /* "Dimension %d of ..." */, libc.VaList(bp, i, iCell, iNode)) } if pParent != 0 { @@ -154759,7 +155888,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+25316 /* "Dimension %d of ..." */, libc.VaList(bp+24, i, iCell, iNode)) } } } @@ -154782,14 +155911,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+25383 /* "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+25417 /* "Rtree depth out ..." */, libc.VaList(bp+16, iDepth)) Xsqlite3_free(tls, aNode) return } @@ -154797,7 +155926,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+25447, /* "Node %lld is too..." */ libc.VaList(bp+24, iNode, nCell, *(*int32)(unsafe.Pointer(bp + 48 /* nNode */)))) } else { for i = 0; i < nCell; i++ { @@ -154831,14 +155960,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+25502, /* "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+25533 /* "Wrong number of ..." */, libc.VaList(bp+24, zTbl, nExpect, nActual)) } } (*RtreeCheck)(unsafe.Pointer(pCheck)).Frc = Xsqlite3_finalize(tls, pCount) @@ -154868,13 +155997,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+13216 /* "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+25600 /* "SELECT * FROM %Q..." */, libc.VaList(bp, zDb, zTab)) if pStmt != 0 { nAux = (Xsqlite3_column_count(tls, pStmt) - 2) Xsqlite3_finalize(tls, pStmt) @@ -154883,12 +156012,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+23420 /* "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+25628 /* "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)) } @@ -154903,8 +156032,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+25659 /* "_rowid" */, int64((*RtreeCheck)(unsafe.Pointer(bp+32 /* &check */)).FnLeaf)) + rtreeCheckCount(tls, bp+32 /* &check */, ts+25666 /* "_parent" */, int64((*RtreeCheck)(unsafe.Pointer(bp+32 /* &check */)).FnNonLeaf)) } // Finalize SQL statements used by the integrity-check @@ -154914,7 +156043,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+25674 /* "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 } @@ -154960,7 +156089,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+25678 /* "wrong number of ..." */, -1) } else { var rc int32 *(*uintptr)(unsafe.Pointer(bp /* zReport */)) = uintptr(0) @@ -154968,7 +156097,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 + 5461 /* "main" */ } else { zTab = Xsqlite3_value_text(tls, *(*uintptr)(unsafe.Pointer(apArg + 1*8))) } @@ -154978,7 +156107,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 + 16339 /* "ok" */ }(), -1, libc.UintptrFromInt32(-1)) } else { Xsqlite3_result_error_code(tls, ctx, rc) @@ -155072,12 +156201,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 @@ -155415,11 +156544,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+25729 /* "[" */, 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+25731 /* "[%!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+25742 /* "[%!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) } @@ -155443,19 +156572,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 /* "<polyline points..." */, 0) + Xsqlite3_str_appendf(tls, x, ts+25753 /* "<polyline points..." */, 0) for i = 0; i < (*GeoPoly)(unsafe.Pointer(p)).FnVertex; i++ { - Xsqlite3_str_appendf(tls, x, ts+25769 /* "%c%g,%g" */, libc.VaList(bp, int32(cSep), 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+25771 /* "%c%g,%g" */, libc.VaList(bp, int32(cSep), float64(*(*GeoCoord)(unsafe.Pointer((p + 8 /* &.a */) + uintptr(((i)*2))*4))), float64(*(*GeoCoord)(unsafe.Pointer((p + 8 /* &.a */) + uintptr((((i)*2)+1))*4))))) cSep = int8(' ') } - Xsqlite3_str_appendf(tls, x, ts+25777 /* " %g,%g'" */, libc.VaList(bp+24, float64(*(*GeoCoord)(unsafe.Pointer((p + 8 /* &.a */)))), float64(*(*GeoCoord)(unsafe.Pointer((p + 8 /* &.a */) + 1*4))))) + Xsqlite3_str_appendf(tls, x, ts+25779 /* " %g,%g'" */, libc.VaList(bp+24, float64(*(*GeoCoord)(unsafe.Pointer((p + 8 /* &.a */)))), float64(*(*GeoCoord)(unsafe.Pointer((p + 8 /* &.a */) + 1*4))))) for i = 1; i < argc; i++ { var z uintptr = Xsqlite3_value_text(tls, *(*uintptr)(unsafe.Pointer(argv + uintptr(i)*8))) if (z != 0) && (*(*int8)(unsafe.Pointer(z)) != 0) { - Xsqlite3_str_appendf(tls, x, ts+25785 /* " %s" */, libc.VaList(bp+40, z)) + Xsqlite3_str_appendf(tls, x, ts+25787 /* " %s" */, libc.VaList(bp+40, z)) } } - Xsqlite3_str_appendf(tls, x, ts+25789 /* "></polyline>" */, 0) + Xsqlite3_str_appendf(tls, x, ts+25791 /* "></polyline>" */, 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) } @@ -155975,25 +157104,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 */ @@ -156471,7 +157600,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+25804 /* "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 @@ -156480,7 +157609,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+25826 /* ",%s" */, libc.VaList(bp+8, *(*uintptr)(unsafe.Pointer(argv + uintptr(ii)*8)))) goto __3 __3: ii++ @@ -156488,7 +157617,7 @@ __3: goto __4 __4: ; - Xsqlite3_str_appendf(tls, pSql, ts+24891 /* ");" */, 0) + Xsqlite3_str_appendf(tls, pSql, ts+24893 /* ");" */, 0) zSql = Xsqlite3_str_finish(tls, pSql) if !(!(zSql != 0)) { goto __5 @@ -156499,7 +157628,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+2793 /* "%s" */, libc.VaList(bp+16, Xsqlite3_errmsg(tls, db))) __7: ; __6: @@ -156525,7 +157654,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+2793 /* "%s" */, libc.VaList(bp+24, Xsqlite3_errmsg(tls, db))) goto geopolyInit_fail __10: ; @@ -156758,7 +157887,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 + 14760 /* "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 @@ -156768,7 +157897,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 + 25830 /* "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 @@ -156776,7 +157905,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 + 25836 /* "fullscan" */ (*Sqlite3_index_info)(unsafe.Pointer(pIdxInfo)).FestimatedCost = 3000000.0 (*Sqlite3_index_info)(unsafe.Pointer(pIdxInfo)).FestimatedRows = int64(100000) return SQLITE_OK @@ -156914,7 +158043,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+25845 /* "_shape does not ..." */, 0) __4: ; goto geopoly_update_end @@ -157059,14 +158188,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+25885 /* "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+25901 /* "geopoly_within" */) == 0 { *(*uintptr)(unsafe.Pointer(pxFunc)) = *(*uintptr)(unsafe.Pointer(&struct { f func(*libc.TLS, uintptr, int32, uintptr) }{geopolyWithinFunc})) @@ -157105,11 +158234,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 { @@ -157131,37 +158260,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+25916 /* "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 + 25924 /* "geopoly_area" */}, + {FxFunc: 0, FnArg: int8(1), FbPure: uint8(1), FzName: ts + 25937 /* "geopoly_blob" */}, + {FxFunc: 0, FnArg: int8(1), FbPure: uint8(1), FzName: ts + 25950 /* "geopoly_json" */}, + {FxFunc: 0, FnArg: int8(-1), FbPure: uint8(1), FzName: ts + 25963 /* "geopoly_svg" */}, + {FxFunc: 0, FnArg: int8(2), FbPure: uint8(1), FzName: ts + 25901 /* "geopoly_within" */}, + {FxFunc: 0, FnArg: int8(3), FbPure: uint8(1), FzName: ts + 25975 /* "geopoly_contains..." */}, + {FxFunc: 0, FnArg: int8(2), FbPure: uint8(1), FzName: ts + 25885 /* "geopoly_overlap" */}, + {FxFunc: 0, FnArg: int8(1), FzName: ts + 25998 /* "geopoly_debug" */}, + {FxFunc: 0, FnArg: int8(1), FbPure: uint8(1), FzName: ts + 26012 /* "geopoly_bbox" */}, + {FxFunc: 0, FnArg: int8(7), FbPure: uint8(1), FzName: ts + 26025 /* "geopoly_xform" */}, + {FxFunc: 0, FnArg: int8(4), FbPure: uint8(1), FzName: ts + 26039 /* "geopoly_regular" */}, + {FxFunc: 0, FnArg: int8(1), FbPure: uint8(1), FzName: ts + 26055 /* "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 + 26067 /* "geopoly_group_bb..." */}, } /* sqlite3.c:198434:5 */ //************* End of geopoly.c ******************************************** @@ -157174,26 +158303,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+26086 /* "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+26096 /* "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+26107 /* "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+25830 /* "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+26118 /* "rtree_i32" */, uintptr(unsafe.Pointer(&rtreeModule)), c, uintptr(0)) } if rc == SQLITE_OK { rc = sqlite3_geopoly_init(tls, db) @@ -157210,7 +158339,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) } @@ -157265,7 +158394,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+23406 /* "RtreeMatchArg" */, *(*uintptr)(unsafe.Pointer(&struct{ f func(*libc.TLS, uintptr) }{rtreeMatchArgFree}))) } } } @@ -157710,16 +158839,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 @@ -157727,7 +158856,7 @@ type sqlite3rbu = struct { FzVfsName uintptr FpTargetFd uintptr FnPagePerSector int32 - _ [4]byte + F__ccgo_pad4 [4]byte FiOalSz I64 FnPhaseOneStep I64 FiMaxFrame U32 @@ -157736,13 +158865,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 */ @@ -158268,60 +159397,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 */ @@ -158345,7 +159474,7 @@ type rbu_file = struct { FiCookie U32 FiWriteVer U8 FbNolock U8 - _ [2]byte + F__ccgo_pad1 [2]byte FnShm int32 FapShm uintptr FzDel uintptr @@ -158556,7 +159685,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+26128 /* "corrupt fossil d..." */, -1) return } @@ -158567,7 +159696,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+26128 /* "corrupt fossil d..." */, -1) } else { Xsqlite3_result_blob(tls, context, aOut, nOut, *(*uintptr)(unsafe.Pointer(&struct{ f func(*libc.TLS, uintptr) }{Xsqlite3_free}))) } @@ -158588,7 +159717,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+2793 /* "%s" */, libc.VaList(bp, Xsqlite3_errmsg(tls, db))) *(*uintptr)(unsafe.Pointer(ppStmt)) = uintptr(0) } return rc @@ -158606,7 +159735,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+2793 /* "%s" */, libc.VaList(bp, Xsqlite3_errmsg(tls, Xsqlite3_db_handle(tls, pStmt)))) } return rc } @@ -158710,7 +159839,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+26149 /* "DROP TRIGGER IF ..." */, uintptr(0), uintptr(0), (p + 64 /* &.zErrmsg */)) } if rc == SQLITE_OK { @@ -158794,7 +159923,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+23319 /* "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++ { } @@ -158822,17 +159951,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+26320 /* "SELECT rbu_targe..." */, libc.VaList(bp, func() uintptr { if (*Sqlite3rbu)(unsafe.Pointer((p))).FzTarget == uintptr(0) { - return ts + 26468 /* "AND rootpage!=0 ..." */ + return ts + 26470 /* "AND rootpage!=0 ..." */ } - return ts + 756 /* "" */ + return ts + 758 /* "" */ }()))) if rc == SQLITE_OK { rc = prepareAndCollectError(tls, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbMain, (pIter + 8 /* &.pIdxIter */), (p + 64 /* &.zErrmsg */), - ts+26509 /* "SELECT name, roo..." */) + ts+26511 /* "SELECT name, roo..." */) } (*RbuObjIter)(unsafe.Pointer(pIter)).FbCleanup = 1 @@ -158851,7 +159980,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) { @@ -158877,7 +160006,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) { @@ -158970,7 +160099,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+2793 /* "%s" */, libc.VaList(bp, Xsqlite3_errmsg(tls, db))) } } @@ -159033,7 +160162,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+26636 /* "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 } @@ -159051,7 +160180,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+26717 /* "PRAGMA index_lis..." */, libc.VaList(bp+8, zTab))) if !((*Sqlite3rbu)(unsafe.Pointer(p)).Frc != 0) { goto __3 } @@ -159069,7 +160198,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+26738 /* "SELECT rootpage ..." */, libc.VaList(bp+16, zIdx))) if !((*Sqlite3rbu)(unsafe.Pointer(p)).Frc == SQLITE_OK) { goto __7 } @@ -159093,7 +160222,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+26789 /* "PRAGMA table_inf..." */, libc.VaList(bp+24, zTab))) if !((*Sqlite3rbu)(unsafe.Pointer(p)).Frc == SQLITE_OK) { goto __10 } @@ -159142,7 +160271,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+26810 /* "PRAGMA main.inde..." */, libc.VaList(bp, (*RbuObjIter)(unsafe.Pointer(pIter)).FzTbl))) } (*RbuObjIter)(unsafe.Pointer(pIter)).FnIndex = 0 @@ -159157,7 +160286,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+26838 /* "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 { @@ -159207,7 +160336,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+17860 /* "no such table: %..." */, libc.VaList(bp, (*RbuObjIter)(unsafe.Pointer(pIter)).FzTbl)) } if (*Sqlite3rbu)(unsafe.Pointer(p)).Frc != 0 { return (*Sqlite3rbu)(unsafe.Pointer(p)).Frc @@ -159220,18 +160349,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+26867 /* "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+26886 /* "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+26891 /* "rbu_rowid" */, zName) { bRbuRowid = 1 } } @@ -159243,12 +160372,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+26901 /* "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 + 26930 /* "may not have" */ } - return ts + 26941 /* "requires" */ + return ts + 26943 /* "requires" */ }())) } @@ -159257,7 +160386,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+26952 /* "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) @@ -159271,7 +160400,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+26974, /* "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) @@ -159317,12 +160446,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 + 758 /* "" */ 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+27001 /* "%z%s\"%w\"" */, libc.VaList(bp, zList, zSep, z)) + zSep = ts + 13327 /* ", " */ } return zList } @@ -159337,13 +160466,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 + 758 /* "" */ 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+27010 /* "%z%s%s\"%w\"%s" */, libc.VaList(bp, zRet, zSep, zPre, zCol, zPost)) zSep = zSeparator break } @@ -159382,25 +160511,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+27023 /* "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+27055 /* " 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+758 /* "" */, ts+13327 /* ", " */, ts+27078 /* " DESC" */) + var zSelect uintptr = rbuObjIterGetPkList(tls, p, pIter, ts+27084 /* "quote(" */, ts+27091 /* "||','||" */, ts+4069 /* ")" */) + var zList uintptr = rbuObjIterGetPkList(tls, p, pIter, ts+758 /* "" */, ts+13327 /* ", " */, ts+758 /* "" */) 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+27099, /* "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+27141 /* " WHERE (%s) > (%..." */, libc.VaList(bp+56, zList, zVal)) } rbuFinalize(tls, p, *(*uintptr)(unsafe.Pointer(bp + 72 /* pMax */))) } @@ -159458,12 +160587,12 @@ func XrbuVacuumIndexStart(tls *libc.TLS, p uintptr, pIter uintptr) uintptr { /* zVector = uintptr(0) zRet = uintptr(0) bFailed = 0 - zSep = ts + 756 /* "" */ + zSep = ts + 758 /* "" */ 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+26838 /* "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 @@ -159500,7 +160629,7 @@ __10: zCol = *(*uintptr)(unsafe.Pointer((*RbuObjIter)(unsafe.Pointer(pIter)).FazTblCol + uintptr(i)*8)) goto __7 __6: - zCol = ts + 27159 /* "_rowid_" */ + zCol = ts + 27161 /* "_rowid_" */ __7: ; goto __5 @@ -159509,13 +160638,13 @@ __4: __5: ; - zLhs = rbuMPrintf(tls, p, ts+27167, /* "%z%s \"%w\" COLLAT..." */ + zLhs = rbuMPrintf(tls, p, ts+27169, /* "%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+27190, /* "%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+27226, /* "%z%s quote(\"rbu_..." */ libc.VaList(bp+80, zSelect, zSep, iCol, zCol)) - zSep = ts + 13325 /* ", " */ + zSep = ts + 13327 /* ", " */ iCol++ goto __1 __2: @@ -159534,12 +160663,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+27253, /* "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 + 758 /* "" */ iCol = 0 __14: if !(iCol < (*RbuObjIter)(unsafe.Pointer(pIter)).FnCol) { @@ -159561,8 +160690,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+27301 /* "%z%s%s" */, libc.VaList(bp+136, zVector, zSep, zQuoted)) + zSep = ts + 13327 /* ", " */ goto __15 __15: iCol++ @@ -159574,7 +160703,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+27308 /* "(%s) > (%s)" */, libc.VaList(bp+160, zLhs, zVector)) __20: ; __13: @@ -159624,14 +160753,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 + 758 /* "" */ // Set to ", " later on + var zAnd uintptr = ts + 758 /* "" */ // 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+26838 /* "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 */)))) { @@ -159643,9 +160772,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+27320 /* "%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 + 758 /* "" */ } else { if iCid < 0 { // An integer primary key. If the table has an explicit IPK, use @@ -159657,37 +160786,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 + 27161 /* "_rowid_" */ } else { - zCol = ts + 26889 /* "rbu_rowid" */ + zCol = ts + 26891 /* "rbu_rowid" */ } - zType = ts + 11385 /* "INTEGER" */ + zType = ts + 11387 /* "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+27342 /* "%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 + 27078 /* " DESC" */ } - return ts + 756 /* "" */ + return ts + 758 /* "" */ }() - zImpPK = Xsqlite3_mprintf(tls, ts+27360, /* "%z%s\"rbu_imp_%d%..." */ + zImpPK = Xsqlite3_mprintf(tls, ts+27362, /* "%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+27383, /* "%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+27416 /* "%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 + 13327 /* ", " */ + zAnd = ts + 19880 /* " AND " */ nBind++ } @@ -159730,16 +160859,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 + 758 /* "" */ 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+27440 /* "%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+27452 /* "%z%sNULL" */, libc.VaList(bp+32, zList, zS)) } - zS = ts + 13325 /* ", " */ + zS = ts + 13327 /* ", " */ if zList == uintptr(0) { (*Sqlite3rbu)(unsafe.Pointer(p)).Frc = SQLITE_NOMEM break @@ -159748,7 +160877,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+27461 /* "%z, %s._rowid_" */, libc.VaList(bp+48, zList, zObj)) } } return zList @@ -159768,27 +160897,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+27476 /* "_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 + 758 /* "" */ 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+27490 /* "%z%sc%d=?%d" */, libc.VaList(bp+8, zList, zSep, i, (i+1))) + zSep = ts + 19880 /* " AND " */ } } zList = rbuMPrintf(tls, p, - ts+27500 /* "_rowid_ = (SELEC..." */, libc.VaList(bp+40, zList)) + ts+27502 /* "_rowid_ = (SELEC..." */, libc.VaList(bp+40, zList)) } else { - var zSep uintptr = ts + 756 /* "" */ + var zSep uintptr = ts + 758 /* "" */ 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+27552 /* "%z%s\"%w\"=?%d" */, libc.VaList(bp+48, zList, zSep, zCol, (i+1))) + zSep = ts + 19880 /* " AND " */ } } } @@ -159802,7 +160931,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+27565 /* "invalid rbu_cont..." */, 0) } // Return a nul-terminated string containing the comma separated list of @@ -159831,21 +160960,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 + 758 /* "" */ 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+27552, /* "%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 + 13327 /* ", " */ } else if int32(c) == 'd' { - zList = rbuMPrintf(tls, p, ts+27589, /* "%z%s\"%w\"=rbu_del..." */ + zList = rbuMPrintf(tls, p, ts+27591, /* "%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 + 13327 /* ", " */ } else if int32(c) == 'f' { - zList = rbuMPrintf(tls, p, ts+27619, /* "%z%s\"%w\"=rbu_fos..." */ + zList = rbuMPrintf(tls, p, ts+27621, /* "%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 + 13327 /* ", " */ } } } @@ -159903,19 +161032,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 + 27658 /* "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 = <pk-index> (*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+26810 /* "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+14670 /* "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+26838 /* "PRAGMA main.inde..." */, libc.VaList(bp+8, zIdx))) } break } @@ -159928,15 +161057,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 + 27078 /* " DESC" */ } else { - zDesc = ts + 756 /* "" */ + zDesc = ts + 758 /* "" */ } - 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+27671 /* "%z%s\"%w\"%s" */, libc.VaList(bp+16, z, zSep, zCol, zDesc)) + zSep = ts + 13327 /* ", " */ } } - z = rbuMPrintf(tls, p, ts+27680 /* "%z)" */, libc.VaList(bp+48, z)) + z = rbuMPrintf(tls, p, ts+27682 /* "%z)" */, libc.VaList(bp+48, z)) rbuFinalize(tls, p, *(*uintptr)(unsafe.Pointer(bp + 64 /* pXInfo */))) } return z @@ -159968,7 +161097,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 + 758 /* "" */ 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 @@ -159976,7 +161105,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+27686 /* "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 */))) { @@ -159985,7 +161114,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+26838 /* "PRAGMA main.inde..." */, libc.VaList(bp, zIdx))) } rbuFinalize(tls, p, *(*uintptr)(unsafe.Pointer(bp + 168 /* pQuery */))) @@ -159995,25 +161124,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+27736 /* "%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+27758 /* "%z%sc%d%s" */, libc.VaList(bp+48, zPk, zComma, iCid, func() uintptr { if bDesc != 0 { - return ts + 27076 /* " DESC" */ + return ts + 27078 /* " DESC" */ } - return ts + 756 /* "" */ + return ts + 758 /* "" */ }())) - zComma = ts + 13325 /* ", " */ + zComma = ts + 13327 /* ", " */ } } - zCols = rbuMPrintf(tls, p, ts+27766 /* "%z, id INTEGER" */, libc.VaList(bp+80, zCols)) + zCols = rbuMPrintf(tls, p, ts+27768 /* "%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+5461 /* "main" */, 1, tnum)) rbuMPrintfExec(tls, p, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbMain, - ts+27781, /* "CREATE TABLE rbu..." */ + ts+27783, /* "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+5461 /* "main" */, 0, 0)) } } @@ -160041,52 +161170,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 + 758 /* "" */ 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+5461 /* "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 + 758 /* "" */ 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+5461 /* "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 + 27845 /* "PRIMARY KEY " */ } - zSql = rbuMPrintf(tls, p, ts+27856, /* "%z%s\"%w\" %s %sCO..." */ + zSql = rbuMPrintf(tls, p, ts+27858, /* "%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 + 27885 /* " NOT NULL" */ } - return ts + 756 /* "" */ + return ts + 758 /* "" */ }())) - zComma = ts + 13325 /* ", " */ + zComma = ts + 13327 /* ", " */ } 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+27895 /* "%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+5461 /* "main" */, 1, tnum)) + rbuMPrintfExec(tls, p, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbMain, ts+27902, /* "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 + 27934 /* " WITHOUT ROWID" */ } - return ts + 756 /* "" */ + return ts + 758 /* "" */ }())) - 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+5461 /* "main" */, 0, 0)) } } @@ -160109,7 +161238,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+27949, /* "INSERT INTO %s.'..." */ libc.VaList(bp, p+48 /* &.zStateDb */, (*RbuObjIter)(unsafe.Pointer(pIter)).FzDataTbl, zCollist, zRbuRowid, zBind))) } } @@ -160146,7 +161275,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+28006 /* "SELECT trim(sql)..." */) } if *(*int32)(unsafe.Pointer(bp + 8 /* rc */)) == SQLITE_OK { var rc2 int32 @@ -160256,7 +161385,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+28072 /* " LIMIT -1 OFFSET..." */, libc.VaList(bp, nOffset)) if !(zLimit != 0) { (*Sqlite3rbu)(unsafe.Pointer(p)).Frc = SQLITE_NOMEM } @@ -160277,26 +161406,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+5461 /* "main" */, 0, 1)) + Xsqlite3_test_control(tls, SQLITE_TESTCTRL_IMPOSTER, libc.VaList(bp+40, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbMain, ts+5461 /* "main" */, 1, tnum)) rbuMPrintfExec(tls, p, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbMain, - ts+28090, /* "CREATE TABLE \"rb..." */ + ts+28092, /* "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+5461 /* "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+28157 /* "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+28193 /* "DELETE FROM \"rbu..." */, libc.VaList(bp+144, zTbl, *(*uintptr)(unsafe.Pointer(bp + 616 /* zWhere */))))) } // Create the SELECT statement to read keys in sorted order @@ -160313,7 +161442,7 @@ func rbuObjIterPrepareAll(tls *libc.TLS, p uintptr, pIter uintptr, nOffset int32 } zSql = Xsqlite3_mprintf(tls, - ts+28225, /* "SELECT %s, 0 AS ..." */ + ts+28227, /* "SELECT %s, 0 AS ..." */ libc.VaList(bp+160, zCollist, (*RbuObjIter)(unsafe.Pointer(pIter)).FzDataTbl, zPart, @@ -160321,32 +161450,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 + 28288 /* "AND" */ } - return ts + 28290 /* "WHERE" */ + return ts + 28292 /* "WHERE" */ }() } - return ts + 756 /* "" */ + return ts + 758 /* "" */ }(), 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+28298, /* "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+28359, /* "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 + 28288 /* "AND" */ } - return ts + 28290 /* "WHERE" */ + return ts + 28292 /* "WHERE" */ }(), zCollist, zLimit)) } @@ -160371,8 +161500,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+5470 /* "old" */) + var zNewlist uintptr = rbuObjIterGetOldlist(tls, p, pIter, ts+5466 /* "new" */) zCollist = rbuObjIterGetCollist(tls, p, pIter) (*RbuObjIter)(unsafe.Pointer(pIter)).FnCol = (*RbuObjIter)(unsafe.Pointer(pIter)).FnTblCol @@ -160382,21 +161511,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 + 758 /* "" */ } - return ts + 28516 /* "rbu_imp_" */ + return ts + 28518 /* "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+28527, /* "INSERT INTO \"%s%..." */ libc.VaList(bp+344, zWrite, zTbl, zCollist, func() uintptr { if bRbuRowid != 0 { - return ts + 28561 /* ", _rowid_" */ + return ts + 28563 /* ", _rowid_" */ } - return ts + 756 /* "" */ + return ts + 758 /* "" */ }(), zBindings))) } @@ -160406,28 +161535,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+28573 /* "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 + 758 /* "" */ if ((*RbuObjIter)(unsafe.Pointer(pIter)).FeType == RBU_PK_EXTERNAL) || ((*RbuObjIter)(unsafe.Pointer(pIter)).FeType == RBU_PK_NONE) { - zRbuRowid = ts + 28599 /* ", rbu_rowid" */ + zRbuRowid = ts + 28601 /* ", 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+28613 /* "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 + 28689 /* ", 0 AS rbu_rowid" */ } - return ts + 756 /* "" */ + return ts + 758 /* "" */ }(), (*RbuObjIter)(unsafe.Pointer(pIter)).FzDataTbl)) rbuMPrintfExec(tls, p, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbMain, - ts+28704, /* "CREATE TEMP TRIG..." */ + ts+28706, /* "CREATE TEMP TRIG..." */ libc.VaList(bp+440, zWrite, zTbl, zOldlist, zWrite, zTbl, zOldlist, zWrite, zTbl, zNewlist)) @@ -160435,7 +161564,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+29005, /* "CREATE TEMP TRIG..." */ libc.VaList(bp+512, zWrite, zTbl, zNewlist)) } @@ -160444,14 +161573,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 + 758 /* "" */ 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 + 29104 /* ",_rowid_ " */ } else { - zRbuRowid = ts + 29112 /* ",rbu_rowid" */ + zRbuRowid = ts + 29114 /* ",rbu_rowid" */ } } @@ -160464,35 +161593,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+27161 /* "_rowid_" */, 0) } else { - zOrder = rbuObjIterGetPkList(tls, p, pIter, ts+756 /* "" */, ts+13325 /* ", " */, ts+756 /* "" */) + zOrder = rbuObjIterGetPkList(tls, p, pIter, ts+758 /* "" */, ts+13327 /* ", " */, ts+758 /* "" */) } } 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+29125, /* "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 + 29173 /* "0 AS " */ } - return ts + 756 /* "" */ + return ts + 758 /* "" */ }(), zRbuRowid, (*RbuObjIter)(unsafe.Pointer(pIter)).FzDataTbl, func() uintptr { if zStart != 0 { return zStart } - return ts + 756 /* "" */ + return ts + 758 /* "" */ }(), func() uintptr { if zOrder != 0 { - return ts + 18212 /* "ORDER BY" */ + return ts + 18214 /* "ORDER BY" */ } - return ts + 756 /* "" */ + return ts + 758 /* "" */ }(), zOrder, zLimit))) } @@ -160567,12 +161696,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 + 758 /* "" */ if (*RbuObjIter)(unsafe.Pointer(pIter)).FeType != RBU_PK_VTAB { - zPrefix = ts + 28516 /* "rbu_imp_" */ + zPrefix = ts + 28518 /* "rbu_imp_" */ } - zUpdate = Xsqlite3_mprintf(tls, ts+29177, /* "UPDATE \"%s%w\" SE..." */ + zUpdate = Xsqlite3_mprintf(tls, ts+29179, /* "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) @@ -160599,7 +161728,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+2793 /* "%s" */, libc.VaList(bp, Xsqlite3_errmsg(tls, *(*uintptr)(unsafe.Pointer(bp + 8 /* db */))))) Xsqlite3_close(tls, *(*uintptr)(unsafe.Pointer(bp + 8 /* db */))) *(*uintptr)(unsafe.Pointer(bp + 8 /* db */)) = uintptr(0) } @@ -160640,7 +161769,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+29209 /* "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: @@ -160712,31 +161841,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+5461 /* "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+5461 /* "main" */) + (*Sqlite3rbu)(unsafe.Pointer(p)).FzState = rbuMPrintf(tls, p, ts+29239 /* "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+29266 /* "ATTACH %Q AS sta..." */, libc.VaList(bp+16, (*Sqlite3rbu)(unsafe.Pointer(p)).FzState)) + libc.Xmemcpy(tls, p+48 /* &.zStateDb */, ts+2416 /* "stat" */, uint64(4)) } else { - libc.Xmemcpy(tls, p+48 /* &.zStateDb */, ts+5459 /* "main" */, uint64(4)) + libc.Xmemcpy(tls, p+48 /* &.zStateDb */, ts+5461 /* "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+29284 /* "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+5461 /* "main" */, SQLITE_FCNTL_RBUCNT, p) if rc != SQLITE_NOTFOUND { (*Sqlite3rbu)(unsafe.Pointer(p)).Frc = rc } @@ -160769,11 +161898,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+29350 /* "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+22482 /* "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)))) == '?' { @@ -160785,16 +161914,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+29382, /* "file:%s-vactmp?r..." */ + libc.VaList(bp+32, Xsqlite3_db_filename(tls, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbRbu, ts+5461 /* "main" */), func() uintptr { if zExtra == uintptr(0) { - return ts + 756 /* "" */ + return ts + 758 /* "" */ } - return ts + 29412 /* "&" */ + return ts + 29414 /* "&" */ }(), func() uintptr { if zExtra == uintptr(0) { - return ts + 756 /* "" */ + return ts + 758 /* "" */ } return zExtra }())) @@ -160810,40 +161939,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+29416 /* "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+29431 /* "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+29448 /* "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+5461 /* "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+29464 /* "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+5461 /* "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+29492 /* "rbu vfs not foun..." */, 0) } } @@ -160882,9 +162011,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 @@ -160912,7 +162043,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+29464 /* "SELECT * FROM sq..." */, uintptr(0), uintptr(0), uintptr(0)) } } @@ -160946,7 +162077,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+29510 /* "PRAGMA main.wal_..." */, uintptr(0), uintptr(0), uintptr(0)) if rc2 != SQLITE_INTERNAL { (*Sqlite3rbu)(unsafe.Pointer(p)).Frc = rc2 } @@ -160973,7 +162104,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 { @@ -160984,7 +162117,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) } } } @@ -161045,22 +162180,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) } } @@ -161073,16 +162216,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+5461 /* "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+5461 /* "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+29545 /* "%s-oal" */, libc.VaList(bp, zMove)) + zWal = Xsqlite3_mprintf(tls, ts+29552 /* "%s-wal" */, libc.VaList(bp+8, zMove)) if (zWal == uintptr(0)) || (zOal == uintptr(0)) { (*Sqlite3rbu)(unsafe.Pointer(p)).Frc = SQLITE_NOMEM @@ -161222,7 +162365,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+22120 /* "datatype mismatc..." */, 0) return } @@ -161340,7 +162483,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+29559 /* "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 @@ -161353,7 +162496,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+29581 /* "PRAGMA schema_ve..." */, libc.VaList(bp, (iCookie+1))) } } } @@ -161378,7 +162521,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+29608, /* "INSERT OR REPLAC..." */ libc.VaList(bp, p+48, /* &.zStateDb */ RBU_STATE_STAGE, eStage, RBU_STATE_TBL, (*Sqlite3rbu)(unsafe.Pointer(p)).Fobjiter.FzTbl, @@ -161423,9 +162566,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+29766 /* "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+29781, /* "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 */))) @@ -161442,11 +162585,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+29801 /* "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+29826 /* "SELECT sql FROM ..." */) } for ((*Sqlite3rbu)(unsafe.Pointer(p)).Frc == SQLITE_OK) && (Xsqlite3_step(tls, *(*uintptr)(unsafe.Pointer(bp /* pSql */))) == SQLITE_ROW) { @@ -161460,12 +162603,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+29934 /* "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+29999 /* "INSERT INTO sqli..." */) } for ((*Sqlite3rbu)(unsafe.Pointer(p)).Frc == SQLITE_OK) && (Xsqlite3_step(tls, *(*uintptr)(unsafe.Pointer(bp /* pSql */))) == SQLITE_ROW) { @@ -161477,7 +162620,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+30043 /* "PRAGMA writable_..." */, uintptr(0), uintptr(0), (p + 64 /* &.zErrmsg */)) } rbuFinalize(tls, p, *(*uintptr)(unsafe.Pointer(bp /* pSql */))) @@ -161499,8 +162642,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+15726 /* "user_version" */) + rbuCopyPragma(tls, p, ts+14848 /* "application_id" */) } for ((*Sqlite3rbu)(unsafe.Pointer(p)).Frc == SQLITE_OK) && ((*RbuObjIter)(unsafe.Pointer(pIter)).FzTbl != 0) { @@ -161511,7 +162654,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+30068 /* "DELETE FROM %s.'..." */, libc.VaList(bp, p+48 /* &.zStateDb */, (*RbuObjIter)(unsafe.Pointer(pIter)).FzDataTbl)) } } else { rbuObjIterPrepareAll(tls, p, pIter, 0) @@ -161537,10 +162680,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+13231 /* "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+13231 /* "COMMIT" */, uintptr(0), uintptr(0), (p + 64 /* &.zErrmsg */)) } (*Sqlite3rbu)(unsafe.Pointer(p)).FeStage = RBU_STAGE_MOVE } @@ -161567,15 +162710,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 } } @@ -161657,7 +162804,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+30096 /* "rbu_state mismat..." */, 0) } if rc == SQLITE_OK { @@ -161676,11 +162823,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+29545 /* "%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) } } @@ -161698,7 +162847,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+30121 /* "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] */) @@ -161737,7 +162886,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+30132 /* "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 { @@ -161780,7 +162929,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+30204 /* "rbu_index_cnt" */, 1, SQLITE_UTF8, p, *(*uintptr)(unsafe.Pointer(&struct { f func(*libc.TLS, uintptr, int32, uintptr) }{rbuIndexCntFunc})), uintptr(0), uintptr(0)) @@ -161788,7 +162937,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+30218 /* "SELECT 1 FROM sq..." */) } if (*Sqlite3rbu)(unsafe.Pointer(p)).Frc == SQLITE_OK { if SQLITE_ROW == Xsqlite3_step(tls, *(*uintptr)(unsafe.Pointer(bp /* pStmt */))) { @@ -161800,7 +162949,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+30275 /* "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) @@ -161846,7 +162995,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+2793 /* "%s" */, libc.VaList(bp, zState)) } // If the first attempt to open the database file fails and the bRetry @@ -161883,7 +163032,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+30349 /* "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 @@ -161905,12 +163054,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+30381, /* "database modifie..." */ libc.VaList(bp+8, func() uintptr { if (*Sqlite3rbu)(unsafe.Pointer((p))).FzTarget == uintptr(0) { - return ts + 30411 /* "vacuum" */ + return ts + 30413 /* "vacuum" */ } - return ts + 30418 /* "update" */ + return ts + 30420 /* "update" */ }())) } } @@ -161918,7 +163067,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+13216 /* "BEGIN" */, uintptr(0), uintptr(0), (p + 64 /* &.zErrmsg */)) // Point the object iterator at the first object if (*Sqlite3rbu)(unsafe.Pointer(p)).Frc == SQLITE_OK { @@ -161932,24 +163081,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+15451 /* "page_size" */) + rbuCopyPragma(tls, p, ts+14863 /* "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+30427 /* "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+5461 /* "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+30443 /* "PRAGMA journal_m..." */, uintptr(0), uintptr(0), (p + 64 /* &.zErrmsg */)) } } @@ -162002,7 +163151,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+30467 /* "-vactmp" */, (zState+uintptr((n-7))), uint64(7))) { return rbuMisuseError(tls) } } @@ -162032,7 +163181,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+28518 /* "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++ @@ -162051,19 +163200,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+13231 /* "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+13231 /* "COMMIT" */, uintptr(0), uintptr(0), (p + 64 /* &.zErrmsg */)) } // Close any open statement handles. @@ -162075,7 +163226,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+30475 /* "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 } @@ -162174,14 +163325,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+13231 /* "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 @@ -162191,19 +163344,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+13231 /* "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 + 13216 /* "BEGIN" */ } else { - zBegin = ts + 30425 /* "BEGIN IMMEDIATE" */ + zBegin = ts + 30427 /* "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+30427 /* "BEGIN IMMEDIATE" */, uintptr(0), uintptr(0), uintptr(0)) } } @@ -162277,7 +163430,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) @@ -162381,13 +163536,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 } @@ -162430,7 +163589,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, @@ -162440,7 +163601,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 @@ -162499,7 +163662,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. @@ -162520,7 +163685,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. @@ -162532,14 +163699,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 @@ -162565,7 +163736,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 @@ -162574,13 +163747,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. @@ -162598,16 +163775,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+30502 /* "rbu/zipvfs setup..." */, 0) } else if rc == SQLITE_NOTFOUND { (*Sqlite3rbu)(unsafe.Pointer(pRbu)).FpTargetFd = p (*Rbu_file)(unsafe.Pointer(p)).FpRbu = pRbu @@ -162626,11 +163807,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+30525 /* "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 @@ -162643,13 +163826,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. @@ -162673,7 +163860,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)) } @@ -162726,13 +163915,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 @@ -162741,7 +163932,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. @@ -162760,7 +163951,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 } @@ -162793,7 +163986,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+5461 /* "main" */) zOpen = Xsqlite3_filename_wal(tls, zOpen) } nOpen = libc.Xstrlen(tls, zOpen) @@ -162808,14 +164001,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+30536 /* "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 @@ -162855,7 +164050,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 @@ -162868,7 +164065,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, @@ -162905,13 +164104,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 @@ -162919,39 +164122,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. @@ -163202,14 +164417,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 */ @@ -163221,18 +164436,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 */ @@ -163478,9 +164693,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 @@ -163799,10 +165018,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 { @@ -163940,20 +165163,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+10075 /* "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+30547 /* "SELECT 0, 'tbl',..." */, 0) } else if rc == SQLITE_ERROR { - zPragma = Xsqlite3_mprintf(tls, ts+756 /* "" */, 0) + zPragma = Xsqlite3_mprintf(tls, ts+758 /* "" */, 0) } else { return rc } } else { - zPragma = Xsqlite3_mprintf(tls, ts+30666 /* "PRAGMA '%q'.tabl..." */, libc.VaList(bp, zDb, zThis)) + zPragma = Xsqlite3_mprintf(tls, ts+30668 /* "PRAGMA '%q'.tabl..." */, libc.VaList(bp, zDb, zThis)) } if !(zPragma != 0) { return SQLITE_NOMEM @@ -164053,7 +165276,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+10075 /* "sqlite_stat1" */, (*SessionTable)(unsafe.Pointer(pTab)).FzName) { (*SessionTable)(unsafe.Pointer(pTab)).FbStat1 = 1 } @@ -164086,7 +165309,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 } @@ -164100,7 +165325,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 } @@ -164110,12 +165337,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: */ @@ -164128,7 +165359,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 */) } } @@ -164145,7 +165378,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 } @@ -164273,7 +165508,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 @@ -164319,7 +165556,7 @@ __4: goto error_out __7: ; - Xsqlite3ValueSetStr(tls, p, 0, ts+756 /* "" */, uint8(0), uintptr(0)) + Xsqlite3ValueSetStr(tls, p, 0, ts+758 /* "" */, uint8(0), uintptr(0)) (*Sqlite3_session)(unsafe.Pointer(pSession)).FpZeroBlob = p __6: ; @@ -164376,14 +165613,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: ; @@ -164435,13 +165676,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: @@ -164456,7 +165701,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) @@ -164474,7 +165721,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 } @@ -164526,7 +165775,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 { @@ -164611,9 +165862,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 */ @@ -164666,14 +165917,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 + 758 /* "" */ 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+30697, /* "%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 + 19880 /* " AND " */ if zRet == uintptr(0) { break } @@ -164688,7 +165939,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 + 758 /* "" */ var zRet uintptr = uintptr(0) var bHave int32 = 0 @@ -164696,9 +165947,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+30731, /* "%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 + 30772 /* " OR " */ if zRet == uintptr(0) { break } @@ -164707,7 +165958,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+6509 /* "0" */, 0) } return zRet @@ -164719,7 +165970,7 @@ func sessionSelectFindNew(tls *libc.TLS, nCol int32, zDb1 uintptr, zDb2 uintptr, var zRet uintptr = Xsqlite3_mprintf(tls, - ts+30775, /* "SELECT * FROM \"%..." */ + ts+30777, /* "SELECT * FROM \"%..." */ libc.VaList(bp, zDb1, zTbl, zDb2, zTbl, zExpr)) return zRet } @@ -164764,7 +166015,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+30855, /* "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 @@ -164902,7 +166153,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+30908 /* "table schemas do..." */, 0) __16: ; rc = SQLITE_SCHEMA @@ -165244,7 +166495,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+4092 /* "%d" */, libc.VaList(bp, iVal)) sessionAppendStr(tls, p, bp+8 /* &aBuf[0] */, pRc) } @@ -165507,30 +166758,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+10075 /* "sqlite_stat1" */, zTab) { zSql = Xsqlite3_mprintf(tls, - ts+30933 /* "SELECT tbl, ?2, ..." */, libc.VaList(bp, zDb)) + ts+30935 /* "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 + 758 /* "" */ *(*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+31045 /* "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+771 /* "." */, 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+31060 /* " 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+31068 /* " IS ?" */, bp+24 /* &rc */) sessionAppendInteger(tls, bp+8 /* &buf */, (i + 1), bp+24 /* &rc */) - zSep = ts + 19878 /* " AND " */ + zSep = ts + 19880 /* " AND " */ } } zSql = (*SessionBuffer)(unsafe.Pointer(bp + 8 /* &buf */)).FaBuf @@ -165670,7 +166921,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+31074 /* "SAVEPOINT change..." */, uintptr(0), uintptr(0), uintptr(0)) if *(*int32)(unsafe.Pointer(bp + 40 /* rc */)) != SQLITE_OK { return *(*int32)(unsafe.Pointer(bp + 40 /* rc */)) } @@ -165738,7 +166989,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 } @@ -165760,12 +167013,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+31094 /* "RELEASE changese..." */, uintptr(0), uintptr(0), uintptr(0)) Xsqlite3_mutex_leave(tls, Xsqlite3_db_mutex(tls, db)) return *(*int32)(unsafe.Pointer(bp + 40 /* rc */)) } @@ -165961,7 +167216,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 { @@ -166828,7 +168085,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 @@ -166853,7 +168112,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: @@ -166914,7 +168175,7 @@ type SessionApplyCtx1 = struct { FpInsert uintptr FpSelect uintptr FnCol int32 - _ [4]byte + F__ccgo_pad1 [4]byte FazCol uintptr FabPK uintptr FaUpdateMask uintptr @@ -166922,12 +168183,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 */ @@ -166999,36 +168260,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+10075 /* "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 + 758 /* "" */ // 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+31112 /* "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+31125 /* " 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+31131 /* " = ?" */, bp+16 /* &rc */) sessionAppendInteger(tls, bp /* &buf */, ((ii * 2) + 1), bp+16 /* &rc */) - zSep = ts + 13325 /* ", " */ + zSep = ts + 13327 /* ", " */ } } // Create the WHERE clause part of the UPDATE - zSep = ts + 756 /* "" */ - sessionAppendStr(tls, bp /* &buf */, ts+31058 /* " WHERE " */, bp+16 /* &rc */) + zSep = ts + 758 /* "" */ + sessionAppendStr(tls, bp /* &buf */, ts+31060 /* " 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 */) @@ -167036,13 +168297,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+31136 /* "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+31068 /* " IS ?" */, bp+16 /* &rc */) sessionAppendInteger(tls, bp /* &buf */, ((ii * 2) + 2), bp+16 /* &rc */) } - zSep = ts + 19878 /* " AND " */ + zSep = ts + 19880 /* " AND " */ } } @@ -167105,42 +168366,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 + 758 /* "" */ *(*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+31211 /* "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+31060 /* " 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+31131 /* " = ?" */, bp+16 /* &rc */) sessionAppendInteger(tls, bp /* &buf */, (i + 1), bp+16 /* &rc */) - zSep = ts + 19878 /* " AND " */ + zSep = ts + 19880 /* " AND " */ } } if nPk < (*SessionApplyCtx)(unsafe.Pointer(p)).FnCol { - sessionAppendStr(tls, bp /* &buf */, ts+31227 /* " AND (?" */, bp+16 /* &rc */) + sessionAppendStr(tls, bp /* &buf */, ts+31229 /* " 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+30772 /* " OR " */, bp+16 /* &rc */) - zSep = ts + 756 /* "" */ + zSep = ts + 758 /* "" */ 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+31068 /* " IS ?" */, bp+16 /* &rc */) sessionAppendInteger(tls, bp /* &buf */, (i + 1), bp+16 /* &rc */) - zSep = ts + 31235 /* "AND " */ + zSep = ts + 31237 /* "AND " */ } } - sessionAppendStr(tls, bp /* &buf */, ts+4067 /* ")" */, bp+16 /* &rc */) + sessionAppendStr(tls, bp /* &buf */, ts+4069 /* ")" */, bp+16 /* &rc */) } if *(*int32)(unsafe.Pointer(bp + 16 /* rc */)) == SQLITE_OK { @@ -167164,7 +168425,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+5461 /* "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. @@ -167182,21 +168443,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+31242 /* "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+19886 /* "(" */, 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+13327 /* ", " */, 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+31260 /* ") 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+31271 /* ", ?" */, bp+16 /* &rc */) } - sessionAppendStr(tls, bp /* &buf */, ts+4067 /* ")" */, bp+16 /* &rc */) + sessionAppendStr(tls, bp /* &buf */, ts+4069 /* ")" */, 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)) @@ -167214,16 +168475,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+10075 /* "sqlite_stat1" */, p) if rc == SQLITE_OK { rc = sessionPrepare(tls, db, (p + 16 /* &.pInsert */), - ts+31273 /* "INSERT INTO main..." */) + ts+31275 /* "INSERT INTO main..." */) } if rc == SQLITE_OK { rc = sessionPrepare(tls, db, (p + 8 /* &.pDelete */), - ts+31386 /* "DELETE FROM main..." */) + ts+31388 /* "DELETE FROM main..." */) } return rc } @@ -167273,7 +168534,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. @@ -167442,7 +168705,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 { @@ -167455,7 +168720,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 } @@ -167670,7 +168937,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+31532 /* "SAVEPOINT replac..." */, uintptr(0), uintptr(0), uintptr(0)) if rc == SQLITE_OK { rc = sessionBindRow(tls, pIter, *(*uintptr)(unsafe.Pointer(&struct { @@ -167686,7 +168953,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+31553 /* "RELEASE replace_..." */, uintptr(0), uintptr(0), uintptr(0)) } } } @@ -167767,10 +169034,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+31572 /* "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+31598 /* "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 @@ -167810,9 +169077,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+2793 /* "%s" */, libc.VaList(bp, *(*uintptr)(unsafe.Pointer(bp + 176 /* zNew */)))) if *(*uintptr)(unsafe.Pointer(bp + 200 /* zTab */)) == uintptr(0) { rc = SQLITE_NOMEM break @@ -167825,7 +169094,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+5461 /* "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 } @@ -167838,20 +169107,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+31628 /* "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+31672, /* "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+31743 /* "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+10075 /* "sqlite_stat1" */) { if libc.AssignInt32(&rc, sessionStat1Sql(tls, db, bp+48 /* &sApply */)) != 0 { break } @@ -167901,20 +169170,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+31803 /* "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+31833 /* "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+31857 /* "ROLLBACK TO chan..." */, uintptr(0), uintptr(0), uintptr(0)) + Xsqlite3_exec(tls, db, ts+31833 /* "RELEASE changese..." */, uintptr(0), uintptr(0), uintptr(0)) } } @@ -168312,7 +169583,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 } } @@ -168322,7 +169595,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 @@ -168663,7 +169938,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 { @@ -168679,7 +169956,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 @@ -168930,14 +170209,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 @@ -168992,13 +170271,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 */ @@ -169026,10 +170305,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 @@ -169040,7 +170319,7 @@ type Fts5Index1 = struct { FpIdxDeleter uintptr FpIdxSelect uintptr FnRead int32 - _ [4]byte + F__ccgo_pad3 [4]byte FpDataVersion uintptr FiStructVersion I64 FpStruct uintptr @@ -169057,11 +170336,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 */ @@ -169100,13 +170379,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 */ // @@ -169131,7 +170410,7 @@ type Fts5Storage1 = struct { FpConfig uintptr FpIndex uintptr FbTotalsValid int32 - _ [4]byte + F__ccgo_pad1 [4]byte FnTotalRow I64 FaTotalSize uintptr FaStmt [11]uintptr @@ -169173,16 +170452,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 */ @@ -169194,33 +170473,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 */ @@ -169333,9 +170612,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 ****************************************** @@ -169473,10 +170752,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 */ @@ -169519,7 +170798,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) @@ -169617,7 +170896,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. @@ -169681,7 +170960,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+31885 /* "fts5: parser sta..." */, 0) //******* End %stack_overflow code ******************************************* (*Fts5yyParser)(unsafe.Pointer(fts5yypParser)).FpParse = pParse // Suppress warning about unused %extra_argument var @@ -170004,7 +171283,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+31913 /* "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 @@ -170142,14 +171421,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 @@ -170212,10 +171491,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 @@ -170243,7 +171526,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) @@ -170260,7 +171545,7 @@ type HighlightContext1 = struct { FiPos int32 FiRangeStart int32 FiRangeEnd int32 - _ [4]byte + F__ccgo_pad1 [4]byte FzOpen uintptr FzClose uintptr FzIn uintptr @@ -170289,7 +171574,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+31944 /* "%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 } @@ -170363,7 +171648,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 + 31951 /* "wrong number of ..." */ Xsqlite3_result_error(tls, pCtx, zErr, -1) return } @@ -170372,7 +171657,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 { @@ -170380,7 +171667,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}))) } @@ -170405,7 +171694,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 */ @@ -170489,9 +171778,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 { @@ -170503,7 +171796,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 */)))) } } @@ -170530,7 +171825,7 @@ func fts5ValueToText(tls *libc.TLS, pVal uintptr) uintptr { /* sqlite3.c:215713: if zRet != 0 { return zRet } - return ts + 756 /* "" */ + return ts + 758 /* "" */ } // Implementation of snippet() function. @@ -170557,12 +171852,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 + 32001 /* "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))) @@ -170576,13 +171873,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{}))) @@ -170595,18 +171896,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 } @@ -170624,7 +171931,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 } @@ -170675,10 +171984,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 { @@ -170699,7 +172012,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}))) } @@ -170724,11 +172039,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 */ //********************************************************************** @@ -170757,7 +172072,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 @@ -170766,7 +172083,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) { @@ -170780,11 +172099,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 */)))) @@ -170793,7 +172116,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 { @@ -170821,7 +172146,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) @@ -170853,7 +172180,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 @@ -170862,7 +172191,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 */)) { @@ -170878,7 +172209,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 */))) } @@ -170899,13 +172232,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 + 32049 /* "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 + 32057 /* "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 + 32067 /* "bm25" */, FxFunc: *(*uintptr)(unsafe.Pointer(&struct { f func(*libc.TLS, uintptr, uintptr, uintptr, int32, uintptr) }{fts5Bm25Function}))}, } @@ -170913,7 +172246,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, @@ -171031,7 +172366,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 @@ -171049,7 +172384,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) { @@ -171399,7 +172734,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+5261 /* "null" */, p, 4) == 0 { p = (p + 4) } else { p = uintptr(0) @@ -171537,9 +172872,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 */ @@ -171578,7 +172913,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+32072 /* "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 @@ -171605,14 +172940,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+32079 /* "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+32110 /* "too many prefix ..." */, libc.VaList(bp, FTS5_MAX_PREFIX_INDEXES)) *(*int32)(unsafe.Pointer(bp + 40 /* rc */)) = SQLITE_ERROR break } @@ -171623,7 +172958,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+32143 /* "prefix length ou..." */, 0) *(*int32)(unsafe.Pointer(bp + 40 /* rc */)) = SQLITE_ERROR break } @@ -171636,7 +172971,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+32180 /* "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)))) @@ -171645,7 +172980,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+32189 /* "multiple tokeniz..." */, 0) *(*int32)(unsafe.Pointer(bp + 40 /* rc */)) = SQLITE_ERROR } else { for nArg = int64(0); (p != 0) && (*(*int8)(unsafe.Pointer(p)) != 0); nArg++ { @@ -171664,7 +172999,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+32222 /* "parse error in t..." */, 0) *(*int32)(unsafe.Pointer(bp + 40 /* rc */)) = SQLITE_ERROR } else { *(*int32)(unsafe.Pointer(bp + 40 /* rc */)) = sqlite3Fts5GetTokenizer(tls, pGlobal, @@ -171679,14 +173014,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+32256 /* "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+32264 /* "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+32296 /* "%Q.%Q" */, libc.VaList(bp+8, (*Fts5Config)(unsafe.Pointer(pConfig)).FzDb, zArg)) } else { (*Fts5Config)(unsafe.Pointer(pConfig)).FeContent = FTS5_CONTENT_NONE } @@ -171694,9 +173029,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+32302 /* "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+32316 /* "multiple content..." */, 0) *(*int32)(unsafe.Pointer(bp + 40 /* rc */)) = SQLITE_ERROR } else { (*Fts5Config)(unsafe.Pointer(pConfig)).FzContentRowid = sqlite3Fts5Strndup(tls, bp+40 /* &rc */, zArg, -1) @@ -171704,9 +173039,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+32354 /* "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+32365 /* "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')) @@ -171714,21 +173049,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+4192 /* "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 + 15831 /* "none" */, FeVal: FTS5_DETAIL_NONE}, + {FzName: ts + 15836 /* "full" */}, + {FzName: ts + 32400 /* "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+32408 /* "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+32439 /* "unrecognized opt..." */, libc.VaList(bp+24, nCmd, zCmd)) return SQLITE_ERROR } @@ -171792,15 +173127,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+20500 /* "rank" */)) || + (0 == Xsqlite3_stricmp(tls, zCol, ts+14760 /* "rowid" */)) { + *(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3_mprintf(tls, ts+32467 /* "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+32497 /* "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+32507 /* "unrecognized col..." */, libc.VaList(bp+8, zArg)) rc = SQLITE_ERROR } } @@ -171818,13 +173153,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+32538 /* "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+32543 /* ", 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+32550 /* ", T.c%d" */, libc.VaList(bp+16, i)) } } } @@ -171872,8 +173207,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+20500 /* "rank" */) == 0) { + *(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3_mprintf(tls, ts+32558 /* "reserved fts5 ta..." */, libc.VaList(bp, (*Fts5Config)(unsafe.Pointer(pRet)).FzName)) *(*int32)(unsafe.Pointer(bp + 40 /* rc */)) = SQLITE_ERROR } @@ -171906,7 +173241,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+32587 /* "parse error in \"..." */, libc.VaList(bp+8, zOrig)) *(*int32)(unsafe.Pointer(bp + 40 /* rc */)) = SQLITE_ERROR } else { if bOption != 0 { @@ -171914,7 +173249,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 + 758 /* "" */ }(), pzErr) } else { *(*int32)(unsafe.Pointer(bp + 40 /* rc */)) = fts5ConfigParseColumn(tls, pRet, *(*uintptr)(unsafe.Pointer(bp + 48 /* zOne */)), *(*uintptr)(unsafe.Pointer(bp + 64 /* zTwo */)), pzErr) @@ -171939,19 +173274,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 + 32256 /* "content" */ } else if (*Fts5Config)(unsafe.Pointer(pRet)).FbColumnsize != 0 { - zTail = ts + 32605 /* "docsize" */ + zTail = ts + 32607 /* "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+32615 /* "%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+14760 /* "rowid" */, -1) } // Formulate the zContentExprlist text @@ -171971,7 +173306,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) @@ -172000,18 +173335,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+32626 /* "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 + 758 /* "" */ } - return ts + 13325 /* ", " */ + return ts + 13327 /* ", " */ }() - 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+32642 /* "%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+32649, /* "%z, %Q HIDDEN, %..." */ + libc.VaList(bp+24, zSql, (*Fts5Config)(unsafe.Pointer(pConfig)).FzName, ts+20500 /* "rank" */)) if zSql != 0 { *(*int32)(unsafe.Pointer(bp + 48 /* rc */)) = Xsqlite3_declare_vtab(tls, (*Fts5Config)(unsafe.Pointer(pConfig)).Fdb, zSql) @@ -172046,7 +173381,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) } @@ -172151,7 +173488,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+32675 /* "pgsz" */) { var pgsz int32 = 0 if SQLITE_INTEGER == Xsqlite3_value_numeric_type(tls, pVal) { pgsz = Xsqlite3_value_int(tls, pVal) @@ -172161,7 +173498,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+32680 /* "hashsize" */) { var nHashSize int32 = -1 if SQLITE_INTEGER == Xsqlite3_value_numeric_type(tls, pVal) { nHashSize = Xsqlite3_value_int(tls, pVal) @@ -172171,7 +173508,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+32689 /* "automerge" */) { var nAutomerge int32 = -1 if SQLITE_INTEGER == Xsqlite3_value_numeric_type(tls, pVal) { nAutomerge = Xsqlite3_value_int(tls, pVal) @@ -172184,7 +173521,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+32699 /* "usermerge" */) { var nUsermerge int32 = -1 if SQLITE_INTEGER == Xsqlite3_value_numeric_type(tls, pVal) { nUsermerge = Xsqlite3_value_int(tls, pVal) @@ -172194,7 +173531,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+32709 /* "crisismerge" */) { var nCrisisMerge int32 = -1 if SQLITE_INTEGER == Xsqlite3_value_numeric_type(tls, pVal) { nCrisisMerge = Xsqlite3_value_int(tls, pVal) @@ -172210,7 +173547,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+20500 /* "rank" */) { var zIn uintptr = Xsqlite3_value_text(tls, pVal) // var zRank uintptr at bp, 8 @@ -172237,7 +173574,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 + 32721 /* "SELECT k, v FROM..." */ var zSql uintptr *(*uintptr)(unsafe.Pointer(bp + 40 /* p */)) = uintptr(0) *(*int32)(unsafe.Pointer(bp + 32 /* rc */)) = SQLITE_OK @@ -172260,7 +173597,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+32753 /* "version" */) { iVersion = Xsqlite3_value_int(tls, pVal) } else { *(*int32)(unsafe.Pointer(bp + 48 /* bDummy */)) = 0 @@ -172275,7 +173612,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+32761, /* "invalid fts5 fil..." */ libc.VaList(bp+16, iVersion, FTS5_CURRENT_VERSION)) } } @@ -172304,12 +173641,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 @@ -172334,7 +173671,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 @@ -172409,7 +173746,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+32826 /* "unterminated str..." */, 0) return FTS5_EOF } } @@ -172422,20 +173759,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+32846 /* "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+32877 /* "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+32880 /* "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+28288 /* "AND" */, uint64(3)) == 0) { tok = FTS5_AND } break @@ -173755,7 +175092,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 @@ -173783,7 +175122,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 @@ -173818,7 +175159,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 { @@ -173835,14 +175178,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 @@ -173854,7 +175201,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) } @@ -173995,13 +175344,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 } @@ -174015,7 +175368,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 { @@ -174136,9 +175491,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 */ @@ -174408,9 +175763,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+32884 /* "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+31913 /* "fts5: syntax err..." */, libc.VaList(bp, (*Fts5Token)(unsafe.Pointer(pTok)).Fn, (*Fts5Token)(unsafe.Pointer(pTok)).Fp)) } } @@ -174426,7 +175781,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+32889 /* "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')) @@ -174523,7 +175878,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+18883 /* "no such column: ..." */, libc.VaList(bp, z)) } else { pRet = fts5ParseColset(tls, pParse, pColset, iCol) } @@ -174619,7 +175974,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+32918 /* "fts5: column que..." */, 0) } else { fts5ParseSetColset(tls, pParse, pExpr, pColset, bp /* &pFree */) } @@ -174803,12 +176158,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+32971, /* "fts5: %s queries..." */ libc.VaList(bp, func() uintptr { if (*Fts5ExprNearset)(unsafe.Pointer(pNear)).FnPhrase == 1 { - return ts + 33019 /* "phrase" */ + return ts + 33021 /* "phrase" */ } - return ts + 32882 /* "NEAR" */ + return ts + 32884 /* "NEAR" */ }())) Xsqlite3_free(tls, pRet) pRet = uintptr(0) @@ -176078,7 +177433,7 @@ type Fts5Iter1 = struct { FnSeg int32 FbRev int32 FbSkipEmpty U8 - _ [7]byte + F__ccgo_pad1 [7]byte FiSwitchRowid I64 FaFirst uintptr FaSeg [1]Fts5SegIter @@ -176114,7 +177469,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 */ @@ -176129,26 +177484,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 @@ -176172,9 +177527,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 */ @@ -176281,7 +177636,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+33028 /* "block" */, iRowid, 0, (p + 56 /* &.pReader */)) } // If either of the sqlite3_blob_open() or sqlite3_blob_reopen() calls @@ -176369,7 +177724,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+33034, /* "REPLACE INTO '%q..." */ libc.VaList(bp, (*Fts5Config)(unsafe.Pointer(pConfig)).FzDb, (*Fts5Config)(unsafe.Pointer(pConfig)).FzName))) if (*Fts5Index)(unsafe.Pointer(p)).Frc != 0 { return @@ -176397,7 +177752,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+33085, /* "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 @@ -176421,7 +177776,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+33134, /* "DELETE FROM '%q'..." */ libc.VaList(bp, (*Fts5Config)(unsafe.Pointer(pConfig)).FzDb, (*Fts5Config)(unsafe.Pointer(pConfig)).FzName))) } if (*Fts5Index)(unsafe.Pointer(p)).Frc == SQLITE_OK { @@ -176629,7 +177984,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+33174 /* "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) } @@ -178064,7 +179419,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+33197, /* "SELECT pgno FROM..." */ libc.VaList(bp, (*Fts5Config)(unsafe.Pointer(pConfig)).FzDb, (*Fts5Config)(unsafe.Pointer(pConfig)).FzName))) } return (*Fts5Index)(unsafe.Pointer(p)).FpIdxSelect @@ -178330,7 +179685,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 @@ -178364,7 +179721,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) } } @@ -178443,7 +179802,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)) || @@ -178457,7 +179818,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 @@ -178475,7 +179838,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) @@ -178524,10 +179889,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 */ @@ -178678,7 +180043,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 { @@ -179080,7 +180447,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) } @@ -179091,7 +180460,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 { @@ -179321,7 +180692,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 + 758 /* "" */ }() // The following was already done in fts5WriteInit(): // sqlite3_bind_int(p->pIdxWriter, 1, pWriter->iSegid); @@ -179662,7 +181033,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+33281, /* "INSERT INTO '%q'..." */ libc.VaList(bp, (*Fts5Config)(unsafe.Pointer(pConfig)).FzDb, (*Fts5Config)(unsafe.Pointer(pConfig)).FzName))) } @@ -180494,12 +181865,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 */ @@ -180745,9 +182116,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 } } @@ -180761,7 +182136,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) { @@ -180786,7 +182163,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)) } @@ -180795,14 +182174,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)) @@ -180879,7 +182262,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+758 /* "" */, 0) fts5StructureWrite(tls, p, bp /* &s */) return fts5IndexReturn(tls, p) } @@ -180900,13 +182283,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+33338 /* "%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+23319 /* "data" */, ts+33346 /* "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+10215, /* "idx" */ + ts+33381, /* "segid, term, pgn..." */ 1, pzErr) } if *(*int32)(unsafe.Pointer(bp + 8 /* rc */)) == SQLITE_OK { @@ -181075,7 +182458,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) } } } @@ -181212,7 +182597,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+33028 /* "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 */))) @@ -181349,7 +182734,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+33425, /* "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. @@ -181559,7 +182944,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+33511 /* "\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))) @@ -181675,13 +183060,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 @@ -181755,9 +183140,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. @@ -181970,7 +183355,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+33516 /* "recursively defi..." */, 0) return SQLITE_ERROR } @@ -182004,7 +183389,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+4092 /* "%d" */, libc.VaList(bp, iCol)) idxStr += uintptr(libc.Xstrlen(tls, (idxStr + uintptr(iIdxStr)))) } @@ -182020,7 +183405,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+4092 /* "%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) @@ -182189,7 +183574,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) } @@ -182363,7 +183748,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+2793 /* "%s" */, libc.VaList(bp, Xsqlite3_errmsg(tls, (*Fts5Config)(unsafe.Pointer(pConfig)).Fdb))) } } else { rc = SQLITE_OK @@ -182387,7 +183772,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 @@ -182395,7 +183780,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+2793 /* "%s" */, libc.VaList(bp, Xsqlite3_errmsg(tls, (*Fts5Config)(unsafe.Pointer(pConfig)).Fdb))) } Xsqlite3_free(tls, zSql) } @@ -182434,25 +183819,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+33555, /* "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 + 13327 /* ", " */ } - return ts + 756 /* "" */ + return ts + 758 /* "" */ }(), func() uintptr { if zRankArgs != 0 { return zRankArgs } - return ts + 756 /* "" */ + return ts + 758 /* "" */ }(), func() uintptr { if bDesc != 0 { - return ts + 33608 /* "DESC" */ + return ts + 33610 /* "DESC" */ } - return ts + 33613 /* "ASC" */ + return ts + 33615 /* "ASC" */ }())) (*Fts5Cursor)(unsafe.Pointer(pCsr)).FpSorter = pSorter @@ -182503,13 +183888,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+33619 /* "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+4174 /* "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+33625 /* "unknown special ..." */, libc.VaList(bp, n, z)) rc = SQLITE_ERROR } @@ -182544,7 +183929,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+33653 /* "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, @@ -182576,7 +183961,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+33663 /* "no such function..." */, libc.VaList(bp+8, zRank)) *(*int32)(unsafe.Pointer(bp + 16 /* rc */)) = SQLITE_ERROR } } @@ -182608,14 +183993,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+33684 /* "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 + 32067 /* "bm25" */ (*Fts5Cursor)(unsafe.Pointer(pCsr)).FzRankArgs = uintptr(0) } } @@ -182681,7 +184066,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+33516 /* "recursively defi..." */, 0) return SQLITE_ERROR __1: ; @@ -182727,7 +184112,7 @@ __8: if !(zText == uintptr(0)) { goto __14 } - zText = ts + 756 /* "" */ + zText = ts + 758 /* "" */ __14: ; iCol = 0 @@ -182916,7 +184301,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+33717 /* "%s: table does n..." */, libc.VaList(bp, (*Fts5Config)(unsafe.Pointer(pConfig)).FzName)) rc = SQLITE_ERROR goto __41 __40: @@ -183053,7 +184438,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+2793 /* "%s" */, libc.VaList(bp, Xsqlite3_errmsg(tls, (*Fts5Config)(unsafe.Pointer((*Fts5Table)(unsafe.Pointer(pTab)).FpConfig)).Fdb))) } } } @@ -183063,7 +184448,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 @@ -183090,29 +184475,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+33753 /* "delete-all" */, zCmd) { if (*Fts5Config)(unsafe.Pointer(pConfig)).FeContent == FTS5_CONTENT_NORMAL { fts5SetVtabError(tls, pTab, - ts+33762 /* "'delete-all' may..." */, 0) + ts+33764 /* "'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+33844 /* "rebuild" */, zCmd) { if (*Fts5Config)(unsafe.Pointer(pConfig)).FeContent == FTS5_CONTENT_NONE { fts5SetVtabError(tls, pTab, - ts+33850 /* "'rebuild' may no..." */, 0) + ts+33852 /* "'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+15431 /* "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+33908 /* "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+33914 /* "integrity-check" */, zCmd) { var iArg int32 = Xsqlite3_value_int(tls, pVal) rc = sqlite3Fts5StorageIntegrity(tls, (*Fts5FullTable)(unsafe.Pointer(pTab)).FpStorage, iArg) } else { @@ -183186,7 +184571,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+15970 /* "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))) @@ -183211,12 +184596,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+33930, /* "cannot %s conten..." */ libc.VaList(bp, func() uintptr { if nArg > 1 { - return ts + 18782 /* "UPDATE" */ + return ts + 18784 /* "UPDATE" */ } - return ts + 33965 /* "DELETE from" */ + return ts + 33967 /* "DELETE from" */ }(), (*Fts5Config)(unsafe.Pointer(pConfig)).FzName)) *(*int32)(unsafe.Pointer(bp + 16 /* rc */)) = SQLITE_ERROR } else if nArg == 1 { @@ -183617,14 +185002,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 */)) } @@ -183842,7 +185227,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 @@ -183859,7 +185246,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) } @@ -183886,7 +185275,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+33979 /* "no such cursor: ..." */, libc.VaList(bp, iCsrId)) Xsqlite3_result_error(tls, context, zErr, -1) Xsqlite3_free(tls, zErr) } else { @@ -184191,9 +185580,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+34000 /* "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) @@ -184208,7 +185599,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+34022 /* "error in tokeniz..." */, 0) } } else { (*Fts5Config)(unsafe.Pointer(pConfig)).FePattern = sqlite3Fts5TokenizerPattern(tls, @@ -184234,7 +185625,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) } @@ -184242,7 +185633,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) } @@ -184255,7 +185646,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+34053 /* "fts5_api_ptr" */) if ppApi != 0 { *(*uintptr)(unsafe.Pointer(ppApi)) = (pGlobal /* &.api */) } @@ -184266,7 +185657,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+34066 /* "fts5: 2021-06-18..." */, -1, libc.UintptrFromInt32(-1)) } // Return true if zName is the extension on one of the shadow tables used @@ -184282,7 +185673,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 + 34157 /* "config" */, ts + 32256 /* "content" */, ts + 23319 /* "data" */, ts + 32607 /* "docsize" */, ts + 10215, /* "idx" */ } /* sqlite3.c:230593:21 */ func fts5Init(tls *libc.TLS, db uintptr) int32 { /* sqlite3.c:230603:12: */ @@ -184306,7 +185697,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+34164 /* "fts5" */, uintptr(unsafe.Pointer(&fts5Mod)), p, *(*uintptr)(unsafe.Pointer(&struct{ f func(*libc.TLS, uintptr) }{fts5ModuleDestroy}))) if rc == SQLITE_OK { rc = sqlite3Fts5IndexInit(tls, db) } @@ -184324,13 +185715,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+34164 /* "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+34169 /* "fts5_source_id" */, 0, SQLITE_UTF8, p, *(*uintptr)(unsafe.Pointer(&struct { f func(*libc.TLS, uintptr, int32, uintptr) }{fts5SourceIdFunc})), uintptr(0), uintptr(0)) } @@ -184396,20 +185787,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 + 34184, /* "SELECT %s FROM %..." */ + ts + 34252, /* "SELECT %s FROM %..." */ + ts + 34321, /* "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 + 34354, /* "INSERT INTO %Q.'..." */ // INSERT_CONTENT + ts + 34393, /* "REPLACE INTO %Q...." */ // REPLACE_CONTENT + ts + 34433, /* "DELETE FROM %Q.'..." */ // DELETE_CONTENT + ts + 34472, /* "REPLACE INTO %Q...." */ // REPLACE_DOCSIZE + ts + 34513, /* "DELETE FROM %Q.'..." */ // DELETE_DOCSIZE - ts + 34550, /* "SELECT sz FROM %..." */ // LOOKUP_DOCSIZE + ts + 34552, /* "SELECT sz FROM %..." */ // LOOKUP_DOCSIZE - ts + 34592, /* "REPLACE INTO %Q...." */ // REPLACE_CONFIG - ts + 34632, /* "SELECT %s FROM %..." */ // SCAN + ts + 34594, /* "REPLACE INTO %Q...." */ // REPLACE_CONFIG + ts + 34634, /* "SELECT %s FROM %..." */ // SCAN } var pC uintptr = (*Fts5Storage)(unsafe.Pointer(p)).FpConfig var zSql uintptr = uintptr(0) @@ -184476,7 +185867,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+2793 /* "%s" */, libc.VaList(bp+120, Xsqlite3_errmsg(tls, (*Fts5Config)(unsafe.Pointer(pC)).Fdb))) } } } @@ -184492,7 +185883,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) { @@ -184514,18 +185905,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+34657, /* "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+34761, /* "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+34799, /* "DROP TABLE IF EX..." */ libc.VaList(bp+64, (*Fts5Config)(unsafe.Pointer(pConfig)).FzDb, (*Fts5Config)(unsafe.Pointer(pConfig)).FzName)) } return rc @@ -184537,7 +185928,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+34837, /* "ALTER TABLE %Q.'..." */ libc.VaList(bp, (*Fts5Config)(unsafe.Pointer(pConfig)).FzDb, (*Fts5Config)(unsafe.Pointer(pConfig)).FzName, zTail, zName, zTail)) } } @@ -184549,14 +185940,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+23319 /* "data" */, zName) + fts5StorageRenameOne(tls, pConfig, bp /* &rc */, ts+10215 /* "idx" */, zName) + fts5StorageRenameOne(tls, pConfig, bp /* &rc */, ts+34157 /* "config" */, zName) if (*Fts5Config)(unsafe.Pointer(pConfig)).FbColumnsize != 0 { - fts5StorageRenameOne(tls, pConfig, bp /* &rc */, ts+32605 /* "docsize" */, zName) + fts5StorageRenameOne(tls, pConfig, bp /* &rc */, ts+32607 /* "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+32256 /* "content" */, zName) } return *(*int32)(unsafe.Pointer(bp /* rc */)) } @@ -184570,17 +185961,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+34879, /* "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 + 27934 /* " WITHOUT ROWID" */ } - return ts + 756 /* "" */ + return ts + 758 /* "" */ }())) if *(*uintptr)(unsafe.Pointer(bp + 64 /* zErr */)) != 0 { *(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3_mprintf(tls, - ts+34907, /* "fts5: error crea..." */ + ts+34909, /* "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 */))) } @@ -184622,27 +186013,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+34953 /* "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+34976 /* ", 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+32256 /* "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+32607 /* "docsize" */, ts+34982 /* "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+34157 /* "config" */, ts+35014 /* "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+32753 /* "version" */, uintptr(0), FTS5_CURRENT_VERSION) } } @@ -184879,12 +186270,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+35031, /* "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+35081, /* "DELETE FROM %Q.'..." */ libc.VaList(bp+32, (*Fts5Config)(unsafe.Pointer(pConfig)).FzDb, (*Fts5Config)(unsafe.Pointer(pConfig)).FzName)) } @@ -184894,7 +186285,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+32753 /* "version" */, uintptr(0), FTS5_CURRENT_VERSION) } return rc } @@ -185089,7 +186480,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+35110, /* "SELECT count(*) ..." */ libc.VaList(bp, (*Fts5Config)(unsafe.Pointer(pConfig)).FzDb, (*Fts5Config)(unsafe.Pointer(pConfig)).FzName, zSuffix)) if zSql == uintptr(0) { rc = SQLITE_NOMEM @@ -185286,14 +186677,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+32256 /* "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+32607 /* "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)) } @@ -185529,9 +186920,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+35142 /* "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+35153 /* "separators" */) { fts5AsciiAddExceptions(tls, p, zArg, 0) } else { rc = SQLITE_ERROR @@ -185609,7 +187000,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) } @@ -185636,7 +187029,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 */ @@ -185771,7 +187164,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 + 35164 /* "L* N* Co" */ var i int32 libc.Xmemset(tls, p, 0, uint64(unsafe.Sizeof(Unicode61Tokenizer{}))) @@ -185784,7 +187177,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+35173 /* "categories" */) { zCat = *(*uintptr)(unsafe.Pointer(azArg + uintptr((i+1))*8)) } } @@ -185795,18 +187188,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+35184 /* "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+35142 /* "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+35153 /* "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+35173 /* "categories" */) { // no-op } else { rc = SQLITE_ERROR @@ -186061,7 +187454,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: ; @@ -186103,7 +187498,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) } @@ -186118,7 +187513,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 + 35202 /* "unicode61" */ if nArg > 0 { zBase = *(*uintptr)(unsafe.Pointer(azArg)) @@ -186127,7 +187522,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 } @@ -186144,7 +187541,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 { @@ -186164,13 +187563,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 */ @@ -186271,7 +187670,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+35212 /* "al" */, (aBuf+uintptr((nBuf-2))), uint64(2))) { if fts5Porter_MGt1(tls, aBuf, (nBuf-2)) != 0 { *(*int32)(unsafe.Pointer(pnBuf)) = (nBuf - 2) } @@ -186279,11 +187678,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+35215 /* "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+35220 /* "ence" */, (aBuf+uintptr((nBuf-4))), uint64(4))) { if fts5Porter_MGt1(tls, aBuf, (nBuf-4)) != 0 { *(*int32)(unsafe.Pointer(pnBuf)) = (nBuf - 4) } @@ -186291,7 +187690,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+35225 /* "er" */, (aBuf+uintptr((nBuf-2))), uint64(2))) { if fts5Porter_MGt1(tls, aBuf, (nBuf-2)) != 0 { *(*int32)(unsafe.Pointer(pnBuf)) = (nBuf - 2) } @@ -186299,7 +187698,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+35228 /* "ic" */, (aBuf+uintptr((nBuf-2))), uint64(2))) { if fts5Porter_MGt1(tls, aBuf, (nBuf-2)) != 0 { *(*int32)(unsafe.Pointer(pnBuf)) = (nBuf - 2) } @@ -186307,11 +187706,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+35231 /* "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+35236 /* "ible" */, (aBuf+uintptr((nBuf-4))), uint64(4))) { if fts5Porter_MGt1(tls, aBuf, (nBuf-4)) != 0 { *(*int32)(unsafe.Pointer(pnBuf)) = (nBuf - 4) } @@ -186319,19 +187718,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+35241 /* "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+35245 /* "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+35251 /* "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+35256 /* "ent" */, (aBuf+uintptr((nBuf-3))), uint64(3))) { if fts5Porter_MGt1(tls, aBuf, (nBuf-3)) != 0 { *(*int32)(unsafe.Pointer(pnBuf)) = (nBuf - 3) } @@ -186339,11 +187738,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+35260 /* "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+35264 /* "ou" */, (aBuf+uintptr((nBuf-2))), uint64(2))) { if fts5Porter_MGt1(tls, aBuf, (nBuf-2)) != 0 { *(*int32)(unsafe.Pointer(pnBuf)) = (nBuf - 2) } @@ -186351,7 +187750,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+35267 /* "ism" */, (aBuf+uintptr((nBuf-3))), uint64(3))) { if fts5Porter_MGt1(tls, aBuf, (nBuf-3)) != 0 { *(*int32)(unsafe.Pointer(pnBuf)) = (nBuf - 3) } @@ -186359,11 +187758,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+35271 /* "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+35275 /* "iti" */, (aBuf+uintptr((nBuf-3))), uint64(3))) { if fts5Porter_MGt1(tls, aBuf, (nBuf-3)) != 0 { *(*int32)(unsafe.Pointer(pnBuf)) = (nBuf - 3) } @@ -186371,7 +187770,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+35279 /* "ous" */, (aBuf+uintptr((nBuf-3))), uint64(3))) { if fts5Porter_MGt1(tls, aBuf, (nBuf-3)) != 0 { *(*int32)(unsafe.Pointer(pnBuf)) = (nBuf - 3) } @@ -186379,7 +187778,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+35283 /* "ive" */, (aBuf+uintptr((nBuf-3))), uint64(3))) { if fts5Porter_MGt1(tls, aBuf, (nBuf-3)) != 0 { *(*int32)(unsafe.Pointer(pnBuf)) = (nBuf - 3) } @@ -186387,7 +187786,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+35287 /* "ize" */, (aBuf+uintptr((nBuf-3))), uint64(3))) { if fts5Porter_MGt1(tls, aBuf, (nBuf-3)) != 0 { *(*int32)(unsafe.Pointer(pnBuf)) = (nBuf - 3) } @@ -186404,24 +187803,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+35291 /* "at" */, (aBuf+uintptr((nBuf-2))), uint64(2))) { + libc.Xmemcpy(tls, (aBuf + uintptr((nBuf - 2))), ts+35271 /* "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+35294 /* "bl" */, (aBuf+uintptr((nBuf-2))), uint64(2))) { + libc.Xmemcpy(tls, (aBuf + uintptr((nBuf - 2))), ts+35297 /* "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+35301 /* "iz" */, (aBuf+uintptr((nBuf-2))), uint64(2))) { + libc.Xmemcpy(tls, (aBuf + uintptr((nBuf - 2))), ts+35287 /* "ize" */, uint64(3)) *(*int32)(unsafe.Pointer(pnBuf)) = ((nBuf - 2) + 3) ret = 1 } @@ -186437,137 +187836,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+35304 /* "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+35271 /* "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+35312 /* "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+35319 /* "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+35324 /* "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+35220 /* "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+35329 /* "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+35215 /* "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+35334 /* "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+35287 /* "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+35339 /* "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+14781 /* "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+35344 /* "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+35297 /* "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+35348 /* "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+35212 /* "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+35353 /* "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+35256 /* "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+35359 /* "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+35363 /* "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+35365 /* "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+35279 /* "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+35371 /* "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+35287 /* "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+35379 /* "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+35271 /* "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+35385 /* "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+35271 /* "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+35390 /* "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+35212 /* "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+35396 /* "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+35283 /* "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+35404 /* "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+35412 /* "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+35416 /* "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+35279 /* "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+35424 /* "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+35212 /* "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+35430 /* "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+35283 /* "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+35436 /* "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+35297 /* "ble" */, uint64(3)) *(*int32)(unsafe.Pointer(pnBuf)) = ((nBuf - 6) + 3) } } @@ -186583,16 +187982,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+35443 /* "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+35228 /* "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+35448 /* "ness" */, (aBuf+uintptr((nBuf-4))), uint64(4))) { if fts5Porter_MGt0(tls, aBuf, (nBuf-4)) != 0 { *(*int32)(unsafe.Pointer(pnBuf)) = (nBuf - 4) } @@ -186600,21 +187999,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+35453 /* "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+35228 /* "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+35459 /* "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+35228 /* "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+35412 /* "ful" */, (aBuf+uintptr((nBuf-3))), uint64(3))) { if fts5Porter_MGt0(tls, aBuf, (nBuf-3)) != 0 { *(*int32)(unsafe.Pointer(pnBuf)) = (nBuf - 3) } @@ -186622,7 +188021,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+35465 /* "ative" */, (aBuf+uintptr((nBuf-5))), uint64(5))) { if fts5Porter_MGt0(tls, aBuf, (nBuf-5)) != 0 { *(*int32)(unsafe.Pointer(pnBuf)) = (nBuf - 5) } @@ -186630,9 +188029,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+35471 /* "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+35212 /* "al" */, uint64(2)) *(*int32)(unsafe.Pointer(pnBuf)) = ((nBuf - 5) + 2) } } @@ -186648,12 +188047,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+35477 /* "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+35481 /* "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+35484 /* "ed" */, (aBuf+uintptr((nBuf-2))), uint64(2))) { if fts5Porter_Vowel(tls, aBuf, (nBuf-2)) != 0 { *(*int32)(unsafe.Pointer(pnBuf)) = (nBuf - 2) ret = 1 @@ -186662,7 +188061,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+35487 /* "ing" */, (aBuf+uintptr((nBuf-3))), uint64(3))) { if fts5Porter_Vowel(tls, aBuf, (nBuf-3)) != 0 { *(*int32)(unsafe.Pointer(pnBuf)) = (nBuf - 3) ret = 1 @@ -186782,10 +188181,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. @@ -186799,7 +188202,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}))) @@ -186832,7 +188237,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+35491 /* "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 { @@ -186984,7 +188389,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 } @@ -187022,22 +188429,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 + 35202 /* "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 + 35506 /* "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 + 35512 /* "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 + 35519 /* "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 @@ -187048,7 +188455,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 */), @@ -188348,24 +189757,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 */ @@ -188384,14 +189793,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+35527 /* "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+35531 /* "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+35535 /* "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+35544 /* "fts5vocab: unkno..." */, libc.VaList(bp, zCopy)) *(*int32)(unsafe.Pointer(bp + 8 /* rc */)) = SQLITE_ERROR } Xsqlite3_free(tls, zCopy) @@ -188438,19 +189847,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 + 35578, /* "CREATE TABlE voc..." */ + ts + 35618, /* "CREATE TABlE voc..." */ + ts + 35653, /* "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+21628 /* "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+35696 /* "wrong number of ..." */, 0) *(*int32)(unsafe.Pointer(bp + 32 /* rc */)) = SQLITE_ERROR } else { var nByte int32 // Bytes of space to allocate @@ -188602,11 +190011,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+35729 /* "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+35760, /* "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)) @@ -188630,7 +190039,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+35811 /* "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 { @@ -188918,7 +190327,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 + 758 /* "" */ } (*Fts5VocabCursor)(unsafe.Pointer(pCsr)).FnLeTerm = Xsqlite3_value_bytes(tls, pLe) (*Fts5VocabCursor)(unsafe.Pointer(pCsr)).FzLeTerm = Xsqlite3_malloc(tls, ((*Fts5VocabCursor)(unsafe.Pointer(pCsr)).FnLeTerm + 1)) @@ -189035,7 +190444,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+35837 /* "fts5vocab" */, uintptr(unsafe.Pointer(&fts5Vocab)), p, uintptr(0)) } var fts5Vocab = Sqlite3_module{ @@ -189080,7 +190489,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 + 35847 /* "2021-06-18 18:36..." */ } //************************* End of sqlite3.c ***************************** @@ -189253,7 +190662,7 @@ func init() { f func(*libc.TLS, int32, uintptr) int32 }{libc.Xfstat})) // sqlite3.c:34472:21: *(*Sqlite3_syscall_ptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&aSyscall)) + 152 /* .pCurrent */)) = *(*uintptr)(unsafe.Pointer(&struct { - f func(*libc.TLS, int32, Off_t) int32 + f func(*libc.TLS, int32, X__off_t) int32 }{libc.Xftruncate})) // sqlite3.c:34476:21: *(*Sqlite3_syscall_ptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&aSyscall)) + 176 /* .pCurrent */)) = *(*uintptr)(unsafe.Pointer(&struct { f func(*libc.TLS, int32, int32, uintptr) int32 @@ -189284,7 +190693,7 @@ func init() { }{libc.Xfchown})) // sqlite3.c:34541:21: *(*Sqlite3_syscall_ptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&aSyscall)) + 512 /* .pCurrent */)) = *(*uintptr)(unsafe.Pointer(&struct{ f func(*libc.TLS) Uid_t }{libc.Xgeteuid})) // sqlite3.c:34548:21: *(*Sqlite3_syscall_ptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&aSyscall)) + 536 /* .pCurrent */)) = *(*uintptr)(unsafe.Pointer(&struct { - f func(*libc.TLS, uintptr, Size_t, int32, int32, int32, Off_t) uintptr + f func(*libc.TLS, uintptr, Size_t, int32, int32, int32, X__off_t) uintptr }{libc.Xmmap})) // sqlite3.c:34555:21: *(*Sqlite3_syscall_ptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&aSyscall)) + 560 /* .pCurrent */)) = *(*uintptr)(unsafe.Pointer(&struct { f func(*libc.TLS, uintptr, Size_t) int32 @@ -189965,5 +191374,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<expr>\x00 AND \x00(\x00 (\x00%s=?\x00ANY(%s)\x00>\x00<\x00%s %S\x00SEARCH\x00SCAN\x00AUTOMATIC PARTIAL COVERING INDEX\x00AUTOMATIC COVERING INDEX\x00COVERING INDEX %s\x00INDEX %s\x00 USING \x00=\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<polyline points=\x00%c%g,%g\x00 %g,%g'\x00 %s\x00></polyline>\x00CREATE TABLE x(_shape\x00,%s\x00rtree\x00fullscan\x00_shape does not contain a valid polygon\x00geopoly_overlap\x00geopoly_within\x00geopoly\x00geopoly_area\x00geopoly_blob\x00geopoly_json\x00geopoly_svg\x00geopoly_contains_point\x00geopoly_debug\x00geopoly_bbox\x00geopoly_xform\x00geopoly_regular\x00geopoly_ccw\x00geopoly_group_bbox\x00rtreenode\x00rtreedepth\x00rtreecheck\x00rtree_i32\x00corrupt fossil delta\x00DROP TRIGGER IF EXISTS temp.rbu_insert_tr;DROP TRIGGER IF EXISTS temp.rbu_update1_tr;DROP TRIGGER IF EXISTS temp.rbu_update2_tr;DROP TRIGGER IF EXISTS temp.rbu_delete_tr;\x00SELECT rbu_target_name(name, type='view') AS target, name FROM sqlite_schema WHERE type IN ('table', 'view') AND target IS NOT NULL %s ORDER BY name\x00AND rootpage!=0 AND rootpage IS NOT NULL\x00SELECT name, rootpage, sql IS NULL OR substr(8, 6)=='UNIQUE' FROM main.sqlite_schema WHERE type='index' AND tbl_name = ?\x00SELECT (sql 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=clang-11.0.1\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<expr>\x00 AND \x00(\x00 (\x00%s=?\x00ANY(%s)\x00>\x00<\x00%s %S\x00SEARCH\x00SCAN\x00AUTOMATIC PARTIAL COVERING INDEX\x00AUTOMATIC COVERING INDEX\x00COVERING INDEX %s\x00INDEX %s\x00 USING \x00=\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<polyline points=\x00%c%g,%g\x00 %g,%g'\x00 %s\x00></polyline>\x00CREATE TABLE x(_shape\x00,%s\x00rtree\x00fullscan\x00_shape does not contain a valid polygon\x00geopoly_overlap\x00geopoly_within\x00geopoly\x00geopoly_area\x00geopoly_blob\x00geopoly_json\x00geopoly_svg\x00geopoly_contains_point\x00geopoly_debug\x00geopoly_bbox\x00geopoly_xform\x00geopoly_regular\x00geopoly_ccw\x00geopoly_group_bbox\x00rtreenode\x00rtreedepth\x00rtreecheck\x00rtree_i32\x00corrupt fossil delta\x00DROP TRIGGER IF EXISTS temp.rbu_insert_tr;DROP TRIGGER IF EXISTS temp.rbu_update1_tr;DROP TRIGGER IF EXISTS temp.rbu_update2_tr;DROP TRIGGER IF EXISTS temp.rbu_delete_tr;\x00SELECT rbu_target_name(name, type='view') AS target, name FROM sqlite_schema WHERE type IN ('table', 'view') AND target IS NOT NULL %s ORDER BY name\x00AND rootpage!=0 AND rootpage IS NOT NULL\x00SELECT name, rootpage, sql IS NULL OR substr(8, 6)=='UNIQUE' FROM main.sqlite_schema WHERE type='index' AND tbl_name = ?\x00SELECT (sql 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 |