diff --git a/go.mod b/go.mod index c95c576..cdd85cb 100644 --- a/go.mod +++ b/go.mod @@ -4,7 +4,7 @@ go 1.15 require ( github.com/mattn/go-sqlite3 v1.14.6 - modernc.org/libc v1.7.4 - modernc.org/mathutil v1.2.1 - modernc.org/tcl v0.0.0-20210121111815-0d71ceacf655 + modernc.org/libc v0.0.0-20210125204052-5ca6da112a41 + modernc.org/mathutil v1.2.2 + modernc.org/tcl v0.0.0-20210125204718-fed1e65b7397 ) diff --git a/go.sum b/go.sum index ebb8783..f6e6be6 100644 --- a/go.sum +++ b/go.sum @@ -9,13 +9,13 @@ golang.org/x/sys v0.0.0-20201126233918-771906719818 h1:f1CIuDlJhwANEC2MM87MBEVMr golang.org/x/sys v0.0.0-20201126233918-771906719818/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= modernc.org/httpfs v1.0.2 h1:4aw8F68gTwx7FWL/vEMjm/XaPwPL16MItkF/P9ziEPY= modernc.org/httpfs v1.0.2/go.mod h1:7dosgurJGp0sPaRanU53W4xZYKh14wfzX420oZADeHM= -modernc.org/libc v1.7.4 h1:2UytZ4rM1T+1mUtyEe4GSOBihTDVa8EdVq5wpFk54EE= -modernc.org/libc v1.7.4/go.mod h1:IR66laG5b3bONN1tfix3Gpy8xk/6WDf+Rtc4NqNczls= +modernc.org/libc v0.0.0-20210125204052-5ca6da112a41 h1:r9+mcx7HnH6ux6UjweNo1wDqZo/0e/BDg3UlYVHFPA4= +modernc.org/libc v0.0.0-20210125204052-5ca6da112a41/go.mod h1:U1eq8YWr/Kc1RWCMFUWEdkTg8OTcfLw2kY8EDwl039w= modernc.org/mathutil v1.1.1 h1:FeylZSVX8S+58VsyJlkEj2bcpdytmp9MmDKZkKx8OIE= modernc.org/mathutil v1.1.1/go.mod h1:mZW8CKdRPY1v87qxC/wUdX5O1qDzXMP5TH3wjfpga6E= -modernc.org/mathutil v1.2.1 h1:PSIN4RdyeB6MbFsNLSkFCzDjnEVEMS3H/hFHcJtAJ9g= -modernc.org/mathutil v1.2.1/go.mod h1:mZW8CKdRPY1v87qxC/wUdX5O1qDzXMP5TH3wjfpga6E= -modernc.org/memory v1.0.1 h1:bhVo78NAdgvRD4N+b2hGnAwL5RP2+QyiEJDsX3jpeDA= -modernc.org/memory v1.0.1/go.mod h1:NSjvC08+g3MLOpcAxQbdctcThAEX4YlJ20WWHYEhvRg= -modernc.org/tcl v0.0.0-20210121111815-0d71ceacf655 h1:UlbpemRpBbXK3QdJVbZCDdTOjyg1LFm8HAwok/YGZCs= -modernc.org/tcl v0.0.0-20210121111815-0d71ceacf655/go.mod h1:8hi3bY0555FwbeRAhkuMmn1Rt5QZKd3Fmw0i/heahU0= +modernc.org/mathutil v1.2.2 h1:+yFk8hBprV+4c0U9GjFtL+dV3N8hOJ8JCituQcMShFY= +modernc.org/mathutil v1.2.2/go.mod h1:mZW8CKdRPY1v87qxC/wUdX5O1qDzXMP5TH3wjfpga6E= +modernc.org/memory v1.0.4 h1:utMBrFcpnQDdNsmM6asmyH/FM9TqLPS7XF7otpJmrwM= +modernc.org/memory v1.0.4/go.mod h1:nV2OApxradM3/OVbs2/0OsP6nPfakXpi50C7dcoHXlc= +modernc.org/tcl v0.0.0-20210125204718-fed1e65b7397 h1:JT68GHJ4xgOMwAKVYK5ivP3IG0qLVxwmTuuglGb8/9c= +modernc.org/tcl v0.0.0-20210125204718-fed1e65b7397/go.mod h1:K7YIIQw2BHre02BiNB9RvJ3lUQWJtX4uFV9SeWjnUio= diff --git a/internal/mptest/main_linux_amd64.go b/internal/mptest/main_linux_amd64.go index 465ed96..a3fbbf8 100644 --- a/internal/mptest/main_linux_amd64.go +++ b/internal/mptest/main_linux_amd64.go @@ -5,6 +5,7 @@ package main import ( "math" "reflect" + "sync/atomic" "unsafe" "modernc.org/libc" @@ -13,6 +14,7 @@ import ( var _ = math.Pi var _ reflect.Kind +var _ atomic.Value var _ unsafe.Pointer func main() { libc.Start(main1) } @@ -5064,7 +5066,7 @@ func booleanValue(tls *libc.TLS, zArg uintptr) int32 { /* mptest.c:845:12: */ // This routine exists as a convenient place to set a debugger // breakpoint. func test_breakpoint(tls *libc.TLS) { /* mptest.c:864:13: */ - cnt++ + atomic.AddInt32(&cnt, 1) } var cnt int32 = 0 /* mptest.c:864:56 */ diff --git a/internal/testfixture/testfixture_linux_amd64.go b/internal/testfixture/testfixture_linux_amd64.go index 94b64ee..78da992 100644 --- a/internal/testfixture/testfixture_linux_amd64.go +++ b/internal/testfixture/testfixture_linux_amd64.go @@ -5,6 +5,7 @@ package main import ( "math" "reflect" + "sync/atomic" "unsafe" "modernc.org/libc" @@ -15,6 +16,7 @@ import ( var _ = math.Pi var _ reflect.Kind +var _ atomic.Value var _ unsafe.Pointer func main() { libc.Start(main1) } @@ -3772,6 +3774,10 @@ const ( /* resource.h:158:1: */ // All of its terminated child processes. RUSAGE_CHILDREN = -1 +) + +// Whose usage statistics do you want? +const ( /* resource.h:158:1: */ // The calling thread. RUSAGE_THREAD = 1 ) @@ -7819,6 +7825,7 @@ var expertModule = sqlite3_module{ FxShadowName:// xRollbackTo uintptr(0), // xShadowName } /* sqlite3expert.c:623:25 */ + // // End of virtual table implementation. // @@ -15524,6 +15531,7 @@ func amatchStrcpy(tls *libc.TLS, dest uintptr, src uintptr) { /* amatch.c:1005:1 for (int32(libc.AssignPtrInt8(libc.PostIncUintptr(&dest, 1), *(*int8)(unsafe.Pointer(libc.PostIncUintptr(&src, 1)))))) != 0 { } } + func amatchStrcat(tls *libc.TLS, dest uintptr, src uintptr) { /* amatch.c:1008:13: */ for *(*int8)(unsafe.Pointer(dest)) != 0 { dest++ @@ -18987,6 +18995,7 @@ func decimalAddFunc(tls *libc.TLS, context uintptr, argc int32, argv uintptr) { decimal_free(tls, pA) decimal_free(tls, pB) } + func decimalSubFunc(tls *libc.TLS, context uintptr, argc int32, argv uintptr) { /* decimal.c:454:13: */ var pA uintptr = decimal_new(tls, context, *(*uintptr)(unsafe.Pointer(argv + uintptr(0)*8)), 0, uintptr(0)) var pB uintptr = decimal_new(tls, context, *(*uintptr)(unsafe.Pointer(argv + uintptr(1)*8)), 0, uintptr(0)) @@ -19031,6 +19040,7 @@ func decimalSumStep(tls *libc.TLS, context uintptr, argc int32, argv uintptr) { decimal_add(tls, p, pArg) decimal_free(tls, pArg) } + func decimalSumInverse(tls *libc.TLS, context uintptr, argc int32, argv uintptr) { /* decimal.c:501:13: */ var p uintptr var pArg uintptr @@ -19049,6 +19059,7 @@ func decimalSumInverse(tls *libc.TLS, context uintptr, argc int32, argv uintptr) decimal_add(tls, p, pArg) decimal_free(tls, pArg) } + func decimalSumValue(tls *libc.TLS, context uintptr) { /* decimal.c:517:13: */ var p uintptr = sqlite3.Xsqlite3_aggregate_context(tls, context, 0) if p == uintptr(0) { @@ -19056,6 +19067,7 @@ func decimalSumValue(tls *libc.TLS, context uintptr) { /* decimal.c:517:13: */ } decimal_result(tls, context, p) } + func decimalSumFinalize(tls *libc.TLS, context uintptr) { /* decimal.c:522:13: */ var p uintptr = sqlite3.Xsqlite3_aggregate_context(tls, context, 0) if p == uintptr(0) { @@ -22548,6 +22560,7 @@ func ieee754func_from_blob(tls *libc.TLS, context uintptr, argc int32, argv uint sqlite3.Xsqlite3_result_double(tls, context, *(*float64)(unsafe.Pointer(bp /* r */))) } } + func ieee754func_to_blob(tls *libc.TLS, context uintptr, argc int32, argv uintptr) { /* ieee754.c:225:13: */ bp := tls.Alloc(24) defer tls.Free(24) @@ -24375,6 +24388,7 @@ func re_next_char(tls *libc.TLS, p uintptr) uint32 { /* regexp.c:147:17: */ } return c } + func re_next_char_nocase(tls *libc.TLS, p uintptr) uint32 { /* regexp.c:172:17: */ var c uint32 = re_next_char(tls, p) if (c >= uint32('A')) && (c <= uint32('Z')) { @@ -26733,6 +26747,7 @@ func editDist3ConfigClear(tls *libc.TLS, p uintptr) { /* spellfix.c:640:13: */ sqlite3.Xsqlite3_free(tls, (*EditDist3Config)(unsafe.Pointer(p)).Fa) libc.Xmemset(tls, p, 0, uint64(unsafe.Sizeof(EditDist3Config{}))) } + func editDist3ConfigDelete(tls *libc.TLS, pIn uintptr) { /* spellfix.c:655:13: */ var p uintptr = pIn editDist3ConfigClear(tls, p) @@ -30224,9 +30239,11 @@ func spellfix1Uninit(tls *libc.TLS, isDestroy int32, pVTab uintptr) int32 { /* s } return *(*int32)(unsafe.Pointer(bp + 16 /* rc */)) } + func spellfix1Disconnect(tls *libc.TLS, pVTab uintptr) int32 { /* spellfix.c:1994:12: */ return spellfix1Uninit(tls, 0, pVTab) } + func spellfix1Destroy(tls *libc.TLS, pVTab uintptr) int32 { /* spellfix.c:1997:12: */ return spellfix1Uninit(tls, 1, pVTab) } @@ -30341,6 +30358,7 @@ func spellfix1Init(tls *libc.TLS, isCreate int32, db uintptr, pAux uintptr, argc func spellfix1Connect(tls *libc.TLS, db uintptr, pAux uintptr, argc int32, argv uintptr, ppVTab uintptr, pzErr uintptr) int32 { /* spellfix.c:2133:12: */ return spellfix1Init(tls, 0, db, pAux, argc, argv, ppVTab, pzErr) } + func spellfix1Create(tls *libc.TLS, db uintptr, pAux uintptr, argc int32, argv uintptr, ppVTab uintptr, pzErr uintptr) int32 { /* spellfix.c:2142:12: */ return spellfix1Init(tls, 1, db, pAux, argc, argv, ppVTab, pzErr) } @@ -34607,6 +34625,7 @@ func zipfileTableErr(tls *libc.TLS, pTab uintptr, zFmt uintptr, va uintptr) { /* (*ZipfileTab)(unsafe.Pointer(pTab)).Fbase.FzErrMsg = sqlite3.Xsqlite3_vmprintf(tls, zFmt, ap) _ = ap } + func zipfileCursorErr(tls *libc.TLS, pCsr uintptr, zFmt uintptr, va uintptr) { /* zipfile.c:486:13: */ var ap va_list _ = ap @@ -38299,6 +38318,7 @@ func incrblobSeek(tls *libc.TLS, instanceData ClientData, offset int64, seekMode func incrblobWatch(tls *libc.TLS, instanceData ClientData, mode int32) { /* tclsqlite.c:355:27: */ // NO-OP } + func incrblobHandle(tls *libc.TLS, instanceData ClientData, dir int32, hPtr uintptr) int32 { /* tclsqlite.c:361:26: */ return 1 } @@ -43289,12 +43309,15 @@ func Sqlite3_Init(tls *libc.TLS, interp uintptr) int32 { /* tclsqlite.c:3877:12: } return rc } + func Tclsqlite3_Init(tls *libc.TLS, interp uintptr) int32 { /* tclsqlite.c:3891:12: */ return Sqlite3_Init(tls, interp) } + func Sqlite3_Unload(tls *libc.TLS, interp uintptr, flags int32) int32 { /* tclsqlite.c:3892:12: */ return 0 } + func Tclsqlite3_Unload(tls *libc.TLS, interp uintptr, flags int32) int32 { /* tclsqlite.c:3893:12: */ return 0 } @@ -43305,6 +43328,7 @@ func Tclsqlite3_Unload(tls *libc.TLS, interp uintptr, flags int32) int32 { /* tc func Sqlite3_SafeInit(tls *libc.TLS, interp uintptr) int32 { /* tclsqlite.c:3899:12: */ return 1 } + func Sqlite3_SafeUnload(tls *libc.TLS, interp uintptr, flags int32) int32 { /* tclsqlite.c:3900:12: */ return 1 } @@ -43312,12 +43336,15 @@ func Sqlite3_SafeUnload(tls *libc.TLS, interp uintptr, flags int32) int32 { /* t func Sqlite_Init(tls *libc.TLS, interp uintptr) int32 { /* tclsqlite.c:3905:5: */ return Sqlite3_Init(tls, interp) } + func Tclsqlite_Init(tls *libc.TLS, interp uintptr) int32 { /* tclsqlite.c:3906:5: */ return Sqlite3_Init(tls, interp) } + func Sqlite_Unload(tls *libc.TLS, interp uintptr, flags int32) int32 { /* tclsqlite.c:3907:5: */ return 0 } + func Tclsqlite_Unload(tls *libc.TLS, interp uintptr, flags int32) int32 { /* tclsqlite.c:3908:5: */ return 0 } @@ -45596,6 +45623,7 @@ func testHexToInt(tls *libc.TLS, h int32) int32 { /* test1.c:44:12: */ } return int32(0) } + func sqlite3TestTextToPtr(tls *libc.TLS, z uintptr) uintptr { /* test1.c:54:6: */ bp := tls.Alloc(20) defer tls.Free(20) @@ -45916,6 +45944,7 @@ func db_enter(tls *libc.TLS, NotUsed uintptr, interp uintptr, argc int32, argv u sqlite3.Xsqlite3_mutex_enter(tls, (*sqlite31)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp + 32 /* db */)))).Fmutex) return 0 } + func db_leave(tls *libc.TLS, NotUsed uintptr, interp uintptr, argc int32, argv uintptr) int32 { /* test1.c:396:26: */ bp := tls.Alloc(40) defer tls.Free(40) @@ -46273,6 +46302,7 @@ func hex8Func(tls *libc.TLS, p uintptr, argc int32, argv uintptr) { /* test1.c:7 *(*int8)(unsafe.Pointer(bp + 8 /* &zBuf[0] */ + uintptr((i * 2)))) = int8(0) sqlite3.Xsqlite3_result_text(tls, p, bp+8 /* zBuf */, -1, libc.UintptrFromInt32(-1)) } + func hex16Func(tls *libc.TLS, p uintptr, argc int32, argv uintptr) { /* test1.c:760:13: */ bp := tls.Alloc(408) defer tls.Free(408) @@ -46639,6 +46669,7 @@ type t1CountCtx1 = struct{ Fn int32 } /* test1.c:1123:9 */ // is reported on the step function. If the total count is 42, then // a UTF-8 error is reported on the finalize function. type t1CountCtx = t1CountCtx1 /* test1.c:1123:27 */ + func t1CountStep(tls *libc.TLS, context uintptr, argc int32, argv uintptr) { /* test1.c:1127:13: */ bp := tls.Alloc(9) defer tls.Free(9) @@ -46658,6 +46689,7 @@ func t1CountStep(tls *libc.TLS, context uintptr, argc int32, argv uintptr) { /* } } } + func t1CountFinalize(tls *libc.TLS, context uintptr) { /* test1.c:1149:13: */ var p uintptr p = sqlite3.Xsqlite3_aggregate_context(tls, context, int32(unsafe.Sizeof(t1CountCtx{}))) @@ -47236,6 +47268,7 @@ type TestCollationX1 = struct { } /* test1.c:1715:1 */ type TestCollationX = TestCollationX1 /* test1.c:1720:31 */ + func testCreateCollationDel(tls *libc.TLS, pCtx uintptr) { /* test1.c:1721:13: */ var p uintptr = pCtx @@ -47258,6 +47291,7 @@ func testCreateCollationDel(tls *libc.TLS, pCtx uintptr) { /* test1.c:1721:13: * } sqlite3.Xsqlite3_free(tls, p) } + func testCreateCollationCmp(tls *libc.TLS, pCtx uintptr, nLeft int32, zLeft uintptr, nRight int32, zRight uintptr) int32 { /* test1.c:1733:12: */ bp := tls.Alloc(4) defer tls.Free(4) @@ -47283,6 +47317,7 @@ func testCreateCollationCmp(tls *libc.TLS, pCtx uintptr, nLeft int32, zLeft uint return *(*int32)(unsafe.Pointer(bp /* iRes */)) } + func test_create_collation_v2(tls *libc.TLS, clientData ClientData, interp uintptr, objc int32, objv uintptr) int32 { /* test1.c:1757:26: */ bp := tls.Alloc(24) defer tls.Free(24) @@ -47348,12 +47383,16 @@ type CreateFunctionV21 = struct { // -final SCRIPT // -destroy SCRIPT type CreateFunctionV2 = CreateFunctionV21 /* test1.c:1804:33 */ + func cf2Func(tls *libc.TLS, ctx uintptr, nArg int32, aArg uintptr) { /* test1.c:1812:13: */ } + func cf2Step(tls *libc.TLS, ctx uintptr, nArg int32, aArg uintptr) { /* test1.c:1814:13: */ } + func cf2Final(tls *libc.TLS, ctx uintptr) { /* test1.c:1816:13: */ } + func cf2Destroy(tls *libc.TLS, pUser uintptr) { /* test1.c:1818:13: */ var p uintptr = pUser @@ -47398,6 +47437,7 @@ func cf2Destroy(tls *libc.TLS, pUser uintptr) { /* test1.c:1818:13: */ } sqlite3.Xsqlite3_free(tls, p) } + func test_create_function_v2(tls *libc.TLS, clientData ClientData, interp uintptr, objc int32, objv uintptr) int32 { /* test1.c:1832:26: */ bp := tls.Alloc(180) defer tls.Free(180) @@ -48124,7 +48164,9 @@ func test_snapshot_cmp_blob(tls *libc.TLS, clientData uintptr, interp uintptr, o res = sqlite3.Xsqlite3_snapshot_cmp(tls, p1, p2) tcl.XTcl_SetObjResult(tls, interp, tcl.XTcl_NewIntObj(tls, res)) return 0 -} // in test_delete.c +} + +// in test_delete.c func test_delete_database(tls *libc.TLS, clientData uintptr, interp uintptr, objc int32, objv uintptr) int32 { /* test1.c:2581:26: */ var rc int32 var zFile uintptr @@ -48503,6 +48545,7 @@ func test_bind(tls *libc.TLS, NotUsed uintptr, interp uintptr, argc int32, argv // interp pointer to use when evaluating the TCL script is stored in // pTestCollateInterp. var pTestCollateInterp uintptr /* test1.c:2975:18: */ + func test_collate_func(tls *libc.TLS, pCtx uintptr, nA int32, zA uintptr, nB int32, zB uintptr) int32 { /* test1.c:2976:12: */ bp := tls.Alloc(4) defer tls.Free(4) @@ -48557,6 +48600,7 @@ func test_collate_func(tls *libc.TLS, pCtx uintptr, nA int32, zA uintptr, nB int tcl.XTcl_GetIntFromObj(tls, i, tcl.XTcl_GetObjResult(tls, i), bp /* &res */) return *(*int32)(unsafe.Pointer(bp /* res */)) } + func test_collate(tls *libc.TLS, clientData uintptr, interp uintptr, objc int32, objv uintptr) int32 { /* test1.c:3026:26: */ bp := tls.Alloc(60) defer tls.Free(60) @@ -48688,6 +48732,7 @@ func test_utf16bin_collate_func(tls *libc.TLS, pCtx uintptr, nA int32, zA uintpt } return res } + func test_utf16bin_collate(tls *libc.TLS, clientData uintptr, interp uintptr, objc int32, objv uintptr) int32 { /* test1.c:3100:26: */ bp := tls.Alloc(8) defer tls.Free(8) @@ -48804,6 +48849,7 @@ bad_args: // Both collating functions increment the unaligned utf16 counter // whenever they see a string that begins on an odd byte boundary. var unaligned_string_counter int32 = 0 /* test1.c:3192:12 */ + func alignmentCollFunc(tls *libc.TLS, NotUsed uintptr, nKey1 int32, pKey1 uintptr, nKey2 int32, pKey2 uintptr) int32 { /* test1.c:3193:12: */ var rc int32 var n int32 @@ -48824,6 +48870,7 @@ func alignmentCollFunc(tls *libc.TLS, NotUsed uintptr, nKey1 int32, pKey1 uintpt } return rc } + func add_alignment_test_collations(tls *libc.TLS, clientData uintptr, interp uintptr, objc int32, objv uintptr) int32 { /* test1.c:3208:26: */ bp := tls.Alloc(8) defer tls.Free(8) @@ -48894,6 +48941,7 @@ func test_function_utf8(tls *libc.TLS, pCtx uintptr, nArg int32, argv uintptr) { -1, libc.UintptrFromInt32(-1)) sqlite3.Xsqlite3ValueFree(tls, pVal) } + func test_function_utf16le(tls *libc.TLS, pCtx uintptr, nArg int32, argv uintptr) { /* test1.c:3276:13: */ var interp uintptr var pX uintptr @@ -48917,6 +48965,7 @@ func test_function_utf16le(tls *libc.TLS, pCtx uintptr, nArg int32, argv uintptr sqlite3.Xsqlite3_result_text(tls, pCtx, sqlite3.Xsqlite3_value_text(tls, pVal), -1, libc.UintptrFromInt32(-1)) sqlite3.Xsqlite3ValueFree(tls, pVal) } + func test_function_utf16be(tls *libc.TLS, pCtx uintptr, nArg int32, argv uintptr) { /* test1.c:3298:13: */ var interp uintptr var pX uintptr @@ -48945,6 +48994,7 @@ func test_function_utf16be(tls *libc.TLS, pCtx uintptr, nArg int32, argv uintptr -1, libc.UintptrFromInt32(-1)) sqlite3.Xsqlite3ValueFree(tls, pVal) } + func test_function(tls *libc.TLS, clientData uintptr, interp uintptr, objc int32, objv uintptr) int32 { /* test1.c:3326:26: */ bp := tls.Alloc(44) defer tls.Free(44) @@ -49218,6 +49268,7 @@ func test_intarray_addr(tls *libc.TLS, clientData uintptr, interp uintptr, objc } var p uintptr = uintptr(0) /* test1.c:3540:14 */ + // Usage: intarray_addr INT ... // // Return the address of a C-language array of 32-bit integers. @@ -49254,6 +49305,7 @@ func test_int64array_addr(tls *libc.TLS, clientData uintptr, interp uintptr, obj } var p1 uintptr = uintptr(0) /* test1.c:3574:24 */ + // Usage: doublearray_addr INT ... // // Return the address of a C-language array of doubles. @@ -49284,6 +49336,7 @@ func test_doublearray_addr(tls *libc.TLS, clientData uintptr, interp uintptr, ob } var p2 uintptr = uintptr(0) /* test1.c:3610:17 */ + // Usage: textarray_addr TEXT ... // // Return the address of a C-language array of strings. @@ -50603,6 +50656,7 @@ func test_sql(tls *libc.TLS, clientData uintptr, interp uintptr, objc int32, obj tcl.XTcl_SetResult(tls, interp, sqlite3.Xsqlite3_sql(tls, *(*uintptr)(unsafe.Pointer(bp /* pStmt */))), uintptr(1)) return 0 } + func test_ex_sql(tls *libc.TLS, clientData uintptr, interp uintptr, objc int32, objv uintptr) int32 { /* test1.c:4784:26: */ bp := tls.Alloc(8) defer tls.Free(8) @@ -52274,6 +52328,7 @@ type LogCallback = struct { // tclcmd: test_sqlite3_log ?SCRIPT? var logcallback = LogCallback{} /* test1.c:6707:3 */ + func xLogcallback(tls *libc.TLS, unused uintptr, err int32, zMsg uintptr) { /* test1.c:6708:13: */ var pNew uintptr = tcl.XTcl_DuplicateObj(tls, logcallback.FpObj) (*Tcl_Obj)(unsafe.Pointer(pNew)).FrefCount++ @@ -52288,6 +52343,7 @@ func xLogcallback(tls *libc.TLS, unused uintptr, err int32, zMsg uintptr) { /* t } } } + func test_sqlite3_log(tls *libc.TLS, clientData ClientData, interp uintptr, objc int32, objv uintptr) int32 { /* test1.c:6718:26: */ bp := tls.Alloc(32) defer tls.Free(32) @@ -54747,6 +54803,7 @@ func testPendingByte(tls *libc.TLS, NotUsed uintptr, interp uintptr, argc int32, var faultSimInterp uintptr = uintptr(0) /* test2.c:580:19 */ var faultSimScriptSize int32 = 0 /* test2.c:581:12 */ var faultSimScript uintptr /* test2.c:582:13: */ + func faultSimCallback(tls *libc.TLS, x int32) int32 { /* test2.c:583:12: */ bp := tls.Alloc(38) defer tls.Free(38) @@ -57889,6 +57946,7 @@ func test_translate(tls *libc.TLS, clientData uintptr, interp uintptr, objc int3 return 0 } + func test_translate_selftest(tls *libc.TLS, clientData uintptr, interp uintptr, objc int32, objv uintptr) int32 { /* test5.c:189:26: */ sqlite3.Xsqlite3UtfSelfTest(tls) return 0 @@ -57991,9 +58049,11 @@ var sqlite3CrashTestEnable int32 = 0 /* test6.c:161:12 */ func crash_malloc(tls *libc.TLS, nByte int32) uintptr { /* test6.c:163:13: */ return tcl.XTcl_AttemptAlloc(tls, uint32(size_t(nByte))) } + func crash_free(tls *libc.TLS, p uintptr) { /* test6.c:166:13: */ tcl.XTcl_Free(tls, p) } + func crash_realloc(tls *libc.TLS, p uintptr, n int32) uintptr { /* test6.c:169:13: */ return tcl.XTcl_AttemptRealloc(tls, p, uint32(size_t(n))) } @@ -58298,12 +58358,15 @@ func cfFileSize(tls *libc.TLS, pFile uintptr, pSize uintptr) int32 { /* test6.c: func cfLock(tls *libc.TLS, pFile uintptr, eLock int32) int32 { /* test6.c:514:12: */ return sqlite3.Xsqlite3OsLock(tls, (*CrashFile)(unsafe.Pointer(pFile)).FpRealFile, eLock) } + func cfUnlock(tls *libc.TLS, pFile uintptr, eLock int32) int32 { /* test6.c:517:12: */ return sqlite3.Xsqlite3OsUnlock(tls, (*CrashFile)(unsafe.Pointer(pFile)).FpRealFile, eLock) } + func cfCheckReservedLock(tls *libc.TLS, pFile uintptr, pResOut uintptr) int32 { /* test6.c:520:12: */ return sqlite3.Xsqlite3OsCheckReservedLock(tls, (*CrashFile)(unsafe.Pointer(pFile)).FpRealFile, pResOut) } + func cfFileControl(tls *libc.TLS, pFile uintptr, op int32, pArg uintptr) int32 { /* test6.c:523:12: */ if op == 5 { var pCrash uintptr = pFile @@ -58324,6 +58387,7 @@ func cfFileControl(tls *libc.TLS, pFile uintptr, op int32, pArg uintptr) int32 { func cfSectorSize(tls *libc.TLS, pFile uintptr) int32 { /* test6.c:542:12: */ return g.FiSectorSize } + func cfDeviceCharacteristics(tls *libc.TLS, pFile uintptr) int32 { /* test6.c:545:12: */ return g.FiDeviceCharacteristics } @@ -58332,14 +58396,17 @@ func cfDeviceCharacteristics(tls *libc.TLS, pFile uintptr) int32 { /* test6.c:54 func cfShmLock(tls *libc.TLS, pFile uintptr, ofst int32, n int32, flags int32) int32 { /* test6.c:552:12: */ return sqlite3.Xsqlite3OsShmLock(tls, (*CrashFile)(unsafe.Pointer(pFile)).FpRealFile, ofst, n, flags) } + func cfShmBarrier(tls *libc.TLS, pFile uintptr) { /* test6.c:555:13: */ sqlite3.Xsqlite3OsShmBarrier(tls, (*CrashFile)(unsafe.Pointer(pFile)).FpRealFile) } + func cfShmUnmap(tls *libc.TLS, pFile uintptr, delFlag int32) int32 { /* test6.c:558:12: */ return sqlite3.Xsqlite3OsShmUnmap(tls, (*CrashFile)(unsafe.Pointer(pFile)).FpRealFile, delFlag) } + func cfShmMap(tls *libc.TLS, pFile uintptr, iRegion int32, sz int32, w int32, pp uintptr) int32 { /* test6.c:561:12: */ - return sqlite3.Xsqlite3OsShmMap(tls, (*CrashFile)(unsafe.Pointer(pFile)).FpRealFile, iRegion, sz, w, pp) + return sqlite3.Xsqlite3OsShmMap(tls, (*CrashFile)(unsafe.Pointer(pFile)).FpRealFile, iRegion, sz, w, libc.AtomicLoadUintptr(&pp)) } var CrashFileVtab = sqlite3_io_methods{ @@ -58445,42 +58512,52 @@ func cfDelete(tls *libc.TLS, pCfVfs uintptr, zPath uintptr, dirSync int32) int32 var pVfs uintptr = (*sqlite3_vfs)(unsafe.Pointer(pCfVfs)).FpAppData return (*(*func(*libc.TLS, uintptr, uintptr, int32) int32)(unsafe.Pointer((pVfs + 48 /* &.xDelete */))))(tls, pVfs, zPath, dirSync) } + func cfAccess(tls *libc.TLS, pCfVfs uintptr, zPath uintptr, flags int32, pResOut uintptr) int32 { /* test6.c:665:12: */ var pVfs uintptr = (*sqlite3_vfs)(unsafe.Pointer(pCfVfs)).FpAppData return (*(*func(*libc.TLS, uintptr, uintptr, int32, uintptr) int32)(unsafe.Pointer((pVfs + 56 /* &.xAccess */))))(tls, pVfs, zPath, flags, pResOut) } + func cfFullPathname(tls *libc.TLS, pCfVfs uintptr, zPath uintptr, nPathOut int32, zPathOut uintptr) int32 { /* test6.c:674:12: */ var pVfs uintptr = (*sqlite3_vfs)(unsafe.Pointer(pCfVfs)).FpAppData return (*(*func(*libc.TLS, uintptr, uintptr, int32, uintptr) int32)(unsafe.Pointer((pVfs + 64 /* &.xFullPathname */))))(tls, pVfs, zPath, nPathOut, zPathOut) } + func cfDlOpen(tls *libc.TLS, pCfVfs uintptr, zPath uintptr) uintptr { /* test6.c:683:13: */ var pVfs uintptr = (*sqlite3_vfs)(unsafe.Pointer(pCfVfs)).FpAppData return (*(*func(*libc.TLS, uintptr, uintptr) uintptr)(unsafe.Pointer((pVfs + 72 /* &.xDlOpen */))))(tls, pVfs, zPath) } + func cfDlError(tls *libc.TLS, pCfVfs uintptr, nByte int32, zErrMsg uintptr) { /* test6.c:687:13: */ var pVfs uintptr = (*sqlite3_vfs)(unsafe.Pointer(pCfVfs)).FpAppData (*(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer((pVfs + 80 /* &.xDlError */))))(tls, pVfs, nByte, zErrMsg) } + func cfDlSym(tls *libc.TLS, pCfVfs uintptr, pH uintptr, zSym uintptr) uintptr { /* test6.c:691:13: */ var pVfs uintptr = (*sqlite3_vfs)(unsafe.Pointer(pCfVfs)).FpAppData return (*(*func(*libc.TLS, uintptr, uintptr, uintptr) uintptr)(unsafe.Pointer((pVfs + 88 /* &.xDlSym */))))(tls, pVfs, pH, zSym) } + func cfDlClose(tls *libc.TLS, pCfVfs uintptr, pHandle uintptr) { /* test6.c:695:13: */ var pVfs uintptr = (*sqlite3_vfs)(unsafe.Pointer(pCfVfs)).FpAppData (*(*func(*libc.TLS, uintptr, uintptr))(unsafe.Pointer((pVfs + 96 /* &.xDlClose */))))(tls, pVfs, pHandle) } + func cfRandomness(tls *libc.TLS, pCfVfs uintptr, nByte int32, zBufOut uintptr) int32 { /* test6.c:699:12: */ var pVfs uintptr = (*sqlite3_vfs)(unsafe.Pointer(pCfVfs)).FpAppData return (*(*func(*libc.TLS, uintptr, int32, uintptr) int32)(unsafe.Pointer((pVfs + 104 /* &.xRandomness */))))(tls, pVfs, nByte, zBufOut) } + func cfSleep(tls *libc.TLS, pCfVfs uintptr, nMicro int32) int32 { /* test6.c:703:12: */ var pVfs uintptr = (*sqlite3_vfs)(unsafe.Pointer(pCfVfs)).FpAppData return (*(*func(*libc.TLS, uintptr, int32) int32)(unsafe.Pointer((pVfs + 112 /* &.xSleep */))))(tls, pVfs, nMicro) } + func cfCurrentTime(tls *libc.TLS, pCfVfs uintptr, pTimeOut uintptr) int32 { /* test6.c:707:12: */ var pVfs uintptr = (*sqlite3_vfs)(unsafe.Pointer(pCfVfs)).FpAppData return (*(*func(*libc.TLS, uintptr, uintptr) int32)(unsafe.Pointer((pVfs + 120 /* &.xCurrentTime */))))(tls, pVfs, pTimeOut) } + func cfGetLastError(tls *libc.TLS, pCfVfs uintptr, n int32, z uintptr) int32 { /* test6.c:711:12: */ var pVfs uintptr = (*sqlite3_vfs)(unsafe.Pointer(pCfVfs)).FpAppData return (*(*func(*libc.TLS, uintptr, int32, uintptr) int32)(unsafe.Pointer((pVfs + 128 /* &.xGetLastError */))))(tls, pVfs, n, z) @@ -60785,6 +60862,7 @@ func echoTransactionCall(tls *libc.TLS, tab uintptr, zCall uintptr) int32 { /* t sqlite3.Xsqlite3_free(tls, z) return 0 } + func echoBegin(tls *libc.TLS, tab uintptr) int32 { /* test8.c:1111:12: */ var rc int32 var pVtab uintptr = tab @@ -60814,6 +60892,7 @@ func echoBegin(tls *libc.TLS, tab uintptr) int32 { /* test8.c:1111:12: */ } return rc } + func echoSync(tls *libc.TLS, tab uintptr) int32 { /* test8.c:1142:12: */ var rc int32 var pVtab uintptr = tab @@ -60840,6 +60919,7 @@ func echoSync(tls *libc.TLS, tab uintptr) int32 { /* test8.c:1142:12: */ } return rc } + func echoCommit(tls *libc.TLS, tab uintptr) int32 { /* test8.c:1170:12: */ var pVtab uintptr = tab var rc int32 @@ -60857,6 +60937,7 @@ func echoCommit(tls *libc.TLS, tab uintptr) int32 { /* test8.c:1170:12: */ (*echo_vtab)(unsafe.Pointer(pVtab)).FinTransaction = 0 return rc } + func echoRollback(tls *libc.TLS, tab uintptr) int32 { /* test8.c:1188:12: */ var rc int32 var pVtab uintptr = tab @@ -63347,9 +63428,11 @@ func demoFileSize(tls *libc.TLS, pFile uintptr, pSize uintptr) int32 { /* test_d func demoLock(tls *libc.TLS, pFile uintptr, eLock int32) int32 { /* test_demovfs.c:360:12: */ return 0 } + func demoUnlock(tls *libc.TLS, pFile uintptr, eLock int32) int32 { /* test_demovfs.c:363:12: */ return 0 } + func demoCheckReservedLock(tls *libc.TLS, pFile uintptr, pResOut uintptr) int32 { /* test_demovfs.c:366:12: */ *(*int32)(unsafe.Pointer(pResOut)) = 0 return 0 @@ -63366,6 +63449,7 @@ func demoFileControl(tls *libc.TLS, pFile uintptr, op int32, pArg uintptr) int32 func demoSectorSize(tls *libc.TLS, pFile uintptr) int32 { /* test_demovfs.c:383:12: */ return 0 } + func demoDeviceCharacteristics(tls *libc.TLS, pFile uintptr) int32 { /* test_demovfs.c:386:12: */ return 0 } @@ -63551,13 +63635,16 @@ func demoFullPathname(tls *libc.TLS, pVfs uintptr, zPath uintptr, nPathOut int32 func demoDlOpen(tls *libc.TLS, pVfs uintptr, zPath uintptr) uintptr { /* test_demovfs.c:564:13: */ return uintptr(0) } + func demoDlError(tls *libc.TLS, pVfs uintptr, nByte int32, zErrMsg uintptr) { /* test_demovfs.c:567:13: */ sqlite3.Xsqlite3_snprintf(tls, nByte, zErrMsg, ts+29503 /* "Loadable extensi..." */, 0) *(*int8)(unsafe.Pointer(zErrMsg + uintptr((nByte - 1)))) = int8(0) } + func demoDlSym(tls *libc.TLS, pVfs uintptr, pH uintptr, z uintptr) uintptr { /* test_demovfs.c:571:13: */ return uintptr(0) } + func demoDlClose(tls *libc.TLS, pVfs uintptr, pHandle uintptr) { /* test_demovfs.c:574:13: */ return } @@ -63652,6 +63739,7 @@ func register_demovfs(tls *libc.TLS, clientData ClientData, interp uintptr, objc sqlite3.Xsqlite3_vfs_register(tls, sqlite3_demovfs(tls), 1) return 0 } + func unregister_demovfs(tls *libc.TLS, clientData ClientData, interp uintptr, objc int32, objv uintptr) int32 { /* test_demovfs.c:666:26: */ sqlite3.Xsqlite3_vfs_unregister(tls, sqlite3_demovfs(tls)) return 0 @@ -63779,14 +63867,17 @@ func devsymShmLock(tls *libc.TLS, pFile uintptr, ofst int32, n int32, flags int3 var p uintptr = pFile return sqlite3.Xsqlite3OsShmLock(tls, (*devsym_file)(unsafe.Pointer(p)).FpReal, ofst, n, flags) } + func devsymShmMap(tls *libc.TLS, pFile uintptr, iRegion int32, szRegion int32, isWrite int32, pp uintptr) int32 { /* test_devsym.c:196:12: */ var p uintptr = pFile - return sqlite3.Xsqlite3OsShmMap(tls, (*devsym_file)(unsafe.Pointer(p)).FpReal, iRegion, szRegion, isWrite, pp) + return sqlite3.Xsqlite3OsShmMap(tls, (*devsym_file)(unsafe.Pointer(p)).FpReal, iRegion, szRegion, isWrite, libc.AtomicLoadUintptr(&pp)) } + func devsymShmBarrier(tls *libc.TLS, pFile uintptr) { /* test_devsym.c:206:13: */ var p uintptr = pFile sqlite3.Xsqlite3OsShmBarrier(tls, (*devsym_file)(unsafe.Pointer(p)).FpReal) } + func devsymShmUnmap(tls *libc.TLS, pFile uintptr, delFlag int32) int32 { /* test_devsym.c:210:12: */ var p uintptr = pFile return sqlite3.Xsqlite3OsShmUnmap(tls, (*devsym_file)(unsafe.Pointer(p)).FpReal, delFlag) @@ -65314,6 +65405,7 @@ var zSrc = *(*[79]uint8)(unsafe.Pointer(ts + 29999 /* "abcdefghijklmnop..." */)) // // WARNING: Not threadsafe. var test_destructor_count_var int32 = 0 /* test_func.c:91:12 */ + func destructor(tls *libc.TLS, p uintptr) { /* test_func.c:92:13: */ var zVal uintptr = p @@ -65321,6 +65413,7 @@ func destructor(tls *libc.TLS, p uintptr) { /* test_func.c:92:13: */ sqlite3.Xsqlite3_free(tls, zVal) test_destructor_count_var-- } + func test_destructor(tls *libc.TLS, pCtx uintptr, nArg int32, argv uintptr) { /* test_func.c:99:13: */ var zVal uintptr var len int32 @@ -65341,6 +65434,7 @@ func test_destructor(tls *libc.TLS, pCtx uintptr, nArg int32, argv uintptr) { /* libc.Xmemcpy(tls, zVal, sqlite3.Xsqlite3_value_text(tls, *(*uintptr)(unsafe.Pointer(argv + uintptr(0)*8))), uint64(len)) sqlite3.Xsqlite3_result_text(tls, pCtx, zVal, -1, *(*uintptr)(unsafe.Pointer(&struct{ f func(*libc.TLS, uintptr) }{destructor}))) } + func test_destructor16(tls *libc.TLS, pCtx uintptr, nArg int32, argv uintptr) { /* test_func.c:122:13: */ var zVal uintptr var len int32 @@ -65361,11 +65455,14 @@ func test_destructor16(tls *libc.TLS, pCtx uintptr, nArg int32, argv uintptr) { libc.Xmemcpy(tls, zVal, sqlite3.Xsqlite3_value_text16(tls, *(*uintptr)(unsafe.Pointer(argv + uintptr(0)*8))), uint64(len)) sqlite3.Xsqlite3_result_text16(tls, pCtx, zVal, -1, *(*uintptr)(unsafe.Pointer(&struct{ f func(*libc.TLS, uintptr) }{destructor}))) } + func test_destructor_count(tls *libc.TLS, pCtx uintptr, nArg int32, argv uintptr) { /* test_func.c:145:13: */ sqlite3.Xsqlite3_result_int(tls, pCtx, test_destructor_count_var) } + func test_agg_errmsg16_step(tls *libc.TLS, a uintptr, b int32, c uintptr) { /* test_func.c:165:13: */ } + func test_agg_errmsg16_final(tls *libc.TLS, ctx uintptr) { /* test_func.c:167:13: */ var z uintptr var db uintptr = sqlite3.Xsqlite3_context_db_handle(tls, ctx) @@ -65386,6 +65483,7 @@ func test_agg_errmsg16_final(tls *libc.TLS, ctx uintptr) { /* test_func.c:167:13 func free_test_auxdata(tls *libc.TLS, p uintptr) { /* test_func.c:188:13: */ sqlite3.Xsqlite3_free(tls, p) } + func test_auxdata(tls *libc.TLS, pCtx uintptr, nArg int32, argv uintptr) { /* test_func.c:189:13: */ var i int32 var zRet uintptr = testContextMalloc(tls, pCtx, (nArg * 2)) @@ -65943,6 +66041,7 @@ func autoinstall_test_funcs(tls *libc.TLS, clientData uintptr, interp uintptr, o // A bogus step function and finalizer function. func tStep(tls *libc.TLS, a uintptr, b int32, c uintptr) { /* test_func.c:736:13: */ } + func tFinal(tls *libc.TLS, a uintptr) { /* test_func.c:737:13: */ } @@ -66855,22 +66954,28 @@ func wrMemInit(tls *libc.TLS, pAppData uintptr) int32 { /* test_init.c:49:12: */ } return rc } + func wrMemShutdown(tls *libc.TLS, pAppData uintptr) { /* test_init.c:61:13: */ (*(*func(*libc.TLS, uintptr))(unsafe.Pointer((uintptr(unsafe.Pointer(&wrapped)) + 104 /* &.mem */ + 48 /* &.xShutdown */))))(tls, wrapped.Fmem.FpAppData) wrapped.Fmem_init = 0 } + func wrMemMalloc(tls *libc.TLS, n int32) uintptr { /* test_init.c:65:13: */ return (*(*func(*libc.TLS, int32) uintptr)(unsafe.Pointer((uintptr(unsafe.Pointer(&wrapped)) + 104 /* &.mem */ /* &.xMalloc */))))(tls, n) } + func wrMemFree(tls *libc.TLS, p uintptr) { /* test_init.c:66:13: */ (*(*func(*libc.TLS, uintptr))(unsafe.Pointer((uintptr(unsafe.Pointer(&wrapped)) + 104 /* &.mem */ + 8 /* &.xFree */))))(tls, p) } + func wrMemRealloc(tls *libc.TLS, p uintptr, n int32) uintptr { /* test_init.c:67:13: */ return (*(*func(*libc.TLS, uintptr, int32) uintptr)(unsafe.Pointer((uintptr(unsafe.Pointer(&wrapped)) + 104 /* &.mem */ + 16 /* &.xRealloc */))))(tls, p, n) } + func wrMemSize(tls *libc.TLS, p uintptr) int32 { /* test_init.c:68:12: */ return (*(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer((uintptr(unsafe.Pointer(&wrapped)) + 104 /* &.mem */ + 24 /* &.xSize */))))(tls, p) } + func wrMemRoundup(tls *libc.TLS, n int32) int32 { /* test_init.c:69:12: */ return (*(*func(*libc.TLS, int32) int32)(unsafe.Pointer((uintptr(unsafe.Pointer(&wrapped)) + 104 /* &.mem */ + 32 /* &.xRoundup */))))(tls, n) } @@ -66887,29 +66992,37 @@ func wrMutexInit(tls *libc.TLS) int32 { /* test_init.c:72:12: */ } return rc } + func wrMutexEnd(tls *libc.TLS) int32 { /* test_init.c:84:12: */ (*(*func(*libc.TLS) int32)(unsafe.Pointer((uintptr(unsafe.Pointer(&wrapped)) + 168 /* &.mutex */ + 8 /* &.xMutexEnd */))))(tls) wrapped.Fmutex_init = 0 return 0 } + func wrMutexAlloc(tls *libc.TLS, e int32) uintptr { /* test_init.c:89:22: */ return (*(*func(*libc.TLS, int32) uintptr)(unsafe.Pointer((uintptr(unsafe.Pointer(&wrapped)) + 168 /* &.mutex */ + 16 /* &.xMutexAlloc */))))(tls, e) } + func wrMutexFree(tls *libc.TLS, p uintptr) { /* test_init.c:92:13: */ (*(*func(*libc.TLS, uintptr))(unsafe.Pointer((uintptr(unsafe.Pointer(&wrapped)) + 168 /* &.mutex */ + 24 /* &.xMutexFree */))))(tls, p) } + func wrMutexEnter(tls *libc.TLS, p uintptr) { /* test_init.c:95:13: */ (*(*func(*libc.TLS, uintptr))(unsafe.Pointer((uintptr(unsafe.Pointer(&wrapped)) + 168 /* &.mutex */ + 32 /* &.xMutexEnter */))))(tls, p) } + func wrMutexTry(tls *libc.TLS, p uintptr) int32 { /* test_init.c:98:12: */ return (*(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer((uintptr(unsafe.Pointer(&wrapped)) + 168 /* &.mutex */ + 40 /* &.xMutexTry */))))(tls, p) } + func wrMutexLeave(tls *libc.TLS, p uintptr) { /* test_init.c:101:13: */ (*(*func(*libc.TLS, uintptr))(unsafe.Pointer((uintptr(unsafe.Pointer(&wrapped)) + 168 /* &.mutex */ + 48 /* &.xMutexLeave */))))(tls, p) } + func wrMutexHeld(tls *libc.TLS, p uintptr) int32 { /* test_init.c:104:12: */ return (*(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer((uintptr(unsafe.Pointer(&wrapped)) + 168 /* &.mutex */ + 56 /* &.xMutexHeld */))))(tls, p) } + func wrMutexNotheld(tls *libc.TLS, p uintptr) int32 { /* test_init.c:107:12: */ return (*(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer((uintptr(unsafe.Pointer(&wrapped)) + 168 /* &.mutex */ + 64 /* &.xMutexNotheld */))))(tls, p) } @@ -66926,6 +67039,7 @@ func wrPCacheInit(tls *libc.TLS, pArg uintptr) int32 { /* test_init.c:113:12: */ } return rc } + func wrPCacheShutdown(tls *libc.TLS, pArg uintptr) { /* test_init.c:125:13: */ (*(*func(*libc.TLS, uintptr))(unsafe.Pointer((uintptr(unsafe.Pointer(&wrapped)) /* &.pcache */ + 24 /* &.xShutdown */))))(tls, wrapped.Fpcache.FpArg) wrapped.Fpcache_init = 0 @@ -66934,24 +67048,31 @@ func wrPCacheShutdown(tls *libc.TLS, pArg uintptr) { /* test_init.c:125:13: */ func wrPCacheCreate(tls *libc.TLS, a int32, b int32, c int32) uintptr { /* test_init.c:130:23: */ return (*(*func(*libc.TLS, int32, int32, int32) uintptr)(unsafe.Pointer((uintptr(unsafe.Pointer(&wrapped)) /* &.pcache */ + 32 /* &.xCreate */))))(tls, a, b, c) } + func wrPCacheCachesize(tls *libc.TLS, p uintptr, n int32) { /* test_init.c:133:13: */ (*(*func(*libc.TLS, uintptr, int32))(unsafe.Pointer((uintptr(unsafe.Pointer(&wrapped)) /* &.pcache */ + 40 /* &.xCachesize */))))(tls, p, n) } + func wrPCachePagecount(tls *libc.TLS, p uintptr) int32 { /* test_init.c:136:12: */ return (*(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer((uintptr(unsafe.Pointer(&wrapped)) /* &.pcache */ + 48 /* &.xPagecount */))))(tls, p) } + func wrPCacheFetch(tls *libc.TLS, p uintptr, a uint32, b int32) uintptr { /* test_init.c:139:28: */ return (*(*func(*libc.TLS, uintptr, uint32, int32) uintptr)(unsafe.Pointer((uintptr(unsafe.Pointer(&wrapped)) /* &.pcache */ + 56 /* &.xFetch */))))(tls, p, a, b) } + func wrPCacheUnpin(tls *libc.TLS, p uintptr, a uintptr, b int32) { /* test_init.c:142:13: */ (*(*func(*libc.TLS, uintptr, uintptr, int32))(unsafe.Pointer((uintptr(unsafe.Pointer(&wrapped)) /* &.pcache */ + 64 /* &.xUnpin */))))(tls, p, a, b) } + func wrPCacheRekey(tls *libc.TLS, p uintptr, a uintptr, b uint32, c uint32) { /* test_init.c:145:13: */ (*(*func(*libc.TLS, uintptr, uintptr, uint32, uint32))(unsafe.Pointer((uintptr(unsafe.Pointer(&wrapped)) /* &.pcache */ + 72 /* &.xRekey */))))(tls, p, a, b, c) } + func wrPCacheTruncate(tls *libc.TLS, p uintptr, a uint32) { /* test_init.c:153:13: */ (*(*func(*libc.TLS, uintptr, uint32))(unsafe.Pointer((uintptr(unsafe.Pointer(&wrapped)) /* &.pcache */ + 80 /* &.xTruncate */))))(tls, p, a) } + func wrPCacheDestroy(tls *libc.TLS, p uintptr) { /* test_init.c:156:13: */ (*(*func(*libc.TLS, uintptr))(unsafe.Pointer((uintptr(unsafe.Pointer(&wrapped)) /* &.pcache */ + 88 /* &.xDestroy */))))(tls, p) } @@ -67579,15 +67700,18 @@ var g2 = JtGlobal{} /* test_journal.c:207:24 */ func enterJtMutex(tls *libc.TLS) { /* test_journal.c:213:13: */ sqlite3.Xsqlite3_mutex_enter(tls, sqlite3.Xsqlite3_mutex_alloc(tls, 5)) } + func leaveJtMutex(tls *libc.TLS) { /* test_journal.c:216:13: */ sqlite3.Xsqlite3_mutex_leave(tls, sqlite3.Xsqlite3_mutex_alloc(tls, 5)) } + func stop_ioerr_simulation(tls *libc.TLS, piSave uintptr, piSave2 uintptr) { /* test_journal.c:222:13: */ *(*int32)(unsafe.Pointer(piSave)) = sqlite3.Xsqlite3_io_error_pending *(*int32)(unsafe.Pointer(piSave2)) = sqlite3.Xsqlite3_io_error_hit sqlite3.Xsqlite3_io_error_pending = -1 sqlite3.Xsqlite3_io_error_hit = 0 } + func start_ioerr_simulation(tls *libc.TLS, iSave int32, iSave2 int32) { /* test_journal.c:228:13: */ sqlite3.Xsqlite3_io_error_pending = iSave sqlite3.Xsqlite3_io_error_hit = iSave2 @@ -68530,6 +68654,7 @@ func faultsimPending(tls *libc.TLS) int32 { /* test_malloc.c:160:12: */ func faultsimBeginBenign(tls *libc.TLS) { /* test_malloc.c:169:13: */ memfault.FisBenignMode++ } + func faultsimEndBenign(tls *libc.TLS) { /* test_malloc.c:172:13: */ memfault.FisBenignMode-- } @@ -68635,6 +68760,7 @@ __3: } var zHex = *(*[17]int8)(unsafe.Pointer(ts + 30109 /* "0123456789abcdef" */)) /* test_malloc.c:240:21 */ + func hexToInt(tls *libc.TLS, h int32) int32 { /* test_malloc.c:262:12: */ if (h >= '0') && (h <= '9') { return (h - '0') @@ -68645,6 +68771,7 @@ func hexToInt(tls *libc.TLS, h int32) int32 { /* test_malloc.c:262:12: */ } return int32(0) } + func textToPointer(tls *libc.TLS, z uintptr, pp uintptr) int32 { /* test_malloc.c:271:12: */ bp := tls.Alloc(12) defer tls.Free(12) @@ -70496,6 +70623,7 @@ func md5step(tls *libc.TLS, context uintptr, argc int32, argv uintptr) { /* test } } } + func md5finalize(tls *libc.TLS, context uintptr) { /* test_md5.c:432:13: */ bp := tls.Alloc(49) defer tls.Free(49) @@ -70510,6 +70638,7 @@ func md5finalize(tls *libc.TLS, context uintptr) { /* test_md5.c:432:13: */ MD5DigestToBase16(tls, bp /* &digest[0] */, bp+16 /* &zBuf[0] */) sqlite3.Xsqlite3_result_text(tls, context, bp+16 /* &zBuf[0] */, -1, libc.UintptrFromInt32(-1)) } + func Md5_Register(tls *libc.TLS, db uintptr, pzErrMsg uintptr, pThunk uintptr) int32 { /* test_md5.c:441:5: */ var rc int32 = sqlite3.Xsqlite3_create_function(tls, db, ts+33518 /* "md5sum" */, -1, 1, uintptr(0), uintptr(0), *(*uintptr)(unsafe.Pointer(&struct { @@ -71064,30 +71193,39 @@ func multiplexDelete(tls *libc.TLS, pVfs uintptr, zName uintptr, syncDir int32) func multiplexAccess(tls *libc.TLS, a uintptr, b uintptr, c int32, d uintptr) int32 { /* test_multiplex.c:656:12: */ return (*(*func(*libc.TLS, uintptr, uintptr, int32, uintptr) int32)(unsafe.Pointer((gMultiplex.FpOrigVfs + 56 /* &.xAccess */))))(tls, gMultiplex.FpOrigVfs, b, c, d) } + func multiplexFullPathname(tls *libc.TLS, a uintptr, b uintptr, c int32, d uintptr) int32 { /* test_multiplex.c:659:12: */ return (*(*func(*libc.TLS, uintptr, uintptr, int32, uintptr) int32)(unsafe.Pointer((gMultiplex.FpOrigVfs + 64 /* &.xFullPathname */))))(tls, gMultiplex.FpOrigVfs, b, c, d) } + func multiplexDlOpen(tls *libc.TLS, a uintptr, b uintptr) uintptr { /* test_multiplex.c:662:13: */ return (*(*func(*libc.TLS, uintptr, uintptr) uintptr)(unsafe.Pointer((gMultiplex.FpOrigVfs + 72 /* &.xDlOpen */))))(tls, gMultiplex.FpOrigVfs, b) } + func multiplexDlError(tls *libc.TLS, a uintptr, b int32, c uintptr) { /* test_multiplex.c:665:13: */ (*(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer((gMultiplex.FpOrigVfs + 80 /* &.xDlError */))))(tls, gMultiplex.FpOrigVfs, b, c) } + func multiplexDlSym(tls *libc.TLS, a uintptr, b uintptr, c uintptr) uintptr { /* test_multiplex.c:668:13: */ return (*(*func(*libc.TLS, uintptr, uintptr, uintptr) uintptr)(unsafe.Pointer((gMultiplex.FpOrigVfs + 88 /* &.xDlSym */))))(tls, gMultiplex.FpOrigVfs, b, c) } + func multiplexDlClose(tls *libc.TLS, a uintptr, b uintptr) { /* test_multiplex.c:671:13: */ (*(*func(*libc.TLS, uintptr, uintptr))(unsafe.Pointer((gMultiplex.FpOrigVfs + 96 /* &.xDlClose */))))(tls, gMultiplex.FpOrigVfs, b) } + func multiplexRandomness(tls *libc.TLS, a uintptr, b int32, c uintptr) int32 { /* test_multiplex.c:674:12: */ return (*(*func(*libc.TLS, uintptr, int32, uintptr) int32)(unsafe.Pointer((gMultiplex.FpOrigVfs + 104 /* &.xRandomness */))))(tls, gMultiplex.FpOrigVfs, b, c) } + func multiplexSleep(tls *libc.TLS, a uintptr, b int32) int32 { /* test_multiplex.c:677:12: */ return (*(*func(*libc.TLS, uintptr, int32) int32)(unsafe.Pointer((gMultiplex.FpOrigVfs + 112 /* &.xSleep */))))(tls, gMultiplex.FpOrigVfs, b) } + func multiplexCurrentTime(tls *libc.TLS, a uintptr, b uintptr) int32 { /* test_multiplex.c:680:12: */ return (*(*func(*libc.TLS, uintptr, uintptr) int32)(unsafe.Pointer((gMultiplex.FpOrigVfs + 120 /* &.xCurrentTime */))))(tls, gMultiplex.FpOrigVfs, b) } + func multiplexGetLastError(tls *libc.TLS, a uintptr, b int32, c uintptr) int32 { /* test_multiplex.c:683:12: */ if (*sqlite3_vfs)(unsafe.Pointer(gMultiplex.FpOrigVfs)).FxGetLastError != 0 { return (*(*func(*libc.TLS, uintptr, int32, uintptr) int32)(unsafe.Pointer((gMultiplex.FpOrigVfs + 128 /* &.xGetLastError */))))(tls, gMultiplex.FpOrigVfs, b, c) @@ -71096,6 +71234,7 @@ func multiplexGetLastError(tls *libc.TLS, a uintptr, b int32, c uintptr) int32 { } return int32(0) } + func multiplexCurrentTimeInt64(tls *libc.TLS, a uintptr, b uintptr) int32 { /* test_multiplex.c:690:12: */ return (*(*func(*libc.TLS, uintptr, uintptr) int32)(unsafe.Pointer((gMultiplex.FpOrigVfs + 136 /* &.xCurrentTimeInt64 */))))(tls, gMultiplex.FpOrigVfs, b) } @@ -71473,7 +71612,7 @@ func multiplexShmMap(tls *libc.TLS, pConn uintptr, iRegion int32, szRegion int32 var pSubOpen uintptr = multiplexSubOpen(tls, (*multiplexConn)(unsafe.Pointer(p)).FpGroup, 0, bp /* &rc */, uintptr(0), 0) if pSubOpen != 0 { - return (*(*func(*libc.TLS, uintptr, int32, int32, int32, uintptr) int32)(unsafe.Pointer(((*sqlite3_file)(unsafe.Pointer(pSubOpen)).FpMethods + 104 /* &.xShmMap */))))(tls, pSubOpen, iRegion, szRegion, bExtend, pp) + return (*(*func(*libc.TLS, uintptr, int32, int32, int32, uintptr) int32)(unsafe.Pointer(((*sqlite3_file)(unsafe.Pointer(pSubOpen)).FpMethods + 104 /* &.xShmMap */))))(tls, pSubOpen, iRegion, szRegion, bExtend, libc.AtomicLoadUintptr(&pp)) } return 10 } @@ -73751,16 +73890,18 @@ func vfslogShmLock(tls *libc.TLS, pFile uintptr, ofst int32, n int32, flags int3 vfslog_call(tls, (*VfslogFile)(unsafe.Pointer(p)).FpVfslog, 25, (*VfslogFile)(unsafe.Pointer(p)).FiFileId, int64(t), rc, 0, 0) return rc } + func vfslogShmMap(tls *libc.TLS, pFile uintptr, iRegion int32, szRegion int32, isWrite int32, pp uintptr) int32 { /* test_osinst.c:442:12: */ var rc int32 var t sqlite3_uint64 var p uintptr = pFile t = vfslog_time(tls) - rc = (*(*func(*libc.TLS, uintptr, int32, int32, int32, uintptr) int32)(unsafe.Pointer(((*sqlite3_file)(unsafe.Pointer((*VfslogFile)(unsafe.Pointer(p)).FpReal)).FpMethods + 104 /* &.xShmMap */))))(tls, (*VfslogFile)(unsafe.Pointer(p)).FpReal, iRegion, szRegion, isWrite, pp) + rc = (*(*func(*libc.TLS, uintptr, int32, int32, int32, uintptr) int32)(unsafe.Pointer(((*sqlite3_file)(unsafe.Pointer((*VfslogFile)(unsafe.Pointer(p)).FpReal)).FpMethods + 104 /* &.xShmMap */))))(tls, (*VfslogFile)(unsafe.Pointer(p)).FpReal, iRegion, szRegion, isWrite, libc.AtomicLoadUintptr(&pp)) t = (vfslog_time(tls) - t) vfslog_call(tls, (*VfslogFile)(unsafe.Pointer(p)).FpVfslog, 23, (*VfslogFile)(unsafe.Pointer(p)).FiFileId, int64(t), rc, 0, 0) return rc } + func vfslogShmBarrier(tls *libc.TLS, pFile uintptr) { /* test_osinst.c:458:13: */ var t sqlite3_uint64 var p uintptr = pFile @@ -73769,6 +73910,7 @@ func vfslogShmBarrier(tls *libc.TLS, pFile uintptr) { /* test_osinst.c:458:13: * t = (vfslog_time(tls) - t) vfslog_call(tls, (*VfslogFile)(unsafe.Pointer(p)).FpVfslog, 26, (*VfslogFile)(unsafe.Pointer(p)).FiFileId, int64(t), 0, 0, 0) } + func vfslogShmUnmap(tls *libc.TLS, pFile uintptr, deleteFlag int32) int32 { /* test_osinst.c:466:12: */ var rc int32 var t sqlite3_uint64 @@ -73877,6 +74019,7 @@ func vfslogCurrentTime(tls *libc.TLS, pVfs uintptr, pTimeOut uintptr) int32 { /* func vfslogGetLastError(tls *libc.TLS, pVfs uintptr, a int32, b uintptr) int32 { /* test_osinst.c:610:12: */ return (*(*func(*libc.TLS, uintptr, int32, uintptr) int32)(unsafe.Pointer(((*VfslogVfs)(unsafe.Pointer(pVfs)).FpVfs + 128 /* &.xGetLastError */))))(tls, (*VfslogVfs)(unsafe.Pointer(pVfs)).FpVfs, a, b) } + func vfslogCurrentTimeInt64(tls *libc.TLS, pVfs uintptr, p uintptr) int32 { /* test_osinst.c:613:12: */ return (*(*func(*libc.TLS, uintptr, uintptr) int32)(unsafe.Pointer(((*VfslogVfs)(unsafe.Pointer(pVfs)).FpVfs + 136 /* &.xCurrentTimeInt64 */))))(tls, (*VfslogVfs)(unsafe.Pointer(pVfs)).FpVfs, p) } @@ -75118,6 +75261,7 @@ var gQuota struct { func quotaEnter(tls *libc.TLS) { /* test_quota.c:190:13: */ sqlite3.Xsqlite3_mutex_enter(tls, gQuota.FpMutex) } + func quotaLeave(tls *libc.TLS) { /* test_quota.c:191:13: */ sqlite3.Xsqlite3_mutex_leave(tls, gQuota.FpMutex) } @@ -75584,7 +75728,7 @@ func quotaDeviceCharacteristics(tls *libc.TLS, pConn uintptr) int32 { /* test_qu // Pass xShmMap requests through to the original VFS unchanged. func quotaShmMap(tls *libc.TLS, pConn uintptr, iRegion int32, szRegion int32, bExtend int32, pp uintptr) int32 { /* test_quota.c:700:12: */ var pSubOpen uintptr = quotaSubOpen(tls, pConn) - return (*(*func(*libc.TLS, uintptr, int32, int32, int32, uintptr) int32)(unsafe.Pointer(((*sqlite3_file)(unsafe.Pointer(pSubOpen)).FpMethods + 104 /* &.xShmMap */))))(tls, pSubOpen, iRegion, szRegion, bExtend, pp) + return (*(*func(*libc.TLS, uintptr, int32, int32, int32, uintptr) int32)(unsafe.Pointer(((*sqlite3_file)(unsafe.Pointer(pSubOpen)).FpMethods + 104 /* &.xShmMap */))))(tls, pSubOpen, iRegion, szRegion, bExtend, libc.AtomicLoadUintptr(&pp)) } // Pass xShmLock requests through to the original VFS unchanged. @@ -78258,6 +78402,7 @@ func sqlite3_client_open(tls *libc.TLS, zDatabaseName uintptr, ppDb uintptr) int *(*uintptr)(unsafe.Pointer(ppDb)) = (*SqlMessage)(unsafe.Pointer(bp /* &msg */)).FpDb return (*SqlMessage)(unsafe.Pointer(bp /* &msg */)).FerrCode } + func sqlite3_client_prepare(tls *libc.TLS, pDb uintptr, zSql uintptr, nByte int32, ppStmt uintptr, pzTail uintptr) int32 { /* test_server.c:340:5: */ bp := tls.Alloc(160) defer tls.Free(160) @@ -78275,6 +78420,7 @@ func sqlite3_client_prepare(tls *libc.TLS, pDb uintptr, zSql uintptr, nByte int3 } return (*SqlMessage)(unsafe.Pointer(bp /* &msg */)).FerrCode } + func sqlite3_client_step(tls *libc.TLS, pStmt uintptr) int32 { /* test_server.c:357:5: */ bp := tls.Alloc(160) defer tls.Free(160) @@ -78286,6 +78432,7 @@ func sqlite3_client_step(tls *libc.TLS, pStmt uintptr) int32 { /* test_server.c: sendToServer(tls, bp /* &msg */) return (*SqlMessage)(unsafe.Pointer(bp /* &msg */)).FerrCode } + func sqlite3_client_reset(tls *libc.TLS, pStmt uintptr) int32 { /* test_server.c:364:5: */ bp := tls.Alloc(160) defer tls.Free(160) @@ -78297,6 +78444,7 @@ func sqlite3_client_reset(tls *libc.TLS, pStmt uintptr) int32 { /* test_server.c sendToServer(tls, bp /* &msg */) return (*SqlMessage)(unsafe.Pointer(bp /* &msg */)).FerrCode } + func sqlite3_client_finalize(tls *libc.TLS, pStmt uintptr) int32 { /* test_server.c:371:5: */ bp := tls.Alloc(160) defer tls.Free(160) @@ -78308,6 +78456,7 @@ func sqlite3_client_finalize(tls *libc.TLS, pStmt uintptr) int32 { /* test_serve sendToServer(tls, bp /* &msg */) return (*SqlMessage)(unsafe.Pointer(bp /* &msg */)).FerrCode } + func sqlite3_client_close(tls *libc.TLS, pDb uintptr) int32 { /* test_server.c:378:5: */ bp := tls.Alloc(160) defer tls.Free(160) @@ -78619,7 +78768,7 @@ func superlockWalLock(tls *libc.TLS, db uintptr, pBusy uintptr) int32 { /* test_ if rc != 0 { return rc } - libc.Xmemset(tls, *(*uintptr)(unsafe.Pointer(bp + 8 /* p */)), 0, uint64(32)) + libc.Xmemset(tls, libc.AtomicLoadPUintptr(bp+8 /* p */), 0, uint64(32)) // Obtain exclusive locks on all the "read-lock" slots. Once these locks // are held, it is guaranteed that there are no active reader, writer or @@ -79817,6 +79966,7 @@ func tclvarConnect(tls *libc.TLS, db uintptr, pAux uintptr, argc int32, argv uin } var zSchema = *(*[100]int8)(unsafe.Pointer(ts + 36295 /* "CREATE TABLE x( ..." */)) /* test_tclvar.c:88:21 */ + // Note that for this virtual table, the xCreate and xConnect // methods are identical. @@ -81128,6 +81278,7 @@ func tvfsInjectIoerr(tls *libc.TLS, p uintptr) int32 { /* test_vfs.c:269:12: */ func tvfsInjectFullerr(tls *libc.TLS, p uintptr) int32 { /* test_vfs.c:273:12: */ return tvfsInjectFault(tls, (p + 72 /* &.full_err */)) } + func tvfsInjectCantopenerr(tls *libc.TLS, p uintptr) int32 { /* test_vfs.c:276:12: */ return tvfsInjectFault(tls, (p + 84 /* &.cantopen_err */)) } @@ -81736,7 +81887,7 @@ func tvfsShmMap(tls *libc.TLS, pFile uintptr, iPage int32, pgsz int32, isWrite i var p uintptr = (*sqlite3_vfs)(unsafe.Pointer((*TestvfsFd)(unsafe.Pointer(pFd)).FpVfs)).FpAppData if (*Testvfs)(unsafe.Pointer(p)).FisFullshm != 0 { - return sqlite3.Xsqlite3OsShmMap(tls, (*TestvfsFd)(unsafe.Pointer(pFd)).FpReal, iPage, pgsz, isWrite, pp) + return sqlite3.Xsqlite3OsShmMap(tls, (*TestvfsFd)(unsafe.Pointer(pFd)).FpReal, iPage, pgsz, isWrite, libc.AtomicLoadUintptr(&pp)) } if uintptr(0) == (*TestvfsFd)(unsafe.Pointer(pFd)).FpShm { @@ -81770,7 +81921,7 @@ func tvfsShmMap(tls *libc.TLS, pFile uintptr, iPage int32, pgsz int32, isWrite i tvfsAllocPage(tls, (*TestvfsFd)(unsafe.Pointer(pFd)).FpShm, iPage, pgsz) } if (*(*int32)(unsafe.Pointer(bp /* rc */)) == 0) || (*(*int32)(unsafe.Pointer(bp /* rc */)) == 8) { - *(*uintptr)(unsafe.Pointer(pp)) = *(*uintptr)(unsafe.Pointer(((*TestvfsFd)(unsafe.Pointer(pFd)).FpShm + 16 /* &.aPage */) + uintptr(iPage)*8)) + *(*uintptr)(unsafe.Pointer(libc.AtomicLoadUintptr(&pp))) = *(*uintptr)(unsafe.Pointer(((*TestvfsFd)(unsafe.Pointer(pFd)).FpShm + 16 /* &.aPage */) + uintptr(iPage)*8)) } return *(*int32)(unsafe.Pointer(bp /* rc */)) @@ -82738,11 +82889,11 @@ func test_vfs_set_readmark(tls *libc.TLS, clientData uintptr, interp uintptr, ob tcl.XTcl_SetObjResult(tls, interp, tcl.XTcl_NewStringObj(tls, sqlite3.Xsqlite3ErrName(tls, rc), -1)) return 1 } - if *(*uintptr)(unsafe.Pointer(bp + 40 /* pShm */)) == uintptr(0) { + if libc.AtomicLoadPUintptr(bp+40 /* pShm */) == uintptr(0) { tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp, ts+38116 /* "*-shm is not yet..." */, 0)) return 1 } - aShm = *(*uintptr)(unsafe.Pointer(bp + 40 /* pShm */)) + aShm = libc.AtomicLoadPUintptr(bp + 40 /* pShm */) iOff = (((12 * 2) + 1) + *(*int32)(unsafe.Pointer(bp + 24 /* iSlot */))) if objc == 5 { @@ -82894,6 +83045,7 @@ func doTestWindowFinalize(tls *libc.TLS, bValue int32, ctx uintptr) { /* test_wi func testWindowStep(tls *libc.TLS, ctx uintptr, nArg int32, apArg uintptr) { /* test_window.c:107:13: */ doTestWindowStep(tls, 0, ctx, nArg, apArg) } + func testWindowInverse(tls *libc.TLS, ctx uintptr, nArg int32, apArg uintptr) { /* test_window.c:114:13: */ doTestWindowStep(tls, 1, ctx, nArg, apArg) } @@ -82901,6 +83053,7 @@ func testWindowInverse(tls *libc.TLS, ctx uintptr, nArg int32, apArg uintptr) { func testWindowFinal(tls *libc.TLS, ctx uintptr) { /* test_window.c:122:13: */ doTestWindowFinalize(tls, 0, ctx) } + func testWindowValue(tls *libc.TLS, ctx uintptr) { /* test_window.c:125:13: */ doTestWindowFinalize(tls, 1, ctx) } diff --git a/lib/sqlite_linux_amd64.go b/lib/sqlite_linux_amd64.go index d19be83..6f173e0 100644 --- a/lib/sqlite_linux_amd64.go +++ b/lib/sqlite_linux_amd64.go @@ -5,6 +5,7 @@ package sqlite3 import ( "math" "reflect" + "sync/atomic" "unsafe" "modernc.org/libc" @@ -12,6 +13,7 @@ import ( var _ = math.Pi var _ reflect.Kind +var _ atomic.Value var _ unsafe.Pointer const ( @@ -3622,8 +3624,14 @@ type Size_t = uint64 /* :9:23 */ type Wchar_t = int32 /* :15:24 */ -type X__int128_t = [2]int64 /* :21:24 */ //TODO -type X__uint128_t = [2]uint64 /* :22:25 */ //TODO +type X__int128_t = struct { + Flo int64 + Fhi int64 +} /* :21:43 */ // must match modernc.org/mathutil.Int128 +type X__uint128_t = struct { + Flo uint64 + Fhi uint64 +} /* :22:44 */ // must match modernc.org/mathutil.Int128 type X__builtin_va_list = uintptr /* :47:14 */ type X__float128 = float64 /* :48:21 */ @@ -10960,6 +10968,7 @@ func Xsqlite3StatusUp(tls *libc.TLS, op int32, N int32) { /* sqlite3.c:21407:21: *(*Sqlite3StatValueType)(unsafe.Pointer((uintptr(unsafe.Pointer(&sqlite3Stat)) + 80 /* &.mxValue */) + uintptr(op)*8)) = *(*Sqlite3StatValueType)(unsafe.Pointer((uintptr(unsafe.Pointer(&sqlite3Stat)) /* &.nowValue */) + uintptr(op)*8)) } } + func Xsqlite3StatusDown(tls *libc.TLS, op int32, N int32) { /* sqlite3.c:21418:21: */ *(*Sqlite3StatValueType)(unsafe.Pointer((uintptr(unsafe.Pointer(&sqlite3Stat)) /* &.nowValue */) + uintptr(op)*8)) -= (Sqlite3StatValueType(N)) @@ -11000,6 +11009,7 @@ func Xsqlite3_status64(tls *libc.TLS, op int32, pCurrent uintptr, pHighwater uin _ = pMutex // Prevent warning when SQLITE_THREADSAFE=0 return 0 } + func Xsqlite3_status(tls *libc.TLS, op int32, pCurrent uintptr, pHighwater uintptr, resetFlag int32) int32 { /* sqlite3.c:21477:16: */ bp := tls.Alloc(16) defer tls.Free(16) @@ -13094,6 +13104,7 @@ func Xsqlite3OsClose(tls *libc.TLS, pId uintptr) { /* sqlite3.c:23048:21: */ (*Sqlite3_file)(unsafe.Pointer(pId)).FpMethods = uintptr(0) } } + func Xsqlite3OsRead(tls *libc.TLS, id uintptr, pBuf uintptr, amt int32, offset I64) int32 { /* sqlite3.c:23054:20: */ if (Xsqlite3_memdebug_vfs_oom_test != 0) && (!(id != 0) || !(Xsqlite3JournalIsInMemory(tls, id) != 0)) { var pTstAlloc uintptr = Xsqlite3Malloc(tls, uint64(10)) @@ -13105,6 +13116,7 @@ func Xsqlite3OsRead(tls *libc.TLS, id uintptr, pBuf uintptr, amt int32, offset I return (*(*func(*libc.TLS, uintptr, uintptr, int32, Sqlite3_int64) int32)(unsafe.Pointer(((*Sqlite3_file)(unsafe.Pointer(id)).FpMethods + 16 /* &.xRead */))))(tls, id, pBuf, amt, offset) } + func Xsqlite3OsWrite(tls *libc.TLS, id uintptr, pBuf uintptr, amt int32, offset I64) int32 { /* sqlite3.c:23058:20: */ if (Xsqlite3_memdebug_vfs_oom_test != 0) && (!(id != 0) || !(Xsqlite3JournalIsInMemory(tls, id) != 0)) { var pTstAlloc uintptr = Xsqlite3Malloc(tls, uint64(10)) @@ -13116,9 +13128,11 @@ func Xsqlite3OsWrite(tls *libc.TLS, id uintptr, pBuf uintptr, amt int32, offset return (*(*func(*libc.TLS, uintptr, uintptr, int32, Sqlite3_int64) int32)(unsafe.Pointer(((*Sqlite3_file)(unsafe.Pointer(id)).FpMethods + 24 /* &.xWrite */))))(tls, id, pBuf, amt, offset) } + func Xsqlite3OsTruncate(tls *libc.TLS, id uintptr, size I64) int32 { /* sqlite3.c:23062:20: */ return (*(*func(*libc.TLS, uintptr, Sqlite3_int64) int32)(unsafe.Pointer(((*Sqlite3_file)(unsafe.Pointer(id)).FpMethods + 32 /* &.xTruncate */))))(tls, id, size) } + func Xsqlite3OsSync(tls *libc.TLS, id uintptr, flags int32) int32 { /* sqlite3.c:23065:20: */ if (Xsqlite3_memdebug_vfs_oom_test != 0) && (!(id != 0) || !(Xsqlite3JournalIsInMemory(tls, id) != 0)) { var pTstAlloc uintptr = Xsqlite3Malloc(tls, uint64(10)) @@ -13133,6 +13147,7 @@ func Xsqlite3OsSync(tls *libc.TLS, id uintptr, flags int32) int32 { /* sqlite3.c } return 0 } + func Xsqlite3OsFileSize(tls *libc.TLS, id uintptr, pSize uintptr) int32 { /* sqlite3.c:23069:20: */ if (Xsqlite3_memdebug_vfs_oom_test != 0) && (!(id != 0) || !(Xsqlite3JournalIsInMemory(tls, id) != 0)) { var pTstAlloc uintptr = Xsqlite3Malloc(tls, uint64(10)) @@ -13144,6 +13159,7 @@ func Xsqlite3OsFileSize(tls *libc.TLS, id uintptr, pSize uintptr) int32 { /* sql return (*(*func(*libc.TLS, uintptr, uintptr) int32)(unsafe.Pointer(((*Sqlite3_file)(unsafe.Pointer(id)).FpMethods + 48 /* &.xFileSize */))))(tls, id, pSize) } + func Xsqlite3OsLock(tls *libc.TLS, id uintptr, lockType int32) int32 { /* sqlite3.c:23073:20: */ if (Xsqlite3_memdebug_vfs_oom_test != 0) && (!(id != 0) || !(Xsqlite3JournalIsInMemory(tls, id) != 0)) { var pTstAlloc uintptr = Xsqlite3Malloc(tls, uint64(10)) @@ -13155,9 +13171,11 @@ func Xsqlite3OsLock(tls *libc.TLS, id uintptr, lockType int32) int32 { /* sqlite return (*(*func(*libc.TLS, uintptr, int32) int32)(unsafe.Pointer(((*Sqlite3_file)(unsafe.Pointer(id)).FpMethods + 56 /* &.xLock */))))(tls, id, lockType) } + func Xsqlite3OsUnlock(tls *libc.TLS, id uintptr, lockType int32) int32 { /* sqlite3.c:23077:20: */ return (*(*func(*libc.TLS, uintptr, int32) int32)(unsafe.Pointer(((*Sqlite3_file)(unsafe.Pointer(id)).FpMethods + 64 /* &.xUnlock */))))(tls, id, lockType) } + func Xsqlite3OsCheckReservedLock(tls *libc.TLS, id uintptr, pResOut uintptr) int32 { /* sqlite3.c:23080:20: */ if (Xsqlite3_memdebug_vfs_oom_test != 0) && (!(id != 0) || !(Xsqlite3JournalIsInMemory(tls, id) != 0)) { var pTstAlloc uintptr = Xsqlite3Malloc(tls, uint64(10)) @@ -13203,6 +13221,7 @@ func Xsqlite3OsFileControl(tls *libc.TLS, id uintptr, op int32, pArg uintptr) in } return (*(*func(*libc.TLS, uintptr, int32, uintptr) int32)(unsafe.Pointer(((*Sqlite3_file)(unsafe.Pointer(id)).FpMethods + 80 /* &.xFileControl */))))(tls, id, op, pArg) } + func Xsqlite3OsFileControlHint(tls *libc.TLS, id uintptr, op int32, pArg uintptr) { /* sqlite3.c:23114:21: */ if (*Sqlite3_file)(unsafe.Pointer(id)).FpMethods != 0 { (*(*func(*libc.TLS, uintptr, int32, uintptr) int32)(unsafe.Pointer(((*Sqlite3_file)(unsafe.Pointer(id)).FpMethods + 80 /* &.xFileControl */))))(tls, id, op, pArg) @@ -13218,18 +13237,23 @@ func Xsqlite3OsSectorSize(tls *libc.TLS, id uintptr) int32 { /* sqlite3.c:23118: return 4096 }() } + func Xsqlite3OsDeviceCharacteristics(tls *libc.TLS, id uintptr) int32 { /* sqlite3.c:23122:20: */ return (*(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(((*Sqlite3_file)(unsafe.Pointer(id)).FpMethods + 96 /* &.xDeviceCharacteristics */))))(tls, id) } + func Xsqlite3OsShmLock(tls *libc.TLS, id uintptr, offset int32, n int32, flags int32) int32 { /* sqlite3.c:23126:20: */ return (*(*func(*libc.TLS, uintptr, int32, int32, int32) int32)(unsafe.Pointer(((*Sqlite3_file)(unsafe.Pointer(id)).FpMethods + 112 /* &.xShmLock */))))(tls, id, offset, n, flags) } + func Xsqlite3OsShmBarrier(tls *libc.TLS, id uintptr) { /* sqlite3.c:23129:21: */ (*(*func(*libc.TLS, uintptr))(unsafe.Pointer(((*Sqlite3_file)(unsafe.Pointer(id)).FpMethods + 120 /* &.xShmBarrier */))))(tls, id) } + func Xsqlite3OsShmUnmap(tls *libc.TLS, id uintptr, deleteFlag int32) int32 { /* sqlite3.c:23132:20: */ return (*(*func(*libc.TLS, uintptr, int32) int32)(unsafe.Pointer(((*Sqlite3_file)(unsafe.Pointer(id)).FpMethods + 128 /* &.xShmUnmap */))))(tls, id, deleteFlag) } + func Xsqlite3OsShmMap(tls *libc.TLS, id uintptr, iPage int32, pgsz int32, bExtend int32, pp uintptr) int32 { /* sqlite3.c:23135:20: */ if (Xsqlite3_memdebug_vfs_oom_test != 0) && (!(id != 0) || !(Xsqlite3JournalIsInMemory(tls, id) != 0)) { var pTstAlloc uintptr = Xsqlite3Malloc(tls, uint64(10)) @@ -13239,7 +13263,7 @@ func Xsqlite3OsShmMap(tls *libc.TLS, id uintptr, iPage int32, pgsz int32, bExten Xsqlite3_free(tls, pTstAlloc) } - return (*(*func(*libc.TLS, uintptr, int32, int32, int32, uintptr) int32)(unsafe.Pointer(((*Sqlite3_file)(unsafe.Pointer(id)).FpMethods + 104 /* &.xShmMap */))))(tls, id, iPage, pgsz, bExtend, pp) + return (*(*func(*libc.TLS, uintptr, int32, int32, int32, uintptr) int32)(unsafe.Pointer(((*Sqlite3_file)(unsafe.Pointer(id)).FpMethods + 104 /* &.xShmMap */))))(tls, id, iPage, pgsz, bExtend, libc.AtomicLoadUintptr(&pp)) } // The real implementation of xFetch and xUnfetch @@ -13254,6 +13278,7 @@ func Xsqlite3OsFetch(tls *libc.TLS, id uintptr, iOff I64, iAmt int32, pp uintptr return (*(*func(*libc.TLS, uintptr, Sqlite3_int64, int32, uintptr) int32)(unsafe.Pointer(((*Sqlite3_file)(unsafe.Pointer(id)).FpMethods + 136 /* &.xFetch */))))(tls, id, iOff, iAmt, pp) } + func Xsqlite3OsUnfetch(tls *libc.TLS, id uintptr, iOff I64, p uintptr) int32 { /* sqlite3.c:23153:20: */ return (*(*func(*libc.TLS, uintptr, Sqlite3_int64, uintptr) int32)(unsafe.Pointer(((*Sqlite3_file)(unsafe.Pointer(id)).FpMethods + 144 /* &.xUnfetch */))))(tls, id, iOff, p) } @@ -13278,6 +13303,7 @@ func Xsqlite3OsOpen(tls *libc.TLS, pVfs uintptr, zPath uintptr, pFile uintptr, f return rc } + func Xsqlite3OsDelete(tls *libc.TLS, pVfs uintptr, zPath uintptr, dirSync int32) int32 { /* sqlite3.c:23188:20: */ if (Xsqlite3_memdebug_vfs_oom_test != 0) && (!(0 != 0) || !(Xsqlite3JournalIsInMemory(tls, uintptr(0)) != 0)) { var pTstAlloc uintptr = Xsqlite3Malloc(tls, uint64(10)) @@ -13289,6 +13315,7 @@ func Xsqlite3OsDelete(tls *libc.TLS, pVfs uintptr, zPath uintptr, dirSync int32) return (*(*func(*libc.TLS, uintptr, uintptr, int32) int32)(unsafe.Pointer((pVfs + 48 /* &.xDelete */))))(tls, pVfs, zPath, dirSync) } + func Xsqlite3OsAccess(tls *libc.TLS, pVfs uintptr, zPath uintptr, flags int32, pResOut uintptr) int32 { /* sqlite3.c:23193:20: */ if (Xsqlite3_memdebug_vfs_oom_test != 0) && (!(0 != 0) || !(Xsqlite3JournalIsInMemory(tls, uintptr(0)) != 0)) { var pTstAlloc uintptr = Xsqlite3Malloc(tls, uint64(10)) @@ -13300,6 +13327,7 @@ func Xsqlite3OsAccess(tls *libc.TLS, pVfs uintptr, zPath uintptr, flags int32, p return (*(*func(*libc.TLS, uintptr, uintptr, int32, uintptr) int32)(unsafe.Pointer((pVfs + 56 /* &.xAccess */))))(tls, pVfs, zPath, flags, pResOut) } + func Xsqlite3OsFullPathname(tls *libc.TLS, pVfs uintptr, zPath uintptr, nPathOut int32, zPathOut uintptr) int32 { /* sqlite3.c:23202:20: */ if (Xsqlite3_memdebug_vfs_oom_test != 0) && (!(0 != 0) || !(Xsqlite3JournalIsInMemory(tls, uintptr(0)) != 0)) { var pTstAlloc uintptr = Xsqlite3Malloc(tls, uint64(10)) @@ -13312,18 +13340,23 @@ func Xsqlite3OsFullPathname(tls *libc.TLS, pVfs uintptr, zPath uintptr, nPathOut *(*int8)(unsafe.Pointer(zPathOut + uintptr(0))) = int8(0) return (*(*func(*libc.TLS, uintptr, uintptr, int32, uintptr) int32)(unsafe.Pointer((pVfs + 64 /* &.xFullPathname */))))(tls, pVfs, zPath, nPathOut, zPathOut) } + func Xsqlite3OsDlOpen(tls *libc.TLS, pVfs uintptr, zPath uintptr) uintptr { /* sqlite3.c:23213:21: */ return (*(*func(*libc.TLS, uintptr, uintptr) uintptr)(unsafe.Pointer((pVfs + 72 /* &.xDlOpen */))))(tls, pVfs, zPath) } + func Xsqlite3OsDlError(tls *libc.TLS, pVfs uintptr, nByte int32, zBufOut uintptr) { /* sqlite3.c:23216:21: */ (*(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer((pVfs + 80 /* &.xDlError */))))(tls, pVfs, nByte, zBufOut) } + func Xsqlite3OsDlSym(tls *libc.TLS, pVfs uintptr, pHdle uintptr, zSym uintptr) uintptr { /* sqlite3.c:23219:21: */ return (*(*func(*libc.TLS, uintptr, uintptr, uintptr) uintptr)(unsafe.Pointer((pVfs + 88 /* &.xDlSym */))))(tls, pVfs, pHdle, zSym) } + func Xsqlite3OsDlClose(tls *libc.TLS, pVfs uintptr, pHandle uintptr) { /* sqlite3.c:23222:21: */ (*(*func(*libc.TLS, uintptr, uintptr))(unsafe.Pointer((pVfs + 96 /* &.xDlClose */))))(tls, pVfs, pHandle) } + func Xsqlite3OsRandomness(tls *libc.TLS, pVfs uintptr, nByte int32, zBufOut uintptr) int32 { /* sqlite3.c:23226:20: */ if Xsqlite3Config.FiPrngSeed != 0 { libc.Xmemset(tls, zBufOut, 0, uint64(nByte)) @@ -13338,15 +13371,18 @@ func Xsqlite3OsRandomness(tls *libc.TLS, pVfs uintptr, nByte int32, zBufOut uint return int32(0) } + func Xsqlite3OsSleep(tls *libc.TLS, pVfs uintptr, nMicro int32) int32 { /* sqlite3.c:23237:20: */ return (*(*func(*libc.TLS, uintptr, int32) int32)(unsafe.Pointer((pVfs + 112 /* &.xSleep */))))(tls, pVfs, nMicro) } + func Xsqlite3OsGetLastError(tls *libc.TLS, pVfs uintptr) int32 { /* sqlite3.c:23240:20: */ if (*Sqlite3_vfs)(unsafe.Pointer(pVfs)).FxGetLastError != 0 { return (*(*func(*libc.TLS, uintptr, int32, uintptr) int32)(unsafe.Pointer((pVfs + 128 /* &.xGetLastError */))))(tls, pVfs, 0, uintptr(0)) } return 0 } + func Xsqlite3OsCurrentTimeInt64(tls *libc.TLS, pVfs uintptr, pTimeOut uintptr) int32 { /* sqlite3.c:23243:20: */ bp := tls.Alloc(8) defer tls.Free(8) @@ -13384,6 +13420,7 @@ func Xsqlite3OsOpenMalloc(tls *libc.TLS, pVfs uintptr, zFile uintptr, ppFile uin } return rc } + func Xsqlite3OsCloseFree(tls *libc.TLS, pFile uintptr) { /* sqlite3.c:23283:21: */ Xsqlite3OsClose(tls, pFile) @@ -13575,6 +13612,7 @@ func Xsqlite3BeginBenignMalloc(tls *libc.TLS) { /* sqlite3.c:23474:21: */ (*(*func(*libc.TLS))(unsafe.Pointer((uintptr(unsafe.Pointer(&sqlite3Hooks)) /* &.xBenignBegin */))))(tls) } } + func Xsqlite3EndBenignMalloc(tls *libc.TLS) { /* sqlite3.c:23480:21: */ if sqlite3Hooks.FxBenignEnd != 0 { @@ -14050,25 +14088,31 @@ func Xsqlite3_mutex_leave(tls *libc.TLS, p uintptr) { /* sqlite3.c:25985:17: */ func noopMutexInit(tls *libc.TLS) int32 { /* sqlite3.c:26048:12: */ return 0 } + func noopMutexEnd(tls *libc.TLS) int32 { /* sqlite3.c:26049:12: */ return 0 } + func noopMutexAlloc(tls *libc.TLS, id int32) uintptr { /* sqlite3.c:26050:22: */ _ = id return uintptr(8) } + func noopMutexFree(tls *libc.TLS, p uintptr) { /* sqlite3.c:26054:13: */ _ = p return } + func noopMutexEnter(tls *libc.TLS, p uintptr) { /* sqlite3.c:26055:13: */ _ = p return } + func noopMutexTry(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:26056:12: */ _ = p return 0 } + func noopMutexLeave(tls *libc.TLS, p uintptr) { /* sqlite3.c:26060:13: */ _ = p return @@ -14227,6 +14271,7 @@ func Xsqlite3_soft_heap_limit64(tls *libc.TLS, n Sqlite3_int64) Sqlite3_int64 { } return priorLimit } + func Xsqlite3_soft_heap_limit(tls *libc.TLS, n int32) { /* sqlite3.c:27437:17: */ if n < 0 { n = 0 @@ -14416,6 +14461,7 @@ func Xsqlite3_malloc(tls *libc.TLS, n int32) uintptr { /* sqlite3.c:27620:17: */ } return Xsqlite3Malloc(tls, uint64(n)) } + func Xsqlite3_malloc64(tls *libc.TLS, n Sqlite3_uint64) uintptr { /* sqlite3.c:27626:17: */ if Xsqlite3_initialize(tls) != 0 { return uintptr(0) @@ -14434,12 +14480,14 @@ func Xsqlite3MallocSize(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:27648:20: return (*(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer((uintptr(unsafe.Pointer(&Xsqlite3Config)) + 32 /* &.m */ + 24 /* &.xSize */))))(tls, p) } + func lookasideMallocSize(tls *libc.TLS, db uintptr, p uintptr) int32 { /* sqlite3.c:27652:12: */ if p < (*Sqlite3)(unsafe.Pointer(db)).Flookaside.FpMiddle { return int32((*Sqlite3)(unsafe.Pointer(db)).Flookaside.FszTrue) } return 128 } + func Xsqlite3DbMallocSize(tls *libc.TLS, db uintptr, p uintptr) int32 { /* sqlite3.c:27659:20: */ if db != 0 { @@ -14456,6 +14504,7 @@ func Xsqlite3DbMallocSize(tls *libc.TLS, db uintptr, p uintptr) int32 { /* sqlit } return (*(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer((uintptr(unsafe.Pointer(&Xsqlite3Config)) + 32 /* &.m */ + 24 /* &.xSize */))))(tls, p) } + func Xsqlite3_msize(tls *libc.TLS, p uintptr) Sqlite3_uint64 { /* sqlite3.c:27688:27: */ if p != 0 { @@ -14515,6 +14564,7 @@ func Xsqlite3DbFreeNN(tls *libc.TLS, db uintptr, p uintptr) { /* sqlite3.c:27725 Xsqlite3_free(tls, p) } + func Xsqlite3DbFree(tls *libc.TLS, db uintptr, p uintptr) { /* sqlite3.c:27762:21: */ if p != 0 { @@ -14582,6 +14632,7 @@ func Xsqlite3_realloc(tls *libc.TLS, pOld uintptr, n int32) uintptr { /* sqlite3 } // IMP: R-26507-47431 return Xsqlite3Realloc(tls, pOld, uint64(n)) } + func Xsqlite3_realloc64(tls *libc.TLS, pOld uintptr, n Sqlite3_uint64) uintptr { /* sqlite3.c:27831:17: */ if Xsqlite3_initialize(tls) != 0 { return uintptr(0) @@ -14652,6 +14703,7 @@ func Xsqlite3DbMallocRaw(tls *libc.TLS, db uintptr, n U64) uintptr { /* sqlite3. return p } + func Xsqlite3DbMallocRawNN(tls *libc.TLS, db uintptr, n U64) uintptr { /* sqlite3.c:27905:21: */ var pBuf uintptr @@ -14709,6 +14761,7 @@ func Xsqlite3DbRealloc(tls *libc.TLS, db uintptr, p uintptr, n U64) uintptr { /* } return dbReallocFinish(tls, db, p, n) } + func dbReallocFinish(tls *libc.TLS, db uintptr, p uintptr, n U64) uintptr { /* sqlite3.c:27977:29: */ var pNew uintptr = uintptr(0) @@ -14760,6 +14813,7 @@ func Xsqlite3DbStrDup(tls *libc.TLS, db uintptr, z uintptr) uintptr { /* sqlite3 } return zNew } + func Xsqlite3DbStrNDup(tls *libc.TLS, db uintptr, z uintptr, n U64) uintptr { /* sqlite3.c:28036:21: */ var zNew uintptr @@ -15121,12 +15175,14 @@ func getIntArg(tls *libc.TLS, p uintptr) Sqlite3_int64 { /* sqlite3.c:28292:22: } return Xsqlite3_value_int64(tls, *(*uintptr)(unsafe.Pointer((*PrintfArguments)(unsafe.Pointer(p)).FapArg + uintptr(libc.PostIncInt32(&(*PrintfArguments)(unsafe.Pointer(p)).FnUsed, 1))*8))) } + func getDoubleArg(tls *libc.TLS, p uintptr) float64 { /* sqlite3.c:28296:15: */ if (*PrintfArguments)(unsafe.Pointer(p)).FnArg <= (*PrintfArguments)(unsafe.Pointer(p)).FnUsed { return 0.0 } return Xsqlite3_value_double(tls, *(*uintptr)(unsafe.Pointer((*PrintfArguments)(unsafe.Pointer(p)).FapArg + uintptr(libc.PostIncInt32(&(*PrintfArguments)(unsafe.Pointer(p)).FnUsed, 1))*8))) } + func getTextArg(tls *libc.TLS, p uintptr) uintptr { /* sqlite3.c:28300:13: */ if (*PrintfArguments)(unsafe.Pointer(p)).FnArg <= (*PrintfArguments)(unsafe.Pointer(p)).FnUsed { return uintptr(0) @@ -16614,7 +16670,8 @@ __5: // End for loop over the format string } -var zOrd = *(*[9]int8)(unsafe.Pointer(ts + 815 /* "thstndrd" */)) /* sqlite3.c:28611:29 */ // End of function +var zOrd = *(*[9]int8)(unsafe.Pointer(ts + 815 /* "thstndrd" */)) /* sqlite3.c:28611:29 */ +// End of function // Enlarge the memory allocation on a StrAccum object so that it is // able to accept at least N more bytes of text. @@ -16733,6 +16790,7 @@ func strAccumFinishRealloc(tls *libc.TLS, p uintptr) uintptr { /* sqlite3.c:2915 (*StrAccum)(unsafe.Pointer(p)).FzText = zText return zText } + func Xsqlite3StrAccumFinish(tls *libc.TLS, p uintptr) uintptr { /* sqlite3.c:29169:21: */ if (*StrAccum)(unsafe.Pointer(p)).FzText != 0 { *(*int8)(unsafe.Pointer((*StrAccum)(unsafe.Pointer(p)).FzText + uintptr((*StrAccum)(unsafe.Pointer(p)).FnChar))) = int8(0) @@ -16938,6 +16996,7 @@ func Xsqlite3_vsnprintf(tls *libc.TLS, n int32, zBuf uintptr, zFormat uintptr, a *(*int8)(unsafe.Pointer(zBuf + uintptr((*StrAccum)(unsafe.Pointer(bp /* &acc */)).FnChar))) = int8(0) return zBuf } + func Xsqlite3_snprintf(tls *libc.TLS, n int32, zBuf uintptr, zFormat uintptr, va uintptr) uintptr { /* sqlite3.c:29369:17: */ var z uintptr var ap Va_list @@ -17187,12 +17246,14 @@ func Xsqlite3_randomness(tls *libc.TLS, N int32, pBuf uintptr) { /* sqlite3.c:30 // The sqlite3_test_control() interface calls these routines to // control the PRNG. var sqlite3SavedPrng sqlite3PrngType /* sqlite3.c:30353:42: */ + func Xsqlite3PrngSaveState(tls *libc.TLS) { /* sqlite3.c:30354:21: */ libc.Xmemcpy(tls, uintptr(unsafe.Pointer(&sqlite3SavedPrng)), uintptr(unsafe.Pointer(&sqlite3Prng)), uint64(unsafe.Sizeof(sqlite3Prng))) } + func Xsqlite3PrngRestoreState(tls *libc.TLS) { /* sqlite3.c:30361:21: */ libc.Xmemcpy(tls, uintptr(unsafe.Pointer(&sqlite3Prng)), @@ -18324,6 +18385,7 @@ func Xsqlite3Dequote(tls *libc.TLS, z uintptr) { /* sqlite3.c:31417:21: */ } *(*int8)(unsafe.Pointer(z + uintptr(j))) = int8(0) } + func Xsqlite3DequoteExpr(tls *libc.TLS, p uintptr) { /* sqlite3.c:31439:21: */ *(*U32)(unsafe.Pointer(p + 4 /* &.flags */)) |= (func() uint32 { @@ -18362,6 +18424,7 @@ func Xsqlite3_stricmp(tls *libc.TLS, zLeft uintptr, zRight uintptr) int32 { /* s } return Xsqlite3StrICmp(tls, zLeft, zRight) } + func Xsqlite3StrICmp(tls *libc.TLS, zLeft uintptr, zRight uintptr) int32 { /* sqlite3.c:31474:20: */ var a uintptr var b uintptr @@ -18387,6 +18450,7 @@ func Xsqlite3StrICmp(tls *libc.TLS, zLeft uintptr, zRight uintptr) int32 { /* sq } return c } + func Xsqlite3_strnicmp(tls *libc.TLS, zLeft uintptr, zRight uintptr, N int32) int32 { /* sqlite3.c:31493:16: */ var a uintptr var b uintptr @@ -19237,6 +19301,7 @@ __3: ; return n } + func Xsqlite3PutVarint(tls *libc.TLS, p uintptr, v U64) int32 { /* sqlite3.c:32123:20: */ if v <= uint64(0x7f) { *(*uint8)(unsafe.Pointer(p + uintptr(0))) = (uint8(v & uint64(0x7f))) @@ -19498,6 +19563,7 @@ func Xsqlite3Get4byte(tls *libc.TLS, p uintptr) U32 { /* sqlite3.c:32446:20: */ libc.Xmemcpy(tls, bp /* &x */, p, uint64(4)) return libc.X__builtin_bswap32(tls, *(*U32)(unsafe.Pointer(bp /* x */))) } + func Xsqlite3Put4byte(tls *libc.TLS, p uintptr, v U32) { /* sqlite3.c:32464:21: */ bp := tls.Alloc(4) defer tls.Free(4) @@ -19576,6 +19642,7 @@ func Xsqlite3SafetyCheckOk(tls *libc.TLS, db uintptr) int32 { /* sqlite3.c:32548 } return int32(0) } + func Xsqlite3SafetyCheckSickOrOk(tls *libc.TLS, db uintptr) int32 { /* sqlite3.c:32565:20: */ var magic U32 magic = (*Sqlite3)(unsafe.Pointer(db)).Fmagic @@ -19596,9 +19663,11 @@ func Xsqlite3SafetyCheckSickOrOk(tls *libc.TLS, db uintptr) int32 { /* sqlite3.c func Xsqlite3AddInt64(tls *libc.TLS, pA uintptr, iB I64) int32 { /* sqlite3.c:32585:20: */ return libc.X__builtin_add_overflowInt64(tls, *(*I64)(unsafe.Pointer(pA)), iB, pA) } + func Xsqlite3SubInt64(tls *libc.TLS, pA uintptr, iB I64) int32 { /* sqlite3.c:32605:20: */ return libc.X__builtin_sub_overflowInt64(tls, *(*I64)(unsafe.Pointer(pA)), iB, pA) } + func Xsqlite3MulInt64(tls *libc.TLS, pA uintptr, iB I64) int32 { /* sqlite3.c:32620:20: */ return libc.X__builtin_mul_overflowInt64(tls, *(*I64)(unsafe.Pointer(pA)), iB, pA) } @@ -21815,6 +21884,7 @@ type UnixFile = unixFile /* sqlite3.c:33567:25 */ // method was called. If xOpen() is called from a different process id, // indicating that a fork() has occurred, the PRNG will be reset. var randomnessPid Pid_t = 0 /* sqlite3.c:33628:14 */ + func local_ioerr(tls *libc.TLS) { /* sqlite3.c:33812:13: */ Xsqlite3_io_error_hit++ @@ -22014,7 +22084,8 @@ var aSyscall = [29]unix_syscall{ FzName: ts + 4618, /* "ioctl" */ FpCurrent: uintptr(0), FpDefault: uintptr(0)}, -} /* sqlite3.c:33935:3 */ // End of the overrideable system calls +} /* sqlite3.c:33935:3 */ +// End of the overrideable system calls // On some systems, calls to fchown() will trigger a message in a security // log if they come from non-root processes. So avoid calling fchown() if @@ -22189,10 +22260,12 @@ func robust_open(tls *libc.TLS, z uintptr, f int32, m Mode_t) int32 { /* sqlite3 // OK: enter(pLockInfo) // ERROR: enter(pLockInfo), enter(unixBigLock) var unixBigLock uintptr = uintptr(0) /* sqlite3.c:34284:22 */ + func unixEnterMutex(tls *libc.TLS) { /* sqlite3.c:34285:13: */ // Not a recursive mutex Xsqlite3_mutex_enter(tls, unixBigLock) } + func unixLeaveMutex(tls *libc.TLS) { /* sqlite3.c:34289:13: */ Xsqlite3_mutex_leave(tls, unixBigLock) @@ -22393,7 +22466,8 @@ type unixFileId = struct { // A lists of all unixInodeInfo objects. // // Must hold unixBigLock in order to read or write this variable. -var inodeList uintptr = uintptr(0) /* sqlite3.c:34734:22 */ // All unixInodeInfo objects +var inodeList uintptr = uintptr(0) /* sqlite3.c:34734:22 */ +// All unixInodeInfo objects // // This function - unixLogErrorAtLine(), is only ever called via the macro @@ -23269,11 +23343,13 @@ func nolockCheckReservedLock(tls *libc.TLS, NotUsed uintptr, pResOut uintptr) in *(*int32)(unsafe.Pointer(pResOut)) = 0 return 0 } + func nolockLock(tls *libc.TLS, NotUsed uintptr, NotUsed2 int32) int32 { /* sqlite3.c:35725:12: */ _ = NotUsed _ = NotUsed2 return 0 } + func nolockUnlock(tls *libc.TLS, NotUsed uintptr, NotUsed2 int32) int32 { /* sqlite3.c:35729:12: */ _ = NotUsed _ = NotUsed2 @@ -24760,10 +24836,10 @@ shmpage_out: if !(int32((*UnixShmNode)(unsafe.Pointer(pShmNode)).FnRegion) > iRegion) { goto __25 } - *(*uintptr)(unsafe.Pointer(pp)) = *(*uintptr)(unsafe.Pointer((*UnixShmNode)(unsafe.Pointer(pShmNode)).FapRegion + uintptr(iRegion)*8)) + *(*uintptr)(unsafe.Pointer(libc.AtomicLoadUintptr(&pp))) = *(*uintptr)(unsafe.Pointer((*UnixShmNode)(unsafe.Pointer(pShmNode)).FapRegion + uintptr(iRegion)*8)) goto __26 __25: - *(*uintptr)(unsafe.Pointer(pp)) = uintptr(0) + *(*uintptr)(unsafe.Pointer(libc.AtomicLoadUintptr(&pp))) = uintptr(0) __26: ; if !(((*UnixShmNode)(unsafe.Pointer(pShmNode)).FisReadonly != 0) && (rc == 0)) { @@ -26154,6 +26230,7 @@ func unixDlError(tls *libc.TLS, NotUsed uintptr, nBuf int32, zBufOut uintptr) { } unixLeaveMutex(tls) } + func unixDlSym(tls *libc.TLS, NotUsed uintptr, p uintptr, zSym uintptr) uintptr { /* sqlite3.c:40000:13: */ // GCC with -pedantic-errors says that C90 does not allow a void* to be // cast into a pointer to a function. And yet the library dlsym() routine @@ -26177,6 +26254,7 @@ func unixDlSym(tls *libc.TLS, NotUsed uintptr, p uintptr, zSym uintptr) uintptr }{libc.Xdlsym})) return (*(*func(*libc.TLS, uintptr, uintptr) uintptr)(unsafe.Pointer(&x)))(tls, p, zSym) } + func unixDlClose(tls *libc.TLS, NotUsed uintptr, pHandle uintptr) { /* sqlite3.c:40023:13: */ _ = NotUsed libc.Xdlclose(tls, pHandle) @@ -26217,7 +26295,8 @@ func unixSleep(tls *libc.TLS, NotUsed uintptr, microseconds int32) int32 { /* sq // The following variable, if set to a non-zero value, is interpreted as // the number of seconds since 1970 and is used to set the result of // sqlite3OsCurrentTime() during testing. -var Xsqlite3_current_time int32 = 0 /* sqlite3.c:40111:16 */ // Fake system time in seconds since 1970. +var Xsqlite3_current_time int32 = 0 /* sqlite3.c:40111:16 */ +// Fake system time in seconds since 1970. // Find the current time (in Universal Coordinated Time). Write into *piNow // the current time and date as a Julian Day number times 86_400_000. In @@ -26927,6 +27006,7 @@ func memdbSleep(tls *libc.TLS, pVfs uintptr, nMicro int32) int32 { /* sqlite3.c: func memdbGetLastError(tls *libc.TLS, pVfs uintptr, a int32, b uintptr) int32 { /* sqlite3.c:48283:12: */ return (*(*func(*libc.TLS, uintptr, int32, uintptr) int32)(unsafe.Pointer(((*Sqlite3_vfs)(unsafe.Pointer(pVfs)).FpAppData + 128 /* &.xGetLastError */))))(tls, (*Sqlite3_vfs)(unsafe.Pointer(pVfs)).FpAppData, a, b) } + func memdbCurrentTimeInt64(tls *libc.TLS, pVfs uintptr, p uintptr) int32 { /* sqlite3.c:48286:12: */ return (*(*func(*libc.TLS, uintptr, uintptr) int32)(unsafe.Pointer(((*Sqlite3_vfs)(unsafe.Pointer(pVfs)).FpAppData + 136 /* &.xCurrentTimeInt64 */))))(tls, (*Sqlite3_vfs)(unsafe.Pointer(pVfs)).FpAppData, p) } @@ -27174,6 +27254,7 @@ func Xsqlite3BitvecTestNotNull(tls *libc.TLS, p uintptr, i U32) int32 { /* sqlit } return int32(0) } + func Xsqlite3BitvecTest(tls *libc.TLS, p uintptr, i U32) int32 { /* sqlite3.c:48618:20: */ return (libc.Bool32((p != uintptr(0)) && (Xsqlite3BitvecTestNotNull(tls, p, i) != 0))) } @@ -27681,6 +27762,7 @@ func Xsqlite3PcacheInitialize(tls *libc.TLS) int32 { /* sqlite3.c:49138:20: */ } return (*(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer((uintptr(unsafe.Pointer(&Xsqlite3Config)) + 168 /* &.pcache2 */ + 16 /* &.xInit */))))(tls, Xsqlite3Config.Fpcache2.FpArg) } + func Xsqlite3PcacheShutdown(tls *libc.TLS) { /* sqlite3.c:49148:21: */ if Xsqlite3Config.Fpcache2.FxShutdown != 0 { // IMPLEMENTATION-OF: R-26000-56589 The xShutdown() method may be NULL. @@ -29122,6 +29204,7 @@ func pcache1FetchNoMutex(tls *libc.TLS, p uintptr, iKey uint32, createFlag int32 } return uintptr(0) } + func pcache1FetchWithMutex(tls *libc.TLS, p uintptr, iKey uint32, createFlag int32) uintptr { /* sqlite3.c:50793:15: */ var pCache uintptr = p var pPage uintptr @@ -29132,6 +29215,7 @@ func pcache1FetchWithMutex(tls *libc.TLS, p uintptr, iKey uint32, createFlag int Xsqlite3_mutex_leave(tls, (*PGroup)(unsafe.Pointer((*PCache1)(unsafe.Pointer(pCache)).FpGroup)).Fmutex) return pPage } + func pcache1Fetch(tls *libc.TLS, p uintptr, iKey uint32, createFlag int32) uintptr { /* sqlite3.c:50808:28: */ var pCache uintptr = p @@ -33322,10 +33406,12 @@ func Xsqlite3PagerMaxPageCount(tls *libc.TLS, pPager uintptr, mxPage Pgno) Pgno } var saved_cnt int32 /* sqlite3.c:55493:12: */ + func Xdisable_simulated_io_errors(tls *libc.TLS) { /* sqlite3.c:55494:6: */ saved_cnt = Xsqlite3_io_error_pending Xsqlite3_io_error_pending = -1 } + func Xenable_simulated_io_errors(tls *libc.TLS) { /* sqlite3.c:55498:6: */ Xsqlite3_io_error_pending = saved_cnt } @@ -33937,6 +34023,7 @@ func subjournalPage(tls *libc.TLS, pPg uintptr) int32 { /* sqlite3.c:56159:12: * } return rc } + func subjournalPageIfRequired(tls *libc.TLS, pPg uintptr) int32 { /* sqlite3.c:56195:12: */ if subjRequiresPage(tls, pPg) != 0 { return subjournalPage(tls, pPg) @@ -35244,11 +35331,13 @@ func Xsqlite3PagerUnrefNotNull(tls *libc.TLS, pPg uintptr) { /* sqlite3.c:57391: // Do not use this routine to release the last reference to page1 } + func Xsqlite3PagerUnref(tls *libc.TLS, pPg uintptr) { /* sqlite3.c:57403:21: */ if pPg != 0 { Xsqlite3PagerUnrefNotNull(tls, pPg) } } + func Xsqlite3PagerUnrefPageOne(tls *libc.TLS, pPg uintptr) { /* sqlite3.c:57406:21: */ var pPager uintptr @@ -36236,6 +36325,7 @@ func pagerOpenSavepoint(tls *libc.TLS, pPager uintptr, nSavepoint int32) int32 { return rc } + func Xsqlite3PagerOpenSavepoint(tls *libc.TLS, pPager uintptr, nSavepoint int32) int32 { /* sqlite3.c:58562:20: */ if (nSavepoint > (*Pager)(unsafe.Pointer(pPager)).FnSavepoint) && ((*Pager)(unsafe.Pointer(pPager)).FuseJournal != 0) { @@ -37596,6 +37686,7 @@ func walIndexPageRealloc(tls *libc.TLS, pWal uintptr, iPage int32, ppPage uintpt return rc } + func walIndexPage(tls *libc.TLS, pWal uintptr, iPage int32, ppPage uintptr) int32 { /* sqlite3.c:60010:12: */ if ((*Wal)(unsafe.Pointer(pWal)).FnWiData <= iPage) || ((libc.AssignPtrUintptr(ppPage, *(*uintptr)(unsafe.Pointer((*Wal)(unsafe.Pointer(pWal)).FapWiData + uintptr(iPage)*8)))) == uintptr(0)) { return walIndexPageRealloc(tls, pWal, iPage, ppPage) @@ -37774,6 +37865,7 @@ func walLockShared(tls *libc.TLS, pWal uintptr, lockIdx int32) int32 { /* sqlite return rc } + func walUnlockShared(tls *libc.TLS, pWal uintptr, lockIdx int32) { /* sqlite3.c:60272:13: */ if (*Wal)(unsafe.Pointer(pWal)).FexclusiveMode != 0 { return @@ -37782,6 +37874,7 @@ func walUnlockShared(tls *libc.TLS, pWal uintptr, lockIdx int32) { /* sqlite3.c: (1 | 4)) } + func walLockExclusive(tls *libc.TLS, pWal uintptr, lockIdx int32, n int32) int32 { /* sqlite3.c:60278:12: */ var rc int32 if (*Wal)(unsafe.Pointer(pWal)).FexclusiveMode != 0 { @@ -37792,6 +37885,7 @@ func walLockExclusive(tls *libc.TLS, pWal uintptr, lockIdx int32, n int32) int32 return rc } + func walUnlockExclusive(tls *libc.TLS, pWal uintptr, lockIdx int32, n int32) { /* sqlite3.c:60288:13: */ if (*Wal)(unsafe.Pointer(pWal)).FexclusiveMode != 0 { return @@ -37808,6 +37902,7 @@ func walHash(tls *libc.TLS, iPage U32) int32 { /* sqlite3.c:60301:12: */ return (int32((iPage * U32(383)) & (U32((4096 * 2) - 1)))) } + func walNextHash(tls *libc.TLS, iPriorHash int32) int32 { /* sqlite3.c:60306:12: */ return ((iPriorHash + 1) & ((4096 * 2) - 1)) } @@ -41761,11 +41856,13 @@ func btreeEnterAll(tls *libc.TLS, db uintptr) { /* sqlite3.c:64358:29: */ } (*Sqlite3)(unsafe.Pointer(db)).FnoSharedCache = U8(skipOk) } + func Xsqlite3BtreeEnterAll(tls *libc.TLS, db uintptr) { /* sqlite3.c:64372:21: */ if int32((*Sqlite3)(unsafe.Pointer(db)).FnoSharedCache) == 0 { btreeEnterAll(tls, db) } } + func btreeLeaveAll(tls *libc.TLS, db uintptr) { /* sqlite3.c:64375:29: */ var i int32 var p uintptr @@ -41777,6 +41874,7 @@ func btreeLeaveAll(tls *libc.TLS, db uintptr) { /* sqlite3.c:64375:29: */ } } } + func Xsqlite3BtreeLeaveAll(tls *libc.TLS, db uintptr) { /* sqlite3.c:64384:21: */ if int32((*Sqlite3)(unsafe.Pointer(db)).FnoSharedCache) == 0 { btreeLeaveAll(tls, db) @@ -41791,6 +41889,7 @@ func Xsqlite3BtreeLeaveAll(tls *libc.TLS, db uintptr) { /* sqlite3.c:64384:21: * func Xsqlite3BtreeEnterCursor(tls *libc.TLS, pCur uintptr) { /* sqlite3.c:64470:21: */ Xsqlite3BtreeEnter(tls, (*BtCursor)(unsafe.Pointer(pCur)).FpBtree) } + func Xsqlite3BtreeLeaveCursor(tls *libc.TLS, pCur uintptr) { /* sqlite3.c:64474:21: */ Xsqlite3BtreeLeave(tls, (*BtCursor)(unsafe.Pointer(pCur)).FpBtree) } @@ -42018,7 +42117,9 @@ func downgradeAllSharedCacheTableLocks(tls *libc.TLS, p uintptr) { /* sqlite3.c: (*BtLock)(unsafe.Pointer(pLock)).FeLock = U8(1) } } -} // Forward reference +} + +// Forward reference // This routine is used inside of assert() only **** // @@ -42628,6 +42729,7 @@ func btreeParseCellPtrNoPayload(tls *libc.TLS, pPage uintptr, pCell uintptr, pIn (*CellInfo)(unsafe.Pointer(pInfo)).FpPayload = uintptr(0) return } + func btreeParseCellPtr(tls *libc.TLS, pPage uintptr, pCell uintptr, pInfo uintptr) { /* sqlite3.c:65649:13: */ bp := tls.Alloc(8) defer tls.Free(8) @@ -42692,6 +42794,7 @@ func btreeParseCellPtr(tls *libc.TLS, pPage uintptr, pCell uintptr, pInfo uintpt btreeParseCellAdjustSizeForOverflow(tls, pPage, pCell, pInfo) } } + func btreeParseCellPtrIndex(tls *libc.TLS, pPage uintptr, pCell uintptr, pInfo uintptr) { /* sqlite3.c:65717:13: */ var pIter uintptr // For scanning through pCell var nPayload U32 // Number of bytes of cell payload @@ -42722,6 +42825,7 @@ func btreeParseCellPtrIndex(tls *libc.TLS, pPage uintptr, pCell uintptr, pInfo u btreeParseCellAdjustSizeForOverflow(tls, pPage, pCell, pInfo) } } + func btreeParseCell(tls *libc.TLS, pPage uintptr, iCell int32, pInfo uintptr) { /* sqlite3.c:65754:13: */ (*(*func(*libc.TLS, uintptr, uintptr, uintptr))(unsafe.Pointer((pPage + 128 /* &.xParseCell */))))(tls, pPage, ((*MemPage)(unsafe.Pointer((pPage))).FaData + uintptr((int32((*MemPage)(unsafe.Pointer((pPage))).FmaskPage) & int32(libc.X__builtin_bswap16(tls, *(*U16)(unsafe.Pointer(((*MemPage)(unsafe.Pointer((pPage))).FaCellIdx + uintptr((2 * (iCell))))))))))), pInfo) } @@ -42776,6 +42880,7 @@ func cellSizePtr(tls *libc.TLS, pPage uintptr, pCell uintptr) U16 { /* sqlite3.c return U16(nSize) } + func cellSizePtrNoPayload(tls *libc.TLS, pPage uintptr, pCell uintptr) U16 { /* sqlite3.c:65822:12: */ var pIter uintptr = (pCell + uintptr(4)) // For looping over bytes of pCell var pEnd uintptr // End mark for a varint @@ -43628,6 +43733,7 @@ func btreePageLookup(tls *libc.TLS, pBt uintptr, pgno Pgno) uintptr { /* sqlite3 func btreePagecount(tls *libc.TLS, pBt uintptr) Pgno { /* sqlite3.c:66624:13: */ return (*BtShared)(unsafe.Pointer(pBt)).FnPage } + func Xsqlite3BtreeLastPage(tls *libc.TLS, p uintptr) Pgno { /* sqlite3.c:66627:21: */ return btreePagecount(tls, (*Btree)(unsafe.Pointer(p)).FpBt) @@ -43713,11 +43819,13 @@ func releasePageNotNull(tls *libc.TLS, pPage uintptr) { /* sqlite3.c:66704:13: * Xsqlite3PagerUnrefNotNull(tls, (*MemPage)(unsafe.Pointer(pPage)).FpDbPage) } + func releasePage(tls *libc.TLS, pPage uintptr) { /* sqlite3.c:66713:13: */ if pPage != 0 { releasePageNotNull(tls, pPage) } } + func releasePageOne(tls *libc.TLS, pPage uintptr) { /* sqlite3.c:66716:13: */ Xsqlite3PagerUnrefPageOne(tls, (*MemPage)(unsafe.Pointer(pPage)).FpDbPage) @@ -46027,6 +46135,7 @@ func btreeCursor(tls *libc.TLS, p uintptr, iTable Pgno, wrFlag int32, pKeyInfo u (*BtCursor)(unsafe.Pointer(pCur)).FeState = U8(1) return 0 } + func btreeCursorWithLock(tls *libc.TLS, p uintptr, iTable Pgno, wrFlag int32, pKeyInfo uintptr, pCur uintptr) int32 { /* sqlite3.c:68920:12: */ var rc int32 Xsqlite3BtreeEnter(tls, p) @@ -46034,6 +46143,7 @@ func btreeCursorWithLock(tls *libc.TLS, p uintptr, iTable Pgno, wrFlag int32, pK Xsqlite3BtreeLeave(tls, p) return rc } + func Xsqlite3BtreeCursor(tls *libc.TLS, p uintptr, iTable Pgno, wrFlag int32, pKeyInfo uintptr, pCur uintptr) int32 { /* sqlite3.c:68933:20: */ if (*Btree)(unsafe.Pointer(p)).Fsharable != 0 { return btreeCursorWithLock(tls, p, iTable, wrFlag, pKeyInfo, pCur) @@ -46128,6 +46238,7 @@ func Xsqlite3BtreeCursorPin(tls *libc.TLS, pCur uintptr) { /* sqlite3.c:69070:21 *(*U8)(unsafe.Pointer(pCur + 1 /* &.curFlags */)) |= U8((0x40)) } + func Xsqlite3BtreeCursorUnpin(tls *libc.TLS, pCur uintptr) { /* sqlite3.c:69074:21: */ *(*U8)(unsafe.Pointer(pCur + 1 /* &.curFlags */)) &= libc.Uint8FromInt32((^libc.Int32(0x40))) @@ -46472,6 +46583,7 @@ func accessPayloadChecked(tls *libc.TLS, pCur uintptr, offset U32, amt U32, pBuf } return accessPayload(tls, pCur, offset, amt, pBuf, 0) } + func Xsqlite3BtreePayloadChecked(tls *libc.TLS, pCur uintptr, offset U32, amt U32, pBuf uintptr) int32 { /* sqlite3.c:69495:20: */ if int32((*BtCursor)(unsafe.Pointer(pCur)).FeState) == 0 { @@ -47334,6 +47446,7 @@ func btreeNext(tls *libc.TLS, pCur uintptr) int32 { /* sqlite3.c:70198:28: */ } return int32(0) } + func Xsqlite3BtreeNext(tls *libc.TLS, pCur uintptr, flags int32) int32 { /* sqlite3.c:70268:20: */ var pPage uintptr _ = flags // Used in COMDB2 but not native SQLite @@ -47427,6 +47540,7 @@ func btreePrevious(tls *libc.TLS, pCur uintptr) int32 { /* sqlite3.c:70308:28: * } return rc } + func Xsqlite3BtreePrevious(tls *libc.TLS, pCur uintptr, flags int32) int32 { /* sqlite3.c:70357:20: */ _ = flags // Used in COMDB2 but not native SQLite @@ -48173,6 +48287,7 @@ __18: releasePage(tls, *(*uintptr)(unsafe.Pointer(bp + 16 /* pTrunk */))) return *(*int32)(unsafe.Pointer(bp + 8 /* rc */)) } + func freePage(tls *libc.TLS, pPage uintptr, pRC uintptr) { /* sqlite3.c:70851:13: */ if (*(*int32)(unsafe.Pointer(pRC))) == 0 { *(*int32)(unsafe.Pointer(pRC)) = freePage2(tls, (*MemPage)(unsafe.Pointer(pPage)).FpBt, pPage, (*MemPage)(unsafe.Pointer(pPage)).Fpgno) @@ -48756,6 +48871,7 @@ func computeCellSize(tls *libc.TLS, p uintptr, N int32) U16 { /* sqlite3.c:71397 *(*U16)(unsafe.Pointer((*CellArray)(unsafe.Pointer(p)).FszCell + uintptr(N)*2)) = (*(*func(*libc.TLS, uintptr, uintptr) U16)(unsafe.Pointer(((*CellArray)(unsafe.Pointer(p)).FpRef + 120 /* &.xCellSize */))))(tls, (*CellArray)(unsafe.Pointer(p)).FpRef, *(*uintptr)(unsafe.Pointer((*CellArray)(unsafe.Pointer(p)).FapCell + uintptr(N)*8))) return *(*U16)(unsafe.Pointer((*CellArray)(unsafe.Pointer(p)).FszCell + uintptr(N)*2)) } + func cachedCellSize(tls *libc.TLS, p uintptr, N int32) U16 { /* sqlite3.c:71403:12: */ if *(*U16)(unsafe.Pointer((*CellArray)(unsafe.Pointer(p)).FszCell + uintptr(N)*2)) != 0 { @@ -51569,6 +51685,7 @@ func btreeCreateTable(tls *libc.TLS, p uintptr, piTable uintptr, createTabFlags *(*Pgno)(unsafe.Pointer(piTable)) = *(*Pgno)(unsafe.Pointer(bp /* pgnoRoot */)) return 0 } + func Xsqlite3BtreeCreateTable(tls *libc.TLS, p uintptr, piTable uintptr, flags int32) int32 { /* sqlite3.c:73729:20: */ var rc int32 Xsqlite3BtreeEnter(tls, p) @@ -51823,6 +51940,7 @@ func btreeDropTable(tls *libc.TLS, p uintptr, iTable Pgno, piMoved uintptr) int3 } return *(*int32)(unsafe.Pointer(bp + 12 /* rc */)) } + func Xsqlite3BtreeDropTable(tls *libc.TLS, p uintptr, iTable int32, piMoved uintptr) int32 { /* sqlite3.c:73941:20: */ var rc int32 Xsqlite3BtreeEnter(tls, p) @@ -52150,6 +52268,7 @@ func btreeHeapInsert(tls *libc.TLS, aHeap uintptr, x U32) { /* sqlite3.c:74299:1 i = j } } + func btreeHeapPull(tls *libc.TLS, aHeap uintptr, pOut uintptr) int32 { /* sqlite3.c:74309:12: */ var j U32 var i U32 @@ -53620,6 +53739,7 @@ func backupUpdate(tls *libc.TLS, p uintptr, iPage Pgno, aData uintptr) { /* sqli } } } + func Xsqlite3BackupUpdate(tls *libc.TLS, pBackup uintptr, iPage Pgno, aData uintptr) { /* sqlite3.c:75746:21: */ if pBackup != 0 { backupUpdate(tls, pBackup, iPage, aData) @@ -54117,6 +54237,7 @@ func memIntValue(tls *libc.TLS, pMem uintptr) I64 { /* sqlite3.c:76417:28: */ Xsqlite3Atoi64(tls, (*Mem)(unsafe.Pointer(pMem)).Fz, bp /* &value */, (*Mem)(unsafe.Pointer(pMem)).Fn, (*Mem)(unsafe.Pointer(pMem)).Fenc) return *(*I64)(unsafe.Pointer(bp /* value */)) } + func Xsqlite3VdbeIntValue(tls *libc.TLS, pMem uintptr) I64 { /* sqlite3.c:76422:20: */ var flags int32 @@ -54147,6 +54268,7 @@ func memRealValue(tls *libc.TLS, pMem uintptr) float64 { /* sqlite3.c:76445:31: Xsqlite3AtoF(tls, (*Mem)(unsafe.Pointer(pMem)).Fz, bp /* &val */, (*Mem)(unsafe.Pointer(pMem)).Fn, (*Mem)(unsafe.Pointer(pMem)).Fenc) return *(*float64)(unsafe.Pointer(bp /* val */)) } + func Xsqlite3VdbeRealValue(tls *libc.TLS, pMem uintptr) float64 { /* sqlite3.c:76451:23: */ if (int32((*Mem)(unsafe.Pointer(pMem)).Fflags) & 0x0008) != 0 { @@ -54345,6 +54467,7 @@ func Xsqlite3VdbeMemSetNull(tls *libc.TLS, pMem uintptr) { /* sqlite3.c:76652:21 (*Mem)(unsafe.Pointer(pMem)).Fflags = U16(0x0001) } } + func Xsqlite3ValueSetNull(tls *libc.TLS, p uintptr) { /* sqlite3.c:76659:21: */ Xsqlite3VdbeMemSetNull(tls, p) } @@ -54462,6 +54585,7 @@ func vdbeClrCopy(tls *libc.TLS, pTo uintptr, pFrom uintptr, eType int32) { /* sq Xsqlite3VdbeMemShallowCopy(tls, pTo, pFrom, eType) } + func Xsqlite3VdbeMemShallowCopy(tls *libc.TLS, pTo uintptr, pFrom uintptr, srcType int32) { /* sqlite3.c:76833:21: */ if (int32((*Mem)(unsafe.Pointer((pTo))).Fflags) & (0x2000 | 0x0400)) != 0 { @@ -54648,6 +54772,7 @@ func Xsqlite3VdbeMemFromBtree(tls *libc.TLS, pCur uintptr, offset U32, amt U32, } return rc } + func Xsqlite3VdbeMemFromBtreeZeroOffset(tls *libc.TLS, pCur uintptr, amt U32, pMem uintptr) int32 { /* sqlite3.c:77029:20: */ bp := tls.Alloc(4) defer tls.Free(4) @@ -55450,6 +55575,7 @@ func valueBytes(tls *libc.TLS, pVal uintptr, enc U8) int32 { /* sqlite3.c:77717: } return 0 } + func Xsqlite3ValueBytes(tls *libc.TLS, pVal uintptr, enc U8) int32 { /* sqlite3.c:77720:20: */ var p uintptr = pVal @@ -55614,6 +55740,7 @@ func growOp3(tls *libc.TLS, p uintptr, op int32, p1 int32, p2 int32, p3 int32) i return Xsqlite3VdbeAddOp3(tls, p, op, p1, p2, p3) } + func Xsqlite3VdbeAddOp3(tls *libc.TLS, p uintptr, op int32, p1 int32, p2 int32, p3 int32) int32 { /* sqlite3.c:77972:20: */ var i int32 var pOp uintptr @@ -55635,12 +55762,15 @@ func Xsqlite3VdbeAddOp3(tls *libc.TLS, p uintptr, op int32, p1 int32, p2 int32, (*VdbeOp)(unsafe.Pointer(pOp)).FzComment = uintptr(0) return i } + func Xsqlite3VdbeAddOp0(tls *libc.TLS, p uintptr, op int32) int32 { /* sqlite3.c:78009:20: */ return Xsqlite3VdbeAddOp3(tls, p, op, 0, 0, 0) } + func Xsqlite3VdbeAddOp1(tls *libc.TLS, p uintptr, op int32, p1 int32) int32 { /* sqlite3.c:78012:20: */ return Xsqlite3VdbeAddOp3(tls, p, op, p1, 0, 0) } + func Xsqlite3VdbeAddOp2(tls *libc.TLS, p uintptr, op int32, p1 int32, p2 int32) int32 { /* sqlite3.c:78015:20: */ return Xsqlite3VdbeAddOp3(tls, p, op, p1, p2, 0) } @@ -55893,6 +56023,7 @@ func resizeResolveLabel(tls *libc.TLS, p uintptr, v uintptr, j int32) { /* sqlit *(*int32)(unsafe.Pointer((*Parse)(unsafe.Pointer(p)).FaLabel + uintptr(j)*4)) = (*Vdbe)(unsafe.Pointer(v)).FnOp } } + func Xsqlite3VdbeResolveLabel(tls *libc.TLS, v uintptr, x int32) { /* sqlite3.c:78302:21: */ var p uintptr = (*Vdbe)(unsafe.Pointer(v)).FpParse var j int32 = ^x @@ -56161,15 +56292,19 @@ __3: func Xsqlite3VdbeChangeOpcode(tls *libc.TLS, p uintptr, addr int32, iNewOpcode U8) { /* sqlite3.c:78782:21: */ (*VdbeOp)(unsafe.Pointer(Xsqlite3VdbeGetOp(tls, p, addr))).Fopcode = iNewOpcode } + func Xsqlite3VdbeChangeP1(tls *libc.TLS, p uintptr, addr int32, val int32) { /* sqlite3.c:78785:21: */ (*VdbeOp)(unsafe.Pointer(Xsqlite3VdbeGetOp(tls, p, addr))).Fp1 = val } + func Xsqlite3VdbeChangeP2(tls *libc.TLS, p uintptr, addr int32, val int32) { /* sqlite3.c:78788:21: */ (*VdbeOp)(unsafe.Pointer(Xsqlite3VdbeGetOp(tls, p, addr))).Fp2 = val } + func Xsqlite3VdbeChangeP3(tls *libc.TLS, p uintptr, addr int32, val int32) { /* sqlite3.c:78791:21: */ (*VdbeOp)(unsafe.Pointer(Xsqlite3VdbeGetOp(tls, p, addr))).Fp3 = val } + func Xsqlite3VdbeChangeP5(tls *libc.TLS, p uintptr, p5 U16) { /* sqlite3.c:78794:21: */ if (*Vdbe)(unsafe.Pointer(p)).FnOp > 0 { @@ -56218,10 +56353,12 @@ func freeP4Mem(tls *libc.TLS, db uintptr, p uintptr) { /* sqlite3.c:78849:29: */ } Xsqlite3DbFreeNN(tls, db, p) } + func freeP4FuncCtx(tls *libc.TLS, db uintptr, p uintptr) { /* sqlite3.c:78853:29: */ freeEphemeralFunction(tls, db, (*Sqlite3_context)(unsafe.Pointer(p)).FpFunc) Xsqlite3DbFreeNN(tls, db, p) } + func freeP4(tls *libc.TLS, db uintptr, p4type int32, p4 uintptr) { /* sqlite3.c:78857:13: */ switch p4type { @@ -56366,6 +56503,7 @@ func vdbeChangeP4Full(tls *libc.TLS, p uintptr, pOp uintptr, zP4 uintptr, n int3 (*Op)(unsafe.Pointer(pOp)).Fp4type = int8(-7) } } + func Xsqlite3VdbeChangeP4(tls *libc.TLS, p uintptr, addr int32, zP4 uintptr, n int32) { /* sqlite3.c:79034:21: */ bp := tls.Alloc(8) defer tls.Free(8) @@ -56451,6 +56589,7 @@ func vdbeVComment(tls *libc.TLS, p uintptr, zFormat uintptr, ap Va_list) { /* sq (*Op)(unsafe.Pointer((*Vdbe)(unsafe.Pointer(p)).FaOp + uintptr(((*Vdbe)(unsafe.Pointer(p)).FnOp-1))*32)).FzComment = Xsqlite3VMPrintf(tls, (*Vdbe)(unsafe.Pointer(p)).Fdb, zFormat, ap) } } + func Xsqlite3VdbeComment(tls *libc.TLS, p uintptr, zFormat uintptr, va uintptr) { /* sqlite3.c:79123:21: */ var ap Va_list _ = ap @@ -56460,6 +56599,7 @@ func Xsqlite3VdbeComment(tls *libc.TLS, p uintptr, zFormat uintptr, va uintptr) _ = ap } } + func Xsqlite3VdbeNoopComment(tls *libc.TLS, p uintptr, zFormat uintptr, va uintptr) { /* sqlite3.c:79131:21: */ var ap Va_list _ = ap @@ -56845,6 +56985,7 @@ func vdbeLeave(tls *libc.TLS, p uintptr) { /* sqlite3.c:79548:29: */ } } } + func Xsqlite3VdbeLeave(tls *libc.TLS, p uintptr) { /* sqlite3.c:79562:21: */ if ((*Vdbe)(unsafe.Pointer(p)).FlockMask) == YDbMask(0) { return @@ -57770,6 +57911,7 @@ func vdbeCloseStatement(tls *libc.TLS, p uintptr, eOp int32) int32 { /* sqlite3. } return rc } + func Xsqlite3VdbeCloseStatement(tls *libc.TLS, p uintptr, eOp int32) int32 { /* sqlite3.c:80715:20: */ if ((*Sqlite3)(unsafe.Pointer((*Vdbe)(unsafe.Pointer(p)).Fdb)).FnStatement != 0) && ((*Vdbe)(unsafe.Pointer(p)).FiStatement != 0) { return vdbeCloseStatement(tls, p, eOp) @@ -58335,6 +58477,7 @@ func Xsqlite3VdbeSerialTypeLen(tls *libc.TLS, serial_type U32) U32 { /* sqlite3. } return U32(0) } + func Xsqlite3VdbeOneByteSerialTypeLen(tls *libc.TLS, serial_type U8) U8 { /* sqlite3.c:81468:19: */ return sqlite3SmallTypeSizes[serial_type] @@ -58462,6 +58605,7 @@ func serialGet(tls *libc.TLS, buf uintptr, serial_type U32, pMem uintptr) U32 { } return U32(8) } + func Xsqlite3VdbeSerialGet(tls *libc.TLS, buf uintptr, serial_type U32, pMem uintptr) U32 { /* sqlite3.c:81629:20: */ switch serial_type { case U32(10): @@ -58565,6 +58709,7 @@ func Xsqlite3VdbeSerialGet(tls *libc.TLS, buf uintptr, serial_type U32, pMem uin } var aFlag = [2]U16{(U16(0x0010 | 0x1000)), (U16(0x0002 | 0x1000))} /* sqlite3.c:81711:24 */ + // This routine is used to allocate sufficient space for an UnpackedRecord // structure large enough to be used with sqlite3VdbeRecordUnpack() if // the first argument is a pointer to KeyInfo structure pKeyInfo. @@ -59160,6 +59305,7 @@ func Xsqlite3VdbeRecordCompareWithSkip(tls *libc.TLS, nKey1 int32, pKey1 uintptr (*UnpackedRecord)(unsafe.Pointer(pPKey2)).FeqSeen = U8(1) return int32((*UnpackedRecord)(unsafe.Pointer(pPKey2)).Fdefault_rc) } + func Xsqlite3VdbeRecordCompare(tls *libc.TLS, nKey1 int32, pKey1 uintptr, pPKey2 uintptr) int32 { /* sqlite3.c:82413:20: */ return Xsqlite3VdbeRecordCompareWithSkip(tls, nKey1, pKey1, pPKey2, 0) } @@ -59762,6 +59908,7 @@ func vdbeSafety(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:83026:12: */ } return int32(0) } + func vdbeSafetyNotNull(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:83034:12: */ if p == uintptr(0) { Xsqlite3_log(tls, 21, ts+7010 /* "API called with ..." */, 0) @@ -59899,21 +60046,27 @@ func Xsqlite3_value_blob(tls *libc.TLS, pVal uintptr) uintptr { /* sqlite3.c:831 } return uintptr(0) } + func Xsqlite3_value_bytes(tls *libc.TLS, pVal uintptr) int32 { /* sqlite3.c:83172:16: */ return Xsqlite3ValueBytes(tls, pVal, uint8(1)) } + func Xsqlite3_value_bytes16(tls *libc.TLS, pVal uintptr) int32 { /* sqlite3.c:83175:16: */ return Xsqlite3ValueBytes(tls, pVal, uint8(2)) } + func Xsqlite3_value_double(tls *libc.TLS, pVal uintptr) float64 { /* sqlite3.c:83178:19: */ return Xsqlite3VdbeRealValue(tls, pVal) } + func Xsqlite3_value_int(tls *libc.TLS, pVal uintptr) int32 { /* sqlite3.c:83181:16: */ return int32(Xsqlite3VdbeIntValue(tls, pVal)) } + func Xsqlite3_value_int64(tls *libc.TLS, pVal uintptr) Sqlite_int64 { /* sqlite3.c:83184:25: */ return Xsqlite3VdbeIntValue(tls, pVal) } + func Xsqlite3_value_subtype(tls *libc.TLS, pVal uintptr) uint32 { /* sqlite3.c:83187:25: */ var pMem uintptr = pVal return func() uint32 { @@ -59923,6 +60076,7 @@ func Xsqlite3_value_subtype(tls *libc.TLS, pVal uintptr) uint32 { /* sqlite3.c:8 return uint32(0) }() } + func Xsqlite3_value_pointer(tls *libc.TLS, pVal uintptr, zPType uintptr) uintptr { /* sqlite3.c:83191:17: */ var p uintptr = pVal if ((((int32((*Mem)(unsafe.Pointer(p)).Fflags) & ((0xc1bf | 0x0200) | 0x8000)) == ((0x0001 | 0x0200) | 0x8000)) && @@ -59935,15 +60089,19 @@ func Xsqlite3_value_pointer(tls *libc.TLS, pVal uintptr, zPType uintptr) uintptr } return uintptr(0) } + func Xsqlite3_value_text(tls *libc.TLS, pVal uintptr) uintptr { /* sqlite3.c:83204:32: */ return Xsqlite3ValueText(tls, pVal, uint8(1)) } + func Xsqlite3_value_text16(tls *libc.TLS, pVal uintptr) uintptr { /* sqlite3.c:83208:23: */ return Xsqlite3ValueText(tls, pVal, uint8(2)) } + func Xsqlite3_value_text16be(tls *libc.TLS, pVal uintptr) uintptr { /* sqlite3.c:83211:23: */ return Xsqlite3ValueText(tls, pVal, uint8(3)) } + func Xsqlite3_value_text16le(tls *libc.TLS, pVal uintptr) uintptr { /* sqlite3.c:83214:23: */ return Xsqlite3ValueText(tls, pVal, uint8(2)) } @@ -60079,6 +60237,7 @@ func setResultStrOrError(tls *libc.TLS, pCtx uintptr, z uintptr, n int32, enc U8 Xsqlite3_result_error_toobig(tls, pCtx) } } + func invokeValueDestructor(tls *libc.TLS, p uintptr, xDel uintptr, pCtx uintptr) int32 { /* sqlite3.c:83369:12: */ if xDel == uintptr(0) { @@ -60093,10 +60252,12 @@ func invokeValueDestructor(tls *libc.TLS, p uintptr, xDel uintptr, pCtx uintptr) } return 18 } + func Xsqlite3_result_blob(tls *libc.TLS, pCtx uintptr, z uintptr, n int32, xDel uintptr) { /* sqlite3.c:83385:17: */ setResultStrOrError(tls, pCtx, z, n, uint8(0), xDel) } + func Xsqlite3_result_blob64(tls *libc.TLS, pCtx uintptr, z uintptr, n Sqlite3_uint64, xDel uintptr) { /* sqlite3.c:83395:17: */ if n > uint64(0x7fffffff) { @@ -60105,32 +60266,39 @@ func Xsqlite3_result_blob64(tls *libc.TLS, pCtx uintptr, z uintptr, n Sqlite3_ui setResultStrOrError(tls, pCtx, z, int32(n), uint8(0), xDel) } } + func Xsqlite3_result_double(tls *libc.TLS, pCtx uintptr, rVal float64) { /* sqlite3.c:83409:17: */ Xsqlite3VdbeMemSetDouble(tls, (*Sqlite3_context)(unsafe.Pointer(pCtx)).FpOut, rVal) } + func Xsqlite3_result_error(tls *libc.TLS, pCtx uintptr, z uintptr, n int32) { /* sqlite3.c:83413:17: */ (*Sqlite3_context)(unsafe.Pointer(pCtx)).FisError = 1 Xsqlite3VdbeMemSetStr(tls, (*Sqlite3_context)(unsafe.Pointer(pCtx)).FpOut, z, n, uint8(1), libc.UintptrFromInt32(-1)) } + func Xsqlite3_result_error16(tls *libc.TLS, pCtx uintptr, z uintptr, n int32) { /* sqlite3.c:83419:17: */ (*Sqlite3_context)(unsafe.Pointer(pCtx)).FisError = 1 Xsqlite3VdbeMemSetStr(tls, (*Sqlite3_context)(unsafe.Pointer(pCtx)).FpOut, z, n, uint8(2), libc.UintptrFromInt32(-1)) } + func Xsqlite3_result_int(tls *libc.TLS, pCtx uintptr, iVal int32) { /* sqlite3.c:83425:17: */ Xsqlite3VdbeMemSetInt64(tls, (*Sqlite3_context)(unsafe.Pointer(pCtx)).FpOut, I64(iVal)) } + func Xsqlite3_result_int64(tls *libc.TLS, pCtx uintptr, iVal I64) { /* sqlite3.c:83429:17: */ Xsqlite3VdbeMemSetInt64(tls, (*Sqlite3_context)(unsafe.Pointer(pCtx)).FpOut, iVal) } + func Xsqlite3_result_null(tls *libc.TLS, pCtx uintptr) { /* sqlite3.c:83433:17: */ Xsqlite3VdbeMemSetNull(tls, (*Sqlite3_context)(unsafe.Pointer(pCtx)).FpOut) } + func Xsqlite3_result_pointer(tls *libc.TLS, pCtx uintptr, pPtr uintptr, zPType uintptr, xDestructor uintptr) { /* sqlite3.c:83437:17: */ var pOut uintptr = (*Sqlite3_context)(unsafe.Pointer(pCtx)).FpOut @@ -60138,16 +60306,19 @@ func Xsqlite3_result_pointer(tls *libc.TLS, pCtx uintptr, pPtr uintptr, zPType u (*Mem)(unsafe.Pointer(pOut)).Fflags = U16(0x0001) Xsqlite3VdbeMemSetPointer(tls, pOut, pPtr, zPType, xDestructor) } + func Xsqlite3_result_subtype(tls *libc.TLS, pCtx uintptr, eSubtype uint32) { /* sqlite3.c:83449:17: */ var pOut uintptr = (*Sqlite3_context)(unsafe.Pointer(pCtx)).FpOut (*Mem)(unsafe.Pointer(pOut)).FeSubtype = (U8(eSubtype & uint32(0xff))) *(*U16)(unsafe.Pointer(pOut + 8 /* &.flags */)) |= U16((0x8000)) } + func Xsqlite3_result_text(tls *libc.TLS, pCtx uintptr, z uintptr, n int32, xDel uintptr) { /* sqlite3.c:83455:17: */ setResultStrOrError(tls, pCtx, z, n, uint8(1), xDel) } + func Xsqlite3_result_text64(tls *libc.TLS, pCtx uintptr, z uintptr, n Sqlite3_uint64, xDel uintptr, enc uint8) { /* sqlite3.c:83464:17: */ if int32(enc) == 4 { @@ -60159,26 +60330,32 @@ func Xsqlite3_result_text64(tls *libc.TLS, pCtx uintptr, z uintptr, n Sqlite3_ui setResultStrOrError(tls, pCtx, z, int32(n), enc, xDel) } } + func Xsqlite3_result_text16(tls *libc.TLS, pCtx uintptr, z uintptr, n int32, xDel uintptr) { /* sqlite3.c:83481:17: */ setResultStrOrError(tls, pCtx, z, n, uint8(2), xDel) } + func Xsqlite3_result_text16be(tls *libc.TLS, pCtx uintptr, z uintptr, n int32, xDel uintptr) { /* sqlite3.c:83490:17: */ setResultStrOrError(tls, pCtx, z, n, uint8(3), xDel) } + func Xsqlite3_result_text16le(tls *libc.TLS, pCtx uintptr, z uintptr, n int32, xDel uintptr) { /* sqlite3.c:83499:17: */ setResultStrOrError(tls, pCtx, z, n, uint8(2), xDel) } + func Xsqlite3_result_value(tls *libc.TLS, pCtx uintptr, pValue uintptr) { /* sqlite3.c:83509:17: */ Xsqlite3VdbeMemCopy(tls, (*Sqlite3_context)(unsafe.Pointer(pCtx)).FpOut, pValue) } + func Xsqlite3_result_zeroblob(tls *libc.TLS, pCtx uintptr, n int32) { /* sqlite3.c:83513:17: */ Xsqlite3VdbeMemSetZeroBlob(tls, (*Sqlite3_context)(unsafe.Pointer(pCtx)).FpOut, n) } + func Xsqlite3_result_zeroblob64(tls *libc.TLS, pCtx uintptr, n U64) int32 { /* sqlite3.c:83517:16: */ var pOut uintptr = (*Sqlite3_context)(unsafe.Pointer(pCtx)).FpOut @@ -60188,6 +60365,7 @@ func Xsqlite3_result_zeroblob64(tls *libc.TLS, pCtx uintptr, n U64) int32 { /* s Xsqlite3VdbeMemSetZeroBlob(tls, (*Sqlite3_context)(unsafe.Pointer(pCtx)).FpOut, int32(n)) return 0 } + func Xsqlite3_result_error_code(tls *libc.TLS, pCtx uintptr, errCode int32) { /* sqlite3.c:83526:17: */ (*Sqlite3_context)(unsafe.Pointer(pCtx)).FisError = func() int32 { if errCode != 0 { @@ -60792,36 +60970,43 @@ func Xsqlite3_column_blob(tls *libc.TLS, pStmt uintptr, i int32) uintptr { /* sq columnMallocFailure(tls, pStmt) return val } + func Xsqlite3_column_bytes(tls *libc.TLS, pStmt uintptr, i int32) int32 { /* sqlite3.c:84107:16: */ var val int32 = Xsqlite3_value_bytes(tls, columnMem(tls, pStmt, i)) columnMallocFailure(tls, pStmt) return val } + func Xsqlite3_column_bytes16(tls *libc.TLS, pStmt uintptr, i int32) int32 { /* sqlite3.c:84112:16: */ var val int32 = Xsqlite3_value_bytes16(tls, columnMem(tls, pStmt, i)) columnMallocFailure(tls, pStmt) return val } + func Xsqlite3_column_double(tls *libc.TLS, pStmt uintptr, i int32) float64 { /* sqlite3.c:84117:19: */ var val float64 = Xsqlite3_value_double(tls, columnMem(tls, pStmt, i)) columnMallocFailure(tls, pStmt) return val } + func Xsqlite3_column_int(tls *libc.TLS, pStmt uintptr, i int32) int32 { /* sqlite3.c:84122:16: */ var val int32 = Xsqlite3_value_int(tls, columnMem(tls, pStmt, i)) columnMallocFailure(tls, pStmt) return val } + func Xsqlite3_column_int64(tls *libc.TLS, pStmt uintptr, i int32) Sqlite_int64 { /* sqlite3.c:84127:25: */ var val Sqlite_int64 = Xsqlite3_value_int64(tls, columnMem(tls, pStmt, i)) columnMallocFailure(tls, pStmt) return val } + func Xsqlite3_column_text(tls *libc.TLS, pStmt uintptr, i int32) uintptr { /* sqlite3.c:84132:32: */ var val uintptr = Xsqlite3_value_text(tls, columnMem(tls, pStmt, i)) columnMallocFailure(tls, pStmt) return val } + func Xsqlite3_column_value(tls *libc.TLS, pStmt uintptr, i int32) uintptr { /* sqlite3.c:84137:26: */ var pOut uintptr = columnMem(tls, pStmt, i) if (int32((*Mem)(unsafe.Pointer(pOut)).Fflags) & 0x0800) != 0 { @@ -60831,11 +61016,13 @@ func Xsqlite3_column_value(tls *libc.TLS, pStmt uintptr, i int32) uintptr { /* s columnMallocFailure(tls, pStmt) return pOut } + func Xsqlite3_column_text16(tls *libc.TLS, pStmt uintptr, i int32) uintptr { /* sqlite3.c:84147:23: */ var val uintptr = Xsqlite3_value_text16(tls, columnMem(tls, pStmt, i)) columnMallocFailure(tls, pStmt) return val } + func Xsqlite3_column_type(tls *libc.TLS, pStmt uintptr, i int32) int32 { /* sqlite3.c:84153:16: */ var iType int32 = Xsqlite3_value_type(tls, columnMem(tls, pStmt, i)) columnMallocFailure(tls, pStmt) @@ -60891,6 +61078,7 @@ func columnName(tls *libc.TLS, pStmt uintptr, N int32, useUtf16 int32, useType i func Xsqlite3_column_name(tls *libc.TLS, pStmt uintptr, N int32) uintptr { /* sqlite3.c:84224:23: */ return columnName(tls, pStmt, N, 0, 0) } + func Xsqlite3_column_name16(tls *libc.TLS, pStmt uintptr, N int32) uintptr { /* sqlite3.c:84228:23: */ return columnName(tls, pStmt, N, 1, 0) } @@ -60903,6 +61091,7 @@ func Xsqlite3_column_name16(tls *libc.TLS, pStmt uintptr, N int32) uintptr { /* func Xsqlite3_column_decltype(tls *libc.TLS, pStmt uintptr, N int32) uintptr { /* sqlite3.c:84247:23: */ return columnName(tls, pStmt, N, 0, 1) } + func Xsqlite3_column_decltype16(tls *libc.TLS, pStmt uintptr, N int32) uintptr { /* sqlite3.c:84251:23: */ return columnName(tls, pStmt, N, 1, 1) } @@ -60913,6 +61102,7 @@ func Xsqlite3_column_decltype16(tls *libc.TLS, pStmt uintptr, N int32) uintptr { func Xsqlite3_column_database_name(tls *libc.TLS, pStmt uintptr, N int32) uintptr { /* sqlite3.c:84263:23: */ return columnName(tls, pStmt, N, 0, 2) } + func Xsqlite3_column_database_name16(tls *libc.TLS, pStmt uintptr, N int32) uintptr { /* sqlite3.c:84267:23: */ return columnName(tls, pStmt, N, 1, 2) } @@ -60923,6 +61113,7 @@ func Xsqlite3_column_database_name16(tls *libc.TLS, pStmt uintptr, N int32) uint func Xsqlite3_column_table_name(tls *libc.TLS, pStmt uintptr, N int32) uintptr { /* sqlite3.c:84277:23: */ return columnName(tls, pStmt, N, 0, 3) } + func Xsqlite3_column_table_name16(tls *libc.TLS, pStmt uintptr, N int32) uintptr { /* sqlite3.c:84281:23: */ return columnName(tls, pStmt, N, 1, 3) } @@ -60933,6 +61124,7 @@ func Xsqlite3_column_table_name16(tls *libc.TLS, pStmt uintptr, N int32) uintptr func Xsqlite3_column_origin_name(tls *libc.TLS, pStmt uintptr, N int32) uintptr { /* sqlite3.c:84291:23: */ return columnName(tls, pStmt, N, 0, 4) } + func Xsqlite3_column_origin_name16(tls *libc.TLS, pStmt uintptr, N int32) uintptr { /* sqlite3.c:84295:23: */ return columnName(tls, pStmt, N, 1, 4) } @@ -61027,6 +61219,7 @@ func bindText(tls *libc.TLS, pStmt uintptr, i int32, zData uintptr, nData int32, func Xsqlite3_bind_blob(tls *libc.TLS, pStmt uintptr, i int32, zData uintptr, nData int32, xDel uintptr) int32 { /* sqlite3.c:84396:16: */ return bindText(tls, pStmt, i, zData, nData, xDel, uint8(0)) } + func Xsqlite3_bind_blob64(tls *libc.TLS, pStmt uintptr, i int32, zData uintptr, nData Sqlite3_uint64, xDel uintptr) int32 { /* sqlite3.c:84408:16: */ if nData > uint64(0x7fffffff) { @@ -61036,6 +61229,7 @@ func Xsqlite3_bind_blob64(tls *libc.TLS, pStmt uintptr, i int32, zData uintptr, } return int32(0) } + func Xsqlite3_bind_double(tls *libc.TLS, pStmt uintptr, i int32, rValue float64) int32 { /* sqlite3.c:84422:16: */ var rc int32 var p uintptr = pStmt @@ -61046,9 +61240,11 @@ func Xsqlite3_bind_double(tls *libc.TLS, pStmt uintptr, i int32, rValue float64) } return rc } + func Xsqlite3_bind_int(tls *libc.TLS, p uintptr, i int32, iValue int32) int32 { /* sqlite3.c:84432:16: */ return Xsqlite3_bind_int64(tls, p, i, I64(iValue)) } + func Xsqlite3_bind_int64(tls *libc.TLS, pStmt uintptr, i int32, iValue Sqlite_int64) int32 { /* sqlite3.c:84435:16: */ var rc int32 var p uintptr = pStmt @@ -61059,6 +61255,7 @@ func Xsqlite3_bind_int64(tls *libc.TLS, pStmt uintptr, i int32, iValue Sqlite_in } return rc } + func Xsqlite3_bind_null(tls *libc.TLS, pStmt uintptr, i int32) int32 { /* sqlite3.c:84445:16: */ var rc int32 var p uintptr = pStmt @@ -61068,6 +61265,7 @@ func Xsqlite3_bind_null(tls *libc.TLS, pStmt uintptr, i int32) int32 { /* sqlite } return rc } + func Xsqlite3_bind_pointer(tls *libc.TLS, pStmt uintptr, i int32, pPtr uintptr, zPTtype uintptr, xDestructor uintptr) int32 { /* sqlite3.c:84454:16: */ var rc int32 var p uintptr = pStmt @@ -61080,9 +61278,11 @@ func Xsqlite3_bind_pointer(tls *libc.TLS, pStmt uintptr, i int32, pPtr uintptr, } return rc } + func Xsqlite3_bind_text(tls *libc.TLS, pStmt uintptr, i int32, zData uintptr, nData int32, xDel uintptr) int32 { /* sqlite3.c:84472:16: */ return bindText(tls, pStmt, i, zData, nData, xDel, uint8(1)) } + func Xsqlite3_bind_text64(tls *libc.TLS, pStmt uintptr, i int32, zData uintptr, nData Sqlite3_uint64, xDel uintptr, enc uint8) int32 { /* sqlite3.c:84481:16: */ if nData > uint64(0x7fffffff) { @@ -61095,9 +61295,11 @@ func Xsqlite3_bind_text64(tls *libc.TLS, pStmt uintptr, i int32, zData uintptr, } return int32(0) } + func Xsqlite3_bind_text16(tls *libc.TLS, pStmt uintptr, i int32, zData uintptr, nData int32, xDel uintptr) int32 { /* sqlite3.c:84498:16: */ return bindText(tls, pStmt, i, zData, nData, xDel, uint8(2)) } + func Xsqlite3_bind_value(tls *libc.TLS, pStmt uintptr, i int32, pValue uintptr) int32 { /* sqlite3.c:84508:16: */ var rc int32 switch Xsqlite3_value_type(tls, pValue) { @@ -61139,6 +61341,7 @@ func Xsqlite3_bind_value(tls *libc.TLS, pStmt uintptr, i int32, pValue uintptr) } return rc } + func Xsqlite3_bind_zeroblob(tls *libc.TLS, pStmt uintptr, i int32, n int32) int32 { /* sqlite3.c:84539:16: */ var rc int32 var p uintptr = pStmt @@ -61149,6 +61352,7 @@ func Xsqlite3_bind_zeroblob(tls *libc.TLS, pStmt uintptr, i int32, n int32) int3 } return rc } + func Xsqlite3_bind_zeroblob64(tls *libc.TLS, pStmt uintptr, i int32, n Sqlite3_uint64) int32 { /* sqlite3.c:84549:16: */ var rc int32 var p uintptr = pStmt @@ -61195,6 +61399,7 @@ func Xsqlite3VdbeParameterIndex(tls *libc.TLS, p uintptr, zName uintptr, nName i } return Xsqlite3VListNameToNum(tls, (*Vdbe)(unsafe.Pointer(p)).FpVList, zName, nName) } + func Xsqlite3_bind_parameter_index(tls *libc.TLS, pStmt uintptr, zName uintptr) int32 { /* sqlite3.c:84594:16: */ return Xsqlite3VdbeParameterIndex(tls, pStmt, zName, Xsqlite3Strlen30(tls, zName)) } @@ -61860,6 +62065,7 @@ var Xsqlite3_sort_count int32 = 0 /* sqlite3.c:85308:16 */ // is working correctly. This variable has no function other than to // help verify the correct operation of the library. var Xsqlite3_max_blobsize int32 = 0 /* sqlite3.c:85319:16 */ + func updateMaxBlobsize(tls *libc.TLS, p uintptr) { /* sqlite3.c:85320:13: */ if ((int32((*Mem)(unsafe.Pointer(p)).Fflags) & (0x0002 | 0x0010)) != 0) && ((*Mem)(unsafe.Pointer(p)).Fn > Xsqlite3_max_blobsize) { Xsqlite3_max_blobsize = (*Mem)(unsafe.Pointer(p)).Fn @@ -62162,6 +62368,7 @@ func out2PrereleaseWithClear(tls *libc.TLS, pOut uintptr) uintptr { /* sqlite3.c (*Mem)(unsafe.Pointer(pOut)).Fflags = U16(0x0004) return pOut } + func out2Prerelease(tls *libc.TLS, p uintptr, pOp uintptr) uintptr { /* sqlite3.c:85966:12: */ var pOut uintptr @@ -77333,6 +77540,7 @@ func walkExpr(tls *libc.TLS, pWalker uintptr, pExpr uintptr) int32 { /* sqlite3. } return 0 } + func Xsqlite3WalkExpr(tls *libc.TLS, pWalker uintptr, pExpr uintptr) int32 { /* sqlite3.c:97606:20: */ if pExpr != 0 { return walkExpr(tls, pWalker, pExpr) @@ -77491,6 +77699,7 @@ func Xsqlite3WalkerDepthIncrease(tls *libc.TLS, pWalker uintptr, pSelect uintptr (*Walker)(unsafe.Pointer(pWalker)).FwalkerDepth++ return 0 } + func Xsqlite3WalkerDepthDecrease(tls *libc.TLS, pWalker uintptr, pSelect uintptr) { /* sqlite3.c:97725:21: */ _ = pSelect (*Walker)(unsafe.Pointer(pWalker)).FwalkerDepth-- @@ -77552,6 +77761,7 @@ func incrAggDepth(tls *libc.TLS, pWalker uintptr, pExpr uintptr) int32 { /* sqli } return 0 } + func incrAggFunctionDepth(tls *libc.TLS, pExpr uintptr, N int32) { /* sqlite3.c:97794:13: */ bp := tls.Alloc(48) defer tls.Free(48) @@ -79837,6 +80047,7 @@ func Xsqlite3ExprAddCollateToken(tls *libc.TLS, pParse uintptr, pExpr uintptr, p } return pExpr } + func Xsqlite3ExprAddCollateString(tls *libc.TLS, pParse uintptr, pExpr uintptr, zC uintptr) uintptr { /* sqlite3.c:99820:21: */ bp := tls.Alloc(16) defer tls.Free(16) @@ -80365,6 +80576,7 @@ func heightOfExpr(tls *libc.TLS, p uintptr, pnHeight uintptr) { /* sqlite3.c:100 } } } + func heightOfExprList(tls *libc.TLS, p uintptr, pnHeight uintptr) { /* sqlite3.c:100413:13: */ if p != 0 { var i int32 @@ -80373,6 +80585,7 @@ func heightOfExprList(tls *libc.TLS, p uintptr, pnHeight uintptr) { /* sqlite3.c } } } + func heightOfSelect(tls *libc.TLS, pSelect uintptr, pnHeight uintptr) { /* sqlite3.c:100421:13: */ var p uintptr for p = pSelect; p != 0; p = (*Select)(unsafe.Pointer(p)).FpPrior { @@ -80754,6 +80967,7 @@ func sqlite3ExprDeleteNN(tls *libc.TLS, db uintptr, p uintptr) { /* sqlite3.c:10 Xsqlite3DbFreeNN(tls, db, p) } } + func Xsqlite3ExprDelete(tls *libc.TLS, db uintptr, p uintptr) { /* sqlite3.c:100855:21: */ if p != 0 { sqlite3ExprDeleteNN(tls, db, p) @@ -81014,12 +81228,14 @@ func gatherSelectWindowsCallback(tls *libc.TLS, pWalker uintptr, pExpr uintptr) } return 0 } + func gatherSelectWindowsSelectCallback(tls *libc.TLS, pWalker uintptr, p uintptr) int32 { /* sqlite3.c:101135:12: */ if p == *(*uintptr)(unsafe.Pointer(pWalker + 40 /* &.u */)) { return 0 } return 1 } + func gatherSelectWindows(tls *libc.TLS, p uintptr) { /* sqlite3.c:101138:13: */ bp := tls.Alloc(48) defer tls.Free(48) @@ -81060,6 +81276,7 @@ func Xsqlite3ExprDup(tls *libc.TLS, db uintptr, p uintptr, flags int32) uintptr } return uintptr(0) } + func Xsqlite3ExprListDup(tls *libc.TLS, db uintptr, p uintptr, flags int32) uintptr { /* sqlite3.c:101171:25: */ var pNew uintptr var pItem uintptr @@ -81172,6 +81389,7 @@ func Xsqlite3SrcListDup(tls *libc.TLS, db uintptr, p uintptr, flags int32) uintp } return pNew } + func Xsqlite3IdListDup(tls *libc.TLS, db uintptr, p uintptr) uintptr { /* sqlite3.c:101263:23: */ var pNew uintptr var i int32 @@ -81200,6 +81418,7 @@ func Xsqlite3IdListDup(tls *libc.TLS, db uintptr, p uintptr) uintptr { /* sqlite } return pNew } + func Xsqlite3SelectDup(tls *libc.TLS, db uintptr, pDup uintptr, flags int32) uintptr { /* sqlite3.c:101287:23: */ bp := tls.Alloc(8) defer tls.Free(8) @@ -81504,6 +81723,7 @@ func exprListDeleteNN(tls *libc.TLS, db uintptr, pList uintptr) { /* sqlite3.c:1 } Xsqlite3DbFreeNN(tls, db, pList) } + func Xsqlite3ExprListDelete(tls *libc.TLS, db uintptr, pList uintptr) { /* sqlite3.c:101584:21: */ if pList != 0 { exprListDeleteNN(tls, db, pList) @@ -81708,6 +81928,7 @@ func exprNodeIsConstant(tls *libc.TLS, pWalker uintptr, pExpr uintptr) int32 { / } return int32(0) } + func exprIsConst(tls *libc.TLS, p uintptr, initFlag int32, iCur int32) int32 { /* sqlite3.c:101788:12: */ bp := tls.Alloc(48) defer tls.Free(48) @@ -86383,6 +86604,7 @@ func Xsqlite3GetTempRange(tls *libc.TLS, pParse uintptr, nReg int32) int32 { /* } return i } + func Xsqlite3ReleaseTempRange(tls *libc.TLS, pParse uintptr, iReg int32, nReg int32) { /* sqlite3.c:105750:21: */ if nReg == 1 { Xsqlite3ReleaseTempReg(tls, pParse, iReg) @@ -90888,6 +91110,7 @@ __3: ; return 0 } + func Xsqlite3FixSelect(tls *libc.TLS, pFix uintptr, pSelect uintptr) int32 { /* sqlite3.c:110000:20: */ for pSelect != 0 { if Xsqlite3FixExprList(tls, pFix, (*Select)(unsafe.Pointer(pSelect)).FpEList) != 0 { @@ -90923,6 +91146,7 @@ func Xsqlite3FixSelect(tls *libc.TLS, pFix uintptr, pSelect uintptr) int32 { /* } return 0 } + func Xsqlite3FixExpr(tls *libc.TLS, pFix uintptr, pExpr uintptr) int32 { /* sqlite3.c:110038:20: */ bp := tls.Alloc(8) defer tls.Free(8) @@ -90958,6 +91182,7 @@ func Xsqlite3FixExpr(tls *libc.TLS, pFix uintptr, pExpr uintptr) int32 { /* sqli } return 0 } + func Xsqlite3FixExprList(tls *libc.TLS, pFix uintptr, pList uintptr) int32 { /* sqlite3.c:110065:20: */ var i int32 var pItem uintptr @@ -91859,6 +92084,7 @@ func deleteTable(tls *libc.TLS, db uintptr, pTable uintptr) { /* sqlite3.c:11105 // Verify that no lookaside memory was used by schema tables } + func Xsqlite3DeleteTable(tls *libc.TLS, db uintptr, pTable uintptr) { /* sqlite3.c:111108:21: */ // Do not delete the table until the reference count reaches zero. if !(pTable != 0) { @@ -99027,6 +99253,7 @@ func upperFunc(tls *libc.TLS, context uintptr, argc int32, argv uintptr) { /* sq } } } + func lowerFunc(tls *libc.TLS, context uintptr, argc int32, argv uintptr) { /* sqlite3.c:117525:13: */ var z1 uintptr var z2 uintptr @@ -100093,6 +100320,7 @@ func sumStep(tls *libc.TLS, context uintptr, argc int32, argv uintptr) { /* sqli } } } + func sumInverse(tls *libc.TLS, context uintptr, argc int32, argv uintptr) { /* sqlite3.c:118598:13: */ var p uintptr var type1 int32 @@ -100115,6 +100343,7 @@ func sumInverse(tls *libc.TLS, context uintptr, argc int32, argv uintptr) { /* s } } } + func sumFinalize(tls *libc.TLS, context uintptr) { /* sqlite3.c:118623:13: */ var p uintptr p = Xsqlite3_aggregate_context(tls, context, 0) @@ -100128,6 +100357,7 @@ func sumFinalize(tls *libc.TLS, context uintptr) { /* sqlite3.c:118623:13: */ } } } + func avgFinalize(tls *libc.TLS, context uintptr) { /* sqlite3.c:118636:13: */ var p uintptr p = Xsqlite3_aggregate_context(tls, context, 0) @@ -100135,6 +100365,7 @@ func avgFinalize(tls *libc.TLS, context uintptr) { /* sqlite3.c:118636:13: */ Xsqlite3_result_double(tls, context, ((*SumCtx)(unsafe.Pointer(p)).FrSum / float64((*SumCtx)(unsafe.Pointer(p)).Fcnt))) } } + func totalFinalize(tls *libc.TLS, context uintptr) { /* sqlite3.c:118643:13: */ var p uintptr p = Xsqlite3_aggregate_context(tls, context, 0) @@ -100169,6 +100400,7 @@ func countStep(tls *libc.TLS, context uintptr, argc int32, argv uintptr) { /* sq // expressed as a 32-bit integer. } + func countFinalize(tls *libc.TLS, context uintptr) { /* sqlite3.c:118681:13: */ var p uintptr p = Xsqlite3_aggregate_context(tls, context, 0) @@ -100179,6 +100411,7 @@ func countFinalize(tls *libc.TLS, context uintptr) { /* sqlite3.c:118681:13: */ return int64(0) }()) } + func countInverse(tls *libc.TLS, ctx uintptr, argc int32, argv uintptr) { /* sqlite3.c:118687:13: */ var p uintptr p = Xsqlite3_aggregate_context(tls, ctx, int32(unsafe.Sizeof(CountCtx{}))) @@ -100226,6 +100459,7 @@ func minmaxStep(tls *libc.TLS, context uintptr, NotUsed int32, argv uintptr) { / Xsqlite3VdbeMemCopy(tls, pBest, pArg) } } + func minMaxValueFinalize(tls *libc.TLS, context uintptr, bValue int32) { /* sqlite3.c:118743:13: */ var pRes uintptr pRes = Xsqlite3_aggregate_context(tls, context, 0) @@ -100238,9 +100472,11 @@ func minMaxValueFinalize(tls *libc.TLS, context uintptr, bValue int32) { /* sqli } } } + func minMaxValue(tls *libc.TLS, context uintptr) { /* sqlite3.c:118754:13: */ minMaxValueFinalize(tls, context, 1) } + func minMaxFinalize(tls *libc.TLS, context uintptr) { /* sqlite3.c:118760:13: */ minMaxValueFinalize(tls, context, 0) } @@ -100281,6 +100517,7 @@ func groupConcatStep(tls *libc.TLS, context uintptr, argc int32, argv uintptr) { } } } + func groupConcatInverse(tls *libc.TLS, context uintptr, argc int32, argv uintptr) { /* sqlite3.c:118800:13: */ var n int32 var pAccum uintptr @@ -100309,6 +100546,7 @@ func groupConcatInverse(tls *libc.TLS, context uintptr, argc int32, argv uintptr } } } + func groupConcatFinalize(tls *libc.TLS, context uintptr) { /* sqlite3.c:118831:13: */ var pAccum uintptr pAccum = Xsqlite3_aggregate_context(tls, context, 0) @@ -100323,6 +100561,7 @@ func groupConcatFinalize(tls *libc.TLS, context uintptr) { /* sqlite3.c:118831:1 } } } + func groupConcatValue(tls *libc.TLS, context uintptr) { /* sqlite3.c:118846:13: */ var pAccum uintptr pAccum = Xsqlite3_aggregate_context(tls, context, 0) @@ -103056,6 +103295,7 @@ var autoIncEnd = [5]VdbeOpList{ 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 { autoIncrementEnd(tls, pParse) @@ -106427,6 +106667,7 @@ func sqlite3LoadExtension(tls *libc.TLS, db uintptr, zFile uintptr, zProc uintpt var azEndings = [1]uintptr{ ts + 17088, /* "so" */ } /* sqlite3.c:124759:21 */ + func Xsqlite3_load_extension(tls *libc.TLS, db uintptr, zFile uintptr, zProc uintptr, pzErrMsg uintptr) int32 { /* sqlite3.c:124882:16: */ var rc int32 Xsqlite3_mutex_enter(tls, (*Sqlite3)(unsafe.Pointer(db)).Fmutex) @@ -107434,6 +107675,7 @@ var aPragmaName = [66]PragmaName{ FiArg: /* iArg: */ (uint64(0x00000001 | 0x08000000))}, } /* sqlite3.c:125260:25 */ + // Number of pragmas: 67 on by default, 77 total. //************* End of pragma.h ********************************************* @@ -112353,6 +112595,7 @@ end_prepare: Xsqlite3ParserReset(tls, bp+16 /* &sParse */) return rc } + func sqlite3LockAndPrepare(tls *libc.TLS, db uintptr, zSql uintptr, nBytes int32, prepFlags U32, pOld uintptr, ppStmt uintptr, pzTail uintptr) int32 { /* sqlite3.c:129056:12: */ var rc int32 var cnt int32 = 0 @@ -112429,6 +112672,7 @@ func Xsqlite3_prepare(tls *libc.TLS, db uintptr, zSql uintptr, nBytes int32, ppS // VERIFY: F13021 return rc } + func Xsqlite3_prepare_v2(tls *libc.TLS, db uintptr, zSql uintptr, nBytes int32, ppStmt uintptr, pzTail uintptr) int32 { /* sqlite3.c:129152:16: */ var rc int32 // EVIDENCE-OF: R-37923-12173 The sqlite3_prepare_v2() interface works @@ -112441,6 +112685,7 @@ func Xsqlite3_prepare_v2(tls *libc.TLS, db uintptr, zSql uintptr, nBytes int32, return rc } + func Xsqlite3_prepare_v3(tls *libc.TLS, db uintptr, zSql uintptr, nBytes int32, prepFlags uint32, ppStmt uintptr, pzTail uintptr) int32 { /* sqlite3.c:129170:16: */ var rc int32 // EVIDENCE-OF: R-56861-42673 sqlite3_prepare_v3() differs from @@ -112512,12 +112757,14 @@ func Xsqlite3_prepare16(tls *libc.TLS, db uintptr, zSql uintptr, nBytes int32, p // VERIFY: F13021 return rc } + func Xsqlite3_prepare16_v2(tls *libc.TLS, db uintptr, zSql uintptr, nBytes int32, ppStmt uintptr, pzTail uintptr) int32 { /* sqlite3.c:129268:16: */ var rc int32 rc = sqlite3Prepare16(tls, db, zSql, nBytes, uint32(0x80), ppStmt, pzTail) // VERIFY: F13021 return rc } + func Xsqlite3_prepare16_v3(tls *libc.TLS, db uintptr, zSql uintptr, nBytes int32, prepFlags uint32, ppStmt uintptr, pzTail uintptr) int32 { /* sqlite3.c:129280:16: */ var rc int32 rc = sqlite3Prepare16(tls, db, zSql, nBytes, @@ -116115,6 +116362,7 @@ func substExpr(tls *libc.TLS, pSubst uintptr, pExpr uintptr) uintptr { /* sqlite } return pExpr } + func substExprList(tls *libc.TLS, pSubst uintptr, pList uintptr) { /* sqlite3.c:132858:13: */ var i int32 if pList == uintptr(0) { @@ -116124,6 +116372,7 @@ func substExprList(tls *libc.TLS, pSubst uintptr, pList uintptr) { /* sqlite3.c: (*ExprList_item)(unsafe.Pointer((pList + 8 /* &.a */) + uintptr(i)*32)).FpExpr = substExpr(tls, pSubst, (*ExprList_item)(unsafe.Pointer((pList+8 /* &.a */)+uintptr(i)*32)).FpExpr) } } + func substSelect(tls *libc.TLS, pSubst uintptr, p uintptr, doPrior int32) { /* sqlite3.c:132868:13: */ var pSrc uintptr var pItem uintptr @@ -116182,6 +116431,7 @@ func recomputeColumnsUsedExpr(tls *libc.TLS, pWalker uintptr, pExpr uintptr) int *(*Bitmask)(unsafe.Pointer(pItem + 88 /* &.colUsed */)) |= (Xsqlite3ExprColUsed(tls, pExpr)) return 0 } + func recomputeColumnsUsed(tls *libc.TLS, pSelect uintptr, pSrcItem uintptr) { /* sqlite3.c:132912:13: */ bp := tls.Alloc(48) defer tls.Free(48) @@ -123394,6 +123644,7 @@ func execSql(tls *libc.TLS, db uintptr, pzErrMsg uintptr, zSql uintptr) int32 { Xsqlite3_finalize(tls, *(*uintptr)(unsafe.Pointer(bp /* pStmt */))) return rc } + func execSqlF(tls *libc.TLS, db uintptr, pzErrMsg uintptr, zSql uintptr, va uintptr) int32 { /* sqlite3.c:139232:12: */ var z uintptr var ap Va_list @@ -128379,6 +128630,7 @@ __3: } return 0 } + func exprMightBeIndexed(tls *libc.TLS, pFrom uintptr, mPrereq Bitmask, aiCurCol uintptr, pExpr uintptr, op int32) int32 { /* sqlite3.c:144979:12: */ // If this expression is a vector to the left or right of a // inequality constraint (>, <, >= or <=), perform the processing @@ -128921,12 +129173,14 @@ func Xsqlite3WhereExprUsageNN(tls *libc.TLS, pMaskSet uintptr, p uintptr) Bitmas } return mask } + func Xsqlite3WhereExprUsage(tls *libc.TLS, pMaskSet uintptr, p uintptr) Bitmask { /* sqlite3.c:145532:24: */ if p != 0 { return Xsqlite3WhereExprUsageNN(tls, pMaskSet, p) } return uint64(0) } + func Xsqlite3WhereExprListUsage(tls *libc.TLS, pMaskSet uintptr, pList uintptr) Bitmask { /* sqlite3.c:145535:24: */ var i int32 var mask Bitmask = uint64(0) @@ -134898,6 +135152,7 @@ func row_numberStepFunc(tls *libc.TLS, pCtx uintptr, nArg int32, apArg uintptr) _ = nArg _ = apArg } + func row_numberValueFunc(tls *libc.TLS, pCtx uintptr) { /* sqlite3.c:151322:13: */ var p uintptr = Xsqlite3_aggregate_context(tls, pCtx, int32(unsafe.Sizeof(I64(0)))) Xsqlite3_result_int64(tls, pCtx, func() int64 { @@ -134929,6 +135184,7 @@ func dense_rankStepFunc(tls *libc.TLS, pCtx uintptr, nArg int32, apArg uintptr) _ = nArg _ = apArg } + func dense_rankValueFunc(tls *libc.TLS, pCtx uintptr) { /* sqlite3.c:151354:13: */ var p uintptr p = Xsqlite3_aggregate_context(tls, pCtx, int32(unsafe.Sizeof(CallCount{}))) @@ -135014,6 +135270,7 @@ error_out: Xsqlite3_result_error(tls, pCtx, ts+23754 /* "second argument ..." */, -1) } + func nth_valueFinalizeFunc(tls *libc.TLS, pCtx uintptr) { /* sqlite3.c:151416:13: */ var p uintptr p = Xsqlite3_aggregate_context(tls, pCtx, 0) @@ -135036,6 +135293,7 @@ func first_valueStepFunc(tls *libc.TLS, pCtx uintptr, nArg int32, apArg uintptr) _ = nArg _ = apArg } + func first_valueFinalizeFunc(tls *libc.TLS, pCtx uintptr) { /* sqlite3.c:151444:13: */ var p uintptr p = Xsqlite3_aggregate_context(tls, pCtx, int32(unsafe.Sizeof(NthValueCtx{}))) @@ -135062,6 +135320,7 @@ func rankStepFunc(tls *libc.TLS, pCtx uintptr, nArg int32, apArg uintptr) { /* s _ = nArg _ = apArg } + func rankValueFunc(tls *libc.TLS, pCtx uintptr) { /* sqlite3.c:151478:13: */ var p uintptr p = Xsqlite3_aggregate_context(tls, pCtx, int32(unsafe.Sizeof(CallCount{}))) @@ -135084,6 +135343,7 @@ func percent_rankStepFunc(tls *libc.TLS, pCtx uintptr, nArg int32, apArg uintptr (*CallCount)(unsafe.Pointer(p)).FnTotal++ } } + func percent_rankInvFunc(tls *libc.TLS, pCtx uintptr, nArg int32, apArg uintptr) { /* sqlite3.c:151506:13: */ var p uintptr _ = nArg @@ -135091,6 +135351,7 @@ func percent_rankInvFunc(tls *libc.TLS, pCtx uintptr, nArg int32, apArg uintptr) p = Xsqlite3_aggregate_context(tls, pCtx, int32(unsafe.Sizeof(CallCount{}))) (*CallCount)(unsafe.Pointer(p)).FnStep++ } + func percent_rankValueFunc(tls *libc.TLS, pCtx uintptr) { /* sqlite3.c:151517:13: */ var p uintptr p = Xsqlite3_aggregate_context(tls, pCtx, int32(unsafe.Sizeof(CallCount{}))) @@ -135118,6 +135379,7 @@ func cume_distStepFunc(tls *libc.TLS, pCtx uintptr, nArg int32, apArg uintptr) { (*CallCount)(unsafe.Pointer(p)).FnTotal++ } } + func cume_distInvFunc(tls *libc.TLS, pCtx uintptr, nArg int32, apArg uintptr) { /* sqlite3.c:151551:13: */ var p uintptr _ = nArg @@ -135125,6 +135387,7 @@ func cume_distInvFunc(tls *libc.TLS, pCtx uintptr, nArg int32, apArg uintptr) { p = Xsqlite3_aggregate_context(tls, pCtx, int32(unsafe.Sizeof(CallCount{}))) (*CallCount)(unsafe.Pointer(p)).FnStep++ } + func cume_distValueFunc(tls *libc.TLS, pCtx uintptr) { /* sqlite3.c:151562:13: */ var p uintptr p = Xsqlite3_aggregate_context(tls, pCtx, 0) @@ -135160,6 +135423,7 @@ func ntileStepFunc(tls *libc.TLS, pCtx uintptr, nArg int32, apArg uintptr) { /* (*NtileCtx)(unsafe.Pointer(p)).FnTotal++ } } + func ntileInvFunc(tls *libc.TLS, pCtx uintptr, nArg int32, apArg uintptr) { /* sqlite3.c:151607:13: */ var p uintptr _ = nArg @@ -135167,6 +135431,7 @@ func ntileInvFunc(tls *libc.TLS, pCtx uintptr, nArg int32, apArg uintptr) { /* s p = Xsqlite3_aggregate_context(tls, pCtx, int32(unsafe.Sizeof(NtileCtx{}))) (*NtileCtx)(unsafe.Pointer(p)).FiRow++ } + func ntileValueFunc(tls *libc.TLS, pCtx uintptr) { /* sqlite3.c:151618:13: */ var p uintptr p = Xsqlite3_aggregate_context(tls, pCtx, int32(unsafe.Sizeof(NtileCtx{}))) @@ -135210,6 +135475,7 @@ func last_valueStepFunc(tls *libc.TLS, pCtx uintptr, nArg int32, apArg uintptr) } } } + func last_valueInvFunc(tls *libc.TLS, pCtx uintptr, nArg int32, apArg uintptr) { /* sqlite3.c:151671:13: */ var p uintptr _ = nArg @@ -135223,6 +135489,7 @@ func last_valueInvFunc(tls *libc.TLS, pCtx uintptr, nArg int32, apArg uintptr) { } } } + func last_valueValueFunc(tls *libc.TLS, pCtx uintptr) { /* sqlite3.c:151688:13: */ var p uintptr p = Xsqlite3_aggregate_context(tls, pCtx, 0) @@ -135230,6 +135497,7 @@ func last_valueValueFunc(tls *libc.TLS, pCtx uintptr) { /* sqlite3.c:151688:13: Xsqlite3_result_value(tls, pCtx, (*LastValueCtx)(unsafe.Pointer(p)).FpVal) } } + func last_valueFinalizeFunc(tls *libc.TLS, pCtx uintptr) { /* sqlite3.c:151695:13: */ var p uintptr p = Xsqlite3_aggregate_context(tls, pCtx, int32(unsafe.Sizeof(LastValueCtx{}))) @@ -135270,7 +135538,9 @@ func noopStepFunc(tls *libc.TLS, p uintptr, n int32, a uintptr) { /* sqlite3.c:1 _ = n //NO_TEST _ = a //NO_TEST //NO_TEST -} //NO_TEST +} + +//NO_TEST func noopValueFunc(tls *libc.TLS, p uintptr) { /* sqlite3.c:151744:13: */ _ = p /*no-op*/ } @@ -135679,6 +135949,7 @@ func selectWindowRewriteExprCb(tls *libc.TLS, pWalker uintptr, pExpr uintptr) in return 0 } + func selectWindowRewriteSelectCb(tls *libc.TLS, pWalker uintptr, pSelect uintptr) int32 { /* sqlite3.c:151994:12: */ var p uintptr = *(*uintptr)(unsafe.Pointer(pWalker + 40 /* &.u */)) var pSave uintptr = (*WindowRewrite1)(unsafe.Pointer(p)).FpSubSelect @@ -140006,7 +140277,8 @@ var yyRuleInfoNRhs = [385]int8{ int8(-4), // (382) anylist ::= anylist LP anylist RP int8(-2), // (383) anylist ::= anylist ANY int8(0), // (384) with ::= -} /* sqlite3.c:157063:26 */ // Forward Declaration +} /* sqlite3.c:157063:26 */ +// Forward Declaration // Perform a reduce action and the shift that must immediately // follow the reduce. @@ -142270,6 +142542,7 @@ var aKWCode = [145]uint8{ uint8(132), uint8(142), uint8(78), uint8(79), uint8(161), uint8(61), uint8(34), uint8(64), uint8(133), uint8(120), } /* sqlite3.c:159536:28 */ + // Hash table decoded: // 0: INSERT // 1: IS @@ -142576,6 +142849,7 @@ func keywordCode(tls *libc.TLS, z uintptr, n int32, pType uintptr) int32 { /* sq } return n } + func Xsqlite3KeywordCode(tls *libc.TLS, z uintptr, n int32) int32 { /* sqlite3.c:159871:20: */ bp := tls.Alloc(4) defer tls.Free(4) @@ -142584,6 +142858,7 @@ func Xsqlite3KeywordCode(tls *libc.TLS, z uintptr, n int32) int32 { /* sqlite3.c keywordCode(tls, z, n, bp /* &id */) return *(*int32)(unsafe.Pointer(bp /* id */)) } + func Xsqlite3_keyword_name(tls *libc.TLS, i int32, pzName uintptr, pnName uintptr) int32 { /* sqlite3.c:159877:16: */ if (i < 0) || (i >= 145) { return 1 @@ -142592,9 +142867,11 @@ func Xsqlite3_keyword_name(tls *libc.TLS, i int32, pzName uintptr, pnName uintpt *(*int32)(unsafe.Pointer(pnName)) = int32(aKWLen[i]) return 0 } + func Xsqlite3_keyword_count(tls *libc.TLS) int32 { /* sqlite3.c:159883:16: */ return 145 } + func Xsqlite3_keyword_check(tls *libc.TLS, zName uintptr, nName int32) int32 { /* sqlite3.c:159884:16: */ return (libc.Bool32(59 != Xsqlite3KeywordCode(tls, zName, nName))) } @@ -142690,6 +142967,7 @@ func analyzeWindowKeyword(tls *libc.TLS, z uintptr) int32 { /* sqlite3.c:159987: } return 161 } + func analyzeOverKeyword(tls *libc.TLS, z uintptr, lastToken int32) int32 { /* sqlite3.c:159995:12: */ bp := tls.Alloc(8) defer tls.Free(8) @@ -142703,6 +142981,7 @@ func analyzeOverKeyword(tls *libc.TLS, z uintptr, lastToken int32) int32 { /* sq } return 59 } + func analyzeFilterKeyword(tls *libc.TLS, z uintptr, lastToken int32) int32 { /* sqlite3.c:160002:12: */ bp := tls.Alloc(8) defer tls.Free(8) @@ -144507,6 +144786,7 @@ func sqlite3Close(tls *libc.TLS, db uintptr, forceZombie int32) int32 { /* sqlit func Xsqlite3_close(tls *libc.TLS, db uintptr) int32 { /* sqlite3.c:162252:16: */ return sqlite3Close(tls, db, 0) } + func Xsqlite3_close_v2(tls *libc.TLS, db uintptr) int32 { /* sqlite3.c:162253:16: */ return sqlite3Close(tls, db, 1) } @@ -145279,10 +145559,12 @@ func Xsqlite3_create_function(tls *libc.TLS, db uintptr, zFunc uintptr, nArg int return createFunctionApi(tls, db, zFunc, nArg, enc, p, xSFunc, xStep, xFinal, uintptr(0), uintptr(0), uintptr(0)) } + func Xsqlite3_create_function_v2(tls *libc.TLS, db uintptr, zFunc uintptr, nArg int32, enc int32, p uintptr, xSFunc uintptr, xStep uintptr, xFinal uintptr, xDestroy uintptr) int32 { /* sqlite3.c:162955:16: */ return createFunctionApi(tls, db, zFunc, nArg, enc, p, xSFunc, xStep, xFinal, uintptr(0), uintptr(0), xDestroy) } + func Xsqlite3_create_window_function(tls *libc.TLS, db uintptr, zFunc uintptr, nArg int32, enc int32, p uintptr, xStep uintptr, xFinal uintptr, xValue uintptr, xInverse uintptr, xDestroy uintptr) int32 { /* sqlite3.c:162969:16: */ return createFunctionApi(tls, db, zFunc, nArg, enc, p, uintptr(0), xStep, xFinal, xValue, xInverse, xDestroy) @@ -145704,6 +145986,7 @@ func Xsqlite3_errcode(tls *libc.TLS, db uintptr) int32 { /* sqlite3.c:163559:16: } return ((*Sqlite3)(unsafe.Pointer(db)).FerrCode & (*Sqlite3)(unsafe.Pointer(db)).FerrMask) } + func Xsqlite3_extended_errcode(tls *libc.TLS, db uintptr) int32 { /* sqlite3.c:163568:16: */ if (db != 0) && !(Xsqlite3SafetyCheckSickOrOk(tls, db) != 0) { return Xsqlite3MisuseError(tls, 163570) @@ -145713,6 +145996,7 @@ func Xsqlite3_extended_errcode(tls *libc.TLS, db uintptr) int32 { /* sqlite3.c:1 } return (*Sqlite3)(unsafe.Pointer(db)).FerrCode } + func Xsqlite3_system_errno(tls *libc.TLS, db uintptr) int32 { /* sqlite3.c:163577:16: */ if db != 0 { return (*Sqlite3)(unsafe.Pointer(db)).FiSysErrno @@ -146595,6 +146879,7 @@ func Xsqlite3_open(tls *libc.TLS, zFilename uintptr, ppDb uintptr) int32 { /* sq return openDatabase(tls, zFilename, ppDb, (uint32(0x00000002 | 0x00000004)), uintptr(0)) } + func Xsqlite3_open_v2(tls *libc.TLS, filename uintptr, ppDb uintptr, flags int32, zVfs uintptr) int32 { /* sqlite3.c:164393:16: */ return openDatabase(tls, filename, ppDb, uint32(flags), zVfs) } @@ -146718,14 +147003,17 @@ func Xsqlite3ReportError(tls *libc.TLS, iErr int32, lineno int32, zType uintptr) libc.VaList(bp, zType, lineno, (uintptr(20)+Xsqlite3_sourceid(tls)))) return iErr } + func Xsqlite3CorruptError(tls *libc.TLS, lineno int32) int32 { /* sqlite3.c:164593:20: */ return Xsqlite3ReportError(tls, 11, lineno, ts+27702 /* "database corrupt..." */) } + func Xsqlite3MisuseError(tls *libc.TLS, lineno int32) int32 { /* sqlite3.c:164597:20: */ return Xsqlite3ReportError(tls, 21, lineno, ts+27722 /* "misuse" */) } + func Xsqlite3CantopenError(tls *libc.TLS, lineno int32) int32 { /* sqlite3.c:164601:20: */ return Xsqlite3ReportError(tls, 14, lineno, ts+27729 /* "cannot open file" */) @@ -147139,7 +147427,7 @@ func Xsqlite3_test_control(tls *libc.TLS, op int32, va uintptr) int32 { /* sqlit { var x int32 = 0 - rc = x + rc = libc.AtomicLoadInt32(&x) break } @@ -147498,6 +147786,7 @@ func Xsqlite3_uri_int64(tls *libc.TLS, zFilename uintptr, zParam uintptr, bDflt func Xsqlite3_filename_database(tls *libc.TLS, zFilename uintptr) uintptr { /* sqlite3.c:165356:23: */ return databaseName(tls, zFilename) } + func Xsqlite3_filename_journal(tls *libc.TLS, zFilename uintptr) uintptr { /* sqlite3.c:165359:23: */ zFilename = databaseName(tls, zFilename) zFilename += (uintptr(Xsqlite3Strlen30(tls, zFilename) + 1)) @@ -147507,6 +147796,7 @@ func Xsqlite3_filename_journal(tls *libc.TLS, zFilename uintptr) uintptr { /* sq } return (zFilename + uintptr(1)) } + func Xsqlite3_filename_wal(tls *libc.TLS, zFilename uintptr) uintptr { /* sqlite3.c:165368:23: */ zFilename = Xsqlite3_filename_journal(tls, zFilename) zFilename += (uintptr(Xsqlite3Strlen30(tls, zFilename) + 1)) @@ -150632,6 +150922,7 @@ func jsonArrayStep(tls *libc.TLS, ctx uintptr, argc int32, argv uintptr) { /* sq jsonAppendValue(tls, pStr, *(*uintptr)(unsafe.Pointer(argv + uintptr(0)*8))) } } + func jsonArrayCompute(tls *libc.TLS, ctx uintptr, isFinal int32) { /* sqlite3.c:187331:13: */ var pStr uintptr pStr = Xsqlite3_aggregate_context(tls, ctx, 0) @@ -150661,9 +150952,11 @@ func jsonArrayCompute(tls *libc.TLS, ctx uintptr, isFinal int32) { /* sqlite3.c: } Xsqlite3_result_subtype(tls, ctx, uint32(74)) } + func jsonArrayValue(tls *libc.TLS, ctx uintptr) { /* sqlite3.c:187353:13: */ jsonArrayCompute(tls, ctx, 0) } + func jsonArrayFinal(tls *libc.TLS, ctx uintptr) { /* sqlite3.c:187356:13: */ jsonArrayCompute(tls, ctx, 1) } @@ -150734,6 +151027,7 @@ func jsonObjectStep(tls *libc.TLS, ctx uintptr, argc int32, argv uintptr) { /* s jsonAppendValue(tls, pStr, *(*uintptr)(unsafe.Pointer(argv + uintptr(1)*8))) } } + func jsonObjectCompute(tls *libc.TLS, ctx uintptr, isFinal int32) { /* sqlite3.c:187439:13: */ var pStr uintptr pStr = Xsqlite3_aggregate_context(tls, ctx, 0) @@ -150762,9 +151056,11 @@ func jsonObjectCompute(tls *libc.TLS, ctx uintptr, isFinal int32) { /* sqlite3.c } Xsqlite3_result_subtype(tls, ctx, uint32(74)) } + func jsonObjectValue(tls *libc.TLS, ctx uintptr) { /* sqlite3.c:187460:13: */ jsonObjectCompute(tls, ctx, 0) } + func jsonObjectFinal(tls *libc.TLS, ctx uintptr) { /* sqlite3.c:187463:13: */ jsonObjectCompute(tls, ctx, 1) } @@ -151702,10 +151998,12 @@ type RtreeValue = float32 /* sqlite3.c:188256:17 */ func readInt16(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:188535:12: */ return ((int32(*(*U8)(unsafe.Pointer(p + uintptr(0)))) << 8) + int32(*(*U8)(unsafe.Pointer(p + uintptr(1))))) } + func readCoord(tls *libc.TLS, p uintptr, pCoord uintptr) { /* sqlite3.c:188538:13: */ // p is always 4-byte aligned (*(*U32)(unsafe.Pointer(pCoord /* .Fu */))) = libc.X__builtin_bswap32(tls, *(*U32)(unsafe.Pointer(p))) } + func readInt64(tls *libc.TLS, p uintptr) I64 { /* sqlite3.c:188555:12: */ bp := tls.Alloc(8) defer tls.Free(8) @@ -151723,6 +152021,7 @@ func writeInt16(tls *libc.TLS, p uintptr, i int32) { /* sqlite3.c:188587:13: */ *(*U8)(unsafe.Pointer(p + uintptr(0))) = (U8((i >> 8) & 0xFF)) *(*U8)(unsafe.Pointer(p + uintptr(1))) = (U8((i >> 0) & 0xFF)) } + func writeCoord(tls *libc.TLS, p uintptr, pCoord uintptr) int32 { /* sqlite3.c:188591:12: */ bp := tls.Alloc(4) defer tls.Free(4) @@ -151735,6 +152034,7 @@ func writeCoord(tls *libc.TLS, p uintptr, pCoord uintptr) int32 { /* sqlite3.c:1 libc.Xmemcpy(tls, p, bp /* &i */, uint64(4)) return 4 } + func writeInt64(tls *libc.TLS, p uintptr, i I64) int32 { /* sqlite3.c:188614:12: */ bp := tls.Alloc(8) defer tls.Free(8) @@ -154374,6 +154674,7 @@ func rtreeValueDown(tls *libc.TLS, v uintptr) RtreeValue { /* sqlite3.c:191175:1 } return f } + func rtreeValueUp(tls *libc.TLS, v uintptr) RtreeValue { /* sqlite3.c:191183:19: */ var d float64 = Xsqlite3_value_double(tls, v) var f float32 = float32(d) @@ -156666,6 +156967,7 @@ func geopolyBBoxStep(tls *libc.TLS, context uintptr, argc int32, argv uintptr) { } } } + func geopolyBBoxFinal(tls *libc.TLS, context uintptr) { /* sqlite3.c:193173:13: */ var p uintptr var pBBox uintptr @@ -160028,6 +160330,7 @@ __15: goto __14 goto __16 __16: + } // This is a helper function for rbuObjIterCacheTableInfo(). It populates @@ -162467,7 +162770,7 @@ func Xsqlite3rbu_step(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:199480:16: (*Sqlite3rbu)(unsafe.Pointer(p)).Frc = (*(*func(*libc.TLS, uintptr, int32, int32, int32, uintptr) int32)(unsafe.Pointer(((*Sqlite3_file)(unsafe.Pointer(pDb)).FpMethods + 104 /* &.xShmMap */))))(tls, pDb, 0, (32 * 1024), 0, bp+16 /* &ptr */) if (*Sqlite3rbu)(unsafe.Pointer(p)).Frc == 0 { - *(*U32)(unsafe.Pointer((*(*uintptr)(unsafe.Pointer(bp + 16 /* ptr */))) + uintptr(24)*4)) = (*Sqlite3rbu)(unsafe.Pointer(p)).FiMaxFrame + *(*U32)(unsafe.Pointer((libc.AtomicLoadPUintptr(bp + 16 /* ptr */)) + uintptr(24)*4)) = (*Sqlite3rbu)(unsafe.Pointer(p)).FiMaxFrame } } @@ -163618,13 +163921,13 @@ func rbuVfsShmMap(tls *libc.TLS, pFile uintptr, iRegion int32, szRegion int32, i } if rc == 0 { - *(*uintptr)(unsafe.Pointer(pp)) = *(*uintptr)(unsafe.Pointer((*Rbu_file)(unsafe.Pointer(p)).FapShm + uintptr(iRegion)*8)) + *(*uintptr)(unsafe.Pointer(libc.AtomicLoadUintptr(&pp))) = *(*uintptr)(unsafe.Pointer((*Rbu_file)(unsafe.Pointer(p)).FapShm + uintptr(iRegion)*8)) } else { - *(*uintptr)(unsafe.Pointer(pp)) = uintptr(0) + *(*uintptr)(unsafe.Pointer(libc.AtomicLoadUintptr(&pp))) = uintptr(0) } } else { - rc = (*(*func(*libc.TLS, uintptr, int32, int32, int32, uintptr) int32)(unsafe.Pointer(((*Sqlite3_file)(unsafe.Pointer((*Rbu_file)(unsafe.Pointer(p)).FpReal)).FpMethods + 104 /* &.xShmMap */))))(tls, (*Rbu_file)(unsafe.Pointer(p)).FpReal, iRegion, szRegion, isWrite, pp) + rc = (*(*func(*libc.TLS, uintptr, int32, int32, int32, uintptr) int32)(unsafe.Pointer(((*Sqlite3_file)(unsafe.Pointer((*Rbu_file)(unsafe.Pointer(p)).FpReal)).FpMethods + 104 /* &.xShmMap */))))(tls, (*Rbu_file)(unsafe.Pointer(p)).FpReal, iRegion, szRegion, isWrite, libc.AtomicLoadUintptr(&pp)) } return rc @@ -166575,7 +166878,8 @@ var fts5yyRuleInfoNRhs = [28]int8{ int8(-2), // (25) phrase ::= STRING star_opt int8(-1), // (26) star_opt ::= STAR int8(0), // (27) star_opt ::= -} /* sqlite3.c:210261:26 */ // Forward Declaration +} /* sqlite3.c:210261:26 */ +// Forward Declaration // Perform a reduce action and the shift that must immediately // follow the reduce. @@ -169281,6 +169585,7 @@ func fts5ExprGetToken(tls *libc.TLS, pParse uintptr, pz uintptr, pToken uintptr) func fts5ParseAlloc(tls *libc.TLS, t U64) uintptr { /* sqlite3.c:213114:13: */ return Xsqlite3_malloc64(tls, uint64(Sqlite3_int64(t))) } + func fts5ParseFree(tls *libc.TLS, p uintptr) { /* sqlite3.c:213115:13: */ Xsqlite3_free(tls, p) } @@ -171933,6 +172238,7 @@ func fts5ExprFunction(tls *libc.TLS, pCtx uintptr, nArg int32, apVal uintptr, bT func fts5ExprFunctionHr(tls *libc.TLS, pCtx uintptr, nArg int32, apVal uintptr) { /* sqlite3.c:215460:13: */ fts5ExprFunction(tls, pCtx, nArg, apVal, 0) } + func fts5ExprFunctionTcl(tls *libc.TLS, pCtx uintptr, nArg int32, apVal uintptr) { /* sqlite3.c:215467:13: */ fts5ExprFunction(tls, pCtx, nArg, apVal, 1) } @@ -174028,6 +174334,7 @@ func fts5DlidxIterNextR(tls *libc.TLS, p uintptr, pIter uintptr, iLvl int32) int return (*Fts5DlidxLvl)(unsafe.Pointer((pIter + 8 /* &.aLvl */) + uintptr(0)*32)).FbEof } + func fts5DlidxIterNext(tls *libc.TLS, p uintptr, pIter uintptr) int32 { /* sqlite3.c:217680:12: */ return fts5DlidxIterNextR(tls, p, pIter, 0) } @@ -174158,6 +174465,7 @@ func fts5DlidxIterPrevR(tls *libc.TLS, p uintptr, pIter uintptr, iLvl int32) int return (*Fts5DlidxLvl)(unsafe.Pointer((pIter + 8 /* &.aLvl */) + uintptr(0)*32)).FbEof } + func fts5DlidxIterPrev(tls *libc.TLS, p uintptr, pIter uintptr) int32 { /* sqlite3.c:217803:12: */ return fts5DlidxIterPrevR(tls, p, pIter, 0) } @@ -174218,6 +174526,7 @@ func fts5DlidxIterInit(tls *libc.TLS, p uintptr, bRev int32, iSegid int32, iLeaf func fts5DlidxIterRowid(tls *libc.TLS, pIter uintptr) I64 { /* sqlite3.c:217867:12: */ return (*Fts5DlidxLvl)(unsafe.Pointer((pIter + 8 /* &.aLvl */) + uintptr(0)*32)).FiRowid } + func fts5DlidxIterPgno(tls *libc.TLS, pIter uintptr) int32 { /* sqlite3.c:217870:12: */ return (*Fts5DlidxLvl)(unsafe.Pointer((pIter + 8 /* &.aLvl */) + uintptr(0)*32)).FiLeafPgno } @@ -179553,6 +179862,7 @@ func fts5InitVtab(tls *libc.TLS, bCreate int32, db uintptr, pAux uintptr, argc i func fts5ConnectMethod(tls *libc.TLS, db uintptr, pAux uintptr, argc int32, argv uintptr, ppVtab uintptr, pzErr uintptr) int32 { /* sqlite3.c:223403:12: */ return fts5InitVtab(tls, 0, db, pAux, argc, argv, ppVtab, pzErr) } + func fts5CreateMethod(tls *libc.TLS, db uintptr, pAux uintptr, argc int32, argv uintptr, ppVtab uintptr, pzErr uintptr) int32 { /* sqlite3.c:223413:12: */ return fts5InitVtab(tls, 1, db, pAux, argc, argv, ppVtab, pzErr) } @@ -186402,6 +186712,7 @@ func fts5VocabInitVtab(tls *libc.TLS, db uintptr, pAux uintptr, argc int32, argv func fts5VocabConnectMethod(tls *libc.TLS, db uintptr, pAux uintptr, argc int32, argv uintptr, ppVtab uintptr, pzErr uintptr) int32 { /* sqlite3.c:229648:12: */ return fts5VocabInitVtab(tls, db, pAux, argc, argv, ppVtab, pzErr) } + func fts5VocabCreateMethod(tls *libc.TLS, db uintptr, pAux uintptr, argc int32, argv uintptr, ppVtab uintptr, pzErr uintptr) int32 { /* sqlite3.c:229658:12: */ return fts5VocabInitVtab(tls, db, pAux, argc, argv, ppVtab, pzErr) } diff --git a/speedtest1/main_linux_amd64.go b/speedtest1/main_linux_amd64.go index 569ab5a..d530ca3 100644 --- a/speedtest1/main_linux_amd64.go +++ b/speedtest1/main_linux_amd64.go @@ -5,6 +5,7 @@ package main import ( "math" "reflect" + "sync/atomic" "unsafe" "modernc.org/libc" @@ -13,6 +14,7 @@ import ( var _ = math.Pi var _ reflect.Kind +var _ atomic.Value var _ unsafe.Pointer func main() { libc.Start(main1) } @@ -4502,6 +4504,7 @@ var tens = [10]uintptr{ts + 2152 /* "" */, ts + 2309 /* "ten" */, ts + 2389 /* " // Start a new test case var zDots = *(*[72]int8)(unsafe.Pointer(ts + 2443 /* "..................." */)) /* speedtest1.c:368:19 */ + func speedtest1_begin_test(tls *libc.TLS, iTestNum int32, zTestName uintptr, va uintptr) { /* speedtest1.c:370:6: */ bp := tls.Alloc(64) defer tls.Free(64)