diff options
Diffstat (limited to 'lib/sqlite_linux_amd64.go')
-rw-r--r-- | lib/sqlite_linux_amd64.go | 7381 |
1 files changed, 4986 insertions, 2395 deletions
diff --git a/lib/sqlite_linux_amd64.go b/lib/sqlite_linux_amd64.go index e3ce6ad..32ed984 100644 --- a/lib/sqlite_linux_amd64.go +++ b/lib/sqlite_linux_amd64.go @@ -3153,8 +3153,11 @@ type Size_t = uint64 /* <builtin>:9:23 */ type Wchar_t = int32 /* <builtin>:15:24 */ -type X__builtin_va_list = uintptr /* <builtin>:30:14 */ -type X__float128 = float64 /* <builtin>:31:21 */ +type X__int128_t = [2]int64 /* <builtin>:21:24 */ //TODO +type X__uint128_t = [2]uint64 /* <builtin>:22:25 */ //TODO + +type X__builtin_va_list = uintptr /* <builtin>:34:14 */ +type X__float128 = float64 /* <builtin>:35:21 */ // ***************************************************************************** // @@ -9791,47 +9794,89 @@ var Xsqlite3CtypeMap = [256]uint8{ // The following singleton contains the global configuration for // the SQLite library. -var Xsqlite3Config = Sqlite3Config{FbMemstat: 0, FbCoreMutex: // bMemstat -U8(1), FbFullMutex:// bCoreMutex -(U8(libc.Bool32(1 == 1))), FbOpenUri:// bFullMutex -U8(0), FbUseCis:// bOpenUri -U8(1), FbSmallMalloc:// bUseCis -U8(0), FbExtraSchemaChecks:// bSmallMalloc -U8(1), FmxStrlen:// bExtraSchemaChecks -0x7ffffffe, FneverCorrupt:// mxStrlen -0, FszLookaside:// neverCorrupt -1200, FnLookaside: 40, FnStmtSpill: // szLookaside, nLookaside -(64 * 1024), Fm:// nStmtSpill -Sqlite3_mem_methods{FxMalloc: uintptr(0), FxFree: uintptr(0), FxRealloc: uintptr(0), FxSize: uintptr(0), FxRoundup: uintptr(0), FxInit: uintptr(0), FxShutdown: uintptr(0), FpAppData: uintptr(0)}, Fmutex:// m -Sqlite3_mutex_methods{FxMutexInit: uintptr(0), FxMutexEnd: uintptr(0), FxMutexAlloc: uintptr(0), FxMutexFree: uintptr(0), FxMutexEnter: uintptr(0), FxMutexTry: uintptr(0), FxMutexLeave: uintptr(0), FxMutexHeld: uintptr(0), FxMutexNotheld: uintptr(0)}, Fpcache2:// mutex -Sqlite3_pcache_methods2{FiVersion: 0, FpArg: uintptr(0), FxInit: uintptr(0), FxShutdown: uintptr(0), FxCreate: uintptr(0), FxCachesize: uintptr(0), FxPagecount: uintptr(0), FxFetch: uintptr(0), FxUnpin: uintptr(0), FxRekey: uintptr(0), FxTruncate: uintptr(0), FxDestroy: uintptr(0), FxShrink: uintptr(0)}, FpHeap:// pcache2 -uintptr(0), FnHeap:// pHeap -0, FmnReq:// nHeap -0, FmxReq: 0, FszMmap: // mnHeap, mxHeap -int64(0), FmxMmap:// szMmap -int64(0x7fff0000), FpPage:// mxMmap -uintptr(0), FszPage:// pPage -0, FnPage:// szPage -20, FmxParserStack:// nPage -0, FsharedCacheEnabled:// mxParserStack -0, FszPma:// sharedCacheEnabled -U32(250), FisInit:// szPma -// All the rest should always be initialized to zero -0, FinProgress:// isInit -0, FisMutexInit:// inProgress -0, FisMallocInit:// isMutexInit -0, FisPCacheInit:// isMallocInit -0, FnRefInitMutex:// isPCacheInit -0, FpInitMutex:// nRefInitMutex -uintptr(0), FxLog:// pInitMutex -uintptr(0), FpLogArg:// xLog -uintptr(0), FmxMemdbSize:// pLogArg -int64(1073741824), FxTestCallback:// mxMemdbSize -uintptr(0), FbLocaltimeFault:// xTestCallback -0, FiOnceResetThreshold:// bLocaltimeFault -0x7ffffffe, FszSorterRef:// iOnceResetThreshold -U32(0x7fffffff), FiPrngSeed:// szSorterRef -uint32(0), // iPrngSeed +var Xsqlite3Config = Sqlite3Config{ + FbMemstat: 0, + FbCoreMutex:// bMemstat + U8(1), + FbFullMutex:// bCoreMutex + (U8(libc.Bool32(1 == 1))), + FbOpenUri:// bFullMutex + U8(0), + FbUseCis:// bOpenUri + U8(1), + FbSmallMalloc:// bUseCis + U8(0), + FbExtraSchemaChecks:// bSmallMalloc + U8(1), + FmxStrlen:// bExtraSchemaChecks + 0x7ffffffe, + FneverCorrupt:// mxStrlen + 0, + FszLookaside:// neverCorrupt + 1200, + FnLookaside: 40, + FnStmtSpill:// szLookaside, nLookaside + (64 * 1024), // nStmtSpill + Fm:// nStmtSpill + Sqlite3_mem_methods{}, // m + Fmutex:// m + Sqlite3_mutex_methods{}, // mutex + Fpcache2:// mutex + Sqlite3_pcache_methods2{}, + FpHeap:// pcache2 + uintptr(0), + FnHeap:// pHeap + 0, + FmnReq:// nHeap + 0, + FmxReq: 0, + FszMmap:// mnHeap, mxHeap + int64(0), + FmxMmap:// szMmap + int64(0x7fff0000), + FpPage:// mxMmap + uintptr(0), + FszPage:// pPage + 0, + FnPage:// szPage + 20, + FmxParserStack:// nPage + 0, + FsharedCacheEnabled:// mxParserStack + 0, + FszPma:// sharedCacheEnabled + U32(250), + FisInit:// szPma + // All the rest should always be initialized to zero + 0, + FinProgress:// isInit + 0, + FisMutexInit:// inProgress + 0, + FisMallocInit:// isMutexInit + 0, + FisPCacheInit:// isMallocInit + 0, + FnRefInitMutex:// isPCacheInit + 0, + FpInitMutex:// nRefInitMutex + uintptr(0), + FxLog:// pInitMutex + uintptr(0), + FpLogArg:// xLog + uintptr(0), + FmxMemdbSize:// pLogArg + int64(1073741824), + FxTestCallback:// mxMemdbSize + uintptr(0), + FbLocaltimeFault:// xTestCallback + 0, + FiOnceResetThreshold:// bLocaltimeFault + 0x7ffffffe, + FszSorterRef:// iOnceResetThreshold + U32(0x7fffffff), + FiPrngSeed:// szSorterRef + uint32(0), // iPrngSeed } /* sqlite3.c:20578:48 */ // Hash table for global functions - functions common to all @@ -10135,8 +10180,8 @@ type sqlite3StatType = struct { FmxValue [10]Sqlite3StatValueType } /* sqlite3.c:21345:9 */ -type Sqlite3StatType = sqlite3StatType /* sqlite3.c:21345:32 */ -var sqlite3Stat = sqlite3StatType{FnowValue: [10]Sqlite3StatValueType{int64(0)}, FmxValue: [10]Sqlite3StatValueType{int64(0)}} /* sqlite3.c:21349:3 */ +type Sqlite3StatType = sqlite3StatType /* sqlite3.c:21345:32 */ +var sqlite3Stat = sqlite3StatType{} /* sqlite3.c:21349:3 */ // Elements of sqlite3Stat[] are protected by either the memory allocator // mutex, or by the pcache1 mutex. The following array determines which. @@ -11415,12 +11460,42 @@ var aXformType = [6]struct { FrLimit float64 FrXform float64 }{ - {FeType: U8(0), FnName: U8(6), FzName: ts + 410 /* "second" */, FrLimit: 464269060800.0, FrXform: 1000.0}, - {FeType: U8(0), FnName: U8(6), FzName: ts + 417 /* "minute" */, FrLimit: 7737817680.0, FrXform: 60000.0}, - {FeType: U8(0), FnName: U8(4), FzName: ts + 424 /* "hour" */, FrLimit: 128963628.0, FrXform: 3600000.0}, - {FeType: U8(0), FnName: U8(3), FzName: ts + 429 /* "day" */, FrLimit: 5373485.0, FrXform: 86400000.0}, - {FeType: U8(1), FnName: U8(5), FzName: ts + 433 /* "month" */, FrLimit: 176546.0, FrXform: 2592000000.0}, - {FeType: U8(2), FnName: U8(4), FzName: ts + 439 /* "year" */, FrLimit: 14713.0, FrXform: 31536000000.0}, + { + FeType: U8(0), + FnName: U8(6), + FzName: ts + 410, /* "second" */ + FrLimit: 464269060800.0, + FrXform: 1000.0}, + { + FeType: U8(0), + FnName: U8(6), + FzName: ts + 417, /* "minute" */ + FrLimit: 7737817680.0, + FrXform: 60000.0}, + { + FeType: U8(0), + FnName: U8(4), + FzName: ts + 424, /* "hour" */ + FrLimit: 128963628.0, + FrXform: 3600000.0}, + { + FeType: U8(0), + FnName: U8(3), + FzName: ts + 429, /* "day" */ + FrLimit: 5373485.0, + FrXform: 86400000.0}, + { + FeType: U8(1), + FnName: U8(5), + FzName: ts + 433, /* "month" */ + FrLimit: 176546.0, + FrXform: 2592000000.0}, + { + FeType: U8(2), + FnName: U8(4), + FzName: ts + 439, /* "year" */ + FrLimit: 14713.0, + FrXform: 31536000000.0}, } /* sqlite3.c:22337:3 */ // Process a modifier to a date-time stamp. The modifiers are @@ -12063,14 +12138,86 @@ func Xsqlite3RegisterDateTimeFunctions(tls *libc.TLS) { /* sqlite3.c:22945:21: * } var aDateTimeFuncs = [8]FuncDef{ - {FnArg: int8(-1), FfuncFlags: (U32((0x2000 | 1) | 0x0800)), FpUserData: 0, FpNext: uintptr(0), FxSFunc: 0, FxFinalize: uintptr(0), FxValue: uintptr(0), FxInverse: uintptr(0), FzName: ts + 575 /* "julianday" */, Fu: struct{ FpHash uintptr }{FpHash: uintptr(0)}}, - {FnArg: int8(-1), FfuncFlags: (U32((0x2000 | 1) | 0x0800)), FpUserData: 0, FpNext: uintptr(0), FxSFunc: 0, FxFinalize: uintptr(0), FxValue: uintptr(0), FxInverse: uintptr(0), FzName: ts + 585 /* "date" */, Fu: struct{ FpHash uintptr }{FpHash: uintptr(0)}}, - {FnArg: int8(-1), FfuncFlags: (U32((0x2000 | 1) | 0x0800)), FpUserData: 0, FpNext: uintptr(0), FxSFunc: 0, FxFinalize: uintptr(0), FxValue: uintptr(0), FxInverse: uintptr(0), FzName: ts + 590 /* "time" */, Fu: struct{ FpHash uintptr }{FpHash: uintptr(0)}}, - {FnArg: int8(-1), FfuncFlags: (U32((0x2000 | 1) | 0x0800)), FpUserData: 0, FpNext: uintptr(0), FxSFunc: 0, FxFinalize: uintptr(0), FxValue: uintptr(0), FxInverse: uintptr(0), FzName: ts + 595 /* "datetime" */, Fu: struct{ FpHash uintptr }{FpHash: uintptr(0)}}, - {FnArg: int8(-1), FfuncFlags: (U32((0x2000 | 1) | 0x0800)), FpUserData: 0, FpNext: uintptr(0), FxSFunc: 0, FxFinalize: uintptr(0), FxValue: uintptr(0), FxInverse: uintptr(0), FzName: ts + 604 /* "strftime" */, Fu: struct{ FpHash uintptr }{FpHash: uintptr(0)}}, - {FnArg: int8(0), FfuncFlags: (U32(0x2000 | 1)), FpUserData: uintptr(0), FpNext: uintptr(0), FxSFunc: 0, FxFinalize: uintptr(0), FxValue: uintptr(0), FxInverse: uintptr(0), FzName: ts + 613 /* "current_time" */, Fu: struct{ FpHash uintptr }{FpHash: uintptr(0)}}, - {FnArg: int8(0), FfuncFlags: (U32(0x2000 | 1)), FpUserData: uintptr(0), FpNext: uintptr(0), FxSFunc: 0, FxFinalize: uintptr(0), FxValue: uintptr(0), FxInverse: uintptr(0), FzName: ts + 626 /* "current_timestam..." */, Fu: struct{ FpHash uintptr }{FpHash: uintptr(0)}}, - {FnArg: int8(0), FfuncFlags: (U32(0x2000 | 1)), FpUserData: uintptr(0), FpNext: uintptr(0), FxSFunc: 0, FxFinalize: uintptr(0), FxValue: uintptr(0), FxInverse: uintptr(0), FzName: ts + 644 /* "current_date" */, Fu: struct{ FpHash uintptr }{FpHash: uintptr(0)}}, + { + FnArg: int8(-1), + FfuncFlags: (U32((0x2000 | 1) | 0x0800)), + FpUserData: 0, + FpNext: uintptr(0), + FxSFunc: 0, + FxFinalize: uintptr(0), + FxValue: uintptr(0), + FxInverse: uintptr(0), + FzName: ts + 575 /* "julianday" */, Fu: struct{ FpHash uintptr }{}}, + { + FnArg: int8(-1), + FfuncFlags: (U32((0x2000 | 1) | 0x0800)), + FpUserData: 0, + FpNext: uintptr(0), + FxSFunc: 0, + FxFinalize: uintptr(0), + FxValue: uintptr(0), + FxInverse: uintptr(0), + FzName: ts + 585 /* "date" */, Fu: struct{ FpHash uintptr }{}}, + { + FnArg: int8(-1), + FfuncFlags: (U32((0x2000 | 1) | 0x0800)), + FpUserData: 0, + FpNext: uintptr(0), + FxSFunc: 0, + FxFinalize: uintptr(0), + FxValue: uintptr(0), + FxInverse: uintptr(0), + FzName: ts + 590 /* "time" */, Fu: struct{ FpHash uintptr }{}}, + { + FnArg: int8(-1), + FfuncFlags: (U32((0x2000 | 1) | 0x0800)), + FpUserData: 0, + FpNext: uintptr(0), + FxSFunc: 0, + FxFinalize: uintptr(0), + FxValue: uintptr(0), + FxInverse: uintptr(0), + FzName: ts + 595 /* "datetime" */, Fu: struct{ FpHash uintptr }{}}, + { + FnArg: int8(-1), + FfuncFlags: (U32((0x2000 | 1) | 0x0800)), + FpUserData: 0, + FpNext: uintptr(0), + FxSFunc: 0, + FxFinalize: uintptr(0), + FxValue: uintptr(0), + FxInverse: uintptr(0), + FzName: ts + 604 /* "strftime" */, Fu: struct{ FpHash uintptr }{}}, + { + FnArg: int8(0), + FfuncFlags: (U32(0x2000 | 1)), + FpUserData: uintptr(0), + FpNext: uintptr(0), + FxSFunc: 0, + FxFinalize: uintptr(0), + FxValue: uintptr(0), + FxInverse: uintptr(0), + FzName: ts + 613 /* "current_time" */, Fu: struct{ FpHash uintptr }{}}, + { + FnArg: int8(0), + FfuncFlags: (U32(0x2000 | 1)), + FpUserData: uintptr(0), + FpNext: uintptr(0), + FxSFunc: 0, + FxFinalize: uintptr(0), + FxValue: uintptr(0), + FxInverse: uintptr(0), + FzName: ts + 626 /* "current_timestam..." */, Fu: struct{ FpHash uintptr }{}}, + { + FnArg: int8(0), + FfuncFlags: (U32(0x2000 | 1)), + FpUserData: uintptr(0), + FpNext: uintptr(0), + FxSFunc: 0, + FxFinalize: uintptr(0), + FxValue: uintptr(0), + FxInverse: uintptr(0), + FzName: ts + 644 /* "current_date" */, Fu: struct{ FpHash uintptr }{}}, } /* sqlite3.c:22946:18 */ //************* End of date.c *********************************************** @@ -12591,8 +12738,8 @@ type BenignMallocHooks1 = struct { // #include "sqliteInt.h" // Global variables. -type BenignMallocHooks = BenignMallocHooks1 /* sqlite3.c:23434:34 */ -var sqlite3Hooks = BenignMallocHooks1{FxBenignBegin: uintptr(0), FxBenignEnd: uintptr(0)} /* sqlite3.c:23438:3 */ +type BenignMallocHooks = BenignMallocHooks1 /* sqlite3.c:23434:34 */ +var sqlite3Hooks = BenignMallocHooks1{} /* sqlite3.c:23438:3 */ // The "wsdHooks" macro will resolve to the appropriate BenignMallocHooks // structure. If writable static data is unsupported on the target, @@ -12812,7 +12959,16 @@ func Xsqlite3MemSetDefault(tls *libc.TLS) { /* sqlite3.c:23829:21: */ Xsqlite3_config(tls, 4, libc.VaList(bp, uintptr(unsafe.Pointer(&defaultMethods)))) } -var defaultMethods = Sqlite3_mem_methods{FxMalloc: 0, FxFree: 0, FxRealloc: 0, FxSize: 0, FxRoundup: 0, FxInit: 0, FxShutdown: 0, FpAppData: uintptr(0)} /* sqlite3.c:23830:36 */ +var defaultMethods = Sqlite3_mem_methods{ + FxMalloc: 0, + FxFree: 0, + FxRealloc: 0, + FxSize: 0, + FxRoundup: 0, + FxInit: 0, + FxShutdown: 0, + FpAppData: uintptr(0), +} /* sqlite3.c:23830:36 */ //************* End of mem1.c *********************************************** //************* Begin file mem2.c ******************************************* @@ -13099,7 +13255,17 @@ func Xsqlite3NoopMutex(tls *libc.TLS) uintptr { /* sqlite3.c:26062:44: */ return uintptr(unsafe.Pointer(&sMutex)) } -var sMutex = Sqlite3_mutex_methods{FxMutexInit: 0, FxMutexEnd: 0, FxMutexAlloc: 0, FxMutexFree: 0, FxMutexEnter: 0, FxMutexTry: 0, FxMutexLeave: 0, FxMutexHeld: uintptr(0), FxMutexNotheld: uintptr(0)} /* sqlite3.c:26063:38 */ +var sMutex = Sqlite3_mutex_methods{ + FxMutexInit: 0, + FxMutexEnd: 0, + FxMutexAlloc: 0, + FxMutexFree: 0, + FxMutexEnter: 0, + FxMutexTry: 0, + FxMutexLeave: 0, + FxMutexHeld: uintptr(0), + FxMutexNotheld: uintptr(0), +} /* sqlite3.c:26063:38 */ // If compiled with SQLITE_MUTEX_NOOP, then the no-op mutex implementation // is used regardless of the run-time threadsafety setting. @@ -13184,7 +13350,7 @@ type Mem0Global = struct { // Default value of the hard heap limit. 0 means "no limit". // State information local to the memory allocation subsystem. -var mem0 = Mem0Global{Fmutex: uintptr(0), FalarmThreshold: int64(0), FhardLimit: int64(0), FnearlyFull: 0} /* sqlite3.c:27372:3 */ +var mem0 = Mem0Global{} /* sqlite3.c:27372:3 */ // Return the memory allocator mutex. sqlite3_status() needs it. func Xsqlite3MallocMutex(tls *libc.TLS) uintptr { /* sqlite3.c:27379:30: */ @@ -13913,31 +14079,169 @@ type Et_info = et_info /* sqlite3.c:28197:3 */ var aDigits = *(*[33]int8)(unsafe.Pointer(ts + 731 /* "0123456789ABCDEF..." */)) /* sqlite3.c:28210:19 */ var aPrefix = *(*[7]int8)(unsafe.Pointer(ts + 764 /* "-x0\x00X0" */)) /* sqlite3.c:28211:19 */ var fmtinfo = [23]Et_info{ - {Ffmttype: int8('d'), Fbase: EtByte(10), Fflags: EtByte(1), Ftype: EtByte(16), Fcharset: EtByte(0), Fprefix: EtByte(0)}, - {Ffmttype: int8('s'), Fbase: EtByte(0), Fflags: EtByte(4), Ftype: EtByte(5), Fcharset: EtByte(0), Fprefix: EtByte(0)}, - {Ffmttype: int8('g'), Fbase: EtByte(0), Fflags: EtByte(1), Ftype: EtByte(3), Fcharset: EtByte(30), Fprefix: EtByte(0)}, - {Ffmttype: int8('z'), Fbase: EtByte(0), Fflags: EtByte(4), Ftype: EtByte(6), Fcharset: EtByte(0), Fprefix: EtByte(0)}, - {Ffmttype: int8('q'), Fbase: EtByte(0), Fflags: EtByte(4), Ftype: EtByte(9), Fcharset: EtByte(0), Fprefix: EtByte(0)}, - {Ffmttype: int8('Q'), Fbase: EtByte(0), Fflags: EtByte(4), Ftype: EtByte(10), Fcharset: EtByte(0), Fprefix: EtByte(0)}, - {Ffmttype: int8('w'), Fbase: EtByte(0), Fflags: EtByte(4), Ftype: EtByte(14), Fcharset: EtByte(0), Fprefix: EtByte(0)}, - {Ffmttype: int8('c'), Fbase: EtByte(0), Fflags: EtByte(0), Ftype: EtByte(8), Fcharset: EtByte(0), Fprefix: EtByte(0)}, - {Ffmttype: int8('o'), Fbase: EtByte(8), Fflags: EtByte(0), Ftype: EtByte(0), Fcharset: EtByte(0), Fprefix: EtByte(2)}, - {Ffmttype: int8('u'), Fbase: EtByte(10), Fflags: EtByte(0), Ftype: EtByte(16), Fcharset: EtByte(0), Fprefix: EtByte(0)}, - {Ffmttype: int8('x'), Fbase: EtByte(16), Fflags: EtByte(0), Ftype: EtByte(0), Fcharset: EtByte(16), Fprefix: EtByte(1)}, - {Ffmttype: int8('X'), Fbase: EtByte(16), Fflags: EtByte(0), Ftype: EtByte(0), Fcharset: EtByte(0), Fprefix: EtByte(4)}, - {Ffmttype: int8('f'), Fbase: EtByte(0), Fflags: EtByte(1), Ftype: EtByte(1), Fcharset: EtByte(0), Fprefix: EtByte(0)}, - {Ffmttype: int8('e'), Fbase: EtByte(0), Fflags: EtByte(1), Ftype: EtByte(2), Fcharset: EtByte(30), Fprefix: EtByte(0)}, - {Ffmttype: int8('E'), Fbase: EtByte(0), Fflags: EtByte(1), Ftype: EtByte(2), Fcharset: EtByte(14), Fprefix: EtByte(0)}, - {Ffmttype: int8('G'), Fbase: EtByte(0), Fflags: EtByte(1), Ftype: EtByte(3), Fcharset: EtByte(14), Fprefix: EtByte(0)}, - {Ffmttype: int8('i'), Fbase: EtByte(10), Fflags: EtByte(1), Ftype: EtByte(16), Fcharset: EtByte(0), Fprefix: EtByte(0)}, - {Ffmttype: int8('n'), Fbase: EtByte(0), Fflags: EtByte(0), Ftype: EtByte(4), Fcharset: EtByte(0), Fprefix: EtByte(0)}, - {Ffmttype: int8('%'), Fbase: EtByte(0), Fflags: EtByte(0), Ftype: EtByte(7), Fcharset: EtByte(0), Fprefix: EtByte(0)}, - {Ffmttype: int8('p'), Fbase: EtByte(16), Fflags: EtByte(0), Ftype: EtByte(13), Fcharset: EtByte(0), Fprefix: EtByte(1)}, + { + Ffmttype: int8('d'), + Fbase: EtByte(10), + Fflags: EtByte(1), + Ftype: EtByte(16), + Fcharset: EtByte(0), + Fprefix: EtByte(0)}, + { + Ffmttype: int8('s'), + Fbase: EtByte(0), + Fflags: EtByte(4), + Ftype: EtByte(5), + Fcharset: EtByte(0), + Fprefix: EtByte(0)}, + { + Ffmttype: int8('g'), + Fbase: EtByte(0), + Fflags: EtByte(1), + Ftype: EtByte(3), + Fcharset: EtByte(30), + Fprefix: EtByte(0)}, + { + Ffmttype: int8('z'), + Fbase: EtByte(0), + Fflags: EtByte(4), + Ftype: EtByte(6), + Fcharset: EtByte(0), + Fprefix: EtByte(0)}, + { + Ffmttype: int8('q'), + Fbase: EtByte(0), + Fflags: EtByte(4), + Ftype: EtByte(9), + Fcharset: EtByte(0), + Fprefix: EtByte(0)}, + { + Ffmttype: int8('Q'), + Fbase: EtByte(0), + Fflags: EtByte(4), + Ftype: EtByte(10), + Fcharset: EtByte(0), + Fprefix: EtByte(0)}, + { + Ffmttype: int8('w'), + Fbase: EtByte(0), + Fflags: EtByte(4), + Ftype: EtByte(14), + Fcharset: EtByte(0), + Fprefix: EtByte(0)}, + { + Ffmttype: int8('c'), + Fbase: EtByte(0), + Fflags: EtByte(0), + Ftype: EtByte(8), + Fcharset: EtByte(0), + Fprefix: EtByte(0)}, + { + Ffmttype: int8('o'), + Fbase: EtByte(8), + Fflags: EtByte(0), + Ftype: EtByte(0), + Fcharset: EtByte(0), + Fprefix: EtByte(2)}, + { + Ffmttype: int8('u'), + Fbase: EtByte(10), + Fflags: EtByte(0), + Ftype: EtByte(16), + Fcharset: EtByte(0), + Fprefix: EtByte(0)}, + { + Ffmttype: int8('x'), + Fbase: EtByte(16), + Fflags: EtByte(0), + Ftype: EtByte(0), + Fcharset: EtByte(16), + Fprefix: EtByte(1)}, + { + Ffmttype: int8('X'), + Fbase: EtByte(16), + Fflags: EtByte(0), + Ftype: EtByte(0), + Fcharset: EtByte(0), + Fprefix: EtByte(4)}, + { + Ffmttype: int8('f'), + Fbase: EtByte(0), + Fflags: EtByte(1), + Ftype: EtByte(1), + Fcharset: EtByte(0), + Fprefix: EtByte(0)}, + { + Ffmttype: int8('e'), + Fbase: EtByte(0), + Fflags: EtByte(1), + Ftype: EtByte(2), + Fcharset: EtByte(30), + Fprefix: EtByte(0)}, + { + Ffmttype: int8('E'), + Fbase: EtByte(0), + Fflags: EtByte(1), + Ftype: EtByte(2), + Fcharset: EtByte(14), + Fprefix: EtByte(0)}, + { + Ffmttype: int8('G'), + Fbase: EtByte(0), + Fflags: EtByte(1), + Ftype: EtByte(3), + Fcharset: EtByte(14), + Fprefix: EtByte(0)}, + { + Ffmttype: int8('i'), + Fbase: EtByte(10), + Fflags: EtByte(1), + Ftype: EtByte(16), + Fcharset: EtByte(0), + Fprefix: EtByte(0)}, + { + Ffmttype: int8('n'), + Fbase: EtByte(0), + Fflags: EtByte(0), + Ftype: EtByte(4), + Fcharset: EtByte(0), + Fprefix: EtByte(0)}, + { + Ffmttype: int8('%'), + Fbase: EtByte(0), + Fflags: EtByte(0), + Ftype: EtByte(7), + Fcharset: EtByte(0), + Fprefix: EtByte(0)}, + { + Ffmttype: int8('p'), + Fbase: EtByte(16), + Fflags: EtByte(0), + Ftype: EtByte(13), + Fcharset: EtByte(0), + Fprefix: EtByte(1)}, // All the rest are undocumented and are for internal use only - {Ffmttype: int8('T'), Fbase: EtByte(0), Fflags: EtByte(0), Ftype: EtByte(11), Fcharset: EtByte(0), Fprefix: EtByte(0)}, - {Ffmttype: int8('S'), Fbase: EtByte(0), Fflags: EtByte(0), Ftype: EtByte(12), Fcharset: EtByte(0), Fprefix: EtByte(0)}, - {Ffmttype: int8('r'), Fbase: EtByte(10), Fflags: EtByte(1), Ftype: EtByte(15), Fcharset: EtByte(0), Fprefix: EtByte(0)}, + { + Ffmttype: int8('T'), + Fbase: EtByte(0), + Fflags: EtByte(0), + Ftype: EtByte(11), + Fcharset: EtByte(0), + Fprefix: EtByte(0)}, + { + Ffmttype: int8('S'), + Fbase: EtByte(0), + Fflags: EtByte(0), + Ftype: EtByte(12), + Fcharset: EtByte(0), + Fprefix: EtByte(0)}, + { + Ffmttype: int8('r'), + Fbase: EtByte(10), + Fflags: EtByte(1), + Ftype: EtByte(15), + Fcharset: EtByte(0), + Fprefix: EtByte(0)}, } /* sqlite3.c:28212:22 */ // Floating point constants used for rounding @@ -15609,7 +15913,15 @@ func Xsqlite3StrAccumFinish(tls *libc.TLS, p uintptr) uintptr { /* sqlite3.c:291 // sqlite3_malloc() fails to provide space for a real one. This // sqlite3_str object accepts no new text and always returns // an SQLITE_NOMEM error. -var sqlite3OomStr = Sqlite3_str{Fdb: uintptr(0), FzText: uintptr(0), FnAlloc: U32(0), FmxAlloc: U32(0), FnChar: U32(0), FaccError: U8(7), FprintfFlags: U8(0)} /* sqlite3.c:29185:20 */ +var sqlite3OomStr = Sqlite3_str{ + Fdb: uintptr(0), + FzText: uintptr(0), + FnAlloc: U32(0), + FmxAlloc: U32(0), + FnChar: U32(0), + FaccError: U8(7), + FprintfFlags: U8(0), +} /* sqlite3.c:29185:20 */ // Finalize a string created using sqlite3_str_new(). func Xsqlite3_str_finish(tls *libc.TLS, p uintptr) uintptr { /* sqlite3.c:29191:17: */ @@ -18906,7 +19218,7 @@ func findElementWithHash(tls *libc.TLS, pH uintptr, pKey uintptr, pHash uintptr) return uintptr(unsafe.Pointer(&nullElement)) } -var nullElement = HashElem{Fnext: uintptr(0), Fprev: uintptr(0), Fdata: uintptr(0), FpKey: uintptr(0)} /* sqlite3.c:33038:19 */ +var nullElement = HashElem{} /* sqlite3.c:33038:19 */ // Remove a single entry from the hash table given a pointer to that // element and a hash on the element's key. @@ -20539,67 +20851,154 @@ 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 + 4395 /* "open" */, FpCurrent: 0, FpDefault: uintptr(0)}, + { + FzName: ts + 4395, /* "open" */ + FpCurrent: 0, + FpDefault: uintptr(0)}, - {FzName: ts + 4400 /* "close" */, FpCurrent: 0, FpDefault: uintptr(0)}, + { + FzName: ts + 4400, /* "close" */ + FpCurrent: 0, + FpDefault: uintptr(0)}, - {FzName: ts + 4406 /* "access" */, FpCurrent: 0, FpDefault: uintptr(0)}, + { + FzName: ts + 4406, /* "access" */ + FpCurrent: 0, + FpDefault: uintptr(0)}, - {FzName: ts + 4413 /* "getcwd" */, FpCurrent: 0, FpDefault: uintptr(0)}, + { + FzName: ts + 4413, /* "getcwd" */ + FpCurrent: 0, + FpDefault: uintptr(0)}, - {FzName: ts + 4420 /* "stat" */, FpCurrent: 0, FpDefault: uintptr(0)}, + { + FzName: ts + 4420, /* "stat" */ + FpCurrent: 0, + FpDefault: uintptr(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 + 4425 /* "fstat" */, FpCurrent: 0, FpDefault: uintptr(0)}, + { + FzName: ts + 4425, /* "fstat" */ + FpCurrent: 0, + FpDefault: uintptr(0)}, - {FzName: ts + 4431 /* "ftruncate" */, FpCurrent: 0, FpDefault: uintptr(0)}, + { + FzName: ts + 4431, /* "ftruncate" */ + FpCurrent: 0, + FpDefault: uintptr(0)}, - {FzName: ts + 4441 /* "fcntl" */, FpCurrent: 0, FpDefault: uintptr(0)}, + { + FzName: ts + 4441, /* "fcntl" */ + FpCurrent: 0, + FpDefault: uintptr(0)}, - {FzName: ts + 4447 /* "read" */, FpCurrent: 0, FpDefault: uintptr(0)}, + { + FzName: ts + 4447, /* "read" */ + FpCurrent: 0, + FpDefault: uintptr(0)}, - {FzName: ts + 4452 /* "pread" */, FpCurrent: uintptr(0), FpDefault: uintptr(0)}, + { + FzName: ts + 4452, /* "pread" */ + FpCurrent: uintptr(0), + FpDefault: uintptr(0)}, - {FzName: ts + 4458 /* "pread64" */, FpCurrent: uintptr(0), FpDefault: uintptr(0)}, + { + FzName: ts + 4458, /* "pread64" */ + FpCurrent: uintptr(0), + FpDefault: uintptr(0)}, - {FzName: ts + 4466 /* "write" */, FpCurrent: 0, FpDefault: uintptr(0)}, + { + FzName: ts + 4466, /* "write" */ + FpCurrent: 0, + FpDefault: uintptr(0)}, - {FzName: ts + 4472 /* "pwrite" */, FpCurrent: uintptr(0), FpDefault: uintptr(0)}, + { + FzName: ts + 4472, /* "pwrite" */ + FpCurrent: uintptr(0), + FpDefault: uintptr(0)}, - {FzName: ts + 4479 /* "pwrite64" */, FpCurrent: uintptr(0), FpDefault: uintptr(0)}, + { + FzName: ts + 4479, /* "pwrite64" */ + FpCurrent: uintptr(0), + FpDefault: uintptr(0)}, - {FzName: ts + 4488 /* "fchmod" */, FpCurrent: 0, FpDefault: uintptr(0)}, + { + FzName: ts + 4488, /* "fchmod" */ + FpCurrent: 0, + FpDefault: uintptr(0)}, - {FzName: ts + 4495 /* "fallocate" */, FpCurrent: uintptr(0), FpDefault: uintptr(0)}, + { + FzName: ts + 4495, /* "fallocate" */ + FpCurrent: uintptr(0), + FpDefault: uintptr(0)}, - {FzName: ts + 4505 /* "unlink" */, FpCurrent: 0, FpDefault: uintptr(0)}, + { + FzName: ts + 4505, /* "unlink" */ + FpCurrent: 0, + FpDefault: uintptr(0)}, - {FzName: ts + 4512 /* "openDirectory" */, FpCurrent: 0, FpDefault: uintptr(0)}, + { + FzName: ts + 4512, /* "openDirectory" */ + FpCurrent: 0, + FpDefault: uintptr(0)}, - {FzName: ts + 4526 /* "mkdir" */, FpCurrent: 0, FpDefault: uintptr(0)}, + { + FzName: ts + 4526, /* "mkdir" */ + FpCurrent: 0, + FpDefault: uintptr(0)}, - {FzName: ts + 4532 /* "rmdir" */, FpCurrent: 0, FpDefault: uintptr(0)}, + { + FzName: ts + 4532, /* "rmdir" */ + FpCurrent: 0, + FpDefault: uintptr(0)}, - {FzName: ts + 4538 /* "fchown" */, FpCurrent: 0, FpDefault: uintptr(0)}, + { + FzName: ts + 4538, /* "fchown" */ + FpCurrent: 0, + FpDefault: uintptr(0)}, - {FzName: ts + 4545 /* "geteuid" */, FpCurrent: 0, FpDefault: uintptr(0)}, + { + FzName: ts + 4545, /* "geteuid" */ + FpCurrent: 0, + FpDefault: uintptr(0)}, - {FzName: ts + 4553 /* "mmap" */, FpCurrent: 0, FpDefault: uintptr(0)}, + { + FzName: ts + 4553, /* "mmap" */ + FpCurrent: 0, + FpDefault: uintptr(0)}, - {FzName: ts + 4558 /* "munmap" */, FpCurrent: 0, FpDefault: uintptr(0)}, + { + FzName: ts + 4558, /* "munmap" */ + FpCurrent: 0, + FpDefault: uintptr(0)}, - {FzName: ts + 4565 /* "mremap" */, FpCurrent: uintptr(0), FpDefault: uintptr(0)}, + { + FzName: ts + 4565, /* "mremap" */ + FpCurrent: uintptr(0), + FpDefault: uintptr(0)}, - {FzName: ts + 4572 /* "getpagesize" */, FpCurrent: 0, FpDefault: uintptr(0)}, + { + FzName: ts + 4572, /* "getpagesize" */ + FpCurrent: 0, + FpDefault: uintptr(0)}, - {FzName: ts + 4584 /* "readlink" */, FpCurrent: 0, FpDefault: uintptr(0)}, + { + FzName: ts + 4584, /* "readlink" */ + FpCurrent: 0, + FpDefault: uintptr(0)}, - {FzName: ts + 4593 /* "lstat" */, FpCurrent: 0, FpDefault: uintptr(0)}, + { + FzName: ts + 4593, /* "lstat" */ + FpCurrent: 0, + FpDefault: uintptr(0)}, - {FzName: ts + 4599 /* "ioctl" */, FpCurrent: uintptr(0), FpDefault: uintptr(0)}, + { + FzName: ts + 4599, /* "ioctl" */ + FpCurrent: uintptr(0), + FpDefault: uintptr(0)}, } /* sqlite3.c:33935:3 */ // End of the overrideable system calls // On some systems, calls to fchown() will trigger a message in a security @@ -23740,23 +24139,80 @@ func unixUnfetch(tls *libc.TLS, fd uintptr, iOff I64, p uintptr) int32 { /* sqli // Here are all of the sqlite3_io_methods objects for each of the // locking strategies. Functions that return pointers to these methods // are also created. -var posixIoMethods = Sqlite3_io_methods{FiVersion: 3, FxClose: /* iVersion */ 0, FxRead: /* xClose */ 0, FxWrite: /* xRead */ 0, FxTruncate: /* xWrite */ 0, FxSync: /* xTruncate */ 0, FxFileSize: /* xSync */ 0, FxLock: /* xFileSize */ 0, FxUnlock: /* xLock */ 0, FxCheckReservedLock: /* xUnlock */ 0, FxFileControl: /* xCheckReservedLock */ 0, FxSectorSize: /* xFileControl */ 0, FxDeviceCharacteristics: /* xSectorSize */ 0, FxShmMap: /* xDeviceCapabilities */ 0, FxShmLock: /* xShmMap */ 0, FxShmBarrier: /* xShmLock */ 0, FxShmUnmap: /* xShmBarrier */ 0, FxFetch: /* xShmUnmap */ 0, FxUnfetch: /* xFetch */ 0 /* xUnfetch */} /* sqlite3.c:38850:1 */ +var posixIoMethods = Sqlite3_io_methods{ + FiVersion: 3, + FxClose:/* iVersion */ 0, + FxRead:/* xClose */ 0, + FxWrite:/* xRead */ 0, + FxTruncate:/* xWrite */ 0, + FxSync:/* xTruncate */ 0, + FxFileSize:/* xSync */ 0, + FxLock:/* xFileSize */ 0, + FxUnlock:/* xLock */ 0, + FxCheckReservedLock:/* xUnlock */ 0, + FxFileControl:/* xCheckReservedLock */ 0, + FxSectorSize:/* xFileControl */ 0, + FxDeviceCharacteristics:/* xSectorSize */ 0, + FxShmMap:/* xDeviceCapabilities */ 0, + FxShmLock:/* xShmMap */ 0, + FxShmBarrier:/* xShmLock */ 0, + FxShmUnmap:/* xShmBarrier */ 0, + FxFetch:/* xShmUnmap */ 0, + FxUnfetch:/* xFetch */ 0 /* xUnfetch */} /* sqlite3.c:38850:1 */ func posixIoFinderImpl(tls *libc.TLS, z uintptr, p uintptr) uintptr { /* sqlite3.c:38850:1: */ _ = z _ = p return uintptr(unsafe.Pointer(&posixIoMethods)) } -var posixIoFinder uintptr = 0 /* sqlite3.c:38850:1 */ -var nolockIoMethods = Sqlite3_io_methods{FiVersion: 3, FxClose: /* iVersion */ 0, FxRead: /* xClose */ 0, FxWrite: /* xRead */ 0, FxTruncate: /* xWrite */ 0, FxSync: /* xTruncate */ 0, FxFileSize: /* xSync */ 0, FxLock: /* xFileSize */ 0, FxUnlock: /* xLock */ 0, FxCheckReservedLock: /* xUnlock */ 0, FxFileControl: /* xCheckReservedLock */ 0, FxSectorSize: /* xFileControl */ 0, FxDeviceCharacteristics: /* xSectorSize */ 0, FxShmMap: /* xDeviceCapabilities */ uintptr(0), FxShmLock: /* xShmMap */ 0, FxShmBarrier: /* xShmLock */ 0, FxShmUnmap: /* xShmBarrier */ 0, FxFetch: /* xShmUnmap */ 0, FxUnfetch: /* xFetch */ 0 /* xUnfetch */} /* sqlite3.c:38860:1 */ +var posixIoFinder uintptr = 0 /* sqlite3.c:38850:1 */ +var nolockIoMethods = Sqlite3_io_methods{ + FiVersion: 3, + FxClose:/* iVersion */ 0, + FxRead:/* xClose */ 0, + FxWrite:/* xRead */ 0, + FxTruncate:/* xWrite */ 0, + FxSync:/* xTruncate */ 0, + FxFileSize:/* xSync */ 0, + FxLock:/* xFileSize */ 0, + FxUnlock:/* xLock */ 0, + FxCheckReservedLock:/* xUnlock */ 0, + FxFileControl:/* xCheckReservedLock */ 0, + FxSectorSize:/* xFileControl */ 0, + FxDeviceCharacteristics:/* xSectorSize */ 0, + FxShmMap:/* xDeviceCapabilities */ uintptr(0), + FxShmLock:/* xShmMap */ 0, + FxShmBarrier:/* xShmLock */ 0, + FxShmUnmap:/* xShmBarrier */ 0, + FxFetch:/* xShmUnmap */ 0, + FxUnfetch:/* xFetch */ 0 /* xUnfetch */} /* sqlite3.c:38860:1 */ func nolockIoFinderImpl(tls *libc.TLS, z uintptr, p uintptr) uintptr { /* sqlite3.c:38860:1: */ _ = z _ = p return uintptr(unsafe.Pointer(&nolockIoMethods)) } -var nolockIoFinder uintptr = 0 /* sqlite3.c:38860:1 */ -var dotlockIoMethods = Sqlite3_io_methods{FiVersion: 1, FxClose: /* iVersion */ 0, FxRead: /* xClose */ 0, FxWrite: /* xRead */ 0, FxTruncate: /* xWrite */ 0, FxSync: /* xTruncate */ 0, FxFileSize: /* xSync */ 0, FxLock: /* xFileSize */ 0, FxUnlock: /* xLock */ 0, FxCheckReservedLock: /* xUnlock */ 0, FxFileControl: /* xCheckReservedLock */ 0, FxSectorSize: /* xFileControl */ 0, FxDeviceCharacteristics: /* xSectorSize */ 0, FxShmMap: /* xDeviceCapabilities */ uintptr(0), FxShmLock: /* xShmMap */ 0, FxShmBarrier: /* xShmLock */ 0, FxShmUnmap: /* xShmBarrier */ 0, FxFetch: /* xShmUnmap */ 0, FxUnfetch: /* xFetch */ 0 /* xUnfetch */} /* sqlite3.c:38870:1 */ +var nolockIoFinder uintptr = 0 /* sqlite3.c:38860:1 */ +var dotlockIoMethods = Sqlite3_io_methods{ + FiVersion: 1, + FxClose:/* iVersion */ 0, + FxRead:/* xClose */ 0, + FxWrite:/* xRead */ 0, + FxTruncate:/* xWrite */ 0, + FxSync:/* xTruncate */ 0, + FxFileSize:/* xSync */ 0, + FxLock:/* xFileSize */ 0, + FxUnlock:/* xLock */ 0, + FxCheckReservedLock:/* xUnlock */ 0, + FxFileControl:/* xCheckReservedLock */ 0, + FxSectorSize:/* xFileControl */ 0, + FxDeviceCharacteristics:/* xSectorSize */ 0, + FxShmMap:/* xDeviceCapabilities */ uintptr(0), + FxShmLock:/* xShmMap */ 0, + FxShmBarrier:/* xShmLock */ 0, + FxShmUnmap:/* xShmBarrier */ 0, + FxFetch:/* xShmUnmap */ 0, + FxUnfetch:/* xFetch */ 0 /* xUnfetch */} /* sqlite3.c:38870:1 */ func dotlockIoFinderImpl(tls *libc.TLS, z uintptr, p uintptr) uintptr { /* sqlite3.c:38870:1: */ _ = z _ = p @@ -24949,10 +25405,98 @@ func Xsqlite3_os_init(tls *libc.TLS) int32 { /* sqlite3.c:41379:16: */ } var aVfs = [4]Sqlite3_vfs{ - {FiVersion: 3, FszOsFile: /* iVersion */ int32(unsafe.Sizeof(UnixFile{})), FmxPathname: /* szOsFile */ 512, FpNext: /* mxPathname */ uintptr(0), FzName: /* pNext */ ts + 5459 /* "unix" */, FpAppData: /* zName */ 0, FxOpen: /* pAppData */ 0, FxDelete: /* xOpen */ 0, FxAccess: /* xDelete */ 0, FxFullPathname: /* xAccess */ 0, FxDlOpen: /* xFullPathname */ 0, FxDlError: /* xDlOpen */ 0, FxDlSym: /* xDlError */ 0, FxDlClose: /* xDlSym */ 0, FxRandomness: /* xDlClose */ 0, FxSleep: /* xRandomness */ 0, FxCurrentTime: /* xSleep */ 0, FxGetLastError: /* xCurrentTime */ 0, FxCurrentTimeInt64: /* xGetLastError */ 0, FxSetSystemCall: /* xCurrentTimeInt64 */ 0, FxGetSystemCall: /* xSetSystemCall */ 0, FxNextSystemCall: /* xGetSystemCall */ 0 /* xNextSystemCall */}, - {FiVersion: 3, FszOsFile: /* iVersion */ int32(unsafe.Sizeof(UnixFile{})), FmxPathname: /* szOsFile */ 512, FpNext: /* mxPathname */ uintptr(0), FzName: /* pNext */ ts + 5464 /* "unix-none" */, FpAppData: /* zName */ 0, FxOpen: /* pAppData */ 0, FxDelete: /* xOpen */ 0, FxAccess: /* xDelete */ 0, FxFullPathname: /* xAccess */ 0, FxDlOpen: /* xFullPathname */ 0, FxDlError: /* xDlOpen */ 0, FxDlSym: /* xDlError */ 0, FxDlClose: /* xDlSym */ 0, FxRandomness: /* xDlClose */ 0, FxSleep: /* xRandomness */ 0, FxCurrentTime: /* xSleep */ 0, FxGetLastError: /* xCurrentTime */ 0, FxCurrentTimeInt64: /* xGetLastError */ 0, FxSetSystemCall: /* xCurrentTimeInt64 */ 0, FxGetSystemCall: /* xSetSystemCall */ 0, FxNextSystemCall: /* xGetSystemCall */ 0 /* xNextSystemCall */}, - {FiVersion: 3, FszOsFile: /* iVersion */ int32(unsafe.Sizeof(UnixFile{})), FmxPathname: /* szOsFile */ 512, FpNext: /* mxPathname */ uintptr(0), FzName: /* pNext */ ts + 5474 /* "unix-dotfile" */, FpAppData: /* zName */ 0, FxOpen: /* pAppData */ 0, FxDelete: /* xOpen */ 0, FxAccess: /* xDelete */ 0, FxFullPathname: /* xAccess */ 0, FxDlOpen: /* xFullPathname */ 0, FxDlError: /* xDlOpen */ 0, FxDlSym: /* xDlError */ 0, FxDlClose: /* xDlSym */ 0, FxRandomness: /* xDlClose */ 0, FxSleep: /* xRandomness */ 0, FxCurrentTime: /* xSleep */ 0, FxGetLastError: /* xCurrentTime */ 0, FxCurrentTimeInt64: /* xGetLastError */ 0, FxSetSystemCall: /* xCurrentTimeInt64 */ 0, FxGetSystemCall: /* xSetSystemCall */ 0, FxNextSystemCall: /* xGetSystemCall */ 0 /* xNextSystemCall */}, - {FiVersion: 3, FszOsFile: /* iVersion */ int32(unsafe.Sizeof(UnixFile{})), FmxPathname: /* szOsFile */ 512, FpNext: /* mxPathname */ uintptr(0), FzName: /* pNext */ ts + 5346 /* "unix-excl" */, FpAppData: /* zName */ 0, FxOpen: /* pAppData */ 0, FxDelete: /* xOpen */ 0, FxAccess: /* xDelete */ 0, FxFullPathname: /* xAccess */ 0, FxDlOpen: /* xFullPathname */ 0, FxDlError: /* xDlOpen */ 0, FxDlSym: /* xDlError */ 0, FxDlClose: /* xDlSym */ 0, FxRandomness: /* xDlClose */ 0, FxSleep: /* xRandomness */ 0, FxCurrentTime: /* xSleep */ 0, FxGetLastError: /* xCurrentTime */ 0, FxCurrentTimeInt64: /* xGetLastError */ 0, FxSetSystemCall: /* xCurrentTimeInt64 */ 0, FxGetSystemCall: /* xSetSystemCall */ 0, FxNextSystemCall: /* xGetSystemCall */ 0 /* xNextSystemCall */}, + { + FiVersion: 3, + FszOsFile:/* iVersion */ int32(unsafe.Sizeof(UnixFile{})), + FmxPathname:/* szOsFile */ 512, + FpNext:/* mxPathname */ uintptr(0), + FzName:/* pNext */ ts + 5459, /* "unix" */ + FpAppData:/* zName */ 0, + FxOpen:/* pAppData */ 0, + FxDelete:/* xOpen */ 0, + FxAccess:/* xDelete */ 0, + FxFullPathname:/* xAccess */ 0, + FxDlOpen:/* xFullPathname */ 0, + FxDlError:/* xDlOpen */ 0, + FxDlSym:/* xDlError */ 0, + FxDlClose:/* xDlSym */ 0, + FxRandomness:/* xDlClose */ 0, + FxSleep:/* xRandomness */ 0, + FxCurrentTime:/* xSleep */ 0, + FxGetLastError:/* xCurrentTime */ 0, + FxCurrentTimeInt64:/* xGetLastError */ 0, + FxSetSystemCall:/* xCurrentTimeInt64 */ 0, + FxGetSystemCall:/* xSetSystemCall */ 0, + FxNextSystemCall:/* xGetSystemCall */ 0 /* xNextSystemCall */}, + { + FiVersion: 3, + FszOsFile:/* iVersion */ int32(unsafe.Sizeof(UnixFile{})), + FmxPathname:/* szOsFile */ 512, + FpNext:/* mxPathname */ uintptr(0), + FzName:/* pNext */ ts + 5464, /* "unix-none" */ + FpAppData:/* zName */ 0, + FxOpen:/* pAppData */ 0, + FxDelete:/* xOpen */ 0, + FxAccess:/* xDelete */ 0, + FxFullPathname:/* xAccess */ 0, + FxDlOpen:/* xFullPathname */ 0, + FxDlError:/* xDlOpen */ 0, + FxDlSym:/* xDlError */ 0, + FxDlClose:/* xDlSym */ 0, + FxRandomness:/* xDlClose */ 0, + FxSleep:/* xRandomness */ 0, + FxCurrentTime:/* xSleep */ 0, + FxGetLastError:/* xCurrentTime */ 0, + FxCurrentTimeInt64:/* xGetLastError */ 0, + FxSetSystemCall:/* xCurrentTimeInt64 */ 0, + FxGetSystemCall:/* xSetSystemCall */ 0, + FxNextSystemCall:/* xGetSystemCall */ 0 /* xNextSystemCall */}, + { + FiVersion: 3, + FszOsFile:/* iVersion */ int32(unsafe.Sizeof(UnixFile{})), + FmxPathname:/* szOsFile */ 512, + FpNext:/* mxPathname */ uintptr(0), + FzName:/* pNext */ ts + 5474, /* "unix-dotfile" */ + FpAppData:/* zName */ 0, + FxOpen:/* pAppData */ 0, + FxDelete:/* xOpen */ 0, + FxAccess:/* xDelete */ 0, + FxFullPathname:/* xAccess */ 0, + FxDlOpen:/* xFullPathname */ 0, + FxDlError:/* xDlOpen */ 0, + FxDlSym:/* xDlError */ 0, + FxDlClose:/* xDlSym */ 0, + FxRandomness:/* xDlClose */ 0, + FxSleep:/* xRandomness */ 0, + FxCurrentTime:/* xSleep */ 0, + FxGetLastError:/* xCurrentTime */ 0, + FxCurrentTimeInt64:/* xGetLastError */ 0, + FxSetSystemCall:/* xCurrentTimeInt64 */ 0, + FxGetSystemCall:/* xSetSystemCall */ 0, + FxNextSystemCall:/* xGetSystemCall */ 0 /* xNextSystemCall */}, + { + FiVersion: 3, + FszOsFile:/* iVersion */ int32(unsafe.Sizeof(UnixFile{})), + FmxPathname:/* szOsFile */ 512, + FpNext:/* mxPathname */ uintptr(0), + FzName:/* pNext */ ts + 5346, /* "unix-excl" */ + FpAppData:/* zName */ 0, + FxOpen:/* pAppData */ 0, + FxDelete:/* xOpen */ 0, + FxAccess:/* xDelete */ 0, + FxFullPathname:/* xAccess */ 0, + FxDlOpen:/* xFullPathname */ 0, + FxDlError:/* xDlOpen */ 0, + FxDlSym:/* xDlError */ 0, + FxDlClose:/* xDlSym */ 0, + FxRandomness:/* xDlClose */ 0, + FxSleep:/* xRandomness */ 0, + FxCurrentTime:/* xSleep */ 0, + FxGetLastError:/* xCurrentTime */ 0, + FxCurrentTimeInt64:/* xGetLastError */ 0, + FxSetSystemCall:/* xCurrentTimeInt64 */ 0, + FxGetSystemCall:/* xSetSystemCall */ 0, + FxNextSystemCall:/* xGetSystemCall */ 0 /* xNextSystemCall */}, } /* sqlite3.c:41432:22 */ // Shutdown the operating system interface. @@ -25017,46 +25561,84 @@ type MemFile1 = struct { type MemFile = MemFile1 /* sqlite3.c:47864:24 */ -var memdb_vfs = Sqlite3_vfs{FiVersion: 2, FszOsFile: // iVersion -0, FmxPathname:// szOsFile (set when registered) -1024, FpNext:// mxPathname -uintptr(0), FzName:// pNext -ts + 5487, /* "memdb" */ FpAppData:// zName -uintptr(0), FxOpen:// pAppData (set when registered) -0, FxDelete:// xOpen -uintptr(0), FxAccess:/* memdbDelete, */ // xDelete -0, FxFullPathname:// xAccess -0, FxDlOpen:// xFullPathname -0, FxDlError:// xDlOpen -0, FxDlSym:// xDlError -0, FxDlClose:// xDlSym -0, FxRandomness:// xDlClose -0, FxSleep:// xRandomness -0, FxCurrentTime:// xSleep -uintptr(0), FxGetLastError:/* memdbCurrentTime, */ // xCurrentTime -0, FxCurrentTimeInt64:// xGetLastError -0, // xCurrentTimeInt64 +var memdb_vfs = Sqlite3_vfs{ + FiVersion: 2, + FszOsFile:// iVersion + 0, + FmxPathname:// szOsFile (set when registered) + 1024, + FpNext:// mxPathname + uintptr(0), + FzName:// pNext + ts + 5487, /* "memdb" */ + FpAppData:// zName + uintptr(0), + FxOpen:// pAppData (set when registered) + 0, + FxDelete:// xOpen + uintptr(0), + FxAccess:/* memdbDelete, */ // xDelete + 0, + FxFullPathname:// xAccess + 0, + FxDlOpen:// xFullPathname + 0, + FxDlError:// xDlOpen + 0, + FxDlSym:// xDlError + 0, + FxDlClose:// xDlSym + 0, + FxRandomness:// xDlClose + 0, + FxSleep:// xRandomness + 0, + FxCurrentTime:// xSleep + uintptr(0), + FxGetLastError:/* memdbCurrentTime, */ // xCurrentTime + 0, + FxCurrentTimeInt64:// xGetLastError + 0, // xCurrentTimeInt64 } /* sqlite3.c:47917:20 */ -var memdb_io_methods = Sqlite3_io_methods{FiVersion: 3, FxClose: // iVersion -0, FxRead:// xClose -0, FxWrite:// xRead -0, FxTruncate:// xWrite -0, FxSync:// xTruncate -0, FxFileSize:// xSync -0, FxLock:// xFileSize -0, FxUnlock:// xLock -0, FxCheckReservedLock:// xUnlock - same as xLock in this case -uintptr(0), FxFileControl:/* memdbCheckReservedLock, */ // xCheckReservedLock -0, FxSectorSize:// xFileControl -uintptr(0), FxDeviceCharacteristics:/* memdbSectorSize,*/ // xSectorSize -0, FxShmMap:// xDeviceCharacteristics -uintptr(0), FxShmLock:// xShmMap -uintptr(0), FxShmBarrier:// xShmLock -uintptr(0), FxShmUnmap:// xShmBarrier -uintptr(0), FxFetch:// xShmUnmap -0, FxUnfetch:// xFetch -0, // xUnfetch +var memdb_io_methods = Sqlite3_io_methods{ + FiVersion: 3, + FxClose:// iVersion + 0, + FxRead:// xClose + 0, + FxWrite:// xRead + 0, + FxTruncate:// xWrite + 0, + FxSync:// xTruncate + 0, + FxFileSize:// xSync + 0, + FxLock:// xFileSize + 0, + FxUnlock:// xLock + 0, + FxCheckReservedLock:// xUnlock - same as xLock in this case + uintptr(0), + FxFileControl:/* memdbCheckReservedLock, */ // xCheckReservedLock + 0, + FxSectorSize:// xFileControl + uintptr(0), + FxDeviceCharacteristics:/* memdbSectorSize,*/ // xSectorSize + 0, + FxShmMap:// xDeviceCharacteristics + uintptr(0), + FxShmLock:// xShmMap + uintptr(0), + FxShmBarrier:// xShmLock + uintptr(0), + FxShmUnmap:// xShmBarrier + uintptr(0), + FxFetch:// xShmUnmap + 0, + FxUnfetch:// xFetch + 0, // xUnfetch } /* sqlite3.c:47939:33 */ // Close an memdb-file. @@ -27596,19 +28178,32 @@ func Xsqlite3PCacheSetDefault(tls *libc.TLS) { /* sqlite3.c:50952:21: */ Xsqlite3_config(tls, 18, libc.VaList(bp, uintptr(unsafe.Pointer(&defaultMethods1)))) } -var defaultMethods1 = Sqlite3_pcache_methods2{FiVersion: 1, FpArg: // iVersion -uintptr(0), FxInit:// pArg -0, FxShutdown:// xInit -0, FxCreate:// xShutdown -0, FxCachesize:// xCreate -0, FxPagecount:// xCachesize -0, FxFetch:// xPagecount -0, FxUnpin:// xFetch -0, FxRekey:// xUnpin -0, FxTruncate:// xRekey -0, FxDestroy:// xTruncate -0, FxShrink:// xDestroy -0, // xShrink +var defaultMethods1 = Sqlite3_pcache_methods2{ + FiVersion: 1, + FpArg:// iVersion + uintptr(0), + FxInit:// pArg + 0, + FxShutdown:// xInit + 0, + FxCreate:// xShutdown + 0, + FxCachesize:// xCreate + 0, + FxPagecount:// xCachesize + 0, + FxFetch:// xPagecount + 0, + FxUnpin:// xFetch + 0, + FxRekey:// xUnpin + 0, + FxTruncate:// xRekey + 0, + FxDestroy:// xTruncate + 0, + FxShrink:// xDestroy + 0, // xShrink } /* sqlite3.c:50953:40 */ // Return the size of the header on each page of this PCACHE implementation. @@ -55310,7 +55905,7 @@ func Xsqlite3VdbeList(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:79840:20: * // Loop counter var rc int32 = 0 // Return code var pMem uintptr = ((*Vdbe)(unsafe.Pointer(p)).FaMem + uintptr(1)*56) // First Mem of result set - var bListSubprogs int32 = (libc.Bool32((int32(*(*uint16)(unsafe.Pointer(p + 200 /* &.explain */))&0xc>>2) == 1) || (((*Sqlite3)(unsafe.Pointer(db)).Fflags & uint64(0x01000000)) != uint64(0)))) + var bListSubprogs int32 = (libc.Bool32(((int32(*(*uint16)(unsafe.Pointer(p + 200 /* &.explain */)) & 0xc >> 2)) == 1) || (((*Sqlite3)(unsafe.Pointer(db)).Fflags & uint64(0x01000000)) != uint64(0)))) // var aOp uintptr at bp+8, 8 // Array of opcodes var pOp uintptr // Current opcode @@ -55340,7 +55935,7 @@ func Xsqlite3VdbeList(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:79840:20: * } // Figure out which opcode is next to display - rc = Xsqlite3VdbeNextOpcode(tls, p, pSub, (libc.Bool32(int32(*(*uint16)(unsafe.Pointer(p + 200 /* &.explain */))&0xc>>2) == 2)), (p + 52 /* &.pc */), bp /* &i */, bp+8 /* &aOp */) + rc = Xsqlite3VdbeNextOpcode(tls, p, pSub, (libc.Bool32((int32(*(*uint16)(unsafe.Pointer(p + 200 /* &.explain */)) & 0xc >> 2)) == 2)), (p + 52 /* &.pc */), bp /* &i */, bp+8 /* &aOp */) if rc == 0 { pOp = (*(*uintptr)(unsafe.Pointer(bp + 8 /* aOp */)) + uintptr(*(*int32)(unsafe.Pointer(bp /* i */)))*32) @@ -55350,7 +55945,7 @@ func Xsqlite3VdbeList(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:79840:20: * Xsqlite3VdbeError(tls, p, Xsqlite3ErrStr(tls, (*Vdbe)(unsafe.Pointer(p)).Frc), 0) } else { var zP4 uintptr = Xsqlite3VdbeDisplayP4(tls, db, pOp) - if int32(*(*uint16)(unsafe.Pointer(p + 200 /* &.explain */))&0xc>>2) == 2 { + if (int32(*(*uint16)(unsafe.Pointer(p + 200 /* &.explain */)) & 0xc >> 2)) == 2 { Xsqlite3VdbeMemSetInt64(tls, pMem, int64((*Op)(unsafe.Pointer(pOp)).Fp1)) Xsqlite3VdbeMemSetInt64(tls, (pMem + uintptr(1)*56), int64((*Op)(unsafe.Pointer(pOp)).Fp2)) Xsqlite3VdbeMemSetInt64(tls, (pMem + uintptr(2)*56), int64((*Op)(unsafe.Pointer(pOp)).Fp3)) @@ -55583,7 +56178,7 @@ func Xsqlite3VdbeFreeCursor(tls *libc.TLS, p uintptr, pCx uintptr) { /* sqlite3. } case 0: { - if Bool(int32(*(*uint8)(unsafe.Pointer(pCx + 8 /* &.isEphemeral */))&0x1>>0)) != 0 { + if (Bool(int32(*(*uint8)(unsafe.Pointer(pCx + 8 /* &.isEphemeral */)) & 0x1 >> 0))) != 0 { if (*VdbeCursor)(unsafe.Pointer(pCx)).FpBtx != 0 { Xsqlite3BtreeClose(tls, (*VdbeCursor)(unsafe.Pointer(pCx)).FpBtx) } @@ -56075,7 +56670,7 @@ func Xsqlite3VdbeHalt(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:80761:20: * // No commit or rollback needed if the program never started or if the // SQL statement does not read or write a database file. - if ((*Vdbe)(unsafe.Pointer(p)).Fpc >= 0) && (Bft(int32(*(*uint16)(unsafe.Pointer(p + 200 /* &.bIsReader */))&0x100>>8)) != 0) { + if ((*Vdbe)(unsafe.Pointer(p)).Fpc >= 0) && ((Bft(int32(*(*uint16)(unsafe.Pointer(p + 200 /* &.bIsReader */)) & 0x100 >> 8))) != 0) { var mrc int32 // Primary error code from p->rc var eStatementOp int32 = 0 var isSpecialError int32 // Set to true if a 'special' error @@ -56099,8 +56694,8 @@ func Xsqlite3VdbeHalt(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:80761:20: * // file as part of an effort to free up cache space (see function // pagerStress() in pager.c), the rollback is required to restore // the pager to a consistent state. - if !(int32(*(*uint16)(unsafe.Pointer(p + 200 /* &.readOnly */))&0x80>>7) != 0) || (mrc != 9) { - if ((mrc == 7) || (mrc == 13)) && (Bft(int32(*(*uint16)(unsafe.Pointer(p + 200 /* &.usesStmtJournal */))&0x40>>6)) != 0) { + if !((int32(*(*uint16)(unsafe.Pointer(p + 200 /* &.readOnly */)) & 0x80 >> 7)) != 0) || (mrc != 9) { + if ((mrc == 7) || (mrc == 13)) && ((Bft(int32(*(*uint16)(unsafe.Pointer(p + 200 /* &.usesStmtJournal */)) & 0x40 >> 6))) != 0) { eStatementOp = 2 } else { // We are forced to roll back the active transaction. Before doing @@ -56125,11 +56720,11 @@ func Xsqlite3VdbeHalt(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:80761:20: * // above has occurred. if (!(((*Sqlite3)(unsafe.Pointer((db))).FnVTrans > 0) && ((*Sqlite3)(unsafe.Pointer((db))).FaVTrans == uintptr(0))) && ((*Sqlite3)(unsafe.Pointer(db)).FautoCommit != 0)) && - ((*Sqlite3)(unsafe.Pointer(db)).FnVdbeWrite == (libc.Bool32(int32(*(*uint16)(unsafe.Pointer(p + 200 /* &.readOnly */))&0x80>>7) == 0))) { + ((*Sqlite3)(unsafe.Pointer(db)).FnVdbeWrite == (libc.Bool32((int32(*(*uint16)(unsafe.Pointer(p + 200 /* &.readOnly */)) & 0x80 >> 7)) == 0))) { if ((*Vdbe)(unsafe.Pointer(p)).Frc == 0) || ((int32((*Vdbe)(unsafe.Pointer(p)).FerrorAction) == 3) && !(isSpecialError != 0)) { rc = Xsqlite3VdbeCheckFk(tls, p, 1) if rc != 0 { - if Bft(int32(*(*uint16)(unsafe.Pointer(p + 200 /* &.readOnly */))&0x80>>7)) != 0 { + if (Bft(int32(*(*uint16)(unsafe.Pointer(p + 200 /* &.readOnly */)) & 0x80 >> 7))) != 0 { Xsqlite3VdbeLeave(tls, p) return 1 } @@ -56141,7 +56736,7 @@ func Xsqlite3VdbeHalt(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:80761:20: * // is required. rc = vdbeCommit(tls, db, p) } - if (rc == 5) && (Bft(int32(*(*uint16)(unsafe.Pointer(p + 200 /* &.readOnly */))&0x80>>7)) != 0) { + if (rc == 5) && ((Bft(int32(*(*uint16)(unsafe.Pointer(p + 200 /* &.readOnly */)) & 0x80 >> 7))) != 0) { Xsqlite3VdbeLeave(tls, p) return 5 } else if rc != 0 { @@ -56194,7 +56789,7 @@ func Xsqlite3VdbeHalt(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:80761:20: * // If this was an INSERT, UPDATE or DELETE and no statement transaction // has been rolled back, update the database connection change-counter. - if Bft(int32(*(*uint16)(unsafe.Pointer(p + 200 /* &.changeCntOn */))&0x10>>4)) != 0 { + if (Bft(int32(*(*uint16)(unsafe.Pointer(p + 200 /* &.changeCntOn */)) & 0x10 >> 4))) != 0 { if eStatementOp != 2 { Xsqlite3VdbeSetChanges(tls, db, (*Vdbe)(unsafe.Pointer(p)).FnChange) } else { @@ -56210,10 +56805,10 @@ func Xsqlite3VdbeHalt(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:80761:20: * // We have successfully halted and closed the VM. Record this fact. if (*Vdbe)(unsafe.Pointer(p)).Fpc >= 0 { (*Sqlite3)(unsafe.Pointer(db)).FnVdbeActive-- - if !(int32(*(*uint16)(unsafe.Pointer(p + 200 /* &.readOnly */))&0x80>>7) != 0) { + if !((int32(*(*uint16)(unsafe.Pointer(p + 200 /* &.readOnly */)) & 0x80 >> 7)) != 0) { (*Sqlite3)(unsafe.Pointer(db)).FnVdbeWrite-- } - if Bft(int32(*(*uint16)(unsafe.Pointer(p + 200 /* &.bIsReader */))&0x100>>8)) != 0 { + if (Bft(int32(*(*uint16)(unsafe.Pointer(p + 200 /* &.bIsReader */)) & 0x100 >> 8))) != 0 { (*Sqlite3)(unsafe.Pointer(db)).FnVdbeRead-- } @@ -56302,10 +56897,10 @@ func Xsqlite3VdbeReset(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:81023:20: } else { (*Sqlite3)(unsafe.Pointer(db)).FerrCode = (*Vdbe)(unsafe.Pointer(p)).Frc } - if Bft(int32(*(*uint16)(unsafe.Pointer(p + 200 /* &.runOnlyOnce */))&0x20>>5)) != 0 { + if (Bft(int32(*(*uint16)(unsafe.Pointer(p + 200 /* &.runOnlyOnce */)) & 0x20 >> 5))) != 0 { libc.SetBitFieldPtr16Uint32(p+200 /* &.expired */, Bft(1), 0, 0x3) } - } else if ((*Vdbe)(unsafe.Pointer(p)).Frc != 0) && (Bft(int32(*(*uint16)(unsafe.Pointer(p + 200 /* &.expired */))&0x3>>0)) != 0) { + } else if ((*Vdbe)(unsafe.Pointer(p)).Frc != 0) && ((Bft(int32(*(*uint16)(unsafe.Pointer(p + 200 /* &.expired */)) & 0x3 >> 0))) != 0) { // The expired flag was set on the VDBE before the first call // to sqlite3_step(). For consistency (since sqlite3_step() was // called), set the database error in this case as well. @@ -57961,7 +58556,7 @@ var fakeSortOrder U8 = U8(0) /* sqlite3.c:82939:19 */ // added or changed. func Xsqlite3_expired(tls *libc.TLS, pStmt uintptr) int32 { /* sqlite3.c:83015:16: */ var p uintptr = pStmt - return (libc.Bool32((p == uintptr(0)) || (Bft(int32(*(*uint16)(unsafe.Pointer(p + 200 /* &.expired */))&0x3>>0)) != 0))) + return (libc.Bool32((p == uintptr(0)) || ((Bft(int32(*(*uint16)(unsafe.Pointer(p + 200 /* &.expired */)) & 0x3 >> 0))) != 0))) } // Check on a Vdbe to make sure it has not been finalized. Log @@ -58503,7 +59098,7 @@ __1: __2: ; - if !(((*Vdbe)(unsafe.Pointer(p)).Fpc < 0) && (Bft(int32(*(*uint16)(unsafe.Pointer(p + 200 /* &.expired */))&0x3>>0)) != 0)) { + if !(((*Vdbe)(unsafe.Pointer(p)).Fpc < 0) && ((Bft(int32(*(*uint16)(unsafe.Pointer(p + 200 /* &.expired */)) & 0x3 >> 0))) != 0)) { goto __3 } (*Vdbe)(unsafe.Pointer(p)).Frc = 17 @@ -58545,13 +59140,13 @@ __8: ; (*Sqlite3)(unsafe.Pointer(db)).FnVdbeActive++ - if !(int32(*(*uint16)(unsafe.Pointer(p + 200 /* &.readOnly */))&0x80>>7) == 0) { + if !((int32(*(*uint16)(unsafe.Pointer(p + 200 /* &.readOnly */)) & 0x80 >> 7)) == 0) { goto __9 } (*Sqlite3)(unsafe.Pointer(db)).FnVdbeWrite++ __9: ; - if !(Bft(int32(*(*uint16)(unsafe.Pointer(p + 200 /* &.bIsReader */))&0x100>>8)) != 0) { + if !((Bft(int32(*(*uint16)(unsafe.Pointer(p + 200 /* &.bIsReader */)) & 0x100 >> 8))) != 0) { goto __10 } (*Sqlite3)(unsafe.Pointer(db)).FnVdbeRead++ @@ -58560,7 +59155,7 @@ __10: (*Vdbe)(unsafe.Pointer(p)).Fpc = 0 __5: ; - if !(Bft(int32(*(*uint16)(unsafe.Pointer(p + 200 /* &.explain */))&0xc>>2)) != 0) { + if !((Bft(int32(*(*uint16)(unsafe.Pointer(p + 200 /* &.explain */)) & 0xc >> 2))) != 0) { goto __11 } rc = Xsqlite3VdbeList(tls, p) @@ -58913,18 +59508,29 @@ func columnNullValue(tls *libc.TLS) uintptr { /* sqlite3.c:84002:18: */ return uintptr(unsafe.Pointer(&nullMem)) } -var nullMem = Mem{Fu: -/* .u = */ MemValue{Fr: float64(0)}, Fflags: -/* .flags = */ U16(0x0001), Fenc: -/* .enc = */ U8(0), FeSubtype: -/* .eSubtype = */ U8(0), Fn: -/* .n = */ 0, Fz: -/* .z = */ uintptr(0), FzMalloc: -/* .zMalloc = */ uintptr(0), FszMalloc: -/* .szMalloc = */ 0, FuTemp: -/* .uTemp = */ U32(0), Fdb: -/* .db = */ uintptr(0), FxDel: -/* .xDel = */ uintptr(0), +var nullMem = Mem{ + /* .u = */ Fu: + /* .u = */ MemValue{}, + Fflags: + /* .flags = */ U16(0x0001), + Fenc: + /* .enc = */ U8(0), + FeSubtype: + /* .eSubtype = */ U8(0), + Fn: + /* .n = */ 0, + Fz: + /* .z = */ uintptr(0), + FzMalloc: + /* .zMalloc = */ uintptr(0), + FszMalloc: + /* .szMalloc = */ 0, + FuTemp: + /* .uTemp = */ U32(0), + Fdb: + /* .db = */ uintptr(0), + FxDel: + /* .xDel = */ uintptr(0), } /* sqlite3.c:84012:20 */ // Check to see if column iCol of the given statement is valid. If @@ -59450,7 +60056,7 @@ func Xsqlite3_db_handle(tls *libc.TLS, pStmt uintptr) uintptr { /* sqlite3.c:846 // database. func Xsqlite3_stmt_readonly(tls *libc.TLS, pStmt uintptr) int32 { /* sqlite3.c:84660:16: */ if pStmt != 0 { - return int32(*(*uint16)(unsafe.Pointer(pStmt + 200 /* &.readOnly */)) & 0x80 >> 7) + return (int32(*(*uint16)(unsafe.Pointer(pStmt + 200 /* &.readOnly */)) & 0x80 >> 7)) } return 1 } @@ -59459,7 +60065,7 @@ func Xsqlite3_stmt_readonly(tls *libc.TLS, pStmt uintptr) int32 { /* sqlite3.c:8 // statement is an EXPLAIN QUERY PLAN func Xsqlite3_stmt_isexplain(tls *libc.TLS, pStmt uintptr) int32 { /* sqlite3.c:84668:16: */ if pStmt != 0 { - return int32(*(*uint16)(unsafe.Pointer(pStmt + 200 /* &.explain */)) & 0xc >> 2) + return (int32(*(*uint16)(unsafe.Pointer(pStmt + 200 /* &.explain */)) & 0xc >> 2)) } return 0 } @@ -66569,7 +67175,7 @@ __497: __496: ; - if !(((Bft(int32(*(*uint16)(unsafe.Pointer(p + 200 /* &.usesStmtJournal */))&0x40>>6)) != 0) && + if !((((Bft(int32(*(*uint16)(unsafe.Pointer(p + 200 /* &.usesStmtJournal */)) & 0x40 >> 6))) != 0) && ((*Op)(unsafe.Pointer(pOp)).Fp2 != 0)) && ((int32((*Sqlite3)(unsafe.Pointer(db)).FautoCommit) == 0) || ((*Sqlite3)(unsafe.Pointer(db)).FnVdbeRead > 1))) { goto __498 @@ -66816,7 +67422,7 @@ __80: __81: ; - if !(int32(*(*uint16)(unsafe.Pointer(p + 200 /* &.expired */))&0x3>>0) == 1) { + if !((int32(*(*uint16)(unsafe.Pointer(p + 200 /* &.expired */)) & 0x3 >> 0)) == 1) { goto __510 } rc = (4 | (int32(2) << 8)) @@ -66937,7 +67543,7 @@ __520: (*VdbeCursor)(unsafe.Pointer(pCx)).FpKeyInfo = (*VdbeCursor)(unsafe.Pointer(pOrig)).FpKeyInfo (*VdbeCursor)(unsafe.Pointer(pCx)).FisTable = (*VdbeCursor)(unsafe.Pointer(pOrig)).FisTable (*VdbeCursor)(unsafe.Pointer(pCx)).FpgnoRoot = (*VdbeCursor)(unsafe.Pointer(pOrig)).FpgnoRoot - libc.SetBitFieldPtr8Uint32(pCx+8 /* &.isOrdered */, Bool(int32(*(*uint8)(unsafe.Pointer(pOrig + 8 /* &.isOrdered */))&0x4>>2)), 2, 0x4) + libc.SetBitFieldPtr8Uint32(pCx+8 /* &.isOrdered */, (Bool(int32(*(*uint8)(unsafe.Pointer(pOrig + 8 /* &.isOrdered */)) & 0x4 >> 2))), 2, 0x4) rc = Xsqlite3BtreeCursor(tls, (*VdbeCursor)(unsafe.Pointer(pOrig)).FpBtx, (*VdbeCursor)(unsafe.Pointer(pCx)).FpgnoRoot, 0x00000004, (*VdbeCursor)(unsafe.Pointer(pCx)).FpKeyInfo, *(*uintptr)(unsafe.Pointer(pCx + 56 /* &.uc */))) // The sqlite3BtreeCursor() routine can only fail for the first cursor @@ -67584,7 +68190,7 @@ __95: ; pC5 = *(*uintptr)(unsafe.Pointer((*Vdbe)(unsafe.Pointer(p)).FapCsr + uintptr((*Op)(unsafe.Pointer(pOp)).Fp1)*8)) - if !(Bool(int32(*(*uint8)(unsafe.Pointer(pC5 + 8 /* &.seekHit */))&0x8>>3)) != 0) { + if !((Bool(int32(*(*uint8)(unsafe.Pointer(pC5 + 8 /* &.seekHit */)) & 0x8 >> 3))) != 0) { goto __568 } goto __10 @@ -67874,7 +68480,7 @@ __102: // Root frame of VDBE // Others complain about 0x7ffffffffffffffffLL. The following macro seems // to provide the constant while making all compilers happy. - if !(!(int32(*(*uint8)(unsafe.Pointer(pC8 + 8 /* &.useRandomRowid */))&0x2>>1) != 0)) { + if !(!((int32(*(*uint8)(unsafe.Pointer(pC8 + 8 /* &.useRandomRowid */)) & 0x2 >> 1)) != 0)) { goto __591 } rc = Xsqlite3BtreeLast(tls, *(*uintptr)(unsafe.Pointer(pC8 + 56 /* &.uc */)), bp+420 /* &res5 */) @@ -67939,7 +68545,7 @@ __599: Xsqlite3VdbeMemIntegerify(tls, pMem1) // mem(P3) holds an integer - if !((*(*I64)(unsafe.Pointer(pMem1 /* &.u */)) == (int64((U64((uint64(0x7fffffff))) << 32) | uint64(0xffffffff)))) || (Bool(int32(*(*uint8)(unsafe.Pointer(pC8 + 8 /* &.useRandomRowid */))&0x2>>1)) != 0)) { + if !((*(*I64)(unsafe.Pointer(pMem1 /* &.u */)) == (int64((U64((uint64(0x7fffffff))) << 32) | uint64(0xffffffff)))) || ((Bool(int32(*(*uint8)(unsafe.Pointer(pC8 + 8 /* &.useRandomRowid */)) & 0x2 >> 1))) != 0)) { goto __603 } rc = 13 // IMP: R-17817-00630 @@ -67955,7 +68561,7 @@ __604: *(*I64)(unsafe.Pointer(pMem1 /* &.u */)) = *(*I64)(unsafe.Pointer(bp + 424 /* v */)) __597: ; - if !(Bool(int32(*(*uint8)(unsafe.Pointer(pC8 + 8 /* &.useRandomRowid */))&0x2>>1)) != 0) { + if !((Bool(int32(*(*uint8)(unsafe.Pointer(pC8 + 8 /* &.useRandomRowid */)) & 0x2 >> 1))) != 0) { goto __605 } // IMPLEMENTATION-OF: R-07677-41881 If the largest ROWID is equal to the @@ -71813,13 +72419,37 @@ __38: var iLn int32 = 0 /* sqlite3.c:93635:24 */ var openBlob = [6]VdbeOpList{ - {Fopcode: U8(161), Fp1: int8(0), Fp2: int8(0), Fp3: int8(0)}, // 0: Acquire a read or write lock - {Fopcode: U8(96), Fp1: int8(0), Fp2: int8(0), Fp3: int8(0)}, // 1: Open a cursor + { + Fopcode: U8(161), + Fp1: int8(0), + Fp2: int8(0), + Fp3: int8(0)}, // 0: Acquire a read or write lock + { + Fopcode: U8(96), + Fp1: int8(0), + Fp2: int8(0), + Fp3: int8(0)}, // 1: Open a cursor // blobSeekToRow() will initialize r[1] to the desired rowid - {Fopcode: U8(32), Fp1: int8(0), Fp2: int8(5), Fp3: int8(1)}, // 2: Seek the cursor to rowid=r[1] - {Fopcode: U8(89), Fp1: int8(0), Fp2: int8(0), Fp3: int8(1)}, // 3 - {Fopcode: U8(80), Fp1: int8(1), Fp2: int8(0), Fp3: int8(0)}, // 4 - {Fopcode: U8(68), Fp1: int8(0), Fp2: int8(0), Fp3: int8(0)}, // 5 + { + Fopcode: U8(32), + Fp1: int8(0), + Fp2: int8(5), + Fp3: int8(1)}, // 2: Seek the cursor to rowid=r[1] + { + Fopcode: U8(89), + Fp1: int8(0), + Fp2: int8(0), + Fp3: int8(1)}, // 3 + { + Fopcode: U8(80), + Fp1: int8(1), + Fp2: int8(0), + Fp3: int8(0)}, // 4 + { + Fopcode: U8(68), + Fp1: int8(0), + Fp2: int8(0), + Fp3: int8(0)}, // 5 } /* sqlite3.c:93636:31 */ // Close a blob handle that was previously created using @@ -74889,31 +75519,55 @@ __3: // This following structure defines all the methods for the // virtual table. -var bytecodevtabModule = Sqlite3_module{FiVersion: -/* iVersion */ 0, FxCreate: -/* xCreate */ uintptr(0), FxConnect: -/* xConnect */ 0, FxBestIndex: -/* xBestIndex */ 0, FxDisconnect: -/* xDisconnect */ 0, FxDestroy: -/* xDestroy */ uintptr(0), FxOpen: -/* xOpen */ 0, FxClose: -/* xClose */ 0, FxFilter: -/* xFilter */ 0, FxNext: -/* xNext */ 0, FxEof: -/* xEof */ 0, FxColumn: -/* xColumn */ 0, FxRowid: -/* xRowid */ 0, FxUpdate: -/* xUpdate */ uintptr(0), FxBegin: -/* xBegin */ uintptr(0), FxSync: -/* xSync */ uintptr(0), FxCommit: -/* xCommit */ uintptr(0), FxRollback: -/* xRollback */ uintptr(0), FxFindFunction: -/* xFindMethod */ uintptr(0), FxRename: -/* xRename */ uintptr(0), FxSavepoint: -/* xSavepoint */ uintptr(0), FxRelease: -/* xRelease */ uintptr(0), FxRollbackTo: -/* xRollbackTo */ uintptr(0), FxShadowName: -/* xShadowName */ uintptr(0), +var bytecodevtabModule = Sqlite3_module{ + FiVersion: + /* iVersion */ 0, + FxCreate: + /* xCreate */ uintptr(0), + FxConnect: + /* xConnect */ 0, + FxBestIndex: + /* xBestIndex */ 0, + FxDisconnect: + /* xDisconnect */ 0, + FxDestroy: + /* xDestroy */ uintptr(0), + FxOpen: + /* xOpen */ 0, + FxClose: + /* xClose */ 0, + FxFilter: + /* xFilter */ 0, + FxNext: + /* xNext */ 0, + FxEof: + /* xEof */ 0, + FxColumn: + /* xColumn */ 0, + FxRowid: + /* xRowid */ 0, + FxUpdate: + /* xUpdate */ uintptr(0), + FxBegin: + /* xBegin */ uintptr(0), + FxSync: + /* xSync */ uintptr(0), + FxCommit: + /* xCommit */ uintptr(0), + FxRollback: + /* xRollback */ uintptr(0), + FxFindFunction: + /* xFindMethod */ uintptr(0), + FxRename: + /* xRename */ uintptr(0), + FxSavepoint: + /* xSavepoint */ uintptr(0), + FxRelease: + /* xRelease */ uintptr(0), + FxRollbackTo: + /* xRollbackTo */ uintptr(0), + FxShadowName: + /* xShadowName */ uintptr(0), } /* sqlite3.c:97033:23 */ func Xsqlite3VdbeBytecodeVtabInit(tls *libc.TLS, db uintptr) int32 { /* sqlite3.c:97061:20: */ @@ -75217,25 +75871,44 @@ func memjrnlFileSize(tls *libc.TLS, pJfd uintptr, pSize uintptr) int32 { /* sqli } // Table of methods for MemJournal sqlite3_file object. -var sMemJournalMethods = sqlite3_io_methods{FiVersion: 1, FxClose: // iVersion -0, FxRead:// xClose -0, FxWrite:// xRead -0, FxTruncate:// xWrite -0, FxSync:// xTruncate -0, FxFileSize:// xSync -0, FxLock:// xFileSize -uintptr(0), FxUnlock:// xLock -uintptr(0), FxCheckReservedLock:// xUnlock -uintptr(0), FxFileControl:// xCheckReservedLock -uintptr(0), FxSectorSize:// xFileControl -uintptr(0), FxDeviceCharacteristics:// xSectorSize -uintptr(0), FxShmMap:// xDeviceCharacteristics -uintptr(0), FxShmLock:// xShmMap -uintptr(0), FxShmBarrier:// xShmLock -uintptr(0), FxShmUnmap:// xShmBarrier -uintptr(0), FxFetch:// xShmUnmap -uintptr(0), FxUnfetch:// xFetch -uintptr(0), // xUnfetch +var sMemJournalMethods = sqlite3_io_methods{ + FiVersion: 1, + FxClose:// iVersion + 0, + FxRead:// xClose + 0, + FxWrite:// xRead + 0, + FxTruncate:// xWrite + 0, + FxSync:// xTruncate + 0, + FxFileSize:// xSync + 0, + FxLock:// xFileSize + uintptr(0), + FxUnlock:// xLock + uintptr(0), + FxCheckReservedLock:// xUnlock + uintptr(0), + FxFileControl:// xCheckReservedLock + uintptr(0), + FxSectorSize:// xFileControl + uintptr(0), + FxDeviceCharacteristics:// xSectorSize + uintptr(0), + FxShmMap:// xDeviceCharacteristics + uintptr(0), + FxShmLock:// xShmMap + uintptr(0), + FxShmBarrier:// xShmLock + uintptr(0), + FxShmUnmap:// xShmBarrier + uintptr(0), + FxFetch:// xShmUnmap + uintptr(0), + FxUnfetch:// xFetch + uintptr(0), // xUnfetch } /* sqlite3.c:97384:40 */ // Open a journal file. @@ -75498,7 +76171,7 @@ func Xsqlite3WalkSelectFrom(tls *libc.TLS, pWalker uintptr, p uintptr) int32 { / if ((*SrcList_item)(unsafe.Pointer(pItem)).FpSelect != 0) && (Xsqlite3WalkSelect(tls, pWalker, (*SrcList_item)(unsafe.Pointer(pItem)).FpSelect) != 0) { return 2 } - if (uint32(int32(*(*uint8)(unsafe.Pointer((pItem + 60 /* &.fg */) + 4 /* &.isTabFunc */))&0x4>>2)) != 0) && + if ((uint32(int32(*(*uint8)(unsafe.Pointer((pItem + 60 /* &.fg */) + 4 /* &.isTabFunc */)) & 0x4 >> 2))) != 0) && (Xsqlite3WalkExprList(tls, pWalker, *(*uintptr)(unsafe.Pointer(pItem + 96 /* &.u1 */))) != 0) { return 2 } @@ -75721,7 +76394,7 @@ func nameInUsingClause(tls *libc.TLS, pUsing uintptr, zCol uintptr) int32 { /* s func Xsqlite3MatchEName(tls *libc.TLS, pItem uintptr, zCol uintptr, zTab uintptr, zDb uintptr) int32 { /* sqlite3.c:97897:20: */ var n int32 var zSpan uintptr - if int32(*(*uint8)(unsafe.Pointer(pItem + 20 /* &.eEName */))&0x3>>0) != 2 { + if (int32(*(*uint8)(unsafe.Pointer(pItem + 20 /* &.eEName */)) & 0x3 >> 0)) != 2 { return 0 } zSpan = (*ExprList_item)(unsafe.Pointer(pItem)).FzEName @@ -76264,7 +76937,7 @@ __61: goto __63 } zAs = (*ExprList_item)(unsafe.Pointer((pEList + 8 /* &.a */) + uintptr(j)*32)).FzEName - if !((int32(*(*uint8)(unsafe.Pointer(((pEList + 8 /* &.a */) + uintptr(j)*32) + 20 /* &.eEName */))&0x3>>0) == 0) && + if !(((int32(*(*uint8)(unsafe.Pointer(((pEList + 8 /* &.a */) + uintptr(j)*32) + 20 /* &.eEName */)) & 0x3 >> 0)) == 0) && (Xsqlite3_stricmp(tls, zAs, zCol) == 0)) { goto __64 } @@ -76965,7 +77638,7 @@ func resolveAsName(tls *libc.TLS, pParse uintptr, pEList uintptr, pE uintptr) in if int32((*Expr)(unsafe.Pointer(pE)).Fop) == 59 { var zCol uintptr = *(*uintptr)(unsafe.Pointer(pE + 8 /* &.u */)) for i = 0; i < (*ExprList)(unsafe.Pointer(pEList)).FnExpr; i++ { - if (int32(*(*uint8)(unsafe.Pointer(((pEList + 8 /* &.a */) + uintptr(i)*32) + 20 /* &.eEName */))&0x3>>0) == 0) && + if ((int32(*(*uint8)(unsafe.Pointer(((pEList + 8 /* &.a */) + uintptr(i)*32) + 20 /* &.eEName */)) & 0x3 >> 0)) == 0) && (Xsqlite3_stricmp(tls, (*ExprList_item)(unsafe.Pointer((pEList+8 /* &.a */)+uintptr(i)*32)).FzEName, zCol) == 0) { return (i + 1) } @@ -77100,7 +77773,7 @@ func resolveCompoundOrderBy(tls *libc.TLS, pParse uintptr, pSelect uintptr) int3 *(*int32)(unsafe.Pointer(bp + 8 /* iCol */)) = -1 var pE uintptr var pDup uintptr - if uint32(int32(*(*uint8)(unsafe.Pointer(pItem + 20 /* &.done */))&0x4>>2)) != 0 { + if (uint32(int32(*(*uint8)(unsafe.Pointer(pItem + 20 /* &.done */)) & 0x4 >> 2))) != 0 { goto __2 } pE = Xsqlite3ExprSkipCollateAndLikely(tls, (*ExprList_item)(unsafe.Pointer(pItem)).FpExpr) @@ -77161,10 +77834,7 @@ func resolveCompoundOrderBy(tls *libc.TLS, pParse uintptr, pSelect uintptr) int3 (*Expr)(unsafe.Pointer(pParent)).FpLeft = pNew } Xsqlite3ExprDelete(tls, db, pE) - (*struct { - FiOrderByCol U16 - FiAlias U16 - })(unsafe.Pointer(pItem + 24 /* &.u */)).FiOrderByCol = U16(*(*int32)(unsafe.Pointer(bp + 8 /* iCol */))) + *(*U16)(unsafe.Pointer(pItem + 24 /* &.u */ /* &.x */ /* &.iOrderByCol */)) = U16(*(*int32)(unsafe.Pointer(bp + 8 /* iCol */))) } libc.SetBitFieldPtr8Uint32(pItem+20 /* &.done */, uint32(1), 2, 0x4) } else { @@ -77182,7 +77852,7 @@ func resolveCompoundOrderBy(tls *libc.TLS, pParse uintptr, pSelect uintptr) int3 pSelect = (*Select)(unsafe.Pointer(pSelect)).FpNext } 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 { + if (int32(*(*uint8)(unsafe.Pointer(((pOrderBy + 8 /* &.a */) + uintptr(i)*32) + 20 /* &.done */)) & 0x4 >> 2)) == 0 { Xsqlite3ErrorMsg(tls, pParse, ts+9102 /* "%r ORDER BY term..." */, libc.VaList(bp, (i+1))) return 1 @@ -77224,21 +77894,12 @@ __1: goto __3 } { - if (*struct { - FiOrderByCol U16 - FiAlias U16 - })(unsafe.Pointer(pItem+24 /* &.u */)).FiOrderByCol != 0 { - if int32((*struct { - FiOrderByCol U16 - FiAlias U16 - })(unsafe.Pointer(pItem+24 /* &.u */)).FiOrderByCol) > (*ExprList)(unsafe.Pointer(pEList)).FnExpr { + if *(*U16)(unsafe.Pointer(pItem + 24 /* &.u */ /* &.x */ /* &.iOrderByCol */)) != 0 { + if int32(*(*U16)(unsafe.Pointer((pItem + 24 /* &.u */ /* &.x */) /* &.iOrderByCol */))) > (*ExprList)(unsafe.Pointer(pEList)).FnExpr { resolveOutOfRangeError(tls, pParse, zType, (i + 1), (*ExprList)(unsafe.Pointer(pEList)).FnExpr) return 1 } - resolveAlias(tls, pParse, pEList, (int32((*struct { - FiOrderByCol U16 - FiAlias U16 - })(unsafe.Pointer(pItem+24 /* &.u */)).FiOrderByCol) - 1), (*ExprList_item)(unsafe.Pointer(pItem)).FpExpr, + resolveAlias(tls, pParse, pEList, (int32(*(*U16)(unsafe.Pointer((pItem + 24 /* &.u */ /* &.x */) /* &.iOrderByCol */))) - 1), (*ExprList_item)(unsafe.Pointer(pItem)).FpExpr, zType, 0) } } @@ -77330,10 +77991,7 @@ __1: // a copy of the iCol-th result-set column. The subsequent call to // sqlite3ResolveOrderGroupBy() will convert the expression to a // copy of the iCol-th result-set expression. - (*struct { - FiOrderByCol U16 - FiAlias U16 - })(unsafe.Pointer(pItem + 24 /* &.u */)).FiOrderByCol = U16(*(*int32)(unsafe.Pointer(bp /* iCol */))) + *(*U16)(unsafe.Pointer(pItem + 24 /* &.u */ /* &.x */ /* &.iOrderByCol */)) = U16(*(*int32)(unsafe.Pointer(bp /* iCol */))) goto __2 } } @@ -77345,18 +78003,12 @@ __1: resolveOutOfRangeError(tls, pParse, zType, (i + 1), nResult) return 1 } - (*struct { - FiOrderByCol U16 - FiAlias U16 - })(unsafe.Pointer(pItem + 24 /* &.u */)).FiOrderByCol = U16(*(*int32)(unsafe.Pointer(bp /* iCol */))) + *(*U16)(unsafe.Pointer(pItem + 24 /* &.u */ /* &.x */ /* &.iOrderByCol */)) = U16(*(*int32)(unsafe.Pointer(bp /* iCol */))) goto __2 } // Otherwise, treat the ORDER BY term as an ordinary expression - (*struct { - FiOrderByCol U16 - FiAlias U16 - })(unsafe.Pointer(pItem + 24 /* &.u */)).FiOrderByCol = U16(0) + *(*U16)(unsafe.Pointer(pItem + 24 /* &.u */ /* &.x */ /* &.iOrderByCol */)) = U16(0) if Xsqlite3ResolveExprNames(tls, pNC, pE) != 0 { return 1 } @@ -77366,10 +78018,7 @@ __1: // to an identical expression in the result set, remove all Window // objects belonging to the expression from the Select.pWin list. windowRemoveExprFromSelect(tls, pSelect, pE) - (*struct { - FiOrderByCol U16 - FiAlias U16 - })(unsafe.Pointer(pItem + 24 /* &.u */)).FiOrderByCol = (U16(j + 1)) + *(*U16)(unsafe.Pointer(pItem + 24 /* &.u */ /* &.x */ /* &.iOrderByCol */)) = (U16(j + 1)) } } } @@ -77534,7 +78183,7 @@ func resolveSelectStep(tls *libc.TLS, pWalker uintptr, p uintptr) int32 { /* sql // Resolve names in table-valued-function arguments for i = 0; i < (*SrcList)(unsafe.Pointer((*Select)(unsafe.Pointer(p)).FpSrc)).FnSrc; i++ { var pItem uintptr = (((*Select)(unsafe.Pointer(p)).FpSrc + 8 /* &.a */) + uintptr(i)*112) - if (uint32(int32(*(*uint8)(unsafe.Pointer((pItem + 60 /* &.fg */) + 4 /* &.isTabFunc */))&0x4>>2)) != 0) && + if ((uint32(int32(*(*uint8)(unsafe.Pointer((pItem + 60 /* &.fg */) + 4 /* &.isTabFunc */)) & 0x4 >> 2))) != 0) && (Xsqlite3ResolveExprListNames(tls, bp /* &sNC */, *(*uintptr)(unsafe.Pointer(pItem + 96 /* &.u1 */))) != 0) { return 2 } @@ -79174,10 +79823,10 @@ __1: } (*ExprList_item)(unsafe.Pointer(pItem)).FzEName = Xsqlite3DbStrDup(tls, db, (*ExprList_item)(unsafe.Pointer(pOldItem)).FzEName) (*ExprList_item)(unsafe.Pointer(pItem)).FsortFlags = (*ExprList_item)(unsafe.Pointer(pOldItem)).FsortFlags - libc.SetBitFieldPtr8Uint32(pItem+20 /* &.eEName */, uint32(int32(*(*uint8)(unsafe.Pointer(pOldItem + 20 /* &.eEName */))&0x3>>0)), 0, 0x3) + libc.SetBitFieldPtr8Uint32(pItem+20 /* &.eEName */, (uint32(int32(*(*uint8)(unsafe.Pointer(pOldItem + 20 /* &.eEName */)) & 0x3 >> 0))), 0, 0x3) libc.SetBitFieldPtr8Uint32(pItem+20 /* &.done */, uint32(0), 2, 0x4) - libc.SetBitFieldPtr8Uint32(pItem+20 /* &.bNulls */, uint32(int32(*(*uint8)(unsafe.Pointer(pOldItem + 20 /* &.bNulls */))&0x20>>5)), 5, 0x20) - libc.SetBitFieldPtr8Uint32(pItem+20 /* &.bSorterRef */, uint32(int32(*(*uint8)(unsafe.Pointer(pOldItem + 20 /* &.bSorterRef */))&0x10>>4)), 4, 0x10) + libc.SetBitFieldPtr8Uint32(pItem+20 /* &.bNulls */, (uint32(int32(*(*uint8)(unsafe.Pointer(pOldItem + 20 /* &.bNulls */)) & 0x20 >> 5))), 5, 0x20) + libc.SetBitFieldPtr8Uint32(pItem+20 /* &.bSorterRef */, (uint32(int32(*(*uint8)(unsafe.Pointer(pOldItem + 20 /* &.bSorterRef */)) & 0x10 >> 4))), 4, 0x10) (*ExprList_item)(unsafe.Pointer(pItem)).Fu = (*ExprList_item)(unsafe.Pointer(pOldItem)).Fu } goto __2 @@ -79227,11 +79876,11 @@ func Xsqlite3SrcListDup(tls *libc.TLS, db uintptr, p uintptr, flags int32) uintp (*SrcList_item)(unsafe.Pointer(pNewItem)).FiCursor = (*SrcList_item)(unsafe.Pointer(pOldItem)).FiCursor (*SrcList_item)(unsafe.Pointer(pNewItem)).FaddrFillSub = (*SrcList_item)(unsafe.Pointer(pOldItem)).FaddrFillSub (*SrcList_item)(unsafe.Pointer(pNewItem)).FregReturn = (*SrcList_item)(unsafe.Pointer(pOldItem)).FregReturn - if uint32(int32(*(*uint8)(unsafe.Pointer(pNewItem + 60 /* &.fg */ + 4 /* &.isIndexedBy */))&0x2>>1)) != 0 { + if (uint32(int32(*(*uint8)(unsafe.Pointer(pNewItem + 60 /* &.fg */ + 4 /* &.isIndexedBy */)) & 0x2 >> 1))) != 0 { *(*uintptr)(unsafe.Pointer(pNewItem + 96 /* &.u1 */)) = Xsqlite3DbStrDup(tls, db, *(*uintptr)(unsafe.Pointer(pOldItem + 96 /* &.u1 */))) } (*SrcList_item)(unsafe.Pointer(pNewItem)).FpIBIndex = (*SrcList_item)(unsafe.Pointer(pOldItem)).FpIBIndex - if uint32(int32(*(*uint8)(unsafe.Pointer(pNewItem + 60 /* &.fg */ + 4 /* &.isTabFunc */))&0x4>>2)) != 0 { + if (uint32(int32(*(*uint8)(unsafe.Pointer(pNewItem + 60 /* &.fg */ + 4 /* &.isTabFunc */)) & 0x4 >> 2))) != 0 { *(*uintptr)(unsafe.Pointer(pNewItem + 96 /* &.u1 */)) = Xsqlite3ExprListDup(tls, db, *(*uintptr)(unsafe.Pointer(pOldItem + 96 /* &.u1 */)), flags) } pTab = libc.AssignPtrUintptr(pNewItem+32 /* &.pTab */, (*SrcList_item)(unsafe.Pointer(pOldItem)).FpTab) @@ -80562,14 +81211,8 @@ func Xsqlite3CodeRhsOfIN(tls *libc.TLS, pParse uintptr, pExpr uintptr, iTab int3 if ((*Expr)(unsafe.Pointer((pExpr))).Fflags & (U32(0x000800))) != U32(0) { Xsqlite3VdbeExplain(tls, pParse, uint8(0), ts+9695 /* "REUSE LIST SUBQU..." */, libc.VaList(bp, (*Select)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(pExpr + 32 /* &.x */)))).FselId)) } - Xsqlite3VdbeAddOp2(tls, v, 12, (*struct { - FiAddr int32 - FregReturn int32 - })(unsafe.Pointer(pExpr+64 /* &.y */)).FregReturn, - (*struct { - FiAddr int32 - FregReturn int32 - })(unsafe.Pointer(pExpr+64 /* &.y */)).FiAddr) + Xsqlite3VdbeAddOp2(tls, v, 12, *(*int32)(unsafe.Pointer(pExpr + 64 /* &.y */ /* &.sub */ + 4 /* &.regReturn */)), + *(*int32)(unsafe.Pointer(pExpr + 64 /* &.y */ /* &.sub */ /* &.iAddr */))) Xsqlite3VdbeAddOp2(tls, v, 98, iTab, (*Expr)(unsafe.Pointer(pExpr)).FiTable) Xsqlite3VdbeJumpHere(tls, v, addrOnce) return @@ -80578,17 +81221,8 @@ func Xsqlite3CodeRhsOfIN(tls *libc.TLS, pParse uintptr, pExpr uintptr, iTab int3 // Begin coding the subroutine *(*U32)(unsafe.Pointer(pExpr + 4 /* &.flags */)) |= (U32(0x2000000)) - (*struct { - FiAddr int32 - FregReturn int32 - })(unsafe.Pointer(pExpr + 64 /* &.y */)).FregReturn = libc.PreIncInt32(&(*Parse)(unsafe.Pointer(pParse)).FnMem, 1) - (*struct { - FiAddr int32 - FregReturn int32 - })(unsafe.Pointer(pExpr + 64 /* &.y */)).FiAddr = (Xsqlite3VdbeAddOp2(tls, v, 69, 0, (*struct { - FiAddr int32 - FregReturn int32 - })(unsafe.Pointer(pExpr+64 /* &.y */)).FregReturn) + 1) + *(*int32)(unsafe.Pointer(pExpr + 64 /* &.y */ /* &.sub */ + 4 /* &.regReturn */)) = libc.PreIncInt32(&(*Parse)(unsafe.Pointer(pParse)).FnMem, 1) + *(*int32)(unsafe.Pointer(pExpr + 64 /* &.y */ /* &.sub */ /* &.iAddr */)) = (Xsqlite3VdbeAddOp2(tls, v, 69, 0, *(*int32)(unsafe.Pointer(pExpr + 64 /* &.y */ /* &.sub */ + 4 /* &.regReturn */))) + 1) Xsqlite3VdbeComment(tls, v, ts+9718 /* "return address" */, 0) addrOnce = Xsqlite3VdbeAddOp0(tls, v, 17) @@ -80717,14 +81351,8 @@ func Xsqlite3CodeRhsOfIN(tls *libc.TLS, pParse uintptr, pExpr uintptr, iTab int3 if addrOnce != 0 { Xsqlite3VdbeJumpHere(tls, v, addrOnce) // Subroutine return - Xsqlite3VdbeAddOp1(tls, v, 65, (*struct { - FiAddr int32 - FregReturn int32 - })(unsafe.Pointer(pExpr+64 /* &.y */)).FregReturn) - Xsqlite3VdbeChangeP1(tls, v, ((*struct { - FiAddr int32 - FregReturn int32 - })(unsafe.Pointer(pExpr+64 /* &.y */)).FiAddr - 1), (Xsqlite3VdbeCurrentAddr(tls, v) - 1)) + Xsqlite3VdbeAddOp1(tls, v, 65, *(*int32)(unsafe.Pointer(pExpr + 64 /* &.y */ /* &.sub */ + 4 /* &.regReturn */))) + Xsqlite3VdbeChangeP1(tls, v, (*(*int32)(unsafe.Pointer((pExpr + 64 /* &.y */ /* &.sub */) /* &.iAddr */)) - 1), (Xsqlite3VdbeCurrentAddr(tls, v) - 1)) Xsqlite3ClearTempRegCache(tls, pParse) } } @@ -80771,30 +81399,15 @@ func Xsqlite3CodeSubselect(tls *libc.TLS, pParse uintptr, pExpr uintptr) int32 { // subroutine. if ((*Expr)(unsafe.Pointer((pExpr))).Fflags & (U32(0x2000000))) != U32(0) { Xsqlite3VdbeExplain(tls, pParse, uint8(0), ts+9803 /* "REUSE SUBQUERY %..." */, libc.VaList(bp, (*Select)(unsafe.Pointer(pSel)).FselId)) - Xsqlite3VdbeAddOp2(tls, v, 12, (*struct { - FiAddr int32 - FregReturn int32 - })(unsafe.Pointer(pExpr+64 /* &.y */)).FregReturn, - (*struct { - FiAddr int32 - FregReturn int32 - })(unsafe.Pointer(pExpr+64 /* &.y */)).FiAddr) + Xsqlite3VdbeAddOp2(tls, v, 12, *(*int32)(unsafe.Pointer(pExpr + 64 /* &.y */ /* &.sub */ + 4 /* &.regReturn */)), + *(*int32)(unsafe.Pointer(pExpr + 64 /* &.y */ /* &.sub */ /* &.iAddr */))) return (*Expr)(unsafe.Pointer(pExpr)).FiTable } // Begin coding the subroutine *(*U32)(unsafe.Pointer(pExpr + 4 /* &.flags */)) |= (U32(0x2000000)) - (*struct { - FiAddr int32 - FregReturn int32 - })(unsafe.Pointer(pExpr + 64 /* &.y */)).FregReturn = libc.PreIncInt32(&(*Parse)(unsafe.Pointer(pParse)).FnMem, 1) - (*struct { - FiAddr int32 - FregReturn int32 - })(unsafe.Pointer(pExpr + 64 /* &.y */)).FiAddr = (Xsqlite3VdbeAddOp2(tls, v, 69, 0, (*struct { - FiAddr int32 - FregReturn int32 - })(unsafe.Pointer(pExpr+64 /* &.y */)).FregReturn) + 1) + *(*int32)(unsafe.Pointer(pExpr + 64 /* &.y */ /* &.sub */ + 4 /* &.regReturn */)) = libc.PreIncInt32(&(*Parse)(unsafe.Pointer(pParse)).FnMem, 1) + *(*int32)(unsafe.Pointer(pExpr + 64 /* &.y */ /* &.sub */ /* &.iAddr */)) = (Xsqlite3VdbeAddOp2(tls, v, 69, 0, *(*int32)(unsafe.Pointer(pExpr + 64 /* &.y */ /* &.sub */ + 4 /* &.regReturn */))) + 1) Xsqlite3VdbeComment(tls, v, ts+9718 /* "return address" */, 0) addrOnce = Xsqlite3VdbeAddOp0(tls, v, 17) @@ -80860,14 +81473,8 @@ func Xsqlite3CodeSubselect(tls *libc.TLS, pParse uintptr, pExpr uintptr) int32 { Xsqlite3VdbeJumpHere(tls, v, addrOnce) // Subroutine return - Xsqlite3VdbeAddOp1(tls, v, 65, (*struct { - FiAddr int32 - FregReturn int32 - })(unsafe.Pointer(pExpr+64 /* &.y */)).FregReturn) - Xsqlite3VdbeChangeP1(tls, v, ((*struct { - FiAddr int32 - FregReturn int32 - })(unsafe.Pointer(pExpr+64 /* &.y */)).FiAddr - 1), (Xsqlite3VdbeCurrentAddr(tls, v) - 1)) + Xsqlite3VdbeAddOp1(tls, v, 65, *(*int32)(unsafe.Pointer(pExpr + 64 /* &.y */ /* &.sub */ + 4 /* &.regReturn */))) + Xsqlite3VdbeChangeP1(tls, v, (*(*int32)(unsafe.Pointer((pExpr + 64 /* &.y */ /* &.sub */) /* &.iAddr */)) - 1), (Xsqlite3VdbeCurrentAddr(tls, v) - 1)) Xsqlite3ClearTempRegCache(tls, pParse) } @@ -82701,7 +83308,7 @@ func Xsqlite3ExprCodeRunJustOnce(tls *libc.TLS, pParse uintptr, pExpr uintptr, r goto __3 } { - if (uint32(int32(*(*uint8)(unsafe.Pointer(pItem + 20 /* &.reusable */))&0x8>>3)) != 0) && (Xsqlite3ExprCompare(tls, uintptr(0), (*ExprList_item)(unsafe.Pointer(pItem)).FpExpr, pExpr, -1) == 0) { + if ((uint32(int32(*(*uint8)(unsafe.Pointer(pItem + 20 /* &.reusable */)) & 0x8 >> 3))) != 0) && (Xsqlite3ExprCompare(tls, uintptr(0), (*ExprList_item)(unsafe.Pointer(pItem)).FpExpr, pExpr, -1) == 0) { return *(*int32)(unsafe.Pointer(pItem + 24 /* &.u */)) } } @@ -82865,10 +83472,7 @@ __1: } { var pExpr uintptr = (*ExprList_item)(unsafe.Pointer(pItem)).FpExpr - if ((int32(flags) & 0x04) != 0) && ((libc.AssignInt32(&j, int32((*struct { - FiOrderByCol U16 - FiAlias U16 - })(unsafe.Pointer(pItem+24 /* &.u */)).FiOrderByCol))) > 0) { + if ((int32(flags) & 0x04) != 0) && ((libc.AssignInt32(&j, int32(*(*U16)(unsafe.Pointer(pItem + 24 /* &.u */ /* &.x */ /* &.iOrderByCol */))))) > 0) { if (int32(flags) & 0x08) != 0 { i-- n-- @@ -85220,7 +85824,7 @@ func renameUnmapSelectCb(tls *libc.TLS, pWalker uintptr, p uintptr) int32 { /* s if (*Select)(unsafe.Pointer(p)).FpEList != 0 { var pList uintptr = (*Select)(unsafe.Pointer(p)).FpEList for i = 0; i < (*ExprList)(unsafe.Pointer(pList)).FnExpr; i++ { - if ((*ExprList_item)(unsafe.Pointer((pList+8 /* &.a */)+uintptr(i)*32)).FzEName != 0) && (int32(*(*uint8)(unsafe.Pointer(((pList + 8 /* &.a */) + uintptr(i)*32) + 20 /* &.eEName */))&0x3>>0) == 0) { + if ((*ExprList_item)(unsafe.Pointer((pList+8 /* &.a */)+uintptr(i)*32)).FzEName != 0) && ((int32(*(*uint8)(unsafe.Pointer(((pList + 8 /* &.a */) + uintptr(i)*32) + 20 /* &.eEName */)) & 0x3 >> 0)) == 0) { Xsqlite3RenameTokenRemap(tls, pParse, uintptr(0), (*ExprList_item)(unsafe.Pointer((pList+8 /* &.a */)+uintptr(i)*32)).FzEName) } } @@ -85278,7 +85882,7 @@ func Xsqlite3RenameExprlistUnmap(tls *libc.TLS, pParse uintptr, pEList uintptr) }{renameUnmapExprCb})) Xsqlite3WalkExprList(tls, bp /* &sWalker */, pEList) for i = 0; i < (*ExprList)(unsafe.Pointer(pEList)).FnExpr; i++ { - if int32(*(*uint8)(unsafe.Pointer(((pEList + 8 /* &.a */) + uintptr(i)*32) + 20 /* &.eEName */))&0x3>>0) == 0 { + if (int32(*(*uint8)(unsafe.Pointer(((pEList + 8 /* &.a */) + uintptr(i)*32) + 20 /* &.eEName */)) & 0x3 >> 0)) == 0 { Xsqlite3RenameTokenRemap(tls, pParse, uintptr(0), (*ExprList_item)(unsafe.Pointer((pEList+8 /* &.a */)+uintptr(i)*32)).FzEName) } } @@ -85404,7 +86008,7 @@ func renameColumnElistNames(tls *libc.TLS, pParse uintptr, pCtx uintptr, pEList var i int32 for i = 0; i < (*ExprList)(unsafe.Pointer(pEList)).FnExpr; i++ { var zName uintptr = (*ExprList_item)(unsafe.Pointer((pEList + 8 /* &.a */) + uintptr(i)*32)).FzEName - if ((int32(*(*uint8)(unsafe.Pointer(((pEList + 8 /* &.a */) + uintptr(i)*32) + 20 /* &.eEName */))&0x3>>0) == 0) && + if (((int32(*(*uint8)(unsafe.Pointer(((pEList + 8 /* &.a */) + uintptr(i)*32) + 20 /* &.eEName */)) & 0x3 >> 0)) == 0) && (zName != uintptr(0))) && (0 == Xsqlite3_stricmp(tls, zName, zOld)) { renameTokenFind(tls, pParse, pCtx, zName) @@ -86274,9 +86878,36 @@ func Xsqlite3AlterFunctions(tls *libc.TLS) { /* sqlite3.c:107538:21: */ } var aAlterTableFuncs = [3]FuncDef{ - {FnArg: int8(9), FfuncFlags: (U32((0x00040000 | 1) | 0x0800)), FpUserData: uintptr(0), FpNext: uintptr(0), FxSFunc: 0, FxFinalize: uintptr(0), FxValue: uintptr(0), FxInverse: uintptr(0), FzName: ts + 12307 /* "sqlite_rename_co..." */, Fu: struct{ FpHash uintptr }{FpHash: uintptr(0)}}, - {FnArg: int8(7), FfuncFlags: (U32((0x00040000 | 1) | 0x0800)), FpUserData: uintptr(0), FpNext: uintptr(0), FxSFunc: 0, FxFinalize: uintptr(0), FxValue: uintptr(0), FxInverse: uintptr(0), FzName: ts + 12328 /* "sqlite_rename_ta..." */, Fu: struct{ FpHash uintptr }{FpHash: uintptr(0)}}, - {FnArg: int8(5), FfuncFlags: (U32((0x00040000 | 1) | 0x0800)), FpUserData: uintptr(0), FpNext: uintptr(0), FxSFunc: 0, FxFinalize: uintptr(0), FxValue: uintptr(0), FxInverse: uintptr(0), FzName: ts + 12348 /* "sqlite_rename_te..." */, Fu: struct{ FpHash uintptr }{FpHash: uintptr(0)}}, + { + FnArg: int8(9), + FfuncFlags: (U32((0x00040000 | 1) | 0x0800)), + FpUserData: uintptr(0), + FpNext: uintptr(0), + FxSFunc: 0, + FxFinalize: uintptr(0), + FxValue: uintptr(0), + FxInverse: uintptr(0), + FzName: ts + 12307 /* "sqlite_rename_co..." */, Fu: struct{ FpHash uintptr }{}}, + { + FnArg: int8(7), + FfuncFlags: (U32((0x00040000 | 1) | 0x0800)), + FpUserData: uintptr(0), + FpNext: uintptr(0), + FxSFunc: 0, + FxFinalize: uintptr(0), + FxValue: uintptr(0), + FxInverse: uintptr(0), + FzName: ts + 12328 /* "sqlite_rename_ta..." */, Fu: struct{ FpHash uintptr }{}}, + { + FnArg: int8(5), + FfuncFlags: (U32((0x00040000 | 1) | 0x0800)), + FpUserData: uintptr(0), + FpNext: uintptr(0), + FxSFunc: 0, + FxFinalize: uintptr(0), + FxValue: uintptr(0), + FxInverse: uintptr(0), + FzName: ts + 12348 /* "sqlite_rename_te..." */, Fu: struct{ FpHash uintptr }{}}, } /* sqlite3.c:107539:18 */ //************* End of alter.c ********************************************** @@ -86510,9 +87141,15 @@ var aTable = [3]struct { FzName uintptr FzCols uintptr }{ - {FzName: ts + 12438 /* "sqlite_stat1" */, FzCols: ts + 12451 /* "tbl,idx,stat" */}, - {FzName: ts + 12464 /* "sqlite_stat4" */, FzCols: ts + 12477 /* "tbl,idx,neq,nlt,..." */}, - {FzName: ts + 12505 /* "sqlite_stat3" */, FzCols: uintptr(0)}, + { + FzName: ts + 12438, /* "sqlite_stat1" */ + FzCols: ts + 12451 /* "tbl,idx,stat" */}, + { + FzName: ts + 12464, /* "sqlite_stat4" */ + FzCols: ts + 12477 /* "tbl,idx,neq,nlt,..." */}, + { + FzName: ts + 12505, /* "sqlite_stat3" */ + FzCols: uintptr(0)}, } /* sqlite3.c:107725:5 */ // Recommended number of samples for sqlite_stat4 @@ -86739,15 +87376,25 @@ func statInit(tls *libc.TLS, context uintptr, argc int32, argv uintptr) { /* sql Xsqlite3_result_blob(tls, context, p, int32(unsafe.Sizeof(StatAccum{})), *(*uintptr)(unsafe.Pointer(&struct{ f func(*libc.TLS, uintptr) }{statAccumDestructor}))) } -var statInitFuncdef = FuncDef{FnArg: int8(4), FfuncFlags: // nArg -U32(1), FpUserData:// funcFlags -uintptr(0), FpNext:// pUserData -uintptr(0), FxSFunc:// pNext -0, FxFinalize:// xSFunc -uintptr(0), FxValue:// xFinalize -uintptr(0), FxInverse: uintptr(0), FzName: // xValue, xInverse -ts + 12518, /* "stat_init" */ Fu:// zName -struct{ FpHash uintptr }{FpHash: uintptr(0)}, +var statInitFuncdef = FuncDef{ + FnArg: int8(4), + FfuncFlags:// nArg + U32(1), + FpUserData:// funcFlags + uintptr(0), + FpNext:// pUserData + uintptr(0), + FxSFunc:// pNext + 0, + FxFinalize:// xSFunc + uintptr(0), + FxValue:// xFinalize + uintptr(0), + FxInverse: uintptr(0), + FzName:// xValue, xInverse + ts + 12518, /* "stat_init" */ // zName + Fu:// zName + struct{ FpHash uintptr }{}, } /* sqlite3.c:108036:22 */ // pNew and pOld are both candidate non-periodic samples selected for @@ -87062,15 +87709,25 @@ func statPush(tls *libc.TLS, context uintptr, argc int32, argv uintptr) { /* sql } } -var statPushFuncdef = FuncDef{FnArg: (int8(2 + 1)), FfuncFlags: // nArg -U32(1), FpUserData:// funcFlags -uintptr(0), FpNext:// pUserData -uintptr(0), FxSFunc:// pNext -0, FxFinalize:// xSFunc -uintptr(0), FxValue:// xFinalize -uintptr(0), FxInverse: uintptr(0), FzName: // xValue, xInverse -ts + 12528, /* "stat_push" */ Fu:// zName -struct{ FpHash uintptr }{FpHash: uintptr(0)}, +var statPushFuncdef = FuncDef{ + FnArg: (int8(2 + 1)), + FfuncFlags:// nArg + U32(1), + FpUserData:// funcFlags + uintptr(0), + FpNext:// pUserData + uintptr(0), + FxSFunc:// pNext + 0, + FxFinalize:// xSFunc + uintptr(0), + FxValue:// xFinalize + uintptr(0), + FxInverse: uintptr(0), + FzName:// xValue, xInverse + ts + 12528, /* "stat_push" */ // zName + Fu:// zName + struct{ FpHash uintptr }{}, } /* sqlite3.c:108326:22 */ // Implementation of the stat_get(P,J) SQL function. This routine is @@ -87198,15 +87855,25 @@ func statGet(tls *libc.TLS, context uintptr, argc int32, argv uintptr) { /* sqli _ = argc } -var statGetFuncdef = FuncDef{FnArg: (int8(1 + 1)), FfuncFlags: // nArg -U32(1), FpUserData:// funcFlags -uintptr(0), FpNext:// pUserData -uintptr(0), FxSFunc:// pNext -0, FxFinalize:// xSFunc -uintptr(0), FxValue:// xFinalize -uintptr(0), FxInverse: uintptr(0), FzName: // xValue, xInverse -ts + 12555, /* "stat_get" */ Fu:// zName -struct{ FpHash uintptr }{FpHash: uintptr(0)}, +var statGetFuncdef = FuncDef{ + FnArg: (int8(1 + 1)), + FfuncFlags:// nArg + U32(1), + FpUserData:// funcFlags + uintptr(0), + FpNext:// pUserData + uintptr(0), + FxSFunc:// pNext + 0, + FxFinalize:// xSFunc + uintptr(0), + FxValue:// xFinalize + uintptr(0), + FxInverse: uintptr(0), + FzName:// xValue, xInverse + ts + 12555, /* "stat_get" */ // zName + Fu:// zName + struct{ FpHash uintptr }{}, } /* sqlite3.c:108478:22 */ func callStatGet(tls *libc.TLS, pParse uintptr, regStat int32, iParam int32, regOut int32) { /* sqlite3.c:108490:13: */ @@ -87328,14 +87995,14 @@ func analyzeOneTable(tls *libc.TLS, pParse uintptr, pTab uintptr, pOnlyIdx uintp if (*Index)(unsafe.Pointer(pIdx)).FpPartIdxWhere == uintptr(0) { needTableCnt = U8(0) } - if !(((*Table)(unsafe.Pointer((pTab))).FtabFlags & U32(0x0080)) == U32(0)) && (int32(*(*uint16)(unsafe.Pointer((pIdx) + 100 /* &.idxType */))&0x3>>0) == 2) { + if !(((*Table)(unsafe.Pointer((pTab))).FtabFlags & U32(0x0080)) == U32(0)) && ((int32(*(*uint16)(unsafe.Pointer((pIdx) + 100 /* &.idxType */)) & 0x3 >> 0)) == 2) { nCol = int32((*Index)(unsafe.Pointer(pIdx)).FnKeyCol) zIdxName = (*Table)(unsafe.Pointer(pTab)).FzName nColTest = (nCol - 1) } else { nCol = int32((*Index)(unsafe.Pointer(pIdx)).FnColumn) zIdxName = (*Index)(unsafe.Pointer(pIdx)).FzName - if uint32(int32(*(*uint16)(unsafe.Pointer(pIdx + 100 /* &.uniqNotNull */))&0x8>>3)) != 0 { + if (uint32(int32(*(*uint16)(unsafe.Pointer(pIdx + 100 /* &.uniqNotNull */)) & 0x8 >> 3))) != 0 { nColTest = (int32((*Index)(unsafe.Pointer(pIdx)).FnKeyCol) - 1) } else { nColTest = (nCol - 1) @@ -87987,7 +88654,7 @@ func loadStatTbl(tls *libc.TLS, db uintptr, zSql1 uintptr, zSql2 uintptr, zDb ui continue } - if !(((*Table)(unsafe.Pointer(((*Index)(unsafe.Pointer(pIdx)).FpTable))).FtabFlags & U32(0x0080)) == U32(0)) && (int32(*(*uint16)(unsafe.Pointer((pIdx) + 100 /* &.idxType */))&0x3>>0) == 2) { + if !(((*Table)(unsafe.Pointer(((*Index)(unsafe.Pointer(pIdx)).FpTable))).FtabFlags & U32(0x0080)) == U32(0)) && ((int32(*(*uint16)(unsafe.Pointer((pIdx) + 100 /* &.idxType */)) & 0x3 >> 0)) == 2) { nIdxCol = int32((*Index)(unsafe.Pointer(pIdx)).FnKeyCol) } else { nIdxCol = int32((*Index)(unsafe.Pointer(pIdx)).FnColumn) @@ -88154,7 +88821,7 @@ func Xsqlite3AnalysisLoad(tls *libc.TLS, db uintptr, iDb int32) int32 { /* sqlit for i = (*Hash)(unsafe.Pointer((pSchema + 32 /* &.idxHash */))).Ffirst; i != 0; i = (*HashElem)(unsafe.Pointer(i)).Fnext { var pIdx uintptr = (*HashElem)(unsafe.Pointer(i)).Fdata - if !(int32(*(*uint16)(unsafe.Pointer(pIdx + 100 /* &.hasStat1 */))&0x80>>7) != 0) { + if !((int32(*(*uint16)(unsafe.Pointer(pIdx + 100 /* &.hasStat1 */)) & 0x80 >> 7)) != 0) { Xsqlite3DefaultRowEst(tls, pIdx) } } @@ -88292,7 +88959,7 @@ __1: __2: ; - if !(uint32(int32(*(*uint8)(unsafe.Pointer(db + 176 /* &.init */ + 8 /* &.reopenMemdb */))&0x4>>2)) != 0) { + if !((uint32(int32(*(*uint8)(unsafe.Pointer(db + 176 /* &.init */ + 8 /* &.reopenMemdb */)) & 0x4 >> 2))) != 0) { goto __3 } // This is not a real ATTACH. Instead, this routine is being called @@ -88466,7 +89133,7 @@ __24: Xsqlite3BtreeEnterAll(tls, db) (*Sqlite3)(unsafe.Pointer(db)).Finit.FiDb = U8(0) *(*U32)(unsafe.Pointer(db + 44 /* &.mDbFlags */)) &= (^U32(libc.Int32FromInt32(0x0010))) - if !(!(int32(*(*uint8)(unsafe.Pointer(db + 176 /* &.init */ + 8 /* &.reopenMemdb */))&0x4>>2) != 0)) { + if !(!((int32(*(*uint8)(unsafe.Pointer(db + 176 /* &.init */ + 8 /* &.reopenMemdb */)) & 0x4 >> 2)) != 0)) { goto __26 } rc = Xsqlite3Init(tls, db, bp+56 /* &zErrDyn */) @@ -88478,7 +89145,7 @@ __25: if !(rc != 0) { goto __27 } - if !(!(int32(*(*uint8)(unsafe.Pointer(db + 176 /* &.init */ + 8 /* &.reopenMemdb */))&0x4>>2) != 0)) { + if !(!((int32(*(*uint8)(unsafe.Pointer(db + 176 /* &.init */ + 8 /* &.reopenMemdb */)) & 0x4 >> 2)) != 0)) { goto __28 } iDb = ((*Sqlite3)(unsafe.Pointer(db)).FnDb - 1) @@ -88725,15 +89392,25 @@ func Xsqlite3Detach(tls *libc.TLS, pParse uintptr, pDbname uintptr) { /* sqlite3 codeAttach(tls, pParse, 25, uintptr(unsafe.Pointer(&detach_func)), pDbname, uintptr(0), uintptr(0), pDbname) } -var detach_func = FuncDef{FnArg: int8(1), FfuncFlags: // nArg -U32(1), FpUserData:// funcFlags -uintptr(0), FpNext:// pUserData -uintptr(0), FxSFunc:// pNext -0, FxFinalize:// xSFunc -uintptr(0), FxValue:// xFinalize -uintptr(0), FxInverse: uintptr(0), FzName: // xValue, xInverse -ts + 13061, /* "sqlite_detach" */ Fu:// zName -struct{ FpHash uintptr }{FpHash: uintptr(0)}, +var detach_func = FuncDef{ + FnArg: int8(1), + FfuncFlags:// nArg + U32(1), + FpUserData:// funcFlags + uintptr(0), + FpNext:// pUserData + uintptr(0), + FxSFunc:// pNext + 0, + FxFinalize:// xSFunc + uintptr(0), + FxValue:// xFinalize + uintptr(0), + FxInverse: uintptr(0), + FzName:// xValue, xInverse + ts + 13061, /* "sqlite_detach" */ // zName + Fu:// zName + struct{ FpHash uintptr }{}, } /* sqlite3.c:109893:24 */ // Called by the parser to compile an ATTACH statement. @@ -88743,15 +89420,25 @@ func Xsqlite3Attach(tls *libc.TLS, pParse uintptr, p uintptr, pDbname uintptr, p codeAttach(tls, pParse, 24, uintptr(unsafe.Pointer(&attach_func)), p, p, pDbname, pKey) } -var attach_func = FuncDef{FnArg: int8(3), FfuncFlags: // nArg -U32(1), FpUserData:// funcFlags -uintptr(0), FpNext:// pUserData -uintptr(0), FxSFunc:// pNext -0, FxFinalize:// xSFunc -uintptr(0), FxValue:// xFinalize -uintptr(0), FxInverse: uintptr(0), FzName: // xValue, xInverse -ts + 13075, /* "sqlite_attach" */ Fu:// zName -struct{ FpHash uintptr }{FpHash: uintptr(0)}, +var attach_func = FuncDef{ + FnArg: int8(3), + FfuncFlags:// nArg + U32(1), + FpUserData:// funcFlags + uintptr(0), + FpNext:// pUserData + uintptr(0), + FxSFunc:// pNext + 0, + FxFinalize:// xSFunc + uintptr(0), + FxValue:// xFinalize + uintptr(0), + FxInverse: uintptr(0), + FzName:// xValue, xInverse + ts + 13075, /* "sqlite_attach" */ // zName + Fu:// zName + struct{ FpHash uintptr }{}, } /* sqlite3.c:109913:24 */ // Initialize a DbFixer structure. This routine must be called prior @@ -88819,7 +89506,7 @@ __1: if Xsqlite3FixExpr(tls, pFix, (*SrcList_item)(unsafe.Pointer(pItem)).FpOn) != 0 { return 1 } - if (uint32(int32(*(*uint8)(unsafe.Pointer((pItem + 60 /* &.fg */) + 4 /* &.isTabFunc */))&0x4>>2)) != 0) && (Xsqlite3FixExprList(tls, pFix, *(*uintptr)(unsafe.Pointer(pItem + 96 /* &.u1 */))) != 0) { + if ((uint32(int32(*(*uint8)(unsafe.Pointer((pItem + 60 /* &.fg */) + 4 /* &.isTabFunc */)) & 0x4 >> 2))) != 0) && (Xsqlite3FixExprList(tls, pFix, *(*uintptr)(unsafe.Pointer(pItem + 96 /* &.u1 */))) != 0) { return 1 } } @@ -89611,7 +90298,7 @@ func Xsqlite3FreeIndex(tls *libc.TLS, db uintptr, p uintptr) { /* sqlite3.c:1108 Xsqlite3ExprDelete(tls, db, (*Index)(unsafe.Pointer(p)).FpPartIdxWhere) Xsqlite3ExprListDelete(tls, db, (*Index)(unsafe.Pointer(p)).FaColExpr) Xsqlite3DbFree(tls, db, (*Index)(unsafe.Pointer(p)).FzColAff) - if uint32(int32(*(*uint16)(unsafe.Pointer(p + 100 /* &.isResized */))&0x10>>4)) != 0 { + if (uint32(int32(*(*uint16)(unsafe.Pointer(p + 100 /* &.isResized */)) & 0x10 >> 4))) != 0 { Xsqlite3DbFree(tls, db, (*Index)(unsafe.Pointer(p)).FazColl) } Xsqlite3_free(tls, (*Index)(unsafe.Pointer(p)).FaiRowEst) @@ -89969,7 +90656,7 @@ func Xsqlite3CheckObjectName(tls *libc.TLS, pParse uintptr, zName uintptr, zType var db uintptr = (*Parse)(unsafe.Pointer(pParse)).Fdb if ((Xsqlite3WritableSchema(tls, db) != 0) || - (uint32(int32(*(*uint8)(unsafe.Pointer((db + 176 /* &.init */) + 8 /* &.imposterTable */))&0x2>>1)) != 0)) || + ((uint32(int32(*(*uint8)(unsafe.Pointer((db + 176 /* &.init */) + 8 /* &.imposterTable */)) & 0x2 >> 1))) != 0)) || !(int32(Xsqlite3Config.FbExtraSchemaChecks) != 0) { // Skip these error checks for writable_schema=ON return 0 @@ -89995,7 +90682,7 @@ func Xsqlite3CheckObjectName(tls *libc.TLS, pParse uintptr, zName uintptr, zType // Return the PRIMARY KEY index of a table func Xsqlite3PrimaryKeyIndex(tls *libc.TLS, pTab uintptr) uintptr { /* sqlite3.c:111316:22: */ var p uintptr - for p = (*Table)(unsafe.Pointer(pTab)).FpIndex; (p != 0) && !(int32(*(*uint16)(unsafe.Pointer((p) + 100 /* &.idxType */))&0x3>>0) == 2); p = (*Index)(unsafe.Pointer(p)).FpNext { + for p = (*Table)(unsafe.Pointer(pTab)).FpIndex; (p != 0) && !((int32(*(*uint16)(unsafe.Pointer((p) + 100 /* &.idxType */)) & 0x3 >> 0)) == 2); p = (*Index)(unsafe.Pointer(p)).FpNext { } return p } @@ -91296,7 +91983,7 @@ func convertToWithoutRowidTable(tls *libc.TLS, pParse uintptr, pTab uintptr) { / var v uintptr = (*Parse)(unsafe.Pointer(pParse)).FpVdbe // Mark every PRIMARY KEY column as NOT NULL (except for imposter tables) - if !(int32(*(*uint8)(unsafe.Pointer(db + 176 /* &.init */ + 8 /* &.imposterTable */))&0x2>>1) != 0) { + if !((int32(*(*uint8)(unsafe.Pointer(db + 176 /* &.init */ + 8 /* &.imposterTable */)) & 0x2 >> 1)) != 0) { for i = 0; i < int32((*Table)(unsafe.Pointer(pTab)).FnCol); i++ { if (int32((*Column)(unsafe.Pointer((*Table)(unsafe.Pointer(pTab)).FaCol+uintptr(i)*32)).FcolFlags) & 0x0001) != 0 { (*Column)(unsafe.Pointer((*Table)(unsafe.Pointer(pTab)).FaCol + uintptr(i)*32)).FnotNull = U8(2) @@ -91356,7 +92043,7 @@ func convertToWithoutRowidTable(tls *libc.TLS, pParse uintptr, pTab uintptr) { / } libc.SetBitFieldPtr16Uint32(pPk+100 /* &.isCovering */, uint32(1), 5, 0x20) - if !(int32(*(*uint8)(unsafe.Pointer(db + 176 /* &.init */ + 8 /* &.imposterTable */))&0x2>>1) != 0) { + if !((int32(*(*uint8)(unsafe.Pointer(db + 176 /* &.init */ + 8 /* &.imposterTable */)) & 0x2 >> 1)) != 0) { libc.SetBitFieldPtr16Uint32(pPk+100 /* &.uniqNotNull */, uint32(1), 3, 0x8) } nPk = int32(libc.AssignPtrUint16(pPk+96 /* &.nColumn */, (*Index)(unsafe.Pointer(pPk)).FnKeyCol)) @@ -91377,7 +92064,7 @@ func convertToWithoutRowidTable(tls *libc.TLS, pParse uintptr, pTab uintptr) { / // the final rowid column into one or more columns of the PRIMARY KEY. for pIdx = (*Table)(unsafe.Pointer(pTab)).FpIndex; pIdx != 0; pIdx = (*Index)(unsafe.Pointer(pIdx)).FpNext { var n int32 - if int32(*(*uint16)(unsafe.Pointer((pIdx) + 100 /* &.idxType */))&0x3>>0) == 2 { + if (int32(*(*uint16)(unsafe.Pointer((pIdx) + 100 /* &.idxType */)) & 0x3 >> 0)) == 2 { continue } for i = libc.AssignInt32(&n, 0); i < nPk; i++ { @@ -92768,7 +93455,7 @@ func sqlite3RefillIndex(tls *libc.TLS, pParse uintptr, pIndex uintptr, memRootPa addr2 = Xsqlite3VdbeCurrentAddr(tls, v) } Xsqlite3VdbeAddOp3(tls, v, 125, iSorter, regRecord, iIdx) - if !(int32(*(*uint16)(unsafe.Pointer(pIndex + 100 /* &.bAscKeyBug */))&0x200>>9) != 0) { + if !((int32(*(*uint16)(unsafe.Pointer(pIndex + 100 /* &.bAscKeyBug */)) & 0x200 >> 9)) != 0) { // This OP_SeekEnd opcode makes index insert for a REINDEX go much // faster by avoiding unnecessary seeks. But the optimization does // not work for UNIQUE constraint indexes on WITHOUT ROWID tables @@ -92825,7 +93512,7 @@ func Xsqlite3HasExplicitNulls(tls *libc.TLS, pParse uintptr, pList uintptr) int3 if pList != 0 { var i int32 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 { + 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+14843, /* "unsupported use ..." */ libc.VaList(bp, func() uintptr { @@ -93891,7 +94578,7 @@ __5: goto exit_drop_index __3: ; - if !(int32(*(*uint16)(unsafe.Pointer(pIndex + 100 /* &.idxType */))&0x3>>0) != 0) { + if !((int32(*(*uint16)(unsafe.Pointer(pIndex + 100 /* &.idxType */)) & 0x3 >> 0)) != 0) { goto __6 } Xsqlite3ErrorMsg(tls, pParse, @@ -94242,10 +94929,10 @@ __1: Xsqlite3DbFree(tls, db, (*SrcList_item)(unsafe.Pointer(pItem)).FzDatabase) Xsqlite3DbFree(tls, db, (*SrcList_item)(unsafe.Pointer(pItem)).FzName) Xsqlite3DbFree(tls, db, (*SrcList_item)(unsafe.Pointer(pItem)).FzAlias) - if uint32(int32(*(*uint8)(unsafe.Pointer(pItem + 60 /* &.fg */ + 4 /* &.isIndexedBy */))&0x2>>1)) != 0 { + if (uint32(int32(*(*uint8)(unsafe.Pointer(pItem + 60 /* &.fg */ + 4 /* &.isIndexedBy */)) & 0x2 >> 1))) != 0 { Xsqlite3DbFree(tls, db, *(*uintptr)(unsafe.Pointer(pItem + 96 /* &.u1 */))) } - if uint32(int32(*(*uint8)(unsafe.Pointer(pItem + 60 /* &.fg */ + 4 /* &.isTabFunc */))&0x4>>2)) != 0 { + if (uint32(int32(*(*uint8)(unsafe.Pointer(pItem + 60 /* &.fg */ + 4 /* &.isTabFunc */)) & 0x4 >> 2))) != 0 { Xsqlite3ExprListDelete(tls, db, *(*uintptr)(unsafe.Pointer(pItem + 96 /* &.u1 */))) } Xsqlite3DeleteTable(tls, db, (*SrcList_item)(unsafe.Pointer(pItem)).FpTab) @@ -94647,7 +95334,7 @@ func Xsqlite3UniqueConstraint(tls *libc.TLS, pParse uintptr, onError int32, pIdx zErr = Xsqlite3StrAccumFinish(tls, bp+8 /* &errMsg */) Xsqlite3HaltConstraint(tls, pParse, func() int32 { - if int32(*(*uint16)(unsafe.Pointer((pIdx) + 100 /* &.idxType */))&0x3>>0) == 2 { + if (int32(*(*uint16)(unsafe.Pointer((pIdx) + 100 /* &.idxType */)) & 0x3 >> 0)) == 2 { return (19 | (int32(6) << 8)) } return (19 | (int32(8) << 8)) @@ -94824,7 +95511,7 @@ func Xsqlite3KeyInfoOfIndex(tls *libc.TLS, pParse uintptr, pIdx uintptr) uintptr if (*Parse)(unsafe.Pointer(pParse)).FnErr != 0 { return uintptr(0) } - if uint32(int32(*(*uint16)(unsafe.Pointer(pIdx + 100 /* &.uniqNotNull */))&0x8>>3)) != 0 { + if (uint32(int32(*(*uint16)(unsafe.Pointer(pIdx + 100 /* &.uniqNotNull */)) & 0x8 >> 3))) != 0 { pKey = Xsqlite3KeyInfoAlloc(tls, (*Parse)(unsafe.Pointer(pParse)).Fdb, nKey, (nCol - nKey)) } else { pKey = Xsqlite3KeyInfoAlloc(tls, (*Parse)(unsafe.Pointer(pParse)).Fdb, nCol, 0) @@ -94843,7 +95530,7 @@ func Xsqlite3KeyInfoOfIndex(tls *libc.TLS, pParse uintptr, pIdx uintptr) uintptr } if (*Parse)(unsafe.Pointer(pParse)).FnErr != 0 { - if int32(*(*uint16)(unsafe.Pointer(pIdx + 100 /* &.bNoQuery */))&0x100>>8) == 0 { + if (int32(*(*uint16)(unsafe.Pointer(pIdx + 100 /* &.bNoQuery */)) & 0x100 >> 8)) == 0 { // Deactivate the index because it contains an unknown collating // sequence. The only way to reactive the index is to reload the // schema. Adding the missing collating sequence later does not @@ -96304,7 +96991,7 @@ __1: bp /* &iPartIdxLabel */, pPrior, r1) Xsqlite3VdbeAddOp3(tls, v, 132, (iIdxCur + i), r1, func() int32 { - if uint32(int32(*(*uint16)(unsafe.Pointer(pIdx + 100 /* &.uniqNotNull */))&0x8>>3)) != 0 { + if (uint32(int32(*(*uint16)(unsafe.Pointer(pIdx + 100 /* &.uniqNotNull */)) & 0x8 >> 3))) != 0 { return int32((*Index)(unsafe.Pointer(pIdx)).FnKeyCol) } return int32((*Index)(unsafe.Pointer(pIdx)).FnColumn) @@ -96369,7 +97056,7 @@ func Xsqlite3GenerateIndexKey(tls *libc.TLS, pParse uintptr, pIdx uintptr, iData *(*int32)(unsafe.Pointer(piPartIdxLabel)) = 0 } } - if (prefixOnly != 0) && (uint32(int32(*(*uint16)(unsafe.Pointer(pIdx + 100 /* &.uniqNotNull */))&0x8>>3)) != 0) { + if (prefixOnly != 0) && ((uint32(int32(*(*uint16)(unsafe.Pointer(pIdx + 100 /* &.uniqNotNull */)) & 0x8 >> 3))) != 0) { nCol = int32((*Index)(unsafe.Pointer(pIdx)).FnKeyCol) } else { nCol = int32((*Index)(unsafe.Pointer(pIdx)).FnColumn) @@ -97056,13 +97743,25 @@ type compareInfo = struct { // macro for fast reading of the next character in the common case where // the next character is ASCII. -var globInfo = compareInfo{FmatchAll: U8('*'), FmatchOne: U8('?'), FmatchSet: U8('['), FnoCase: U8(0)} /* sqlite3.c:117677:33 */ +var globInfo = compareInfo{ + FmatchAll: U8('*'), + FmatchOne: U8('?'), + FmatchSet: U8('['), + FnoCase: U8(0)} /* sqlite3.c:117677:33 */ // The correct SQL-92 behavior is for the LIKE operator to ignore // case. Thus 'a' LIKE 'A' would be true. -var likeInfoNorm = compareInfo{FmatchAll: U8('%'), FmatchOne: U8('_'), FmatchSet: U8(0), FnoCase: U8(1)} /* sqlite3.c:117680:33 */ +var likeInfoNorm = compareInfo{ + FmatchAll: U8('%'), + FmatchOne: U8('_'), + FmatchSet: U8(0), + FnoCase: U8(1)} /* sqlite3.c:117680:33 */ // If SQLITE_CASE_SENSITIVE_LIKE is defined, then the LIKE operator // is case sensitive causing 'a' LIKE 'A' to be false -var likeInfoAlt = compareInfo{FmatchAll: U8('%'), FmatchOne: U8('_'), FmatchSet: U8(0), FnoCase: U8(0)} /* sqlite3.c:117683:33 */ +var likeInfoAlt = compareInfo{ + FmatchAll: U8('%'), + FmatchOne: U8('_'), + FmatchSet: U8(0), + FnoCase: U8(0)} /* sqlite3.c:117683:33 */ // Possible error returns from patternMatch() @@ -98337,73 +99036,658 @@ func Xsqlite3RegisterBuiltinFunctions(tls *libc.TLS) { /* sqlite3.c:118964:21: * var aBuiltinFunc = [65]FuncDef{ //**** Functions only available with SQLITE_TESTCTRL_INTERNAL_FUNCTIONS **** - {FnArg: int8(2), FfuncFlags: (U32(((((1 | 0x00040000) | 0x4000) | 0x00400000) | 0x0800) | (0))), FpUserData: uintptr(int64(1)), FpNext: uintptr(0), FxSFunc: 0, FxFinalize: uintptr(0), FxValue: uintptr(0), FxInverse: uintptr(0), FzName: ts + 16002 /* "implies_nonnull_..." */, Fu: struct{ FpHash uintptr }{FpHash: uintptr(0)}}, - {FnArg: int8(2), FfuncFlags: (U32(((((1 | 0x00040000) | 0x4000) | 0x00400000) | 0x0800) | (0))), FpUserData: uintptr(int64(3)), FpNext: uintptr(0), FxSFunc: 0, FxFinalize: uintptr(0), FxValue: uintptr(0), FxInverse: uintptr(0), FzName: ts + 16022 /* "expr_compare" */, Fu: struct{ FpHash uintptr }{FpHash: uintptr(0)}}, - {FnArg: int8(2), FfuncFlags: (U32(((((1 | 0x00040000) | 0x4000) | 0x00400000) | 0x0800) | (0))), FpUserData: uintptr(int64(2)), FpNext: uintptr(0), FxSFunc: 0, FxFinalize: uintptr(0), FxValue: uintptr(0), FxInverse: uintptr(0), FzName: ts + 16035 /* "expr_implies_exp..." */, Fu: struct{ FpHash uintptr }{FpHash: uintptr(0)}}, + { + FnArg: int8(2), + FfuncFlags: (U32(((((1 | 0x00040000) | 0x4000) | 0x00400000) | 0x0800) | (0))), + FpUserData: uintptr(int64(1)), + FpNext: uintptr(0), + FxSFunc: 0, + FxFinalize: uintptr(0), + FxValue: uintptr(0), + FxInverse: uintptr(0), + FzName: ts + 16002 /* "implies_nonnull_..." */, Fu: struct{ FpHash uintptr }{}}, + { + FnArg: int8(2), + FfuncFlags: (U32(((((1 | 0x00040000) | 0x4000) | 0x00400000) | 0x0800) | (0))), + FpUserData: uintptr(int64(3)), + FpNext: uintptr(0), + FxSFunc: 0, + FxFinalize: uintptr(0), + FxValue: uintptr(0), + FxInverse: uintptr(0), + FzName: ts + 16022 /* "expr_compare" */, Fu: struct{ FpHash uintptr }{}}, + { + FnArg: int8(2), + FfuncFlags: (U32(((((1 | 0x00040000) | 0x4000) | 0x00400000) | 0x0800) | (0))), + FpUserData: uintptr(int64(2)), + FpNext: uintptr(0), + FxSFunc: 0, + FxFinalize: uintptr(0), + FxValue: uintptr(0), + FxInverse: uintptr(0), + FzName: ts + 16035 /* "expr_implies_exp..." */, Fu: struct{ FpHash uintptr }{}}, //**** Regular functions **** - {FnArg: int8(1), FfuncFlags: (U32((0x0800 | 1) | (0 * 0x0020))), FpUserData: uintptr(int64(0)), FpNext: uintptr(0), FxSFunc: 0, FxFinalize: uintptr(0), FxValue: uintptr(0), FxInverse: uintptr(0), FzName: ts + 16053 /* "soundex" */, Fu: struct{ FpHash uintptr }{FpHash: uintptr(0)}}, - {FnArg: int8(1), FfuncFlags: (U32((1 | 0x000080000) | 0x00200000)), FpUserData: uintptr(int64(0)), FpNext: uintptr(0), FxSFunc: 0, FxFinalize: uintptr(0), FxValue: uintptr(0), FxInverse: uintptr(0), FzName: ts + 16061 /* "load_extension" */, Fu: struct{ FpHash uintptr }{FpHash: uintptr(0)}}, - {FnArg: int8(2), FfuncFlags: (U32((1 | 0x000080000) | 0x00200000)), FpUserData: uintptr(int64(0)), FpNext: uintptr(0), FxSFunc: 0, FxFinalize: uintptr(0), FxValue: uintptr(0), FxInverse: uintptr(0), FzName: ts + 16061 /* "load_extension" */, Fu: struct{ FpHash uintptr }{FpHash: uintptr(0)}}, - {FnArg: int8(1), FfuncFlags: (U32(0x2000 | 1)), FpUserData: uintptr(0), FpNext: uintptr(0), FxSFunc: 0, FxFinalize: uintptr(0), FxValue: uintptr(0), FxInverse: uintptr(0), FzName: ts + 16076 /* "sqlite_compileop..." */, Fu: struct{ FpHash uintptr }{FpHash: uintptr(0)}}, - {FnArg: int8(1), FfuncFlags: (U32(0x2000 | 1)), FpUserData: uintptr(0), FpNext: uintptr(0), FxSFunc: 0, FxFinalize: uintptr(0), FxValue: uintptr(0), FxInverse: uintptr(0), FzName: ts + 16102 /* "sqlite_compileop..." */, Fu: struct{ FpHash uintptr }{FpHash: uintptr(0)}}, - {FnArg: int8(1), FfuncFlags: (U32(((1 | 0x00400000) | 0x0800) | (0x0400))), FpUserData: uintptr(int64(99)), FpNext: uintptr(0), FxSFunc: 0, FxFinalize: uintptr(0), FxValue: uintptr(0), FxInverse: uintptr(0), FzName: ts + 16127 /* "unlikely" */, Fu: struct{ FpHash uintptr }{FpHash: uintptr(0)}}, - {FnArg: int8(2), FfuncFlags: (U32(((1 | 0x00400000) | 0x0800) | (0x0400))), FpUserData: uintptr(int64(99)), FpNext: uintptr(0), FxSFunc: 0, FxFinalize: uintptr(0), FxValue: uintptr(0), FxInverse: uintptr(0), FzName: ts + 16136 /* "likelihood" */, Fu: struct{ FpHash uintptr }{FpHash: uintptr(0)}}, - {FnArg: int8(1), FfuncFlags: (U32(((1 | 0x00400000) | 0x0800) | (0x0400))), FpUserData: uintptr(int64(99)), FpNext: uintptr(0), FxSFunc: 0, FxFinalize: uintptr(0), FxValue: uintptr(0), FxInverse: uintptr(0), FzName: ts + 16147 /* "likely" */, Fu: struct{ FpHash uintptr }{FpHash: uintptr(0)}}, - {FnArg: int8(1), FfuncFlags: (U32((((0x0800 | 1) | (0 * 0x0020)) | 0x8000) | 0x0080)), FpUserData: uintptr(int64(0)), FpNext: uintptr(0), FxSFunc: 0, FxFinalize: uintptr(0), FxValue: uintptr(0), FxInverse: uintptr(0), FzName: ts + 16154 /* "sqlite_offset" */, Fu: struct{ FpHash uintptr }{FpHash: uintptr(0)}}, - {FnArg: int8(1), FfuncFlags: (U32((0x0800 | 1) | (0 * 0x0020))), FpUserData: uintptr(int64(1)), FpNext: uintptr(0), FxSFunc: 0, FxFinalize: uintptr(0), FxValue: uintptr(0), FxInverse: uintptr(0), FzName: ts + 16168 /* "ltrim" */, Fu: struct{ FpHash uintptr }{FpHash: uintptr(0)}}, - {FnArg: int8(2), FfuncFlags: (U32((0x0800 | 1) | (0 * 0x0020))), FpUserData: uintptr(int64(1)), FpNext: uintptr(0), FxSFunc: 0, FxFinalize: uintptr(0), FxValue: uintptr(0), FxInverse: uintptr(0), FzName: ts + 16168 /* "ltrim" */, Fu: struct{ FpHash uintptr }{FpHash: uintptr(0)}}, - {FnArg: int8(1), FfuncFlags: (U32((0x0800 | 1) | (0 * 0x0020))), FpUserData: uintptr(int64(2)), FpNext: uintptr(0), FxSFunc: 0, FxFinalize: uintptr(0), FxValue: uintptr(0), FxInverse: uintptr(0), FzName: ts + 16174 /* "rtrim" */, Fu: struct{ FpHash uintptr }{FpHash: uintptr(0)}}, - {FnArg: int8(2), FfuncFlags: (U32((0x0800 | 1) | (0 * 0x0020))), FpUserData: uintptr(int64(2)), FpNext: uintptr(0), FxSFunc: 0, FxFinalize: uintptr(0), FxValue: uintptr(0), FxInverse: uintptr(0), FzName: ts + 16174 /* "rtrim" */, Fu: struct{ FpHash uintptr }{FpHash: uintptr(0)}}, - {FnArg: int8(1), FfuncFlags: (U32((0x0800 | 1) | (0 * 0x0020))), FpUserData: uintptr(int64(3)), FpNext: uintptr(0), FxSFunc: 0, FxFinalize: uintptr(0), FxValue: uintptr(0), FxInverse: uintptr(0), FzName: ts + 16180 /* "trim" */, Fu: struct{ FpHash uintptr }{FpHash: uintptr(0)}}, - {FnArg: int8(2), FfuncFlags: (U32((0x0800 | 1) | (0 * 0x0020))), FpUserData: uintptr(int64(3)), FpNext: uintptr(0), FxSFunc: 0, FxFinalize: uintptr(0), FxValue: uintptr(0), FxInverse: uintptr(0), FzName: ts + 16180 /* "trim" */, Fu: struct{ FpHash uintptr }{FpHash: uintptr(0)}}, - {FnArg: int8(-1), FfuncFlags: (U32((0x0800 | 1) | (1 * 0x0020))), FpUserData: uintptr(int64(0)), FpNext: uintptr(0), FxSFunc: 0, FxFinalize: uintptr(0), FxValue: uintptr(0), FxInverse: uintptr(0), FzName: ts + 16185 /* "min" */, Fu: struct{ FpHash uintptr }{FpHash: uintptr(0)}}, - {FnArg: int8(0), FfuncFlags: (U32((0x0800 | 1) | (1 * 0x0020))), FpUserData: uintptr(int64(0)), FpNext: uintptr(0), FxSFunc: uintptr(0), FxFinalize: uintptr(0), FxValue: uintptr(0), FxInverse: uintptr(0), FzName: ts + 16185 /* "min" */, Fu: struct{ FpHash uintptr }{FpHash: uintptr(0)}}, - {FnArg: int8(1), FfuncFlags: (U32((1 | (1 * 0x0020)) | 0x1000)), FpUserData: uintptr(int64(0)), FpNext: uintptr(0), FxSFunc: 0, FxFinalize: 0, FxValue: 0, FxInverse: uintptr(0), FzName: ts + 16185 /* "min" */, Fu: struct{ FpHash uintptr }{FpHash: uintptr(0)}}, - {FnArg: int8(-1), FfuncFlags: (U32((0x0800 | 1) | (1 * 0x0020))), FpUserData: uintptr(int64(1)), FpNext: uintptr(0), FxSFunc: 0, FxFinalize: uintptr(0), FxValue: uintptr(0), FxInverse: uintptr(0), FzName: ts + 16189 /* "max" */, Fu: struct{ FpHash uintptr }{FpHash: uintptr(0)}}, - {FnArg: int8(0), FfuncFlags: (U32((0x0800 | 1) | (1 * 0x0020))), FpUserData: uintptr(int64(1)), FpNext: uintptr(0), FxSFunc: uintptr(0), FxFinalize: uintptr(0), FxValue: uintptr(0), FxInverse: uintptr(0), FzName: ts + 16189 /* "max" */, Fu: struct{ FpHash uintptr }{FpHash: uintptr(0)}}, - {FnArg: int8(1), FfuncFlags: (U32((1 | (1 * 0x0020)) | 0x1000)), FpUserData: uintptr(int64(1)), FpNext: uintptr(0), FxSFunc: 0, FxFinalize: 0, FxValue: 0, FxInverse: uintptr(0), FzName: ts + 16189 /* "max" */, Fu: struct{ FpHash uintptr }{FpHash: uintptr(0)}}, - {FnArg: int8(1), FfuncFlags: (U32(((0x0800 | 1) | (0 * 0x0020)) | 0x0080)), FpUserData: uintptr(int64(0)), FpNext: uintptr(0), FxSFunc: 0, FxFinalize: uintptr(0), FxValue: uintptr(0), FxInverse: uintptr(0), FzName: ts + 16193 /* "typeof" */, Fu: struct{ FpHash uintptr }{FpHash: uintptr(0)}}, - {FnArg: int8(1), FfuncFlags: (U32(((0x0800 | 1) | (0 * 0x0020)) | 0x0040)), FpUserData: uintptr(int64(0)), FpNext: uintptr(0), FxSFunc: 0, FxFinalize: uintptr(0), FxValue: uintptr(0), FxInverse: uintptr(0), FzName: ts + 16200 /* "length" */, Fu: struct{ FpHash uintptr }{FpHash: uintptr(0)}}, - {FnArg: int8(2), FfuncFlags: (U32((0x0800 | 1) | (0 * 0x0020))), FpUserData: uintptr(int64(0)), FpNext: uintptr(0), FxSFunc: 0, FxFinalize: uintptr(0), FxValue: uintptr(0), FxInverse: uintptr(0), FzName: ts + 16207 /* "instr" */, Fu: struct{ FpHash uintptr }{FpHash: uintptr(0)}}, - {FnArg: int8(-1), FfuncFlags: (U32((0x0800 | 1) | (0 * 0x0020))), FpUserData: uintptr(int64(0)), FpNext: uintptr(0), FxSFunc: 0, FxFinalize: uintptr(0), FxValue: uintptr(0), FxInverse: uintptr(0), FzName: ts + 16213 /* "printf" */, Fu: struct{ FpHash uintptr }{FpHash: uintptr(0)}}, - {FnArg: int8(1), FfuncFlags: (U32((0x0800 | 1) | (0 * 0x0020))), FpUserData: uintptr(int64(0)), FpNext: uintptr(0), FxSFunc: 0, FxFinalize: uintptr(0), FxValue: uintptr(0), FxInverse: uintptr(0), FzName: ts + 16220 /* "unicode" */, Fu: struct{ FpHash uintptr }{FpHash: uintptr(0)}}, - {FnArg: int8(-1), FfuncFlags: (U32((0x0800 | 1) | (0 * 0x0020))), FpUserData: uintptr(int64(0)), FpNext: uintptr(0), FxSFunc: 0, FxFinalize: uintptr(0), FxValue: uintptr(0), FxInverse: uintptr(0), FzName: ts + 16228 /* "char" */, Fu: struct{ FpHash uintptr }{FpHash: uintptr(0)}}, - {FnArg: int8(1), FfuncFlags: (U32((0x0800 | 1) | (0 * 0x0020))), FpUserData: uintptr(int64(0)), FpNext: uintptr(0), FxSFunc: 0, FxFinalize: uintptr(0), FxValue: uintptr(0), FxInverse: uintptr(0), FzName: ts + 16233 /* "abs" */, Fu: struct{ FpHash uintptr }{FpHash: uintptr(0)}}, - {FnArg: int8(1), FfuncFlags: (U32((0x0800 | 1) | (0 * 0x0020))), FpUserData: uintptr(int64(0)), FpNext: uintptr(0), FxSFunc: 0, FxFinalize: uintptr(0), FxValue: uintptr(0), FxInverse: uintptr(0), FzName: ts + 16237 /* "round" */, Fu: struct{ FpHash uintptr }{FpHash: uintptr(0)}}, - {FnArg: int8(2), FfuncFlags: (U32((0x0800 | 1) | (0 * 0x0020))), FpUserData: uintptr(int64(0)), FpNext: uintptr(0), FxSFunc: 0, FxFinalize: uintptr(0), FxValue: uintptr(0), FxInverse: uintptr(0), FzName: ts + 16237 /* "round" */, Fu: struct{ FpHash uintptr }{FpHash: uintptr(0)}}, - {FnArg: int8(1), FfuncFlags: (U32((0x0800 | 1) | (0 * 0x0020))), FpUserData: uintptr(int64(0)), FpNext: uintptr(0), FxSFunc: 0, FxFinalize: uintptr(0), FxValue: uintptr(0), FxInverse: uintptr(0), FzName: ts + 16243 /* "upper" */, Fu: struct{ FpHash uintptr }{FpHash: uintptr(0)}}, - {FnArg: int8(1), FfuncFlags: (U32((0x0800 | 1) | (0 * 0x0020))), FpUserData: uintptr(int64(0)), FpNext: uintptr(0), FxSFunc: 0, FxFinalize: uintptr(0), FxValue: uintptr(0), FxInverse: uintptr(0), FzName: ts + 16249 /* "lower" */, Fu: struct{ FpHash uintptr }{FpHash: uintptr(0)}}, - {FnArg: int8(1), FfuncFlags: (U32((0x0800 | 1) | (0 * 0x0020))), FpUserData: uintptr(int64(0)), FpNext: uintptr(0), FxSFunc: 0, FxFinalize: uintptr(0), FxValue: uintptr(0), FxInverse: uintptr(0), FzName: ts + 16255 /* "hex" */, Fu: struct{ FpHash uintptr }{FpHash: uintptr(0)}}, - {FnArg: int8(2), FfuncFlags: (U32(((1 | 0x00400000) | 0x0800) | (0))), FpUserData: uintptr(int64(0)), FpNext: uintptr(0), FxSFunc: 0, FxFinalize: uintptr(0), FxValue: uintptr(0), FxInverse: uintptr(0), FzName: ts + 16259 /* "ifnull" */, Fu: struct{ FpHash uintptr }{FpHash: uintptr(0)}}, - {FnArg: int8(0), FfuncFlags: (U32(1 | (0 * 0x0020))), FpUserData: uintptr(int64(0)), FpNext: uintptr(0), FxSFunc: 0, FxFinalize: uintptr(0), FxValue: uintptr(0), FxInverse: uintptr(0), FzName: ts + 16266 /* "random" */, Fu: struct{ FpHash uintptr }{FpHash: uintptr(0)}}, - {FnArg: int8(1), FfuncFlags: (U32(1 | (0 * 0x0020))), FpUserData: uintptr(int64(0)), FpNext: uintptr(0), FxSFunc: 0, FxFinalize: uintptr(0), FxValue: uintptr(0), FxInverse: uintptr(0), FzName: ts + 16273 /* "randomblob" */, Fu: struct{ FpHash uintptr }{FpHash: uintptr(0)}}, - {FnArg: int8(2), FfuncFlags: (U32((0x0800 | 1) | (1 * 0x0020))), FpUserData: uintptr(int64(0)), FpNext: uintptr(0), FxSFunc: 0, FxFinalize: uintptr(0), FxValue: uintptr(0), FxInverse: uintptr(0), FzName: ts + 16284 /* "nullif" */, Fu: struct{ FpHash uintptr }{FpHash: uintptr(0)}}, - {FnArg: int8(0), FfuncFlags: (U32(0x2000 | 1)), FpUserData: uintptr(0), FpNext: uintptr(0), FxSFunc: 0, FxFinalize: uintptr(0), FxValue: uintptr(0), FxInverse: uintptr(0), FzName: ts + 16291 /* "sqlite_version" */, Fu: struct{ FpHash uintptr }{FpHash: uintptr(0)}}, - {FnArg: int8(0), FfuncFlags: (U32(0x2000 | 1)), FpUserData: uintptr(0), FpNext: uintptr(0), FxSFunc: 0, FxFinalize: uintptr(0), FxValue: uintptr(0), FxInverse: uintptr(0), FzName: ts + 16306 /* "sqlite_source_id" */, Fu: struct{ FpHash uintptr }{FpHash: uintptr(0)}}, - {FnArg: int8(2), FfuncFlags: (U32((0x0800 | 1) | (0 * 0x0020))), FpUserData: uintptr(int64(0)), FpNext: uintptr(0), FxSFunc: 0, FxFinalize: uintptr(0), FxValue: uintptr(0), FxInverse: uintptr(0), FzName: ts + 16323 /* "sqlite_log" */, Fu: struct{ FpHash uintptr }{FpHash: uintptr(0)}}, - {FnArg: int8(1), FfuncFlags: (U32((0x0800 | 1) | (0 * 0x0020))), FpUserData: uintptr(int64(0)), FpNext: uintptr(0), FxSFunc: 0, FxFinalize: uintptr(0), FxValue: uintptr(0), FxInverse: uintptr(0), FzName: ts + 16334 /* "quote" */, Fu: struct{ FpHash uintptr }{FpHash: uintptr(0)}}, - {FnArg: int8(0), FfuncFlags: (U32(1 | (0 * 0x0020))), FpUserData: uintptr(int64(0)), FpNext: uintptr(0), FxSFunc: 0, FxFinalize: uintptr(0), FxValue: uintptr(0), FxInverse: uintptr(0), FzName: ts + 16340 /* "last_insert_rowi..." */, Fu: struct{ FpHash uintptr }{FpHash: uintptr(0)}}, - {FnArg: int8(0), FfuncFlags: (U32(1 | (0 * 0x0020))), FpUserData: uintptr(int64(0)), FpNext: uintptr(0), FxSFunc: 0, FxFinalize: uintptr(0), FxValue: uintptr(0), FxInverse: uintptr(0), FzName: ts + 16358 /* "changes" */, Fu: struct{ FpHash uintptr }{FpHash: uintptr(0)}}, - {FnArg: int8(0), FfuncFlags: (U32(1 | (0 * 0x0020))), FpUserData: uintptr(int64(0)), FpNext: uintptr(0), FxSFunc: 0, FxFinalize: uintptr(0), FxValue: uintptr(0), FxInverse: uintptr(0), FzName: ts + 16366 /* "total_changes" */, Fu: struct{ FpHash uintptr }{FpHash: uintptr(0)}}, - {FnArg: int8(3), FfuncFlags: (U32((0x0800 | 1) | (0 * 0x0020))), FpUserData: uintptr(int64(0)), FpNext: uintptr(0), FxSFunc: 0, FxFinalize: uintptr(0), FxValue: uintptr(0), FxInverse: uintptr(0), FzName: ts + 16380 /* "replace" */, Fu: struct{ FpHash uintptr }{FpHash: uintptr(0)}}, - {FnArg: int8(1), FfuncFlags: (U32((0x0800 | 1) | (0 * 0x0020))), FpUserData: uintptr(int64(0)), FpNext: uintptr(0), FxSFunc: 0, FxFinalize: uintptr(0), FxValue: uintptr(0), FxInverse: uintptr(0), FzName: ts + 16388 /* "zeroblob" */, Fu: struct{ FpHash uintptr }{FpHash: uintptr(0)}}, - {FnArg: int8(2), FfuncFlags: (U32((0x0800 | 1) | (0 * 0x0020))), FpUserData: uintptr(int64(0)), FpNext: uintptr(0), FxSFunc: 0, FxFinalize: uintptr(0), FxValue: uintptr(0), FxInverse: uintptr(0), FzName: ts + 16397 /* "substr" */, Fu: struct{ FpHash uintptr }{FpHash: uintptr(0)}}, - {FnArg: int8(3), FfuncFlags: (U32((0x0800 | 1) | (0 * 0x0020))), FpUserData: uintptr(int64(0)), FpNext: uintptr(0), FxSFunc: 0, FxFinalize: uintptr(0), FxValue: uintptr(0), FxInverse: uintptr(0), FzName: ts + 16397 /* "substr" */, Fu: struct{ FpHash uintptr }{FpHash: uintptr(0)}}, - {FnArg: int8(1), FfuncFlags: (U32((1 | (0 * 0x0020)) | 0)), FpUserData: uintptr(int64(0)), FpNext: uintptr(0), FxSFunc: 0, FxFinalize: 0, FxValue: 0, FxInverse: 0, FzName: ts + 16404 /* "sum" */, Fu: struct{ FpHash uintptr }{FpHash: uintptr(0)}}, - {FnArg: int8(1), FfuncFlags: (U32((1 | (0 * 0x0020)) | 0)), FpUserData: uintptr(int64(0)), FpNext: uintptr(0), FxSFunc: 0, FxFinalize: 0, FxValue: 0, FxInverse: 0, FzName: ts + 16408 /* "total" */, Fu: struct{ FpHash uintptr }{FpHash: uintptr(0)}}, - {FnArg: int8(1), FfuncFlags: (U32((1 | (0 * 0x0020)) | 0)), FpUserData: uintptr(int64(0)), FpNext: uintptr(0), FxSFunc: 0, FxFinalize: 0, FxValue: 0, FxInverse: 0, FzName: ts + 16414 /* "avg" */, Fu: struct{ FpHash uintptr }{FpHash: uintptr(0)}}, - {FnArg: int8(0), FfuncFlags: (U32((1 | (0 * 0x0020)) | 0x0100)), FpUserData: uintptr(int64(0)), FpNext: uintptr(0), FxSFunc: 0, FxFinalize: 0, FxValue: 0, FxInverse: 0, FzName: ts + 16418 /* "count" */, Fu: struct{ FpHash uintptr }{FpHash: uintptr(0)}}, - {FnArg: int8(1), FfuncFlags: (U32((1 | (0 * 0x0020)) | 0)), FpUserData: uintptr(int64(0)), FpNext: uintptr(0), FxSFunc: 0, FxFinalize: 0, FxValue: 0, FxInverse: 0, FzName: ts + 16418 /* "count" */, Fu: struct{ FpHash uintptr }{FpHash: uintptr(0)}}, - {FnArg: int8(1), FfuncFlags: (U32((1 | (0 * 0x0020)) | 0)), FpUserData: uintptr(int64(0)), FpNext: uintptr(0), FxSFunc: 0, FxFinalize: 0, FxValue: 0, FxInverse: 0, FzName: ts + 16424 /* "group_concat" */, Fu: struct{ FpHash uintptr }{FpHash: uintptr(0)}}, - {FnArg: int8(2), FfuncFlags: (U32((1 | (0 * 0x0020)) | 0)), FpUserData: uintptr(int64(0)), FpNext: uintptr(0), FxSFunc: 0, FxFinalize: 0, FxValue: 0, FxInverse: 0, FzName: ts + 16424 /* "group_concat" */, Fu: struct{ FpHash uintptr }{FpHash: uintptr(0)}}, - - {FnArg: int8(2), FfuncFlags: (U32(((0x0800 | 1) | 0x0004) | 0x0008)), FpUserData: 0, FpNext: uintptr(0), FxSFunc: 0, FxFinalize: uintptr(0), FxValue: uintptr(0), FxInverse: uintptr(0), FzName: ts + 16437 /* "glob" */, Fu: struct{ FpHash uintptr }{FpHash: uintptr(0)}}, - {FnArg: int8(2), FfuncFlags: (U32((0x0800 | 1) | 0x0004)), FpUserData: 0, FpNext: uintptr(0), FxSFunc: 0, FxFinalize: uintptr(0), FxValue: uintptr(0), FxInverse: uintptr(0), FzName: ts + 15997 /* "like" */, Fu: struct{ FpHash uintptr }{FpHash: uintptr(0)}}, - {FnArg: int8(3), FfuncFlags: (U32((0x0800 | 1) | 0x0004)), FpUserData: 0, FpNext: uintptr(0), FxSFunc: 0, FxFinalize: uintptr(0), FxValue: uintptr(0), FxInverse: uintptr(0), FzName: ts + 15997 /* "like" */, Fu: struct{ FpHash uintptr }{FpHash: uintptr(0)}}, - {FnArg: int8(1), FfuncFlags: (U32((0x0800 | 1) | (0 * 0x0020))), FpUserData: uintptr(int64(0)), FpNext: uintptr(0), FxSFunc: uintptr(0), FxFinalize: uintptr(0), FxValue: uintptr(0), FxInverse: uintptr(0), FzName: ts + 16442 /* "coalesce" */, Fu: struct{ FpHash uintptr }{FpHash: uintptr(0)}}, - {FnArg: int8(0), FfuncFlags: (U32((0x0800 | 1) | (0 * 0x0020))), FpUserData: uintptr(int64(0)), FpNext: uintptr(0), FxSFunc: uintptr(0), FxFinalize: uintptr(0), FxValue: uintptr(0), FxInverse: uintptr(0), FzName: ts + 16442 /* "coalesce" */, Fu: struct{ FpHash uintptr }{FpHash: uintptr(0)}}, - {FnArg: int8(-1), FfuncFlags: (U32(((1 | 0x00400000) | 0x0800) | (0))), FpUserData: uintptr(int64(0)), FpNext: uintptr(0), FxSFunc: 0, FxFinalize: uintptr(0), FxValue: uintptr(0), FxInverse: uintptr(0), FzName: ts + 16442 /* "coalesce" */, Fu: struct{ FpHash uintptr }{FpHash: uintptr(0)}}, - {FnArg: int8(3), FfuncFlags: (U32(((1 | 0x00400000) | 0x0800) | (0))), FpUserData: uintptr(int64(5)), FpNext: uintptr(0), FxSFunc: 0, FxFinalize: uintptr(0), FxValue: uintptr(0), FxInverse: uintptr(0), FzName: ts + 16451 /* "iif" */, Fu: struct{ FpHash uintptr }{FpHash: uintptr(0)}}, + { + FnArg: int8(1), + FfuncFlags: (U32((0x0800 | 1) | (0 * 0x0020))), + FpUserData: uintptr(int64(0)), + FpNext: uintptr(0), + FxSFunc: 0, + FxFinalize: uintptr(0), + FxValue: uintptr(0), + FxInverse: uintptr(0), + FzName: ts + 16053 /* "soundex" */, Fu: struct{ FpHash uintptr }{}}, + { + FnArg: int8(1), + FfuncFlags: (U32((1 | 0x000080000) | 0x00200000)), + FpUserData: uintptr(int64(0)), + FpNext: uintptr(0), + FxSFunc: 0, + FxFinalize: uintptr(0), + FxValue: uintptr(0), + FxInverse: uintptr(0), + FzName: ts + 16061 /* "load_extension" */, Fu: struct{ FpHash uintptr }{}}, + { + FnArg: int8(2), + FfuncFlags: (U32((1 | 0x000080000) | 0x00200000)), + FpUserData: uintptr(int64(0)), + FpNext: uintptr(0), + FxSFunc: 0, + FxFinalize: uintptr(0), + FxValue: uintptr(0), + FxInverse: uintptr(0), + FzName: ts + 16061 /* "load_extension" */, Fu: struct{ FpHash uintptr }{}}, + { + FnArg: int8(1), + FfuncFlags: (U32(0x2000 | 1)), + FpUserData: uintptr(0), + FpNext: uintptr(0), + FxSFunc: 0, + FxFinalize: uintptr(0), + FxValue: uintptr(0), + FxInverse: uintptr(0), + FzName: ts + 16076 /* "sqlite_compileop..." */, Fu: struct{ FpHash uintptr }{}}, + { + FnArg: int8(1), + FfuncFlags: (U32(0x2000 | 1)), + FpUserData: uintptr(0), + FpNext: uintptr(0), + FxSFunc: 0, + FxFinalize: uintptr(0), + FxValue: uintptr(0), + FxInverse: uintptr(0), + FzName: ts + 16102 /* "sqlite_compileop..." */, Fu: struct{ FpHash uintptr }{}}, + { + FnArg: int8(1), + FfuncFlags: (U32(((1 | 0x00400000) | 0x0800) | (0x0400))), + FpUserData: uintptr(int64(99)), + FpNext: uintptr(0), + FxSFunc: 0, + FxFinalize: uintptr(0), + FxValue: uintptr(0), + FxInverse: uintptr(0), + FzName: ts + 16127 /* "unlikely" */, Fu: struct{ FpHash uintptr }{}}, + { + FnArg: int8(2), + FfuncFlags: (U32(((1 | 0x00400000) | 0x0800) | (0x0400))), + FpUserData: uintptr(int64(99)), + FpNext: uintptr(0), + FxSFunc: 0, + FxFinalize: uintptr(0), + FxValue: uintptr(0), + FxInverse: uintptr(0), + FzName: ts + 16136 /* "likelihood" */, Fu: struct{ FpHash uintptr }{}}, + { + FnArg: int8(1), + FfuncFlags: (U32(((1 | 0x00400000) | 0x0800) | (0x0400))), + FpUserData: uintptr(int64(99)), + FpNext: uintptr(0), + FxSFunc: 0, + FxFinalize: uintptr(0), + FxValue: uintptr(0), + FxInverse: uintptr(0), + FzName: ts + 16147 /* "likely" */, Fu: struct{ FpHash uintptr }{}}, + { + FnArg: int8(1), + FfuncFlags: (U32((((0x0800 | 1) | (0 * 0x0020)) | 0x8000) | 0x0080)), + FpUserData: uintptr(int64(0)), + FpNext: uintptr(0), + FxSFunc: 0, + FxFinalize: uintptr(0), + FxValue: uintptr(0), + FxInverse: uintptr(0), + FzName: ts + 16154 /* "sqlite_offset" */, Fu: struct{ FpHash uintptr }{}}, + { + FnArg: int8(1), + FfuncFlags: (U32((0x0800 | 1) | (0 * 0x0020))), + FpUserData: uintptr(int64(1)), + FpNext: uintptr(0), + FxSFunc: 0, + FxFinalize: uintptr(0), + FxValue: uintptr(0), + FxInverse: uintptr(0), + FzName: ts + 16168 /* "ltrim" */, Fu: struct{ FpHash uintptr }{}}, + { + FnArg: int8(2), + FfuncFlags: (U32((0x0800 | 1) | (0 * 0x0020))), + FpUserData: uintptr(int64(1)), + FpNext: uintptr(0), + FxSFunc: 0, + FxFinalize: uintptr(0), + FxValue: uintptr(0), + FxInverse: uintptr(0), + FzName: ts + 16168 /* "ltrim" */, Fu: struct{ FpHash uintptr }{}}, + { + FnArg: int8(1), + FfuncFlags: (U32((0x0800 | 1) | (0 * 0x0020))), + FpUserData: uintptr(int64(2)), + FpNext: uintptr(0), + FxSFunc: 0, + FxFinalize: uintptr(0), + FxValue: uintptr(0), + FxInverse: uintptr(0), + FzName: ts + 16174 /* "rtrim" */, Fu: struct{ FpHash uintptr }{}}, + { + FnArg: int8(2), + FfuncFlags: (U32((0x0800 | 1) | (0 * 0x0020))), + FpUserData: uintptr(int64(2)), + FpNext: uintptr(0), + FxSFunc: 0, + FxFinalize: uintptr(0), + FxValue: uintptr(0), + FxInverse: uintptr(0), + FzName: ts + 16174 /* "rtrim" */, Fu: struct{ FpHash uintptr }{}}, + { + FnArg: int8(1), + FfuncFlags: (U32((0x0800 | 1) | (0 * 0x0020))), + FpUserData: uintptr(int64(3)), + FpNext: uintptr(0), + FxSFunc: 0, + FxFinalize: uintptr(0), + FxValue: uintptr(0), + FxInverse: uintptr(0), + FzName: ts + 16180 /* "trim" */, Fu: struct{ FpHash uintptr }{}}, + { + FnArg: int8(2), + FfuncFlags: (U32((0x0800 | 1) | (0 * 0x0020))), + FpUserData: uintptr(int64(3)), + FpNext: uintptr(0), + FxSFunc: 0, + FxFinalize: uintptr(0), + FxValue: uintptr(0), + FxInverse: uintptr(0), + FzName: ts + 16180 /* "trim" */, Fu: struct{ FpHash uintptr }{}}, + { + FnArg: int8(-1), + FfuncFlags: (U32((0x0800 | 1) | (1 * 0x0020))), + FpUserData: uintptr(int64(0)), + FpNext: uintptr(0), + FxSFunc: 0, + FxFinalize: uintptr(0), + FxValue: uintptr(0), + FxInverse: uintptr(0), + FzName: ts + 16185 /* "min" */, Fu: struct{ FpHash uintptr }{}}, + { + FnArg: int8(0), + FfuncFlags: (U32((0x0800 | 1) | (1 * 0x0020))), + FpUserData: uintptr(int64(0)), + FpNext: uintptr(0), + FxSFunc: uintptr(0), + FxFinalize: uintptr(0), + FxValue: uintptr(0), + FxInverse: uintptr(0), + FzName: ts + 16185 /* "min" */, Fu: struct{ FpHash uintptr }{}}, + { + FnArg: int8(1), + FfuncFlags: (U32((1 | (1 * 0x0020)) | 0x1000)), + FpUserData: uintptr(int64(0)), + FpNext: uintptr(0), + FxSFunc: 0, + FxFinalize: 0, + FxValue: 0, + FxInverse: uintptr(0), + FzName: ts + 16185 /* "min" */, Fu: struct{ FpHash uintptr }{}}, + { + FnArg: int8(-1), + FfuncFlags: (U32((0x0800 | 1) | (1 * 0x0020))), + FpUserData: uintptr(int64(1)), + FpNext: uintptr(0), + FxSFunc: 0, + FxFinalize: uintptr(0), + FxValue: uintptr(0), + FxInverse: uintptr(0), + FzName: ts + 16189 /* "max" */, Fu: struct{ FpHash uintptr }{}}, + { + FnArg: int8(0), + FfuncFlags: (U32((0x0800 | 1) | (1 * 0x0020))), + FpUserData: uintptr(int64(1)), + FpNext: uintptr(0), + FxSFunc: uintptr(0), + FxFinalize: uintptr(0), + FxValue: uintptr(0), + FxInverse: uintptr(0), + FzName: ts + 16189 /* "max" */, Fu: struct{ FpHash uintptr }{}}, + { + FnArg: int8(1), + FfuncFlags: (U32((1 | (1 * 0x0020)) | 0x1000)), + FpUserData: uintptr(int64(1)), + FpNext: uintptr(0), + FxSFunc: 0, + FxFinalize: 0, + FxValue: 0, + FxInverse: uintptr(0), + FzName: ts + 16189 /* "max" */, Fu: struct{ FpHash uintptr }{}}, + { + FnArg: int8(1), + FfuncFlags: (U32(((0x0800 | 1) | (0 * 0x0020)) | 0x0080)), + FpUserData: uintptr(int64(0)), + FpNext: uintptr(0), + FxSFunc: 0, + FxFinalize: uintptr(0), + FxValue: uintptr(0), + FxInverse: uintptr(0), + FzName: ts + 16193 /* "typeof" */, Fu: struct{ FpHash uintptr }{}}, + { + FnArg: int8(1), + FfuncFlags: (U32(((0x0800 | 1) | (0 * 0x0020)) | 0x0040)), + FpUserData: uintptr(int64(0)), + FpNext: uintptr(0), + FxSFunc: 0, + FxFinalize: uintptr(0), + FxValue: uintptr(0), + FxInverse: uintptr(0), + FzName: ts + 16200 /* "length" */, Fu: struct{ FpHash uintptr }{}}, + { + FnArg: int8(2), + FfuncFlags: (U32((0x0800 | 1) | (0 * 0x0020))), + FpUserData: uintptr(int64(0)), + FpNext: uintptr(0), + FxSFunc: 0, + FxFinalize: uintptr(0), + FxValue: uintptr(0), + FxInverse: uintptr(0), + FzName: ts + 16207 /* "instr" */, Fu: struct{ FpHash uintptr }{}}, + { + FnArg: int8(-1), + FfuncFlags: (U32((0x0800 | 1) | (0 * 0x0020))), + FpUserData: uintptr(int64(0)), + FpNext: uintptr(0), + FxSFunc: 0, + FxFinalize: uintptr(0), + FxValue: uintptr(0), + FxInverse: uintptr(0), + FzName: ts + 16213 /* "printf" */, Fu: struct{ FpHash uintptr }{}}, + { + FnArg: int8(1), + FfuncFlags: (U32((0x0800 | 1) | (0 * 0x0020))), + FpUserData: uintptr(int64(0)), + FpNext: uintptr(0), + FxSFunc: 0, + FxFinalize: uintptr(0), + FxValue: uintptr(0), + FxInverse: uintptr(0), + FzName: ts + 16220 /* "unicode" */, Fu: struct{ FpHash uintptr }{}}, + { + FnArg: int8(-1), + FfuncFlags: (U32((0x0800 | 1) | (0 * 0x0020))), + FpUserData: uintptr(int64(0)), + FpNext: uintptr(0), + FxSFunc: 0, + FxFinalize: uintptr(0), + FxValue: uintptr(0), + FxInverse: uintptr(0), + FzName: ts + 16228 /* "char" */, Fu: struct{ FpHash uintptr }{}}, + { + FnArg: int8(1), + FfuncFlags: (U32((0x0800 | 1) | (0 * 0x0020))), + FpUserData: uintptr(int64(0)), + FpNext: uintptr(0), + FxSFunc: 0, + FxFinalize: uintptr(0), + FxValue: uintptr(0), + FxInverse: uintptr(0), + FzName: ts + 16233 /* "abs" */, Fu: struct{ FpHash uintptr }{}}, + { + FnArg: int8(1), + FfuncFlags: (U32((0x0800 | 1) | (0 * 0x0020))), + FpUserData: uintptr(int64(0)), + FpNext: uintptr(0), + FxSFunc: 0, + FxFinalize: uintptr(0), + FxValue: uintptr(0), + FxInverse: uintptr(0), + FzName: ts + 16237 /* "round" */, Fu: struct{ FpHash uintptr }{}}, + { + FnArg: int8(2), + FfuncFlags: (U32((0x0800 | 1) | (0 * 0x0020))), + FpUserData: uintptr(int64(0)), + FpNext: uintptr(0), + FxSFunc: 0, + FxFinalize: uintptr(0), + FxValue: uintptr(0), + FxInverse: uintptr(0), + FzName: ts + 16237 /* "round" */, Fu: struct{ FpHash uintptr }{}}, + { + FnArg: int8(1), + FfuncFlags: (U32((0x0800 | 1) | (0 * 0x0020))), + FpUserData: uintptr(int64(0)), + FpNext: uintptr(0), + FxSFunc: 0, + FxFinalize: uintptr(0), + FxValue: uintptr(0), + FxInverse: uintptr(0), + FzName: ts + 16243 /* "upper" */, Fu: struct{ FpHash uintptr }{}}, + { + FnArg: int8(1), + FfuncFlags: (U32((0x0800 | 1) | (0 * 0x0020))), + FpUserData: uintptr(int64(0)), + FpNext: uintptr(0), + FxSFunc: 0, + FxFinalize: uintptr(0), + FxValue: uintptr(0), + FxInverse: uintptr(0), + FzName: ts + 16249 /* "lower" */, Fu: struct{ FpHash uintptr }{}}, + { + FnArg: int8(1), + FfuncFlags: (U32((0x0800 | 1) | (0 * 0x0020))), + FpUserData: uintptr(int64(0)), + FpNext: uintptr(0), + FxSFunc: 0, + FxFinalize: uintptr(0), + FxValue: uintptr(0), + FxInverse: uintptr(0), + FzName: ts + 16255 /* "hex" */, Fu: struct{ FpHash uintptr }{}}, + { + FnArg: int8(2), + FfuncFlags: (U32(((1 | 0x00400000) | 0x0800) | (0))), + FpUserData: uintptr(int64(0)), + FpNext: uintptr(0), + FxSFunc: 0, + FxFinalize: uintptr(0), + FxValue: uintptr(0), + FxInverse: uintptr(0), + FzName: ts + 16259 /* "ifnull" */, Fu: struct{ FpHash uintptr }{}}, + { + FnArg: int8(0), + FfuncFlags: (U32(1 | (0 * 0x0020))), + FpUserData: uintptr(int64(0)), + FpNext: uintptr(0), + FxSFunc: 0, + FxFinalize: uintptr(0), + FxValue: uintptr(0), + FxInverse: uintptr(0), + FzName: ts + 16266 /* "random" */, Fu: struct{ FpHash uintptr }{}}, + { + FnArg: int8(1), + FfuncFlags: (U32(1 | (0 * 0x0020))), + FpUserData: uintptr(int64(0)), + FpNext: uintptr(0), + FxSFunc: 0, + FxFinalize: uintptr(0), + FxValue: uintptr(0), + FxInverse: uintptr(0), + FzName: ts + 16273 /* "randomblob" */, Fu: struct{ FpHash uintptr }{}}, + { + FnArg: int8(2), + FfuncFlags: (U32((0x0800 | 1) | (1 * 0x0020))), + FpUserData: uintptr(int64(0)), + FpNext: uintptr(0), + FxSFunc: 0, + FxFinalize: uintptr(0), + FxValue: uintptr(0), + FxInverse: uintptr(0), + FzName: ts + 16284 /* "nullif" */, Fu: struct{ FpHash uintptr }{}}, + { + FnArg: int8(0), + FfuncFlags: (U32(0x2000 | 1)), + FpUserData: uintptr(0), + FpNext: uintptr(0), + FxSFunc: 0, + FxFinalize: uintptr(0), + FxValue: uintptr(0), + FxInverse: uintptr(0), + FzName: ts + 16291 /* "sqlite_version" */, Fu: struct{ FpHash uintptr }{}}, + { + FnArg: int8(0), + FfuncFlags: (U32(0x2000 | 1)), + FpUserData: uintptr(0), + FpNext: uintptr(0), + FxSFunc: 0, + FxFinalize: uintptr(0), + FxValue: uintptr(0), + FxInverse: uintptr(0), + FzName: ts + 16306 /* "sqlite_source_id" */, Fu: struct{ FpHash uintptr }{}}, + { + FnArg: int8(2), + FfuncFlags: (U32((0x0800 | 1) | (0 * 0x0020))), + FpUserData: uintptr(int64(0)), + FpNext: uintptr(0), + FxSFunc: 0, + FxFinalize: uintptr(0), + FxValue: uintptr(0), + FxInverse: uintptr(0), + FzName: ts + 16323 /* "sqlite_log" */, Fu: struct{ FpHash uintptr }{}}, + { + FnArg: int8(1), + FfuncFlags: (U32((0x0800 | 1) | (0 * 0x0020))), + FpUserData: uintptr(int64(0)), + FpNext: uintptr(0), + FxSFunc: 0, + FxFinalize: uintptr(0), + FxValue: uintptr(0), + FxInverse: uintptr(0), + FzName: ts + 16334 /* "quote" */, Fu: struct{ FpHash uintptr }{}}, + { + FnArg: int8(0), + FfuncFlags: (U32(1 | (0 * 0x0020))), + FpUserData: uintptr(int64(0)), + FpNext: uintptr(0), + FxSFunc: 0, + FxFinalize: uintptr(0), + FxValue: uintptr(0), + FxInverse: uintptr(0), + FzName: ts + 16340 /* "last_insert_rowi..." */, Fu: struct{ FpHash uintptr }{}}, + { + FnArg: int8(0), + FfuncFlags: (U32(1 | (0 * 0x0020))), + FpUserData: uintptr(int64(0)), + FpNext: uintptr(0), + FxSFunc: 0, + FxFinalize: uintptr(0), + FxValue: uintptr(0), + FxInverse: uintptr(0), + FzName: ts + 16358 /* "changes" */, Fu: struct{ FpHash uintptr }{}}, + { + FnArg: int8(0), + FfuncFlags: (U32(1 | (0 * 0x0020))), + FpUserData: uintptr(int64(0)), + FpNext: uintptr(0), + FxSFunc: 0, + FxFinalize: uintptr(0), + FxValue: uintptr(0), + FxInverse: uintptr(0), + FzName: ts + 16366 /* "total_changes" */, Fu: struct{ FpHash uintptr }{}}, + { + FnArg: int8(3), + FfuncFlags: (U32((0x0800 | 1) | (0 * 0x0020))), + FpUserData: uintptr(int64(0)), + FpNext: uintptr(0), + FxSFunc: 0, + FxFinalize: uintptr(0), + FxValue: uintptr(0), + FxInverse: uintptr(0), + FzName: ts + 16380 /* "replace" */, Fu: struct{ FpHash uintptr }{}}, + { + FnArg: int8(1), + FfuncFlags: (U32((0x0800 | 1) | (0 * 0x0020))), + FpUserData: uintptr(int64(0)), + FpNext: uintptr(0), + FxSFunc: 0, + FxFinalize: uintptr(0), + FxValue: uintptr(0), + FxInverse: uintptr(0), + FzName: ts + 16388 /* "zeroblob" */, Fu: struct{ FpHash uintptr }{}}, + { + FnArg: int8(2), + FfuncFlags: (U32((0x0800 | 1) | (0 * 0x0020))), + FpUserData: uintptr(int64(0)), + FpNext: uintptr(0), + FxSFunc: 0, + FxFinalize: uintptr(0), + FxValue: uintptr(0), + FxInverse: uintptr(0), + FzName: ts + 16397 /* "substr" */, Fu: struct{ FpHash uintptr }{}}, + { + FnArg: int8(3), + FfuncFlags: (U32((0x0800 | 1) | (0 * 0x0020))), + FpUserData: uintptr(int64(0)), + FpNext: uintptr(0), + FxSFunc: 0, + FxFinalize: uintptr(0), + FxValue: uintptr(0), + FxInverse: uintptr(0), + FzName: ts + 16397 /* "substr" */, Fu: struct{ FpHash uintptr }{}}, + { + FnArg: int8(1), + FfuncFlags: (U32((1 | (0 * 0x0020)) | 0)), + FpUserData: uintptr(int64(0)), + FpNext: uintptr(0), + FxSFunc: 0, + FxFinalize: 0, + FxValue: 0, + FxInverse: 0, + FzName: ts + 16404 /* "sum" */, Fu: struct{ FpHash uintptr }{}}, + { + FnArg: int8(1), + FfuncFlags: (U32((1 | (0 * 0x0020)) | 0)), + FpUserData: uintptr(int64(0)), + FpNext: uintptr(0), + FxSFunc: 0, + FxFinalize: 0, + FxValue: 0, + FxInverse: 0, + FzName: ts + 16408 /* "total" */, Fu: struct{ FpHash uintptr }{}}, + { + FnArg: int8(1), + FfuncFlags: (U32((1 | (0 * 0x0020)) | 0)), + FpUserData: uintptr(int64(0)), + FpNext: uintptr(0), + FxSFunc: 0, + FxFinalize: 0, + FxValue: 0, + FxInverse: 0, + FzName: ts + 16414 /* "avg" */, Fu: struct{ FpHash uintptr }{}}, + { + FnArg: int8(0), + FfuncFlags: (U32((1 | (0 * 0x0020)) | 0x0100)), + FpUserData: uintptr(int64(0)), + FpNext: uintptr(0), + FxSFunc: 0, + FxFinalize: 0, + FxValue: 0, + FxInverse: 0, + FzName: ts + 16418 /* "count" */, Fu: struct{ FpHash uintptr }{}}, + { + FnArg: int8(1), + FfuncFlags: (U32((1 | (0 * 0x0020)) | 0)), + FpUserData: uintptr(int64(0)), + FpNext: uintptr(0), + FxSFunc: 0, + FxFinalize: 0, + FxValue: 0, + FxInverse: 0, + FzName: ts + 16418 /* "count" */, Fu: struct{ FpHash uintptr }{}}, + { + FnArg: int8(1), + FfuncFlags: (U32((1 | (0 * 0x0020)) | 0)), + FpUserData: uintptr(int64(0)), + FpNext: uintptr(0), + FxSFunc: 0, + FxFinalize: 0, + FxValue: 0, + FxInverse: 0, + FzName: ts + 16424 /* "group_concat" */, Fu: struct{ FpHash uintptr }{}}, + { + FnArg: int8(2), + FfuncFlags: (U32((1 | (0 * 0x0020)) | 0)), + FpUserData: uintptr(int64(0)), + FpNext: uintptr(0), + FxSFunc: 0, + FxFinalize: 0, + FxValue: 0, + FxInverse: 0, + FzName: ts + 16424 /* "group_concat" */, Fu: struct{ FpHash uintptr }{}}, + + { + FnArg: int8(2), + FfuncFlags: (U32(((0x0800 | 1) | 0x0004) | 0x0008)), + FpUserData: 0, + FpNext: uintptr(0), + FxSFunc: 0, + FxFinalize: uintptr(0), + FxValue: uintptr(0), + FxInverse: uintptr(0), + FzName: ts + 16437 /* "glob" */, Fu: struct{ FpHash uintptr }{}}, + { + FnArg: int8(2), + FfuncFlags: (U32((0x0800 | 1) | 0x0004)), + FpUserData: 0, + FpNext: uintptr(0), + FxSFunc: 0, + FxFinalize: uintptr(0), + FxValue: uintptr(0), + FxInverse: uintptr(0), + FzName: ts + 15997 /* "like" */, Fu: struct{ FpHash uintptr }{}}, + { + FnArg: int8(3), + FfuncFlags: (U32((0x0800 | 1) | 0x0004)), + FpUserData: 0, + FpNext: uintptr(0), + FxSFunc: 0, + FxFinalize: uintptr(0), + FxValue: uintptr(0), + FxInverse: uintptr(0), + FzName: ts + 15997 /* "like" */, Fu: struct{ FpHash uintptr }{}}, + { + FnArg: int8(1), + FfuncFlags: (U32((0x0800 | 1) | (0 * 0x0020))), + FpUserData: uintptr(int64(0)), + FpNext: uintptr(0), + FxSFunc: uintptr(0), + FxFinalize: uintptr(0), + FxValue: uintptr(0), + FxInverse: uintptr(0), + FzName: ts + 16442 /* "coalesce" */, Fu: struct{ FpHash uintptr }{}}, + { + FnArg: int8(0), + FfuncFlags: (U32((0x0800 | 1) | (0 * 0x0020))), + FpUserData: uintptr(int64(0)), + FpNext: uintptr(0), + FxSFunc: uintptr(0), + FxFinalize: uintptr(0), + FxValue: uintptr(0), + FxInverse: uintptr(0), + FzName: ts + 16442 /* "coalesce" */, Fu: struct{ FpHash uintptr }{}}, + { + FnArg: int8(-1), + FfuncFlags: (U32(((1 | 0x00400000) | 0x0800) | (0))), + FpUserData: uintptr(int64(0)), + FpNext: uintptr(0), + FxSFunc: 0, + FxFinalize: uintptr(0), + FxValue: uintptr(0), + FxInverse: uintptr(0), + FzName: ts + 16442 /* "coalesce" */, Fu: struct{ FpHash uintptr }{}}, + { + FnArg: int8(3), + FfuncFlags: (U32(((1 | 0x00400000) | 0x0800) | (0))), + FpUserData: uintptr(int64(5)), + FpNext: uintptr(0), + FxSFunc: 0, + FxFinalize: uintptr(0), + FxValue: uintptr(0), + FxInverse: uintptr(0), + FzName: ts + 16451 /* "iif" */, Fu: struct{ FpHash uintptr }{}}, } /* sqlite3.c:118975:18 */ //************* End of func.c *********************************************** @@ -98631,7 +99915,7 @@ func Xsqlite3FkLocateIndex(tls *libc.TLS, pParse uintptr, pParent uintptr, pFKey // If zKey is NULL, then this foreign key is implicitly mapped to // the PRIMARY KEY of table pParent. The PRIMARY KEY index may be // identified by the test. - if int32(*(*uint16)(unsafe.Pointer((pIdx) + 100 /* &.idxType */))&0x3>>0) == 2 { + if (int32(*(*uint16)(unsafe.Pointer((pIdx) + 100 /* &.idxType */)) & 0x3 >> 0)) == 2 { if aiCol != 0 { var i int32 for i = 0; i < nCol; i++ { @@ -99578,8 +100862,12 @@ 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 + 8323 /* "old" */, Fn: uint32(3)} // Literal "old" token - *(*Token)(unsafe.Pointer(bp + 64 /* tNew */)) = Token{Fz: ts + 8319 /* "new" */, Fn: uint32(3)} // Literal "new" token + *(*Token)(unsafe.Pointer(bp + 48 /* tOld */)) = Token{ + Fz: ts + 8323, /* "old" */ + Fn: uint32(3)} // Literal "old" token + *(*Token)(unsafe.Pointer(bp + 64 /* tNew */)) = Token{ + Fz: ts + 8319, /* "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 @@ -100219,18 +101507,66 @@ func Xsqlite3AutoincrementBegin(tls *libc.TLS, pParse uintptr) { /* sqlite3.c:12 var iLn1 int32 = 0 /* sqlite3.c:120957:22 */ var autoInc = [12]VdbeOpList{ - /* 0 */ {Fopcode: U8(72), Fp1: int8(0), Fp2: int8(0), Fp3: int8(0)}, - /* 1 */ {Fopcode: U8(37), Fp1: int8(0), Fp2: int8(10), Fp3: int8(0)}, - /* 2 */ {Fopcode: U8(89), Fp1: int8(0), Fp2: int8(0), Fp3: int8(0)}, - /* 3 */ {Fopcode: U8(52), Fp1: int8(0), Fp2: int8(9), Fp3: int8(0)}, - /* 4 */ {Fopcode: U8(127), Fp1: int8(0), Fp2: int8(0), Fp3: int8(0)}, - /* 5 */ {Fopcode: U8(89), Fp1: int8(0), Fp2: int8(1), Fp3: int8(0)}, - /* 6 */ {Fopcode: U8(82), Fp1: int8(0), Fp2: int8(0), Fp3: int8(0)}, - /* 7 */ {Fopcode: U8(77), Fp1: int8(0), Fp2: int8(0), Fp3: int8(0)}, - /* 8 */ {Fopcode: U8(11), Fp1: int8(0), Fp2: int8(11), Fp3: int8(0)}, - /* 9 */ {Fopcode: U8(5), Fp1: int8(0), Fp2: int8(2), Fp3: int8(0)}, - /* 10 */ {Fopcode: U8(69), Fp1: int8(0), Fp2: int8(0), Fp3: int8(0)}, - /* 11 */ {Fopcode: U8(116), Fp1: int8(0), Fp2: int8(0), Fp3: int8(0)}, + /* 0 */ { + Fopcode: U8(72), + Fp1: int8(0), + Fp2: int8(0), + Fp3: int8(0)}, + /* 1 */ { + Fopcode: U8(37), + Fp1: int8(0), + Fp2: int8(10), + Fp3: int8(0)}, + /* 2 */ { + Fopcode: U8(89), + Fp1: int8(0), + Fp2: int8(0), + Fp3: int8(0)}, + /* 3 */ { + Fopcode: U8(52), + Fp1: int8(0), + Fp2: int8(9), + Fp3: int8(0)}, + /* 4 */ { + Fopcode: U8(127), + Fp1: int8(0), + Fp2: int8(0), + Fp3: int8(0)}, + /* 5 */ { + Fopcode: U8(89), + Fp1: int8(0), + Fp2: int8(1), + Fp3: int8(0)}, + /* 6 */ { + Fopcode: U8(82), + Fp1: int8(0), + Fp2: int8(0), + Fp3: int8(0)}, + /* 7 */ { + Fopcode: U8(77), + Fp1: int8(0), + Fp2: int8(0), + Fp3: int8(0)}, + /* 8 */ { + Fopcode: U8(11), + Fp1: int8(0), + Fp2: int8(11), + Fp3: int8(0)}, + /* 9 */ { + Fopcode: U8(5), + Fp1: int8(0), + Fp2: int8(2), + Fp3: int8(0)}, + /* 10 */ { + Fopcode: U8(69), + Fp1: int8(0), + Fp2: int8(0), + Fp3: int8(0)}, + /* 11 */ { + Fopcode: U8(116), + Fp1: int8(0), + Fp2: int8(0), + Fp3: int8(0)}, } /* sqlite3.c:120958:29 */ // Update the maximum rowid for an autoincrement calculation. @@ -100283,11 +101619,31 @@ func autoIncrementEnd(tls *libc.TLS, pParse uintptr) { /* sqlite3.c:121017:29: * var iLn2 int32 = 0 /* sqlite3.c:121024:22 */ var autoIncEnd = [5]VdbeOpList{ - /* 0 */ {Fopcode: U8(51), Fp1: int8(0), Fp2: int8(2), Fp3: int8(0)}, - /* 1 */ {Fopcode: U8(120), Fp1: int8(0), Fp2: int8(0), Fp3: int8(0)}, - /* 2 */ {Fopcode: U8(91), Fp1: int8(0), Fp2: int8(2), Fp3: int8(0)}, - /* 3 */ {Fopcode: U8(121), Fp1: int8(0), Fp2: int8(0), Fp3: int8(0)}, - /* 4 */ {Fopcode: U8(116), Fp1: int8(0), Fp2: int8(0), Fp3: int8(0)}, + /* 0 */ { + Fopcode: U8(51), + Fp1: int8(0), + Fp2: int8(2), + Fp3: int8(0)}, + /* 1 */ { + Fopcode: U8(120), + Fp1: int8(0), + Fp2: int8(0), + Fp3: int8(0)}, + /* 2 */ { + Fopcode: U8(91), + Fp1: int8(0), + Fp2: int8(2), + Fp3: int8(0)}, + /* 3 */ { + Fopcode: U8(121), + Fp1: int8(0), + Fp2: int8(0), + Fp3: int8(0)}, + /* 4 */ { + Fopcode: U8(116), + Fp1: int8(0), + Fp2: int8(0), + Fp3: int8(0)}, } /* sqlite3.c:121025:29 */ func Xsqlite3AutoincrementEnd(tls *libc.TLS, pParse uintptr) { /* sqlite3.c:121054:21: */ if (*Parse)(unsafe.Pointer(pParse)).FpAinc != 0 { @@ -102118,7 +103474,7 @@ __1: var addrJump int32 = (Xsqlite3VdbeCurrentAddr(tls, v) + int32((*Index)(unsafe.Pointer(pPk)).FnKeyCol)) var op int32 = 52 var regCmp int32 = func() int32 { - if int32(*(*uint16)(unsafe.Pointer((pIdx) + 100 /* &.idxType */))&0x3>>0) == 2 { + if (int32(*(*uint16)(unsafe.Pointer((pIdx) + 100 /* &.idxType */)) & 0x3 >> 0)) == 2 { return regIdx } return regR @@ -102342,7 +103698,7 @@ __1: } return uint8(0) }() - if (int32(*(*uint16)(unsafe.Pointer((pIdx) + 100 /* &.idxType */))&0x3>>0) == 2) && !(((*Table)(unsafe.Pointer((pTab))).FtabFlags & U32(0x0080)) == U32(0)) { + if ((int32(*(*uint16)(unsafe.Pointer((pIdx) + 100 /* &.idxType */)) & 0x3 >> 0)) == 2) && !(((*Table)(unsafe.Pointer((pTab))).FtabFlags & U32(0x0080)) == U32(0)) { pik_flags = U8(int32(pik_flags) | (0x01)) pik_flags = U8(int32(pik_flags) | (update_flags & 0x02)) @@ -102358,7 +103714,7 @@ __1: Xsqlite3VdbeAddOp4Int(tls, v, 130, (iIdxCur + i), *(*int32)(unsafe.Pointer(aRegIdx + uintptr(i)*4)), (*(*int32)(unsafe.Pointer(aRegIdx + uintptr(i)*4)) + 1), func() int32 { - if uint32(int32(*(*uint16)(unsafe.Pointer(pIdx + 100 /* &.uniqNotNull */))&0x8>>3)) != 0 { + if (uint32(int32(*(*uint16)(unsafe.Pointer(pIdx + 100 /* &.uniqNotNull */)) & 0x8 >> 3))) != 0 { return int32((*Index)(unsafe.Pointer(pIdx)).FnKeyCol) } return int32((*Index)(unsafe.Pointer(pIdx)).FnColumn) @@ -102462,7 +103818,7 @@ __1: { var iIdxCur int32 = libc.PostIncInt32(&iBase, 1) - if (int32(*(*uint16)(unsafe.Pointer((pIdx) + 100 /* &.idxType */))&0x3>>0) == 2) && !(((*Table)(unsafe.Pointer((pTab))).FtabFlags & U32(0x0080)) == U32(0)) { + if ((int32(*(*uint16)(unsafe.Pointer((pIdx) + 100 /* &.idxType */)) & 0x3 >> 0)) == 2) && !(((*Table)(unsafe.Pointer((pTab))).FtabFlags & U32(0x0080)) == U32(0)) { if piDataCur != 0 { *(*int32)(unsafe.Pointer(piDataCur)) = iIdxCur } @@ -102870,7 +104226,7 @@ func xferOptimization(tls *libc.TLS, pParse uintptr, pDest uintptr, pSelect uint idxInsFlags = U8(0x10) Xsqlite3VdbeAddOp1(tls, v, 129, iDest) } - } else if !(((*Table)(unsafe.Pointer((pSrc))).FtabFlags & U32(0x0080)) == U32(0)) && (int32(*(*uint16)(unsafe.Pointer(pDestIdx + 100 /* &.idxType */))&0x3>>0) == 2) { + } else if !(((*Table)(unsafe.Pointer((pSrc))).FtabFlags & U32(0x0080)) == U32(0)) && ((int32(*(*uint16)(unsafe.Pointer(pDestIdx + 100 /* &.idxType */)) & 0x3 >> 0)) == 2) { idxInsFlags = U8(int32(idxInsFlags) | (0x01)) } Xsqlite3VdbeAddOp3(tls, v, 126, iSrc, regData, 1) @@ -103168,65 +104524,317 @@ type Sqlite3_loadext_entry = uintptr /* sqlite3.c:123939:13 */ // intend to use is supported by the library. Extensions should // also check to make sure that the pointer to the function is // not NULL before calling it. -var sqlite3Apis = Sqlite3_api_routines{Faggregate_context: 0, Faggregate_count: 0, Fbind_blob: 0, Fbind_double: 0, Fbind_int: 0, Fbind_int64: 0, Fbind_null: 0, Fbind_parameter_count: 0, Fbind_parameter_index: 0, Fbind_parameter_name: 0, Fbind_text: 0, Fbind_text16: 0, Fbind_value: 0, Fbusy_handler: 0, Fbusy_timeout: 0, Fchanges: 0, Fclose: 0, Fcollation_needed: 0, Fcollation_needed16: 0, Fcolumn_blob: 0, Fcolumn_bytes: 0, Fcolumn_bytes16: 0, Fcolumn_count: 0, Fcolumn_database_name: 0, Fcolumn_database_name16: 0, Fcolumn_decltype: 0, Fcolumn_decltype16: 0, Fcolumn_double: 0, Fcolumn_int: 0, Fcolumn_int64: 0, Fcolumn_name: 0, Fcolumn_name16: 0, Fcolumn_origin_name: 0, Fcolumn_origin_name16: 0, Fcolumn_table_name: 0, Fcolumn_table_name16: 0, Fcolumn_text: 0, Fcolumn_text16: 0, Fcolumn_type: 0, Fcolumn_value: 0, Fcommit_hook: 0, Fcomplete: 0, Fcomplete16: 0, Fcreate_collation: 0, Fcreate_collation16: 0, Fcreate_function: 0, Fcreate_function16: 0, Fcreate_module: 0, Fdata_count: 0, Fdb_handle: 0, Fdeclare_vtab: 0, Fenable_shared_cache: 0, Ferrcode: 0, Ferrmsg: 0, Ferrmsg16: 0, Fexec: 0, Fexpired: 0, Ffinalize: 0, Ffree: 0, Ffree_table: 0, Fget_autocommit: 0, Fget_auxdata: 0, Fget_table: 0, Fglobal_recover: uintptr(0), Finterruptx: // Was sqlite3_global_recover(), but that function is deprecated -0, Flast_insert_rowid: 0, Flibversion: 0, Flibversion_number: 0, Fmalloc: 0, Fmprintf: 0, Fopen64: 0, Fopen16: 0, Fprepare: 0, Fprepare16: 0, Fprofile: 0, Fprogress_handler: 0, Frealloc: 0, Freset: 0, Fresult_blob: 0, Fresult_double: 0, Fresult_error: 0, Fresult_error16: 0, Fresult_int: 0, Fresult_int64: 0, Fresult_null: 0, Fresult_text: 0, Fresult_text16: 0, Fresult_text16be: 0, Fresult_text16le: 0, Fresult_value: 0, Frollback_hook: 0, Fset_authorizer: 0, Fset_auxdata: 0, Fxsnprintf: 0, Fstep: 0, Ftable_column_metadata: 0, Fthread_cleanup: 0, Ftotal_changes: 0, Ftrace: 0, Ftransfer_bindings: 0, Fupdate_hook: 0, Fuser_data: 0, Fvalue_blob: 0, Fvalue_bytes: 0, Fvalue_bytes16: 0, Fvalue_double: 0, Fvalue_int: 0, Fvalue_int64: 0, Fvalue_numeric_type: 0, Fvalue_text: 0, Fvalue_text16: 0, Fvalue_text16be: 0, Fvalue_text16le: 0, Fvalue_type: 0, Fvmprintf: 0, Foverload_function: -// The original API set ends here. All extensions can call any -// of the APIs above provided that the pointer is not NULL. But -// before calling APIs that follow, extension should check the -// sqlite3_libversion_number() to make sure they are dealing with -// a library that is new enough to support that API. -// -0, Fprepare_v2: - -// Added after 3.3.13 -0, Fprepare16_v2: 0, Fclear_bindings: 0, Fcreate_module_v2: - -// Added for 3.4.1 -0, Fbind_zeroblob: - -// Added for 3.5.0 -0, Fblob_bytes: 0, Fblob_close: 0, Fblob_open: 0, Fblob_read: 0, Fblob_write: 0, Fcreate_collation_v2: 0, Ffile_control: 0, Fmemory_highwater: 0, Fmemory_used: 0, Fmutex_alloc: 0, Fmutex_enter: 0, Fmutex_free: 0, Fmutex_leave: 0, Fmutex_try: 0, Fopen_v2: 0, Frelease_memory: 0, Fresult_error_nomem: 0, Fresult_error_toobig: 0, Fsleep: 0, Fsoft_heap_limit: 0, Fvfs_find: 0, Fvfs_register: 0, Fvfs_unregister: 0, Fxthreadsafe: - -// Added for 3.5.8 -0, Fresult_zeroblob: 0, Fresult_error_code: 0, Ftest_control: 0, Frandomness: 0, Fcontext_db_handle: 0, Fextended_result_codes: - -// Added for 3.6.0 -0, Flimit: 0, Fnext_stmt: 0, Fsql: 0, Fstatus: 0, Fbackup_finish: - -// Added for 3.7.4 -0, Fbackup_init: 0, Fbackup_pagecount: 0, Fbackup_remaining: 0, Fbackup_step: 0, Fcompileoption_get: 0, Fcompileoption_used: 0, Fcreate_function_v2: 0, Fdb_config: 0, Fdb_mutex: 0, Fdb_status: 0, Fextended_errcode: 0, Flog: 0, Fsoft_heap_limit64: 0, Fsourceid: 0, Fstmt_status: 0, Fstrnicmp: 0, Funlock_notify: 0, Fwal_autocheckpoint: 0, Fwal_checkpoint: 0, Fwal_hook: 0, Fblob_reopen: 0, Fvtab_config: 0, Fvtab_on_conflict: 0, Fclose_v2: 0, Fdb_filename: 0, Fdb_readonly: 0, Fdb_release_memory: 0, Ferrstr: 0, Fstmt_busy: 0, Fstmt_readonly: 0, Fstricmp: 0, Furi_boolean: 0, Furi_int64: 0, Furi_parameter: 0, Fxvsnprintf: 0, Fwal_checkpoint_v2: 0, Fauto_extension: -// Version 3.8.7 and later -0, Fbind_blob64: 0, Fbind_text64: 0, Fcancel_auto_extension: 0, Fload_extension: 0, Fmalloc64: 0, Fmsize: 0, Frealloc64: 0, Freset_auto_extension: 0, Fresult_blob64: 0, Fresult_text64: 0, Fstrglob: 0, Fvalue_dup: -// Version 3.8.11 and later -0, Fvalue_free: 0, Fresult_zeroblob64: 0, Fbind_zeroblob64: 0, Fvalue_subtype: -// Version 3.9.0 and later -0, Fresult_subtype: 0, Fstatus64: -// Version 3.10.0 and later -0, Fstrlike: 0, Fdb_cacheflush: 0, Fsystem_errno: -// Version 3.12.0 and later -0, Ftrace_v2: -// Version 3.14.0 and later -0, Fexpanded_sql: 0, Fset_last_insert_rowid: -// Version 3.18.0 and later -0, Fprepare_v3: -// Version 3.20.0 and later -0, Fprepare16_v3: 0, Fbind_pointer: 0, Fresult_pointer: 0, Fvalue_pointer: 0, Fvtab_nochange: -// Version 3.22.0 and later -0, Fvalue_nochange: 0, Fvtab_collation: 0, Fkeyword_count: -// Version 3.24.0 and later -0, Fkeyword_name: 0, Fkeyword_check: 0, Fstr_new: 0, Fstr_finish: 0, Fstr_appendf: 0, Fstr_vappendf: 0, Fstr_append: 0, Fstr_appendall: 0, Fstr_appendchar: 0, Fstr_reset: 0, Fstr_errcode: 0, Fstr_length: 0, Fstr_value: 0, Fcreate_window_function: -// Version 3.25.0 and later -0, Fnormalized_sql: -// Version 3.26.0 and later -uintptr(0), Fstmt_isexplain: -// Version 3.28.0 and later -0, Fvalue_frombind: 0, Fdrop_modules: -// Version 3.30.0 and later -0, Fhard_heap_limit64: -// Version 3.31.0 and later -0, Furi_key: 0, Ffilename_database: 0, Ffilename_journal: 0, Ffilename_wal: 0, Fcreate_filename: -// Version 3.32.0 and later -0, Ffree_filename: 0, Fdatabase_file_object: 0, +var sqlite3Apis = Sqlite3_api_routines{ + Faggregate_context: 0, + Faggregate_count: 0, + Fbind_blob: 0, + Fbind_double: 0, + Fbind_int: 0, + Fbind_int64: 0, + Fbind_null: 0, + Fbind_parameter_count: 0, + Fbind_parameter_index: 0, + Fbind_parameter_name: 0, + Fbind_text: 0, + Fbind_text16: 0, + Fbind_value: 0, + Fbusy_handler: 0, + Fbusy_timeout: 0, + Fchanges: 0, + Fclose: 0, + Fcollation_needed: 0, + Fcollation_needed16: 0, + Fcolumn_blob: 0, + Fcolumn_bytes: 0, + Fcolumn_bytes16: 0, + Fcolumn_count: 0, + Fcolumn_database_name: 0, + Fcolumn_database_name16: 0, + Fcolumn_decltype: 0, + Fcolumn_decltype16: 0, + Fcolumn_double: 0, + Fcolumn_int: 0, + Fcolumn_int64: 0, + Fcolumn_name: 0, + Fcolumn_name16: 0, + Fcolumn_origin_name: 0, + Fcolumn_origin_name16: 0, + Fcolumn_table_name: 0, + Fcolumn_table_name16: 0, + Fcolumn_text: 0, + Fcolumn_text16: 0, + Fcolumn_type: 0, + Fcolumn_value: 0, + Fcommit_hook: 0, + Fcomplete: 0, + Fcomplete16: 0, + Fcreate_collation: 0, + Fcreate_collation16: 0, + Fcreate_function: 0, + Fcreate_function16: 0, + Fcreate_module: 0, + Fdata_count: 0, + Fdb_handle: 0, + Fdeclare_vtab: 0, + Fenable_shared_cache: 0, + Ferrcode: 0, + Ferrmsg: 0, + Ferrmsg16: 0, + Fexec: 0, + Fexpired: 0, + Ffinalize: 0, + Ffree: 0, + Ffree_table: 0, + Fget_autocommit: 0, + Fget_auxdata: 0, + Fget_table: 0, + Fglobal_recover: uintptr(0), + Finterruptx:// Was sqlite3_global_recover(), but that function is deprecated + 0, + Flast_insert_rowid: 0, + Flibversion: 0, + Flibversion_number: 0, + Fmalloc: 0, + Fmprintf: 0, + Fopen64: 0, + Fopen16: 0, + Fprepare: 0, + Fprepare16: 0, + Fprofile: 0, + Fprogress_handler: 0, + Frealloc: 0, + Freset: 0, + Fresult_blob: 0, + Fresult_double: 0, + Fresult_error: 0, + Fresult_error16: 0, + Fresult_int: 0, + Fresult_int64: 0, + Fresult_null: 0, + Fresult_text: 0, + Fresult_text16: 0, + Fresult_text16be: 0, + Fresult_text16le: 0, + Fresult_value: 0, + Frollback_hook: 0, + Fset_authorizer: 0, + Fset_auxdata: 0, + Fxsnprintf: 0, + Fstep: 0, + Ftable_column_metadata: 0, + Fthread_cleanup: 0, + Ftotal_changes: 0, + Ftrace: 0, + Ftransfer_bindings: 0, + Fupdate_hook: 0, + Fuser_data: 0, + Fvalue_blob: 0, + Fvalue_bytes: 0, + Fvalue_bytes16: 0, + Fvalue_double: 0, + Fvalue_int: 0, + Fvalue_int64: 0, + Fvalue_numeric_type: 0, + Fvalue_text: 0, + Fvalue_text16: 0, + Fvalue_text16be: 0, + Fvalue_text16le: 0, + Fvalue_type: 0, + Fvmprintf: 0, + Foverload_function: + // The original API set ends here. All extensions can call any + // of the APIs above provided that the pointer is not NULL. But + // before calling APIs that follow, extension should check the + // sqlite3_libversion_number() to make sure they are dealing with + // a library that is new enough to support that API. + // + 0, + Fprepare_v2: + + // Added after 3.3.13 + 0, + Fprepare16_v2: 0, + Fclear_bindings: 0, + Fcreate_module_v2: + + // Added for 3.4.1 + 0, + Fbind_zeroblob: + + // Added for 3.5.0 + 0, + Fblob_bytes: 0, + Fblob_close: 0, + Fblob_open: 0, + Fblob_read: 0, + Fblob_write: 0, + Fcreate_collation_v2: 0, + Ffile_control: 0, + Fmemory_highwater: 0, + Fmemory_used: 0, + Fmutex_alloc: 0, + Fmutex_enter: 0, + Fmutex_free: 0, + Fmutex_leave: 0, + Fmutex_try: 0, + Fopen_v2: 0, + Frelease_memory: 0, + Fresult_error_nomem: 0, + Fresult_error_toobig: 0, + Fsleep: 0, + Fsoft_heap_limit: 0, + Fvfs_find: 0, + Fvfs_register: 0, + Fvfs_unregister: 0, + Fxthreadsafe: + + // Added for 3.5.8 + 0, + Fresult_zeroblob: 0, + Fresult_error_code: 0, + Ftest_control: 0, + Frandomness: 0, + Fcontext_db_handle: 0, + Fextended_result_codes: + + // Added for 3.6.0 + 0, + Flimit: 0, + Fnext_stmt: 0, + Fsql: 0, + Fstatus: 0, + Fbackup_finish: + + // Added for 3.7.4 + 0, + Fbackup_init: 0, + Fbackup_pagecount: 0, + Fbackup_remaining: 0, + Fbackup_step: 0, + Fcompileoption_get: 0, + Fcompileoption_used: 0, + Fcreate_function_v2: 0, + Fdb_config: 0, + Fdb_mutex: 0, + Fdb_status: 0, + Fextended_errcode: 0, + Flog: 0, + Fsoft_heap_limit64: 0, + Fsourceid: 0, + Fstmt_status: 0, + Fstrnicmp: 0, + Funlock_notify: 0, + Fwal_autocheckpoint: 0, + Fwal_checkpoint: 0, + Fwal_hook: 0, + Fblob_reopen: 0, + Fvtab_config: 0, + Fvtab_on_conflict: 0, + Fclose_v2: 0, + Fdb_filename: 0, + Fdb_readonly: 0, + Fdb_release_memory: 0, + Ferrstr: 0, + Fstmt_busy: 0, + Fstmt_readonly: 0, + Fstricmp: 0, + Furi_boolean: 0, + Furi_int64: 0, + Furi_parameter: 0, + Fxvsnprintf: 0, + Fwal_checkpoint_v2: 0, + Fauto_extension: + // Version 3.8.7 and later + 0, + Fbind_blob64: 0, + Fbind_text64: 0, + Fcancel_auto_extension: 0, + Fload_extension: 0, + Fmalloc64: 0, + Fmsize: 0, + Frealloc64: 0, + Freset_auto_extension: 0, + Fresult_blob64: 0, + Fresult_text64: 0, + Fstrglob: 0, + Fvalue_dup: + // Version 3.8.11 and later + 0, + Fvalue_free: 0, + Fresult_zeroblob64: 0, + Fbind_zeroblob64: 0, + Fvalue_subtype: + // Version 3.9.0 and later + 0, + Fresult_subtype: 0, + Fstatus64: + // Version 3.10.0 and later + 0, + Fstrlike: 0, + Fdb_cacheflush: 0, + Fsystem_errno: + // Version 3.12.0 and later + 0, + Ftrace_v2: + // Version 3.14.0 and later + 0, + Fexpanded_sql: 0, + Fset_last_insert_rowid: + // Version 3.18.0 and later + 0, + Fprepare_v3: + // Version 3.20.0 and later + 0, + Fprepare16_v3: 0, + Fbind_pointer: 0, + Fresult_pointer: 0, + Fvalue_pointer: 0, + Fvtab_nochange: + // Version 3.22.0 and later + 0, + Fvalue_nochange: 0, + Fvtab_collation: 0, + Fkeyword_count: + // Version 3.24.0 and later + 0, + Fkeyword_name: 0, + Fkeyword_check: 0, + Fstr_new: 0, + Fstr_finish: 0, + Fstr_appendf: 0, + Fstr_vappendf: 0, + Fstr_append: 0, + Fstr_appendall: 0, + Fstr_appendchar: 0, + Fstr_reset: 0, + Fstr_errcode: 0, + Fstr_length: 0, + Fstr_value: 0, + Fcreate_window_function: + // Version 3.25.0 and later + 0, + Fnormalized_sql: + // Version 3.26.0 and later + uintptr(0), + Fstmt_isexplain: + // Version 3.28.0 and later + 0, + Fvalue_frombind: 0, + Fdrop_modules: + // Version 3.30.0 and later + 0, + Fhard_heap_limit64: + // Version 3.31.0 and later + 0, + Furi_key: 0, + Ffilename_database: 0, + Ffilename_journal: 0, + Ffilename_wal: 0, + Fcreate_filename: + // Version 3.32.0 and later + 0, + Ffree_filename: 0, + Fdatabase_file_object: 0, } /* sqlite3.c:124371:35 */ // True if x is the directory separator character @@ -103432,8 +105040,8 @@ type sqlite3AutoExtList = struct { // // This list is shared across threads. The SQLITE_MUTEX_STATIC_MAIN // mutex must be held while accessing this list. -type Sqlite3AutoExtList = sqlite3AutoExtList /* sqlite3.c:124933:35 */ -var sqlite3Autoext = sqlite3AutoExtList{FnExt: U32(0), FaExt: uintptr(0)} /* sqlite3.c:124937:3 */ +type Sqlite3AutoExtList = sqlite3AutoExtList /* sqlite3.c:124933:35 */ +var sqlite3Autoext = sqlite3AutoExtList{} /* sqlite3.c:124937:3 */ // The "wsdAutoext" macro will resolve to the autoextension // state vector. If writable static data is unsupported on the target, @@ -103663,336 +105271,732 @@ type PragmaName1 = struct { // Definitions of all built-in pragmas type PragmaName = PragmaName1 /* sqlite3.c:125259:3 */ var aPragmaName = [66]PragmaName{ - {FzName: /* zName: */ ts + 17339 /* "analysis_limit" */, FePragTyp: - /* ePragTyp: */ U8(1), FmPragFlg: - /* ePragFlg: */ U8(0x10), FiPragCName: - /* ColNames: */ U8(0), FnPragCName: U8(0), FiArg: - /* iArg: */ uint64(0)}, - {FzName: /* zName: */ ts + 17354 /* "application_id" */, FePragTyp: - /* ePragTyp: */ U8(2), FmPragFlg: - /* ePragFlg: */ (U8(0x04 | 0x10)), FiPragCName: - /* ColNames: */ U8(0), FnPragCName: U8(0), FiArg: - /* iArg: */ uint64(8)}, - {FzName: /* zName: */ ts + 17369 /* "auto_vacuum" */, FePragTyp: - /* ePragTyp: */ U8(3), FmPragFlg: - /* ePragFlg: */ (U8(((0x01 | 0x10) | 0x80) | 0x04)), FiPragCName: - /* ColNames: */ U8(0), FnPragCName: U8(0), FiArg: - /* iArg: */ uint64(0)}, - {FzName: /* zName: */ ts + 17381 /* "automatic_index" */, FePragTyp: - /* ePragTyp: */ U8(4), FmPragFlg: - /* ePragFlg: */ (U8(0x10 | 0x04)), FiPragCName: - /* ColNames: */ U8(0), FnPragCName: U8(0), FiArg: - /* iArg: */ uint64(0x00008000)}, - {FzName: /* zName: */ ts + 17397 /* "busy_timeout" */, FePragTyp: - /* ePragTyp: */ U8(5), FmPragFlg: - /* ePragFlg: */ U8(0x10), FiPragCName: - /* ColNames: */ U8(50), FnPragCName: U8(1), FiArg: - /* iArg: */ uint64(0)}, - {FzName: /* zName: */ ts + 17320 /* "cache_size" */, FePragTyp: - /* ePragTyp: */ U8(6), FmPragFlg: - /* ePragFlg: */ (U8(((0x01 | 0x10) | 0x80) | 0x04)), FiPragCName: - /* ColNames: */ U8(0), FnPragCName: U8(0), FiArg: - /* iArg: */ uint64(0)}, - {FzName: /* zName: */ ts + 17410 /* "cache_spill" */, FePragTyp: - /* ePragTyp: */ U8(7), FmPragFlg: - /* ePragFlg: */ (U8((0x10 | 0x80) | 0x04)), FiPragCName: - /* ColNames: */ U8(0), FnPragCName: U8(0), FiArg: - /* iArg: */ uint64(0)}, - {FzName: /* zName: */ ts + 17422 /* "case_sensitive_l..." */, FePragTyp: - /* ePragTyp: */ U8(8), FmPragFlg: - /* ePragFlg: */ U8(0x02), FiPragCName: - /* ColNames: */ U8(0), FnPragCName: U8(0), FiArg: - /* iArg: */ uint64(0)}, - {FzName: /* zName: */ ts + 17442 /* "cell_size_check" */, FePragTyp: - /* ePragTyp: */ U8(4), FmPragFlg: - /* ePragFlg: */ (U8(0x10 | 0x04)), FiPragCName: - /* ColNames: */ U8(0), FnPragCName: U8(0), FiArg: - /* iArg: */ uint64(0x00200000)}, - {FzName: /* zName: */ ts + 17458 /* "checkpoint_fullf..." */, FePragTyp: - /* ePragTyp: */ U8(4), FmPragFlg: - /* ePragFlg: */ (U8(0x10 | 0x04)), FiPragCName: - /* ColNames: */ U8(0), FnPragCName: U8(0), FiArg: - /* iArg: */ uint64(0x00000010)}, - {FzName: /* zName: */ ts + 17479 /* "collation_list" */, FePragTyp: - /* ePragTyp: */ U8(9), FmPragFlg: - /* ePragFlg: */ U8(0x10), FiPragCName: - /* ColNames: */ U8(32), FnPragCName: U8(2), FiArg: - /* iArg: */ uint64(0)}, - {FzName: /* zName: */ ts + 17494 /* "compile_options" */, FePragTyp: - /* ePragTyp: */ U8(10), FmPragFlg: - /* ePragFlg: */ U8(0x10), FiPragCName: - /* ColNames: */ U8(0), FnPragCName: U8(0), FiArg: - /* iArg: */ uint64(0)}, - {FzName: /* zName: */ ts + 17510 /* "count_changes" */, FePragTyp: - /* ePragTyp: */ U8(4), FmPragFlg: - /* ePragFlg: */ (U8(0x10 | 0x04)), FiPragCName: - /* ColNames: */ U8(0), FnPragCName: U8(0), FiArg: - /* iArg: */ (U64((uint64(0x00001))) << 32)}, - {FzName: /* zName: */ ts + 17524 /* "data_version" */, FePragTyp: - /* ePragTyp: */ U8(2), FmPragFlg: - /* ePragFlg: */ (U8(0x08 | 0x10)), FiPragCName: - /* ColNames: */ U8(0), FnPragCName: U8(0), FiArg: - /* iArg: */ uint64(15)}, - {FzName: /* zName: */ ts + 17537 /* "database_list" */, FePragTyp: - /* ePragTyp: */ U8(12), FmPragFlg: - /* ePragFlg: */ (U8(0x01 | 0x10)), FiPragCName: - /* ColNames: */ U8(41), FnPragCName: U8(3), FiArg: - /* iArg: */ uint64(0)}, - {FzName: /* zName: */ ts + 17551 /* "default_cache_si..." */, FePragTyp: - /* ePragTyp: */ U8(13), FmPragFlg: - /* ePragFlg: */ (U8(((0x01 | 0x10) | 0x80) | 0x04)), FiPragCName: - /* ColNames: */ U8(49), FnPragCName: U8(1), FiArg: - /* iArg: */ uint64(0)}, - {FzName: /* zName: */ ts + 17570 /* "defer_foreign_ke..." */, FePragTyp: - /* ePragTyp: */ U8(4), FmPragFlg: - /* ePragFlg: */ (U8(0x10 | 0x04)), FiPragCName: - /* ColNames: */ U8(0), FnPragCName: U8(0), FiArg: - /* iArg: */ uint64(0x00080000)}, - {FzName: /* zName: */ ts + 17589 /* "empty_result_cal..." */, FePragTyp: - /* ePragTyp: */ U8(4), FmPragFlg: - /* ePragFlg: */ (U8(0x10 | 0x04)), FiPragCName: - /* ColNames: */ U8(0), FnPragCName: U8(0), FiArg: - /* iArg: */ uint64(0x00000100)}, - {FzName: /* zName: */ ts + 17612 /* "encoding" */, FePragTyp: - /* ePragTyp: */ U8(14), FmPragFlg: - /* ePragFlg: */ (U8(0x10 | 0x04)), FiPragCName: - /* ColNames: */ U8(0), FnPragCName: U8(0), FiArg: - /* iArg: */ uint64(0)}, - {FzName: /* zName: */ ts + 17621 /* "foreign_key_chec..." */, FePragTyp: - /* ePragTyp: */ U8(15), FmPragFlg: - /* ePragFlg: */ (U8(((0x01 | 0x10) | 0x20) | 0x40)), FiPragCName: - /* ColNames: */ U8(37), FnPragCName: U8(4), FiArg: - /* iArg: */ uint64(0)}, - {FzName: /* zName: */ ts + 17639 /* "foreign_key_list" */, FePragTyp: - /* ePragTyp: */ U8(16), FmPragFlg: - /* ePragFlg: */ (U8((0x01 | 0x20) | 0x40)), FiPragCName: - /* ColNames: */ U8(0), FnPragCName: U8(8), FiArg: - /* iArg: */ uint64(0)}, - {FzName: /* zName: */ ts + 17656 /* "foreign_keys" */, FePragTyp: - /* ePragTyp: */ U8(4), FmPragFlg: - /* ePragFlg: */ (U8(0x10 | 0x04)), FiPragCName: - /* ColNames: */ U8(0), FnPragCName: U8(0), FiArg: - /* iArg: */ uint64(0x00004000)}, - {FzName: /* zName: */ ts + 17669 /* "freelist_count" */, FePragTyp: - /* ePragTyp: */ U8(2), FmPragFlg: - /* ePragFlg: */ (U8(0x08 | 0x10)), FiPragCName: - /* ColNames: */ U8(0), FnPragCName: U8(0), FiArg: - /* iArg: */ uint64(0)}, - {FzName: /* zName: */ ts + 17684 /* "full_column_name..." */, FePragTyp: - /* ePragTyp: */ U8(4), FmPragFlg: - /* ePragFlg: */ (U8(0x10 | 0x04)), FiPragCName: - /* ColNames: */ U8(0), FnPragCName: U8(0), FiArg: - /* iArg: */ uint64(0x00000004)}, - {FzName: /* zName: */ ts + 17702 /* "fullfsync" */, FePragTyp: - /* ePragTyp: */ U8(4), FmPragFlg: - /* ePragFlg: */ (U8(0x10 | 0x04)), FiPragCName: - /* ColNames: */ U8(0), FnPragCName: U8(0), FiArg: - /* iArg: */ uint64(0x00000008)}, - {FzName: /* zName: */ ts + 17712 /* "function_list" */, FePragTyp: - /* ePragTyp: */ U8(17), FmPragFlg: - /* ePragFlg: */ U8(0x10), FiPragCName: - /* ColNames: */ U8(21), FnPragCName: U8(6), FiArg: - /* iArg: */ uint64(0)}, - {FzName: /* zName: */ ts + 17726 /* "hard_heap_limit" */, FePragTyp: - /* ePragTyp: */ U8(18), FmPragFlg: - /* ePragFlg: */ U8(0x10), FiPragCName: - /* ColNames: */ U8(0), FnPragCName: U8(0), FiArg: - /* iArg: */ uint64(0)}, - {FzName: /* zName: */ ts + 17742 /* "ignore_check_con..." */, FePragTyp: - /* ePragTyp: */ U8(4), FmPragFlg: - /* ePragFlg: */ (U8(0x10 | 0x04)), FiPragCName: - /* ColNames: */ U8(0), FnPragCName: U8(0), FiArg: - /* iArg: */ uint64(0x00000200)}, - {FzName: /* zName: */ ts + 17767 /* "incremental_vacu..." */, FePragTyp: - /* ePragTyp: */ U8(19), FmPragFlg: - /* ePragFlg: */ (U8(0x01 | 0x02)), FiPragCName: - /* ColNames: */ U8(0), FnPragCName: U8(0), FiArg: - /* iArg: */ uint64(0)}, - {FzName: /* zName: */ ts + 17786 /* "index_info" */, FePragTyp: - /* ePragTyp: */ U8(20), FmPragFlg: - /* ePragFlg: */ (U8((0x01 | 0x20) | 0x40)), FiPragCName: - /* ColNames: */ U8(15), FnPragCName: U8(3), FiArg: - /* iArg: */ uint64(0)}, - {FzName: /* zName: */ ts + 17797 /* "index_list" */, FePragTyp: - /* ePragTyp: */ U8(21), FmPragFlg: - /* ePragFlg: */ (U8((0x01 | 0x20) | 0x40)), FiPragCName: - /* ColNames: */ U8(32), FnPragCName: U8(5), FiArg: - /* iArg: */ uint64(0)}, - {FzName: /* zName: */ ts + 17808 /* "index_xinfo" */, FePragTyp: - /* ePragTyp: */ U8(20), FmPragFlg: - /* ePragFlg: */ (U8((0x01 | 0x20) | 0x40)), FiPragCName: - /* ColNames: */ U8(15), FnPragCName: U8(6), FiArg: - /* iArg: */ uint64(1)}, - {FzName: /* zName: */ ts + 17820 /* "integrity_check" */, FePragTyp: - /* ePragTyp: */ U8(22), FmPragFlg: - /* ePragFlg: */ (U8((0x01 | 0x10) | 0x20)), FiPragCName: - /* ColNames: */ U8(0), FnPragCName: U8(0), FiArg: - /* iArg: */ uint64(0)}, - {FzName: /* zName: */ ts + 17836 /* "journal_mode" */, FePragTyp: - /* ePragTyp: */ U8(23), FmPragFlg: - /* ePragFlg: */ (U8((0x01 | 0x10) | 0x80)), FiPragCName: - /* ColNames: */ U8(0), FnPragCName: U8(0), FiArg: - /* iArg: */ uint64(0)}, - {FzName: /* zName: */ ts + 17849 /* "journal_size_lim..." */, FePragTyp: - /* ePragTyp: */ U8(24), FmPragFlg: - /* ePragFlg: */ (U8(0x10 | 0x80)), FiPragCName: - /* ColNames: */ U8(0), FnPragCName: U8(0), FiArg: - /* iArg: */ uint64(0)}, - {FzName: /* zName: */ ts + 17868 /* "legacy_alter_tab..." */, FePragTyp: - /* ePragTyp: */ U8(4), FmPragFlg: - /* ePragFlg: */ (U8(0x10 | 0x04)), FiPragCName: - /* ColNames: */ U8(0), FnPragCName: U8(0), FiArg: - /* iArg: */ uint64(0x04000000)}, - {FzName: /* zName: */ ts + 17887 /* "lock_status" */, FePragTyp: - /* ePragTyp: */ U8(43), FmPragFlg: - /* ePragFlg: */ U8(0x10), FiPragCName: - /* ColNames: */ U8(47), FnPragCName: U8(2), FiArg: - /* iArg: */ uint64(0)}, - {FzName: /* zName: */ ts + 17899 /* "locking_mode" */, FePragTyp: - /* ePragTyp: */ U8(26), FmPragFlg: - /* ePragFlg: */ (U8(0x10 | 0x80)), FiPragCName: - /* ColNames: */ U8(0), FnPragCName: U8(0), FiArg: - /* iArg: */ uint64(0)}, - {FzName: /* zName: */ ts + 17912 /* "max_page_count" */, FePragTyp: - /* ePragTyp: */ U8(27), FmPragFlg: - /* ePragFlg: */ (U8((0x01 | 0x10) | 0x80)), FiPragCName: - /* ColNames: */ U8(0), FnPragCName: U8(0), FiArg: - /* iArg: */ uint64(0)}, - {FzName: /* zName: */ ts + 17927 /* "mmap_size" */, FePragTyp: - /* ePragTyp: */ U8(28), FmPragFlg: - /* ePragFlg: */ U8(0), FiPragCName: - /* ColNames: */ U8(0), FnPragCName: U8(0), FiArg: - /* iArg: */ uint64(0)}, - {FzName: /* zName: */ ts + 17937 /* "module_list" */, FePragTyp: - /* ePragTyp: */ U8(29), FmPragFlg: - /* ePragFlg: */ U8(0x10), FiPragCName: - /* ColNames: */ U8(9), FnPragCName: U8(1), FiArg: - /* iArg: */ uint64(0)}, - {FzName: /* zName: */ ts + 17949 /* "optimize" */, FePragTyp: - /* ePragTyp: */ U8(30), FmPragFlg: - /* ePragFlg: */ (U8(0x20 | 0x01)), FiPragCName: - /* ColNames: */ U8(0), FnPragCName: U8(0), FiArg: - /* iArg: */ uint64(0)}, - {FzName: /* zName: */ ts + 17958 /* "page_count" */, FePragTyp: - /* ePragTyp: */ U8(27), FmPragFlg: - /* ePragFlg: */ (U8((0x01 | 0x10) | 0x80)), FiPragCName: - /* ColNames: */ U8(0), FnPragCName: U8(0), FiArg: - /* iArg: */ uint64(0)}, - {FzName: /* zName: */ ts + 17969 /* "page_size" */, FePragTyp: - /* ePragTyp: */ U8(31), FmPragFlg: - /* ePragFlg: */ (U8((0x10 | 0x80) | 0x04)), FiPragCName: - /* ColNames: */ U8(0), FnPragCName: U8(0), FiArg: - /* iArg: */ uint64(0)}, - {FzName: /* zName: */ ts + 17979 /* "pragma_list" */, FePragTyp: - /* ePragTyp: */ U8(32), FmPragFlg: - /* ePragFlg: */ U8(0x10), FiPragCName: - /* ColNames: */ U8(9), FnPragCName: U8(1), FiArg: - /* iArg: */ uint64(0)}, - {FzName: /* zName: */ ts + 17991 /* "query_only" */, FePragTyp: - /* ePragTyp: */ U8(4), FmPragFlg: - /* ePragFlg: */ (U8(0x10 | 0x04)), FiPragCName: - /* ColNames: */ U8(0), FnPragCName: U8(0), FiArg: - /* iArg: */ uint64(0x00100000)}, - {FzName: /* zName: */ ts + 18002 /* "quick_check" */, FePragTyp: - /* ePragTyp: */ U8(22), FmPragFlg: - /* ePragFlg: */ (U8((0x01 | 0x10) | 0x20)), FiPragCName: - /* ColNames: */ U8(0), FnPragCName: U8(0), FiArg: - /* iArg: */ uint64(0)}, - {FzName: /* zName: */ ts + 18014 /* "read_uncommitted" */, FePragTyp: - /* ePragTyp: */ U8(4), FmPragFlg: - /* ePragFlg: */ (U8(0x10 | 0x04)), FiPragCName: - /* ColNames: */ U8(0), FnPragCName: U8(0), FiArg: - /* iArg: */ uint64(0x00000400)}, - {FzName: /* zName: */ ts + 18031 /* "recursive_trigge..." */, FePragTyp: - /* ePragTyp: */ U8(4), FmPragFlg: - /* ePragFlg: */ (U8(0x10 | 0x04)), FiPragCName: - /* ColNames: */ U8(0), FnPragCName: U8(0), FiArg: - /* iArg: */ uint64(0x00002000)}, - {FzName: /* zName: */ ts + 18050 /* "reverse_unordere..." */, FePragTyp: - /* ePragTyp: */ U8(4), FmPragFlg: - /* ePragFlg: */ (U8(0x10 | 0x04)), FiPragCName: - /* ColNames: */ U8(0), FnPragCName: U8(0), FiArg: - /* iArg: */ uint64(0x00001000)}, - {FzName: /* zName: */ ts + 18076 /* "schema_version" */, FePragTyp: - /* ePragTyp: */ U8(2), FmPragFlg: - /* ePragFlg: */ (U8(0x04 | 0x10)), FiPragCName: - /* ColNames: */ U8(0), FnPragCName: U8(0), FiArg: - /* iArg: */ uint64(1)}, - {FzName: /* zName: */ ts + 18091 /* "secure_delete" */, FePragTyp: - /* ePragTyp: */ U8(33), FmPragFlg: - /* ePragFlg: */ U8(0x10), FiPragCName: - /* ColNames: */ U8(0), FnPragCName: U8(0), FiArg: - /* iArg: */ uint64(0)}, - {FzName: /* zName: */ ts + 18105 /* "short_column_nam..." */, FePragTyp: - /* ePragTyp: */ U8(4), FmPragFlg: - /* ePragFlg: */ (U8(0x10 | 0x04)), FiPragCName: - /* ColNames: */ U8(0), FnPragCName: U8(0), FiArg: - /* iArg: */ uint64(0x00000040)}, - {FzName: /* zName: */ ts + 18124 /* "shrink_memory" */, FePragTyp: - /* ePragTyp: */ U8(34), FmPragFlg: - /* ePragFlg: */ U8(0x02), FiPragCName: - /* ColNames: */ U8(0), FnPragCName: U8(0), FiArg: - /* iArg: */ uint64(0)}, - {FzName: /* zName: */ ts + 18138 /* "soft_heap_limit" */, FePragTyp: - /* ePragTyp: */ U8(35), FmPragFlg: - /* ePragFlg: */ U8(0x10), FiPragCName: - /* ColNames: */ U8(0), FnPragCName: U8(0), FiArg: - /* iArg: */ uint64(0)}, - {FzName: /* zName: */ ts + 18154 /* "synchronous" */, FePragTyp: - /* ePragTyp: */ U8(36), FmPragFlg: - /* ePragFlg: */ (U8(((0x01 | 0x10) | 0x80) | 0x04)), FiPragCName: - /* ColNames: */ U8(0), FnPragCName: U8(0), FiArg: - /* iArg: */ uint64(0)}, - {FzName: /* zName: */ ts + 18166 /* "table_info" */, FePragTyp: - /* ePragTyp: */ U8(37), FmPragFlg: - /* ePragFlg: */ (U8((0x01 | 0x20) | 0x40)), FiPragCName: - /* ColNames: */ U8(8), FnPragCName: U8(6), FiArg: - /* iArg: */ uint64(0)}, - {FzName: /* zName: */ ts + 18177 /* "table_xinfo" */, FePragTyp: - /* ePragTyp: */ U8(37), FmPragFlg: - /* ePragFlg: */ (U8((0x01 | 0x20) | 0x40)), FiPragCName: - /* ColNames: */ U8(8), FnPragCName: U8(7), FiArg: - /* iArg: */ uint64(1)}, - {FzName: /* zName: */ ts + 18189 /* "temp_store" */, FePragTyp: - /* ePragTyp: */ U8(38), FmPragFlg: - /* ePragFlg: */ (U8(0x10 | 0x04)), FiPragCName: - /* ColNames: */ U8(0), FnPragCName: U8(0), FiArg: - /* iArg: */ uint64(0)}, - {FzName: /* zName: */ ts + 18200 /* "temp_store_direc..." */, FePragTyp: - /* ePragTyp: */ U8(39), FmPragFlg: - /* ePragFlg: */ U8(0x04), FiPragCName: - /* ColNames: */ U8(0), FnPragCName: U8(0), FiArg: - /* iArg: */ uint64(0)}, - {FzName: /* zName: */ ts + 18221 /* "threads" */, FePragTyp: - /* ePragTyp: */ U8(40), FmPragFlg: - /* ePragFlg: */ U8(0x10), FiPragCName: - /* ColNames: */ U8(0), FnPragCName: U8(0), FiArg: - /* iArg: */ uint64(0)}, - {FzName: /* zName: */ ts + 18229 /* "trusted_schema" */, FePragTyp: - /* ePragTyp: */ U8(4), FmPragFlg: - /* ePragFlg: */ (U8(0x10 | 0x04)), FiPragCName: - /* ColNames: */ U8(0), FnPragCName: U8(0), FiArg: - /* iArg: */ uint64(0x00000080)}, - {FzName: /* zName: */ ts + 18244 /* "user_version" */, FePragTyp: - /* ePragTyp: */ U8(2), FmPragFlg: - /* ePragFlg: */ (U8(0x04 | 0x10)), FiPragCName: - /* ColNames: */ U8(0), FnPragCName: U8(0), FiArg: - /* iArg: */ uint64(6)}, - {FzName: /* zName: */ ts + 18257 /* "wal_autocheckpoi..." */, FePragTyp: - /* ePragTyp: */ U8(41), FmPragFlg: - /* ePragFlg: */ U8(0), FiPragCName: - /* ColNames: */ U8(0), FnPragCName: U8(0), FiArg: - /* iArg: */ uint64(0)}, - {FzName: /* zName: */ ts + 18276 /* "wal_checkpoint" */, FePragTyp: - /* ePragTyp: */ U8(42), FmPragFlg: - /* ePragFlg: */ U8(0x01), FiPragCName: - /* ColNames: */ U8(44), FnPragCName: U8(3), FiArg: - /* iArg: */ uint64(0)}, - {FzName: /* zName: */ ts + 18291 /* "writable_schema" */, FePragTyp: - /* ePragTyp: */ U8(4), FmPragFlg: - /* ePragFlg: */ (U8(0x10 | 0x04)), FiPragCName: - /* ColNames: */ U8(0), FnPragCName: U8(0), FiArg: - /* iArg: */ (uint64(0x00000001 | 0x08000000))}, + { + FzName:/* zName: */ ts + 17339, /* "analysis_limit" */ + FePragTyp: + /* ePragTyp: */ U8(1), + FmPragFlg: + /* ePragFlg: */ U8(0x10), + FiPragCName: + /* ColNames: */ U8(0), + FnPragCName: U8(0), + FiArg: + /* iArg: */ uint64(0)}, + { + FzName:/* zName: */ ts + 17354, /* "application_id" */ + FePragTyp: + /* ePragTyp: */ U8(2), + FmPragFlg: + /* ePragFlg: */ (U8(0x04 | 0x10)), + FiPragCName: + /* ColNames: */ U8(0), + FnPragCName: U8(0), + FiArg: + /* iArg: */ uint64(8)}, + { + FzName:/* zName: */ ts + 17369, /* "auto_vacuum" */ + FePragTyp: + /* ePragTyp: */ U8(3), + FmPragFlg: + /* ePragFlg: */ (U8(((0x01 | 0x10) | 0x80) | 0x04)), + FiPragCName: + /* ColNames: */ U8(0), + FnPragCName: U8(0), + FiArg: + /* iArg: */ uint64(0)}, + { + FzName:/* zName: */ ts + 17381, /* "automatic_index" */ + FePragTyp: + /* ePragTyp: */ U8(4), + FmPragFlg: + /* ePragFlg: */ (U8(0x10 | 0x04)), + FiPragCName: + /* ColNames: */ U8(0), + FnPragCName: U8(0), + FiArg: + /* iArg: */ uint64(0x00008000)}, + { + FzName:/* zName: */ ts + 17397, /* "busy_timeout" */ + FePragTyp: + /* ePragTyp: */ U8(5), + FmPragFlg: + /* ePragFlg: */ U8(0x10), + FiPragCName: + /* ColNames: */ U8(50), + FnPragCName: U8(1), + FiArg: + /* iArg: */ uint64(0)}, + { + FzName:/* zName: */ ts + 17320, /* "cache_size" */ + FePragTyp: + /* ePragTyp: */ U8(6), + FmPragFlg: + /* ePragFlg: */ (U8(((0x01 | 0x10) | 0x80) | 0x04)), + FiPragCName: + /* ColNames: */ U8(0), + FnPragCName: U8(0), + FiArg: + /* iArg: */ uint64(0)}, + { + FzName:/* zName: */ ts + 17410, /* "cache_spill" */ + FePragTyp: + /* ePragTyp: */ U8(7), + FmPragFlg: + /* ePragFlg: */ (U8((0x10 | 0x80) | 0x04)), + FiPragCName: + /* ColNames: */ U8(0), + FnPragCName: U8(0), + FiArg: + /* iArg: */ uint64(0)}, + { + FzName:/* zName: */ ts + 17422, /* "case_sensitive_l..." */ + FePragTyp: + /* ePragTyp: */ U8(8), + FmPragFlg: + /* ePragFlg: */ U8(0x02), + FiPragCName: + /* ColNames: */ U8(0), + FnPragCName: U8(0), + FiArg: + /* iArg: */ uint64(0)}, + { + FzName:/* zName: */ ts + 17442, /* "cell_size_check" */ + FePragTyp: + /* ePragTyp: */ U8(4), + FmPragFlg: + /* ePragFlg: */ (U8(0x10 | 0x04)), + FiPragCName: + /* ColNames: */ U8(0), + FnPragCName: U8(0), + FiArg: + /* iArg: */ uint64(0x00200000)}, + { + FzName:/* zName: */ ts + 17458, /* "checkpoint_fullf..." */ + FePragTyp: + /* ePragTyp: */ U8(4), + FmPragFlg: + /* ePragFlg: */ (U8(0x10 | 0x04)), + FiPragCName: + /* ColNames: */ U8(0), + FnPragCName: U8(0), + FiArg: + /* iArg: */ uint64(0x00000010)}, + { + FzName:/* zName: */ ts + 17479, /* "collation_list" */ + FePragTyp: + /* ePragTyp: */ U8(9), + FmPragFlg: + /* ePragFlg: */ U8(0x10), + FiPragCName: + /* ColNames: */ U8(32), + FnPragCName: U8(2), + FiArg: + /* iArg: */ uint64(0)}, + { + FzName:/* zName: */ ts + 17494, /* "compile_options" */ + FePragTyp: + /* ePragTyp: */ U8(10), + FmPragFlg: + /* ePragFlg: */ U8(0x10), + FiPragCName: + /* ColNames: */ U8(0), + FnPragCName: U8(0), + FiArg: + /* iArg: */ uint64(0)}, + { + FzName:/* zName: */ ts + 17510, /* "count_changes" */ + FePragTyp: + /* ePragTyp: */ U8(4), + FmPragFlg: + /* ePragFlg: */ (U8(0x10 | 0x04)), + FiPragCName: + /* ColNames: */ U8(0), + FnPragCName: U8(0), + FiArg: + /* iArg: */ (U64((uint64(0x00001))) << 32)}, + { + FzName:/* zName: */ ts + 17524, /* "data_version" */ + FePragTyp: + /* ePragTyp: */ U8(2), + FmPragFlg: + /* ePragFlg: */ (U8(0x08 | 0x10)), + FiPragCName: + /* ColNames: */ U8(0), + FnPragCName: U8(0), + FiArg: + /* iArg: */ uint64(15)}, + { + FzName:/* zName: */ ts + 17537, /* "database_list" */ + FePragTyp: + /* ePragTyp: */ U8(12), + FmPragFlg: + /* ePragFlg: */ (U8(0x01 | 0x10)), + FiPragCName: + /* ColNames: */ U8(41), + FnPragCName: U8(3), + FiArg: + /* iArg: */ uint64(0)}, + { + FzName:/* zName: */ ts + 17551, /* "default_cache_si..." */ + FePragTyp: + /* ePragTyp: */ U8(13), + FmPragFlg: + /* ePragFlg: */ (U8(((0x01 | 0x10) | 0x80) | 0x04)), + FiPragCName: + /* ColNames: */ U8(49), + FnPragCName: U8(1), + FiArg: + /* iArg: */ uint64(0)}, + { + FzName:/* zName: */ ts + 17570, /* "defer_foreign_ke..." */ + FePragTyp: + /* ePragTyp: */ U8(4), + FmPragFlg: + /* ePragFlg: */ (U8(0x10 | 0x04)), + FiPragCName: + /* ColNames: */ U8(0), + FnPragCName: U8(0), + FiArg: + /* iArg: */ uint64(0x00080000)}, + { + FzName:/* zName: */ ts + 17589, /* "empty_result_cal..." */ + FePragTyp: + /* ePragTyp: */ U8(4), + FmPragFlg: + /* ePragFlg: */ (U8(0x10 | 0x04)), + FiPragCName: + /* ColNames: */ U8(0), + FnPragCName: U8(0), + FiArg: + /* iArg: */ uint64(0x00000100)}, + { + FzName:/* zName: */ ts + 17612, /* "encoding" */ + FePragTyp: + /* ePragTyp: */ U8(14), + FmPragFlg: + /* ePragFlg: */ (U8(0x10 | 0x04)), + FiPragCName: + /* ColNames: */ U8(0), + FnPragCName: U8(0), + FiArg: + /* iArg: */ uint64(0)}, + { + FzName:/* zName: */ ts + 17621, /* "foreign_key_chec..." */ + FePragTyp: + /* ePragTyp: */ U8(15), + FmPragFlg: + /* ePragFlg: */ (U8(((0x01 | 0x10) | 0x20) | 0x40)), + FiPragCName: + /* ColNames: */ U8(37), + FnPragCName: U8(4), + FiArg: + /* iArg: */ uint64(0)}, + { + FzName:/* zName: */ ts + 17639, /* "foreign_key_list" */ + FePragTyp: + /* ePragTyp: */ U8(16), + FmPragFlg: + /* ePragFlg: */ (U8((0x01 | 0x20) | 0x40)), + FiPragCName: + /* ColNames: */ U8(0), + FnPragCName: U8(8), + FiArg: + /* iArg: */ uint64(0)}, + { + FzName:/* zName: */ ts + 17656, /* "foreign_keys" */ + FePragTyp: + /* ePragTyp: */ U8(4), + FmPragFlg: + /* ePragFlg: */ (U8(0x10 | 0x04)), + FiPragCName: + /* ColNames: */ U8(0), + FnPragCName: U8(0), + FiArg: + /* iArg: */ uint64(0x00004000)}, + { + FzName:/* zName: */ ts + 17669, /* "freelist_count" */ + FePragTyp: + /* ePragTyp: */ U8(2), + FmPragFlg: + /* ePragFlg: */ (U8(0x08 | 0x10)), + FiPragCName: + /* ColNames: */ U8(0), + FnPragCName: U8(0), + FiArg: + /* iArg: */ uint64(0)}, + { + FzName:/* zName: */ ts + 17684, /* "full_column_name..." */ + FePragTyp: + /* ePragTyp: */ U8(4), + FmPragFlg: + /* ePragFlg: */ (U8(0x10 | 0x04)), + FiPragCName: + /* ColNames: */ U8(0), + FnPragCName: U8(0), + FiArg: + /* iArg: */ uint64(0x00000004)}, + { + FzName:/* zName: */ ts + 17702, /* "fullfsync" */ + FePragTyp: + /* ePragTyp: */ U8(4), + FmPragFlg: + /* ePragFlg: */ (U8(0x10 | 0x04)), + FiPragCName: + /* ColNames: */ U8(0), + FnPragCName: U8(0), + FiArg: + /* iArg: */ uint64(0x00000008)}, + { + FzName:/* zName: */ ts + 17712, /* "function_list" */ + FePragTyp: + /* ePragTyp: */ U8(17), + FmPragFlg: + /* ePragFlg: */ U8(0x10), + FiPragCName: + /* ColNames: */ U8(21), + FnPragCName: U8(6), + FiArg: + /* iArg: */ uint64(0)}, + { + FzName:/* zName: */ ts + 17726, /* "hard_heap_limit" */ + FePragTyp: + /* ePragTyp: */ U8(18), + FmPragFlg: + /* ePragFlg: */ U8(0x10), + FiPragCName: + /* ColNames: */ U8(0), + FnPragCName: U8(0), + FiArg: + /* iArg: */ uint64(0)}, + { + FzName:/* zName: */ ts + 17742, /* "ignore_check_con..." */ + FePragTyp: + /* ePragTyp: */ U8(4), + FmPragFlg: + /* ePragFlg: */ (U8(0x10 | 0x04)), + FiPragCName: + /* ColNames: */ U8(0), + FnPragCName: U8(0), + FiArg: + /* iArg: */ uint64(0x00000200)}, + { + FzName:/* zName: */ ts + 17767, /* "incremental_vacu..." */ + FePragTyp: + /* ePragTyp: */ U8(19), + FmPragFlg: + /* ePragFlg: */ (U8(0x01 | 0x02)), + FiPragCName: + /* ColNames: */ U8(0), + FnPragCName: U8(0), + FiArg: + /* iArg: */ uint64(0)}, + { + FzName:/* zName: */ ts + 17786, /* "index_info" */ + FePragTyp: + /* ePragTyp: */ U8(20), + FmPragFlg: + /* ePragFlg: */ (U8((0x01 | 0x20) | 0x40)), + FiPragCName: + /* ColNames: */ U8(15), + FnPragCName: U8(3), + FiArg: + /* iArg: */ uint64(0)}, + { + FzName:/* zName: */ ts + 17797, /* "index_list" */ + FePragTyp: + /* ePragTyp: */ U8(21), + FmPragFlg: + /* ePragFlg: */ (U8((0x01 | 0x20) | 0x40)), + FiPragCName: + /* ColNames: */ U8(32), + FnPragCName: U8(5), + FiArg: + /* iArg: */ uint64(0)}, + { + FzName:/* zName: */ ts + 17808, /* "index_xinfo" */ + FePragTyp: + /* ePragTyp: */ U8(20), + FmPragFlg: + /* ePragFlg: */ (U8((0x01 | 0x20) | 0x40)), + FiPragCName: + /* ColNames: */ U8(15), + FnPragCName: U8(6), + FiArg: + /* iArg: */ uint64(1)}, + { + FzName:/* zName: */ ts + 17820, /* "integrity_check" */ + FePragTyp: + /* ePragTyp: */ U8(22), + FmPragFlg: + /* ePragFlg: */ (U8((0x01 | 0x10) | 0x20)), + FiPragCName: + /* ColNames: */ U8(0), + FnPragCName: U8(0), + FiArg: + /* iArg: */ uint64(0)}, + { + FzName:/* zName: */ ts + 17836, /* "journal_mode" */ + FePragTyp: + /* ePragTyp: */ U8(23), + FmPragFlg: + /* ePragFlg: */ (U8((0x01 | 0x10) | 0x80)), + FiPragCName: + /* ColNames: */ U8(0), + FnPragCName: U8(0), + FiArg: + /* iArg: */ uint64(0)}, + { + FzName:/* zName: */ ts + 17849, /* "journal_size_lim..." */ + FePragTyp: + /* ePragTyp: */ U8(24), + FmPragFlg: + /* ePragFlg: */ (U8(0x10 | 0x80)), + FiPragCName: + /* ColNames: */ U8(0), + FnPragCName: U8(0), + FiArg: + /* iArg: */ uint64(0)}, + { + FzName:/* zName: */ ts + 17868, /* "legacy_alter_tab..." */ + FePragTyp: + /* ePragTyp: */ U8(4), + FmPragFlg: + /* ePragFlg: */ (U8(0x10 | 0x04)), + FiPragCName: + /* ColNames: */ U8(0), + FnPragCName: U8(0), + FiArg: + /* iArg: */ uint64(0x04000000)}, + { + FzName:/* zName: */ ts + 17887, /* "lock_status" */ + FePragTyp: + /* ePragTyp: */ U8(43), + FmPragFlg: + /* ePragFlg: */ U8(0x10), + FiPragCName: + /* ColNames: */ U8(47), + FnPragCName: U8(2), + FiArg: + /* iArg: */ uint64(0)}, + { + FzName:/* zName: */ ts + 17899, /* "locking_mode" */ + FePragTyp: + /* ePragTyp: */ U8(26), + FmPragFlg: + /* ePragFlg: */ (U8(0x10 | 0x80)), + FiPragCName: + /* ColNames: */ U8(0), + FnPragCName: U8(0), + FiArg: + /* iArg: */ uint64(0)}, + { + FzName:/* zName: */ ts + 17912, /* "max_page_count" */ + FePragTyp: + /* ePragTyp: */ U8(27), + FmPragFlg: + /* ePragFlg: */ (U8((0x01 | 0x10) | 0x80)), + FiPragCName: + /* ColNames: */ U8(0), + FnPragCName: U8(0), + FiArg: + /* iArg: */ uint64(0)}, + { + FzName:/* zName: */ ts + 17927, /* "mmap_size" */ + FePragTyp: + /* ePragTyp: */ U8(28), + FmPragFlg: + /* ePragFlg: */ U8(0), + FiPragCName: + /* ColNames: */ U8(0), + FnPragCName: U8(0), + FiArg: + /* iArg: */ uint64(0)}, + { + FzName:/* zName: */ ts + 17937, /* "module_list" */ + FePragTyp: + /* ePragTyp: */ U8(29), + FmPragFlg: + /* ePragFlg: */ U8(0x10), + FiPragCName: + /* ColNames: */ U8(9), + FnPragCName: U8(1), + FiArg: + /* iArg: */ uint64(0)}, + { + FzName:/* zName: */ ts + 17949, /* "optimize" */ + FePragTyp: + /* ePragTyp: */ U8(30), + FmPragFlg: + /* ePragFlg: */ (U8(0x20 | 0x01)), + FiPragCName: + /* ColNames: */ U8(0), + FnPragCName: U8(0), + FiArg: + /* iArg: */ uint64(0)}, + { + FzName:/* zName: */ ts + 17958, /* "page_count" */ + FePragTyp: + /* ePragTyp: */ U8(27), + FmPragFlg: + /* ePragFlg: */ (U8((0x01 | 0x10) | 0x80)), + FiPragCName: + /* ColNames: */ U8(0), + FnPragCName: U8(0), + FiArg: + /* iArg: */ uint64(0)}, + { + FzName:/* zName: */ ts + 17969, /* "page_size" */ + FePragTyp: + /* ePragTyp: */ U8(31), + FmPragFlg: + /* ePragFlg: */ (U8((0x10 | 0x80) | 0x04)), + FiPragCName: + /* ColNames: */ U8(0), + FnPragCName: U8(0), + FiArg: + /* iArg: */ uint64(0)}, + { + FzName:/* zName: */ ts + 17979, /* "pragma_list" */ + FePragTyp: + /* ePragTyp: */ U8(32), + FmPragFlg: + /* ePragFlg: */ U8(0x10), + FiPragCName: + /* ColNames: */ U8(9), + FnPragCName: U8(1), + FiArg: + /* iArg: */ uint64(0)}, + { + FzName:/* zName: */ ts + 17991, /* "query_only" */ + FePragTyp: + /* ePragTyp: */ U8(4), + FmPragFlg: + /* ePragFlg: */ (U8(0x10 | 0x04)), + FiPragCName: + /* ColNames: */ U8(0), + FnPragCName: U8(0), + FiArg: + /* iArg: */ uint64(0x00100000)}, + { + FzName:/* zName: */ ts + 18002, /* "quick_check" */ + FePragTyp: + /* ePragTyp: */ U8(22), + FmPragFlg: + /* ePragFlg: */ (U8((0x01 | 0x10) | 0x20)), + FiPragCName: + /* ColNames: */ U8(0), + FnPragCName: U8(0), + FiArg: + /* iArg: */ uint64(0)}, + { + FzName:/* zName: */ ts + 18014, /* "read_uncommitted" */ + FePragTyp: + /* ePragTyp: */ U8(4), + FmPragFlg: + /* ePragFlg: */ (U8(0x10 | 0x04)), + FiPragCName: + /* ColNames: */ U8(0), + FnPragCName: U8(0), + FiArg: + /* iArg: */ uint64(0x00000400)}, + { + FzName:/* zName: */ ts + 18031, /* "recursive_trigge..." */ + FePragTyp: + /* ePragTyp: */ U8(4), + FmPragFlg: + /* ePragFlg: */ (U8(0x10 | 0x04)), + FiPragCName: + /* ColNames: */ U8(0), + FnPragCName: U8(0), + FiArg: + /* iArg: */ uint64(0x00002000)}, + { + FzName:/* zName: */ ts + 18050, /* "reverse_unordere..." */ + FePragTyp: + /* ePragTyp: */ U8(4), + FmPragFlg: + /* ePragFlg: */ (U8(0x10 | 0x04)), + FiPragCName: + /* ColNames: */ U8(0), + FnPragCName: U8(0), + FiArg: + /* iArg: */ uint64(0x00001000)}, + { + FzName:/* zName: */ ts + 18076, /* "schema_version" */ + FePragTyp: + /* ePragTyp: */ U8(2), + FmPragFlg: + /* ePragFlg: */ (U8(0x04 | 0x10)), + FiPragCName: + /* ColNames: */ U8(0), + FnPragCName: U8(0), + FiArg: + /* iArg: */ uint64(1)}, + { + FzName:/* zName: */ ts + 18091, /* "secure_delete" */ + FePragTyp: + /* ePragTyp: */ U8(33), + FmPragFlg: + /* ePragFlg: */ U8(0x10), + FiPragCName: + /* ColNames: */ U8(0), + FnPragCName: U8(0), + FiArg: + /* iArg: */ uint64(0)}, + { + FzName:/* zName: */ ts + 18105, /* "short_column_nam..." */ + FePragTyp: + /* ePragTyp: */ U8(4), + FmPragFlg: + /* ePragFlg: */ (U8(0x10 | 0x04)), + FiPragCName: + /* ColNames: */ U8(0), + FnPragCName: U8(0), + FiArg: + /* iArg: */ uint64(0x00000040)}, + { + FzName:/* zName: */ ts + 18124, /* "shrink_memory" */ + FePragTyp: + /* ePragTyp: */ U8(34), + FmPragFlg: + /* ePragFlg: */ U8(0x02), + FiPragCName: + /* ColNames: */ U8(0), + FnPragCName: U8(0), + FiArg: + /* iArg: */ uint64(0)}, + { + FzName:/* zName: */ ts + 18138, /* "soft_heap_limit" */ + FePragTyp: + /* ePragTyp: */ U8(35), + FmPragFlg: + /* ePragFlg: */ U8(0x10), + FiPragCName: + /* ColNames: */ U8(0), + FnPragCName: U8(0), + FiArg: + /* iArg: */ uint64(0)}, + { + FzName:/* zName: */ ts + 18154, /* "synchronous" */ + FePragTyp: + /* ePragTyp: */ U8(36), + FmPragFlg: + /* ePragFlg: */ (U8(((0x01 | 0x10) | 0x80) | 0x04)), + FiPragCName: + /* ColNames: */ U8(0), + FnPragCName: U8(0), + FiArg: + /* iArg: */ uint64(0)}, + { + FzName:/* zName: */ ts + 18166, /* "table_info" */ + FePragTyp: + /* ePragTyp: */ U8(37), + FmPragFlg: + /* ePragFlg: */ (U8((0x01 | 0x20) | 0x40)), + FiPragCName: + /* ColNames: */ U8(8), + FnPragCName: U8(6), + FiArg: + /* iArg: */ uint64(0)}, + { + FzName:/* zName: */ ts + 18177, /* "table_xinfo" */ + FePragTyp: + /* ePragTyp: */ U8(37), + FmPragFlg: + /* ePragFlg: */ (U8((0x01 | 0x20) | 0x40)), + FiPragCName: + /* ColNames: */ U8(8), + FnPragCName: U8(7), + FiArg: + /* iArg: */ uint64(1)}, + { + FzName:/* zName: */ ts + 18189, /* "temp_store" */ + FePragTyp: + /* ePragTyp: */ U8(38), + FmPragFlg: + /* ePragFlg: */ (U8(0x10 | 0x04)), + FiPragCName: + /* ColNames: */ U8(0), + FnPragCName: U8(0), + FiArg: + /* iArg: */ uint64(0)}, + { + FzName:/* zName: */ ts + 18200, /* "temp_store_direc..." */ + FePragTyp: + /* ePragTyp: */ U8(39), + FmPragFlg: + /* ePragFlg: */ U8(0x04), + FiPragCName: + /* ColNames: */ U8(0), + FnPragCName: U8(0), + FiArg: + /* iArg: */ uint64(0)}, + { + FzName:/* zName: */ ts + 18221, /* "threads" */ + FePragTyp: + /* ePragTyp: */ U8(40), + FmPragFlg: + /* ePragFlg: */ U8(0x10), + FiPragCName: + /* ColNames: */ U8(0), + FnPragCName: U8(0), + FiArg: + /* iArg: */ uint64(0)}, + { + FzName:/* zName: */ ts + 18229, /* "trusted_schema" */ + FePragTyp: + /* ePragTyp: */ U8(4), + FmPragFlg: + /* ePragFlg: */ (U8(0x10 | 0x04)), + FiPragCName: + /* ColNames: */ U8(0), + FnPragCName: U8(0), + FiArg: + /* iArg: */ uint64(0x00000080)}, + { + FzName:/* zName: */ ts + 18244, /* "user_version" */ + FePragTyp: + /* ePragTyp: */ U8(2), + FmPragFlg: + /* ePragFlg: */ (U8(0x04 | 0x10)), + FiPragCName: + /* ColNames: */ U8(0), + FnPragCName: U8(0), + FiArg: + /* iArg: */ uint64(6)}, + { + FzName:/* zName: */ ts + 18257, /* "wal_autocheckpoi..." */ + FePragTyp: + /* ePragTyp: */ U8(41), + FmPragFlg: + /* ePragFlg: */ U8(0), + FiPragCName: + /* ColNames: */ U8(0), + FnPragCName: U8(0), + FiArg: + /* iArg: */ uint64(0)}, + { + FzName:/* zName: */ ts + 18276, /* "wal_checkpoint" */ + FePragTyp: + /* ePragTyp: */ U8(42), + FmPragFlg: + /* ePragFlg: */ U8(0x01), + FiPragCName: + /* ColNames: */ U8(44), + FnPragCName: U8(3), + FiArg: + /* iArg: */ uint64(0)}, + { + FzName:/* zName: */ ts + 18291, /* "writable_schema" */ + FePragTyp: + /* ePragTyp: */ U8(4), + FmPragFlg: + /* ePragFlg: */ (U8(0x10 | 0x04)), + FiPragCName: + /* ColNames: */ U8(0), + FnPragCName: U8(0), + FiArg: + /* iArg: */ (uint64(0x00000001 | 0x08000000))}, } /* sqlite3.c:125260:25 */ // Number of pragmas: 67 on by default, 77 total. @@ -106021,7 +108025,7 @@ __172: libc.VaList(bp+128, i2, (*Index)(unsafe.Pointer(pIdx1)).FzName, (libc.Bool32(int32((*Index)(unsafe.Pointer((pIdx1))).FonError) != 0)), - *(*uintptr)(unsafe.Pointer(bp + 456 /* &azOrigin[0] */ + uintptr(uint32(int32(*(*uint16)(unsafe.Pointer(pIdx1 + 100 /* &.idxType */))&0x3>>0)))*8)), + *(*uintptr)(unsafe.Pointer(bp + 456 /* &azOrigin[0] */ + uintptr((uint32(int32(*(*uint16)(unsafe.Pointer(pIdx1 + 100 /* &.idxType */))&0x3>>0))))*8)), (libc.Bool32((*Index)(unsafe.Pointer(pIdx1)).FpPartIdxWhere != uintptr(0))))) goto __173 __173: @@ -107286,7 +109290,7 @@ __334: if !(pIdx6 != 0) { goto __336 } - if !(!(int32(*(*uint16)(unsafe.Pointer(pIdx6 + 100 /* &.hasStat1 */))&0x80>>7) != 0)) { + if !(!((int32(*(*uint16)(unsafe.Pointer(pIdx6 + 100 /* &.hasStat1 */)) & 0x80 >> 7)) != 0)) { goto __337 } szThreshold = int16(0) // Always analyze if any index lacks statistics @@ -107507,53 +109511,173 @@ type EncName = struct { var iLn3 int32 = 0 /* sqlite3.c:126248:22 */ var getCacheSize = [9]VdbeOpList{ - {Fopcode: U8(2), Fp1: int8(0), Fp2: int8(0), Fp3: int8(0)}, // 0 - {Fopcode: U8(93), Fp1: int8(0), Fp2: int8(1), Fp3: int8(3)}, // 1 - {Fopcode: U8(48), Fp1: int8(1), Fp2: int8(8), Fp3: int8(0)}, - {Fopcode: U8(69), Fp1: int8(0), Fp2: int8(2), Fp3: int8(0)}, - {Fopcode: U8(106), Fp1: int8(1), Fp2: int8(2), Fp3: int8(1)}, - {Fopcode: U8(48), Fp1: int8(1), Fp2: int8(8), Fp3: int8(0)}, - {Fopcode: U8(69), Fp1: int8(0), Fp2: int8(1), Fp3: int8(0)}, // 6 - {Fopcode: U8(173), Fp1: int8(0), Fp2: int8(0), Fp3: int8(0)}, - {Fopcode: U8(80), Fp1: int8(1), Fp2: int8(1), Fp3: int8(0)}, + { + Fopcode: U8(2), + Fp1: int8(0), + Fp2: int8(0), + Fp3: int8(0)}, // 0 + { + Fopcode: U8(93), + Fp1: int8(0), + Fp2: int8(1), + Fp3: int8(3)}, // 1 + { + Fopcode: U8(48), + Fp1: int8(1), + Fp2: int8(8), + Fp3: int8(0)}, + { + Fopcode: U8(69), + Fp1: int8(0), + Fp2: int8(2), + Fp3: int8(0)}, + { + Fopcode: U8(106), + Fp1: int8(1), + Fp2: int8(2), + Fp3: int8(1)}, + { + Fopcode: U8(48), + Fp1: int8(1), + Fp2: int8(8), + Fp3: int8(0)}, + { + Fopcode: U8(69), + Fp1: int8(0), + Fp2: int8(1), + Fp3: int8(0)}, // 6 + { + Fopcode: U8(173), + Fp1: int8(0), + Fp2: int8(0), + Fp3: int8(0)}, + { + Fopcode: U8(80), + Fp1: int8(1), + Fp2: int8(1), + Fp3: int8(0)}, } /* sqlite3.c:126249:29 */ var iLn4 int32 = 0 /* sqlite3.c:126517:26 */ var setMeta6 = [5]VdbeOpList{ - {Fopcode: U8(2), Fp1: int8(0), Fp2: int8(1), Fp3: int8(0)}, // 0 - {Fopcode: U8(93), Fp1: int8(0), Fp2: int8(1), Fp3: int8(4)}, - {Fopcode: U8(18), Fp1: int8(1), Fp2: int8(0), Fp3: int8(0)}, // 2 - {Fopcode: U8(68), Fp1: int8(0), Fp2: int8(2), Fp3: int8(0)}, // 3 - {Fopcode: U8(94), Fp1: int8(0), Fp2: int8(7), Fp3: int8(0)}, // 4 + { + Fopcode: U8(2), + Fp1: int8(0), + Fp2: int8(1), + Fp3: int8(0)}, // 0 + { + Fopcode: U8(93), + Fp1: int8(0), + Fp2: int8(1), + Fp3: int8(4)}, + { + Fopcode: U8(18), + Fp1: int8(1), + Fp2: int8(0), + Fp3: int8(0)}, // 2 + { + Fopcode: U8(68), + Fp1: int8(0), + Fp2: int8(2), + Fp3: int8(0)}, // 3 + { + Fopcode: U8(94), + Fp1: int8(0), + Fp2: int8(7), + Fp3: int8(0)}, // 4 } /* sqlite3.c:126518:33 */ var iLn5 int32 = 0 /* sqlite3.c:127522:24 */ var endCode = [7]VdbeOpList{ - {Fopcode: U8(82), Fp1: int8(1), Fp2: int8(0), Fp3: int8(0)}, // 0 - {Fopcode: U8(49), Fp1: int8(1), Fp2: int8(4), Fp3: int8(0)}, // 1 - {Fopcode: U8(115), Fp1: int8(0), Fp2: int8(3), Fp3: int8(0)}, // 2 - {Fopcode: U8(80), Fp1: int8(3), Fp2: int8(1), Fp3: int8(0)}, // 3 - {Fopcode: U8(68), Fp1: int8(0), Fp2: int8(0), Fp3: int8(0)}, // 4 - {Fopcode: U8(115), Fp1: int8(0), Fp2: int8(3), Fp3: int8(0)}, // 5 - {Fopcode: U8(11), Fp1: int8(0), Fp2: int8(3), Fp3: int8(0)}, // 6 + { + Fopcode: U8(82), + Fp1: int8(1), + Fp2: int8(0), + Fp3: int8(0)}, // 0 + { + Fopcode: U8(49), + Fp1: int8(1), + Fp2: int8(4), + Fp3: int8(0)}, // 1 + { + Fopcode: U8(115), + Fp1: int8(0), + Fp2: int8(3), + Fp3: int8(0)}, // 2 + { + Fopcode: U8(80), + Fp1: int8(3), + Fp2: int8(1), + Fp3: int8(0)}, // 3 + { + Fopcode: U8(68), + Fp1: int8(0), + Fp2: int8(0), + Fp3: int8(0)}, // 4 + { + Fopcode: U8(115), + Fp1: int8(0), + Fp2: int8(3), + Fp3: int8(0)}, // 5 + { + Fopcode: U8(11), + Fp1: int8(0), + Fp2: int8(3), + Fp3: int8(0)}, // 6 } /* sqlite3.c:127523:31 */ var encnames1 = [9]EncName{ - {FzName: ts + 18921 /* "UTF8" */, Fenc: U8(1)}, - {FzName: ts + 18926 /* "UTF-8" */, Fenc: U8(1)}, // Must be element [1] - {FzName: ts + 18932 /* "UTF-16le" */, Fenc: U8(2)}, // Must be element [2] - {FzName: ts + 18941 /* "UTF-16be" */, Fenc: U8(3)}, // Must be element [3] - {FzName: ts + 18950 /* "UTF16le" */, Fenc: U8(2)}, - {FzName: ts + 18958 /* "UTF16be" */, Fenc: U8(3)}, - {FzName: ts + 18966 /* "UTF-16" */, Fenc: U8(0)}, // SQLITE_UTF16NATIVE - {FzName: ts + 18973 /* "UTF16" */, Fenc: U8(0)}, // SQLITE_UTF16NATIVE - {FzName: uintptr(0), Fenc: U8(0)}, + { + FzName: ts + 18921, /* "UTF8" */ + Fenc: U8(1)}, + { + FzName: ts + 18926, /* "UTF-8" */ + Fenc: U8(1)}, // Must be element [1] + { + FzName: ts + 18932, /* "UTF-16le" */ + Fenc: U8(2)}, // Must be element [2] + { + FzName: ts + 18941, /* "UTF-16be" */ + Fenc: U8(3)}, // Must be element [3] + { + FzName: ts + 18950, /* "UTF16le" */ + Fenc: U8(2)}, + { + FzName: ts + 18958, /* "UTF16be" */ + Fenc: U8(3)}, + { + FzName: ts + 18966, /* "UTF-16" */ + Fenc: U8(0)}, // SQLITE_UTF16NATIVE + { + FzName: ts + 18973, /* "UTF16" */ + Fenc: U8(0)}, // SQLITE_UTF16NATIVE + {}, } /* sqlite3.c:127575:7 */ var setCookie = [2]VdbeOpList{ - {Fopcode: U8(2), Fp1: int8(0), Fp2: int8(1), Fp3: int8(0)}, // 0 - {Fopcode: U8(94), Fp1: int8(0), Fp2: int8(0), Fp3: int8(0)}, // 1 + { + Fopcode: U8(2), + Fp1: int8(0), + Fp2: int8(1), + Fp3: int8(0)}, // 0 + { + Fopcode: U8(94), + Fp1: int8(0), + Fp2: int8(0), + Fp3: int8(0)}, // 1 } /* sqlite3.c:127655:31 */ var readCookie = [3]VdbeOpList{ - {Fopcode: U8(2), Fp1: int8(0), Fp2: int8(0), Fp3: int8(0)}, // 0 - {Fopcode: U8(93), Fp1: int8(0), Fp2: int8(1), Fp3: int8(0)}, // 1 - {Fopcode: U8(80), Fp1: int8(1), Fp2: int8(1), Fp3: int8(0)}, + { + Fopcode: U8(2), + Fp1: int8(0), + Fp2: int8(0), + Fp3: int8(0)}, // 0 + { + Fopcode: U8(93), + Fp1: int8(0), + Fp2: int8(1), + Fp3: int8(0)}, // 1 + { + Fopcode: U8(80), + Fp1: int8(1), + Fp2: int8(1), + Fp3: int8(0)}, } /* sqlite3.c:127670:31 */ var azLockName = [5]uintptr{ ts + 18979 /* "unlocked" */, ts + 18988 /* "shared" */, ts + 18995 /* "reserved" */, ts + 19004 /* "pending" */, ts + 18332, /* "exclusive" */ @@ -107876,30 +110000,54 @@ func pragmaVtabRowid(tls *libc.TLS, pVtabCursor uintptr, p uintptr) int32 { /* s } // The pragma virtual table object -var pragmaVtabModule = Sqlite3_module{FiVersion: 0, FxCreate: // iVersion -uintptr(0), FxConnect:// xCreate - create a table -0, FxBestIndex:// xConnect - connect to an existing table -0, FxDisconnect:// xBestIndex - Determine search strategy -0, FxDestroy:// xDisconnect - Disconnect from a table -uintptr(0), FxOpen:// xDestroy - Drop a table -0, FxClose:// xOpen - open a cursor -0, FxFilter:// xClose - close a cursor -0, FxNext:// xFilter - configure scan constraints -0, FxEof:// xNext - advance a cursor -0, FxColumn:// xEof -0, FxRowid:// xColumn - read data -0, FxUpdate:// xRowid - read data -uintptr(0), FxBegin:// xUpdate - write data -uintptr(0), FxSync:// xBegin - begin transaction -uintptr(0), FxCommit:// xSync - sync transaction -uintptr(0), FxRollback:// xCommit - commit transaction -uintptr(0), FxFindFunction:// xRollback - rollback transaction -uintptr(0), FxRename:// xFindFunction - function overloading -uintptr(0), FxSavepoint:// xRename - rename the table -uintptr(0), FxRelease:// xSavepoint -uintptr(0), FxRollbackTo:// xRelease -uintptr(0), FxShadowName:// xRollbackTo -uintptr(0), // xShadowName +var pragmaVtabModule = Sqlite3_module{ + FiVersion: 0, + FxCreate:// iVersion + uintptr(0), + FxConnect:// xCreate - create a table + 0, + FxBestIndex:// xConnect - connect to an existing table + 0, + FxDisconnect:// xBestIndex - Determine search strategy + 0, + FxDestroy:// xDisconnect - Disconnect from a table + uintptr(0), + FxOpen:// xDestroy - Drop a table + 0, + FxClose:// xOpen - open a cursor + 0, + FxFilter:// xClose - close a cursor + 0, + FxNext:// xFilter - configure scan constraints + 0, + FxEof:// xNext - advance a cursor + 0, + FxColumn:// xEof + 0, + FxRowid:// xColumn - read data + 0, + FxUpdate:// xRowid - read data + uintptr(0), + FxBegin:// xUpdate - write data + uintptr(0), + FxSync:// xBegin - begin transaction + uintptr(0), + FxCommit:// xSync - sync transaction + uintptr(0), + FxRollback:// xCommit - commit transaction + uintptr(0), + FxFindFunction:// xRollback - rollback transaction + uintptr(0), + FxRename:// xFindFunction - function overloading + uintptr(0), + FxSavepoint:// xRename - rename the table + uintptr(0), + FxRelease:// xSavepoint + uintptr(0), + FxRollbackTo:// xRelease + uintptr(0), + FxShadowName:// xRollbackTo + uintptr(0), // xShadowName } /* sqlite3.c:128292:29 */ // Check to see if zTabName is really the name of a pragma. If it is, @@ -108040,7 +110188,7 @@ func Xsqlite3InitCallback(tls *libc.TLS, pInit uintptr, argc int32, argv uintptr (*Sqlite3)(unsafe.Pointer(db)).Finit.FiDb = saved_iDb // assert( saved_iDb==0 || (db->mDbFlags & DBFLAG_Vacuum)!=0 ); if 0 != rc { - if uint32(int32(*(*uint8)(unsafe.Pointer(db + 176 /* &.init */ + 8 /* &.orphanTrigger */))&0x1>>0)) != 0 { + if (uint32(int32(*(*uint8)(unsafe.Pointer(db + 176 /* &.init */ + 8 /* &.orphanTrigger */)) & 0x1 >> 0))) != 0 { } else { if rc > (*InitData)(unsafe.Pointer(pData)).Frc { (*InitData)(unsafe.Pointer(pData)).Frc = rc @@ -109191,13 +111339,34 @@ var aKeyword = [7]struct { FnChar U8 Fcode U8 }{ - /* natural */ {Fi: U8(0), FnChar: U8(7), Fcode: U8(0x0004)}, - /* left */ {Fi: U8(6), FnChar: U8(4), Fcode: (U8(0x0008 | 0x0020))}, - /* outer */ {Fi: U8(10), FnChar: U8(5), Fcode: U8(0x0020)}, - /* right */ {Fi: U8(14), FnChar: U8(5), Fcode: (U8(0x0010 | 0x0020))}, - /* full */ {Fi: U8(19), FnChar: U8(4), Fcode: (U8((0x0008 | 0x0010) | 0x0020))}, - /* inner */ {Fi: U8(23), FnChar: U8(5), Fcode: U8(0x0001)}, - /* cross */ {Fi: U8(28), FnChar: U8(5), Fcode: (U8(0x0001 | 0x0002))}, + /* natural */ { + Fi: U8(0), + FnChar: U8(7), + Fcode: U8(0x0004)}, + /* left */ { + Fi: U8(6), + FnChar: U8(4), + Fcode: (U8(0x0008 | 0x0020))}, + /* outer */ { + Fi: U8(10), + FnChar: U8(5), + Fcode: U8(0x0020)}, + /* right */ { + Fi: U8(14), + FnChar: U8(5), + Fcode: (U8(0x0010 | 0x0020))}, + /* full */ { + Fi: U8(19), + FnChar: U8(4), + Fcode: (U8((0x0008 | 0x0010) | 0x0020))}, + /* inner */ { + Fi: U8(23), + FnChar: U8(5), + Fcode: U8(0x0001)}, + /* cross */ { + Fi: U8(28), + FnChar: U8(5), + Fcode: (U8(0x0001 | 0x0002))}, } /* sqlite3.c:129513:5 */ // Return the index of a column in a table. Return -1 if the column @@ -109754,14 +111923,8 @@ func selectInnerLoop(tls *libc.TLS, pParse uintptr, p uintptr, srcTab int32, pSo for i = (*SortCtx)(unsafe.Pointer(pSort)).FnOBSat; i < (*ExprList)(unsafe.Pointer((*SortCtx)(unsafe.Pointer(pSort)).FpOrderBy)).FnExpr; i++ { var j int32 - if (libc.AssignInt32(&j, int32((*struct { - FiOrderByCol U16 - FiAlias U16 - })(unsafe.Pointer(((*SortCtx)(unsafe.Pointer(pSort)).FpOrderBy+8 /* &.a */)+uintptr(i)*32+24 /* &.u */)).FiOrderByCol))) > 0 { - (*struct { - FiOrderByCol U16 - FiAlias U16 - })(unsafe.Pointer(((*Select)(unsafe.Pointer(p)).FpEList + 8 /* &.a */) + uintptr((j-1))*32 + 24 /* &.u */)).FiOrderByCol = (U16((i + 1) - (*SortCtx)(unsafe.Pointer(pSort)).FnOBSat)) + if (libc.AssignInt32(&j, int32(*(*U16)(unsafe.Pointer(((*SortCtx)(unsafe.Pointer(pSort)).FpOrderBy + 8 /* &.a */) + uintptr(i)*32 + 24 /* &.u */ /* &.x */ /* &.iOrderByCol */))))) > 0 { + *(*U16)(unsafe.Pointer(((*Select)(unsafe.Pointer(p)).FpEList + 8 /* &.a */) + uintptr((j-1))*32 + 24 /* &.u */ /* &.x */ /* &.iOrderByCol */)) = (U16((i + 1) - (*SortCtx)(unsafe.Pointer(pSort)).FnOBSat)) } } @@ -109769,10 +111932,7 @@ func selectInnerLoop(tls *libc.TLS, pParse uintptr, p uintptr, srcTab int32, pSo // from the sorter by the optimizations in this branch pEList = (*Select)(unsafe.Pointer(p)).FpEList for i = 0; i < (*ExprList)(unsafe.Pointer(pEList)).FnExpr; i++ { - if int32((*struct { - FiOrderByCol U16 - FiAlias U16 - })(unsafe.Pointer((pEList+8 /* &.a */)+uintptr(i)*32+24 /* &.u */)).FiOrderByCol) > 0 { + if int32(*(*U16)(unsafe.Pointer(((pEList + 8 /* &.a */) + uintptr(i)*32 + 24 /* &.u */ /* &.x */) /* &.iOrderByCol */))) > 0 { nResultCol-- regOrig = 0 } @@ -110037,10 +112197,7 @@ func selectInnerLoop(tls *libc.TLS, pParse uintptr, p uintptr, srcTab int32, pSo } for i = 0; i < nKey; i++ { Xsqlite3VdbeAddOp2(tls, v, 78, - ((regResult + int32((*struct { - FiOrderByCol U16 - FiAlias U16 - })(unsafe.Pointer((pSO+8 /* &.a */)+uintptr(i)*32+24 /* &.u */)).FiOrderByCol)) - 1), + ((regResult + int32(*(*U16)(unsafe.Pointer(((pSO + 8 /* &.a */) + uintptr(i)*32 + 24 /* &.u */ /* &.x */) /* &.iOrderByCol */)))) - 1), (r2 + i)) } Xsqlite3VdbeAddOp2(tls, v, 119, iParm, (r2 + nKey)) @@ -110269,24 +112426,15 @@ func generateSortTail(tls *libc.TLS, pParse uintptr, p uintptr, pSort uintptr, n i = 0 iCol = ((nKey + bSeq) - 1) for ; i < nColumn; i++ { - if int32((*struct { - FiOrderByCol U16 - FiAlias U16 - })(unsafe.Pointer(aOutEx+uintptr(i)*32+24 /* &.u */)).FiOrderByCol) == 0 { + if int32(*(*U16)(unsafe.Pointer((aOutEx + uintptr(i)*32 + 24 /* &.u */ /* &.x */) /* &.iOrderByCol */))) == 0 { iCol++ } } for i = (nColumn - 1); i >= 0; i-- { { var iRead int32 - if (*struct { - FiOrderByCol U16 - FiAlias U16 - })(unsafe.Pointer(aOutEx+uintptr(i)*32+24 /* &.u */)).FiOrderByCol != 0 { - iRead = (int32((*struct { - FiOrderByCol U16 - FiAlias U16 - })(unsafe.Pointer(aOutEx+uintptr(i)*32+24 /* &.u */)).FiOrderByCol) - 1) + if *(*U16)(unsafe.Pointer(aOutEx + uintptr(i)*32 + 24 /* &.u */ /* &.x */ /* &.iOrderByCol */)) != 0 { + iRead = (int32(*(*U16)(unsafe.Pointer((aOutEx + uintptr(i)*32 + 24 /* &.u */ /* &.x */) /* &.iOrderByCol */))) - 1) } else { iRead = libc.PostDecInt32(&iCol, 1) } @@ -110598,7 +112746,7 @@ func generateColumnNames(tls *libc.TLS, pParse uintptr, pSelect uintptr) { /* sq // Agg processing has not run yet // Covering idx not yet coded - if ((*ExprList_item)(unsafe.Pointer((pEList+8 /* &.a */)+uintptr(i)*32)).FzEName != 0) && (int32(*(*uint8)(unsafe.Pointer(((pEList + 8 /* &.a */) + uintptr(i)*32) + 20 /* &.eEName */))&0x3>>0) == 0) { + if ((*ExprList_item)(unsafe.Pointer((pEList+8 /* &.a */)+uintptr(i)*32)).FzEName != 0) && ((int32(*(*uint8)(unsafe.Pointer(((pEList + 8 /* &.a */) + uintptr(i)*32) + 20 /* &.eEName */)) & 0x3 >> 0)) == 0) { // An AS clause always takes first priority var zName uintptr = (*ExprList_item)(unsafe.Pointer((pEList + 8 /* &.a */) + uintptr(i)*32)).FzEName Xsqlite3VdbeSetColName(tls, v, i, 0, zName, libc.UintptrFromInt32(-1)) @@ -110697,7 +112845,7 @@ __1: } { // Get an appropriate name for the column - if ((libc.AssignUintptr(&zName, (*ExprList_item)(unsafe.Pointer((pEList+8 /* &.a */)+uintptr(i)*32)).FzEName)) != uintptr(0)) && (int32(*(*uint8)(unsafe.Pointer(((pEList + 8 /* &.a */) + uintptr(i)*32) + 20 /* &.eEName */))&0x3>>0) == 0) { + if ((libc.AssignUintptr(&zName, (*ExprList_item)(unsafe.Pointer((pEList+8 /* &.a */)+uintptr(i)*32)).FzEName)) != uintptr(0)) && ((int32(*(*uint8)(unsafe.Pointer(((pEList + 8 /* &.a */) + uintptr(i)*32) + 20 /* &.eEName */)) & 0x3 >> 0)) == 0) { } else { var pColExpr uintptr = Xsqlite3ExprSkipCollateAndLikely(tls, (*ExprList_item)(unsafe.Pointer((pEList+8 /* &.a */)+uintptr(i)*32)).FpExpr) for int32((*Expr)(unsafe.Pointer(pColExpr)).Fop) == 139 { @@ -111010,10 +113158,7 @@ func multiSelectOrderByKeyInfo(tls *libc.TLS, pParse uintptr, p uintptr, nExtra if ((*Expr)(unsafe.Pointer(pTerm)).Fflags & U32(0x000100)) != 0 { pColl = Xsqlite3ExprCollSeq(tls, pParse, pTerm) } else { - pColl = multiSelectCollSeq(tls, pParse, p, (int32((*struct { - FiOrderByCol U16 - FiAlias U16 - })(unsafe.Pointer(pItem+24 /* &.u */)).FiOrderByCol) - 1)) + pColl = multiSelectCollSeq(tls, pParse, p, (int32(*(*U16)(unsafe.Pointer((pItem + 24 /* &.u */ /* &.x */) /* &.iOrderByCol */))) - 1)) if pColl == uintptr(0) { pColl = (*Sqlite3)(unsafe.Pointer(db)).FpDfltColl } @@ -111128,7 +113273,7 @@ __3: if !(i < (*SrcList)(unsafe.Pointer(pSrc)).FnSrc) { goto __5 } - if !(uint32(int32(*(*uint8)(unsafe.Pointer((pSrc + 8 /* &.a */) + uintptr(i)*112 + 60 /* &.fg */ + 4 /* &.isRecursive */))&0x20>>5)) != 0) { + if !((uint32(int32(*(*uint8)(unsafe.Pointer((pSrc + 8 /* &.a */) + uintptr(i)*112 + 60 /* &.fg */ + 4 /* &.isRecursive */)) & 0x20 >> 5))) != 0) { goto __6 } iCurrent = (*SrcList_item)(unsafe.Pointer((pSrc + 8 /* &.a */) + uintptr(i)*112)).FiCursor @@ -112093,10 +114238,7 @@ func multiSelectOrderBy(tls *libc.TLS, pParse uintptr, p uintptr, pDest uintptr) } { - if int32((*struct { - FiOrderByCol U16 - FiAlias U16 - })(unsafe.Pointer(pItem+24 /* &.u */)).FiOrderByCol) == i { + if int32(*(*U16)(unsafe.Pointer((pItem + 24 /* &.u */ /* &.x */) /* &.iOrderByCol */))) == i { goto __3 } } @@ -112117,10 +114259,7 @@ func multiSelectOrderBy(tls *libc.TLS, pParse uintptr, p uintptr, pDest uintptr) *(*int32)(unsafe.Pointer(pNew + 8 /* &.u */)) = i (*Select)(unsafe.Pointer(p)).FpOrderBy = libc.AssignUintptr(&pOrderBy, Xsqlite3ExprListAppend(tls, pParse, pOrderBy, pNew)) if pOrderBy != 0 { - (*struct { - FiOrderByCol U16 - FiAlias U16 - })(unsafe.Pointer((pOrderBy + 8 /* &.a */) + uintptr(libc.PostIncInt32(&nOrderBy, 1))*32 + 24 /* &.u */)).FiOrderByCol = U16(i) + *(*U16)(unsafe.Pointer((pOrderBy + 8 /* &.a */) + uintptr(libc.PostIncInt32(&nOrderBy, 1))*32 + 24 /* &.u */ /* &.x */ /* &.iOrderByCol */)) = U16(i) } } } @@ -112144,10 +114283,7 @@ func multiSelectOrderBy(tls *libc.TLS, pParse uintptr, p uintptr, pDest uintptr) } { - *(*U32)(unsafe.Pointer(aPermute + uintptr(i)*4)) = (U32(int32((*struct { - FiOrderByCol U16 - FiAlias U16 - })(unsafe.Pointer(pItem+24 /* &.u */)).FiOrderByCol) - 1)) + *(*U32)(unsafe.Pointer(aPermute + uintptr(i)*4)) = (U32(int32(*(*U16)(unsafe.Pointer((pItem + 24 /* &.u */ /* &.x */) /* &.iOrderByCol */))) - 1)) } goto __5 __5: @@ -112496,7 +114632,7 @@ func substSelect(tls *libc.TLS, pSubst uintptr, p uintptr, doPrior int32) { /* s } { substSelect(tls, pSubst, (*SrcList_item)(unsafe.Pointer(pItem)).FpSelect, 1) - if uint32(int32(*(*uint8)(unsafe.Pointer(pItem + 60 /* &.fg */ + 4 /* &.isTabFunc */))&0x4>>2)) != 0 { + if (uint32(int32(*(*uint8)(unsafe.Pointer(pItem + 60 /* &.fg */ + 4 /* &.isTabFunc */)) & 0x4 >> 2))) != 0 { substExprList(tls, pSubst, *(*uintptr)(unsafe.Pointer(pItem + 96 /* &.u1 */))) } } @@ -112833,10 +114969,7 @@ func flattenSubquery(tls *libc.TLS, pParse uintptr, p uintptr, iFrom int32, isAg if (*Select)(unsafe.Pointer(p)).FpOrderBy != 0 { var ii int32 for ii = 0; ii < (*ExprList)(unsafe.Pointer((*Select)(unsafe.Pointer(p)).FpOrderBy)).FnExpr; ii++ { - if int32((*struct { - FiOrderByCol U16 - FiAlias U16 - })(unsafe.Pointer(((*Select)(unsafe.Pointer(p)).FpOrderBy+8 /* &.a */)+uintptr(ii)*32+24 /* &.u */)).FiOrderByCol) == 0 { + if int32(*(*U16)(unsafe.Pointer((((*Select)(unsafe.Pointer(p)).FpOrderBy + 8 /* &.a */) + uintptr(ii)*32 + 24 /* &.u */ /* &.x */) /* &.iOrderByCol */))) == 0 { return 0 } } @@ -113049,10 +115182,7 @@ __1: // currently part of pSub->pSrc). See ticket [d11a6e908f]. var pOrderBy uintptr = (*Select)(unsafe.Pointer(pSub)).FpOrderBy for i = 0; i < (*ExprList)(unsafe.Pointer(pOrderBy)).FnExpr; i++ { - (*struct { - FiOrderByCol U16 - FiAlias U16 - })(unsafe.Pointer((pOrderBy + 8 /* &.a */) + uintptr(i)*32 + 24 /* &.u */)).FiOrderByCol = U16(0) + *(*U16)(unsafe.Pointer((pOrderBy + 8 /* &.a */) + uintptr(i)*32 + 24 /* &.u */ /* &.x */ /* &.iOrderByCol */)) = U16(0) } (*Select)(unsafe.Pointer(pParent)).FpOrderBy = pOrderBy @@ -113505,7 +115635,7 @@ func Xsqlite3IndexedByLookup(tls *libc.TLS, pParse uintptr, pFrom uintptr) int32 bp := tls.Alloc(16) defer tls.Free(16) - if ((*SrcList_item)(unsafe.Pointer(pFrom)).FpTab != 0) && (uint32(int32(*(*uint8)(unsafe.Pointer((pFrom + 60 /* &.fg */) + 4 /* &.isIndexedBy */))&0x2>>1)) != 0) { + if ((*SrcList_item)(unsafe.Pointer(pFrom)).FpTab != 0) && ((uint32(int32(*(*uint8)(unsafe.Pointer((pFrom + 60 /* &.fg */) + 4 /* &.isIndexedBy */)) & 0x2 >> 1))) != 0) { var pTab uintptr = (*SrcList_item)(unsafe.Pointer(pFrom)).FpTab var zIndexedBy uintptr = *(*uintptr)(unsafe.Pointer(pFrom + 96 /* &.u1 */)) var pIdx uintptr @@ -113570,10 +115700,7 @@ func convertCompoundSelectToSubquery(tls *libc.TLS, pWalker uintptr, p uintptr) // SELECT is rewritten for window-functions processing and then passed // to sqlite3SelectPrep() and similar a second time. The rewriting done // by this function is not required in this case. - if (*struct { - FiOrderByCol U16 - FiAlias U16 - })(unsafe.Pointer(a+uintptr(0)*32+24 /* &.u */)).FiOrderByCol != 0 { + if *(*U16)(unsafe.Pointer(a + uintptr(0)*32 + 24 /* &.u */ /* &.x */ /* &.iOrderByCol */)) != 0 { return 0 } for i = ((*ExprList)(unsafe.Pointer((*Select)(unsafe.Pointer(p)).FpOrderBy)).FnExpr - 1); i >= 0; i-- { @@ -113626,7 +115753,7 @@ func cannotBeFunction(tls *libc.TLS, pParse uintptr, pFrom uintptr) int32 { /* s bp := tls.Alloc(8) defer tls.Free(8) - if uint32(int32(*(*uint8)(unsafe.Pointer(pFrom + 60 /* &.fg */ + 4 /* &.isTabFunc */))&0x4>>2)) != 0 { + if (uint32(int32(*(*uint8)(unsafe.Pointer(pFrom + 60 /* &.fg */ + 4 /* &.isTabFunc */)) & 0x4 >> 2))) != 0 { Xsqlite3ErrorMsg(tls, pParse, ts+20358 /* "'%s' is not a fu..." */, libc.VaList(bp, (*SrcList_item)(unsafe.Pointer(pFrom)).FzName)) return 1 } @@ -113982,7 +116109,7 @@ __1: libc.VaList(bp+8, (*Table)(unsafe.Pointer(pTab)).FzName)) } if ((((*Table)(unsafe.Pointer(pTab)).FnModuleArg != 0) && - (uint32(int32(*(*uint8)(unsafe.Pointer((pFrom + 60 /* &.fg */) + 4 /* &.fromDDL */))&0x40>>6)) != 0)) && + ((uint32(int32(*(*uint8)(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(0x00000080)) != uint64(0)))) { Xsqlite3ErrorMsg(tls, pParse, ts+20639, /* "unsafe use of vi..." */ @@ -114059,7 +116186,7 @@ __3: pNew = Xsqlite3ExprListAppend(tls, pParse, pNew, (*ExprList_item)(unsafe.Pointer(a+uintptr(k)*32)).FpExpr) if pNew != 0 { (*ExprList_item)(unsafe.Pointer((pNew + 8 /* &.a */) + uintptr(((*ExprList)(unsafe.Pointer(pNew)).FnExpr-1))*32)).FzEName = (*ExprList_item)(unsafe.Pointer(a + uintptr(k)*32)).FzEName - libc.SetBitFieldPtr8Uint32((pNew+8 /* &.a */)+uintptr(((*ExprList)(unsafe.Pointer(pNew)).FnExpr-1))*32+20 /* &.eEName */, uint32(int32(*(*uint8)(unsafe.Pointer(a + uintptr(k)*32 + 20 /* &.eEName */))&0x3>>0)), 0, 0x3) + libc.SetBitFieldPtr8Uint32((pNew+8 /* &.a */)+uintptr(((*ExprList)(unsafe.Pointer(pNew)).FnExpr-1))*32+20 /* &.eEName */, (uint32(int32(*(*uint8)(unsafe.Pointer(a + uintptr(k)*32 + 20 /* &.eEName */)) & 0x3 >> 0))), 0, 0x3) (*ExprList_item)(unsafe.Pointer(a + uintptr(k)*32)).FzEName = uintptr(0) } (*ExprList_item)(unsafe.Pointer(a + uintptr(k)*32)).FpExpr = uintptr(0) @@ -114577,7 +116704,7 @@ func explainSimpleCount(tls *libc.TLS, pParse uintptr, pTab uintptr, pIdx uintpt defer tls.Free(24) if int32((*Parse)(unsafe.Pointer(pParse)).Fexplain) == 2 { - var bCover int32 = (libc.Bool32((pIdx != uintptr(0)) && ((((*Table)(unsafe.Pointer((pTab))).FtabFlags & U32(0x0080)) == U32(0)) || !(int32(*(*uint16)(unsafe.Pointer((pIdx) + 100 /* &.idxType */))&0x3>>0) == 2)))) + var bCover int32 = (libc.Bool32((pIdx != uintptr(0)) && ((((*Table)(unsafe.Pointer((pTab))).FtabFlags & U32(0x0080)) == U32(0)) || !((int32(*(*uint16)(unsafe.Pointer((pIdx) + 100 /* &.idxType */)) & 0x3 >> 0)) == 2)))) Xsqlite3VdbeExplain(tls, pParse, uint8(0), ts+20803, /* "SCAN TABLE %s%s%..." */ libc.VaList(bp, (*Table)(unsafe.Pointer(pTab)).FzName, func() uintptr { @@ -114666,7 +116793,7 @@ func isSelfJoinView(tls *libc.TLS, pTabList uintptr, pThis uintptr) uintptr { /* if (*SrcList_item)(unsafe.Pointer(pItem)).FpSelect == uintptr(0) { continue } - if uint32(int32(*(*uint8)(unsafe.Pointer(pItem + 60 /* &.fg */ + 4 /* &.viaCoroutine */))&0x10>>4)) != 0 { + if (uint32(int32(*(*uint8)(unsafe.Pointer(pItem + 60 /* &.fg */ + 4 /* &.viaCoroutine */)) & 0x10 >> 4))) != 0 { continue } if (*SrcList_item)(unsafe.Pointer(pItem)).FzName == uintptr(0) { @@ -115187,7 +117314,7 @@ __35: (*SrcList_item)(unsafe.Pointer(pItem1)).FregReturn = libc.PreIncInt32(&(*Parse)(unsafe.Pointer(pParse)).FnMem, 1) topAddr = Xsqlite3VdbeAddOp2(tls, v, 69, 0, (*SrcList_item)(unsafe.Pointer(pItem1)).FregReturn) (*SrcList_item)(unsafe.Pointer(pItem1)).FaddrFillSub = (topAddr + 1) - if !(int32(*(*uint8)(unsafe.Pointer((pItem1 + 60 /* &.fg */) + 4 /* &.isCorrelated */))&0x8>>3) == 0) { + if !((int32(*(*uint8)(unsafe.Pointer((pItem1 + 60 /* &.fg */) + 4 /* &.isCorrelated */)) & 0x8 >> 3)) == 0) { goto __37 } // If the subquery is not correlated and if we are not inside of @@ -115457,10 +117584,7 @@ __64: if !(k > 0) { goto __66 } - (*struct { - FiOrderByCol U16 - FiAlias U16 - })(unsafe.Pointer(pItem2 + 24 /* &.u */)).FiAlias = U16(0) + *(*U16)(unsafe.Pointer(pItem2 + 24 /* &.u */ /* &.x */ + 2 /* &.iAlias */)) = U16(0) goto __65 __65: k-- @@ -115475,10 +117599,7 @@ __67: if !(k > 0) { goto __69 } - (*struct { - FiOrderByCol U16 - FiAlias U16 - })(unsafe.Pointer(pItem2 + 24 /* &.u */)).FiAlias = U16(0) + *(*U16)(unsafe.Pointer(pItem2 + 24 /* &.u */ /* &.x */ + 2 /* &.iAlias */)) = U16(0) goto __68 __68: k-- @@ -115926,7 +118047,7 @@ __86: pBest = Xsqlite3PrimaryKeyIndex(tls, pTab1) __110: ; - if !(!(int32(*(*uint8)(unsafe.Pointer(((*Select)(unsafe.Pointer(p)).FpSrc + 8 /* &.a */) + uintptr(0)*112 + 60 /* &.fg */ + 4 /* &.notIndexed */))&0x1>>0) != 0)) { + if !(!((int32(*(*uint8)(unsafe.Pointer(((*Select)(unsafe.Pointer(p)).FpSrc + 8 /* &.a */) + uintptr(0)*112 + 60 /* &.fg */ + 4 /* &.notIndexed */)) & 0x1 >> 0)) != 0)) { goto __111 } pIdx = (*Table)(unsafe.Pointer(pTab1)).FpIndex @@ -115934,7 +118055,7 @@ __112: if !(pIdx != 0) { goto __114 } - if !((((int32(*(*uint16)(unsafe.Pointer(pIdx + 100 /* &.bUnordered */))&0x4>>2) == 0) && + if !(((((int32(*(*uint16)(unsafe.Pointer(pIdx + 100 /* &.bUnordered */)) & 0x4 >> 2)) == 0) && (int32((*Index)(unsafe.Pointer(pIdx)).FszIdxRow) < int32((*Table)(unsafe.Pointer(pTab1)).FszTabRow))) && ((*Index)(unsafe.Pointer(pIdx)).FpPartIdxWhere == uintptr(0))) && (!(pBest != 0) || (int32((*Index)(unsafe.Pointer(pIdx)).FszIdxRow) < int32((*Index)(unsafe.Pointer(pBest)).FszIdxRow)))) { @@ -121679,20 +123800,8 @@ func explainIndexRange(tls *libc.TLS, pStr uintptr, pLoop uintptr) { /* sqlite3. bp := tls.Alloc(8) defer tls.Free(8) - var pIndex uintptr = (*struct { - FnEq U16 - FnBtm U16 - FnTop U16 - FnDistinctCol U16 - FpIndex uintptr - })(unsafe.Pointer(pLoop + 24 /* &.u */)).FpIndex - var nEq U16 = (*struct { - FnEq U16 - FnBtm U16 - FnTop U16 - FnDistinctCol U16 - FpIndex uintptr - })(unsafe.Pointer(pLoop + 24 /* &.u */)).FnEq + var pIndex uintptr = *(*uintptr)(unsafe.Pointer(pLoop + 24 /* &.u */ /* &.btree */ + 8 /* &.pIndex */)) + var nEq U16 = *(*U16)(unsafe.Pointer(pLoop + 24 /* &.u */ /* &.btree */ /* &.nEq */)) var nSkip U16 = (*WhereLoop)(unsafe.Pointer(pLoop)).FnSkip var i int32 var j int32 @@ -121716,23 +123825,11 @@ func explainIndexRange(tls *libc.TLS, pStr uintptr, pLoop uintptr) { /* sqlite3. j = i if ((*WhereLoop)(unsafe.Pointer(pLoop)).FwsFlags & U32(0x00000020)) != 0 { - explainAppendTerm(tls, pStr, pIndex, int32((*struct { - FnEq U16 - FnBtm U16 - FnTop U16 - FnDistinctCol U16 - FpIndex uintptr - })(unsafe.Pointer(pLoop+24 /* &.u */)).FnBtm), j, i, ts+23055 /* ">" */) + explainAppendTerm(tls, pStr, pIndex, int32(*(*U16)(unsafe.Pointer(pLoop + 24 /* &.u */ /* &.btree */ + 2 /* &.nBtm */))), j, i, ts+23055 /* ">" */) i = 1 } if ((*WhereLoop)(unsafe.Pointer(pLoop)).FwsFlags & U32(0x00000010)) != 0 { - explainAppendTerm(tls, pStr, pIndex, int32((*struct { - FnEq U16 - FnBtm U16 - FnTop U16 - FnDistinctCol U16 - FpIndex uintptr - })(unsafe.Pointer(pLoop+24 /* &.u */)).FnTop), j, i, ts+23057 /* "<" */) + explainAppendTerm(tls, pStr, pIndex, int32(*(*U16)(unsafe.Pointer(pLoop + 24 /* &.u */ /* &.btree */ + 4 /* &.nTop */))), j, i, ts+23057 /* "<" */) } Xsqlite3_str_append(tls, pStr, ts+6652 /* ")" */, 1) } @@ -121774,13 +123871,7 @@ func Xsqlite3WhereExplainOneScan(tls *libc.TLS, pParse uintptr, pTabList uintptr } isSearch = (libc.Bool32((((flags & (U32(0x00000020 | 0x00000010))) != U32(0)) || - (((flags & U32(0x00000400)) == U32(0)) && (int32((*struct { - FnEq U16 - FnBtm U16 - FnTop U16 - FnDistinctCol U16 - FpIndex uintptr - })(unsafe.Pointer(pLoop+24 /* &.u */)).FnEq) > 0))) || + (((flags & U32(0x00000400)) == U32(0)) && (int32(*(*U16)(unsafe.Pointer((pLoop + 24 /* &.u */ /* &.btree */) /* &.nEq */))) > 0))) || ((int32(wctrlFlags) & (0x0001 | 0x0002)) != 0))) Xsqlite3StrAccumInit(tls, bp+56 /* &str */, db, bp+88 /* &zBuf[0] */, int32(unsafe.Sizeof([100]int8{})), 1000000000) @@ -121803,15 +123894,9 @@ func Xsqlite3WhereExplainOneScan(tls *libc.TLS, pParse uintptr, pTabList uintptr var zFmt uintptr = uintptr(0) var pIdx uintptr - pIdx = (*struct { - FnEq U16 - FnBtm U16 - FnTop U16 - FnDistinctCol U16 - FpIndex uintptr - })(unsafe.Pointer(pLoop + 24 /* &.u */)).FpIndex + pIdx = *(*uintptr)(unsafe.Pointer(pLoop + 24 /* &.u */ /* &.btree */ + 8 /* &.pIndex */)) - if !(((*Table)(unsafe.Pointer(((*SrcList_item)(unsafe.Pointer(pItem)).FpTab))).FtabFlags & U32(0x0080)) == U32(0)) && (int32(*(*uint16)(unsafe.Pointer((pIdx) + 100 /* &.idxType */))&0x3>>0) == 2) { + if !(((*Table)(unsafe.Pointer(((*SrcList_item)(unsafe.Pointer(pItem)).FpTab))).FtabFlags & U32(0x0080)) == U32(0)) && ((int32(*(*uint16)(unsafe.Pointer((pIdx) + 100 /* &.idxType */)) & 0x3 >> 0)) == 2) { if isSearch != 0 { zFmt = ts + 23101 /* "PRIMARY KEY" */ } @@ -121845,19 +123930,7 @@ func Xsqlite3WhereExplainOneScan(tls *libc.TLS, pParse uintptr, pTabList uintptr ts+23222 /* " USING INTEGER P..." */, libc.VaList(bp+32, zRangeOp)) } else if (flags & U32(0x00000400)) != U32(0) { Xsqlite3_str_appendf(tls, bp+56 /* &str */, ts+23260, /* " VIRTUAL TABLE I..." */ - libc.VaList(bp+40, (*struct { - FidxNum int32 - FneedFree U8 - FisOrdered I8 - FomitMask U16 - FidxStr uintptr - })(unsafe.Pointer(pLoop+24 /* &.u */)).FidxNum, (*struct { - FidxNum int32 - FneedFree U8 - FisOrdered I8 - FomitMask U16 - FidxStr uintptr - })(unsafe.Pointer(pLoop+24 /* &.u */)).FidxStr)) + libc.VaList(bp+40, *(*int32)(unsafe.Pointer(pLoop + 24 /* &.u */ /* &.vtab */ /* &.idxNum */)), *(*uintptr)(unsafe.Pointer(pLoop + 24 /* &.u */ /* &.vtab */ + 8 /* &.idxStr */)))) } zMsg = Xsqlite3StrAccumFinish(tls, bp+56 /* &str */) @@ -122060,10 +124133,7 @@ func removeUnindexableInClauseTerms(tls *libc.TLS, pParse uintptr, iEq int32, pL // it's easiest just to zero them here. var pOrderBy uintptr = (*Select)(unsafe.Pointer(pSelect)).FpOrderBy for i = 0; i < (*ExprList)(unsafe.Pointer(pOrderBy)).FnExpr; i++ { - (*struct { - FiOrderByCol U16 - FiAlias U16 - })(unsafe.Pointer((pOrderBy + 8 /* &.a */) + uintptr(i)*32 + 24 /* &.u */)).FiOrderByCol = U16(0) + *(*U16)(unsafe.Pointer((pOrderBy + 8 /* &.a */) + uintptr(i)*32 + 24 /* &.u */ /* &.x */ /* &.iOrderByCol */)) = U16(0) } } } @@ -122107,20 +124177,8 @@ func codeEqualityTerm(tls *libc.TLS, pParse uintptr, pTerm uintptr, pLevel uintp var aiMap uintptr = uintptr(0) if ((((*WhereLoop)(unsafe.Pointer(pLoop)).FwsFlags & U32(0x00000400)) == U32(0)) && - ((*struct { - FnEq U16 - FnBtm U16 - FnTop U16 - FnDistinctCol U16 - FpIndex uintptr - })(unsafe.Pointer(pLoop+24 /* &.u */)).FpIndex != uintptr(0))) && - (*(*U8)(unsafe.Pointer((*Index)(unsafe.Pointer((*struct { - FnEq U16 - FnBtm U16 - FnTop U16 - FnDistinctCol U16 - FpIndex uintptr - })(unsafe.Pointer(pLoop+24 /* &.u */)).FpIndex)).FaSortOrder + uintptr(iEq))) != 0) { + (*(*uintptr)(unsafe.Pointer((pLoop + 24 /* &.u */ /* &.btree */) + 8 /* &.pIndex */)) != uintptr(0))) && + (*(*U8)(unsafe.Pointer((*Index)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer((pLoop + 24 /* &.u */ /* &.btree */) + 8 /* &.pIndex */)))).FaSortOrder + uintptr(iEq))) != 0) { bRev = libc.BoolInt32(!(bRev != 0)) } @@ -122168,39 +124226,15 @@ func codeEqualityTerm(tls *libc.TLS, pParse uintptr, pTerm uintptr, pLevel uintp }(), *(*int32)(unsafe.Pointer(bp /* iTab */)), 0) *(*U32)(unsafe.Pointer(pLoop + 40 /* &.wsFlags */)) |= (U32(0x00000800)) - if (*struct { - FnIn int32 - _ [4]byte - FaInLoop uintptr - })(unsafe.Pointer(pLevel+56 /* &.u */)).FnIn == 0 { + if *(*int32)(unsafe.Pointer((pLevel + 56 /* &.u */ /* &.in */) /* &.nIn */)) == 0 { (*WhereLevel)(unsafe.Pointer(pLevel)).FaddrNxt = Xsqlite3VdbeMakeLabel(tls, pParse) } - i = (*struct { - FnIn int32 - _ [4]byte - FaInLoop uintptr - })(unsafe.Pointer(pLevel + 56 /* &.u */)).FnIn + i = *(*int32)(unsafe.Pointer(pLevel + 56 /* &.u */ /* &.in */ /* &.nIn */)) *(*int32)(unsafe.Pointer(pLevel + 56 /* &.u */ /* &.in */ /* &.nIn */)) += (nEq) - (*struct { - FnIn int32 - _ [4]byte - FaInLoop uintptr - })(unsafe.Pointer(pLevel + 56 /* &.u */)).FaInLoop = Xsqlite3DbReallocOrFree(tls, (*Parse)(unsafe.Pointer(pParse)).Fdb, (*struct { - FnIn int32 - _ [4]byte - FaInLoop uintptr - })(unsafe.Pointer(pLevel+56 /* &.u */)).FaInLoop, - (uint64(uint64(unsafe.Sizeof(InLoop{})) * uint64((*struct { - FnIn int32 - _ [4]byte - FaInLoop uintptr - })(unsafe.Pointer(pLevel+56 /* &.u */)).FnIn)))) - pIn = (*struct { - FnIn int32 - _ [4]byte - FaInLoop uintptr - })(unsafe.Pointer(pLevel + 56 /* &.u */)).FaInLoop + *(*uintptr)(unsafe.Pointer(pLevel + 56 /* &.u */ /* &.in */ + 8 /* &.aInLoop */)) = Xsqlite3DbReallocOrFree(tls, (*Parse)(unsafe.Pointer(pParse)).Fdb, *(*uintptr)(unsafe.Pointer(pLevel + 56 /* &.u */ /* &.in */ + 8 /* &.aInLoop */)), + (uint64(uint64(unsafe.Sizeof(InLoop{})) * uint64(*(*int32)(unsafe.Pointer((pLevel + 56 /* &.u */ /* &.in */) /* &.nIn */)))))) + pIn = *(*uintptr)(unsafe.Pointer(pLevel + 56 /* &.u */ /* &.in */ + 8 /* &.aInLoop */)) if pIn != 0 { var iMap int32 = 0 // Index in aiMap[] pIn += 20 * (uintptr(i)) @@ -122208,7 +124242,7 @@ func codeEqualityTerm(tls *libc.TLS, pParse uintptr, pTerm uintptr, pLevel uintp if (*WhereTerm)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer((*WhereLoop)(unsafe.Pointer(pLoop)).FaLTerm + uintptr(i)*8)))).FpExpr == pX { var iOut int32 = ((iReg + i) - iEq) if eType == 1 { - (*InLoop)(unsafe.Pointer(pIn)).FaddrInTop = Xsqlite3VdbeAddOp2(tls, v, 127, *(*int32)(unsafe.Pointer(bp /* iTab */)), iOut) + *(*int32)(unsafe.Pointer(pIn + 4 /* &.addrInTop */)) = Xsqlite3VdbeAddOp2(tls, v, 127, *(*int32)(unsafe.Pointer(bp /* iTab */)), iOut) } else { var iCol int32 if aiMap != 0 { @@ -122216,36 +124250,32 @@ func codeEqualityTerm(tls *libc.TLS, pParse uintptr, pTerm uintptr, pLevel uintp } else { iCol = 0 } - (*InLoop)(unsafe.Pointer(pIn)).FaddrInTop = Xsqlite3VdbeAddOp3(tls, v, 89, *(*int32)(unsafe.Pointer(bp /* iTab */)), iCol, iOut) + *(*int32)(unsafe.Pointer(pIn + 4 /* &.addrInTop */)) = Xsqlite3VdbeAddOp3(tls, v, 89, *(*int32)(unsafe.Pointer(bp /* iTab */)), iCol, iOut) } Xsqlite3VdbeAddOp1(tls, v, 50, iOut) if i == iEq { - (*InLoop)(unsafe.Pointer(pIn)).FiCur = *(*int32)(unsafe.Pointer(bp /* iTab */)) - (*InLoop)(unsafe.Pointer(pIn)).FeEndLoopOp = func() uint8 { + *(*int32)(unsafe.Pointer(pIn /* &.iCur */)) = *(*int32)(unsafe.Pointer(bp /* iTab */)) + *(*U8)(unsafe.Pointer(pIn + 16 /* &.eEndLoopOp */)) = func() uint8 { if bRev != 0 { return uint8(4) } return uint8(5) }() if iEq > 0 { - (*InLoop)(unsafe.Pointer(pIn)).FiBase = (iReg - i) - (*InLoop)(unsafe.Pointer(pIn)).FnPrefix = i + *(*int32)(unsafe.Pointer(pIn + 8 /* &.iBase */)) = (iReg - i) + *(*int32)(unsafe.Pointer(pIn + 12 /* &.nPrefix */)) = i *(*U32)(unsafe.Pointer(pLoop + 40 /* &.wsFlags */)) |= (U32(0x00040000)) } else { - (*InLoop)(unsafe.Pointer(pIn)).FnPrefix = 0 + *(*int32)(unsafe.Pointer(pIn + 12 /* &.nPrefix */)) = 0 } } else { - (*InLoop)(unsafe.Pointer(pIn)).FeEndLoopOp = U8(173) + *(*U8)(unsafe.Pointer(pIn + 16 /* &.eEndLoopOp */)) = U8(173) } pIn += 20 } } } else { - (*struct { - FnIn int32 - _ [4]byte - FaInLoop uintptr - })(unsafe.Pointer(pLevel + 56 /* &.u */)).FnIn = 0 + *(*int32)(unsafe.Pointer(pLevel + 56 /* &.u */ /* &.in */ /* &.nIn */)) = 0 } Xsqlite3DbFree(tls, (*Parse)(unsafe.Pointer(pParse)).Fdb, aiMap) } @@ -122314,31 +124344,13 @@ func codeAllEqualityTerms(tls *libc.TLS, pParse uintptr, pLevel uintptr, bRev in // This module is only called on query plans that use an index. pLoop = (*WhereLevel)(unsafe.Pointer(pLevel)).FpWLoop - nEq = (*struct { - FnEq U16 - FnBtm U16 - FnTop U16 - FnDistinctCol U16 - FpIndex uintptr - })(unsafe.Pointer(pLoop + 24 /* &.u */)).FnEq + nEq = *(*U16)(unsafe.Pointer(pLoop + 24 /* &.u */ /* &.btree */ /* &.nEq */)) nSkip = (*WhereLoop)(unsafe.Pointer(pLoop)).FnSkip - pIdx = (*struct { - FnEq U16 - FnBtm U16 - FnTop U16 - FnDistinctCol U16 - FpIndex uintptr - })(unsafe.Pointer(pLoop + 24 /* &.u */)).FpIndex + pIdx = *(*uintptr)(unsafe.Pointer(pLoop + 24 /* &.u */ /* &.btree */ + 8 /* &.pIndex */)) // Figure out how many memory cells we will need then allocate them. regBase = ((*Parse)(unsafe.Pointer(pParse)).FnMem + 1) - nReg = (int32((*struct { - FnEq U16 - FnBtm U16 - FnTop U16 - FnDistinctCol U16 - FpIndex uintptr - })(unsafe.Pointer(pLoop+24 /* &.u */)).FnEq) + nExtraReg) + nReg = (int32(*(*U16)(unsafe.Pointer((pLoop + 24 /* &.u */ /* &.btree */) /* &.nEq */))) + nExtraReg) *(*int32)(unsafe.Pointer(pParse + 56 /* &.nMem */)) += (nReg) zAff = Xsqlite3DbStrDup(tls, (*Parse)(unsafe.Pointer(pParse)).Fdb, Xsqlite3IndexAffinityStr(tls, (*Parse)(unsafe.Pointer(pParse)).Fdb, pIdx)) @@ -122574,7 +124586,7 @@ func whereIndexExprTrans(tls *libc.TLS, pIdx uintptr, iTabCur int32, iIdxCur int // var x IdxExprTrans at bp+48, 40 aColExpr = (*Index)(unsafe.Pointer(pIdx)).FaColExpr - if (aColExpr == uintptr(0)) && !(int32(*(*uint16)(unsafe.Pointer(pIdx + 100 /* &.bHasVCol */))&0x400>>10) != 0) { + if (aColExpr == uintptr(0)) && !((int32(*(*uint16)(unsafe.Pointer(pIdx + 100 /* &.bHasVCol */)) & 0x400 >> 10)) != 0) { // The index does not reference any expressions or virtual columns // so no translations are needed. return @@ -122719,7 +124731,7 @@ func Xsqlite3WhereCodeOneLoopStart(tls *libc.TLS, pParse uintptr, v uintptr, pWI addrHalt = (*WhereLevel)(unsafe.Pointer((pWInfo + 920 /* &.a */) + uintptr(j)*88)).FaddrBrk // Special case of a FROM clause subquery implemented as a co-routine - if uint32(int32(*(*uint8)(unsafe.Pointer(pTabItem + 60 /* &.fg */ + 4 /* &.viaCoroutine */))&0x10>>4)) != 0 { + if (uint32(int32(*(*uint8)(unsafe.Pointer(pTabItem + 60 /* &.fg */ + 4 /* &.viaCoroutine */)) & 0x10 >> 4))) != 0 { var regYield int32 = (*SrcList_item)(unsafe.Pointer(pTabItem)).FregReturn Xsqlite3VdbeAddOp3(tls, v, 13, regYield, 0, (*SrcList_item)(unsafe.Pointer(pTabItem)).FaddrFillSub) (*WhereLevel)(unsafe.Pointer(pLevel)).Fp2 = Xsqlite3VdbeAddOp2(tls, v, 14, regYield, addrBrk) @@ -122750,42 +124762,18 @@ func Xsqlite3WhereCodeOneLoopStart(tls *libc.TLS, pParse uintptr, v uintptr, pWI codeExprOrVector(tls, pParse, pRight, iTarget, 1) } } - Xsqlite3VdbeAddOp2(tls, v, 69, (*struct { - FidxNum int32 - FneedFree U8 - FisOrdered I8 - FomitMask U16 - FidxStr uintptr - })(unsafe.Pointer(pLoop+24 /* &.u */)).FidxNum, iReg) + Xsqlite3VdbeAddOp2(tls, v, 69, *(*int32)(unsafe.Pointer(pLoop + 24 /* &.u */ /* &.vtab */ /* &.idxNum */)), iReg) Xsqlite3VdbeAddOp2(tls, v, 69, nConstraint, (iReg + 1)) Xsqlite3VdbeAddOp4(tls, v, 9, iCur, addrNotFound, iReg, - (*struct { - FidxNum int32 - FneedFree U8 - FisOrdered I8 - FomitMask U16 - FidxStr uintptr - })(unsafe.Pointer(pLoop+24 /* &.u */)).FidxStr, + *(*uintptr)(unsafe.Pointer(pLoop + 24 /* &.u */ /* &.vtab */ + 8 /* &.idxStr */)), func() int32 { - if (*struct { - FidxNum int32 - FneedFree U8 - FisOrdered I8 - FomitMask U16 - FidxStr uintptr - })(unsafe.Pointer(pLoop+24 /* &.u */)).FneedFree != 0 { + if *(*U8)(unsafe.Pointer(pLoop + 24 /* &.u */ /* &.vtab */ + 4 /* &.needFree */)) != 0 { return -7 } return -1 }()) - (*struct { - FidxNum int32 - FneedFree U8 - FisOrdered I8 - FomitMask U16 - FidxStr uintptr - })(unsafe.Pointer(pLoop + 24 /* &.u */)).FneedFree = U8(0) + *(*U8)(unsafe.Pointer(pLoop + 24 /* &.u */ /* &.vtab */ + 4 /* &.needFree */)) = U8(0) (*WhereLevel)(unsafe.Pointer(pLevel)).Fp1 = iCur (*WhereLevel)(unsafe.Pointer(pLevel)).Fop = func() uint8 { if (*WhereInfo)(unsafe.Pointer(pWInfo)).FeOnePass != 0 { @@ -122794,23 +124782,13 @@ func Xsqlite3WhereCodeOneLoopStart(tls *libc.TLS, pParse uintptr, v uintptr, pWI return uint8(61) }() (*WhereLevel)(unsafe.Pointer(pLevel)).Fp2 = Xsqlite3VdbeCurrentAddr(tls, v) - iIn = (*struct { - FnIn int32 - _ [4]byte - FaInLoop uintptr - })(unsafe.Pointer(pLevel + 56 /* &.u */)).FnIn + iIn = *(*int32)(unsafe.Pointer(pLevel + 56 /* &.u */ /* &.in */ /* &.nIn */)) for j = (nConstraint - 1); j >= 0; j-- { pTerm = *(*uintptr)(unsafe.Pointer((*WhereLoop)(unsafe.Pointer(pLoop)).FaLTerm + uintptr(j)*8)) if (int32((*WhereTerm)(unsafe.Pointer(pTerm)).FeOperator) & 0x0001) != 0 { iIn-- } - if (j < 16) && (((int32((*struct { - FidxNum int32 - FneedFree U8 - FisOrdered I8 - FomitMask U16 - FidxStr uintptr - })(unsafe.Pointer(pLoop+24 /* &.u */)).FomitMask) >> j) & 1) != 0) { + if (j < 16) && (((int32(*(*U16)(unsafe.Pointer((pLoop + 24 /* &.u */ /* &.vtab */) + 6 /* &.omitMask */))) >> j) & 1) != 0) { disableTerm(tls, pLevel, pTerm) } else if ((int32((*WhereTerm)(unsafe.Pointer(pTerm)).FeOperator) & 0x0001) != 0) && (Xsqlite3ExprVectorSize(tls, (*Expr)(unsafe.Pointer((*WhereTerm)(unsafe.Pointer(pTerm)).FpExpr)).FpLeft) == 1) { @@ -122825,11 +124803,7 @@ func Xsqlite3WhereCodeOneLoopStart(tls *libc.TLS, pParse uintptr, v uintptr, pWI if !(int32((*Sqlite3)(unsafe.Pointer(db)).FmallocFailed) != 0) { - pOp = Xsqlite3VdbeGetOp(tls, v, (*InLoop)(unsafe.Pointer((*struct { - FnIn int32 - _ [4]byte - FaInLoop uintptr - })(unsafe.Pointer(pLevel+56 /* &.u */)).FaInLoop+uintptr(iIn)*20)).FaddrInTop) + pOp = Xsqlite3VdbeGetOp(tls, v, *(*int32)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer((pLevel + 56 /* &.u */ /* &.in */) + 8 /* &.aInLoop */)) + uintptr(iIn)*20 + 4 /* &.addrInTop */))) Xsqlite3VdbeAddOp3(tls, v, int32((*VdbeOp)(unsafe.Pointer(pOp)).Fopcode), (*VdbeOp)(unsafe.Pointer(pOp)).Fp1, (*VdbeOp)(unsafe.Pointer(pOp)).Fp2, (*VdbeOp)(unsafe.Pointer(pOp)).Fp3) } @@ -122986,37 +124960,19 @@ func Xsqlite3WhereCodeOneLoopStart(tls *libc.TLS, pParse uintptr, v uintptr, pWI Xsqlite3VdbeChangeP5(tls, v, (uint16(0x43 | 0x10))) } } else if ((*WhereLoop)(unsafe.Pointer(pLoop)).FwsFlags & U32(0x00000200)) != 0 { - var nEq U16 = (*struct { - FnEq U16 - FnBtm U16 - FnTop U16 - FnDistinctCol U16 - FpIndex uintptr - })(unsafe.Pointer(pLoop + 24 /* &.u */)).FnEq // Number of == or IN terms - var nBtm U16 = (*struct { - FnEq U16 - FnBtm U16 - FnTop U16 - FnDistinctCol U16 - FpIndex uintptr - })(unsafe.Pointer(pLoop + 24 /* &.u */)).FnBtm // Length of BTM vector - var nTop U16 = (*struct { - FnEq U16 - FnBtm U16 - FnTop U16 - FnDistinctCol U16 - FpIndex uintptr - })(unsafe.Pointer(pLoop + 24 /* &.u */)).FnTop // Length of TOP vector - var regBase int32 // Base register holding constraint values - var pRangeStart uintptr = uintptr(0) // Inequality constraint at range start - var pRangeEnd uintptr = uintptr(0) // Inequality constraint at range end - var startEq int32 // True if range start uses ==, >= or <= - var endEq int32 // True if range end uses ==, >= or <= - var start_constraints int32 // Start of range is constrained - var nConstraint int32 // Number of constraint terms - var iIdxCur int32 // The VDBE cursor for the index - var nExtraReg int32 = 0 // Number of extra registers needed - var op int32 // Instruction opcode + var nEq U16 = *(*U16)(unsafe.Pointer(pLoop + 24 /* &.u */ /* &.btree */ /* &.nEq */)) // Number of == or IN terms + var nBtm U16 = *(*U16)(unsafe.Pointer(pLoop + 24 /* &.u */ /* &.btree */ + 2 /* &.nBtm */)) // Length of BTM vector + var nTop U16 = *(*U16)(unsafe.Pointer(pLoop + 24 /* &.u */ /* &.btree */ + 4 /* &.nTop */)) // Length of TOP vector + var regBase int32 // Base register holding constraint values + var pRangeStart uintptr = uintptr(0) // Inequality constraint at range start + var pRangeEnd uintptr = uintptr(0) // Inequality constraint at range end + var startEq int32 // True if range start uses ==, >= or <= + var endEq int32 // True if range end uses ==, >= or <= + var start_constraints int32 // Start of range is constrained + var nConstraint int32 // Number of constraint terms + var iIdxCur int32 // The VDBE cursor for the index + var nExtraReg int32 = 0 // Number of extra registers needed + var op int32 // Instruction opcode // var zStartAff uintptr at bp+24, 8 // Affinity for start of range constraint var zEndAff uintptr = uintptr(0) // Affinity for end of range constraint @@ -123025,13 +124981,7 @@ func Xsqlite3WhereCodeOneLoopStart(tls *libc.TLS, pParse uintptr, v uintptr, pWI var omitTable int32 // True if we use the index only var regBignull int32 = 0 // big-null flag register - pIdx = (*struct { - FnEq U16 - FnBtm U16 - FnTop U16 - FnDistinctCol U16 - FpIndex uintptr - })(unsafe.Pointer(pLoop + 24 /* &.u */)).FpIndex + pIdx = *(*uintptr)(unsafe.Pointer(pLoop + 24 /* &.u */ /* &.btree */ + 8 /* &.pIndex */)) iIdxCur = (*WhereLevel)(unsafe.Pointer(pLevel)).FiIdxCur // Find any inequality constraint terms for the start and end @@ -123040,44 +124990,20 @@ func Xsqlite3WhereCodeOneLoopStart(tls *libc.TLS, pParse uintptr, v uintptr, pWI if ((*WhereLoop)(unsafe.Pointer(pLoop)).FwsFlags & U32(0x00000020)) != 0 { pRangeStart = *(*uintptr)(unsafe.Pointer((*WhereLoop)(unsafe.Pointer(pLoop)).FaLTerm + uintptr(libc.PostIncInt32(&j, 1))*8)) nExtraReg = func() int32 { - if (nExtraReg) > (int32((*struct { - FnEq U16 - FnBtm U16 - FnTop U16 - FnDistinctCol U16 - FpIndex uintptr - })(unsafe.Pointer(pLoop + 24 /* &.u */)).FnBtm)) { + if (nExtraReg) > (int32(*(*U16)(unsafe.Pointer(pLoop + 24 /* &.u */ /* &.btree */ + 2 /* &.nBtm */)))) { return nExtraReg } - return int32((*struct { - FnEq U16 - FnBtm U16 - FnTop U16 - FnDistinctCol U16 - FpIndex uintptr - })(unsafe.Pointer(pLoop + 24 /* &.u */)).FnBtm) + return int32(*(*U16)(unsafe.Pointer(pLoop + 24 /* &.u */ /* &.btree */ + 2 /* &.nBtm */))) }() // Like optimization range constraints always occur in pairs } if ((*WhereLoop)(unsafe.Pointer(pLoop)).FwsFlags & U32(0x00000010)) != 0 { pRangeEnd = *(*uintptr)(unsafe.Pointer((*WhereLoop)(unsafe.Pointer(pLoop)).FaLTerm + uintptr(libc.PostIncInt32(&j, 1))*8)) nExtraReg = func() int32 { - if (nExtraReg) > (int32((*struct { - FnEq U16 - FnBtm U16 - FnTop U16 - FnDistinctCol U16 - FpIndex uintptr - })(unsafe.Pointer(pLoop + 24 /* &.u */)).FnTop)) { + if (nExtraReg) > (int32(*(*U16)(unsafe.Pointer(pLoop + 24 /* &.u */ /* &.btree */ + 4 /* &.nTop */)))) { return nExtraReg } - return int32((*struct { - FnEq U16 - FnBtm U16 - FnTop U16 - FnDistinctCol U16 - FpIndex uintptr - })(unsafe.Pointer(pLoop + 24 /* &.u */)).FnTop) + return int32(*(*U16)(unsafe.Pointer(pLoop + 24 /* &.u */ /* &.btree */ + 4 /* &.nTop */))) }() if pRangeStart == uintptr(0) { j = int32(*(*I16)(unsafe.Pointer((*Index)(unsafe.Pointer(pIdx)).FaiColumn + uintptr(nEq)*2))) @@ -123604,7 +125530,7 @@ func Xsqlite3WhereCodeOneLoopStart(tls *libc.TLS, pParse uintptr, v uintptr, pWI // contained one or more AND term from a notReady table. The // terms from the notReady table could not be tested and will // need to be tested later. - if uint32(int32(*(*uint8)(unsafe.Pointer(pSubWInfo + 68 /* &.untestedTerms */))&0x2>>1)) != 0 { + if (uint32(int32(*(*uint8)(unsafe.Pointer(pSubWInfo + 68 /* &.untestedTerms */)) & 0x2 >> 1))) != 0 { untestedTerms = 1 } @@ -123622,28 +125548,10 @@ func Xsqlite3WhereCodeOneLoopStart(tls *libc.TLS, pParse uintptr, v uintptr, pWI pSubLoop = (*WhereLevel)(unsafe.Pointer((pSubWInfo + 920 /* &.a */) + uintptr(0)*88)).FpWLoop if ((((*WhereLoop)(unsafe.Pointer(pSubLoop)).FwsFlags & U32(0x00000200)) != U32(0)) && - ((ii == 0) || ((*struct { - FnEq U16 - FnBtm U16 - FnTop U16 - FnDistinctCol U16 - FpIndex uintptr - })(unsafe.Pointer(pSubLoop+24 /* &.u */)).FpIndex == pCov))) && - ((((*Table)(unsafe.Pointer((pTab))).FtabFlags & U32(0x0080)) == U32(0)) || !(int32(*(*uint16)(unsafe.Pointer(((*struct { - FnEq U16 - FnBtm U16 - FnTop U16 - FnDistinctCol U16 - FpIndex uintptr - })(unsafe.Pointer(pSubLoop + 24 /* &.u */)).FpIndex) + 100 /* &.idxType */))&0x3>>0) == 2)) { - - pCov = (*struct { - FnEq U16 - FnBtm U16 - FnTop U16 - FnDistinctCol U16 - FpIndex uintptr - })(unsafe.Pointer(pSubLoop + 24 /* &.u */)).FpIndex + ((ii == 0) || (*(*uintptr)(unsafe.Pointer((pSubLoop + 24 /* &.u */ /* &.btree */) + 8 /* &.pIndex */)) == pCov))) && + ((((*Table)(unsafe.Pointer((pTab))).FtabFlags & U32(0x0080)) == U32(0)) || !((int32(*(*uint16)(unsafe.Pointer((*(*uintptr)(unsafe.Pointer(pSubLoop + 24 /* &.u */ /* &.btree */ + 8 /* &.pIndex */))) + 100 /* &.idxType */)) & 0x3 >> 0)) == 2)) { + + pCov = *(*uintptr)(unsafe.Pointer(pSubLoop + 24 /* &.u */ /* &.btree */ + 8 /* &.pIndex */)) } else { pCov = uintptr(0) } @@ -123675,7 +125583,7 @@ func Xsqlite3WhereCodeOneLoopStart(tls *libc.TLS, pParse uintptr, v uintptr, pWI } } else { - if uint32(int32(*(*uint8)(unsafe.Pointer(pTabItem + 60 /* &.fg */ + 4 /* &.isRecursive */))&0x20>>5)) != 0 { + if (uint32(int32(*(*uint8)(unsafe.Pointer(pTabItem + 60 /* &.fg */ + 4 /* &.isRecursive */)) & 0x20 >> 5))) != 0 { // Tables marked isRecursive have only a single row that is stored in // a pseudo-cursor. No need to Rewind or Next such cursors. (*WhereLevel)(unsafe.Pointer(pLevel)).Fop = U8(173) @@ -124278,10 +126186,18 @@ type Op2 = struct { } /* sqlite3.c:144350:18 */ var aOp = [4]Op2{ - {FzOp: ts + 17143 /* "match" */, FeOp2: uint8(64)}, - {FzOp: ts + 16437 /* "glob" */, FeOp2: uint8(66)}, - {FzOp: ts + 15997 /* "like" */, FeOp2: uint8(65)}, - {FzOp: ts + 23461 /* "regexp" */, FeOp2: uint8(67)}, + { + FzOp: ts + 17143, /* "match" */ + FeOp2: uint8(64)}, + { + FzOp: ts + 16437, /* "glob" */ + FeOp2: uint8(66)}, + { + FzOp: ts + 15997, /* "like" */ + FeOp2: uint8(65)}, + { + FzOp: ts + 23461, /* "regexp" */ + FeOp2: uint8(67)}, } /* sqlite3.c:144353:7 */ // If the pBase expression originated in the ON or USING clause of @@ -124818,7 +126734,7 @@ func exprSelectUsage(tls *libc.TLS, pMaskSet uintptr, pS uintptr) Bitmask { /* s for i = 0; i < (*SrcList)(unsafe.Pointer(pSrc)).FnSrc; i++ { mask = mask | (exprSelectUsage(tls, pMaskSet, (*SrcList_item)(unsafe.Pointer((pSrc+8 /* &.a */)+uintptr(i)*112)).FpSelect)) mask = mask | (Xsqlite3WhereExprUsage(tls, pMaskSet, (*SrcList_item)(unsafe.Pointer((pSrc+8 /* &.a */)+uintptr(i)*112)).FpOn)) - if uint32(int32(*(*uint8)(unsafe.Pointer((pSrc + 8 /* &.a */) + uintptr(i)*112 + 60 /* &.fg */ + 4 /* &.isTabFunc */))&0x4>>2)) != 0 { + if (uint32(int32(*(*uint8)(unsafe.Pointer((pSrc + 8 /* &.a */) + uintptr(i)*112 + 60 /* &.fg */ + 4 /* &.isTabFunc */)) & 0x4 >> 2))) != 0 { mask = mask | (Xsqlite3WhereExprListUsage(tls, pMaskSet, *(*uintptr)(unsafe.Pointer((pSrc + 8 /* &.a */) + uintptr(i)*112 + 96 /* &.u1 */)))) } } @@ -125460,7 +127376,7 @@ func Xsqlite3WhereTabFuncArgs(tls *libc.TLS, pParse uintptr, pItem uintptr, pWC var pArgs uintptr var pColRef uintptr var pTerm uintptr - if int32(*(*uint8)(unsafe.Pointer((pItem + 60 /* &.fg */) + 4 /* &.isTabFunc */))&0x4>>2) == 0 { + if (int32(*(*uint8)(unsafe.Pointer((pItem + 60 /* &.fg */) + 4 /* &.isTabFunc */)) & 0x4 >> 2)) == 0 { return } pTab = (*SrcList_item)(unsafe.Pointer(pItem)).FpTab @@ -125607,7 +127523,7 @@ func Xsqlite3WhereIsOrdered(tls *libc.TLS, pWInfo uintptr) int32 { /* sqlite3.c: // the final answer. func Xsqlite3WhereOrderByLimitOptLabel(tls *libc.TLS, pWInfo uintptr) int32 { /* sqlite3.c:145707:20: */ var pInner uintptr - if !(int32(*(*uint8)(unsafe.Pointer(pWInfo + 68 /* &.bOrderedInnerLoop */))&0x4>>2) != 0) { + if !((int32(*(*uint8)(unsafe.Pointer(pWInfo + 68 /* &.bOrderedInnerLoop */)) & 0x4 >> 2)) != 0) { // The ORDER BY LIMIT optimization does not apply. Jump to the // continuation of the inner-most loop. return (*WhereInfo)(unsafe.Pointer(pWInfo)).FiContinue @@ -125653,7 +127569,7 @@ func Xsqlite3WhereOkOnePass(tls *libc.TLS, pWInfo uintptr, aiCur uintptr) int32 // Return TRUE if the WHERE loop uses the OP_DeferredSeek opcode to move // the data cursor to the row selected by the index cursor. func Xsqlite3WhereUsesDeferredSeek(tls *libc.TLS, pWInfo uintptr) int32 { /* sqlite3.c:145769:20: */ - return int32(*(*uint8)(unsafe.Pointer(pWInfo + 68 /* &.bDeferredSeek */)) & 0x1 >> 0) + return (int32(*(*uint8)(unsafe.Pointer(pWInfo + 68 /* &.bDeferredSeek */)) & 0x1 >> 0)) } // Move the content of pSrc into pDest @@ -126286,13 +128202,7 @@ __2: __3: ; - (*struct { - FnEq U16 - FnBtm U16 - FnTop U16 - FnDistinctCol U16 - FpIndex uintptr - })(unsafe.Pointer(pLoop + 24 /* &.u */)).FnEq = libc.AssignPtrUint16(pLoop+44 /* &.nLTerm */, U16(nKeyCol)) + *(*U16)(unsafe.Pointer(pLoop + 24 /* &.u */ /* &.btree */ /* &.nEq */)) = libc.AssignPtrUint16(pLoop+44 /* &.nLTerm */, U16(nKeyCol)) (*WhereLoop)(unsafe.Pointer(pLoop)).FwsFlags = (U32(((0x00000001 | 0x00000040) | 0x00000200) | 0x00004000)) @@ -126344,13 +128254,7 @@ __13: goto end_auto_index_create __14: ; - (*struct { - FnEq U16 - FnBtm U16 - FnTop U16 - FnDistinctCol U16 - FpIndex uintptr - })(unsafe.Pointer(pLoop + 24 /* &.u */)).FpIndex = pIdx + *(*uintptr)(unsafe.Pointer(pLoop + 24 /* &.u */ /* &.btree */ + 8 /* &.pIndex */)) = pIdx (*Index)(unsafe.Pointer(pIdx)).FzName = ts + 23578 /* "auto-index" */ (*Index)(unsafe.Pointer(pIdx)).FpTable = pTable n = 0 @@ -126452,7 +128356,7 @@ __24: // Fill the automatic index with content pTabItem = (((*WhereInfo)(unsafe.Pointer((*WhereClause)(unsafe.Pointer(pWC)).FpWInfo)).FpTabList + 8 /* &.a */) + uintptr((*WhereLevel)(unsafe.Pointer(pLevel)).FiFrom)*112) - if !(uint32(int32(*(*uint8)(unsafe.Pointer(pTabItem + 60 /* &.fg */ + 4 /* &.viaCoroutine */))&0x10>>4)) != 0) { + if !((uint32(int32(*(*uint8)(unsafe.Pointer(pTabItem + 60 /* &.fg */ + 4 /* &.viaCoroutine */)) & 0x10 >> 4))) != 0) { goto __28 } regYield = (*SrcList_item)(unsafe.Pointer(pTabItem)).FregReturn @@ -126485,7 +128389,7 @@ __30: Xsqlite3VdbeResolveLabel(tls, v, iContinue) __31: ; - if !(uint32(int32(*(*uint8)(unsafe.Pointer(pTabItem + 60 /* &.fg */ + 4 /* &.viaCoroutine */))&0x10>>4)) != 0) { + if !((uint32(int32(*(*uint8)(unsafe.Pointer(pTabItem + 60 /* &.fg */ + 4 /* &.viaCoroutine */)) & 0x10 >> 4))) != 0) { goto __32 } Xsqlite3VdbeChangeP2(tls, v, addrCounter, (regBase + n)) @@ -126932,20 +128836,8 @@ func whereRangeSkipScanEst(tls *libc.TLS, pParse uintptr, pLower uintptr, pUpper bp := tls.Alloc(24) defer tls.Free(24) - var p uintptr = (*struct { - FnEq U16 - FnBtm U16 - FnTop U16 - FnDistinctCol U16 - FpIndex uintptr - })(unsafe.Pointer(pLoop + 24 /* &.u */)).FpIndex - var nEq int32 = int32((*struct { - FnEq U16 - FnBtm U16 - FnTop U16 - FnDistinctCol U16 - FpIndex uintptr - })(unsafe.Pointer(pLoop + 24 /* &.u */)).FnEq) + var p uintptr = *(*uintptr)(unsafe.Pointer(pLoop + 24 /* &.u */ /* &.btree */ + 8 /* &.pIndex */)) + var nEq int32 = int32(*(*U16)(unsafe.Pointer(pLoop + 24 /* &.u */ /* &.btree */ /* &.nEq */))) var db uintptr = (*Parse)(unsafe.Pointer(pParse)).Fdb var nLower int32 = -1 var nUpper int32 = ((*Index)(unsafe.Pointer(p)).FnSample + 1) @@ -127060,20 +128952,8 @@ func whereRangeScanEst(tls *libc.TLS, pParse uintptr, pBuilder uintptr, pLower u var nOut int32 = int32((*WhereLoop)(unsafe.Pointer(pLoop)).FnOut) var nNew LogEst - var p uintptr = (*struct { - FnEq U16 - FnBtm U16 - FnTop U16 - FnDistinctCol U16 - FpIndex uintptr - })(unsafe.Pointer(pLoop + 24 /* &.u */)).FpIndex - var nEq int32 = int32((*struct { - FnEq U16 - FnBtm U16 - FnTop U16 - FnDistinctCol U16 - FpIndex uintptr - })(unsafe.Pointer(pLoop + 24 /* &.u */)).FnEq) + var p uintptr = *(*uintptr)(unsafe.Pointer(pLoop + 24 /* &.u */ /* &.btree */ + 8 /* &.pIndex */)) + var nEq int32 = int32(*(*U16)(unsafe.Pointer(pLoop + 24 /* &.u */ /* &.btree */ /* &.nEq */))) if (((*Index)(unsafe.Pointer(p)).FnSample > 0) && (nEq < (*Index)(unsafe.Pointer(p)).FnSampleCol)) && ((int32((*Sqlite3)(unsafe.Pointer(((*Parse)(unsafe.Pointer(pParse)).Fdb))).FdbOptFlags) & (0x0800)) == 0) { @@ -127081,20 +128961,8 @@ func whereRangeScanEst(tls *libc.TLS, pParse uintptr, pBuilder uintptr, pLower u *(*uintptr)(unsafe.Pointer(bp + 8 /* pRec */)) = (*WhereLoopBuilder)(unsafe.Pointer(pBuilder)).FpRec // var a [2]TRowcnt at bp, 8 - var nBtm int32 = int32((*struct { - FnEq U16 - FnBtm U16 - FnTop U16 - FnDistinctCol U16 - FpIndex uintptr - })(unsafe.Pointer(pLoop + 24 /* &.u */)).FnBtm) - var nTop int32 = int32((*struct { - FnEq U16 - FnBtm U16 - FnTop U16 - FnDistinctCol U16 - FpIndex uintptr - })(unsafe.Pointer(pLoop + 24 /* &.u */)).FnTop) + var nBtm int32 = int32(*(*U16)(unsafe.Pointer(pLoop + 24 /* &.u */ /* &.btree */ + 2 /* &.nBtm */))) + var nTop int32 = int32(*(*U16)(unsafe.Pointer(pLoop + 24 /* &.u */ /* &.btree */ + 4 /* &.nTop */))) // Variable iLower will be set to the estimate of the number of rows in // the index that are less than the lower bound of the range query. The @@ -127274,20 +129142,8 @@ func whereEqualScanEst(tls *libc.TLS, pParse uintptr, pBuilder uintptr, pExpr ui bp := tls.Alloc(20) defer tls.Free(20) - var p uintptr = (*struct { - FnEq U16 - FnBtm U16 - FnTop U16 - FnDistinctCol U16 - FpIndex uintptr - })(unsafe.Pointer((*WhereLoopBuilder)(unsafe.Pointer(pBuilder)).FpNew + 24 /* &.u */)).FpIndex - var nEq int32 = int32((*struct { - FnEq U16 - FnBtm U16 - FnTop U16 - FnDistinctCol U16 - FpIndex uintptr - })(unsafe.Pointer((*WhereLoopBuilder)(unsafe.Pointer(pBuilder)).FpNew + 24 /* &.u */)).FnEq) + var p uintptr = *(*uintptr)(unsafe.Pointer((*WhereLoopBuilder)(unsafe.Pointer(pBuilder)).FpNew + 24 /* &.u */ /* &.btree */ + 8 /* &.pIndex */)) + var nEq int32 = int32(*(*U16)(unsafe.Pointer((*WhereLoopBuilder)(unsafe.Pointer(pBuilder)).FpNew + 24 /* &.u */ /* &.btree */ /* &.nEq */))) *(*uintptr)(unsafe.Pointer(bp /* pRec */)) = (*WhereLoopBuilder)(unsafe.Pointer(pBuilder)).FpRec var rc int32 // Subfunction return code // var a [2]TRowcnt at bp+12, 8 @@ -127342,13 +129198,7 @@ func whereInScanEst(tls *libc.TLS, pParse uintptr, pBuilder uintptr, pList uintp bp := tls.Alloc(4) defer tls.Free(4) - var p uintptr = (*struct { - FnEq U16 - FnBtm U16 - FnTop U16 - FnDistinctCol U16 - FpIndex uintptr - })(unsafe.Pointer((*WhereLoopBuilder)(unsafe.Pointer(pBuilder)).FpNew + 24 /* &.u */)).FpIndex + var p uintptr = *(*uintptr)(unsafe.Pointer((*WhereLoopBuilder)(unsafe.Pointer(pBuilder)).FpNew + 24 /* &.u */ /* &.btree */ + 8 /* &.pIndex */)) var nRow0 I64 = I64(Xsqlite3LogEstToInt(tls, *(*LogEst)(unsafe.Pointer((*Index)(unsafe.Pointer(p)).FaiRowLogEst + uintptr(0)*2)))) var nRecValid int32 = (*WhereLoopBuilder)(unsafe.Pointer(pBuilder)).FnRecValid var rc int32 = 0 // Subfunction return code @@ -127386,62 +129236,14 @@ func whereLoopInit(tls *libc.TLS, p uintptr) { /* sqlite3.c:147466:13: */ // Clear the WhereLoop.u union. Leave WhereLoop.pLTerm intact. func whereLoopClearUnion(tls *libc.TLS, db uintptr, p uintptr) { /* sqlite3.c:147476:13: */ if ((*WhereLoop)(unsafe.Pointer(p)).FwsFlags & (U32(0x00000400 | 0x00004000))) != 0 { - if (((*WhereLoop)(unsafe.Pointer(p)).FwsFlags & U32(0x00000400)) != U32(0)) && ((*struct { - FidxNum int32 - FneedFree U8 - FisOrdered I8 - FomitMask U16 - FidxStr uintptr - })(unsafe.Pointer(p+24 /* &.u */)).FneedFree != 0) { - Xsqlite3_free(tls, (*struct { - FidxNum int32 - FneedFree U8 - FisOrdered I8 - FomitMask U16 - FidxStr uintptr - })(unsafe.Pointer(p+24 /* &.u */)).FidxStr) - (*struct { - FidxNum int32 - FneedFree U8 - FisOrdered I8 - FomitMask U16 - FidxStr uintptr - })(unsafe.Pointer(p + 24 /* &.u */)).FneedFree = U8(0) - (*struct { - FidxNum int32 - FneedFree U8 - FisOrdered I8 - FomitMask U16 - FidxStr uintptr - })(unsafe.Pointer(p + 24 /* &.u */)).FidxStr = uintptr(0) - } else if (((*WhereLoop)(unsafe.Pointer(p)).FwsFlags & U32(0x00004000)) != U32(0)) && ((*struct { - FnEq U16 - FnBtm U16 - FnTop U16 - FnDistinctCol U16 - FpIndex uintptr - })(unsafe.Pointer(p+24 /* &.u */)).FpIndex != uintptr(0)) { - Xsqlite3DbFree(tls, db, (*Index)(unsafe.Pointer((*struct { - FnEq U16 - FnBtm U16 - FnTop U16 - FnDistinctCol U16 - FpIndex uintptr - })(unsafe.Pointer(p+24 /* &.u */)).FpIndex)).FzColAff) - Xsqlite3DbFreeNN(tls, db, (*struct { - FnEq U16 - FnBtm U16 - FnTop U16 - FnDistinctCol U16 - FpIndex uintptr - })(unsafe.Pointer(p+24 /* &.u */)).FpIndex) - (*struct { - FnEq U16 - FnBtm U16 - FnTop U16 - FnDistinctCol U16 - FpIndex uintptr - })(unsafe.Pointer(p + 24 /* &.u */)).FpIndex = uintptr(0) + if (((*WhereLoop)(unsafe.Pointer(p)).FwsFlags & U32(0x00000400)) != U32(0)) && (*(*U8)(unsafe.Pointer((p + 24 /* &.u */ /* &.vtab */) + 4 /* &.needFree */)) != 0) { + Xsqlite3_free(tls, *(*uintptr)(unsafe.Pointer(p + 24 /* &.u */ /* &.vtab */ + 8 /* &.idxStr */))) + *(*U8)(unsafe.Pointer(p + 24 /* &.u */ /* &.vtab */ + 4 /* &.needFree */)) = U8(0) + *(*uintptr)(unsafe.Pointer(p + 24 /* &.u */ /* &.vtab */ + 8 /* &.idxStr */)) = uintptr(0) + } else if (((*WhereLoop)(unsafe.Pointer(p)).FwsFlags & U32(0x00004000)) != U32(0)) && (*(*uintptr)(unsafe.Pointer((p + 24 /* &.u */ /* &.btree */) + 8 /* &.pIndex */)) != uintptr(0)) { + Xsqlite3DbFree(tls, db, (*Index)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(p + 24 /* &.u */ /* &.btree */ + 8 /* &.pIndex */)))).FzColAff) + Xsqlite3DbFreeNN(tls, db, *(*uintptr)(unsafe.Pointer(p + 24 /* &.u */ /* &.btree */ + 8 /* &.pIndex */))) + *(*uintptr)(unsafe.Pointer(p + 24 /* &.u */ /* &.btree */ + 8 /* &.pIndex */)) = uintptr(0) } } } @@ -127493,21 +129295,9 @@ func whereLoopXfer(tls *libc.TLS, db uintptr, pTo uintptr, pFrom uintptr) int32 libc.Xmemcpy(tls, pTo, pFrom, uint64((uintptr(0) + 48 /* &.nLSlot */))) libc.Xmemcpy(tls, (*WhereLoop)(unsafe.Pointer(pTo)).FaLTerm, (*WhereLoop)(unsafe.Pointer(pFrom)).FaLTerm, (uint64((*WhereLoop)(unsafe.Pointer(pTo)).FnLTerm) * uint64(unsafe.Sizeof(uintptr(0))))) if ((*WhereLoop)(unsafe.Pointer(pFrom)).FwsFlags & U32(0x00000400)) != 0 { - (*struct { - FidxNum int32 - FneedFree U8 - FisOrdered I8 - FomitMask U16 - FidxStr uintptr - })(unsafe.Pointer(pFrom + 24 /* &.u */)).FneedFree = U8(0) + *(*U8)(unsafe.Pointer(pFrom + 24 /* &.u */ /* &.vtab */ + 4 /* &.needFree */)) = U8(0) } else if ((*WhereLoop)(unsafe.Pointer(pFrom)).FwsFlags & U32(0x00004000)) != U32(0) { - (*struct { - FnEq U16 - FnBtm U16 - FnTop U16 - FnDistinctCol U16 - FpIndex uintptr - })(unsafe.Pointer(pFrom + 24 /* &.u */)).FpIndex = uintptr(0) + *(*uintptr)(unsafe.Pointer(pFrom + 24 /* &.u */ /* &.btree */ + 8 /* &.pIndex */)) = uintptr(0) } return 0 } @@ -127525,11 +129315,7 @@ func whereInfoFree(tls *libc.TLS, db uintptr, pWInfo uintptr) { /* sqlite3.c:147 for i = 0; i < int32((*WhereInfo)(unsafe.Pointer(pWInfo)).FnLevel); i++ { var pLevel uintptr = ((pWInfo + 920 /* &.a */) + uintptr(i)*88) if ((*WhereLevel)(unsafe.Pointer(pLevel)).FpWLoop != 0) && (((*WhereLoop1)(unsafe.Pointer((*WhereLevel)(unsafe.Pointer(pLevel)).FpWLoop)).FwsFlags & U32(0x00000800)) != 0) { - Xsqlite3DbFree(tls, db, (*struct { - FnIn int32 - _ [4]byte - FaInLoop uintptr - })(unsafe.Pointer(pLevel+56 /* &.u */)).FaInLoop) + Xsqlite3DbFree(tls, db, *(*uintptr)(unsafe.Pointer(pLevel + 56 /* &.u */ /* &.in */ + 8 /* &.aInLoop */))) } } Xsqlite3WhereClauseClear(tls, (pWInfo + 104 /* &.sWC */)) @@ -127806,21 +129592,9 @@ func whereLoopInsert(tls *libc.TLS, pBuilder uintptr, pTemplate uintptr) int32 { } rc = whereLoopXfer(tls, db, p, pTemplate) if ((*WhereLoop)(unsafe.Pointer(p)).FwsFlags & U32(0x00000400)) == U32(0) { - var pIndex uintptr = (*struct { - FnEq U16 - FnBtm U16 - FnTop U16 - FnDistinctCol U16 - FpIndex uintptr - })(unsafe.Pointer(p + 24 /* &.u */)).FpIndex - if (pIndex != 0) && (int32(*(*uint16)(unsafe.Pointer(pIndex + 100 /* &.idxType */))&0x3>>0) == 3) { - (*struct { - FnEq U16 - FnBtm U16 - FnTop U16 - FnDistinctCol U16 - FpIndex uintptr - })(unsafe.Pointer(p + 24 /* &.u */)).FpIndex = uintptr(0) + var pIndex uintptr = *(*uintptr)(unsafe.Pointer(p + 24 /* &.u */ /* &.btree */ + 8 /* &.pIndex */)) + if (pIndex != 0) && ((int32(*(*uint16)(unsafe.Pointer(pIndex + 100 /* &.idxType */)) & 0x3 >> 0)) == 3) { + *(*uintptr)(unsafe.Pointer(p + 24 /* &.u */ /* &.btree */ + 8 /* &.pIndex */)) = uintptr(0) } } return rc @@ -128050,31 +129824,13 @@ func whereLoopAddBtreeIndex(tls *libc.TLS, pBuilder uintptr, pSrc uintptr, pProb opMask = (((((((0x0002 | 0x0001) | (int32(0x0002) << (54 - 53))) | (int32(0x0002) << (57 - 53))) | (int32(0x0002) << (56 - 53))) | (int32(0x0002) << (55 - 53))) | 0x0100) | 0x0080) } - if uint32(int32(*(*uint16)(unsafe.Pointer(pProbe + 100 /* &.bUnordered */))&0x4>>2)) != 0 { + if (uint32(int32(*(*uint16)(unsafe.Pointer(pProbe + 100 /* &.bUnordered */)) & 0x4 >> 2))) != 0 { opMask = opMask & (^int32(libc.Int32FromInt32(((((int32(0x0002) << (54 - 53)) | (int32(0x0002) << (57 - 53))) | (int32(0x0002) << (56 - 53))) | (int32(0x0002) << (55 - 53)))))) } - saved_nEq = (*struct { - FnEq U16 - FnBtm U16 - FnTop U16 - FnDistinctCol U16 - FpIndex uintptr - })(unsafe.Pointer(pNew + 24 /* &.u */)).FnEq - saved_nBtm = (*struct { - FnEq U16 - FnBtm U16 - FnTop U16 - FnDistinctCol U16 - FpIndex uintptr - })(unsafe.Pointer(pNew + 24 /* &.u */)).FnBtm - saved_nTop = (*struct { - FnEq U16 - FnBtm U16 - FnTop U16 - FnDistinctCol U16 - FpIndex uintptr - })(unsafe.Pointer(pNew + 24 /* &.u */)).FnTop + saved_nEq = *(*U16)(unsafe.Pointer(pNew + 24 /* &.u */ /* &.btree */ /* &.nEq */)) + saved_nBtm = *(*U16)(unsafe.Pointer(pNew + 24 /* &.u */ /* &.btree */ + 2 /* &.nBtm */)) + saved_nTop = *(*U16)(unsafe.Pointer(pNew + 24 /* &.u */ /* &.btree */ + 4 /* &.nTop */)) saved_nSkip = (*WhereLoop)(unsafe.Pointer(pNew)).FnSkip saved_nLTerm = (*WhereLoop)(unsafe.Pointer(pNew)).FnLTerm saved_wsFlags = (*WhereLoop)(unsafe.Pointer(pNew)).FwsFlags @@ -128119,27 +129875,9 @@ func whereLoopAddBtreeIndex(tls *libc.TLS, pBuilder uintptr, pSrc uintptr, pProb *(*uint8)(unsafe.Pointer(pBuilder + 52 /* &.bldFlags1 */)) |= uint8((0x0001)) } (*WhereLoop)(unsafe.Pointer(pNew)).FwsFlags = saved_wsFlags - (*struct { - FnEq U16 - FnBtm U16 - FnTop U16 - FnDistinctCol U16 - FpIndex uintptr - })(unsafe.Pointer(pNew + 24 /* &.u */)).FnEq = saved_nEq - (*struct { - FnEq U16 - FnBtm U16 - FnTop U16 - FnDistinctCol U16 - FpIndex uintptr - })(unsafe.Pointer(pNew + 24 /* &.u */)).FnBtm = saved_nBtm - (*struct { - FnEq U16 - FnBtm U16 - FnTop U16 - FnDistinctCol U16 - FpIndex uintptr - })(unsafe.Pointer(pNew + 24 /* &.u */)).FnTop = saved_nTop + *(*U16)(unsafe.Pointer(pNew + 24 /* &.u */ /* &.btree */ /* &.nEq */)) = saved_nEq + *(*U16)(unsafe.Pointer(pNew + 24 /* &.u */ /* &.btree */ + 2 /* &.nBtm */)) = saved_nBtm + *(*U16)(unsafe.Pointer(pNew + 24 /* &.u */ /* &.btree */ + 4 /* &.nTop */)) = saved_nTop (*WhereLoop)(unsafe.Pointer(pNew)).FnLTerm = saved_nLTerm if whereLoopResize(tls, db, pNew, (int32((*WhereLoop)(unsafe.Pointer(pNew)).FnLTerm)+1)) != 0 { break @@ -128168,7 +129906,7 @@ func whereLoopAddBtreeIndex(tls *libc.TLS, pBuilder uintptr, pSrc uintptr, pProb // "x IN (value, value, ...)" nIn = int32(Xsqlite3LogEst(tls, uint64((*ExprList)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(pExpr + 32 /* &.x */)))).FnExpr))) } - if uint32(int32(*(*uint16)(unsafe.Pointer(pProbe + 100 /* &.hasStat1 */))&0x80>>7)) != 0 { + if (uint32(int32(*(*uint16)(unsafe.Pointer(pProbe + 100 /* &.hasStat1 */)) & 0x80 >> 7))) != 0 { var M LogEst var logK LogEst var safetyMargin LogEst @@ -128206,7 +129944,7 @@ func whereLoopAddBtreeIndex(tls *libc.TLS, pBuilder uintptr, pSrc uintptr, pProb if (iCol == (-1)) || (((iCol >= 0) && (int32(nInMul) == 0)) && (int32(saved_nEq) == (int32((*Index)(unsafe.Pointer(pProbe)).FnKeyCol) - 1))) { - if ((iCol == (-1)) || (uint32(int32(*(*uint16)(unsafe.Pointer(pProbe + 100 /* &.uniqNotNull */))&0x8>>3)) != 0)) || + if ((iCol == (-1)) || ((uint32(int32(*(*uint16)(unsafe.Pointer(pProbe + 100 /* &.uniqNotNull */)) & 0x8 >> 3))) != 0)) || (((int32((*Index)(unsafe.Pointer(pProbe)).FnKeyCol) == 1) && ((*Index)(unsafe.Pointer(pProbe)).FonError != 0)) && (int32(eOp) == 0x0002)) { *(*U32)(unsafe.Pointer(pNew + 40 /* &.wsFlags */)) |= (U32(0x00001000)) } else { @@ -128218,13 +129956,7 @@ func whereLoopAddBtreeIndex(tls *libc.TLS, pBuilder uintptr, pSrc uintptr, pProb } else if (int32(eOp) & ((int32(0x0002) << (54 - 53)) | (int32(0x0002) << (57 - 53)))) != 0 { *(*U32)(unsafe.Pointer(pNew + 40 /* &.wsFlags */)) |= (U32(0x00000002 | 0x00000020)) - (*struct { - FnEq U16 - FnBtm U16 - FnTop U16 - FnDistinctCol U16 - FpIndex uintptr - })(unsafe.Pointer(pNew + 24 /* &.u */)).FnBtm = U16(whereRangeVectorLen(tls, + *(*U16)(unsafe.Pointer(pNew + 24 /* &.u */ /* &.btree */ + 2 /* &.nBtm */)) = U16(whereRangeVectorLen(tls, pParse, (*SrcList_item)(unsafe.Pointer(pSrc)).FiCursor, pProbe, int32(saved_nEq), pTerm)) pBtm = pTerm pTop = uintptr(0) @@ -128238,24 +129970,12 @@ func whereLoopAddBtreeIndex(tls *libc.TLS, pBuilder uintptr, pSrc uintptr, pProb } // OOM *(*uintptr)(unsafe.Pointer((*WhereLoop)(unsafe.Pointer(pNew)).FaLTerm + uintptr(libc.PostIncUint16(&(*WhereLoop)(unsafe.Pointer(pNew)).FnLTerm, 1))*8)) = pTop *(*U32)(unsafe.Pointer(pNew + 40 /* &.wsFlags */)) |= (U32(0x00000010)) - (*struct { - FnEq U16 - FnBtm U16 - FnTop U16 - FnDistinctCol U16 - FpIndex uintptr - })(unsafe.Pointer(pNew + 24 /* &.u */)).FnTop = U16(1) + *(*U16)(unsafe.Pointer(pNew + 24 /* &.u */ /* &.btree */ + 4 /* &.nTop */)) = U16(1) } } else { *(*U32)(unsafe.Pointer(pNew + 40 /* &.wsFlags */)) |= (U32(0x00000002 | 0x00000010)) - (*struct { - FnEq U16 - FnBtm U16 - FnTop U16 - FnDistinctCol U16 - FpIndex uintptr - })(unsafe.Pointer(pNew + 24 /* &.u */)).FnTop = U16(whereRangeVectorLen(tls, + *(*U16)(unsafe.Pointer(pNew + 24 /* &.u */ /* &.btree */ + 4 /* &.nTop */)) = U16(whereRangeVectorLen(tls, pParse, (*SrcList_item)(unsafe.Pointer(pSrc)).FiCursor, pProbe, int32(saved_nEq), pTerm)) pTop = pTerm if ((*WhereLoop)(unsafe.Pointer(pNew)).FwsFlags & U32(0x00000020)) != U32(0) { @@ -128276,13 +129996,7 @@ func whereLoopAddBtreeIndex(tls *libc.TLS, pBuilder uintptr, pSrc uintptr, pProb // data, using some other estimate. whereRangeScanEst(tls, pParse, pBuilder, pBtm, pTop, pNew) } else { - var nEq int32 = int32(libc.PreIncUint16(&(*struct { - FnEq U16 - FnBtm U16 - FnTop U16 - FnDistinctCol U16 - FpIndex uintptr - })(unsafe.Pointer(pNew+24 /* &.u */)).FnEq, 1)) + var nEq int32 = int32(libc.PreIncUint16(&*(*U16)(unsafe.Pointer(pNew + 24 /* &.u */ /* &.btree */ /* &.nEq */)), 1)) if (int32((*WhereTerm)(unsafe.Pointer(pTerm)).FtruthProb) <= 0) && (int32(*(*I16)(unsafe.Pointer((*Index)(unsafe.Pointer(pProbe)).FaiColumn + uintptr(saved_nEq)*2))) >= 0) { @@ -128292,13 +130006,7 @@ func whereLoopAddBtreeIndex(tls *libc.TLS, pBuilder uintptr, pSrc uintptr, pProb *(*TRowcnt)(unsafe.Pointer(bp + 112 /* nOut */)) = TRowcnt(0) if ((((int32(nInMul) == 0) && ((*Index)(unsafe.Pointer(pProbe)).FnSample != 0)) && - (int32((*struct { - FnEq U16 - FnBtm U16 - FnTop U16 - FnDistinctCol U16 - FpIndex uintptr - })(unsafe.Pointer(pNew+24 /* &.u */)).FnEq) <= (*Index)(unsafe.Pointer(pProbe)).FnSampleCol)) && + (int32(*(*U16)(unsafe.Pointer((pNew + 24 /* &.u */ /* &.btree */) /* &.nEq */))) <= (*Index)(unsafe.Pointer(pProbe)).FnSampleCol)) && (((int32(eOp) & 0x0001) == 0) || !(((*Expr)(unsafe.Pointer(((*WhereTerm)(unsafe.Pointer(pTerm)).FpExpr))).Fflags & (U32(0x000800))) != U32(0)))) && ((int32((*Sqlite3)(unsafe.Pointer((db))).FdbOptFlags) & (0x0800)) == 0) { var pExpr uintptr = (*WhereTerm)(unsafe.Pointer(pTerm)).FpExpr @@ -128371,40 +130079,16 @@ func whereLoopAddBtreeIndex(tls *libc.TLS, pBuilder uintptr, pSrc uintptr, pProb } if (((*WhereLoop)(unsafe.Pointer(pNew)).FwsFlags & U32(0x00000010)) == U32(0)) && - (int32((*struct { - FnEq U16 - FnBtm U16 - FnTop U16 - FnDistinctCol U16 - FpIndex uintptr - })(unsafe.Pointer(pNew+24 /* &.u */)).FnEq) < int32((*Index)(unsafe.Pointer(pProbe)).FnColumn)) { + (int32(*(*U16)(unsafe.Pointer((pNew + 24 /* &.u */ /* &.btree */) /* &.nEq */))) < int32((*Index)(unsafe.Pointer(pProbe)).FnColumn)) { whereLoopAddBtreeIndex(tls, pBuilder, pSrc, pProbe, (int16(int32(nInMul) + nIn))) } (*WhereLoop)(unsafe.Pointer(pNew)).FnOut = saved_nOut (*WhereLoopBuilder)(unsafe.Pointer(pBuilder)).FnRecValid = nRecValid } (*WhereLoop)(unsafe.Pointer(pNew)).Fprereq = saved_prereq - (*struct { - FnEq U16 - FnBtm U16 - FnTop U16 - FnDistinctCol U16 - FpIndex uintptr - })(unsafe.Pointer(pNew + 24 /* &.u */)).FnEq = saved_nEq - (*struct { - FnEq U16 - FnBtm U16 - FnTop U16 - FnDistinctCol U16 - FpIndex uintptr - })(unsafe.Pointer(pNew + 24 /* &.u */)).FnBtm = saved_nBtm - (*struct { - FnEq U16 - FnBtm U16 - FnTop U16 - FnDistinctCol U16 - FpIndex uintptr - })(unsafe.Pointer(pNew + 24 /* &.u */)).FnTop = saved_nTop + *(*U16)(unsafe.Pointer(pNew + 24 /* &.u */ /* &.btree */ /* &.nEq */)) = saved_nEq + *(*U16)(unsafe.Pointer(pNew + 24 /* &.u */ /* &.btree */ + 2 /* &.nBtm */)) = saved_nBtm + *(*U16)(unsafe.Pointer(pNew + 24 /* &.u */ /* &.btree */ + 4 /* &.nTop */)) = saved_nTop (*WhereLoop)(unsafe.Pointer(pNew)).FnSkip = saved_nSkip (*WhereLoop)(unsafe.Pointer(pNew)).FwsFlags = saved_wsFlags (*WhereLoop)(unsafe.Pointer(pNew)).FnOut = saved_nOut @@ -128424,19 +130108,13 @@ func whereLoopAddBtreeIndex(tls *libc.TLS, pBuilder uintptr, pSrc uintptr, pProb if (((((((int32(saved_nEq) == int32(saved_nSkip)) && ((int32(saved_nEq) + 1) < int32((*Index)(unsafe.Pointer(pProbe)).FnKeyCol))) && (int32(saved_nEq) == int32((*WhereLoop)(unsafe.Pointer(pNew)).FnLTerm))) && - (int32(*(*uint16)(unsafe.Pointer(pProbe + 100 /* &.noSkipScan */))&0x40>>6) == 0)) && - (int32(*(*uint16)(unsafe.Pointer(pProbe + 100 /* &.hasStat1 */))&0x80>>7) != 0)) && + ((int32(*(*uint16)(unsafe.Pointer(pProbe + 100 /* &.noSkipScan */)) & 0x40 >> 6)) == 0)) && + ((int32(*(*uint16)(unsafe.Pointer(pProbe + 100 /* &.hasStat1 */)) & 0x80 >> 7)) != 0)) && ((int32((*Sqlite3)(unsafe.Pointer((db))).FdbOptFlags) & (0x4000)) == 0)) && (int32(*(*LogEst)(unsafe.Pointer((*Index)(unsafe.Pointer(pProbe)).FaiRowLogEst + uintptr((int32(saved_nEq)+1))*2))) >= 42)) && // TUNING: Minimum for skip-scan ((libc.AssignInt32(&rc, whereLoopResize(tls, db, pNew, (int32((*WhereLoop)(unsafe.Pointer(pNew)).FnLTerm)+1)))) == 0) { var nIter LogEst - (*struct { - FnEq U16 - FnBtm U16 - FnTop U16 - FnDistinctCol U16 - FpIndex uintptr - })(unsafe.Pointer(pNew+24 /* &.u */)).FnEq++ + *(*U16)(unsafe.Pointer(pNew + 24 /* &.u */ /* &.btree */ /* &.nEq */))++ (*WhereLoop)(unsafe.Pointer(pNew)).FnSkip++ *(*uintptr)(unsafe.Pointer((*WhereLoop)(unsafe.Pointer(pNew)).FaLTerm + uintptr(libc.PostIncUint16(&(*WhereLoop)(unsafe.Pointer(pNew)).FnLTerm, 1))*8)) = uintptr(0) *(*U32)(unsafe.Pointer(pNew + 40 /* &.wsFlags */)) |= (U32(0x00008000)) @@ -128447,13 +130125,7 @@ func whereLoopAddBtreeIndex(tls *libc.TLS, pBuilder uintptr, pSrc uintptr, pProb nIter = int16(int32(nIter) + (5)) whereLoopAddBtreeIndex(tls, pBuilder, pSrc, pProbe, (int16(int32(nIter) + int32(nInMul)))) (*WhereLoop)(unsafe.Pointer(pNew)).FnOut = saved_nOut - (*struct { - FnEq U16 - FnBtm U16 - FnTop U16 - FnDistinctCol U16 - FpIndex uintptr - })(unsafe.Pointer(pNew + 24 /* &.u */)).FnEq = saved_nEq + *(*U16)(unsafe.Pointer(pNew + 24 /* &.u */ /* &.btree */ /* &.nEq */)) = saved_nEq (*WhereLoop)(unsafe.Pointer(pNew)).FnSkip = saved_nSkip (*WhereLoop)(unsafe.Pointer(pNew)).FwsFlags = saved_wsFlags } @@ -128473,7 +130145,7 @@ func indexMightHelpWithOrderBy(tls *libc.TLS, pBuilder uintptr, pIndex uintptr, var ii int32 var jj int32 - if uint32(int32(*(*uint16)(unsafe.Pointer(pIndex + 100 /* &.bUnordered */))&0x4>>2)) != 0 { + if (uint32(int32(*(*uint16)(unsafe.Pointer(pIndex + 100 /* &.bUnordered */)) & 0x4 >> 2))) != 0 { return 0 } if (libc.AssignUintptr(&pOB, (*WhereInfo)(unsafe.Pointer((*WhereLoopBuilder)(unsafe.Pointer(pBuilder)).FpWInfo)).FpOrderBy)) == uintptr(0) { @@ -128631,7 +130303,7 @@ func whereLoopAddBtree(tls *libc.TLS, pBuilder uintptr, mPrereq Bitmask) int32 { *(*LogEst)(unsafe.Pointer(bp + 154 /* &aiRowEstPk[0] */ + uintptr(0)*2)) = (*Table)(unsafe.Pointer(pTab)).FnRowLogEst *(*LogEst)(unsafe.Pointer(bp + 154 /* &aiRowEstPk[0] */ + uintptr(1)*2)) = int16(0) pFirst = (*Table)(unsafe.Pointer((*SrcList_item)(unsafe.Pointer(pSrc)).FpTab)).FpIndex - if int32(*(*uint8)(unsafe.Pointer((pSrc + 60 /* &.fg */) + 4 /* &.notIndexed */))&0x1>>0) == 0 { + if (int32(*(*uint8)(unsafe.Pointer((pSrc + 60 /* &.fg */) + 4 /* &.notIndexed */)) & 0x1 >> 0)) == 0 { // The real indices of the table are only considered if the // NOT INDEXED qualifier is omitted from the FROM clause (*Index)(unsafe.Pointer(bp /* &sPk */)).FpNext = pFirst @@ -128646,10 +130318,10 @@ func whereLoopAddBtree(tls *libc.TLS, pBuilder uintptr, mPrereq Bitmask) int32 { ((int32((*WhereInfo)(unsafe.Pointer(pWInfo)).FwctrlFlags) & 0x0020) == 0)) && (((*Sqlite3)(unsafe.Pointer((*Parse)(unsafe.Pointer((*WhereInfo)(unsafe.Pointer(pWInfo)).FpParse)).Fdb)).Fflags & uint64(0x00008000)) != uint64(0))) && ((*SrcList_item)(unsafe.Pointer(pSrc)).FpIBIndex == uintptr(0))) && // Has no INDEXED BY clause - !(int32(*(*uint8)(unsafe.Pointer(pSrc + 60 /* &.fg */ + 4 /* &.notIndexed */))&0x1>>0) != 0)) && // Has no NOT INDEXED clause + !((int32(*(*uint8)(unsafe.Pointer(pSrc + 60 /* &.fg */ + 4 /* &.notIndexed */)) & 0x1 >> 0)) != 0)) && // Has no NOT INDEXED clause (((*Table)(unsafe.Pointer((pTab))).FtabFlags & U32(0x0080)) == U32(0))) && // Not WITHOUT ROWID table. (FIXME: Why not?) - !(int32(*(*uint8)(unsafe.Pointer(pSrc + 60 /* &.fg */ + 4 /* &.isCorrelated */))&0x8>>3) != 0)) && // Not a correlated subquery - !(int32(*(*uint8)(unsafe.Pointer(pSrc + 60 /* &.fg */ + 4 /* &.isRecursive */))&0x20>>5) != 0) { + !((int32(*(*uint8)(unsafe.Pointer(pSrc + 60 /* &.fg */ + 4 /* &.isCorrelated */)) & 0x8 >> 3)) != 0)) && // Not a correlated subquery + !((int32(*(*uint8)(unsafe.Pointer(pSrc + 60 /* &.fg */ + 4 /* &.isRecursive */)) & 0x20 >> 5)) != 0) { // Generate auto-index WhereLoops var pTerm uintptr var pWCEnd uintptr = ((*WhereClause)(unsafe.Pointer(pWC)).Fa + uintptr((*WhereClause)(unsafe.Pointer(pWC)).FnTerm)*64) @@ -128658,21 +130330,9 @@ func whereLoopAddBtree(tls *libc.TLS, pBuilder uintptr, mPrereq Bitmask) int32 { continue } if termCanDriveIndex(tls, pTerm, pSrc, uint64(0)) != 0 { - (*struct { - FnEq U16 - FnBtm U16 - FnTop U16 - FnDistinctCol U16 - FpIndex uintptr - })(unsafe.Pointer(pNew + 24 /* &.u */)).FnEq = U16(1) + *(*U16)(unsafe.Pointer(pNew + 24 /* &.u */ /* &.btree */ /* &.nEq */)) = U16(1) (*WhereLoop)(unsafe.Pointer(pNew)).FnSkip = U16(0) - (*struct { - FnEq U16 - FnBtm U16 - FnTop U16 - FnDistinctCol U16 - FpIndex uintptr - })(unsafe.Pointer(pNew + 24 /* &.u */)).FpIndex = uintptr(0) + *(*uintptr)(unsafe.Pointer(pNew + 24 /* &.u */ /* &.btree */ + 8 /* &.pIndex */)) = uintptr(0) (*WhereLoop)(unsafe.Pointer(pNew)).FnLTerm = U16(1) *(*uintptr)(unsafe.Pointer((*WhereLoop)(unsafe.Pointer(pNew)).FaLTerm + uintptr(0)*8)) = pTerm // TUNING: One-time cost for computing the automatic index is @@ -128720,49 +130380,25 @@ __1: // See ticket [98d973b8f5] goto __2 } - if uint32(int32(*(*uint16)(unsafe.Pointer(pProbe + 100 /* &.bNoQuery */))&0x100>>8)) != 0 { + if (uint32(int32(*(*uint16)(unsafe.Pointer(pProbe + 100 /* &.bNoQuery */)) & 0x100 >> 8))) != 0 { goto __2 } rSize = *(*LogEst)(unsafe.Pointer((*Index)(unsafe.Pointer(pProbe)).FaiRowLogEst + uintptr(0)*2)) - (*struct { - FnEq U16 - FnBtm U16 - FnTop U16 - FnDistinctCol U16 - FpIndex uintptr - })(unsafe.Pointer(pNew + 24 /* &.u */)).FnEq = U16(0) - (*struct { - FnEq U16 - FnBtm U16 - FnTop U16 - FnDistinctCol U16 - FpIndex uintptr - })(unsafe.Pointer(pNew + 24 /* &.u */)).FnBtm = U16(0) - (*struct { - FnEq U16 - FnBtm U16 - FnTop U16 - FnDistinctCol U16 - FpIndex uintptr - })(unsafe.Pointer(pNew + 24 /* &.u */)).FnTop = U16(0) + *(*U16)(unsafe.Pointer(pNew + 24 /* &.u */ /* &.btree */ /* &.nEq */)) = U16(0) + *(*U16)(unsafe.Pointer(pNew + 24 /* &.u */ /* &.btree */ + 2 /* &.nBtm */)) = U16(0) + *(*U16)(unsafe.Pointer(pNew + 24 /* &.u */ /* &.btree */ + 4 /* &.nTop */)) = U16(0) (*WhereLoop)(unsafe.Pointer(pNew)).FnSkip = U16(0) (*WhereLoop)(unsafe.Pointer(pNew)).FnLTerm = U16(0) (*WhereLoop)(unsafe.Pointer(pNew)).FiSortIdx = U8(0) (*WhereLoop)(unsafe.Pointer(pNew)).FrSetup = int16(0) (*WhereLoop)(unsafe.Pointer(pNew)).Fprereq = mPrereq (*WhereLoop)(unsafe.Pointer(pNew)).FnOut = rSize - (*struct { - FnEq U16 - FnBtm U16 - FnTop U16 - FnDistinctCol U16 - FpIndex uintptr - })(unsafe.Pointer(pNew + 24 /* &.u */)).FpIndex = pProbe + *(*uintptr)(unsafe.Pointer(pNew + 24 /* &.u */ /* &.btree */ + 8 /* &.pIndex */)) = pProbe b = indexMightHelpWithOrderBy(tls, pBuilder, pProbe, (*SrcList_item)(unsafe.Pointer(pSrc)).FiCursor) // The ONEPASS_DESIRED flags never occurs together with ORDER BY - if int32(*(*uint16)(unsafe.Pointer(pProbe + 100 /* &.idxType */))&0x3>>0) == 3 { + if (int32(*(*uint16)(unsafe.Pointer(pProbe + 100 /* &.idxType */)) & 0x3 >> 0)) == 3 { // Integer primary key index (*WhereLoop)(unsafe.Pointer(pNew)).FwsFlags = U32(0x00000100) @@ -128784,7 +130420,7 @@ __1: } } else { var m Bitmask - if uint32(int32(*(*uint16)(unsafe.Pointer(pProbe + 100 /* &.isCovering */))&0x20>>5)) != 0 { + if (uint32(int32(*(*uint16)(unsafe.Pointer(pProbe + 100 /* &.isCovering */)) & 0x20 >> 5))) != 0 { (*WhereLoop)(unsafe.Pointer(pNew)).FwsFlags = (U32(0x00000040 | 0x00000200)) m = uint64(0) } else { @@ -128801,9 +130437,9 @@ __1: if ((((b != 0) || !(((*Table)(unsafe.Pointer((pTab))).FtabFlags & U32(0x0080)) == U32(0))) || ((*Index)(unsafe.Pointer(pProbe)).FpPartIdxWhere != uintptr(0))) || - (uint32(int32(*(*uint8)(unsafe.Pointer((pSrc + 60 /* &.fg */) + 4 /* &.isIndexedBy */))&0x2>>1)) != 0)) || + ((uint32(int32(*(*uint8)(unsafe.Pointer((pSrc + 60 /* &.fg */) + 4 /* &.isIndexedBy */)) & 0x2 >> 1))) != 0)) || ((((((m == uint64(0)) && - (int32(*(*uint16)(unsafe.Pointer(pProbe + 100 /* &.bUnordered */))&0x4>>2) == 0)) && + ((int32(*(*uint16)(unsafe.Pointer(pProbe + 100 /* &.bUnordered */)) & 0x4 >> 2)) == 0)) && (int32((*Index)(unsafe.Pointer(pProbe)).FszIdxRow) < int32((*Table)(unsafe.Pointer(pTab)).FszTabRow))) && ((int32((*WhereInfo)(unsafe.Pointer(pWInfo)).FwctrlFlags) & 0x0004) == 0)) && (Xsqlite3Config.FbUseCis != 0)) && @@ -128977,13 +130613,7 @@ __3: for i = 0; i < nConstraint; i++ { *(*uintptr)(unsafe.Pointer((*WhereLoop)(unsafe.Pointer(pNew)).FaLTerm + uintptr(i)*8)) = uintptr(0) } - (*struct { - FidxNum int32 - FneedFree U8 - FisOrdered I8 - FomitMask U16 - FidxStr uintptr - })(unsafe.Pointer(pNew + 24 /* &.u */)).FomitMask = U16(0) + *(*U16)(unsafe.Pointer(pNew + 24 /* &.u */ /* &.vtab */ + 6 /* &.omitMask */)) = U16(0) pIdxCons = *(*uintptr)(unsafe.Pointer((pIdxInfo + 8 /* &.aConstraint */))) i = 0 __4: @@ -129052,35 +130682,11 @@ __6: } } - (*struct { - FidxNum int32 - FneedFree U8 - FisOrdered I8 - FomitMask U16 - FidxStr uintptr - })(unsafe.Pointer(pNew + 24 /* &.u */)).FidxNum = (*Sqlite3_index_info)(unsafe.Pointer(pIdxInfo)).FidxNum - (*struct { - FidxNum int32 - FneedFree U8 - FisOrdered I8 - FomitMask U16 - FidxStr uintptr - })(unsafe.Pointer(pNew + 24 /* &.u */)).FneedFree = U8((*Sqlite3_index_info)(unsafe.Pointer(pIdxInfo)).FneedToFreeIdxStr) + *(*int32)(unsafe.Pointer(pNew + 24 /* &.u */ /* &.vtab */ /* &.idxNum */)) = (*Sqlite3_index_info)(unsafe.Pointer(pIdxInfo)).FidxNum + *(*U8)(unsafe.Pointer(pNew + 24 /* &.u */ /* &.vtab */ + 4 /* &.needFree */)) = U8((*Sqlite3_index_info)(unsafe.Pointer(pIdxInfo)).FneedToFreeIdxStr) (*Sqlite3_index_info)(unsafe.Pointer(pIdxInfo)).FneedToFreeIdxStr = 0 - (*struct { - FidxNum int32 - FneedFree U8 - FisOrdered I8 - FomitMask U16 - FidxStr uintptr - })(unsafe.Pointer(pNew + 24 /* &.u */)).FidxStr = (*Sqlite3_index_info)(unsafe.Pointer(pIdxInfo)).FidxStr - (*struct { - FidxNum int32 - FneedFree U8 - FisOrdered I8 - FomitMask U16 - FidxStr uintptr - })(unsafe.Pointer(pNew + 24 /* &.u */)).FisOrdered = func() int8 { + *(*uintptr)(unsafe.Pointer(pNew + 24 /* &.u */ /* &.vtab */ + 8 /* &.idxStr */)) = (*Sqlite3_index_info)(unsafe.Pointer(pIdxInfo)).FidxStr + *(*I8)(unsafe.Pointer(pNew + 24 /* &.u */ /* &.vtab */ + 5 /* &.isOrdered */)) = func() int8 { if (*Sqlite3_index_info)(unsafe.Pointer(pIdxInfo)).ForderByConsumed != 0 { return int8((*Sqlite3_index_info)(unsafe.Pointer(pIdxInfo)).FnOrderBy) } @@ -129098,27 +130704,9 @@ __6: *(*U32)(unsafe.Pointer(pNew + 40 /* &.wsFlags */)) &= (^U32(libc.Int32FromInt32(0x00001000))) } rc = whereLoopInsert(tls, pBuilder, pNew) - if (*struct { - FidxNum int32 - FneedFree U8 - FisOrdered I8 - FomitMask U16 - FidxStr uintptr - })(unsafe.Pointer(pNew+24 /* &.u */)).FneedFree != 0 { - Xsqlite3_free(tls, (*struct { - FidxNum int32 - FneedFree U8 - FisOrdered I8 - FomitMask U16 - FidxStr uintptr - })(unsafe.Pointer(pNew+24 /* &.u */)).FidxStr) - (*struct { - FidxNum int32 - FneedFree U8 - FisOrdered I8 - FomitMask U16 - FidxStr uintptr - })(unsafe.Pointer(pNew + 24 /* &.u */)).FneedFree = U8(0) + if *(*U8)(unsafe.Pointer(pNew + 24 /* &.u */ /* &.vtab */ + 4 /* &.needFree */)) != 0 { + Xsqlite3_free(tls, *(*uintptr)(unsafe.Pointer(pNew + 24 /* &.u */ /* &.vtab */ + 8 /* &.idxStr */))) + *(*U8)(unsafe.Pointer(pNew + 24 /* &.u */ /* &.vtab */ + 4 /* &.needFree */)) = U8(0) } return rc @@ -129203,13 +130791,7 @@ func whereLoopAddVirtual(tls *libc.TLS, pBuilder uintptr, mPrereq Bitmask, mUnus (*WhereLoop)(unsafe.Pointer(pNew)).FrSetup = int16(0) (*WhereLoop)(unsafe.Pointer(pNew)).FwsFlags = U32(0x00000400) (*WhereLoop)(unsafe.Pointer(pNew)).FnLTerm = U16(0) - (*struct { - FidxNum int32 - FneedFree U8 - FisOrdered I8 - FomitMask U16 - FidxStr uintptr - })(unsafe.Pointer(pNew + 24 /* &.u */)).FneedFree = U8(0) + *(*U8)(unsafe.Pointer(pNew + 24 /* &.u */ /* &.vtab */ + 4 /* &.needFree */)) = U8(0) nConstraint = (*Sqlite3_index_info)(unsafe.Pointer(p)).FnConstraint if whereLoopResize(tls, (*Parse)(unsafe.Pointer(pParse)).Fdb, pNew, nConstraint) != 0 { Xsqlite3DbFree(tls, (*Parse)(unsafe.Pointer(pParse)).Fdb, p) @@ -129594,24 +131176,12 @@ func wherePathSatisfiesOrderBy(tls *libc.TLS, pWInfo uintptr, pOrderBy uintptr, pLoop = pLast } if ((*WhereLoop)(unsafe.Pointer(pLoop)).FwsFlags & U32(0x00000400)) != 0 { - if ((*struct { - FidxNum int32 - FneedFree U8 - FisOrdered I8 - FomitMask U16 - FidxStr uintptr - })(unsafe.Pointer(pLoop+24 /* &.u */)).FisOrdered != 0) && ((int32(wctrlFlags) & 0x0080) == 0) { + if (*(*I8)(unsafe.Pointer((pLoop + 24 /* &.u */ /* &.vtab */) + 5 /* &.isOrdered */)) != 0) && ((int32(wctrlFlags) & 0x0080) == 0) { obSat = obDone } break } else if (int32(wctrlFlags) & 0x0080) != 0 { - (*struct { - FnEq U16 - FnBtm U16 - FnTop U16 - FnDistinctCol U16 - FpIndex uintptr - })(unsafe.Pointer(pLoop + 24 /* &.u */)).FnDistinctCol = U16(0) + *(*U16)(unsafe.Pointer(pLoop + 24 /* &.u */ /* &.btree */ + 6 /* &.nDistinctCol */)) = U16(0) } iCur = (*SrcList_item)(unsafe.Pointer(((*WhereInfo)(unsafe.Pointer(pWInfo)).FpTabList + 8 /* &.a */) + uintptr((*WhereLoop)(unsafe.Pointer(pLoop)).FiTab)*112)).FiCursor @@ -129663,13 +131233,7 @@ func wherePathSatisfiesOrderBy(tls *libc.TLS, pWInfo uintptr, pOrderBy uintptr, pIndex = uintptr(0) nKeyCol = U16(0) nColumn = U16(1) - } else if ((libc.AssignUintptr(&pIndex, (*struct { - FnEq U16 - FnBtm U16 - FnTop U16 - FnDistinctCol U16 - FpIndex uintptr - })(unsafe.Pointer(pLoop+24 /* &.u */)).FpIndex)) == uintptr(0)) || (uint32(int32(*(*uint16)(unsafe.Pointer(pIndex + 100 /* &.bUnordered */))&0x4>>2)) != 0) { + } else if ((libc.AssignUintptr(&pIndex, *(*uintptr)(unsafe.Pointer(pLoop + 24 /* &.u */ /* &.btree */ + 8 /* &.pIndex */)))) == uintptr(0)) || ((uint32(int32(*(*uint16)(unsafe.Pointer(pIndex + 100 /* &.bUnordered */)) & 0x4 >> 2))) != 0) { return int8(0) } else { nKeyCol = (*Index)(unsafe.Pointer(pIndex)).FnKeyCol @@ -129686,13 +131250,7 @@ func wherePathSatisfiesOrderBy(tls *libc.TLS, pWInfo uintptr, pOrderBy uintptr, for j = 0; j < int32(nColumn); j++ { var bOnce U8 = U8(1) // True to run the ORDER BY search loop - if (j < int32((*struct { - FnEq U16 - FnBtm U16 - FnTop U16 - FnDistinctCol U16 - FpIndex uintptr - })(unsafe.Pointer(pLoop+24 /* &.u */)).FnEq)) && (j >= int32((*WhereLoop)(unsafe.Pointer(pLoop)).FnSkip)) { + if (j < int32(*(*U16)(unsafe.Pointer((pLoop + 24 /* &.u */ /* &.btree */) /* &.nEq */)))) && (j >= int32((*WhereLoop)(unsafe.Pointer(pLoop)).FnSkip)) { var eOp U16 = (*WhereTerm)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer((*WhereLoop)(unsafe.Pointer(pLoop)).FaLTerm + uintptr(j)*8)))).FeOperator // Skip over == and IS and ISNULL terms. (Also skip IN terms when @@ -129718,13 +131276,7 @@ func wherePathSatisfiesOrderBy(tls *libc.TLS, pWInfo uintptr, pOrderBy uintptr, // than WO_IN is captured by the previous "if". So this one // always has to be WO_IN. var pX uintptr = (*WhereTerm)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer((*WhereLoop)(unsafe.Pointer(pLoop)).FaLTerm + uintptr(j)*8)))).FpExpr - for i = (j + 1); i < int32((*struct { - FnEq U16 - FnBtm U16 - FnTop U16 - FnDistinctCol U16 - FpIndex uintptr - })(unsafe.Pointer(pLoop+24 /* &.u */)).FnEq); i++ { + for i = (j + 1); i < int32(*(*U16)(unsafe.Pointer((pLoop + 24 /* &.u */ /* &.btree */) /* &.nEq */))); i++ { if (*WhereTerm)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer((*WhereLoop)(unsafe.Pointer(pLoop)).FaLTerm + uintptr(i)*8)))).FpExpr == pX { bOnce = U8(0) @@ -129751,13 +131303,7 @@ func wherePathSatisfiesOrderBy(tls *libc.TLS, pWInfo uintptr, pOrderBy uintptr, // WhereLoop is not well-ordered if (((isOrderDistinct != 0) && (iColumn >= 0)) && - (j >= int32((*struct { - FnEq U16 - FnBtm U16 - FnTop U16 - FnDistinctCol U16 - FpIndex uintptr - })(unsafe.Pointer(pLoop+24 /* &.u */)).FnEq))) && + (j >= int32(*(*U16)(unsafe.Pointer((pLoop + 24 /* &.u */ /* &.btree */) /* &.nEq */))))) && (int32((*Column)(unsafe.Pointer((*Table)(unsafe.Pointer((*Index)(unsafe.Pointer(pIndex)).FpTable)).FaCol+uintptr(iColumn)*32)).FnotNull) == 0) { isOrderDistinct = U8(0) } @@ -129797,13 +131343,7 @@ func wherePathSatisfiesOrderBy(tls *libc.TLS, pWInfo uintptr, pOrderBy uintptr, } } if (int32(wctrlFlags) & 0x0080) != 0 { - (*struct { - FnEq U16 - FnBtm U16 - FnTop U16 - FnDistinctCol U16 - FpIndex uintptr - })(unsafe.Pointer(pLoop + 24 /* &.u */)).FnDistinctCol = (U16(j + 1)) + *(*U16)(unsafe.Pointer(pLoop + 24 /* &.u */ /* &.btree */ + 6 /* &.nDistinctCol */)) = (U16(j + 1)) } isMatch = U8(1) break @@ -129824,13 +131364,7 @@ func wherePathSatisfiesOrderBy(tls *libc.TLS, pWInfo uintptr, pOrderBy uintptr, } } if (isMatch != 0) && ((int32((*ExprList_item)(unsafe.Pointer((pOrderBy+8 /* &.a */)+uintptr(i)*32)).FsortFlags) & 0x02) != 0) { - if j == int32((*struct { - FnEq U16 - FnBtm U16 - FnTop U16 - FnDistinctCol U16 - FpIndex uintptr - })(unsafe.Pointer(pLoop+24 /* &.u */)).FnEq) { + if j == int32(*(*U16)(unsafe.Pointer((pLoop + 24 /* &.u */ /* &.btree */) /* &.nEq */))) { *(*U32)(unsafe.Pointer(pLoop + 40 /* &.wsFlags */)) |= (U32(0x00080000)) } else { isMatch = U8(0) @@ -129915,7 +131449,7 @@ func wherePathSatisfiesOrderBy(tls *libc.TLS, pWInfo uintptr, pOrderBy uintptr, // SELECT * FROM t1 GROUP BY y,x ORDER BY y,x; -- IsSorted()==0 func Xsqlite3WhereIsSorted(tls *libc.TLS, pWInfo uintptr) int32 { /* sqlite3.c:149626:20: */ - return int32(*(*uint8)(unsafe.Pointer(pWInfo + 68 /* &.sorted */)) & 0x8 >> 3) + return (int32(*(*uint8)(unsafe.Pointer(pWInfo + 68 /* &.sorted */)) & 0x8 >> 3)) } // Return the cost of sorting nRow rows, assuming that the keys have @@ -130381,7 +131915,7 @@ func whereShortCut(tls *libc.TLS, pBuilder uintptr) int32 { /* sqlite3.c:150086: if (*Table)(unsafe.Pointer(pTab)).FnModuleArg != 0 { return 0 } - if uint32(int32(*(*uint8)(unsafe.Pointer(pItem + 60 /* &.fg */ + 4 /* &.isIndexedBy */))&0x2>>1)) != 0 { + if (uint32(int32(*(*uint8)(unsafe.Pointer(pItem + 60 /* &.fg */ + 4 /* &.isIndexedBy */)) & 0x2 >> 1))) != 0 { return 0 } iCur = (*SrcList_item)(unsafe.Pointer(pItem)).FiCursor @@ -130395,13 +131929,7 @@ func whereShortCut(tls *libc.TLS, pBuilder uintptr) int32 { /* sqlite3.c:150086: (*WhereLoop)(unsafe.Pointer(pLoop)).FwsFlags = (U32((0x00000001 | 0x00000100) | 0x00001000)) *(*uintptr)(unsafe.Pointer((*WhereLoop)(unsafe.Pointer(pLoop)).FaLTerm + uintptr(0)*8)) = pTerm (*WhereLoop)(unsafe.Pointer(pLoop)).FnLTerm = U16(1) - (*struct { - FnEq U16 - FnBtm U16 - FnTop U16 - FnDistinctCol U16 - FpIndex uintptr - })(unsafe.Pointer(pLoop + 24 /* &.u */)).FnEq = U16(1) + *(*U16)(unsafe.Pointer(pLoop + 24 /* &.u */ /* &.btree */ /* &.nEq */)) = U16(1) // TUNING: Cost of a rowid lookup is 10 (*WhereLoop)(unsafe.Pointer(pLoop)).FrRun = int16(33) } else { @@ -130413,7 +131941,7 @@ func whereShortCut(tls *libc.TLS, pBuilder uintptr) int32 { /* sqlite3.c:150086: (int32((*Index)(unsafe.Pointer(pIdx)).FnKeyCol) > (int32(uint64(unsafe.Sizeof([3]uintptr{})) / uint64(unsafe.Sizeof(uintptr(0)))))) { continue } - if uint32(int32(*(*uint16)(unsafe.Pointer(pIdx + 100 /* &.uniqNotNull */))&0x8>>3)) != 0 { + if (uint32(int32(*(*uint16)(unsafe.Pointer(pIdx + 100 /* &.uniqNotNull */)) & 0x8 >> 3))) != 0 { opMask = (0x0002 | 0x0080) } else { opMask = 0x0002 @@ -130430,24 +131958,12 @@ func whereShortCut(tls *libc.TLS, pBuilder uintptr) int32 { /* sqlite3.c:150086: continue } (*WhereLoop)(unsafe.Pointer(pLoop)).FwsFlags = (U32((0x00000001 | 0x00001000) | 0x00000200)) - if (uint32(int32(*(*uint16)(unsafe.Pointer(pIdx + 100 /* &.isCovering */))&0x20>>5)) != 0) || (((*SrcList_item)(unsafe.Pointer(pItem)).FcolUsed & (*Index)(unsafe.Pointer(pIdx)).FcolNotIdxed) == uint64(0)) { + if ((uint32(int32(*(*uint16)(unsafe.Pointer(pIdx + 100 /* &.isCovering */)) & 0x20 >> 5))) != 0) || (((*SrcList_item)(unsafe.Pointer(pItem)).FcolUsed & (*Index)(unsafe.Pointer(pIdx)).FcolNotIdxed) == uint64(0)) { *(*U32)(unsafe.Pointer(pLoop + 40 /* &.wsFlags */)) |= (U32(0x00000040)) } (*WhereLoop)(unsafe.Pointer(pLoop)).FnLTerm = U16(j) - (*struct { - FnEq U16 - FnBtm U16 - FnTop U16 - FnDistinctCol U16 - FpIndex uintptr - })(unsafe.Pointer(pLoop + 24 /* &.u */)).FnEq = U16(j) - (*struct { - FnEq U16 - FnBtm U16 - FnTop U16 - FnDistinctCol U16 - FpIndex uintptr - })(unsafe.Pointer(pLoop + 24 /* &.u */)).FpIndex = pIdx + *(*U16)(unsafe.Pointer(pLoop + 24 /* &.u */ /* &.btree */ /* &.nEq */)) = U16(j) + *(*uintptr)(unsafe.Pointer(pLoop + 24 /* &.u */ /* &.btree */ + 8 /* &.pIndex */)) = pIdx // TUNING: Cost of a unique index lookup is 15 (*WhereLoop)(unsafe.Pointer(pLoop)).FrRun = int16(39) // 39==sqlite3LogEst(15) break @@ -131196,17 +132712,11 @@ __60: if !(((*WhereLoop)(unsafe.Pointer(pLoop)).FwsFlags & U32(0x00000200)) != 0) { goto __72 } - pIx = (*struct { - FnEq U16 - FnBtm U16 - FnTop U16 - FnDistinctCol U16 - FpIndex uintptr - })(unsafe.Pointer(pLoop + 24 /* &.u */)).FpIndex + pIx = *(*uintptr)(unsafe.Pointer(pLoop + 24 /* &.u */ /* &.btree */ + 8 /* &.pIndex */)) op1 = 96 // iAuxArg is always set to a positive value if ONEPASS is possible - if !((!(((*Table)(unsafe.Pointer((pTab))).FtabFlags & U32(0x0080)) == U32(0)) && (int32(*(*uint16)(unsafe.Pointer((pIx) + 100 /* &.idxType */))&0x3>>0) == 2)) && + if !((!(((*Table)(unsafe.Pointer((pTab))).FtabFlags & U32(0x0080)) == U32(0)) && ((int32(*(*uint16)(unsafe.Pointer((pIx) + 100 /* &.idxType */)) & 0x3 >> 0)) == 2)) && ((int32(wctrlFlags) & 0x0020) != 0)) { goto __73 } @@ -131383,20 +132893,8 @@ func Xsqlite3WhereEnd(tls *libc.TLS, pWInfo uintptr) { /* sqlite3.c:150895:21: * if (((((int32((*WhereInfo)(unsafe.Pointer(pWInfo)).FeDistinct) == 2) && (i == (int32((*WhereInfo)(unsafe.Pointer(pWInfo)).FnLevel) - 1))) && // Ticket [ef9318757b152e3] 2017-10-21 (((*WhereLoop)(unsafe.Pointer(pLoop)).FwsFlags & U32(0x00000200)) != U32(0))) && - (uint32(int32(*(*uint16)(unsafe.Pointer((libc.AssignUintptr(&pIdx, (*struct { - FnEq U16 - FnBtm U16 - FnTop U16 - FnDistinctCol U16 - FpIndex uintptr - })(unsafe.Pointer(pLoop+24 /* &.u */)).FpIndex)) + 100 /* &.hasStat1 */))&0x80>>7)) != 0)) && - ((libc.AssignInt32(&n, int32((*struct { - FnEq U16 - FnBtm U16 - FnTop U16 - FnDistinctCol U16 - FpIndex uintptr - })(unsafe.Pointer(pLoop+24 /* &.u */)).FnDistinctCol))) > 0)) && + ((uint32(int32(*(*uint16)(unsafe.Pointer((libc.AssignUintptr(&pIdx, *(*uintptr)(unsafe.Pointer(pLoop + 24 /* &.u */ /* &.btree */ + 8 /* &.pIndex */)))) + 100 /* &.hasStat1 */)) & 0x80 >> 7))) != 0)) && + ((libc.AssignInt32(&n, int32(*(*U16)(unsafe.Pointer(pLoop + 24 /* &.u */ /* &.btree */ + 6 /* &.nDistinctCol */))))) > 0)) && (int32(*(*LogEst)(unsafe.Pointer((*Index)(unsafe.Pointer(pIdx)).FaiRowLogEst + uintptr(n)*2))) >= 36) { var r1 int32 = ((*Parse)(unsafe.Pointer(pParse)).FnMem + 1) var j int32 @@ -131429,24 +132927,12 @@ func Xsqlite3WhereEnd(tls *libc.TLS, pWInfo uintptr) { /* sqlite3.c:150895:21: * } else { Xsqlite3VdbeResolveLabel(tls, v, (*WhereLevel)(unsafe.Pointer(pLevel)).FaddrCont) } - if (((*WhereLoop)(unsafe.Pointer(pLoop)).FwsFlags & U32(0x00000800)) != 0) && ((*struct { - FnIn int32 - _ [4]byte - FaInLoop uintptr - })(unsafe.Pointer(pLevel+56 /* &.u */)).FnIn > 0) { + if (((*WhereLoop)(unsafe.Pointer(pLoop)).FwsFlags & U32(0x00000800)) != 0) && (*(*int32)(unsafe.Pointer((pLevel + 56 /* &.u */ /* &.in */) /* &.nIn */)) > 0) { var pIn uintptr var j int32 Xsqlite3VdbeResolveLabel(tls, v, (*WhereLevel)(unsafe.Pointer(pLevel)).FaddrNxt) - j = (*struct { - FnIn int32 - _ [4]byte - FaInLoop uintptr - })(unsafe.Pointer(pLevel + 56 /* &.u */)).FnIn - pIn = ((*struct { - FnIn int32 - _ [4]byte - FaInLoop uintptr - })(unsafe.Pointer(pLevel+56 /* &.u */)).FaInLoop + uintptr((j-1))*20) + j = *(*int32)(unsafe.Pointer(pLevel + 56 /* &.u */ /* &.in */ /* &.nIn */)) + pIn = (*(*uintptr)(unsafe.Pointer((pLevel + 56 /* &.u */ /* &.in */) + 8 /* &.aInLoop */)) + uintptr((j-1))*20) __1: if !(j > 0) { goto __3 @@ -131490,13 +132976,7 @@ func Xsqlite3WhereEnd(tls *libc.TLS, pWInfo uintptr) { /* sqlite3.c:150895:21: * Xsqlite3VdbeResolveLabel(tls, v, (*WhereLevel)(unsafe.Pointer(pLevel)).FaddrBrk) if (*WhereLevel)(unsafe.Pointer(pLevel)).FaddrSkip != 0 { Xsqlite3VdbeGoto(tls, v, (*WhereLevel)(unsafe.Pointer(pLevel)).FaddrSkip) - Xsqlite3VdbeComment(tls, v, ts+23714 /* "next skip-scan o..." */, libc.VaList(bp, (*Index)(unsafe.Pointer((*struct { - FnEq U16 - FnBtm U16 - FnTop U16 - FnDistinctCol U16 - FpIndex uintptr - })(unsafe.Pointer(pLoop+24 /* &.u */)).FpIndex)).FzName)) + Xsqlite3VdbeComment(tls, v, ts+23714 /* "next skip-scan o..." */, libc.VaList(bp, (*Index)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(pLoop + 24 /* &.u */ /* &.btree */ + 8 /* &.pIndex */)))).FzName)) Xsqlite3VdbeJumpHere(tls, v, (*WhereLevel)(unsafe.Pointer(pLevel)).FaddrSkip) Xsqlite3VdbeJumpHere(tls, v, ((*WhereLevel)(unsafe.Pointer(pLevel)).FaddrSkip - 2)) } @@ -131544,7 +133024,7 @@ __4: // For a co-routine, change all OP_Column references to the table of // the co-routine into OP_Copy of result contained in a register. // OP_Rowid becomes OP_Null. - if uint32(int32(*(*uint8)(unsafe.Pointer(pTabItem + 60 /* &.fg */ + 4 /* &.viaCoroutine */))&0x10>>4)) != 0 { + if (uint32(int32(*(*uint8)(unsafe.Pointer(pTabItem + 60 /* &.fg */ + 4 /* &.viaCoroutine */)) & 0x10 >> 4))) != 0 { translateColumnToCopy(tls, pParse, (*WhereLevel)(unsafe.Pointer(pLevel)).FaddrBody, (*WhereLevel)(unsafe.Pointer(pLevel)).FiTabCur, (*SrcList_item)(unsafe.Pointer(pTabItem)).FregResult, 0) @@ -131562,13 +133042,7 @@ __4: // that reference the table and converts them into opcodes that // reference the index. if ((*WhereLoop)(unsafe.Pointer(pLoop)).FwsFlags & (U32(0x00000200 | 0x00000040))) != 0 { - pIdx = (*struct { - FnEq U16 - FnBtm U16 - FnTop U16 - FnDistinctCol U16 - FpIndex uintptr - })(unsafe.Pointer(pLoop + 24 /* &.u */)).FpIndex + pIdx = *(*uintptr)(unsafe.Pointer(pLoop + 24 /* &.u */ /* &.btree */ + 8 /* &.pIndex */)) } else if ((*WhereLoop)(unsafe.Pointer(pLoop)).FwsFlags & U32(0x00002000)) != 0 { pIdx = *(*uintptr)(unsafe.Pointer(pLevel + 56 /* &.u */)) } @@ -132179,21 +133653,156 @@ func Xsqlite3WindowFunctions(tls *libc.TLS) { /* sqlite3.c:151775:21: */ } var aWindowFuncs = [15]FuncDef{ - {FnArg: int8(0), FfuncFlags: (U32((1 | 0x00010000) | 0)), FpUserData: uintptr(0), FpNext: uintptr(0), FxSFunc: 0, FxFinalize: 0, FxValue: 0, FxInverse: 0, FzName: 0, Fu: struct{ FpHash uintptr }{FpHash: uintptr(0)}}, - {FnArg: int8(0), FfuncFlags: (U32((1 | 0x00010000) | 0)), FpUserData: uintptr(0), FpNext: uintptr(0), FxSFunc: 0, FxFinalize: 0, FxValue: 0, FxInverse: 0, FzName: 0, Fu: struct{ FpHash uintptr }{FpHash: uintptr(0)}}, - {FnArg: int8(0), FfuncFlags: (U32((1 | 0x00010000) | 0)), FpUserData: uintptr(0), FpNext: uintptr(0), FxSFunc: 0, FxFinalize: 0, FxValue: 0, FxInverse: 0, FzName: 0, Fu: struct{ FpHash uintptr }{FpHash: uintptr(0)}}, - {FnArg: int8(0), FfuncFlags: (U32((1 | 0x00010000) | 0)), FpUserData: uintptr(0), FpNext: uintptr(0), FxSFunc: 0, FxFinalize: 0, FxValue: 0, FxInverse: 0, FzName: 0, Fu: struct{ FpHash uintptr }{FpHash: uintptr(0)}}, - {FnArg: int8(0), FfuncFlags: (U32((1 | 0x00010000) | 0)), FpUserData: uintptr(0), FpNext: uintptr(0), FxSFunc: 0, FxFinalize: 0, FxValue: 0, FxInverse: 0, FzName: 0, Fu: struct{ FpHash uintptr }{FpHash: uintptr(0)}}, - {FnArg: int8(1), FfuncFlags: (U32((1 | 0x00010000) | 0)), FpUserData: uintptr(0), FpNext: uintptr(0), FxSFunc: 0, FxFinalize: 0, FxValue: 0, FxInverse: 0, FzName: 0, Fu: struct{ FpHash uintptr }{FpHash: uintptr(0)}}, - {FnArg: int8(1), FfuncFlags: (U32((1 | 0x00010000) | 0)), FpUserData: uintptr(0), FpNext: uintptr(0), FxSFunc: 0, FxFinalize: 0, FxValue: 0, FxInverse: 0, FzName: 0, Fu: struct{ FpHash uintptr }{FpHash: uintptr(0)}}, - {FnArg: int8(2), FfuncFlags: (U32((1 | 0x00010000) | 0)), FpUserData: uintptr(0), FpNext: uintptr(0), FxSFunc: 0, FxFinalize: 0, FxValue: 0, FxInverse: 0, FzName: 0, Fu: struct{ FpHash uintptr }{FpHash: uintptr(0)}}, - {FnArg: int8(1), FfuncFlags: (U32((1 | 0x00010000) | 0)), FpUserData: uintptr(0), FpNext: uintptr(0), FxSFunc: 0, FxFinalize: 0, FxValue: 0, FxInverse: 0, FzName: 0, Fu: struct{ FpHash uintptr }{FpHash: uintptr(0)}}, - {FnArg: int8(1), FfuncFlags: (U32((1 | 0x00010000) | 0)), FpUserData: uintptr(0), FpNext: uintptr(0), FxSFunc: 0, FxFinalize: 0, FxValue: 0, FxInverse: 0, FzName: 0, Fu: struct{ FpHash uintptr }{FpHash: uintptr(0)}}, - {FnArg: int8(2), FfuncFlags: (U32((1 | 0x00010000) | 0)), FpUserData: uintptr(0), FpNext: uintptr(0), FxSFunc: 0, FxFinalize: 0, FxValue: 0, FxInverse: 0, FzName: 0, Fu: struct{ FpHash uintptr }{FpHash: uintptr(0)}}, - {FnArg: int8(3), FfuncFlags: (U32((1 | 0x00010000) | 0)), FpUserData: uintptr(0), FpNext: uintptr(0), FxSFunc: 0, FxFinalize: 0, FxValue: 0, FxInverse: 0, FzName: 0, Fu: struct{ FpHash uintptr }{FpHash: uintptr(0)}}, - {FnArg: int8(1), FfuncFlags: (U32((1 | 0x00010000) | 0)), FpUserData: uintptr(0), FpNext: uintptr(0), FxSFunc: 0, FxFinalize: 0, FxValue: 0, FxInverse: 0, FzName: 0, Fu: struct{ FpHash uintptr }{FpHash: uintptr(0)}}, - {FnArg: int8(2), FfuncFlags: (U32((1 | 0x00010000) | 0)), FpUserData: uintptr(0), FpNext: uintptr(0), FxSFunc: 0, FxFinalize: 0, FxValue: 0, FxInverse: 0, FzName: 0, Fu: struct{ FpHash uintptr }{FpHash: uintptr(0)}}, - {FnArg: int8(3), FfuncFlags: (U32((1 | 0x00010000) | 0)), FpUserData: uintptr(0), FpNext: uintptr(0), FxSFunc: 0, FxFinalize: 0, FxValue: 0, FxInverse: 0, FzName: 0, Fu: struct{ FpHash uintptr }{FpHash: uintptr(0)}}, + { + FnArg: int8(0), + FfuncFlags: (U32((1 | 0x00010000) | 0)), + FpUserData: uintptr(0), + FpNext: uintptr(0), + FxSFunc: 0, + FxFinalize: 0, + FxValue: 0, + FxInverse: 0, + FzName: 0, Fu: struct{ FpHash uintptr }{}}, + { + FnArg: int8(0), + FfuncFlags: (U32((1 | 0x00010000) | 0)), + FpUserData: uintptr(0), + FpNext: uintptr(0), + FxSFunc: 0, + FxFinalize: 0, + FxValue: 0, + FxInverse: 0, + FzName: 0, Fu: struct{ FpHash uintptr }{}}, + { + FnArg: int8(0), + FfuncFlags: (U32((1 | 0x00010000) | 0)), + FpUserData: uintptr(0), + FpNext: uintptr(0), + FxSFunc: 0, + FxFinalize: 0, + FxValue: 0, + FxInverse: 0, + FzName: 0, Fu: struct{ FpHash uintptr }{}}, + { + FnArg: int8(0), + FfuncFlags: (U32((1 | 0x00010000) | 0)), + FpUserData: uintptr(0), + FpNext: uintptr(0), + FxSFunc: 0, + FxFinalize: 0, + FxValue: 0, + FxInverse: 0, + FzName: 0, Fu: struct{ FpHash uintptr }{}}, + { + FnArg: int8(0), + FfuncFlags: (U32((1 | 0x00010000) | 0)), + FpUserData: uintptr(0), + FpNext: uintptr(0), + FxSFunc: 0, + FxFinalize: 0, + FxValue: 0, + FxInverse: 0, + FzName: 0, Fu: struct{ FpHash uintptr }{}}, + { + FnArg: int8(1), + FfuncFlags: (U32((1 | 0x00010000) | 0)), + FpUserData: uintptr(0), + FpNext: uintptr(0), + FxSFunc: 0, + FxFinalize: 0, + FxValue: 0, + FxInverse: 0, + FzName: 0, Fu: struct{ FpHash uintptr }{}}, + { + FnArg: int8(1), + FfuncFlags: (U32((1 | 0x00010000) | 0)), + FpUserData: uintptr(0), + FpNext: uintptr(0), + FxSFunc: 0, + FxFinalize: 0, + FxValue: 0, + FxInverse: 0, + FzName: 0, Fu: struct{ FpHash uintptr }{}}, + { + FnArg: int8(2), + FfuncFlags: (U32((1 | 0x00010000) | 0)), + FpUserData: uintptr(0), + FpNext: uintptr(0), + FxSFunc: 0, + FxFinalize: 0, + FxValue: 0, + FxInverse: 0, + FzName: 0, Fu: struct{ FpHash uintptr }{}}, + { + FnArg: int8(1), + FfuncFlags: (U32((1 | 0x00010000) | 0)), + FpUserData: uintptr(0), + FpNext: uintptr(0), + FxSFunc: 0, + FxFinalize: 0, + FxValue: 0, + FxInverse: 0, + FzName: 0, Fu: struct{ FpHash uintptr }{}}, + { + FnArg: int8(1), + FfuncFlags: (U32((1 | 0x00010000) | 0)), + FpUserData: uintptr(0), + FpNext: uintptr(0), + FxSFunc: 0, + FxFinalize: 0, + FxValue: 0, + FxInverse: 0, + FzName: 0, Fu: struct{ FpHash uintptr }{}}, + { + FnArg: int8(2), + FfuncFlags: (U32((1 | 0x00010000) | 0)), + FpUserData: uintptr(0), + FpNext: uintptr(0), + FxSFunc: 0, + FxFinalize: 0, + FxValue: 0, + FxInverse: 0, + FzName: 0, Fu: struct{ FpHash uintptr }{}}, + { + FnArg: int8(3), + FfuncFlags: (U32((1 | 0x00010000) | 0)), + FpUserData: uintptr(0), + FpNext: uintptr(0), + FxSFunc: 0, + FxFinalize: 0, + FxValue: 0, + FxInverse: 0, + FzName: 0, Fu: struct{ FpHash uintptr }{}}, + { + FnArg: int8(1), + FfuncFlags: (U32((1 | 0x00010000) | 0)), + FpUserData: uintptr(0), + FpNext: uintptr(0), + FxSFunc: 0, + FxFinalize: 0, + FxValue: 0, + FxInverse: 0, + FzName: 0, Fu: struct{ FpHash uintptr }{}}, + { + FnArg: int8(2), + FfuncFlags: (U32((1 | 0x00010000) | 0)), + FpUserData: uintptr(0), + FpNext: uintptr(0), + FxSFunc: 0, + FxFinalize: 0, + FxValue: 0, + FxInverse: 0, + FzName: 0, Fu: struct{ FpHash uintptr }{}}, + { + FnArg: int8(3), + FfuncFlags: (U32((1 | 0x00010000) | 0)), + FpUserData: uintptr(0), + FpNext: uintptr(0), + FxSFunc: 0, + FxFinalize: 0, + FxValue: 0, + FxInverse: 0, + FzName: 0, Fu: struct{ FpHash uintptr }{}}, } /* sqlite3.c:151776:18 */ func windowFind(tls *libc.TLS, pParse uintptr, pList uintptr, zName uintptr) uintptr { /* sqlite3.c:151796:15: */ @@ -132259,14 +133868,46 @@ func Xsqlite3WindowUpdate(tls *libc.TLS, pParse uintptr, pList uintptr, pWin uin ts+24024 /* "FILTER clause ma..." */, 0) } else { *(*[8]WindowUpdate)(unsafe.Pointer(bp /* aUp */)) = [8]WindowUpdate{ - {FzFunc: uintptr(unsafe.Pointer(&row_numberName)), FeFrmType: 76, FeStart: 90, FeEnd: 85}, - {FzFunc: uintptr(unsafe.Pointer(&dense_rankName)), FeFrmType: 89, FeStart: 90, FeEnd: 85}, - {FzFunc: uintptr(unsafe.Pointer(&rankName)), FeFrmType: 89, FeStart: 90, FeEnd: 85}, - {FzFunc: uintptr(unsafe.Pointer(&percent_rankName)), FeFrmType: 92, FeStart: 85, FeEnd: 90}, - {FzFunc: uintptr(unsafe.Pointer(&cume_distName)), FeFrmType: 92, FeStart: 86, FeEnd: 90}, - {FzFunc: uintptr(unsafe.Pointer(&ntileName)), FeFrmType: 76, FeStart: 85, FeEnd: 90}, - {FzFunc: uintptr(unsafe.Pointer(&leadName)), FeFrmType: 76, FeStart: 90, FeEnd: 90}, - {FzFunc: uintptr(unsafe.Pointer(&lagName)), FeFrmType: 76, FeStart: 90, FeEnd: 85}, + { + FzFunc: uintptr(unsafe.Pointer(&row_numberName)), + FeFrmType: 76, + FeStart: 90, + FeEnd: 85}, + { + FzFunc: uintptr(unsafe.Pointer(&dense_rankName)), + FeFrmType: 89, + FeStart: 90, + FeEnd: 85}, + { + FzFunc: uintptr(unsafe.Pointer(&rankName)), + FeFrmType: 89, + FeStart: 90, + FeEnd: 85}, + { + FzFunc: uintptr(unsafe.Pointer(&percent_rankName)), + FeFrmType: 92, + FeStart: 85, + FeEnd: 90}, + { + FzFunc: uintptr(unsafe.Pointer(&cume_distName)), + FeFrmType: 92, + FeStart: 86, + FeEnd: 90}, + { + FzFunc: uintptr(unsafe.Pointer(&ntileName)), + FeFrmType: 76, + FeStart: 85, + FeEnd: 90}, + { + FzFunc: uintptr(unsafe.Pointer(&leadName)), + FeFrmType: 76, + FeStart: 90, + FeEnd: 90}, + { + FzFunc: uintptr(unsafe.Pointer(&lagName)), + FeFrmType: 76, + FeStart: 90, + FeEnd: 85}, } var i int32 for i = 0; i < (int32(uint64(unsafe.Sizeof([8]WindowUpdate{})) / uint64(unsafe.Sizeof(WindowUpdate{})))); i++ { @@ -137012,61 +138653,31 @@ func yy_reduce(tls *libc.TLS, yypParser uintptr, yyruleno uint32, yyLookahead in break case uint32(48): /* refargs ::= refargs refarg */ { - *(*int32)(unsafe.Pointer(yymsp + libc.UintptrFromInt32(-1)*24 + 8 /* &.minor */)) = ((*(*int32)(unsafe.Pointer(yymsp + libc.UintptrFromInt32(-1)*24 + 8 /* &.minor */)) & ^(*struct { - Fvalue int32 - Fmask int32 - })(unsafe.Pointer(yymsp+uintptr(0)*24+8 /* &.minor */)).Fmask) | (*struct { - Fvalue int32 - Fmask int32 - })(unsafe.Pointer(yymsp+uintptr(0)*24+8 /* &.minor */)).Fvalue) + *(*int32)(unsafe.Pointer(yymsp + libc.UintptrFromInt32(-1)*24 + 8 /* &.minor */)) = ((*(*int32)(unsafe.Pointer(yymsp + libc.UintptrFromInt32(-1)*24 + 8 /* &.minor */)) & ^*(*int32)(unsafe.Pointer((yymsp + uintptr(0)*24 + 8 /* &.minor */ /* &.yy207 */) + 4 /* &.mask */))) | *(*int32)(unsafe.Pointer((yymsp + uintptr(0)*24 + 8 /* &.minor */ /* &.yy207 */) /* &.value */))) } break case uint32(49): /* refarg ::= MATCH nm */ { - (*struct { - Fvalue int32 - Fmask int32 - })(unsafe.Pointer(yymsp + libc.UintptrFromInt32(-1)*24 + 8 /* &.minor */)).Fvalue = 0 - (*struct { - Fvalue int32 - Fmask int32 - })(unsafe.Pointer(yymsp + libc.UintptrFromInt32(-1)*24 + 8 /* &.minor */)).Fmask = 0x000000 + *(*int32)(unsafe.Pointer(yymsp + libc.UintptrFromInt32(-1)*24 + 8 /* &.minor */ /* &.yy207 */ /* &.value */)) = 0 + *(*int32)(unsafe.Pointer(yymsp + libc.UintptrFromInt32(-1)*24 + 8 /* &.minor */ /* &.yy207 */ + 4 /* &.mask */)) = 0x000000 } break case uint32(50): /* refarg ::= ON INSERT refact */ { - (*struct { - Fvalue int32 - Fmask int32 - })(unsafe.Pointer(yymsp + libc.UintptrFromInt32(-2)*24 + 8 /* &.minor */)).Fvalue = 0 - (*struct { - Fvalue int32 - Fmask int32 - })(unsafe.Pointer(yymsp + libc.UintptrFromInt32(-2)*24 + 8 /* &.minor */)).Fmask = 0x000000 + *(*int32)(unsafe.Pointer(yymsp + libc.UintptrFromInt32(-2)*24 + 8 /* &.minor */ /* &.yy207 */ /* &.value */)) = 0 + *(*int32)(unsafe.Pointer(yymsp + libc.UintptrFromInt32(-2)*24 + 8 /* &.minor */ /* &.yy207 */ + 4 /* &.mask */)) = 0x000000 } break case uint32(51): /* refarg ::= ON DELETE refact */ { - (*struct { - Fvalue int32 - Fmask int32 - })(unsafe.Pointer(yymsp + libc.UintptrFromInt32(-2)*24 + 8 /* &.minor */)).Fvalue = *(*int32)(unsafe.Pointer(yymsp + uintptr(0)*24 + 8 /* &.minor */)) - (*struct { - Fvalue int32 - Fmask int32 - })(unsafe.Pointer(yymsp + libc.UintptrFromInt32(-2)*24 + 8 /* &.minor */)).Fmask = 0x0000ff + *(*int32)(unsafe.Pointer(yymsp + libc.UintptrFromInt32(-2)*24 + 8 /* &.minor */ /* &.yy207 */ /* &.value */)) = *(*int32)(unsafe.Pointer(yymsp + uintptr(0)*24 + 8 /* &.minor */)) + *(*int32)(unsafe.Pointer(yymsp + libc.UintptrFromInt32(-2)*24 + 8 /* &.minor */ /* &.yy207 */ + 4 /* &.mask */)) = 0x0000ff } break case uint32(52): /* refarg ::= ON UPDATE refact */ { - (*struct { - Fvalue int32 - Fmask int32 - })(unsafe.Pointer(yymsp + libc.UintptrFromInt32(-2)*24 + 8 /* &.minor */)).Fvalue = (*(*int32)(unsafe.Pointer(yymsp + uintptr(0)*24 + 8 /* &.minor */)) << 8) - (*struct { - Fvalue int32 - Fmask int32 - })(unsafe.Pointer(yymsp + libc.UintptrFromInt32(-2)*24 + 8 /* &.minor */)).Fmask = 0x00ff00 + *(*int32)(unsafe.Pointer(yymsp + libc.UintptrFromInt32(-2)*24 + 8 /* &.minor */ /* &.yy207 */ /* &.value */)) = (*(*int32)(unsafe.Pointer(yymsp + uintptr(0)*24 + 8 /* &.minor */)) << 8) + *(*int32)(unsafe.Pointer(yymsp + libc.UintptrFromInt32(-2)*24 + 8 /* &.minor */ /* &.yy207 */ + 4 /* &.mask */)) = 0x00ff00 } break case uint32(53): /* refact ::= SET NULL */ @@ -137194,7 +138805,14 @@ func yy_reduce(tls *libc.TLS, yypParser uintptr, yyruleno uint32, yyLookahead in break case uint32(82): /* cmd ::= select */ { - *(*SelectDest)(unsafe.Pointer(bp + 24 /* dest */)) = SelectDest{FeDest: U8(9), FiSDParm: 0, FiSDParm2: 0, FiSdst: 0, FnSdst: 0, FzAffSdst: uintptr(0), FpOrderBy: uintptr(0)} + *(*SelectDest)(unsafe.Pointer(bp + 24 /* dest */)) = SelectDest{ + FeDest: U8(9), + FiSDParm: 0, + FiSDParm2: 0, + FiSdst: 0, + FnSdst: 0, + FzAffSdst: uintptr(0), + FpOrderBy: uintptr(0)} Xsqlite3Select(tls, pParse, *(*uintptr)(unsafe.Pointer(yymsp + uintptr(0)*24 + 8 /* &.minor */)), bp+24 /* &dest */) Xsqlite3SelectDelete(tls, (*Parse)(unsafe.Pointer(pParse)).Fdb, *(*uintptr)(unsafe.Pointer(yymsp + uintptr(0)*24 + 8 /* &.minor */))) } @@ -137418,7 +139036,7 @@ func yy_reduce(tls *libc.TLS, yypParser uintptr, yyruleno uint32, yyLookahead in (*SrcList_item)(unsafe.Pointer(pNew)).FzName = (*SrcList_item)(unsafe.Pointer(pOld)).FzName (*SrcList_item)(unsafe.Pointer(pNew)).FzDatabase = (*SrcList_item)(unsafe.Pointer(pOld)).FzDatabase (*SrcList_item)(unsafe.Pointer(pNew)).FpSelect = (*SrcList_item)(unsafe.Pointer(pOld)).FpSelect - if uint32(int32(*(*uint8)(unsafe.Pointer(pOld + 60 /* &.fg */ + 4 /* &.isTabFunc */))&0x4>>2)) != 0 { + if (uint32(int32(*(*uint8)(unsafe.Pointer(pOld + 60 /* &.fg */ + 4 /* &.isTabFunc */)) & 0x4 >> 2))) != 0 { *(*uintptr)(unsafe.Pointer(pNew + 96 /* &.u1 */)) = *(*uintptr)(unsafe.Pointer(pOld + 96 /* &.u1 */)) *(*uintptr)(unsafe.Pointer(pOld + 96 /* &.u1 */)) = uintptr(0) libc.SetBitFieldPtr8Uint32(pOld+60 /* &.fg */ +4 /* &.isTabFunc */, uint32(0), 2, 0x4) @@ -140892,22 +142510,54 @@ var aFlagOp = [16]struct { Fop int32 Fmask U32 }{ - {Fop: 1002, Fmask: U32(0x00004000)}, - {Fop: 1003, Fmask: U32(0x00040000)}, - {Fop: 1015, Fmask: 0x80000000}, - {Fop: 1004, Fmask: U32(0x00400000)}, - {Fop: 1005, Fmask: U32(0x00010000)}, - {Fop: 1006, Fmask: U32(0x00000800)}, - {Fop: 1007, Fmask: U32(0x00800000)}, - {Fop: 1008, Fmask: U32(0x01000000)}, - {Fop: 1009, Fmask: U32(0x02000000)}, - {Fop: 1010, Fmask: U32(0x10000000)}, - {Fop: 1011, Fmask: (U32(0x00000001 | 0x08000000))}, - {Fop: 1012, Fmask: U32(0x04000000)}, - {Fop: 1014, Fmask: U32(0x20000000)}, - {Fop: 1013, Fmask: U32(0x40000000)}, - {Fop: 1016, Fmask: U32(0x00000002)}, - {Fop: 1017, Fmask: U32(0x00000080)}, + { + Fop: 1002, + Fmask: U32(0x00004000)}, + { + Fop: 1003, + Fmask: U32(0x00040000)}, + { + Fop: 1015, + Fmask: 0x80000000}, + { + Fop: 1004, + Fmask: U32(0x00400000)}, + { + Fop: 1005, + Fmask: U32(0x00010000)}, + { + Fop: 1006, + Fmask: U32(0x00000800)}, + { + Fop: 1007, + Fmask: U32(0x00800000)}, + { + Fop: 1008, + Fmask: U32(0x01000000)}, + { + Fop: 1009, + Fmask: U32(0x02000000)}, + { + Fop: 1010, + Fmask: U32(0x10000000)}, + { + Fop: 1011, + Fmask: (U32(0x00000001 | 0x08000000))}, + { + Fop: 1012, + Fmask: U32(0x04000000)}, + { + Fop: 1014, + Fmask: U32(0x20000000)}, + { + Fop: 1013, + Fmask: U32(0x40000000)}, + { + Fop: 1016, + Fmask: U32(0x00000002)}, + { + Fop: 1017, + Fmask: U32(0x00000080)}, } /* sqlite3.c:161939:9 */ // This is the default collating function named "BINARY" which is always @@ -142812,16 +144462,28 @@ type OpenMode = struct { } /* sqlite3.c:163946:9 */ var aCacheMode = [3]OpenMode{ - {Fz: ts + 18988 /* "shared" */, Fmode: 0x00020000}, - {Fz: ts + 27631 /* "private" */, Fmode: 0x00040000}, - {Fz: uintptr(0), Fmode: 0}, + { + Fz: ts + 18988, /* "shared" */ + Fmode: 0x00020000}, + { + Fz: ts + 27631, /* "private" */ + Fmode: 0x00040000}, + {}, } /* sqlite3.c:163955:34 */ var aOpenMode = [5]OpenMode{ - {Fz: ts + 27639 /* "ro" */, Fmode: 0x00000001}, - {Fz: ts + 27642 /* "rw" */, Fmode: 0x00000002}, - {Fz: ts + 27645 /* "rwc" */, Fmode: (0x00000002 | 0x00000004)}, - {Fz: ts + 18371 /* "memory" */, Fmode: 0x00000080}, - {Fz: uintptr(0), Fmode: 0}, + { + Fz: ts + 27639, /* "ro" */ + Fmode: 0x00000001}, + { + Fz: ts + 27642, /* "rw" */ + Fmode: 0x00000002}, + { + Fz: ts + 27645, /* "rwc" */ + Fmode: (0x00000002 | 0x00000004)}, + { + Fz: ts + 18371, /* "memory" */ + Fmode: 0x00000080}, + {}, } /* sqlite3.c:163967:34 */ // This routine does the core work of extracting URI parameters from a @@ -147808,57 +149470,105 @@ func jsonEachFilter(tls *libc.TLS, cur uintptr, idxNum int32, idxStr uintptr, ar } // The methods of the json_each virtual table -var jsonEachModule = Sqlite3_module{FiVersion: 0, FxCreate: // iVersion -uintptr(0), FxConnect:// xCreate -0, FxBestIndex:// xConnect -0, FxDisconnect:// xBestIndex -0, FxDestroy:// xDisconnect -uintptr(0), FxOpen:// xDestroy -0, FxClose:// xOpen - open a cursor -0, FxFilter:// xClose - close a cursor -0, FxNext:// xFilter - configure scan constraints -0, FxEof:// xNext - advance a cursor -0, FxColumn:// xEof - check for end of scan -0, FxRowid:// xColumn - read data -0, FxUpdate:// xRowid - read data -uintptr(0), FxBegin:// xUpdate -uintptr(0), FxSync:// xBegin -uintptr(0), FxCommit:// xSync -uintptr(0), FxRollback:// xCommit -uintptr(0), FxFindFunction:// xRollback -uintptr(0), FxRename:// xFindMethod -uintptr(0), FxSavepoint:// xRename -uintptr(0), FxRelease:// xSavepoint -uintptr(0), FxRollbackTo:// xRelease -uintptr(0), FxShadowName:// xRollbackTo -uintptr(0), // xShadowName +var jsonEachModule = Sqlite3_module{ + FiVersion: 0, + FxCreate:// iVersion + uintptr(0), + FxConnect:// xCreate + 0, + FxBestIndex:// xConnect + 0, + FxDisconnect:// xBestIndex + 0, + FxDestroy:// xDisconnect + uintptr(0), + FxOpen:// xDestroy + 0, + FxClose:// xOpen - open a cursor + 0, + FxFilter:// xClose - close a cursor + 0, + FxNext:// xFilter - configure scan constraints + 0, + FxEof:// xNext - advance a cursor + 0, + FxColumn:// xEof - check for end of scan + 0, + FxRowid:// xColumn - read data + 0, + FxUpdate:// xRowid - read data + uintptr(0), + FxBegin:// xUpdate + uintptr(0), + FxSync:// xBegin + uintptr(0), + FxCommit:// xSync + uintptr(0), + FxRollback:// xCommit + uintptr(0), + FxFindFunction:// xRollback + uintptr(0), + FxRename:// xFindMethod + uintptr(0), + FxSavepoint:// xRename + uintptr(0), + FxRelease:// xSavepoint + uintptr(0), + FxRollbackTo:// xRelease + uintptr(0), + FxShadowName:// xRollbackTo + uintptr(0), // xShadowName } /* sqlite3.c:187902:23 */ // The methods of the json_tree virtual table. -var jsonTreeModule = Sqlite3_module{FiVersion: 0, FxCreate: // iVersion -uintptr(0), FxConnect:// xCreate -0, FxBestIndex:// xConnect -0, FxDisconnect:// xBestIndex -0, FxDestroy:// xDisconnect -uintptr(0), FxOpen:// xDestroy -0, FxClose:// xOpen - open a cursor -0, FxFilter:// xClose - close a cursor -0, FxNext:// xFilter - configure scan constraints -0, FxEof:// xNext - advance a cursor -0, FxColumn:// xEof - check for end of scan -0, FxRowid:// xColumn - read data -0, FxUpdate:// xRowid - read data -uintptr(0), FxBegin:// xUpdate -uintptr(0), FxSync:// xBegin -uintptr(0), FxCommit:// xSync -uintptr(0), FxRollback:// xCommit -uintptr(0), FxFindFunction:// xRollback -uintptr(0), FxRename:// xFindMethod -uintptr(0), FxSavepoint:// xRename -uintptr(0), FxRelease:// xSavepoint -uintptr(0), FxRollbackTo:// xRelease -uintptr(0), FxShadowName:// xRollbackTo -uintptr(0), // xShadowName +var jsonTreeModule = Sqlite3_module{ + FiVersion: 0, + FxCreate:// iVersion + uintptr(0), + FxConnect:// xCreate + 0, + FxBestIndex:// xConnect + 0, + FxDisconnect:// xBestIndex + 0, + FxDestroy:// xDisconnect + uintptr(0), + FxOpen:// xDestroy + 0, + FxClose:// xOpen - open a cursor + 0, + FxFilter:// xClose - close a cursor + 0, + FxNext:// xFilter - configure scan constraints + 0, + FxEof:// xNext - advance a cursor + 0, + FxColumn:// xEof - check for end of scan + 0, + FxRowid:// xColumn - read data + 0, + FxUpdate:// xRowid - read data + uintptr(0), + FxBegin:// xUpdate + uintptr(0), + FxSync:// xBegin + uintptr(0), + FxCommit:// xSync + uintptr(0), + FxRollback:// xCommit + uintptr(0), + FxFindFunction:// xRollback + uintptr(0), + FxRename:// xFindMethod + uintptr(0), + FxSavepoint:// xRename + uintptr(0), + FxRelease:// xSavepoint + uintptr(0), + FxRollbackTo:// xRelease + uintptr(0), + FxShadowName:// xRollbackTo + uintptr(0), // xShadowName } /* sqlite3.c:187930:23 */ // *************************************************************************** @@ -147911,21 +149621,81 @@ var aFunc = [15]struct { Fflag int32 FxFunc uintptr }{ - {FzName: ts + 28131 /* "json" */, FnArg: 1, Fflag: 0, FxFunc: 0}, - {FzName: ts + 28136 /* "json_array" */, FnArg: -1, Fflag: 0, FxFunc: 0}, - {FzName: ts + 28147 /* "json_array_lengt..." */, FnArg: 1, Fflag: 0, FxFunc: 0}, - {FzName: ts + 28147 /* "json_array_lengt..." */, FnArg: 2, Fflag: 0, FxFunc: 0}, - {FzName: ts + 28165 /* "json_extract" */, FnArg: -1, Fflag: 0, FxFunc: 0}, - {FzName: ts + 28178 /* "json_insert" */, FnArg: -1, Fflag: 0, FxFunc: 0}, - {FzName: ts + 28190 /* "json_object" */, FnArg: -1, Fflag: 0, FxFunc: 0}, - {FzName: ts + 28202 /* "json_patch" */, FnArg: 2, Fflag: 0, FxFunc: 0}, - {FzName: ts + 28213 /* "json_quote" */, FnArg: 1, Fflag: 0, FxFunc: 0}, - {FzName: ts + 28224 /* "json_remove" */, FnArg: -1, Fflag: 0, FxFunc: 0}, - {FzName: ts + 28236 /* "json_replace" */, FnArg: -1, Fflag: 0, FxFunc: 0}, - {FzName: ts + 28249 /* "json_set" */, FnArg: -1, Fflag: 1, FxFunc: 0}, - {FzName: ts + 28258 /* "json_type" */, FnArg: 1, Fflag: 0, FxFunc: 0}, - {FzName: ts + 28258 /* "json_type" */, FnArg: 2, Fflag: 0, FxFunc: 0}, - {FzName: ts + 28268 /* "json_valid" */, FnArg: 1, Fflag: 0, FxFunc: 0}, + { + FzName: ts + 28131, /* "json" */ + FnArg: 1, + Fflag: 0, + FxFunc: 0}, + { + FzName: ts + 28136, /* "json_array" */ + FnArg: -1, + Fflag: 0, + FxFunc: 0}, + { + FzName: ts + 28147, /* "json_array_lengt..." */ + FnArg: 1, + Fflag: 0, + FxFunc: 0}, + { + FzName: ts + 28147, /* "json_array_lengt..." */ + FnArg: 2, + Fflag: 0, + FxFunc: 0}, + { + FzName: ts + 28165, /* "json_extract" */ + FnArg: -1, + Fflag: 0, + FxFunc: 0}, + { + FzName: ts + 28178, /* "json_insert" */ + FnArg: -1, + Fflag: 0, + FxFunc: 0}, + { + FzName: ts + 28190, /* "json_object" */ + FnArg: -1, + Fflag: 0, + FxFunc: 0}, + { + FzName: ts + 28202, /* "json_patch" */ + FnArg: 2, + Fflag: 0, + FxFunc: 0}, + { + FzName: ts + 28213, /* "json_quote" */ + FnArg: 1, + Fflag: 0, + FxFunc: 0}, + { + FzName: ts + 28224, /* "json_remove" */ + FnArg: -1, + Fflag: 0, + FxFunc: 0}, + { + FzName: ts + 28236, /* "json_replace" */ + FnArg: -1, + Fflag: 0, + FxFunc: 0}, + { + FzName: ts + 28249, /* "json_set" */ + FnArg: -1, + Fflag: 1, + FxFunc: 0}, + { + FzName: ts + 28258, /* "json_type" */ + FnArg: 1, + Fflag: 0, + FxFunc: 0}, + { + FzName: ts + 28258, /* "json_type" */ + FnArg: 2, + Fflag: 0, + FxFunc: 0}, + { + FzName: ts + 28268, /* "json_valid" */ + FnArg: 1, + Fflag: 0, + FxFunc: 0}, } /* sqlite3.c:187972:5 */ var aAgg = [2]struct { FzName uintptr @@ -147935,15 +149705,29 @@ var aAgg = [2]struct { FxFinal uintptr FxValue uintptr }{ - {FzName: ts + 28279 /* "json_group_array" */, FnArg: 1, FxStep: 0, FxFinal: 0, FxValue: 0}, - {FzName: ts + 28296 /* "json_group_objec..." */, FnArg: 2, FxStep: 0, FxFinal: 0, FxValue: 0}, + { + FzName: ts + 28279, /* "json_group_array" */ + FnArg: 1, + FxStep: 0, + FxFinal: 0, + FxValue: 0}, + { + FzName: ts + 28296, /* "json_group_objec..." */ + FnArg: 2, + FxStep: 0, + FxFinal: 0, + FxValue: 0}, } /* sqlite3.c:188001:5 */ var aMod = [2]struct { FzName uintptr FpModule uintptr }{ - {FzName: ts + 28314 /* "json_each" */, FpModule: 0}, - {FzName: ts + 28324 /* "json_tree" */, FpModule: 0}, + { + FzName: ts + 28314, /* "json_each" */ + FpModule: 0}, + { + FzName: ts + 28324, /* "json_tree" */ + FpModule: 0}, } /* sqlite3.c:188011:5 */ var enc int32 = ((1 | 0x000000800) | 0x000200000) /* sqlite3.c:188016:20 */ // In the SQLite core @@ -151199,30 +152983,54 @@ var azName1 = [3]uintptr{ ts + 28733 /* "node" */, ts + 6757 /* "parent" */, ts + 10045, /* "rowid" */ } /* sqlite3.c:191506:21 */ -var rtreeModule = Sqlite3_module{FiVersion: 3, FxCreate: // iVersion -0, FxConnect:// xCreate - create a table -0, FxBestIndex:// xConnect - connect to an existing table -0, FxDisconnect:// xBestIndex - Determine search strategy -0, FxDestroy:// xDisconnect - Disconnect from a table -0, FxOpen:// xDestroy - Drop a table -0, FxClose:// xOpen - open a cursor -0, FxFilter:// xClose - close a cursor -0, FxNext:// xFilter - configure scan constraints -0, FxEof:// xNext - advance a cursor -0, FxColumn:// xEof -0, FxRowid:// xColumn - read data -0, FxUpdate:// xRowid - read data -0, FxBegin:// xUpdate - write data -0, FxSync:// xBegin - begin transaction -0, FxCommit:// xSync - sync transaction -0, FxRollback:// xCommit - commit transaction -0, FxFindFunction:// xRollback - rollback transaction -uintptr(0), FxRename:// xFindFunction - function overloading -0, FxSavepoint:// xRename - rename the table -0, FxRelease:// xSavepoint -uintptr(0), FxRollbackTo:// xRelease -uintptr(0), FxShadowName:// xRollbackTo -0, // xShadowName +var rtreeModule = Sqlite3_module{ + FiVersion: 3, + FxCreate:// iVersion + 0, + FxConnect:// xCreate - create a table + 0, + FxBestIndex:// xConnect - connect to an existing table + 0, + FxDisconnect:// xBestIndex - Determine search strategy + 0, + FxDestroy:// xDisconnect - Disconnect from a table + 0, + FxOpen:// xDestroy - Drop a table + 0, + FxClose:// xOpen - open a cursor + 0, + FxFilter:// xClose - close a cursor + 0, + FxNext:// xFilter - configure scan constraints + 0, + FxEof:// xNext - advance a cursor + 0, + FxColumn:// xEof + 0, + FxRowid:// xColumn - read data + 0, + FxUpdate:// xRowid - read data + 0, + FxBegin:// xUpdate - write data + 0, + FxSync:// xBegin - begin transaction + 0, + FxCommit:// xSync - sync transaction + 0, + FxRollback:// xCommit - commit transaction + 0, + FxFindFunction:// xRollback - rollback transaction + uintptr(0), + FxRename:// xFindFunction - function overloading + 0, + FxSavepoint:// xRename - rename the table + 0, + FxRelease:// xSavepoint + uintptr(0), + FxRollbackTo:// xRelease + uintptr(0), + FxShadowName:// xRollbackTo + 0, // xShadowName } /* sqlite3.c:191516:23 */ func rtreeSqlInit(tls *libc.TLS, pRtree uintptr, db uintptr, zDb uintptr, zPrefix uintptr, isCreate int32) int32 { /* sqlite3.c:191543:12: */ @@ -154279,30 +156087,54 @@ func geopolyFindFunction(tls *libc.TLS, pVtab uintptr, nArg int32, zName uintptr return 0 } -var geopolyModule = Sqlite3_module{FiVersion: 3, FxCreate: // iVersion -0, FxConnect:// xCreate - create a table -0, FxBestIndex:// xConnect - connect to an existing table -0, FxDisconnect:// xBestIndex - Determine search strategy -0, FxDestroy:// xDisconnect - Disconnect from a table -0, FxOpen:// xDestroy - Drop a table -0, FxClose:// xOpen - open a cursor -0, FxFilter:// xClose - close a cursor -0, FxNext:// xFilter - configure scan constraints -0, FxEof:// xNext - advance a cursor -0, FxColumn:// xEof -0, FxRowid:// xColumn - read data -0, FxUpdate:// xRowid - read data -0, FxBegin:// xUpdate - write data -0, FxSync:// xBegin - begin transaction -0, FxCommit:// xSync - sync transaction -0, FxRollback:// xCommit - commit transaction -0, FxFindFunction:// xRollback - rollback transaction -0, FxRename:// xFindFunction - function overloading -0, FxSavepoint:// xRename - rename the table -0, FxRelease:// xSavepoint -uintptr(0), FxRollbackTo:// xRelease -uintptr(0), FxShadowName:// xRollbackTo -0, // xShadowName +var geopolyModule = Sqlite3_module{ + FiVersion: 3, + FxCreate:// iVersion + 0, + FxConnect:// xCreate - create a table + 0, + FxBestIndex:// xConnect - connect to an existing table + 0, + FxDisconnect:// xBestIndex - Determine search strategy + 0, + FxDestroy:// xDisconnect - Disconnect from a table + 0, + FxOpen:// xDestroy - Drop a table + 0, + FxClose:// xOpen - open a cursor + 0, + FxFilter:// xClose - close a cursor + 0, + FxNext:// xFilter - configure scan constraints + 0, + FxEof:// xNext - advance a cursor + 0, + FxColumn:// xEof + 0, + FxRowid:// xColumn - read data + 0, + FxUpdate:// xRowid - read data + 0, + FxBegin:// xUpdate - write data + 0, + FxSync:// xBegin - begin transaction + 0, + FxCommit:// xSync - sync transaction + 0, + FxRollback:// xCommit - commit transaction + 0, + FxFindFunction:// xRollback - rollback transaction + 0, + FxRename:// xFindFunction - function overloading + 0, + FxSavepoint:// xRename - rename the table + 0, + FxRelease:// xSavepoint + uintptr(0), + FxRollbackTo:// xRelease + uintptr(0), + FxShadowName:// xRollbackTo + 0, // xShadowName } /* sqlite3.c:194163:23 */ func sqlite3_geopoly_init(tls *libc.TLS, db uintptr) int32 { /* sqlite3.c:194190:12: */ @@ -154347,25 +156179,76 @@ var aFunc1 = [12]struct { _ [6]byte FzName uintptr }{ - {FxFunc: 0, FnArg: int8(1), FbPure: uint8(1), FzName: ts + 30947 /* "geopoly_area" */}, - {FxFunc: 0, FnArg: int8(1), FbPure: uint8(1), FzName: ts + 30960 /* "geopoly_blob" */}, - {FxFunc: 0, FnArg: int8(1), FbPure: uint8(1), FzName: ts + 30973 /* "geopoly_json" */}, - {FxFunc: 0, FnArg: int8(-1), FbPure: uint8(1), FzName: ts + 30986 /* "geopoly_svg" */}, - {FxFunc: 0, FnArg: int8(2), FbPure: uint8(1), FzName: ts + 30924 /* "geopoly_within" */}, - {FxFunc: 0, FnArg: int8(3), FbPure: uint8(1), FzName: ts + 30998 /* "geopoly_contains..." */}, - {FxFunc: 0, FnArg: int8(2), FbPure: uint8(1), FzName: ts + 30908 /* "geopoly_overlap" */}, - {FxFunc: 0, FnArg: int8(1), FbPure: uint8(0), FzName: ts + 31021 /* "geopoly_debug" */}, - {FxFunc: 0, FnArg: int8(1), FbPure: uint8(1), FzName: ts + 31035 /* "geopoly_bbox" */}, - {FxFunc: 0, FnArg: int8(7), FbPure: uint8(1), FzName: ts + 31048 /* "geopoly_xform" */}, - {FxFunc: 0, FnArg: int8(4), FbPure: uint8(1), FzName: ts + 31062 /* "geopoly_regular" */}, - {FxFunc: 0, FnArg: int8(1), FbPure: uint8(1), FzName: ts + 31078 /* "geopoly_ccw" */}, + { + FxFunc: 0, + FnArg: int8(1), + FbPure: uint8(1), + FzName: ts + 30947 /* "geopoly_area" */}, + { + FxFunc: 0, + FnArg: int8(1), + FbPure: uint8(1), + FzName: ts + 30960 /* "geopoly_blob" */}, + { + FxFunc: 0, + FnArg: int8(1), + FbPure: uint8(1), + FzName: ts + 30973 /* "geopoly_json" */}, + { + FxFunc: 0, + FnArg: int8(-1), + FbPure: uint8(1), + FzName: ts + 30986 /* "geopoly_svg" */}, + { + FxFunc: 0, + FnArg: int8(2), + FbPure: uint8(1), + FzName: ts + 30924 /* "geopoly_within" */}, + { + FxFunc: 0, + FnArg: int8(3), + FbPure: uint8(1), + FzName: ts + 30998 /* "geopoly_contains..." */}, + { + FxFunc: 0, + FnArg: int8(2), + FbPure: uint8(1), + FzName: ts + 30908 /* "geopoly_overlap" */}, + { + FxFunc: 0, + FnArg: int8(1), + FbPure: uint8(0), + FzName: ts + 31021 /* "geopoly_debug" */}, + { + FxFunc: 0, + FnArg: int8(1), + FbPure: uint8(1), + FzName: ts + 31035 /* "geopoly_bbox" */}, + { + FxFunc: 0, + FnArg: int8(7), + FbPure: uint8(1), + FzName: ts + 31048 /* "geopoly_xform" */}, + { + FxFunc: 0, + FnArg: int8(4), + FbPure: uint8(1), + FzName: ts + 31062 /* "geopoly_regular" */}, + { + FxFunc: 0, + FnArg: int8(1), + FbPure: uint8(1), + FzName: ts + 31078 /* "geopoly_ccw" */}, } /* sqlite3.c:194197:5 */ var aAgg1 = [1]struct { FxStep uintptr FxFinal uintptr FzName uintptr }{ - {FxStep: 0, FxFinal: 0, FzName: ts + 31090 /* "geopoly_group_bb..." */}, + { + FxStep: 0, + FxFinal: 0, + FzName: ts + 31090 /* "geopoly_group_bb..." */}, } /* sqlite3.c:194215:5 */ //************* End of geopoly.c ******************************************** @@ -160028,24 +161911,43 @@ func rbuVfsOpen(tls *libc.TLS, pVfs uintptr, zName uintptr, pFile uintptr, flags return rc } -var rbuvfs_io_methods = Sqlite3_io_methods{FiVersion: 2, FxClose: // iVersion -0, FxRead:// xClose -0, FxWrite:// xRead -0, FxTruncate:// xWrite -0, FxSync:// xTruncate -0, FxFileSize:// xSync -0, FxLock:// xFileSize -0, FxUnlock:// xLock -0, FxCheckReservedLock:// xUnlock -0, FxFileControl:// xCheckReservedLock -0, FxSectorSize:// xFileControl -0, FxDeviceCharacteristics:// xSectorSize -0, FxShmMap:// xDeviceCharacteristics -0, FxShmLock:// xShmMap -0, FxShmBarrier:// xShmLock -0, FxShmUnmap:// xShmBarrier -0, FxFetch:// xShmUnmap -uintptr(0), FxUnfetch: uintptr(0), // xFetch, xUnfetch +var rbuvfs_io_methods = Sqlite3_io_methods{ + FiVersion: 2, + FxClose:// iVersion + 0, + FxRead:// xClose + 0, + FxWrite:// xRead + 0, + FxTruncate:// xWrite + 0, + FxSync:// xTruncate + 0, + FxFileSize:// xSync + 0, + FxLock:// xFileSize + 0, + FxUnlock:// xLock + 0, + FxCheckReservedLock:// xUnlock + 0, + FxFileControl:// xCheckReservedLock + 0, + FxSectorSize:// xFileControl + 0, + FxDeviceCharacteristics:// xSectorSize + 0, + FxShmMap:// xDeviceCharacteristics + 0, + FxShmLock:// xShmMap + 0, + FxShmBarrier:// xShmLock + 0, + FxShmUnmap:// xShmBarrier + 0, + FxFetch:// xShmUnmap + uintptr(0), + FxUnfetch: uintptr(0), // xFetch, xUnfetch } /* sqlite3.c:200801:29 */ // Delete the file located at zPath. @@ -160216,28 +162118,50 @@ func Xsqlite3rbu_create_vfs(tls *libc.TLS, zName uintptr, zParent uintptr) int32 return rc } -var vfs_template = Sqlite3_vfs{FiVersion: 1, FszOsFile: // iVersion -0, FmxPathname:// szOsFile -0, FpNext:// mxPathname -uintptr(0), FzName:// pNext -uintptr(0), FpAppData:// zName -uintptr(0), FxOpen:// pAppData -0, FxDelete:// xOpen -0, FxAccess:// xDelete -0, FxFullPathname:// xAccess -0, FxDlOpen:// xFullPathname - -0, FxDlError:// xDlOpen -0, FxDlSym:// xDlError -0, FxDlClose:// xDlSym -0, FxRandomness:// xDlClose - -0, FxSleep:// xRandomness -0, FxCurrentTime:// xSleep -0, FxGetLastError:// xCurrentTime -0, FxCurrentTimeInt64:// xGetLastError -uintptr(0), FxSetSystemCall:// xCurrentTimeInt64 (version 2) -uintptr(0), FxGetSystemCall: uintptr(0), FxNextSystemCall: uintptr(0), // Unimplemented version 3 methods +var vfs_template = Sqlite3_vfs{ + FiVersion: 1, + FszOsFile:// iVersion + 0, + FmxPathname:// szOsFile + 0, + FpNext:// mxPathname + uintptr(0), + FzName:// pNext + uintptr(0), + FpAppData:// zName + uintptr(0), + FxOpen:// pAppData + 0, + FxDelete:// xOpen + 0, + FxAccess:// xDelete + 0, + FxFullPathname:// xAccess + 0, + FxDlOpen:// xFullPathname + + 0, + FxDlError:// xDlOpen + 0, + FxDlSym:// xDlError + 0, + FxDlClose:// xDlSym + 0, + FxRandomness:// xDlClose + + 0, + FxSleep:// xRandomness + 0, + FxCurrentTime:// xSleep + 0, + FxGetLastError:// xCurrentTime + 0, + FxCurrentTimeInt64:// xGetLastError + uintptr(0), + FxSetSystemCall:// xCurrentTimeInt64 (version 2) + uintptr(0), + FxGetSystemCall: uintptr(0), + FxNextSystemCall: uintptr(0), // Unimplemented version 3 methods } /* sqlite3.c:201067:22 */ // Configure the aggregate temp file size limit for this RBU handle. @@ -161282,30 +163206,54 @@ func Xsqlite3DbstatRegister(tls *libc.TLS, db uintptr) int32 { /* sqlite3.c:2019 return Xsqlite3_create_module(tls, db, ts+36067 /* "dbstat" */, uintptr(unsafe.Pointer(&dbstat_module)), uintptr(0)) } -var dbstat_module = Sqlite3_module{FiVersion: 0, FxCreate: // iVersion -0, FxConnect:// xCreate -0, FxBestIndex:// xConnect -0, FxDisconnect:// xBestIndex -0, FxDestroy:// xDisconnect -0, FxOpen:// xDestroy -0, FxClose:// xOpen - open a cursor -0, FxFilter:// xClose - close a cursor -0, FxNext:// xFilter - configure scan constraints -0, FxEof:// xNext - advance a cursor -0, FxColumn:// xEof - check for end of scan -0, FxRowid:// xColumn - read data -0, FxUpdate:// xRowid - read data -uintptr(0), FxBegin:// xUpdate -uintptr(0), FxSync:// xBegin -uintptr(0), FxCommit:// xSync -uintptr(0), FxRollback:// xCommit -uintptr(0), FxFindFunction:// xRollback -uintptr(0), FxRename:// xFindMethod -uintptr(0), FxSavepoint:// xRename -uintptr(0), FxRelease:// xSavepoint -uintptr(0), FxRollbackTo:// xRelease -uintptr(0), FxShadowName:// xRollbackTo -uintptr(0), // xShadowName +var dbstat_module = Sqlite3_module{ + FiVersion: 0, + FxCreate:// iVersion + 0, + FxConnect:// xCreate + 0, + FxBestIndex:// xConnect + 0, + FxDisconnect:// xBestIndex + 0, + FxDestroy:// xDisconnect + 0, + FxOpen:// xDestroy + 0, + FxClose:// xOpen - open a cursor + 0, + FxFilter:// xClose - close a cursor + 0, + FxNext:// xFilter - configure scan constraints + 0, + FxEof:// xNext - advance a cursor + 0, + FxColumn:// xEof - check for end of scan + 0, + FxRowid:// xColumn - read data + 0, + FxUpdate:// xRowid - read data + uintptr(0), + FxBegin:// xUpdate + uintptr(0), + FxSync:// xBegin + uintptr(0), + FxCommit:// xSync + uintptr(0), + FxRollback:// xCommit + uintptr(0), + FxFindFunction:// xRollback + uintptr(0), + FxRename:// xFindMethod + uintptr(0), + FxSavepoint:// xRename + uintptr(0), + FxRelease:// xSavepoint + uintptr(0), + FxRollbackTo:// xRelease + uintptr(0), + FxShadowName:// xRollbackTo + uintptr(0), // xShadowName } /* sqlite3.c:201982:25 */ //************* End of dbstat.c ********************************************* @@ -161744,30 +163692,54 @@ func Xsqlite3DbpageRegister(tls *libc.TLS, db uintptr) int32 { /* sqlite3.c:2024 return Xsqlite3_create_module(tls, db, ts+36225 /* "sqlite_dbpage" */, uintptr(unsafe.Pointer(&dbpage_module)), uintptr(0)) } -var dbpage_module = Sqlite3_module{FiVersion: 0, FxCreate: // iVersion -0, FxConnect:// xCreate -0, FxBestIndex:// xConnect -0, FxDisconnect:// xBestIndex -0, FxDestroy:// xDisconnect -0, FxOpen:// xDestroy -0, FxClose:// xOpen - open a cursor -0, FxFilter:// xClose - close a cursor -0, FxNext:// xFilter - configure scan constraints -0, FxEof:// xNext - advance a cursor -0, FxColumn:// xEof - check for end of scan -0, FxRowid:// xColumn - read data -0, FxUpdate:// xRowid - read data -0, FxBegin:// xUpdate -0, FxSync:// xBegin -uintptr(0), FxCommit:// xSync -uintptr(0), FxRollback:// xCommit -uintptr(0), FxFindFunction:// xRollback -uintptr(0), FxRename:// xFindMethod -uintptr(0), FxSavepoint:// xRename -uintptr(0), FxRelease:// xSavepoint -uintptr(0), FxRollbackTo:// xRelease -uintptr(0), FxShadowName:// xRollbackTo -uintptr(0), // xShadowName +var dbpage_module = Sqlite3_module{ + FiVersion: 0, + FxCreate:// iVersion + 0, + FxConnect:// xCreate + 0, + FxBestIndex:// xConnect + 0, + FxDisconnect:// xBestIndex + 0, + FxDestroy:// xDisconnect + 0, + FxOpen:// xDestroy + 0, + FxClose:// xOpen - open a cursor + 0, + FxFilter:// xClose - close a cursor + 0, + FxNext:// xFilter - configure scan constraints + 0, + FxEof:// xNext - advance a cursor + 0, + FxColumn:// xEof - check for end of scan + 0, + FxRowid:// xColumn - read data + 0, + FxUpdate:// xRowid - read data + 0, + FxBegin:// xUpdate + 0, + FxSync:// xBegin + uintptr(0), + FxCommit:// xSync + uintptr(0), + FxRollback:// xCommit + uintptr(0), + FxFindFunction:// xRollback + uintptr(0), + FxRename:// xFindMethod + uintptr(0), + FxSavepoint:// xRename + uintptr(0), + FxRelease:// xSavepoint + uintptr(0), + FxRollbackTo:// xRelease + uintptr(0), + FxShadowName:// xRollbackTo + uintptr(0), // xShadowName } /* sqlite3.c:202401:25 */ //************* End of dbpage.c ********************************************* @@ -163911,15 +165883,27 @@ func sqlite3Fts5AuxInit(tls *libc.TLS, pApi uintptr) int32 { /* sqlite3.c:211508 defer tls.Free(96) *(*[3]Builtin)(unsafe.Pointer(bp /* aBuiltin */)) = [3]Builtin{ - {FzFunc: ts + 36403 /* "snippet" */, FpUserData: uintptr(0), FxFunc: *(*uintptr)(unsafe.Pointer(&struct { - f func(*libc.TLS, uintptr, uintptr, uintptr, int32, uintptr) - }{fts5SnippetFunction})), FxDestroy: uintptr(0)}, - {FzFunc: ts + 36411 /* "highlight" */, FpUserData: uintptr(0), FxFunc: *(*uintptr)(unsafe.Pointer(&struct { - f func(*libc.TLS, uintptr, uintptr, uintptr, int32, uintptr) - }{fts5HighlightFunction})), FxDestroy: uintptr(0)}, - {FzFunc: ts + 36421 /* "bm25" */, FpUserData: uintptr(0), FxFunc: *(*uintptr)(unsafe.Pointer(&struct { - f func(*libc.TLS, uintptr, uintptr, uintptr, int32, uintptr) - }{fts5Bm25Function})), FxDestroy: uintptr(0)}, + { + FzFunc: ts + 36403, /* "snippet" */ + FpUserData: uintptr(0), + FxFunc: *(*uintptr)(unsafe.Pointer(&struct { + f func(*libc.TLS, uintptr, uintptr, uintptr, int32, uintptr) + }{fts5SnippetFunction})), + FxDestroy: uintptr(0)}, + { + FzFunc: ts + 36411, /* "highlight" */ + FpUserData: uintptr(0), + FxFunc: *(*uintptr)(unsafe.Pointer(&struct { + f func(*libc.TLS, uintptr, uintptr, uintptr, int32, uintptr) + }{fts5HighlightFunction})), + FxDestroy: uintptr(0)}, + { + FzFunc: ts + 36421, /* "bm25" */ + FpUserData: uintptr(0), + FxFunc: *(*uintptr)(unsafe.Pointer(&struct { + f func(*libc.TLS, uintptr, uintptr, uintptr, int32, uintptr) + }{fts5Bm25Function})), + FxDestroy: uintptr(0)}, } var rc int32 = 0 // Return code var i int32 // To iterate through builtin functions @@ -164723,10 +166707,16 @@ func fts5ConfigParseSpecial(tls *libc.TLS, pGlobal uintptr, pConfig uintptr, zCm if Xsqlite3_strnicmp(tls, ts+6772 /* "detail" */, zCmd, nCmd) == 0 { *(*[4]Fts5Enum)(unsafe.Pointer(bp + 48 /* aDetail */)) = [4]Fts5Enum{ - {FzName: ts + 18349 /* "none" */, FeVal: 1}, - {FzName: ts + 18354 /* "full" */, FeVal: 0}, - {FzName: ts + 36754 /* "columns" */, FeVal: 2}, - {FzName: uintptr(0), FeVal: 0}, + { + FzName: ts + 18349, /* "none" */ + FeVal: 1}, + { + FzName: ts + 18354, /* "full" */ + FeVal: 0}, + { + FzName: ts + 36754, /* "columns" */ + FeVal: 2}, + {}, } if libc.AssignPtrInt32(bp+40 /* rc */, fts5ConfigSetEnum(tls, bp+48 /* &aDetail[0] */, zArg, (pConfig+92 /* &.eDetail */))) != 0 { @@ -164824,7 +166814,7 @@ func fts5ConfigMakeExprlist(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:21242 var i int32 *(*int32)(unsafe.Pointer(bp + 24 /* rc */)) = 0 - *(*Fts5Buffer)(unsafe.Pointer(bp + 32 /* buf */)) = Fts5Buffer{Fp: uintptr(0), Fn: 0, FnSpace: 0} + *(*Fts5Buffer)(unsafe.Pointer(bp + 32 /* buf */)) = Fts5Buffer{} sqlite3Fts5BufferAppendPrintf(tls, bp+24 /* &rc */, bp+32 /* &buf */, ts+36892 /* "T.%Q" */, libc.VaList(bp, (*Fts5Config)(unsafe.Pointer(p)).FzContentRowid)) if (*Fts5Config)(unsafe.Pointer(p)).FeContent != 1 { @@ -165688,7 +167678,7 @@ __3: *(*int32)(unsafe.Pointer(pn)) = (*Fts5PoslistReader)(unsafe.Pointer(aIter + uintptr(0)*32)).Fn goto __10 __9: - *(*Fts5PoslistWriter)(unsafe.Pointer(bp + 128 /* writer */)) = Fts5PoslistWriter{FiPrev: int64(0)} + *(*Fts5PoslistWriter)(unsafe.Pointer(bp + 128 /* writer */)) = Fts5PoslistWriter{} iPrev = int64(-1) sqlite3Fts5BufferZero(tls, pBuf) __11: @@ -165795,7 +167785,7 @@ func fts5ExprPhraseIsMatch(tls *libc.TLS, pNode uintptr, pPhrase uintptr, pbMatc var iAdj I64 var bMatch int32 var iPos I64 - *(*Fts5PoslistWriter)(unsafe.Pointer(bp + 160 /* writer */)) = Fts5PoslistWriter{FiPrev: int64(0)} + *(*Fts5PoslistWriter)(unsafe.Pointer(bp + 160 /* writer */)) = Fts5PoslistWriter{} aIter = bp /* aStatic */ rc = 0 bFirst = int32((*Fts5ExprTerm)(unsafe.Pointer((pPhrase + 32 /* &.aTerm */) + uintptr(0)*32)).FbFirst) @@ -165832,7 +167822,7 @@ __3: if !((*Fts5ExprTerm)(unsafe.Pointer(pTerm)).FpSynonym != 0) { goto __6 } - *(*Fts5Buffer)(unsafe.Pointer(bp + 128 /* buf */)) = Fts5Buffer{Fp: uintptr(0), Fn: 0, FnSpace: 0} + *(*Fts5Buffer)(unsafe.Pointer(bp + 128 /* buf */)) = Fts5Buffer{} rc = fts5ExprSynonymList(tls, pTerm, (*Fts5ExprNode)(unsafe.Pointer(pNode)).FiRowid, bp+128 /* &buf */, bp+144 /* &a */, bp+152 /* &n */) if !(rc != 0) { goto __8 @@ -167213,10 +169203,10 @@ func sqlite3Fts5ExprClonePhrase(tls *libc.TLS, pExpr uintptr, iPhrase int32, ppN bp := tls.Alloc(24) defer tls.Free(24) - *(*int32)(unsafe.Pointer(bp /* rc */)) = 0 // Return code - var pOrig uintptr // The phrase extracted from pExpr - var pNew uintptr = uintptr(0) // Expression to return via *ppNew - *(*TokenCtx)(unsafe.Pointer(bp + 8 /* sCtx */)) = TokenCtx{FpPhrase: uintptr(0), Frc: 0} // Context object for fts5ParseTokenize + *(*int32)(unsafe.Pointer(bp /* rc */)) = 0 // Return code + var pOrig uintptr // The phrase extracted from pExpr + var pNew uintptr = uintptr(0) // Expression to return via *ppNew + *(*TokenCtx)(unsafe.Pointer(bp + 8 /* sCtx */)) = TokenCtx{} // Context object for fts5ParseTokenize pOrig = *(*uintptr)(unsafe.Pointer((*Fts5Expr)(unsafe.Pointer(pExpr)).FapExprPhrase + uintptr(iPhrase)*8)) pNew = sqlite3Fts5MallocZero(tls, bp /* &rc */, int64(unsafe.Sizeof(Fts5Expr{}))) @@ -168133,18 +170123,26 @@ func sqlite3Fts5ExprInit(tls *libc.TLS, pGlobal uintptr, db uintptr) int32 { /* defer tls.Free(64) *(*[4]Fts5ExprFunc)(unsafe.Pointer(bp /* aFunc */)) = [4]Fts5ExprFunc{ - {Fz: ts + 37541 /* "fts5_expr" */, Fx: *(*uintptr)(unsafe.Pointer(&struct { - f func(*libc.TLS, uintptr, int32, uintptr) - }{fts5ExprFunctionHr}))}, - {Fz: ts + 37527 /* "fts5_expr_tcl" */, Fx: *(*uintptr)(unsafe.Pointer(&struct { - f func(*libc.TLS, uintptr, int32, uintptr) - }{fts5ExprFunctionTcl}))}, - {Fz: ts + 37659 /* "fts5_isalnum" */, Fx: *(*uintptr)(unsafe.Pointer(&struct { - f func(*libc.TLS, uintptr, int32, uintptr) - }{fts5ExprIsAlnum}))}, - {Fz: ts + 37672 /* "fts5_fold" */, Fx: *(*uintptr)(unsafe.Pointer(&struct { - f func(*libc.TLS, uintptr, int32, uintptr) - }{fts5ExprFold}))}, + { + Fz: ts + 37541, /* "fts5_expr" */ + Fx: *(*uintptr)(unsafe.Pointer(&struct { + f func(*libc.TLS, uintptr, int32, uintptr) + }{fts5ExprFunctionHr}))}, + { + Fz: ts + 37527, /* "fts5_expr_tcl" */ + Fx: *(*uintptr)(unsafe.Pointer(&struct { + f func(*libc.TLS, uintptr, int32, uintptr) + }{fts5ExprFunctionTcl}))}, + { + Fz: ts + 37659, /* "fts5_isalnum" */ + Fx: *(*uintptr)(unsafe.Pointer(&struct { + f func(*libc.TLS, uintptr, int32, uintptr) + }{fts5ExprIsAlnum}))}, + { + Fz: ts + 37672, /* "fts5_fold" */ + Fx: *(*uintptr)(unsafe.Pointer(&struct { + f func(*libc.TLS, uintptr, int32, uintptr) + }{fts5ExprFold}))}, } var i int32 var rc int32 = 0 @@ -173760,8 +175758,8 @@ func fts5MergePrefixLists(tls *libc.TLS, p uintptr, p1 uintptr, p2 uintptr) { /* // var i2 Fts5DoclistIter at bp+48, 32 - *(*Fts5Buffer)(unsafe.Pointer(bp /* out */)) = Fts5Buffer{Fp: uintptr(0), Fn: 0, FnSpace: 0} - *(*Fts5Buffer)(unsafe.Pointer(bp + 88 /* tmp */)) = Fts5Buffer{Fp: uintptr(0), Fn: 0, FnSpace: 0} + *(*Fts5Buffer)(unsafe.Pointer(bp /* out */)) = Fts5Buffer{} + *(*Fts5Buffer)(unsafe.Pointer(bp + 88 /* tmp */)) = Fts5Buffer{} // The maximum size of the output is equal to the sum of the two // input sizes + 1 varint (9 bytes). The extra varint is because if the @@ -174256,7 +176254,7 @@ func sqlite3Fts5IndexQuery(tls *libc.TLS, p uintptr, pToken uintptr, nToken int3 var pConfig uintptr = (*Fts5Index)(unsafe.Pointer(p)).FpConfig *(*uintptr)(unsafe.Pointer(bp + 16 /* pRet */)) = uintptr(0) - *(*Fts5Buffer)(unsafe.Pointer(bp /* buf */)) = Fts5Buffer{Fp: uintptr(0), Fn: 0, FnSpace: 0} + *(*Fts5Buffer)(unsafe.Pointer(bp /* buf */)) = Fts5Buffer{} // If the QUERY_SCAN flag is set, all other flags must be clear. @@ -174504,8 +176502,8 @@ func fts5IntegrityCheckPgidx(tls *libc.TLS, p uintptr, pLeaf uintptr) { /* sqlit var iTermOff int32 = 0 var ii int32 - *(*Fts5Buffer)(unsafe.Pointer(bp + 8 /* buf1 */)) = Fts5Buffer{Fp: uintptr(0), Fn: 0, FnSpace: 0} - *(*Fts5Buffer)(unsafe.Pointer(bp + 32 /* buf2 */)) = Fts5Buffer{Fp: uintptr(0), Fn: 0, FnSpace: 0} + *(*Fts5Buffer)(unsafe.Pointer(bp + 8 /* buf1 */)) = Fts5Buffer{} + *(*Fts5Buffer)(unsafe.Pointer(bp + 32 /* buf2 */)) = Fts5Buffer{} ii = (*Fts5Data)(unsafe.Pointer(pLeaf)).FszLeaf for (ii < (*Fts5Data)(unsafe.Pointer(pLeaf)).Fnn) && ((*Fts5Index)(unsafe.Pointer(p)).Frc == 0) { @@ -174728,8 +176726,8 @@ func sqlite3Fts5IndexIntegrityCheck(tls *libc.TLS, p uintptr, cksum U64) int32 { defer tls.Free(48) var eDetail int32 = (*Fts5Config)(unsafe.Pointer((*Fts5Index)(unsafe.Pointer(p)).FpConfig)).FeDetail - var cksum2 U64 = uint64(0) // Checksum based on contents of indexes - *(*Fts5Buffer)(unsafe.Pointer(bp + 16 /* poslist */)) = Fts5Buffer{Fp: uintptr(0), Fn: 0, FnSpace: 0} // Buffer used to hold a poslist + var cksum2 U64 = uint64(0) // Checksum based on contents of indexes + *(*Fts5Buffer)(unsafe.Pointer(bp + 16 /* poslist */)) = Fts5Buffer{} // Buffer used to hold a poslist // var pIter uintptr at bp, 8 // Used to iterate through entire index var pStruct uintptr // Index structure @@ -177514,8 +179512,28 @@ func fts5ApiPhraseFirstColumn(tls *libc.TLS, pCtx uintptr, iPhrase int32, pIter return rc } -var sFts5Api = Fts5ExtensionApi{FiVersion: 2, FxUserData: // iVersion -0, FxColumnCount: 0, FxRowCount: 0, FxColumnTotalSize: 0, FxTokenize: 0, FxPhraseCount: 0, FxPhraseSize: 0, FxInstCount: 0, FxInst: 0, FxRowid: 0, FxColumnText: 0, FxColumnSize: 0, FxQueryPhrase: 0, FxSetAuxdata: 0, FxGetAuxdata: 0, FxPhraseFirst: 0, FxPhraseNext: 0, FxPhraseFirstColumn: 0, FxPhraseNextColumn: 0, +var sFts5Api = Fts5ExtensionApi{ + FiVersion: 2, + FxUserData:// iVersion + 0, + FxColumnCount: 0, + FxRowCount: 0, + FxColumnTotalSize: 0, + FxTokenize: 0, + FxPhraseCount: 0, + FxPhraseSize: 0, + FxInstCount: 0, + FxInst: 0, + FxRowid: 0, + FxColumnText: 0, + FxColumnSize: 0, + FxQueryPhrase: 0, + FxSetAuxdata: 0, + FxGetAuxdata: 0, + FxPhraseFirst: 0, + FxPhraseNext: 0, + FxPhraseFirstColumn: 0, + FxPhraseNextColumn: 0, } /* sqlite3.c:225211:31 */ // Implementation of API function xQueryPhrase(). @@ -178029,31 +180047,55 @@ func fts5Init(tls *libc.TLS, db uintptr) int32 { /* sqlite3.c:225746:12: */ return rc } -var fts5Mod = Sqlite3_module{FiVersion: -/* iVersion */ 3, FxCreate: -/* xCreate */ 0, FxConnect: -/* xConnect */ 0, FxBestIndex: -/* xBestIndex */ 0, FxDisconnect: -/* xDisconnect */ 0, FxDestroy: -/* xDestroy */ 0, FxOpen: -/* xOpen */ 0, FxClose: -/* xClose */ 0, FxFilter: -/* xFilter */ 0, FxNext: -/* xNext */ 0, FxEof: -/* xEof */ 0, FxColumn: -/* xColumn */ 0, FxRowid: -/* xRowid */ 0, FxUpdate: -/* xUpdate */ 0, FxBegin: -/* xBegin */ 0, FxSync: -/* xSync */ 0, FxCommit: -/* xCommit */ 0, FxRollback: -/* xRollback */ 0, FxFindFunction: -/* xFindFunction */ 0, FxRename: -/* xRename */ 0, FxSavepoint: -/* xSavepoint */ 0, FxRelease: -/* xRelease */ 0, FxRollbackTo: -/* xRollbackTo */ 0, FxShadowName: -/* xShadowName */ 0, +var fts5Mod = Sqlite3_module{ + FiVersion: + /* iVersion */ 3, + FxCreate: + /* xCreate */ 0, + FxConnect: + /* xConnect */ 0, + FxBestIndex: + /* xBestIndex */ 0, + FxDisconnect: + /* xDisconnect */ 0, + FxDestroy: + /* xDestroy */ 0, + FxOpen: + /* xOpen */ 0, + FxClose: + /* xClose */ 0, + FxFilter: + /* xFilter */ 0, + FxNext: + /* xNext */ 0, + FxEof: + /* xEof */ 0, + FxColumn: + /* xColumn */ 0, + FxRowid: + /* xRowid */ 0, + FxUpdate: + /* xUpdate */ 0, + FxBegin: + /* xBegin */ 0, + FxSync: + /* xSync */ 0, + FxCommit: + /* xCommit */ 0, + FxRollback: + /* xRollback */ 0, + FxFindFunction: + /* xFindFunction */ 0, + FxRename: + /* xRename */ 0, + FxSavepoint: + /* xSavepoint */ 0, + FxRelease: + /* xRelease */ 0, + FxRollbackTo: + /* xRollbackTo */ 0, + FxShadowName: + /* xShadowName */ 0, } /* sqlite3.c:225747:31 */ // The following functions are used to register the module with SQLite. If @@ -178581,7 +180623,7 @@ func sqlite3Fts5StorageRebuild(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:22 bp := tls.Alloc(44) defer tls.Free(44) - *(*Fts5Buffer)(unsafe.Pointer(bp + 24 /* buf */)) = Fts5Buffer{Fp: uintptr(0), Fn: 0, FnSpace: 0} + *(*Fts5Buffer)(unsafe.Pointer(bp + 24 /* buf */)) = Fts5Buffer{} var pConfig uintptr = (*Fts5Storage)(unsafe.Pointer(p)).FpConfig *(*uintptr)(unsafe.Pointer(bp + 16 /* pScan */)) = uintptr(0) // var ctx Fts5InsertCtx at bp, 16 @@ -180474,21 +182516,33 @@ func sqlite3Fts5TokenizerInit(tls *libc.TLS, pApi uintptr) int32 { /* sqlite3.c: defer tls.Free(96) *(*[3]BuiltinTokenizer)(unsafe.Pointer(bp /* aBuiltin */)) = [3]BuiltinTokenizer{ - {FzName: ts + 40198 /* "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 + 40487 /* "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 + 40493 /* "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 + 40198 /* "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 + 40487 /* "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 + 40493 /* "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}))}}, } var rc int32 = 0 // Return code @@ -180684,61 +182738,550 @@ type TableEntry = struct { } /* sqlite3.c:228431:16 */ var aEntry = [163]TableEntry{ - {FiCode: uint16(65), Fflags: uint8(14), FnRange: uint8(26)}, {FiCode: uint16(181), Fflags: uint8(64), FnRange: uint8(1)}, {FiCode: uint16(192), Fflags: uint8(14), FnRange: uint8(23)}, - {FiCode: uint16(216), Fflags: uint8(14), FnRange: uint8(7)}, {FiCode: uint16(256), Fflags: uint8(1), FnRange: uint8(48)}, {FiCode: uint16(306), Fflags: uint8(1), FnRange: uint8(6)}, - {FiCode: uint16(313), Fflags: uint8(1), FnRange: uint8(16)}, {FiCode: uint16(330), Fflags: uint8(1), FnRange: uint8(46)}, {FiCode: uint16(376), Fflags: uint8(116), FnRange: uint8(1)}, - {FiCode: uint16(377), Fflags: uint8(1), FnRange: uint8(6)}, {FiCode: uint16(383), Fflags: uint8(104), FnRange: uint8(1)}, {FiCode: uint16(385), Fflags: uint8(50), FnRange: uint8(1)}, - {FiCode: uint16(386), Fflags: uint8(1), FnRange: uint8(4)}, {FiCode: uint16(390), Fflags: uint8(44), FnRange: uint8(1)}, {FiCode: uint16(391), Fflags: uint8(0), FnRange: uint8(1)}, - {FiCode: uint16(393), Fflags: uint8(42), FnRange: uint8(2)}, {FiCode: uint16(395), Fflags: uint8(0), FnRange: uint8(1)}, {FiCode: uint16(398), Fflags: uint8(32), FnRange: uint8(1)}, - {FiCode: uint16(399), Fflags: uint8(38), FnRange: uint8(1)}, {FiCode: uint16(400), Fflags: uint8(40), FnRange: uint8(1)}, {FiCode: uint16(401), Fflags: uint8(0), FnRange: uint8(1)}, - {FiCode: uint16(403), Fflags: uint8(42), FnRange: uint8(1)}, {FiCode: uint16(404), Fflags: uint8(46), FnRange: uint8(1)}, {FiCode: uint16(406), Fflags: uint8(52), FnRange: uint8(1)}, - {FiCode: uint16(407), Fflags: uint8(48), FnRange: uint8(1)}, {FiCode: uint16(408), Fflags: uint8(0), FnRange: uint8(1)}, {FiCode: uint16(412), Fflags: uint8(52), FnRange: uint8(1)}, - {FiCode: uint16(413), Fflags: uint8(54), FnRange: uint8(1)}, {FiCode: uint16(415), Fflags: uint8(56), FnRange: uint8(1)}, {FiCode: uint16(416), Fflags: uint8(1), FnRange: uint8(6)}, - {FiCode: uint16(422), Fflags: uint8(60), FnRange: uint8(1)}, {FiCode: uint16(423), Fflags: uint8(0), FnRange: uint8(1)}, {FiCode: uint16(425), Fflags: uint8(60), FnRange: uint8(1)}, - {FiCode: uint16(428), Fflags: uint8(0), FnRange: uint8(1)}, {FiCode: uint16(430), Fflags: uint8(60), FnRange: uint8(1)}, {FiCode: uint16(431), Fflags: uint8(0), FnRange: uint8(1)}, - {FiCode: uint16(433), Fflags: uint8(58), FnRange: uint8(2)}, {FiCode: uint16(435), Fflags: uint8(1), FnRange: uint8(4)}, {FiCode: uint16(439), Fflags: uint8(62), FnRange: uint8(1)}, - {FiCode: uint16(440), Fflags: uint8(0), FnRange: uint8(1)}, {FiCode: uint16(444), Fflags: uint8(0), FnRange: uint8(1)}, {FiCode: uint16(452), Fflags: uint8(2), FnRange: uint8(1)}, - {FiCode: uint16(453), Fflags: uint8(0), FnRange: uint8(1)}, {FiCode: uint16(455), Fflags: uint8(2), FnRange: uint8(1)}, {FiCode: uint16(456), Fflags: uint8(0), FnRange: uint8(1)}, - {FiCode: uint16(458), Fflags: uint8(2), FnRange: uint8(1)}, {FiCode: uint16(459), Fflags: uint8(1), FnRange: uint8(18)}, {FiCode: uint16(478), Fflags: uint8(1), FnRange: uint8(18)}, - {FiCode: uint16(497), Fflags: uint8(2), FnRange: uint8(1)}, {FiCode: uint16(498), Fflags: uint8(1), FnRange: uint8(4)}, {FiCode: uint16(502), Fflags: uint8(122), FnRange: uint8(1)}, - {FiCode: uint16(503), Fflags: uint8(134), FnRange: uint8(1)}, {FiCode: uint16(504), Fflags: uint8(1), FnRange: uint8(40)}, {FiCode: uint16(544), Fflags: uint8(110), FnRange: uint8(1)}, - {FiCode: uint16(546), Fflags: uint8(1), FnRange: uint8(18)}, {FiCode: uint16(570), Fflags: uint8(70), FnRange: uint8(1)}, {FiCode: uint16(571), Fflags: uint8(0), FnRange: uint8(1)}, - {FiCode: uint16(573), Fflags: uint8(108), FnRange: uint8(1)}, {FiCode: uint16(574), Fflags: uint8(68), FnRange: uint8(1)}, {FiCode: uint16(577), Fflags: uint8(0), FnRange: uint8(1)}, - {FiCode: uint16(579), Fflags: uint8(106), FnRange: uint8(1)}, {FiCode: uint16(580), Fflags: uint8(28), FnRange: uint8(1)}, {FiCode: uint16(581), Fflags: uint8(30), FnRange: uint8(1)}, - {FiCode: uint16(582), Fflags: uint8(1), FnRange: uint8(10)}, {FiCode: uint16(837), Fflags: uint8(36), FnRange: uint8(1)}, {FiCode: uint16(880), Fflags: uint8(1), FnRange: uint8(4)}, - {FiCode: uint16(886), Fflags: uint8(0), FnRange: uint8(1)}, {FiCode: uint16(902), Fflags: uint8(18), FnRange: uint8(1)}, {FiCode: uint16(904), Fflags: uint8(16), FnRange: uint8(3)}, - {FiCode: uint16(908), Fflags: uint8(26), FnRange: uint8(1)}, {FiCode: uint16(910), Fflags: uint8(24), FnRange: uint8(2)}, {FiCode: uint16(913), Fflags: uint8(14), FnRange: uint8(17)}, - {FiCode: uint16(931), Fflags: uint8(14), FnRange: uint8(9)}, {FiCode: uint16(962), Fflags: uint8(0), FnRange: uint8(1)}, {FiCode: uint16(975), Fflags: uint8(4), FnRange: uint8(1)}, - {FiCode: uint16(976), Fflags: uint8(140), FnRange: uint8(1)}, {FiCode: uint16(977), Fflags: uint8(142), FnRange: uint8(1)}, {FiCode: uint16(981), Fflags: uint8(146), FnRange: uint8(1)}, - {FiCode: uint16(982), Fflags: uint8(144), FnRange: uint8(1)}, {FiCode: uint16(984), Fflags: uint8(1), FnRange: uint8(24)}, {FiCode: uint16(1008), Fflags: uint8(136), FnRange: uint8(1)}, - {FiCode: uint16(1009), Fflags: uint8(138), FnRange: uint8(1)}, {FiCode: uint16(1012), Fflags: uint8(130), FnRange: uint8(1)}, {FiCode: uint16(1013), Fflags: uint8(128), FnRange: uint8(1)}, - {FiCode: uint16(1015), Fflags: uint8(0), FnRange: uint8(1)}, {FiCode: uint16(1017), Fflags: uint8(152), FnRange: uint8(1)}, {FiCode: uint16(1018), Fflags: uint8(0), FnRange: uint8(1)}, - {FiCode: uint16(1021), Fflags: uint8(110), FnRange: uint8(3)}, {FiCode: uint16(1024), Fflags: uint8(34), FnRange: uint8(16)}, {FiCode: uint16(1040), Fflags: uint8(14), FnRange: uint8(32)}, - {FiCode: uint16(1120), Fflags: uint8(1), FnRange: uint8(34)}, {FiCode: uint16(1162), Fflags: uint8(1), FnRange: uint8(54)}, {FiCode: uint16(1216), Fflags: uint8(6), FnRange: uint8(1)}, - {FiCode: uint16(1217), Fflags: uint8(1), FnRange: uint8(14)}, {FiCode: uint16(1232), Fflags: uint8(1), FnRange: uint8(88)}, {FiCode: uint16(1329), Fflags: uint8(22), FnRange: uint8(38)}, - {FiCode: uint16(4256), Fflags: uint8(66), FnRange: uint8(38)}, {FiCode: uint16(4295), Fflags: uint8(66), FnRange: uint8(1)}, {FiCode: uint16(4301), Fflags: uint8(66), FnRange: uint8(1)}, - {FiCode: uint16(7680), Fflags: uint8(1), FnRange: uint8(150)}, {FiCode: uint16(7835), Fflags: uint8(132), FnRange: uint8(1)}, {FiCode: uint16(7838), Fflags: uint8(96), FnRange: uint8(1)}, - {FiCode: uint16(7840), Fflags: uint8(1), FnRange: uint8(96)}, {FiCode: uint16(7944), Fflags: uint8(150), FnRange: uint8(8)}, {FiCode: uint16(7960), Fflags: uint8(150), FnRange: uint8(6)}, - {FiCode: uint16(7976), Fflags: uint8(150), FnRange: uint8(8)}, {FiCode: uint16(7992), Fflags: uint8(150), FnRange: uint8(8)}, {FiCode: uint16(8008), Fflags: uint8(150), FnRange: uint8(6)}, - {FiCode: uint16(8025), Fflags: uint8(151), FnRange: uint8(8)}, {FiCode: uint16(8040), Fflags: uint8(150), FnRange: uint8(8)}, {FiCode: uint16(8072), Fflags: uint8(150), FnRange: uint8(8)}, - {FiCode: uint16(8088), Fflags: uint8(150), FnRange: uint8(8)}, {FiCode: uint16(8104), Fflags: uint8(150), FnRange: uint8(8)}, {FiCode: uint16(8120), Fflags: uint8(150), FnRange: uint8(2)}, - {FiCode: uint16(8122), Fflags: uint8(126), FnRange: uint8(2)}, {FiCode: uint16(8124), Fflags: uint8(148), FnRange: uint8(1)}, {FiCode: uint16(8126), Fflags: uint8(100), FnRange: uint8(1)}, - {FiCode: uint16(8136), Fflags: uint8(124), FnRange: uint8(4)}, {FiCode: uint16(8140), Fflags: uint8(148), FnRange: uint8(1)}, {FiCode: uint16(8152), Fflags: uint8(150), FnRange: uint8(2)}, - {FiCode: uint16(8154), Fflags: uint8(120), FnRange: uint8(2)}, {FiCode: uint16(8168), Fflags: uint8(150), FnRange: uint8(2)}, {FiCode: uint16(8170), Fflags: uint8(118), FnRange: uint8(2)}, - {FiCode: uint16(8172), Fflags: uint8(152), FnRange: uint8(1)}, {FiCode: uint16(8184), Fflags: uint8(112), FnRange: uint8(2)}, {FiCode: uint16(8186), Fflags: uint8(114), FnRange: uint8(2)}, - {FiCode: uint16(8188), Fflags: uint8(148), FnRange: uint8(1)}, {FiCode: uint16(8486), Fflags: uint8(98), FnRange: uint8(1)}, {FiCode: uint16(8490), Fflags: uint8(92), FnRange: uint8(1)}, - {FiCode: uint16(8491), Fflags: uint8(94), FnRange: uint8(1)}, {FiCode: uint16(8498), Fflags: uint8(12), FnRange: uint8(1)}, {FiCode: uint16(8544), Fflags: uint8(8), FnRange: uint8(16)}, - {FiCode: uint16(8579), Fflags: uint8(0), FnRange: uint8(1)}, {FiCode: uint16(9398), Fflags: uint8(10), FnRange: uint8(26)}, {FiCode: uint16(11264), Fflags: uint8(22), FnRange: uint8(47)}, - {FiCode: uint16(11360), Fflags: uint8(0), FnRange: uint8(1)}, {FiCode: uint16(11362), Fflags: uint8(88), FnRange: uint8(1)}, {FiCode: uint16(11363), Fflags: uint8(102), FnRange: uint8(1)}, - {FiCode: uint16(11364), Fflags: uint8(90), FnRange: uint8(1)}, {FiCode: uint16(11367), Fflags: uint8(1), FnRange: uint8(6)}, {FiCode: uint16(11373), Fflags: uint8(84), FnRange: uint8(1)}, - {FiCode: uint16(11374), Fflags: uint8(86), FnRange: uint8(1)}, {FiCode: uint16(11375), Fflags: uint8(80), FnRange: uint8(1)}, {FiCode: uint16(11376), Fflags: uint8(82), FnRange: uint8(1)}, - {FiCode: uint16(11378), Fflags: uint8(0), FnRange: uint8(1)}, {FiCode: uint16(11381), Fflags: uint8(0), FnRange: uint8(1)}, {FiCode: uint16(11390), Fflags: uint8(78), FnRange: uint8(2)}, - {FiCode: uint16(11392), Fflags: uint8(1), FnRange: uint8(100)}, {FiCode: uint16(11499), Fflags: uint8(1), FnRange: uint8(4)}, {FiCode: uint16(11506), Fflags: uint8(0), FnRange: uint8(1)}, - {FiCode: uint16(42560), Fflags: uint8(1), FnRange: uint8(46)}, {FiCode: uint16(42624), Fflags: uint8(1), FnRange: uint8(24)}, {FiCode: uint16(42786), Fflags: uint8(1), FnRange: uint8(14)}, - {FiCode: uint16(42802), Fflags: uint8(1), FnRange: uint8(62)}, {FiCode: uint16(42873), Fflags: uint8(1), FnRange: uint8(4)}, {FiCode: uint16(42877), Fflags: uint8(76), FnRange: uint8(1)}, - {FiCode: uint16(42878), Fflags: uint8(1), FnRange: uint8(10)}, {FiCode: uint16(42891), Fflags: uint8(0), FnRange: uint8(1)}, {FiCode: uint16(42893), Fflags: uint8(74), FnRange: uint8(1)}, - {FiCode: uint16(42896), Fflags: uint8(1), FnRange: uint8(4)}, {FiCode: uint16(42912), Fflags: uint8(1), FnRange: uint8(10)}, {FiCode: uint16(42922), Fflags: uint8(72), FnRange: uint8(1)}, - {FiCode: uint16(65313), Fflags: uint8(14), FnRange: uint8(26)}, + { + FiCode: uint16(65), + Fflags: uint8(14), + FnRange: uint8(26)}, { + FiCode: uint16(181), + Fflags: uint8(64), + FnRange: uint8(1)}, { + FiCode: uint16(192), + Fflags: uint8(14), + FnRange: uint8(23)}, + { + FiCode: uint16(216), + Fflags: uint8(14), + FnRange: uint8(7)}, { + FiCode: uint16(256), + Fflags: uint8(1), + FnRange: uint8(48)}, { + FiCode: uint16(306), + Fflags: uint8(1), + FnRange: uint8(6)}, + { + FiCode: uint16(313), + Fflags: uint8(1), + FnRange: uint8(16)}, { + FiCode: uint16(330), + Fflags: uint8(1), + FnRange: uint8(46)}, { + FiCode: uint16(376), + Fflags: uint8(116), + FnRange: uint8(1)}, + { + FiCode: uint16(377), + Fflags: uint8(1), + FnRange: uint8(6)}, { + FiCode: uint16(383), + Fflags: uint8(104), + FnRange: uint8(1)}, { + FiCode: uint16(385), + Fflags: uint8(50), + FnRange: uint8(1)}, + { + FiCode: uint16(386), + Fflags: uint8(1), + FnRange: uint8(4)}, { + FiCode: uint16(390), + Fflags: uint8(44), + FnRange: uint8(1)}, { + FiCode: uint16(391), + Fflags: uint8(0), + FnRange: uint8(1)}, + { + FiCode: uint16(393), + Fflags: uint8(42), + FnRange: uint8(2)}, { + FiCode: uint16(395), + Fflags: uint8(0), + FnRange: uint8(1)}, { + FiCode: uint16(398), + Fflags: uint8(32), + FnRange: uint8(1)}, + { + FiCode: uint16(399), + Fflags: uint8(38), + FnRange: uint8(1)}, { + FiCode: uint16(400), + Fflags: uint8(40), + FnRange: uint8(1)}, { + FiCode: uint16(401), + Fflags: uint8(0), + FnRange: uint8(1)}, + { + FiCode: uint16(403), + Fflags: uint8(42), + FnRange: uint8(1)}, { + FiCode: uint16(404), + Fflags: uint8(46), + FnRange: uint8(1)}, { + FiCode: uint16(406), + Fflags: uint8(52), + FnRange: uint8(1)}, + { + FiCode: uint16(407), + Fflags: uint8(48), + FnRange: uint8(1)}, { + FiCode: uint16(408), + Fflags: uint8(0), + FnRange: uint8(1)}, { + FiCode: uint16(412), + Fflags: uint8(52), + FnRange: uint8(1)}, + { + FiCode: uint16(413), + Fflags: uint8(54), + FnRange: uint8(1)}, { + FiCode: uint16(415), + Fflags: uint8(56), + FnRange: uint8(1)}, { + FiCode: uint16(416), + Fflags: uint8(1), + FnRange: uint8(6)}, + { + FiCode: uint16(422), + Fflags: uint8(60), + FnRange: uint8(1)}, { + FiCode: uint16(423), + Fflags: uint8(0), + FnRange: uint8(1)}, { + FiCode: uint16(425), + Fflags: uint8(60), + FnRange: uint8(1)}, + { + FiCode: uint16(428), + Fflags: uint8(0), + FnRange: uint8(1)}, { + FiCode: uint16(430), + Fflags: uint8(60), + FnRange: uint8(1)}, { + FiCode: uint16(431), + Fflags: uint8(0), + FnRange: uint8(1)}, + { + FiCode: uint16(433), + Fflags: uint8(58), + FnRange: uint8(2)}, { + FiCode: uint16(435), + Fflags: uint8(1), + FnRange: uint8(4)}, { + FiCode: uint16(439), + Fflags: uint8(62), + FnRange: uint8(1)}, + { + FiCode: uint16(440), + Fflags: uint8(0), + FnRange: uint8(1)}, { + FiCode: uint16(444), + Fflags: uint8(0), + FnRange: uint8(1)}, { + FiCode: uint16(452), + Fflags: uint8(2), + FnRange: uint8(1)}, + { + FiCode: uint16(453), + Fflags: uint8(0), + FnRange: uint8(1)}, { + FiCode: uint16(455), + Fflags: uint8(2), + FnRange: uint8(1)}, { + FiCode: uint16(456), + Fflags: uint8(0), + FnRange: uint8(1)}, + { + FiCode: uint16(458), + Fflags: uint8(2), + FnRange: uint8(1)}, { + FiCode: uint16(459), + Fflags: uint8(1), + FnRange: uint8(18)}, { + FiCode: uint16(478), + Fflags: uint8(1), + FnRange: uint8(18)}, + { + FiCode: uint16(497), + Fflags: uint8(2), + FnRange: uint8(1)}, { + FiCode: uint16(498), + Fflags: uint8(1), + FnRange: uint8(4)}, { + FiCode: uint16(502), + Fflags: uint8(122), + FnRange: uint8(1)}, + { + FiCode: uint16(503), + Fflags: uint8(134), + FnRange: uint8(1)}, { + FiCode: uint16(504), + Fflags: uint8(1), + FnRange: uint8(40)}, { + FiCode: uint16(544), + Fflags: uint8(110), + FnRange: uint8(1)}, + { + FiCode: uint16(546), + Fflags: uint8(1), + FnRange: uint8(18)}, { + FiCode: uint16(570), + Fflags: uint8(70), + FnRange: uint8(1)}, { + FiCode: uint16(571), + Fflags: uint8(0), + FnRange: uint8(1)}, + { + FiCode: uint16(573), + Fflags: uint8(108), + FnRange: uint8(1)}, { + FiCode: uint16(574), + Fflags: uint8(68), + FnRange: uint8(1)}, { + FiCode: uint16(577), + Fflags: uint8(0), + FnRange: uint8(1)}, + { + FiCode: uint16(579), + Fflags: uint8(106), + FnRange: uint8(1)}, { + FiCode: uint16(580), + Fflags: uint8(28), + FnRange: uint8(1)}, { + FiCode: uint16(581), + Fflags: uint8(30), + FnRange: uint8(1)}, + { + FiCode: uint16(582), + Fflags: uint8(1), + FnRange: uint8(10)}, { + FiCode: uint16(837), + Fflags: uint8(36), + FnRange: uint8(1)}, { + FiCode: uint16(880), + Fflags: uint8(1), + FnRange: uint8(4)}, + { + FiCode: uint16(886), + Fflags: uint8(0), + FnRange: uint8(1)}, { + FiCode: uint16(902), + Fflags: uint8(18), + FnRange: uint8(1)}, { + FiCode: uint16(904), + Fflags: uint8(16), + FnRange: uint8(3)}, + { + FiCode: uint16(908), + Fflags: uint8(26), + FnRange: uint8(1)}, { + FiCode: uint16(910), + Fflags: uint8(24), + FnRange: uint8(2)}, { + FiCode: uint16(913), + Fflags: uint8(14), + FnRange: uint8(17)}, + { + FiCode: uint16(931), + Fflags: uint8(14), + FnRange: uint8(9)}, { + FiCode: uint16(962), + Fflags: uint8(0), + FnRange: uint8(1)}, { + FiCode: uint16(975), + Fflags: uint8(4), + FnRange: uint8(1)}, + { + FiCode: uint16(976), + Fflags: uint8(140), + FnRange: uint8(1)}, { + FiCode: uint16(977), + Fflags: uint8(142), + FnRange: uint8(1)}, { + FiCode: uint16(981), + Fflags: uint8(146), + FnRange: uint8(1)}, + { + FiCode: uint16(982), + Fflags: uint8(144), + FnRange: uint8(1)}, { + FiCode: uint16(984), + Fflags: uint8(1), + FnRange: uint8(24)}, { + FiCode: uint16(1008), + Fflags: uint8(136), + FnRange: uint8(1)}, + { + FiCode: uint16(1009), + Fflags: uint8(138), + FnRange: uint8(1)}, { + FiCode: uint16(1012), + Fflags: uint8(130), + FnRange: uint8(1)}, { + FiCode: uint16(1013), + Fflags: uint8(128), + FnRange: uint8(1)}, + { + FiCode: uint16(1015), + Fflags: uint8(0), + FnRange: uint8(1)}, { + FiCode: uint16(1017), + Fflags: uint8(152), + FnRange: uint8(1)}, { + FiCode: uint16(1018), + Fflags: uint8(0), + FnRange: uint8(1)}, + { + FiCode: uint16(1021), + Fflags: uint8(110), + FnRange: uint8(3)}, { + FiCode: uint16(1024), + Fflags: uint8(34), + FnRange: uint8(16)}, { + FiCode: uint16(1040), + Fflags: uint8(14), + FnRange: uint8(32)}, + { + FiCode: uint16(1120), + Fflags: uint8(1), + FnRange: uint8(34)}, { + FiCode: uint16(1162), + Fflags: uint8(1), + FnRange: uint8(54)}, { + FiCode: uint16(1216), + Fflags: uint8(6), + FnRange: uint8(1)}, + { + FiCode: uint16(1217), + Fflags: uint8(1), + FnRange: uint8(14)}, { + FiCode: uint16(1232), + Fflags: uint8(1), + FnRange: uint8(88)}, { + FiCode: uint16(1329), + Fflags: uint8(22), + FnRange: uint8(38)}, + { + FiCode: uint16(4256), + Fflags: uint8(66), + FnRange: uint8(38)}, { + FiCode: uint16(4295), + Fflags: uint8(66), + FnRange: uint8(1)}, { + FiCode: uint16(4301), + Fflags: uint8(66), + FnRange: uint8(1)}, + { + FiCode: uint16(7680), + Fflags: uint8(1), + FnRange: uint8(150)}, { + FiCode: uint16(7835), + Fflags: uint8(132), + FnRange: uint8(1)}, { + FiCode: uint16(7838), + Fflags: uint8(96), + FnRange: uint8(1)}, + { + FiCode: uint16(7840), + Fflags: uint8(1), + FnRange: uint8(96)}, { + FiCode: uint16(7944), + Fflags: uint8(150), + FnRange: uint8(8)}, { + FiCode: uint16(7960), + Fflags: uint8(150), + FnRange: uint8(6)}, + { + FiCode: uint16(7976), + Fflags: uint8(150), + FnRange: uint8(8)}, { + FiCode: uint16(7992), + Fflags: uint8(150), + FnRange: uint8(8)}, { + FiCode: uint16(8008), + Fflags: uint8(150), + FnRange: uint8(6)}, + { + FiCode: uint16(8025), + Fflags: uint8(151), + FnRange: uint8(8)}, { + FiCode: uint16(8040), + Fflags: uint8(150), + FnRange: uint8(8)}, { + FiCode: uint16(8072), + Fflags: uint8(150), + FnRange: uint8(8)}, + { + FiCode: uint16(8088), + Fflags: uint8(150), + FnRange: uint8(8)}, { + FiCode: uint16(8104), + Fflags: uint8(150), + FnRange: uint8(8)}, { + FiCode: uint16(8120), + Fflags: uint8(150), + FnRange: uint8(2)}, + { + FiCode: uint16(8122), + Fflags: uint8(126), + FnRange: uint8(2)}, { + FiCode: uint16(8124), + Fflags: uint8(148), + FnRange: uint8(1)}, { + FiCode: uint16(8126), + Fflags: uint8(100), + FnRange: uint8(1)}, + { + FiCode: uint16(8136), + Fflags: uint8(124), + FnRange: uint8(4)}, { + FiCode: uint16(8140), + Fflags: uint8(148), + FnRange: uint8(1)}, { + FiCode: uint16(8152), + Fflags: uint8(150), + FnRange: uint8(2)}, + { + FiCode: uint16(8154), + Fflags: uint8(120), + FnRange: uint8(2)}, { + FiCode: uint16(8168), + Fflags: uint8(150), + FnRange: uint8(2)}, { + FiCode: uint16(8170), + Fflags: uint8(118), + FnRange: uint8(2)}, + { + FiCode: uint16(8172), + Fflags: uint8(152), + FnRange: uint8(1)}, { + FiCode: uint16(8184), + Fflags: uint8(112), + FnRange: uint8(2)}, { + FiCode: uint16(8186), + Fflags: uint8(114), + FnRange: uint8(2)}, + { + FiCode: uint16(8188), + Fflags: uint8(148), + FnRange: uint8(1)}, { + FiCode: uint16(8486), + Fflags: uint8(98), + FnRange: uint8(1)}, { + FiCode: uint16(8490), + Fflags: uint8(92), + FnRange: uint8(1)}, + { + FiCode: uint16(8491), + Fflags: uint8(94), + FnRange: uint8(1)}, { + FiCode: uint16(8498), + Fflags: uint8(12), + FnRange: uint8(1)}, { + FiCode: uint16(8544), + Fflags: uint8(8), + FnRange: uint8(16)}, + { + FiCode: uint16(8579), + Fflags: uint8(0), + FnRange: uint8(1)}, { + FiCode: uint16(9398), + Fflags: uint8(10), + FnRange: uint8(26)}, { + FiCode: uint16(11264), + Fflags: uint8(22), + FnRange: uint8(47)}, + { + FiCode: uint16(11360), + Fflags: uint8(0), + FnRange: uint8(1)}, { + FiCode: uint16(11362), + Fflags: uint8(88), + FnRange: uint8(1)}, { + FiCode: uint16(11363), + Fflags: uint8(102), + FnRange: uint8(1)}, + { + FiCode: uint16(11364), + Fflags: uint8(90), + FnRange: uint8(1)}, { + FiCode: uint16(11367), + Fflags: uint8(1), + FnRange: uint8(6)}, { + FiCode: uint16(11373), + Fflags: uint8(84), + FnRange: uint8(1)}, + { + FiCode: uint16(11374), + Fflags: uint8(86), + FnRange: uint8(1)}, { + FiCode: uint16(11375), + Fflags: uint8(80), + FnRange: uint8(1)}, { + FiCode: uint16(11376), + Fflags: uint8(82), + FnRange: uint8(1)}, + { + FiCode: uint16(11378), + Fflags: uint8(0), + FnRange: uint8(1)}, { + FiCode: uint16(11381), + Fflags: uint8(0), + FnRange: uint8(1)}, { + FiCode: uint16(11390), + Fflags: uint8(78), + FnRange: uint8(2)}, + { + FiCode: uint16(11392), + Fflags: uint8(1), + FnRange: uint8(100)}, { + FiCode: uint16(11499), + Fflags: uint8(1), + FnRange: uint8(4)}, { + FiCode: uint16(11506), + Fflags: uint8(0), + FnRange: uint8(1)}, + { + FiCode: uint16(42560), + Fflags: uint8(1), + FnRange: uint8(46)}, { + FiCode: uint16(42624), + Fflags: uint8(1), + FnRange: uint8(24)}, { + FiCode: uint16(42786), + Fflags: uint8(1), + FnRange: uint8(14)}, + { + FiCode: uint16(42802), + Fflags: uint8(1), + FnRange: uint8(62)}, { + FiCode: uint16(42873), + Fflags: uint8(1), + FnRange: uint8(4)}, { + FiCode: uint16(42877), + Fflags: uint8(76), + FnRange: uint8(1)}, + { + FiCode: uint16(42878), + Fflags: uint8(1), + FnRange: uint8(10)}, { + FiCode: uint16(42891), + Fflags: uint8(0), + FnRange: uint8(1)}, { + FiCode: uint16(42893), + Fflags: uint8(74), + FnRange: uint8(1)}, + { + FiCode: uint16(42896), + Fflags: uint8(1), + FnRange: uint8(4)}, { + FiCode: uint16(42912), + Fflags: uint8(1), + FnRange: uint8(10)}, { + FiCode: uint16(42922), + Fflags: uint8(72), + FnRange: uint8(1)}, + { + FiCode: uint16(65313), + Fflags: uint8(14), + FnRange: uint8(26)}, } /* sqlite3.c:228435:5 */ var aiOff = [77]uint16{ uint16(1), uint16(2), uint16(8), uint16(15), uint16(16), uint16(26), uint16(28), uint16(32), @@ -182477,31 +185020,55 @@ func sqlite3Fts5VocabInit(tls *libc.TLS, pGlobal uintptr, db uintptr) int32 { /* return Xsqlite3_create_module_v2(tls, db, ts+40810 /* "fts5vocab" */, uintptr(unsafe.Pointer(&fts5Vocab)), p, uintptr(0)) } -var fts5Vocab = Sqlite3_module{FiVersion: -/* iVersion */ 2, FxCreate: -/* xCreate */ 0, FxConnect: -/* xConnect */ 0, FxBestIndex: -/* xBestIndex */ 0, FxDisconnect: -/* xDisconnect */ 0, FxDestroy: -/* xDestroy */ 0, FxOpen: -/* xOpen */ 0, FxClose: -/* xClose */ 0, FxFilter: -/* xFilter */ 0, FxNext: -/* xNext */ 0, FxEof: -/* xEof */ 0, FxColumn: -/* xColumn */ 0, FxRowid: -/* xRowid */ 0, FxUpdate: -/* xUpdate */ uintptr(0), FxBegin: -/* xBegin */ uintptr(0), FxSync: -/* xSync */ uintptr(0), FxCommit: -/* xCommit */ uintptr(0), FxRollback: -/* xRollback */ uintptr(0), FxFindFunction: -/* xFindFunction */ uintptr(0), FxRename: -/* xRename */ uintptr(0), FxSavepoint: -/* xSavepoint */ uintptr(0), FxRelease: -/* xRelease */ uintptr(0), FxRollbackTo: -/* xRollbackTo */ uintptr(0), FxShadowName: -/* xShadowName */ uintptr(0), +var fts5Vocab = Sqlite3_module{ + FiVersion: + /* iVersion */ 2, + FxCreate: + /* xCreate */ 0, + FxConnect: + /* xConnect */ 0, + FxBestIndex: + /* xBestIndex */ 0, + FxDisconnect: + /* xDisconnect */ 0, + FxDestroy: + /* xDestroy */ 0, + FxOpen: + /* xOpen */ 0, + FxClose: + /* xClose */ 0, + FxFilter: + /* xFilter */ 0, + FxNext: + /* xNext */ 0, + FxEof: + /* xEof */ 0, + FxColumn: + /* xColumn */ 0, + FxRowid: + /* xRowid */ 0, + FxUpdate: + /* xUpdate */ uintptr(0), + FxBegin: + /* xBegin */ uintptr(0), + FxSync: + /* xSync */ uintptr(0), + FxCommit: + /* xCommit */ uintptr(0), + FxRollback: + /* xRollback */ uintptr(0), + FxFindFunction: + /* xFindFunction */ uintptr(0), + FxRename: + /* xRename */ uintptr(0), + FxSavepoint: + /* xSavepoint */ uintptr(0), + FxRelease: + /* xRelease */ uintptr(0), + FxRollbackTo: + /* xRollbackTo */ uintptr(0), + FxShadowName: + /* xShadowName */ uintptr(0), } /* sqlite3.c:230172:31 */ //************* End of fts5.c *********************************************** @@ -182737,30 +185304,54 @@ func stmtBestIndex(tls *libc.TLS, tab uintptr, pIdxInfo uintptr) int32 { /* sqli // This following structure defines all the methods for the // stmt virtual table. -var stmtModule = Sqlite3_module{FiVersion: 0, FxCreate: // iVersion -uintptr(0), FxConnect:// xCreate -0, FxBestIndex:// xConnect -0, FxDisconnect:// xBestIndex -0, FxDestroy:// xDisconnect -uintptr(0), FxOpen:// xDestroy -0, FxClose:// xOpen - open a cursor -0, FxFilter:// xClose - close a cursor -0, FxNext:// xFilter - configure scan constraints -0, FxEof:// xNext - advance a cursor -0, FxColumn:// xEof - check for end of scan -0, FxRowid:// xColumn - read data -0, FxUpdate:// xRowid - read data -uintptr(0), FxBegin:// xUpdate -uintptr(0), FxSync:// xBegin -uintptr(0), FxCommit:// xSync -uintptr(0), FxRollback:// xCommit -uintptr(0), FxFindFunction:// xRollback -uintptr(0), FxRename:// xFindMethod -uintptr(0), FxSavepoint:// xRename -uintptr(0), FxRelease:// xSavepoint -uintptr(0), FxRollbackTo:// xRelease -uintptr(0), FxShadowName:// xRollbackTo -uintptr(0), // xShadowName +var stmtModule = Sqlite3_module{ + FiVersion: 0, + FxCreate:// iVersion + uintptr(0), + FxConnect:// xCreate + 0, + FxBestIndex:// xConnect + 0, + FxDisconnect:// xBestIndex + 0, + FxDestroy:// xDisconnect + uintptr(0), + FxOpen:// xDestroy + 0, + FxClose:// xOpen - open a cursor + 0, + FxFilter:// xClose - close a cursor + 0, + FxNext:// xFilter - configure scan constraints + 0, + FxEof:// xNext - advance a cursor + 0, + FxColumn:// xEof - check for end of scan + 0, + FxRowid:// xColumn - read data + 0, + FxUpdate:// xRowid - read data + uintptr(0), + FxBegin:// xUpdate + uintptr(0), + FxSync:// xBegin + uintptr(0), + FxCommit:// xSync + uintptr(0), + FxRollback:// xCommit + uintptr(0), + FxFindFunction:// xRollback + uintptr(0), + FxRename:// xFindMethod + uintptr(0), + FxSavepoint:// xRename + uintptr(0), + FxRelease:// xSavepoint + uintptr(0), + FxRollbackTo:// xRelease + uintptr(0), + FxShadowName:// xRollbackTo + uintptr(0), // xShadowName } /* sqlite3.c:230454:23 */ func Xsqlite3StmtVtabInit(tls *libc.TLS, db uintptr) int32 { /* sqlite3.c:230483:20: */ |