From 3e252fa613afce0e31038f4104739736c265329b Mon Sep 17 00:00:00 2001 From: Jan Mercl <0xjnml@gmail.com> Date: Wed, 1 Sep 2021 21:31:46 +0200 Subject: [PATCH] update dependencies --- go.mod | 4 +- go.sum | 8 +- internal/libc2/libc2_unix.go | 1 + internal/mptest/main_windows_amd64.go | 420 +- internal/testfixture/testfixture_linux_386.go | 103 +- .../testfixture/testfixture_linux_amd64.go | 33 +- internal/testfixture/testfixture_linux_arm.go | 3 + .../testfixture/testfixture_linux_arm64.go | 81 + .../testfixture/testfixture_windows_amd64.go | 7348 ++++++++-------- lib/sqlite_darwin_arm64.go | 2 - lib/sqlite_windows_amd64.go | 6476 +++++++------- libtest/sqlite_darwin_arm64.go | 2 - libtest/sqlite_windows_amd64.go | 7494 ++++++++--------- speedtest1/main_windows_amd64.go | 562 +- 14 files changed, 11264 insertions(+), 11273 deletions(-) diff --git a/go.mod b/go.mod index 8e74125..aa2d06a 100644 --- a/go.mod +++ b/go.mod @@ -5,8 +5,8 @@ go 1.15 require ( github.com/mattn/go-sqlite3 v1.14.8 modernc.org/ccgo/v3 v3.10.1 - modernc.org/libc v1.10.1 + modernc.org/libc v1.10.2 modernc.org/mathutil v1.4.1 - modernc.org/tcl v1.5.6 + modernc.org/tcl v1.5.7 modernc.org/z v1.0.1 ) diff --git a/go.sum b/go.sum index c4de74b..ae0f39b 100644 --- a/go.sum +++ b/go.sum @@ -54,8 +54,8 @@ modernc.org/httpfs v1.0.6/go.mod h1:7dosgurJGp0sPaRanU53W4xZYKh14wfzX420oZADeHM= modernc.org/libc v1.7.13-0.20210308123627-12f642a52bb8/go.mod h1:U1eq8YWr/Kc1RWCMFUWEdkTg8OTcfLw2kY8EDwl039w= modernc.org/libc v1.9.8/go.mod h1:U1eq8YWr/Kc1RWCMFUWEdkTg8OTcfLw2kY8EDwl039w= modernc.org/libc v1.9.11/go.mod h1:NyF3tsA5ArIjJ83XB0JlqhjTabTCHm9aX4XMPHyQn0Q= -modernc.org/libc v1.10.1 h1:pDFT05EojWksPWZ/XXPGUKxMS0pLGPUCZnYcQBSYgiY= -modernc.org/libc v1.10.1/go.mod h1:0/Nct1oFfLhjihlkmiJvALxOyV2rlkJ7/OZk1ni+WDQ= +modernc.org/libc v1.10.2 h1:UBtwT0fpNpDaz55MxoN6/Q3kQwlmdiDjD6fHDcv/UX0= +modernc.org/libc v1.10.2/go.mod h1:0/Nct1oFfLhjihlkmiJvALxOyV2rlkJ7/OZk1ni+WDQ= modernc.org/mathutil v1.1.1/go.mod h1:mZW8CKdRPY1v87qxC/wUdX5O1qDzXMP5TH3wjfpga6E= modernc.org/mathutil v1.2.2/go.mod h1:mZW8CKdRPY1v87qxC/wUdX5O1qDzXMP5TH3wjfpga6E= modernc.org/mathutil v1.4.0/go.mod h1:mZW8CKdRPY1v87qxC/wUdX5O1qDzXMP5TH3wjfpga6E= @@ -68,8 +68,8 @@ modernc.org/opt v0.1.1 h1:/0RX92k9vwVeDXj+Xn23DKp2VJubL7k8qNffND6qn3A= modernc.org/opt v0.1.1/go.mod h1:WdSiB5evDcignE70guQKxYUl14mgWtbClRi5wmkkTX0= modernc.org/strutil v1.1.1 h1:xv+J1BXY3Opl2ALrBwyfEikFAj8pmqcpnfmuwUwcozs= modernc.org/strutil v1.1.1/go.mod h1:DE+MQQ/hjKBZS2zNInV5hhcipt5rLPWkmpbGeW5mmdw= -modernc.org/tcl v1.5.6 h1:ZY/O7yutyMQqSow9aP2gtS+2WgLvmJ3LYqFB10MIHbQ= -modernc.org/tcl v1.5.6/go.mod h1:eYNxA7XTD3C4oQyyRI04H67sQu2KFaZBQp2jlfG5jCg= +modernc.org/tcl v1.5.7 h1:6fIVJAbWay/FeH0blvnDBtnCfO0IoDt7jtyZaVonJeQ= +modernc.org/tcl v1.5.7/go.mod h1:xVq8Q32YXXjuDn9VFnCpaY+lbnhLZnhROgSx8xld1Sw= modernc.org/token v1.0.0 h1:a0jaWiNMDhDUtqOj09wvjWWAqd3q7WpBulmL9H2egsk= modernc.org/token v1.0.0/go.mod h1:UGzOrNV1mAFSEB63lOFHIpNRUVMvYTc6yu1SMY/XTDM= modernc.org/z v1.0.1 h1:WyIDpEpAIx4Hel6q/Pcgj/VhaQV5XPJ2I6ryIYbjnpc= diff --git a/internal/libc2/libc2_unix.go b/internal/libc2/libc2_unix.go index 7e89f38..4f0eab5 100644 --- a/internal/libc2/libc2_unix.go +++ b/internal/libc2/libc2_unix.go @@ -2,6 +2,7 @@ // Use of this source code is governed by a BSD-style // license that can be found in the LICENSE file. +//go:build linux || darwin // +build linux darwin package libc2 // import "modernc.org/sqlite/internal/libc2" diff --git a/internal/mptest/main_windows_amd64.go b/internal/mptest/main_windows_amd64.go index d31ada5..e7380bd 100644 --- a/internal/mptest/main_windows_amd64.go +++ b/internal/mptest/main_windows_amd64.go @@ -26622,8 +26622,8 @@ var g Global /* mptest.c:90:3: */ // Print a message adding zPrefix[] to the beginning of every line. func printWithPrefix(tls *libc.TLS, pOut uintptr, zPrefix uintptr, zMsg uintptr) { /* mptest.c:98:13: */ - bp := tls.Alloc(32) - defer tls.Free(32) + bp := tls.Alloc(24) + defer tls.Free(24) for (zMsg != 0) && (*(*int8)(unsafe.Pointer(zMsg)) != 0) { var i int32 @@ -26770,24 +26770,24 @@ func maybeClose(tls *libc.TLS, pOut uintptr) { /* mptest.c:208:13: */ // Print an error message func errorMessage(tls *libc.TLS, zFormat uintptr, va uintptr) { /* mptest.c:215:13: */ - bp := tls.Alloc(46) - defer tls.Free(46) + bp := tls.Alloc(38) + defer tls.Free(38) var ap va_list _ = ap var zMsg uintptr - // var zPrefix [30]int8 at bp+16, 30 + // var zPrefix [30]int8 at bp+8, 30 ap = va zMsg = sqlite3.Xsqlite3_vmprintf(tls, zFormat, ap) _ = ap - sqlite3.Xsqlite3_snprintf(tls, int32(unsafe.Sizeof([30]int8{})), bp+16 /* &zPrefix[0] */, ts+8 /* "%s:ERROR: " */, libc.VaList(bp, uintptr(unsafe.Pointer(&g))+64 /* &.zName */)) + sqlite3.Xsqlite3_snprintf(tls, int32(unsafe.Sizeof([30]int8{})), bp+8 /* &zPrefix[0] */, ts+8 /* "%s:ERROR: " */, libc.VaList(bp, uintptr(unsafe.Pointer(&g))+64 /* &.zName */)) if g.pLog != 0 { - printWithPrefix(tls, g.pLog, bp+16 /* &zPrefix[0] */, zMsg) + printWithPrefix(tls, g.pLog, bp+8 /* &zPrefix[0] */, zMsg) libc.Xfflush(tls, g.pLog) } if (g.pErrLog != 0) && (safe_strcmp(tls, g.zErrLog, g.zLog) != 0) { - printWithPrefix(tls, g.pErrLog, bp+16 /* &zPrefix[0] */, zMsg) + printWithPrefix(tls, g.pErrLog, bp+8 /* &zPrefix[0] */, zMsg) libc.Xfflush(tls, g.pErrLog) } sqlite3.Xsqlite3_free(tls, zMsg) @@ -26796,25 +26796,25 @@ func errorMessage(tls *libc.TLS, zFormat uintptr, va uintptr) { /* mptest.c:215: // Print an error message and then quit. func fatalError(tls *libc.TLS, zFormat uintptr, va uintptr) { /* mptest.c:241:13: */ - bp := tls.Alloc(46) - defer tls.Free(46) + bp := tls.Alloc(38) + defer tls.Free(38) var ap va_list _ = ap var zMsg uintptr - // var zPrefix [30]int8 at bp+16, 30 + // var zPrefix [30]int8 at bp+8, 30 ap = va zMsg = sqlite3.Xsqlite3_vmprintf(tls, zFormat, ap) _ = ap - sqlite3.Xsqlite3_snprintf(tls, int32(unsafe.Sizeof([30]int8{})), bp+16 /* &zPrefix[0] */, ts+19 /* "%s:FATAL: " */, libc.VaList(bp, uintptr(unsafe.Pointer(&g))+64 /* &.zName */)) + sqlite3.Xsqlite3_snprintf(tls, int32(unsafe.Sizeof([30]int8{})), bp+8 /* &zPrefix[0] */, ts+19 /* "%s:FATAL: " */, libc.VaList(bp, uintptr(unsafe.Pointer(&g))+64 /* &.zName */)) if g.pLog != 0 { - printWithPrefix(tls, g.pLog, bp+16 /* &zPrefix[0] */, zMsg) + printWithPrefix(tls, g.pLog, bp+8 /* &zPrefix[0] */, zMsg) libc.Xfflush(tls, g.pLog) maybeClose(tls, g.pLog) } if (g.pErrLog != 0) && (safe_strcmp(tls, g.zErrLog, g.zLog) != 0) { - printWithPrefix(tls, g.pErrLog, bp+16 /* &zPrefix[0] */, zMsg) + printWithPrefix(tls, g.pErrLog, bp+8 /* &zPrefix[0] */, zMsg) libc.Xfflush(tls, g.pErrLog) maybeClose(tls, g.pErrLog) } @@ -26833,20 +26833,20 @@ func fatalError(tls *libc.TLS, zFormat uintptr, va uintptr) { /* mptest.c:241:13 // Print a log message func logMessage(tls *libc.TLS, zFormat uintptr, va uintptr) { /* mptest.c:276:13: */ - bp := tls.Alloc(46) - defer tls.Free(46) + bp := tls.Alloc(38) + defer tls.Free(38) var ap va_list _ = ap var zMsg uintptr - // var zPrefix [30]int8 at bp+16, 30 + // var zPrefix [30]int8 at bp+8, 30 ap = va zMsg = sqlite3.Xsqlite3_vmprintf(tls, zFormat, ap) _ = ap - sqlite3.Xsqlite3_snprintf(tls, int32(unsafe.Sizeof([30]int8{})), bp+16 /* &zPrefix[0] */, ts+60 /* "%s: " */, libc.VaList(bp, uintptr(unsafe.Pointer(&g))+64 /* &.zName */)) + sqlite3.Xsqlite3_snprintf(tls, int32(unsafe.Sizeof([30]int8{})), bp+8 /* &zPrefix[0] */, ts+60 /* "%s: " */, libc.VaList(bp, uintptr(unsafe.Pointer(&g))+64 /* &.zName */)) if g.pLog != 0 { - printWithPrefix(tls, g.pLog, bp+16 /* &zPrefix[0] */, zMsg) + printWithPrefix(tls, g.pLog, bp+8 /* &zPrefix[0] */, zMsg) libc.Xfflush(tls, g.pLog) } sqlite3.Xsqlite3_free(tls, zMsg) @@ -26878,8 +26878,8 @@ func vfsNameFunc(tls *libc.TLS, context uintptr, argc int32, argv uintptr) { /* // Busy handler with a g.iTimeout-millisecond timeout func busyHandler(tls *libc.TLS, pCD uintptr, count int32) int32 { /* mptest.c:321:12: */ - bp := tls.Alloc(16) - defer tls.Free(16) + bp := tls.Alloc(8) + defer tls.Free(8) _ = pCD if (count * 10) > g.iTimeout { @@ -26894,8 +26894,8 @@ func busyHandler(tls *libc.TLS, pCD uintptr, count int32) int32 { /* mptest.c:32 // SQL Trace callback func sqlTraceCallback(tls *libc.TLS, NotUsed1 uintptr, zSql uintptr) { /* mptest.c:334:13: */ - bp := tls.Alloc(24) - defer tls.Free(24) + bp := tls.Alloc(16) + defer tls.Free(16) _ = NotUsed1 logMessage(tls, ts+89 /* "[%.*s]" */, libc.VaList(bp, clipLength(tls, zSql), zSql)) @@ -26903,8 +26903,8 @@ func sqlTraceCallback(tls *libc.TLS, NotUsed1 uintptr, zSql uintptr) { /* mptest // SQL error log callback func sqlErrorCallback(tls *libc.TLS, pArg uintptr, iErrCode int32, zMsg uintptr) { /* mptest.c:342:13: */ - bp := tls.Alloc(40) - defer tls.Free(40) + bp := tls.Alloc(24) + defer tls.Free(24) _ = pArg if (iErrCode == SQLITE_ERROR) && (g.bIgnoreSqlErrors != 0) { @@ -26919,36 +26919,36 @@ func sqlErrorCallback(tls *libc.TLS, pArg uintptr, iErrCode int32, zMsg uintptr) if (iErrCode & 0xff) == SQLITE_NOTICE { logMessage(tls, ts+96 /* "(info) %s" */, libc.VaList(bp, zMsg)) } else { - errorMessage(tls, ts+106 /* "(errcode=%d) %s" */, libc.VaList(bp+16, iErrCode, zMsg)) + errorMessage(tls, ts+106 /* "(errcode=%d) %s" */, libc.VaList(bp+8, iErrCode, zMsg)) } } // Prepare an SQL statement. Issue a fatal error if unable. func prepareSql(tls *libc.TLS, zFormat uintptr, va uintptr) uintptr { /* mptest.c:357:21: */ - bp := tls.Alloc(32) - defer tls.Free(32) + bp := tls.Alloc(24) + defer tls.Free(24) var ap va_list _ = ap var zSql uintptr var rc int32 - *(*uintptr)(unsafe.Pointer(bp + 24 /* pStmt */)) = uintptr(0) + *(*uintptr)(unsafe.Pointer(bp + 16 /* pStmt */)) = uintptr(0) ap = va zSql = sqlite3.Xsqlite3_vmprintf(tls, zFormat, ap) _ = ap - rc = sqlite3.Xsqlite3_prepare_v2(tls, g.db, zSql, -1, bp+24 /* &pStmt */, uintptr(0)) + rc = sqlite3.Xsqlite3_prepare_v2(tls, g.db, zSql, -1, bp+16 /* &pStmt */, uintptr(0)) if rc != SQLITE_OK { - sqlite3.Xsqlite3_finalize(tls, *(*uintptr)(unsafe.Pointer(bp + 24 /* pStmt */))) + sqlite3.Xsqlite3_finalize(tls, *(*uintptr)(unsafe.Pointer(bp + 16 /* pStmt */))) fatalError(tls, ts+122 /* "%s\n%s\n" */, libc.VaList(bp, sqlite3.Xsqlite3_errmsg(tls, g.db), zSql)) } sqlite3.Xsqlite3_free(tls, zSql) - return *(*uintptr)(unsafe.Pointer(bp + 24 /* pStmt */)) + return *(*uintptr)(unsafe.Pointer(bp + 16 /* pStmt */)) } // Run arbitrary SQL. Issue a fatal error on failure. func runSql(tls *libc.TLS, zFormat uintptr, va uintptr) { /* mptest.c:377:13: */ - bp := tls.Alloc(24) - defer tls.Free(24) + bp := tls.Alloc(16) + defer tls.Free(16) var ap va_list _ = ap @@ -27070,30 +27070,30 @@ func evalCallback(tls *libc.TLS, pCData uintptr, argc int32, argv uintptr, azCol // Run arbitrary SQL and record the results in an output string // given by the first parameter. func evalSql(tls *libc.TLS, p uintptr, zFormat uintptr, va uintptr) int32 { /* mptest.c:486:12: */ - bp := tls.Alloc(54) - defer tls.Free(54) + bp := tls.Alloc(46) + defer tls.Free(46) var ap va_list _ = ap var zSql uintptr var rc int32 - *(*uintptr)(unsafe.Pointer(bp + 16 /* zErrMsg */)) = uintptr(0) + *(*uintptr)(unsafe.Pointer(bp + 8 /* zErrMsg */)) = uintptr(0) ap = va zSql = sqlite3.Xsqlite3_vmprintf(tls, zFormat, ap) _ = ap rc = sqlite3.Xsqlite3_exec(tls, g.db, zSql, *(*uintptr)(unsafe.Pointer(&struct { f func(*libc.TLS, uintptr, int32, uintptr, uintptr) int32 - }{evalCallback})), p, bp+16 /* &zErrMsg */) + }{evalCallback})), p, bp+8 /* &zErrMsg */) sqlite3.Xsqlite3_free(tls, zSql) if rc != 0 { - // var zErr [30]int8 at bp+24, 30 + // var zErr [30]int8 at bp+16, 30 - sqlite3.Xsqlite3_snprintf(tls, int32(unsafe.Sizeof([30]int8{})), bp+24 /* &zErr[0] */, ts+151 /* "error(%d)" */, libc.VaList(bp, rc)) - stringAppendTerm(tls, p, bp+24 /* &zErr[0] */) - if *(*uintptr)(unsafe.Pointer(bp + 16 /* zErrMsg */)) != 0 { - stringAppendTerm(tls, p, *(*uintptr)(unsafe.Pointer(bp + 16 /* zErrMsg */))) - sqlite3.Xsqlite3_free(tls, *(*uintptr)(unsafe.Pointer(bp + 16 /* zErrMsg */))) + sqlite3.Xsqlite3_snprintf(tls, int32(unsafe.Sizeof([30]int8{})), bp+16 /* &zErr[0] */, ts+151 /* "error(%d)" */, libc.VaList(bp, rc)) + stringAppendTerm(tls, p, bp+16 /* &zErr[0] */) + if *(*uintptr)(unsafe.Pointer(bp + 8 /* zErrMsg */)) != 0 { + stringAppendTerm(tls, p, *(*uintptr)(unsafe.Pointer(bp + 8 /* zErrMsg */))) + sqlite3.Xsqlite3_free(tls, *(*uintptr)(unsafe.Pointer(bp + 8 /* zErrMsg */))) } } return rc @@ -27130,8 +27130,8 @@ func evalFunc(tls *libc.TLS, context uintptr, argc int32, argv uintptr) { /* mpt // Return the task script and the task number and mark that // task as being under way. func startScript(tls *libc.TLS, iClient int32, pzScript uintptr, pTaskId uintptr, pzTaskName uintptr) int32 { /* mptest.c:541:12: */ - bp := tls.Alloc(152) - defer tls.Free(152) + bp := tls.Alloc(80) + defer tls.Free(80) var pStmt uintptr = uintptr(0) var taskId int32 @@ -27152,33 +27152,33 @@ func startScript(tls *libc.TLS, iClient int32, pzScript uintptr, pTaskId uintptr } if (g.nError != 0) || (g.nTest != 0) { runSql(tls, ts+196, /* "UPDATE counters ..." */ - libc.VaList(bp+16, g.nError, g.nTest)) + libc.VaList(bp+8, g.nError, g.nTest)) g.nError = 0 g.nTest = 0 } - pStmt = prepareSql(tls, ts+249 /* "SELECT 1 FROM cl..." */, libc.VaList(bp+40, iClient)) + pStmt = prepareSql(tls, ts+249 /* "SELECT 1 FROM cl..." */, libc.VaList(bp+24, iClient)) rc = sqlite3.Xsqlite3_step(tls, pStmt) sqlite3.Xsqlite3_finalize(tls, pStmt) if rc == SQLITE_ROW { - runSql(tls, ts+295 /* "DELETE FROM clie..." */, libc.VaList(bp+56, iClient)) + runSql(tls, ts+295 /* "DELETE FROM clie..." */, libc.VaList(bp+32, iClient)) g.iTimeout = DEFAULT_TIMEOUT runSql(tls, ts+326 /* "COMMIT TRANSACTI..." */, 0) return SQLITE_DONE } pStmt = prepareSql(tls, - ts+346 /* "SELECT script, i..." */, libc.VaList(bp+72, iClient)) + ts+346 /* "SELECT script, i..." */, libc.VaList(bp+40, iClient)) rc = sqlite3.Xsqlite3_step(tls, pStmt) if rc == SQLITE_ROW { var n int32 = sqlite3.Xsqlite3_column_bytes(tls, pStmt, 0) *(*uintptr)(unsafe.Pointer(pzScript)) = sqlite3.Xsqlite3_malloc(tls, (n + 1)) libc.Xstrcpy(tls, *(*uintptr)(unsafe.Pointer(pzScript)), sqlite3.Xsqlite3_column_text(tls, pStmt, 0)) *(*int32)(unsafe.Pointer(pTaskId)) = libc.AssignInt32(&taskId, sqlite3.Xsqlite3_column_int(tls, pStmt, 1)) - *(*uintptr)(unsafe.Pointer(pzTaskName)) = sqlite3.Xsqlite3_mprintf(tls, ts+438 /* "%s" */, libc.VaList(bp+88, sqlite3.Xsqlite3_column_text(tls, pStmt, 2))) + *(*uintptr)(unsafe.Pointer(pzTaskName)) = sqlite3.Xsqlite3_mprintf(tls, ts+438 /* "%s" */, libc.VaList(bp+48, sqlite3.Xsqlite3_column_text(tls, pStmt, 2))) sqlite3.Xsqlite3_finalize(tls, pStmt) runSql(tls, - ts+441 /* "UPDATE task SE..." */, libc.VaList(bp+104, taskId)) + ts+441 /* "UPDATE task SE..." */, libc.VaList(bp+56, taskId)) g.iTimeout = DEFAULT_TIMEOUT runSql(tls, ts+326 /* "COMMIT TRANSACTI..." */, 0) return SQLITE_OK @@ -27187,7 +27187,7 @@ func startScript(tls *libc.TLS, iClient int32, pzScript uintptr, pTaskId uintptr if rc == SQLITE_DONE { if totalTime > 30000 { errorMessage(tls, ts+524 /* "Waited over 30 s..." */, 0) - runSql(tls, ts+573 /* "DELETE FROM clie..." */, libc.VaList(bp+120, iClient)) + runSql(tls, ts+573 /* "DELETE FROM clie..." */, libc.VaList(bp+64, iClient)) sqlite3.Xsqlite3_close(tls, g.db) libc.Xexit(tls, 1) } @@ -27199,7 +27199,7 @@ func startScript(tls *libc.TLS, iClient int32, pzScript uintptr, pTaskId uintptr totalTime = totalTime + (100) continue } - fatalError(tls, ts+438 /* "%s" */, libc.VaList(bp+136, sqlite3.Xsqlite3_errmsg(tls, g.db))) + fatalError(tls, ts+438 /* "%s" */, libc.VaList(bp+72, sqlite3.Xsqlite3_errmsg(tls, g.db))) } g.iTimeout = DEFAULT_TIMEOUT return int32(0) @@ -27208,14 +27208,14 @@ func startScript(tls *libc.TLS, iClient int32, pzScript uintptr, pTaskId uintptr // Mark a script as having finished. Remove the CLIENT table entry // if bShutdown is true. func finishScript(tls *libc.TLS, iClient int32, taskId int32, bShutdown int32) int32 { /* mptest.c:623:12: */ - bp := tls.Alloc(32) - defer tls.Free(32) + bp := tls.Alloc(16) + defer tls.Free(16) runSql(tls, ts+620 /* "UPDATE task SE..." */, libc.VaList(bp, taskId)) if bShutdown != 0 { - runSql(tls, ts+295 /* "DELETE FROM clie..." */, libc.VaList(bp+16, iClient)) + runSql(tls, ts+295 /* "DELETE FROM clie..." */, libc.VaList(bp+8, iClient)) } return SQLITE_OK } @@ -27224,43 +27224,43 @@ func finishScript(tls *libc.TLS, iClient int32, taskId int32, bShutdown int32) i // running. If the client is already running, then this routine // is a no-op. func startClient(tls *libc.TLS, iClient int32) { /* mptest.c:638:13: */ - bp := tls.Alloc(272) - defer tls.Free(272) + bp := tls.Alloc(216) + defer tls.Free(216) runSql(tls, ts+701 /* "INSERT OR IGNORE..." */, libc.VaList(bp, iClient)) if sqlite3.Xsqlite3_changes(tls, g.db) != 0 { var zSys uintptr var rc int32 zSys = sqlite3.Xsqlite3_mprintf(tls, ts+743, /* "%s \"%s\" --client..." */ - libc.VaList(bp+16, g.argv0, g.zDbFile, iClient, g.iTrace)) + libc.VaList(bp+8, g.argv0, g.zDbFile, iClient, g.iTrace)) if g.bSqlTrace != 0 { - zSys = sqlite3.Xsqlite3_mprintf(tls, ts+774 /* "%z --sqltrace" */, libc.VaList(bp+56, zSys)) + zSys = sqlite3.Xsqlite3_mprintf(tls, ts+774 /* "%z --sqltrace" */, libc.VaList(bp+40, zSys)) } if g.bSync != 0 { - zSys = sqlite3.Xsqlite3_mprintf(tls, ts+788 /* "%z --sync" */, libc.VaList(bp+72, zSys)) + zSys = sqlite3.Xsqlite3_mprintf(tls, ts+788 /* "%z --sync" */, libc.VaList(bp+48, zSys)) } if g.zVfs != 0 { - zSys = sqlite3.Xsqlite3_mprintf(tls, ts+798 /* "%z --vfs \"%s\"" */, libc.VaList(bp+88, zSys, g.zVfs)) + zSys = sqlite3.Xsqlite3_mprintf(tls, ts+798 /* "%z --vfs \"%s\"" */, libc.VaList(bp+56, zSys, g.zVfs)) } if g.iTrace >= 2 { - logMessage(tls, ts+812 /* "system('%q')" */, libc.VaList(bp+112, zSys)) + logMessage(tls, ts+812 /* "system('%q')" */, libc.VaList(bp+72, zSys)) } { - // var startupInfo STARTUPINFOA at bp+144, 104 + // var startupInfo STARTUPINFOA at bp+88, 104 - // var processInfo PROCESS_INFORMATION at bp+248, 24 + // var processInfo PROCESS_INFORMATION at bp+192, 24 - libc.Xmemset(tls, bp+144 /* &startupInfo */, 0, uint64(unsafe.Sizeof(STARTUPINFOA{}))) - (*STARTUPINFOA)(unsafe.Pointer(bp + 144 /* &startupInfo */)).cb = DWORD(unsafe.Sizeof(STARTUPINFOA{})) - libc.Xmemset(tls, bp+248 /* &processInfo */, 0, uint64(unsafe.Sizeof(PROCESS_INFORMATION{}))) + libc.Xmemset(tls, bp+88 /* &startupInfo */, 0, uint64(unsafe.Sizeof(STARTUPINFOA{}))) + (*STARTUPINFOA)(unsafe.Pointer(bp + 88 /* &startupInfo */)).cb = DWORD(unsafe.Sizeof(STARTUPINFOA{})) + libc.Xmemset(tls, bp+192 /* &processInfo */, 0, uint64(unsafe.Sizeof(PROCESS_INFORMATION{}))) rc = libc.XCreateProcessA(tls, uintptr(0), zSys, uintptr(0), uintptr(0), FALSE, uint32(0), uintptr(0), uintptr(0), - bp+144 /* &startupInfo */, bp+248 /* &processInfo */) + bp+88 /* &startupInfo */, bp+192 /* &processInfo */) if rc != 0 { - libc.XCloseHandle(tls, (*PROCESS_INFORMATION)(unsafe.Pointer(bp+248 /* &processInfo */)).hThread) - libc.XCloseHandle(tls, (*PROCESS_INFORMATION)(unsafe.Pointer(bp+248 /* &processInfo */)).hProcess) + libc.XCloseHandle(tls, (*PROCESS_INFORMATION)(unsafe.Pointer(bp+192 /* &processInfo */)).hThread) + libc.XCloseHandle(tls, (*PROCESS_INFORMATION)(unsafe.Pointer(bp+192 /* &processInfo */)).hProcess) } else { errorMessage(tls, ts+825, /* "CreateProcessA()..." */ - libc.VaList(bp+128, libc.XGetLastError(tls))) + libc.VaList(bp+80, libc.XGetLastError(tls))) } } @@ -27270,8 +27270,8 @@ func startClient(tls *libc.TLS, iClient int32) { /* mptest.c:638:13: */ // Read the entire content of a file into memory func readFile(tls *libc.TLS, zFilename uintptr) uintptr { /* mptest.c:684:13: */ - bp := tls.Alloc(16) - defer tls.Free(16) + bp := tls.Alloc(8) + defer tls.Free(8) var in uintptr = libc.Xfopen(tls, zFilename, ts+868 /* "rb" */) var sz int32 @@ -27391,8 +27391,8 @@ func findEndif(tls *libc.TLS, z uintptr, stopAtElse int32, pnLine uintptr) int32 // Wait for a client process to complete all its tasks func waitForClient(tls *libc.TLS, iClient int32, iTimeout int32, zErrPrefix uintptr) { /* mptest.c:798:13: */ - bp := tls.Alloc(56) - defer tls.Free(56) + bp := tls.Alloc(32) + defer tls.Free(32) var pStmt uintptr var rc int32 @@ -27420,9 +27420,9 @@ func waitForClient(tls *libc.TLS, iClient int32, iTimeout int32, zErrPrefix uint zErrPrefix = ts + 1103 /* "" */ } if iClient > 0 { - errorMessage(tls, ts+1104 /* "%stimeout waitin..." */, libc.VaList(bp+16, zErrPrefix, iClient)) + errorMessage(tls, ts+1104 /* "%stimeout waitin..." */, libc.VaList(bp+8, zErrPrefix, iClient)) } else { - errorMessage(tls, ts+1136 /* "%stimeout waitin..." */, libc.VaList(bp+40, zErrPrefix)) + errorMessage(tls, ts+1136 /* "%stimeout waitin..." */, libc.VaList(bp+24, zErrPrefix)) } } } @@ -27441,8 +27441,8 @@ func filenameTail(tls *libc.TLS, z uintptr) uintptr { /* mptest.c:836:13: */ // Interpret zArg as a boolean value. Return either 0 or 1. func booleanValue(tls *libc.TLS, zArg uintptr) int32 { /* mptest.c:845:12: */ - bp := tls.Alloc(16) - defer tls.Free(16) + bp := tls.Alloc(8) + defer tls.Free(8) var i int32 if zArg == uintptr(0) { @@ -27475,10 +27475,10 @@ var cnt int32 = 0 /* mptest.c:864:56 */ // Run a script. func runScript(tls *libc.TLS, iClient int32, taskId int32, zScript uintptr, zFilename uintptr) { /* mptest.c:872:13: */ - bp := tls.Alloc(1770) - defer tls.Free(1770) + bp := tls.Alloc(1610) + defer tls.Free(1610) - *(*int32)(unsafe.Pointer(bp + 536 /* lineno */)) = 1 + *(*int32)(unsafe.Pointer(bp + 376 /* lineno */)) = 1 var prevLine int32 = 1 var ii int32 = 0 var iBegin int32 = 0 @@ -27487,19 +27487,19 @@ func runScript(tls *libc.TLS, iClient int32, taskId int32, zScript uintptr, zFil var j int32 var len int32 var nArg int32 - // var sResult String at bp+520, 16 + // var sResult String at bp+360, 16 - // var zCmd [30]int8 at bp+540, 30 + // var zCmd [30]int8 at bp+380, 30 - // var zError [1000]int8 at bp+770, 1000 + // var zError [1000]int8 at bp+610, 1000 - // var azArg [2][100]int8 at bp+570, 200 + // var azArg [2][100]int8 at bp+410, 200 - libc.Xmemset(tls, bp+520 /* &sResult */, 0, uint64(unsafe.Sizeof(String{}))) - stringReset(tls, bp+520 /* &sResult */) + libc.Xmemset(tls, bp+360 /* &sResult */, 0, uint64(unsafe.Sizeof(String{}))) + stringReset(tls, bp+360 /* &sResult */) for (libc.AssignInt32(&c, int32(*(*int8)(unsafe.Pointer(zScript + uintptr(ii)))))) != 0 { - prevLine = *(*int32)(unsafe.Pointer(bp + 536 /* lineno */)) - len = tokenLength(tls, (zScript + uintptr(ii)), bp+536 /* &lineno */) + prevLine = *(*int32)(unsafe.Pointer(bp + 376 /* lineno */)) + len = tokenLength(tls, (zScript + uintptr(ii)), bp+376 /* &lineno */) if (libc.Xisspace(tls, int32(uint8(c))) != 0) || ((c == '/') && (int32(*(*int8)(unsafe.Pointer(zScript + uintptr((ii + 1))))) == '*')) { ii = ii + (len) continue @@ -27512,16 +27512,16 @@ func runScript(tls *libc.TLS, iClient int32, taskId int32, zScript uintptr, zFil // Run any prior SQL before processing the new --command if ii > iBegin { var zSql uintptr = sqlite3.Xsqlite3_mprintf(tls, ts+1206 /* "%.*s" */, libc.VaList(bp, (ii-iBegin), (zScript+uintptr(iBegin)))) - evalSql(tls, bp+520 /* &sResult */, zSql, 0) + evalSql(tls, bp+360 /* &sResult */, zSql, 0) sqlite3.Xsqlite3_free(tls, zSql) iBegin = (ii + len) } // Parse the --command if g.iTrace >= 2 { - logMessage(tls, ts+1206 /* "%.*s" */, libc.VaList(bp+24, len, (zScript+uintptr(ii)))) + logMessage(tls, ts+1206 /* "%.*s" */, libc.VaList(bp+16, len, (zScript+uintptr(ii)))) } - n = extractToken(tls, ((zScript + uintptr(ii)) + uintptr(2)), (len - 2), bp+540 /* &zCmd[0] */, int32(unsafe.Sizeof([30]int8{}))) + n = extractToken(tls, ((zScript + uintptr(ii)) + uintptr(2)), (len - 2), bp+380 /* &zCmd[0] */, int32(unsafe.Sizeof([30]int8{}))) for nArg = 0; (n < (len - 2)) && (nArg < MX_ARG); nArg++ { for (n < (len - 2)) && (libc.Xisspace(tls, int32(uint8(*(*int8)(unsafe.Pointer(zScript + uintptr(((ii + 2) + n))))))) != 0) { n++ @@ -27530,25 +27530,25 @@ func runScript(tls *libc.TLS, iClient int32, taskId int32, zScript uintptr, zFil break } n = n + (extractToken(tls, (((zScript + uintptr(ii)) + uintptr(2)) + uintptr(n)), ((len - 2) - n), - (bp + 570 /* &azArg[0] */ + uintptr(nArg)*100), int32(unsafe.Sizeof([100]int8{})))) + (bp + 410 /* &azArg[0] */ + uintptr(nArg)*100), int32(unsafe.Sizeof([100]int8{})))) } for j = nArg; j < MX_ARG; j++ { - *(*int8)(unsafe.Pointer((bp + 570 /* &azArg[0] */ + uintptr(libc.PostIncInt32(&j, 1))*100))) = int8(0) + *(*int8)(unsafe.Pointer((bp + 410 /* &azArg[0] */ + uintptr(libc.PostIncInt32(&j, 1))*100))) = int8(0) } // --sleep N // // Pause for N milliseconds - if libc.Xstrcmp(tls, bp+540 /* &zCmd[0] */, ts+1211 /* "sleep" */) == 0 { - sqlite3.Xsqlite3_sleep(tls, libc.Xatoi(tls, (bp+570 /* &azArg[0] */))) + if libc.Xstrcmp(tls, bp+380 /* &zCmd[0] */, ts+1211 /* "sleep" */) == 0 { + sqlite3.Xsqlite3_sleep(tls, libc.Xatoi(tls, (bp+410 /* &azArg[0] */))) } else // --exit N // // Exit this process. If N>0 then exit without shutting down // SQLite. (In other words, simulate a crash.) - if libc.Xstrcmp(tls, bp+540 /* &zCmd[0] */, ts+1217 /* "exit" */) == 0 { - var rc int32 = libc.Xatoi(tls, (bp + 570 /* &azArg[0] */)) + if libc.Xstrcmp(tls, bp+380 /* &zCmd[0] */, ts+1217 /* "exit" */) == 0 { + var rc int32 = libc.Xatoi(tls, (bp + 410 /* &azArg[0] */)) finishScript(tls, iClient, taskId, 1) if rc == 0 { sqlite3.Xsqlite3_close(tls, g.db) @@ -27560,43 +27560,43 @@ func runScript(tls *libc.TLS, iClient int32, taskId int32, zScript uintptr, zFil // // Begin a new test case. Announce in the log that the test case // has begun. - if libc.Xstrcmp(tls, bp+540 /* &zCmd[0] */, ts+1222 /* "testcase" */) == 0 { + if libc.Xstrcmp(tls, bp+380 /* &zCmd[0] */, ts+1222 /* "testcase" */) == 0 { if g.iTrace == 1 { - logMessage(tls, ts+1206 /* "%.*s" */, libc.VaList(bp+48, (len-1), (zScript+uintptr(ii)))) + logMessage(tls, ts+1206 /* "%.*s" */, libc.VaList(bp+32, (len-1), (zScript+uintptr(ii)))) } - stringReset(tls, bp+520 /* &sResult */) + stringReset(tls, bp+360 /* &sResult */) } else // --finish // // Mark the current task as having finished, even if it is not. // This can be used in conjunction with --exit to simulate a crash. - if (libc.Xstrcmp(tls, bp+540 /* &zCmd[0] */, ts+1231 /* "finish" */) == 0) && (iClient > 0) { + if (libc.Xstrcmp(tls, bp+380 /* &zCmd[0] */, ts+1231 /* "finish" */) == 0) && (iClient > 0) { finishScript(tls, iClient, taskId, 1) } else // --reset // // Reset accumulated results back to an empty string - if libc.Xstrcmp(tls, bp+540 /* &zCmd[0] */, ts+1238 /* "reset" */) == 0 { - stringReset(tls, bp+520 /* &sResult */) + if libc.Xstrcmp(tls, bp+380 /* &zCmd[0] */, ts+1238 /* "reset" */) == 0 { + stringReset(tls, bp+360 /* &sResult */) } else // --match ANSWER... // // Check to see if output matches ANSWER. Report an error if not. - if libc.Xstrcmp(tls, bp+540 /* &zCmd[0] */, ts+1244 /* "match" */) == 0 { + if libc.Xstrcmp(tls, bp+380 /* &zCmd[0] */, ts+1244 /* "match" */) == 0 { var jj int32 var zAns uintptr = (zScript + uintptr(ii)) for jj = 7; (jj < (len - 1)) && (libc.Xisspace(tls, int32(uint8(*(*int8)(unsafe.Pointer(zAns + uintptr(jj)))))) != 0); jj++ { } zAns += uintptr(jj) - if (((len - jj) - 1) != (*String)(unsafe.Pointer(bp+520 /* &sResult */)).n) || (libc.Xstrncmp(tls, (*String)(unsafe.Pointer(bp+520 /* &sResult */)).z, zAns, (uint64((len-jj)-1))) != 0) { + if (((len - jj) - 1) != (*String)(unsafe.Pointer(bp+360 /* &sResult */)).n) || (libc.Xstrncmp(tls, (*String)(unsafe.Pointer(bp+360 /* &sResult */)).z, zAns, (uint64((len-jj)-1))) != 0) { errorMessage(tls, ts+1250, /* "line %d of %s:\nE..." */ - libc.VaList(bp+72, prevLine, zFilename, ((len-jj)-1), zAns, (*String)(unsafe.Pointer(bp+520 /* &sResult */)).z)) + libc.VaList(bp+48, prevLine, zFilename, ((len-jj)-1), zAns, (*String)(unsafe.Pointer(bp+360 /* &sResult */)).z)) } g.nTest++ - stringReset(tls, bp+520 /* &sResult */) + stringReset(tls, bp+360 /* &sResult */) } else // --glob ANSWER... @@ -27604,55 +27604,55 @@ func runScript(tls *libc.TLS, iClient int32, taskId int32, zScript uintptr, zFil // // Check to see if output does or does not match the glob pattern // ANSWER. - if (libc.Xstrcmp(tls, bp+540 /* &zCmd[0] */, ts+1295 /* "glob" */) == 0) || (libc.Xstrcmp(tls, bp+540 /* &zCmd[0] */, ts+1300 /* "notglob" */) == 0) { + if (libc.Xstrcmp(tls, bp+380 /* &zCmd[0] */, ts+1295 /* "glob" */) == 0) || (libc.Xstrcmp(tls, bp+380 /* &zCmd[0] */, ts+1300 /* "notglob" */) == 0) { var jj int32 var zAns uintptr = (zScript + uintptr(ii)) var zCopy uintptr - var isGlob int32 = (libc.Bool32(int32(*(*int8)(unsafe.Pointer(bp + 540 /* &zCmd[0] */))) == 'g')) + var isGlob int32 = (libc.Bool32(int32(*(*int8)(unsafe.Pointer(bp + 380 /* &zCmd[0] */))) == 'g')) for jj = (9 - (3 * isGlob)); (jj < (len - 1)) && (libc.Xisspace(tls, int32(uint8(*(*int8)(unsafe.Pointer(zAns + uintptr(jj)))))) != 0); jj++ { } zAns += uintptr(jj) - zCopy = sqlite3.Xsqlite3_mprintf(tls, ts+1206 /* "%.*s" */, libc.VaList(bp+120, ((len-jj)-1), zAns)) - if ((libc.Bool32(sqlite3.Xsqlite3_strglob(tls, zCopy, (*String)(unsafe.Pointer(bp+520 /* &sResult */)).z) == 0)) ^ isGlob) != 0 { + zCopy = sqlite3.Xsqlite3_mprintf(tls, ts+1206 /* "%.*s" */, libc.VaList(bp+88, ((len-jj)-1), zAns)) + if ((libc.Bool32(sqlite3.Xsqlite3_strglob(tls, zCopy, (*String)(unsafe.Pointer(bp+360 /* &sResult */)).z) == 0)) ^ isGlob) != 0 { errorMessage(tls, ts+1308, /* "line %d of %s:\nE..." */ - libc.VaList(bp+144, prevLine, zFilename, zCopy, (*String)(unsafe.Pointer(bp+520 /* &sResult */)).z)) + libc.VaList(bp+104, prevLine, zFilename, zCopy, (*String)(unsafe.Pointer(bp+360 /* &sResult */)).z)) } sqlite3.Xsqlite3_free(tls, zCopy) g.nTest++ - stringReset(tls, bp+520 /* &sResult */) + stringReset(tls, bp+360 /* &sResult */) } else // --output // // Output the result of the previous SQL. - if libc.Xstrcmp(tls, bp+540 /* &zCmd[0] */, ts+1351 /* "output" */) == 0 { - logMessage(tls, ts+438 /* "%s" */, libc.VaList(bp+184, (*String)(unsafe.Pointer(bp+520 /* &sResult */)).z)) + if libc.Xstrcmp(tls, bp+380 /* &zCmd[0] */, ts+1351 /* "output" */) == 0 { + logMessage(tls, ts+438 /* "%s" */, libc.VaList(bp+136, (*String)(unsafe.Pointer(bp+360 /* &sResult */)).z)) } else // --source FILENAME // // Run a subscript from a separate file. - if libc.Xstrcmp(tls, bp+540 /* &zCmd[0] */, ts+1358 /* "source" */) == 0 { + if libc.Xstrcmp(tls, bp+380 /* &zCmd[0] */, ts+1358 /* "source" */) == 0 { var zNewFile uintptr var zNewScript uintptr var zToDel uintptr = uintptr(0) - zNewFile = (bp + 570 /* &azArg[0] */) + zNewFile = (bp + 410 /* &azArg[0] */) if !(((int32(*(*int8)(unsafe.Pointer(zNewFile)))) == '/') || ((int32(*(*int8)(unsafe.Pointer(zNewFile)))) == '\\')) { var k int32 for k = (int32(libc.Xstrlen(tls, zFilename)) - 1); (k >= 0) && !(((int32(*(*int8)(unsafe.Pointer(zFilename + uintptr(k))))) == '/') || ((int32(*(*int8)(unsafe.Pointer(zFilename + uintptr(k))))) == '\\')); k-- { } if k > 0 { - zNewFile = libc.AssignUintptr(&zToDel, sqlite3.Xsqlite3_mprintf(tls, ts+1365 /* "%.*s/%s" */, libc.VaList(bp+200, k, zFilename, zNewFile))) + zNewFile = libc.AssignUintptr(&zToDel, sqlite3.Xsqlite3_mprintf(tls, ts+1365 /* "%.*s/%s" */, libc.VaList(bp+144, k, zFilename, zNewFile))) } } zNewScript = readFile(tls, zNewFile) if g.iTrace != 0 { - logMessage(tls, ts+1373 /* "begin script [%s..." */, libc.VaList(bp+232, zNewFile)) + logMessage(tls, ts+1373 /* "begin script [%s..." */, libc.VaList(bp+168, zNewFile)) } runScript(tls, 0, 0, zNewScript, zNewFile) sqlite3.Xsqlite3_free(tls, zNewScript) if g.iTrace != 0 { - logMessage(tls, ts+1392 /* "end script [%s]\n" */, libc.VaList(bp+248, zNewFile)) + logMessage(tls, ts+1392 /* "end script [%s]\n" */, libc.VaList(bp+176, zNewFile)) } sqlite3.Xsqlite3_free(tls, zToDel) } else @@ -27660,26 +27660,26 @@ func runScript(tls *libc.TLS, iClient int32, taskId int32, zScript uintptr, zFil // --print MESSAGE.... // // Output the remainder of the line to the log file - if libc.Xstrcmp(tls, bp+540 /* &zCmd[0] */, ts+1409 /* "print" */) == 0 { + if libc.Xstrcmp(tls, bp+380 /* &zCmd[0] */, ts+1409 /* "print" */) == 0 { var jj int32 for jj = 7; (jj < len) && (libc.Xisspace(tls, int32(uint8(*(*int8)(unsafe.Pointer(zScript + uintptr((ii + jj))))))) != 0); jj++ { } - logMessage(tls, ts+1206 /* "%.*s" */, libc.VaList(bp+264, (len-jj), ((zScript+uintptr(ii))+uintptr(jj)))) + logMessage(tls, ts+1206 /* "%.*s" */, libc.VaList(bp+184, (len-jj), ((zScript+uintptr(ii))+uintptr(jj)))) } else // --if EXPR // // Skip forward to the next matching --endif or --else if EXPR is false. - if libc.Xstrcmp(tls, bp+540 /* &zCmd[0] */, ts+1415 /* "if" */) == 0 { + if libc.Xstrcmp(tls, bp+380 /* &zCmd[0] */, ts+1415 /* "if" */) == 0 { var jj int32 var rc int32 var pStmt uintptr for jj = 4; (jj < len) && (libc.Xisspace(tls, int32(uint8(*(*int8)(unsafe.Pointer(zScript + uintptr((ii + jj))))))) != 0); jj++ { } - pStmt = prepareSql(tls, ts+1418 /* "SELECT %.*s" */, libc.VaList(bp+288, (len-jj), ((zScript+uintptr(ii))+uintptr(jj)))) + pStmt = prepareSql(tls, ts+1418 /* "SELECT %.*s" */, libc.VaList(bp+200, (len-jj), ((zScript+uintptr(ii))+uintptr(jj)))) rc = sqlite3.Xsqlite3_step(tls, pStmt) if (rc != SQLITE_ROW) || (sqlite3.Xsqlite3_column_int(tls, pStmt, 0) == 0) { - ii = ii + (findEndif(tls, ((zScript + uintptr(ii)) + uintptr(len)), 1, bp+536 /* &lineno */)) + ii = ii + (findEndif(tls, ((zScript + uintptr(ii)) + uintptr(len)), 1, bp+376 /* &lineno */)) } sqlite3.Xsqlite3_finalize(tls, pStmt) } else @@ -27688,23 +27688,23 @@ func runScript(tls *libc.TLS, iClient int32, taskId int32, zScript uintptr, zFil // // This command can only be encountered if currently inside an --if that // is true. Skip forward to the next matching --endif. - if libc.Xstrcmp(tls, bp+540 /* &zCmd[0] */, ts+1430 /* "else" */) == 0 { - ii = ii + (findEndif(tls, ((zScript + uintptr(ii)) + uintptr(len)), 0, bp+536 /* &lineno */)) + if libc.Xstrcmp(tls, bp+380 /* &zCmd[0] */, ts+1430 /* "else" */) == 0 { + ii = ii + (findEndif(tls, ((zScript + uintptr(ii)) + uintptr(len)), 0, bp+376 /* &lineno */)) } else // --endif // // This command can only be encountered if currently inside an --if that // is true or an --else of a false if. This is a no-op. - if libc.Xstrcmp(tls, bp+540 /* &zCmd[0] */, ts+1435 /* "endif" */) == 0 { + if libc.Xstrcmp(tls, bp+380 /* &zCmd[0] */, ts+1435 /* "endif" */) == 0 { // no-op } else // --start CLIENT // // Start up the given client. - if (libc.Xstrcmp(tls, bp+540 /* &zCmd[0] */, ts+1441 /* "start" */) == 0) && (iClient == 0) { - var iNewClient int32 = libc.Xatoi(tls, (bp + 570 /* &azArg[0] */)) + if (libc.Xstrcmp(tls, bp+380 /* &zCmd[0] */, ts+1441 /* "start" */) == 0) && (iClient == 0) { + var iNewClient int32 = libc.Xatoi(tls, (bp + 410 /* &azArg[0] */)) if iNewClient > 0 { startClient(tls, iNewClient) } @@ -27715,16 +27715,16 @@ func runScript(tls *libc.TLS, iClient int32, taskId int32, zScript uintptr, zFil // Wait until all tasks complete for the given client. If CLIENT is // "all" then wait for all clients to complete. Wait no longer than // TIMEOUT milliseconds (default 10,000) - if (libc.Xstrcmp(tls, bp+540 /* &zCmd[0] */, ts+1447 /* "wait" */) == 0) && (iClient == 0) { + if (libc.Xstrcmp(tls, bp+380 /* &zCmd[0] */, ts+1447 /* "wait" */) == 0) && (iClient == 0) { var iTimeout int32 if nArg >= 2 { - iTimeout = libc.Xatoi(tls, (bp + 570 /* &azArg[0] */ + 1*100)) + iTimeout = libc.Xatoi(tls, (bp + 410 /* &azArg[0] */ + 1*100)) } else { iTimeout = 10000 } - sqlite3.Xsqlite3_snprintf(tls, int32(unsafe.Sizeof([1000]int8{})), bp+770 /* &zError[0] */, ts+1452, /* "line %d of %s\n" */ - libc.VaList(bp+312, prevLine, zFilename)) - waitForClient(tls, libc.Xatoi(tls, (bp+570 /* &azArg[0] */)), iTimeout, bp+770 /* &zError[0] */) + sqlite3.Xsqlite3_snprintf(tls, int32(unsafe.Sizeof([1000]int8{})), bp+610 /* &zError[0] */, ts+1452, /* "line %d of %s\n" */ + libc.VaList(bp+216, prevLine, zFilename)) + waitForClient(tls, libc.Xatoi(tls, (bp+410 /* &azArg[0] */)), iTimeout, bp+610 /* &zError[0] */) } else // --task CLIENT @@ -27733,29 +27733,29 @@ func runScript(tls *libc.TLS, iClient int32, taskId int32, zScript uintptr, zFil // // Assign work to a client. Start the client if it is not running // already. - if (libc.Xstrcmp(tls, bp+540 /* &zCmd[0] */, ts+1467 /* "task" */) == 0) && (iClient == 0) { - var iTarget int32 = libc.Xatoi(tls, (bp + 570 /* &azArg[0] */)) + if (libc.Xstrcmp(tls, bp+380 /* &zCmd[0] */, ts+1467 /* "task" */) == 0) && (iClient == 0) { + var iTarget int32 = libc.Xatoi(tls, (bp + 410 /* &azArg[0] */)) var iEnd int32 var zTask uintptr var zTName uintptr - iEnd = findEnd(tls, ((zScript + uintptr(ii)) + uintptr(len)), bp+536 /* &lineno */) + iEnd = findEnd(tls, ((zScript + uintptr(ii)) + uintptr(len)), bp+376 /* &lineno */) if iTarget < 0 { errorMessage(tls, ts+1472, /* "line %d of %s: b..." */ - libc.VaList(bp+336, prevLine, zFilename, iTarget)) + libc.VaList(bp+232, prevLine, zFilename, iTarget)) } else { - zTask = sqlite3.Xsqlite3_mprintf(tls, ts+1206 /* "%.*s" */, libc.VaList(bp+368, iEnd, ((zScript+uintptr(ii))+uintptr(len)))) + zTask = sqlite3.Xsqlite3_mprintf(tls, ts+1206 /* "%.*s" */, libc.VaList(bp+256, iEnd, ((zScript+uintptr(ii))+uintptr(len)))) if nArg > 1 { - zTName = sqlite3.Xsqlite3_mprintf(tls, ts+438 /* "%s" */, libc.VaList(bp+392, (bp+570 /* &azArg[0] */ +1*100))) + zTName = sqlite3.Xsqlite3_mprintf(tls, ts+438 /* "%s" */, libc.VaList(bp+272, (bp+410 /* &azArg[0] */ +1*100))) } else { - zTName = sqlite3.Xsqlite3_mprintf(tls, ts+1509 /* "%s:%d" */, libc.VaList(bp+408, filenameTail(tls, zFilename), prevLine)) + zTName = sqlite3.Xsqlite3_mprintf(tls, ts+1509 /* "%s:%d" */, libc.VaList(bp+280, filenameTail(tls, zFilename), prevLine)) } startClient(tls, iTarget) runSql(tls, - ts+1515 /* "INSERT INTO task..." */, libc.VaList(bp+432, iTarget, zTask, zTName)) + ts+1515 /* "INSERT INTO task..." */, libc.VaList(bp+296, iTarget, zTask, zTName)) sqlite3.Xsqlite3_free(tls, zTask) sqlite3.Xsqlite3_free(tls, zTName) } - iEnd = iEnd + (tokenLength(tls, (((zScript + uintptr(ii)) + uintptr(len)) + uintptr(iEnd)), bp+536 /* &lineno */)) + iEnd = iEnd + (tokenLength(tls, (((zScript + uintptr(ii)) + uintptr(len)) + uintptr(iEnd)), bp+376 /* &lineno */)) len = len + (iEnd) iBegin = (ii + len) } else @@ -27764,32 +27764,32 @@ func runScript(tls *libc.TLS, iClient int32, taskId int32, zScript uintptr, zFil // // This command calls "test_breakpoint()" which is a routine provided // as a convenient place to set a debugger breakpoint. - if libc.Xstrcmp(tls, bp+540 /* &zCmd[0] */, ts+1571 /* "breakpoint" */) == 0 { + if libc.Xstrcmp(tls, bp+380 /* &zCmd[0] */, ts+1571 /* "breakpoint" */) == 0 { test_breakpoint(tls) } else // --show-sql-errors BOOLEAN // // Turn display of SQL errors on and off. - if libc.Xstrcmp(tls, bp+540 /* &zCmd[0] */, ts+1582 /* "show-sql-errors" */) == 0 { + if libc.Xstrcmp(tls, bp+380 /* &zCmd[0] */, ts+1582 /* "show-sql-errors" */) == 0 { g.bIgnoreSqlErrors = func() int32 { if nArg >= 1 { - return libc.BoolInt32(!(booleanValue(tls, (bp+570 /* &azArg[0] */)) != 0)) + return libc.BoolInt32(!(booleanValue(tls, (bp+410 /* &azArg[0] */)) != 0)) } return 1 }() } else { errorMessage(tls, ts+1598, /* "line %d of %s: u..." */ - libc.VaList(bp+464, prevLine, zFilename, bp+540 /* &zCmd[0] */)) + libc.VaList(bp+320, prevLine, zFilename, bp+380 /* &zCmd[0] */)) } ii = ii + (len) } if iBegin < ii { - var zSql uintptr = sqlite3.Xsqlite3_mprintf(tls, ts+1206 /* "%.*s" */, libc.VaList(bp+496, (ii-iBegin), (zScript+uintptr(iBegin)))) + var zSql uintptr = sqlite3.Xsqlite3_mprintf(tls, ts+1206 /* "%.*s" */, libc.VaList(bp+344, (ii-iBegin), (zScript+uintptr(iBegin)))) runSql(tls, zSql, 0) sqlite3.Xsqlite3_free(tls, zSql) } - stringFree(tls, bp+520 /* &sResult */) + stringFree(tls, bp+360 /* &sResult */) } // Look for a command-line option. If present, return a pointer. @@ -27799,8 +27799,8 @@ func runScript(tls *libc.TLS, iClient int32, taskId int32, zScript uintptr, zFil // hasArg==1 means the option has an argument. Return a pointer to the // argument. func findOption(tls *libc.TLS, azArg uintptr, pnArg uintptr, zOption uintptr, hasArg int32) uintptr { /* mptest.c:1201:13: */ - bp := tls.Alloc(16) - defer tls.Free(16) + bp := tls.Alloc(8) + defer tls.Free(8) var i int32 var j int32 @@ -27845,8 +27845,8 @@ func findOption(tls *libc.TLS, azArg uintptr, pnArg uintptr, zOption uintptr, ha // Print a usage message for the program and exit func usage(tls *libc.TLS, argv0 uintptr) { /* mptest.c:1241:13: */ - bp := tls.Alloc(16) - defer tls.Free(16) + bp := tls.Alloc(8) + defer tls.Free(8) var i int32 var zTail uintptr = argv0 @@ -27864,32 +27864,32 @@ func usage(tls *libc.TLS, argv0 uintptr) { /* mptest.c:1241:13: */ // Report on unrecognized arguments func unrecognizedArguments(tls *libc.TLS, argv0 uintptr, nArg int32, azArg uintptr) { /* mptest.c:1265:13: */ - bp := tls.Alloc(32) - defer tls.Free(32) + bp := tls.Alloc(16) + defer tls.Free(16) var i int32 libc.Xfprintf(tls, libc.X__acrt_iob_func(tls, uint32(2)), ts+2293 /* "%s: unrecognized..." */, libc.VaList(bp, argv0)) for i = 0; i < nArg; i++ { - libc.Xfprintf(tls, libc.X__acrt_iob_func(tls, uint32(2)), ts+2321 /* " %s" */, libc.VaList(bp+16, *(*uintptr)(unsafe.Pointer(azArg + uintptr(i)*8)))) + libc.Xfprintf(tls, libc.X__acrt_iob_func(tls, uint32(2)), ts+2321 /* " %s" */, libc.VaList(bp+8, *(*uintptr)(unsafe.Pointer(azArg + uintptr(i)*8)))) } libc.Xfprintf(tls, libc.X__acrt_iob_func(tls, uint32(2)), ts+2325 /* "\n" */, 0) libc.Xexit(tls, 1) } func main1(tls *libc.TLS, argc int32, argv uintptr) int32 { /* mptest.c:1279:18: */ - bp := tls.Alloc(432) - defer tls.Free(432) + bp := tls.Alloc(272) + defer tls.Free(272) var zClient uintptr var iClient int32 - // var n int32 at bp+400, 4 + // var n int32 at bp+240, 4 var i int32 var openFlags int32 = SQLITE_OPEN_READWRITE var rc int32 - // var zScript uintptr at bp+408, 8 + // var zScript uintptr at bp+248, 8 - // var taskId int32 at bp+416, 4 + // var taskId int32 at bp+256, 4 var zTrace uintptr var zCOption uintptr @@ -27916,33 +27916,33 @@ func main1(tls *libc.TLS, argc int32, argv uintptr) int32 { /* mptest.c:1279:18: libc.VaList(bp, sqlite3.Xsqlite3_sourceid(tls), ts+2334 /* "2021-06-18 18:36..." */)) libc.Xexit(tls, 1) } - *(*int32)(unsafe.Pointer(bp + 400 /* n */)) = (argc - 2) - sqlite3.Xsqlite3_snprintf(tls, int32(unsafe.Sizeof([32]int8{})), uintptr(unsafe.Pointer(&g))+64 /* &.zName */, ts+2479 /* "%05d.mptest" */, libc.VaList(bp+24, int32(libc.XGetCurrentProcessId(tls)))) - zJMode = findOption(tls, (argv + uintptr(2)*8), bp+400 /* &n */, ts+2491 /* "journalmode" */, 1) - zNRep = findOption(tls, (argv + uintptr(2)*8), bp+400 /* &n */, ts+2503 /* "repeat" */, 1) + *(*int32)(unsafe.Pointer(bp + 240 /* n */)) = (argc - 2) + sqlite3.Xsqlite3_snprintf(tls, int32(unsafe.Sizeof([32]int8{})), uintptr(unsafe.Pointer(&g))+64 /* &.zName */, ts+2479 /* "%05d.mptest" */, libc.VaList(bp+16, int32(libc.XGetCurrentProcessId(tls)))) + zJMode = findOption(tls, (argv + uintptr(2)*8), bp+240 /* &n */, ts+2491 /* "journalmode" */, 1) + zNRep = findOption(tls, (argv + uintptr(2)*8), bp+240 /* &n */, ts+2503 /* "repeat" */, 1) if zNRep != 0 { nRep = libc.Xatoi(tls, zNRep) } if nRep < 1 { nRep = 1 } - g.zVfs = findOption(tls, (argv + uintptr(2)*8), bp+400 /* &n */, ts+2510 /* "vfs" */, 1) - zClient = findOption(tls, (argv + uintptr(2)*8), bp+400 /* &n */, ts+2514 /* "client" */, 1) - g.zErrLog = findOption(tls, (argv + uintptr(2)*8), bp+400 /* &n */, ts+2521 /* "errlog" */, 1) - g.zLog = findOption(tls, (argv + uintptr(2)*8), bp+400 /* &n */, ts+2528 /* "log" */, 1) - zTrace = findOption(tls, (argv + uintptr(2)*8), bp+400 /* &n */, ts+2532 /* "trace" */, 1) + g.zVfs = findOption(tls, (argv + uintptr(2)*8), bp+240 /* &n */, ts+2510 /* "vfs" */, 1) + zClient = findOption(tls, (argv + uintptr(2)*8), bp+240 /* &n */, ts+2514 /* "client" */, 1) + g.zErrLog = findOption(tls, (argv + uintptr(2)*8), bp+240 /* &n */, ts+2521 /* "errlog" */, 1) + g.zLog = findOption(tls, (argv + uintptr(2)*8), bp+240 /* &n */, ts+2528 /* "log" */, 1) + zTrace = findOption(tls, (argv + uintptr(2)*8), bp+240 /* &n */, ts+2532 /* "trace" */, 1) if zTrace != 0 { g.iTrace = libc.Xatoi(tls, zTrace) } - if findOption(tls, (argv+uintptr(2)*8), bp+400 /* &n */, ts+2538 /* "quiet" */, 0) != uintptr(0) { + if findOption(tls, (argv+uintptr(2)*8), bp+240 /* &n */, ts+2538 /* "quiet" */, 0) != uintptr(0) { g.iTrace = 0 } - zTmout = findOption(tls, (argv + uintptr(2)*8), bp+400 /* &n */, ts+2544 /* "timeout" */, 1) + zTmout = findOption(tls, (argv + uintptr(2)*8), bp+240 /* &n */, ts+2544 /* "timeout" */, 1) if zTmout != 0 { iTmout = libc.Xatoi(tls, zTmout) } - g.bSqlTrace = (libc.Bool32(findOption(tls, (argv+uintptr(2)*8), bp+400 /* &n */, ts+2552 /* "sqltrace" */, 0) != uintptr(0))) - g.bSync = (libc.Bool32(findOption(tls, (argv+uintptr(2)*8), bp+400 /* &n */, ts+2561 /* "sync" */, 0) != uintptr(0))) + g.bSqlTrace = (libc.Bool32(findOption(tls, (argv+uintptr(2)*8), bp+240 /* &n */, ts+2552 /* "sqltrace" */, 0) != uintptr(0))) + g.bSync = (libc.Bool32(findOption(tls, (argv+uintptr(2)*8), bp+240 /* &n */, ts+2561 /* "sync" */, 0) != uintptr(0))) if g.zErrLog != 0 { g.pErrLog = libc.Xfopen(tls, g.zErrLog, ts+2566 /* "a" */) } else { @@ -27954,27 +27954,27 @@ func main1(tls *libc.TLS, argc int32, argv uintptr) int32 { /* mptest.c:1279:18: g.pLog = libc.X__acrt_iob_func(tls, uint32(1)) } - sqlite3.Xsqlite3_config(tls, SQLITE_CONFIG_LOG, libc.VaList(bp+40, *(*uintptr)(unsafe.Pointer(&struct { + sqlite3.Xsqlite3_config(tls, SQLITE_CONFIG_LOG, libc.VaList(bp+24, *(*uintptr)(unsafe.Pointer(&struct { f func(*libc.TLS, uintptr, int32, uintptr) }{sqlErrorCallback})), 0)) if zClient != 0 { iClient = libc.Xatoi(tls, zClient) if iClient < 1 { - fatalError(tls, ts+2568 /* "illegal client n..." */, libc.VaList(bp+64, iClient)) + fatalError(tls, ts+2568 /* "illegal client n..." */, libc.VaList(bp+40, iClient)) } sqlite3.Xsqlite3_snprintf(tls, int32(unsafe.Sizeof([32]int8{})), uintptr(unsafe.Pointer(&g))+64 /* &.zName */, ts+2595, /* "%05d.client%02d" */ - libc.VaList(bp+80, int32(libc.XGetCurrentProcessId(tls)), iClient)) + libc.VaList(bp+48, int32(libc.XGetCurrentProcessId(tls)), iClient)) } else { var nTry int32 = 0 if g.iTrace > 0 { - libc.Xprintf(tls, ts+2611 /* "BEGIN: %s" */, libc.VaList(bp+104, *(*uintptr)(unsafe.Pointer(argv)))) + libc.Xprintf(tls, ts+2611 /* "BEGIN: %s" */, libc.VaList(bp+64, *(*uintptr)(unsafe.Pointer(argv)))) for i = 1; i < argc; i++ { - libc.Xprintf(tls, ts+2321 /* " %s" */, libc.VaList(bp+120, *(*uintptr)(unsafe.Pointer(argv + uintptr(i)*8)))) + libc.Xprintf(tls, ts+2321 /* " %s" */, libc.VaList(bp+72, *(*uintptr)(unsafe.Pointer(argv + uintptr(i)*8)))) } libc.Xprintf(tls, ts+2325 /* "\n" */, 0) libc.Xprintf(tls, ts+2621 /* "With SQLite 3.36..." */, 0) for i = 0; (libc.AssignUintptr(&zCOption, sqlite3.Xsqlite3_compileoption_get(tls, i))) != uintptr(0); i++ { - libc.Xprintf(tls, ts+2726 /* "-DSQLITE_%s\n" */, libc.VaList(bp+136, zCOption)) + libc.Xprintf(tls, ts+2726 /* "-DSQLITE_%s\n" */, libc.VaList(bp+80, zCOption)) } libc.Xfflush(tls, libc.X__acrt_iob_func(tls, uint32(1))) } @@ -27982,7 +27982,7 @@ func main1(tls *libc.TLS, argc int32, argv uintptr) int32 { /* mptest.c:1279:18: for ok := true; ok; ok = (((rc != 0) && ((libc.PreIncInt32(&nTry, 1)) < 60)) && (sqlite3.Xsqlite3_sleep(tls, 1000) > 0)) { if (nTry % 5) == 4 { libc.Xprintf(tls, ts+2739, /* "... %strying to ..." */ - libc.VaList(bp+152, func() uintptr { + libc.VaList(bp+88, func() uintptr { if nTry > 5 { return ts + 2768 /* "still " */ } @@ -27996,13 +27996,13 @@ func main1(tls *libc.TLS, argc int32, argv uintptr) int32 { /* mptest.c:1279:18: } if rc != 0 { fatalError(tls, ts+2775, /* "unable to unlink..." */ - libc.VaList(bp+176, g.zDbFile, nTry)) + libc.VaList(bp+104, g.zDbFile, nTry)) } openFlags = openFlags | (SQLITE_OPEN_CREATE) } rc = sqlite3.Xsqlite3_open_v2(tls, g.zDbFile, (uintptr(unsafe.Pointer(&g)) + 24 /* &.db */), openFlags, g.zVfs) if rc != 0 { - fatalError(tls, ts+2816 /* "cannot open [%s]" */, libc.VaList(bp+200, g.zDbFile)) + fatalError(tls, ts+2816 /* "cannot open [%s]" */, libc.VaList(bp+120, g.zDbFile)) } if iTmout > 0 { sqlite3.Xsqlite3_busy_timeout(tls, g.db, iTmout) @@ -28011,10 +28011,10 @@ func main1(tls *libc.TLS, argc int32, argv uintptr) int32 { /* mptest.c:1279:18: if zJMode != 0 { if (sqlite3.Xsqlite3_stricmp(tls, zJMode, ts+2833 /* "persist" */) == 0) || (sqlite3.Xsqlite3_stricmp(tls, zJMode, ts+2841 /* "truncate" */) == 0) { - libc.Xprintf(tls, ts+2850 /* "Changing journal..." */, libc.VaList(bp+216, zJMode)) + libc.Xprintf(tls, ts+2850 /* "Changing journal..." */, libc.VaList(bp+128, zJMode)) zJMode = ts + 2890 /* "DELETE" */ } - runSql(tls, ts+2897 /* "PRAGMA journal_m..." */, libc.VaList(bp+232, zJMode)) + runSql(tls, ts+2897 /* "PRAGMA journal_m..." */, libc.VaList(bp+136, zJMode)) } if !(g.bSync != 0) { trySql(tls, ts+2921 /* "PRAGMA synchrono..." */, 0) @@ -28038,27 +28038,27 @@ func main1(tls *libc.TLS, argc int32, argv uintptr) int32 { /* mptest.c:1279:18: }{sqlTraceCallback})), uintptr(0)) } if iClient > 0 { - if *(*int32)(unsafe.Pointer(bp + 400 /* n */)) > 0 { - unrecognizedArguments(tls, *(*uintptr)(unsafe.Pointer(argv)), *(*int32)(unsafe.Pointer(bp + 400 /* n */)), (argv + uintptr(2)*8)) + if *(*int32)(unsafe.Pointer(bp + 240 /* n */)) > 0 { + unrecognizedArguments(tls, *(*uintptr)(unsafe.Pointer(argv)), *(*int32)(unsafe.Pointer(bp + 240 /* n */)), (argv + uintptr(2)*8)) } if g.iTrace != 0 { logMessage(tls, ts+2957 /* "start-client" */, 0) } for 1 != 0 { - *(*uintptr)(unsafe.Pointer(bp + 424 /* zTaskName */)) = uintptr(0) - rc = startScript(tls, iClient, bp+408 /* &zScript */, bp+416 /* &taskId */, bp+424 /* &zTaskName */) + *(*uintptr)(unsafe.Pointer(bp + 264 /* zTaskName */)) = uintptr(0) + rc = startScript(tls, iClient, bp+248 /* &zScript */, bp+256 /* &taskId */, bp+264 /* &zTaskName */) if rc == SQLITE_DONE { break } if g.iTrace != 0 { - logMessage(tls, ts+2970 /* "begin %s (%d)" */, libc.VaList(bp+248, *(*uintptr)(unsafe.Pointer(bp + 424 /* zTaskName */)), *(*int32)(unsafe.Pointer(bp + 416 /* taskId */)))) + logMessage(tls, ts+2970 /* "begin %s (%d)" */, libc.VaList(bp+144, *(*uintptr)(unsafe.Pointer(bp + 264 /* zTaskName */)), *(*int32)(unsafe.Pointer(bp + 256 /* taskId */)))) } - runScript(tls, iClient, *(*int32)(unsafe.Pointer(bp + 416 /* taskId */)), *(*uintptr)(unsafe.Pointer(bp + 408 /* zScript */)), *(*uintptr)(unsafe.Pointer(bp + 424 /* zTaskName */))) + runScript(tls, iClient, *(*int32)(unsafe.Pointer(bp + 256 /* taskId */)), *(*uintptr)(unsafe.Pointer(bp + 248 /* zScript */)), *(*uintptr)(unsafe.Pointer(bp + 264 /* zTaskName */))) if g.iTrace != 0 { - logMessage(tls, ts+2984 /* "end %s (%d)" */, libc.VaList(bp+272, *(*uintptr)(unsafe.Pointer(bp + 424 /* zTaskName */)), *(*int32)(unsafe.Pointer(bp + 416 /* taskId */)))) + logMessage(tls, ts+2984 /* "end %s (%d)" */, libc.VaList(bp+160, *(*uintptr)(unsafe.Pointer(bp + 264 /* zTaskName */)), *(*int32)(unsafe.Pointer(bp + 256 /* taskId */)))) } - finishScript(tls, iClient, *(*int32)(unsafe.Pointer(bp + 416 /* taskId */)), 0) - sqlite3.Xsqlite3_free(tls, *(*uintptr)(unsafe.Pointer(bp + 424 /* zTaskName */))) + finishScript(tls, iClient, *(*int32)(unsafe.Pointer(bp + 256 /* taskId */)), 0) + sqlite3.Xsqlite3_free(tls, *(*uintptr)(unsafe.Pointer(bp + 264 /* zTaskName */))) sqlite3.Xsqlite3_sleep(tls, 10) } if g.iTrace != 0 { @@ -28067,26 +28067,26 @@ func main1(tls *libc.TLS, argc int32, argv uintptr) int32 { /* mptest.c:1279:18: } else { var pStmt uintptr var iTimeout int32 - if *(*int32)(unsafe.Pointer(bp + 400 /* n */)) == 0 { + if *(*int32)(unsafe.Pointer(bp + 240 /* n */)) == 0 { fatalError(tls, ts+3007 /* "missing script f..." */, 0) } - if *(*int32)(unsafe.Pointer(bp + 400 /* n */)) > 1 { - unrecognizedArguments(tls, *(*uintptr)(unsafe.Pointer(argv)), *(*int32)(unsafe.Pointer(bp + 400 /* n */)), (argv + uintptr(2)*8)) + if *(*int32)(unsafe.Pointer(bp + 240 /* n */)) > 1 { + unrecognizedArguments(tls, *(*uintptr)(unsafe.Pointer(argv)), *(*int32)(unsafe.Pointer(bp + 240 /* n */)), (argv + uintptr(2)*8)) } runSql(tls, ts+3031 /* "DROP TABLE IF EX..." */, 0) - *(*uintptr)(unsafe.Pointer(bp + 408 /* zScript */)) = readFile(tls, *(*uintptr)(unsafe.Pointer(argv + 2*8))) + *(*uintptr)(unsafe.Pointer(bp + 248 /* zScript */)) = readFile(tls, *(*uintptr)(unsafe.Pointer(argv + 2*8))) for iRep = 1; iRep <= nRep; iRep++ { if g.iTrace != 0 { - logMessage(tls, ts+3467 /* "begin script [%s..." */, libc.VaList(bp+296, *(*uintptr)(unsafe.Pointer(argv + 2*8)), iRep)) + logMessage(tls, ts+3467 /* "begin script [%s..." */, libc.VaList(bp+176, *(*uintptr)(unsafe.Pointer(argv + 2*8)), iRep)) } - runScript(tls, 0, 0, *(*uintptr)(unsafe.Pointer(bp + 408 /* zScript */)), *(*uintptr)(unsafe.Pointer(argv + 2*8))) + runScript(tls, 0, 0, *(*uintptr)(unsafe.Pointer(bp + 248 /* zScript */)), *(*uintptr)(unsafe.Pointer(argv + 2*8))) if g.iTrace != 0 { - logMessage(tls, ts+3495 /* "end script [%s] ..." */, libc.VaList(bp+320, *(*uintptr)(unsafe.Pointer(argv + 2*8)), iRep)) + logMessage(tls, ts+3495 /* "end script [%s] ..." */, libc.VaList(bp+192, *(*uintptr)(unsafe.Pointer(argv + 2*8)), iRep)) } } - sqlite3.Xsqlite3_free(tls, *(*uintptr)(unsafe.Pointer(bp + 408 /* zScript */))) + sqlite3.Xsqlite3_free(tls, *(*uintptr)(unsafe.Pointer(bp + 248 /* zScript */))) waitForClient(tls, 0, 2000, ts+3521 /* "during shutdown...." */) trySql(tls, ts+3541 /* "UPDATE client SE..." */, 0) sqlite3.Xsqlite3_sleep(tls, 10) @@ -28114,10 +28114,10 @@ func main1(tls *libc.TLS, argc int32, argv uintptr) int32 { /* mptest.c:1279:18: maybeClose(tls, g.pLog) maybeClose(tls, g.pErrLog) if iClient == 0 { - libc.Xprintf(tls, ts+3626 /* "Summary: %d erro..." */, libc.VaList(bp+344, g.nError, g.nTest)) - libc.Xprintf(tls, ts+3662 /* "END: %s" */, libc.VaList(bp+368, *(*uintptr)(unsafe.Pointer(argv)))) + libc.Xprintf(tls, ts+3626 /* "Summary: %d erro..." */, libc.VaList(bp+208, g.nError, g.nTest)) + libc.Xprintf(tls, ts+3662 /* "END: %s" */, libc.VaList(bp+224, *(*uintptr)(unsafe.Pointer(argv)))) for i = 1; i < argc; i++ { - libc.Xprintf(tls, ts+2321 /* " %s" */, libc.VaList(bp+384, *(*uintptr)(unsafe.Pointer(argv + uintptr(i)*8)))) + libc.Xprintf(tls, ts+2321 /* " %s" */, libc.VaList(bp+232, *(*uintptr)(unsafe.Pointer(argv + uintptr(i)*8)))) } libc.Xprintf(tls, ts+2325 /* "\n" */, 0) } diff --git a/internal/testfixture/testfixture_linux_386.go b/internal/testfixture/testfixture_linux_386.go index b349712..9b94990 100644 --- a/internal/testfixture/testfixture_linux_386.go +++ b/internal/testfixture/testfixture_linux_386.go @@ -3570,15 +3570,9 @@ const ( /* resource.h:187:1: */ PRIO_USER = 2 ) -// end block for C++ +// Convenience macros for operations on timevals. +// NOTE: `timercmp' does not work for >= or <=. -// Local Variables: -// mode: c -// c-basic-offset: 4 -// fill-column: 78 -// End: - -// Needed for the setrlimit() system call on unix // Copyright (C) 1992-2018 Free Software Foundation, Inc. // This file is part of the GNU C Library. // @@ -3935,97 +3929,8 @@ const ( /* waitflags.h:52:1: */ P_PGID = 2 ) -// Floating-point inline functions for stdlib.h. -// Copyright (C) 2012-2018 Free Software Foundation, Inc. -// This file is part of the GNU C Library. -// -// The GNU C Library is free software; you can redistribute it and/or -// modify it under the terms of the GNU Lesser General Public -// License as published by the Free Software Foundation; either -// version 2.1 of the License, or (at your option) any later version. -// -// The GNU C Library is distributed in the hope that it will be useful, -// but WITHOUT ANY WARRANTY; without even the implied warranty of -// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU -// Lesser General Public License for more details. -// -// You should have received a copy of the GNU Lesser General Public -// License along with the GNU C Library; if not, see -// . - -// Define some macros helping to catch buffer overflows. - -// Copyright (C) 1991-2018 Free Software Foundation, Inc. -// This file is part of the GNU C Library. -// -// The GNU C Library is free software; you can redistribute it and/or -// modify it under the terms of the GNU Lesser General Public -// License as published by the Free Software Foundation; either -// version 2.1 of the License, or (at your option) any later version. -// -// The GNU C Library is distributed in the hope that it will be useful, -// but WITHOUT ANY WARRANTY; without even the implied warranty of -// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU -// Lesser General Public License for more details. -// -// You should have received a copy of the GNU Lesser General Public -// License along with the GNU C Library; if not, see -// . - -// ISO C99 Standard: 7.2 Diagnostics - -// Copyright (C) 1991-2018 Free Software Foundation, Inc. -// This file is part of the GNU C Library. -// -// The GNU C Library is free software; you can redistribute it and/or -// modify it under the terms of the GNU Lesser General Public -// License as published by the Free Software Foundation; either -// version 2.1 of the License, or (at your option) any later version. -// -// The GNU C Library is distributed in the hope that it will be useful, -// but WITHOUT ANY WARRANTY; without even the implied warranty of -// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU -// Lesser General Public License for more details. -// -// You should have received a copy of the GNU Lesser General Public -// License along with the GNU C Library; if not, see -// . - -// void assert (int expression); -// -// If NDEBUG is defined, do nothing. -// If not, and EXPRESSION is zero, print an error message and abort. - -// void assert_perror (int errnum); -// -// If NDEBUG is defined, do nothing. If not, and ERRNUM is not zero, print an -// error message with the error text for ERRNUM and abort. -// (This is a GNU extension.) - -// Copyright (C) 1989-2018 Free Software Foundation, Inc. -// -// This file is part of GCC. -// -// GCC is free software; you can redistribute it and/or modify -// it under the terms of the GNU General Public License as published by -// the Free Software Foundation; either version 3, or (at your option) -// any later version. -// -// GCC is distributed in the hope that it will be useful, -// but WITHOUT ANY WARRANTY; without even the implied warranty of -// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -// GNU General Public License for more details. -// -// Under Section 7 of GPL version 3, you are granted additional -// permissions described in the GCC Runtime Library Exception, version -// 3.1, as published by the Free Software Foundation. -// -// You should have received a copy of the GNU General Public License and -// a copy of the GCC Runtime Library Exception along with this program; -// see the files COPYING3 and COPYING.RUNTIME respectively. If not, see -// . - -// ISO C Standard: 7.15 Variable arguments +// If we are compiling with optimizing read this file. It contains +// several optimizing inline functions and macros. // Copyright (C) 1991-2018 Free Software Foundation, Inc. // This file is part of the GNU C Library. diff --git a/internal/testfixture/testfixture_linux_amd64.go b/internal/testfixture/testfixture_linux_amd64.go index 7103242..c6024bf 100644 --- a/internal/testfixture/testfixture_linux_amd64.go +++ b/internal/testfixture/testfixture_linux_amd64.go @@ -3137,8 +3137,23 @@ const ( TESTVFS_WRITE_MASK = 0x00001000 ) -// If we are compiling with optimizing read this file. It contains -// several optimizing inline functions and macros. +// Definitions for POSIX 1003.1b-1993 (aka POSIX.4) scheduling interface. +// Copyright (C) 1996-2018 Free Software Foundation, Inc. +// This file is part of the GNU C Library. +// +// The GNU C Library is free software; you can redistribute it and/or +// modify it under the terms of the GNU Lesser General Public +// License as published by the Free Software Foundation; either +// version 2.1 of the License, or (at your option) any later version. +// +// The GNU C Library is distributed in the hope that it will be useful, +// but WITHOUT ANY WARRANTY; without even the implied warranty of +// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU +// Lesser General Public License for more details. +// +// You should have received a copy of the GNU Lesser General Public +// License along with the GNU C Library; if not, see +// . // Copyright (C) 1991-2018 Free Software Foundation, Inc. // This file is part of the GNU C Library. @@ -3813,10 +3828,6 @@ const ( /* resource.h:158:1: */ // All of its terminated child processes. RUSAGE_CHILDREN = -1 -) - -// Whose usage statistics do you want? -const ( /* resource.h:158:1: */ // The calling thread. RUSAGE_THREAD = 1 ) @@ -3831,15 +3842,9 @@ const ( /* resource.h:187:1: */ PRIO_USER = 2 ) -// end block for C++ +// Convenience macros for operations on timevals. +// NOTE: `timercmp' does not work for >= or <=. -// Local Variables: -// mode: c -// c-basic-offset: 4 -// fill-column: 78 -// End: - -// Needed for the setrlimit() system call on unix // Copyright (C) 1992-2018 Free Software Foundation, Inc. // This file is part of the GNU C Library. // diff --git a/internal/testfixture/testfixture_linux_arm.go b/internal/testfixture/testfixture_linux_arm.go index c6e38be..ae807fc 100644 --- a/internal/testfixture/testfixture_linux_arm.go +++ b/internal/testfixture/testfixture_linux_arm.go @@ -3938,6 +3938,9 @@ const ( /* waitflags.h:52:1: */ P_PGID = 2 ) +// If we are compiling with optimizing read this file. It contains +// several optimizing inline functions and macros. + // Copyright (C) 1991-2018 Free Software Foundation, Inc. // This file is part of the GNU C Library. // diff --git a/internal/testfixture/testfixture_linux_arm64.go b/internal/testfixture/testfixture_linux_arm64.go index 3657a5c..538907d 100644 --- a/internal/testfixture/testfixture_linux_arm64.go +++ b/internal/testfixture/testfixture_linux_arm64.go @@ -3943,6 +3943,87 @@ const ( /* waitflags.h:52:1: */ P_PGID = 2 ) +// Copyright (C) 1991-2018 Free Software Foundation, Inc. +// This file is part of the GNU C Library. +// +// The GNU C Library is free software; you can redistribute it and/or +// modify it under the terms of the GNU Lesser General Public +// License as published by the Free Software Foundation; either +// version 2.1 of the License, or (at your option) any later version. +// +// The GNU C Library is distributed in the hope that it will be useful, +// but WITHOUT ANY WARRANTY; without even the implied warranty of +// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU +// Lesser General Public License for more details. +// +// You should have received a copy of the GNU Lesser General Public +// License along with the GNU C Library; if not, see +// . + +// ISO C99 Standard 7.4: Character handling + +// Copyright (C) 1991-2018 Free Software Foundation, Inc. +// This file is part of the GNU C Library. +// +// The GNU C Library is free software; you can redistribute it and/or +// modify it under the terms of the GNU Lesser General Public +// License as published by the Free Software Foundation; either +// version 2.1 of the License, or (at your option) any later version. +// +// The GNU C Library is distributed in the hope that it will be useful, +// but WITHOUT ANY WARRANTY; without even the implied warranty of +// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU +// Lesser General Public License for more details. +// +// You should have received a copy of the GNU Lesser General Public +// License along with the GNU C Library; if not, see +// . + +// bits/types.h -- definitions of __*_t types underlying *_t types. +// Copyright (C) 2002-2018 Free Software Foundation, Inc. +// This file is part of the GNU C Library. +// +// The GNU C Library is free software; you can redistribute it and/or +// modify it under the terms of the GNU Lesser General Public +// License as published by the Free Software Foundation; either +// version 2.1 of the License, or (at your option) any later version. +// +// The GNU C Library is distributed in the hope that it will be useful, +// but WITHOUT ANY WARRANTY; without even the implied warranty of +// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU +// Lesser General Public License for more details. +// +// You should have received a copy of the GNU Lesser General Public +// License along with the GNU C Library; if not, see +// . + +// Never include this file directly; use instead. + +// These are all the characteristics of characters. +// If there get to be more than 16 distinct characteristics, +// many things must be changed that use `unsigned short int's. +// +// The characteristics are stored always in network byte order (big +// endian). We define the bit value interpretations here dependent on the +// machine's byte order. + +// Copyright (C) 1992-2018 Free Software Foundation, Inc. +// This file is part of the GNU C Library. +// +// The GNU C Library is free software; you can redistribute it and/or +// modify it under the terms of the GNU Lesser General Public +// License as published by the Free Software Foundation; either +// version 2.1 of the License, or (at your option) any later version. +// +// The GNU C Library is distributed in the hope that it will be useful, +// but WITHOUT ANY WARRANTY; without even the implied warranty of +// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU +// Lesser General Public License for more details. +// +// You should have received a copy of the GNU Lesser General Public +// License along with the GNU C Library; if not, see +// . + const ( /* ctype.h:46:1: */ _ISupper = 256 // UPPERCASE. _ISlower = 512 // lowercase. diff --git a/internal/testfixture/testfixture_windows_amd64.go b/internal/testfixture/testfixture_windows_amd64.go index 42a6683..9dd1311 100644 --- a/internal/testfixture/testfixture_windows_amd64.go +++ b/internal/testfixture/testfixture_windows_amd64.go @@ -25250,8 +25250,8 @@ func idxNewConstraint(tls *libc.TLS, pRc uintptr, zColl uintptr) uintptr { /* sq // An error associated with database handle db has just occurred. Pass // the error message to callback function xOut. func idxDatabaseError(tls *libc.TLS, db uintptr, pzErrmsg uintptr) { /* sqlite3expert.c:297:13: */ - bp := tls.Alloc(16) - defer tls.Free(16) + bp := tls.Alloc(8) + defer tls.Free(8) *(*uintptr)(unsafe.Pointer(pzErrmsg)) = sqlite3.Xsqlite3_mprintf(tls, ts /* "%s" */, libc.VaList(bp, sqlite3.Xsqlite3_errmsg(tls, db))) } @@ -25511,8 +25511,8 @@ func expertColumn(tls *libc.TLS, cur uintptr, ctx uintptr, i int32) int32 { /* s // Virtual table module xFilter method. func expertFilter(tls *libc.TLS, cur uintptr, idxNum int32, idxStr uintptr, argc int32, argv uintptr) int32 { /* sqlite3expert.c:594:12: */ - bp := tls.Alloc(16) - defer tls.Free(16) + bp := tls.Alloc(8) + defer tls.Free(8) var pCsr uintptr = cur var pVtab uintptr = (*sqlite3_vtab_cursor)(unsafe.Pointer(cur)).FpVtab @@ -25580,68 +25580,68 @@ func idxFinalize(tls *libc.TLS, pRc uintptr, pStmt uintptr) { /* sqlite3expert.c // It is the responsibility of the caller to eventually free either the // IdxTable object or error message using sqlite3_free(). func idxGetTableInfo(tls *libc.TLS, db uintptr, zTab uintptr, ppOut uintptr, pzErrmsg uintptr) int32 { /* sqlite3expert.c:675:12: */ - bp := tls.Alloc(48) - defer tls.Free(48) + bp := tls.Alloc(40) + defer tls.Free(40) - *(*uintptr)(unsafe.Pointer(bp + 16 /* p1 */)) = uintptr(0) + *(*uintptr)(unsafe.Pointer(bp + 8 /* p1 */)) = uintptr(0) var nCol int32 = 0 var nTab int32 = int32(libc.Xstrlen(tls, zTab)) var nByte int32 = (int32((uint64(unsafe.Sizeof(IdxTable{})) + uint64(nTab)) + uint64(1))) var pNew uintptr = uintptr(0) - // var rc int32 at bp+32, 4 + // var rc int32 at bp+24, 4 var rc2 int32 var pCsr uintptr = uintptr(0) var nPk int32 = 0 - *(*int32)(unsafe.Pointer(bp + 32 /* rc */)) = idxPrintfPrepareStmt(tls, db, bp+16 /* &p1 */, pzErrmsg, ts+63 /* "PRAGMA table_xin..." */, libc.VaList(bp, zTab)) - for (*(*int32)(unsafe.Pointer(bp + 32 /* rc */)) == SQLITE_OK) && (SQLITE_ROW == sqlite3.Xsqlite3_step(tls, *(*uintptr)(unsafe.Pointer(bp + 16 /* p1 */)))) { - *(*uintptr)(unsafe.Pointer(bp + 24 /* zCol */)) = sqlite3.Xsqlite3_column_text(tls, *(*uintptr)(unsafe.Pointer(bp + 16 /* p1 */)), 1) - nByte = nByte + (1 + int32(libc.Xstrlen(tls, *(*uintptr)(unsafe.Pointer(bp + 24 /* zCol */))))) - *(*int32)(unsafe.Pointer(bp + 32 /* rc */)) = sqlite3.Xsqlite3_table_column_metadata(tls, - db, ts+85 /* "main" */, zTab, *(*uintptr)(unsafe.Pointer(bp + 24 /* zCol */)), uintptr(0), bp+24 /* &zCol */, uintptr(0), uintptr(0), uintptr(0)) - nByte = nByte + (1 + int32(libc.Xstrlen(tls, *(*uintptr)(unsafe.Pointer(bp + 24 /* zCol */))))) + *(*int32)(unsafe.Pointer(bp + 24 /* rc */)) = idxPrintfPrepareStmt(tls, db, bp+8 /* &p1 */, pzErrmsg, ts+63 /* "PRAGMA table_xin..." */, libc.VaList(bp, zTab)) + for (*(*int32)(unsafe.Pointer(bp + 24 /* rc */)) == SQLITE_OK) && (SQLITE_ROW == sqlite3.Xsqlite3_step(tls, *(*uintptr)(unsafe.Pointer(bp + 8 /* p1 */)))) { + *(*uintptr)(unsafe.Pointer(bp + 16 /* zCol */)) = sqlite3.Xsqlite3_column_text(tls, *(*uintptr)(unsafe.Pointer(bp + 8 /* p1 */)), 1) + nByte = nByte + (1 + int32(libc.Xstrlen(tls, *(*uintptr)(unsafe.Pointer(bp + 16 /* zCol */))))) + *(*int32)(unsafe.Pointer(bp + 24 /* rc */)) = sqlite3.Xsqlite3_table_column_metadata(tls, + db, ts+85 /* "main" */, zTab, *(*uintptr)(unsafe.Pointer(bp + 16 /* zCol */)), uintptr(0), bp+16 /* &zCol */, uintptr(0), uintptr(0), uintptr(0)) + nByte = nByte + (1 + int32(libc.Xstrlen(tls, *(*uintptr)(unsafe.Pointer(bp + 16 /* zCol */))))) nCol++ - nPk = nPk + (libc.Bool32(sqlite3.Xsqlite3_column_int(tls, *(*uintptr)(unsafe.Pointer(bp + 16 /* p1 */)), 5) > 0)) + nPk = nPk + (libc.Bool32(sqlite3.Xsqlite3_column_int(tls, *(*uintptr)(unsafe.Pointer(bp + 8 /* p1 */)), 5) > 0)) } - rc2 = sqlite3.Xsqlite3_reset(tls, *(*uintptr)(unsafe.Pointer(bp + 16 /* p1 */))) - if *(*int32)(unsafe.Pointer(bp + 32 /* rc */)) == SQLITE_OK { - *(*int32)(unsafe.Pointer(bp + 32 /* rc */)) = rc2 + rc2 = sqlite3.Xsqlite3_reset(tls, *(*uintptr)(unsafe.Pointer(bp + 8 /* p1 */))) + if *(*int32)(unsafe.Pointer(bp + 24 /* rc */)) == SQLITE_OK { + *(*int32)(unsafe.Pointer(bp + 24 /* rc */)) = rc2 } nByte = int32(uint64(nByte) + (uint64(unsafe.Sizeof(IdxColumn{})) * uint64(nCol))) - if *(*int32)(unsafe.Pointer(bp + 32 /* rc */)) == SQLITE_OK { - pNew = idxMalloc(tls, bp+32 /* &rc */, nByte) + if *(*int32)(unsafe.Pointer(bp + 24 /* rc */)) == SQLITE_OK { + pNew = idxMalloc(tls, bp+24 /* &rc */, nByte) } - if *(*int32)(unsafe.Pointer(bp + 32 /* rc */)) == SQLITE_OK { + if *(*int32)(unsafe.Pointer(bp + 24 /* rc */)) == SQLITE_OK { (*IdxTable)(unsafe.Pointer(pNew)).FaCol = (pNew + 1*32) (*IdxTable)(unsafe.Pointer(pNew)).FnCol = nCol pCsr = ((*IdxTable)(unsafe.Pointer(pNew)).FaCol + uintptr(nCol)*24) } nCol = 0 - for (*(*int32)(unsafe.Pointer(bp + 32 /* rc */)) == SQLITE_OK) && (SQLITE_ROW == sqlite3.Xsqlite3_step(tls, *(*uintptr)(unsafe.Pointer(bp + 16 /* p1 */)))) { - *(*uintptr)(unsafe.Pointer(bp + 40 /* zCol */)) = sqlite3.Xsqlite3_column_text(tls, *(*uintptr)(unsafe.Pointer(bp + 16 /* p1 */)), 1) - var nCopy int32 = (int32(libc.Xstrlen(tls, *(*uintptr)(unsafe.Pointer(bp + 40 /* zCol */)))) + 1) + for (*(*int32)(unsafe.Pointer(bp + 24 /* rc */)) == SQLITE_OK) && (SQLITE_ROW == sqlite3.Xsqlite3_step(tls, *(*uintptr)(unsafe.Pointer(bp + 8 /* p1 */)))) { + *(*uintptr)(unsafe.Pointer(bp + 32 /* zCol */)) = sqlite3.Xsqlite3_column_text(tls, *(*uintptr)(unsafe.Pointer(bp + 8 /* p1 */)), 1) + var nCopy int32 = (int32(libc.Xstrlen(tls, *(*uintptr)(unsafe.Pointer(bp + 32 /* zCol */)))) + 1) (*IdxColumn)(unsafe.Pointer((*IdxTable)(unsafe.Pointer(pNew)).FaCol + uintptr(nCol)*24)).FzName = pCsr - (*IdxColumn)(unsafe.Pointer((*IdxTable)(unsafe.Pointer(pNew)).FaCol + uintptr(nCol)*24)).FiPk = (libc.Bool32((sqlite3.Xsqlite3_column_int(tls, *(*uintptr)(unsafe.Pointer(bp + 16 /* p1 */)), 5) == 1) && (nPk == 1))) - libc.Xmemcpy(tls, pCsr, *(*uintptr)(unsafe.Pointer(bp + 40 /* zCol */)), uint64(nCopy)) + (*IdxColumn)(unsafe.Pointer((*IdxTable)(unsafe.Pointer(pNew)).FaCol + uintptr(nCol)*24)).FiPk = (libc.Bool32((sqlite3.Xsqlite3_column_int(tls, *(*uintptr)(unsafe.Pointer(bp + 8 /* p1 */)), 5) == 1) && (nPk == 1))) + libc.Xmemcpy(tls, pCsr, *(*uintptr)(unsafe.Pointer(bp + 32 /* zCol */)), uint64(nCopy)) pCsr += uintptr(nCopy) - *(*int32)(unsafe.Pointer(bp + 32 /* rc */)) = sqlite3.Xsqlite3_table_column_metadata(tls, - db, ts+85 /* "main" */, zTab, *(*uintptr)(unsafe.Pointer(bp + 40 /* zCol */)), uintptr(0), bp+40 /* &zCol */, uintptr(0), uintptr(0), uintptr(0)) - if *(*int32)(unsafe.Pointer(bp + 32 /* rc */)) == SQLITE_OK { - nCopy = (int32(libc.Xstrlen(tls, *(*uintptr)(unsafe.Pointer(bp + 40 /* zCol */)))) + 1) + *(*int32)(unsafe.Pointer(bp + 24 /* rc */)) = sqlite3.Xsqlite3_table_column_metadata(tls, + db, ts+85 /* "main" */, zTab, *(*uintptr)(unsafe.Pointer(bp + 32 /* zCol */)), uintptr(0), bp+32 /* &zCol */, uintptr(0), uintptr(0), uintptr(0)) + if *(*int32)(unsafe.Pointer(bp + 24 /* rc */)) == SQLITE_OK { + nCopy = (int32(libc.Xstrlen(tls, *(*uintptr)(unsafe.Pointer(bp + 32 /* zCol */)))) + 1) (*IdxColumn)(unsafe.Pointer((*IdxTable)(unsafe.Pointer(pNew)).FaCol + uintptr(nCol)*24)).FzColl = pCsr - libc.Xmemcpy(tls, pCsr, *(*uintptr)(unsafe.Pointer(bp + 40 /* zCol */)), uint64(nCopy)) + libc.Xmemcpy(tls, pCsr, *(*uintptr)(unsafe.Pointer(bp + 32 /* zCol */)), uint64(nCopy)) pCsr += uintptr(nCopy) } nCol++ } - idxFinalize(tls, bp+32 /* &rc */, *(*uintptr)(unsafe.Pointer(bp + 16 /* p1 */))) + idxFinalize(tls, bp+24 /* &rc */, *(*uintptr)(unsafe.Pointer(bp + 8 /* p1 */))) - if *(*int32)(unsafe.Pointer(bp + 32 /* rc */)) != SQLITE_OK { + if *(*int32)(unsafe.Pointer(bp + 24 /* rc */)) != SQLITE_OK { sqlite3.Xsqlite3_free(tls, pNew) pNew = uintptr(0) } else { @@ -25650,7 +25650,7 @@ func idxGetTableInfo(tls *libc.TLS, db uintptr, zTab uintptr, ppOut uintptr, pzE } *(*uintptr)(unsafe.Pointer(ppOut)) = pNew - return *(*int32)(unsafe.Pointer(bp + 32 /* rc */)) + return *(*int32)(unsafe.Pointer(bp + 24 /* rc */)) } // This function is a no-op if *pRc is set to anything other than @@ -25714,8 +25714,8 @@ func idxIdentifierRequiresQuotes(tls *libc.TLS, zId uintptr) int32 { /* sqlite3e // This function appends an index column definition suitable for constraint // pCons to the string passed as zIn and returns the result. func idxAppendColDefn(tls *libc.TLS, pRc uintptr, zIn uintptr, pTab uintptr, pCons uintptr) uintptr { /* sqlite3expert.c:808:13: */ - bp := tls.Alloc(64) - defer tls.Free(64) + bp := tls.Alloc(32) + defer tls.Free(32) var zRet uintptr = zIn var p uintptr = ((*IdxTable)(unsafe.Pointer(pTab)).FaCol + uintptr((*IdxConstraint)(unsafe.Pointer(pCons)).FiCol)*24) @@ -25726,14 +25726,14 @@ func idxAppendColDefn(tls *libc.TLS, pRc uintptr, zIn uintptr, pTab uintptr, pCo if idxIdentifierRequiresQuotes(tls, (*IdxColumn)(unsafe.Pointer(p)).FzName) != 0 { zRet = idxAppendText(tls, pRc, zRet, ts+93 /* "%Q" */, libc.VaList(bp, (*IdxColumn)(unsafe.Pointer(p)).FzName)) } else { - zRet = idxAppendText(tls, pRc, zRet, ts /* "%s" */, libc.VaList(bp+16, (*IdxColumn)(unsafe.Pointer(p)).FzName)) + zRet = idxAppendText(tls, pRc, zRet, ts /* "%s" */, libc.VaList(bp+8, (*IdxColumn)(unsafe.Pointer(p)).FzName)) } if sqlite3.Xsqlite3_stricmp(tls, (*IdxColumn)(unsafe.Pointer(p)).FzColl, (*IdxConstraint)(unsafe.Pointer(pCons)).FzColl) != 0 { if idxIdentifierRequiresQuotes(tls, (*IdxConstraint)(unsafe.Pointer(pCons)).FzColl) != 0 { - zRet = idxAppendText(tls, pRc, zRet, ts+96 /* " COLLATE %Q" */, libc.VaList(bp+32, (*IdxConstraint)(unsafe.Pointer(pCons)).FzColl)) + zRet = idxAppendText(tls, pRc, zRet, ts+96 /* " COLLATE %Q" */, libc.VaList(bp+16, (*IdxConstraint)(unsafe.Pointer(pCons)).FzColl)) } else { - zRet = idxAppendText(tls, pRc, zRet, ts+108 /* " COLLATE %s" */, libc.VaList(bp+48, (*IdxConstraint)(unsafe.Pointer(pCons)).FzColl)) + zRet = idxAppendText(tls, pRc, zRet, ts+108 /* " COLLATE %s" */, libc.VaList(bp+24, (*IdxConstraint)(unsafe.Pointer(pCons)).FzColl)) } } @@ -25750,37 +25750,37 @@ func idxAppendColDefn(tls *libc.TLS, pRc uintptr, zIn uintptr, pTab uintptr, pCo // // If an error occurs, set *pRc to an SQLite error code and return zero. func idxFindCompatible(tls *libc.TLS, pRc uintptr, dbm uintptr, pScan uintptr, pEq uintptr, pTail uintptr) int32 { /* sqlite3expert.c:846:12: */ - bp := tls.Alloc(52) - defer tls.Free(52) + bp := tls.Alloc(36) + defer tls.Free(36) var zTbl uintptr = (*IdxTable)(unsafe.Pointer((*IdxScan)(unsafe.Pointer(pScan)).FpTab)).FzName - *(*uintptr)(unsafe.Pointer(bp + 32 /* pIdxList */)) = uintptr(0) + *(*uintptr)(unsafe.Pointer(bp + 16 /* pIdxList */)) = uintptr(0) var pIter uintptr var nEq int32 = 0 // Number of elements in pEq - // var rc int32 at bp+48, 4 + // var rc int32 at bp+32, 4 // Count the elements in list pEq for pIter = pEq; pIter != 0; pIter = (*IdxConstraint)(unsafe.Pointer(pIter)).FpLink { nEq++ } - *(*int32)(unsafe.Pointer(bp + 48 /* rc */)) = idxPrintfPrepareStmt(tls, dbm, bp+32 /* &pIdxList */, uintptr(0), ts+126 /* "PRAGMA index_lis..." */, libc.VaList(bp, zTbl)) - for (*(*int32)(unsafe.Pointer(bp + 48 /* rc */)) == SQLITE_OK) && (sqlite3.Xsqlite3_step(tls, *(*uintptr)(unsafe.Pointer(bp + 32 /* pIdxList */))) == SQLITE_ROW) { + *(*int32)(unsafe.Pointer(bp + 32 /* rc */)) = idxPrintfPrepareStmt(tls, dbm, bp+16 /* &pIdxList */, uintptr(0), ts+126 /* "PRAGMA index_lis..." */, libc.VaList(bp, zTbl)) + for (*(*int32)(unsafe.Pointer(bp + 32 /* rc */)) == SQLITE_OK) && (sqlite3.Xsqlite3_step(tls, *(*uintptr)(unsafe.Pointer(bp + 16 /* pIdxList */))) == SQLITE_ROW) { var bMatch int32 = 1 var pT uintptr = pTail - *(*uintptr)(unsafe.Pointer(bp + 40 /* pInfo */)) = uintptr(0) - var zIdx uintptr = sqlite3.Xsqlite3_column_text(tls, *(*uintptr)(unsafe.Pointer(bp + 32 /* pIdxList */)), 1) + *(*uintptr)(unsafe.Pointer(bp + 24 /* pInfo */)) = uintptr(0) + var zIdx uintptr = sqlite3.Xsqlite3_column_text(tls, *(*uintptr)(unsafe.Pointer(bp + 16 /* pIdxList */)), 1) // Zero the IdxConstraint.bFlag values in the pEq list for pIter = pEq; pIter != 0; pIter = (*IdxConstraint)(unsafe.Pointer(pIter)).FpLink { (*IdxConstraint)(unsafe.Pointer(pIter)).FbFlag = 0 } - *(*int32)(unsafe.Pointer(bp + 48 /* rc */)) = idxPrintfPrepareStmt(tls, dbm, bp+40 /* &pInfo */, uintptr(0), ts+147 /* "PRAGMA index_xIn..." */, libc.VaList(bp+16, zIdx)) - for (*(*int32)(unsafe.Pointer(bp + 48 /* rc */)) == SQLITE_OK) && (sqlite3.Xsqlite3_step(tls, *(*uintptr)(unsafe.Pointer(bp + 40 /* pInfo */))) == SQLITE_ROW) { - var iIdx int32 = sqlite3.Xsqlite3_column_int(tls, *(*uintptr)(unsafe.Pointer(bp + 40 /* pInfo */)), 0) - var iCol int32 = sqlite3.Xsqlite3_column_int(tls, *(*uintptr)(unsafe.Pointer(bp + 40 /* pInfo */)), 1) - var zColl uintptr = sqlite3.Xsqlite3_column_text(tls, *(*uintptr)(unsafe.Pointer(bp + 40 /* pInfo */)), 4) + *(*int32)(unsafe.Pointer(bp + 32 /* rc */)) = idxPrintfPrepareStmt(tls, dbm, bp+24 /* &pInfo */, uintptr(0), ts+147 /* "PRAGMA index_xIn..." */, libc.VaList(bp+8, zIdx)) + for (*(*int32)(unsafe.Pointer(bp + 32 /* rc */)) == SQLITE_OK) && (sqlite3.Xsqlite3_step(tls, *(*uintptr)(unsafe.Pointer(bp + 24 /* pInfo */))) == SQLITE_ROW) { + var iIdx int32 = sqlite3.Xsqlite3_column_int(tls, *(*uintptr)(unsafe.Pointer(bp + 24 /* pInfo */)), 0) + var iCol int32 = sqlite3.Xsqlite3_column_int(tls, *(*uintptr)(unsafe.Pointer(bp + 24 /* pInfo */)), 1) + var zColl uintptr = sqlite3.Xsqlite3_column_text(tls, *(*uintptr)(unsafe.Pointer(bp + 24 /* pInfo */)), 4) if iIdx < nEq { for pIter = pEq; pIter != 0; pIter = (*IdxConstraint)(unsafe.Pointer(pIter)).FpLink { @@ -25810,26 +25810,26 @@ func idxFindCompatible(tls *libc.TLS, pRc uintptr, dbm uintptr, pScan uintptr, p } } } - idxFinalize(tls, bp+48 /* &rc */, *(*uintptr)(unsafe.Pointer(bp + 40 /* pInfo */))) + idxFinalize(tls, bp+32 /* &rc */, *(*uintptr)(unsafe.Pointer(bp + 24 /* pInfo */))) - if (*(*int32)(unsafe.Pointer(bp + 48 /* rc */)) == SQLITE_OK) && (bMatch != 0) { - sqlite3.Xsqlite3_finalize(tls, *(*uintptr)(unsafe.Pointer(bp + 32 /* pIdxList */))) + if (*(*int32)(unsafe.Pointer(bp + 32 /* rc */)) == SQLITE_OK) && (bMatch != 0) { + sqlite3.Xsqlite3_finalize(tls, *(*uintptr)(unsafe.Pointer(bp + 16 /* pIdxList */))) return 1 } } - idxFinalize(tls, bp+48 /* &rc */, *(*uintptr)(unsafe.Pointer(bp + 32 /* pIdxList */))) + idxFinalize(tls, bp+32 /* &rc */, *(*uintptr)(unsafe.Pointer(bp + 16 /* pIdxList */))) - *(*int32)(unsafe.Pointer(pRc)) = *(*int32)(unsafe.Pointer(bp + 48 /* rc */)) + *(*int32)(unsafe.Pointer(pRc)) = *(*int32)(unsafe.Pointer(bp + 32 /* rc */)) return 0 } func idxCreateFromCons(tls *libc.TLS, p uintptr, pScan uintptr, pEq uintptr, pTail uintptr) int32 { /* sqlite3expert.c:913:12: */ - bp := tls.Alloc(60) - defer tls.Free(60) + bp := tls.Alloc(44) + defer tls.Free(44) var dbm uintptr = (*sqlite3expert)(unsafe.Pointer(p)).Fdbm - *(*int32)(unsafe.Pointer(bp + 56 /* rc */)) = SQLITE_OK - if ((pEq != 0) || (pTail != 0)) && (0 == idxFindCompatible(tls, bp+56 /* &rc */, dbm, pScan, pEq, pTail)) { + *(*int32)(unsafe.Pointer(bp + 40 /* rc */)) = SQLITE_OK + if ((pEq != 0) || (pTail != 0)) && (0 == idxFindCompatible(tls, bp+40 /* &rc */, dbm, pScan, pEq, pTail)) { var pTab uintptr = (*IdxScan)(unsafe.Pointer(pScan)).FpTab var zCols uintptr = uintptr(0) var zIdx uintptr = uintptr(0) @@ -25838,13 +25838,13 @@ func idxCreateFromCons(tls *libc.TLS, p uintptr, pScan uintptr, pEq uintptr, pTa var zFmt uintptr for pCons = pEq; pCons != 0; pCons = (*IdxConstraint)(unsafe.Pointer(pCons)).FpLink { - zCols = idxAppendColDefn(tls, bp+56 /* &rc */, zCols, pTab, pCons) + zCols = idxAppendColDefn(tls, bp+40 /* &rc */, zCols, pTab, pCons) } for pCons = pTail; pCons != 0; pCons = (*IdxConstraint)(unsafe.Pointer(pCons)).FpLink { - zCols = idxAppendColDefn(tls, bp+56 /* &rc */, zCols, pTab, pCons) + zCols = idxAppendColDefn(tls, bp+40 /* &rc */, zCols, pTab, pCons) } - if *(*int32)(unsafe.Pointer(bp + 56 /* rc */)) == SQLITE_OK { + if *(*int32)(unsafe.Pointer(bp + 40 /* rc */)) == SQLITE_OK { // Hash the list of columns to come up with a name for the index var zTable uintptr = (*IdxTable)(unsafe.Pointer((*IdxScan)(unsafe.Pointer(pScan)).FpTab)).FzName var zName uintptr // Index name @@ -25854,19 +25854,19 @@ func idxCreateFromCons(tls *libc.TLS, p uintptr, pScan uintptr, pEq uintptr, pTa } zName = sqlite3.Xsqlite3_mprintf(tls, ts+169 /* "%s_idx_%08x" */, libc.VaList(bp, zTable, h)) if zName == uintptr(0) { - *(*int32)(unsafe.Pointer(bp + 56 /* rc */)) = SQLITE_NOMEM + *(*int32)(unsafe.Pointer(bp + 40 /* rc */)) = SQLITE_NOMEM } else { if idxIdentifierRequiresQuotes(tls, zTable) != 0 { zFmt = ts + 181 /* "CREATE INDEX '%q..." */ } else { zFmt = ts + 209 /* "CREATE INDEX %s ..." */ } - zIdx = sqlite3.Xsqlite3_mprintf(tls, zFmt, libc.VaList(bp+24, zName, zTable, zCols)) + zIdx = sqlite3.Xsqlite3_mprintf(tls, zFmt, libc.VaList(bp+16, zName, zTable, zCols)) if !(zIdx != 0) { - *(*int32)(unsafe.Pointer(bp + 56 /* rc */)) = SQLITE_NOMEM + *(*int32)(unsafe.Pointer(bp + 40 /* rc */)) = SQLITE_NOMEM } else { - *(*int32)(unsafe.Pointer(bp + 56 /* rc */)) = sqlite3.Xsqlite3_exec(tls, dbm, zIdx, uintptr(0), uintptr(0), (*sqlite3expert)(unsafe.Pointer(p)).FpzErrmsg) - idxHashAdd(tls, bp+56 /* &rc */, (p + 88 /* &.hIdx */), zName, zIdx) + *(*int32)(unsafe.Pointer(bp + 40 /* rc */)) = sqlite3.Xsqlite3_exec(tls, dbm, zIdx, uintptr(0), uintptr(0), (*sqlite3expert)(unsafe.Pointer(p)).FpzErrmsg) + idxHashAdd(tls, bp+40 /* &rc */, (p + 88 /* &.hIdx */), zName, zIdx) } sqlite3.Xsqlite3_free(tls, zName) sqlite3.Xsqlite3_free(tls, zIdx) @@ -25875,7 +25875,7 @@ func idxCreateFromCons(tls *libc.TLS, p uintptr, pScan uintptr, pEq uintptr, pTa sqlite3.Xsqlite3_free(tls, zCols) } - return *(*int32)(unsafe.Pointer(bp + 56 /* rc */)) + return *(*int32)(unsafe.Pointer(bp + 40 /* rc */)) } // Return true if list pList (linked by IdxConstraint.pLink) contains @@ -25999,14 +25999,14 @@ func idxWriteFree(tls *libc.TLS, pTab uintptr) { /* sqlite3expert.c:1094:13: */ // runs all the queries to see which indexes they prefer, and populates // IdxStatement.zIdx and IdxStatement.zEQP with the results. func idxFindIndexes(tls *libc.TLS, p uintptr, pzErr uintptr) int32 { /* sqlite3expert.c:1110:5: */ - bp := tls.Alloc(8252) - defer tls.Free(8252) + bp := tls.Alloc(8228) + defer tls.Free(8228) var pStmt uintptr var dbm uintptr - // var rc int32 at bp+8248, 4 + // var rc int32 at bp+8224, 4 - // var hIdx IdxHash at bp+48, 8192 + // var hIdx IdxHash at bp+24, 8192 var zSql uintptr var nIdx int32 @@ -26018,28 +26018,28 @@ func idxFindIndexes(tls *libc.TLS, p uintptr, pzErr uintptr) int32 { /* sqlite3e var nDetail int32 var i int32 var pEntry uintptr - // var pExplain uintptr at bp+8240, 8 + // var pExplain uintptr at bp+8216, 8 dbm = (*sqlite3expert)(unsafe.Pointer(p)).Fdbm - *(*int32)(unsafe.Pointer(bp + 8248 /* rc */)) = SQLITE_OK - idxHashInit(tls, bp+48 /* &hIdx */) + *(*int32)(unsafe.Pointer(bp + 8224 /* rc */)) = SQLITE_OK + idxHashInit(tls, bp+24 /* &hIdx */) pStmt = (*sqlite3expert)(unsafe.Pointer(p)).FpStatement __1: - if !((*(*int32)(unsafe.Pointer(bp + 8248 /* rc */)) == SQLITE_OK) && (pStmt != 0)) { + if !((*(*int32)(unsafe.Pointer(bp + 8224 /* rc */)) == SQLITE_OK) && (pStmt != 0)) { goto __3 } - *(*uintptr)(unsafe.Pointer(bp + 8240 /* pExplain */)) = uintptr(0) - idxHashClear(tls, bp+48 /* &hIdx */) - *(*int32)(unsafe.Pointer(bp + 8248 /* rc */)) = idxPrintfPrepareStmt(tls, dbm, bp+8240 /* &pExplain */, pzErr, + *(*uintptr)(unsafe.Pointer(bp + 8216 /* pExplain */)) = uintptr(0) + idxHashClear(tls, bp+24 /* &hIdx */) + *(*int32)(unsafe.Pointer(bp + 8224 /* rc */)) = idxPrintfPrepareStmt(tls, dbm, bp+8216 /* &pExplain */, pzErr, ts+235 /* "EXPLAIN QUERY PL..." */, libc.VaList(bp, (*IdxStatement)(unsafe.Pointer(pStmt)).FzSql)) __4: - if !((*(*int32)(unsafe.Pointer(bp + 8248 /* rc */)) == SQLITE_OK) && (sqlite3.Xsqlite3_step(tls, *(*uintptr)(unsafe.Pointer(bp + 8240 /* pExplain */))) == SQLITE_ROW)) { + if !((*(*int32)(unsafe.Pointer(bp + 8224 /* rc */)) == SQLITE_OK) && (sqlite3.Xsqlite3_step(tls, *(*uintptr)(unsafe.Pointer(bp + 8216 /* pExplain */))) == SQLITE_ROW)) { goto __5 } // int iId = sqlite3_column_int(pExplain, 0); // int iParent = sqlite3_column_int(pExplain, 1); // int iNotUsed = sqlite3_column_int(pExplain, 2); - zDetail = sqlite3.Xsqlite3_column_text(tls, *(*uintptr)(unsafe.Pointer(bp + 8240 /* pExplain */)), 3) + zDetail = sqlite3.Xsqlite3_column_text(tls, *(*uintptr)(unsafe.Pointer(bp + 8216 /* pExplain */)), 3) if !(!(zDetail != 0)) { goto __6 @@ -26086,8 +26086,8 @@ __15: if !(zSql != 0) { goto __16 } - idxHashAdd(tls, bp+8248 /* &rc */, bp+48 /* &hIdx */, zSql, uintptr(0)) - if !(*(*int32)(unsafe.Pointer(bp + 8248 /* rc */)) != 0) { + idxHashAdd(tls, bp+8224 /* &rc */, bp+24 /* &hIdx */, zSql, uintptr(0)) + if !(*(*int32)(unsafe.Pointer(bp + 8224 /* rc */)) != 0) { goto __17 } goto find_indexes_out @@ -26109,19 +26109,19 @@ __9: if !(int32(*(*int8)(unsafe.Pointer(zDetail))) != '-') { goto __18 } - (*IdxStatement)(unsafe.Pointer(pStmt)).FzEQP = idxAppendText(tls, bp+8248 /* &rc */, (*IdxStatement)(unsafe.Pointer(pStmt)).FzEQP, ts+294 /* "%s\n" */, libc.VaList(bp+16, zDetail)) + (*IdxStatement)(unsafe.Pointer(pStmt)).FzEQP = idxAppendText(tls, bp+8224 /* &rc */, (*IdxStatement)(unsafe.Pointer(pStmt)).FzEQP, ts+294 /* "%s\n" */, libc.VaList(bp+8, zDetail)) __18: ; goto __4 __5: ; - pEntry = (*IdxHash)(unsafe.Pointer(bp + 48 /* &hIdx */)).FpFirst + pEntry = (*IdxHash)(unsafe.Pointer(bp + 24 /* &hIdx */)).FpFirst __19: if !(pEntry != 0) { goto __21 } - (*IdxStatement)(unsafe.Pointer(pStmt)).FzIdx = idxAppendText(tls, bp+8248 /* &rc */, (*IdxStatement)(unsafe.Pointer(pStmt)).FzIdx, ts+298 /* "%s;\n" */, libc.VaList(bp+32, (*IdxHashEntry)(unsafe.Pointer(pEntry)).FzKey)) + (*IdxStatement)(unsafe.Pointer(pStmt)).FzIdx = idxAppendText(tls, bp+8224 /* &rc */, (*IdxStatement)(unsafe.Pointer(pStmt)).FzIdx, ts+298 /* "%s;\n" */, libc.VaList(bp+16, (*IdxHashEntry)(unsafe.Pointer(pEntry)).FzKey)) goto __20 __20: pEntry = (*IdxHashEntry)(unsafe.Pointer(pEntry)).FpNext @@ -26130,7 +26130,7 @@ __20: __21: ; - idxFinalize(tls, bp+8248 /* &rc */, *(*uintptr)(unsafe.Pointer(bp + 8240 /* pExplain */))) + idxFinalize(tls, bp+8224 /* &rc */, *(*uintptr)(unsafe.Pointer(bp + 8216 /* pExplain */))) goto __2 __2: pStmt = (*IdxStatement)(unsafe.Pointer(pStmt)).FpNext @@ -26140,8 +26140,8 @@ __3: ; find_indexes_out: - idxHashClear(tls, bp+48 /* &hIdx */) - return *(*int32)(unsafe.Pointer(bp + 8248 /* rc */)) + idxHashClear(tls, bp+24 /* &hIdx */) + return *(*int32)(unsafe.Pointer(bp + 8224 /* rc */)) } func idxAuthCallback(tls *libc.TLS, pCtx uintptr, eOp int32, z3 uintptr, z4 uintptr, zDb uintptr, zTrigger uintptr) int32 { /* sqlite3expert.c:1180:12: */ @@ -26183,31 +26183,31 @@ func idxAuthCallback(tls *libc.TLS, pCtx uintptr, eOp int32, z3 uintptr, z4 uint } func idxProcessOneTrigger(tls *libc.TLS, p uintptr, pWrite uintptr, pzErr uintptr) int32 { /* sqlite3expert.c:1218:12: */ - bp := tls.Alloc(160) - defer tls.Free(160) + bp := tls.Alloc(104) + defer tls.Free(104) var pTab uintptr = (*IdxWrite)(unsafe.Pointer(pWrite)).FpTab var zTab uintptr = (*IdxTable)(unsafe.Pointer(pTab)).FzName var zSql uintptr = ts + 303 /* "SELECT 'CREATE T..." */ - *(*uintptr)(unsafe.Pointer(bp + 136 /* pSelect */)) = uintptr(0) - *(*int32)(unsafe.Pointer(bp + 144 /* rc */)) = SQLITE_OK + *(*uintptr)(unsafe.Pointer(bp + 80 /* pSelect */)) = uintptr(0) + *(*int32)(unsafe.Pointer(bp + 88 /* rc */)) = SQLITE_OK var zWrite uintptr = uintptr(0) // Create the table and its triggers in the temp schema - *(*int32)(unsafe.Pointer(bp + 144 /* rc */)) = idxPrintfPrepareStmt(tls, (*sqlite3expert)(unsafe.Pointer(p)).Fdb, bp+136 /* &pSelect */, pzErr, zSql, libc.VaList(bp, zTab, zTab)) - for (*(*int32)(unsafe.Pointer(bp + 144 /* rc */)) == SQLITE_OK) && (SQLITE_ROW == sqlite3.Xsqlite3_step(tls, *(*uintptr)(unsafe.Pointer(bp + 136 /* pSelect */)))) { - var zCreate uintptr = sqlite3.Xsqlite3_column_text(tls, *(*uintptr)(unsafe.Pointer(bp + 136 /* pSelect */)), 0) - *(*int32)(unsafe.Pointer(bp + 144 /* rc */)) = sqlite3.Xsqlite3_exec(tls, (*sqlite3expert)(unsafe.Pointer(p)).Fdbv, zCreate, uintptr(0), uintptr(0), pzErr) + *(*int32)(unsafe.Pointer(bp + 88 /* rc */)) = idxPrintfPrepareStmt(tls, (*sqlite3expert)(unsafe.Pointer(p)).Fdb, bp+80 /* &pSelect */, pzErr, zSql, libc.VaList(bp, zTab, zTab)) + for (*(*int32)(unsafe.Pointer(bp + 88 /* rc */)) == SQLITE_OK) && (SQLITE_ROW == sqlite3.Xsqlite3_step(tls, *(*uintptr)(unsafe.Pointer(bp + 80 /* pSelect */)))) { + var zCreate uintptr = sqlite3.Xsqlite3_column_text(tls, *(*uintptr)(unsafe.Pointer(bp + 80 /* pSelect */)), 0) + *(*int32)(unsafe.Pointer(bp + 88 /* rc */)) = sqlite3.Xsqlite3_exec(tls, (*sqlite3expert)(unsafe.Pointer(p)).Fdbv, zCreate, uintptr(0), uintptr(0), pzErr) } - idxFinalize(tls, bp+144 /* &rc */, *(*uintptr)(unsafe.Pointer(bp + 136 /* pSelect */))) + idxFinalize(tls, bp+88 /* &rc */, *(*uintptr)(unsafe.Pointer(bp + 80 /* pSelect */))) // Rename the table in the temp schema to zInt - if *(*int32)(unsafe.Pointer(bp + 144 /* rc */)) == SQLITE_OK { - var z uintptr = sqlite3.Xsqlite3_mprintf(tls, ts+429 /* "ALTER TABLE temp..." */, libc.VaList(bp+24, zTab, zInt)) + if *(*int32)(unsafe.Pointer(bp + 88 /* rc */)) == SQLITE_OK { + var z uintptr = sqlite3.Xsqlite3_mprintf(tls, ts+429 /* "ALTER TABLE temp..." */, libc.VaList(bp+16, zTab, zInt)) if z == uintptr(0) { - *(*int32)(unsafe.Pointer(bp + 144 /* rc */)) = SQLITE_NOMEM + *(*int32)(unsafe.Pointer(bp + 88 /* rc */)) = SQLITE_NOMEM } else { - *(*int32)(unsafe.Pointer(bp + 144 /* rc */)) = sqlite3.Xsqlite3_exec(tls, (*sqlite3expert)(unsafe.Pointer(p)).Fdbv, z, uintptr(0), uintptr(0), pzErr) + *(*int32)(unsafe.Pointer(bp + 88 /* rc */)) = sqlite3.Xsqlite3_exec(tls, (*sqlite3expert)(unsafe.Pointer(p)).Fdbv, z, uintptr(0), uintptr(0), pzErr) sqlite3.Xsqlite3_free(tls, z) } } @@ -26216,25 +26216,25 @@ func idxProcessOneTrigger(tls *libc.TLS, p uintptr, pWrite uintptr, pzErr uintpt case SQLITE_INSERT: { var i int32 - zWrite = idxAppendText(tls, bp+144 /* &rc */, zWrite, ts+462 /* "INSERT INTO %Q V..." */, libc.VaList(bp+48, zInt)) + zWrite = idxAppendText(tls, bp+88 /* &rc */, zWrite, ts+462 /* "INSERT INTO %Q V..." */, libc.VaList(bp+32, zInt)) for i = 0; i < (*IdxTable)(unsafe.Pointer(pTab)).FnCol; i++ { - zWrite = idxAppendText(tls, bp+144 /* &rc */, zWrite, ts+485 /* "%s?" */, libc.VaList(bp+64, func() uintptr { + zWrite = idxAppendText(tls, bp+88 /* &rc */, zWrite, ts+485 /* "%s?" */, libc.VaList(bp+40, func() uintptr { if i == 0 { return ts + 489 /* "" */ } return ts + 90 /* ", " */ }())) } - zWrite = idxAppendText(tls, bp+144 /* &rc */, zWrite, ts+490 /* ")" */, 0) + zWrite = idxAppendText(tls, bp+88 /* &rc */, zWrite, ts+490 /* ")" */, 0) break } case SQLITE_UPDATE: { var i int32 - zWrite = idxAppendText(tls, bp+144 /* &rc */, zWrite, ts+492 /* "UPDATE %Q SET " */, libc.VaList(bp+80, zInt)) + zWrite = idxAppendText(tls, bp+88 /* &rc */, zWrite, ts+492 /* "UPDATE %Q SET " */, libc.VaList(bp+48, zInt)) for i = 0; i < (*IdxTable)(unsafe.Pointer(pTab)).FnCol; i++ { - zWrite = idxAppendText(tls, bp+144 /* &rc */, zWrite, ts+507 /* "%s%Q=?" */, libc.VaList(bp+96, func() uintptr { + zWrite = idxAppendText(tls, bp+88 /* &rc */, zWrite, ts+507 /* "%s%Q=?" */, libc.VaList(bp+56, func() uintptr { if i == 0 { return ts + 489 /* "" */ } @@ -26248,31 +26248,31 @@ func idxProcessOneTrigger(tls *libc.TLS, p uintptr, pWrite uintptr, pzErr uintpt default: { - if *(*int32)(unsafe.Pointer(bp + 144 /* rc */)) == SQLITE_OK { - zWrite = sqlite3.Xsqlite3_mprintf(tls, ts+514 /* "DELETE FROM %Q" */, libc.VaList(bp+120, zInt)) + if *(*int32)(unsafe.Pointer(bp + 88 /* rc */)) == SQLITE_OK { + zWrite = sqlite3.Xsqlite3_mprintf(tls, ts+514 /* "DELETE FROM %Q" */, libc.VaList(bp+72, zInt)) if zWrite == uintptr(0) { - *(*int32)(unsafe.Pointer(bp + 144 /* rc */)) = SQLITE_NOMEM + *(*int32)(unsafe.Pointer(bp + 88 /* rc */)) = SQLITE_NOMEM } } } } - if *(*int32)(unsafe.Pointer(bp + 144 /* rc */)) == SQLITE_OK { - *(*uintptr)(unsafe.Pointer(bp + 152 /* pX */)) = uintptr(0) - *(*int32)(unsafe.Pointer(bp + 144 /* rc */)) = sqlite3.Xsqlite3_prepare_v2(tls, (*sqlite3expert)(unsafe.Pointer(p)).Fdbv, zWrite, -1, bp+152 /* &pX */, uintptr(0)) - idxFinalize(tls, bp+144 /* &rc */, *(*uintptr)(unsafe.Pointer(bp + 152 /* pX */))) - if *(*int32)(unsafe.Pointer(bp + 144 /* rc */)) != SQLITE_OK { + if *(*int32)(unsafe.Pointer(bp + 88 /* rc */)) == SQLITE_OK { + *(*uintptr)(unsafe.Pointer(bp + 96 /* pX */)) = uintptr(0) + *(*int32)(unsafe.Pointer(bp + 88 /* rc */)) = sqlite3.Xsqlite3_prepare_v2(tls, (*sqlite3expert)(unsafe.Pointer(p)).Fdbv, zWrite, -1, bp+96 /* &pX */, uintptr(0)) + idxFinalize(tls, bp+88 /* &rc */, *(*uintptr)(unsafe.Pointer(bp + 96 /* pX */))) + if *(*int32)(unsafe.Pointer(bp + 88 /* rc */)) != SQLITE_OK { idxDatabaseError(tls, (*sqlite3expert)(unsafe.Pointer(p)).Fdbv, pzErr) } } sqlite3.Xsqlite3_free(tls, zWrite) - if *(*int32)(unsafe.Pointer(bp + 144 /* rc */)) == SQLITE_OK { - *(*int32)(unsafe.Pointer(bp + 144 /* rc */)) = sqlite3.Xsqlite3_exec(tls, (*sqlite3expert)(unsafe.Pointer(p)).Fdbv, zDrop, uintptr(0), uintptr(0), pzErr) + if *(*int32)(unsafe.Pointer(bp + 88 /* rc */)) == SQLITE_OK { + *(*int32)(unsafe.Pointer(bp + 88 /* rc */)) = sqlite3.Xsqlite3_exec(tls, (*sqlite3expert)(unsafe.Pointer(p)).Fdbv, zDrop, uintptr(0), uintptr(0), pzErr) } - return *(*int32)(unsafe.Pointer(bp + 144 /* rc */)) + return *(*int32)(unsafe.Pointer(bp + 88 /* rc */)) } var zInt uintptr = ts + 529 /* "t592690916721053..." */ /* sqlite3expert.c:1223:21 */ @@ -26296,63 +26296,63 @@ func idxProcessTriggers(tls *libc.TLS, p uintptr, pzErr uintptr) int32 { /* sqli } func idxCreateVtabSchema(tls *libc.TLS, p uintptr, pzErrmsg uintptr) int32 { /* sqlite3expert.c:1318:12: */ - bp := tls.Alloc(76) - defer tls.Free(76) + bp := tls.Alloc(60) + defer tls.Free(60) - *(*int32)(unsafe.Pointer(bp + 72 /* rc */)) = idxRegisterVtab(tls, p) - *(*uintptr)(unsafe.Pointer(bp + 56 /* pSchema */)) = uintptr(0) + *(*int32)(unsafe.Pointer(bp + 56 /* rc */)) = idxRegisterVtab(tls, p) + *(*uintptr)(unsafe.Pointer(bp + 40 /* pSchema */)) = uintptr(0) // For each table in the main db schema: // // 1) Add an entry to the p->pTable list, and // 2) Create the equivalent virtual table in dbv. - *(*int32)(unsafe.Pointer(bp + 72 /* rc */)) = idxPrepareStmt(tls, (*sqlite3expert)(unsafe.Pointer(p)).Fdb, bp+56 /* &pSchema */, pzErrmsg, + *(*int32)(unsafe.Pointer(bp + 56 /* rc */)) = idxPrepareStmt(tls, (*sqlite3expert)(unsafe.Pointer(p)).Fdb, bp+40 /* &pSchema */, pzErrmsg, ts+616 /* "SELECT type, nam..." */) - for (*(*int32)(unsafe.Pointer(bp + 72 /* rc */)) == SQLITE_OK) && (SQLITE_ROW == sqlite3.Xsqlite3_step(tls, *(*uintptr)(unsafe.Pointer(bp + 56 /* pSchema */)))) { - var zType uintptr = sqlite3.Xsqlite3_column_text(tls, *(*uintptr)(unsafe.Pointer(bp + 56 /* pSchema */)), 0) - var zName uintptr = sqlite3.Xsqlite3_column_text(tls, *(*uintptr)(unsafe.Pointer(bp + 56 /* pSchema */)), 1) - var zSql uintptr = sqlite3.Xsqlite3_column_text(tls, *(*uintptr)(unsafe.Pointer(bp + 56 /* pSchema */)), 2) + for (*(*int32)(unsafe.Pointer(bp + 56 /* rc */)) == SQLITE_OK) && (SQLITE_ROW == sqlite3.Xsqlite3_step(tls, *(*uintptr)(unsafe.Pointer(bp + 40 /* pSchema */)))) { + var zType uintptr = sqlite3.Xsqlite3_column_text(tls, *(*uintptr)(unsafe.Pointer(bp + 40 /* pSchema */)), 0) + var zName uintptr = sqlite3.Xsqlite3_column_text(tls, *(*uintptr)(unsafe.Pointer(bp + 40 /* pSchema */)), 1) + var zSql uintptr = sqlite3.Xsqlite3_column_text(tls, *(*uintptr)(unsafe.Pointer(bp + 40 /* pSchema */)), 2) if (int32(*(*int8)(unsafe.Pointer(zType))) == 'v') || (int32(*(*int8)(unsafe.Pointer(zType + 1))) == 'r') { - *(*int32)(unsafe.Pointer(bp + 72 /* rc */)) = sqlite3.Xsqlite3_exec(tls, (*sqlite3expert)(unsafe.Pointer(p)).Fdbv, zSql, uintptr(0), uintptr(0), pzErrmsg) + *(*int32)(unsafe.Pointer(bp + 56 /* rc */)) = sqlite3.Xsqlite3_exec(tls, (*sqlite3expert)(unsafe.Pointer(p)).Fdbv, zSql, uintptr(0), uintptr(0), pzErrmsg) } else { - // var pTab uintptr at bp+64, 8 + // var pTab uintptr at bp+48, 8 - *(*int32)(unsafe.Pointer(bp + 72 /* rc */)) = idxGetTableInfo(tls, (*sqlite3expert)(unsafe.Pointer(p)).Fdb, zName, bp+64 /* &pTab */, pzErrmsg) - if *(*int32)(unsafe.Pointer(bp + 72 /* rc */)) == SQLITE_OK { + *(*int32)(unsafe.Pointer(bp + 56 /* rc */)) = idxGetTableInfo(tls, (*sqlite3expert)(unsafe.Pointer(p)).Fdb, zName, bp+48 /* &pTab */, pzErrmsg) + if *(*int32)(unsafe.Pointer(bp + 56 /* rc */)) == SQLITE_OK { var i int32 var zInner uintptr = uintptr(0) var zOuter uintptr = uintptr(0) - (*IdxTable)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp + 64 /* pTab */)))).FpNext = (*sqlite3expert)(unsafe.Pointer(p)).FpTable - (*sqlite3expert)(unsafe.Pointer(p)).FpTable = *(*uintptr)(unsafe.Pointer(bp + 64 /* pTab */)) + (*IdxTable)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp + 48 /* pTab */)))).FpNext = (*sqlite3expert)(unsafe.Pointer(p)).FpTable + (*sqlite3expert)(unsafe.Pointer(p)).FpTable = *(*uintptr)(unsafe.Pointer(bp + 48 /* pTab */)) // The statement the vtab will pass to sqlite3_declare_vtab() - zInner = idxAppendText(tls, bp+72 /* &rc */, uintptr(0), ts+884 /* "CREATE TABLE x(" */, 0) - for i = 0; i < (*IdxTable)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp + 64 /* pTab */)))).FnCol; i++ { - zInner = idxAppendText(tls, bp+72 /* &rc */, zInner, ts+900, /* "%s%Q COLLATE %s" */ + zInner = idxAppendText(tls, bp+56 /* &rc */, uintptr(0), ts+884 /* "CREATE TABLE x(" */, 0) + for i = 0; i < (*IdxTable)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp + 48 /* pTab */)))).FnCol; i++ { + zInner = idxAppendText(tls, bp+56 /* &rc */, zInner, ts+900, /* "%s%Q COLLATE %s" */ libc.VaList(bp, func() uintptr { if i == 0 { return ts + 489 /* "" */ } return ts + 90 /* ", " */ - }(), (*IdxColumn)(unsafe.Pointer((*IdxTable)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp + 64 /* pTab */)))).FaCol+uintptr(i)*24)).FzName, (*IdxColumn)(unsafe.Pointer((*IdxTable)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp + 64 /* pTab */)))).FaCol+uintptr(i)*24)).FzColl)) + }(), (*IdxColumn)(unsafe.Pointer((*IdxTable)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp + 48 /* pTab */)))).FaCol+uintptr(i)*24)).FzName, (*IdxColumn)(unsafe.Pointer((*IdxTable)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp + 48 /* pTab */)))).FaCol+uintptr(i)*24)).FzColl)) } - zInner = idxAppendText(tls, bp+72 /* &rc */, zInner, ts+490 /* ")" */, 0) + zInner = idxAppendText(tls, bp+56 /* &rc */, zInner, ts+490 /* ")" */, 0) // The CVT statement to create the vtab - zOuter = idxAppendText(tls, bp+72 /* &rc */, uintptr(0), - ts+916 /* "CREATE VIRTUAL T..." */, libc.VaList(bp+32, zName, zInner)) - if *(*int32)(unsafe.Pointer(bp + 72 /* rc */)) == SQLITE_OK { - *(*int32)(unsafe.Pointer(bp + 72 /* rc */)) = sqlite3.Xsqlite3_exec(tls, (*sqlite3expert)(unsafe.Pointer(p)).Fdbv, zOuter, uintptr(0), uintptr(0), pzErrmsg) + zOuter = idxAppendText(tls, bp+56 /* &rc */, uintptr(0), + ts+916 /* "CREATE VIRTUAL T..." */, libc.VaList(bp+24, zName, zInner)) + if *(*int32)(unsafe.Pointer(bp + 56 /* rc */)) == SQLITE_OK { + *(*int32)(unsafe.Pointer(bp + 56 /* rc */)) = sqlite3.Xsqlite3_exec(tls, (*sqlite3expert)(unsafe.Pointer(p)).Fdbv, zOuter, uintptr(0), uintptr(0), pzErrmsg) } sqlite3.Xsqlite3_free(tls, zInner) sqlite3.Xsqlite3_free(tls, zOuter) } } } - idxFinalize(tls, bp+72 /* &rc */, *(*uintptr)(unsafe.Pointer(bp + 56 /* pSchema */))) - return *(*int32)(unsafe.Pointer(bp + 72 /* rc */)) + idxFinalize(tls, bp+56 /* &rc */, *(*uintptr)(unsafe.Pointer(bp + 40 /* pSchema */))) + return *(*int32)(unsafe.Pointer(bp + 56 /* rc */)) } type IdxSampleCtx = struct { @@ -26504,21 +26504,21 @@ func idxLargestIndex(tls *libc.TLS, db uintptr, pnMax uintptr, pzErr uintptr) in } func idxPopulateOneStat1(tls *libc.TLS, p uintptr, pIndexXInfo uintptr, pWriteStat uintptr, zTab uintptr, zIdx uintptr, pzErr uintptr) int32 { /* sqlite3expert.c:1519:12: */ - bp := tls.Alloc(176) - defer tls.Free(176) + bp := tls.Alloc(128) + defer tls.Free(128) var zCols uintptr = uintptr(0) var zOrder uintptr = uintptr(0) var zQuery uintptr = uintptr(0) var nCol int32 = 0 var i int32 - *(*uintptr)(unsafe.Pointer(bp + 168 /* pQuery */)) = uintptr(0) + *(*uintptr)(unsafe.Pointer(bp + 120 /* pQuery */)) = uintptr(0) var aStat uintptr = uintptr(0) - *(*int32)(unsafe.Pointer(bp + 160 /* rc */)) = SQLITE_OK + *(*int32)(unsafe.Pointer(bp + 112 /* rc */)) = SQLITE_OK // Formulate the query text sqlite3.Xsqlite3_bind_text(tls, pIndexXInfo, 1, zIdx, -1, uintptr(0)) - for (SQLITE_OK == *(*int32)(unsafe.Pointer(bp + 160 /* rc */))) && (SQLITE_ROW == sqlite3.Xsqlite3_step(tls, pIndexXInfo)) { + for (SQLITE_OK == *(*int32)(unsafe.Pointer(bp + 112 /* rc */))) && (SQLITE_ROW == sqlite3.Xsqlite3_step(tls, pIndexXInfo)) { var zComma uintptr if zCols == uintptr(0) { zComma = ts + 489 /* "" */ @@ -26527,48 +26527,48 @@ func idxPopulateOneStat1(tls *libc.TLS, p uintptr, pIndexXInfo uintptr, pWriteSt } var zName uintptr = sqlite3.Xsqlite3_column_text(tls, pIndexXInfo, 0) var zColl uintptr = sqlite3.Xsqlite3_column_text(tls, pIndexXInfo, 1) - zCols = idxAppendText(tls, bp+160 /* &rc */, zCols, + zCols = idxAppendText(tls, bp+112 /* &rc */, zCols, ts+1094 /* "%sx.%Q IS rem(%d..." */, libc.VaList(bp, zComma, zName, nCol, zName, zColl)) - zOrder = idxAppendText(tls, bp+160 /* &rc */, zOrder, ts+1129 /* "%s%d" */, libc.VaList(bp+48, zComma, libc.PreIncInt32(&nCol, 1))) + zOrder = idxAppendText(tls, bp+112 /* &rc */, zOrder, ts+1129 /* "%s%d" */, libc.VaList(bp+40, zComma, libc.PreIncInt32(&nCol, 1))) } sqlite3.Xsqlite3_reset(tls, pIndexXInfo) - if *(*int32)(unsafe.Pointer(bp + 160 /* rc */)) == SQLITE_OK { + if *(*int32)(unsafe.Pointer(bp + 112 /* rc */)) == SQLITE_OK { if (*sqlite3expert)(unsafe.Pointer(p)).FiSample == 100 { zQuery = sqlite3.Xsqlite3_mprintf(tls, - ts+1134 /* "SELECT %s FROM %..." */, libc.VaList(bp+72, zCols, zTab, zOrder)) + ts+1134 /* "SELECT %s FROM %..." */, libc.VaList(bp+56, zCols, zTab, zOrder)) } else { zQuery = sqlite3.Xsqlite3_mprintf(tls, - ts+1166 /* "SELECT %s FROM t..." */, libc.VaList(bp+104, zCols, zOrder)) + ts+1166 /* "SELECT %s FROM t..." */, libc.VaList(bp+80, zCols, zOrder)) } } sqlite3.Xsqlite3_free(tls, zCols) sqlite3.Xsqlite3_free(tls, zOrder) // Formulate the query text - if *(*int32)(unsafe.Pointer(bp + 160 /* rc */)) == SQLITE_OK { + if *(*int32)(unsafe.Pointer(bp + 112 /* rc */)) == SQLITE_OK { var dbrem uintptr = func() uintptr { if (*sqlite3expert)(unsafe.Pointer(p)).FiSample == 100 { return (*sqlite3expert)(unsafe.Pointer(p)).Fdb } return (*sqlite3expert)(unsafe.Pointer(p)).Fdbv }() - *(*int32)(unsafe.Pointer(bp + 160 /* rc */)) = idxPrepareStmt(tls, dbrem, bp+168 /* &pQuery */, pzErr, zQuery) + *(*int32)(unsafe.Pointer(bp + 112 /* rc */)) = idxPrepareStmt(tls, dbrem, bp+120 /* &pQuery */, pzErr, zQuery) } sqlite3.Xsqlite3_free(tls, zQuery) - if *(*int32)(unsafe.Pointer(bp + 160 /* rc */)) == SQLITE_OK { - aStat = idxMalloc(tls, bp+160 /* &rc */, (int32(uint64(unsafe.Sizeof(int32(0))) * (uint64(nCol + 1))))) + if *(*int32)(unsafe.Pointer(bp + 112 /* rc */)) == SQLITE_OK { + aStat = idxMalloc(tls, bp+112 /* &rc */, (int32(uint64(unsafe.Sizeof(int32(0))) * (uint64(nCol + 1))))) } - if (*(*int32)(unsafe.Pointer(bp + 160 /* rc */)) == SQLITE_OK) && (SQLITE_ROW == sqlite3.Xsqlite3_step(tls, *(*uintptr)(unsafe.Pointer(bp + 168 /* pQuery */)))) { + if (*(*int32)(unsafe.Pointer(bp + 112 /* rc */)) == SQLITE_OK) && (SQLITE_ROW == sqlite3.Xsqlite3_step(tls, *(*uintptr)(unsafe.Pointer(bp + 120 /* pQuery */)))) { var pEntry uintptr var zStat uintptr = uintptr(0) for i = 0; i <= nCol; i++ { *(*int32)(unsafe.Pointer(aStat + uintptr(i)*4)) = 1 } - for (*(*int32)(unsafe.Pointer(bp + 160 /* rc */)) == SQLITE_OK) && (SQLITE_ROW == sqlite3.Xsqlite3_step(tls, *(*uintptr)(unsafe.Pointer(bp + 168 /* pQuery */)))) { + for (*(*int32)(unsafe.Pointer(bp + 112 /* rc */)) == SQLITE_OK) && (SQLITE_ROW == sqlite3.Xsqlite3_step(tls, *(*uintptr)(unsafe.Pointer(bp + 120 /* pQuery */)))) { *(*int32)(unsafe.Pointer(aStat))++ for i = 0; i < nCol; i++ { - if sqlite3.Xsqlite3_column_int(tls, *(*uintptr)(unsafe.Pointer(bp + 168 /* pQuery */)), i) == 0 { + if sqlite3.Xsqlite3_column_int(tls, *(*uintptr)(unsafe.Pointer(bp + 120 /* pQuery */)), i) == 0 { break } } @@ -26577,23 +26577,23 @@ func idxPopulateOneStat1(tls *libc.TLS, p uintptr, pIndexXInfo uintptr, pWriteSt } } - if *(*int32)(unsafe.Pointer(bp + 160 /* rc */)) == SQLITE_OK { + if *(*int32)(unsafe.Pointer(bp + 112 /* rc */)) == SQLITE_OK { var s0 int32 = *(*int32)(unsafe.Pointer(aStat)) - zStat = sqlite3.Xsqlite3_mprintf(tls, ts+1238 /* "%d" */, libc.VaList(bp+128, s0)) + zStat = sqlite3.Xsqlite3_mprintf(tls, ts+1238 /* "%d" */, libc.VaList(bp+96, s0)) if zStat == uintptr(0) { - *(*int32)(unsafe.Pointer(bp + 160 /* rc */)) = SQLITE_NOMEM + *(*int32)(unsafe.Pointer(bp + 112 /* rc */)) = SQLITE_NOMEM } - for i = 1; (*(*int32)(unsafe.Pointer(bp + 160 /* rc */)) == SQLITE_OK) && (i <= nCol); i++ { - zStat = idxAppendText(tls, bp+160 /* &rc */, zStat, ts+1241 /* " %d" */, libc.VaList(bp+144, ((s0+(*(*int32)(unsafe.Pointer(aStat + uintptr(i)*4))/2)) / *(*int32)(unsafe.Pointer(aStat + uintptr(i)*4))))) + for i = 1; (*(*int32)(unsafe.Pointer(bp + 112 /* rc */)) == SQLITE_OK) && (i <= nCol); i++ { + zStat = idxAppendText(tls, bp+112 /* &rc */, zStat, ts+1241 /* " %d" */, libc.VaList(bp+104, ((s0+(*(*int32)(unsafe.Pointer(aStat + uintptr(i)*4))/2)) / *(*int32)(unsafe.Pointer(aStat + uintptr(i)*4))))) } } - if *(*int32)(unsafe.Pointer(bp + 160 /* rc */)) == SQLITE_OK { + if *(*int32)(unsafe.Pointer(bp + 112 /* rc */)) == SQLITE_OK { sqlite3.Xsqlite3_bind_text(tls, pWriteStat, 1, zTab, -1, uintptr(0)) sqlite3.Xsqlite3_bind_text(tls, pWriteStat, 2, zIdx, -1, uintptr(0)) sqlite3.Xsqlite3_bind_text(tls, pWriteStat, 3, zStat, -1, uintptr(0)) sqlite3.Xsqlite3_step(tls, pWriteStat) - *(*int32)(unsafe.Pointer(bp + 160 /* rc */)) = sqlite3.Xsqlite3_reset(tls, pWriteStat) + *(*int32)(unsafe.Pointer(bp + 112 /* rc */)) = sqlite3.Xsqlite3_reset(tls, pWriteStat) } pEntry = idxHashFind(tls, (p + 88 /* &.hIdx */), zIdx, int32(libc.Xstrlen(tls, zIdx))) @@ -26605,14 +26605,14 @@ func idxPopulateOneStat1(tls *libc.TLS, p uintptr, pIndexXInfo uintptr, pWriteSt } } sqlite3.Xsqlite3_free(tls, aStat) - idxFinalize(tls, bp+160 /* &rc */, *(*uintptr)(unsafe.Pointer(bp + 168 /* pQuery */))) + idxFinalize(tls, bp+112 /* &rc */, *(*uintptr)(unsafe.Pointer(bp + 120 /* pQuery */))) - return *(*int32)(unsafe.Pointer(bp + 160 /* rc */)) + return *(*int32)(unsafe.Pointer(bp + 112 /* rc */)) } func idxBuildSampleTable(tls *libc.TLS, p uintptr, zTab uintptr) int32 { /* sqlite3expert.c:1619:12: */ - bp := tls.Alloc(16) - defer tls.Free(16) + bp := tls.Alloc(8) + defer tls.Free(8) var rc int32 var zSql uintptr @@ -26747,52 +26747,52 @@ func idxPopulateStat1(tls *libc.TLS, p uintptr, pzErr uintptr) int32 { /* sqlite // Allocate a new sqlite3expert object. func sqlite3_expert_new(tls *libc.TLS, db uintptr, pzErrmsg uintptr) uintptr { /* sqlite3expert.c:1742:15: */ - bp := tls.Alloc(40) - defer tls.Free(40) + bp := tls.Alloc(32) + defer tls.Free(32) - *(*int32)(unsafe.Pointer(bp + 24 /* rc */)) = SQLITE_OK + *(*int32)(unsafe.Pointer(bp + 16 /* rc */)) = SQLITE_OK var pNew uintptr - pNew = idxMalloc(tls, bp+24 /* &rc */, int32(unsafe.Sizeof(sqlite3expert{}))) + pNew = idxMalloc(tls, bp+16 /* &rc */, int32(unsafe.Sizeof(sqlite3expert{}))) // Open two in-memory databases to work with. The "vtab database" (dbv) // will contain a virtual table corresponding to each real table in // the user database schema, and a copy of each view. It is used to // collect information regarding the WHERE, ORDER BY and other clauses // of the user's query. - if *(*int32)(unsafe.Pointer(bp + 24 /* rc */)) == SQLITE_OK { + if *(*int32)(unsafe.Pointer(bp + 16 /* rc */)) == SQLITE_OK { (*sqlite3expert)(unsafe.Pointer(pNew)).Fdb = db (*sqlite3expert)(unsafe.Pointer(pNew)).FiSample = 100 - *(*int32)(unsafe.Pointer(bp + 24 /* rc */)) = sqlite3.Xsqlite3_open(tls, ts+1662 /* ":memory:" */, (pNew + 24 /* &.dbv */)) + *(*int32)(unsafe.Pointer(bp + 16 /* rc */)) = sqlite3.Xsqlite3_open(tls, ts+1662 /* ":memory:" */, (pNew + 24 /* &.dbv */)) } - if *(*int32)(unsafe.Pointer(bp + 24 /* rc */)) == SQLITE_OK { - *(*int32)(unsafe.Pointer(bp + 24 /* rc */)) = sqlite3.Xsqlite3_open(tls, ts+1662 /* ":memory:" */, (pNew + 16 /* &.dbm */)) - if *(*int32)(unsafe.Pointer(bp + 24 /* rc */)) == SQLITE_OK { + if *(*int32)(unsafe.Pointer(bp + 16 /* rc */)) == SQLITE_OK { + *(*int32)(unsafe.Pointer(bp + 16 /* rc */)) = sqlite3.Xsqlite3_open(tls, ts+1662 /* ":memory:" */, (pNew + 16 /* &.dbm */)) + if *(*int32)(unsafe.Pointer(bp + 16 /* rc */)) == SQLITE_OK { sqlite3.Xsqlite3_db_config(tls, (*sqlite3expert)(unsafe.Pointer(pNew)).Fdbm, SQLITE_DBCONFIG_TRIGGER_EQP, libc.VaList(bp, 1, uintptr(0))) } } // Copy the entire schema of database [db] into [dbm]. - if *(*int32)(unsafe.Pointer(bp + 24 /* rc */)) == SQLITE_OK { - // var pSql uintptr at bp+32, 8 + if *(*int32)(unsafe.Pointer(bp + 16 /* rc */)) == SQLITE_OK { + // var pSql uintptr at bp+24, 8 - *(*int32)(unsafe.Pointer(bp + 24 /* rc */)) = idxPrintfPrepareStmt(tls, (*sqlite3expert)(unsafe.Pointer(pNew)).Fdb, bp+32 /* &pSql */, pzErrmsg, + *(*int32)(unsafe.Pointer(bp + 16 /* rc */)) = idxPrintfPrepareStmt(tls, (*sqlite3expert)(unsafe.Pointer(pNew)).Fdb, bp+24 /* &pSql */, pzErrmsg, ts+1671 /* "SELECT sql FROM ..." */, 0) - for (*(*int32)(unsafe.Pointer(bp + 24 /* rc */)) == SQLITE_OK) && (SQLITE_ROW == sqlite3.Xsqlite3_step(tls, *(*uintptr)(unsafe.Pointer(bp + 32 /* pSql */)))) { - var zSql uintptr = sqlite3.Xsqlite3_column_text(tls, *(*uintptr)(unsafe.Pointer(bp + 32 /* pSql */)), 0) - *(*int32)(unsafe.Pointer(bp + 24 /* rc */)) = sqlite3.Xsqlite3_exec(tls, (*sqlite3expert)(unsafe.Pointer(pNew)).Fdbm, zSql, uintptr(0), uintptr(0), pzErrmsg) + for (*(*int32)(unsafe.Pointer(bp + 16 /* rc */)) == SQLITE_OK) && (SQLITE_ROW == sqlite3.Xsqlite3_step(tls, *(*uintptr)(unsafe.Pointer(bp + 24 /* pSql */)))) { + var zSql uintptr = sqlite3.Xsqlite3_column_text(tls, *(*uintptr)(unsafe.Pointer(bp + 24 /* pSql */)), 0) + *(*int32)(unsafe.Pointer(bp + 16 /* rc */)) = sqlite3.Xsqlite3_exec(tls, (*sqlite3expert)(unsafe.Pointer(pNew)).Fdbm, zSql, uintptr(0), uintptr(0), pzErrmsg) } - idxFinalize(tls, bp+24 /* &rc */, *(*uintptr)(unsafe.Pointer(bp + 32 /* pSql */))) + idxFinalize(tls, bp+16 /* &rc */, *(*uintptr)(unsafe.Pointer(bp + 24 /* pSql */))) } // Create the vtab schema - if *(*int32)(unsafe.Pointer(bp + 24 /* rc */)) == SQLITE_OK { - *(*int32)(unsafe.Pointer(bp + 24 /* rc */)) = idxCreateVtabSchema(tls, pNew, pzErrmsg) + if *(*int32)(unsafe.Pointer(bp + 16 /* rc */)) == SQLITE_OK { + *(*int32)(unsafe.Pointer(bp + 16 /* rc */)) = idxCreateVtabSchema(tls, pNew, pzErrmsg) } // Register the auth callback with dbv - if *(*int32)(unsafe.Pointer(bp + 24 /* rc */)) == SQLITE_OK { + if *(*int32)(unsafe.Pointer(bp + 16 /* rc */)) == SQLITE_OK { sqlite3.Xsqlite3_set_authorizer(tls, (*sqlite3expert)(unsafe.Pointer(pNew)).Fdbv, *(*uintptr)(unsafe.Pointer(&struct { f func(*libc.TLS, uintptr, int32, uintptr, uintptr, uintptr, uintptr) int32 }{idxAuthCallback})), pNew) @@ -26800,7 +26800,7 @@ func sqlite3_expert_new(tls *libc.TLS, db uintptr, pzErrmsg uintptr) uintptr { / // If an error has occurred, free the new object and reutrn NULL. Otherwise, // return the new sqlite3expert handle. - if *(*int32)(unsafe.Pointer(bp + 24 /* rc */)) != SQLITE_OK { + if *(*int32)(unsafe.Pointer(bp + 16 /* rc */)) != SQLITE_OK { sqlite3_expert_destroy(tls, pNew) pNew = uintptr(0) } @@ -26886,29 +26886,29 @@ func sqlite3_expert_sql(tls *libc.TLS, p uintptr, zSql uintptr, pzErr uintptr) i } func sqlite3_expert_analyze(tls *libc.TLS, p uintptr, pzErr uintptr) int32 { /* sqlite3expert.c:1872:5: */ - bp := tls.Alloc(36) - defer tls.Free(36) + bp := tls.Alloc(28) + defer tls.Free(28) - // var rc int32 at bp+32, 4 + // var rc int32 at bp+24, 4 var pEntry uintptr // Do trigger processing to collect any extra IdxScan structures - *(*int32)(unsafe.Pointer(bp + 32 /* rc */)) = idxProcessTriggers(tls, p, pzErr) + *(*int32)(unsafe.Pointer(bp + 24 /* rc */)) = idxProcessTriggers(tls, p, pzErr) // Create candidate indexes within the in-memory database file - if *(*int32)(unsafe.Pointer(bp + 32 /* rc */)) == SQLITE_OK { - *(*int32)(unsafe.Pointer(bp + 32 /* rc */)) = idxCreateCandidates(tls, p) + if *(*int32)(unsafe.Pointer(bp + 24 /* rc */)) == SQLITE_OK { + *(*int32)(unsafe.Pointer(bp + 24 /* rc */)) = idxCreateCandidates(tls, p) } // Generate the stat1 data - if *(*int32)(unsafe.Pointer(bp + 32 /* rc */)) == SQLITE_OK { - *(*int32)(unsafe.Pointer(bp + 32 /* rc */)) = idxPopulateStat1(tls, p, pzErr) + if *(*int32)(unsafe.Pointer(bp + 24 /* rc */)) == SQLITE_OK { + *(*int32)(unsafe.Pointer(bp + 24 /* rc */)) = idxPopulateStat1(tls, p, pzErr) } // Formulate the EXPERT_REPORT_CANDIDATES text for pEntry = (*sqlite3expert)(unsafe.Pointer(p)).FhIdx.FpFirst; pEntry != 0; pEntry = (*IdxHashEntry)(unsafe.Pointer(pEntry)).FpNext { - (*sqlite3expert)(unsafe.Pointer(p)).FzCandidates = idxAppendText(tls, bp+32 /* &rc */, (*sqlite3expert)(unsafe.Pointer(p)).FzCandidates, + (*sqlite3expert)(unsafe.Pointer(p)).FzCandidates = idxAppendText(tls, bp+24 /* &rc */, (*sqlite3expert)(unsafe.Pointer(p)).FzCandidates, ts+1770 /* "%s;%s%s\n" */, libc.VaList(bp, (*IdxHashEntry)(unsafe.Pointer(pEntry)).FzVal, func() uintptr { if (*IdxHashEntry)(unsafe.Pointer(pEntry)).FzVal2 != 0 { @@ -26920,14 +26920,14 @@ func sqlite3_expert_analyze(tls *libc.TLS, p uintptr, pzErr uintptr) int32 { /* // Figure out which of the candidate indexes are preferred by the query // planner and report the results to the user. - if *(*int32)(unsafe.Pointer(bp + 32 /* rc */)) == SQLITE_OK { - *(*int32)(unsafe.Pointer(bp + 32 /* rc */)) = idxFindIndexes(tls, p, pzErr) + if *(*int32)(unsafe.Pointer(bp + 24 /* rc */)) == SQLITE_OK { + *(*int32)(unsafe.Pointer(bp + 24 /* rc */)) = idxFindIndexes(tls, p, pzErr) } - if *(*int32)(unsafe.Pointer(bp + 32 /* rc */)) == SQLITE_OK { + if *(*int32)(unsafe.Pointer(bp + 24 /* rc */)) == SQLITE_OK { (*sqlite3expert)(unsafe.Pointer(p)).FbRun = 1 } - return *(*int32)(unsafe.Pointer(bp + 32 /* rc */)) + return *(*int32)(unsafe.Pointer(bp + 24 /* rc */)) } // Return the total number of statements that have been added to this @@ -28953,17 +28953,17 @@ type TclPlatStubs = TclPlatStubs1 /* tclPlatDecls.h:86:3 */ // argument. If successful, set *pDb to point to the db handle and return // TCL_OK. Otherwise, return TCL_ERROR. func dbHandleFromObj(tls *libc.TLS, interp uintptr, pObj uintptr, pDb uintptr) int32 { /* test_expert.c:36:12: */ - bp := tls.Alloc(96) - defer tls.Free(96) + bp := tls.Alloc(88) + defer tls.Free(88) - // var info Tcl_CmdInfo at bp+32, 64 + // var info Tcl_CmdInfo at bp+24, 64 - if 0 == tcl.XTcl_GetCommandInfo(tls, interp, tcl.XTcl_GetString(tls, pObj), bp+32 /* &info */) { + if 0 == tcl.XTcl_GetCommandInfo(tls, interp, tcl.XTcl_GetString(tls, pObj), bp+24 /* &info */) { tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp, ts+1791 /* "no such handle: " */, tcl.XTcl_GetString(tls, pObj), 0)) return TCL_ERROR } - *(*uintptr)(unsafe.Pointer(pDb)) = *(*uintptr)(unsafe.Pointer((*Tcl_CmdInfo)(unsafe.Pointer(bp + 32 /* &info */)).FobjClientData)) + *(*uintptr)(unsafe.Pointer(pDb)) = *(*uintptr)(unsafe.Pointer((*Tcl_CmdInfo)(unsafe.Pointer(bp + 24 /* &info */)).FobjClientData)) return TCL_OK } @@ -29081,13 +29081,13 @@ func testExpertDel(tls *libc.TLS, clientData uintptr) { /* test_expert.c:150:27: // sqlite3_expert_new DB func test_sqlite3_expert_new(tls *libc.TLS, clientData uintptr, interp uintptr, objc int32, objv uintptr) int32 { /* test_expert.c:158:26: */ - bp := tls.Alloc(80) - defer tls.Free(80) + bp := tls.Alloc(56) + defer tls.Free(56) - // var db uintptr at bp+64, 8 + // var db uintptr at bp+40, 8 var zCmd uintptr = uintptr(0) - *(*uintptr)(unsafe.Pointer(bp + 72 /* zErr */)) = uintptr(0) + *(*uintptr)(unsafe.Pointer(bp + 48 /* zErr */)) = uintptr(0) var pExpert uintptr var rc int32 = TCL_OK @@ -29095,19 +29095,19 @@ func test_sqlite3_expert_new(tls *libc.TLS, clientData uintptr, interp uintptr, tcl.XTcl_WrongNumArgs(tls, interp, 1, objv, ts+1911 /* "DB" */) return TCL_ERROR } - if dbHandleFromObj(tls, interp, *(*uintptr)(unsafe.Pointer(objv + 1*8)), bp+64 /* &db */) != 0 { + if dbHandleFromObj(tls, interp, *(*uintptr)(unsafe.Pointer(objv + 1*8)), bp+40 /* &db */) != 0 { return TCL_ERROR } zCmd = sqlite3.Xsqlite3_mprintf(tls, ts+1914 /* "sqlite3expert%d" */, libc.VaList(bp, libc.PreIncInt32(&iCmd, 1))) if zCmd == uintptr(0) { - tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp+16, ts+1930 /* "out of memory" */, uintptr(0))) + tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp+8, ts+1930 /* "out of memory" */, uintptr(0))) return TCL_ERROR } - pExpert = sqlite3_expert_new(tls, *(*uintptr)(unsafe.Pointer(bp + 64 /* db */)), bp+72 /* &zErr */) + pExpert = sqlite3_expert_new(tls, *(*uintptr)(unsafe.Pointer(bp + 40 /* db */)), bp+48 /* &zErr */) if pExpert == uintptr(0) { - tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp+40, *(*uintptr)(unsafe.Pointer(bp + 72 /* zErr */)), uintptr(0))) + tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp+24, *(*uintptr)(unsafe.Pointer(bp + 48 /* zErr */)), uintptr(0))) rc = TCL_ERROR } else { var p uintptr = pExpert @@ -29118,7 +29118,7 @@ func test_sqlite3_expert_new(tls *libc.TLS, clientData uintptr, interp uintptr, } sqlite3.Xsqlite3_free(tls, zCmd) - sqlite3.Xsqlite3_free(tls, *(*uintptr)(unsafe.Pointer(bp + 72 /* zErr */))) + sqlite3.Xsqlite3_free(tls, *(*uintptr)(unsafe.Pointer(bp + 48 /* zErr */))) return rc } @@ -29243,32 +29243,32 @@ type ErrorCode = struct { } /* fts5_tcl.c:70:3 */ func f5tDbAndApi(tls *libc.TLS, interp uintptr, pObj uintptr, ppDb uintptr, ppApi uintptr) int32 { /* fts5_tcl.c:90:26: */ - bp := tls.Alloc(88) - defer tls.Free(88) + bp := tls.Alloc(72) + defer tls.Free(72) - *(*uintptr)(unsafe.Pointer(bp + 64 /* db */)) = uintptr(0) - var rc int32 = f5tDbPointer(tls, interp, pObj, bp+64 /* &db */) + *(*uintptr)(unsafe.Pointer(bp + 48 /* db */)) = uintptr(0) + var rc int32 = f5tDbPointer(tls, interp, pObj, bp+48 /* &db */) if rc != TCL_OK { return TCL_ERROR } else { - *(*uintptr)(unsafe.Pointer(bp + 72 /* pStmt */)) = uintptr(0) - *(*uintptr)(unsafe.Pointer(bp + 80 /* pApi */)) = uintptr(0) + *(*uintptr)(unsafe.Pointer(bp + 56 /* pStmt */)) = uintptr(0) + *(*uintptr)(unsafe.Pointer(bp + 64 /* pApi */)) = uintptr(0) - rc = sqlite3.Xsqlite3_prepare_v2(tls, *(*uintptr)(unsafe.Pointer(bp + 64 /* db */)), ts+1998 /* "SELECT fts5(?1)" */, -1, bp+72 /* &pStmt */, uintptr(0)) + rc = sqlite3.Xsqlite3_prepare_v2(tls, *(*uintptr)(unsafe.Pointer(bp + 48 /* db */)), ts+1998 /* "SELECT fts5(?1)" */, -1, bp+56 /* &pStmt */, uintptr(0)) if rc != SQLITE_OK { - tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp, ts+2014 /* "error: " */, sqlite3.Xsqlite3_errmsg(tls, *(*uintptr)(unsafe.Pointer(bp + 64 /* db */))), 0)) + tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp, ts+2014 /* "error: " */, sqlite3.Xsqlite3_errmsg(tls, *(*uintptr)(unsafe.Pointer(bp + 48 /* db */))), 0)) return TCL_ERROR } - sqlite3.Xsqlite3_bind_pointer(tls, *(*uintptr)(unsafe.Pointer(bp + 72 /* pStmt */)), 1, bp+80 /* &pApi */, ts+2022 /* "fts5_api_ptr" */, uintptr(0)) - sqlite3.Xsqlite3_step(tls, *(*uintptr)(unsafe.Pointer(bp + 72 /* pStmt */))) + sqlite3.Xsqlite3_bind_pointer(tls, *(*uintptr)(unsafe.Pointer(bp + 56 /* pStmt */)), 1, bp+64 /* &pApi */, ts+2022 /* "fts5_api_ptr" */, uintptr(0)) + sqlite3.Xsqlite3_step(tls, *(*uintptr)(unsafe.Pointer(bp + 56 /* pStmt */))) - if sqlite3.Xsqlite3_finalize(tls, *(*uintptr)(unsafe.Pointer(bp + 72 /* pStmt */))) != SQLITE_OK { - tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp+32, ts+2014 /* "error: " */, sqlite3.Xsqlite3_errmsg(tls, *(*uintptr)(unsafe.Pointer(bp + 64 /* db */))), 0)) + if sqlite3.Xsqlite3_finalize(tls, *(*uintptr)(unsafe.Pointer(bp + 56 /* pStmt */))) != SQLITE_OK { + tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp+24, ts+2014 /* "error: " */, sqlite3.Xsqlite3_errmsg(tls, *(*uintptr)(unsafe.Pointer(bp + 48 /* db */))), 0)) return TCL_ERROR } - *(*uintptr)(unsafe.Pointer(ppDb)) = *(*uintptr)(unsafe.Pointer(bp + 64 /* db */)) - *(*uintptr)(unsafe.Pointer(ppApi)) = *(*uintptr)(unsafe.Pointer(bp + 80 /* pApi */)) + *(*uintptr)(unsafe.Pointer(ppDb)) = *(*uintptr)(unsafe.Pointer(bp + 48 /* db */)) + *(*uintptr)(unsafe.Pointer(ppApi)) = *(*uintptr)(unsafe.Pointer(bp + 64 /* pApi */)) } return TCL_OK @@ -29329,26 +29329,26 @@ func xTokenizeCb(tls *libc.TLS, pCtx uintptr, tflags int32, zToken uintptr, nTok } func xQueryPhraseCb(tls *libc.TLS, pApi uintptr, pFts uintptr, pCtx uintptr) int32 { /* fts5_tcl.c:175:12: */ - bp := tls.Alloc(96) - defer tls.Free(96) + bp := tls.Alloc(88) + defer tls.Free(88) var p uintptr = pCtx var pEval uintptr var rc int32 - // var zCmd [64]int8 at bp+16, 64 + // var zCmd [64]int8 at bp+8, 64 - // var sApi F5tApi at bp+80, 16 + // var sApi F5tApi at bp+72, 16 - (*F5tApi)(unsafe.Pointer(bp + 80 /* &sApi */)).FpApi = pApi - (*F5tApi)(unsafe.Pointer(bp + 80 /* &sApi */)).FpFts = pFts - libc.Xsprintf(tls, bp+16 /* &zCmd[0] */, ts+2035 /* "f5t_2_%lld" */, libc.VaList(bp, libc.PostIncInt64(&iCmd1, 1))) - tcl.XTcl_CreateObjCommand(tls, (*F5tFunction)(unsafe.Pointer(p)).Finterp, bp+16 /* &zCmd[0] */, *(*uintptr)(unsafe.Pointer(&struct { + (*F5tApi)(unsafe.Pointer(bp + 72 /* &sApi */)).FpApi = pApi + (*F5tApi)(unsafe.Pointer(bp + 72 /* &sApi */)).FpFts = pFts + libc.Xsprintf(tls, bp+8 /* &zCmd[0] */, ts+2035 /* "f5t_2_%lld" */, libc.VaList(bp, libc.PostIncInt64(&iCmd1, 1))) + tcl.XTcl_CreateObjCommand(tls, (*F5tFunction)(unsafe.Pointer(p)).Finterp, bp+8 /* &zCmd[0] */, *(*uintptr)(unsafe.Pointer(&struct { f func(*libc.TLS, uintptr, uintptr, int32, uintptr) int32 - }{xF5tApi})), bp+80 /* &sApi */, uintptr(0)) + }{xF5tApi})), bp+72 /* &sApi */, uintptr(0)) pEval = tcl.XTcl_DuplicateObj(tls, (*F5tFunction)(unsafe.Pointer(p)).FpScript) (*Tcl_Obj)(unsafe.Pointer(pEval)).FrefCount++ - tcl.XTcl_ListObjAppendElement(tls, (*F5tFunction)(unsafe.Pointer(p)).Finterp, pEval, tcl.XTcl_NewStringObj(tls, bp+16 /* &zCmd[0] */, -1)) + tcl.XTcl_ListObjAppendElement(tls, (*F5tFunction)(unsafe.Pointer(p)).Finterp, pEval, tcl.XTcl_NewStringObj(tls, bp+8 /* &zCmd[0] */, -1)) rc = tcl.XTcl_EvalObjEx(tls, (*F5tFunction)(unsafe.Pointer(p)).Finterp, pEval, 0) for ok := true; ok; ok = 0 != 0 { var _objPtr uintptr = pEval @@ -29356,7 +29356,7 @@ func xQueryPhraseCb(tls *libc.TLS, pApi uintptr, pFts uintptr, pCtx uintptr) int tcl.XTclFreeObj(tls, _objPtr) } } - tcl.XTcl_DeleteCommand(tls, (*F5tFunction)(unsafe.Pointer(p)).Finterp, bp+16 /* &zCmd[0] */) + tcl.XTcl_DeleteCommand(tls, (*F5tFunction)(unsafe.Pointer(p)).Finterp, bp+8 /* &zCmd[0] */) if rc == TCL_OK { rc = f5tResultToErrorCode(tls, tcl.XTcl_GetStringResult(tls, (*F5tFunction)(unsafe.Pointer(p)).Finterp)) @@ -29382,10 +29382,10 @@ func xSetAuxdataDestructor(tls *libc.TLS, p uintptr) { /* fts5_tcl.c:207:13: */ // // Description... func xF5tApi(tls *libc.TLS, clientData uintptr, interp uintptr, objc int32, objv uintptr) int32 { /* fts5_tcl.c:218:26: */ - bp := tls.Alloc(700) - defer tls.Free(700) + bp := tls.Alloc(684) + defer tls.Free(684) - *(*[19]Sub)(unsafe.Pointer(bp + 48 /* aSub */)) = [19]Sub{ + *(*[19]Sub)(unsafe.Pointer(bp + 32 /* aSub */)) = [19]Sub{ {FzName: ts + 2046 /* "xColumnCount" */, FzMsg: ts + 489 /* "" */}, // 0 {FzName: ts + 2059 /* "xRowCount" */, FzMsg: ts + 489 /* "" */}, // 1 {FzName: ts + 2069 /* "xColumnTotalSize" */, FnArg: 1, FzMsg: ts + 2086 /* "COL" */}, // 2 @@ -29407,7 +29407,7 @@ func xF5tApi(tls *libc.TLS, clientData uintptr, interp uintptr, objc int32, objv {}, } var rc int32 - *(*int32)(unsafe.Pointer(bp + 504 /* iSub */)) = 0 + *(*int32)(unsafe.Pointer(bp + 488 /* iSub */)) = 0 var p uintptr = clientData if objc < 2 { @@ -29416,16 +29416,16 @@ func xF5tApi(tls *libc.TLS, clientData uintptr, interp uintptr, objc int32, objv } rc = tcl.XTcl_GetIndexFromObjStruct(tls, - interp, *(*uintptr)(unsafe.Pointer(objv + 1*8)), bp+48 /* &aSub[0] */, int32(unsafe.Sizeof(Sub{})), ts+2384 /* "SUB-COMMAND" */, 0, bp+504 /* &iSub */) + interp, *(*uintptr)(unsafe.Pointer(objv + 1*8)), bp+32 /* &aSub[0] */, int32(unsafe.Sizeof(Sub{})), ts+2384 /* "SUB-COMMAND" */, 0, bp+488 /* &iSub */) if rc != TCL_OK { return rc } - if (*Sub)(unsafe.Pointer(bp+48 /* &aSub */ +uintptr(*(*int32)(unsafe.Pointer(bp + 504 /* iSub */)))*24)).FnArg != (objc - 2) { - tcl.XTcl_WrongNumArgs(tls, interp, 1, objv, (*Sub)(unsafe.Pointer(bp+48 /* &aSub */ +uintptr(*(*int32)(unsafe.Pointer(bp + 504 /* iSub */)))*24)).FzMsg) + if (*Sub)(unsafe.Pointer(bp+32 /* &aSub */ +uintptr(*(*int32)(unsafe.Pointer(bp + 488 /* iSub */)))*24)).FnArg != (objc - 2) { + tcl.XTcl_WrongNumArgs(tls, interp, 1, objv, (*Sub)(unsafe.Pointer(bp+32 /* &aSub */ +uintptr(*(*int32)(unsafe.Pointer(bp + 488 /* iSub */)))*24)).FzMsg) return TCL_ERROR } - switch *(*int32)(unsafe.Pointer(bp + 504 /* iSub */)) { + switch *(*int32)(unsafe.Pointer(bp + 488 /* iSub */)) { case 0: { var nCol int32 @@ -29438,41 +29438,41 @@ func xF5tApi(tls *libc.TLS, clientData uintptr, interp uintptr, objc int32, objv } case 1: { - // var nRow sqlite3_int64 at bp+512, 8 + // var nRow sqlite3_int64 at bp+496, 8 - rc = (*(*func(*libc.TLS, uintptr, uintptr) int32)(unsafe.Pointer(((*F5tApi)(unsafe.Pointer(p)).FpApi + 24 /* &.xRowCount */))))(tls, (*F5tApi)(unsafe.Pointer(p)).FpFts, bp+512 /* &nRow */) + rc = (*(*func(*libc.TLS, uintptr, uintptr) int32)(unsafe.Pointer(((*F5tApi)(unsafe.Pointer(p)).FpApi + 24 /* &.xRowCount */))))(tls, (*F5tApi)(unsafe.Pointer(p)).FpFts, bp+496 /* &nRow */) if rc == SQLITE_OK { - tcl.XTcl_SetObjResult(tls, interp, tcl.XTcl_NewWideIntObj(tls, *(*sqlite3_int64)(unsafe.Pointer(bp + 512 /* nRow */)))) + tcl.XTcl_SetObjResult(tls, interp, tcl.XTcl_NewWideIntObj(tls, *(*sqlite3_int64)(unsafe.Pointer(bp + 496 /* nRow */)))) } break } case 2: { - // var iCol int32 at bp+520, 4 + // var iCol int32 at bp+504, 4 - // var nSize sqlite3_int64 at bp+528, 8 + // var nSize sqlite3_int64 at bp+512, 8 - if tcl.XTcl_GetIntFromObj(tls, interp, *(*uintptr)(unsafe.Pointer(objv + 2*8)), bp+520 /* &iCol */) != 0 { + if tcl.XTcl_GetIntFromObj(tls, interp, *(*uintptr)(unsafe.Pointer(objv + 2*8)), bp+504 /* &iCol */) != 0 { return TCL_ERROR } - rc = (*(*func(*libc.TLS, uintptr, int32, uintptr) int32)(unsafe.Pointer(((*F5tApi)(unsafe.Pointer(p)).FpApi + 32 /* &.xColumnTotalSize */))))(tls, (*F5tApi)(unsafe.Pointer(p)).FpFts, *(*int32)(unsafe.Pointer(bp + 520 /* iCol */)), bp+528 /* &nSize */) + rc = (*(*func(*libc.TLS, uintptr, int32, uintptr) int32)(unsafe.Pointer(((*F5tApi)(unsafe.Pointer(p)).FpApi + 32 /* &.xColumnTotalSize */))))(tls, (*F5tApi)(unsafe.Pointer(p)).FpFts, *(*int32)(unsafe.Pointer(bp + 504 /* iCol */)), bp+512 /* &nSize */) if rc == SQLITE_OK { - tcl.XTcl_SetObjResult(tls, interp, tcl.XTcl_NewWideIntObj(tls, *(*sqlite3_int64)(unsafe.Pointer(bp + 528 /* nSize */)))) + tcl.XTcl_SetObjResult(tls, interp, tcl.XTcl_NewWideIntObj(tls, *(*sqlite3_int64)(unsafe.Pointer(bp + 512 /* nSize */)))) } break } case 3: { - // var nText int32 at bp+536, 4 + // var nText int32 at bp+520, 4 - var zText uintptr = tcl.XTcl_GetStringFromObj(tls, *(*uintptr)(unsafe.Pointer(objv + 2*8)), bp+536 /* &nText */) - // var ctx F5tFunction at bp+544, 16 + var zText uintptr = tcl.XTcl_GetStringFromObj(tls, *(*uintptr)(unsafe.Pointer(objv + 2*8)), bp+520 /* &nText */) + // var ctx F5tFunction at bp+528, 16 - (*F5tFunction)(unsafe.Pointer(bp + 544 /* &ctx */)).Finterp = interp - (*F5tFunction)(unsafe.Pointer(bp + 544 /* &ctx */)).FpScript = *(*uintptr)(unsafe.Pointer(objv + 3*8)) - rc = (*(*func(*libc.TLS, uintptr, uintptr, int32, uintptr, uintptr) int32)(unsafe.Pointer(((*F5tApi)(unsafe.Pointer(p)).FpApi + 40 /* &.xTokenize */))))(tls, (*F5tApi)(unsafe.Pointer(p)).FpFts, zText, *(*int32)(unsafe.Pointer(bp + 536 /* nText */)), bp+544 /* &ctx */, *(*uintptr)(unsafe.Pointer(&struct { + (*F5tFunction)(unsafe.Pointer(bp + 528 /* &ctx */)).Finterp = interp + (*F5tFunction)(unsafe.Pointer(bp + 528 /* &ctx */)).FpScript = *(*uintptr)(unsafe.Pointer(objv + 3*8)) + rc = (*(*func(*libc.TLS, uintptr, uintptr, int32, uintptr, uintptr) int32)(unsafe.Pointer(((*F5tApi)(unsafe.Pointer(p)).FpApi + 40 /* &.xTokenize */))))(tls, (*F5tApi)(unsafe.Pointer(p)).FpFts, zText, *(*int32)(unsafe.Pointer(bp + 520 /* nText */)), bp+528 /* &ctx */, *(*uintptr)(unsafe.Pointer(&struct { f func(*libc.TLS, uintptr, int32, uintptr, int32, int32, int32) int32 }{xTokenizeCb}))) if rc == SQLITE_OK { @@ -29493,13 +29493,13 @@ func xF5tApi(tls *libc.TLS, clientData uintptr, interp uintptr, objc int32, objv } case 5: { - // var iPhrase int32 at bp+560, 4 + // var iPhrase int32 at bp+544, 4 var sz int32 - if tcl.XTcl_GetIntFromObj(tls, interp, *(*uintptr)(unsafe.Pointer(objv + 2*8)), bp+560 /* &iPhrase */) != 0 { + if tcl.XTcl_GetIntFromObj(tls, interp, *(*uintptr)(unsafe.Pointer(objv + 2*8)), bp+544 /* &iPhrase */) != 0 { return TCL_ERROR } - sz = (*(*func(*libc.TLS, uintptr, int32) int32)(unsafe.Pointer(((*F5tApi)(unsafe.Pointer(p)).FpApi + 56 /* &.xPhraseSize */))))(tls, (*F5tApi)(unsafe.Pointer(p)).FpFts, *(*int32)(unsafe.Pointer(bp + 560 /* iPhrase */))) + sz = (*(*func(*libc.TLS, uintptr, int32) int32)(unsafe.Pointer(((*F5tApi)(unsafe.Pointer(p)).FpApi + 56 /* &.xPhraseSize */))))(tls, (*F5tApi)(unsafe.Pointer(p)).FpFts, *(*int32)(unsafe.Pointer(bp + 544 /* iPhrase */))) if rc == SQLITE_OK { tcl.XTcl_SetObjResult(tls, interp, tcl.XTcl_NewIntObj(tls, sz)) } @@ -29508,34 +29508,34 @@ func xF5tApi(tls *libc.TLS, clientData uintptr, interp uintptr, objc int32, objv } case 6: { - // var nInst int32 at bp+564, 4 + // var nInst int32 at bp+548, 4 - rc = (*(*func(*libc.TLS, uintptr, uintptr) int32)(unsafe.Pointer(((*F5tApi)(unsafe.Pointer(p)).FpApi + 64 /* &.xInstCount */))))(tls, (*F5tApi)(unsafe.Pointer(p)).FpFts, bp+564 /* &nInst */) + rc = (*(*func(*libc.TLS, uintptr, uintptr) int32)(unsafe.Pointer(((*F5tApi)(unsafe.Pointer(p)).FpApi + 64 /* &.xInstCount */))))(tls, (*F5tApi)(unsafe.Pointer(p)).FpFts, bp+548 /* &nInst */) if rc == SQLITE_OK { - tcl.XTcl_SetObjResult(tls, interp, tcl.XTcl_NewIntObj(tls, *(*int32)(unsafe.Pointer(bp + 564 /* nInst */)))) + tcl.XTcl_SetObjResult(tls, interp, tcl.XTcl_NewIntObj(tls, *(*int32)(unsafe.Pointer(bp + 548 /* nInst */)))) } break } case 7: { - // var iIdx int32 at bp+568, 4 + // var iIdx int32 at bp+552, 4 - // var ip int32 at bp+572, 4 + // var ip int32 at bp+556, 4 - // var ic int32 at bp+576, 4 + // var ic int32 at bp+560, 4 - // var io int32 at bp+580, 4 + // var io int32 at bp+564, 4 - if tcl.XTcl_GetIntFromObj(tls, interp, *(*uintptr)(unsafe.Pointer(objv + 2*8)), bp+568 /* &iIdx */) != 0 { + if tcl.XTcl_GetIntFromObj(tls, interp, *(*uintptr)(unsafe.Pointer(objv + 2*8)), bp+552 /* &iIdx */) != 0 { return TCL_ERROR } - rc = (*(*func(*libc.TLS, uintptr, int32, uintptr, uintptr, uintptr) int32)(unsafe.Pointer(((*F5tApi)(unsafe.Pointer(p)).FpApi + 72 /* &.xInst */))))(tls, (*F5tApi)(unsafe.Pointer(p)).FpFts, *(*int32)(unsafe.Pointer(bp + 568 /* iIdx */)), bp+572 /* &ip */, bp+576 /* &ic */, bp+580 /* &io */) + rc = (*(*func(*libc.TLS, uintptr, int32, uintptr, uintptr, uintptr) int32)(unsafe.Pointer(((*F5tApi)(unsafe.Pointer(p)).FpApi + 72 /* &.xInst */))))(tls, (*F5tApi)(unsafe.Pointer(p)).FpFts, *(*int32)(unsafe.Pointer(bp + 552 /* iIdx */)), bp+556 /* &ip */, bp+560 /* &ic */, bp+564 /* &io */) if rc == SQLITE_OK { var pList uintptr = tcl.XTcl_NewObj(tls) - tcl.XTcl_ListObjAppendElement(tls, interp, pList, tcl.XTcl_NewIntObj(tls, *(*int32)(unsafe.Pointer(bp + 572 /* ip */)))) - tcl.XTcl_ListObjAppendElement(tls, interp, pList, tcl.XTcl_NewIntObj(tls, *(*int32)(unsafe.Pointer(bp + 576 /* ic */)))) - tcl.XTcl_ListObjAppendElement(tls, interp, pList, tcl.XTcl_NewIntObj(tls, *(*int32)(unsafe.Pointer(bp + 580 /* io */)))) + tcl.XTcl_ListObjAppendElement(tls, interp, pList, tcl.XTcl_NewIntObj(tls, *(*int32)(unsafe.Pointer(bp + 556 /* ip */)))) + tcl.XTcl_ListObjAppendElement(tls, interp, pList, tcl.XTcl_NewIntObj(tls, *(*int32)(unsafe.Pointer(bp + 560 /* ic */)))) + tcl.XTcl_ListObjAppendElement(tls, interp, pList, tcl.XTcl_NewIntObj(tls, *(*int32)(unsafe.Pointer(bp + 564 /* io */)))) tcl.XTcl_SetObjResult(tls, interp, pList) } break @@ -29550,47 +29550,47 @@ func xF5tApi(tls *libc.TLS, clientData uintptr, interp uintptr, objc int32, objv } case 9: { - *(*uintptr)(unsafe.Pointer(bp + 592 /* z */)) = uintptr(0) - *(*int32)(unsafe.Pointer(bp + 600 /* n */)) = 0 - // var iCol int32 at bp+584, 4 + *(*uintptr)(unsafe.Pointer(bp + 576 /* z */)) = uintptr(0) + *(*int32)(unsafe.Pointer(bp + 584 /* n */)) = 0 + // var iCol int32 at bp+568, 4 - if tcl.XTcl_GetIntFromObj(tls, interp, *(*uintptr)(unsafe.Pointer(objv + 2*8)), bp+584 /* &iCol */) != 0 { + if tcl.XTcl_GetIntFromObj(tls, interp, *(*uintptr)(unsafe.Pointer(objv + 2*8)), bp+568 /* &iCol */) != 0 { return TCL_ERROR } - rc = (*(*func(*libc.TLS, uintptr, int32, uintptr, uintptr) int32)(unsafe.Pointer(((*F5tApi)(unsafe.Pointer(p)).FpApi + 88 /* &.xColumnText */))))(tls, (*F5tApi)(unsafe.Pointer(p)).FpFts, *(*int32)(unsafe.Pointer(bp + 584 /* iCol */)), bp+592 /* &z */, bp+600 /* &n */) + rc = (*(*func(*libc.TLS, uintptr, int32, uintptr, uintptr) int32)(unsafe.Pointer(((*F5tApi)(unsafe.Pointer(p)).FpApi + 88 /* &.xColumnText */))))(tls, (*F5tApi)(unsafe.Pointer(p)).FpFts, *(*int32)(unsafe.Pointer(bp + 568 /* iCol */)), bp+576 /* &z */, bp+584 /* &n */) if rc == SQLITE_OK { - tcl.XTcl_SetObjResult(tls, interp, tcl.XTcl_NewStringObj(tls, *(*uintptr)(unsafe.Pointer(bp + 592 /* z */)), *(*int32)(unsafe.Pointer(bp + 600 /* n */)))) + tcl.XTcl_SetObjResult(tls, interp, tcl.XTcl_NewStringObj(tls, *(*uintptr)(unsafe.Pointer(bp + 576 /* z */)), *(*int32)(unsafe.Pointer(bp + 584 /* n */)))) } break } case 10: { - *(*int32)(unsafe.Pointer(bp + 608 /* n */)) = 0 - // var iCol int32 at bp+604, 4 + *(*int32)(unsafe.Pointer(bp + 592 /* n */)) = 0 + // var iCol int32 at bp+588, 4 - if tcl.XTcl_GetIntFromObj(tls, interp, *(*uintptr)(unsafe.Pointer(objv + 2*8)), bp+604 /* &iCol */) != 0 { + if tcl.XTcl_GetIntFromObj(tls, interp, *(*uintptr)(unsafe.Pointer(objv + 2*8)), bp+588 /* &iCol */) != 0 { return TCL_ERROR } - rc = (*(*func(*libc.TLS, uintptr, int32, uintptr) int32)(unsafe.Pointer(((*F5tApi)(unsafe.Pointer(p)).FpApi + 96 /* &.xColumnSize */))))(tls, (*F5tApi)(unsafe.Pointer(p)).FpFts, *(*int32)(unsafe.Pointer(bp + 604 /* iCol */)), bp+608 /* &n */) + rc = (*(*func(*libc.TLS, uintptr, int32, uintptr) int32)(unsafe.Pointer(((*F5tApi)(unsafe.Pointer(p)).FpApi + 96 /* &.xColumnSize */))))(tls, (*F5tApi)(unsafe.Pointer(p)).FpFts, *(*int32)(unsafe.Pointer(bp + 588 /* iCol */)), bp+592 /* &n */) if rc == SQLITE_OK { - tcl.XTcl_SetObjResult(tls, interp, tcl.XTcl_NewIntObj(tls, *(*int32)(unsafe.Pointer(bp + 608 /* n */)))) + tcl.XTcl_SetObjResult(tls, interp, tcl.XTcl_NewIntObj(tls, *(*int32)(unsafe.Pointer(bp + 592 /* n */)))) } break } case 11: { - // var iPhrase int32 at bp+612, 4 + // var iPhrase int32 at bp+596, 4 - // var ctx F5tFunction at bp+616, 16 + // var ctx F5tFunction at bp+600, 16 - if tcl.XTcl_GetIntFromObj(tls, interp, *(*uintptr)(unsafe.Pointer(objv + 2*8)), bp+612 /* &iPhrase */) != 0 { + if tcl.XTcl_GetIntFromObj(tls, interp, *(*uintptr)(unsafe.Pointer(objv + 2*8)), bp+596 /* &iPhrase */) != 0 { return TCL_ERROR } - (*F5tFunction)(unsafe.Pointer(bp + 616 /* &ctx */)).Finterp = interp - (*F5tFunction)(unsafe.Pointer(bp + 616 /* &ctx */)).FpScript = *(*uintptr)(unsafe.Pointer(objv + 3*8)) - rc = (*(*func(*libc.TLS, uintptr, int32, uintptr, uintptr) int32)(unsafe.Pointer(((*F5tApi)(unsafe.Pointer(p)).FpApi + 104 /* &.xQueryPhrase */))))(tls, (*F5tApi)(unsafe.Pointer(p)).FpFts, *(*int32)(unsafe.Pointer(bp + 612 /* iPhrase */)), bp+616 /* &ctx */, *(*uintptr)(unsafe.Pointer(&struct { + (*F5tFunction)(unsafe.Pointer(bp + 600 /* &ctx */)).Finterp = interp + (*F5tFunction)(unsafe.Pointer(bp + 600 /* &ctx */)).FpScript = *(*uintptr)(unsafe.Pointer(objv + 3*8)) + rc = (*(*func(*libc.TLS, uintptr, int32, uintptr, uintptr) int32)(unsafe.Pointer(((*F5tApi)(unsafe.Pointer(p)).FpApi + 104 /* &.xQueryPhrase */))))(tls, (*F5tApi)(unsafe.Pointer(p)).FpFts, *(*int32)(unsafe.Pointer(bp + 596 /* iPhrase */)), bp+600 /* &ctx */, *(*uintptr)(unsafe.Pointer(&struct { f func(*libc.TLS, uintptr, uintptr, uintptr) int32 }{xQueryPhraseCb}))) if rc == SQLITE_OK { @@ -29615,17 +29615,17 @@ func xF5tApi(tls *libc.TLS, clientData uintptr, interp uintptr, objc int32, objv case 13: { var pData uintptr - // var bClear int32 at bp+632, 4 + // var bClear int32 at bp+616, 4 - if tcl.XTcl_GetBooleanFromObj(tls, interp, *(*uintptr)(unsafe.Pointer(objv + 2*8)), bp+632 /* &bClear */) != 0 { + if tcl.XTcl_GetBooleanFromObj(tls, interp, *(*uintptr)(unsafe.Pointer(objv + 2*8)), bp+616 /* &bClear */) != 0 { return TCL_ERROR } - pData = (*(*func(*libc.TLS, uintptr, int32) uintptr)(unsafe.Pointer(((*F5tApi)(unsafe.Pointer(p)).FpApi + 120 /* &.xGetAuxdata */))))(tls, (*F5tApi)(unsafe.Pointer(p)).FpFts, *(*int32)(unsafe.Pointer(bp + 632 /* bClear */))) + pData = (*(*func(*libc.TLS, uintptr, int32) uintptr)(unsafe.Pointer(((*F5tApi)(unsafe.Pointer(p)).FpApi + 120 /* &.xGetAuxdata */))))(tls, (*F5tApi)(unsafe.Pointer(p)).FpFts, *(*int32)(unsafe.Pointer(bp + 616 /* bClear */))) if pData == uintptr(0) { tcl.XTcl_ResetResult(tls, interp) } else { tcl.XTcl_SetObjResult(tls, interp, (*F5tAuxData)(unsafe.Pointer(pData)).FpObj) - if *(*int32)(unsafe.Pointer(bp + 632 /* bClear */)) != 0 { + if *(*int32)(unsafe.Pointer(bp + 616 /* bClear */)) != 0 { xSetAuxdataDestructor(tls, pData) } } @@ -29639,24 +29639,24 @@ func xF5tApi(tls *libc.TLS, clientData uintptr, interp uintptr, objc int32, objv // do not specify a destructor function. case 14: { - // var iVal int32 at bp+636, 4 + // var iVal int32 at bp+620, 4 - if tcl.XTcl_GetIntFromObj(tls, interp, *(*uintptr)(unsafe.Pointer(objv + 2*8)), bp+636 /* &iVal */) != 0 { + if tcl.XTcl_GetIntFromObj(tls, interp, *(*uintptr)(unsafe.Pointer(objv + 2*8)), bp+620 /* &iVal */) != 0 { return TCL_ERROR } - rc = (*(*func(*libc.TLS, uintptr, uintptr, uintptr) int32)(unsafe.Pointer(((*F5tApi)(unsafe.Pointer(p)).FpApi + 112 /* &.xSetAuxdata */))))(tls, (*F5tApi)(unsafe.Pointer(p)).FpFts, (uintptr(0) + uintptr(*(*int32)(unsafe.Pointer(bp + 636 /* iVal */)))), uintptr(0)) + rc = (*(*func(*libc.TLS, uintptr, uintptr, uintptr) int32)(unsafe.Pointer(((*F5tApi)(unsafe.Pointer(p)).FpApi + 112 /* &.xSetAuxdata */))))(tls, (*F5tApi)(unsafe.Pointer(p)).FpFts, (uintptr(0) + uintptr(*(*int32)(unsafe.Pointer(bp + 620 /* iVal */)))), uintptr(0)) break } case 15: { var iVal int32 - // var bClear int32 at bp+640, 4 + // var bClear int32 at bp+624, 4 - if tcl.XTcl_GetBooleanFromObj(tls, interp, *(*uintptr)(unsafe.Pointer(objv + 2*8)), bp+640 /* &bClear */) != 0 { + if tcl.XTcl_GetBooleanFromObj(tls, interp, *(*uintptr)(unsafe.Pointer(objv + 2*8)), bp+624 /* &bClear */) != 0 { return TCL_ERROR } - iVal = (int32((int64((*(*func(*libc.TLS, uintptr, int32) uintptr)(unsafe.Pointer(((*F5tApi)(unsafe.Pointer(p)).FpApi + 120 /* &.xGetAuxdata */))))(tls, (*F5tApi)(unsafe.Pointer(p)).FpFts, *(*int32)(unsafe.Pointer(bp + 640 /* bClear */)))) - int64(uintptr(0))) / 1)) + iVal = (int32((int64((*(*func(*libc.TLS, uintptr, int32) uintptr)(unsafe.Pointer(((*F5tApi)(unsafe.Pointer(p)).FpApi + 120 /* &.xGetAuxdata */))))(tls, (*F5tApi)(unsafe.Pointer(p)).FpFts, *(*int32)(unsafe.Pointer(bp + 624 /* bClear */)))) - int64(uintptr(0))) / 1)) tcl.XTcl_SetObjResult(tls, interp, tcl.XTcl_NewIntObj(tls, iVal)) break @@ -29664,31 +29664,31 @@ func xF5tApi(tls *libc.TLS, clientData uintptr, interp uintptr, objc int32, objv case 16: { - // var iPhrase int32 at bp+644, 4 + // var iPhrase int32 at bp+628, 4 - // var iCol int32 at bp+664, 4 + // var iCol int32 at bp+648, 4 - // var iOff int32 at bp+668, 4 + // var iOff int32 at bp+652, 4 var zColvar uintptr var zOffvar uintptr var pScript uintptr = *(*uintptr)(unsafe.Pointer(objv + 5*8)) - // var iter Fts5PhraseIter at bp+648, 16 + // var iter Fts5PhraseIter at bp+632, 16 - if tcl.XTcl_GetIntFromObj(tls, interp, *(*uintptr)(unsafe.Pointer(objv + 2*8)), bp+644 /* &iPhrase */) != 0 { + if tcl.XTcl_GetIntFromObj(tls, interp, *(*uintptr)(unsafe.Pointer(objv + 2*8)), bp+628 /* &iPhrase */) != 0 { return TCL_ERROR } zColvar = tcl.XTcl_GetString(tls, *(*uintptr)(unsafe.Pointer(objv + 3*8))) zOffvar = tcl.XTcl_GetString(tls, *(*uintptr)(unsafe.Pointer(objv + 4*8))) - rc = (*(*func(*libc.TLS, uintptr, int32, uintptr, uintptr, uintptr) int32)(unsafe.Pointer(((*F5tApi)(unsafe.Pointer(p)).FpApi + 128 /* &.xPhraseFirst */))))(tls, (*F5tApi)(unsafe.Pointer(p)).FpFts, *(*int32)(unsafe.Pointer(bp + 644 /* iPhrase */)), bp+648 /* &iter */, bp+664 /* &iCol */, bp+668 /* &iOff */) + rc = (*(*func(*libc.TLS, uintptr, int32, uintptr, uintptr, uintptr) int32)(unsafe.Pointer(((*F5tApi)(unsafe.Pointer(p)).FpApi + 128 /* &.xPhraseFirst */))))(tls, (*F5tApi)(unsafe.Pointer(p)).FpFts, *(*int32)(unsafe.Pointer(bp + 628 /* iPhrase */)), bp+632 /* &iter */, bp+648 /* &iCol */, bp+652 /* &iOff */) if rc != SQLITE_OK { - tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp+24, sqlite3.Xsqlite3ErrName(tls, rc), 0)) + tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp+16, sqlite3.Xsqlite3ErrName(tls, rc), 0)) return TCL_ERROR } - for ; *(*int32)(unsafe.Pointer(bp + 664 /* iCol */)) >= 0; (*(*func(*libc.TLS, uintptr, uintptr, uintptr, uintptr))(unsafe.Pointer(((*F5tApi)(unsafe.Pointer(p)).FpApi + 136 /* &.xPhraseNext */))))(tls, (*F5tApi)(unsafe.Pointer(p)).FpFts, bp+648 /* &iter */, bp+664 /* &iCol */, bp+668 /* &iOff */) { - tcl.XTcl_SetVar2Ex(tls, interp, zColvar, uintptr(0), tcl.XTcl_NewIntObj(tls, *(*int32)(unsafe.Pointer(bp + 664 /* iCol */))), 0) - tcl.XTcl_SetVar2Ex(tls, interp, zOffvar, uintptr(0), tcl.XTcl_NewIntObj(tls, *(*int32)(unsafe.Pointer(bp + 668 /* iOff */))), 0) + for ; *(*int32)(unsafe.Pointer(bp + 648 /* iCol */)) >= 0; (*(*func(*libc.TLS, uintptr, uintptr, uintptr, uintptr))(unsafe.Pointer(((*F5tApi)(unsafe.Pointer(p)).FpApi + 136 /* &.xPhraseNext */))))(tls, (*F5tApi)(unsafe.Pointer(p)).FpFts, bp+632 /* &iter */, bp+648 /* &iCol */, bp+652 /* &iOff */) { + tcl.XTcl_SetVar2Ex(tls, interp, zColvar, uintptr(0), tcl.XTcl_NewIntObj(tls, *(*int32)(unsafe.Pointer(bp + 648 /* iCol */))), 0) + tcl.XTcl_SetVar2Ex(tls, interp, zOffvar, uintptr(0), tcl.XTcl_NewIntObj(tls, *(*int32)(unsafe.Pointer(bp + 652 /* iOff */))), 0) rc = tcl.XTcl_EvalObjEx(tls, interp, pScript, 0) if rc == TCL_CONTINUE { rc = TCL_OK @@ -29707,26 +29707,26 @@ func xF5tApi(tls *libc.TLS, clientData uintptr, interp uintptr, objc int32, objv case 17: { - // var iPhrase int32 at bp+672, 4 + // var iPhrase int32 at bp+656, 4 - // var iCol int32 at bp+696, 4 + // var iCol int32 at bp+680, 4 var zColvar uintptr var pScript uintptr = *(*uintptr)(unsafe.Pointer(objv + 4*8)) - // var iter Fts5PhraseIter at bp+680, 16 + // var iter Fts5PhraseIter at bp+664, 16 - if tcl.XTcl_GetIntFromObj(tls, interp, *(*uintptr)(unsafe.Pointer(objv + 2*8)), bp+672 /* &iPhrase */) != 0 { + if tcl.XTcl_GetIntFromObj(tls, interp, *(*uintptr)(unsafe.Pointer(objv + 2*8)), bp+656 /* &iPhrase */) != 0 { return TCL_ERROR } zColvar = tcl.XTcl_GetString(tls, *(*uintptr)(unsafe.Pointer(objv + 3*8))) - rc = (*(*func(*libc.TLS, uintptr, int32, uintptr, uintptr) int32)(unsafe.Pointer(((*F5tApi)(unsafe.Pointer(p)).FpApi + 144 /* &.xPhraseFirstColumn */))))(tls, (*F5tApi)(unsafe.Pointer(p)).FpFts, *(*int32)(unsafe.Pointer(bp + 672 /* iPhrase */)), bp+680 /* &iter */, bp+696 /* &iCol */) + rc = (*(*func(*libc.TLS, uintptr, int32, uintptr, uintptr) int32)(unsafe.Pointer(((*F5tApi)(unsafe.Pointer(p)).FpApi + 144 /* &.xPhraseFirstColumn */))))(tls, (*F5tApi)(unsafe.Pointer(p)).FpFts, *(*int32)(unsafe.Pointer(bp + 656 /* iPhrase */)), bp+664 /* &iter */, bp+680 /* &iCol */) if rc != SQLITE_OK { tcl.XTcl_SetResult(tls, interp, sqlite3.Xsqlite3ErrName(tls, rc), uintptr(1)) return TCL_ERROR } - for ; *(*int32)(unsafe.Pointer(bp + 696 /* iCol */)) >= 0; (*(*func(*libc.TLS, uintptr, uintptr, uintptr))(unsafe.Pointer(((*F5tApi)(unsafe.Pointer(p)).FpApi + 152 /* &.xPhraseNextColumn */))))(tls, (*F5tApi)(unsafe.Pointer(p)).FpFts, bp+680 /* &iter */, bp+696 /* &iCol */) { - tcl.XTcl_SetVar2Ex(tls, interp, zColvar, uintptr(0), tcl.XTcl_NewIntObj(tls, *(*int32)(unsafe.Pointer(bp + 696 /* iCol */))), 0) + for ; *(*int32)(unsafe.Pointer(bp + 680 /* iCol */)) >= 0; (*(*func(*libc.TLS, uintptr, uintptr, uintptr))(unsafe.Pointer(((*F5tApi)(unsafe.Pointer(p)).FpApi + 152 /* &.xPhraseNextColumn */))))(tls, (*F5tApi)(unsafe.Pointer(p)).FpFts, bp+664 /* &iter */, bp+680 /* &iCol */) { + tcl.XTcl_SetVar2Ex(tls, interp, zColvar, uintptr(0), tcl.XTcl_NewIntObj(tls, *(*int32)(unsafe.Pointer(bp + 680 /* iCol */))), 0) rc = tcl.XTcl_EvalObjEx(tls, interp, pScript, 0) if rc == TCL_CONTINUE { rc = TCL_OK @@ -29764,27 +29764,27 @@ type Sub = struct { } /* fts5_tcl.c:224:3 */ func xF5tFunction(tls *libc.TLS, pApi uintptr, pFts uintptr, pCtx uintptr, nVal int32, apVal uintptr) { /* fts5_tcl.c:517:13: */ - bp := tls.Alloc(120) - defer tls.Free(120) + bp := tls.Alloc(112) + defer tls.Free(112) var p uintptr = (*(*func(*libc.TLS, uintptr) uintptr)(unsafe.Pointer((pApi + 8 /* &.xUserData */))))(tls, pFts) var pEval uintptr // Script to evaluate var i int32 var rc int32 - // var zCmd [64]int8 at bp+16, 64 + // var zCmd [64]int8 at bp+8, 64 - // var sApi F5tApi at bp+80, 16 + // var sApi F5tApi at bp+72, 16 - (*F5tApi)(unsafe.Pointer(bp + 80 /* &sApi */)).FpApi = pApi - (*F5tApi)(unsafe.Pointer(bp + 80 /* &sApi */)).FpFts = pFts + (*F5tApi)(unsafe.Pointer(bp + 72 /* &sApi */)).FpApi = pApi + (*F5tApi)(unsafe.Pointer(bp + 72 /* &sApi */)).FpFts = pFts - libc.Xsprintf(tls, bp+16 /* &zCmd[0] */, ts+2396 /* "f5t_%lld" */, libc.VaList(bp, libc.PostIncInt64(&iCmd2, 1))) - tcl.XTcl_CreateObjCommand(tls, (*F5tFunction)(unsafe.Pointer(p)).Finterp, bp+16 /* &zCmd[0] */, *(*uintptr)(unsafe.Pointer(&struct { + libc.Xsprintf(tls, bp+8 /* &zCmd[0] */, ts+2396 /* "f5t_%lld" */, libc.VaList(bp, libc.PostIncInt64(&iCmd2, 1))) + tcl.XTcl_CreateObjCommand(tls, (*F5tFunction)(unsafe.Pointer(p)).Finterp, bp+8 /* &zCmd[0] */, *(*uintptr)(unsafe.Pointer(&struct { f func(*libc.TLS, uintptr, uintptr, int32, uintptr) int32 - }{xF5tApi})), bp+80 /* &sApi */, uintptr(0)) + }{xF5tApi})), bp+72 /* &sApi */, uintptr(0)) pEval = tcl.XTcl_DuplicateObj(tls, (*F5tFunction)(unsafe.Pointer(p)).FpScript) (*Tcl_Obj)(unsafe.Pointer(pEval)).FrefCount++ - tcl.XTcl_ListObjAppendElement(tls, (*F5tFunction)(unsafe.Pointer(p)).Finterp, pEval, tcl.XTcl_NewStringObj(tls, bp+16 /* &zCmd[0] */, -1)) + tcl.XTcl_ListObjAppendElement(tls, (*F5tFunction)(unsafe.Pointer(p)).Finterp, pEval, tcl.XTcl_NewStringObj(tls, bp+8 /* &zCmd[0] */, -1)) for i = 0; i < nVal; i++ { var pObj uintptr = uintptr(0) @@ -29816,13 +29816,13 @@ func xF5tFunction(tls *libc.TLS, pApi uintptr, pFts uintptr, pCtx uintptr, nVal tcl.XTclFreeObj(tls, _objPtr) } } - tcl.XTcl_DeleteCommand(tls, (*F5tFunction)(unsafe.Pointer(p)).Finterp, bp+16 /* &zCmd[0] */) + tcl.XTcl_DeleteCommand(tls, (*F5tFunction)(unsafe.Pointer(p)).Finterp, bp+8 /* &zCmd[0] */) if rc != TCL_OK { sqlite3.Xsqlite3_result_error(tls, pCtx, tcl.XTcl_GetStringResult(tls, (*F5tFunction)(unsafe.Pointer(p)).Finterp), -1) } else { var pVar uintptr = tcl.XTcl_GetObjResult(tls, (*F5tFunction)(unsafe.Pointer(p)).Finterp) - // var n int32 at bp+96, 4 + // var n int32 at bp+88, 4 var zType uintptr = func() uintptr { if (*Tcl_Obj)(unsafe.Pointer(pVar)).FtypePtr != 0 { @@ -29834,24 +29834,24 @@ func xF5tFunction(tls *libc.TLS, pApi uintptr, pFts uintptr, pCtx uintptr, nVal if ((int32(c) == 'b') && (libc.Xstrcmp(tls, zType, ts+2405 /* "bytearray" */) == 0)) && ((*Tcl_Obj)(unsafe.Pointer(pVar)).Fbytes == uintptr(0)) { // Only return a BLOB type if the Tcl variable is a bytearray and // has no string representation. - var data uintptr = tcl.XTcl_GetByteArrayFromObj(tls, pVar, bp+96 /* &n */) - sqlite3.Xsqlite3_result_blob(tls, pCtx, data, *(*int32)(unsafe.Pointer(bp + 96 /* n */)), libc.UintptrFromInt32(-1)) + var data uintptr = tcl.XTcl_GetByteArrayFromObj(tls, pVar, bp+88 /* &n */) + sqlite3.Xsqlite3_result_blob(tls, pCtx, data, *(*int32)(unsafe.Pointer(bp + 88 /* n */)), libc.UintptrFromInt32(-1)) } else if (int32(c) == 'b') && (libc.Xstrcmp(tls, zType, ts+2415 /* "boolean" */) == 0) { - tcl.XTcl_GetIntFromObj(tls, uintptr(0), pVar, bp+96 /* &n */) - sqlite3.Xsqlite3_result_int(tls, pCtx, *(*int32)(unsafe.Pointer(bp + 96 /* n */))) + tcl.XTcl_GetIntFromObj(tls, uintptr(0), pVar, bp+88 /* &n */) + sqlite3.Xsqlite3_result_int(tls, pCtx, *(*int32)(unsafe.Pointer(bp + 88 /* n */))) } else if (int32(c) == 'd') && (libc.Xstrcmp(tls, zType, ts+2423 /* "double" */) == 0) { - // var r float64 at bp+104, 8 + // var r float64 at bp+96, 8 - tcl.XTcl_GetDoubleFromObj(tls, uintptr(0), pVar, bp+104 /* &r */) - sqlite3.Xsqlite3_result_double(tls, pCtx, *(*float64)(unsafe.Pointer(bp + 104 /* r */))) + tcl.XTcl_GetDoubleFromObj(tls, uintptr(0), pVar, bp+96 /* &r */) + sqlite3.Xsqlite3_result_double(tls, pCtx, *(*float64)(unsafe.Pointer(bp + 96 /* r */))) } else if ((int32(c) == 'w') && (libc.Xstrcmp(tls, zType, ts+2430 /* "wideInt" */) == 0)) || ((int32(c) == 'i') && (libc.Xstrcmp(tls, zType, ts+2438 /* "int" */) == 0)) { - // var v Tcl_WideInt at bp+112, 8 + // var v Tcl_WideInt at bp+104, 8 - tcl.XTcl_GetWideIntFromObj(tls, uintptr(0), pVar, bp+112 /* &v */) - sqlite3.Xsqlite3_result_int64(tls, pCtx, *(*Tcl_WideInt)(unsafe.Pointer(bp + 112 /* v */))) + tcl.XTcl_GetWideIntFromObj(tls, uintptr(0), pVar, bp+104 /* &v */) + sqlite3.Xsqlite3_result_int64(tls, pCtx, *(*Tcl_WideInt)(unsafe.Pointer(bp + 104 /* v */))) } else { - var data uintptr = tcl.XTcl_GetStringFromObj(tls, pVar, bp+96 /* &n */) - sqlite3.Xsqlite3_result_text(tls, pCtx, data, *(*int32)(unsafe.Pointer(bp + 96 /* n */)), libc.UintptrFromInt32(-1)) + var data uintptr = tcl.XTcl_GetStringFromObj(tls, pVar, bp+88 /* &n */) + sqlite3.Xsqlite3_result_text(tls, pCtx, data, *(*int32)(unsafe.Pointer(bp + 88 /* n */)), libc.UintptrFromInt32(-1)) } } } @@ -29873,13 +29873,13 @@ func xF5tDestroy(tls *libc.TLS, pCtx uintptr) { /* fts5_tcl.c:600:13: */ // // Description... func f5tCreateFunction(tls *libc.TLS, clientData uintptr, interp uintptr, objc int32, objv uintptr) int32 { /* fts5_tcl.c:611:26: */ - bp := tls.Alloc(48) - defer tls.Free(48) + bp := tls.Alloc(40) + defer tls.Free(40) var zName uintptr var pScript uintptr - *(*uintptr)(unsafe.Pointer(bp + 32 /* db */)) = uintptr(0) - *(*uintptr)(unsafe.Pointer(bp + 40 /* pApi */)) = uintptr(0) + *(*uintptr)(unsafe.Pointer(bp + 24 /* db */)) = uintptr(0) + *(*uintptr)(unsafe.Pointer(bp + 32 /* pApi */)) = uintptr(0) var pCtx uintptr = uintptr(0) var rc int32 @@ -29887,7 +29887,7 @@ func f5tCreateFunction(tls *libc.TLS, clientData uintptr, interp uintptr, objc i tcl.XTcl_WrongNumArgs(tls, interp, 1, objv, ts+2442 /* "DB NAME SCRIPT" */) return TCL_ERROR } - if f5tDbAndApi(tls, interp, *(*uintptr)(unsafe.Pointer(objv + 1*8)), bp+32 /* &db */, bp+40 /* &pApi */) != 0 { + if f5tDbAndApi(tls, interp, *(*uintptr)(unsafe.Pointer(objv + 1*8)), bp+24 /* &db */, bp+32 /* &pApi */) != 0 { return TCL_ERROR } @@ -29898,12 +29898,12 @@ func f5tCreateFunction(tls *libc.TLS, clientData uintptr, interp uintptr, objc i (*F5tFunction)(unsafe.Pointer(pCtx)).FpScript = pScript (*Tcl_Obj)(unsafe.Pointer(pScript)).FrefCount++ - rc = (*(*func(*libc.TLS, uintptr, uintptr, uintptr, fts5_extension_function, uintptr) int32)(unsafe.Pointer((*(*uintptr)(unsafe.Pointer(bp + 40 /* pApi */)) + 24 /* &.xCreateFunction */))))(tls, - *(*uintptr)(unsafe.Pointer(bp + 40 /* pApi */)), zName, pCtx, *(*uintptr)(unsafe.Pointer(&struct { + rc = (*(*func(*libc.TLS, uintptr, uintptr, uintptr, fts5_extension_function, uintptr) int32)(unsafe.Pointer((*(*uintptr)(unsafe.Pointer(bp + 32 /* pApi */)) + 24 /* &.xCreateFunction */))))(tls, + *(*uintptr)(unsafe.Pointer(bp + 32 /* pApi */)), zName, pCtx, *(*uintptr)(unsafe.Pointer(&struct { f func(*libc.TLS, uintptr, uintptr, uintptr, int32, uintptr) }{xF5tFunction})), *(*uintptr)(unsafe.Pointer(&struct{ f func(*libc.TLS, uintptr) }{xF5tDestroy}))) if rc != SQLITE_OK { - tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp, ts+2014 /* "error: " */, sqlite3.Xsqlite3_errmsg(tls, *(*uintptr)(unsafe.Pointer(bp + 32 /* db */))), 0)) + tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp, ts+2014 /* "error: " */, sqlite3.Xsqlite3_errmsg(tls, *(*uintptr)(unsafe.Pointer(bp + 24 /* db */))), 0)) return TCL_ERROR } @@ -29937,26 +29937,26 @@ func xTokenizeCb2(tls *libc.TLS, pCtx uintptr, tflags int32, zToken uintptr, nTo // // Description... func f5tTokenize(tls *libc.TLS, clientData uintptr, interp uintptr, objc int32, objv uintptr) int32 { /* fts5_tcl.c:681:26: */ - bp := tls.Alloc(240) - defer tls.Free(240) + bp := tls.Alloc(200) + defer tls.Free(200) var zText uintptr - // var nText int32 at bp+168, 4 + // var nText int32 at bp+128, 4 - *(*uintptr)(unsafe.Pointer(bp + 136 /* db */)) = uintptr(0) - *(*uintptr)(unsafe.Pointer(bp + 144 /* pApi */)) = uintptr(0) - *(*uintptr)(unsafe.Pointer(bp + 208 /* pTok */)) = uintptr(0) - // var tokenizer fts5_tokenizer at bp+184, 24 + *(*uintptr)(unsafe.Pointer(bp + 96 /* db */)) = uintptr(0) + *(*uintptr)(unsafe.Pointer(bp + 104 /* pApi */)) = uintptr(0) + *(*uintptr)(unsafe.Pointer(bp + 168 /* pTok */)) = uintptr(0) + // var tokenizer fts5_tokenizer at bp+144, 24 var pRet uintptr = uintptr(0) - // var pUserdata uintptr at bp+176, 8 + // var pUserdata uintptr at bp+136, 8 var rc int32 - // var nArg int32 at bp+152, 4 + // var nArg int32 at bp+112, 4 - // var azArg uintptr at bp+160, 8 + // var azArg uintptr at bp+120, 8 - // var ctx F5tTokenizeCtx at bp+216, 24 + // var ctx F5tTokenizeCtx at bp+176, 24 if (objc != 4) && (objc != 5) { tcl.XTcl_WrongNumArgs(tls, interp, 1, objv, ts+2457 /* "?-subst? DB NAME..." */) @@ -29969,43 +29969,43 @@ func f5tTokenize(tls *libc.TLS, clientData uintptr, interp uintptr, objc int32, return TCL_ERROR } } - if f5tDbAndApi(tls, interp, *(*uintptr)(unsafe.Pointer(objv + uintptr((objc-3))*8)), bp+136 /* &db */, bp+144 /* &pApi */) != 0 { + if f5tDbAndApi(tls, interp, *(*uintptr)(unsafe.Pointer(objv + uintptr((objc-3))*8)), bp+96 /* &db */, bp+104 /* &pApi */) != 0 { return TCL_ERROR } - if tcl.XTcl_SplitList(tls, interp, tcl.XTcl_GetString(tls, *(*uintptr)(unsafe.Pointer(objv + uintptr((objc-2))*8))), bp+152 /* &nArg */, bp+160 /* &azArg */) != 0 { + if tcl.XTcl_SplitList(tls, interp, tcl.XTcl_GetString(tls, *(*uintptr)(unsafe.Pointer(objv + uintptr((objc-2))*8))), bp+112 /* &nArg */, bp+120 /* &azArg */) != 0 { return TCL_ERROR } - if *(*int32)(unsafe.Pointer(bp + 152 /* nArg */)) == 0 { - tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp+32, ts+2508 /* "no such tokenize..." */, 0)) - tcl.XTcl_Free(tls, *(*uintptr)(unsafe.Pointer(bp + 160 /* azArg */))) + if *(*int32)(unsafe.Pointer(bp + 112 /* nArg */)) == 0 { + tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp+24, ts+2508 /* "no such tokenize..." */, 0)) + tcl.XTcl_Free(tls, *(*uintptr)(unsafe.Pointer(bp + 120 /* azArg */))) return TCL_ERROR } - zText = tcl.XTcl_GetStringFromObj(tls, *(*uintptr)(unsafe.Pointer(objv + uintptr((objc-1))*8)), bp+168 /* &nText */) + zText = tcl.XTcl_GetStringFromObj(tls, *(*uintptr)(unsafe.Pointer(objv + uintptr((objc-1))*8)), bp+128 /* &nText */) - rc = (*(*func(*libc.TLS, uintptr, uintptr, uintptr, uintptr) int32)(unsafe.Pointer((*(*uintptr)(unsafe.Pointer(bp + 144 /* pApi */)) + 16 /* &.xFindTokenizer */))))(tls, *(*uintptr)(unsafe.Pointer(bp + 144 /* pApi */)), *(*uintptr)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp + 160 /* azArg */)))), bp+176 /* &pUserdata */, bp+184 /* &tokenizer */) + rc = (*(*func(*libc.TLS, uintptr, uintptr, uintptr, uintptr) int32)(unsafe.Pointer((*(*uintptr)(unsafe.Pointer(bp + 104 /* pApi */)) + 16 /* &.xFindTokenizer */))))(tls, *(*uintptr)(unsafe.Pointer(bp + 104 /* pApi */)), *(*uintptr)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp + 120 /* azArg */)))), bp+136 /* &pUserdata */, bp+144 /* &tokenizer */) if rc != SQLITE_OK { - tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp+56, ts+2508 /* "no such tokenize..." */, *(*uintptr)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp + 160 /* azArg */)))), 0)) + tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp+40, ts+2508 /* "no such tokenize..." */, *(*uintptr)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp + 120 /* azArg */)))), 0)) return TCL_ERROR } - rc = (*(*func(*libc.TLS, uintptr, uintptr, int32, uintptr) int32)(unsafe.Pointer((bp + 184 /* &tokenizer */ /* &.xCreate */))))(tls, *(*uintptr)(unsafe.Pointer(bp + 176 /* pUserdata */)), (*(*uintptr)(unsafe.Pointer(bp + 160 /* azArg */)) + 1*8), (*(*int32)(unsafe.Pointer(bp + 152 /* nArg */)) - 1), bp+208 /* &pTok */) + rc = (*(*func(*libc.TLS, uintptr, uintptr, int32, uintptr) int32)(unsafe.Pointer((bp + 144 /* &tokenizer */ /* &.xCreate */))))(tls, *(*uintptr)(unsafe.Pointer(bp + 136 /* pUserdata */)), (*(*uintptr)(unsafe.Pointer(bp + 120 /* azArg */)) + 1*8), (*(*int32)(unsafe.Pointer(bp + 112 /* nArg */)) - 1), bp+168 /* &pTok */) if rc != SQLITE_OK { - tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp+88, ts+2528 /* "error in tokeniz..." */, 0)) + tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp+64, ts+2528 /* "error in tokeniz..." */, 0)) return TCL_ERROR } pRet = tcl.XTcl_NewObj(tls) (*Tcl_Obj)(unsafe.Pointer(pRet)).FrefCount++ - (*F5tTokenizeCtx)(unsafe.Pointer(bp + 216 /* &ctx */)).FbSubst = (libc.Bool32(objc == 5)) - (*F5tTokenizeCtx)(unsafe.Pointer(bp + 216 /* &ctx */)).FpRet = pRet - (*F5tTokenizeCtx)(unsafe.Pointer(bp + 216 /* &ctx */)).FzInput = zText - rc = (*(*func(*libc.TLS, uintptr, uintptr, int32, uintptr, int32, uintptr) int32)(unsafe.Pointer((bp + 184 /* &tokenizer */ + 16 /* &.xTokenize */))))(tls, - *(*uintptr)(unsafe.Pointer(bp + 208 /* pTok */)), bp+216 /* &ctx */, FTS5_TOKENIZE_DOCUMENT, zText, *(*int32)(unsafe.Pointer(bp + 168 /* nText */)), *(*uintptr)(unsafe.Pointer(&struct { + (*F5tTokenizeCtx)(unsafe.Pointer(bp + 176 /* &ctx */)).FbSubst = (libc.Bool32(objc == 5)) + (*F5tTokenizeCtx)(unsafe.Pointer(bp + 176 /* &ctx */)).FpRet = pRet + (*F5tTokenizeCtx)(unsafe.Pointer(bp + 176 /* &ctx */)).FzInput = zText + rc = (*(*func(*libc.TLS, uintptr, uintptr, int32, uintptr, int32, uintptr) int32)(unsafe.Pointer((bp + 144 /* &tokenizer */ + 16 /* &.xTokenize */))))(tls, + *(*uintptr)(unsafe.Pointer(bp + 168 /* pTok */)), bp+176 /* &ctx */, FTS5_TOKENIZE_DOCUMENT, zText, *(*int32)(unsafe.Pointer(bp + 128 /* nText */)), *(*uintptr)(unsafe.Pointer(&struct { f func(*libc.TLS, uintptr, int32, uintptr, int32, int32, int32) int32 }{xTokenizeCb2}))) - (*(*func(*libc.TLS, uintptr))(unsafe.Pointer((bp + 184 /* &tokenizer */ + 8 /* &.xDelete */))))(tls, *(*uintptr)(unsafe.Pointer(bp + 208 /* pTok */))) + (*(*func(*libc.TLS, uintptr))(unsafe.Pointer((bp + 144 /* &tokenizer */ + 8 /* &.xDelete */))))(tls, *(*uintptr)(unsafe.Pointer(bp + 168 /* pTok */))) if rc != SQLITE_OK { - tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp+112, ts+2557 /* "error in tokeniz..." */, 0)) + tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp+80, ts+2557 /* "error in tokeniz..." */, 0)) for ok := true; ok; ok = 0 != 0 { var _objPtr uintptr = pRet if libc.PostDecInt32(&(*Tcl_Obj)(unsafe.Pointer((_objPtr))).FrefCount, 1) <= 1 { @@ -30015,7 +30015,7 @@ func f5tTokenize(tls *libc.TLS, clientData uintptr, interp uintptr, objc int32, return TCL_ERROR } - tcl.XTcl_Free(tls, *(*uintptr)(unsafe.Pointer(bp + 160 /* azArg */))) + tcl.XTcl_Free(tls, *(*uintptr)(unsafe.Pointer(bp + 120 /* azArg */))) tcl.XTcl_SetObjResult(tls, interp, pRet) for ok1 := true; ok1; ok1 = 0 != 0 { var _objPtr uintptr = pRet @@ -30155,20 +30155,20 @@ func f5tTokenizerTokenize(tls *libc.TLS, p uintptr, pCtx uintptr, flags int32, p // sqlite3_fts5_token ?-colocated? TEXT START END func f5tTokenizerReturn(tls *libc.TLS, clientData uintptr, interp uintptr, objc int32, objv uintptr) int32 { /* fts5_tcl.c:887:26: */ - bp := tls.Alloc(40) - defer tls.Free(40) + bp := tls.Alloc(32) + defer tls.Free(32) var p uintptr - // var iStart int32 at bp+32, 4 + // var iStart int32 at bp+24, 4 - // var iEnd int32 at bp+36, 4 + // var iEnd int32 at bp+28, 4 - // var nToken int32 at bp+28, 4 + // var nToken int32 at bp+20, 4 var tflags int32 var zToken uintptr var rc int32 - // var nArg int32 at bp+24, 4 + // var nArg int32 at bp+16, 4 var zArg uintptr p = clientData @@ -30177,8 +30177,8 @@ func f5tTokenizerReturn(tls *libc.TLS, clientData uintptr, interp uintptr, objc if !(objc == 5) { goto __1 } - zArg = tcl.XTcl_GetStringFromObj(tls, *(*uintptr)(unsafe.Pointer(objv + 1*8)), bp+24 /* &nArg */) - if !(((*(*int32)(unsafe.Pointer(bp + 24 /* nArg */)) <= 10) && (*(*int32)(unsafe.Pointer(bp + 24 /* nArg */)) >= 2)) && (libc.Xmemcmp(tls, ts+2627 /* "-colocated" */, zArg, uint64(*(*int32)(unsafe.Pointer(bp + 24 /* nArg */)))) == 0)) { + zArg = tcl.XTcl_GetStringFromObj(tls, *(*uintptr)(unsafe.Pointer(objv + 1*8)), bp+16 /* &nArg */) + if !(((*(*int32)(unsafe.Pointer(bp + 16 /* nArg */)) <= 10) && (*(*int32)(unsafe.Pointer(bp + 16 /* nArg */)) >= 2)) && (libc.Xmemcmp(tls, ts+2627 /* "-colocated" */, zArg, uint64(*(*int32)(unsafe.Pointer(bp + 16 /* nArg */)))) == 0)) { goto __3 } tflags = tflags | (FTS5_TOKEN_COLOCATED) @@ -30198,9 +30198,9 @@ __5: __2: ; - zToken = tcl.XTcl_GetStringFromObj(tls, *(*uintptr)(unsafe.Pointer(objv + uintptr((objc-3))*8)), bp+28 /* &nToken */) - if !((tcl.XTcl_GetIntFromObj(tls, interp, *(*uintptr)(unsafe.Pointer(objv + uintptr((objc-2))*8)), bp+32 /* &iStart */) != 0) || - (tcl.XTcl_GetIntFromObj(tls, interp, *(*uintptr)(unsafe.Pointer(objv + uintptr((objc-1))*8)), bp+36 /* &iEnd */) != 0)) { + zToken = tcl.XTcl_GetStringFromObj(tls, *(*uintptr)(unsafe.Pointer(objv + uintptr((objc-3))*8)), bp+20 /* &nToken */) + if !((tcl.XTcl_GetIntFromObj(tls, interp, *(*uintptr)(unsafe.Pointer(objv + uintptr((objc-2))*8)), bp+24 /* &iStart */) != 0) || + (tcl.XTcl_GetIntFromObj(tls, interp, *(*uintptr)(unsafe.Pointer(objv + uintptr((objc-1))*8)), bp+28 /* &iEnd */) != 0)) { goto __6 } return TCL_ERROR @@ -30216,7 +30216,7 @@ __6: __7: ; - rc = (*(*func(*libc.TLS, uintptr, int32, uintptr, int32, int32, int32) int32)(unsafe.Pointer((p + 8 /* &.xToken */))))(tls, (*F5tTokenizerContext)(unsafe.Pointer(p)).FpCtx, tflags, zToken, *(*int32)(unsafe.Pointer(bp + 28 /* nToken */)), *(*int32)(unsafe.Pointer(bp + 32 /* iStart */)), *(*int32)(unsafe.Pointer(bp + 36 /* iEnd */))) + rc = (*(*func(*libc.TLS, uintptr, int32, uintptr, int32, int32, int32) int32)(unsafe.Pointer((p + 8 /* &.xToken */))))(tls, (*F5tTokenizerContext)(unsafe.Pointer(p)).FpCtx, tflags, zToken, *(*int32)(unsafe.Pointer(bp + 20 /* nToken */)), *(*int32)(unsafe.Pointer(bp + 24 /* iStart */)), *(*int32)(unsafe.Pointer(bp + 28 /* iEnd */))) tcl.XTcl_SetResult(tls, interp, sqlite3.Xsqlite3ErrName(tls, rc), uintptr(1)) if rc == SQLITE_OK { return TCL_OK @@ -30254,17 +30254,17 @@ func f5tDelTokenizer(tls *libc.TLS, pCtx uintptr) { /* fts5_tcl.c:936:13: */ // SCRIPT2 should invoke the [sqlite3_fts5_token] command once for each // token within the tokenized text. func f5tCreateTokenizer(tls *libc.TLS, clientData ClientData, interp uintptr, objc int32, objv uintptr) int32 { /* fts5_tcl.c:958:26: */ - bp := tls.Alloc(64) - defer tls.Free(64) + bp := tls.Alloc(56) + defer tls.Free(56) var pContext uintptr = clientData - // var db uintptr at bp+24, 8 + // var db uintptr at bp+16, 8 - // var pApi uintptr at bp+32, 8 + // var pApi uintptr at bp+24, 8 var zName uintptr var pScript uintptr - // var t fts5_tokenizer at bp+40, 24 + // var t fts5_tokenizer at bp+32, 24 var pMod uintptr var rc int32 @@ -30273,26 +30273,26 @@ func f5tCreateTokenizer(tls *libc.TLS, clientData ClientData, interp uintptr, ob tcl.XTcl_WrongNumArgs(tls, interp, 1, objv, ts+2442 /* "DB NAME SCRIPT" */) return TCL_ERROR } - if f5tDbAndApi(tls, interp, *(*uintptr)(unsafe.Pointer(objv + 1*8)), bp+24 /* &db */, bp+32 /* &pApi */) != 0 { + if f5tDbAndApi(tls, interp, *(*uintptr)(unsafe.Pointer(objv + 1*8)), bp+16 /* &db */, bp+24 /* &pApi */) != 0 { return TCL_ERROR } zName = tcl.XTcl_GetString(tls, *(*uintptr)(unsafe.Pointer(objv + 2*8))) pScript = *(*uintptr)(unsafe.Pointer(objv + 3*8)) - (*fts5_tokenizer)(unsafe.Pointer(bp + 40 /* &t */)).FxCreate = *(*uintptr)(unsafe.Pointer(&struct { + (*fts5_tokenizer)(unsafe.Pointer(bp + 32 /* &t */)).FxCreate = *(*uintptr)(unsafe.Pointer(&struct { f func(*libc.TLS, uintptr, uintptr, int32, uintptr) int32 }{f5tTokenizerCreate})) - (*fts5_tokenizer)(unsafe.Pointer(bp + 40 /* &t */)).FxTokenize = *(*uintptr)(unsafe.Pointer(&struct { + (*fts5_tokenizer)(unsafe.Pointer(bp + 32 /* &t */)).FxTokenize = *(*uintptr)(unsafe.Pointer(&struct { f func(*libc.TLS, uintptr, uintptr, int32, uintptr, int32, uintptr) int32 }{f5tTokenizerTokenize})) - (*fts5_tokenizer)(unsafe.Pointer(bp + 40 /* &t */)).FxDelete = *(*uintptr)(unsafe.Pointer(&struct{ f func(*libc.TLS, uintptr) }{f5tTokenizerDelete})) + (*fts5_tokenizer)(unsafe.Pointer(bp + 32 /* &t */)).FxDelete = *(*uintptr)(unsafe.Pointer(&struct{ f func(*libc.TLS, uintptr) }{f5tTokenizerDelete})) pMod = tcl.XTcl_Alloc(tls, uint32(unsafe.Sizeof(F5tTokenizerModule{}))) (*F5tTokenizerModule)(unsafe.Pointer(pMod)).Finterp = interp (*F5tTokenizerModule)(unsafe.Pointer(pMod)).FpScript = pScript (*F5tTokenizerModule)(unsafe.Pointer(pMod)).FpContext = pContext (*Tcl_Obj)(unsafe.Pointer(pScript)).FrefCount++ - rc = (*(*func(*libc.TLS, uintptr, uintptr, uintptr, uintptr, uintptr) int32)(unsafe.Pointer((*(*uintptr)(unsafe.Pointer(bp + 32 /* pApi */)) + 8 /* &.xCreateTokenizer */))))(tls, *(*uintptr)(unsafe.Pointer(bp + 32 /* pApi */)), zName, pMod, bp+40 /* &t */, *(*uintptr)(unsafe.Pointer(&struct{ f func(*libc.TLS, uintptr) }{f5tDelTokenizer}))) + rc = (*(*func(*libc.TLS, uintptr, uintptr, uintptr, uintptr, uintptr) int32)(unsafe.Pointer((*(*uintptr)(unsafe.Pointer(bp + 24 /* pApi */)) + 8 /* &.xCreateTokenizer */))))(tls, *(*uintptr)(unsafe.Pointer(bp + 24 /* pApi */)), zName, pMod, bp+32 /* &t */, *(*uintptr)(unsafe.Pointer(&struct{ f func(*libc.TLS, uintptr) }{f5tDelTokenizer}))) if rc != SQLITE_OK { tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp, ts+2724 /* "error in fts5_ap..." */, 0)) return TCL_ERROR @@ -30753,8 +30753,8 @@ func fts5MatchinfoLocalCb(tls *libc.TLS, pApi uintptr, pFts uintptr, p uintptr, } func fts5MatchinfoNew(tls *libc.TLS, pApi uintptr, pFts uintptr, pCtx uintptr, zArg uintptr) uintptr { /* fts5_test_mi.c:301:25: */ - bp := tls.Alloc(16) - defer tls.Free(16) + bp := tls.Alloc(8) + defer tls.Free(8) var p uintptr var nCol int32 @@ -31455,8 +31455,8 @@ func apndCheckReservedLock(tls *libc.TLS, pFile uintptr, pResOut uintptr) int32 // File control method. For custom operations on an apnd-file. func apndFileControl(tls *libc.TLS, pFile uintptr, op int32, pArg uintptr) int32 { /* appendvfs.c:352:12: */ - bp := tls.Alloc(24) - defer tls.Free(24) + bp := tls.Alloc(16) + defer tls.Free(16) var paf uintptr = pFile var rc int32 @@ -32290,8 +32290,8 @@ func amatchMergeRules(tls *libc.TLS, pA uintptr, pB uintptr) uintptr { /* amatch // is returned. Otherwise, *ppRule is zeroed, *pzErr may be set to point // to an error message and an SQLite error code returned. func amatchLoadOneRule(tls *libc.TLS, p uintptr, pStmt uintptr, ppRule uintptr, pzErr uintptr) int32 { /* amatch.c:567:12: */ - bp := tls.Alloc(72) - defer tls.Free(72) + bp := tls.Alloc(48) + defer tls.Free(48) var iLang sqlite3_int64 = sqlite3.Xsqlite3_column_int64(tls, pStmt, 0) var zFrom uintptr = sqlite3.Xsqlite3_column_text(tls, pStmt, 1) @@ -32329,11 +32329,11 @@ func amatchLoadOneRule(tls *libc.TLS, p uintptr, pStmt uintptr, ppRule uintptr, rc = SQLITE_ERROR } else if (nFrom > AMATCH_MX_LENGTH) || (nTo > AMATCH_MX_LENGTH) { *(*uintptr)(unsafe.Pointer(pzErr)) = sqlite3.Xsqlite3_mprintf(tls, ts+3199, /* "%s: maximum stri..." */ - libc.VaList(bp+24, (*amatch_vtab)(unsafe.Pointer(p)).FzClassName, AMATCH_MX_LENGTH)) + libc.VaList(bp+16, (*amatch_vtab)(unsafe.Pointer(p)).FzClassName, AMATCH_MX_LENGTH)) rc = SQLITE_ERROR } else if (iLang < int64(0)) || (iLang > int64(AMATCH_MX_LANGID)) { *(*uintptr)(unsafe.Pointer(pzErr)) = sqlite3.Xsqlite3_mprintf(tls, ts+3231, /* "%s: iLang must b..." */ - libc.VaList(bp+48, (*amatch_vtab)(unsafe.Pointer(p)).FzClassName, AMATCH_MX_LANGID)) + libc.VaList(bp+32, (*amatch_vtab)(unsafe.Pointer(p)).FzClassName, AMATCH_MX_LANGID)) rc = SQLITE_ERROR } else if (libc.Xstrcmp(tls, zFrom, ts+489 /* "" */) == 0) && (libc.Xstrcmp(tls, zTo, ts+3266 /* "?" */) == 0) { if ((*amatch_vtab)(unsafe.Pointer(p)).FrIns == 0) || ((*amatch_vtab)(unsafe.Pointer(p)).FrIns > rCost) { @@ -32375,8 +32375,8 @@ func amatchFreeRules(tls *libc.TLS, p uintptr) { /* amatch.c:644:13: */ // Load the content of the amatch data table into memory. func amatchLoadRules(tls *libc.TLS, db uintptr, p uintptr, pzErr uintptr) int32 { /* amatch.c:656:12: */ - bp := tls.Alloc(216) - defer tls.Free(216) + bp := tls.Alloc(192) + defer tls.Free(192) var rc int32 = SQLITE_OK // Return code var zSql uintptr // SELECT used to read from rules table @@ -32387,25 +32387,25 @@ func amatchLoadRules(tls *libc.TLS, db uintptr, p uintptr, pzErr uintptr) int32 rc = SQLITE_NOMEM } else { var rc2 int32 // finalize() return code - *(*uintptr)(unsafe.Pointer(bp + 80 /* pStmt */)) = uintptr(0) - rc = sqlite3.Xsqlite3_prepare_v2(tls, db, zSql, -1, bp+80 /* &pStmt */, uintptr(0)) + *(*uintptr)(unsafe.Pointer(bp + 56 /* pStmt */)) = uintptr(0) + rc = sqlite3.Xsqlite3_prepare_v2(tls, db, zSql, -1, bp+56 /* &pStmt */, uintptr(0)) if rc != SQLITE_OK { - *(*uintptr)(unsafe.Pointer(pzErr)) = sqlite3.Xsqlite3_mprintf(tls, ts+3288 /* "%s: %s" */, libc.VaList(bp+24, (*amatch_vtab)(unsafe.Pointer(p)).FzClassName, sqlite3.Xsqlite3_errmsg(tls, db))) - } else if sqlite3.Xsqlite3_column_count(tls, *(*uintptr)(unsafe.Pointer(bp + 80 /* pStmt */))) != 4 { + *(*uintptr)(unsafe.Pointer(pzErr)) = sqlite3.Xsqlite3_mprintf(tls, ts+3288 /* "%s: %s" */, libc.VaList(bp+16, (*amatch_vtab)(unsafe.Pointer(p)).FzClassName, sqlite3.Xsqlite3_errmsg(tls, db))) + } else if sqlite3.Xsqlite3_column_count(tls, *(*uintptr)(unsafe.Pointer(bp + 56 /* pStmt */))) != 4 { *(*uintptr)(unsafe.Pointer(pzErr)) = sqlite3.Xsqlite3_mprintf(tls, ts+3295, /* "%s: %s has %d co..." */ - libc.VaList(bp+48, (*amatch_vtab)(unsafe.Pointer(p)).FzClassName, (*amatch_vtab)(unsafe.Pointer(p)).FzCostTab, sqlite3.Xsqlite3_column_count(tls, *(*uintptr)(unsafe.Pointer(bp + 80 /* pStmt */))))) + libc.VaList(bp+32, (*amatch_vtab)(unsafe.Pointer(p)).FzClassName, (*amatch_vtab)(unsafe.Pointer(p)).FzCostTab, sqlite3.Xsqlite3_column_count(tls, *(*uintptr)(unsafe.Pointer(bp + 56 /* pStmt */))))) rc = SQLITE_ERROR } else { - for (rc == SQLITE_OK) && (SQLITE_ROW == sqlite3.Xsqlite3_step(tls, *(*uintptr)(unsafe.Pointer(bp + 80 /* pStmt */)))) { - *(*uintptr)(unsafe.Pointer(bp + 88 /* pRule */)) = uintptr(0) - rc = amatchLoadOneRule(tls, p, *(*uintptr)(unsafe.Pointer(bp + 80 /* pStmt */)), bp+88 /* &pRule */, pzErr) - if *(*uintptr)(unsafe.Pointer(bp + 88 /* pRule */)) != 0 { - (*amatch_rule)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp + 88 /* pRule */)))).FpNext = pHead - pHead = *(*uintptr)(unsafe.Pointer(bp + 88 /* pRule */)) + for (rc == SQLITE_OK) && (SQLITE_ROW == sqlite3.Xsqlite3_step(tls, *(*uintptr)(unsafe.Pointer(bp + 56 /* pStmt */)))) { + *(*uintptr)(unsafe.Pointer(bp + 64 /* pRule */)) = uintptr(0) + rc = amatchLoadOneRule(tls, p, *(*uintptr)(unsafe.Pointer(bp + 56 /* pStmt */)), bp+64 /* &pRule */, pzErr) + if *(*uintptr)(unsafe.Pointer(bp + 64 /* pRule */)) != 0 { + (*amatch_rule)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp + 64 /* pRule */)))).FpNext = pHead + pHead = *(*uintptr)(unsafe.Pointer(bp + 64 /* pRule */)) } } } - rc2 = sqlite3.Xsqlite3_finalize(tls, *(*uintptr)(unsafe.Pointer(bp + 80 /* pStmt */))) + rc2 = sqlite3.Xsqlite3_finalize(tls, *(*uintptr)(unsafe.Pointer(bp + 56 /* pStmt */))) if rc == SQLITE_OK { rc = rc2 } @@ -32418,24 +32418,24 @@ func amatchLoadRules(tls *libc.TLS, db uintptr, p uintptr, pzErr uintptr) int32 if rc == SQLITE_OK { var i uint32 var pX uintptr - // var a [15]uintptr at bp+96, 120 + // var a [15]uintptr at bp+72, 120 for i = uint32(0); uint64(i) < (uint64(unsafe.Sizeof([15]uintptr{})) / uint64(unsafe.Sizeof(uintptr(0)))); i++ { - *(*uintptr)(unsafe.Pointer(bp + 96 /* &a[0] */ + uintptr(i)*8)) = uintptr(0) + *(*uintptr)(unsafe.Pointer(bp + 72 /* &a[0] */ + uintptr(i)*8)) = uintptr(0) } for (libc.AssignUintptr(&pX, pHead)) != uintptr(0) { pHead = (*amatch_rule)(unsafe.Pointer(pX)).FpNext (*amatch_rule)(unsafe.Pointer(pX)).FpNext = uintptr(0) - for i = uint32(0); (*(*uintptr)(unsafe.Pointer(bp + 96 /* &a[0] */ + uintptr(i)*8)) != 0) && (uint64(i) < ((uint64(unsafe.Sizeof([15]uintptr{})) / uint64(unsafe.Sizeof(uintptr(0)))) - uint64(1))); i++ { - pX = amatchMergeRules(tls, *(*uintptr)(unsafe.Pointer(bp + 96 /* &a[0] */ + uintptr(i)*8)), pX) - *(*uintptr)(unsafe.Pointer(bp + 96 /* &a[0] */ + uintptr(i)*8)) = uintptr(0) + for i = uint32(0); (*(*uintptr)(unsafe.Pointer(bp + 72 /* &a[0] */ + uintptr(i)*8)) != 0) && (uint64(i) < ((uint64(unsafe.Sizeof([15]uintptr{})) / uint64(unsafe.Sizeof(uintptr(0)))) - uint64(1))); i++ { + pX = amatchMergeRules(tls, *(*uintptr)(unsafe.Pointer(bp + 72 /* &a[0] */ + uintptr(i)*8)), pX) + *(*uintptr)(unsafe.Pointer(bp + 72 /* &a[0] */ + uintptr(i)*8)) = uintptr(0) } - *(*uintptr)(unsafe.Pointer(bp + 96 /* &a[0] */ + uintptr(i)*8)) = amatchMergeRules(tls, *(*uintptr)(unsafe.Pointer(bp + 96 /* &a[0] */ + uintptr(i)*8)), pX) + *(*uintptr)(unsafe.Pointer(bp + 72 /* &a[0] */ + uintptr(i)*8)) = amatchMergeRules(tls, *(*uintptr)(unsafe.Pointer(bp + 72 /* &a[0] */ + uintptr(i)*8)), pX) } - pX = *(*uintptr)(unsafe.Pointer(bp + 96 /* &a[0] */)) + pX = *(*uintptr)(unsafe.Pointer(bp + 72 /* &a[0] */)) i = uint32(1) for ; uint64(i) < (uint64(unsafe.Sizeof([15]uintptr{})) / uint64(unsafe.Sizeof(uintptr(0)))); i++ { - pX = amatchMergeRules(tls, *(*uintptr)(unsafe.Pointer(bp + 96 /* &a[0] */ + uintptr(i)*8)), pX) + pX = amatchMergeRules(tls, *(*uintptr)(unsafe.Pointer(bp + 72 /* &a[0] */ + uintptr(i)*8)), pX) } (*amatch_vtab)(unsafe.Pointer(p)).FpRule = amatchMergeRules(tls, (*amatch_vtab)(unsafe.Pointer(p)).FpRule, pX) } else { @@ -32557,8 +32557,8 @@ func amatchValueOfKey(tls *libc.TLS, zKey uintptr, zStr uintptr) uintptr { /* am // argv[2] -> table name // argv[3...] -> arguments func amatchConnect(tls *libc.TLS, db uintptr, pAux uintptr, argc int32, argv uintptr, ppVtab uintptr, pzErr uintptr) int32 { /* amatch.c:834:12: */ - bp := tls.Alloc(64) - defer tls.Free(64) + bp := tls.Alloc(32) + defer tls.Free(32) var rc int32 // Return code var pNew uintptr // New virtual table @@ -32590,14 +32590,14 @@ __1: goto amatchConnectError __2: ; - (*amatch_vtab)(unsafe.Pointer(pNew)).FzDb = sqlite3.Xsqlite3_mprintf(tls, ts /* "%s" */, libc.VaList(bp+16, zDb)) + (*amatch_vtab)(unsafe.Pointer(pNew)).FzDb = sqlite3.Xsqlite3_mprintf(tls, ts /* "%s" */, libc.VaList(bp+8, zDb)) if !((*amatch_vtab)(unsafe.Pointer(pNew)).FzDb == uintptr(0)) { goto __3 } goto amatchConnectError __3: ; - (*amatch_vtab)(unsafe.Pointer(pNew)).FzSelf = sqlite3.Xsqlite3_mprintf(tls, ts /* "%s" */, libc.VaList(bp+32, *(*uintptr)(unsafe.Pointer(argv + 2*8)))) + (*amatch_vtab)(unsafe.Pointer(pNew)).FzSelf = sqlite3.Xsqlite3_mprintf(tls, ts /* "%s" */, libc.VaList(bp+16, *(*uintptr)(unsafe.Pointer(argv + 2*8)))) if !((*amatch_vtab)(unsafe.Pointer(pNew)).FzSelf == uintptr(0)) { goto __4 } @@ -32669,7 +32669,7 @@ __15: goto __6 __14: ; - *(*uintptr)(unsafe.Pointer(pzErr)) = sqlite3.Xsqlite3_mprintf(tls, ts+3397 /* "unrecognized arg..." */, libc.VaList(bp+48, *(*uintptr)(unsafe.Pointer(argv + uintptr(i)*8)))) + *(*uintptr)(unsafe.Pointer(pzErr)) = sqlite3.Xsqlite3_mprintf(tls, ts+3397 /* "unrecognized arg..." */, libc.VaList(bp+24, *(*uintptr)(unsafe.Pointer(argv + uintptr(i)*8)))) amatchFree(tls, pNew) *(*uintptr)(unsafe.Pointer(ppVtab)) = uintptr(0) return SQLITE_ERROR @@ -32864,8 +32864,8 @@ func amatchAddWord(tls *libc.TLS, pCur uintptr, rCost amatch_cost, nMatch int32, // Advance a cursor to its next row of output func amatchNext(tls *libc.TLS, cur uintptr) int32 { /* amatch.c:1102:12: */ - bp := tls.Alloc(96) - defer tls.Free(96) + bp := tls.Alloc(80) + defer tls.Free(80) var pCur uintptr = cur var pWord uintptr = uintptr(0) @@ -32879,9 +32879,9 @@ func amatchNext(tls *libc.TLS, cur uintptr) int32 { /* amatch.c:1102:12: */ var pRule uintptr var zBuf uintptr = uintptr(0) var nBuf int8 = int8(0) - // var zNext [8]int8 at bp+80, 8 + // var zNext [8]int8 at bp+64, 8 - // var zNextIn [8]int8 at bp+88, 8 + // var zNextIn [8]int8 at bp+72, 8 var nNextIn int32 @@ -32898,7 +32898,7 @@ func amatchNext(tls *libc.TLS, cur uintptr) int32 { /* amatch.c:1102:12: */ zSql = sqlite3.Xsqlite3_mprintf(tls, ts+3653, /* "SELECT \"%w\" FROM..." */ - libc.VaList(bp+48, (*amatch_vtab)(unsafe.Pointer(p)).FzVocabWord, (*amatch_vtab)(unsafe.Pointer(p)).FzVocabTab, + libc.VaList(bp+40, (*amatch_vtab)(unsafe.Pointer(p)).FzVocabWord, (*amatch_vtab)(unsafe.Pointer(p)).FzVocabTab, (*amatch_vtab)(unsafe.Pointer(p)).FzVocabWord)) } rc = sqlite3.Xsqlite3_prepare_v2(tls, (*amatch_vtab)(unsafe.Pointer(p)).Fdb, zSql, -1, (p + 112 /* &.pVCheck */), uintptr(0)) @@ -32927,21 +32927,21 @@ func amatchNext(tls *libc.TLS, cur uintptr) int32 { /* amatch.c:1102:12: */ } } amatchStrcpy(tls, zBuf, ((pWord + 124 /* &.zWord */) + uintptr(2))) - *(*int8)(unsafe.Pointer(bp + 80 /* &zNext[0] */)) = int8(0) - *(*int8)(unsafe.Pointer(bp + 88 /* &zNextIn[0] */)) = *(*int8)(unsafe.Pointer((*amatch_cursor)(unsafe.Pointer(pCur)).FzInput + uintptr((*amatch_word)(unsafe.Pointer(pWord)).FnMatch))) - if *(*int8)(unsafe.Pointer(bp + 88 /* &zNextIn[0] */)) != 0 { + *(*int8)(unsafe.Pointer(bp + 64 /* &zNext[0] */)) = int8(0) + *(*int8)(unsafe.Pointer(bp + 72 /* &zNextIn[0] */)) = *(*int8)(unsafe.Pointer((*amatch_cursor)(unsafe.Pointer(pCur)).FzInput + uintptr((*amatch_word)(unsafe.Pointer(pWord)).FnMatch))) + if *(*int8)(unsafe.Pointer(bp + 72 /* &zNextIn[0] */)) != 0 { for i = 1; (i <= 4) && ((int32(*(*int8)(unsafe.Pointer((*amatch_cursor)(unsafe.Pointer(pCur)).FzInput + uintptr((int32((*amatch_word)(unsafe.Pointer(pWord)).FnMatch) + i))))) & 0xc0) == 0x80); i++ { - *(*int8)(unsafe.Pointer(bp + 88 /* &zNextIn[0] */ + uintptr(i))) = *(*int8)(unsafe.Pointer((*amatch_cursor)(unsafe.Pointer(pCur)).FzInput + uintptr((int32((*amatch_word)(unsafe.Pointer(pWord)).FnMatch) + i)))) + *(*int8)(unsafe.Pointer(bp + 72 /* &zNextIn[0] */ + uintptr(i))) = *(*int8)(unsafe.Pointer((*amatch_cursor)(unsafe.Pointer(pCur)).FzInput + uintptr((int32((*amatch_word)(unsafe.Pointer(pWord)).FnMatch) + i)))) } - *(*int8)(unsafe.Pointer(bp + 88 /* &zNextIn[0] */ + uintptr(i))) = int8(0) + *(*int8)(unsafe.Pointer(bp + 72 /* &zNextIn[0] */ + uintptr(i))) = int8(0) nNextIn = i } else { nNextIn = 0 } - if (*(*int8)(unsafe.Pointer(bp + 88 /* &zNextIn[0] */)) != 0) && (int32(*(*int8)(unsafe.Pointer(bp + 88 /* &zNextIn[0] */))) != '*') { + if (*(*int8)(unsafe.Pointer(bp + 72 /* &zNextIn[0] */)) != 0) && (int32(*(*int8)(unsafe.Pointer(bp + 72 /* &zNextIn[0] */))) != '*') { sqlite3.Xsqlite3_reset(tls, (*amatch_vtab)(unsafe.Pointer(p)).FpVCheck) - amatchStrcat(tls, zBuf, bp+88 /* &zNextIn[0] */) + amatchStrcat(tls, zBuf, bp+72 /* &zNextIn[0] */) sqlite3.Xsqlite3_bind_text(tls, (*amatch_vtab)(unsafe.Pointer(p)).FpVCheck, 1, zBuf, (nWord + nNextIn), uintptr(0)) rc = sqlite3.Xsqlite3_step(tls, (*amatch_vtab)(unsafe.Pointer(p)).FpVCheck) if rc == SQLITE_ROW { @@ -32954,7 +32954,7 @@ func amatchNext(tls *libc.TLS, cur uintptr) int32 { /* amatch.c:1102:12: */ } for 1 != 0 { - amatchStrcpy(tls, (zBuf + uintptr(nWord)), bp+80 /* &zNext[0] */) + amatchStrcpy(tls, (zBuf + uintptr(nWord)), bp+64 /* &zNext[0] */) sqlite3.Xsqlite3_reset(tls, (*amatch_vtab)(unsafe.Pointer(p)).FpVCheck) sqlite3.Xsqlite3_bind_text(tls, (*amatch_vtab)(unsafe.Pointer(p)).FpVCheck, 1, zBuf, -1, libc.UintptrFromInt32(-1)) rc = sqlite3.Xsqlite3_step(tls, (*amatch_vtab)(unsafe.Pointer(p)).FpVCheck) @@ -32962,35 +32962,35 @@ func amatchNext(tls *libc.TLS, cur uintptr) int32 { /* amatch.c:1102:12: */ break } zW = sqlite3.Xsqlite3_column_text(tls, (*amatch_vtab)(unsafe.Pointer(p)).FpVCheck, 0) - amatchStrcpy(tls, (zBuf + uintptr(nWord)), bp+80 /* &zNext[0] */) + amatchStrcpy(tls, (zBuf + uintptr(nWord)), bp+64 /* &zNext[0] */) if libc.Xstrncmp(tls, zW, zBuf, uint64(nWord)) != 0 { break } - if ((int32(*(*int8)(unsafe.Pointer(bp + 88 /* &zNextIn[0] */))) == '*') && (int32(*(*int8)(unsafe.Pointer(bp + 88 /* &zNextIn[0] */ + 1))) == 0)) || - ((int32(*(*int8)(unsafe.Pointer(bp + 88 /* &zNextIn[0] */))) == 0) && (int32(*(*int8)(unsafe.Pointer(zW + uintptr(nWord)))) == 0)) { + if ((int32(*(*int8)(unsafe.Pointer(bp + 72 /* &zNextIn[0] */))) == '*') && (int32(*(*int8)(unsafe.Pointer(bp + 72 /* &zNextIn[0] */ + 1))) == 0)) || + ((int32(*(*int8)(unsafe.Pointer(bp + 72 /* &zNextIn[0] */))) == 0) && (int32(*(*int8)(unsafe.Pointer(zW + uintptr(nWord)))) == 0)) { isMatch = 1 - *(*int8)(unsafe.Pointer(bp + 88 /* &zNextIn[0] */)) = int8(0) + *(*int8)(unsafe.Pointer(bp + 72 /* &zNextIn[0] */)) = int8(0) nNextIn = 0 break } - *(*int8)(unsafe.Pointer(bp + 80 /* &zNext[0] */)) = *(*int8)(unsafe.Pointer(zW + uintptr(nWord))) + *(*int8)(unsafe.Pointer(bp + 64 /* &zNext[0] */)) = *(*int8)(unsafe.Pointer(zW + uintptr(nWord))) for i = 1; (i <= 4) && ((int32(*(*int8)(unsafe.Pointer(zW + uintptr((nWord + i))))) & 0xc0) == 0x80); i++ { - *(*int8)(unsafe.Pointer(bp + 80 /* &zNext[0] */ + uintptr(i))) = *(*int8)(unsafe.Pointer(zW + uintptr((nWord + i)))) + *(*int8)(unsafe.Pointer(bp + 64 /* &zNext[0] */ + uintptr(i))) = *(*int8)(unsafe.Pointer(zW + uintptr((nWord + i)))) } - *(*int8)(unsafe.Pointer(bp + 80 /* &zNext[0] */ + uintptr(i))) = int8(0) + *(*int8)(unsafe.Pointer(bp + 64 /* &zNext[0] */ + uintptr(i))) = int8(0) *(*int8)(unsafe.Pointer(zBuf + uintptr(nWord))) = int8(0) if (*amatch_vtab)(unsafe.Pointer(p)).FrIns > 0 { amatchAddWord(tls, pCur, ((*amatch_word)(unsafe.Pointer(pWord)).FrCost + (*amatch_vtab)(unsafe.Pointer(p)).FrIns), int32((*amatch_word)(unsafe.Pointer(pWord)).FnMatch), - zBuf, bp+80 /* &zNext[0] */) + zBuf, bp+64 /* &zNext[0] */) } if (*amatch_vtab)(unsafe.Pointer(p)).FrSub > 0 { amatchAddWord(tls, pCur, ((*amatch_word)(unsafe.Pointer(pWord)).FrCost + (*amatch_vtab)(unsafe.Pointer(p)).FrSub), (int32((*amatch_word)(unsafe.Pointer(pWord)).FnMatch) + nNextIn), - zBuf, bp+80 /* &zNext[0] */) + zBuf, bp+64 /* &zNext[0] */) } if ((*amatch_vtab)(unsafe.Pointer(p)).FrIns < 0) && ((*amatch_vtab)(unsafe.Pointer(p)).FrSub < 0) { break } - *(*int8)(unsafe.Pointer(bp + 80 /* &zNext[0] */ + uintptr((i - 1))))++ // FIX ME + *(*int8)(unsafe.Pointer(bp + 64 /* &zNext[0] */ + uintptr((i - 1))))++ // FIX ME } sqlite3.Xsqlite3_reset(tls, (*amatch_vtab)(unsafe.Pointer(p)).FpVCheck) @@ -33019,8 +33019,8 @@ func amatchNext(tls *libc.TLS, cur uintptr) int32 { /* amatch.c:1102:12: */ // it starts its output over again. Always called at least once // prior to any amatchColumn, amatchRowid, or amatchEof call. func amatchFilter(tls *libc.TLS, pVtabCursor uintptr, idxNum int32, idxStr uintptr, argc int32, argv uintptr) int32 { /* amatch.c:1251:12: */ - bp := tls.Alloc(16) - defer tls.Free(16) + bp := tls.Alloc(8) + defer tls.Free(8) var pCur uintptr = pVtabCursor var zWord uintptr = ts + 3701 /* "*" */ @@ -33200,8 +33200,8 @@ __3: // This implementation disallows DELETE and UPDATE. The only thing // allowed is INSERT into the "command" column. func amatchUpdate(tls *libc.TLS, pVTab uintptr, argc int32, argv uintptr, pRowid uintptr) int32 { /* amatch.c:1418:12: */ - bp := tls.Alloc(48) - defer tls.Free(48) + bp := tls.Alloc(24) + defer tls.Free(24) var p uintptr = pVTab var zCmd uintptr @@ -33213,14 +33213,14 @@ func amatchUpdate(tls *libc.TLS, pVTab uintptr, argc int32, argv uintptr, pRowid } if sqlite3.Xsqlite3_value_type(tls, *(*uintptr)(unsafe.Pointer(argv))) != SQLITE_NULL { (*sqlite3_vtab)(unsafe.Pointer(pVTab)).FzErrMsg = sqlite3.Xsqlite3_mprintf(tls, ts+3733, /* "UPDATE of %s is ..." */ - libc.VaList(bp+16, (*amatch_vtab)(unsafe.Pointer(p)).FzSelf)) + libc.VaList(bp+8, (*amatch_vtab)(unsafe.Pointer(p)).FzSelf)) return SQLITE_ERROR } if ((sqlite3.Xsqlite3_value_type(tls, *(*uintptr)(unsafe.Pointer(argv + 2*8))) != SQLITE_NULL) || (sqlite3.Xsqlite3_value_type(tls, *(*uintptr)(unsafe.Pointer(argv + 3*8))) != SQLITE_NULL)) || (sqlite3.Xsqlite3_value_type(tls, *(*uintptr)(unsafe.Pointer(argv + 4*8))) != SQLITE_NULL) { (*sqlite3_vtab)(unsafe.Pointer(pVTab)).FzErrMsg = sqlite3.Xsqlite3_mprintf(tls, - ts+3761 /* "INSERT INTO %s a..." */, libc.VaList(bp+32, (*amatch_vtab)(unsafe.Pointer(p)).FzSelf)) + ts+3761 /* "INSERT INTO %s a..." */, libc.VaList(bp+16, (*amatch_vtab)(unsafe.Pointer(p)).FzSelf)) return SQLITE_ERROR } zCmd = sqlite3.Xsqlite3_value_text(tls, *(*uintptr)(unsafe.Pointer(argv + 5*8))) @@ -33426,8 +33426,8 @@ func carrayEof(tls *libc.TLS, cur uintptr) int32 { /* carray.c:238:12: */ // This method is called to "rewind" the carray_cursor object back // to the first row of output. func carrayFilter(tls *libc.TLS, pVtabCursor uintptr, idxNum int32, idxStr uintptr, argc int32, argv uintptr) int32 { /* carray.c:247:12: */ - bp := tls.Alloc(16) - defer tls.Free(16) + bp := tls.Alloc(8) + defer tls.Free(8) var pCur uintptr = pVtabCursor (*carray_cursor)(unsafe.Pointer(pCur)).FpPtr = uintptr(0) @@ -33851,8 +33851,8 @@ func cksmSetFlags(tls *libc.TLS, p uintptr, hasCorrectReserveSize int32) { /* ck // Read data from a cksm-file. func cksmRead(tls *libc.TLS, pFile uintptr, zBuf uintptr, iAmt int32, iOfst sqlite_int64) int32 { /* cksumvfs.c:425:12: */ - bp := tls.Alloc(32) - defer tls.Free(32) + bp := tls.Alloc(24) + defer tls.Free(24) var rc int32 var p uintptr = pFile @@ -33872,10 +33872,10 @@ func cksmRead(tls *libc.TLS, pFile uintptr, zBuf uintptr, iAmt int32, iOfst sqli if ((iAmt >= 512) && // (1) ((*CksmFile)(unsafe.Pointer(p)).FverifyCksm != 0)) && // (2) !(int32((*CksmFile)(unsafe.Pointer(p)).FinCkpt) != 0) { - // var cksum [8]u8 at bp+24, 8 + // var cksum [8]u8 at bp+16, 8 - cksmCompute(tls, zBuf, (iAmt - 8), bp+24 /* &cksum[0] */) - if libc.Xmemcmp(tls, ((zBuf+uintptr(iAmt))-uintptr(8)), bp+24 /* &cksum[0] */, uint64(8)) != 0 { + cksmCompute(tls, zBuf, (iAmt - 8), bp+16 /* &cksum[0] */) + if libc.Xmemcmp(tls, ((zBuf+uintptr(iAmt))-uintptr(8)), bp+16 /* &cksum[0] */, uint64(8)) != 0 { sqlite3.Xsqlite3_log(tls, (SQLITE_IOERR | (int32(32) << 8)), ts+3970, /* "checksum fault o..." */ libc.VaList(bp, iOfst, (*CksmFile)(unsafe.Pointer(p)).FzFName)) @@ -33947,8 +33947,8 @@ func cksmCheckReservedLock(tls *libc.TLS, pFile uintptr, pResOut uintptr) int32 // File control method. For custom operations on a cksm-file. func cksmFileControl(tls *libc.TLS, pFile uintptr, op int32, pArg uintptr) int32 { /* cksumvfs.c:551:12: */ - bp := tls.Alloc(32) - defer tls.Free(32) + bp := tls.Alloc(16) + defer tls.Free(16) var rc int32 var p uintptr = pFile @@ -33998,7 +33998,7 @@ func cksmFileControl(tls *libc.TLS, pFile uintptr, op int32, pArg uintptr) int32 } rc = (*(*func(*libc.TLS, uintptr, int32, uintptr) int32)(unsafe.Pointer(((*sqlite3_file)(unsafe.Pointer(pFile)).FpMethods + 80 /* &.xFileControl */))))(tls, pFile, op, pArg) if (rc == SQLITE_OK) && (op == SQLITE_FCNTL_VFSNAME) { - *(*uintptr)(unsafe.Pointer(pArg)) = sqlite3.Xsqlite3_mprintf(tls, ts+4052 /* "cksm/%z" */, libc.VaList(bp+16, *(*uintptr)(unsafe.Pointer(pArg)))) + *(*uintptr)(unsafe.Pointer(pArg)) = sqlite3.Xsqlite3_mprintf(tls, ts+4052 /* "cksm/%z" */, libc.VaList(bp+8, *(*uintptr)(unsafe.Pointer(pArg)))) } return rc } @@ -34609,8 +34609,8 @@ func closureValueOfKey(tls *libc.TLS, zKey uintptr, zStr uintptr) uintptr { /* c // argv[2] -> table name // argv[3...] -> arguments func closureConnect(tls *libc.TLS, db uintptr, pAux uintptr, argc int32, argv uintptr, ppVtab uintptr, pzErr uintptr) int32 { /* closure.c:504:12: */ - bp := tls.Alloc(48) - defer tls.Free(48) + bp := tls.Alloc(24) + defer tls.Free(24) var rc int32 // Return code var pNew uintptr // New virtual table @@ -34640,7 +34640,7 @@ __1: goto closureConnectError __2: ; - (*closure_vtab)(unsafe.Pointer(pNew)).FzSelf = sqlite3.Xsqlite3_mprintf(tls, ts /* "%s" */, libc.VaList(bp+16, *(*uintptr)(unsafe.Pointer(argv + 2*8)))) + (*closure_vtab)(unsafe.Pointer(pNew)).FzSelf = sqlite3.Xsqlite3_mprintf(tls, ts /* "%s" */, libc.VaList(bp+8, *(*uintptr)(unsafe.Pointer(argv + 2*8)))) if !((*closure_vtab)(unsafe.Pointer(pNew)).FzSelf == uintptr(0)) { goto __3 } @@ -34697,7 +34697,7 @@ __12: goto __5 __11: ; - *(*uintptr)(unsafe.Pointer(pzErr)) = sqlite3.Xsqlite3_mprintf(tls, ts+3397 /* "unrecognized arg..." */, libc.VaList(bp+32, *(*uintptr)(unsafe.Pointer(argv + uintptr(i)*8)))) + *(*uintptr)(unsafe.Pointer(pzErr)) = sqlite3.Xsqlite3_mprintf(tls, ts+3397 /* "unrecognized arg..." */, libc.VaList(bp+16, *(*uintptr)(unsafe.Pointer(argv + uintptr(i)*8)))) closureFree(tls, pNew) *(*uintptr)(unsafe.Pointer(ppVtab)) = uintptr(0) return SQLITE_ERROR @@ -34794,27 +34794,27 @@ func closureInsertNode(tls *libc.TLS, pQueue uintptr, pCur uintptr, id sqlite3_i // description of the meaning of idxNum. The idxStr parameter is // not used. func closureFilter(tls *libc.TLS, pVtabCursor uintptr, idxNum int32, idxStr uintptr, argc int32, argv uintptr) int32 { /* closure.c:657:12: */ - bp := tls.Alloc(136) - defer tls.Free(136) + bp := tls.Alloc(96) + defer tls.Free(96) var pCur uintptr = pVtabCursor var pVtab uintptr = (*closure_cursor)(unsafe.Pointer(pCur)).FpVtab var iRoot sqlite3_int64 var mxGen int32 = 999999999 var zSql uintptr - // var pStmt uintptr at bp+128, 8 + // var pStmt uintptr at bp+88, 8 var pAvl uintptr var rc int32 = SQLITE_OK var zTableName uintptr = (*closure_vtab)(unsafe.Pointer(pVtab)).FzTableName var zIdColumn uintptr = (*closure_vtab)(unsafe.Pointer(pVtab)).FzIdColumn var zParentColumn uintptr = (*closure_vtab)(unsafe.Pointer(pVtab)).FzParentColumn - // var sQueue closure_queue at bp+112, 16 + // var sQueue closure_queue at bp+72, 16 _ = idxStr // Unused parameter _ = argc // Unused parameter closureClearCursor(tls, pCur) - libc.Xmemset(tls, bp+112 /* &sQueue */, 0, uint64(unsafe.Sizeof(closure_queue{}))) + libc.Xmemset(tls, bp+72 /* &sQueue */, 0, uint64(unsafe.Sizeof(closure_queue{}))) if (idxNum & 1) == 0 { // No root=$root in the WHERE clause. Return an empty set return SQLITE_OK @@ -34832,46 +34832,46 @@ func closureFilter(tls *libc.TLS, pVtabCursor uintptr, idxNum int32, idxStr uint } if (idxNum & 0x0f000) != 0 { zIdColumn = sqlite3.Xsqlite3_value_text(tls, *(*uintptr)(unsafe.Pointer(argv + uintptr(((idxNum>>12)&0x0f))*8))) - (*closure_cursor)(unsafe.Pointer(pCur)).FzIdColumn = sqlite3.Xsqlite3_mprintf(tls, ts /* "%s" */, libc.VaList(bp+16, zIdColumn)) + (*closure_cursor)(unsafe.Pointer(pCur)).FzIdColumn = sqlite3.Xsqlite3_mprintf(tls, ts /* "%s" */, libc.VaList(bp+8, zIdColumn)) } if (idxNum & 0x0f0000) != 0 { zParentColumn = sqlite3.Xsqlite3_value_text(tls, *(*uintptr)(unsafe.Pointer(argv + uintptr(((idxNum>>16)&0x0f))*8))) - (*closure_cursor)(unsafe.Pointer(pCur)).FzParentColumn = sqlite3.Xsqlite3_mprintf(tls, ts /* "%s" */, libc.VaList(bp+32, zParentColumn)) + (*closure_cursor)(unsafe.Pointer(pCur)).FzParentColumn = sqlite3.Xsqlite3_mprintf(tls, ts /* "%s" */, libc.VaList(bp+16, zParentColumn)) } zSql = sqlite3.Xsqlite3_mprintf(tls, ts+4198, /* "SELECT \"%w\".\"%w\"..." */ - libc.VaList(bp+48, zTableName, zIdColumn, zTableName, zTableName, zParentColumn)) + libc.VaList(bp+24, zTableName, zIdColumn, zTableName, zTableName, zParentColumn)) if zSql == uintptr(0) { return SQLITE_NOMEM } else { - rc = sqlite3.Xsqlite3_prepare_v2(tls, (*closure_vtab)(unsafe.Pointer(pVtab)).Fdb, zSql, -1, bp+128 /* &pStmt */, uintptr(0)) + rc = sqlite3.Xsqlite3_prepare_v2(tls, (*closure_vtab)(unsafe.Pointer(pVtab)).Fdb, zSql, -1, bp+88 /* &pStmt */, uintptr(0)) sqlite3.Xsqlite3_free(tls, zSql) if rc != 0 { sqlite3.Xsqlite3_free(tls, (*closure_vtab)(unsafe.Pointer(pVtab)).Fbase.FzErrMsg) - (*closure_vtab)(unsafe.Pointer(pVtab)).Fbase.FzErrMsg = sqlite3.Xsqlite3_mprintf(tls, ts /* "%s" */, libc.VaList(bp+96, sqlite3.Xsqlite3_errmsg(tls, (*closure_vtab)(unsafe.Pointer(pVtab)).Fdb))) + (*closure_vtab)(unsafe.Pointer(pVtab)).Fbase.FzErrMsg = sqlite3.Xsqlite3_mprintf(tls, ts /* "%s" */, libc.VaList(bp+64, sqlite3.Xsqlite3_errmsg(tls, (*closure_vtab)(unsafe.Pointer(pVtab)).Fdb))) return rc } } if rc == SQLITE_OK { - rc = closureInsertNode(tls, bp+112 /* &sQueue */, pCur, iRoot, 0) + rc = closureInsertNode(tls, bp+72 /* &sQueue */, pCur, iRoot, 0) } - for (libc.AssignUintptr(&pAvl, queuePull(tls, bp+112 /* &sQueue */))) != uintptr(0) { + for (libc.AssignUintptr(&pAvl, queuePull(tls, bp+72 /* &sQueue */))) != uintptr(0) { if (*closure_avl)(unsafe.Pointer(pAvl)).FiGeneration >= mxGen { continue } - sqlite3.Xsqlite3_bind_int64(tls, *(*uintptr)(unsafe.Pointer(bp + 128 /* pStmt */)), 1, (*closure_avl)(unsafe.Pointer(pAvl)).Fid) - for (rc == SQLITE_OK) && (sqlite3.Xsqlite3_step(tls, *(*uintptr)(unsafe.Pointer(bp + 128 /* pStmt */))) == SQLITE_ROW) { - if sqlite3.Xsqlite3_column_type(tls, *(*uintptr)(unsafe.Pointer(bp + 128 /* pStmt */)), 0) == SQLITE_INTEGER { - var iNew sqlite3_int64 = sqlite3.Xsqlite3_column_int64(tls, *(*uintptr)(unsafe.Pointer(bp + 128 /* pStmt */)), 0) + sqlite3.Xsqlite3_bind_int64(tls, *(*uintptr)(unsafe.Pointer(bp + 88 /* pStmt */)), 1, (*closure_avl)(unsafe.Pointer(pAvl)).Fid) + for (rc == SQLITE_OK) && (sqlite3.Xsqlite3_step(tls, *(*uintptr)(unsafe.Pointer(bp + 88 /* pStmt */))) == SQLITE_ROW) { + if sqlite3.Xsqlite3_column_type(tls, *(*uintptr)(unsafe.Pointer(bp + 88 /* pStmt */)), 0) == SQLITE_INTEGER { + var iNew sqlite3_int64 = sqlite3.Xsqlite3_column_int64(tls, *(*uintptr)(unsafe.Pointer(bp + 88 /* pStmt */)), 0) if closureAvlSearch(tls, (*closure_cursor)(unsafe.Pointer(pCur)).FpClosure, iNew) == uintptr(0) { - rc = closureInsertNode(tls, bp+112 /* &sQueue */, pCur, iNew, ((*closure_avl)(unsafe.Pointer(pAvl)).FiGeneration + 1)) + rc = closureInsertNode(tls, bp+72 /* &sQueue */, pCur, iNew, ((*closure_avl)(unsafe.Pointer(pAvl)).FiGeneration + 1)) } } } - sqlite3.Xsqlite3_reset(tls, *(*uintptr)(unsafe.Pointer(bp + 128 /* pStmt */))) + sqlite3.Xsqlite3_reset(tls, *(*uintptr)(unsafe.Pointer(bp + 88 /* pStmt */))) } - sqlite3.Xsqlite3_finalize(tls, *(*uintptr)(unsafe.Pointer(bp + 128 /* pStmt */))) + sqlite3.Xsqlite3_finalize(tls, *(*uintptr)(unsafe.Pointer(bp + 88 /* pStmt */))) if rc == SQLITE_OK { (*closure_cursor)(unsafe.Pointer(pCur)).FpCurrent = closureAvlFirst(tls, (*closure_cursor)(unsafe.Pointer(pCur)).FpClosure) } @@ -35204,8 +35204,8 @@ func csv_errmsg(tls *libc.TLS, p uintptr, zFormat uintptr, va uintptr) { /* csv. // Open the file associated with a CsvReader // Return the number of errors. func csv_reader_open(tls *libc.TLS, p uintptr, zFilename uintptr, zData uintptr) int32 { /* csv.c:122:12: */ - bp := tls.Alloc(16) - defer tls.Free(16) + bp := tls.Alloc(8) + defer tls.Free(8) if zFilename != 0 { (*CsvReader)(unsafe.Pointer(p)).FzIn = sqlite3.Xsqlite3_malloc(tls, CSV_INBUFSZ) @@ -35297,8 +35297,8 @@ func csv_append(tls *libc.TLS, p uintptr, c int8) int32 { /* csv.c:192:12: */ // Return 0 at EOF or on OOM. On EOF, the p->cTerm character will have // been set to EOF. func csv_read_one_field(tls *libc.TLS, p uintptr) uintptr { /* csv.c:211:13: */ - bp := tls.Alloc(48) - defer tls.Free(48) + bp := tls.Alloc(32) + defer tls.Free(32) var c int32 (*CsvReader)(unsafe.Pointer(p)).Fn = 0 @@ -35340,7 +35340,7 @@ func csv_read_one_field(tls *libc.TLS, p uintptr) uintptr { /* csv.c:211:13: */ } if c == (-1) { csv_errmsg(tls, p, ts+4327, /* "line %d: untermi..." */ - libc.VaList(bp+24, startLine, '"')) + libc.VaList(bp+16, startLine, '"')) (*CsvReader)(unsafe.Pointer(p)).FcTerm = int32(int8(c)) break } @@ -35420,8 +35420,8 @@ type CsvCursor = CsvCursor1 /* csv.c:326:3 */ // Transfer error message text from a reader into a CsvTable func csv_xfer_error(tls *libc.TLS, pTab uintptr, pRdr uintptr) { /* csv.c:329:13: */ - bp := tls.Alloc(16) - defer tls.Free(16) + bp := tls.Alloc(8) + defer tls.Free(8) sqlite3.Xsqlite3_free(tls, (*CsvTable)(unsafe.Pointer(pTab)).Fbase.FzErrMsg) (*CsvTable)(unsafe.Pointer(pTab)).Fbase.FzErrMsg = sqlite3.Xsqlite3_mprintf(tls, ts /* "%s" */, libc.VaList(bp, pRdr+64 /* &.zErr */)) @@ -35500,8 +35500,8 @@ func csv_parameter(tls *libc.TLS, zTag uintptr, nTag int32, z uintptr) uintptr { // even if there is an error. If an error occurs, then an error message // is left in p->zErr. If there are no errors, p->zErr[0]==0. func csv_string_parameter(tls *libc.TLS, p uintptr, zParam uintptr, zArg uintptr, pzVal uintptr) int32 { /* csv.c:393:12: */ - bp := tls.Alloc(32) - defer tls.Free(32) + bp := tls.Alloc(16) + defer tls.Free(16) var zValue uintptr zValue = csv_parameter(tls, zParam, int32(libc.Xstrlen(tls, zParam)), zArg) @@ -35513,7 +35513,7 @@ func csv_string_parameter(tls *libc.TLS, p uintptr, zParam uintptr, zArg uintptr csv_errmsg(tls, p, ts+4366 /* "more than one '%..." */, libc.VaList(bp, zParam)) return 1 } - *(*uintptr)(unsafe.Pointer(pzVal)) = sqlite3.Xsqlite3_mprintf(tls, ts /* "%s" */, libc.VaList(bp+16, zValue)) + *(*uintptr)(unsafe.Pointer(pzVal)) = sqlite3.Xsqlite3_mprintf(tls, ts /* "%s" */, libc.VaList(bp+8, zValue)) if *(*uintptr)(unsafe.Pointer(pzVal)) == uintptr(0) { csv_errmsg(tls, p, ts+1930 /* "out of memory" */, 0) return 1 @@ -35585,8 +35585,8 @@ func csv_boolean_parameter(tls *libc.TLS, zTag uintptr, nTag int32, z uintptr, p // the number of columns in the first row is counted to determine the // column count. If header=YES, then the first row is skipped. func csvtabConnect(tls *libc.TLS, db uintptr, pAux uintptr, argc int32, argv uintptr, ppVtab uintptr, pzErr uintptr) int32 { /* csv.c:486:12: */ - bp := tls.Alloc(420) - defer tls.Free(420) + bp := tls.Alloc(372) + defer tls.Free(372) var pNew uintptr // The CsvTable object to construct var bHeader int32 // header= flags. -1 means not seen yet @@ -35594,12 +35594,12 @@ func csvtabConnect(tls *libc.TLS, db uintptr, pAux uintptr, argc int32, argv uin var i int32 var j int32 // Loop counters var tstFlags int32 // Value for testflags=N parameter - // var b int32 at bp+416, 4 + // var b int32 at bp+368, 4 // Value of a boolean parameter var nCol int32 // Value of the columns= parameter - // var sRdr CsvReader at bp+128, 264 + // var sRdr CsvReader at bp+80, 264 - // var azPValue [3]uintptr at bp+392, 24 + // var azPValue [3]uintptr at bp+344, 24 var z uintptr var zValue uintptr @@ -35613,8 +35613,8 @@ func csvtabConnect(tls *libc.TLS, db uintptr, pAux uintptr, argc int32, argv uin tstFlags = 0 nCol = -99 // Parameter values - libc.Xmemset(tls, bp+128 /* &sRdr */, 0, uint64(unsafe.Sizeof(CsvReader{}))) - libc.Xmemset(tls, bp+392 /* &azPValue[0] */, 0, uint64(unsafe.Sizeof([3]uintptr{}))) + libc.Xmemset(tls, bp+80 /* &sRdr */, 0, uint64(unsafe.Sizeof(CsvReader{}))) + libc.Xmemset(tls, bp+344 /* &azPValue[0] */, 0, uint64(unsafe.Sizeof([3]uintptr{}))) i = 3 __1: if !(i < argc) { @@ -35626,7 +35626,7 @@ __4: if !(uint64(j) < (uint64(unsafe.Sizeof(azParam)) / uint64(unsafe.Sizeof(uintptr(0))))) { goto __6 } - if !(csv_string_parameter(tls, bp+128 /* &sRdr */, azParam[j], z, (bp+392 /* &azPValue */ +uintptr(j)*8)) != 0) { + if !(csv_string_parameter(tls, bp+80 /* &sRdr */, azParam[j], z, (bp+344 /* &azPValue */ +uintptr(j)*8)) != 0) { goto __7 } goto __6 @@ -35642,7 +35642,7 @@ __6: if !(uint64(j) < (uint64(unsafe.Sizeof(azParam)) / uint64(unsafe.Sizeof(uintptr(0))))) { goto __8 } - if !(*(*int8)(unsafe.Pointer((bp + 128 /* &sRdr */ + 64 /* &.zErr */))) != 0) { + if !(*(*int8)(unsafe.Pointer((bp + 80 /* &sRdr */ + 64 /* &.zErr */))) != 0) { goto __10 } goto csvtab_connect_error @@ -35650,17 +35650,17 @@ __10: ; goto __9 __8: - if !(csv_boolean_parameter(tls, ts+4413 /* "header" */, 6, z, bp+416 /* &b */) != 0) { + if !(csv_boolean_parameter(tls, ts+4413 /* "header" */, 6, z, bp+368 /* &b */) != 0) { goto __11 } if !(bHeader >= 0) { goto __13 } - csv_errmsg(tls, bp+128 /* &sRdr */, ts+4420 /* "more than one 'h..." */, 0) + csv_errmsg(tls, bp+80 /* &sRdr */, ts+4420 /* "more than one 'h..." */, 0) goto csvtab_connect_error __13: ; - bHeader = *(*int32)(unsafe.Pointer(bp + 416 /* b */)) + bHeader = *(*int32)(unsafe.Pointer(bp + 368 /* b */)) goto __12 __11: if !((libc.AssignUintptr(&zValue, csv_parameter(tls, ts+4453 /* "testflags" */, 9, z))) != uintptr(0)) { @@ -35675,7 +35675,7 @@ __14: if !(nCol > 0) { goto __18 } - csv_errmsg(tls, bp+128 /* &sRdr */, ts+4471 /* "more than one 'c..." */, 0) + csv_errmsg(tls, bp+80 /* &sRdr */, ts+4471 /* "more than one 'c..." */, 0) goto csvtab_connect_error __18: ; @@ -35683,14 +35683,14 @@ __18: if !(nCol <= 0) { goto __19 } - csv_errmsg(tls, bp+128 /* &sRdr */, ts+4505 /* "column= value mu..." */, 0) + csv_errmsg(tls, bp+80 /* &sRdr */, ts+4505 /* "column= value mu..." */, 0) goto csvtab_connect_error __19: ; goto __17 __16: - csv_errmsg(tls, bp+128 /* &sRdr */, ts+4536 /* "bad parameter: '..." */, libc.VaList(bp, z)) + csv_errmsg(tls, bp+80 /* &sRdr */, ts+4536 /* "bad parameter: '..." */, libc.VaList(bp, z)) goto csvtab_connect_error __17: ; @@ -35707,16 +35707,16 @@ __2: goto __3 __3: ; - if !((libc.Bool32((*(*uintptr)(unsafe.Pointer(bp + 392 /* &azPValue[0] */))) == uintptr(0))) == (libc.Bool32((*(*uintptr)(unsafe.Pointer(bp + 392 /* &azPValue[0] */ + 1*8))) == uintptr(0)))) { + if !((libc.Bool32((*(*uintptr)(unsafe.Pointer(bp + 344 /* &azPValue[0] */))) == uintptr(0))) == (libc.Bool32((*(*uintptr)(unsafe.Pointer(bp + 344 /* &azPValue[0] */ + 1*8))) == uintptr(0)))) { goto __20 } - csv_errmsg(tls, bp+128 /* &sRdr */, ts+4556 /* "must specify eit..." */, 0) + csv_errmsg(tls, bp+80 /* &sRdr */, ts+4556 /* "must specify eit..." */, 0) goto csvtab_connect_error __20: ; if !(((nCol <= 0) || (bHeader == 1)) && - (csv_reader_open(tls, bp+128 /* &sRdr */, *(*uintptr)(unsafe.Pointer(bp + 392 /* &azPValue[0] */)), *(*uintptr)(unsafe.Pointer(bp + 392 /* &azPValue[0] */ + 1*8))) != 0)) { + (csv_reader_open(tls, bp+80 /* &sRdr */, *(*uintptr)(unsafe.Pointer(bp + 344 /* &azPValue[0] */)), *(*uintptr)(unsafe.Pointer(bp + 344 /* &azPValue[0] */ + 1*8))) != 0)) { goto __21 } goto csvtab_connect_error @@ -35731,7 +35731,7 @@ __21: __22: ; libc.Xmemset(tls, pNew, 0, uint64(unsafe.Sizeof(CsvTable{}))) - if !((*(*uintptr)(unsafe.Pointer(bp + 392 /* &azPValue[0] */ + 2*8))) == uintptr(0)) { + if !((*(*uintptr)(unsafe.Pointer(bp + 344 /* &azPValue[0] */ + 2*8))) == uintptr(0)) { goto __23 } pStr = sqlite3.Xsqlite3_str_new(tls, uintptr(0)) @@ -35743,11 +35743,11 @@ __22: } nCol = 0 __26: - csv_read_one_field(tls, bp+128 /* &sRdr */) + csv_read_one_field(tls, bp+80 /* &sRdr */) nCol++ goto __27 __27: - if (*CsvReader)(unsafe.Pointer(bp+128 /* &sRdr */)).FcTerm == ',' { + if (*CsvReader)(unsafe.Pointer(bp+80 /* &sRdr */)).FcTerm == ',' { goto __26 } goto __28 @@ -35763,7 +35763,7 @@ __31: if !(iCol < nCol) { goto __33 } - sqlite3.Xsqlite3_str_appendf(tls, pStr, ts+4608 /* "%sc%d TEXT" */, libc.VaList(bp+16, zSep, iCol)) + sqlite3.Xsqlite3_str_appendf(tls, pStr, ts+4608 /* "%sc%d TEXT" */, libc.VaList(bp+8, zSep, iCol)) zSep = ts + 4619 /* "," */ goto __32 __32: @@ -35775,18 +35775,18 @@ __33: goto __30 __29: __34: - z1 = csv_read_one_field(tls, bp+128 /* &sRdr */) + z1 = csv_read_one_field(tls, bp+80 /* &sRdr */) if !(((nCol > 0) && (iCol < nCol)) || ((nCol < 0) && (bHeader != 0))) { goto __37 } - sqlite3.Xsqlite3_str_appendf(tls, pStr, ts+4621 /* "%s\"%w\" TEXT" */, libc.VaList(bp+40, zSep, z1)) + sqlite3.Xsqlite3_str_appendf(tls, pStr, ts+4621 /* "%s\"%w\" TEXT" */, libc.VaList(bp+24, zSep, z1)) zSep = ts + 4619 /* "," */ iCol++ __37: ; goto __35 __35: - if (*CsvReader)(unsafe.Pointer(bp+128 /* &sRdr */)).FcTerm == ',' { + if (*CsvReader)(unsafe.Pointer(bp+80 /* &sRdr */)).FcTerm == ',' { goto __34 } goto __36 @@ -35802,7 +35802,7 @@ __40: if !(iCol < nCol) { goto __41 } - sqlite3.Xsqlite3_str_appendf(tls, pStr, ts+4608 /* "%sc%d TEXT" */, libc.VaList(bp+64, zSep, libc.PreIncInt32(&iCol, 1))) + sqlite3.Xsqlite3_str_appendf(tls, pStr, ts+4608 /* "%sc%d TEXT" */, libc.VaList(bp+40, zSep, libc.PreIncInt32(&iCol, 1))) zSep = ts + 4619 /* "," */ goto __40 __41: @@ -35813,8 +35813,8 @@ __30: ; (*CsvTable)(unsafe.Pointer(pNew)).FnCol = nCol sqlite3.Xsqlite3_str_appendf(tls, pStr, ts+490 /* ")" */, 0) - (*(*uintptr)(unsafe.Pointer(bp + 392 /* &azPValue[0] */ + 2*8))) = sqlite3.Xsqlite3_str_finish(tls, pStr) - if !((*(*uintptr)(unsafe.Pointer(bp + 392 /* &azPValue[0] */ + 2*8))) == uintptr(0)) { + (*(*uintptr)(unsafe.Pointer(bp + 344 /* &azPValue[0] */ + 2*8))) = sqlite3.Xsqlite3_str_finish(tls, pStr) + if !((*(*uintptr)(unsafe.Pointer(bp + 344 /* &azPValue[0] */ + 2*8))) == uintptr(0)) { goto __42 } goto csvtab_connect_oom @@ -35826,11 +35826,11 @@ __23: goto __43 } __45: - csv_read_one_field(tls, bp+128 /* &sRdr */) + csv_read_one_field(tls, bp+80 /* &sRdr */) (*CsvTable)(unsafe.Pointer(pNew)).FnCol++ goto __46 __46: - if (*CsvReader)(unsafe.Pointer(bp+128 /* &sRdr */)).FcTerm == ',' { + if (*CsvReader)(unsafe.Pointer(bp+80 /* &sRdr */)).FcTerm == ',' { goto __45 } goto __47 @@ -35843,10 +35843,10 @@ __44: ; __24: ; - (*CsvTable)(unsafe.Pointer(pNew)).FzFilename = *(*uintptr)(unsafe.Pointer(bp + 392 /* &azPValue[0] */)) - (*(*uintptr)(unsafe.Pointer(bp + 392 /* &azPValue[0] */))) = uintptr(0) - (*CsvTable)(unsafe.Pointer(pNew)).FzData = *(*uintptr)(unsafe.Pointer(bp + 392 /* &azPValue[0] */ + 1*8)) - (*(*uintptr)(unsafe.Pointer(bp + 392 /* &azPValue[0] */ + 1*8))) = uintptr(0) + (*CsvTable)(unsafe.Pointer(pNew)).FzFilename = *(*uintptr)(unsafe.Pointer(bp + 344 /* &azPValue[0] */)) + (*(*uintptr)(unsafe.Pointer(bp + 344 /* &azPValue[0] */))) = uintptr(0) + (*CsvTable)(unsafe.Pointer(pNew)).FzData = *(*uintptr)(unsafe.Pointer(bp + 344 /* &azPValue[0] */ + 1*8)) + (*(*uintptr)(unsafe.Pointer(bp + 344 /* &azPValue[0] */ + 1*8))) = uintptr(0) (*CsvTable)(unsafe.Pointer(pNew)).FtstFlags = uint32(tstFlags) if !(bHeader != 1) { goto __48 @@ -35857,20 +35857,20 @@ __48: if !((*CsvTable)(unsafe.Pointer(pNew)).FzData != 0) { goto __50 } - (*CsvTable)(unsafe.Pointer(pNew)).FiStart = int32(int32((*CsvReader)(unsafe.Pointer(bp + 128 /* &sRdr */)).FiIn)) + (*CsvTable)(unsafe.Pointer(pNew)).FiStart = int32(int32((*CsvReader)(unsafe.Pointer(bp + 80 /* &sRdr */)).FiIn)) goto __51 __50: - (*CsvTable)(unsafe.Pointer(pNew)).FiStart = int32((int32((size_t(libc.Xftell(tls, (*CsvReader)(unsafe.Pointer(bp+128 /* &sRdr */)).Fin)) - (*CsvReader)(unsafe.Pointer(bp+128 /* &sRdr */)).FnIn) + (*CsvReader)(unsafe.Pointer(bp+128 /* &sRdr */)).FiIn))) + (*CsvTable)(unsafe.Pointer(pNew)).FiStart = int32((int32((size_t(libc.Xftell(tls, (*CsvReader)(unsafe.Pointer(bp+80 /* &sRdr */)).Fin)) - (*CsvReader)(unsafe.Pointer(bp+80 /* &sRdr */)).FnIn) + (*CsvReader)(unsafe.Pointer(bp+80 /* &sRdr */)).FiIn))) __51: ; __49: ; - csv_reader_reset(tls, bp+128 /* &sRdr */) - rc = sqlite3.Xsqlite3_declare_vtab(tls, db, *(*uintptr)(unsafe.Pointer(bp + 392 /* &azPValue[0] */ + 2*8))) + csv_reader_reset(tls, bp+80 /* &sRdr */) + rc = sqlite3.Xsqlite3_declare_vtab(tls, db, *(*uintptr)(unsafe.Pointer(bp + 344 /* &azPValue[0] */ + 2*8))) if !(rc != 0) { goto __52 } - csv_errmsg(tls, bp+128 /* &sRdr */, ts+4633 /* "bad schema: '%s'..." */, libc.VaList(bp+88, *(*uintptr)(unsafe.Pointer(bp + 392 /* &azPValue[0] */ + 2*8)), sqlite3.Xsqlite3_errmsg(tls, db))) + csv_errmsg(tls, bp+80 /* &sRdr */, ts+4633 /* "bad schema: '%s'..." */, libc.VaList(bp+56, *(*uintptr)(unsafe.Pointer(bp + 344 /* &azPValue[0] */ + 2*8)), sqlite3.Xsqlite3_errmsg(tls, db))) goto csvtab_connect_error __52: ; @@ -35879,7 +35879,7 @@ __53: if !(uint64(i) < (uint64(unsafe.Sizeof([3]uintptr{})) / uint64(unsafe.Sizeof(uintptr(0))))) { goto __55 } - sqlite3.Xsqlite3_free(tls, *(*uintptr)(unsafe.Pointer(bp + 392 /* &azPValue[0] */ + uintptr(i)*8))) + sqlite3.Xsqlite3_free(tls, *(*uintptr)(unsafe.Pointer(bp + 344 /* &azPValue[0] */ + uintptr(i)*8))) goto __54 __54: i++ @@ -35899,7 +35899,7 @@ __55: csvtab_connect_oom: rc = SQLITE_NOMEM - csv_errmsg(tls, bp+128 /* &sRdr */, ts+1930 /* "out of memory" */, 0) + csv_errmsg(tls, bp+80 /* &sRdr */, ts+1930 /* "out of memory" */, 0) csvtab_connect_error: if !(pNew != 0) { @@ -35913,7 +35913,7 @@ __57: if !(uint64(i) < (uint64(unsafe.Sizeof([3]uintptr{})) / uint64(unsafe.Sizeof(uintptr(0))))) { goto __59 } - sqlite3.Xsqlite3_free(tls, *(*uintptr)(unsafe.Pointer(bp + 392 /* &azPValue[0] */ + uintptr(i)*8))) + sqlite3.Xsqlite3_free(tls, *(*uintptr)(unsafe.Pointer(bp + 344 /* &azPValue[0] */ + uintptr(i)*8))) goto __58 __58: i++ @@ -35921,14 +35921,14 @@ __58: goto __59 __59: ; - if !(*(*int8)(unsafe.Pointer((bp + 128 /* &sRdr */ + 64 /* &.zErr */))) != 0) { + if !(*(*int8)(unsafe.Pointer((bp + 80 /* &sRdr */ + 64 /* &.zErr */))) != 0) { goto __60 } sqlite3.Xsqlite3_free(tls, *(*uintptr)(unsafe.Pointer(pzErr))) - *(*uintptr)(unsafe.Pointer(pzErr)) = sqlite3.Xsqlite3_mprintf(tls, ts /* "%s" */, libc.VaList(bp+112, bp+128 /* &sRdr */ +64 /* &.zErr */)) + *(*uintptr)(unsafe.Pointer(pzErr)) = sqlite3.Xsqlite3_mprintf(tls, ts /* "%s" */, libc.VaList(bp+72, bp+80 /* &sRdr */ +64 /* &.zErr */)) __60: ; - csv_reader_reset(tls, bp+128 /* &sRdr */) + csv_reader_reset(tls, bp+80 /* &sRdr */) if !(rc == SQLITE_OK) { goto __61 } @@ -37214,8 +37214,8 @@ func explainEof(tls *libc.TLS, cur uintptr) int32 { /* explain.c:179:12: */ // // The argv[0] is the SQL statement that is to be explained. func explainFilter(tls *libc.TLS, pVtabCursor uintptr, idxNum int32, idxStr uintptr, argc int32, argv uintptr) int32 { /* explain.c:192:12: */ - bp := tls.Alloc(32) - defer tls.Free(32) + bp := tls.Alloc(16) + defer tls.Free(16) var pCur uintptr = pVtabCursor var zSql uintptr = uintptr(0) @@ -37229,7 +37229,7 @@ func explainFilter(tls *libc.TLS, pVtabCursor uintptr, idxNum int32, idxStr uint sqlite3.Xsqlite3_free(tls, (*explain_cursor)(unsafe.Pointer(pCur)).FzSql) (*explain_cursor)(unsafe.Pointer(pCur)).FzSql = sqlite3.Xsqlite3_mprintf(tls, ts /* "%s" */, libc.VaList(bp, sqlite3.Xsqlite3_value_text(tls, *(*uintptr)(unsafe.Pointer(argv))))) if (*explain_cursor)(unsafe.Pointer(pCur)).FzSql != 0 { - zSql = sqlite3.Xsqlite3_mprintf(tls, ts+4824 /* "EXPLAIN %s" */, libc.VaList(bp+16, (*explain_cursor)(unsafe.Pointer(pCur)).FzSql)) + zSql = sqlite3.Xsqlite3_mprintf(tls, ts+4824 /* "EXPLAIN %s" */, libc.VaList(bp+8, (*explain_cursor)(unsafe.Pointer(pCur)).FzSql)) } if zSql == uintptr(0) { rc = SQLITE_NOMEM @@ -68204,8 +68204,8 @@ func fileLinkStat(tls *libc.TLS, zPath uintptr, pStatBuf uintptr) int32 { /* fil // SQLITE_OK is returned if the directory is successfully created, or // SQLITE_ERROR otherwise. func makeDirectory(tls *libc.TLS, zFile uintptr) int32 { /* fileio.c:303:12: */ - bp := tls.Alloc(72) - defer tls.Free(72) + bp := tls.Alloc(64) + defer tls.Free(64) var zCopy uintptr = sqlite3.Xsqlite3_mprintf(tls, ts /* "%s" */, libc.VaList(bp, zFile)) var rc int32 = SQLITE_OK @@ -68217,7 +68217,7 @@ func makeDirectory(tls *libc.TLS, zFile uintptr) int32 { /* fileio.c:303:12: */ var i int32 = 1 for rc == SQLITE_OK { - // var sStat _stat64 at bp+16, 56 + // var sStat _stat64 at bp+8, 56 var rc2 int32 @@ -68228,13 +68228,13 @@ func makeDirectory(tls *libc.TLS, zFile uintptr) int32 { /* fileio.c:303:12: */ } *(*int8)(unsafe.Pointer(zCopy + uintptr(i))) = int8(0) - rc2 = fileStat(tls, zCopy, bp+16 /* &sStat */) + rc2 = fileStat(tls, zCopy, bp+8 /* &sStat */) if rc2 != 0 { if libc.X_mkdir(tls, zCopy) != 0 { rc = SQLITE_ERROR } } else { - if !(((int32((*_stat64)(unsafe.Pointer(bp + 16 /* &sStat */)).Fst_mode)) & X_S_IFMT) == X_S_IFDIR) { + if !(((int32((*_stat64)(unsafe.Pointer(bp + 8 /* &sStat */)).Fst_mode)) & X_S_IFMT) == X_S_IFDIR) { rc = SQLITE_ERROR } } @@ -68338,8 +68338,8 @@ func writeFile(tls *libc.TLS, pCtx uintptr, zFile uintptr, pData uintptr, mode m // Implementation of the "writefile(W,X[,Y[,Z]]])" SQL function. // Refer to header comments at the top of this file for details. func writefileFunc(tls *libc.TLS, context uintptr, argc int32, argv uintptr) { /* fileio.c:457:13: */ - bp := tls.Alloc(48) - defer tls.Free(48) + bp := tls.Alloc(24) + defer tls.Free(24) var zFile uintptr var mode mode_t = mode_t(0) @@ -68374,9 +68374,9 @@ func writefileFunc(tls *libc.TLS, context uintptr, argc int32, argv uintptr) { / if 0 != 0 { ctxErrorMsg(tls, context, ts+4896 /* "failed to create..." */, libc.VaList(bp, zFile)) } else if ((int32(mode)) & X_S_IFMT) == X_S_IFDIR { - ctxErrorMsg(tls, context, ts+4925 /* "failed to create..." */, libc.VaList(bp+16, zFile)) + ctxErrorMsg(tls, context, ts+4925 /* "failed to create..." */, libc.VaList(bp+8, zFile)) } else { - ctxErrorMsg(tls, context, ts+4956 /* "failed to write ..." */, libc.VaList(bp+32, zFile)) + ctxErrorMsg(tls, context, ts+4956 /* "failed to write ..." */, libc.VaList(bp+16, zFile)) } } } @@ -68554,8 +68554,8 @@ func fsdirSetErrmsg(tls *libc.TLS, pCur uintptr, zFmt uintptr, va uintptr) { /* // Advance an fsdir_cursor to its next row of output. func fsdirNext(tls *libc.TLS, cur uintptr) int32 { /* fileio.c:666:12: */ - bp := tls.Alloc(56) - defer tls.Free(56) + bp := tls.Alloc(32) + defer tls.Free(32) var pCur uintptr = cur var m mode_t = (*fsdir_cursor)(unsafe.Pointer(pCur)).FsStat.Fst_mode @@ -68601,12 +68601,12 @@ func fsdirNext(tls *libc.TLS, cur uintptr) int32 { /* fileio.c:666:12: */ } } sqlite3.Xsqlite3_free(tls, (*fsdir_cursor)(unsafe.Pointer(pCur)).FzPath) - (*fsdir_cursor)(unsafe.Pointer(pCur)).FzPath = sqlite3.Xsqlite3_mprintf(tls, ts+5067 /* "%s/%s" */, libc.VaList(bp+16, (*FsdirLevel)(unsafe.Pointer(pLvl)).FzDir, pEntry+8 /* &.d_name */)) + (*fsdir_cursor)(unsafe.Pointer(pCur)).FzPath = sqlite3.Xsqlite3_mprintf(tls, ts+5067 /* "%s/%s" */, libc.VaList(bp+8, (*FsdirLevel)(unsafe.Pointer(pLvl)).FzDir, pEntry+8 /* &.d_name */)) if (*fsdir_cursor)(unsafe.Pointer(pCur)).FzPath == uintptr(0) { return SQLITE_NOMEM } if fileLinkStat(tls, (*fsdir_cursor)(unsafe.Pointer(pCur)).FzPath, (pCur+40 /* &.sStat */)) != 0 { - fsdirSetErrmsg(tls, pCur, ts+5073 /* "cannot stat file..." */, libc.VaList(bp+40, (*fsdir_cursor)(unsafe.Pointer(pCur)).FzPath)) + fsdirSetErrmsg(tls, pCur, ts+5073 /* "cannot stat file..." */, libc.VaList(bp+24, (*fsdir_cursor)(unsafe.Pointer(pCur)).FzPath)) return SQLITE_ERROR } return SQLITE_OK @@ -68689,8 +68689,8 @@ func fsdirEof(tls *libc.TLS, cur uintptr) int32 { /* fileio.c:805:12: */ // idxNum==1 PATH parameter only // idxNum==2 Both PATH and DIR supplied func fsdirFilter(tls *libc.TLS, cur uintptr, idxNum int32, idxStr uintptr, argc int32, argv uintptr) int32 { /* fileio.c:816:12: */ - bp := tls.Alloc(56) - defer tls.Free(56) + bp := tls.Alloc(32) + defer tls.Free(32) var zDir uintptr = uintptr(0) var pCur uintptr = cur @@ -68714,14 +68714,14 @@ func fsdirFilter(tls *libc.TLS, cur uintptr, idxNum int32, idxStr uintptr, argc (*fsdir_cursor)(unsafe.Pointer(pCur)).FnBase = (int32(libc.Xstrlen(tls, (*fsdir_cursor)(unsafe.Pointer(pCur)).FzBase)) + 1) (*fsdir_cursor)(unsafe.Pointer(pCur)).FzPath = sqlite3.Xsqlite3_mprintf(tls, ts+5067 /* "%s/%s" */, libc.VaList(bp, (*fsdir_cursor)(unsafe.Pointer(pCur)).FzBase, zDir)) } else { - (*fsdir_cursor)(unsafe.Pointer(pCur)).FzPath = sqlite3.Xsqlite3_mprintf(tls, ts /* "%s" */, libc.VaList(bp+24, zDir)) + (*fsdir_cursor)(unsafe.Pointer(pCur)).FzPath = sqlite3.Xsqlite3_mprintf(tls, ts /* "%s" */, libc.VaList(bp+16, zDir)) } if (*fsdir_cursor)(unsafe.Pointer(pCur)).FzPath == uintptr(0) { return SQLITE_NOMEM } if fileLinkStat(tls, (*fsdir_cursor)(unsafe.Pointer(pCur)).FzPath, (pCur+40 /* &.sStat */)) != 0 { - fsdirSetErrmsg(tls, pCur, ts+5073 /* "cannot stat file..." */, libc.VaList(bp+40, (*fsdir_cursor)(unsafe.Pointer(pCur)).FzPath)) + fsdirSetErrmsg(tls, pCur, ts+5073 /* "cannot stat file..." */, libc.VaList(bp+24, (*fsdir_cursor)(unsafe.Pointer(pCur)).FzPath)) return SQLITE_ERROR } @@ -68991,8 +68991,8 @@ func fuzzerMergeRules(tls *libc.TLS, pA uintptr, pB uintptr) uintptr { /* fuzzer // is returned. Otherwise, *ppRule is zeroed, *pzErr may be set to point // to an error message and an SQLite error code returned. func fuzzerLoadOneRule(tls *libc.TLS, p uintptr, pStmt uintptr, ppRule uintptr, pzErr uintptr) int32 { /* fuzzer.c:294:12: */ - bp := tls.Alloc(72) - defer tls.Free(72) + bp := tls.Alloc(48) + defer tls.Free(48) var iRuleset sqlite3_int64 = sqlite3.Xsqlite3_column_int64(tls, pStmt, 0) var zFrom uintptr = sqlite3.Xsqlite3_column_text(tls, pStmt, 1) @@ -69025,11 +69025,11 @@ func fuzzerLoadOneRule(tls *libc.TLS, p uintptr, pStmt uintptr, ppRule uintptr, rc = SQLITE_ERROR } else if (nFrom > FUZZER_MX_LENGTH) || (nTo > FUZZER_MX_LENGTH) { *(*uintptr)(unsafe.Pointer(pzErr)) = sqlite3.Xsqlite3_mprintf(tls, ts+3199, /* "%s: maximum stri..." */ - libc.VaList(bp+24, (*fuzzer_vtab)(unsafe.Pointer(p)).FzClassName, FUZZER_MX_LENGTH)) + libc.VaList(bp+16, (*fuzzer_vtab)(unsafe.Pointer(p)).FzClassName, FUZZER_MX_LENGTH)) rc = SQLITE_ERROR } else if (iRuleset < int64(0)) || (iRuleset > int64(FUZZER_MX_RULEID)) { *(*uintptr)(unsafe.Pointer(pzErr)) = sqlite3.Xsqlite3_mprintf(tls, ts+5218, /* "%s: ruleset must..." */ - libc.VaList(bp+48, (*fuzzer_vtab)(unsafe.Pointer(p)).FzClassName, FUZZER_MX_RULEID)) + libc.VaList(bp+32, (*fuzzer_vtab)(unsafe.Pointer(p)).FzClassName, FUZZER_MX_RULEID)) rc = SQLITE_ERROR } else { @@ -69055,8 +69055,8 @@ func fuzzerLoadOneRule(tls *libc.TLS, p uintptr, pStmt uintptr, ppRule uintptr, // Load the content of the fuzzer data table into memory. func fuzzerLoadRules(tls *libc.TLS, db uintptr, p uintptr, zDb uintptr, zData uintptr, pzErr uintptr) int32 { /* fuzzer.c:363:12: */ - bp := tls.Alloc(216) - defer tls.Free(216) + bp := tls.Alloc(192) + defer tls.Free(192) var rc int32 = SQLITE_OK // Return code var zSql uintptr // SELECT used to read from rules table @@ -69067,25 +69067,25 @@ func fuzzerLoadRules(tls *libc.TLS, db uintptr, p uintptr, zDb uintptr, zData ui rc = SQLITE_NOMEM } else { var rc2 int32 // finalize() return code - *(*uintptr)(unsafe.Pointer(bp + 80 /* pStmt */)) = uintptr(0) - rc = sqlite3.Xsqlite3_prepare_v2(tls, db, zSql, -1, bp+80 /* &pStmt */, uintptr(0)) + *(*uintptr)(unsafe.Pointer(bp + 56 /* pStmt */)) = uintptr(0) + rc = sqlite3.Xsqlite3_prepare_v2(tls, db, zSql, -1, bp+56 /* &pStmt */, uintptr(0)) if rc != SQLITE_OK { - *(*uintptr)(unsafe.Pointer(pzErr)) = sqlite3.Xsqlite3_mprintf(tls, ts+3288 /* "%s: %s" */, libc.VaList(bp+24, (*fuzzer_vtab)(unsafe.Pointer(p)).FzClassName, sqlite3.Xsqlite3_errmsg(tls, db))) - } else if sqlite3.Xsqlite3_column_count(tls, *(*uintptr)(unsafe.Pointer(bp + 80 /* pStmt */))) != 4 { + *(*uintptr)(unsafe.Pointer(pzErr)) = sqlite3.Xsqlite3_mprintf(tls, ts+3288 /* "%s: %s" */, libc.VaList(bp+16, (*fuzzer_vtab)(unsafe.Pointer(p)).FzClassName, sqlite3.Xsqlite3_errmsg(tls, db))) + } else if sqlite3.Xsqlite3_column_count(tls, *(*uintptr)(unsafe.Pointer(bp + 56 /* pStmt */))) != 4 { *(*uintptr)(unsafe.Pointer(pzErr)) = sqlite3.Xsqlite3_mprintf(tls, ts+3295, /* "%s: %s has %d co..." */ - libc.VaList(bp+48, (*fuzzer_vtab)(unsafe.Pointer(p)).FzClassName, zData, sqlite3.Xsqlite3_column_count(tls, *(*uintptr)(unsafe.Pointer(bp + 80 /* pStmt */))))) + libc.VaList(bp+32, (*fuzzer_vtab)(unsafe.Pointer(p)).FzClassName, zData, sqlite3.Xsqlite3_column_count(tls, *(*uintptr)(unsafe.Pointer(bp + 56 /* pStmt */))))) rc = SQLITE_ERROR } else { - for (rc == SQLITE_OK) && (SQLITE_ROW == sqlite3.Xsqlite3_step(tls, *(*uintptr)(unsafe.Pointer(bp + 80 /* pStmt */)))) { - *(*uintptr)(unsafe.Pointer(bp + 88 /* pRule */)) = uintptr(0) - rc = fuzzerLoadOneRule(tls, p, *(*uintptr)(unsafe.Pointer(bp + 80 /* pStmt */)), bp+88 /* &pRule */, pzErr) - if *(*uintptr)(unsafe.Pointer(bp + 88 /* pRule */)) != 0 { - (*fuzzer_rule)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp + 88 /* pRule */)))).FpNext = pHead - pHead = *(*uintptr)(unsafe.Pointer(bp + 88 /* pRule */)) + for (rc == SQLITE_OK) && (SQLITE_ROW == sqlite3.Xsqlite3_step(tls, *(*uintptr)(unsafe.Pointer(bp + 56 /* pStmt */)))) { + *(*uintptr)(unsafe.Pointer(bp + 64 /* pRule */)) = uintptr(0) + rc = fuzzerLoadOneRule(tls, p, *(*uintptr)(unsafe.Pointer(bp + 56 /* pStmt */)), bp+64 /* &pRule */, pzErr) + if *(*uintptr)(unsafe.Pointer(bp + 64 /* pRule */)) != 0 { + (*fuzzer_rule)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp + 64 /* pRule */)))).FpNext = pHead + pHead = *(*uintptr)(unsafe.Pointer(bp + 64 /* pRule */)) } } } - rc2 = sqlite3.Xsqlite3_finalize(tls, *(*uintptr)(unsafe.Pointer(bp + 80 /* pStmt */))) + rc2 = sqlite3.Xsqlite3_finalize(tls, *(*uintptr)(unsafe.Pointer(bp + 56 /* pStmt */))) if rc == SQLITE_OK { rc = rc2 } @@ -69098,24 +69098,24 @@ func fuzzerLoadRules(tls *libc.TLS, db uintptr, p uintptr, zDb uintptr, zData ui if rc == SQLITE_OK { var i uint32 var pX uintptr - // var a [15]uintptr at bp+96, 120 + // var a [15]uintptr at bp+72, 120 for i = uint32(0); uint64(i) < (uint64(unsafe.Sizeof([15]uintptr{})) / uint64(unsafe.Sizeof(uintptr(0)))); i++ { - *(*uintptr)(unsafe.Pointer(bp + 96 /* &a[0] */ + uintptr(i)*8)) = uintptr(0) + *(*uintptr)(unsafe.Pointer(bp + 72 /* &a[0] */ + uintptr(i)*8)) = uintptr(0) } for (libc.AssignUintptr(&pX, pHead)) != uintptr(0) { pHead = (*fuzzer_rule)(unsafe.Pointer(pX)).FpNext (*fuzzer_rule)(unsafe.Pointer(pX)).FpNext = uintptr(0) - for i = uint32(0); (*(*uintptr)(unsafe.Pointer(bp + 96 /* &a[0] */ + uintptr(i)*8)) != 0) && (uint64(i) < ((uint64(unsafe.Sizeof([15]uintptr{})) / uint64(unsafe.Sizeof(uintptr(0)))) - uint64(1))); i++ { - pX = fuzzerMergeRules(tls, *(*uintptr)(unsafe.Pointer(bp + 96 /* &a[0] */ + uintptr(i)*8)), pX) - *(*uintptr)(unsafe.Pointer(bp + 96 /* &a[0] */ + uintptr(i)*8)) = uintptr(0) + for i = uint32(0); (*(*uintptr)(unsafe.Pointer(bp + 72 /* &a[0] */ + uintptr(i)*8)) != 0) && (uint64(i) < ((uint64(unsafe.Sizeof([15]uintptr{})) / uint64(unsafe.Sizeof(uintptr(0)))) - uint64(1))); i++ { + pX = fuzzerMergeRules(tls, *(*uintptr)(unsafe.Pointer(bp + 72 /* &a[0] */ + uintptr(i)*8)), pX) + *(*uintptr)(unsafe.Pointer(bp + 72 /* &a[0] */ + uintptr(i)*8)) = uintptr(0) } - *(*uintptr)(unsafe.Pointer(bp + 96 /* &a[0] */ + uintptr(i)*8)) = fuzzerMergeRules(tls, *(*uintptr)(unsafe.Pointer(bp + 96 /* &a[0] */ + uintptr(i)*8)), pX) + *(*uintptr)(unsafe.Pointer(bp + 72 /* &a[0] */ + uintptr(i)*8)) = fuzzerMergeRules(tls, *(*uintptr)(unsafe.Pointer(bp + 72 /* &a[0] */ + uintptr(i)*8)), pX) } - pX = *(*uintptr)(unsafe.Pointer(bp + 96 /* &a[0] */)) + pX = *(*uintptr)(unsafe.Pointer(bp + 72 /* &a[0] */)) i = uint32(1) for ; uint64(i) < (uint64(unsafe.Sizeof([15]uintptr{})) / uint64(unsafe.Sizeof(uintptr(0)))); i++ { - pX = fuzzerMergeRules(tls, *(*uintptr)(unsafe.Pointer(bp + 96 /* &a[0] */ + uintptr(i)*8)), pX) + pX = fuzzerMergeRules(tls, *(*uintptr)(unsafe.Pointer(bp + 72 /* &a[0] */ + uintptr(i)*8)), pX) } (*fuzzer_vtab)(unsafe.Pointer(p)).FpRule = fuzzerMergeRules(tls, (*fuzzer_vtab)(unsafe.Pointer(p)).FpRule, pX) } else { @@ -69189,8 +69189,8 @@ func fuzzerDisconnect(tls *libc.TLS, pVtab uintptr) int32 { /* fuzzer.c:478:12: // argv[2] -> table name // argv[3] -> fuzzer rule table name func fuzzerConnect(tls *libc.TLS, db uintptr, pAux uintptr, argc int32, argv uintptr, ppVtab uintptr, pzErr uintptr) int32 { /* fuzzer.c:498:12: */ - bp := tls.Alloc(16) - defer tls.Free(16) + bp := tls.Alloc(8) + defer tls.Free(8) var rc int32 = SQLITE_OK // Return code var pNew uintptr = uintptr(0) // New virtual table @@ -69813,44 +69813,44 @@ func sqlite3_fuzzer_init(tls *libc.TLS, db uintptr, pzErrMsg uintptr, pApi uintp // Implementation of the ieee754() function func ieee754func(tls *libc.TLS, context uintptr, argc int32, argv uintptr) { /* ieee754.c:102:13: */ - bp := tls.Alloc(168) - defer tls.Free(168) + bp := tls.Alloc(160) + defer tls.Free(160) if argc == 1 { var m sqlite3_int64 - // var a sqlite3_int64 at bp+40, 8 + // var a sqlite3_int64 at bp+32, 8 - // var r float64 at bp+24, 8 + // var r float64 at bp+16, 8 var e int32 var isNeg int32 - // var zResult [100]int8 at bp+48, 100 + // var zResult [100]int8 at bp+40, 100 if (sqlite3.Xsqlite3_value_type(tls, *(*uintptr)(unsafe.Pointer(argv))) == SQLITE_BLOB) && (uint64(sqlite3.Xsqlite3_value_bytes(tls, *(*uintptr)(unsafe.Pointer(argv)))) == uint64(unsafe.Sizeof(float64(0)))) { var x uintptr = sqlite3.Xsqlite3_value_blob(tls, *(*uintptr)(unsafe.Pointer(argv))) var i uint32 - *(*sqlite3_uint64)(unsafe.Pointer(bp + 32 /* v */)) = uint64(0) + *(*sqlite3_uint64)(unsafe.Pointer(bp + 24 /* v */)) = uint64(0) for i = uint32(0); uint64(i) < uint64(unsafe.Sizeof(float64(0))); i++ { - *(*sqlite3_uint64)(unsafe.Pointer(bp + 32 /* v */)) = ((*(*sqlite3_uint64)(unsafe.Pointer(bp + 32 /* v */)) << 8) | sqlite3_uint64(*(*uint8)(unsafe.Pointer(x + uintptr(i))))) + *(*sqlite3_uint64)(unsafe.Pointer(bp + 24 /* v */)) = ((*(*sqlite3_uint64)(unsafe.Pointer(bp + 24 /* v */)) << 8) | sqlite3_uint64(*(*uint8)(unsafe.Pointer(x + uintptr(i))))) } - libc.Xmemcpy(tls, bp+24 /* &r */, bp+32 /* &v */, uint64(unsafe.Sizeof(float64(0)))) + libc.Xmemcpy(tls, bp+16 /* &r */, bp+24 /* &v */, uint64(unsafe.Sizeof(float64(0)))) } else { - *(*float64)(unsafe.Pointer(bp + 24 /* r */)) = sqlite3.Xsqlite3_value_double(tls, *(*uintptr)(unsafe.Pointer(argv))) + *(*float64)(unsafe.Pointer(bp + 16 /* r */)) = sqlite3.Xsqlite3_value_double(tls, *(*uintptr)(unsafe.Pointer(argv))) } - if *(*float64)(unsafe.Pointer(bp + 24 /* r */)) < 0.0 { + if *(*float64)(unsafe.Pointer(bp + 16 /* r */)) < 0.0 { isNeg = 1 - *(*float64)(unsafe.Pointer(bp + 24 /* r */)) = -*(*float64)(unsafe.Pointer(bp + 24 /* r */)) + *(*float64)(unsafe.Pointer(bp + 16 /* r */)) = -*(*float64)(unsafe.Pointer(bp + 16 /* r */)) } else { isNeg = 0 } - libc.Xmemcpy(tls, bp+40 /* &a */, bp+24 /* &r */, uint64(unsafe.Sizeof(sqlite3_int64(0)))) - if *(*sqlite3_int64)(unsafe.Pointer(bp + 40 /* a */)) == int64(0) { + libc.Xmemcpy(tls, bp+32 /* &a */, bp+16 /* &r */, uint64(unsafe.Sizeof(sqlite3_int64(0)))) + if *(*sqlite3_int64)(unsafe.Pointer(bp + 32 /* a */)) == int64(0) { e = 0 m = int64(0) } else { - e = (int32(*(*sqlite3_int64)(unsafe.Pointer(bp + 40 /* a */)) >> 52)) - m = (*(*sqlite3_int64)(unsafe.Pointer(bp + 40 /* a */)) & ((sqlite3_int64((int64(1))) << 52) - int64(1))) + e = (int32(*(*sqlite3_int64)(unsafe.Pointer(bp + 32 /* a */)) >> 52)) + m = (*(*sqlite3_int64)(unsafe.Pointer(bp + 32 /* a */)) & ((sqlite3_int64((int64(1))) << 52) - int64(1))) if e == 0 { m <<= 1 } else { @@ -69866,9 +69866,9 @@ func ieee754func(tls *libc.TLS, context uintptr, argc int32, argv uintptr) { /* } switch *(*int32)(unsafe.Pointer(sqlite3.Xsqlite3_user_data(tls, context))) { case 0: - sqlite3.Xsqlite3_snprintf(tls, int32(unsafe.Sizeof([100]int8{})), bp+48 /* &zResult[0] */, ts+5351, /* "ieee754(%lld,%d)" */ + sqlite3.Xsqlite3_snprintf(tls, int32(unsafe.Sizeof([100]int8{})), bp+40 /* &zResult[0] */, ts+5351, /* "ieee754(%lld,%d)" */ libc.VaList(bp, m, (e-1075))) - sqlite3.Xsqlite3_result_text(tls, context, bp+48 /* &zResult[0] */, -1, libc.UintptrFromInt32(-1)) + sqlite3.Xsqlite3_result_text(tls, context, bp+40 /* &zResult[0] */, -1, libc.UintptrFromInt32(-1)) break fallthrough case 1: @@ -69882,9 +69882,9 @@ func ieee754func(tls *libc.TLS, context uintptr, argc int32, argv uintptr) { /* } else { var m sqlite3_int64 var e sqlite3_int64 - // var a sqlite3_int64 at bp+160, 8 + // var a sqlite3_int64 at bp+152, 8 - // var r float64 at bp+152, 8 + // var r float64 at bp+144, 8 var isNeg int32 = 0 m = sqlite3.Xsqlite3_value_int64(tls, *(*uintptr)(unsafe.Pointer(argv))) @@ -69923,13 +69923,13 @@ func ieee754func(tls *libc.TLS, context uintptr, argc int32, argv uintptr) { /* } else if e > int64(0x7ff) { e = int64(0x7ff) } - *(*sqlite3_int64)(unsafe.Pointer(bp + 160 /* a */)) = (m & ((sqlite3_int64((int64(1))) << 52) - int64(1))) - *(*sqlite3_int64)(unsafe.Pointer(bp + 160 /* a */)) |= (e << 52) + *(*sqlite3_int64)(unsafe.Pointer(bp + 152 /* a */)) = (m & ((sqlite3_int64((int64(1))) << 52) - int64(1))) + *(*sqlite3_int64)(unsafe.Pointer(bp + 152 /* a */)) |= (e << 52) if isNeg != 0 { - *(*sqlite3_int64)(unsafe.Pointer(bp + 160 /* a */)) |= libc.Int64FromUint64((sqlite3_uint64((uint64(1))) << 63)) + *(*sqlite3_int64)(unsafe.Pointer(bp + 152 /* a */)) |= libc.Int64FromUint64((sqlite3_uint64((uint64(1))) << 63)) } - libc.Xmemcpy(tls, bp+152 /* &r */, bp+160 /* &a */, uint64(unsafe.Sizeof(float64(0)))) - sqlite3.Xsqlite3_result_double(tls, context, *(*float64)(unsafe.Pointer(bp + 152 /* r */))) + libc.Xmemcpy(tls, bp+144 /* &r */, bp+152 /* &a */, uint64(unsafe.Sizeof(float64(0)))) + sqlite3.Xsqlite3_result_double(tls, context, *(*float64)(unsafe.Pointer(bp + 144 /* r */))) } } @@ -70034,8 +70034,8 @@ var aFunc1 = [6]struct { // It is illegal to call this function when the database handle has an // open transaction. SQLITE_MISUSE is returned in this case. func sqlite3_mmap_warm(tls *libc.TLS, db uintptr, zDb uintptr) int32 { /* mmapwarm.c:37:5: */ - bp := tls.Alloc(112) - defer tls.Free(112) + bp := tls.Alloc(88) + defer tls.Free(88) var rc int32 = SQLITE_OK var zSql uintptr = uintptr(0) @@ -70073,7 +70073,7 @@ func sqlite3_mmap_warm(tls *libc.TLS, db uintptr, zDb uintptr) int32 { /* mmapwa // Find the SQLite page size of the file if rc == SQLITE_OK { zSql = sqlite3.Xsqlite3_mprintf(tls, ts+5490, /* "PRAGMA %s%q%spag..." */ - libc.VaList(bp+32, func() uintptr { + libc.VaList(bp+24, func() uintptr { if zDb != 0 { return ts + 5485 /* "'" */ } @@ -70092,14 +70092,14 @@ func sqlite3_mmap_warm(tls *libc.TLS, db uintptr, zDb uintptr) int32 { /* mmapwa if zSql == uintptr(0) { rc = SQLITE_NOMEM } else { - *(*uintptr)(unsafe.Pointer(bp + 88 /* pPgsz */)) = uintptr(0) - rc = sqlite3.Xsqlite3_prepare_v2(tls, db, zSql, -1, bp+88 /* &pPgsz */, uintptr(0)) + *(*uintptr)(unsafe.Pointer(bp + 64 /* pPgsz */)) = uintptr(0) + rc = sqlite3.Xsqlite3_prepare_v2(tls, db, zSql, -1, bp+64 /* &pPgsz */, uintptr(0)) sqlite3.Xsqlite3_free(tls, zSql) if rc == SQLITE_OK { - if sqlite3.Xsqlite3_step(tls, *(*uintptr)(unsafe.Pointer(bp + 88 /* pPgsz */))) == SQLITE_ROW { - pgsz = sqlite3.Xsqlite3_column_int(tls, *(*uintptr)(unsafe.Pointer(bp + 88 /* pPgsz */)), 0) + if sqlite3.Xsqlite3_step(tls, *(*uintptr)(unsafe.Pointer(bp + 64 /* pPgsz */))) == SQLITE_ROW { + pgsz = sqlite3.Xsqlite3_column_int(tls, *(*uintptr)(unsafe.Pointer(bp + 64 /* pPgsz */)), 0) } - rc = sqlite3.Xsqlite3_finalize(tls, *(*uintptr)(unsafe.Pointer(bp + 88 /* pPgsz */))) + rc = sqlite3.Xsqlite3_finalize(tls, *(*uintptr)(unsafe.Pointer(bp + 64 /* pPgsz */))) } if (rc == SQLITE_OK) && (pgsz == 0) { rc = SQLITE_ERROR @@ -70110,30 +70110,30 @@ func sqlite3_mmap_warm(tls *libc.TLS, db uintptr, zDb uintptr) int32 { /* mmapwa // Touch each mmap'd page of the file if rc == SQLITE_OK { var rc2 int32 - *(*uintptr)(unsafe.Pointer(bp + 96 /* pFd */)) = uintptr(0) - rc = sqlite3.Xsqlite3_file_control(tls, db, zDb, SQLITE_FCNTL_FILE_POINTER, bp+96 /* &pFd */) - if (rc == SQLITE_OK) && ((*sqlite3_io_methods1)(unsafe.Pointer((*sqlite3_file)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp + 96 /* pFd */)))).FpMethods)).FiVersion >= 3) { + *(*uintptr)(unsafe.Pointer(bp + 72 /* pFd */)) = uintptr(0) + rc = sqlite3.Xsqlite3_file_control(tls, db, zDb, SQLITE_FCNTL_FILE_POINTER, bp+72 /* &pFd */) + if (rc == SQLITE_OK) && ((*sqlite3_io_methods1)(unsafe.Pointer((*sqlite3_file)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp + 72 /* pFd */)))).FpMethods)).FiVersion >= 3) { var iPg sqlite3_int64 = int64(1) - var p uintptr = (*sqlite3_file)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp + 96 /* pFd */)))).FpMethods + var p uintptr = (*sqlite3_file)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp + 72 /* pFd */)))).FpMethods for 1 != 0 { - // var pMap uintptr at bp+104, 8 + // var pMap uintptr at bp+80, 8 - rc = (*(*func(*libc.TLS, uintptr, sqlite3_int64, int32, uintptr) int32)(unsafe.Pointer((p + 136 /* &.xFetch */))))(tls, *(*uintptr)(unsafe.Pointer(bp + 96 /* pFd */)), (sqlite3_int64(pgsz) * iPg), pgsz, bp+104 /* &pMap */) - if (rc != SQLITE_OK) || (*(*uintptr)(unsafe.Pointer(bp + 104 /* pMap */)) == uintptr(0)) { + rc = (*(*func(*libc.TLS, uintptr, sqlite3_int64, int32, uintptr) int32)(unsafe.Pointer((p + 136 /* &.xFetch */))))(tls, *(*uintptr)(unsafe.Pointer(bp + 72 /* pFd */)), (sqlite3_int64(pgsz) * iPg), pgsz, bp+80 /* &pMap */) + if (rc != SQLITE_OK) || (*(*uintptr)(unsafe.Pointer(bp + 80 /* pMap */)) == uintptr(0)) { break } - nTotal = nTotal + (int32(*(*uint8)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp + 104 /* pMap */)))))) - nTotal = nTotal + (int32(*(*uint8)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp + 104 /* pMap */)) + uintptr((pgsz - 1)))))) + nTotal = nTotal + (int32(*(*uint8)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp + 80 /* pMap */)))))) + nTotal = nTotal + (int32(*(*uint8)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp + 80 /* pMap */)) + uintptr((pgsz - 1)))))) - rc = (*(*func(*libc.TLS, uintptr, sqlite3_int64, uintptr) int32)(unsafe.Pointer((p + 144 /* &.xUnfetch */))))(tls, *(*uintptr)(unsafe.Pointer(bp + 96 /* pFd */)), (sqlite3_int64(pgsz) * iPg), *(*uintptr)(unsafe.Pointer(bp + 104 /* pMap */))) + rc = (*(*func(*libc.TLS, uintptr, sqlite3_int64, uintptr) int32)(unsafe.Pointer((p + 144 /* &.xUnfetch */))))(tls, *(*uintptr)(unsafe.Pointer(bp + 72 /* pFd */)), (sqlite3_int64(pgsz) * iPg), *(*uintptr)(unsafe.Pointer(bp + 80 /* pMap */))) if rc != SQLITE_OK { break } iPg++ } sqlite3.Xsqlite3_log(tls, SQLITE_OK, - ts+5513 /* "sqlite3_mmap_war..." */, libc.VaList(bp+64, func() int64 { + ts+5513 /* "sqlite3_mmap_war..." */, libc.VaList(bp+48, func() int64 { if iPg == int64(1) { return int64(0) } @@ -70297,10 +70297,10 @@ func findNextChars(tls *libc.TLS, p uintptr) { /* nextchar.c:164:13: */ // A for elements of T.F. If W is supplied, then it is an SQL expression // that limits the elements in T.F that are considered. func nextCharFunc(tls *libc.TLS, context uintptr, argc int32, argv uintptr) { /* nextchar.c:201:13: */ - bp := tls.Alloc(160) - defer tls.Free(160) + bp := tls.Alloc(136) + defer tls.Free(136) - // var c nextCharContext at bp+104, 56 + // var c nextCharContext at bp+80, 56 var zTable uintptr = sqlite3.Xsqlite3_value_text(tls, *(*uintptr)(unsafe.Pointer(argv + 1*8))) var zField uintptr = sqlite3.Xsqlite3_value_text(tls, *(*uintptr)(unsafe.Pointer(argv + 2*8))) @@ -70311,11 +70311,11 @@ func nextCharFunc(tls *libc.TLS, context uintptr, argc int32, argv uintptr) { /* var zSql uintptr var rc int32 - libc.Xmemset(tls, bp+104 /* &c */, 0, uint64(unsafe.Sizeof(nextCharContext{}))) - (*nextCharContext)(unsafe.Pointer(bp + 104 /* &c */)).Fdb = sqlite3.Xsqlite3_context_db_handle(tls, context) - (*nextCharContext)(unsafe.Pointer(bp + 104 /* &c */)).FzPrefix = sqlite3.Xsqlite3_value_text(tls, *(*uintptr)(unsafe.Pointer(argv))) - (*nextCharContext)(unsafe.Pointer(bp + 104 /* &c */)).FnPrefix = sqlite3.Xsqlite3_value_bytes(tls, *(*uintptr)(unsafe.Pointer(argv))) - if ((zTable == uintptr(0)) || (zField == uintptr(0))) || ((*nextCharContext)(unsafe.Pointer(bp+104 /* &c */)).FzPrefix == uintptr(0)) { + libc.Xmemset(tls, bp+80 /* &c */, 0, uint64(unsafe.Sizeof(nextCharContext{}))) + (*nextCharContext)(unsafe.Pointer(bp + 80 /* &c */)).Fdb = sqlite3.Xsqlite3_context_db_handle(tls, context) + (*nextCharContext)(unsafe.Pointer(bp + 80 /* &c */)).FzPrefix = sqlite3.Xsqlite3_value_text(tls, *(*uintptr)(unsafe.Pointer(argv))) + (*nextCharContext)(unsafe.Pointer(bp + 80 /* &c */)).FnPrefix = sqlite3.Xsqlite3_value_bytes(tls, *(*uintptr)(unsafe.Pointer(argv))) + if ((zTable == uintptr(0)) || (zField == uintptr(0))) || ((*nextCharContext)(unsafe.Pointer(bp+80 /* &c */)).FzPrefix == uintptr(0)) { return } if ((argc >= 4) && @@ -70332,7 +70332,7 @@ func nextCharFunc(tls *libc.TLS, context uintptr, argc int32, argv uintptr) { /* if ((argc >= 5) && ((libc.AssignUintptr(&zCollName, sqlite3.Xsqlite3_value_text(tls, *(*uintptr)(unsafe.Pointer(argv + 4*8))))) != uintptr(0))) && (int32(*(*uint8)(unsafe.Pointer(zCollName))) != 0) { - zColl = sqlite3.Xsqlite3_mprintf(tls, ts+5576 /* "collate \"%w\"" */, libc.VaList(bp+16, zCollName)) + zColl = sqlite3.Xsqlite3_mprintf(tls, ts+5576 /* "collate \"%w\"" */, libc.VaList(bp+8, zCollName)) if zColl == uintptr(0) { sqlite3.Xsqlite3_result_error_nomem(tls, context) if *(*int8)(unsafe.Pointer(zWhereClause)) != 0 { @@ -70348,7 +70348,7 @@ func nextCharFunc(tls *libc.TLS, context uintptr, argc int32, argv uintptr) { /* // 1114111 == 0x10ffff ts+5589, /* "SELECT %s FROM %..." */ - libc.VaList(bp+32, zField, zTable, zField, zColl, zField, zColl, zWhereClause, zColl)) + libc.VaList(bp+16, zField, zTable, zField, zColl, zField, zColl, zWhereClause, zColl)) if *(*int8)(unsafe.Pointer(zWhereClause)) != 0 { sqlite3.Xsqlite3_free(tls, zWhereClause) } @@ -70360,32 +70360,32 @@ func nextCharFunc(tls *libc.TLS, context uintptr, argc int32, argv uintptr) { /* return } - rc = sqlite3.Xsqlite3_prepare_v2(tls, (*nextCharContext)(unsafe.Pointer(bp+104 /* &c */)).Fdb, zSql, -1, (bp + 104 /* &c */ + 8 /* &.pStmt */), uintptr(0)) + rc = sqlite3.Xsqlite3_prepare_v2(tls, (*nextCharContext)(unsafe.Pointer(bp+80 /* &c */)).Fdb, zSql, -1, (bp + 80 /* &c */ + 8 /* &.pStmt */), uintptr(0)) sqlite3.Xsqlite3_free(tls, zSql) if rc != 0 { - sqlite3.Xsqlite3_result_error(tls, context, sqlite3.Xsqlite3_errmsg(tls, (*nextCharContext)(unsafe.Pointer(bp+104 /* &c */)).Fdb), -1) + sqlite3.Xsqlite3_result_error(tls, context, sqlite3.Xsqlite3_errmsg(tls, (*nextCharContext)(unsafe.Pointer(bp+80 /* &c */)).Fdb), -1) return } - findNextChars(tls, bp+104 /* &c */) - if (*nextCharContext)(unsafe.Pointer(bp+104 /* &c */)).FmallocFailed != 0 { + findNextChars(tls, bp+80 /* &c */) + if (*nextCharContext)(unsafe.Pointer(bp+80 /* &c */)).FmallocFailed != 0 { sqlite3.Xsqlite3_result_error_nomem(tls, context) } else { var pRes uintptr - pRes = sqlite3.Xsqlite3_malloc64(tls, (uint64(((*nextCharContext)(unsafe.Pointer(bp+104 /* &c */)).FnUsed * 4) + 1))) + pRes = sqlite3.Xsqlite3_malloc64(tls, (uint64(((*nextCharContext)(unsafe.Pointer(bp+80 /* &c */)).FnUsed * 4) + 1))) if pRes == uintptr(0) { sqlite3.Xsqlite3_result_error_nomem(tls, context) } else { var i int32 var n int32 = 0 - for i = 0; i < (*nextCharContext)(unsafe.Pointer(bp+104 /* &c */)).FnUsed; i++ { - n = n + (writeUtf8(tls, (pRes + uintptr(n)), *(*uint32)(unsafe.Pointer((*nextCharContext)(unsafe.Pointer(bp+104 /* &c */)).FaResult + uintptr(i)*4)))) + for i = 0; i < (*nextCharContext)(unsafe.Pointer(bp+80 /* &c */)).FnUsed; i++ { + n = n + (writeUtf8(tls, (pRes + uintptr(n)), *(*uint32)(unsafe.Pointer((*nextCharContext)(unsafe.Pointer(bp+80 /* &c */)).FaResult + uintptr(i)*4)))) } *(*uint8)(unsafe.Pointer(pRes + uintptr(n))) = uint8(0) sqlite3.Xsqlite3_result_text(tls, context, pRes, n, *(*uintptr)(unsafe.Pointer(&struct{ f func(*libc.TLS, uintptr) }{sqlite3.Xsqlite3_free}))) } } - sqlite3.Xsqlite3_finalize(tls, (*nextCharContext)(unsafe.Pointer(bp+104 /* &c */)).FpStmt) - sqlite3.Xsqlite3_free(tls, (*nextCharContext)(unsafe.Pointer(bp+104 /* &c */)).FaResult) + sqlite3.Xsqlite3_finalize(tls, (*nextCharContext)(unsafe.Pointer(bp+80 /* &c */)).FpStmt) + sqlite3.Xsqlite3_free(tls, (*nextCharContext)(unsafe.Pointer(bp+80 /* &c */)).FaResult) } func sqlite3_nextchar_init(tls *libc.TLS, db uintptr, pzErrMsg uintptr, pApi uintptr) int32 { /* nextchar.c:292:5: */ @@ -71330,8 +71330,8 @@ func prefixesEof(tls *libc.TLS, cur uintptr) int32 { /* prefixes.c:164:12: */ // once prior to any call to prefixesColumn() or prefixesRowid() or // prefixesEof(). func prefixesFilter(tls *libc.TLS, pVtabCursor uintptr, idxNum int32, idxStr uintptr, argc int32, argv uintptr) int32 { /* prefixes.c:175:12: */ - bp := tls.Alloc(16) - defer tls.Free(16) + bp := tls.Alloc(8) + defer tls.Free(8) var pCur uintptr = pVtabCursor sqlite3.Xsqlite3_free(tls, (*prefixes_cursor)(unsafe.Pointer(pCur)).FzStr) @@ -73529,10 +73529,10 @@ func editDist3CostSort(tls *libc.TLS, pList uintptr) uintptr { /* spellfix.c:707 // Load all edit-distance weights from a table. func editDist3ConfigLoad(tls *libc.TLS, p uintptr, db uintptr, zTable uintptr) int32 { /* spellfix.c:737:12: */ - bp := tls.Alloc(24) - defer tls.Free(24) + bp := tls.Alloc(16) + defer tls.Free(16) - // var pStmt uintptr at bp+16, 8 + // var pStmt uintptr at bp+8, 8 var rc int32 var rc2 int32 @@ -73545,29 +73545,29 @@ func editDist3ConfigLoad(tls *libc.TLS, p uintptr, db uintptr, zTable uintptr) i if zSql == uintptr(0) { return SQLITE_NOMEM } - rc = sqlite3.Xsqlite3_prepare(tls, db, zSql, -1, bp+16 /* &pStmt */, uintptr(0)) + rc = sqlite3.Xsqlite3_prepare(tls, db, zSql, -1, bp+8 /* &pStmt */, uintptr(0)) sqlite3.Xsqlite3_free(tls, zSql) if rc != 0 { return rc } editDist3ConfigClear(tls, p) - for sqlite3.Xsqlite3_step(tls, *(*uintptr)(unsafe.Pointer(bp + 16 /* pStmt */))) == SQLITE_ROW { - var iLang int32 = sqlite3.Xsqlite3_column_int(tls, *(*uintptr)(unsafe.Pointer(bp + 16 /* pStmt */)), 0) - var zFrom uintptr = sqlite3.Xsqlite3_column_text(tls, *(*uintptr)(unsafe.Pointer(bp + 16 /* pStmt */)), 1) + for sqlite3.Xsqlite3_step(tls, *(*uintptr)(unsafe.Pointer(bp + 8 /* pStmt */))) == SQLITE_ROW { + var iLang int32 = sqlite3.Xsqlite3_column_int(tls, *(*uintptr)(unsafe.Pointer(bp + 8 /* pStmt */)), 0) + var zFrom uintptr = sqlite3.Xsqlite3_column_text(tls, *(*uintptr)(unsafe.Pointer(bp + 8 /* pStmt */)), 1) var nFrom int32 if zFrom != 0 { - nFrom = sqlite3.Xsqlite3_column_bytes(tls, *(*uintptr)(unsafe.Pointer(bp + 16 /* pStmt */)), 1) + nFrom = sqlite3.Xsqlite3_column_bytes(tls, *(*uintptr)(unsafe.Pointer(bp + 8 /* pStmt */)), 1) } else { nFrom = 0 } - var zTo uintptr = sqlite3.Xsqlite3_column_text(tls, *(*uintptr)(unsafe.Pointer(bp + 16 /* pStmt */)), 2) + var zTo uintptr = sqlite3.Xsqlite3_column_text(tls, *(*uintptr)(unsafe.Pointer(bp + 8 /* pStmt */)), 2) var nTo int32 if zTo != 0 { - nTo = sqlite3.Xsqlite3_column_bytes(tls, *(*uintptr)(unsafe.Pointer(bp + 16 /* pStmt */)), 2) + nTo = sqlite3.Xsqlite3_column_bytes(tls, *(*uintptr)(unsafe.Pointer(bp + 8 /* pStmt */)), 2) } else { nTo = 0 } - var iCost int32 = sqlite3.Xsqlite3_column_int(tls, *(*uintptr)(unsafe.Pointer(bp + 16 /* pStmt */)), 3) + var iCost int32 = sqlite3.Xsqlite3_column_int(tls, *(*uintptr)(unsafe.Pointer(bp + 8 /* pStmt */)), 3) if (nFrom > 100) || (nTo > 100) { continue @@ -73621,7 +73621,7 @@ func editDist3ConfigLoad(tls *libc.TLS, p uintptr, db uintptr, zTable uintptr) i (*EditDist3Lang)(unsafe.Pointer(pLang)).FpCost = pCost } } - rc2 = sqlite3.Xsqlite3_finalize(tls, *(*uintptr)(unsafe.Pointer(bp + 16 /* pStmt */))) + rc2 = sqlite3.Xsqlite3_finalize(tls, *(*uintptr)(unsafe.Pointer(bp + 8 /* pStmt */))) if rc == SQLITE_OK { rc = rc2 } @@ -74970,23 +74970,23 @@ func spellfix1DbExec(tls *libc.TLS, pRc uintptr, db uintptr, zFormat uintptr, va // xDisconnect/xDestroy method for the fuzzy-search module. func spellfix1Uninit(tls *libc.TLS, isDestroy int32, pVTab uintptr) int32 { /* spellfix.c:1978:12: */ - bp := tls.Alloc(28) - defer tls.Free(28) + bp := tls.Alloc(20) + defer tls.Free(20) var p uintptr = pVTab - *(*int32)(unsafe.Pointer(bp + 24 /* rc */)) = SQLITE_OK + *(*int32)(unsafe.Pointer(bp + 16 /* rc */)) = SQLITE_OK if isDestroy != 0 { var db uintptr = (*spellfix1_vtab)(unsafe.Pointer(p)).Fdb - spellfix1DbExec(tls, bp+24 /* &rc */, db, ts+6635, /* "DROP TABLE IF EX..." */ + spellfix1DbExec(tls, bp+16 /* &rc */, db, ts+6635, /* "DROP TABLE IF EX..." */ libc.VaList(bp, (*spellfix1_vtab)(unsafe.Pointer(p)).FzDbName, (*spellfix1_vtab)(unsafe.Pointer(p)).FzTableName)) } - if *(*int32)(unsafe.Pointer(bp + 24 /* rc */)) == SQLITE_OK { + if *(*int32)(unsafe.Pointer(bp + 16 /* rc */)) == SQLITE_OK { sqlite3.Xsqlite3_free(tls, (*spellfix1_vtab)(unsafe.Pointer(p)).FzTableName) editDist3ConfigDelete(tls, (*spellfix1_vtab)(unsafe.Pointer(p)).FpConfig3) sqlite3.Xsqlite3_free(tls, (*spellfix1_vtab)(unsafe.Pointer(p)).FzCostTable) sqlite3.Xsqlite3_free(tls, p) } - return *(*int32)(unsafe.Pointer(bp + 24 /* rc */)) + return *(*int32)(unsafe.Pointer(bp + 16 /* rc */)) } func spellfix1Disconnect(tls *libc.TLS, pVTab uintptr) int32 { /* spellfix.c:1994:12: */ @@ -75000,8 +75000,8 @@ func spellfix1Destroy(tls *libc.TLS, pVTab uintptr) int32 { /* spellfix.c:1997:1 // Make a copy of a string. Remove leading and trailing whitespace // and dequote it. func spellfix1Dequote(tls *libc.TLS, zIn uintptr) uintptr { /* spellfix.c:2005:13: */ - bp := tls.Alloc(16) - defer tls.Free(16) + bp := tls.Alloc(8) + defer tls.Free(8) var zOut uintptr var i int32 @@ -75042,21 +75042,21 @@ func spellfix1Dequote(tls *libc.TLS, zIn uintptr) uintptr { /* spellfix.c:2005:1 // argv[2] -> table name // argv[3].. -> optional arguments (i.e. "edit_cost_table" parameter) func spellfix1Init(tls *libc.TLS, isCreate int32, db uintptr, pAux uintptr, argc int32, argv uintptr, ppVTab uintptr, pzErr uintptr) int32 { /* spellfix.c:2043:12: */ - bp := tls.Alloc(92) - defer tls.Free(92) + bp := tls.Alloc(60) + defer tls.Free(60) var pNew uintptr = uintptr(0) // const char *zModule = argv[0]; // not used var zDbName uintptr = *(*uintptr)(unsafe.Pointer(argv + 1*8)) var zTableName uintptr = *(*uintptr)(unsafe.Pointer(argv + 2*8)) var nDbName int32 - *(*int32)(unsafe.Pointer(bp + 88 /* rc */)) = SQLITE_OK + *(*int32)(unsafe.Pointer(bp + 56 /* rc */)) = SQLITE_OK var i int32 nDbName = int32(libc.Xstrlen(tls, zDbName)) pNew = sqlite3.Xsqlite3_malloc64(tls, ((uint64(unsafe.Sizeof(spellfix1_vtab{})) + uint64(nDbName)) + uint64(1))) if pNew == uintptr(0) { - *(*int32)(unsafe.Pointer(bp + 88 /* rc */)) = SQLITE_NOMEM + *(*int32)(unsafe.Pointer(bp + 56 /* rc */)) = SQLITE_NOMEM } else { libc.Xmemset(tls, pNew, 0, uint64(unsafe.Sizeof(spellfix1_vtab{}))) (*spellfix1_vtab)(unsafe.Pointer(pNew)).FzDbName = (pNew + 1*64) @@ -75064,43 +75064,43 @@ func spellfix1Init(tls *libc.TLS, isCreate int32, db uintptr, pAux uintptr, argc (*spellfix1_vtab)(unsafe.Pointer(pNew)).FzTableName = sqlite3.Xsqlite3_mprintf(tls, ts /* "%s" */, libc.VaList(bp, zTableName)) (*spellfix1_vtab)(unsafe.Pointer(pNew)).Fdb = db if (*spellfix1_vtab)(unsafe.Pointer(pNew)).FzTableName == uintptr(0) { - *(*int32)(unsafe.Pointer(bp + 88 /* rc */)) = SQLITE_NOMEM + *(*int32)(unsafe.Pointer(bp + 56 /* rc */)) = SQLITE_NOMEM } else { sqlite3.Xsqlite3_vtab_config(tls, db, SQLITE_VTAB_INNOCUOUS, 0) - *(*int32)(unsafe.Pointer(bp + 88 /* rc */)) = sqlite3.Xsqlite3_declare_vtab(tls, db, + *(*int32)(unsafe.Pointer(bp + 56 /* rc */)) = sqlite3.Xsqlite3_declare_vtab(tls, db, ts+6672 /* "CREATE TABLE x(w..." */) } - if (*(*int32)(unsafe.Pointer(bp + 88 /* rc */)) == SQLITE_OK) && (isCreate != 0) { - spellfix1DbExec(tls, bp+88 /* &rc */, db, + if (*(*int32)(unsafe.Pointer(bp + 56 /* rc */)) == SQLITE_OK) && (isCreate != 0) { + spellfix1DbExec(tls, bp+56 /* &rc */, db, ts+6826, /* "CREATE TABLE IF ..." */ - libc.VaList(bp+16, zDbName, zTableName)) - spellfix1DbExec(tls, bp+88 /* &rc */, db, + libc.VaList(bp+8, zDbName, zTableName)) + spellfix1DbExec(tls, bp+56 /* &rc */, db, ts+6960, /* "CREATE INDEX IF ..." */ - libc.VaList(bp+40, zDbName, zTableName, zTableName)) + libc.VaList(bp+24, zDbName, zTableName, zTableName)) } - for i = 3; (*(*int32)(unsafe.Pointer(bp + 88 /* rc */)) == SQLITE_OK) && (i < argc); i++ { + for i = 3; (*(*int32)(unsafe.Pointer(bp + 56 /* rc */)) == SQLITE_OK) && (i < argc); i++ { if (libc.Xstrncmp(tls, *(*uintptr)(unsafe.Pointer(argv + uintptr(i)*8)), ts+7045 /* "edit_cost_table=" */, uint64(16)) == 0) && ((*spellfix1_vtab)(unsafe.Pointer(pNew)).FzCostTable == uintptr(0)) { (*spellfix1_vtab)(unsafe.Pointer(pNew)).FzCostTable = spellfix1Dequote(tls, (*(*uintptr)(unsafe.Pointer(argv + uintptr(i)*8)) + 16)) if (*spellfix1_vtab)(unsafe.Pointer(pNew)).FzCostTable == uintptr(0) { - *(*int32)(unsafe.Pointer(bp + 88 /* rc */)) = SQLITE_NOMEM + *(*int32)(unsafe.Pointer(bp + 56 /* rc */)) = SQLITE_NOMEM } continue } - *(*uintptr)(unsafe.Pointer(pzErr)) = sqlite3.Xsqlite3_mprintf(tls, ts+7062 /* "bad argument to ..." */, libc.VaList(bp+72, *(*uintptr)(unsafe.Pointer(argv + uintptr(i)*8)))) - *(*int32)(unsafe.Pointer(bp + 88 /* rc */)) = SQLITE_ERROR + *(*uintptr)(unsafe.Pointer(pzErr)) = sqlite3.Xsqlite3_mprintf(tls, ts+7062 /* "bad argument to ..." */, libc.VaList(bp+48, *(*uintptr)(unsafe.Pointer(argv + uintptr(i)*8)))) + *(*int32)(unsafe.Pointer(bp + 56 /* rc */)) = SQLITE_ERROR } } - if (*(*int32)(unsafe.Pointer(bp + 88 /* rc */)) != 0) && (pNew != 0) { + if (*(*int32)(unsafe.Pointer(bp + 56 /* rc */)) != 0) && (pNew != 0) { *(*uintptr)(unsafe.Pointer(ppVTab)) = uintptr(0) spellfix1Uninit(tls, 0, (pNew /* &.base */)) } else { *(*uintptr)(unsafe.Pointer(ppVTab)) = pNew } - return *(*int32)(unsafe.Pointer(bp + 88 /* rc */)) + return *(*int32)(unsafe.Pointer(bp + 56 /* rc */)) } // The xConnect and xCreate methods @@ -75351,8 +75351,8 @@ type MatchQuery = MatchQuery1 /* spellfix.c:2381:3 */ // Run a query looking for the best matches against zPattern using // zHash as the character class seed hash. func spellfix1RunQuery(tls *libc.TLS, p uintptr, zQuery uintptr, nQuery int32) { /* spellfix.c:2387:13: */ - bp := tls.Alloc(84) - defer tls.Free(84) + bp := tls.Alloc(76) + defer tls.Free(76) var zK1 uintptr var zWord uintptr @@ -75366,9 +75366,9 @@ func spellfix1RunQuery(tls *libc.TLS, p uintptr, zQuery uintptr, nQuery int32) { var iScope int32 = (*MatchQuery)(unsafe.Pointer(p)).FiScope var pCur uintptr = (*MatchQuery)(unsafe.Pointer(p)).FpCur var pStmt uintptr = (*MatchQuery)(unsafe.Pointer(p)).FpStmt - // var zHash1 [32]int8 at bp+16, 32 + // var zHash1 [32]int8 at bp+8, 32 - // var zHash2 [32]int8 at bp+48, 32 + // var zHash2 [32]int8 at bp+40, 32 var zClass uintptr var nClass int32 @@ -75394,26 +75394,26 @@ func spellfix1RunQuery(tls *libc.TLS, p uintptr, zQuery uintptr, nQuery int32) { iScope = nClass } } - libc.Xmemcpy(tls, bp+16 /* &zHash1[0] */, zClass, uint64(iScope)) + libc.Xmemcpy(tls, bp+8 /* &zHash1[0] */, zClass, uint64(iScope)) sqlite3.Xsqlite3_free(tls, zClass) - *(*int8)(unsafe.Pointer(bp + 16 /* &zHash1[0] */ + uintptr(iScope))) = int8(0) - libc.Xmemcpy(tls, bp+48 /* &zHash2[0] */, bp+16 /* &zHash1[0] */, uint64(iScope)) - *(*int8)(unsafe.Pointer(bp + 48 /* &zHash2[0] */ + uintptr(iScope))) = int8('Z') - *(*int8)(unsafe.Pointer(bp + 48 /* &zHash2[0] */ + uintptr((iScope + 1)))) = int8(0) + *(*int8)(unsafe.Pointer(bp + 8 /* &zHash1[0] */ + uintptr(iScope))) = int8(0) + libc.Xmemcpy(tls, bp+40 /* &zHash2[0] */, bp+8 /* &zHash1[0] */, uint64(iScope)) + *(*int8)(unsafe.Pointer(bp + 40 /* &zHash2[0] */ + uintptr(iScope))) = int8('Z') + *(*int8)(unsafe.Pointer(bp + 40 /* &zHash2[0] */ + uintptr((iScope + 1)))) = int8(0) - libc.Xmemcpy(tls, ((p + 108 /* &.azPrior */) + uintptr(libc.PostIncInt32(&(*MatchQuery)(unsafe.Pointer(p)).FnRun, 1))*32), bp+16 /* &zHash1[0] */, (uint64(iScope + 1))) - if (sqlite3.Xsqlite3_bind_text(tls, pStmt, 1, bp+16 /* &zHash1[0] */, -1, uintptr(0)) == SQLITE_NOMEM) || - (sqlite3.Xsqlite3_bind_text(tls, pStmt, 2, bp+48 /* &zHash2[0] */, -1, uintptr(0)) == SQLITE_NOMEM) { + libc.Xmemcpy(tls, ((p + 108 /* &.azPrior */) + uintptr(libc.PostIncInt32(&(*MatchQuery)(unsafe.Pointer(p)).FnRun, 1))*32), bp+8 /* &zHash1[0] */, (uint64(iScope + 1))) + if (sqlite3.Xsqlite3_bind_text(tls, pStmt, 1, bp+8 /* &zHash1[0] */, -1, uintptr(0)) == SQLITE_NOMEM) || + (sqlite3.Xsqlite3_bind_text(tls, pStmt, 2, bp+40 /* &zHash2[0] */, -1, uintptr(0)) == SQLITE_NOMEM) { (*MatchQuery)(unsafe.Pointer(p)).Frc = SQLITE_NOMEM return } for sqlite3.Xsqlite3_step(tls, pStmt) == SQLITE_ROW { - *(*int32)(unsafe.Pointer(bp + 80 /* iMatchlen */)) = -1 + *(*int32)(unsafe.Pointer(bp + 72 /* iMatchlen */)) = -1 iRank = sqlite3.Xsqlite3_column_int(tls, pStmt, 2) if (*MatchQuery)(unsafe.Pointer(p)).FpMatchStr3 != 0 { var nWord int32 = sqlite3.Xsqlite3_column_bytes(tls, pStmt, 1) zWord = sqlite3.Xsqlite3_column_text(tls, pStmt, 1) - iDist = editDist3Core(tls, (*MatchQuery)(unsafe.Pointer(p)).FpMatchStr3, zWord, nWord, (*MatchQuery)(unsafe.Pointer(p)).FpLang, bp+80 /* &iMatchlen */) + iDist = editDist3Core(tls, (*MatchQuery)(unsafe.Pointer(p)).FpMatchStr3, zWord, nWord, (*MatchQuery)(unsafe.Pointer(p)).FpLang, bp+72 /* &iMatchlen */) } else { zK1 = sqlite3.Xsqlite3_column_text(tls, pStmt, 3) if zK1 == uintptr(0) { @@ -75465,8 +75465,8 @@ func spellfix1RunQuery(tls *libc.TLS, p uintptr, zQuery uintptr, nQuery int32) { (*spellfix1_row)(unsafe.Pointer((*spellfix1_cursor)(unsafe.Pointer(pCur)).Fa + uintptr(idx)*64)).FiRank = iRank (*spellfix1_row)(unsafe.Pointer((*spellfix1_cursor)(unsafe.Pointer(pCur)).Fa + uintptr(idx)*64)).FiDistance = iDist (*spellfix1_row)(unsafe.Pointer((*spellfix1_cursor)(unsafe.Pointer(pCur)).Fa + uintptr(idx)*64)).FiScore = iScore - (*spellfix1_row)(unsafe.Pointer((*spellfix1_cursor)(unsafe.Pointer(pCur)).Fa + uintptr(idx)*64)).FiMatchlen = *(*int32)(unsafe.Pointer(bp + 80 /* iMatchlen */)) - libc.Xmemcpy(tls, (*spellfix1_cursor)(unsafe.Pointer(pCur)).Fa+uintptr(idx)*64+32 /* &.zHash */, bp+16 /* &zHash1[0] */, (uint64(iScope + 1))) + (*spellfix1_row)(unsafe.Pointer((*spellfix1_cursor)(unsafe.Pointer(pCur)).Fa + uintptr(idx)*64)).FiMatchlen = *(*int32)(unsafe.Pointer(bp + 72 /* iMatchlen */)) + libc.Xmemcpy(tls, (*spellfix1_cursor)(unsafe.Pointer(pCur)).Fa+uintptr(idx)*64+32 /* &.zHash */, bp+8 /* &zHash1[0] */, (uint64(iScope + 1))) if (*spellfix1_cursor)(unsafe.Pointer(pCur)).FnRow < (*spellfix1_cursor)(unsafe.Pointer(pCur)).FnAlloc { (*spellfix1_cursor)(unsafe.Pointer(pCur)).FnRow++ } @@ -75491,8 +75491,8 @@ func spellfix1RunQuery(tls *libc.TLS, p uintptr, zQuery uintptr, nQuery int32) { // This version of the xFilter method work if the MATCH term is present // and we are doing a scan. func spellfix1FilterForMatch(tls *libc.TLS, pCur uintptr, argc int32, argv uintptr) int32 { /* spellfix.c:2526:12: */ - bp := tls.Alloc(184) - defer tls.Free(184) + bp := tls.Alloc(176) + defer tls.Free(176) var idxNum int32 var zMatchThis uintptr // RHS of the MATCH operator @@ -75503,18 +75503,18 @@ func spellfix1FilterForMatch(tls *libc.TLS, pCur uintptr, argc int32, argv uintp var iScope int32 // Use this many characters of zClass var iLang int32 // Language code var zSql uintptr // SQL of shadow table query - // var pStmt uintptr at bp+176, 8 + // var pStmt uintptr at bp+168, 8 // Shadow table query var rc int32 // Result code var idx int32 // Next available filter parameter var p uintptr // The virtual table that owns pCur - // var x MatchQuery at bp+32, 144 + // var x MatchQuery at bp+24, 144 idxNum = (*spellfix1_cursor)(unsafe.Pointer(pCur)).FidxNum pMatchStr3 = uintptr(0) iLimit = 20 iScope = 3 iLang = 0 - *(*uintptr)(unsafe.Pointer(bp + 176 /* pStmt */)) = uintptr(0) + *(*uintptr)(unsafe.Pointer(bp + 168 /* pStmt */)) = uintptr(0) idx = 1 p = (*spellfix1_cursor)(unsafe.Pointer(pCur)).FpVTab // For passing info to RunQuery() @@ -75539,9 +75539,9 @@ __3: ; __1: ; - libc.Xmemset(tls, bp+32 /* &x */, 0, uint64(unsafe.Sizeof(MatchQuery{}))) - (*MatchQuery)(unsafe.Pointer(bp + 32 /* &x */)).FiScope = 3 // Default scope if none specified by "WHERE scope=N" - (*MatchQuery)(unsafe.Pointer(bp + 32 /* &x */)).FiMaxDist = -1 // Maximum allowed edit distance + libc.Xmemset(tls, bp+24 /* &x */, 0, uint64(unsafe.Sizeof(MatchQuery{}))) + (*MatchQuery)(unsafe.Pointer(bp + 24 /* &x */)).FiScope = 3 // Default scope if none specified by "WHERE scope=N" + (*MatchQuery)(unsafe.Pointer(bp + 24 /* &x */)).FiMaxDist = -1 // Maximum allowed edit distance if !((idxNum & 2) != 0) { goto __4 @@ -75564,17 +75564,17 @@ __5: if !((idxNum & 8) != 0) { goto __7 } - (*MatchQuery)(unsafe.Pointer(bp + 32 /* &x */)).FiScope = sqlite3.Xsqlite3_value_int(tls, *(*uintptr)(unsafe.Pointer(argv + uintptr(libc.PostIncInt32(&idx, 1))*8))) - if !((*MatchQuery)(unsafe.Pointer(bp+32 /* &x */)).FiScope < 1) { + (*MatchQuery)(unsafe.Pointer(bp + 24 /* &x */)).FiScope = sqlite3.Xsqlite3_value_int(tls, *(*uintptr)(unsafe.Pointer(argv + uintptr(libc.PostIncInt32(&idx, 1))*8))) + if !((*MatchQuery)(unsafe.Pointer(bp+24 /* &x */)).FiScope < 1) { goto __8 } - (*MatchQuery)(unsafe.Pointer(bp + 32 /* &x */)).FiScope = 1 + (*MatchQuery)(unsafe.Pointer(bp + 24 /* &x */)).FiScope = 1 __8: ; - if !((*MatchQuery)(unsafe.Pointer(bp+32 /* &x */)).FiScope > (SPELLFIX_MX_HASH - 2)) { + if !((*MatchQuery)(unsafe.Pointer(bp+24 /* &x */)).FiScope > (SPELLFIX_MX_HASH - 2)) { goto __9 } - (*MatchQuery)(unsafe.Pointer(bp + 32 /* &x */)).FiScope = (SPELLFIX_MX_HASH - 2) + (*MatchQuery)(unsafe.Pointer(bp + 24 /* &x */)).FiScope = (SPELLFIX_MX_HASH - 2) __9: ; __7: @@ -75582,17 +75582,17 @@ __7: if !((idxNum & (16 | 32)) != 0) { goto __10 } - (*MatchQuery)(unsafe.Pointer(bp + 32 /* &x */)).FiMaxDist = sqlite3.Xsqlite3_value_int(tls, *(*uintptr)(unsafe.Pointer(argv + uintptr(libc.PostIncInt32(&idx, 1))*8))) + (*MatchQuery)(unsafe.Pointer(bp + 24 /* &x */)).FiMaxDist = sqlite3.Xsqlite3_value_int(tls, *(*uintptr)(unsafe.Pointer(argv + uintptr(libc.PostIncInt32(&idx, 1))*8))) if !((idxNum & 16) != 0) { goto __11 } - (*MatchQuery)(unsafe.Pointer(bp+32 /* &x */)).FiMaxDist-- + (*MatchQuery)(unsafe.Pointer(bp+24 /* &x */)).FiMaxDist-- __11: ; - if !((*MatchQuery)(unsafe.Pointer(bp+32 /* &x */)).FiMaxDist < 0) { + if !((*MatchQuery)(unsafe.Pointer(bp+24 /* &x */)).FiMaxDist < 0) { goto __12 } - (*MatchQuery)(unsafe.Pointer(bp + 32 /* &x */)).FiMaxDist = 0 + (*MatchQuery)(unsafe.Pointer(bp + 24 /* &x */)).FiMaxDist = 0 __12: ; __10: @@ -75609,18 +75609,18 @@ __13: if !((*spellfix1_vtab)(unsafe.Pointer(p)).FpConfig3 != 0) { goto __14 } - (*MatchQuery)(unsafe.Pointer(bp + 32 /* &x */)).FpLang = editDist3FindLang(tls, (*spellfix1_vtab)(unsafe.Pointer(p)).FpConfig3, iLang) - pMatchStr3 = editDist3FromStringNew(tls, (*MatchQuery)(unsafe.Pointer(bp+32 /* &x */)).FpLang, zMatchThis, -1) + (*MatchQuery)(unsafe.Pointer(bp + 24 /* &x */)).FpLang = editDist3FindLang(tls, (*spellfix1_vtab)(unsafe.Pointer(p)).FpConfig3, iLang) + pMatchStr3 = editDist3FromStringNew(tls, (*MatchQuery)(unsafe.Pointer(bp+24 /* &x */)).FpLang, zMatchThis, -1) if !(pMatchStr3 == uintptr(0)) { goto __16 } - (*MatchQuery)(unsafe.Pointer(bp + 32 /* &x */)).Frc = SQLITE_NOMEM + (*MatchQuery)(unsafe.Pointer(bp + 24 /* &x */)).Frc = SQLITE_NOMEM goto filter_exit __16: ; goto __15 __14: - (*MatchQuery)(unsafe.Pointer(bp + 32 /* &x */)).FpLang = uintptr(0) + (*MatchQuery)(unsafe.Pointer(bp + 24 /* &x */)).FpLang = uintptr(0) __15: ; zPattern = transliterate(tls, zMatchThis, sqlite3.Xsqlite3_value_bytes(tls, *(*uintptr)(unsafe.Pointer(argv)))) @@ -75629,7 +75629,7 @@ __15: if !(zPattern == uintptr(0)) { goto __17 } - (*MatchQuery)(unsafe.Pointer(bp + 32 /* &x */)).Frc = SQLITE_NOMEM + (*MatchQuery)(unsafe.Pointer(bp + 24 /* &x */)).Frc = SQLITE_NOMEM goto filter_exit __17: ; @@ -75647,26 +75647,26 @@ __18: if !(zSql == uintptr(0)) { goto __19 } - (*MatchQuery)(unsafe.Pointer(bp + 32 /* &x */)).Frc = SQLITE_NOMEM - *(*uintptr)(unsafe.Pointer(bp + 176 /* pStmt */)) = uintptr(0) + (*MatchQuery)(unsafe.Pointer(bp + 24 /* &x */)).Frc = SQLITE_NOMEM + *(*uintptr)(unsafe.Pointer(bp + 168 /* pStmt */)) = uintptr(0) goto filter_exit __19: ; - rc = sqlite3.Xsqlite3_prepare_v2(tls, (*spellfix1_vtab)(unsafe.Pointer(p)).Fdb, zSql, -1, bp+176 /* &pStmt */, uintptr(0)) + rc = sqlite3.Xsqlite3_prepare_v2(tls, (*spellfix1_vtab)(unsafe.Pointer(p)).Fdb, zSql, -1, bp+168 /* &pStmt */, uintptr(0)) sqlite3.Xsqlite3_free(tls, zSql) (*spellfix1_cursor)(unsafe.Pointer(pCur)).FiLang = iLang - (*MatchQuery)(unsafe.Pointer(bp + 32 /* &x */)).FpCur = pCur - (*MatchQuery)(unsafe.Pointer(bp + 32 /* &x */)).FpStmt = *(*uintptr)(unsafe.Pointer(bp + 176 /* pStmt */)) - (*MatchQuery)(unsafe.Pointer(bp + 32 /* &x */)).FzPattern = zPattern - (*MatchQuery)(unsafe.Pointer(bp + 32 /* &x */)).FnPattern = nPattern - (*MatchQuery)(unsafe.Pointer(bp + 32 /* &x */)).FpMatchStr3 = pMatchStr3 - (*MatchQuery)(unsafe.Pointer(bp + 32 /* &x */)).FiLang = iLang - (*MatchQuery)(unsafe.Pointer(bp + 32 /* &x */)).Frc = rc - (*MatchQuery)(unsafe.Pointer(bp + 32 /* &x */)).FpConfig3 = (*spellfix1_vtab)(unsafe.Pointer(p)).FpConfig3 - if !((*MatchQuery)(unsafe.Pointer(bp+32 /* &x */)).Frc == SQLITE_OK) { + (*MatchQuery)(unsafe.Pointer(bp + 24 /* &x */)).FpCur = pCur + (*MatchQuery)(unsafe.Pointer(bp + 24 /* &x */)).FpStmt = *(*uintptr)(unsafe.Pointer(bp + 168 /* pStmt */)) + (*MatchQuery)(unsafe.Pointer(bp + 24 /* &x */)).FzPattern = zPattern + (*MatchQuery)(unsafe.Pointer(bp + 24 /* &x */)).FnPattern = nPattern + (*MatchQuery)(unsafe.Pointer(bp + 24 /* &x */)).FpMatchStr3 = pMatchStr3 + (*MatchQuery)(unsafe.Pointer(bp + 24 /* &x */)).FiLang = iLang + (*MatchQuery)(unsafe.Pointer(bp + 24 /* &x */)).Frc = rc + (*MatchQuery)(unsafe.Pointer(bp + 24 /* &x */)).FpConfig3 = (*spellfix1_vtab)(unsafe.Pointer(p)).FpConfig3 + if !((*MatchQuery)(unsafe.Pointer(bp+24 /* &x */)).Frc == SQLITE_OK) { goto __20 } - spellfix1RunQuery(tls, bp+32 /* &x */, zPattern, nPattern) + spellfix1RunQuery(tls, bp+24 /* &x */, zPattern, nPattern) __20: ; @@ -75680,20 +75680,20 @@ __20: (*spellfix1_cursor)(unsafe.Pointer(pCur)).FiScope = iScope goto __22 __21: - (*MatchQuery)(unsafe.Pointer(bp + 32 /* &x */)).Frc = SQLITE_NOMEM + (*MatchQuery)(unsafe.Pointer(bp + 24 /* &x */)).Frc = SQLITE_NOMEM __22: ; filter_exit: - sqlite3.Xsqlite3_finalize(tls, *(*uintptr)(unsafe.Pointer(bp + 176 /* pStmt */))) + sqlite3.Xsqlite3_finalize(tls, *(*uintptr)(unsafe.Pointer(bp + 168 /* pStmt */))) editDist3FromStringDelete(tls, pMatchStr3) - return (*MatchQuery)(unsafe.Pointer(bp + 32 /* &x */)).Frc + return (*MatchQuery)(unsafe.Pointer(bp + 24 /* &x */)).Frc } // This version of xFilter handles a full-table scan case func spellfix1FilterForFullScan(tls *libc.TLS, pCur uintptr, argc int32, argv uintptr) int32 { /* spellfix.c:2641:12: */ - bp := tls.Alloc(32) - defer tls.Free(32) + bp := tls.Alloc(24) + defer tls.Free(24) var rc int32 = SQLITE_OK var idxNum int32 = (*spellfix1_cursor)(unsafe.Pointer(pCur)).FidxNum @@ -75912,10 +75912,10 @@ var azConflict = [5]uintptr{ // The xUpdate() method. func spellfix1Update(tls *libc.TLS, pVTab uintptr, argc int32, argv uintptr, pRowid uintptr) int32 { /* spellfix.c:2851:12: */ - bp := tls.Alloc(332) - defer tls.Free(332) + bp := tls.Alloc(284) + defer tls.Free(284) - *(*int32)(unsafe.Pointer(bp + 328 /* rc */)) = SQLITE_OK + *(*int32)(unsafe.Pointer(bp + 280 /* rc */)) = SQLITE_OK var rowid sqlite3_int64 var newRowid sqlite3_int64 var p uintptr = pVTab @@ -75924,7 +75924,7 @@ func spellfix1Update(tls *libc.TLS, pVTab uintptr, argc int32, argv uintptr, pRo if argc == 1 { // A delete operation on the rowid given by argv[0] rowid = libc.AssignPtrInt64(pRowid, sqlite3.Xsqlite3_value_int64(tls, *(*uintptr)(unsafe.Pointer(argv)))) - spellfix1DbExec(tls, bp+328 /* &rc */, db, + spellfix1DbExec(tls, bp+280 /* &rc */, db, ts+7300, /* "DELETE FROM \"%w\"..." */ libc.VaList(bp, (*spellfix1_vtab)(unsafe.Pointer(p)).FzDbName, (*spellfix1_vtab)(unsafe.Pointer(p)).FzTableName, rowid)) } else { @@ -75947,7 +75947,7 @@ func spellfix1Update(tls *libc.TLS, pVTab uintptr, argc int32, argv uintptr, pRo var zCmd uintptr = sqlite3.Xsqlite3_value_text(tls, *(*uintptr)(unsafe.Pointer(argv + 13*8))) if zCmd == uintptr(0) { (*sqlite3_vtab)(unsafe.Pointer(pVTab)).FzErrMsg = sqlite3.Xsqlite3_mprintf(tls, ts+7343, /* "NOT NULL constra..." */ - libc.VaList(bp+32, (*spellfix1_vtab)(unsafe.Pointer(p)).FzTableName)) + libc.VaList(bp+24, (*spellfix1_vtab)(unsafe.Pointer(p)).FzTableName)) return (SQLITE_CONSTRAINT | (int32(5) << 8)) } if libc.Xstrcmp(tls, zCmd, ts+7379 /* "reset" */) == 0 { @@ -75971,7 +75971,7 @@ func spellfix1Update(tls *libc.TLS, pVTab uintptr, argc int32, argv uintptr, pRo return SQLITE_OK } (*sqlite3_vtab)(unsafe.Pointer(pVTab)).FzErrMsg = sqlite3.Xsqlite3_mprintf(tls, ts+7390, /* "unknown value fo..." */ - libc.VaList(bp+48, (*spellfix1_vtab)(unsafe.Pointer(p)).FzTableName, zCmd)) + libc.VaList(bp+32, (*spellfix1_vtab)(unsafe.Pointer(p)).FzTableName, zCmd)) return SQLITE_ERROR } if iRank < 1 { @@ -75997,57 +75997,57 @@ func spellfix1Update(tls *libc.TLS, pVTab uintptr, argc int32, argv uintptr, pRo } if sqlite3.Xsqlite3_value_type(tls, *(*uintptr)(unsafe.Pointer(argv))) == SQLITE_NULL { if sqlite3.Xsqlite3_value_type(tls, *(*uintptr)(unsafe.Pointer(argv + 1*8))) == SQLITE_NULL { - spellfix1DbExec(tls, bp+328 /* &rc */, db, + spellfix1DbExec(tls, bp+280 /* &rc */, db, ts+7425, /* "INSERT INTO \"%w\"..." */ - libc.VaList(bp+72, (*spellfix1_vtab)(unsafe.Pointer(p)).FzDbName, (*spellfix1_vtab)(unsafe.Pointer(p)).FzTableName, + libc.VaList(bp+48, (*spellfix1_vtab)(unsafe.Pointer(p)).FzDbName, (*spellfix1_vtab)(unsafe.Pointer(p)).FzTableName, iRank, iLang, zWord, zK1, zWord, zK2)) } else { newRowid = sqlite3.Xsqlite3_value_int64(tls, *(*uintptr)(unsafe.Pointer(argv + 1*8))) - spellfix1DbExec(tls, bp+328 /* &rc */, db, + spellfix1DbExec(tls, bp+280 /* &rc */, db, ts+7511, /* "INSERT OR %s INT..." */ - libc.VaList(bp+144, zConflict, (*spellfix1_vtab)(unsafe.Pointer(p)).FzDbName, (*spellfix1_vtab)(unsafe.Pointer(p)).FzTableName, + libc.VaList(bp+112, zConflict, (*spellfix1_vtab)(unsafe.Pointer(p)).FzDbName, (*spellfix1_vtab)(unsafe.Pointer(p)).FzTableName, newRowid, iRank, iLang, zWord, zK1, zWord, zK2)) } *(*sqlite_int64)(unsafe.Pointer(pRowid)) = sqlite3.Xsqlite3_last_insert_rowid(tls, db) } else { rowid = sqlite3.Xsqlite3_value_int64(tls, *(*uintptr)(unsafe.Pointer(argv))) newRowid = libc.AssignPtrInt64(pRowid, sqlite3.Xsqlite3_value_int64(tls, *(*uintptr)(unsafe.Pointer(argv + 1*8)))) - spellfix1DbExec(tls, bp+328 /* &rc */, db, + spellfix1DbExec(tls, bp+280 /* &rc */, db, ts+7611, /* "UPDATE OR %s \"%w..." */ - libc.VaList(bp+232, zConflict, (*spellfix1_vtab)(unsafe.Pointer(p)).FzDbName, (*spellfix1_vtab)(unsafe.Pointer(p)).FzTableName, newRowid, iRank, iLang, + libc.VaList(bp+192, zConflict, (*spellfix1_vtab)(unsafe.Pointer(p)).FzDbName, (*spellfix1_vtab)(unsafe.Pointer(p)).FzTableName, newRowid, iRank, iLang, zWord, zK1, zWord, zK2, rowid)) } sqlite3.Xsqlite3_free(tls, zK1) sqlite3.Xsqlite3_free(tls, zK2) } - return *(*int32)(unsafe.Pointer(bp + 328 /* rc */)) + return *(*int32)(unsafe.Pointer(bp + 280 /* rc */)) } // Rename the spellfix1 table. func spellfix1Rename(tls *libc.TLS, pVTab uintptr, zNew uintptr) int32 { /* spellfix.c:2966:12: */ - bp := tls.Alloc(52) - defer tls.Free(52) + bp := tls.Alloc(36) + defer tls.Free(36) var p uintptr = pVTab var db uintptr = (*spellfix1_vtab)(unsafe.Pointer(p)).Fdb - *(*int32)(unsafe.Pointer(bp + 48 /* rc */)) = SQLITE_OK + *(*int32)(unsafe.Pointer(bp + 32 /* rc */)) = SQLITE_OK var zNewName uintptr = sqlite3.Xsqlite3_mprintf(tls, ts /* "%s" */, libc.VaList(bp, zNew)) if zNewName == uintptr(0) { return SQLITE_NOMEM } - spellfix1DbExec(tls, bp+48 /* &rc */, db, + spellfix1DbExec(tls, bp+32 /* &rc */, db, ts+7720, /* "ALTER TABLE \"%w\"..." */ - libc.VaList(bp+16, (*spellfix1_vtab)(unsafe.Pointer(p)).FzDbName, (*spellfix1_vtab)(unsafe.Pointer(p)).FzTableName, zNewName)) - if *(*int32)(unsafe.Pointer(bp + 48 /* rc */)) == SQLITE_OK { + libc.VaList(bp+8, (*spellfix1_vtab)(unsafe.Pointer(p)).FzDbName, (*spellfix1_vtab)(unsafe.Pointer(p)).FzTableName, zNewName)) + if *(*int32)(unsafe.Pointer(bp + 32 /* rc */)) == SQLITE_OK { sqlite3.Xsqlite3_free(tls, (*spellfix1_vtab)(unsafe.Pointer(p)).FzTableName) (*spellfix1_vtab)(unsafe.Pointer(p)).FzTableName = zNewName } else { sqlite3.Xsqlite3_free(tls, zNewName) } - return *(*int32)(unsafe.Pointer(bp + 48 /* rc */)) + return *(*int32)(unsafe.Pointer(bp + 32 /* rc */)) } // A virtual table module that provides fuzzy search. @@ -76944,19 +76944,19 @@ func unionDequote(tls *libc.TLS, z uintptr) { /* unionvtab.c:297:13: */ // code and *pzErr may be set to an error message buffer allocated by // sqlite3_malloc(). func unionPrepare(tls *libc.TLS, pRc uintptr, db uintptr, zSql uintptr, pzErr uintptr) uintptr { /* unionvtab.c:341:21: */ - bp := tls.Alloc(24) - defer tls.Free(24) + bp := tls.Alloc(16) + defer tls.Free(16) - *(*uintptr)(unsafe.Pointer(bp + 16 /* pRet */)) = uintptr(0) + *(*uintptr)(unsafe.Pointer(bp + 8 /* pRet */)) = uintptr(0) if *(*int32)(unsafe.Pointer(pRc)) == SQLITE_OK { - var rc int32 = sqlite3.Xsqlite3_prepare_v2(tls, db, zSql, -1, bp+16 /* &pRet */, uintptr(0)) + var rc int32 = sqlite3.Xsqlite3_prepare_v2(tls, db, zSql, -1, bp+8 /* &pRet */, uintptr(0)) if rc != SQLITE_OK { *(*uintptr)(unsafe.Pointer(pzErr)) = sqlite3.Xsqlite3_mprintf(tls, ts+7894 /* "sql error: %s" */, libc.VaList(bp, sqlite3.Xsqlite3_errmsg(tls, db))) *(*int32)(unsafe.Pointer(pRc)) = rc } } - return *(*uintptr)(unsafe.Pointer(bp + 16 /* pRet */)) + return *(*uintptr)(unsafe.Pointer(bp + 8 /* pRet */)) } // Like unionPrepare(), except prepare the results of vprintf(zFmt, ...) @@ -76992,8 +76992,8 @@ func unionPreparePrintf(tls *libc.TLS, pRc uintptr, pzErr uintptr, db uintptr, z // SQLITE_OK when this function is called, then it is set to the // value returned by sqlite3_finalize() before this function exits. func unionFinalize(tls *libc.TLS, pRc uintptr, pStmt uintptr, pzErr uintptr) { /* unionvtab.c:414:13: */ - bp := tls.Alloc(16) - defer tls.Free(16) + bp := tls.Alloc(8) + defer tls.Free(8) var db uintptr = sqlite3.Xsqlite3_db_handle(tls, pStmt) var rc int32 = sqlite3.Xsqlite3_finalize(tls, pStmt) @@ -77014,8 +77014,8 @@ func unionFinalize(tls *libc.TLS, pRc uintptr, pStmt uintptr, pzErr uintptr) { / // language error message. The caller is responsible for eventually freeing // any error message using sqlite3_free(). func unionInvokeOpenClose(tls *libc.TLS, pTab uintptr, pSrc uintptr, bClose int32, pzErr uintptr) int32 { /* unionvtab.c:435:12: */ - bp := tls.Alloc(16) - defer tls.Free(16) + bp := tls.Alloc(8) + defer tls.Free(8) var rc int32 = SQLITE_OK if (*UnionTab)(unsafe.Pointer(pTab)).FpOpenClose != 0 { @@ -77084,18 +77084,18 @@ func unionDisconnect(tls *libc.TLS, pVtab uintptr) int32 { /* unionvtab.c:481:12 // error message. If the table is a rowid table and no error occurs, // return SQLITE_OK and leave (*pzErr) unmodified. func unionIsIntkeyTable(tls *libc.TLS, db uintptr, pSrc uintptr, pzErr uintptr) int32 { /* unionvtab.c:512:12: */ - bp := tls.Alloc(44) - defer tls.Free(44) + bp := tls.Alloc(36) + defer tls.Free(36) - *(*int32)(unsafe.Pointer(bp + 40 /* bPk */)) = 0 - *(*uintptr)(unsafe.Pointer(bp + 32 /* zType */)) = uintptr(0) + *(*int32)(unsafe.Pointer(bp + 32 /* bPk */)) = 0 + *(*uintptr)(unsafe.Pointer(bp + 24 /* zType */)) = uintptr(0) var rc int32 sqlite3.Xsqlite3_table_column_metadata(tls, - db, (*UnionSrc)(unsafe.Pointer(pSrc)).FzDb, (*UnionSrc)(unsafe.Pointer(pSrc)).FzTab, ts+7908 /* "_rowid_" */, bp+32 /* &zType */, uintptr(0), uintptr(0), bp+40 /* &bPk */, uintptr(0)) + db, (*UnionSrc)(unsafe.Pointer(pSrc)).FzDb, (*UnionSrc)(unsafe.Pointer(pSrc)).FzTab, ts+7908 /* "_rowid_" */, bp+24 /* &zType */, uintptr(0), uintptr(0), bp+32 /* &bPk */, uintptr(0)) rc = sqlite3.Xsqlite3_errcode(tls, db) if (rc == SQLITE_ERROR) || - ((rc == SQLITE_OK) && (!(*(*int32)(unsafe.Pointer(bp + 40 /* bPk */)) != 0) || (sqlite3.Xsqlite3_stricmp(tls, ts+7916 /* "integer" */, *(*uintptr)(unsafe.Pointer(bp + 32 /* zType */))) != 0))) { + ((rc == SQLITE_OK) && (!(*(*int32)(unsafe.Pointer(bp + 32 /* bPk */)) != 0) || (sqlite3.Xsqlite3_stricmp(tls, ts+7916 /* "integer" */, *(*uintptr)(unsafe.Pointer(bp + 24 /* zType */))) != 0))) { rc = SQLITE_ERROR *(*uintptr)(unsafe.Pointer(pzErr)) = sqlite3.Xsqlite3_mprintf(tls, ts+7924, /* "no such rowid ta..." */ libc.VaList(bp, func() uintptr { @@ -77192,8 +77192,8 @@ func unionSourceCheck(tls *libc.TLS, pTab uintptr, pzErr uintptr) int32 { /* uni // Try to open the swarmvtab database. If initially unable, invoke the // not-found callback UDF and then try again. func unionOpenDatabaseInner(tls *libc.TLS, pTab uintptr, pSrc uintptr, pzErr uintptr) int32 { /* unionvtab.c:616:12: */ - bp := tls.Alloc(32) - defer tls.Free(32) + bp := tls.Alloc(16) + defer tls.Free(16) var rc int32 @@ -77221,7 +77221,7 @@ func unionOpenDatabaseInner(tls *libc.TLS, pTab uintptr, pSrc uintptr, pzErr uin rc = sqlite3.Xsqlite3_open_v2(tls, (*UnionSrc)(unsafe.Pointer(pSrc)).FzFile, (pSrc + 56 /* &.db */), openFlags, uintptr(0)) } if rc != SQLITE_OK { - *(*uintptr)(unsafe.Pointer(pzErr)) = sqlite3.Xsqlite3_mprintf(tls, ts /* "%s" */, libc.VaList(bp+16, sqlite3.Xsqlite3_errmsg(tls, (*UnionSrc)(unsafe.Pointer(pSrc)).Fdb))) + *(*uintptr)(unsafe.Pointer(pzErr)) = sqlite3.Xsqlite3_mprintf(tls, ts /* "%s" */, libc.VaList(bp+8, sqlite3.Xsqlite3_errmsg(tls, (*UnionSrc)(unsafe.Pointer(pSrc)).Fdb))) } return rc } @@ -77351,16 +77351,16 @@ func union_isidchar(tls *libc.TLS, c int8) int32 { /* unionvtab.c:757:12: */ // an English language error message. It is the responsibility of the // caller to eventually free the buffer using sqlite3_free(). func unionConfigureVtab(tls *libc.TLS, pRc uintptr, pTab uintptr, pStmt uintptr, nArg int32, azArg uintptr, pzErr uintptr) { /* unionvtab.c:777:13: */ - bp := tls.Alloc(116) - defer tls.Free(116) + bp := tls.Alloc(68) + defer tls.Free(68) - *(*int32)(unsafe.Pointer(bp + 112 /* rc */)) = *(*int32)(unsafe.Pointer(pRc)) + *(*int32)(unsafe.Pointer(bp + 64 /* rc */)) = *(*int32)(unsafe.Pointer(pRc)) var i int32 - if *(*int32)(unsafe.Pointer(bp + 112 /* rc */)) == SQLITE_OK { + if *(*int32)(unsafe.Pointer(bp + 64 /* rc */)) == SQLITE_OK { (*UnionTab)(unsafe.Pointer(pTab)).FbHasContext = (libc.Bool32(sqlite3.Xsqlite3_column_count(tls, pStmt) > 4)) } - for i = 0; (*(*int32)(unsafe.Pointer(bp + 112 /* rc */)) == SQLITE_OK) && (i < nArg); i++ { - var zArg uintptr = unionStrdup(tls, bp+112 /* &rc */, *(*uintptr)(unsafe.Pointer(azArg + uintptr(i)*8))) + for i = 0; (*(*int32)(unsafe.Pointer(bp + 64 /* rc */)) == SQLITE_OK) && (i < nArg); i++ { + var zArg uintptr = unionStrdup(tls, bp+64 /* &rc */, *(*uintptr)(unsafe.Pointer(azArg + uintptr(i)*8))) if zArg != 0 { var nOpt int32 = 0 // Size of option name in bytes var zOpt uintptr // Pointer to option name @@ -77389,7 +77389,7 @@ func unionConfigureVtab(tls *libc.TLS, pRc uintptr, pTab uintptr, pStmt uintptr, for union_isspace(tls, *(*int8)(unsafe.Pointer(zVal))) != 0 { zVal++ } - zVal = unionStrdup(tls, bp+112 /* &rc */, zVal) + zVal = unionStrdup(tls, bp+64 /* &rc */, zVal) if zVal != 0 { unionDequote(tls, zVal) if int32(*(*int8)(unsafe.Pointer(zOpt))) == ':' { @@ -77398,24 +77398,24 @@ func unionConfigureVtab(tls *libc.TLS, pRc uintptr, pTab uintptr, pStmt uintptr, if iParam == 0 { *(*uintptr)(unsafe.Pointer(pzErr)) = sqlite3.Xsqlite3_mprintf(tls, ts+8067 /* "swarmvtab: no su..." */, libc.VaList(bp, zOpt)) - *(*int32)(unsafe.Pointer(bp + 112 /* rc */)) = SQLITE_ERROR + *(*int32)(unsafe.Pointer(bp + 64 /* rc */)) = SQLITE_ERROR } else { - *(*int32)(unsafe.Pointer(bp + 112 /* rc */)) = sqlite3.Xsqlite3_bind_text(tls, pStmt, iParam, zVal, -1, libc.UintptrFromInt32(-1)) + *(*int32)(unsafe.Pointer(bp + 64 /* rc */)) = sqlite3.Xsqlite3_bind_text(tls, pStmt, iParam, zVal, -1, libc.UintptrFromInt32(-1)) } } else if (nOpt == 7) && (0 == sqlite3.Xsqlite3_strnicmp(tls, zOpt, ts+8104 /* "maxopen" */, 7)) { (*UnionTab)(unsafe.Pointer(pTab)).FnMaxOpen = libc.Xatoi(tls, zVal) if (*UnionTab)(unsafe.Pointer(pTab)).FnMaxOpen <= 0 { *(*uintptr)(unsafe.Pointer(pzErr)) = sqlite3.Xsqlite3_mprintf(tls, ts+8112 /* "swarmvtab: illeg..." */, 0) - *(*int32)(unsafe.Pointer(bp + 112 /* rc */)) = SQLITE_ERROR + *(*int32)(unsafe.Pointer(bp + 64 /* rc */)) = SQLITE_ERROR } } else if (nOpt == 7) && (0 == sqlite3.Xsqlite3_strnicmp(tls, zOpt, ts+8145 /* "missing" */, 7)) { if (*UnionTab)(unsafe.Pointer(pTab)).FpNotFound != 0 { *(*uintptr)(unsafe.Pointer(pzErr)) = sqlite3.Xsqlite3_mprintf(tls, ts+8153 /* "swarmvtab: dupli..." */, 0) - *(*int32)(unsafe.Pointer(bp + 112 /* rc */)) = SQLITE_ERROR + *(*int32)(unsafe.Pointer(bp + 64 /* rc */)) = SQLITE_ERROR } else { - (*UnionTab)(unsafe.Pointer(pTab)).FpNotFound = unionPreparePrintf(tls, bp+112 /* &rc */, pzErr, (*UnionTab)(unsafe.Pointer(pTab)).Fdb, - ts+8191 /* "SELECT \"%w\"(?%s)" */, libc.VaList(bp+16, zVal, func() uintptr { + (*UnionTab)(unsafe.Pointer(pTab)).FpNotFound = unionPreparePrintf(tls, bp+64 /* &rc */, pzErr, (*UnionTab)(unsafe.Pointer(pTab)).Fdb, + ts+8191 /* "SELECT \"%w\"(?%s)" */, libc.VaList(bp+8, zVal, func() uintptr { if (*UnionTab)(unsafe.Pointer(pTab)).FbHasContext != 0 { return ts + 8208 /* ",?" */ } @@ -77426,10 +77426,10 @@ func unionConfigureVtab(tls *libc.TLS, pRc uintptr, pTab uintptr, pStmt uintptr, if (*UnionTab)(unsafe.Pointer(pTab)).FpOpenClose != 0 { *(*uintptr)(unsafe.Pointer(pzErr)) = sqlite3.Xsqlite3_mprintf(tls, ts+8221 /* "swarmvtab: dupli..." */, 0) - *(*int32)(unsafe.Pointer(bp + 112 /* rc */)) = SQLITE_ERROR + *(*int32)(unsafe.Pointer(bp + 64 /* rc */)) = SQLITE_ERROR } else { - (*UnionTab)(unsafe.Pointer(pTab)).FpOpenClose = unionPreparePrintf(tls, bp+112 /* &rc */, pzErr, (*UnionTab)(unsafe.Pointer(pTab)).Fdb, - ts+8261 /* "SELECT \"%w\"(?,?%..." */, libc.VaList(bp+40, zVal, func() uintptr { + (*UnionTab)(unsafe.Pointer(pTab)).FpOpenClose = unionPreparePrintf(tls, bp+64 /* &rc */, pzErr, (*UnionTab)(unsafe.Pointer(pTab)).Fdb, + ts+8261 /* "SELECT \"%w\"(?,?%..." */, libc.VaList(bp+24, zVal, func() uintptr { if (*UnionTab)(unsafe.Pointer(pTab)).FbHasContext != 0 { return ts + 8208 /* ",?" */ } @@ -77437,24 +77437,24 @@ func unionConfigureVtab(tls *libc.TLS, pRc uintptr, pTab uintptr, pStmt uintptr, }())) } } else { - *(*uintptr)(unsafe.Pointer(pzErr)) = sqlite3.Xsqlite3_mprintf(tls, ts+8280 /* "swarmvtab: unrec..." */, libc.VaList(bp+64, zOpt)) - *(*int32)(unsafe.Pointer(bp + 112 /* rc */)) = SQLITE_ERROR + *(*uintptr)(unsafe.Pointer(pzErr)) = sqlite3.Xsqlite3_mprintf(tls, ts+8280 /* "swarmvtab: unrec..." */, libc.VaList(bp+40, zOpt)) + *(*int32)(unsafe.Pointer(bp + 64 /* rc */)) = SQLITE_ERROR } sqlite3.Xsqlite3_free(tls, zVal) } } else { if (i == 0) && (nArg == 1) { - (*UnionTab)(unsafe.Pointer(pTab)).FpNotFound = unionPreparePrintf(tls, bp+112 /* &rc */, pzErr, (*UnionTab)(unsafe.Pointer(pTab)).Fdb, - ts+8315 /* "SELECT \"%w\"(?)" */, libc.VaList(bp+80, zArg)) + (*UnionTab)(unsafe.Pointer(pTab)).FpNotFound = unionPreparePrintf(tls, bp+64 /* &rc */, pzErr, (*UnionTab)(unsafe.Pointer(pTab)).Fdb, + ts+8315 /* "SELECT \"%w\"(?)" */, libc.VaList(bp+48, zArg)) } else { - *(*uintptr)(unsafe.Pointer(pzErr)) = sqlite3.Xsqlite3_mprintf(tls, ts+8330 /* "swarmvtab: parse..." */, libc.VaList(bp+96, *(*uintptr)(unsafe.Pointer(azArg + uintptr(i)*8)))) - *(*int32)(unsafe.Pointer(bp + 112 /* rc */)) = SQLITE_ERROR + *(*uintptr)(unsafe.Pointer(pzErr)) = sqlite3.Xsqlite3_mprintf(tls, ts+8330 /* "swarmvtab: parse..." */, libc.VaList(bp+56, *(*uintptr)(unsafe.Pointer(azArg + uintptr(i)*8)))) + *(*int32)(unsafe.Pointer(bp + 64 /* rc */)) = SQLITE_ERROR } } sqlite3.Xsqlite3_free(tls, zArg) } } - *(*int32)(unsafe.Pointer(pRc)) = *(*int32)(unsafe.Pointer(bp + 112 /* rc */)) + *(*int32)(unsafe.Pointer(pRc)) = *(*int32)(unsafe.Pointer(bp + 64 /* rc */)) } // xConnect/xCreate method. @@ -77467,11 +77467,11 @@ func unionConfigureVtab(tls *libc.TLS, pRc uintptr, pTab uintptr, pStmt uintptr, // argv[3] -> SQL statement // argv[4] -> not-found callback UDF name func unionConnect(tls *libc.TLS, db uintptr, pAux uintptr, argc int32, argv uintptr, ppVtab uintptr, pzErr uintptr) int32 { /* unionvtab.c:883:12: */ - bp := tls.Alloc(76) - defer tls.Free(76) + bp := tls.Alloc(44) + defer tls.Free(44) var pTab uintptr = uintptr(0) - *(*int32)(unsafe.Pointer(bp + 72 /* rc */)) = SQLITE_OK + *(*int32)(unsafe.Pointer(bp + 40 /* rc */)) = SQLITE_OK var bSwarm int32 = func() int32 { if pAux == uintptr(0) { return 0 @@ -77488,25 +77488,25 @@ func unionConnect(tls *libc.TLS, db uintptr, pAux uintptr, argc int32, argv uint if sqlite3.Xsqlite3_stricmp(tls, ts+8377 /* "temp" */, *(*uintptr)(unsafe.Pointer(argv + 1*8))) != 0 { // unionvtab tables may only be created in the temp schema *(*uintptr)(unsafe.Pointer(pzErr)) = sqlite3.Xsqlite3_mprintf(tls, ts+8382 /* "%s tables must b..." */, libc.VaList(bp, zVtab)) - *(*int32)(unsafe.Pointer(bp + 72 /* rc */)) = SQLITE_ERROR + *(*int32)(unsafe.Pointer(bp + 40 /* rc */)) = SQLITE_ERROR } else if (argc < 4) || ((argc > 4) && (bSwarm == 0)) { - *(*uintptr)(unsafe.Pointer(pzErr)) = sqlite3.Xsqlite3_mprintf(tls, ts+8423 /* "wrong number of ..." */, libc.VaList(bp+16, zVtab)) - *(*int32)(unsafe.Pointer(bp + 72 /* rc */)) = SQLITE_ERROR + *(*uintptr)(unsafe.Pointer(pzErr)) = sqlite3.Xsqlite3_mprintf(tls, ts+8423 /* "wrong number of ..." */, libc.VaList(bp+8, zVtab)) + *(*int32)(unsafe.Pointer(bp + 40 /* rc */)) = SQLITE_ERROR } else { var nAlloc int32 = 0 // Allocated size of pTab->aSrc[] var pStmt uintptr = uintptr(0) // Argument statement - var zArg uintptr = unionStrdup(tls, bp+72 /* &rc */, *(*uintptr)(unsafe.Pointer(argv + 3*8))) // Copy of argument to CVT + var zArg uintptr = unionStrdup(tls, bp+40 /* &rc */, *(*uintptr)(unsafe.Pointer(argv + 3*8))) // Copy of argument to CVT // Prepare the SQL statement. Instead of executing it directly, sort // the results by the "minimum rowid" field. This makes it easier to // check that there are no rowid range overlaps between source tables // and that the UnionTab.aSrc[] array is always sorted by rowid. unionDequote(tls, zArg) - pStmt = unionPreparePrintf(tls, bp+72 /* &rc */, pzErr, db, - ts+8456 /* "SELECT * FROM (%..." */, libc.VaList(bp+32, zArg)) + pStmt = unionPreparePrintf(tls, bp+40 /* &rc */, pzErr, db, + ts+8456 /* "SELECT * FROM (%..." */, libc.VaList(bp+16, zArg)) // Allocate the UnionTab structure - pTab = unionMalloc(tls, bp+72 /* &rc */, int64(unsafe.Sizeof(UnionTab{}))) + pTab = unionMalloc(tls, bp+40 /* &rc */, int64(unsafe.Sizeof(UnionTab{}))) if pTab != 0 { (*UnionTab)(unsafe.Pointer(pTab)).Fdb = db @@ -77516,12 +77516,12 @@ func unionConnect(tls *libc.TLS, db uintptr, pAux uintptr, argc int32, argv uint // Parse other CVT arguments, if any if bSwarm != 0 { - unionConfigureVtab(tls, bp+72 /* &rc */, pTab, pStmt, (argc - 4), (argv + 4*8), pzErr) + unionConfigureVtab(tls, bp+40 /* &rc */, pTab, pStmt, (argc - 4), (argv + 4*8), pzErr) } // Iterate through the rows returned by the SQL statement specified // as an argument to the CREATE VIRTUAL TABLE statement. - for (*(*int32)(unsafe.Pointer(bp + 72 /* rc */)) == SQLITE_OK) && (SQLITE_ROW == sqlite3.Xsqlite3_step(tls, pStmt)) { + for (*(*int32)(unsafe.Pointer(bp + 40 /* rc */)) == SQLITE_OK) && (SQLITE_ROW == sqlite3.Xsqlite3_step(tls, pStmt)) { var zDb uintptr = sqlite3.Xsqlite3_column_text(tls, pStmt, 0) var zTab uintptr = sqlite3.Xsqlite3_column_text(tls, pStmt, 1) var iMin sqlite3_int64 = sqlite3.Xsqlite3_column_int64(tls, pStmt, 2) @@ -77539,7 +77539,7 @@ func unionConnect(tls *libc.TLS, db uintptr, pAux uintptr, argc int32, argv uint var aNew uintptr = sqlite3.Xsqlite3_realloc64(tls, (*UnionTab)(unsafe.Pointer(pTab)).FaSrc, (uint64(nNew) * uint64(unsafe.Sizeof(UnionSrc{})))) if aNew == uintptr(0) { - *(*int32)(unsafe.Pointer(bp + 72 /* rc */)) = SQLITE_NOMEM + *(*int32)(unsafe.Pointer(bp + 40 /* rc */)) = SQLITE_NOMEM break } else { libc.Xmemset(tls, (aNew + uintptr((*UnionTab)(unsafe.Pointer(pTab)).FnSrc)*72), 0, ((uint64(nNew - (*UnionTab)(unsafe.Pointer(pTab)).FnSrc)) * uint64(unsafe.Sizeof(UnionSrc{})))) @@ -77551,49 +77551,49 @@ func unionConnect(tls *libc.TLS, db uintptr, pAux uintptr, argc int32, argv uint // Check for problems with the specified range of rowids if (iMax < iMin) || (((*UnionTab)(unsafe.Pointer(pTab)).FnSrc > 0) && (iMin <= (*UnionSrc)(unsafe.Pointer((*UnionTab)(unsafe.Pointer(pTab)).FaSrc+uintptr(((*UnionTab)(unsafe.Pointer(pTab)).FnSrc-1))*72)).FiMax)) { *(*uintptr)(unsafe.Pointer(pzErr)) = sqlite3.Xsqlite3_mprintf(tls, ts+8486 /* "rowid range mism..." */, 0) - *(*int32)(unsafe.Pointer(bp + 72 /* rc */)) = SQLITE_ERROR + *(*int32)(unsafe.Pointer(bp + 40 /* rc */)) = SQLITE_ERROR } - if *(*int32)(unsafe.Pointer(bp + 72 /* rc */)) == SQLITE_OK { + if *(*int32)(unsafe.Pointer(bp + 40 /* rc */)) == SQLITE_OK { pSrc = ((*UnionTab)(unsafe.Pointer(pTab)).FaSrc + uintptr(libc.PostIncInt32(&(*UnionTab)(unsafe.Pointer(pTab)).FnSrc, 1))*72) - (*UnionSrc)(unsafe.Pointer(pSrc)).FzTab = unionStrdup(tls, bp+72 /* &rc */, zTab) + (*UnionSrc)(unsafe.Pointer(pSrc)).FzTab = unionStrdup(tls, bp+40 /* &rc */, zTab) (*UnionSrc)(unsafe.Pointer(pSrc)).FiMin = iMin (*UnionSrc)(unsafe.Pointer(pSrc)).FiMax = iMax if bSwarm != 0 { - (*UnionSrc)(unsafe.Pointer(pSrc)).FzFile = unionStrdup(tls, bp+72 /* &rc */, zDb) + (*UnionSrc)(unsafe.Pointer(pSrc)).FzFile = unionStrdup(tls, bp+40 /* &rc */, zDb) } else { - (*UnionSrc)(unsafe.Pointer(pSrc)).FzDb = unionStrdup(tls, bp+72 /* &rc */, zDb) + (*UnionSrc)(unsafe.Pointer(pSrc)).FzDb = unionStrdup(tls, bp+40 /* &rc */, zDb) } if (*UnionTab)(unsafe.Pointer(pTab)).FbHasContext != 0 { var zContext uintptr = sqlite3.Xsqlite3_column_text(tls, pStmt, 4) - (*UnionSrc)(unsafe.Pointer(pSrc)).FzContext = unionStrdup(tls, bp+72 /* &rc */, zContext) + (*UnionSrc)(unsafe.Pointer(pSrc)).FzContext = unionStrdup(tls, bp+40 /* &rc */, zContext) } } } - unionFinalize(tls, bp+72 /* &rc */, pStmt, pzErr) + unionFinalize(tls, bp+40 /* &rc */, pStmt, pzErr) pStmt = uintptr(0) // It is an error if the SELECT statement returned zero rows. If only // because there is no way to determine the schema of the virtual // table in this case. - if (*(*int32)(unsafe.Pointer(bp + 72 /* rc */)) == SQLITE_OK) && ((*UnionTab)(unsafe.Pointer(pTab)).FnSrc == 0) { + if (*(*int32)(unsafe.Pointer(bp + 40 /* rc */)) == SQLITE_OK) && ((*UnionTab)(unsafe.Pointer(pTab)).FnSrc == 0) { *(*uintptr)(unsafe.Pointer(pzErr)) = sqlite3.Xsqlite3_mprintf(tls, ts+8513 /* "no source tables..." */, 0) - *(*int32)(unsafe.Pointer(bp + 72 /* rc */)) = SQLITE_ERROR + *(*int32)(unsafe.Pointer(bp + 40 /* rc */)) = SQLITE_ERROR } // For unionvtab, verify that all source tables exist and have // compatible schemas. For swarmvtab, attach the first database and // check that the first table is a rowid table only. - if *(*int32)(unsafe.Pointer(bp + 72 /* rc */)) == SQLITE_OK { + if *(*int32)(unsafe.Pointer(bp + 40 /* rc */)) == SQLITE_OK { if bSwarm != 0 { - *(*int32)(unsafe.Pointer(bp + 72 /* rc */)) = unionOpenDatabase(tls, pTab, 0, pzErr) + *(*int32)(unsafe.Pointer(bp + 40 /* rc */)) = unionOpenDatabase(tls, pTab, 0, pzErr) } else { - *(*int32)(unsafe.Pointer(bp + 72 /* rc */)) = unionSourceCheck(tls, pTab, pzErr) + *(*int32)(unsafe.Pointer(bp + 40 /* rc */)) = unionSourceCheck(tls, pTab, pzErr) } } // Compose a CREATE TABLE statement and pass it to declare_vtab() - if *(*int32)(unsafe.Pointer(bp + 72 /* rc */)) == SQLITE_OK { + if *(*int32)(unsafe.Pointer(bp + 40 /* rc */)) == SQLITE_OK { var pSrc uintptr = ((*UnionTab)(unsafe.Pointer(pTab)).FaSrc) var tdb uintptr = func() uintptr { if (*UnionTab)(unsafe.Pointer(pTab)).FbSwarm != 0 { @@ -77601,27 +77601,27 @@ func unionConnect(tls *libc.TLS, db uintptr, pAux uintptr, argc int32, argv uint } return (*UnionTab)(unsafe.Pointer(pTab)).Fdb }() - pStmt = unionPreparePrintf(tls, bp+72 /* &rc */, pzErr, tdb, + pStmt = unionPreparePrintf(tls, bp+40 /* &rc */, pzErr, tdb, ts+8541, /* "SELECT 'CREATE T..." */ - libc.VaList(bp+48, (*UnionSrc)(unsafe.Pointer(pSrc)).FzTab, (*UnionSrc)(unsafe.Pointer(pSrc)).FzDb)) + libc.VaList(bp+24, (*UnionSrc)(unsafe.Pointer(pSrc)).FzTab, (*UnionSrc)(unsafe.Pointer(pSrc)).FzDb)) } - if (*(*int32)(unsafe.Pointer(bp + 72 /* rc */)) == SQLITE_OK) && (SQLITE_ROW == sqlite3.Xsqlite3_step(tls, pStmt)) { + if (*(*int32)(unsafe.Pointer(bp + 40 /* rc */)) == SQLITE_OK) && (SQLITE_ROW == sqlite3.Xsqlite3_step(tls, pStmt)) { var zDecl uintptr = sqlite3.Xsqlite3_column_text(tls, pStmt, 0) - *(*int32)(unsafe.Pointer(bp + 72 /* rc */)) = sqlite3.Xsqlite3_declare_vtab(tls, db, zDecl) + *(*int32)(unsafe.Pointer(bp + 40 /* rc */)) = sqlite3.Xsqlite3_declare_vtab(tls, db, zDecl) (*UnionTab)(unsafe.Pointer(pTab)).FiPK = sqlite3.Xsqlite3_column_int(tls, pStmt, 1) } - unionFinalize(tls, bp+72 /* &rc */, pStmt, pzErr) + unionFinalize(tls, bp+40 /* &rc */, pStmt, pzErr) } - if *(*int32)(unsafe.Pointer(bp + 72 /* rc */)) != SQLITE_OK { + if *(*int32)(unsafe.Pointer(bp + 40 /* rc */)) != SQLITE_OK { unionDisconnect(tls, pTab) pTab = uintptr(0) } *(*uintptr)(unsafe.Pointer(ppVtab)) = pTab - return *(*int32)(unsafe.Pointer(bp + 72 /* rc */)) + return *(*int32)(unsafe.Pointer(bp + 40 /* rc */)) } // xOpen @@ -77649,22 +77649,22 @@ func unionClose(tls *libc.TLS, cur uintptr) int32 { /* unionvtab.c:1045:12: */ // returns SQLITE_ROW, it should be called again within the same xNext() // method call. See unionNext() for details. func doUnionNext(tls *libc.TLS, pCsr uintptr) int32 { /* unionvtab.c:1057:12: */ - bp := tls.Alloc(36) - defer tls.Free(36) + bp := tls.Alloc(28) + defer tls.Free(28) - *(*int32)(unsafe.Pointer(bp + 32 /* rc */)) = SQLITE_OK + *(*int32)(unsafe.Pointer(bp + 24 /* rc */)) = SQLITE_OK if sqlite3.Xsqlite3_step(tls, (*UnionCsr)(unsafe.Pointer(pCsr)).FpStmt) != SQLITE_ROW { var pTab uintptr = (*UnionCsr)(unsafe.Pointer(pCsr)).Fbase.FpVtab - *(*int32)(unsafe.Pointer(bp + 32 /* rc */)) = unionFinalizeCsrStmt(tls, pCsr) - if (*(*int32)(unsafe.Pointer(bp + 32 /* rc */)) == SQLITE_OK) && ((*UnionTab)(unsafe.Pointer(pTab)).FbSwarm != 0) { + *(*int32)(unsafe.Pointer(bp + 24 /* rc */)) = unionFinalizeCsrStmt(tls, pCsr) + if (*(*int32)(unsafe.Pointer(bp + 24 /* rc */)) == SQLITE_OK) && ((*UnionTab)(unsafe.Pointer(pTab)).FbSwarm != 0) { (*UnionCsr)(unsafe.Pointer(pCsr)).FiTab++ if (*UnionCsr)(unsafe.Pointer(pCsr)).FiTab < (*UnionTab)(unsafe.Pointer(pTab)).FnSrc { var pSrc uintptr = ((*UnionTab)(unsafe.Pointer(pTab)).FaSrc + uintptr((*UnionCsr)(unsafe.Pointer(pCsr)).FiTab)*72) if (*UnionCsr)(unsafe.Pointer(pCsr)).FiMaxRowid >= (*UnionSrc)(unsafe.Pointer(pSrc)).FiMin { // It is necessary to scan the next table. - *(*int32)(unsafe.Pointer(bp + 32 /* rc */)) = unionOpenDatabase(tls, pTab, (*UnionCsr)(unsafe.Pointer(pCsr)).FiTab, (pTab /* &.base */ + 16 /* &.zErrMsg */)) - (*UnionCsr)(unsafe.Pointer(pCsr)).FpStmt = unionPreparePrintf(tls, bp+32 /* &rc */, (pTab /* &.base */ + 16 /* &.zErrMsg */), (*UnionSrc)(unsafe.Pointer(pSrc)).Fdb, + *(*int32)(unsafe.Pointer(bp + 24 /* rc */)) = unionOpenDatabase(tls, pTab, (*UnionCsr)(unsafe.Pointer(pCsr)).FiTab, (pTab /* &.base */ + 16 /* &.zErrMsg */)) + (*UnionCsr)(unsafe.Pointer(pCsr)).FpStmt = unionPreparePrintf(tls, bp+24 /* &rc */, (pTab /* &.base */ + 16 /* &.zErrMsg */), (*UnionSrc)(unsafe.Pointer(pSrc)).Fdb, ts+8719, /* "SELECT rowid, * ..." */ libc.VaList(bp, (*UnionSrc)(unsafe.Pointer(pSrc)).FzTab, func() uintptr { @@ -77674,17 +77674,17 @@ func doUnionNext(tls *libc.TLS, pCsr uintptr) int32 { /* unionvtab.c:1057:12: */ return ts + 8768 /* "-- " */ }(), (*UnionCsr)(unsafe.Pointer(pCsr)).FiMaxRowid)) - if *(*int32)(unsafe.Pointer(bp + 32 /* rc */)) == SQLITE_OK { + if *(*int32)(unsafe.Pointer(bp + 24 /* rc */)) == SQLITE_OK { unionIncrRefcount(tls, pTab, (*UnionCsr)(unsafe.Pointer(pCsr)).FiTab) - *(*int32)(unsafe.Pointer(bp + 32 /* rc */)) = SQLITE_ROW + *(*int32)(unsafe.Pointer(bp + 24 /* rc */)) = SQLITE_ROW } } } } } - return *(*int32)(unsafe.Pointer(bp + 32 /* rc */)) + return *(*int32)(unsafe.Pointer(bp + 24 /* rc */)) } // xNext @@ -77718,12 +77718,12 @@ func unionEof(tls *libc.TLS, cur uintptr) int32 { /* unionvtab.c:1125:12: */ // xFilter func unionFilter(tls *libc.TLS, pVtabCursor uintptr, idxNum int32, idxStr uintptr, argc int32, argv uintptr) int32 { /* unionvtab.c:1133:12: */ - bp := tls.Alloc(140) - defer tls.Free(140) + bp := tls.Alloc(108) + defer tls.Free(108) var pTab uintptr = (*sqlite3_vtab_cursor)(unsafe.Pointer(pVtabCursor)).FpVtab var pCsr uintptr = pVtabCursor - *(*int32)(unsafe.Pointer(bp + 136 /* rc */)) = SQLITE_OK + *(*int32)(unsafe.Pointer(bp + 104 /* rc */)) = SQLITE_OK var i int32 var zSql uintptr = uintptr(0) var bZero int32 = 0 @@ -77796,33 +77796,33 @@ func unionFilter(tls *libc.TLS, pVtabCursor uintptr, idxNum int32, idxStr uintpt return ts + 489 /* "" */ }(), (*UnionSrc)(unsafe.Pointer(pSrc)).FzTab)) if zSql == uintptr(0) { - *(*int32)(unsafe.Pointer(bp + 136 /* rc */)) = SQLITE_NOMEM + *(*int32)(unsafe.Pointer(bp + 104 /* rc */)) = SQLITE_NOMEM break } if iMin == iMax { - zSql = sqlite3.Xsqlite3_mprintf(tls, ts+8818 /* "%z WHERE rowid=%..." */, libc.VaList(bp+56, zSql, iMin)) + zSql = sqlite3.Xsqlite3_mprintf(tls, ts+8818 /* "%z WHERE rowid=%..." */, libc.VaList(bp+48, zSql, iMin)) } else { var zWhere uintptr = ts + 8838 /* "WHERE" */ if (iMin != ((int64(-1)) - (int64(0xffffffff) | (sqlite3_int64((int64(0x7fffffff))) << 32)))) && (iMin > (*UnionSrc)(unsafe.Pointer(pSrc)).FiMin) { - zSql = sqlite3.Xsqlite3_mprintf(tls, ts+8844 /* "%z WHERE rowid>=..." */, libc.VaList(bp+80, zSql, iMin)) + zSql = sqlite3.Xsqlite3_mprintf(tls, ts+8844 /* "%z WHERE rowid>=..." */, libc.VaList(bp+64, zSql, iMin)) zWhere = ts + 8865 /* "AND" */ } if (iMax != (int64(0xffffffff) | (sqlite3_int64((int64(0x7fffffff))) << 32))) && (iMax < (*UnionSrc)(unsafe.Pointer(pSrc)).FiMax) { - zSql = sqlite3.Xsqlite3_mprintf(tls, ts+8869 /* "%z %s rowid<=%ll..." */, libc.VaList(bp+104, zSql, zWhere, iMax)) + zSql = sqlite3.Xsqlite3_mprintf(tls, ts+8869 /* "%z %s rowid<=%ll..." */, libc.VaList(bp+80, zSql, zWhere, iMax)) } } if (*UnionTab)(unsafe.Pointer(pTab)).FbSwarm != 0 { (*UnionCsr)(unsafe.Pointer(pCsr)).FiTab = i (*UnionCsr)(unsafe.Pointer(pCsr)).FiMaxRowid = iMax - *(*int32)(unsafe.Pointer(bp + 136 /* rc */)) = unionOpenDatabase(tls, pTab, i, (pTab /* &.base */ + 16 /* &.zErrMsg */)) + *(*int32)(unsafe.Pointer(bp + 104 /* rc */)) = unionOpenDatabase(tls, pTab, i, (pTab /* &.base */ + 16 /* &.zErrMsg */)) break } } if zSql == uintptr(0) { - return *(*int32)(unsafe.Pointer(bp + 136 /* rc */)) + return *(*int32)(unsafe.Pointer(bp + 104 /* rc */)) } else { var db uintptr = func() uintptr { if (*UnionTab)(unsafe.Pointer(pTab)).FbSwarm != 0 { @@ -77830,14 +77830,14 @@ func unionFilter(tls *libc.TLS, pVtabCursor uintptr, idxNum int32, idxStr uintpt } return (*UnionTab)(unsafe.Pointer(pTab)).Fdb }() - (*UnionCsr)(unsafe.Pointer(pCsr)).FpStmt = unionPrepare(tls, bp+136 /* &rc */, db, zSql, (pTab /* &.base */ + 16 /* &.zErrMsg */)) + (*UnionCsr)(unsafe.Pointer(pCsr)).FpStmt = unionPrepare(tls, bp+104 /* &rc */, db, zSql, (pTab /* &.base */ + 16 /* &.zErrMsg */)) if (*UnionCsr)(unsafe.Pointer(pCsr)).FpStmt != 0 { unionIncrRefcount(tls, pTab, (*UnionCsr)(unsafe.Pointer(pCsr)).FiTab) } sqlite3.Xsqlite3_free(tls, zSql) } - if *(*int32)(unsafe.Pointer(bp + 136 /* rc */)) != SQLITE_OK { - return *(*int32)(unsafe.Pointer(bp + 136 /* rc */)) + if *(*int32)(unsafe.Pointer(bp + 104 /* rc */)) != SQLITE_OK { + return *(*int32)(unsafe.Pointer(bp + 104 /* rc */)) } return unionNext(tls, pVtabCursor) } @@ -79436,8 +79436,8 @@ func zipfileMtimeToDos(tls *libc.TLS, pCds uintptr, mUnixTime u32) { /* zipfile. // the new object. Otherwise, an SQLite error code is returned and the // final value of (*ppEntry) undefined. func zipfileGetEntry(tls *libc.TLS, pTab uintptr, aBlob uintptr, nBlob int32, pFile uintptr, iOff i64, ppEntry uintptr) int32 { /* zipfile.c:796:12: */ - bp := tls.Alloc(84) - defer tls.Free(84) + bp := tls.Alloc(60) + defer tls.Free(60) var aRead uintptr var pzErr uintptr = (pTab /* &.base */ + 16 /* &.zErrMsg */) @@ -79481,7 +79481,7 @@ func zipfileGetEntry(tls *libc.TLS, pTab uintptr, aBlob uintptr, nBlob int32, pF if rc == SQLITE_OK { var pt uintptr = (pNew + 56 /* &.mUnixTime */) - (*ZipfileEntry)(unsafe.Pointer(pNew)).Fcds.FzFile = sqlite3.Xsqlite3_mprintf(tls, ts+9131 /* "%.*s" */, libc.VaList(bp+16, nFile, aRead)) + (*ZipfileEntry)(unsafe.Pointer(pNew)).Fcds.FzFile = sqlite3.Xsqlite3_mprintf(tls, ts+9131 /* "%.*s" */, libc.VaList(bp+8, nFile, aRead)) (*ZipfileEntry)(unsafe.Pointer(pNew)).FaExtra = (pNew + 1*96) libc.Xmemcpy(tls, (*ZipfileEntry)(unsafe.Pointer(pNew)).FaExtra, (aRead + uintptr(nFile)), uint64(nExtra)) if (*ZipfileEntry)(unsafe.Pointer(pNew)).Fcds.FzFile == uintptr(0) { @@ -79492,7 +79492,7 @@ func zipfileGetEntry(tls *libc.TLS, pTab uintptr, aBlob uintptr, nBlob int32, pF } if rc == SQLITE_OK { - // var lfh ZipfileLFH at bp+56, 28 + // var lfh ZipfileLFH at bp+32, 28 if pFile != 0 { rc = zipfileReadData(tls, pFile, aRead, szFix, int64((*ZipfileEntry)(unsafe.Pointer(pNew)).Fcds.FiOffset), pzErr) @@ -79500,17 +79500,17 @@ func zipfileGetEntry(tls *libc.TLS, pTab uintptr, aBlob uintptr, nBlob int32, pF aRead = (aBlob + uintptr((*ZipfileEntry)(unsafe.Pointer(pNew)).Fcds.FiOffset)) } - rc = zipfileReadLFH(tls, aRead, bp+56 /* &lfh */) + rc = zipfileReadLFH(tls, aRead, bp+32 /* &lfh */) if rc == SQLITE_OK { (*ZipfileEntry)(unsafe.Pointer(pNew)).FiDataOff = (i64((*ZipfileEntry)(unsafe.Pointer(pNew)).Fcds.FiOffset + u32(ZIPFILE_LFH_FIXED_SZ))) - *(*i64)(unsafe.Pointer(pNew + 72 /* &.iDataOff */)) += (i64(int32((*ZipfileLFH)(unsafe.Pointer(bp+56 /* &lfh */)).FnFile) + int32((*ZipfileLFH)(unsafe.Pointer(bp+56 /* &lfh */)).FnExtra))) + *(*i64)(unsafe.Pointer(pNew + 72 /* &.iDataOff */)) += (i64(int32((*ZipfileLFH)(unsafe.Pointer(bp+32 /* &lfh */)).FnFile) + int32((*ZipfileLFH)(unsafe.Pointer(bp+32 /* &lfh */)).FnExtra))) if (aBlob != 0) && ((*ZipfileEntry)(unsafe.Pointer(pNew)).Fcds.FszCompressed != 0) { (*ZipfileEntry)(unsafe.Pointer(pNew)).FaData = ((*ZipfileEntry)(unsafe.Pointer(pNew)).FaExtra + uintptr(nExtra)) libc.Xmemcpy(tls, (*ZipfileEntry)(unsafe.Pointer(pNew)).FaData, (aBlob + uintptr((*ZipfileEntry)(unsafe.Pointer(pNew)).FiDataOff)), uint64((*ZipfileEntry)(unsafe.Pointer(pNew)).Fcds.FszCompressed)) } } else { *(*uintptr)(unsafe.Pointer(pzErr)) = sqlite3.Xsqlite3_mprintf(tls, ts+9136, /* "failed to read L..." */ - libc.VaList(bp+40, int32((*ZipfileEntry)(unsafe.Pointer(pNew)).Fcds.FiOffset))) + libc.VaList(bp+24, int32((*ZipfileEntry)(unsafe.Pointer(pNew)).Fcds.FiOffset))) } } @@ -79573,37 +79573,37 @@ func zipfileFree(tls *libc.TLS, p uintptr) { /* zipfile.c:927:13: */ // // If an error occurs, an error code is left in pCtx instead. func zipfileInflate(tls *libc.TLS, pCtx uintptr, aIn uintptr, nIn int32, nOut int32) { /* zipfile.c:938:13: */ - bp := tls.Alloc(120) - defer tls.Free(120) + bp := tls.Alloc(104) + defer tls.Free(104) var aRes uintptr = sqlite3.Xsqlite3_malloc(tls, nOut) if aRes == uintptr(0) { sqlite3.Xsqlite3_result_error_nomem(tls, pCtx) } else { var err int32 - // var str z_stream at bp+32, 88 + // var str z_stream at bp+16, 88 - libc.Xmemset(tls, bp+32 /* &str */, 0, uint64(unsafe.Sizeof(z_stream{}))) + libc.Xmemset(tls, bp+16 /* &str */, 0, uint64(unsafe.Sizeof(z_stream{}))) - (*z_stream)(unsafe.Pointer(bp + 32 /* &str */)).Fnext_in = aIn - (*z_stream)(unsafe.Pointer(bp + 32 /* &str */)).Favail_in = uInt(nIn) - (*z_stream)(unsafe.Pointer(bp + 32 /* &str */)).Fnext_out = aRes - (*z_stream)(unsafe.Pointer(bp + 32 /* &str */)).Favail_out = uInt(nOut) + (*z_stream)(unsafe.Pointer(bp + 16 /* &str */)).Fnext_in = aIn + (*z_stream)(unsafe.Pointer(bp + 16 /* &str */)).Favail_in = uInt(nIn) + (*z_stream)(unsafe.Pointer(bp + 16 /* &str */)).Fnext_out = aRes + (*z_stream)(unsafe.Pointer(bp + 16 /* &str */)).Favail_out = uInt(nOut) - err = tcl.XinflateInit2_(tls, bp+32 /* &str */, -15, ts+9168 /* "1.2.11" */, int32(unsafe.Sizeof(z_stream{}))) + err = tcl.XinflateInit2_(tls, bp+16 /* &str */, -15, ts+9168 /* "1.2.11" */, int32(unsafe.Sizeof(z_stream{}))) if err != Z_OK { zipfileCtxErrorMsg(tls, pCtx, ts+9175 /* "inflateInit2() f..." */, libc.VaList(bp, err)) } else { - err = tcl.Xinflate(tls, bp+32 /* &str */, Z_NO_FLUSH) + err = tcl.Xinflate(tls, bp+16 /* &str */, Z_NO_FLUSH) if err != Z_STREAM_END { - zipfileCtxErrorMsg(tls, pCtx, ts+9202 /* "inflate() failed..." */, libc.VaList(bp+16, err)) + zipfileCtxErrorMsg(tls, pCtx, ts+9202 /* "inflate() failed..." */, libc.VaList(bp+8, err)) } else { sqlite3.Xsqlite3_result_blob(tls, pCtx, aRes, nOut, *(*uintptr)(unsafe.Pointer(&struct{ f func(*libc.TLS, uintptr) }{zipfileFree}))) aRes = uintptr(0) } } sqlite3.Xsqlite3_free(tls, aRes) - tcl.XinflateEnd(tls, bp+32 /* &str */) + tcl.XinflateEnd(tls, bp+16 /* &str */) } } @@ -79869,8 +79869,8 @@ func zipfileLoadDirectory(tls *libc.TLS, pTab uintptr, aBlob uintptr, nBlob int3 // xFilter callback. func zipfileFilter(tls *libc.TLS, cur uintptr, idxNum int32, idxStr uintptr, argc int32, argv uintptr) int32 { /* zipfile.c:1242:12: */ - bp := tls.Alloc(16) - defer tls.Free(16) + bp := tls.Alloc(8) + defer tls.Free(8) var pTab uintptr = (*sqlite3_vtab_cursor)(unsafe.Pointer(cur)).FpVtab var pCsr uintptr = cur @@ -79959,8 +79959,8 @@ func zipfileBestIndex(tls *libc.TLS, tab uintptr, pIdxInfo uintptr) int32 { /* z } func zipfileNewEntry(tls *libc.TLS, zPath uintptr) uintptr { /* zipfile.c:1329:21: */ - bp := tls.Alloc(16) - defer tls.Free(16) + bp := tls.Alloc(8) + defer tls.Free(8) var pNew uintptr pNew = sqlite3.Xsqlite3_malloc(tls, int32(unsafe.Sizeof(ZipfileEntry{}))) @@ -80077,12 +80077,12 @@ func zipfileAppendEntry(tls *libc.TLS, pTab uintptr, pEntry uintptr, pData uintp } func zipfileGetMode(tls *libc.TLS, pVal uintptr, bIsDir int32, pMode uintptr, pzErr uintptr) int32 { /* zipfile.c:1396:12: */ - bp := tls.Alloc(27) - defer tls.Free(27) + bp := tls.Alloc(19) + defer tls.Free(19) var z uintptr var mode u32 - // var zTemplate [11]int8 at bp+16, 11 + // var zTemplate [11]int8 at bp+8, 11 var i int32 z = sqlite3.Xsqlite3_value_text(tls, pVal) @@ -80104,7 +80104,7 @@ __1: mode = uint32(sqlite3.Xsqlite3_value_int(tls, pVal)) goto __4 __3: - *(*[11]int8)(unsafe.Pointer(bp + 16 /* zTemplate */)) = *(*[11]int8)(unsafe.Pointer(ts + 9354 /* "-rwxrwxrwx" */)) + *(*[11]int8)(unsafe.Pointer(bp + 8 /* zTemplate */)) = *(*[11]int8)(unsafe.Pointer(ts + 9354 /* "-rwxrwxrwx" */)) if !(libc.Xstrlen(tls, z) != uint64(10)) { goto __5 } @@ -80140,7 +80140,7 @@ __11: if !(i < 10) { goto __13 } - if !(int32(*(*int8)(unsafe.Pointer(z + uintptr(i)))) == int32(*(*int8)(unsafe.Pointer(bp + 16 /* &zTemplate[0] */ + uintptr(i))))) { + if !(int32(*(*int8)(unsafe.Pointer(z + uintptr(i)))) == int32(*(*int8)(unsafe.Pointer(bp + 8 /* &zTemplate[0] */ + uintptr(i))))) { goto __14 } mode = mode | (u32(int32(1) << (9 - i))) @@ -80201,8 +80201,8 @@ func zipfileComparePath(tls *libc.TLS, zA uintptr, zB uintptr, nB int32) int32 { } func zipfileBegin(tls *libc.TLS, pVtab uintptr) int32 { /* zipfile.c:1449:12: */ - bp := tls.Alloc(16) - defer tls.Free(16) + bp := tls.Alloc(8) + defer tls.Free(8) var pTab uintptr = pVtab var rc int32 = SQLITE_OK @@ -80285,14 +80285,14 @@ func zipfileRemoveEntryFromList(tls *libc.TLS, pTab uintptr, pOld uintptr) { /* // xUpdate method. func zipfileUpdate(tls *libc.TLS, pVtab uintptr, nVal int32, apVal uintptr, pRowid uintptr) int32 { /* zipfile.c:1532:12: */ - bp := tls.Alloc(64) - defer tls.Free(64) + bp := tls.Alloc(40) + defer tls.Free(40) var pTab uintptr var rc int32 // Return Code var pNew uintptr // New in-memory CDS entry - // var mode u32 at bp+60, 4 + // var mode u32 at bp+36, 4 // Mode for new entry var mTime u32 // Modification time for new entry var sz i64 // Uncompressed size @@ -80301,7 +80301,7 @@ func zipfileUpdate(tls *libc.TLS, pVtab uintptr, nVal int32, apVal uintptr, pRow var pData uintptr // Pointer to buffer containing content var nData int32 // Size of pData buffer in bytes var iMethod int32 // Compression method for new entry - // var pFree uintptr at bp+48, 8 + // var pFree uintptr at bp+24, 8 // Free this var zFree uintptr // Also free this var pOld uintptr @@ -80312,7 +80312,7 @@ func zipfileUpdate(tls *libc.TLS, pVtab uintptr, nVal int32, apVal uintptr, pRow var zUpdate uintptr var zDelete uintptr var nDelete int32 - // var nCmp int32 at bp+56, 4 + // var nCmp int32 at bp+32, 4 // Value specified for "data", and possibly "method". This must be // a regular file or a symlink. @@ -80324,7 +80324,7 @@ func zipfileUpdate(tls *libc.TLS, pVtab uintptr, nVal int32, apVal uintptr, pRow pTab = pVtab rc = SQLITE_OK pNew = uintptr(0) - *(*u32)(unsafe.Pointer(bp + 60 /* mode */)) = u32(0) + *(*u32)(unsafe.Pointer(bp + 36 /* mode */)) = u32(0) mTime = u32(0) sz = int64(0) zPath = uintptr(0) @@ -80332,7 +80332,7 @@ func zipfileUpdate(tls *libc.TLS, pVtab uintptr, nVal int32, apVal uintptr, pRow pData = uintptr(0) nData = 0 iMethod = 0 - *(*uintptr)(unsafe.Pointer(bp + 48 /* pFree */)) = uintptr(0) + *(*uintptr)(unsafe.Pointer(bp + 24 /* pFree */)) = uintptr(0) zFree = uintptr(0) pOld = uintptr(0) pOld2 = uintptr(0) @@ -80442,16 +80442,16 @@ __16: if !((bAuto != 0) || (iMethod != 0)) { goto __18 } - rc = zipfileDeflate(tls, aIn, nIn, bp+48 /* &pFree */, bp+56 /* &nCmp */, (pTab /* &.base */ + 16 /* &.zErrMsg */)) + rc = zipfileDeflate(tls, aIn, nIn, bp+24 /* &pFree */, bp+32 /* &nCmp */, (pTab /* &.base */ + 16 /* &.zErrMsg */)) if !(rc == SQLITE_OK) { goto __19 } - if !((iMethod != 0) || (*(*int32)(unsafe.Pointer(bp + 56 /* nCmp */)) < nIn)) { + if !((iMethod != 0) || (*(*int32)(unsafe.Pointer(bp + 32 /* nCmp */)) < nIn)) { goto __20 } iMethod = 8 - pData = *(*uintptr)(unsafe.Pointer(bp + 48 /* pFree */)) - nData = *(*int32)(unsafe.Pointer(bp + 56 /* nCmp */)) + pData = *(*uintptr)(unsafe.Pointer(bp + 24 /* pFree */)) + nData = *(*int32)(unsafe.Pointer(bp + 32 /* nCmp */)) __20: ; __19: @@ -80469,7 +80469,7 @@ __13: if !(rc == SQLITE_OK) { goto __21 } - rc = zipfileGetMode(tls, *(*uintptr)(unsafe.Pointer(apVal + 3*8)), bIsDir, bp+60 /* &mode */, (pTab /* &.base */ + 16 /* &.zErrMsg */)) + rc = zipfileGetMode(tls, *(*uintptr)(unsafe.Pointer(apVal + 3*8)), bIsDir, bp+36 /* &mode */, (pTab /* &.base */ + 16 /* &.zErrMsg */)) __21: ; @@ -80498,7 +80498,7 @@ __22: if !((nPath <= 0) || (int32(*(*int8)(unsafe.Pointer(zPath + uintptr((nPath - 1))))) != '/')) { goto __25 } - zFree = sqlite3.Xsqlite3_mprintf(tls, ts+9574 /* "%s/" */, libc.VaList(bp+16, zPath)) + zFree = sqlite3.Xsqlite3_mprintf(tls, ts+9574 /* "%s/" */, libc.VaList(bp+8, zPath)) zPath = zFree if !(zFree == uintptr(0)) { goto __26 @@ -80545,7 +80545,7 @@ __35: goto __33 __36: - zipfileTableErr(tls, pTab, ts+9578 /* "duplicate name: ..." */, libc.VaList(bp+32, zPath)) + zipfileTableErr(tls, pTab, ts+9578 /* "duplicate name: ..." */, libc.VaList(bp+16, zPath)) rc = SQLITE_CONSTRAINT goto __33 @@ -80583,7 +80583,7 @@ __38: (*ZipfileEntry)(unsafe.Pointer(pNew)).Fcds.Fcrc32 = iCrc32 (*ZipfileEntry)(unsafe.Pointer(pNew)).Fcds.FszCompressed = u32(nData) (*ZipfileEntry)(unsafe.Pointer(pNew)).Fcds.FszUncompressed = u32(sz) - (*ZipfileEntry)(unsafe.Pointer(pNew)).Fcds.FiExternalAttr = (*(*u32)(unsafe.Pointer(bp + 60 /* mode */)) << 16) + (*ZipfileEntry)(unsafe.Pointer(pNew)).Fcds.FiExternalAttr = (*(*u32)(unsafe.Pointer(bp + 36 /* mode */)) << 16) (*ZipfileEntry)(unsafe.Pointer(pNew)).Fcds.FiOffset = u32((*ZipfileTab)(unsafe.Pointer(pTab)).FszCurrent) (*ZipfileEntry)(unsafe.Pointer(pNew)).Fcds.FnFile = u16(nPath) (*ZipfileEntry)(unsafe.Pointer(pNew)).FmUnixTime = mTime @@ -80625,7 +80625,7 @@ __40: ; zipfile_update_done: - sqlite3.Xsqlite3_free(tls, *(*uintptr)(unsafe.Pointer(bp + 48 /* pFree */))) + sqlite3.Xsqlite3_free(tls, *(*uintptr)(unsafe.Pointer(bp + 24 /* pFree */))) sqlite3.Xsqlite3_free(tls, zFree) return rc } @@ -80856,8 +80856,8 @@ func zipfileFindCursor(tls *libc.TLS, pTab uintptr, iId i64) uintptr { /* zipfil } func zipfileFunctionCds(tls *libc.TLS, context uintptr, argc int32, argv uintptr) { /* zipfile.c:1834:13: */ - bp := tls.Alloc(136) - defer tls.Free(136) + bp := tls.Alloc(128) + defer tls.Free(128) var pCsr uintptr var pTab uintptr = sqlite3.Xsqlite3_user_data(tls, context) @@ -80946,11 +80946,11 @@ func zipfileBufferGrow(tls *libc.TLS, pBuf uintptr, nByte int32) int32 { /* zipf // SELECT zipfile(name,mode,mtime,data) ... // SELECT zipfile(name,mode,mtime,data,method) ... func zipfileStep(tls *libc.TLS, pCtx uintptr, nVal int32, apVal uintptr) { /* zipfile.c:1937:6: */ - bp := tls.Alloc(156) - defer tls.Free(156) + bp := tls.Alloc(140) + defer tls.Free(140) var p uintptr // Aggregate function context - // var e ZipfileEntry at bp+32, 96 + // var e ZipfileEntry at bp+16, 96 // New entry to add to zip archive var pName uintptr @@ -80959,17 +80959,17 @@ func zipfileStep(tls *libc.TLS, pCtx uintptr, nVal int32, apVal uintptr) { /* zi var pData uintptr var pMethod uintptr var bIsDir int32 - // var mode u32 at bp+152, 4 + // var mode u32 at bp+136, 4 var rc int32 - // var zErr uintptr at bp+144, 8 + // var zErr uintptr at bp+128, 8 var iMethod int32 // Compression method to use (0 or 8) var aData uintptr // Possibly compressed data for new entry var nData int32 // Size of aData[] in bytes var szUncompressed int32 // Size of data before compression - // var aFree uintptr at bp+128, 8 + // var aFree uintptr at bp+112, 8 // Free this before returning var iCrc32 u32 // crc32 of uncompressed data @@ -80977,7 +80977,7 @@ func zipfileStep(tls *libc.TLS, pCtx uintptr, nVal int32, apVal uintptr) { /* zi var nName int32 // Size of zName in bytes var zFree uintptr // Free this before returning var nByte int32 - // var nOut int32 at bp+136, 4 + // var nOut int32 at bp+120, 4 pName = uintptr(0) pMode = uintptr(0) pMtime = uintptr(0) @@ -80985,18 +80985,18 @@ func zipfileStep(tls *libc.TLS, pCtx uintptr, nVal int32, apVal uintptr) { /* zi pMethod = uintptr(0) bIsDir = 0 rc = SQLITE_OK - *(*uintptr)(unsafe.Pointer(bp + 144 /* zErr */)) = uintptr(0) + *(*uintptr)(unsafe.Pointer(bp + 128 /* zErr */)) = uintptr(0) iMethod = -1 aData = uintptr(0) nData = 0 szUncompressed = 0 - *(*uintptr)(unsafe.Pointer(bp + 128 /* aFree */)) = uintptr(0) + *(*uintptr)(unsafe.Pointer(bp + 112 /* aFree */)) = uintptr(0) iCrc32 = u32(0) zName = uintptr(0) nName = 0 zFree = uintptr(0) - libc.Xmemset(tls, bp+32 /* &e */, 0, uint64(unsafe.Sizeof(ZipfileEntry{}))) + libc.Xmemset(tls, bp+16 /* &e */, 0, uint64(unsafe.Sizeof(ZipfileEntry{}))) p = sqlite3.Xsqlite3_aggregate_context(tls, pCtx, int32(unsafe.Sizeof(ZipfileCtx{}))) if !(p == uintptr(0)) { goto __1 @@ -81009,7 +81009,7 @@ __1: if !(((nVal != 2) && (nVal != 4)) && (nVal != 5)) { goto __2 } - *(*uintptr)(unsafe.Pointer(bp + 144 /* zErr */)) = sqlite3.Xsqlite3_mprintf(tls, ts+9953 /* "wrong number of ..." */, 0) + *(*uintptr)(unsafe.Pointer(bp + 128 /* zErr */)) = sqlite3.Xsqlite3_mprintf(tls, ts+9953 /* "wrong number of ..." */, 0) rc = SQLITE_ERROR goto zipfile_step_out __2: @@ -81039,7 +81039,7 @@ __4: if !(zName == uintptr(0)) { goto __6 } - *(*uintptr)(unsafe.Pointer(bp + 144 /* zErr */)) = sqlite3.Xsqlite3_mprintf(tls, ts+10001 /* "first argument t..." */, 0) + *(*uintptr)(unsafe.Pointer(bp + 128 /* zErr */)) = sqlite3.Xsqlite3_mprintf(tls, ts+10001 /* "first argument t..." */, 0) rc = SQLITE_ERROR goto zipfile_step_out __6: @@ -81054,7 +81054,7 @@ __6: if !((iMethod != 0) && (iMethod != 8)) { goto __8 } - *(*uintptr)(unsafe.Pointer(bp + 144 /* zErr */)) = sqlite3.Xsqlite3_mprintf(tls, ts+10046 /* "illegal method v..." */, libc.VaList(bp, iMethod)) + *(*uintptr)(unsafe.Pointer(bp + 128 /* zErr */)) = sqlite3.Xsqlite3_mprintf(tls, ts+10046 /* "illegal method v..." */, libc.VaList(bp, iMethod)) rc = SQLITE_ERROR goto zipfile_step_out __8: @@ -81078,19 +81078,19 @@ __9: if !((iMethod < 0) || (iMethod == 8)) { goto __11 } - *(*int32)(unsafe.Pointer(bp + 136 /* nOut */)) = 0 - rc = zipfileDeflate(tls, aData, nData, bp+128 /* &aFree */, bp+136 /* &nOut */, bp+144 /* &zErr */) + *(*int32)(unsafe.Pointer(bp + 120 /* nOut */)) = 0 + rc = zipfileDeflate(tls, aData, nData, bp+112 /* &aFree */, bp+120 /* &nOut */, bp+128 /* &zErr */) if !(rc != SQLITE_OK) { goto __12 } goto zipfile_step_out __12: ; - if !((iMethod == 8) || (*(*int32)(unsafe.Pointer(bp + 136 /* nOut */)) < nData)) { + if !((iMethod == 8) || (*(*int32)(unsafe.Pointer(bp + 120 /* nOut */)) < nData)) { goto __13 } - aData = *(*uintptr)(unsafe.Pointer(bp + 128 /* aFree */)) - nData = *(*int32)(unsafe.Pointer(bp + 136 /* nOut */)) + aData = *(*uintptr)(unsafe.Pointer(bp + 112 /* aFree */)) + nData = *(*int32)(unsafe.Pointer(bp + 120 /* nOut */)) iMethod = 8 goto __14 __13: @@ -81103,7 +81103,7 @@ __10: ; // Decode the "mode" argument. - rc = zipfileGetMode(tls, pMode, bIsDir, bp+152 /* &mode */, bp+144 /* &zErr */) + rc = zipfileGetMode(tls, pMode, bIsDir, bp+136 /* &mode */, bp+128 /* &zErr */) if !(rc != 0) { goto __15 } @@ -81112,7 +81112,7 @@ __15: ; // Decode the "mtime" argument. - (*ZipfileEntry)(unsafe.Pointer(bp + 32 /* &e */)).FmUnixTime = zipfileGetTime(tls, pMtime) + (*ZipfileEntry)(unsafe.Pointer(bp + 16 /* &e */)).FmUnixTime = zipfileGetTime(tls, pMtime) // If this is a directory entry, ensure that there is exactly one '/' // at the end of the path. Or, if this is not a directory and the path @@ -81123,7 +81123,7 @@ __15: if !((nName > 0) && (int32(*(*int8)(unsafe.Pointer(zName + uintptr((nName - 1))))) == '/')) { goto __18 } - *(*uintptr)(unsafe.Pointer(bp + 144 /* zErr */)) = sqlite3.Xsqlite3_mprintf(tls, ts+10071 /* "non-directory na..." */, 0) + *(*uintptr)(unsafe.Pointer(bp + 128 /* zErr */)) = sqlite3.Xsqlite3_mprintf(tls, ts+10071 /* "non-directory na..." */, 0) rc = SQLITE_ERROR goto zipfile_step_out __18: @@ -81133,7 +81133,7 @@ __16: if !((nName == 0) || (int32(*(*int8)(unsafe.Pointer(zName + uintptr((nName - 1))))) != '/')) { goto __19 } - zName = libc.AssignUintptr(&zFree, sqlite3.Xsqlite3_mprintf(tls, ts+9574 /* "%s/" */, libc.VaList(bp+16, zName))) + zName = libc.AssignUintptr(&zFree, sqlite3.Xsqlite3_mprintf(tls, ts+9574 /* "%s/" */, libc.VaList(bp+8, zName))) if !(zName == uintptr(0)) { goto __21 } @@ -81158,28 +81158,28 @@ __17: ; // Assemble the ZipfileEntry object for the new zip archive entry - (*ZipfileEntry)(unsafe.Pointer(bp + 32 /* &e */)).Fcds.FiVersionMadeBy = (u16((int32(3) << 8) + 30)) - (*ZipfileEntry)(unsafe.Pointer(bp + 32 /* &e */)).Fcds.FiVersionExtract = u16(ZIPFILE_NEWENTRY_REQUIRED) - (*ZipfileEntry)(unsafe.Pointer(bp + 32 /* &e */)).Fcds.Fflags = u16(ZIPFILE_NEWENTRY_FLAGS) - (*ZipfileEntry)(unsafe.Pointer(bp + 32 /* &e */)).Fcds.FiCompression = u16(iMethod) - zipfileMtimeToDos(tls, (bp + 32 /* &e */ /* &.cds */), (*ZipfileEntry)(unsafe.Pointer(bp+32 /* &e */)).FmUnixTime) - (*ZipfileEntry)(unsafe.Pointer(bp + 32 /* &e */)).Fcds.Fcrc32 = iCrc32 - (*ZipfileEntry)(unsafe.Pointer(bp + 32 /* &e */)).Fcds.FszCompressed = u32(nData) - (*ZipfileEntry)(unsafe.Pointer(bp + 32 /* &e */)).Fcds.FszUncompressed = u32(szUncompressed) - (*ZipfileEntry)(unsafe.Pointer(bp + 32 /* &e */)).Fcds.FiExternalAttr = (*(*u32)(unsafe.Pointer(bp + 152 /* mode */)) << 16) - (*ZipfileEntry)(unsafe.Pointer(bp + 32 /* &e */)).Fcds.FiOffset = u32((*ZipfileCtx)(unsafe.Pointer(p)).Fbody.Fn) - (*ZipfileEntry)(unsafe.Pointer(bp + 32 /* &e */)).Fcds.FnFile = u16(nName) - (*ZipfileEntry)(unsafe.Pointer(bp + 32 /* &e */)).Fcds.FzFile = zName + (*ZipfileEntry)(unsafe.Pointer(bp + 16 /* &e */)).Fcds.FiVersionMadeBy = (u16((int32(3) << 8) + 30)) + (*ZipfileEntry)(unsafe.Pointer(bp + 16 /* &e */)).Fcds.FiVersionExtract = u16(ZIPFILE_NEWENTRY_REQUIRED) + (*ZipfileEntry)(unsafe.Pointer(bp + 16 /* &e */)).Fcds.Fflags = u16(ZIPFILE_NEWENTRY_FLAGS) + (*ZipfileEntry)(unsafe.Pointer(bp + 16 /* &e */)).Fcds.FiCompression = u16(iMethod) + zipfileMtimeToDos(tls, (bp + 16 /* &e */ /* &.cds */), (*ZipfileEntry)(unsafe.Pointer(bp+16 /* &e */)).FmUnixTime) + (*ZipfileEntry)(unsafe.Pointer(bp + 16 /* &e */)).Fcds.Fcrc32 = iCrc32 + (*ZipfileEntry)(unsafe.Pointer(bp + 16 /* &e */)).Fcds.FszCompressed = u32(nData) + (*ZipfileEntry)(unsafe.Pointer(bp + 16 /* &e */)).Fcds.FszUncompressed = u32(szUncompressed) + (*ZipfileEntry)(unsafe.Pointer(bp + 16 /* &e */)).Fcds.FiExternalAttr = (*(*u32)(unsafe.Pointer(bp + 136 /* mode */)) << 16) + (*ZipfileEntry)(unsafe.Pointer(bp + 16 /* &e */)).Fcds.FiOffset = u32((*ZipfileCtx)(unsafe.Pointer(p)).Fbody.Fn) + (*ZipfileEntry)(unsafe.Pointer(bp + 16 /* &e */)).Fcds.FnFile = u16(nName) + (*ZipfileEntry)(unsafe.Pointer(bp + 16 /* &e */)).Fcds.FzFile = zName // Append the LFH to the body of the new archive - nByte = ((ZIPFILE_LFH_FIXED_SZ + int32((*ZipfileEntry)(unsafe.Pointer(bp+32 /* &e */)).Fcds.FnFile)) + 9) + nByte = ((ZIPFILE_LFH_FIXED_SZ + int32((*ZipfileEntry)(unsafe.Pointer(bp+16 /* &e */)).Fcds.FnFile)) + 9) if !(libc.AssignInt32(&rc, zipfileBufferGrow(tls, (p+8 /* &.body */), nByte)) != 0) { goto __24 } goto zipfile_step_out __24: ; - *(*int32)(unsafe.Pointer(p + 8 /* &.body */ + 8 /* &.n */)) += (zipfileSerializeLFH(tls, bp+32 /* &e */, ((*ZipfileCtx)(unsafe.Pointer(p)).Fbody.Fa + uintptr((*ZipfileCtx)(unsafe.Pointer(p)).Fbody.Fn)))) + *(*int32)(unsafe.Pointer(p + 8 /* &.body */ + 8 /* &.n */)) += (zipfileSerializeLFH(tls, bp+16 /* &e */, ((*ZipfileCtx)(unsafe.Pointer(p)).Fbody.Fa + uintptr((*ZipfileCtx)(unsafe.Pointer(p)).Fbody.Fn)))) // Append the data to the body of the new archive if !(nData > 0) { @@ -81197,28 +81197,28 @@ __25: ; // Append the CDS record to the directory of the new archive - nByte = ((ZIPFILE_CDS_FIXED_SZ + int32((*ZipfileEntry)(unsafe.Pointer(bp+32 /* &e */)).Fcds.FnFile)) + 9) + nByte = ((ZIPFILE_CDS_FIXED_SZ + int32((*ZipfileEntry)(unsafe.Pointer(bp+16 /* &e */)).Fcds.FnFile)) + 9) if !(libc.AssignInt32(&rc, zipfileBufferGrow(tls, (p+24 /* &.cds */), nByte)) != 0) { goto __27 } goto zipfile_step_out __27: ; - *(*int32)(unsafe.Pointer(p + 24 /* &.cds */ + 8 /* &.n */)) += (zipfileSerializeCDS(tls, bp+32 /* &e */, ((*ZipfileCtx)(unsafe.Pointer(p)).Fcds.Fa + uintptr((*ZipfileCtx)(unsafe.Pointer(p)).Fcds.Fn)))) + *(*int32)(unsafe.Pointer(p + 24 /* &.cds */ + 8 /* &.n */)) += (zipfileSerializeCDS(tls, bp+16 /* &e */, ((*ZipfileCtx)(unsafe.Pointer(p)).Fcds.Fa + uintptr((*ZipfileCtx)(unsafe.Pointer(p)).Fcds.Fn)))) // Increment the count of entries in the archive (*ZipfileCtx)(unsafe.Pointer(p)).FnEntry++ zipfile_step_out: - sqlite3.Xsqlite3_free(tls, *(*uintptr)(unsafe.Pointer(bp + 128 /* aFree */))) + sqlite3.Xsqlite3_free(tls, *(*uintptr)(unsafe.Pointer(bp + 112 /* aFree */))) sqlite3.Xsqlite3_free(tls, zFree) if !(rc != 0) { goto __28 } - if !(*(*uintptr)(unsafe.Pointer(bp + 144 /* zErr */)) != 0) { + if !(*(*uintptr)(unsafe.Pointer(bp + 128 /* zErr */)) != 0) { goto __29 } - sqlite3.Xsqlite3_result_error(tls, pCtx, *(*uintptr)(unsafe.Pointer(bp + 144 /* zErr */)), -1) + sqlite3.Xsqlite3_result_error(tls, pCtx, *(*uintptr)(unsafe.Pointer(bp + 128 /* zErr */)), -1) goto __30 __29: sqlite3.Xsqlite3_result_error_code(tls, pCtx, rc) @@ -81226,7 +81226,7 @@ __30: ; __28: ; - sqlite3.Xsqlite3_free(tls, *(*uintptr)(unsafe.Pointer(bp + 144 /* zErr */))) + sqlite3.Xsqlite3_free(tls, *(*uintptr)(unsafe.Pointer(bp + 128 /* zErr */))) } // xFinalize() callback for zipfile aggregate function. @@ -81341,12 +81341,12 @@ func test_rbu_delta(tls *libc.TLS, pCtx uintptr, nArg int32, apVal uintptr) { /* } func test_sqlite3rbu_cmd(tls *libc.TLS, clientData ClientData, interp uintptr, objc int32, objv uintptr) int32 { /* test_rbu.c:59:26: */ - bp := tls.Alloc(504) - defer tls.Free(504) + bp := tls.Alloc(496) + defer tls.Free(496) var ret int32 = TCL_OK var pRbu uintptr = clientData - *(*[14]RbuCmd)(unsafe.Pointer(bp + 32 /* aCmd */)) = [14]RbuCmd{ + *(*[14]RbuCmd)(unsafe.Pointer(bp + 24 /* aCmd */)) = [14]RbuCmd{ {FzName: ts + 10120 /* "step" */, FnArg: 2, FzUsage: ts + 489 /* "" */}, // 0 {FzName: ts + 10125 /* "close" */, FnArg: 2, FzUsage: ts + 489 /* "" */}, // 1 {FzName: ts + 10131 /* "create_rbu_delta" */, FnArg: 2, FzUsage: ts + 489 /* "" */}, // 2 @@ -81362,23 +81362,23 @@ func test_sqlite3rbu_cmd(tls *libc.TLS, clientData ClientData, interp uintptr, o {FzName: ts + 10255 /* "dbRbu_eval" */, FnArg: 3, FzUsage: ts + 10170 /* "SQL" */}, // 12 {}, } - // var iCmd int32 at bp+368, 4 + // var iCmd int32 at bp+360, 4 if objc < 2 { tcl.XTcl_WrongNumArgs(tls, interp, 1, objv, ts+10266 /* "METHOD" */) return TCL_ERROR } ret = tcl.XTcl_GetIndexFromObjStruct(tls, - interp, *(*uintptr)(unsafe.Pointer(objv + 1*8)), bp+32 /* &aCmd[0] */, int32(unsafe.Sizeof(RbuCmd{})), ts+10273 /* "method" */, 0, bp+368 /* &iCmd */) + interp, *(*uintptr)(unsafe.Pointer(objv + 1*8)), bp+24 /* &aCmd[0] */, int32(unsafe.Sizeof(RbuCmd{})), ts+10273 /* "method" */, 0, bp+360 /* &iCmd */) if ret != 0 { return TCL_ERROR } - if objc != (*RbuCmd)(unsafe.Pointer(bp+32 /* &aCmd */ +uintptr(*(*int32)(unsafe.Pointer(bp + 368 /* iCmd */)))*24)).FnArg { - tcl.XTcl_WrongNumArgs(tls, interp, 1, objv, (*RbuCmd)(unsafe.Pointer(bp+32 /* &aCmd */ +uintptr(*(*int32)(unsafe.Pointer(bp + 368 /* iCmd */)))*24)).FzUsage) + if objc != (*RbuCmd)(unsafe.Pointer(bp+24 /* &aCmd */ +uintptr(*(*int32)(unsafe.Pointer(bp + 360 /* iCmd */)))*24)).FnArg { + tcl.XTcl_WrongNumArgs(tls, interp, 1, objv, (*RbuCmd)(unsafe.Pointer(bp+24 /* &aCmd */ +uintptr(*(*int32)(unsafe.Pointer(bp + 360 /* iCmd */)))*24)).FzUsage) return TCL_ERROR } - switch *(*int32)(unsafe.Pointer(bp + 368 /* iCmd */)) { + switch *(*int32)(unsafe.Pointer(bp + 360 /* iCmd */)) { case 0: /* step */ { var rc int32 = sqlite3.Xsqlite3rbu_step(tls, pRbu) @@ -81391,11 +81391,11 @@ func test_sqlite3rbu_cmd(tls *libc.TLS, clientData ClientData, interp uintptr, o fallthrough /* close_no_error */ case 1: /* close */ { - *(*uintptr)(unsafe.Pointer(bp + 376 /* zErrmsg */)) = uintptr(0) + *(*uintptr)(unsafe.Pointer(bp + 368 /* zErrmsg */)) = uintptr(0) var rc int32 tcl.XTcl_DeleteCommand(tls, interp, tcl.XTcl_GetString(tls, *(*uintptr)(unsafe.Pointer(objv)))) - if *(*int32)(unsafe.Pointer(bp + 368 /* iCmd */)) == 1 { - rc = sqlite3.Xsqlite3rbu_close(tls, pRbu, bp+376 /* &zErrmsg */) + if *(*int32)(unsafe.Pointer(bp + 360 /* iCmd */)) == 1 { + rc = sqlite3.Xsqlite3rbu_close(tls, pRbu, bp+368 /* &zErrmsg */) } else { rc = sqlite3.Xsqlite3rbu_close(tls, pRbu, uintptr(0)) } @@ -81404,9 +81404,9 @@ func test_sqlite3rbu_cmd(tls *libc.TLS, clientData ClientData, interp uintptr, o } else { tcl.XTcl_SetObjResult(tls, interp, tcl.XTcl_NewStringObj(tls, sqlite3.Xsqlite3ErrName(tls, rc), -1)) - if *(*uintptr)(unsafe.Pointer(bp + 376 /* zErrmsg */)) != 0 { - tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp, ts+10280 /* " - " */, *(*uintptr)(unsafe.Pointer(bp + 376 /* zErrmsg */)), 0)) - sqlite3.Xsqlite3_free(tls, *(*uintptr)(unsafe.Pointer(bp + 376 /* zErrmsg */))) + if *(*uintptr)(unsafe.Pointer(bp + 368 /* zErrmsg */)) != 0 { + tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp, ts+10280 /* " - " */, *(*uintptr)(unsafe.Pointer(bp + 368 /* zErrmsg */)), 0)) + sqlite3.Xsqlite3_free(tls, *(*uintptr)(unsafe.Pointer(bp + 368 /* zErrmsg */))) } ret = TCL_ERROR } @@ -81450,7 +81450,7 @@ func test_sqlite3rbu_cmd(tls *libc.TLS, clientData ClientData, interp uintptr, o fallthrough /* dbRbu_eval */ case 4: /* dbMain_eval */ { - var db uintptr = sqlite3.Xsqlite3rbu_db(tls, pRbu, (libc.Bool32(*(*int32)(unsafe.Pointer(bp + 368 /* iCmd */)) == 12))) + var db uintptr = sqlite3.Xsqlite3rbu_db(tls, pRbu, (libc.Bool32(*(*int32)(unsafe.Pointer(bp + 360 /* iCmd */)) == 12))) var rc int32 = sqlite3.Xsqlite3_exec(tls, db, tcl.XTcl_GetString(tls, *(*uintptr)(unsafe.Pointer(objv + 2*8))), uintptr(0), uintptr(0), uintptr(0)) if rc != SQLITE_OK { tcl.XTcl_SetObjResult(tls, interp, tcl.XTcl_NewStringObj(tls, sqlite3.Xsqlite3_errmsg(tls, db), -1)) @@ -81462,16 +81462,16 @@ func test_sqlite3rbu_cmd(tls *libc.TLS, clientData ClientData, interp uintptr, o case 5: /* bp_progress */ { - // var one int32 at bp+384, 4 + // var one int32 at bp+376, 4 - // var two int32 at bp+388, 4 + // var two int32 at bp+380, 4 var pObj uintptr - sqlite3.Xsqlite3rbu_bp_progress(tls, pRbu, bp+384 /* &one */, bp+388 /* &two */) + sqlite3.Xsqlite3rbu_bp_progress(tls, pRbu, bp+376 /* &one */, bp+380 /* &two */) pObj = tcl.XTcl_NewObj(tls) - tcl.XTcl_ListObjAppendElement(tls, interp, pObj, tcl.XTcl_NewIntObj(tls, *(*int32)(unsafe.Pointer(bp + 384 /* one */)))) - tcl.XTcl_ListObjAppendElement(tls, interp, pObj, tcl.XTcl_NewIntObj(tls, *(*int32)(unsafe.Pointer(bp + 388 /* two */)))) + tcl.XTcl_ListObjAppendElement(tls, interp, pObj, tcl.XTcl_NewIntObj(tls, *(*int32)(unsafe.Pointer(bp + 376 /* one */)))) + tcl.XTcl_ListObjAppendElement(tls, interp, pObj, tcl.XTcl_NewIntObj(tls, *(*int32)(unsafe.Pointer(bp + 380 /* two */)))) tcl.XTcl_SetObjResult(tls, interp, pObj) break @@ -81479,18 +81479,18 @@ func test_sqlite3rbu_cmd(tls *libc.TLS, clientData ClientData, interp uintptr, o case 6: /* db */ { - // var bArg int32 at bp+392, 4 + // var bArg int32 at bp+384, 4 - if tcl.XTcl_GetBooleanFromObj(tls, interp, *(*uintptr)(unsafe.Pointer(objv + 2*8)), bp+392 /* &bArg */) != 0 { + if tcl.XTcl_GetBooleanFromObj(tls, interp, *(*uintptr)(unsafe.Pointer(objv + 2*8)), bp+384 /* &bArg */) != 0 { ret = TCL_ERROR } else { - // var zBuf [50]int8 at bp+396, 50 + // var zBuf [50]int8 at bp+388, 50 - var db uintptr = sqlite3.Xsqlite3rbu_db(tls, pRbu, *(*int32)(unsafe.Pointer(bp + 392 /* bArg */))) - if sqlite3TestMakePointerStr(tls, interp, bp+396 /* &zBuf[0] */, db) != 0 { + var db uintptr = sqlite3.Xsqlite3rbu_db(tls, pRbu, *(*int32)(unsafe.Pointer(bp + 384 /* bArg */))) + if sqlite3TestMakePointerStr(tls, interp, bp+388 /* &zBuf[0] */, db) != 0 { ret = TCL_ERROR } else { - tcl.XTcl_SetResult(tls, interp, bp+396 /* &zBuf[0] */, uintptr(1)) + tcl.XTcl_SetResult(tls, interp, bp+388 /* &zBuf[0] */, uintptr(1)) } } break @@ -81498,10 +81498,10 @@ func test_sqlite3rbu_cmd(tls *libc.TLS, clientData ClientData, interp uintptr, o } case 7: /* state */ { - *(*[6]uintptr)(unsafe.Pointer(bp + 448 /* aRes */)) = [6]uintptr{uintptr(0), ts + 10284 /* "oal" */, ts + 10288 /* "move" */, ts + 10293 /* "checkpoint" */, ts + 10304 /* "done" */, ts + 10309 /* "error" */} + *(*[6]uintptr)(unsafe.Pointer(bp + 440 /* aRes */)) = [6]uintptr{uintptr(0), ts + 10284 /* "oal" */, ts + 10288 /* "move" */, ts + 10293 /* "checkpoint" */, ts + 10304 /* "done" */, ts + 10309 /* "error" */} var eState int32 = sqlite3.Xsqlite3rbu_state(tls, pRbu) - tcl.XTcl_SetResult(tls, interp, *(*uintptr)(unsafe.Pointer(bp + 448 /* &aRes[0] */ + uintptr(eState)*8)), uintptr(0)) + tcl.XTcl_SetResult(tls, interp, *(*uintptr)(unsafe.Pointer(bp + 440 /* &aRes[0] */ + uintptr(eState)*8)), uintptr(0)) break } @@ -81515,13 +81515,13 @@ func test_sqlite3rbu_cmd(tls *libc.TLS, clientData ClientData, interp uintptr, o case 10: /* temp_size_limit */ { - // var nLimit sqlite3_int64 at bp+496, 8 + // var nLimit sqlite3_int64 at bp+488, 8 - if tcl.XTcl_GetWideIntFromObj(tls, interp, *(*uintptr)(unsafe.Pointer(objv + 2*8)), bp+496 /* &nLimit */) != 0 { + if tcl.XTcl_GetWideIntFromObj(tls, interp, *(*uintptr)(unsafe.Pointer(objv + 2*8)), bp+488 /* &nLimit */) != 0 { ret = TCL_ERROR } else { - *(*sqlite3_int64)(unsafe.Pointer(bp + 496 /* nLimit */)) = sqlite3.Xsqlite3rbu_temp_size_limit(tls, pRbu, *(*sqlite3_int64)(unsafe.Pointer(bp + 496 /* nLimit */))) - tcl.XTcl_SetObjResult(tls, interp, tcl.XTcl_NewWideIntObj(tls, *(*sqlite3_int64)(unsafe.Pointer(bp + 496 /* nLimit */)))) + *(*sqlite3_int64)(unsafe.Pointer(bp + 488 /* nLimit */)) = sqlite3.Xsqlite3rbu_temp_size_limit(tls, pRbu, *(*sqlite3_int64)(unsafe.Pointer(bp + 488 /* nLimit */))) + tcl.XTcl_SetObjResult(tls, interp, tcl.XTcl_NewWideIntObj(tls, *(*sqlite3_int64)(unsafe.Pointer(bp + 488 /* nLimit */)))) } break @@ -81650,8 +81650,8 @@ func test_sqlite3rbu_destroy_vfs(tls *libc.TLS, clientData ClientData, interp ui // Tclcmd: sqlite3rbu_internal_test func test_sqlite3rbu_internal_test(tls *libc.TLS, clientData ClientData, interp uintptr, objc int32, objv uintptr) int32 { /* test_rbu.c:343:26: */ - bp := tls.Alloc(24) - defer tls.Free(24) + bp := tls.Alloc(16) + defer tls.Free(16) var db uintptr @@ -81713,17 +81713,17 @@ type TestStreamInput = TestStreamInput1 /* test_session.c:28:32 */ // argument. If successful, set *pDb to point to the db handle and return // TCL_OK. Otherwise, return TCL_ERROR. func dbHandleFromObj1(tls *libc.TLS, interp uintptr, pObj uintptr, pDb uintptr) int32 { /* test_session.c:41:12: */ - bp := tls.Alloc(96) - defer tls.Free(96) + bp := tls.Alloc(88) + defer tls.Free(88) - // var info Tcl_CmdInfo at bp+32, 64 + // var info Tcl_CmdInfo at bp+24, 64 - if 0 == tcl.XTcl_GetCommandInfo(tls, interp, tcl.XTcl_GetString(tls, pObj), bp+32 /* &info */) { + if 0 == tcl.XTcl_GetCommandInfo(tls, interp, tcl.XTcl_GetString(tls, pObj), bp+24 /* &info */) { tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp, ts+1791 /* "no such handle: " */, tcl.XTcl_GetString(tls, pObj), 0)) return TCL_ERROR } - *(*uintptr)(unsafe.Pointer(pDb)) = *(*uintptr)(unsafe.Pointer((*Tcl_CmdInfo)(unsafe.Pointer(bp + 32 /* &info */)).FobjClientData)) + *(*uintptr)(unsafe.Pointer(pDb)) = *(*uintptr)(unsafe.Pointer((*Tcl_CmdInfo)(unsafe.Pointer(bp + 24 /* &info */)).FobjClientData)) return TCL_OK } @@ -81779,15 +81779,15 @@ func sql_exec_changeset(tls *libc.TLS, db uintptr, zSql uintptr, pnChangeset uin // Tclcmd: sql_exec_changeset DB SQL func test_sql_exec_changeset(tls *libc.TLS, clientData uintptr, interp uintptr, objc int32, objv uintptr) int32 { /* test_session.c:104:26: */ - bp := tls.Alloc(48) - defer tls.Free(48) + bp := tls.Alloc(40) + defer tls.Free(40) var zSql uintptr - // var db uintptr at bp+24, 8 + // var db uintptr at bp+16, 8 - // var pChangeset uintptr at bp+40, 8 + // var pChangeset uintptr at bp+32, 8 - // var nChangeset int32 at bp+32, 4 + // var nChangeset int32 at bp+24, 4 var rc int32 @@ -81795,20 +81795,20 @@ func test_sql_exec_changeset(tls *libc.TLS, clientData uintptr, interp uintptr, tcl.XTcl_WrongNumArgs(tls, interp, 1, objv, ts+10524 /* "DB SQL" */) return TCL_ERROR } - if dbHandleFromObj1(tls, interp, *(*uintptr)(unsafe.Pointer(objv + 1*8)), bp+24 /* &db */) != 0 { + if dbHandleFromObj1(tls, interp, *(*uintptr)(unsafe.Pointer(objv + 1*8)), bp+16 /* &db */) != 0 { return TCL_ERROR } zSql = tcl.XTcl_GetString(tls, *(*uintptr)(unsafe.Pointer(objv + 2*8))) - rc = sql_exec_changeset(tls, *(*uintptr)(unsafe.Pointer(bp + 24 /* db */)), zSql, bp+32 /* &nChangeset */, bp+40 /* &pChangeset */) + rc = sql_exec_changeset(tls, *(*uintptr)(unsafe.Pointer(bp + 16 /* db */)), zSql, bp+24 /* &nChangeset */, bp+32 /* &pChangeset */) if rc != SQLITE_OK { tcl.XTcl_ResetResult(tls, interp) tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp, ts+10531 /* "error in sql_exe..." */, 0)) return TCL_ERROR } - tcl.XTcl_SetObjResult(tls, interp, tcl.XTcl_NewByteArrayObj(tls, *(*uintptr)(unsafe.Pointer(bp + 40 /* pChangeset */)), *(*int32)(unsafe.Pointer(bp + 32 /* nChangeset */)))) - sqlite3.Xsqlite3_free(tls, *(*uintptr)(unsafe.Pointer(bp + 40 /* pChangeset */))) + tcl.XTcl_SetObjResult(tls, interp, tcl.XTcl_NewByteArrayObj(tls, *(*uintptr)(unsafe.Pointer(bp + 32 /* pChangeset */)), *(*int32)(unsafe.Pointer(bp + 24 /* nChangeset */)))) + sqlite3.Xsqlite3_free(tls, *(*uintptr)(unsafe.Pointer(bp + 32 /* pChangeset */))) return TCL_OK } @@ -81839,8 +81839,8 @@ func test_tcl_integer(tls *libc.TLS, interp uintptr, zVar uintptr) int32 { /* te } func test_session_error(tls *libc.TLS, interp uintptr, rc int32, zErr uintptr) int32 { /* test_session.c:157:12: */ - bp := tls.Alloc(32) - defer tls.Free(32) + bp := tls.Alloc(24) + defer tls.Free(24) tcl.XTcl_SetObjResult(tls, interp, tcl.XTcl_NewStringObj(tls, sqlite3.Xsqlite3ErrName(tls, rc), -1)) if zErr != 0 { @@ -82137,26 +82137,26 @@ func test_session_del(tls *libc.TLS, clientData uintptr) { /* test_session.c:390 // Tclcmd: sqlite3session CMD DB-HANDLE DB-NAME func test_sqlite3session(tls *libc.TLS, clientData uintptr, interp uintptr, objc int32, objv uintptr) int32 { /* test_session.c:400:26: */ - bp := tls.Alloc(100) - defer tls.Free(100) + bp := tls.Alloc(92) + defer tls.Free(92) var db uintptr - // var info Tcl_CmdInfo at bp+32, 64 + // var info Tcl_CmdInfo at bp+24, 64 var rc int32 // sqlite3session_create() return code var p uintptr // New wrapper object - *(*int32)(unsafe.Pointer(bp + 96 /* iArg */)) = -1 + *(*int32)(unsafe.Pointer(bp + 88 /* iArg */)) = -1 if objc != 4 { tcl.XTcl_WrongNumArgs(tls, interp, 1, objv, ts+10728 /* "CMD DB-HANDLE DB..." */) return TCL_ERROR } - if 0 == tcl.XTcl_GetCommandInfo(tls, interp, tcl.XTcl_GetString(tls, *(*uintptr)(unsafe.Pointer(objv + 2*8))), bp+32 /* &info */) { + if 0 == tcl.XTcl_GetCommandInfo(tls, interp, tcl.XTcl_GetString(tls, *(*uintptr)(unsafe.Pointer(objv + 2*8))), bp+24 /* &info */) { tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp, ts+1791 /* "no such handle: " */, tcl.XTcl_GetString(tls, *(*uintptr)(unsafe.Pointer(objv + 2*8))), 0)) return TCL_ERROR } - db = *(*uintptr)(unsafe.Pointer((*Tcl_CmdInfo)(unsafe.Pointer(bp + 32 /* &info */)).FobjClientData)) + db = *(*uintptr)(unsafe.Pointer((*Tcl_CmdInfo)(unsafe.Pointer(bp + 24 /* &info */)).FobjClientData)) p = tcl.XTcl_Alloc(tls, uint32(unsafe.Sizeof(TestSession{}))) libc.Xmemset(tls, p, 0, uint64(unsafe.Sizeof(TestSession{}))) @@ -82168,10 +82168,10 @@ func test_sqlite3session(tls *libc.TLS, clientData uintptr, interp uintptr, objc // Query the SQLITE_SESSION_OBJCONFIG_SIZE option to ensure that it // is clear by default. Then set it. - sqlite3.Xsqlite3session_object_config(tls, (*TestSession)(unsafe.Pointer(p)).FpSession, SQLITE_SESSION_OBJCONFIG_SIZE, bp+96 /* &iArg */) + sqlite3.Xsqlite3session_object_config(tls, (*TestSession)(unsafe.Pointer(p)).FpSession, SQLITE_SESSION_OBJCONFIG_SIZE, bp+88 /* &iArg */) - *(*int32)(unsafe.Pointer(bp + 96 /* iArg */)) = 1 - sqlite3.Xsqlite3session_object_config(tls, (*TestSession)(unsafe.Pointer(p)).FpSession, SQLITE_SESSION_OBJCONFIG_SIZE, bp+96 /* &iArg */) + *(*int32)(unsafe.Pointer(bp + 88 /* iArg */)) = 1 + sqlite3.Xsqlite3session_object_config(tls, (*TestSession)(unsafe.Pointer(p)).FpSession, SQLITE_SESSION_OBJCONFIG_SIZE, bp+88 /* &iArg */) tcl.XTcl_CreateObjCommand(tls, interp, tcl.XTcl_GetString(tls, *(*uintptr)(unsafe.Pointer(objv + 1*8))), *(*uintptr)(unsafe.Pointer(&struct { @@ -82549,26 +82549,26 @@ func testStreamInput(tls *libc.TLS, pCtx uintptr, pData uintptr, pnData uintptr) } func testSqlite3changesetApply(tls *libc.TLS, bV2 int32, clientData uintptr, interp uintptr, objc int32, objv uintptr) int32 { /* test_session.c:761:26: */ - bp := tls.Alloc(164) - defer tls.Free(164) + bp := tls.Alloc(156) + defer tls.Free(156) var db uintptr // Database handle - // var info Tcl_CmdInfo at bp+56, 64 + // var info Tcl_CmdInfo at bp+48, 64 // Database Tcl command (objv[1]) info var rc int32 // Return code from changeset_invert() var pChangeset uintptr // Buffer containing changeset - // var nChangeset int32 at bp+120, 4 + // var nChangeset int32 at bp+112, 4 // Size of buffer aChangeset in bytes - // var ctx TestConflictHandler at bp+128, 24 + // var ctx TestConflictHandler at bp+120, 24 - // var sStr TestStreamInput at bp+32, 24 + // var sStr TestStreamInput at bp+24, 24 - *(*uintptr)(unsafe.Pointer(bp + 152 /* pRebase */)) = uintptr(0) - *(*int32)(unsafe.Pointer(bp + 160 /* nRebase */)) = 0 + *(*uintptr)(unsafe.Pointer(bp + 144 /* pRebase */)) = uintptr(0) + *(*int32)(unsafe.Pointer(bp + 152 /* nRebase */)) = 0 var flags int32 = 0 // Flags for apply_v2() - libc.Xmemset(tls, bp+32 /* &sStr */, 0, uint64(unsafe.Sizeof(TestStreamInput{}))) - (*TestStreamInput)(unsafe.Pointer(bp + 32 /* &sStr */)).FnStream = test_tcl_integer(tls, interp, ts+10561 /* "sqlite3session_s..." */) + libc.Xmemset(tls, bp+24 /* &sStr */, 0, uint64(unsafe.Sizeof(TestStreamInput{}))) + (*TestStreamInput)(unsafe.Pointer(bp + 24 /* &sStr */)).FnStream = test_tcl_integer(tls, interp, ts+10561 /* "sqlite3session_s..." */) // Check for the -nosavepoint flag if bV2 != 0 { @@ -82602,24 +82602,24 @@ func testSqlite3changesetApply(tls *libc.TLS, bV2 int32, clientData uintptr, int tcl.XTcl_WrongNumArgs(tls, interp, 1, objv, zMsg) return TCL_ERROR } - if 0 == tcl.XTcl_GetCommandInfo(tls, interp, tcl.XTcl_GetString(tls, *(*uintptr)(unsafe.Pointer(objv + 1*8))), bp+56 /* &info */) { + if 0 == tcl.XTcl_GetCommandInfo(tls, interp, tcl.XTcl_GetString(tls, *(*uintptr)(unsafe.Pointer(objv + 1*8))), bp+48 /* &info */) { tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp, ts+1791 /* "no such handle: " */, tcl.XTcl_GetString(tls, *(*uintptr)(unsafe.Pointer(objv + 1*8))), 0)) return TCL_ERROR } - db = *(*uintptr)(unsafe.Pointer((*Tcl_CmdInfo)(unsafe.Pointer(bp + 56 /* &info */)).FobjClientData)) - pChangeset = tcl.XTcl_GetByteArrayFromObj(tls, *(*uintptr)(unsafe.Pointer(objv + 2*8)), bp+120 /* &nChangeset */) - (*TestConflictHandler)(unsafe.Pointer(bp + 128 /* &ctx */)).FpConflictScript = *(*uintptr)(unsafe.Pointer(objv + 3*8)) - (*TestConflictHandler)(unsafe.Pointer(bp + 128 /* &ctx */)).FpFilterScript = func() uintptr { + db = *(*uintptr)(unsafe.Pointer((*Tcl_CmdInfo)(unsafe.Pointer(bp + 48 /* &info */)).FobjClientData)) + pChangeset = tcl.XTcl_GetByteArrayFromObj(tls, *(*uintptr)(unsafe.Pointer(objv + 2*8)), bp+112 /* &nChangeset */) + (*TestConflictHandler)(unsafe.Pointer(bp + 120 /* &ctx */)).FpConflictScript = *(*uintptr)(unsafe.Pointer(objv + 3*8)) + (*TestConflictHandler)(unsafe.Pointer(bp + 120 /* &ctx */)).FpFilterScript = func() uintptr { if objc == 5 { return *(*uintptr)(unsafe.Pointer(objv + 4*8)) } return uintptr(0) }() - (*TestConflictHandler)(unsafe.Pointer(bp + 128 /* &ctx */)).Finterp = interp + (*TestConflictHandler)(unsafe.Pointer(bp + 120 /* &ctx */)).Finterp = interp - if (*TestStreamInput)(unsafe.Pointer(bp+32 /* &sStr */)).FnStream == 0 { + if (*TestStreamInput)(unsafe.Pointer(bp+24 /* &sStr */)).FnStream == 0 { if bV2 == 0 { - rc = sqlite3.Xsqlite3changeset_apply(tls, db, *(*int32)(unsafe.Pointer(bp + 120 /* nChangeset */)), pChangeset, + rc = sqlite3.Xsqlite3changeset_apply(tls, db, *(*int32)(unsafe.Pointer(bp + 112 /* nChangeset */)), pChangeset, func() uintptr { if objc == 5 { return *(*uintptr)(unsafe.Pointer(&struct { @@ -82629,9 +82629,9 @@ func testSqlite3changesetApply(tls *libc.TLS, bV2 int32, clientData uintptr, int return uintptr(0) }(), *(*uintptr)(unsafe.Pointer(&struct { f func(*libc.TLS, uintptr, int32, uintptr) int32 - }{test_conflict_handler})), bp+128 /* &ctx */) + }{test_conflict_handler})), bp+120 /* &ctx */) } else { - rc = sqlite3.Xsqlite3changeset_apply_v2(tls, db, *(*int32)(unsafe.Pointer(bp + 120 /* nChangeset */)), pChangeset, + rc = sqlite3.Xsqlite3changeset_apply_v2(tls, db, *(*int32)(unsafe.Pointer(bp + 112 /* nChangeset */)), pChangeset, func() uintptr { if objc == 5 { return *(*uintptr)(unsafe.Pointer(&struct { @@ -82641,16 +82641,16 @@ func testSqlite3changesetApply(tls *libc.TLS, bV2 int32, clientData uintptr, int return uintptr(0) }(), *(*uintptr)(unsafe.Pointer(&struct { f func(*libc.TLS, uintptr, int32, uintptr) int32 - }{test_conflict_handler})), bp+128, /* &ctx */ - bp+152 /* &pRebase */, bp+160 /* &nRebase */, flags) + }{test_conflict_handler})), bp+120, /* &ctx */ + bp+144 /* &pRebase */, bp+152 /* &nRebase */, flags) } } else { - (*TestStreamInput)(unsafe.Pointer(bp + 32 /* &sStr */)).FaData = pChangeset - (*TestStreamInput)(unsafe.Pointer(bp + 32 /* &sStr */)).FnData = *(*int32)(unsafe.Pointer(bp + 120 /* nChangeset */)) + (*TestStreamInput)(unsafe.Pointer(bp + 24 /* &sStr */)).FaData = pChangeset + (*TestStreamInput)(unsafe.Pointer(bp + 24 /* &sStr */)).FnData = *(*int32)(unsafe.Pointer(bp + 112 /* nChangeset */)) if bV2 == 0 { rc = sqlite3.Xsqlite3changeset_apply_strm(tls, db, *(*uintptr)(unsafe.Pointer(&struct { f func(*libc.TLS, uintptr, uintptr, uintptr) int32 - }{testStreamInput})), bp+32, /* &sStr */ + }{testStreamInput})), bp+24, /* &sStr */ func() uintptr { if objc == 5 { return *(*uintptr)(unsafe.Pointer(&struct { @@ -82661,11 +82661,11 @@ func testSqlite3changesetApply(tls *libc.TLS, bV2 int32, clientData uintptr, int }(), *(*uintptr)(unsafe.Pointer(&struct { f func(*libc.TLS, uintptr, int32, uintptr) int32 - }{test_conflict_handler})), bp+128 /* &ctx */) + }{test_conflict_handler})), bp+120 /* &ctx */) } else { rc = sqlite3.Xsqlite3changeset_apply_v2_strm(tls, db, *(*uintptr)(unsafe.Pointer(&struct { f func(*libc.TLS, uintptr, uintptr, uintptr) int32 - }{testStreamInput})), bp+32, /* &sStr */ + }{testStreamInput})), bp+24, /* &sStr */ func() uintptr { if objc == 5 { return *(*uintptr)(unsafe.Pointer(&struct { @@ -82676,8 +82676,8 @@ func testSqlite3changesetApply(tls *libc.TLS, bV2 int32, clientData uintptr, int }(), *(*uintptr)(unsafe.Pointer(&struct { f func(*libc.TLS, uintptr, int32, uintptr) int32 - }{test_conflict_handler})), bp+128, /* &ctx */ - bp+152 /* &pRebase */, bp+160 /* &nRebase */, flags) + }{test_conflict_handler})), bp+120, /* &ctx */ + bp+144 /* &pRebase */, bp+152 /* &nRebase */, flags) } } @@ -82685,11 +82685,11 @@ func testSqlite3changesetApply(tls *libc.TLS, bV2 int32, clientData uintptr, int return test_session_error(tls, interp, rc, uintptr(0)) } else { tcl.XTcl_ResetResult(tls, interp) - if (bV2 != 0) && (*(*uintptr)(unsafe.Pointer(bp + 152 /* pRebase */)) != 0) { - tcl.XTcl_SetObjResult(tls, interp, tcl.XTcl_NewByteArrayObj(tls, *(*uintptr)(unsafe.Pointer(bp + 152 /* pRebase */)), *(*int32)(unsafe.Pointer(bp + 160 /* nRebase */)))) + if (bV2 != 0) && (*(*uintptr)(unsafe.Pointer(bp + 144 /* pRebase */)) != 0) { + tcl.XTcl_SetObjResult(tls, interp, tcl.XTcl_NewByteArrayObj(tls, *(*uintptr)(unsafe.Pointer(bp + 144 /* pRebase */)), *(*int32)(unsafe.Pointer(bp + 152 /* nRebase */)))) } } - sqlite3.Xsqlite3_free(tls, *(*uintptr)(unsafe.Pointer(bp + 152 /* pRebase */))) + sqlite3.Xsqlite3_free(tls, *(*uintptr)(unsafe.Pointer(bp + 144 /* pRebase */))) return TCL_OK } @@ -82705,29 +82705,29 @@ func test_sqlite3changeset_apply_v2(tls *libc.TLS, clientData uintptr, interp ui // sqlite3changeset_apply_replace_all DB CHANGESET func test_sqlite3changeset_apply_replace_all(tls *libc.TLS, clientData uintptr, interp uintptr, objc int32, objv uintptr) int32 { /* test_session.c:891:26: */ - bp := tls.Alloc(100) - defer tls.Free(100) + bp := tls.Alloc(92) + defer tls.Free(92) var db uintptr // Database handle - // var info Tcl_CmdInfo at bp+32, 64 + // var info Tcl_CmdInfo at bp+24, 64 // Database Tcl command (objv[1]) info var rc int32 // Return code from changeset_invert() var pChangeset uintptr // Buffer containing changeset - // var nChangeset int32 at bp+96, 4 + // var nChangeset int32 at bp+88, 4 // Size of buffer aChangeset in bytes if objc != 3 { tcl.XTcl_WrongNumArgs(tls, interp, 1, objv, ts+10969 /* "DB CHANGESET" */) return TCL_ERROR } - if 0 == tcl.XTcl_GetCommandInfo(tls, interp, tcl.XTcl_GetString(tls, *(*uintptr)(unsafe.Pointer(objv + 1*8))), bp+32 /* &info */) { + if 0 == tcl.XTcl_GetCommandInfo(tls, interp, tcl.XTcl_GetString(tls, *(*uintptr)(unsafe.Pointer(objv + 1*8))), bp+24 /* &info */) { tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp, ts+1791 /* "no such handle: " */, tcl.XTcl_GetString(tls, *(*uintptr)(unsafe.Pointer(objv + 2*8))), 0)) return TCL_ERROR } - db = *(*uintptr)(unsafe.Pointer((*Tcl_CmdInfo)(unsafe.Pointer(bp + 32 /* &info */)).FobjClientData)) - pChangeset = tcl.XTcl_GetByteArrayFromObj(tls, *(*uintptr)(unsafe.Pointer(objv + 2*8)), bp+96 /* &nChangeset */) + db = *(*uintptr)(unsafe.Pointer((*Tcl_CmdInfo)(unsafe.Pointer(bp + 24 /* &info */)).FobjClientData)) + pChangeset = tcl.XTcl_GetByteArrayFromObj(tls, *(*uintptr)(unsafe.Pointer(objv + 2*8)), bp+88 /* &nChangeset */) - rc = sqlite3.Xsqlite3changeset_apply(tls, db, *(*int32)(unsafe.Pointer(bp + 96 /* nChangeset */)), pChangeset, uintptr(0), *(*uintptr)(unsafe.Pointer(&struct { + rc = sqlite3.Xsqlite3changeset_apply(tls, db, *(*int32)(unsafe.Pointer(bp + 88 /* nChangeset */)), pChangeset, uintptr(0), *(*uintptr)(unsafe.Pointer(&struct { f func(*libc.TLS, uintptr, int32, uintptr) int32 }{replace_handler})), uintptr(0)) if rc != SQLITE_OK { @@ -83528,12 +83528,12 @@ var IncrblobChannelType = Tcl_ChannelType{ // Create a new incrblob channel. func createIncrblobChannel(tls *libc.TLS, interp uintptr, pDb uintptr, zDb uintptr, zTable uintptr, zColumn uintptr, iRow sqlite_int64, isReadonly int32) int32 { /* tclsqlite.c:390:12: */ - bp := tls.Alloc(88) - defer tls.Free(88) + bp := tls.Alloc(80) + defer tls.Free(80) var p uintptr var db uintptr = (*SqliteDb)(unsafe.Pointer(pDb)).Fdb - // var pBlob uintptr at bp+16, 8 + // var pBlob uintptr at bp+8, 8 var rc int32 var flags int32 = ((int32(1) << 1) | (func() int32 { @@ -83542,9 +83542,9 @@ func createIncrblobChannel(tls *libc.TLS, interp uintptr, pDb uintptr, zDb uintp } return (int32(1) << 2) }())) - // var zChannel [64]int8 at bp+24, 64 + // var zChannel [64]int8 at bp+16, 64 - rc = sqlite3.Xsqlite3_blob_open(tls, db, zDb, zTable, zColumn, iRow, libc.BoolInt32(!(isReadonly != 0)), bp+16 /* &pBlob */) + rc = sqlite3.Xsqlite3_blob_open(tls, db, zDb, zTable, zColumn, iRow, libc.BoolInt32(!(isReadonly != 0)), bp+8 /* &pBlob */) if rc != SQLITE_OK { tcl.XTcl_SetResult(tls, interp, sqlite3.Xsqlite3_errmsg(tls, (*SqliteDb)(unsafe.Pointer(pDb)).Fdb), uintptr(1)) return TCL_ERROR @@ -83552,10 +83552,10 @@ func createIncrblobChannel(tls *libc.TLS, interp uintptr, pDb uintptr, zDb uintp p = tcl.XTcl_Alloc(tls, uint32(unsafe.Sizeof(IncrblobChannel{}))) (*IncrblobChannel)(unsafe.Pointer(p)).FiSeek = 0 - (*IncrblobChannel)(unsafe.Pointer(p)).FpBlob = *(*uintptr)(unsafe.Pointer(bp + 16 /* pBlob */)) + (*IncrblobChannel)(unsafe.Pointer(p)).FpBlob = *(*uintptr)(unsafe.Pointer(bp + 8 /* pBlob */)) - sqlite3.Xsqlite3_snprintf(tls, int32(unsafe.Sizeof([64]int8{})), bp+24 /* &zChannel[0] */, ts+11342 /* "incrblob_%d" */, libc.VaList(bp, libc.PreIncInt32(&count, 1))) - (*IncrblobChannel)(unsafe.Pointer(p)).Fchannel = tcl.XTcl_CreateChannel(tls, uintptr(unsafe.Pointer(&IncrblobChannelType)), bp+24 /* &zChannel[0] */, p, flags) + sqlite3.Xsqlite3_snprintf(tls, int32(unsafe.Sizeof([64]int8{})), bp+16 /* &zChannel[0] */, ts+11342 /* "incrblob_%d" */, libc.VaList(bp, libc.PreIncInt32(&count, 1))) + (*IncrblobChannel)(unsafe.Pointer(p)).Fchannel = tcl.XTcl_CreateChannel(tls, uintptr(unsafe.Pointer(&IncrblobChannelType)), bp+16 /* &zChannel[0] */, p, flags) tcl.XTcl_RegisterChannel(tls, interp, (*IncrblobChannel)(unsafe.Pointer(p)).Fchannel) // Link the new channel into the SqliteDb.pIncrblob list. @@ -83741,15 +83741,15 @@ func DbDeleteCmd(tls *libc.TLS, db uintptr) { /* tclsqlite.c:524:27: */ // This routine is called when a database file is locked while trying // to execute SQL. func DbBusyHandler(tls *libc.TLS, cd uintptr, nTries int32) int32 { /* tclsqlite.c:584:12: */ - bp := tls.Alloc(86) - defer tls.Free(86) + bp := tls.Alloc(70) + defer tls.Free(70) var pDb uintptr = cd var rc int32 - // var zVal [30]int8 at bp+56, 30 + // var zVal [30]int8 at bp+40, 30 - sqlite3.Xsqlite3_snprintf(tls, int32(unsafe.Sizeof([30]int8{})), bp+56 /* &zVal[0] */, ts+1238 /* "%d" */, libc.VaList(bp, nTries)) - rc = tcl.XTcl_VarEval(tls, (*SqliteDb)(unsafe.Pointer(pDb)).Finterp, libc.VaList(bp+16, (*SqliteDb)(unsafe.Pointer(pDb)).FzBusy, ts+4755 /* " " */, bp+56 /* &zVal[0] */, uintptr(0))) + sqlite3.Xsqlite3_snprintf(tls, int32(unsafe.Sizeof([30]int8{})), bp+40 /* &zVal[0] */, ts+1238 /* "%d" */, libc.VaList(bp, nTries)) + rc = tcl.XTcl_VarEval(tls, (*SqliteDb)(unsafe.Pointer(pDb)).Finterp, libc.VaList(bp+8, (*SqliteDb)(unsafe.Pointer(pDb)).FzBusy, ts+4755 /* " " */, bp+40 /* &zVal[0] */, uintptr(0))) if (rc != TCL_OK) || (libc.Xatoi(tls, tcl.XTcl_GetStringResult(tls, (*SqliteDb)(unsafe.Pointer(pDb)).Finterp)) != 0) { return 0 } @@ -83883,21 +83883,21 @@ func DbTraceV2Handler(tls *libc.TLS, type1 uint32, cd uintptr, pd uintptr, xd ui // This routine is called by the SQLite profile handler after a statement // SQL has executed. The TCL script in pDb->zProfile is evaluated. func DbProfileHandler(tls *libc.TLS, cd uintptr, zSql uintptr, tm1 sqlite_uint64) { /* tclsqlite.c:715:13: */ - bp := tls.Alloc(336) - defer tls.Free(336) + bp := tls.Alloc(328) + defer tls.Free(328) var pDb uintptr = cd - // var str Tcl_DString at bp+120, 216 + // var str Tcl_DString at bp+112, 216 - // var zTm [100]int8 at bp+16, 100 + // var zTm [100]int8 at bp+8, 100 - sqlite3.Xsqlite3_snprintf(tls, (int32(uint64(unsafe.Sizeof([100]int8{})) - uint64(1))), bp+16 /* &zTm[0] */, ts+11354 /* "%lld" */, libc.VaList(bp, tm1)) - tcl.XTcl_DStringInit(tls, bp+120 /* &str */) - tcl.XTcl_DStringAppend(tls, bp+120 /* &str */, (*SqliteDb)(unsafe.Pointer(pDb)).FzProfile, -1) - tcl.XTcl_DStringAppendElement(tls, bp+120 /* &str */, zSql) - tcl.XTcl_DStringAppendElement(tls, bp+120 /* &str */, bp+16 /* &zTm[0] */) - tcl.XTcl_Eval(tls, (*SqliteDb)(unsafe.Pointer(pDb)).Finterp, (*Tcl_DString)(unsafe.Pointer(bp+120 /* &str */)).Fstring) - tcl.XTcl_DStringFree(tls, bp+120 /* &str */) + sqlite3.Xsqlite3_snprintf(tls, (int32(uint64(unsafe.Sizeof([100]int8{})) - uint64(1))), bp+8 /* &zTm[0] */, ts+11354 /* "%lld" */, libc.VaList(bp, tm1)) + tcl.XTcl_DStringInit(tls, bp+112 /* &str */) + tcl.XTcl_DStringAppend(tls, bp+112 /* &str */, (*SqliteDb)(unsafe.Pointer(pDb)).FzProfile, -1) + tcl.XTcl_DStringAppendElement(tls, bp+112 /* &str */, zSql) + tcl.XTcl_DStringAppendElement(tls, bp+112 /* &str */, bp+8 /* &zTm[0] */) + tcl.XTcl_Eval(tls, (*SqliteDb)(unsafe.Pointer(pDb)).Finterp, (*Tcl_DString)(unsafe.Pointer(bp+112 /* &str */)).Fstring) + tcl.XTcl_DStringFree(tls, bp+112 /* &str */) tcl.XTcl_ResetResult(tls, (*SqliteDb)(unsafe.Pointer(pDb)).Finterp) } @@ -83953,15 +83953,15 @@ func DbWalHandler(tls *libc.TLS, clientData uintptr, db uintptr, zDb uintptr, nE } func setTestUnlockNotifyVars(tls *libc.TLS, interp uintptr, iArg int32, nArg int32) { /* tclsqlite.c:787:13: */ - bp := tls.Alloc(96) - defer tls.Free(96) + bp := tls.Alloc(80) + defer tls.Free(80) - // var zBuf [64]int8 at bp+32, 64 + // var zBuf [64]int8 at bp+16, 64 - sqlite3.Xsqlite3_snprintf(tls, int32(unsafe.Sizeof([64]int8{})), bp+32 /* &zBuf[0] */, ts+1238 /* "%d" */, libc.VaList(bp, iArg)) - tcl.XTcl_SetVar2(tls, interp, ts+11359 /* "sqlite_unlock_no..." */, uintptr(0), bp+32 /* &zBuf[0] */, TCL_GLOBAL_ONLY) - sqlite3.Xsqlite3_snprintf(tls, int32(unsafe.Sizeof([64]int8{})), bp+32 /* &zBuf[0] */, ts+1238 /* "%d" */, libc.VaList(bp+16, nArg)) - tcl.XTcl_SetVar2(tls, interp, ts+11384 /* "sqlite_unlock_no..." */, uintptr(0), bp+32 /* &zBuf[0] */, TCL_GLOBAL_ONLY) + sqlite3.Xsqlite3_snprintf(tls, int32(unsafe.Sizeof([64]int8{})), bp+16 /* &zBuf[0] */, ts+1238 /* "%d" */, libc.VaList(bp, iArg)) + tcl.XTcl_SetVar2(tls, interp, ts+11359 /* "sqlite_unlock_no..." */, uintptr(0), bp+16 /* &zBuf[0] */, TCL_GLOBAL_ONLY) + sqlite3.Xsqlite3_snprintf(tls, int32(unsafe.Sizeof([64]int8{})), bp+16 /* &zBuf[0] */, ts+1238 /* "%d" */, libc.VaList(bp+8, nArg)) + tcl.XTcl_SetVar2(tls, interp, ts+11384 /* "sqlite_unlock_no..." */, uintptr(0), bp+16 /* &zBuf[0] */, TCL_GLOBAL_ONLY) } func DbUnlockNotify(tls *libc.TLS, apArg uintptr, nArg int32) { /* tclsqlite.c:799:13: */ @@ -84490,8 +84490,8 @@ func local_getline(tls *libc.TLS, zPrompt uintptr, in uintptr) uintptr { /* tcls // It is invoked after evaluating the script SCRIPT to commit or rollback // the transaction or savepoint opened by the [transaction] command. func DbTransPostCmd(tls *libc.TLS, data uintptr, interp uintptr, result int32) int32 { /* tclsqlite.c:1211:26: */ - bp := tls.Alloc(24) - defer tls.Free(24) + bp := tls.Alloc(16) + defer tls.Free(16) var pDb uintptr = *(*ClientData)(unsafe.Pointer(data)) var rc int32 = result @@ -85211,49 +85211,49 @@ func DbHookCmd(tls *libc.TLS, interp uintptr, pDb uintptr, pArg uintptr, ppHook // and calls that connection "db1". The second command causes this // subroutine to be invoked. func DbObjCmd(tls *libc.TLS, cd uintptr, interp uintptr, objc int32, objv uintptr) int32 { /* tclsqlite.c:1907:26: */ - bp := tls.Alloc(1980) - defer tls.Free(1980) - *(*uintptr)(unsafe.Pointer(bp + 1856)) = cd + bp := tls.Alloc(1580) + defer tls.Free(1580) + *(*uintptr)(unsafe.Pointer(bp + 1456)) = cd var pDb uintptr - // var choice int32 at bp+1416, 4 + // var choice int32 at bp+1016, 4 var rc int32 var zAuth uintptr - // var len int32 at bp+1420, 4 + // var len int32 at bp+1020, 4 var zDestFile uintptr var zSrcDb uintptr - // var pDest uintptr at bp+1424, 8 + // var pDest uintptr at bp+1024, 8 var pBackup uintptr var zCallback uintptr - // var len1 int32 at bp+1432, 4 + // var len1 int32 at bp+1032, 4 var zBusy uintptr - // var len2 int32 at bp+1436, 4 + // var len2 int32 at bp+1036, 4 var subCmd uintptr - // var n int32 at bp+1440, 4 + // var n int32 at bp+1040, 4 var pResult uintptr var pCollate uintptr var zName uintptr var zScript uintptr - // var nScript int32 at bp+1444, 4 + // var nScript int32 at bp+1044, 4 var _objPtr uintptr var zCommit uintptr - // var len3 int32 at bp+1448, 4 + // var len3 int32 at bp+1048, 4 var pResult1 uintptr var isComplete int32 - // var v int32 at bp+1452, 4 + // var v int32 at bp+1052, 4 var zOpt uintptr - // var onoff int32 at bp+1456, 4 + // var onoff int32 at bp+1056, 4 - // var v1 int32 at bp+1460, 4 + // var v1 int32 at bp+1060, 4 var pResult2 uintptr var ii int32 @@ -85263,7 +85263,7 @@ func DbObjCmd(tls *libc.TLS, cd uintptr, interp uintptr, objc int32, objv uintpt var zTable uintptr // Insert data into this table var zFile uintptr // The file from which to extract data var zConflict uintptr // The conflict algorithm to use - // var pStmt uintptr at bp+1464, 8 + // var pStmt uintptr at bp+1064, 8 // A statement var nCol int32 // Number of columns in the table var nByte int32 // Number of bytes in an SQL string @@ -85277,7 +85277,7 @@ func DbObjCmd(tls *libc.TLS, cd uintptr, interp uintptr, objc int32, objv uintpt var zCommit1 uintptr // How to commit changes var in uintptr // The input file var lineno int32 // Line number of input file - // var zLineNum [80]int8 at bp+1472, 80 + // var zLineNum [80]int8 at bp+1072, 80 // Line number print buffer var pResult3 uintptr // interp result @@ -85289,32 +85289,32 @@ func DbObjCmd(tls *libc.TLS, cd uintptr, interp uintptr, objc int32, objv uintpt var pValue uintptr var pBA uintptr var pData uintptr - // var len4 int32 at bp+1564, 4 + // var len4 int32 at bp+1164, 4 var xrc int32 - // var mxSize sqlite3_int64 at bp+1552, 8 + // var mxSize sqlite3_int64 at bp+1152, 8 var i1 int32 - // var isReadonly int32 at bp+1560, 4 + // var isReadonly int32 at bp+1160, 4 var pResult4 uintptr - // var sEval DbEvalContext at bp+1568, 56 + // var sEval DbEvalContext at bp+1168, 56 var i2 int32 - // var nCol1 int32 at bp+1680, 4 + // var nCol1 int32 at bp+1280, 4 var _objPtr1 uintptr - // var sEval1 DbEvalContext at bp+1624, 56 + // var sEval1 DbEvalContext at bp+1224, 56 var pRet uintptr - // var cd2 [2]ClientData at bp+1688, 16 + // var cd2 [2]ClientData at bp+1288, 16 var p uintptr var pArray uintptr var pScript uintptr var evalFlags int32 var zOpt1 uintptr - // var azType [6]uintptr at bp+1712, 48 + // var azType [6]uintptr at bp+1312, 48 var z2 uintptr var n1 int32 @@ -85323,64 +85323,64 @@ func DbObjCmd(tls *libc.TLS, cd uintptr, interp uintptr, objc int32, objv uintpt var pFunc uintptr var pScript1 uintptr var zName1 uintptr - // var nArg int32 at bp+1704, 4 + // var nArg int32 at bp+1304, 4 var i3 int32 - // var eType int32 at bp+1760, 4 + // var eType int32 at bp+1360, 4 var isReadonly1 int32 var zDb uintptr var zTable1 uintptr var zColumn uintptr - // var iRow Tcl_WideInt at bp+1768, 8 + // var iRow Tcl_WideInt at bp+1368, 8 - // var len5 int32 at bp+1776, 4 + // var len5 int32 at bp+1376, 4 var zNull1 uintptr var pResult5 uintptr var rowid Tcl_WideInt var zProgress uintptr - // var len6 int32 at bp+1784, 4 + // var len6 int32 at bp+1384, 4 - // var N int32 at bp+1780, 4 + // var N int32 at bp+1380, 4 var zProfile uintptr - // var len7 int32 at bp+1788, 4 + // var len7 int32 at bp+1388, 4 var zSrcFile uintptr var zDestDb uintptr - // var pSrc uintptr at bp+1792, 8 + // var pSrc uintptr at bp+1392, 8 var pBackup1 uintptr var nTimeout int32 var needFree int32 var zSchema1 uintptr - // var sz sqlite3_int64 at bp+1800, 8 + // var sz sqlite3_int64 at bp+1400, 8 var pData1 uintptr var v2 int32 var zOp uintptr - // var ms int32 at bp+1808, 4 + // var ms int32 at bp+1408, 4 var pResult6 uintptr var zTrace uintptr - // var len8 int32 at bp+1812, 4 + // var len8 int32 at bp+1412, 4 var _objPtr3 uintptr var _objPtr4 uintptr - // var wType Tcl_WideInt at bp+1840, 8 + // var wType Tcl_WideInt at bp+1440, 8 var pError uintptr - // var pObj uintptr at bp+1824, 8 + // var pObj uintptr at bp+1424, 8 - // var ttype int32 at bp+1832, 4 + // var ttype int32 at bp+1432, 4 var i4 int32 var zTraceV2 uintptr - // var len9 int32 at bp+1816, 4 + // var len9 int32 at bp+1416, 4 var wMask Tcl_WideInt - // var ttype1 int32 at bp+1848, 4 + // var ttype1 int32 at bp+1448, 4 var pScript2 uintptr var zBegin uintptr @@ -85390,20 +85390,20 @@ func DbObjCmd(tls *libc.TLS, cd uintptr, interp uintptr, objc int32, objv uintpt var nCol2 int32 var pRet1 uintptr var pObj1 uintptr - // var iIdx int32 at bp+1868, 4 + // var iIdx int32 at bp+1468, 4 - // var pValue1 uintptr at bp+1872, 8 + // var pValue1 uintptr at bp+1472, 8 - // var iSub int32 at bp+1864, 4 + // var iSub int32 at bp+1464, 4 // set ppHook to point at pUpdateHook or pRollbackHook, depending on // whether [$db update_hook] or [$db rollback_hook] was invoked. var ppHook uintptr - // var zBuf [100]int8 at bp+1880, 100 + // var zBuf [100]int8 at bp+1480, 100 var zArg uintptr var i5 int32 - pDb = *(*uintptr)(unsafe.Pointer(bp + 1856 /* cd */)) + pDb = *(*uintptr)(unsafe.Pointer(bp + 1456 /* cd */)) rc = TCL_OK // don't leave trailing commas on DB_enum, it confuses the AIX xlc compiler @@ -85414,14 +85414,14 @@ func DbObjCmd(tls *libc.TLS, cd uintptr, interp uintptr, objc int32, objv uintpt return TCL_ERROR __1: ; - if !(tcl.XTcl_GetIndexFromObjStruct(tls, interp, *(*uintptr)(unsafe.Pointer(objv + 1*8)), uintptr(unsafe.Pointer(&DB_strs)), int32(unsafe.Sizeof(uintptr(0))), ts+12161 /* "option" */, 0, bp+1416 /* &choice */) != 0) { + if !(tcl.XTcl_GetIndexFromObjStruct(tls, interp, *(*uintptr)(unsafe.Pointer(objv + 1*8)), uintptr(unsafe.Pointer(&DB_strs)), int32(unsafe.Sizeof(uintptr(0))), ts+12161 /* "option" */, 0, bp+1016 /* &choice */) != 0) { goto __2 } return TCL_ERROR __2: ; - switch uint32(*(*int32)(unsafe.Pointer(bp + 1416 /* choice */))) { + switch uint32(*(*int32)(unsafe.Pointer(bp + 1016 /* choice */))) { // $db authorizer ?CALLBACK? // @@ -85793,12 +85793,12 @@ __47: tcl.XTcl_Free(tls, (*SqliteDb)(unsafe.Pointer(pDb)).FzAuth) __50: ; - zAuth = tcl.XTcl_GetStringFromObj(tls, *(*uintptr)(unsafe.Pointer(objv + 2*8)), bp+1420 /* &len */) - if !((zAuth != 0) && (*(*int32)(unsafe.Pointer(bp + 1420 /* len */)) > 0)) { + zAuth = tcl.XTcl_GetStringFromObj(tls, *(*uintptr)(unsafe.Pointer(objv + 2*8)), bp+1020 /* &len */) + if !((zAuth != 0) && (*(*int32)(unsafe.Pointer(bp + 1020 /* len */)) > 0)) { goto __51 } - (*SqliteDb)(unsafe.Pointer(pDb)).FzAuth = tcl.XTcl_Alloc(tls, (uint32(*(*int32)(unsafe.Pointer(bp + 1420 /* len */)) + 1))) - libc.Xmemcpy(tls, (*SqliteDb)(unsafe.Pointer(pDb)).FzAuth, zAuth, (uint64(*(*int32)(unsafe.Pointer(bp + 1420 /* len */)) + 1))) + (*SqliteDb)(unsafe.Pointer(pDb)).FzAuth = tcl.XTcl_Alloc(tls, (uint32(*(*int32)(unsafe.Pointer(bp + 1020 /* len */)) + 1))) + libc.Xmemcpy(tls, (*SqliteDb)(unsafe.Pointer(pDb)).FzAuth, zAuth, (uint64(*(*int32)(unsafe.Pointer(bp + 1020 /* len */)) + 1))) goto __52 __51: (*SqliteDb)(unsafe.Pointer(pDb)).FzAuth = uintptr(0) @@ -85849,24 +85849,24 @@ __58: ; __56: ; - rc = sqlite3.Xsqlite3_open_v2(tls, zDestFile, bp+1424, /* &pDest */ + rc = sqlite3.Xsqlite3_open_v2(tls, zDestFile, bp+1024, /* &pDest */ ((SQLITE_OPEN_READWRITE | SQLITE_OPEN_CREATE) | (*SqliteDb)(unsafe.Pointer(pDb)).FopenFlags), uintptr(0)) if !(rc != SQLITE_OK) { goto __59 } - tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp+24, ts+12199, /* "cannot open targ..." */ - sqlite3.Xsqlite3_errmsg(tls, *(*uintptr)(unsafe.Pointer(bp + 1424 /* pDest */))), uintptr(0))) - sqlite3.Xsqlite3_close(tls, *(*uintptr)(unsafe.Pointer(bp + 1424 /* pDest */))) + tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp+16, ts+12199, /* "cannot open targ..." */ + sqlite3.Xsqlite3_errmsg(tls, *(*uintptr)(unsafe.Pointer(bp + 1024 /* pDest */))), uintptr(0))) + sqlite3.Xsqlite3_close(tls, *(*uintptr)(unsafe.Pointer(bp + 1024 /* pDest */))) return TCL_ERROR __59: ; - pBackup = sqlite3.Xsqlite3_backup_init(tls, *(*uintptr)(unsafe.Pointer(bp + 1424 /* pDest */)), ts+85 /* "main" */, (*SqliteDb)(unsafe.Pointer(pDb)).Fdb, zSrcDb) + pBackup = sqlite3.Xsqlite3_backup_init(tls, *(*uintptr)(unsafe.Pointer(bp + 1024 /* pDest */)), ts+85 /* "main" */, (*SqliteDb)(unsafe.Pointer(pDb)).Fdb, zSrcDb) if !(pBackup == uintptr(0)) { goto __60 } - tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp+56, ts+12229, /* "backup failed: " */ - sqlite3.Xsqlite3_errmsg(tls, *(*uintptr)(unsafe.Pointer(bp + 1424 /* pDest */))), uintptr(0))) - sqlite3.Xsqlite3_close(tls, *(*uintptr)(unsafe.Pointer(bp + 1424 /* pDest */))) + tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp+40, ts+12229, /* "backup failed: " */ + sqlite3.Xsqlite3_errmsg(tls, *(*uintptr)(unsafe.Pointer(bp + 1024 /* pDest */))), uintptr(0))) + sqlite3.Xsqlite3_close(tls, *(*uintptr)(unsafe.Pointer(bp + 1024 /* pDest */))) return TCL_ERROR __60: ; @@ -85884,12 +85884,12 @@ __62: rc = TCL_OK goto __64 __63: - tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp+88, ts+12229, /* "backup failed: " */ - sqlite3.Xsqlite3_errmsg(tls, *(*uintptr)(unsafe.Pointer(bp + 1424 /* pDest */))), uintptr(0))) + tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp+64, ts+12229, /* "backup failed: " */ + sqlite3.Xsqlite3_errmsg(tls, *(*uintptr)(unsafe.Pointer(bp + 1024 /* pDest */))), uintptr(0))) rc = TCL_ERROR __64: ; - sqlite3.Xsqlite3_close(tls, *(*uintptr)(unsafe.Pointer(bp + 1424 /* pDest */))) + sqlite3.Xsqlite3_close(tls, *(*uintptr)(unsafe.Pointer(bp + 1024 /* pDest */))) goto __3 // $db bind_fallback ?CALLBACK? @@ -85923,7 +85923,7 @@ __65: if !((*SqliteDb)(unsafe.Pointer(pDb)).FzBindFallback != 0) { goto __69 } - tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp+120, (*SqliteDb)(unsafe.Pointer(pDb)).FzBindFallback, uintptr(0))) + tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp+88, (*SqliteDb)(unsafe.Pointer(pDb)).FzBindFallback, uintptr(0))) __69: ; goto __68 @@ -85934,12 +85934,12 @@ __67: tcl.XTcl_Free(tls, (*SqliteDb)(unsafe.Pointer(pDb)).FzBindFallback) __70: ; - zCallback = tcl.XTcl_GetStringFromObj(tls, *(*uintptr)(unsafe.Pointer(objv + 2*8)), bp+1432 /* &len1 */) - if !((zCallback != 0) && (*(*int32)(unsafe.Pointer(bp + 1432 /* len1 */)) > 0)) { + zCallback = tcl.XTcl_GetStringFromObj(tls, *(*uintptr)(unsafe.Pointer(objv + 2*8)), bp+1032 /* &len1 */) + if !((zCallback != 0) && (*(*int32)(unsafe.Pointer(bp + 1032 /* len1 */)) > 0)) { goto __71 } - (*SqliteDb)(unsafe.Pointer(pDb)).FzBindFallback = tcl.XTcl_Alloc(tls, (uint32(*(*int32)(unsafe.Pointer(bp + 1432 /* len1 */)) + 1))) - libc.Xmemcpy(tls, (*SqliteDb)(unsafe.Pointer(pDb)).FzBindFallback, zCallback, (uint64(*(*int32)(unsafe.Pointer(bp + 1432 /* len1 */)) + 1))) + (*SqliteDb)(unsafe.Pointer(pDb)).FzBindFallback = tcl.XTcl_Alloc(tls, (uint32(*(*int32)(unsafe.Pointer(bp + 1032 /* len1 */)) + 1))) + libc.Xmemcpy(tls, (*SqliteDb)(unsafe.Pointer(pDb)).FzBindFallback, zCallback, (uint64(*(*int32)(unsafe.Pointer(bp + 1032 /* len1 */)) + 1))) goto __72 __71: (*SqliteDb)(unsafe.Pointer(pDb)).FzBindFallback = uintptr(0) @@ -85969,7 +85969,7 @@ __73: if !((*SqliteDb)(unsafe.Pointer(pDb)).FzBusy != 0) { goto __77 } - tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp+144, (*SqliteDb)(unsafe.Pointer(pDb)).FzBusy, uintptr(0))) + tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp+104, (*SqliteDb)(unsafe.Pointer(pDb)).FzBusy, uintptr(0))) __77: ; goto __76 @@ -85980,12 +85980,12 @@ __75: tcl.XTcl_Free(tls, (*SqliteDb)(unsafe.Pointer(pDb)).FzBusy) __78: ; - zBusy = tcl.XTcl_GetStringFromObj(tls, *(*uintptr)(unsafe.Pointer(objv + 2*8)), bp+1436 /* &len2 */) - if !((zBusy != 0) && (*(*int32)(unsafe.Pointer(bp + 1436 /* len2 */)) > 0)) { + zBusy = tcl.XTcl_GetStringFromObj(tls, *(*uintptr)(unsafe.Pointer(objv + 2*8)), bp+1036 /* &len2 */) + if !((zBusy != 0) && (*(*int32)(unsafe.Pointer(bp + 1036 /* len2 */)) > 0)) { goto __79 } - (*SqliteDb)(unsafe.Pointer(pDb)).FzBusy = tcl.XTcl_Alloc(tls, (uint32(*(*int32)(unsafe.Pointer(bp + 1436 /* len2 */)) + 1))) - libc.Xmemcpy(tls, (*SqliteDb)(unsafe.Pointer(pDb)).FzBusy, zBusy, (uint64(*(*int32)(unsafe.Pointer(bp + 1436 /* len2 */)) + 1))) + (*SqliteDb)(unsafe.Pointer(pDb)).FzBusy = tcl.XTcl_Alloc(tls, (uint32(*(*int32)(unsafe.Pointer(bp + 1036 /* len2 */)) + 1))) + libc.Xmemcpy(tls, (*SqliteDb)(unsafe.Pointer(pDb)).FzBusy, zBusy, (uint64(*(*int32)(unsafe.Pointer(bp + 1036 /* len2 */)) + 1))) goto __80 __79: (*SqliteDb)(unsafe.Pointer(pDb)).FzBusy = uintptr(0) @@ -86049,37 +86049,37 @@ __84: return TCL_ERROR goto __91 __90: - if !(TCL_ERROR == tcl.XTcl_GetIntFromObj(tls, interp, *(*uintptr)(unsafe.Pointer(objv + 3*8)), bp+1440 /* &n */)) { + if !(TCL_ERROR == tcl.XTcl_GetIntFromObj(tls, interp, *(*uintptr)(unsafe.Pointer(objv + 3*8)), bp+1040 /* &n */)) { goto __92 } - tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp+168, ts+12291, /* "cannot convert \"" */ + tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp+120, ts+12291, /* "cannot convert \"" */ tcl.XTcl_GetStringFromObj(tls, *(*uintptr)(unsafe.Pointer(objv + 3*8)), uintptr(0)), ts+12308 /* "\" to integer" */, uintptr(0))) return TCL_ERROR goto __93 __92: - if !(*(*int32)(unsafe.Pointer(bp + 1440 /* n */)) < 0) { + if !(*(*int32)(unsafe.Pointer(bp + 1040 /* n */)) < 0) { goto __94 } flushStmtCache(tls, pDb) - *(*int32)(unsafe.Pointer(bp + 1440 /* n */)) = 0 + *(*int32)(unsafe.Pointer(bp + 1040 /* n */)) = 0 goto __95 __94: - if !(*(*int32)(unsafe.Pointer(bp + 1440 /* n */)) > MAX_PREPARED_STMTS) { + if !(*(*int32)(unsafe.Pointer(bp + 1040 /* n */)) > MAX_PREPARED_STMTS) { goto __96 } - *(*int32)(unsafe.Pointer(bp + 1440 /* n */)) = MAX_PREPARED_STMTS + *(*int32)(unsafe.Pointer(bp + 1040 /* n */)) = MAX_PREPARED_STMTS __96: ; __95: ; - (*SqliteDb)(unsafe.Pointer(pDb)).FmaxStmt = *(*int32)(unsafe.Pointer(bp + 1440 /* n */)) + (*SqliteDb)(unsafe.Pointer(pDb)).FmaxStmt = *(*int32)(unsafe.Pointer(bp + 1040 /* n */)) __93: ; __91: ; goto __89 __88: - tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp+208, ts+12321, /* "bad option \"" */ + tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp+152, ts+12321, /* "bad option \"" */ tcl.XTcl_GetStringFromObj(tls, *(*uintptr)(unsafe.Pointer(objv + 2*8)), uintptr(0)), ts+12334, /* "\": must be flush..." */ uintptr(0))) return TCL_ERROR @@ -86126,8 +86126,8 @@ __11: __98: ; zName = tcl.XTcl_GetStringFromObj(tls, *(*uintptr)(unsafe.Pointer(objv + 2*8)), uintptr(0)) - zScript = tcl.XTcl_GetStringFromObj(tls, *(*uintptr)(unsafe.Pointer(objv + 3*8)), bp+1444 /* &nScript */) - pCollate = tcl.XTcl_Alloc(tls, (uint32((uint64(unsafe.Sizeof(SqlCollate{})) + uint64(*(*int32)(unsafe.Pointer(bp + 1444 /* nScript */)))) + uint64(1)))) + zScript = tcl.XTcl_GetStringFromObj(tls, *(*uintptr)(unsafe.Pointer(objv + 3*8)), bp+1044 /* &nScript */) + pCollate = tcl.XTcl_Alloc(tls, (uint32((uint64(unsafe.Sizeof(SqlCollate{})) + uint64(*(*int32)(unsafe.Pointer(bp + 1044 /* nScript */)))) + uint64(1)))) if !(pCollate == uintptr(0)) { goto __99 } @@ -86138,7 +86138,7 @@ __99: (*SqlCollate)(unsafe.Pointer(pCollate)).FpNext = (*SqliteDb)(unsafe.Pointer(pDb)).FpCollate (*SqlCollate)(unsafe.Pointer(pCollate)).FzScript = (pCollate + 1*24) (*SqliteDb)(unsafe.Pointer(pDb)).FpCollate = pCollate - libc.Xmemcpy(tls, (*SqlCollate)(unsafe.Pointer(pCollate)).FzScript, zScript, (uint64(*(*int32)(unsafe.Pointer(bp + 1444 /* nScript */)) + 1))) + libc.Xmemcpy(tls, (*SqlCollate)(unsafe.Pointer(pCollate)).FzScript, zScript, (uint64(*(*int32)(unsafe.Pointer(bp + 1044 /* nScript */)) + 1))) if !(sqlite3.Xsqlite3_create_collation(tls, (*SqliteDb)(unsafe.Pointer(pDb)).Fdb, zName, SQLITE_UTF8, pCollate, *(*uintptr)(unsafe.Pointer(&struct { f func(*libc.TLS, uintptr, int32, uintptr, int32, uintptr) int32 @@ -86211,7 +86211,7 @@ __107: if !((*SqliteDb)(unsafe.Pointer(pDb)).FzCommit != 0) { goto __111 } - tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp+248, (*SqliteDb)(unsafe.Pointer(pDb)).FzCommit, uintptr(0))) + tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp+184, (*SqliteDb)(unsafe.Pointer(pDb)).FzCommit, uintptr(0))) __111: ; goto __110 @@ -86222,12 +86222,12 @@ __109: tcl.XTcl_Free(tls, (*SqliteDb)(unsafe.Pointer(pDb)).FzCommit) __112: ; - zCommit = tcl.XTcl_GetStringFromObj(tls, *(*uintptr)(unsafe.Pointer(objv + 2*8)), bp+1448 /* &len3 */) - if !((zCommit != 0) && (*(*int32)(unsafe.Pointer(bp + 1448 /* len3 */)) > 0)) { + zCommit = tcl.XTcl_GetStringFromObj(tls, *(*uintptr)(unsafe.Pointer(objv + 2*8)), bp+1048 /* &len3 */) + if !((zCommit != 0) && (*(*int32)(unsafe.Pointer(bp + 1048 /* len3 */)) > 0)) { goto __113 } - (*SqliteDb)(unsafe.Pointer(pDb)).FzCommit = tcl.XTcl_Alloc(tls, (uint32(*(*int32)(unsafe.Pointer(bp + 1448 /* len3 */)) + 1))) - libc.Xmemcpy(tls, (*SqliteDb)(unsafe.Pointer(pDb)).FzCommit, zCommit, (uint64(*(*int32)(unsafe.Pointer(bp + 1448 /* len3 */)) + 1))) + (*SqliteDb)(unsafe.Pointer(pDb)).FzCommit = tcl.XTcl_Alloc(tls, (uint32(*(*int32)(unsafe.Pointer(bp + 1048 /* len3 */)) + 1))) + libc.Xmemcpy(tls, (*SqliteDb)(unsafe.Pointer(pDb)).FzCommit, zCommit, (uint64(*(*int32)(unsafe.Pointer(bp + 1048 /* len3 */)) + 1))) goto __114 __113: (*SqliteDb)(unsafe.Pointer(pDb)).FzCommit = uintptr(0) @@ -86292,12 +86292,12 @@ __121: if !(uint64(ii) < (uint64(unsafe.Sizeof(aDbConfig)) / uint64(unsafe.Sizeof(DbConfigChoices{})))) { goto __123 } - *(*int32)(unsafe.Pointer(bp + 1452 /* v */)) = 0 - sqlite3.Xsqlite3_db_config(tls, (*SqliteDb)(unsafe.Pointer(pDb)).Fdb, aDbConfig[ii].Fop, libc.VaList(bp+272, -1, bp+1452 /* &v */)) + *(*int32)(unsafe.Pointer(bp + 1052 /* v */)) = 0 + sqlite3.Xsqlite3_db_config(tls, (*SqliteDb)(unsafe.Pointer(pDb)).Fdb, aDbConfig[ii].Fop, libc.VaList(bp+200, -1, bp+1052 /* &v */)) tcl.XTcl_ListObjAppendElement(tls, interp, pResult2, tcl.XTcl_NewStringObj(tls, aDbConfig[ii].FzName, -1)) tcl.XTcl_ListObjAppendElement(tls, interp, pResult2, - tcl.XTcl_NewIntObj(tls, *(*int32)(unsafe.Pointer(bp + 1452 /* v */)))) + tcl.XTcl_NewIntObj(tls, *(*int32)(unsafe.Pointer(bp + 1052 /* v */)))) goto __122 __122: ii++ @@ -86308,8 +86308,8 @@ __123: goto __120 __119: zOpt = tcl.XTcl_GetString(tls, *(*uintptr)(unsafe.Pointer(objv + 2*8))) - *(*int32)(unsafe.Pointer(bp + 1456 /* onoff */)) = -1 - *(*int32)(unsafe.Pointer(bp + 1460 /* v1 */)) = 0 + *(*int32)(unsafe.Pointer(bp + 1056 /* onoff */)) = -1 + *(*int32)(unsafe.Pointer(bp + 1060 /* v1 */)) = 0 if !(int32(*(*int8)(unsafe.Pointer(zOpt))) == '-') { goto __124 } @@ -86337,7 +86337,7 @@ __127: if !(uint64(ii) >= (uint64(unsafe.Sizeof(aDbConfig)) / uint64(unsafe.Sizeof(DbConfigChoices{})))) { goto __129 } - tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp+296, ts+12390 /* "unknown config o..." */, zOpt, + tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp+216, ts+12390 /* "unknown config o..." */, zOpt, ts+12415 /* "\"" */, uintptr(0))) return TCL_ERROR __129: @@ -86345,7 +86345,7 @@ __129: if !(objc == 4) { goto __130 } - if !(tcl.XTcl_GetBooleanFromObj(tls, interp, *(*uintptr)(unsafe.Pointer(objv + 3*8)), bp+1456 /* &onoff */) != 0) { + if !(tcl.XTcl_GetBooleanFromObj(tls, interp, *(*uintptr)(unsafe.Pointer(objv + 3*8)), bp+1056 /* &onoff */) != 0) { goto __131 } return TCL_ERROR @@ -86353,8 +86353,8 @@ __131: ; __130: ; - sqlite3.Xsqlite3_db_config(tls, (*SqliteDb)(unsafe.Pointer(pDb)).Fdb, aDbConfig[ii].Fop, libc.VaList(bp+336, *(*int32)(unsafe.Pointer(bp + 1456 /* onoff */)), bp+1460 /* &v1 */)) - pResult2 = tcl.XTcl_NewIntObj(tls, *(*int32)(unsafe.Pointer(bp + 1460 /* v1 */))) + sqlite3.Xsqlite3_db_config(tls, (*SqliteDb)(unsafe.Pointer(pDb)).Fdb, aDbConfig[ii].Fop, libc.VaList(bp+248, *(*int32)(unsafe.Pointer(bp + 1056 /* onoff */)), bp+1060 /* &v1 */)) + pResult2 = tcl.XTcl_NewIntObj(tls, *(*int32)(unsafe.Pointer(bp + 1060 /* v1 */))) __120: ; tcl.XTcl_SetObjResult(tls, interp, pResult2) @@ -86412,7 +86412,7 @@ __136: if !(nSep == 0) { goto __137 } - tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp+360, ts+12481, /* "Error: non-null ..." */ + tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp+264, ts+12481, /* "Error: non-null ..." */ uintptr(0))) return TCL_ERROR __137: @@ -86420,34 +86420,34 @@ __137: if !(((((libc.Xstrcmp(tls, zConflict, ts+12525 /* "rollback" */) != 0) && (libc.Xstrcmp(tls, zConflict, ts+12534 /* "abort" */) != 0)) && (libc.Xstrcmp(tls, zConflict, ts+12540 /* "fail" */) != 0)) && (libc.Xstrcmp(tls, zConflict, ts+12545 /* "ignore" */) != 0)) && (libc.Xstrcmp(tls, zConflict, ts+12552 /* "replace" */) != 0)) { goto __138 } - tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp+384, ts+12560 /* "Error: \"" */, zConflict, + tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp+280, ts+12560 /* "Error: \"" */, zConflict, ts+12569 /* "\", conflict-algo..." */, uintptr(0))) return TCL_ERROR __138: ; - zSql = sqlite3.Xsqlite3_mprintf(tls, ts+12649 /* "SELECT * FROM '%..." */, libc.VaList(bp+424, zTable)) + zSql = sqlite3.Xsqlite3_mprintf(tls, ts+12649 /* "SELECT * FROM '%..." */, libc.VaList(bp+312, zTable)) if !(zSql == uintptr(0)) { goto __139 } - tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp+440, ts+12668 /* "Error: no such t..." */, zTable, uintptr(0))) + tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp+320, ts+12668 /* "Error: no such t..." */, zTable, uintptr(0))) return TCL_ERROR __139: ; nByte = strlen30(tls, zSql) - rc = sqlite3.Xsqlite3_prepare(tls, (*SqliteDb)(unsafe.Pointer(pDb)).Fdb, zSql, -1, bp+1464 /* &pStmt */, uintptr(0)) + rc = sqlite3.Xsqlite3_prepare(tls, (*SqliteDb)(unsafe.Pointer(pDb)).Fdb, zSql, -1, bp+1064 /* &pStmt */, uintptr(0)) sqlite3.Xsqlite3_free(tls, zSql) if !(rc != 0) { goto __140 } - tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp+472, ts+12691 /* "Error: " */, sqlite3.Xsqlite3_errmsg(tls, (*SqliteDb)(unsafe.Pointer(pDb)).Fdb), uintptr(0))) + tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp+344, ts+12691 /* "Error: " */, sqlite3.Xsqlite3_errmsg(tls, (*SqliteDb)(unsafe.Pointer(pDb)).Fdb), uintptr(0))) nCol = 0 goto __141 __140: - nCol = sqlite3.Xsqlite3_column_count(tls, *(*uintptr)(unsafe.Pointer(bp + 1464 /* pStmt */))) + nCol = sqlite3.Xsqlite3_column_count(tls, *(*uintptr)(unsafe.Pointer(bp + 1064 /* pStmt */))) __141: ; - sqlite3.Xsqlite3_finalize(tls, *(*uintptr)(unsafe.Pointer(bp + 1464 /* pStmt */))) + sqlite3.Xsqlite3_finalize(tls, *(*uintptr)(unsafe.Pointer(bp + 1064 /* pStmt */))) if !(nCol == 0) { goto __142 } @@ -86458,12 +86458,12 @@ __142: if !(zSql == uintptr(0)) { goto __143 } - tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp+504, ts+12699 /* "Error: can't mal..." */, uintptr(0))) + tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp+368, ts+12699 /* "Error: can't mal..." */, uintptr(0))) return TCL_ERROR __143: ; sqlite3.Xsqlite3_snprintf(tls, (nByte + 50), zSql, ts+12721, /* "INSERT OR %q INT..." */ - libc.VaList(bp+528, zConflict, zTable)) + libc.VaList(bp+384, zConflict, zTable)) j = strlen30(tls, zSql) i = 1 __144: @@ -86481,13 +86481,13 @@ __146: ; *(*int8)(unsafe.Pointer(zSql + uintptr(libc.PostIncInt32(&j, 1)))) = int8(')') *(*int8)(unsafe.Pointer(zSql + uintptr(j))) = int8(0) - rc = sqlite3.Xsqlite3_prepare(tls, (*SqliteDb)(unsafe.Pointer(pDb)).Fdb, zSql, -1, bp+1464 /* &pStmt */, uintptr(0)) + rc = sqlite3.Xsqlite3_prepare(tls, (*SqliteDb)(unsafe.Pointer(pDb)).Fdb, zSql, -1, bp+1064 /* &pStmt */, uintptr(0)) libc.Xfree(tls, zSql) if !(rc != 0) { goto __147 } - tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp+552, ts+12691 /* "Error: " */, sqlite3.Xsqlite3_errmsg(tls, (*SqliteDb)(unsafe.Pointer(pDb)).Fdb), uintptr(0))) - sqlite3.Xsqlite3_finalize(tls, *(*uintptr)(unsafe.Pointer(bp + 1464 /* pStmt */))) + tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp+400, ts+12691 /* "Error: " */, sqlite3.Xsqlite3_errmsg(tls, (*SqliteDb)(unsafe.Pointer(pDb)).Fdb), uintptr(0))) + sqlite3.Xsqlite3_finalize(tls, *(*uintptr)(unsafe.Pointer(bp + 1064 /* pStmt */))) return TCL_ERROR __147: ; @@ -86495,8 +86495,8 @@ __147: if !(in == uintptr(0)) { goto __148 } - tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp+584, ts+12753 /* "Error: cannot op..." */, zFile, uintptr(0))) - sqlite3.Xsqlite3_finalize(tls, *(*uintptr)(unsafe.Pointer(bp + 1464 /* pStmt */))) + tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp+424, ts+12753 /* "Error: cannot op..." */, zFile, uintptr(0))) + sqlite3.Xsqlite3_finalize(tls, *(*uintptr)(unsafe.Pointer(bp + 1064 /* pStmt */))) return TCL_ERROR __148: ; @@ -86504,7 +86504,7 @@ __148: if !(azCol == uintptr(0)) { goto __149 } - tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp+616, ts+12699 /* "Error: can't mal..." */, uintptr(0))) + tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp+448, ts+12699 /* "Error: can't mal..." */, uintptr(0))) libc.Xfclose(tls, in) return TCL_ERROR __149: @@ -86554,8 +86554,8 @@ __154: } sqlite3.Xsqlite3_snprintf(tls, nErr, zErr, ts+12785, /* "Error: %s line %..." */ - libc.VaList(bp+640, zFile, lineno, nCol, (i+1))) - tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp+680, zErr, uintptr(0))) + libc.VaList(bp+464, zFile, lineno, nCol, (i+1))) + tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp+496, zErr, uintptr(0))) libc.Xfree(tls, zErr) __158: ; @@ -86573,10 +86573,10 @@ __159: (strlen30(tls, *(*uintptr)(unsafe.Pointer(azCol + uintptr(i)*8))) == 0)) { goto __162 } - sqlite3.Xsqlite3_bind_null(tls, *(*uintptr)(unsafe.Pointer(bp + 1464 /* pStmt */)), (i + 1)) + sqlite3.Xsqlite3_bind_null(tls, *(*uintptr)(unsafe.Pointer(bp + 1064 /* pStmt */)), (i + 1)) goto __163 __162: - sqlite3.Xsqlite3_bind_text(tls, *(*uintptr)(unsafe.Pointer(bp + 1464 /* pStmt */)), (i + 1), *(*uintptr)(unsafe.Pointer(azCol + uintptr(i)*8)), -1, uintptr(0)) + sqlite3.Xsqlite3_bind_text(tls, *(*uintptr)(unsafe.Pointer(bp + 1064 /* pStmt */)), (i + 1), *(*uintptr)(unsafe.Pointer(azCol + uintptr(i)*8)), -1, uintptr(0)) __163: ; goto __160 @@ -86586,13 +86586,13 @@ __160: goto __161 __161: ; - sqlite3.Xsqlite3_step(tls, *(*uintptr)(unsafe.Pointer(bp + 1464 /* pStmt */))) - rc = sqlite3.Xsqlite3_reset(tls, *(*uintptr)(unsafe.Pointer(bp + 1464 /* pStmt */))) + sqlite3.Xsqlite3_step(tls, *(*uintptr)(unsafe.Pointer(bp + 1064 /* pStmt */))) + rc = sqlite3.Xsqlite3_reset(tls, *(*uintptr)(unsafe.Pointer(bp + 1064 /* pStmt */))) libc.Xfree(tls, zLine) if !(rc != SQLITE_OK) { goto __164 } - tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp+704, ts+12691 /* "Error: " */, sqlite3.Xsqlite3_errmsg(tls, (*SqliteDb)(unsafe.Pointer(pDb)).Fdb), uintptr(0))) + tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp+512, ts+12691 /* "Error: " */, sqlite3.Xsqlite3_errmsg(tls, (*SqliteDb)(unsafe.Pointer(pDb)).Fdb), uintptr(0))) zCommit1 = ts + 7270 /* "ROLLBACK" */ goto __151 __164: @@ -86602,7 +86602,7 @@ __151: ; libc.Xfree(tls, azCol) libc.Xfclose(tls, in) - sqlite3.Xsqlite3_finalize(tls, *(*uintptr)(unsafe.Pointer(bp + 1464 /* pStmt */))) + sqlite3.Xsqlite3_finalize(tls, *(*uintptr)(unsafe.Pointer(bp + 1064 /* pStmt */))) sqlite3.Xsqlite3_exec(tls, (*SqliteDb)(unsafe.Pointer(pDb)).Fdb, zCommit1, uintptr(0), uintptr(0), uintptr(0)) if !(int32(*(*int8)(unsafe.Pointer(zCommit1))) == 'C') { @@ -86615,8 +86615,8 @@ __151: goto __166 __165: // failure, append lineno where failed - sqlite3.Xsqlite3_snprintf(tls, int32(unsafe.Sizeof([80]int8{})), bp+1472 /* &zLineNum[0] */, ts+1238 /* "%d" */, libc.VaList(bp+736, lineno)) - tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp+752, ts+12845 /* ", failed while p..." */, bp+1472, /* &zLineNum[0] */ + sqlite3.Xsqlite3_snprintf(tls, int32(unsafe.Sizeof([80]int8{})), bp+1072 /* &zLineNum[0] */, ts+1238 /* "%d" */, libc.VaList(bp+536, lineno)) + tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp+544, ts+12845 /* ", failed while p..." */, bp+1072, /* &zLineNum[0] */ uintptr(0))) rc = TCL_ERROR __166: @@ -86629,8 +86629,8 @@ __166: __17: zSchema = uintptr(0) pValue = uintptr(0) - *(*sqlite3_int64)(unsafe.Pointer(bp + 1552 /* mxSize */)) = int64(0) - *(*int32)(unsafe.Pointer(bp + 1560 /* isReadonly */)) = 0 + *(*sqlite3_int64)(unsafe.Pointer(bp + 1152 /* mxSize */)) = int64(0) + *(*int32)(unsafe.Pointer(bp + 1160 /* isReadonly */)) = 0 if !(objc < 3) { goto __167 @@ -86649,7 +86649,7 @@ __168: if !((libc.Xstrcmp(tls, z1, ts+12895 /* "-maxsize" */) == 0) && (i1 < (objc - 2))) { goto __171 } - rc = tcl.XTcl_GetWideIntFromObj(tls, interp, *(*uintptr)(unsafe.Pointer(objv + uintptr(libc.PreIncInt32(&i1, 1))*8)), bp+1552 /* &mxSize */) + rc = tcl.XTcl_GetWideIntFromObj(tls, interp, *(*uintptr)(unsafe.Pointer(objv + uintptr(libc.PreIncInt32(&i1, 1))*8)), bp+1152 /* &mxSize */) if !(rc != 0) { goto __172 } @@ -86662,7 +86662,7 @@ __171: if !((libc.Xstrcmp(tls, z1, ts+12904 /* "-readonly" */) == 0) && (i1 < (objc - 2))) { goto __173 } - rc = tcl.XTcl_GetBooleanFromObj(tls, interp, *(*uintptr)(unsafe.Pointer(objv + uintptr(libc.PreIncInt32(&i1, 1))*8)), bp+1560 /* &isReadonly */) + rc = tcl.XTcl_GetBooleanFromObj(tls, interp, *(*uintptr)(unsafe.Pointer(objv + uintptr(libc.PreIncInt32(&i1, 1))*8)), bp+1160 /* &isReadonly */) if !(rc != 0) { goto __174 } @@ -86679,7 +86679,7 @@ __173: goto __169 __175: ; - tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp+784, ts+12914 /* "unknown option: " */, z1, uintptr(0))) + tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp+568, ts+12914 /* "unknown option: " */, z1, uintptr(0))) rc = TCL_ERROR goto deserialize_error goto __169 @@ -86690,22 +86690,22 @@ __169: __170: ; pValue = *(*uintptr)(unsafe.Pointer(objv + uintptr((objc-1))*8)) - pBA = tcl.XTcl_GetByteArrayFromObj(tls, pValue, bp+1564 /* &len4 */) - pData = sqlite3.Xsqlite3_malloc64(tls, uint64(*(*int32)(unsafe.Pointer(bp + 1564 /* len4 */)))) - if !((pData == uintptr(0)) && (*(*int32)(unsafe.Pointer(bp + 1564 /* len4 */)) > 0)) { + pBA = tcl.XTcl_GetByteArrayFromObj(tls, pValue, bp+1164 /* &len4 */) + pData = sqlite3.Xsqlite3_malloc64(tls, uint64(*(*int32)(unsafe.Pointer(bp + 1164 /* len4 */)))) + if !((pData == uintptr(0)) && (*(*int32)(unsafe.Pointer(bp + 1164 /* len4 */)) > 0)) { goto __176 } - tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp+816, ts+1930 /* "out of memory" */, uintptr(0))) + tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp+592, ts+1930 /* "out of memory" */, uintptr(0))) rc = TCL_ERROR goto __177 __176: - if !(*(*int32)(unsafe.Pointer(bp + 1564 /* len4 */)) > 0) { + if !(*(*int32)(unsafe.Pointer(bp + 1164 /* len4 */)) > 0) { goto __178 } - libc.Xmemcpy(tls, pData, pBA, uint64(*(*int32)(unsafe.Pointer(bp + 1564 /* len4 */)))) + libc.Xmemcpy(tls, pData, pBA, uint64(*(*int32)(unsafe.Pointer(bp + 1164 /* len4 */)))) __178: ; - if !(*(*int32)(unsafe.Pointer(bp + 1560 /* isReadonly */)) != 0) { + if !(*(*int32)(unsafe.Pointer(bp + 1160 /* isReadonly */)) != 0) { goto __179 } flags = (SQLITE_DESERIALIZE_FREEONCLOSE | SQLITE_DESERIALIZE_READONLY) @@ -86714,18 +86714,18 @@ __179: flags = (SQLITE_DESERIALIZE_FREEONCLOSE | SQLITE_DESERIALIZE_RESIZEABLE) __180: ; - xrc = sqlite3.Xsqlite3_deserialize(tls, (*SqliteDb)(unsafe.Pointer(pDb)).Fdb, zSchema, pData, int64(*(*int32)(unsafe.Pointer(bp + 1564 /* len4 */))), int64(*(*int32)(unsafe.Pointer(bp + 1564 /* len4 */))), uint32(flags)) + xrc = sqlite3.Xsqlite3_deserialize(tls, (*SqliteDb)(unsafe.Pointer(pDb)).Fdb, zSchema, pData, int64(*(*int32)(unsafe.Pointer(bp + 1164 /* len4 */))), int64(*(*int32)(unsafe.Pointer(bp + 1164 /* len4 */))), uint32(flags)) if !(xrc != 0) { goto __181 } - tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp+840, ts+12931 /* "unable to set ME..." */, uintptr(0))) + tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp+608, ts+12931 /* "unable to set ME..." */, uintptr(0))) rc = TCL_ERROR __181: ; - if !(*(*sqlite3_int64)(unsafe.Pointer(bp + 1552 /* mxSize */)) > int64(0)) { + if !(*(*sqlite3_int64)(unsafe.Pointer(bp + 1152 /* mxSize */)) > int64(0)) { goto __182 } - sqlite3.Xsqlite3_file_control(tls, (*SqliteDb)(unsafe.Pointer(pDb)).Fdb, zSchema, SQLITE_FCNTL_SIZE_LIMIT, bp+1552 /* &mxSize */) + sqlite3.Xsqlite3_file_control(tls, (*SqliteDb)(unsafe.Pointer(pDb)).Fdb, zSchema, SQLITE_FCNTL_SIZE_LIMIT, bp+1152 /* &mxSize */) __182: ; __177: @@ -86738,7 +86738,7 @@ deserialize_error: // Turn the extension loading feature on or off. It if off by // default. __18: - tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp+864, ts+12959, /* "extension loadin..." */ + tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp+624, ts+12959, /* "extension loadin..." */ uintptr(0))) return TCL_ERROR @@ -86766,15 +86766,15 @@ __21: __183: ; - dbEvalInit(tls, bp+1568 /* &sEval */, pDb, *(*uintptr)(unsafe.Pointer(objv + 2*8)), uintptr(0), 0) - rc = dbEvalStep(tls, bp+1568 /* &sEval */) - if !(*(*int32)(unsafe.Pointer(bp + 1416 /* choice */)) == 23 /* DB_ONECOLUMN */) { + dbEvalInit(tls, bp+1168 /* &sEval */, pDb, *(*uintptr)(unsafe.Pointer(objv + 2*8)), uintptr(0), 0) + rc = dbEvalStep(tls, bp+1168 /* &sEval */) + if !(*(*int32)(unsafe.Pointer(bp + 1016 /* choice */)) == 23 /* DB_ONECOLUMN */) { goto __184 } if !(rc == TCL_OK) { goto __186 } - pResult4 = dbEvalColumnValue(tls, bp+1568 /* &sEval */, 0) + pResult4 = dbEvalColumnValue(tls, bp+1168 /* &sEval */, 0) goto __187 __186: if !(rc == TCL_BREAK) { @@ -86795,7 +86795,7 @@ __189: ; __185: ; - dbEvalFinalize(tls, bp+1568 /* &sEval */) + dbEvalFinalize(tls, bp+1168 /* &sEval */) if !(pResult4 != 0) { goto __190 } @@ -86830,7 +86830,7 @@ __192: evalFlags = evalFlags | (SQLITE_EVAL_WITHOUTNULLS) goto __195 __194: - tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp+888, ts+13021 /* "unknown option: ..." */, zOpt1, ts+12415 /* "\"" */, uintptr(0))) + tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp+640, ts+13021 /* "unknown option: ..." */, zOpt1, ts+12415 /* "\"" */, uintptr(0))) return TCL_ERROR __195: ; @@ -86853,18 +86853,18 @@ __196: } pRet = tcl.XTcl_NewObj(tls) (*Tcl_Obj)(unsafe.Pointer(pRet)).FrefCount++ - dbEvalInit(tls, bp+1624 /* &sEval1 */, pDb, *(*uintptr)(unsafe.Pointer(objv + 2*8)), uintptr(0), 0) + dbEvalInit(tls, bp+1224 /* &sEval1 */, pDb, *(*uintptr)(unsafe.Pointer(objv + 2*8)), uintptr(0), 0) __199: - if !(TCL_OK == (libc.AssignInt32(&rc, dbEvalStep(tls, bp+1624 /* &sEval1 */)))) { + if !(TCL_OK == (libc.AssignInt32(&rc, dbEvalStep(tls, bp+1224 /* &sEval1 */)))) { goto __200 } - dbEvalRowInfo(tls, bp+1624 /* &sEval1 */, bp+1680 /* &nCol1 */, uintptr(0)) + dbEvalRowInfo(tls, bp+1224 /* &sEval1 */, bp+1280 /* &nCol1 */, uintptr(0)) i2 = 0 __201: - if !(i2 < *(*int32)(unsafe.Pointer(bp + 1680 /* nCol1 */))) { + if !(i2 < *(*int32)(unsafe.Pointer(bp + 1280 /* nCol1 */))) { goto __203 } - tcl.XTcl_ListObjAppendElement(tls, interp, pRet, dbEvalColumnValue(tls, bp+1624 /* &sEval1 */, i2)) + tcl.XTcl_ListObjAppendElement(tls, interp, pRet, dbEvalColumnValue(tls, bp+1224 /* &sEval1 */, i2)) goto __202 __202: i2++ @@ -86875,7 +86875,7 @@ __203: goto __199 __200: ; - dbEvalFinalize(tls, bp+1624 /* &sEval1 */) + dbEvalFinalize(tls, bp+1224 /* &sEval1 */) if !(rc == TCL_BREAK) { goto __204 } @@ -86915,9 +86915,9 @@ __209: p = tcl.XTcl_Alloc(tls, uint32(unsafe.Sizeof(DbEvalContext{}))) dbEvalInit(tls, p, pDb, *(*uintptr)(unsafe.Pointer(objv + 2*8)), pArray, evalFlags) - *(*ClientData)(unsafe.Pointer(bp + 1688 /* &cd2[0] */)) = p - *(*ClientData)(unsafe.Pointer(bp + 1688 /* &cd2[0] */ + 1*8)) = pScript - rc = DbEvalNextCmd(tls, bp+1688 /* &cd2[0] */, interp, TCL_OK) + *(*ClientData)(unsafe.Pointer(bp + 1288 /* &cd2[0] */)) = p + *(*ClientData)(unsafe.Pointer(bp + 1288 /* &cd2[0] */ + 1*8)) = pScript + rc = DbEvalNextCmd(tls, bp+1288 /* &cd2[0] */, interp, TCL_OK) __198: ; goto __3 @@ -86935,8 +86935,8 @@ __198: // --returntype TYPE Specify the return type of the function __23: flags1 = SQLITE_UTF8 - *(*int32)(unsafe.Pointer(bp + 1704 /* nArg */)) = -1 - *(*int32)(unsafe.Pointer(bp + 1760 /* eType */)) = SQLITE_NULL + *(*int32)(unsafe.Pointer(bp + 1304 /* nArg */)) = -1 + *(*int32)(unsafe.Pointer(bp + 1360 /* eType */)) = SQLITE_NULL if !(objc < 4) { goto __210 } @@ -86957,20 +86957,20 @@ __211: if !(i3 == (objc - 2)) { goto __216 } - tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp+928, ts+13108 /* "option requires ..." */, z2, uintptr(0))) + tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp+672, ts+13108 /* "option requires ..." */, z2, uintptr(0))) return TCL_ERROR __216: ; - if !(tcl.XTcl_GetIntFromObj(tls, interp, *(*uintptr)(unsafe.Pointer(objv + uintptr((i3+1))*8)), bp+1704 /* &nArg */) != 0) { + if !(tcl.XTcl_GetIntFromObj(tls, interp, *(*uintptr)(unsafe.Pointer(objv + uintptr((i3+1))*8)), bp+1304 /* &nArg */) != 0) { goto __217 } return TCL_ERROR __217: ; - if !(*(*int32)(unsafe.Pointer(bp + 1704 /* nArg */)) < 0) { + if !(*(*int32)(unsafe.Pointer(bp + 1304 /* nArg */)) < 0) { goto __218 } - tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp+960, ts+13138, /* "number of argume..." */ + tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp+696, ts+13138, /* "number of argume..." */ uintptr(0))) return TCL_ERROR __218: @@ -86999,26 +86999,26 @@ __223: if !((n1 > 1) && (libc.Xstrncmp(tls, z2, ts+13217 /* "-returntype" */, uint64(n1)) == 0)) { goto __225 } - *(*[6]uintptr)(unsafe.Pointer(bp + 1712 /* azType */)) = [6]uintptr{ts + 7916 /* "integer" */, ts + 13229 /* "real" */, ts + 13234 /* "text" */, ts + 13239 /* "blob" */, ts + 13244 /* "any" */, uintptr(0)} + *(*[6]uintptr)(unsafe.Pointer(bp + 1312 /* azType */)) = [6]uintptr{ts + 7916 /* "integer" */, ts + 13229 /* "real" */, ts + 13234 /* "text" */, ts + 13239 /* "blob" */, ts + 13244 /* "any" */, uintptr(0)} if !(i3 == (objc - 2)) { goto __227 } - tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp+984, ts+13108 /* "option requires ..." */, z2, uintptr(0))) + tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp+712, ts+13108 /* "option requires ..." */, z2, uintptr(0))) return TCL_ERROR __227: ; i3++ - if !(tcl.XTcl_GetIndexFromObjStruct(tls, interp, *(*uintptr)(unsafe.Pointer(objv + uintptr(i3)*8)), bp+1712 /* &azType[0] */, int32(unsafe.Sizeof(uintptr(0))), ts+13248 /* "type" */, 0, bp+1760 /* &eType */) != 0) { + if !(tcl.XTcl_GetIndexFromObjStruct(tls, interp, *(*uintptr)(unsafe.Pointer(objv + uintptr(i3)*8)), bp+1312 /* &azType[0] */, int32(unsafe.Sizeof(uintptr(0))), ts+13248 /* "type" */, 0, bp+1360 /* &eType */) != 0) { goto __228 } return TCL_ERROR __228: ; - *(*int32)(unsafe.Pointer(bp + 1760 /* eType */))++ + *(*int32)(unsafe.Pointer(bp + 1360 /* eType */))++ goto __226 __225: - tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp+1016, ts+12321 /* "bad option \"" */, z2, + tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp+736, ts+12321 /* "bad option \"" */, z2, ts+13253 /* "\": must be -argc..." */, uintptr(0))) return TCL_ERROR @@ -87073,8 +87073,8 @@ __230: (*SqlFunc)(unsafe.Pointer(pFunc)).FpScript = pScript1 (*Tcl_Obj)(unsafe.Pointer(pScript1)).FrefCount++ (*SqlFunc)(unsafe.Pointer(pFunc)).FuseEvalObjv = safeToUseEvalObjv(tls, interp, pScript1) - (*SqlFunc)(unsafe.Pointer(pFunc)).FeType = *(*int32)(unsafe.Pointer(bp + 1760 /* eType */)) - rc = sqlite3.Xsqlite3_create_function(tls, (*SqliteDb)(unsafe.Pointer(pDb)).Fdb, zName1, *(*int32)(unsafe.Pointer(bp + 1704 /* nArg */)), flags1, + (*SqlFunc)(unsafe.Pointer(pFunc)).FeType = *(*int32)(unsafe.Pointer(bp + 1360 /* eType */)) + rc = sqlite3.Xsqlite3_create_function(tls, (*SqliteDb)(unsafe.Pointer(pDb)).Fdb, zName1, *(*int32)(unsafe.Pointer(bp + 1304 /* nArg */)), flags1, pFunc, *(*uintptr)(unsafe.Pointer(&struct { f func(*libc.TLS, uintptr, int32, uintptr) }{tclSqlFunc})), uintptr(0), uintptr(0)) @@ -87116,13 +87116,13 @@ __238: ; zTable1 = tcl.XTcl_GetString(tls, *(*uintptr)(unsafe.Pointer(objv + uintptr((objc-3))*8))) zColumn = tcl.XTcl_GetString(tls, *(*uintptr)(unsafe.Pointer(objv + uintptr((objc-2))*8))) - rc = tcl.XTcl_GetWideIntFromObj(tls, interp, *(*uintptr)(unsafe.Pointer(objv + uintptr((objc-1))*8)), bp+1768 /* &iRow */) + rc = tcl.XTcl_GetWideIntFromObj(tls, interp, *(*uintptr)(unsafe.Pointer(objv + uintptr((objc-1))*8)), bp+1368 /* &iRow */) if !(rc == TCL_OK) { goto __239 } rc = createIncrblobChannel(tls, - interp, pDb, zDb, zTable1, zColumn, *(*Tcl_WideInt)(unsafe.Pointer(bp + 1768 /* iRow */)), isReadonly1) + interp, pDb, zDb, zTable1, zColumn, *(*Tcl_WideInt)(unsafe.Pointer(bp + 1368 /* iRow */)), isReadonly1) __239: ; goto __3 @@ -87152,19 +87152,19 @@ __240: if !(objc == 3) { goto __241 } - zNull1 = tcl.XTcl_GetStringFromObj(tls, *(*uintptr)(unsafe.Pointer(objv + 2*8)), bp+1776 /* &len5 */) + zNull1 = tcl.XTcl_GetStringFromObj(tls, *(*uintptr)(unsafe.Pointer(objv + 2*8)), bp+1376 /* &len5 */) if !((*SqliteDb)(unsafe.Pointer(pDb)).FzNull != 0) { goto __242 } tcl.XTcl_Free(tls, (*SqliteDb)(unsafe.Pointer(pDb)).FzNull) __242: ; - if !((zNull1 != 0) && (*(*int32)(unsafe.Pointer(bp + 1776 /* len5 */)) > 0)) { + if !((zNull1 != 0) && (*(*int32)(unsafe.Pointer(bp + 1376 /* len5 */)) > 0)) { goto __243 } - (*SqliteDb)(unsafe.Pointer(pDb)).FzNull = tcl.XTcl_Alloc(tls, (uint32(*(*int32)(unsafe.Pointer(bp + 1776 /* len5 */)) + 1))) - libc.Xmemcpy(tls, (*SqliteDb)(unsafe.Pointer(pDb)).FzNull, zNull1, uint64(*(*int32)(unsafe.Pointer(bp + 1776 /* len5 */)))) - *(*int8)(unsafe.Pointer((*SqliteDb)(unsafe.Pointer(pDb)).FzNull + uintptr(*(*int32)(unsafe.Pointer(bp + 1776 /* len5 */))))) = int8(0) + (*SqliteDb)(unsafe.Pointer(pDb)).FzNull = tcl.XTcl_Alloc(tls, (uint32(*(*int32)(unsafe.Pointer(bp + 1376 /* len5 */)) + 1))) + libc.Xmemcpy(tls, (*SqliteDb)(unsafe.Pointer(pDb)).FzNull, zNull1, uint64(*(*int32)(unsafe.Pointer(bp + 1376 /* len5 */)))) + *(*int8)(unsafe.Pointer((*SqliteDb)(unsafe.Pointer(pDb)).FzNull + uintptr(*(*int32)(unsafe.Pointer(bp + 1376 /* len5 */))))) = int8(0) goto __244 __243: (*SqliteDb)(unsafe.Pointer(pDb)).FzNull = uintptr(0) @@ -87204,7 +87204,7 @@ __28: if !((*SqliteDb)(unsafe.Pointer(pDb)).FzProgress != 0) { goto __248 } - tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp+1056, (*SqliteDb)(unsafe.Pointer(pDb)).FzProgress, uintptr(0))) + tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp+768, (*SqliteDb)(unsafe.Pointer(pDb)).FzProgress, uintptr(0))) __248: ; goto __247 @@ -87212,7 +87212,7 @@ __246: if !(objc == 4) { goto __249 } - if !(TCL_OK != tcl.XTcl_GetIntFromObj(tls, interp, *(*uintptr)(unsafe.Pointer(objv + 2*8)), bp+1780 /* &N */)) { + if !(TCL_OK != tcl.XTcl_GetIntFromObj(tls, interp, *(*uintptr)(unsafe.Pointer(objv + 2*8)), bp+1380 /* &N */)) { goto __251 } return TCL_ERROR @@ -87225,12 +87225,12 @@ __251: tcl.XTcl_Free(tls, (*SqliteDb)(unsafe.Pointer(pDb)).FzProgress) __252: ; - zProgress = tcl.XTcl_GetStringFromObj(tls, *(*uintptr)(unsafe.Pointer(objv + 3*8)), bp+1784 /* &len6 */) - if !((zProgress != 0) && (*(*int32)(unsafe.Pointer(bp + 1784 /* len6 */)) > 0)) { + zProgress = tcl.XTcl_GetStringFromObj(tls, *(*uintptr)(unsafe.Pointer(objv + 3*8)), bp+1384 /* &len6 */) + if !((zProgress != 0) && (*(*int32)(unsafe.Pointer(bp + 1384 /* len6 */)) > 0)) { goto __253 } - (*SqliteDb)(unsafe.Pointer(pDb)).FzProgress = tcl.XTcl_Alloc(tls, (uint32(*(*int32)(unsafe.Pointer(bp + 1784 /* len6 */)) + 1))) - libc.Xmemcpy(tls, (*SqliteDb)(unsafe.Pointer(pDb)).FzProgress, zProgress, (uint64(*(*int32)(unsafe.Pointer(bp + 1784 /* len6 */)) + 1))) + (*SqliteDb)(unsafe.Pointer(pDb)).FzProgress = tcl.XTcl_Alloc(tls, (uint32(*(*int32)(unsafe.Pointer(bp + 1384 /* len6 */)) + 1))) + libc.Xmemcpy(tls, (*SqliteDb)(unsafe.Pointer(pDb)).FzProgress, zProgress, (uint64(*(*int32)(unsafe.Pointer(bp + 1384 /* len6 */)) + 1))) goto __254 __253: (*SqliteDb)(unsafe.Pointer(pDb)).FzProgress = uintptr(0) @@ -87240,7 +87240,7 @@ __254: goto __255 } (*SqliteDb)(unsafe.Pointer(pDb)).Finterp = interp - sqlite3.Xsqlite3_progress_handler(tls, (*SqliteDb)(unsafe.Pointer(pDb)).Fdb, *(*int32)(unsafe.Pointer(bp + 1780 /* N */)), *(*uintptr)(unsafe.Pointer(&struct { + sqlite3.Xsqlite3_progress_handler(tls, (*SqliteDb)(unsafe.Pointer(pDb)).Fdb, *(*int32)(unsafe.Pointer(bp + 1380 /* N */)), *(*uintptr)(unsafe.Pointer(&struct { f func(*libc.TLS, uintptr) int32 }{DbProgressHandler})), pDb) goto __256 @@ -87277,7 +87277,7 @@ __257: if !((*SqliteDb)(unsafe.Pointer(pDb)).FzProfile != 0) { goto __261 } - tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp+1080, (*SqliteDb)(unsafe.Pointer(pDb)).FzProfile, uintptr(0))) + tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp+784, (*SqliteDb)(unsafe.Pointer(pDb)).FzProfile, uintptr(0))) __261: ; goto __260 @@ -87288,12 +87288,12 @@ __259: tcl.XTcl_Free(tls, (*SqliteDb)(unsafe.Pointer(pDb)).FzProfile) __262: ; - zProfile = tcl.XTcl_GetStringFromObj(tls, *(*uintptr)(unsafe.Pointer(objv + 2*8)), bp+1788 /* &len7 */) - if !((zProfile != 0) && (*(*int32)(unsafe.Pointer(bp + 1788 /* len7 */)) > 0)) { + zProfile = tcl.XTcl_GetStringFromObj(tls, *(*uintptr)(unsafe.Pointer(objv + 2*8)), bp+1388 /* &len7 */) + if !((zProfile != 0) && (*(*int32)(unsafe.Pointer(bp + 1388 /* len7 */)) > 0)) { goto __263 } - (*SqliteDb)(unsafe.Pointer(pDb)).FzProfile = tcl.XTcl_Alloc(tls, (uint32(*(*int32)(unsafe.Pointer(bp + 1788 /* len7 */)) + 1))) - libc.Xmemcpy(tls, (*SqliteDb)(unsafe.Pointer(pDb)).FzProfile, zProfile, (uint64(*(*int32)(unsafe.Pointer(bp + 1788 /* len7 */)) + 1))) + (*SqliteDb)(unsafe.Pointer(pDb)).FzProfile = tcl.XTcl_Alloc(tls, (uint32(*(*int32)(unsafe.Pointer(bp + 1388 /* len7 */)) + 1))) + libc.Xmemcpy(tls, (*SqliteDb)(unsafe.Pointer(pDb)).FzProfile, zProfile, (uint64(*(*int32)(unsafe.Pointer(bp + 1388 /* len7 */)) + 1))) goto __264 __263: (*SqliteDb)(unsafe.Pointer(pDb)).FzProfile = uintptr(0) @@ -87357,24 +87357,24 @@ __271: ; __269: ; - rc = sqlite3.Xsqlite3_open_v2(tls, zSrcFile, bp+1792, /* &pSrc */ + rc = sqlite3.Xsqlite3_open_v2(tls, zSrcFile, bp+1392, /* &pSrc */ (SQLITE_OPEN_READONLY | (*SqliteDb)(unsafe.Pointer(pDb)).FopenFlags), uintptr(0)) if !(rc != SQLITE_OK) { goto __272 } - tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp+1104, ts+13392, /* "cannot open sour..." */ - sqlite3.Xsqlite3_errmsg(tls, *(*uintptr)(unsafe.Pointer(bp + 1792 /* pSrc */))), uintptr(0))) - sqlite3.Xsqlite3_close(tls, *(*uintptr)(unsafe.Pointer(bp + 1792 /* pSrc */))) + tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp+800, ts+13392, /* "cannot open sour..." */ + sqlite3.Xsqlite3_errmsg(tls, *(*uintptr)(unsafe.Pointer(bp + 1392 /* pSrc */))), uintptr(0))) + sqlite3.Xsqlite3_close(tls, *(*uintptr)(unsafe.Pointer(bp + 1392 /* pSrc */))) return TCL_ERROR __272: ; - pBackup1 = sqlite3.Xsqlite3_backup_init(tls, (*SqliteDb)(unsafe.Pointer(pDb)).Fdb, zDestDb, *(*uintptr)(unsafe.Pointer(bp + 1792 /* pSrc */)), ts+85 /* "main" */) + pBackup1 = sqlite3.Xsqlite3_backup_init(tls, (*SqliteDb)(unsafe.Pointer(pDb)).Fdb, zDestDb, *(*uintptr)(unsafe.Pointer(bp + 1392 /* pSrc */)), ts+85 /* "main" */) if !(pBackup1 == uintptr(0)) { goto __273 } - tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp+1136, ts+13422, /* "restore failed: " */ + tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp+824, ts+13422, /* "restore failed: " */ sqlite3.Xsqlite3_errmsg(tls, (*SqliteDb)(unsafe.Pointer(pDb)).Fdb), uintptr(0))) - sqlite3.Xsqlite3_close(tls, *(*uintptr)(unsafe.Pointer(bp + 1792 /* pSrc */))) + sqlite3.Xsqlite3_close(tls, *(*uintptr)(unsafe.Pointer(bp + 1392 /* pSrc */))) return TCL_ERROR __273: ; @@ -87408,19 +87408,19 @@ __278: if !((rc == SQLITE_BUSY) || (rc == SQLITE_LOCKED)) { goto __280 } - tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp+1168, ts+13439, /* "restore failed: ..." */ + tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp+848, ts+13439, /* "restore failed: ..." */ uintptr(0))) rc = TCL_ERROR goto __281 __280: - tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp+1192, ts+13422, /* "restore failed: " */ + tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp+864, ts+13422, /* "restore failed: " */ sqlite3.Xsqlite3_errmsg(tls, (*SqliteDb)(unsafe.Pointer(pDb)).Fdb), uintptr(0))) rc = TCL_ERROR __281: ; __279: ; - sqlite3.Xsqlite3_close(tls, *(*uintptr)(unsafe.Pointer(bp + 1792 /* pSrc */))) + sqlite3.Xsqlite3_close(tls, *(*uintptr)(unsafe.Pointer(bp + 1392 /* pSrc */))) goto __3 // $db serialize ?DATABASE? @@ -87432,7 +87432,7 @@ __32: } else { zSchema1 = ts + 85 /* "main" */ } - *(*sqlite3_int64)(unsafe.Pointer(bp + 1800 /* sz */)) = int64(0) + *(*sqlite3_int64)(unsafe.Pointer(bp + 1400 /* sz */)) = int64(0) if !((objc != 2) && (objc != 3)) { goto __282 } @@ -87440,18 +87440,18 @@ __32: rc = TCL_ERROR goto __283 __282: - pData1 = sqlite3.Xsqlite3_serialize(tls, (*SqliteDb)(unsafe.Pointer(pDb)).Fdb, zSchema1, bp+1800 /* &sz */, uint32(SQLITE_SERIALIZE_NOCOPY)) + pData1 = sqlite3.Xsqlite3_serialize(tls, (*SqliteDb)(unsafe.Pointer(pDb)).Fdb, zSchema1, bp+1400 /* &sz */, uint32(SQLITE_SERIALIZE_NOCOPY)) if !(pData1 != 0) { goto __284 } needFree = 0 goto __285 __284: - pData1 = sqlite3.Xsqlite3_serialize(tls, (*SqliteDb)(unsafe.Pointer(pDb)).Fdb, zSchema1, bp+1800 /* &sz */, uint32(0)) + pData1 = sqlite3.Xsqlite3_serialize(tls, (*SqliteDb)(unsafe.Pointer(pDb)).Fdb, zSchema1, bp+1400 /* &sz */, uint32(0)) needFree = 1 __285: ; - tcl.XTcl_SetObjResult(tls, interp, tcl.XTcl_NewByteArrayObj(tls, pData1, int32(*(*sqlite3_int64)(unsafe.Pointer(bp + 1800 /* sz */))))) + tcl.XTcl_SetObjResult(tls, interp, tcl.XTcl_NewByteArrayObj(tls, pData1, int32(*(*sqlite3_int64)(unsafe.Pointer(bp + 1400 /* sz */))))) if !(needFree != 0) { goto __286 } @@ -87500,7 +87500,7 @@ __292: goto __295 __294: tcl.XTcl_AppendResult(tls, interp, - libc.VaList(bp+1224, ts+13531, /* "bad argument: sh..." */ + libc.VaList(bp+888, ts+13531, /* "bad argument: sh..." */ uintptr(0))) return TCL_ERROR __295: @@ -87525,13 +87525,13 @@ __34: return TCL_ERROR __296: ; - if !(tcl.XTcl_GetIntFromObj(tls, interp, *(*uintptr)(unsafe.Pointer(objv + 2*8)), bp+1808 /* &ms */) != 0) { + if !(tcl.XTcl_GetIntFromObj(tls, interp, *(*uintptr)(unsafe.Pointer(objv + 2*8)), bp+1408 /* &ms */) != 0) { goto __297 } return TCL_ERROR __297: ; - sqlite3.Xsqlite3_busy_timeout(tls, (*SqliteDb)(unsafe.Pointer(pDb)).Fdb, *(*int32)(unsafe.Pointer(bp + 1808 /* ms */))) + sqlite3.Xsqlite3_busy_timeout(tls, (*SqliteDb)(unsafe.Pointer(pDb)).Fdb, *(*int32)(unsafe.Pointer(bp + 1408 /* ms */))) goto __3 // $db total_changes @@ -87569,7 +87569,7 @@ __299: if !((*SqliteDb)(unsafe.Pointer(pDb)).FzTrace != 0) { goto __303 } - tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp+1248, (*SqliteDb)(unsafe.Pointer(pDb)).FzTrace, uintptr(0))) + tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp+904, (*SqliteDb)(unsafe.Pointer(pDb)).FzTrace, uintptr(0))) __303: ; goto __302 @@ -87580,12 +87580,12 @@ __301: tcl.XTcl_Free(tls, (*SqliteDb)(unsafe.Pointer(pDb)).FzTrace) __304: ; - zTrace = tcl.XTcl_GetStringFromObj(tls, *(*uintptr)(unsafe.Pointer(objv + 2*8)), bp+1812 /* &len8 */) - if !((zTrace != 0) && (*(*int32)(unsafe.Pointer(bp + 1812 /* len8 */)) > 0)) { + zTrace = tcl.XTcl_GetStringFromObj(tls, *(*uintptr)(unsafe.Pointer(objv + 2*8)), bp+1412 /* &len8 */) + if !((zTrace != 0) && (*(*int32)(unsafe.Pointer(bp + 1412 /* len8 */)) > 0)) { goto __305 } - (*SqliteDb)(unsafe.Pointer(pDb)).FzTrace = tcl.XTcl_Alloc(tls, (uint32(*(*int32)(unsafe.Pointer(bp + 1812 /* len8 */)) + 1))) - libc.Xmemcpy(tls, (*SqliteDb)(unsafe.Pointer(pDb)).FzTrace, zTrace, (uint64(*(*int32)(unsafe.Pointer(bp + 1812 /* len8 */)) + 1))) + (*SqliteDb)(unsafe.Pointer(pDb)).FzTrace = tcl.XTcl_Alloc(tls, (uint32(*(*int32)(unsafe.Pointer(bp + 1412 /* len8 */)) + 1))) + libc.Xmemcpy(tls, (*SqliteDb)(unsafe.Pointer(pDb)).FzTrace, zTrace, (uint64(*(*int32)(unsafe.Pointer(bp + 1412 /* len8 */)) + 1))) goto __306 __305: (*SqliteDb)(unsafe.Pointer(pDb)).FzTrace = uintptr(0) @@ -87628,7 +87628,7 @@ __309: if !((*SqliteDb)(unsafe.Pointer(pDb)).FzTraceV2 != 0) { goto __313 } - tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp+1272, (*SqliteDb)(unsafe.Pointer(pDb)).FzTraceV2, uintptr(0))) + tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp+920, (*SqliteDb)(unsafe.Pointer(pDb)).FzTraceV2, uintptr(0))) __313: ; goto __312 @@ -87637,7 +87637,7 @@ __311: if !(objc == 4) { goto __314 } - if !(TCL_OK != tcl.XTcl_ListObjLength(tls, interp, *(*uintptr)(unsafe.Pointer(objv + 3*8)), bp+1816 /* &len9 */)) { + if !(TCL_OK != tcl.XTcl_ListObjLength(tls, interp, *(*uintptr)(unsafe.Pointer(objv + 3*8)), bp+1416 /* &len9 */)) { goto __316 } return TCL_ERROR @@ -87645,21 +87645,21 @@ __316: ; i4 = 0 __317: - if !(i4 < *(*int32)(unsafe.Pointer(bp + 1816 /* len9 */))) { + if !(i4 < *(*int32)(unsafe.Pointer(bp + 1416 /* len9 */))) { goto __319 } - if !(TCL_OK != tcl.XTcl_ListObjIndex(tls, interp, *(*uintptr)(unsafe.Pointer(objv + 3*8)), i4, bp+1824 /* &pObj */)) { + if !(TCL_OK != tcl.XTcl_ListObjIndex(tls, interp, *(*uintptr)(unsafe.Pointer(objv + 3*8)), i4, bp+1424 /* &pObj */)) { goto __320 } return TCL_ERROR __320: ; - if !(tcl.XTcl_GetIndexFromObjStruct(tls, interp, *(*uintptr)(unsafe.Pointer(bp + 1824 /* pObj */)), uintptr(unsafe.Pointer(&TTYPE_strs)), int32(unsafe.Sizeof(uintptr(0))), ts+13618 /* "trace type" */, 0, bp+1832 /* &ttype */) != TCL_OK) { + if !(tcl.XTcl_GetIndexFromObjStruct(tls, interp, *(*uintptr)(unsafe.Pointer(bp + 1424 /* pObj */)), uintptr(unsafe.Pointer(&TTYPE_strs)), int32(unsafe.Sizeof(uintptr(0))), ts+13618 /* "trace type" */, 0, bp+1432 /* &ttype */) != TCL_OK) { goto __321 } pError = tcl.XTcl_DuplicateObj(tls, tcl.XTcl_GetObjResult(tls, interp)) (*Tcl_Obj)(unsafe.Pointer(pError)).FrefCount++ - if !(TCL_OK == tcl.XTcl_GetWideIntFromObj(tls, interp, *(*uintptr)(unsafe.Pointer(bp + 1824 /* pObj */)), bp+1840 /* &wType */)) { + if !(TCL_OK == tcl.XTcl_GetWideIntFromObj(tls, interp, *(*uintptr)(unsafe.Pointer(bp + 1424 /* pObj */)), bp+1440 /* &wType */)) { goto __323 } __325: @@ -87678,7 +87678,7 @@ __326: goto __327 __327: ; - wMask = wMask | (*(*Tcl_WideInt)(unsafe.Pointer(bp + 1840 /* wType */))) + wMask = wMask | (*(*Tcl_WideInt)(unsafe.Pointer(bp + 1440 /* wType */))) goto __324 __323: tcl.XTcl_SetObjResult(tls, interp, pError) @@ -87703,7 +87703,7 @@ __324: ; goto __322 __321: - switch uint32(*(*int32)(unsafe.Pointer(bp + 1832 /* ttype */))) { + switch uint32(*(*int32)(unsafe.Pointer(bp + 1432 /* ttype */))) { case uint32(0) /* TTYPE_STMT */ : goto __334 case uint32(1) /* TTYPE_PROFILE */ : @@ -87748,12 +87748,12 @@ __315: tcl.XTcl_Free(tls, (*SqliteDb)(unsafe.Pointer(pDb)).FzTraceV2) __338: ; - zTraceV2 = tcl.XTcl_GetStringFromObj(tls, *(*uintptr)(unsafe.Pointer(objv + 2*8)), bp+1816 /* &len9 */) - if !((zTraceV2 != 0) && (*(*int32)(unsafe.Pointer(bp + 1816 /* len9 */)) > 0)) { + zTraceV2 = tcl.XTcl_GetStringFromObj(tls, *(*uintptr)(unsafe.Pointer(objv + 2*8)), bp+1416 /* &len9 */) + if !((zTraceV2 != 0) && (*(*int32)(unsafe.Pointer(bp + 1416 /* len9 */)) > 0)) { goto __339 } - (*SqliteDb)(unsafe.Pointer(pDb)).FzTraceV2 = tcl.XTcl_Alloc(tls, (uint32(*(*int32)(unsafe.Pointer(bp + 1816 /* len9 */)) + 1))) - libc.Xmemcpy(tls, (*SqliteDb)(unsafe.Pointer(pDb)).FzTraceV2, zTraceV2, (uint64(*(*int32)(unsafe.Pointer(bp + 1816 /* len9 */)) + 1))) + (*SqliteDb)(unsafe.Pointer(pDb)).FzTraceV2 = tcl.XTcl_Alloc(tls, (uint32(*(*int32)(unsafe.Pointer(bp + 1416 /* len9 */)) + 1))) + libc.Xmemcpy(tls, (*SqliteDb)(unsafe.Pointer(pDb)).FzTraceV2, zTraceV2, (uint64(*(*int32)(unsafe.Pointer(bp + 1416 /* len9 */)) + 1))) goto __340 __339: (*SqliteDb)(unsafe.Pointer(pDb)).FzTraceV2 = uintptr(0) @@ -87800,13 +87800,13 @@ __343: if !(((*SqliteDb)(unsafe.Pointer(pDb)).FnTransaction == 0) && (objc == 4)) { goto __344 } - if !(tcl.XTcl_GetIndexFromObjStruct(tls, interp, *(*uintptr)(unsafe.Pointer(objv + 2*8)), uintptr(unsafe.Pointer(&TTYPE_strs1)), int32(unsafe.Sizeof(uintptr(0))), ts+13670 /* "transaction type" */, 0, bp+1848 /* &ttype1 */) != 0) { + if !(tcl.XTcl_GetIndexFromObjStruct(tls, interp, *(*uintptr)(unsafe.Pointer(objv + 2*8)), uintptr(unsafe.Pointer(&TTYPE_strs1)), int32(unsafe.Sizeof(uintptr(0))), ts+13670 /* "transaction type" */, 0, bp+1448 /* &ttype1 */) != 0) { goto __345 } return TCL_ERROR __345: ; - switch uint32(*(*int32)(unsafe.Pointer(bp + 1848 /* ttype1 */))) { + switch uint32(*(*int32)(unsafe.Pointer(bp + 1448 /* ttype1 */))) { case uint32(0) /* TTYPE_DEFERRED */ : goto __347 case uint32(1) /* TTYPE_EXCLUSIVE */ : @@ -87837,7 +87837,7 @@ __344: if !(rc != SQLITE_OK) { goto __350 } - tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp+1296, sqlite3.Xsqlite3_errmsg(tls, (*SqliteDb)(unsafe.Pointer(pDb)).Fdb), uintptr(0))) + tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp+936, sqlite3.Xsqlite3_errmsg(tls, (*SqliteDb)(unsafe.Pointer(pDb)).Fdb), uintptr(0))) return TCL_ERROR __350: ; @@ -87853,11 +87853,11 @@ __350: } tcl.XTcl_NRAddCallback(tls, interp, *(*uintptr)(unsafe.Pointer(&struct { f func(*libc.TLS, uintptr, uintptr, int32) int32 - }{DbTransPostCmd})), *(*uintptr)(unsafe.Pointer(bp + 1856 /* cd */)), uintptr(0), uintptr(0), uintptr(0)) + }{DbTransPostCmd})), *(*uintptr)(unsafe.Pointer(bp + 1456 /* cd */)), uintptr(0), uintptr(0), uintptr(0)) tcl.XTcl_NREvalObj(tls, interp, pScript2, 0) goto __352 __351: - rc = DbTransPostCmd(tls, bp+1856 /* &cd */, interp, tcl.XTcl_EvalObjEx(tls, interp, pScript2, 0)) + rc = DbTransPostCmd(tls, bp+1456 /* &cd */, interp, tcl.XTcl_EvalObjEx(tls, interp, pScript2, 0)) __352: ; goto __3 @@ -87912,7 +87912,7 @@ __360: if !(sqlite3.Xsqlite3_unlock_notify(tls, (*SqliteDb)(unsafe.Pointer(pDb)).Fdb, xNotify, pNotifyArg) != 0) { goto __361 } - tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp+1320, sqlite3.Xsqlite3_errmsg(tls, (*SqliteDb)(unsafe.Pointer(pDb)).Fdb), uintptr(0))) + tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp+952, sqlite3.Xsqlite3_errmsg(tls, (*SqliteDb)(unsafe.Pointer(pDb)).Fdb), uintptr(0))) rc = TCL_ERROR __361: ; @@ -87932,14 +87932,14 @@ __40: tcl.XTcl_WrongNumArgs(tls, interp, 2, objv, ts+13728 /* "SUB-COMMAND ?ARG..." */) __362: ; - if !(tcl.XTcl_GetIndexFromObjStruct(tls, interp, *(*uintptr)(unsafe.Pointer(objv + 2*8)), uintptr(unsafe.Pointer(&azSub)), int32(unsafe.Sizeof(uintptr(0))), ts+1875 /* "sub-command" */, 0, bp+1864 /* &iSub */) != 0) { + if !(tcl.XTcl_GetIndexFromObjStruct(tls, interp, *(*uintptr)(unsafe.Pointer(objv + 2*8)), uintptr(unsafe.Pointer(&azSub)), int32(unsafe.Sizeof(uintptr(0))), ts+1875 /* "sub-command" */, 0, bp+1464 /* &iSub */) != 0) { goto __363 } return TCL_ERROR __363: ; - switch uint32(*(*int32)(unsafe.Pointer(bp + 1864 /* iSub */))) { + switch uint32(*(*int32)(unsafe.Pointer(bp + 1464 /* iSub */))) { case uint32(0) /* PRE_COUNT */ : goto __365 @@ -87997,32 +87997,32 @@ __369: return TCL_ERROR __372: ; - if !(tcl.XTcl_GetIntFromObj(tls, interp, *(*uintptr)(unsafe.Pointer(objv + 3*8)), bp+1868 /* &iIdx */) != 0) { + if !(tcl.XTcl_GetIntFromObj(tls, interp, *(*uintptr)(unsafe.Pointer(objv + 3*8)), bp+1468 /* &iIdx */) != 0) { goto __373 } return TCL_ERROR __373: ; - if !(*(*int32)(unsafe.Pointer(bp + 1864 /* iSub */)) == 4 /* PRE_OLD */) { + if !(*(*int32)(unsafe.Pointer(bp + 1464 /* iSub */)) == 4 /* PRE_OLD */) { goto __374 } - rc = sqlite3.Xsqlite3_preupdate_old(tls, (*SqliteDb)(unsafe.Pointer(pDb)).Fdb, *(*int32)(unsafe.Pointer(bp + 1868 /* iIdx */)), bp+1872 /* &pValue1 */) + rc = sqlite3.Xsqlite3_preupdate_old(tls, (*SqliteDb)(unsafe.Pointer(pDb)).Fdb, *(*int32)(unsafe.Pointer(bp + 1468 /* iIdx */)), bp+1472 /* &pValue1 */) goto __375 __374: ; - rc = sqlite3.Xsqlite3_preupdate_new(tls, (*SqliteDb)(unsafe.Pointer(pDb)).Fdb, *(*int32)(unsafe.Pointer(bp + 1868 /* iIdx */)), bp+1872 /* &pValue1 */) + rc = sqlite3.Xsqlite3_preupdate_new(tls, (*SqliteDb)(unsafe.Pointer(pDb)).Fdb, *(*int32)(unsafe.Pointer(bp + 1468 /* iIdx */)), bp+1472 /* &pValue1 */) __375: ; if !(rc == SQLITE_OK) { goto __376 } - pObj1 = tcl.XTcl_NewStringObj(tls, sqlite3.Xsqlite3_value_text(tls, *(*uintptr)(unsafe.Pointer(bp + 1872 /* pValue1 */))), -1) + pObj1 = tcl.XTcl_NewStringObj(tls, sqlite3.Xsqlite3_value_text(tls, *(*uintptr)(unsafe.Pointer(bp + 1472 /* pValue1 */))), -1) tcl.XTcl_SetObjResult(tls, interp, pObj1) goto __377 __376: - tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp+1344, sqlite3.Xsqlite3_errmsg(tls, (*SqliteDb)(unsafe.Pointer(pDb)).Fdb), uintptr(0))) + tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp+968, sqlite3.Xsqlite3_errmsg(tls, (*SqliteDb)(unsafe.Pointer(pDb)).Fdb), uintptr(0))) return TCL_ERROR __377: ; @@ -88040,19 +88040,19 @@ __43: // set ppHook to point at pUpdateHook or pRollbackHook, depending on // whether [$db update_hook] or [$db rollback_hook] was invoked. ppHook = uintptr(0) - if !(*(*int32)(unsafe.Pointer(bp + 1416 /* choice */)) == 40 /* DB_WAL_HOOK */) { + if !(*(*int32)(unsafe.Pointer(bp + 1016 /* choice */)) == 40 /* DB_WAL_HOOK */) { goto __378 } ppHook = (pDb + 128 /* &.pWalHook */) __378: ; - if !(*(*int32)(unsafe.Pointer(bp + 1416 /* choice */)) == 38 /* DB_UPDATE_HOOK */) { + if !(*(*int32)(unsafe.Pointer(bp + 1016 /* choice */)) == 38 /* DB_UPDATE_HOOK */) { goto __379 } ppHook = (pDb + 104 /* &.pUpdateHook */) __379: ; - if !(*(*int32)(unsafe.Pointer(bp + 1416 /* choice */)) == 29 /* DB_ROLLBACK_HOOK */) { + if !(*(*int32)(unsafe.Pointer(bp + 1016 /* choice */)) == 29 /* DB_ROLLBACK_HOOK */) { goto __380 } ppHook = (pDb + 120 /* &.pRollbackHook */) @@ -88108,18 +88108,18 @@ __385: if !(libc.Xstrcmp(tls, zArg, ts+13787 /* "-last-stmt-ptr" */) == 0) { goto __388 } - sqlite3.Xsqlite3_snprintf(tls, int32(unsafe.Sizeof([100]int8{})), bp+1880 /* &zBuf[0] */, ts+13802, /* "%p" */ - libc.VaList(bp+1368, func() uintptr { + sqlite3.Xsqlite3_snprintf(tls, int32(unsafe.Sizeof([100]int8{})), bp+1480 /* &zBuf[0] */, ts+13802, /* "%p" */ + libc.VaList(bp+984, func() uintptr { if (*SqliteDb)(unsafe.Pointer(pDb)).FstmtList != 0 { return (*SqlPreparedStmt)(unsafe.Pointer((*SqliteDb)(unsafe.Pointer(pDb)).FstmtList)).FpStmt } return uintptr(0) }())) - tcl.XTcl_SetResult(tls, interp, bp+1880 /* &zBuf[0] */, uintptr(1)) + tcl.XTcl_SetResult(tls, interp, bp+1480 /* &zBuf[0] */, uintptr(1)) goto __389 __388: - tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp+1384, ts+13805 /* "unknown argument..." */, zArg, uintptr(0))) + tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp+992, ts+13805 /* "unknown argument..." */, zArg, uintptr(0))) return TCL_ERROR __389: ; @@ -88225,8 +88225,8 @@ func sqliteCmdUsage(tls *libc.TLS, interp uintptr, objv uintptr) int32 { /* tcls // The second argument is the name of the database file. // func DbMain(tls *libc.TLS, cd uintptr, interp uintptr, objc int32, objv uintptr) int32 { /* tclsqlite.c:3689:26: */ - bp := tls.Alloc(384) - defer tls.Free(384) + bp := tls.Alloc(336) + defer tls.Free(336) var p uintptr var zArg uintptr @@ -88235,8 +88235,8 @@ func DbMain(tls *libc.TLS, cd uintptr, interp uintptr, objc int32, objv uintptr) var zFile uintptr = uintptr(0) var zVfs uintptr = uintptr(0) var flags int32 - *(*int32)(unsafe.Pointer(bp + 160 /* bTranslateFileName */)) = 1 - // var translatedFilename Tcl_DString at bp+168, 216 + *(*int32)(unsafe.Pointer(bp + 112 /* bTranslateFileName */)) = 1 + // var translatedFilename Tcl_DString at bp+120, 216 var rc int32 @@ -88257,11 +88257,11 @@ func DbMain(tls *libc.TLS, cd uintptr, interp uintptr, objc int32, objv uintptr) return TCL_OK } if libc.Xstrcmp(tls, zArg, ts+14633 /* "-sourceid" */) == 0 { - tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp+24, sqlite3.Xsqlite3_sourceid(tls), uintptr(0))) + tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp+16, sqlite3.Xsqlite3_sourceid(tls), uintptr(0))) return TCL_OK } if libc.Xstrcmp(tls, zArg, ts+14643 /* "-has-codec" */) == 0 { - tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp+48, ts+14654 /* "0" */, uintptr(0))) + tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp+32, ts+14654 /* "0" */, uintptr(0))) return TCL_OK } if int32(*(*int8)(unsafe.Pointer(zArg))) == '-' { @@ -88286,12 +88286,12 @@ func DbMain(tls *libc.TLS, cd uintptr, interp uintptr, objc int32, objv uintptr) } else if libc.Xstrcmp(tls, zArg, ts+14661 /* "-vfs" */) == 0 { zVfs = tcl.XTcl_GetString(tls, *(*uintptr)(unsafe.Pointer(objv + uintptr(i)*8))) } else if libc.Xstrcmp(tls, zArg, ts+12904 /* "-readonly" */) == 0 { - // var b int32 at bp+136, 4 + // var b int32 at bp+88, 4 - if tcl.XTcl_GetBooleanFromObj(tls, interp, *(*uintptr)(unsafe.Pointer(objv + uintptr(i)*8)), bp+136 /* &b */) != 0 { + if tcl.XTcl_GetBooleanFromObj(tls, interp, *(*uintptr)(unsafe.Pointer(objv + uintptr(i)*8)), bp+88 /* &b */) != 0 { return TCL_ERROR } - if *(*int32)(unsafe.Pointer(bp + 136 /* b */)) != 0 { + if *(*int32)(unsafe.Pointer(bp + 88 /* b */)) != 0 { flags = flags & (libc.CplInt32((SQLITE_OPEN_READWRITE | SQLITE_OPEN_CREATE))) flags = flags | (SQLITE_OPEN_READONLY) } else { @@ -88299,68 +88299,68 @@ func DbMain(tls *libc.TLS, cd uintptr, interp uintptr, objc int32, objv uintptr) flags = flags | (SQLITE_OPEN_READWRITE) } } else if libc.Xstrcmp(tls, zArg, ts+14666 /* "-create" */) == 0 { - // var b int32 at bp+140, 4 + // var b int32 at bp+92, 4 - if tcl.XTcl_GetBooleanFromObj(tls, interp, *(*uintptr)(unsafe.Pointer(objv + uintptr(i)*8)), bp+140 /* &b */) != 0 { + if tcl.XTcl_GetBooleanFromObj(tls, interp, *(*uintptr)(unsafe.Pointer(objv + uintptr(i)*8)), bp+92 /* &b */) != 0 { return TCL_ERROR } - if (*(*int32)(unsafe.Pointer(bp + 140 /* b */)) != 0) && ((flags & SQLITE_OPEN_READONLY) == 0) { + if (*(*int32)(unsafe.Pointer(bp + 92 /* b */)) != 0) && ((flags & SQLITE_OPEN_READONLY) == 0) { flags = flags | (SQLITE_OPEN_CREATE) } else { flags = flags & (libc.CplInt32(SQLITE_OPEN_CREATE)) } } else if libc.Xstrcmp(tls, zArg, ts+14674 /* "-nofollow" */) == 0 { - // var b int32 at bp+144, 4 + // var b int32 at bp+96, 4 - if tcl.XTcl_GetBooleanFromObj(tls, interp, *(*uintptr)(unsafe.Pointer(objv + uintptr(i)*8)), bp+144 /* &b */) != 0 { + if tcl.XTcl_GetBooleanFromObj(tls, interp, *(*uintptr)(unsafe.Pointer(objv + uintptr(i)*8)), bp+96 /* &b */) != 0 { return TCL_ERROR } - if *(*int32)(unsafe.Pointer(bp + 144 /* b */)) != 0 { + if *(*int32)(unsafe.Pointer(bp + 96 /* b */)) != 0 { flags = flags | (SQLITE_OPEN_NOFOLLOW) } else { flags = flags & (libc.CplInt32(SQLITE_OPEN_NOFOLLOW)) } } else if libc.Xstrcmp(tls, zArg, ts+14684 /* "-nomutex" */) == 0 { - // var b int32 at bp+148, 4 + // var b int32 at bp+100, 4 - if tcl.XTcl_GetBooleanFromObj(tls, interp, *(*uintptr)(unsafe.Pointer(objv + uintptr(i)*8)), bp+148 /* &b */) != 0 { + if tcl.XTcl_GetBooleanFromObj(tls, interp, *(*uintptr)(unsafe.Pointer(objv + uintptr(i)*8)), bp+100 /* &b */) != 0 { return TCL_ERROR } - if *(*int32)(unsafe.Pointer(bp + 148 /* b */)) != 0 { + if *(*int32)(unsafe.Pointer(bp + 100 /* b */)) != 0 { flags = flags | (SQLITE_OPEN_NOMUTEX) flags = flags & (libc.CplInt32(SQLITE_OPEN_FULLMUTEX)) } else { flags = flags & (libc.CplInt32(SQLITE_OPEN_NOMUTEX)) } } else if libc.Xstrcmp(tls, zArg, ts+14693 /* "-fullmutex" */) == 0 { - // var b int32 at bp+152, 4 + // var b int32 at bp+104, 4 - if tcl.XTcl_GetBooleanFromObj(tls, interp, *(*uintptr)(unsafe.Pointer(objv + uintptr(i)*8)), bp+152 /* &b */) != 0 { + if tcl.XTcl_GetBooleanFromObj(tls, interp, *(*uintptr)(unsafe.Pointer(objv + uintptr(i)*8)), bp+104 /* &b */) != 0 { return TCL_ERROR } - if *(*int32)(unsafe.Pointer(bp + 152 /* b */)) != 0 { + if *(*int32)(unsafe.Pointer(bp + 104 /* b */)) != 0 { flags = flags | (SQLITE_OPEN_FULLMUTEX) flags = flags & (libc.CplInt32(SQLITE_OPEN_NOMUTEX)) } else { flags = flags & (libc.CplInt32(SQLITE_OPEN_FULLMUTEX)) } } else if libc.Xstrcmp(tls, zArg, ts+14704 /* "-uri" */) == 0 { - // var b int32 at bp+156, 4 + // var b int32 at bp+108, 4 - if tcl.XTcl_GetBooleanFromObj(tls, interp, *(*uintptr)(unsafe.Pointer(objv + uintptr(i)*8)), bp+156 /* &b */) != 0 { + if tcl.XTcl_GetBooleanFromObj(tls, interp, *(*uintptr)(unsafe.Pointer(objv + uintptr(i)*8)), bp+108 /* &b */) != 0 { return TCL_ERROR } - if *(*int32)(unsafe.Pointer(bp + 156 /* b */)) != 0 { + if *(*int32)(unsafe.Pointer(bp + 108 /* b */)) != 0 { flags = flags | (SQLITE_OPEN_URI) } else { flags = flags & (libc.CplInt32(SQLITE_OPEN_URI)) } } else if libc.Xstrcmp(tls, zArg, ts+14709 /* "-translatefilena..." */) == 0 { - if tcl.XTcl_GetBooleanFromObj(tls, interp, *(*uintptr)(unsafe.Pointer(objv + uintptr(i)*8)), bp+160 /* &bTranslateFileName */) != 0 { + if tcl.XTcl_GetBooleanFromObj(tls, interp, *(*uintptr)(unsafe.Pointer(objv + uintptr(i)*8)), bp+112 /* &bTranslateFileName */) != 0 { return TCL_ERROR } } else { - tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp+72, ts+12914 /* "unknown option: " */, zArg, uintptr(0))) + tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp+48, ts+12914 /* "unknown option: " */, zArg, uintptr(0))) return TCL_ERROR } } @@ -88370,21 +88370,21 @@ func DbMain(tls *libc.TLS, cd uintptr, interp uintptr, objc int32, objv uintptr) if zFile == uintptr(0) { zFile = ts + 489 /* "" */ } - if *(*int32)(unsafe.Pointer(bp + 160 /* bTranslateFileName */)) != 0 { - zFile = tcl.XTcl_TranslateFileName(tls, interp, zFile, bp+168 /* &translatedFilename */) + if *(*int32)(unsafe.Pointer(bp + 112 /* bTranslateFileName */)) != 0 { + zFile = tcl.XTcl_TranslateFileName(tls, interp, zFile, bp+120 /* &translatedFilename */) } rc = sqlite3.Xsqlite3_open_v2(tls, zFile, (p /* &.db */), flags, zVfs) - if *(*int32)(unsafe.Pointer(bp + 160 /* bTranslateFileName */)) != 0 { - tcl.XTcl_DStringFree(tls, bp+168 /* &translatedFilename */) + if *(*int32)(unsafe.Pointer(bp + 112 /* bTranslateFileName */)) != 0 { + tcl.XTcl_DStringFree(tls, bp+120 /* &translatedFilename */) } if (*SqliteDb)(unsafe.Pointer(p)).Fdb != 0 { if SQLITE_OK != sqlite3.Xsqlite3_errcode(tls, (*SqliteDb)(unsafe.Pointer(p)).Fdb) { - zErrMsg = sqlite3.Xsqlite3_mprintf(tls, ts /* "%s" */, libc.VaList(bp+104, sqlite3.Xsqlite3_errmsg(tls, (*SqliteDb)(unsafe.Pointer(p)).Fdb))) + zErrMsg = sqlite3.Xsqlite3_mprintf(tls, ts /* "%s" */, libc.VaList(bp+72, sqlite3.Xsqlite3_errmsg(tls, (*SqliteDb)(unsafe.Pointer(p)).Fdb))) sqlite3.Xsqlite3_close(tls, (*SqliteDb)(unsafe.Pointer(p)).Fdb) (*SqliteDb)(unsafe.Pointer(p)).Fdb = uintptr(0) } } else { - zErrMsg = sqlite3.Xsqlite3_mprintf(tls, ts /* "%s" */, libc.VaList(bp+120, sqlite3.Xsqlite3_errstr(tls, rc))) + zErrMsg = sqlite3.Xsqlite3_mprintf(tls, ts /* "%s" */, libc.VaList(bp+80, sqlite3.Xsqlite3_errstr(tls, rc))) } if (*SqliteDb)(unsafe.Pointer(p)).Fdb == uintptr(0) { tcl.XTcl_SetResult(tls, interp, zErrMsg, uintptr(1)) @@ -88500,13 +88500,13 @@ func tclsh_main_loop(tls *libc.TLS) uintptr { /* tclsqlite.c:3920:19: */ var zMainloop = *(*[431]int8)(unsafe.Pointer(ts + 14750 /* "if {[llength $ar..." */)) /* tclsqlite.c:3921:21 */ func main1(tls *libc.TLS, argc int32, argv uintptr) int32 { /* tclsqlite.c:3953:18: */ - bp := tls.Alloc(88) - defer tls.Free(88) + bp := tls.Alloc(64) + defer tls.Free(64) var interp uintptr var i int32 var zScript uintptr = uintptr(0) - // var zArgc [32]int8 at bp+56, 32 + // var zArgc [32]int8 at bp+32, 32 if libc.Xgetenv(tls, ts+15181 /* "SQLITE_DEBUG_BRE..." */) != 0 { if (libc.X_isatty(tls, 0) != 0) && (libc.X_isatty(tls, 2) != 0) { @@ -88529,8 +88529,8 @@ func main1(tls *libc.TLS, argc int32, argv uintptr) int32 { /* tclsqlite.c:3953: interp = tcl.XTcl_CreateInterp(tls) Sqlite3_Init(tls, interp) - sqlite3.Xsqlite3_snprintf(tls, int32(unsafe.Sizeof([32]int8{})), bp+56 /* &zArgc[0] */, ts+1238 /* "%d" */, libc.VaList(bp+16, (argc-1))) - tcl.XTcl_SetVar2(tls, interp, ts+15268 /* "argc" */, uintptr(0), bp+56 /* &zArgc[0] */, TCL_GLOBAL_ONLY) + sqlite3.Xsqlite3_snprintf(tls, int32(unsafe.Sizeof([32]int8{})), bp+32 /* &zArgc[0] */, ts+1238 /* "%d" */, libc.VaList(bp+8, (argc-1))) + tcl.XTcl_SetVar2(tls, interp, ts+15268 /* "argc" */, uintptr(0), bp+32 /* &zArgc[0] */, TCL_GLOBAL_ONLY) tcl.XTcl_SetVar2(tls, interp, ts+15273 /* "argv0" */, uintptr(0), *(*uintptr)(unsafe.Pointer(argv)), TCL_GLOBAL_ONLY) tcl.XTcl_SetVar2(tls, interp, ts+15279 /* "argv" */, uintptr(0), ts+489 /* "" */, TCL_GLOBAL_ONLY) for i = 1; i < argc; i++ { @@ -88545,7 +88545,7 @@ func main1(tls *libc.TLS, argc int32, argv uintptr) int32 { /* tclsqlite.c:3953: if zInfo == uintptr(0) { zInfo = tcl.XTcl_GetStringResult(tls, interp) } - libc.Xfprintf(tls, libc.X__acrt_iob_func(tls, uint32(2)), ts+15294 /* "%s: %s\n" */, libc.VaList(bp+32, *(*uintptr)(unsafe.Pointer(argv)), zInfo)) + libc.Xfprintf(tls, libc.X__acrt_iob_func(tls, uint32(2)), ts+15294 /* "%s: %s\n" */, libc.VaList(bp+16, *(*uintptr)(unsafe.Pointer(argv)), zInfo)) return 1 } return 0 @@ -90922,26 +90922,26 @@ func sqlite3TestTextToPtr(tls *libc.TLS, z uintptr) uintptr { /* test1.c:54:6: * // for an sqlite connection instance. Bad things happen if the // input is not an sqlite connection. func get_sqlite_pointer(tls *libc.TLS, clientData uintptr, interp uintptr, objc int32, objv uintptr) int32 { /* test1.c:82:26: */ - bp := tls.Alloc(236) - defer tls.Free(236) + bp := tls.Alloc(212) + defer tls.Free(212) var p uintptr - // var cmdInfo Tcl_CmdInfo at bp+72, 64 + // var cmdInfo Tcl_CmdInfo at bp+48, 64 - // var zBuf [100]int8 at bp+136, 100 + // var zBuf [100]int8 at bp+112, 100 if objc != 2 { tcl.XTcl_WrongNumArgs(tls, interp, 1, objv, ts+15302 /* "SQLITE-CONNECTIO..." */) return TCL_ERROR } - if !(tcl.XTcl_GetCommandInfo(tls, interp, tcl.XTcl_GetString(tls, *(*uintptr)(unsafe.Pointer(objv + 1*8))), bp+72 /* &cmdInfo */) != 0) { + if !(tcl.XTcl_GetCommandInfo(tls, interp, tcl.XTcl_GetString(tls, *(*uintptr)(unsafe.Pointer(objv + 1*8))), bp+48 /* &cmdInfo */) != 0) { tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp, ts+15320, /* "command not foun..." */ tcl.XTcl_GetString(tls, *(*uintptr)(unsafe.Pointer(objv + 1*8))), uintptr(0))) return TCL_ERROR } - p = (*Tcl_CmdInfo)(unsafe.Pointer(bp + 72 /* &cmdInfo */)).FobjClientData - sqlite3.Xsqlite3_snprintf(tls, int32(unsafe.Sizeof([100]int8{})), bp+136 /* &zBuf[0] */, ts+13802 /* "%p" */, libc.VaList(bp+32, (*struct{ Fdb uintptr })(unsafe.Pointer(p)).Fdb)) - tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp+48, bp+136 /* &zBuf[0] */, 0)) + p = (*Tcl_CmdInfo)(unsafe.Pointer(bp + 48 /* &cmdInfo */)).FobjClientData + sqlite3.Xsqlite3_snprintf(tls, int32(unsafe.Sizeof([100]int8{})), bp+112 /* &zBuf[0] */, ts+13802 /* "%p" */, libc.VaList(bp+24, (*struct{ Fdb uintptr })(unsafe.Pointer(p)).Fdb)) + tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp+32, bp+112 /* &zBuf[0] */, 0)) return TCL_OK } @@ -90974,19 +90974,19 @@ func getWin32Handle(tls *libc.TLS, interp uintptr, zA uintptr, phFile LPHANDLE) // Check a return value to make sure it agrees with the results // from sqlite3_errcode. func sqlite3TestErrCode(tls *libc.TLS, interp uintptr, db uintptr, rc int32) int32 { /* test1.c:144:5: */ - bp := tls.Alloc(264) - defer tls.Free(264) + bp := tls.Alloc(248) + defer tls.Free(248) if (((sqlite3.Xsqlite3_threadsafe(tls) == 0) && (rc != SQLITE_MISUSE)) && (rc != SQLITE_OK)) && (sqlite3.Xsqlite3_errcode(tls, db) != rc) { - // var zBuf [200]int8 at bp+64, 200 + // var zBuf [200]int8 at bp+48, 200 var r2 int32 = sqlite3.Xsqlite3_errcode(tls, db) - sqlite3.Xsqlite3_snprintf(tls, int32(unsafe.Sizeof([200]int8{})), bp+64, /* &zBuf[0] */ + sqlite3.Xsqlite3_snprintf(tls, int32(unsafe.Sizeof([200]int8{})), bp+48, /* &zBuf[0] */ ts+15340, /* "error code %s (%..." */ libc.VaList(bp, sqlite3.Xsqlite3ErrName(tls, rc), rc, sqlite3.Xsqlite3ErrName(tls, r2), r2)) tcl.XTcl_ResetResult(tls, interp) - tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp+40, bp+64 /* &zBuf[0] */, 0)) + tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp+32, bp+48 /* &zBuf[0] */, 0)) return 1 } return 0 @@ -91010,8 +91010,8 @@ func getStmtPointer(tls *libc.TLS, interp uintptr, zArg uintptr, ppStmt uintptr) // understood by scanf, and if not, try prepending an "0x" to see if // that helps. If nothing works, a fatal error is generated. func sqlite3TestMakePointerStr(tls *libc.TLS, interp uintptr, zPtr uintptr, p uintptr) int32 { /* test1.c:184:5: */ - bp := tls.Alloc(16) - defer tls.Free(16) + bp := tls.Alloc(8) + defer tls.Free(8) sqlite3.Xsqlite3_snprintf(tls, 100, zPtr, ts+13802 /* "%p" */, libc.VaList(bp, p)) return TCL_OK @@ -91075,45 +91075,45 @@ func clang_sanitize_address(tls *libc.TLS, NotUsed uintptr, interp uintptr, argc // DB. The SQL is the string FORMAT. The format string should contain // one %s or %q. STRING is the value inserted into %s or %q. func test_exec_printf(tls *libc.TLS, NotUsed uintptr, interp uintptr, argc int32, argv uintptr) int32 { /* test1.c:296:26: */ - bp := tls.Alloc(334) - defer tls.Free(334) + bp := tls.Alloc(310) + defer tls.Free(310) - // var db uintptr at bp+72, 8 + // var db uintptr at bp+48, 8 - // var str Tcl_DString at bp+80, 216 + // var str Tcl_DString at bp+56, 216 var rc int32 - *(*uintptr)(unsafe.Pointer(bp + 296 /* zErr */)) = uintptr(0) + *(*uintptr)(unsafe.Pointer(bp + 272 /* zErr */)) = uintptr(0) var zSql uintptr - // var zBuf [30]int8 at bp+304, 30 + // var zBuf [30]int8 at bp+280, 30 if argc != 4 { tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp, ts+15410 /* "wrong # args: sh..." */, *(*uintptr)(unsafe.Pointer(argv)), ts+15436 /* " DB FORMAT STRIN..." */, 0)) return TCL_ERROR } - if getDbPointer(tls, interp, *(*uintptr)(unsafe.Pointer(argv + 1*8)), bp+72 /* &db */) != 0 { + if getDbPointer(tls, interp, *(*uintptr)(unsafe.Pointer(argv + 1*8)), bp+48 /* &db */) != 0 { return TCL_ERROR } - tcl.XTcl_DStringInit(tls, bp+80 /* &str */) - zSql = sqlite3.Xsqlite3_mprintf(tls, *(*uintptr)(unsafe.Pointer(argv + 2*8)), libc.VaList(bp+40, *(*uintptr)(unsafe.Pointer(argv + 3*8)))) - rc = sqlite3.Xsqlite3_exec(tls, *(*uintptr)(unsafe.Pointer(bp + 72 /* db */)), zSql, *(*uintptr)(unsafe.Pointer(&struct { + tcl.XTcl_DStringInit(tls, bp+56 /* &str */) + zSql = sqlite3.Xsqlite3_mprintf(tls, *(*uintptr)(unsafe.Pointer(argv + 2*8)), libc.VaList(bp+32, *(*uintptr)(unsafe.Pointer(argv + 3*8)))) + rc = sqlite3.Xsqlite3_exec(tls, *(*uintptr)(unsafe.Pointer(bp + 48 /* db */)), zSql, *(*uintptr)(unsafe.Pointer(&struct { f func(*libc.TLS, uintptr, int32, uintptr, uintptr) int32 - }{exec_printf_cb})), bp+80 /* &str */, bp+296 /* &zErr */) + }{exec_printf_cb})), bp+56 /* &str */, bp+272 /* &zErr */) sqlite3.Xsqlite3_free(tls, zSql) - sqlite3.Xsqlite3_snprintf(tls, int32(unsafe.Sizeof([30]int8{})), bp+304 /* &zBuf[0] */, ts+1238 /* "%d" */, libc.VaList(bp+56, rc)) - tcl.XTcl_AppendElement(tls, interp, bp+304 /* &zBuf[0] */) + sqlite3.Xsqlite3_snprintf(tls, int32(unsafe.Sizeof([30]int8{})), bp+280 /* &zBuf[0] */, ts+1238 /* "%d" */, libc.VaList(bp+40, rc)) + tcl.XTcl_AppendElement(tls, interp, bp+280 /* &zBuf[0] */) tcl.XTcl_AppendElement(tls, interp, func() uintptr { if rc == SQLITE_OK { - return (*Tcl_DString)(unsafe.Pointer(bp + 80 /* &str */)).Fstring + return (*Tcl_DString)(unsafe.Pointer(bp + 56 /* &str */)).Fstring } - return *(*uintptr)(unsafe.Pointer(bp + 296 /* zErr */)) + return *(*uintptr)(unsafe.Pointer(bp + 272 /* zErr */)) }()) - tcl.XTcl_DStringFree(tls, bp+80 /* &str */) - if *(*uintptr)(unsafe.Pointer(bp + 296 /* zErr */)) != 0 { - sqlite3.Xsqlite3_free(tls, *(*uintptr)(unsafe.Pointer(bp + 296 /* zErr */))) + tcl.XTcl_DStringFree(tls, bp+56 /* &str */) + if *(*uintptr)(unsafe.Pointer(bp + 272 /* zErr */)) != 0 { + sqlite3.Xsqlite3_free(tls, *(*uintptr)(unsafe.Pointer(bp + 272 /* zErr */))) } - if sqlite3TestErrCode(tls, interp, *(*uintptr)(unsafe.Pointer(bp + 72 /* db */)), rc) != 0 { + if sqlite3TestErrCode(tls, interp, *(*uintptr)(unsafe.Pointer(bp + 48 /* db */)), rc) != 0 { return TCL_ERROR } return TCL_OK @@ -91125,28 +91125,28 @@ func test_exec_printf(tls *libc.TLS, NotUsed uintptr, interp uintptr, argc int32 // HEX into ASCII. Most characters are translated as is. %HH becomes // a hex character. func test_exec_hex(tls *libc.TLS, NotUsed uintptr, interp uintptr, argc int32, argv uintptr) int32 { /* test1.c:334:26: */ - bp := tls.Alloc(822) - defer tls.Free(822) + bp := tls.Alloc(806) + defer tls.Free(806) - // var db uintptr at bp+56, 8 + // var db uintptr at bp+40, 8 - // var str Tcl_DString at bp+568, 216 + // var str Tcl_DString at bp+552, 216 var rc int32 var i int32 var j int32 - *(*uintptr)(unsafe.Pointer(bp + 784 /* zErr */)) = uintptr(0) + *(*uintptr)(unsafe.Pointer(bp + 768 /* zErr */)) = uintptr(0) var zHex uintptr - // var zSql [501]int8 at bp+64, 501 + // var zSql [501]int8 at bp+48, 501 - // var zBuf [30]int8 at bp+792, 30 + // var zBuf [30]int8 at bp+776, 30 if argc != 3 { tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp, ts+15410 /* "wrong # args: sh..." */, *(*uintptr)(unsafe.Pointer(argv)), ts+15454 /* " DB HEX" */, 0)) return TCL_ERROR } - if getDbPointer(tls, interp, *(*uintptr)(unsafe.Pointer(argv + 1*8)), bp+56 /* &db */) != 0 { + if getDbPointer(tls, interp, *(*uintptr)(unsafe.Pointer(argv + 1*8)), bp+40 /* &db */) != 0 { return TCL_ERROR } zHex = *(*uintptr)(unsafe.Pointer(argv + 2*8)) @@ -91157,10 +91157,10 @@ __1: } { if ((int32(*(*int8)(unsafe.Pointer(zHex + uintptr(j)))) == '%') && (*(*int8)(unsafe.Pointer(zHex + uintptr((j + 2)))) != 0)) && (*(*int8)(unsafe.Pointer(zHex + uintptr((j + 2)))) != 0) { - *(*int8)(unsafe.Pointer(bp + 64 /* &zSql[0] */ + uintptr(i))) = (int8((testHexToInt(tls, int32(*(*int8)(unsafe.Pointer(zHex + uintptr((j + 1)))))) << 4) + testHexToInt(tls, int32(*(*int8)(unsafe.Pointer(zHex + uintptr((j + 2)))))))) + *(*int8)(unsafe.Pointer(bp + 48 /* &zSql[0] */ + uintptr(i))) = (int8((testHexToInt(tls, int32(*(*int8)(unsafe.Pointer(zHex + uintptr((j + 1)))))) << 4) + testHexToInt(tls, int32(*(*int8)(unsafe.Pointer(zHex + uintptr((j + 2)))))))) j = j + (2) } else { - *(*int8)(unsafe.Pointer(bp + 64 /* &zSql[0] */ + uintptr(i))) = *(*int8)(unsafe.Pointer(zHex + uintptr(j))) + *(*int8)(unsafe.Pointer(bp + 48 /* &zSql[0] */ + uintptr(i))) = *(*int8)(unsafe.Pointer(zHex + uintptr(j))) } } @@ -91172,24 +91172,24 @@ __2: goto __3 __3: ; - *(*int8)(unsafe.Pointer(bp + 64 /* &zSql[0] */ + uintptr(i))) = int8(0) - tcl.XTcl_DStringInit(tls, bp+568 /* &str */) - rc = sqlite3.Xsqlite3_exec(tls, *(*uintptr)(unsafe.Pointer(bp + 56 /* db */)), bp+64 /* &zSql[0] */, *(*uintptr)(unsafe.Pointer(&struct { + *(*int8)(unsafe.Pointer(bp + 48 /* &zSql[0] */ + uintptr(i))) = int8(0) + tcl.XTcl_DStringInit(tls, bp+552 /* &str */) + rc = sqlite3.Xsqlite3_exec(tls, *(*uintptr)(unsafe.Pointer(bp + 40 /* db */)), bp+48 /* &zSql[0] */, *(*uintptr)(unsafe.Pointer(&struct { f func(*libc.TLS, uintptr, int32, uintptr, uintptr) int32 - }{exec_printf_cb})), bp+568 /* &str */, bp+784 /* &zErr */) - sqlite3.Xsqlite3_snprintf(tls, int32(unsafe.Sizeof([30]int8{})), bp+792 /* &zBuf[0] */, ts+1238 /* "%d" */, libc.VaList(bp+40, rc)) - tcl.XTcl_AppendElement(tls, interp, bp+792 /* &zBuf[0] */) + }{exec_printf_cb})), bp+552 /* &str */, bp+768 /* &zErr */) + sqlite3.Xsqlite3_snprintf(tls, int32(unsafe.Sizeof([30]int8{})), bp+776 /* &zBuf[0] */, ts+1238 /* "%d" */, libc.VaList(bp+32, rc)) + tcl.XTcl_AppendElement(tls, interp, bp+776 /* &zBuf[0] */) tcl.XTcl_AppendElement(tls, interp, func() uintptr { if rc == SQLITE_OK { - return (*Tcl_DString)(unsafe.Pointer(bp + 568 /* &str */)).Fstring + return (*Tcl_DString)(unsafe.Pointer(bp + 552 /* &str */)).Fstring } - return *(*uintptr)(unsafe.Pointer(bp + 784 /* zErr */)) + return *(*uintptr)(unsafe.Pointer(bp + 768 /* zErr */)) }()) - tcl.XTcl_DStringFree(tls, bp+568 /* &str */) - if *(*uintptr)(unsafe.Pointer(bp + 784 /* zErr */)) != 0 { - sqlite3.Xsqlite3_free(tls, *(*uintptr)(unsafe.Pointer(bp + 784 /* zErr */))) + tcl.XTcl_DStringFree(tls, bp+552 /* &str */) + if *(*uintptr)(unsafe.Pointer(bp + 768 /* zErr */)) != 0 { + sqlite3.Xsqlite3_free(tls, *(*uintptr)(unsafe.Pointer(bp + 768 /* zErr */))) } - if sqlite3TestErrCode(tls, interp, *(*uintptr)(unsafe.Pointer(bp + 56 /* db */)), rc) != 0 { + if sqlite3TestErrCode(tls, interp, *(*uintptr)(unsafe.Pointer(bp + 40 /* db */)), rc) != 0 { return TCL_ERROR } return TCL_OK @@ -91200,38 +91200,38 @@ __3: // // Enter or leave the mutex on a database connection. func db_enter(tls *libc.TLS, NotUsed uintptr, interp uintptr, argc int32, argv uintptr) int32 { /* test1.c:380:26: */ - bp := tls.Alloc(48) - defer tls.Free(48) + bp := tls.Alloc(40) + defer tls.Free(40) - // var db uintptr at bp+40, 8 + // var db uintptr at bp+32, 8 if argc != 2 { tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp, ts+15410 /* "wrong # args: sh..." */, *(*uintptr)(unsafe.Pointer(argv)), ts+15462 /* " DB" */, 0)) return TCL_ERROR } - if getDbPointer(tls, interp, *(*uintptr)(unsafe.Pointer(argv + 1*8)), bp+40 /* &db */) != 0 { + if getDbPointer(tls, interp, *(*uintptr)(unsafe.Pointer(argv + 1*8)), bp+32 /* &db */) != 0 { return TCL_ERROR } - sqlite3.Xsqlite3_mutex_enter(tls, (*sqlite31)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp + 40 /* db */)))).Fmutex) + sqlite3.Xsqlite3_mutex_enter(tls, (*sqlite31)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp + 32 /* db */)))).Fmutex) return TCL_OK } func db_leave(tls *libc.TLS, NotUsed uintptr, interp uintptr, argc int32, argv uintptr) int32 { /* test1.c:396:26: */ - bp := tls.Alloc(48) - defer tls.Free(48) + bp := tls.Alloc(40) + defer tls.Free(40) - // var db uintptr at bp+40, 8 + // var db uintptr at bp+32, 8 if argc != 2 { tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp, ts+15410 /* "wrong # args: sh..." */, *(*uintptr)(unsafe.Pointer(argv)), ts+15462 /* " DB" */, 0)) return TCL_ERROR } - if getDbPointer(tls, interp, *(*uintptr)(unsafe.Pointer(argv + 1*8)), bp+40 /* &db */) != 0 { + if getDbPointer(tls, interp, *(*uintptr)(unsafe.Pointer(argv + 1*8)), bp+32 /* &db */) != 0 { return TCL_ERROR } - sqlite3.Xsqlite3_mutex_leave(tls, (*sqlite31)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp + 40 /* db */)))).Fmutex) + sqlite3.Xsqlite3_mutex_leave(tls, (*sqlite31)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp + 32 /* db */)))).Fmutex) return TCL_OK } @@ -91239,30 +91239,30 @@ func db_leave(tls *libc.TLS, NotUsed uintptr, interp uintptr, argc int32, argv u // // Invoke the sqlite3_exec interface using the open database DB func test_exec(tls *libc.TLS, NotUsed uintptr, interp uintptr, argc int32, argv uintptr) int32 { /* test1.c:418:26: */ - bp := tls.Alloc(334) - defer tls.Free(334) + bp := tls.Alloc(310) + defer tls.Free(310) - // var db uintptr at bp+72, 8 + // var db uintptr at bp+48, 8 - // var str Tcl_DString at bp+80, 216 + // var str Tcl_DString at bp+56, 216 var rc int32 - *(*uintptr)(unsafe.Pointer(bp + 296 /* zErr */)) = uintptr(0) + *(*uintptr)(unsafe.Pointer(bp + 272 /* zErr */)) = uintptr(0) var zSql uintptr var i int32 var j int32 - // var zBuf [30]int8 at bp+304, 30 + // var zBuf [30]int8 at bp+280, 30 if argc != 3 { tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp, ts+15410 /* "wrong # args: sh..." */, *(*uintptr)(unsafe.Pointer(argv)), ts+15466 /* " DB SQL" */, 0)) return TCL_ERROR } - if getDbPointer(tls, interp, *(*uintptr)(unsafe.Pointer(argv + 1*8)), bp+72 /* &db */) != 0 { + if getDbPointer(tls, interp, *(*uintptr)(unsafe.Pointer(argv + 1*8)), bp+48 /* &db */) != 0 { return TCL_ERROR } - tcl.XTcl_DStringInit(tls, bp+80 /* &str */) - zSql = sqlite3.Xsqlite3_mprintf(tls, ts /* "%s" */, libc.VaList(bp+40, *(*uintptr)(unsafe.Pointer(argv + 2*8)))) + tcl.XTcl_DStringInit(tls, bp+56 /* &str */) + zSql = sqlite3.Xsqlite3_mprintf(tls, ts /* "%s" */, libc.VaList(bp+32, *(*uintptr)(unsafe.Pointer(argv + 2*8)))) for i = libc.AssignInt32(&j, 0); *(*int8)(unsafe.Pointer(zSql + uintptr(i))) != 0; { if int32(*(*int8)(unsafe.Pointer(zSql + uintptr(i)))) == '%' { *(*int8)(unsafe.Pointer(zSql + uintptr(libc.PostIncInt32(&j, 1)))) = (int8((testHexToInt(tls, int32(*(*int8)(unsafe.Pointer(zSql + uintptr((i + 1)))))) << 4) + testHexToInt(tls, int32(*(*int8)(unsafe.Pointer(zSql + uintptr((i + 2)))))))) @@ -91272,23 +91272,23 @@ func test_exec(tls *libc.TLS, NotUsed uintptr, interp uintptr, argc int32, argv } } *(*int8)(unsafe.Pointer(zSql + uintptr(j))) = int8(0) - rc = sqlite3.Xsqlite3_exec(tls, *(*uintptr)(unsafe.Pointer(bp + 72 /* db */)), zSql, *(*uintptr)(unsafe.Pointer(&struct { + rc = sqlite3.Xsqlite3_exec(tls, *(*uintptr)(unsafe.Pointer(bp + 48 /* db */)), zSql, *(*uintptr)(unsafe.Pointer(&struct { f func(*libc.TLS, uintptr, int32, uintptr, uintptr) int32 - }{exec_printf_cb})), bp+80 /* &str */, bp+296 /* &zErr */) + }{exec_printf_cb})), bp+56 /* &str */, bp+272 /* &zErr */) sqlite3.Xsqlite3_free(tls, zSql) - sqlite3.Xsqlite3_snprintf(tls, int32(unsafe.Sizeof([30]int8{})), bp+304 /* &zBuf[0] */, ts+1238 /* "%d" */, libc.VaList(bp+56, rc)) - tcl.XTcl_AppendElement(tls, interp, bp+304 /* &zBuf[0] */) + sqlite3.Xsqlite3_snprintf(tls, int32(unsafe.Sizeof([30]int8{})), bp+280 /* &zBuf[0] */, ts+1238 /* "%d" */, libc.VaList(bp+40, rc)) + tcl.XTcl_AppendElement(tls, interp, bp+280 /* &zBuf[0] */) tcl.XTcl_AppendElement(tls, interp, func() uintptr { if rc == SQLITE_OK { - return (*Tcl_DString)(unsafe.Pointer(bp + 80 /* &str */)).Fstring + return (*Tcl_DString)(unsafe.Pointer(bp + 56 /* &str */)).Fstring } - return *(*uintptr)(unsafe.Pointer(bp + 296 /* zErr */)) + return *(*uintptr)(unsafe.Pointer(bp + 272 /* zErr */)) }()) - tcl.XTcl_DStringFree(tls, bp+80 /* &str */) - if *(*uintptr)(unsafe.Pointer(bp + 296 /* zErr */)) != 0 { - sqlite3.Xsqlite3_free(tls, *(*uintptr)(unsafe.Pointer(bp + 296 /* zErr */))) + tcl.XTcl_DStringFree(tls, bp+56 /* &str */) + if *(*uintptr)(unsafe.Pointer(bp + 272 /* zErr */)) != 0 { + sqlite3.Xsqlite3_free(tls, *(*uintptr)(unsafe.Pointer(bp + 272 /* zErr */))) } - if sqlite3TestErrCode(tls, interp, *(*uintptr)(unsafe.Pointer(bp + 72 /* db */)), rc) != 0 { + if sqlite3TestErrCode(tls, interp, *(*uintptr)(unsafe.Pointer(bp + 48 /* db */)), rc) != 0 { return TCL_ERROR } return TCL_OK @@ -91299,23 +91299,23 @@ func test_exec(tls *libc.TLS, NotUsed uintptr, interp uintptr, argc int32, argv // Invoke the sqlite3_exec interface using the open database DB. Discard // all results func test_exec_nr(tls *libc.TLS, NotUsed uintptr, interp uintptr, argc int32, argv uintptr) int32 { /* test1.c:465:26: */ - bp := tls.Alloc(56) - defer tls.Free(56) + bp := tls.Alloc(48) + defer tls.Free(48) - // var db uintptr at bp+40, 8 + // var db uintptr at bp+32, 8 var rc int32 - *(*uintptr)(unsafe.Pointer(bp + 48 /* zErr */)) = uintptr(0) + *(*uintptr)(unsafe.Pointer(bp + 40 /* zErr */)) = uintptr(0) if argc != 3 { tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp, ts+15410 /* "wrong # args: sh..." */, *(*uintptr)(unsafe.Pointer(argv)), ts+15466 /* " DB SQL" */, 0)) return TCL_ERROR } - if getDbPointer(tls, interp, *(*uintptr)(unsafe.Pointer(argv + 1*8)), bp+40 /* &db */) != 0 { + if getDbPointer(tls, interp, *(*uintptr)(unsafe.Pointer(argv + 1*8)), bp+32 /* &db */) != 0 { return TCL_ERROR } - rc = sqlite3.Xsqlite3_exec(tls, *(*uintptr)(unsafe.Pointer(bp + 40 /* db */)), *(*uintptr)(unsafe.Pointer(argv + 2*8)), uintptr(0), uintptr(0), bp+48 /* &zErr */) - if sqlite3TestErrCode(tls, interp, *(*uintptr)(unsafe.Pointer(bp + 40 /* db */)), rc) != 0 { + rc = sqlite3.Xsqlite3_exec(tls, *(*uintptr)(unsafe.Pointer(bp + 32 /* db */)), *(*uintptr)(unsafe.Pointer(argv + 2*8)), uintptr(0), uintptr(0), bp+40 /* &zErr */) + if sqlite3TestErrCode(tls, interp, *(*uintptr)(unsafe.Pointer(bp + 32 /* db */)), rc) != 0 { return TCL_ERROR } return TCL_OK @@ -91327,8 +91327,8 @@ func test_exec_nr(tls *libc.TLS, NotUsed uintptr, interp uintptr, argc int32, ar // concatenate arg0 through argn using separator as the separator. // Return the result. func test_mprintf_z(tls *libc.TLS, NotUsed uintptr, interp uintptr, argc int32, argv uintptr) int32 { /* test1.c:492:26: */ - bp := tls.Alloc(56) - defer tls.Free(56) + bp := tls.Alloc(40) + defer tls.Free(40) var zResult uintptr = uintptr(0) var i int32 @@ -91336,7 +91336,7 @@ func test_mprintf_z(tls *libc.TLS, NotUsed uintptr, interp uintptr, argc int32, for i = 2; (i < argc) && ((i == 2) || (zResult != 0)); i++ { zResult = sqlite3.Xsqlite3_mprintf(tls, ts+15474 /* "%z%s%s" */, libc.VaList(bp, zResult, *(*uintptr)(unsafe.Pointer(argv + 1*8)), *(*uintptr)(unsafe.Pointer(argv + uintptr(i)*8)))) } - tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp+32, zResult, 0)) + tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp+24, zResult, 0)) sqlite3.Xsqlite3_free(tls, zResult) return TCL_OK } @@ -91346,14 +91346,14 @@ func test_mprintf_z(tls *libc.TLS, NotUsed uintptr, interp uintptr, argc int32, // Test the %n format of sqlite_mprintf(). Return the length of the // input string. func test_mprintf_n(tls *libc.TLS, NotUsed uintptr, interp uintptr, argc int32, argv uintptr) int32 { /* test1.c:515:26: */ - bp := tls.Alloc(28) - defer tls.Free(28) + bp := tls.Alloc(20) + defer tls.Free(20) var zStr uintptr - *(*int32)(unsafe.Pointer(bp + 24 /* n */)) = 0 - zStr = sqlite3.Xsqlite3_mprintf(tls, ts+15481 /* "%s%n" */, libc.VaList(bp, *(*uintptr)(unsafe.Pointer(argv + 1*8)), bp+24 /* &n */)) + *(*int32)(unsafe.Pointer(bp + 16 /* n */)) = 0 + zStr = sqlite3.Xsqlite3_mprintf(tls, ts+15481 /* "%s%n" */, libc.VaList(bp, *(*uintptr)(unsafe.Pointer(argv + 1*8)), bp+16 /* &n */)) sqlite3.Xsqlite3_free(tls, zStr) - tcl.XTcl_SetObjResult(tls, interp, tcl.XTcl_NewIntObj(tls, *(*int32)(unsafe.Pointer(bp + 24 /* n */)))) + tcl.XTcl_SetObjResult(tls, interp, tcl.XTcl_NewIntObj(tls, *(*int32)(unsafe.Pointer(bp + 16 /* n */)))) return TCL_OK } @@ -91366,10 +91366,10 @@ func test_mprintf_n(tls *libc.TLS, NotUsed uintptr, interp uintptr, argc int32, // You pass in a format string that requires more than one argument, // bad things will happen. func test_snprintf_int(tls *libc.TLS, NotUsed uintptr, interp uintptr, argc int32, argv uintptr) int32 { /* test1.c:539:26: */ - bp := tls.Alloc(140) - defer tls.Free(140) + bp := tls.Alloc(124) + defer tls.Free(124) - // var zStr [100]int8 at bp+40, 100 + // var zStr [100]int8 at bp+24, 100 var n int32 = libc.Xatoi(tls, *(*uintptr)(unsafe.Pointer(argv + 1*8))) var zFormat uintptr = *(*uintptr)(unsafe.Pointer(argv + 2*8)) @@ -91377,9 +91377,9 @@ func test_snprintf_int(tls *libc.TLS, NotUsed uintptr, interp uintptr, argc int3 if uint64(n) > uint64(unsafe.Sizeof([100]int8{})) { n = int32(unsafe.Sizeof([100]int8{})) } - sqlite3.Xsqlite3_snprintf(tls, int32(unsafe.Sizeof([100]int8{})), bp+40 /* &zStr[0] */, ts+15486 /* "abcdefghijklmnop..." */, 0) - sqlite3.Xsqlite3_snprintf(tls, n, bp+40 /* &zStr[0] */, zFormat, libc.VaList(bp, a1)) - tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp+16, bp+40 /* &zStr[0] */, 0)) + sqlite3.Xsqlite3_snprintf(tls, int32(unsafe.Sizeof([100]int8{})), bp+24 /* &zStr[0] */, ts+15486 /* "abcdefghijklmnop..." */, 0) + sqlite3.Xsqlite3_snprintf(tls, n, bp+24 /* &zStr[0] */, zFormat, libc.VaList(bp, a1)) + tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp+8, bp+24 /* &zStr[0] */, 0)) return TCL_OK } @@ -91389,26 +91389,26 @@ func test_snprintf_int(tls *libc.TLS, NotUsed uintptr, interp uintptr, argc int3 // DB. The SQL is the string FORMAT. The format string should contain // one %s or %q. STRING is the value inserted into %s or %q. func test_get_table_printf(tls *libc.TLS, NotUsed uintptr, interp uintptr, argc int32, argv uintptr) int32 { /* test1.c:565:26: */ - bp := tls.Alloc(390) - defer tls.Free(390) + bp := tls.Alloc(350) + defer tls.Free(350) - // var db uintptr at bp+112, 8 + // var db uintptr at bp+72, 8 - // var str Tcl_DString at bp+120, 216 + // var str Tcl_DString at bp+80, 216 var rc int32 - *(*uintptr)(unsafe.Pointer(bp + 344 /* zErr */)) = uintptr(0) - *(*int32)(unsafe.Pointer(bp + 352 /* nRow */)) = 0 - *(*int32)(unsafe.Pointer(bp + 356 /* nCol */)) = 0 - // var aResult uintptr at bp+336, 8 + *(*uintptr)(unsafe.Pointer(bp + 304 /* zErr */)) = uintptr(0) + *(*int32)(unsafe.Pointer(bp + 312 /* nRow */)) = 0 + *(*int32)(unsafe.Pointer(bp + 316 /* nCol */)) = 0 + // var aResult uintptr at bp+296, 8 var i int32 - // var zBuf [30]int8 at bp+360, 30 + // var zBuf [30]int8 at bp+320, 30 var zSql uintptr - *(*int32)(unsafe.Pointer(bp + 104 /* resCount */)) = -1 + *(*int32)(unsafe.Pointer(bp + 64 /* resCount */)) = -1 if argc == 5 { - if tcl.XTcl_GetInt(tls, interp, *(*uintptr)(unsafe.Pointer(argv + 4*8)), bp+104 /* &resCount */) != 0 { + if tcl.XTcl_GetInt(tls, interp, *(*uintptr)(unsafe.Pointer(argv + 4*8)), bp+64 /* &resCount */) != 0 { return TCL_ERROR } } @@ -91417,43 +91417,43 @@ func test_get_table_printf(tls *libc.TLS, NotUsed uintptr, interp uintptr, argc ts+15513 /* " DB FORMAT STRIN..." */, 0)) return TCL_ERROR } - if getDbPointer(tls, interp, *(*uintptr)(unsafe.Pointer(argv + 1*8)), bp+112 /* &db */) != 0 { + if getDbPointer(tls, interp, *(*uintptr)(unsafe.Pointer(argv + 1*8)), bp+72 /* &db */) != 0 { return TCL_ERROR } - tcl.XTcl_DStringInit(tls, bp+120 /* &str */) - zSql = sqlite3.Xsqlite3_mprintf(tls, *(*uintptr)(unsafe.Pointer(argv + 2*8)), libc.VaList(bp+40, *(*uintptr)(unsafe.Pointer(argv + 3*8)))) + tcl.XTcl_DStringInit(tls, bp+80 /* &str */) + zSql = sqlite3.Xsqlite3_mprintf(tls, *(*uintptr)(unsafe.Pointer(argv + 2*8)), libc.VaList(bp+32, *(*uintptr)(unsafe.Pointer(argv + 3*8)))) if argc == 5 { - rc = sqlite3.Xsqlite3_get_table(tls, *(*uintptr)(unsafe.Pointer(bp + 112 /* db */)), zSql, bp+336 /* &aResult */, uintptr(0), uintptr(0), bp+344 /* &zErr */) + rc = sqlite3.Xsqlite3_get_table(tls, *(*uintptr)(unsafe.Pointer(bp + 72 /* db */)), zSql, bp+296 /* &aResult */, uintptr(0), uintptr(0), bp+304 /* &zErr */) } else { - rc = sqlite3.Xsqlite3_get_table(tls, *(*uintptr)(unsafe.Pointer(bp + 112 /* db */)), zSql, bp+336 /* &aResult */, bp+352 /* &nRow */, bp+356 /* &nCol */, bp+344 /* &zErr */) - *(*int32)(unsafe.Pointer(bp + 104 /* resCount */)) = ((*(*int32)(unsafe.Pointer(bp + 352 /* nRow */)) + 1) * *(*int32)(unsafe.Pointer(bp + 356 /* nCol */))) + rc = sqlite3.Xsqlite3_get_table(tls, *(*uintptr)(unsafe.Pointer(bp + 72 /* db */)), zSql, bp+296 /* &aResult */, bp+312 /* &nRow */, bp+316 /* &nCol */, bp+304 /* &zErr */) + *(*int32)(unsafe.Pointer(bp + 64 /* resCount */)) = ((*(*int32)(unsafe.Pointer(bp + 312 /* nRow */)) + 1) * *(*int32)(unsafe.Pointer(bp + 316 /* nCol */))) } sqlite3.Xsqlite3_free(tls, zSql) - sqlite3.Xsqlite3_snprintf(tls, int32(unsafe.Sizeof([30]int8{})), bp+360 /* &zBuf[0] */, ts+1238 /* "%d" */, libc.VaList(bp+56, rc)) - tcl.XTcl_AppendElement(tls, interp, bp+360 /* &zBuf[0] */) + sqlite3.Xsqlite3_snprintf(tls, int32(unsafe.Sizeof([30]int8{})), bp+320 /* &zBuf[0] */, ts+1238 /* "%d" */, libc.VaList(bp+40, rc)) + tcl.XTcl_AppendElement(tls, interp, bp+320 /* &zBuf[0] */) if rc == SQLITE_OK { if argc == 4 { - sqlite3.Xsqlite3_snprintf(tls, int32(unsafe.Sizeof([30]int8{})), bp+360 /* &zBuf[0] */, ts+1238 /* "%d" */, libc.VaList(bp+72, *(*int32)(unsafe.Pointer(bp + 352 /* nRow */)))) - tcl.XTcl_AppendElement(tls, interp, bp+360 /* &zBuf[0] */) - sqlite3.Xsqlite3_snprintf(tls, int32(unsafe.Sizeof([30]int8{})), bp+360 /* &zBuf[0] */, ts+1238 /* "%d" */, libc.VaList(bp+88, *(*int32)(unsafe.Pointer(bp + 356 /* nCol */)))) - tcl.XTcl_AppendElement(tls, interp, bp+360 /* &zBuf[0] */) + sqlite3.Xsqlite3_snprintf(tls, int32(unsafe.Sizeof([30]int8{})), bp+320 /* &zBuf[0] */, ts+1238 /* "%d" */, libc.VaList(bp+48, *(*int32)(unsafe.Pointer(bp + 312 /* nRow */)))) + tcl.XTcl_AppendElement(tls, interp, bp+320 /* &zBuf[0] */) + sqlite3.Xsqlite3_snprintf(tls, int32(unsafe.Sizeof([30]int8{})), bp+320 /* &zBuf[0] */, ts+1238 /* "%d" */, libc.VaList(bp+56, *(*int32)(unsafe.Pointer(bp + 316 /* nCol */)))) + tcl.XTcl_AppendElement(tls, interp, bp+320 /* &zBuf[0] */) } - for i = 0; i < *(*int32)(unsafe.Pointer(bp + 104 /* resCount */)); i++ { + for i = 0; i < *(*int32)(unsafe.Pointer(bp + 64 /* resCount */)); i++ { tcl.XTcl_AppendElement(tls, interp, func() uintptr { - if *(*uintptr)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp + 336 /* aResult */)) + uintptr(i)*8)) != 0 { - return *(*uintptr)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp + 336 /* aResult */)) + uintptr(i)*8)) + if *(*uintptr)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp + 296 /* aResult */)) + uintptr(i)*8)) != 0 { + return *(*uintptr)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp + 296 /* aResult */)) + uintptr(i)*8)) } return ts + 5707 /* "NULL" */ }()) } } else { - tcl.XTcl_AppendElement(tls, interp, *(*uintptr)(unsafe.Pointer(bp + 344 /* zErr */))) + tcl.XTcl_AppendElement(tls, interp, *(*uintptr)(unsafe.Pointer(bp + 304 /* zErr */))) } - sqlite3.Xsqlite3_free_table(tls, *(*uintptr)(unsafe.Pointer(bp + 336 /* aResult */))) - if *(*uintptr)(unsafe.Pointer(bp + 344 /* zErr */)) != 0 { - sqlite3.Xsqlite3_free(tls, *(*uintptr)(unsafe.Pointer(bp + 344 /* zErr */))) + sqlite3.Xsqlite3_free_table(tls, *(*uintptr)(unsafe.Pointer(bp + 296 /* aResult */))) + if *(*uintptr)(unsafe.Pointer(bp + 304 /* zErr */)) != 0 { + sqlite3.Xsqlite3_free(tls, *(*uintptr)(unsafe.Pointer(bp + 304 /* zErr */))) } - if sqlite3TestErrCode(tls, interp, *(*uintptr)(unsafe.Pointer(bp + 112 /* db */)), rc) != 0 { + if sqlite3TestErrCode(tls, interp, *(*uintptr)(unsafe.Pointer(bp + 72 /* db */)), rc) != 0 { return TCL_ERROR } return TCL_OK @@ -91463,22 +91463,22 @@ func test_get_table_printf(tls *libc.TLS, NotUsed uintptr, interp uintptr, argc // // Returns the integer ROWID of the most recent insert. func test_last_rowid(tls *libc.TLS, NotUsed uintptr, interp uintptr, argc int32, argv uintptr) int32 { /* test1.c:628:26: */ - bp := tls.Alloc(118) - defer tls.Free(118) + bp := tls.Alloc(94) + defer tls.Free(94) - // var db uintptr at bp+80, 8 + // var db uintptr at bp+56, 8 - // var zBuf [30]int8 at bp+88, 30 + // var zBuf [30]int8 at bp+64, 30 if argc != 2 { tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp, ts+15410 /* "wrong # args: sh..." */, *(*uintptr)(unsafe.Pointer(argv)), ts+15539 /* " DB\"" */, 0)) return TCL_ERROR } - if getDbPointer(tls, interp, *(*uintptr)(unsafe.Pointer(argv + 1*8)), bp+80 /* &db */) != 0 { + if getDbPointer(tls, interp, *(*uintptr)(unsafe.Pointer(argv + 1*8)), bp+56 /* &db */) != 0 { return TCL_ERROR } - sqlite3.Xsqlite3_snprintf(tls, int32(unsafe.Sizeof([30]int8{})), bp+88 /* &zBuf[0] */, ts+11354 /* "%lld" */, libc.VaList(bp+40, sqlite3.Xsqlite3_last_insert_rowid(tls, *(*uintptr)(unsafe.Pointer(bp + 80 /* db */))))) - tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp+56, bp+88 /* &zBuf[0] */, 0)) + sqlite3.Xsqlite3_snprintf(tls, int32(unsafe.Sizeof([30]int8{})), bp+64 /* &zBuf[0] */, ts+11354 /* "%lld" */, libc.VaList(bp+32, sqlite3.Xsqlite3_last_insert_rowid(tls, *(*uintptr)(unsafe.Pointer(bp + 56 /* db */))))) + tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp+40, bp+64 /* &zBuf[0] */, 0)) return SQLITE_OK } @@ -91500,10 +91500,10 @@ func test_rekey(tls *libc.TLS, NotUsed uintptr, interp uintptr, argc int32, argv // // Closes the database opened by sqlite3_open. func sqlite_test_close(tls *libc.TLS, NotUsed uintptr, interp uintptr, argc int32, argv uintptr) int32 { /* test1.c:680:26: */ - bp := tls.Alloc(48) - defer tls.Free(48) + bp := tls.Alloc(40) + defer tls.Free(40) - // var db uintptr at bp+40, 8 + // var db uintptr at bp+32, 8 var rc int32 if argc != 2 { @@ -91511,10 +91511,10 @@ func sqlite_test_close(tls *libc.TLS, NotUsed uintptr, interp uintptr, argc int3 ts+15544 /* " FILENAME\"" */, 0)) return TCL_ERROR } - if getDbPointer(tls, interp, *(*uintptr)(unsafe.Pointer(argv + 1*8)), bp+40 /* &db */) != 0 { + if getDbPointer(tls, interp, *(*uintptr)(unsafe.Pointer(argv + 1*8)), bp+32 /* &db */) != 0 { return TCL_ERROR } - rc = sqlite3.Xsqlite3_close(tls, *(*uintptr)(unsafe.Pointer(bp + 40 /* db */))) + rc = sqlite3.Xsqlite3_close(tls, *(*uintptr)(unsafe.Pointer(bp + 32 /* db */))) tcl.XTcl_SetResult(tls, interp, sqlite3.Xsqlite3ErrName(tls, rc), uintptr(0)) return TCL_OK } @@ -91523,10 +91523,10 @@ func sqlite_test_close(tls *libc.TLS, NotUsed uintptr, interp uintptr, argc int3 // // Closes the database opened by sqlite3_open. func sqlite_test_close_v2(tls *libc.TLS, NotUsed uintptr, interp uintptr, argc int32, argv uintptr) int32 { /* test1.c:704:26: */ - bp := tls.Alloc(48) - defer tls.Free(48) + bp := tls.Alloc(40) + defer tls.Free(40) - // var db uintptr at bp+40, 8 + // var db uintptr at bp+32, 8 var rc int32 if argc != 2 { @@ -91534,10 +91534,10 @@ func sqlite_test_close_v2(tls *libc.TLS, NotUsed uintptr, interp uintptr, argc i ts+15544 /* " FILENAME\"" */, 0)) return TCL_ERROR } - if getDbPointer(tls, interp, *(*uintptr)(unsafe.Pointer(argv + 1*8)), bp+40 /* &db */) != 0 { + if getDbPointer(tls, interp, *(*uintptr)(unsafe.Pointer(argv + 1*8)), bp+32 /* &db */) != 0 { return TCL_ERROR } - rc = sqlite3.Xsqlite3_close_v2(tls, *(*uintptr)(unsafe.Pointer(bp + 40 /* db */))) + rc = sqlite3.Xsqlite3_close_v2(tls, *(*uintptr)(unsafe.Pointer(bp + 32 /* db */))) tcl.XTcl_SetResult(tls, interp, sqlite3.Xsqlite3ErrName(tls, rc), uintptr(0)) return TCL_OK } @@ -91560,35 +91560,35 @@ func t1_ifnullFunc(tls *libc.TLS, context uintptr, argc int32, argv uintptr) { / // UTF8 and returns a hex encoding. hex16le() interprets its argument // as UTF16le and returns a hex encoding. func hex8Func(tls *libc.TLS, p uintptr, argc int32, argv uintptr) { /* test1.c:748:13: */ - bp := tls.Alloc(216) - defer tls.Free(216) + bp := tls.Alloc(208) + defer tls.Free(208) var z uintptr var i int32 - // var zBuf [200]int8 at bp+16, 200 + // var zBuf [200]int8 at bp+8, 200 z = sqlite3.Xsqlite3_value_text(tls, *(*uintptr)(unsafe.Pointer(argv))) for i = 0; (uint64(i) < ((uint64(unsafe.Sizeof([200]int8{})) / uint64(2)) - uint64(2))) && (*(*uint8)(unsafe.Pointer(z + uintptr(i))) != 0); i++ { - sqlite3.Xsqlite3_snprintf(tls, (int32(uint64(unsafe.Sizeof([200]int8{})) - (uint64(i * 2)))), (bp + 16 /* &zBuf */ + uintptr((i * 2))), ts+15555 /* "%02x" */, libc.VaList(bp, int32(*(*uint8)(unsafe.Pointer(z + uintptr(i)))))) + sqlite3.Xsqlite3_snprintf(tls, (int32(uint64(unsafe.Sizeof([200]int8{})) - (uint64(i * 2)))), (bp + 8 /* &zBuf */ + uintptr((i * 2))), ts+15555 /* "%02x" */, libc.VaList(bp, int32(*(*uint8)(unsafe.Pointer(z + uintptr(i)))))) } - *(*int8)(unsafe.Pointer(bp + 16 /* &zBuf[0] */ + uintptr((i * 2)))) = int8(0) - sqlite3.Xsqlite3_result_text(tls, p, bp+16 /* zBuf */, -1, libc.UintptrFromInt32(-1)) + *(*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(416) - defer tls.Free(416) + bp := tls.Alloc(408) + defer tls.Free(408) var z uintptr var i int32 - // var zBuf [400]int8 at bp+16, 400 + // var zBuf [400]int8 at bp+8, 400 z = sqlite3.Xsqlite3_value_text16(tls, *(*uintptr)(unsafe.Pointer(argv))) for i = 0; (uint64(i) < ((uint64(unsafe.Sizeof([400]int8{})) / uint64(4)) - uint64(4))) && (*(*uint16)(unsafe.Pointer(z + uintptr(i)*2)) != 0); i++ { - sqlite3.Xsqlite3_snprintf(tls, (int32(uint64(unsafe.Sizeof([400]int8{})) - (uint64(i * 4)))), (bp + 16 /* &zBuf */ + uintptr((i * 4))), ts+15560 /* "%04x" */, libc.VaList(bp, (int32(*(*uint16)(unsafe.Pointer(z + uintptr(i)*2)))&0xff))) + sqlite3.Xsqlite3_snprintf(tls, (int32(uint64(unsafe.Sizeof([400]int8{})) - (uint64(i * 4)))), (bp + 8 /* &zBuf */ + uintptr((i * 4))), ts+15560 /* "%04x" */, libc.VaList(bp, (int32(*(*uint16)(unsafe.Pointer(z + uintptr(i)*2)))&0xff))) } - *(*int8)(unsafe.Pointer(bp + 16 /* &zBuf[0] */ + uintptr((i * 4)))) = int8(0) - sqlite3.Xsqlite3_result_text(tls, p, bp+16 /* zBuf */, -1, libc.UintptrFromInt32(-1)) + *(*int8)(unsafe.Pointer(bp + 8 /* &zBuf[0] */ + uintptr((i * 4)))) = int8(0) + sqlite3.Xsqlite3_result_text(tls, p, bp+8 /* zBuf */, -1, libc.UintptrFromInt32(-1)) } // A structure into which to accumulate text. @@ -91774,8 +91774,8 @@ var cnt int32 = 0 /* test1.c:969:14 */ // This SQL function returns the integer value of its argument as a MEM_IntReal // value. func intrealFunction(tls *libc.TLS, context uintptr, argc int32, argv uintptr) { /* test1.c:977:13: */ - bp := tls.Alloc(16) - defer tls.Free(16) + bp := tls.Alloc(8) + defer tls.Free(8) var v sqlite3_int64 = sqlite3.Xsqlite3_value_int64(tls, *(*uintptr)(unsafe.Pointer(argv))) sqlite3.Xsqlite3_result_int64(tls, context, v) @@ -91796,44 +91796,44 @@ func intrealFunction(tls *libc.TLS, context uintptr, argc int32, argv uintptr) { // sqlite3_create_function function while a query is in progress in order // to test the SQLITE_MISUSE detection logic. func test_create_function(tls *libc.TLS, NotUsed uintptr, interp uintptr, argc int32, argv uintptr) int32 { /* test1.c:1002:26: */ - bp := tls.Alloc(48) - defer tls.Free(48) + bp := tls.Alloc(40) + defer tls.Free(40) var rc int32 - // var db uintptr at bp+40, 8 + // var db uintptr at bp+32, 8 if argc != 2 { tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp, ts+15410 /* "wrong # args: sh..." */, *(*uintptr)(unsafe.Pointer(argv)), ts+15539 /* " DB\"" */, 0)) return TCL_ERROR } - if getDbPointer(tls, interp, *(*uintptr)(unsafe.Pointer(argv + 1*8)), bp+40 /* &db */) != 0 { + if getDbPointer(tls, interp, *(*uintptr)(unsafe.Pointer(argv + 1*8)), bp+32 /* &db */) != 0 { return TCL_ERROR } - rc = sqlite3.Xsqlite3_create_function(tls, *(*uintptr)(unsafe.Pointer(bp + 40 /* db */)), ts+15612 /* "x_coalesce" */, -1, SQLITE_UTF8, uintptr(0), + rc = sqlite3.Xsqlite3_create_function(tls, *(*uintptr)(unsafe.Pointer(bp + 32 /* db */)), ts+15612 /* "x_coalesce" */, -1, SQLITE_UTF8, uintptr(0), *(*uintptr)(unsafe.Pointer(&struct { f func(*libc.TLS, uintptr, int32, uintptr) }{t1_ifnullFunc})), uintptr(0), uintptr(0)) if rc == SQLITE_OK { - rc = sqlite3.Xsqlite3_create_function(tls, *(*uintptr)(unsafe.Pointer(bp + 40 /* db */)), ts+15623 /* "hex8" */, 1, (SQLITE_UTF8 | SQLITE_DETERMINISTIC), + rc = sqlite3.Xsqlite3_create_function(tls, *(*uintptr)(unsafe.Pointer(bp + 32 /* db */)), ts+15623 /* "hex8" */, 1, (SQLITE_UTF8 | SQLITE_DETERMINISTIC), uintptr(0), *(*uintptr)(unsafe.Pointer(&struct { f func(*libc.TLS, uintptr, int32, uintptr) }{hex8Func})), uintptr(0), uintptr(0)) } if rc == SQLITE_OK { - rc = sqlite3.Xsqlite3_create_function(tls, *(*uintptr)(unsafe.Pointer(bp + 40 /* db */)), ts+15628 /* "hex16" */, 1, (SQLITE_UTF16 | SQLITE_DETERMINISTIC), + rc = sqlite3.Xsqlite3_create_function(tls, *(*uintptr)(unsafe.Pointer(bp + 32 /* db */)), ts+15628 /* "hex16" */, 1, (SQLITE_UTF16 | SQLITE_DETERMINISTIC), uintptr(0), *(*uintptr)(unsafe.Pointer(&struct { f func(*libc.TLS, uintptr, int32, uintptr) }{hex16Func})), uintptr(0), uintptr(0)) } if rc == SQLITE_OK { - rc = sqlite3.Xsqlite3_create_function(tls, *(*uintptr)(unsafe.Pointer(bp + 40 /* db */)), ts+15634 /* "tkt2213func" */, 1, SQLITE_ANY, uintptr(0), + rc = sqlite3.Xsqlite3_create_function(tls, *(*uintptr)(unsafe.Pointer(bp + 32 /* db */)), ts+15634 /* "tkt2213func" */, 1, SQLITE_ANY, uintptr(0), *(*uintptr)(unsafe.Pointer(&struct { f func(*libc.TLS, uintptr, int32, uintptr) }{tkt2213Function})), uintptr(0), uintptr(0)) } if rc == SQLITE_OK { - rc = sqlite3.Xsqlite3_create_function(tls, *(*uintptr)(unsafe.Pointer(bp + 40 /* db */)), ts+15646 /* "pointer_change" */, 4, SQLITE_ANY, uintptr(0), + rc = sqlite3.Xsqlite3_create_function(tls, *(*uintptr)(unsafe.Pointer(bp + 32 /* db */)), ts+15646 /* "pointer_change" */, 4, SQLITE_ANY, uintptr(0), *(*uintptr)(unsafe.Pointer(&struct { f func(*libc.TLS, uintptr, int32, uintptr) }{ptrChngFunction})), uintptr(0), uintptr(0)) @@ -91843,13 +91843,13 @@ func test_create_function(tls *libc.TLS, NotUsed uintptr, interp uintptr, argc i // both return an ascending integer with each call. But counter1() is marked // as non-deterministic and counter2() is marked as deterministic. if rc == SQLITE_OK { - rc = sqlite3.Xsqlite3_create_function(tls, *(*uintptr)(unsafe.Pointer(bp + 40 /* db */)), ts+15661 /* "counter1" */, -1, SQLITE_UTF8, + rc = sqlite3.Xsqlite3_create_function(tls, *(*uintptr)(unsafe.Pointer(bp + 32 /* db */)), ts+15661 /* "counter1" */, -1, SQLITE_UTF8, uintptr(0), *(*uintptr)(unsafe.Pointer(&struct { f func(*libc.TLS, uintptr, int32, uintptr) }{nondeterministicFunction})), uintptr(0), uintptr(0)) } if rc == SQLITE_OK { - rc = sqlite3.Xsqlite3_create_function(tls, *(*uintptr)(unsafe.Pointer(bp + 40 /* db */)), ts+15670 /* "counter2" */, -1, (SQLITE_UTF8 | SQLITE_DETERMINISTIC), + rc = sqlite3.Xsqlite3_create_function(tls, *(*uintptr)(unsafe.Pointer(bp + 32 /* db */)), ts+15670 /* "counter2" */, -1, (SQLITE_UTF8 | SQLITE_DETERMINISTIC), uintptr(0), *(*uintptr)(unsafe.Pointer(&struct { f func(*libc.TLS, uintptr, int32, uintptr) }{nondeterministicFunction})), uintptr(0), uintptr(0)) @@ -91858,7 +91858,7 @@ func test_create_function(tls *libc.TLS, NotUsed uintptr, interp uintptr, argc i // The intreal() function converts its argument to an integer and returns // it as a MEM_IntReal. if rc == SQLITE_OK { - rc = sqlite3.Xsqlite3_create_function(tls, *(*uintptr)(unsafe.Pointer(bp + 40 /* db */)), ts+15679 /* "intreal" */, 1, SQLITE_UTF8, + rc = sqlite3.Xsqlite3_create_function(tls, *(*uintptr)(unsafe.Pointer(bp + 32 /* db */)), ts+15679 /* "intreal" */, 1, SQLITE_UTF8, uintptr(0), *(*uintptr)(unsafe.Pointer(&struct { f func(*libc.TLS, uintptr, int32, uintptr) }{intrealFunction})), uintptr(0), uintptr(0)) @@ -91869,23 +91869,23 @@ func test_create_function(tls *libc.TLS, NotUsed uintptr, interp uintptr, argc i if rc == SQLITE_OK { var zUtf16 uintptr var pVal uintptr - sqlite3.Xsqlite3_mutex_enter(tls, (*sqlite31)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp + 40 /* db */)))).Fmutex) - pVal = sqlite3.Xsqlite3ValueNew(tls, *(*uintptr)(unsafe.Pointer(bp + 40 /* db */))) + sqlite3.Xsqlite3_mutex_enter(tls, (*sqlite31)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp + 32 /* db */)))).Fmutex) + pVal = sqlite3.Xsqlite3ValueNew(tls, *(*uintptr)(unsafe.Pointer(bp + 32 /* db */))) sqlite3.Xsqlite3ValueSetStr(tls, pVal, -1, ts+15687 /* "x_sqlite_exec" */, uint8(SQLITE_UTF8), uintptr(0)) zUtf16 = sqlite3.Xsqlite3ValueText(tls, pVal, uint8(SQLITE_UTF16LE)) - if (*sqlite31)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp + 40 /* db */)))).FmallocFailed != 0 { + if (*sqlite31)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp + 32 /* db */)))).FmallocFailed != 0 { rc = SQLITE_NOMEM } else { - rc = sqlite3.Xsqlite3_create_function16(tls, *(*uintptr)(unsafe.Pointer(bp + 40 /* db */)), zUtf16, - 1, SQLITE_UTF16, *(*uintptr)(unsafe.Pointer(bp + 40 /* db */)), *(*uintptr)(unsafe.Pointer(&struct { + rc = sqlite3.Xsqlite3_create_function16(tls, *(*uintptr)(unsafe.Pointer(bp + 32 /* db */)), zUtf16, + 1, SQLITE_UTF16, *(*uintptr)(unsafe.Pointer(bp + 32 /* db */)), *(*uintptr)(unsafe.Pointer(&struct { f func(*libc.TLS, uintptr, int32, uintptr) }{sqlite3ExecFunc})), uintptr(0), uintptr(0)) } sqlite3.Xsqlite3ValueFree(tls, pVal) - sqlite3.Xsqlite3_mutex_leave(tls, (*sqlite31)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp + 40 /* db */)))).Fmutex) + sqlite3.Xsqlite3_mutex_leave(tls, (*sqlite31)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp + 32 /* db */)))).Fmutex) } - if sqlite3TestErrCode(tls, interp, *(*uintptr)(unsafe.Pointer(bp + 40 /* db */)), rc) != 0 { + if sqlite3TestErrCode(tls, interp, *(*uintptr)(unsafe.Pointer(bp + 32 /* db */)), rc) != 0 { return TCL_ERROR } tcl.XTcl_SetResult(tls, interp, sqlite3.Xsqlite3ErrName(tls, rc), uintptr(0)) @@ -91898,20 +91898,20 @@ func test_create_function(tls *libc.TLS, NotUsed uintptr, interp uintptr, argc i // connection DB, in order to drop all modules except those named in // the argument. func test_drop_modules(tls *libc.TLS, NotUsed uintptr, interp uintptr, argc int32, argv uintptr) int32 { /* test1.c:1092:26: */ - bp := tls.Alloc(48) - defer tls.Free(48) + bp := tls.Alloc(40) + defer tls.Free(40) - // var db uintptr at bp+40, 8 + // var db uintptr at bp+32, 8 if argc != 2 { tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp, ts+15410 /* "wrong # args: sh..." */, *(*uintptr)(unsafe.Pointer(argv)), ts+15539 /* " DB\"" */, 0)) return TCL_ERROR } - if getDbPointer(tls, interp, *(*uintptr)(unsafe.Pointer(argv + 1*8)), bp+40 /* &db */) != 0 { + if getDbPointer(tls, interp, *(*uintptr)(unsafe.Pointer(argv + 1*8)), bp+32 /* &db */) != 0 { return TCL_ERROR } - sqlite3.Xsqlite3_drop_modules(tls, *(*uintptr)(unsafe.Pointer(bp + 40 /* db */)), func() uintptr { + sqlite3.Xsqlite3_drop_modules(tls, *(*uintptr)(unsafe.Pointer(bp + 32 /* db */)), func() uintptr { if argc > 2 { return (argv + uintptr(2)*8) } @@ -92005,10 +92005,10 @@ func legacyCountFinalize(tls *libc.TLS, context uintptr) { /* test1.c:1170:13: * // "legacy_count()" with the supplied database handle. This is used // to test the deprecated sqlite3_aggregate_count() API. func test_create_aggregate(tls *libc.TLS, NotUsed uintptr, interp uintptr, argc int32, argv uintptr) int32 { /* test1.c:1194:26: */ - bp := tls.Alloc(48) - defer tls.Free(48) + bp := tls.Alloc(40) + defer tls.Free(40) - // var db uintptr at bp+40, 8 + // var db uintptr at bp+32, 8 var rc int32 if argc != 2 { @@ -92016,26 +92016,26 @@ func test_create_aggregate(tls *libc.TLS, NotUsed uintptr, interp uintptr, argc ts+15544 /* " FILENAME\"" */, 0)) return TCL_ERROR } - if getDbPointer(tls, interp, *(*uintptr)(unsafe.Pointer(argv + 1*8)), bp+40 /* &db */) != 0 { + if getDbPointer(tls, interp, *(*uintptr)(unsafe.Pointer(argv + 1*8)), bp+32 /* &db */) != 0 { return TCL_ERROR } - rc = sqlite3.Xsqlite3_create_function(tls, *(*uintptr)(unsafe.Pointer(bp + 40 /* db */)), ts+15752 /* "x_count" */, 0, SQLITE_UTF8, uintptr(0), uintptr(0), + rc = sqlite3.Xsqlite3_create_function(tls, *(*uintptr)(unsafe.Pointer(bp + 32 /* db */)), ts+15752 /* "x_count" */, 0, SQLITE_UTF8, uintptr(0), uintptr(0), *(*uintptr)(unsafe.Pointer(&struct { f func(*libc.TLS, uintptr, int32, uintptr) }{t1CountStep})), *(*uintptr)(unsafe.Pointer(&struct{ f func(*libc.TLS, uintptr) }{t1CountFinalize}))) if rc == SQLITE_OK { - rc = sqlite3.Xsqlite3_create_function(tls, *(*uintptr)(unsafe.Pointer(bp + 40 /* db */)), ts+15752 /* "x_count" */, 1, SQLITE_UTF8, uintptr(0), uintptr(0), + rc = sqlite3.Xsqlite3_create_function(tls, *(*uintptr)(unsafe.Pointer(bp + 32 /* db */)), ts+15752 /* "x_count" */, 1, SQLITE_UTF8, uintptr(0), uintptr(0), *(*uintptr)(unsafe.Pointer(&struct { f func(*libc.TLS, uintptr, int32, uintptr) }{t1CountStep})), *(*uintptr)(unsafe.Pointer(&struct{ f func(*libc.TLS, uintptr) }{t1CountFinalize}))) } if rc == SQLITE_OK { - rc = sqlite3.Xsqlite3_create_function(tls, *(*uintptr)(unsafe.Pointer(bp + 40 /* db */)), ts+15760 /* "legacy_count" */, 0, SQLITE_ANY, uintptr(0), uintptr(0), + rc = sqlite3.Xsqlite3_create_function(tls, *(*uintptr)(unsafe.Pointer(bp + 32 /* db */)), ts+15760 /* "legacy_count" */, 0, SQLITE_ANY, uintptr(0), uintptr(0), *(*uintptr)(unsafe.Pointer(&struct { f func(*libc.TLS, uintptr, int32, uintptr) }{legacyCountStep})), *(*uintptr)(unsafe.Pointer(&struct{ f func(*libc.TLS, uintptr) }{legacyCountFinalize}))) } - if sqlite3TestErrCode(tls, interp, *(*uintptr)(unsafe.Pointer(bp + 40 /* db */)), rc) != 0 { + if sqlite3TestErrCode(tls, interp, *(*uintptr)(unsafe.Pointer(bp + 32 /* db */)), rc) != 0 { return TCL_ERROR } tcl.XTcl_SetResult(tls, interp, sqlite3.Xsqlite3ErrName(tls, rc), uintptr(0)) @@ -92049,15 +92049,15 @@ func test_create_aggregate(tls *libc.TLS, NotUsed uintptr, interp uintptr, argc // Puts uses a separate buffer and debugging statements will be out of // sequence if it is used. func test_printf(tls *libc.TLS, NotUsed uintptr, interp uintptr, argc int32, argv uintptr) int32 { /* test1.c:1235:26: */ - bp := tls.Alloc(56) - defer tls.Free(56) + bp := tls.Alloc(40) + defer tls.Free(40) if argc != 2 { tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp, ts+15410 /* "wrong # args: sh..." */, *(*uintptr)(unsafe.Pointer(argv)), ts+15773 /* " TEXT\"" */, 0)) return TCL_ERROR } - libc.Xprintf(tls, ts+294 /* "%s\n" */, libc.VaList(bp+40, *(*uintptr)(unsafe.Pointer(argv + 1*8)))) + libc.Xprintf(tls, ts+294 /* "%s\n" */, libc.VaList(bp+32, *(*uintptr)(unsafe.Pointer(argv + 1*8)))) return TCL_OK } @@ -92065,10 +92065,10 @@ func test_printf(tls *libc.TLS, NotUsed uintptr, interp uintptr, argc int32, arg // // Call mprintf with three integer arguments func sqlite3_mprintf_int(tls *libc.TLS, NotUsed uintptr, interp uintptr, argc int32, argv uintptr) int32 { /* test1.c:1257:26: */ - bp := tls.Alloc(108) - defer tls.Free(108) + bp := tls.Alloc(84) + defer tls.Free(84) - // var a [3]int32 at bp+96, 12 + // var a [3]int32 at bp+72, 12 var i int32 var z uintptr @@ -92078,12 +92078,12 @@ func sqlite3_mprintf_int(tls *libc.TLS, NotUsed uintptr, interp uintptr, argc in return TCL_ERROR } for i = 2; i < 5; i++ { - if tcl.XTcl_GetInt(tls, interp, *(*uintptr)(unsafe.Pointer(argv + uintptr(i)*8)), (bp+96 /* &a */ +uintptr((i-2))*4)) != 0 { + if tcl.XTcl_GetInt(tls, interp, *(*uintptr)(unsafe.Pointer(argv + uintptr(i)*8)), (bp+72 /* &a */ +uintptr((i-2))*4)) != 0 { return TCL_ERROR } } - z = sqlite3.Xsqlite3_mprintf(tls, *(*uintptr)(unsafe.Pointer(argv + 1*8)), libc.VaList(bp+40, *(*int32)(unsafe.Pointer(bp + 96 /* &a[0] */)), *(*int32)(unsafe.Pointer(bp + 96 /* &a[0] */ + 1*4)), *(*int32)(unsafe.Pointer(bp + 96 /* &a[0] */ + 2*4)))) - tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp+72, z, 0)) + z = sqlite3.Xsqlite3_mprintf(tls, *(*uintptr)(unsafe.Pointer(argv + 1*8)), libc.VaList(bp+32, *(*int32)(unsafe.Pointer(bp + 72 /* &a[0] */)), *(*int32)(unsafe.Pointer(bp + 72 /* &a[0] */ + 1*4)), *(*int32)(unsafe.Pointer(bp + 72 /* &a[0] */ + 2*4)))) + tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp+56, z, 0)) sqlite3.Xsqlite3_free(tls, z) return TCL_OK } @@ -92092,11 +92092,11 @@ func sqlite3_mprintf_int(tls *libc.TLS, NotUsed uintptr, interp uintptr, argc in // // Call mprintf with three 64-bit integer arguments func sqlite3_mprintf_int64(tls *libc.TLS, NotUsed uintptr, interp uintptr, argc int32, argv uintptr) int32 { /* test1.c:1284:26: */ - bp := tls.Alloc(144) - defer tls.Free(144) + bp := tls.Alloc(112) + defer tls.Free(112) var i int32 - // var a [3]sqlite_int64 at bp+120, 24 + // var a [3]sqlite_int64 at bp+88, 24 var z uintptr if argc != 5 { @@ -92105,13 +92105,13 @@ func sqlite3_mprintf_int64(tls *libc.TLS, NotUsed uintptr, interp uintptr, argc return TCL_ERROR } for i = 2; i < 5; i++ { - if sqlite3.Xsqlite3Atoi64(tls, *(*uintptr)(unsafe.Pointer(argv + uintptr(i)*8)), (bp+120 /* &a */ +uintptr((i-2))*8), sqlite3.Xsqlite3Strlen30(tls, *(*uintptr)(unsafe.Pointer(argv + uintptr(i)*8))), uint8(SQLITE_UTF8)) != 0 { - tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp+40, ts+15801 /* "argument is not ..." */, 0)) + if sqlite3.Xsqlite3Atoi64(tls, *(*uintptr)(unsafe.Pointer(argv + uintptr(i)*8)), (bp+88 /* &a */ +uintptr((i-2))*8), sqlite3.Xsqlite3Strlen30(tls, *(*uintptr)(unsafe.Pointer(argv + uintptr(i)*8))), uint8(SQLITE_UTF8)) != 0 { + tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp+32, ts+15801 /* "argument is not ..." */, 0)) return TCL_ERROR } } - z = sqlite3.Xsqlite3_mprintf(tls, *(*uintptr)(unsafe.Pointer(argv + 1*8)), libc.VaList(bp+64, *(*sqlite_int64)(unsafe.Pointer(bp + 120 /* &a[0] */)), *(*sqlite_int64)(unsafe.Pointer(bp + 120 /* &a[0] */ + 1*8)), *(*sqlite_int64)(unsafe.Pointer(bp + 120 /* &a[0] */ + 2*8)))) - tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp+96, z, 0)) + z = sqlite3.Xsqlite3_mprintf(tls, *(*uintptr)(unsafe.Pointer(argv + 1*8)), libc.VaList(bp+48, *(*sqlite_int64)(unsafe.Pointer(bp + 88 /* &a[0] */)), *(*sqlite_int64)(unsafe.Pointer(bp + 88 /* &a[0] */ + 1*8)), *(*sqlite_int64)(unsafe.Pointer(bp + 88 /* &a[0] */ + 2*8)))) + tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp+72, z, 0)) sqlite3.Xsqlite3_free(tls, z) return TCL_OK } @@ -92122,13 +92122,13 @@ func sqlite3_mprintf_int64(tls *libc.TLS, NotUsed uintptr, interp uintptr, argc // same as sqlite3_mprintf_int or sqlite3_mprintf_int64, depending on // platform. func sqlite3_mprintf_long(tls *libc.TLS, NotUsed uintptr, interp uintptr, argc int32, argv uintptr) int32 { /* test1.c:1317:26: */ - bp := tls.Alloc(120) - defer tls.Free(120) + bp := tls.Alloc(96) + defer tls.Free(96) var i int32 - // var a [3]int32 at bp+108, 12 + // var a [3]int32 at bp+84, 12 - // var b [3]int32 at bp+96, 12 + // var b [3]int32 at bp+72, 12 var z uintptr if argc != 5 { @@ -92137,14 +92137,14 @@ func sqlite3_mprintf_long(tls *libc.TLS, NotUsed uintptr, interp uintptr, argc i return TCL_ERROR } for i = 2; i < 5; i++ { - if tcl.XTcl_GetInt(tls, interp, *(*uintptr)(unsafe.Pointer(argv + uintptr(i)*8)), (bp+96 /* &b */ +uintptr((i-2))*4)) != 0 { + if tcl.XTcl_GetInt(tls, interp, *(*uintptr)(unsafe.Pointer(argv + uintptr(i)*8)), (bp+72 /* &b */ +uintptr((i-2))*4)) != 0 { return TCL_ERROR } - *(*int32)(unsafe.Pointer(bp + 108 /* &a[0] */ + uintptr((i-2))*4)) = int32(*(*int32)(unsafe.Pointer(bp + 96 /* &b[0] */ + uintptr((i-2))*4))) - *(*int32)(unsafe.Pointer(bp + 108 /* &a */ + uintptr((i-2))*4)) &= libc.Int32FromUint64(((u64((uint64(1))) << (uint64(unsafe.Sizeof(int32(0))) * uint64(8))) - uint64(1))) + *(*int32)(unsafe.Pointer(bp + 84 /* &a[0] */ + uintptr((i-2))*4)) = int32(*(*int32)(unsafe.Pointer(bp + 72 /* &b[0] */ + uintptr((i-2))*4))) + *(*int32)(unsafe.Pointer(bp + 84 /* &a */ + uintptr((i-2))*4)) &= libc.Int32FromUint64(((u64((uint64(1))) << (uint64(unsafe.Sizeof(int32(0))) * uint64(8))) - uint64(1))) } - z = sqlite3.Xsqlite3_mprintf(tls, *(*uintptr)(unsafe.Pointer(argv + 1*8)), libc.VaList(bp+40, *(*int32)(unsafe.Pointer(bp + 108 /* &a[0] */)), *(*int32)(unsafe.Pointer(bp + 108 /* &a[0] */ + 1*4)), *(*int32)(unsafe.Pointer(bp + 108 /* &a[0] */ + 2*4)))) - tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp+72, z, 0)) + z = sqlite3.Xsqlite3_mprintf(tls, *(*uintptr)(unsafe.Pointer(argv + 1*8)), libc.VaList(bp+32, *(*int32)(unsafe.Pointer(bp + 84 /* &a[0] */)), *(*int32)(unsafe.Pointer(bp + 84 /* &a[0] */ + 1*4)), *(*int32)(unsafe.Pointer(bp + 84 /* &a[0] */ + 2*4)))) + tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp+56, z, 0)) sqlite3.Xsqlite3_free(tls, z) return TCL_OK } @@ -92153,10 +92153,10 @@ func sqlite3_mprintf_long(tls *libc.TLS, NotUsed uintptr, interp uintptr, argc i // // Call mprintf with two integer arguments and one string argument func sqlite3_mprintf_str(tls *libc.TLS, NotUsed uintptr, interp uintptr, argc int32, argv uintptr) int32 { /* test1.c:1348:26: */ - bp := tls.Alloc(108) - defer tls.Free(108) + bp := tls.Alloc(84) + defer tls.Free(84) - // var a [3]int32 at bp+96, 12 + // var a [3]int32 at bp+72, 12 var i int32 var z uintptr @@ -92166,17 +92166,17 @@ func sqlite3_mprintf_str(tls *libc.TLS, NotUsed uintptr, interp uintptr, argc in return TCL_ERROR } for i = 2; i < 4; i++ { - if tcl.XTcl_GetInt(tls, interp, *(*uintptr)(unsafe.Pointer(argv + uintptr(i)*8)), (bp+96 /* &a */ +uintptr((i-2))*4)) != 0 { + if tcl.XTcl_GetInt(tls, interp, *(*uintptr)(unsafe.Pointer(argv + uintptr(i)*8)), (bp+72 /* &a */ +uintptr((i-2))*4)) != 0 { return TCL_ERROR } } - z = sqlite3.Xsqlite3_mprintf(tls, *(*uintptr)(unsafe.Pointer(argv + 1*8)), libc.VaList(bp+40, *(*int32)(unsafe.Pointer(bp + 96 /* &a[0] */)), *(*int32)(unsafe.Pointer(bp + 96 /* &a[0] */ + 1*4)), func() uintptr { + z = sqlite3.Xsqlite3_mprintf(tls, *(*uintptr)(unsafe.Pointer(argv + 1*8)), libc.VaList(bp+32, *(*int32)(unsafe.Pointer(bp + 72 /* &a[0] */)), *(*int32)(unsafe.Pointer(bp + 72 /* &a[0] */ + 1*4)), func() uintptr { if argc > 4 { return *(*uintptr)(unsafe.Pointer(argv + 4*8)) } return uintptr(0) }())) - tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp+72, z, 0)) + tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp+56, z, 0)) sqlite3.Xsqlite3_free(tls, z) return TCL_OK } @@ -92185,13 +92185,13 @@ func sqlite3_mprintf_str(tls *libc.TLS, NotUsed uintptr, interp uintptr, argc in // // Call mprintf with two integer arguments and one string argument func sqlite3_snprintf_str(tls *libc.TLS, NotUsed uintptr, interp uintptr, argc int32, argv uintptr) int32 { /* test1.c:1375:26: */ - bp := tls.Alloc(136) - defer tls.Free(136) + bp := tls.Alloc(104) + defer tls.Free(104) - // var a [3]int32 at bp+124, 12 + // var a [3]int32 at bp+92, 12 var i int32 - // var n int32 at bp+120, 4 + // var n int32 at bp+88, 4 var z uintptr if (argc < 5) || (argc > 6) { @@ -92199,26 +92199,26 @@ func sqlite3_snprintf_str(tls *libc.TLS, NotUsed uintptr, interp uintptr, argc i ts+15866 /* " INT FORMAT INT ..." */, 0)) return TCL_ERROR } - if tcl.XTcl_GetInt(tls, interp, *(*uintptr)(unsafe.Pointer(argv + 1*8)), bp+120 /* &n */) != 0 { + if tcl.XTcl_GetInt(tls, interp, *(*uintptr)(unsafe.Pointer(argv + 1*8)), bp+88 /* &n */) != 0 { return TCL_ERROR } - if *(*int32)(unsafe.Pointer(bp + 120 /* n */)) < 0 { - tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp+40, ts+15896 /* "N must be non-ne..." */, 0)) + if *(*int32)(unsafe.Pointer(bp + 88 /* n */)) < 0 { + tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp+32, ts+15896 /* "N must be non-ne..." */, 0)) return TCL_ERROR } for i = 3; i < 5; i++ { - if tcl.XTcl_GetInt(tls, interp, *(*uintptr)(unsafe.Pointer(argv + uintptr(i)*8)), (bp+124 /* &a */ +uintptr((i-3))*4)) != 0 { + if tcl.XTcl_GetInt(tls, interp, *(*uintptr)(unsafe.Pointer(argv + uintptr(i)*8)), (bp+92 /* &a */ +uintptr((i-3))*4)) != 0 { return TCL_ERROR } } - z = sqlite3.Xsqlite3_malloc(tls, (*(*int32)(unsafe.Pointer(bp + 120 /* n */)) + 1)) - sqlite3.Xsqlite3_snprintf(tls, *(*int32)(unsafe.Pointer(bp + 120 /* n */)), z, *(*uintptr)(unsafe.Pointer(argv + 2*8)), libc.VaList(bp+64, *(*int32)(unsafe.Pointer(bp + 124 /* &a[0] */)), *(*int32)(unsafe.Pointer(bp + 124 /* &a[0] */ + 1*4)), func() uintptr { + z = sqlite3.Xsqlite3_malloc(tls, (*(*int32)(unsafe.Pointer(bp + 88 /* n */)) + 1)) + sqlite3.Xsqlite3_snprintf(tls, *(*int32)(unsafe.Pointer(bp + 88 /* n */)), z, *(*uintptr)(unsafe.Pointer(argv + 2*8)), libc.VaList(bp+48, *(*int32)(unsafe.Pointer(bp + 92 /* &a[0] */)), *(*int32)(unsafe.Pointer(bp + 92 /* &a[0] */ + 1*4)), func() uintptr { if argc > 4 { return *(*uintptr)(unsafe.Pointer(argv + 5*8)) } return uintptr(0) }())) - tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp+96, z, 0)) + tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp+72, z, 0)) sqlite3.Xsqlite3_free(tls, z) return TCL_OK } @@ -92227,13 +92227,13 @@ func sqlite3_snprintf_str(tls *libc.TLS, NotUsed uintptr, interp uintptr, argc i // // Call mprintf with two integer arguments and one double argument func sqlite3_mprintf_double(tls *libc.TLS, NotUsed uintptr, interp uintptr, argc int32, argv uintptr) int32 { /* test1.c:1409:26: */ - bp := tls.Alloc(120) - defer tls.Free(120) + bp := tls.Alloc(96) + defer tls.Free(96) - // var a [3]int32 at bp+96, 12 + // var a [3]int32 at bp+72, 12 var i int32 - // var r float64 at bp+112, 8 + // var r float64 at bp+88, 8 var z uintptr if argc != 5 { @@ -92242,15 +92242,15 @@ func sqlite3_mprintf_double(tls *libc.TLS, NotUsed uintptr, interp uintptr, argc return TCL_ERROR } for i = 2; i < 4; i++ { - if tcl.XTcl_GetInt(tls, interp, *(*uintptr)(unsafe.Pointer(argv + uintptr(i)*8)), (bp+96 /* &a */ +uintptr((i-2))*4)) != 0 { + if tcl.XTcl_GetInt(tls, interp, *(*uintptr)(unsafe.Pointer(argv + uintptr(i)*8)), (bp+72 /* &a */ +uintptr((i-2))*4)) != 0 { return TCL_ERROR } } - if tcl.XTcl_GetDouble(tls, interp, *(*uintptr)(unsafe.Pointer(argv + 4*8)), bp+112 /* &r */) != 0 { + if tcl.XTcl_GetDouble(tls, interp, *(*uintptr)(unsafe.Pointer(argv + 4*8)), bp+88 /* &r */) != 0 { return TCL_ERROR } - z = sqlite3.Xsqlite3_mprintf(tls, *(*uintptr)(unsafe.Pointer(argv + 1*8)), libc.VaList(bp+40, *(*int32)(unsafe.Pointer(bp + 96 /* &a[0] */)), *(*int32)(unsafe.Pointer(bp + 96 /* &a[0] */ + 1*4)), *(*float64)(unsafe.Pointer(bp + 112 /* r */)))) - tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp+72, z, 0)) + z = sqlite3.Xsqlite3_mprintf(tls, *(*uintptr)(unsafe.Pointer(argv + 1*8)), libc.VaList(bp+32, *(*int32)(unsafe.Pointer(bp + 72 /* &a[0] */)), *(*int32)(unsafe.Pointer(bp + 72 /* &a[0] */ + 1*4)), *(*float64)(unsafe.Pointer(bp + 88 /* r */)))) + tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp+56, z, 0)) sqlite3.Xsqlite3_free(tls, z) return TCL_OK } @@ -92261,11 +92261,11 @@ func sqlite3_mprintf_double(tls *libc.TLS, NotUsed uintptr, interp uintptr, argc // two arguments given above. This is used to generate overflow and underflow // doubles to test that they are converted properly. func sqlite3_mprintf_scaled(tls *libc.TLS, NotUsed uintptr, interp uintptr, argc int32, argv uintptr) int32 { /* test1.c:1440:26: */ - bp := tls.Alloc(96) - defer tls.Free(96) + bp := tls.Alloc(72) + defer tls.Free(72) var i int32 - // var r [2]float64 at bp+80, 16 + // var r [2]float64 at bp+56, 16 var z uintptr if argc != 4 { @@ -92274,12 +92274,12 @@ func sqlite3_mprintf_scaled(tls *libc.TLS, NotUsed uintptr, interp uintptr, argc return TCL_ERROR } for i = 2; i < 4; i++ { - if tcl.XTcl_GetDouble(tls, interp, *(*uintptr)(unsafe.Pointer(argv + uintptr(i)*8)), (bp+80 /* &r */ +uintptr((i-2))*8)) != 0 { + if tcl.XTcl_GetDouble(tls, interp, *(*uintptr)(unsafe.Pointer(argv + uintptr(i)*8)), (bp+56 /* &r */ +uintptr((i-2))*8)) != 0 { return TCL_ERROR } } - z = sqlite3.Xsqlite3_mprintf(tls, *(*uintptr)(unsafe.Pointer(argv + 1*8)), libc.VaList(bp+40, (*(*float64)(unsafe.Pointer(bp + 80 /* &r[0] */))**(*float64)(unsafe.Pointer(bp + 80 /* &r[0] */ + 1*8))))) - tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp+56, z, 0)) + z = sqlite3.Xsqlite3_mprintf(tls, *(*uintptr)(unsafe.Pointer(argv + 1*8)), libc.VaList(bp+32, (*(*float64)(unsafe.Pointer(bp + 56 /* &r[0] */))**(*float64)(unsafe.Pointer(bp + 56 /* &r[0] */ + 1*8))))) + tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp+40, z, 0)) sqlite3.Xsqlite3_free(tls, z) return TCL_OK } @@ -92290,8 +92290,8 @@ func sqlite3_mprintf_scaled(tls *libc.TLS, NotUsed uintptr, interp uintptr, argc // two arguments given above. This is used to generate overflow and underflow // doubles to test that they are converted properly. func sqlite3_mprintf_stronly(tls *libc.TLS, NotUsed uintptr, interp uintptr, argc int32, argv uintptr) int32 { /* test1.c:1470:26: */ - bp := tls.Alloc(80) - defer tls.Free(80) + bp := tls.Alloc(56) + defer tls.Free(56) var z uintptr if argc != 3 { @@ -92299,8 +92299,8 @@ func sqlite3_mprintf_stronly(tls *libc.TLS, NotUsed uintptr, interp uintptr, arg ts+15966 /* " FORMAT STRING\"" */, 0)) return TCL_ERROR } - z = sqlite3.Xsqlite3_mprintf(tls, *(*uintptr)(unsafe.Pointer(argv + 1*8)), libc.VaList(bp+40, *(*uintptr)(unsafe.Pointer(argv + 2*8)))) - tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp+56, z, 0)) + z = sqlite3.Xsqlite3_mprintf(tls, *(*uintptr)(unsafe.Pointer(argv + 1*8)), libc.VaList(bp+32, *(*uintptr)(unsafe.Pointer(argv + 2*8)))) + tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp+40, z, 0)) sqlite3.Xsqlite3_free(tls, z) return TCL_OK } @@ -92310,32 +92310,32 @@ func sqlite3_mprintf_stronly(tls *libc.TLS, NotUsed uintptr, interp uintptr, arg // Call mprintf with a single double argument which is derived from the // hexadecimal encoding of an IEEE double. func sqlite3_mprintf_hexdouble(tls *libc.TLS, NotUsed uintptr, interp uintptr, argc int32, argv uintptr) int32 { /* test1.c:1494:26: */ - bp := tls.Alloc(152) - defer tls.Free(152) + bp := tls.Alloc(112) + defer tls.Free(112) var z uintptr - // var r float64 at bp+136, 8 + // var r float64 at bp+96, 8 - // var x1 uint32 at bp+132, 4 + // var x1 uint32 at bp+92, 4 - // var x2 uint32 at bp+128, 4 + // var x2 uint32 at bp+88, 4 - // var d sqlite_uint64 at bp+144, 8 + // var d sqlite_uint64 at bp+104, 8 if argc != 3 { tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp, ts+15410 /* "wrong # args: sh..." */, *(*uintptr)(unsafe.Pointer(argv)), ts+15966 /* " FORMAT STRING\"" */, 0)) return TCL_ERROR } - if libc.Xsscanf(tls, *(*uintptr)(unsafe.Pointer(argv + 2*8)), ts+15982 /* "%08x%08x" */, libc.VaList(bp+40, bp+128 /* &x2 */, bp+132 /* &x1 */)) != 2 { - tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp+64, ts+15991 /* "2nd argument sho..." */, 0)) + if libc.Xsscanf(tls, *(*uintptr)(unsafe.Pointer(argv + 2*8)), ts+15982 /* "%08x%08x" */, libc.VaList(bp+32, bp+88 /* &x2 */, bp+92 /* &x1 */)) != 2 { + tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp+48, ts+15991 /* "2nd argument sho..." */, 0)) return TCL_ERROR } - *(*sqlite_uint64)(unsafe.Pointer(bp + 144 /* d */)) = sqlite_uint64(*(*uint32)(unsafe.Pointer(bp + 128 /* x2 */))) - *(*sqlite_uint64)(unsafe.Pointer(bp + 144 /* d */)) = ((*(*sqlite_uint64)(unsafe.Pointer(bp + 144 /* d */)) << 32) + sqlite_uint64(*(*uint32)(unsafe.Pointer(bp + 132 /* x1 */)))) - libc.Xmemcpy(tls, bp+136 /* &r */, bp+144 /* &d */, uint64(unsafe.Sizeof(float64(0)))) - z = sqlite3.Xsqlite3_mprintf(tls, *(*uintptr)(unsafe.Pointer(argv + 1*8)), libc.VaList(bp+88, *(*float64)(unsafe.Pointer(bp + 136 /* r */)))) - tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp+104, z, 0)) + *(*sqlite_uint64)(unsafe.Pointer(bp + 104 /* d */)) = sqlite_uint64(*(*uint32)(unsafe.Pointer(bp + 88 /* x2 */))) + *(*sqlite_uint64)(unsafe.Pointer(bp + 104 /* d */)) = ((*(*sqlite_uint64)(unsafe.Pointer(bp + 104 /* d */)) << 32) + sqlite_uint64(*(*uint32)(unsafe.Pointer(bp + 92 /* x1 */)))) + libc.Xmemcpy(tls, bp+96 /* &r */, bp+104 /* &d */, uint64(unsafe.Sizeof(float64(0)))) + z = sqlite3.Xsqlite3_mprintf(tls, *(*uintptr)(unsafe.Pointer(argv + 1*8)), libc.VaList(bp+64, *(*float64)(unsafe.Pointer(bp + 96 /* r */)))) + tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp+72, z, 0)) sqlite3.Xsqlite3_free(tls, z) return TCL_OK } @@ -92405,31 +92405,31 @@ func test_libversion_number(tls *libc.TLS, clientData ClientData, interp uintptr // Usage: sqlite3_table_column_metadata DB dbname tblname colname // func test_table_column_metadata(tls *libc.TLS, clientData ClientData, interp uintptr, objc int32, objv uintptr) int32 { /* test1.c:1601:26: */ - bp := tls.Alloc(60) - defer tls.Free(60) + bp := tls.Alloc(52) + defer tls.Free(52) - // var db uintptr at bp+24, 8 + // var db uintptr at bp+16, 8 var zDb uintptr var zTbl uintptr var zCol uintptr var rc int32 var pRet uintptr - // var zDatatype uintptr at bp+32, 8 + // var zDatatype uintptr at bp+24, 8 - // var zCollseq uintptr at bp+40, 8 + // var zCollseq uintptr at bp+32, 8 - // var notnull int32 at bp+48, 4 + // var notnull int32 at bp+40, 4 - // var primarykey int32 at bp+52, 4 + // var primarykey int32 at bp+44, 4 - // var autoincrement int32 at bp+56, 4 + // var autoincrement int32 at bp+48, 4 if (objc != 5) && (objc != 4) { tcl.XTcl_WrongNumArgs(tls, interp, 1, objv, ts+16056 /* "DB dbname tblnam..." */) return TCL_ERROR } - if getDbPointer(tls, interp, tcl.XTcl_GetString(tls, *(*uintptr)(unsafe.Pointer(objv + 1*8))), bp+24 /* &db */) != 0 { + if getDbPointer(tls, interp, tcl.XTcl_GetString(tls, *(*uintptr)(unsafe.Pointer(objv + 1*8))), bp+16 /* &db */) != 0 { return TCL_ERROR } zDb = tcl.XTcl_GetString(tls, *(*uintptr)(unsafe.Pointer(objv + 2*8))) @@ -92444,20 +92444,20 @@ func test_table_column_metadata(tls *libc.TLS, clientData ClientData, interp uin zDb = uintptr(0) } - rc = sqlite3.Xsqlite3_table_column_metadata(tls, *(*uintptr)(unsafe.Pointer(bp + 24 /* db */)), zDb, zTbl, zCol, - bp+32 /* &zDatatype */, bp+40 /* &zCollseq */, bp+48 /* ¬null */, bp+52 /* &primarykey */, bp+56 /* &autoincrement */) + rc = sqlite3.Xsqlite3_table_column_metadata(tls, *(*uintptr)(unsafe.Pointer(bp + 16 /* db */)), zDb, zTbl, zCol, + bp+24 /* &zDatatype */, bp+32 /* &zCollseq */, bp+40 /* ¬null */, bp+44 /* &primarykey */, bp+48 /* &autoincrement */) if rc != SQLITE_OK { - tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp, sqlite3.Xsqlite3_errmsg(tls, *(*uintptr)(unsafe.Pointer(bp + 24 /* db */))), 0)) + tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp, sqlite3.Xsqlite3_errmsg(tls, *(*uintptr)(unsafe.Pointer(bp + 16 /* db */))), 0)) return TCL_ERROR } pRet = tcl.XTcl_NewObj(tls) - tcl.XTcl_ListObjAppendElement(tls, uintptr(0), pRet, tcl.XTcl_NewStringObj(tls, *(*uintptr)(unsafe.Pointer(bp + 32 /* zDatatype */)), -1)) - tcl.XTcl_ListObjAppendElement(tls, uintptr(0), pRet, tcl.XTcl_NewStringObj(tls, *(*uintptr)(unsafe.Pointer(bp + 40 /* zCollseq */)), -1)) - tcl.XTcl_ListObjAppendElement(tls, uintptr(0), pRet, tcl.XTcl_NewIntObj(tls, *(*int32)(unsafe.Pointer(bp + 48 /* notnull */)))) - tcl.XTcl_ListObjAppendElement(tls, uintptr(0), pRet, tcl.XTcl_NewIntObj(tls, *(*int32)(unsafe.Pointer(bp + 52 /* primarykey */)))) - tcl.XTcl_ListObjAppendElement(tls, uintptr(0), pRet, tcl.XTcl_NewIntObj(tls, *(*int32)(unsafe.Pointer(bp + 56 /* autoincrement */)))) + tcl.XTcl_ListObjAppendElement(tls, uintptr(0), pRet, tcl.XTcl_NewStringObj(tls, *(*uintptr)(unsafe.Pointer(bp + 24 /* zDatatype */)), -1)) + tcl.XTcl_ListObjAppendElement(tls, uintptr(0), pRet, tcl.XTcl_NewStringObj(tls, *(*uintptr)(unsafe.Pointer(bp + 32 /* zCollseq */)), -1)) + tcl.XTcl_ListObjAppendElement(tls, uintptr(0), pRet, tcl.XTcl_NewIntObj(tls, *(*int32)(unsafe.Pointer(bp + 40 /* notnull */)))) + tcl.XTcl_ListObjAppendElement(tls, uintptr(0), pRet, tcl.XTcl_NewIntObj(tls, *(*int32)(unsafe.Pointer(bp + 44 /* primarykey */)))) + tcl.XTcl_ListObjAppendElement(tls, uintptr(0), pRet, tcl.XTcl_NewIntObj(tls, *(*int32)(unsafe.Pointer(bp + 48 /* autoincrement */)))) tcl.XTcl_SetObjResult(tls, interp, pRet) return TCL_OK @@ -92591,11 +92591,11 @@ func testCreateCollationCmp(tls *libc.TLS, pCtx uintptr, nLeft int32, zLeft uint } func test_create_collation_v2(tls *libc.TLS, clientData ClientData, interp uintptr, objc int32, objv uintptr) int32 { /* test1.c:1757:26: */ - bp := tls.Alloc(32) - defer tls.Free(32) + bp := tls.Alloc(24) + defer tls.Free(24) var p uintptr - // var db uintptr at bp+24, 8 + // var db uintptr at bp+16, 8 var rc int32 @@ -92603,7 +92603,7 @@ func test_create_collation_v2(tls *libc.TLS, clientData ClientData, interp uintp tcl.XTcl_WrongNumArgs(tls, interp, 1, objv, ts+16096 /* "DB-HANDLE NAME C..." */) return TCL_ERROR } - if getDbPointer(tls, interp, tcl.XTcl_GetString(tls, *(*uintptr)(unsafe.Pointer(objv + 1*8))), bp+24 /* &db */) != 0 { + if getDbPointer(tls, interp, tcl.XTcl_GetString(tls, *(*uintptr)(unsafe.Pointer(objv + 1*8))), bp+16 /* &db */) != 0 { return TCL_ERROR } @@ -92614,7 +92614,7 @@ func test_create_collation_v2(tls *libc.TLS, clientData ClientData, interp uintp (*Tcl_Obj)(unsafe.Pointer((*TestCollationX)(unsafe.Pointer(p)).FpCmp)).FrefCount++ (*Tcl_Obj)(unsafe.Pointer((*TestCollationX)(unsafe.Pointer(p)).FpDel)).FrefCount++ - rc = sqlite3.Xsqlite3_create_collation_v2(tls, *(*uintptr)(unsafe.Pointer(bp + 24 /* db */)), tcl.XTcl_GetString(tls, *(*uintptr)(unsafe.Pointer(objv + 2*8))), 16, + rc = sqlite3.Xsqlite3_create_collation_v2(tls, *(*uintptr)(unsafe.Pointer(bp + 16 /* db */)), tcl.XTcl_GetString(tls, *(*uintptr)(unsafe.Pointer(objv + 2*8))), 16, p, *(*uintptr)(unsafe.Pointer(&struct { f func(*libc.TLS, uintptr, int32, uintptr, int32, uintptr) int32 }{testCreateCollationCmp})), *(*uintptr)(unsafe.Pointer(&struct{ f func(*libc.TLS, uintptr) }{testCreateCollationDel}))) @@ -92623,7 +92623,7 @@ func test_create_collation_v2(tls *libc.TLS, clientData ClientData, interp uintp libc.VaList(bp, ts+16129 /* "sqlite3_create_c..." */, uintptr(0))) return TCL_ERROR } - rc = sqlite3.Xsqlite3_create_collation_v2(tls, *(*uintptr)(unsafe.Pointer(bp + 24 /* db */)), tcl.XTcl_GetString(tls, *(*uintptr)(unsafe.Pointer(objv + 2*8))), SQLITE_UTF8, + rc = sqlite3.Xsqlite3_create_collation_v2(tls, *(*uintptr)(unsafe.Pointer(bp + 16 /* db */)), tcl.XTcl_GetString(tls, *(*uintptr)(unsafe.Pointer(objv + 2*8))), SQLITE_UTF8, p, *(*uintptr)(unsafe.Pointer(&struct { f func(*libc.TLS, uintptr, int32, uintptr, int32, uintptr) int32 }{testCreateCollationCmp})), *(*uintptr)(unsafe.Pointer(&struct{ f func(*libc.TLS, uintptr) }{testCreateCollationDel}))) @@ -92711,21 +92711,21 @@ func cf2Destroy(tls *libc.TLS, pUser uintptr) { /* test1.c:1818:13: */ } func test_create_function_v2(tls *libc.TLS, clientData ClientData, interp uintptr, objc int32, objv uintptr) int32 { /* test1.c:1832:26: */ - bp := tls.Alloc(188) - defer tls.Free(188) + bp := tls.Alloc(180) + defer tls.Free(180) - // var db uintptr at bp+24, 8 + // var db uintptr at bp+16, 8 var zFunc uintptr - // var nArg int32 at bp+32, 4 + // var nArg int32 at bp+24, 4 - // var enc int32 at bp+136, 4 + // var enc int32 at bp+128, 4 var p uintptr var i int32 var rc int32 - *(*[6]EncTable)(unsafe.Pointer(bp + 40 /* aEnc */)) = [6]EncTable{ + *(*[6]EncTable)(unsafe.Pointer(bp + 32 /* aEnc */)) = [6]EncTable{ {FzEnc: ts + 16194 /* "utf8" */, Fenc: SQLITE_UTF8}, {FzEnc: ts + 16199 /* "utf16" */, Fenc: SQLITE_UTF16}, {FzEnc: ts + 16205 /* "utf16le" */, Fenc: SQLITE_UTF16LE}, @@ -92739,18 +92739,18 @@ func test_create_function_v2(tls *libc.TLS, clientData ClientData, interp uintpt return TCL_ERROR } - if getDbPointer(tls, interp, tcl.XTcl_GetString(tls, *(*uintptr)(unsafe.Pointer(objv + 1*8))), bp+24 /* &db */) != 0 { + if getDbPointer(tls, interp, tcl.XTcl_GetString(tls, *(*uintptr)(unsafe.Pointer(objv + 1*8))), bp+16 /* &db */) != 0 { return TCL_ERROR } zFunc = tcl.XTcl_GetString(tls, *(*uintptr)(unsafe.Pointer(objv + 2*8))) - if tcl.XTcl_GetIntFromObj(tls, interp, *(*uintptr)(unsafe.Pointer(objv + 3*8)), bp+32 /* &nArg */) != 0 { + if tcl.XTcl_GetIntFromObj(tls, interp, *(*uintptr)(unsafe.Pointer(objv + 3*8)), bp+24 /* &nArg */) != 0 { return TCL_ERROR } - if tcl.XTcl_GetIndexFromObjStruct(tls, interp, *(*uintptr)(unsafe.Pointer(objv + 4*8)), bp+40 /* &aEnc[0] */, int32(unsafe.Sizeof(EncTable{})), - ts+16250 /* "encoding" */, 0, bp+136 /* &enc */) != 0 { + if tcl.XTcl_GetIndexFromObjStruct(tls, interp, *(*uintptr)(unsafe.Pointer(objv + 4*8)), bp+32 /* &aEnc[0] */, int32(unsafe.Sizeof(EncTable{})), + ts+16250 /* "encoding" */, 0, bp+128 /* &enc */) != 0 { return TCL_ERROR } - *(*int32)(unsafe.Pointer(bp + 136 /* enc */)) = (*EncTable)(unsafe.Pointer(bp + 40 /* &aEnc */ + uintptr(*(*int32)(unsafe.Pointer(bp + 136 /* enc */)))*16)).Fenc + *(*int32)(unsafe.Pointer(bp + 128 /* enc */)) = (*EncTable)(unsafe.Pointer(bp + 32 /* &aEnc */ + uintptr(*(*int32)(unsafe.Pointer(bp + 128 /* enc */)))*16)).Fenc p = sqlite3.Xsqlite3_malloc(tls, int32(unsafe.Sizeof(CreateFunctionV2{}))) @@ -92758,15 +92758,15 @@ func test_create_function_v2(tls *libc.TLS, clientData ClientData, interp uintpt (*CreateFunctionV2)(unsafe.Pointer(p)).Finterp = interp for i = 5; i < objc; i = i + (2) { - // var iSwitch int32 at bp+184, 4 + // var iSwitch int32 at bp+176, 4 - *(*[5]uintptr)(unsafe.Pointer(bp + 144 /* azSwitch */)) = [5]uintptr{ts + 16259 /* "-func" */, ts + 16265 /* "-step" */, ts + 16271 /* "-final" */, ts + 16278 /* "-destroy" */, uintptr(0)} - if tcl.XTcl_GetIndexFromObjStruct(tls, interp, *(*uintptr)(unsafe.Pointer(objv + uintptr(i)*8)), bp+144 /* &azSwitch[0] */, int32(unsafe.Sizeof(uintptr(0))), ts+16287 /* "switch" */, 0, bp+184 /* &iSwitch */) != 0 { + *(*[5]uintptr)(unsafe.Pointer(bp + 136 /* azSwitch */)) = [5]uintptr{ts + 16259 /* "-func" */, ts + 16265 /* "-step" */, ts + 16271 /* "-final" */, ts + 16278 /* "-destroy" */, uintptr(0)} + if tcl.XTcl_GetIndexFromObjStruct(tls, interp, *(*uintptr)(unsafe.Pointer(objv + uintptr(i)*8)), bp+136 /* &azSwitch[0] */, int32(unsafe.Sizeof(uintptr(0))), ts+16287 /* "switch" */, 0, bp+176 /* &iSwitch */) != 0 { sqlite3.Xsqlite3_free(tls, p) return TCL_ERROR } - switch *(*int32)(unsafe.Pointer(bp + 184 /* iSwitch */)) { + switch *(*int32)(unsafe.Pointer(bp + 176 /* iSwitch */)) { case 0: (*CreateFunctionV2)(unsafe.Pointer(p)).FpFunc = *(*uintptr)(unsafe.Pointer(objv + uintptr((i+1))*8)) break @@ -92807,7 +92807,7 @@ func test_create_function_v2(tls *libc.TLS, clientData ClientData, interp uintpt (*Tcl_Obj)(unsafe.Pointer((*CreateFunctionV2)(unsafe.Pointer(p)).FpDestroy)).FrefCount++ } - rc = sqlite3.Xsqlite3_create_function_v2(tls, *(*uintptr)(unsafe.Pointer(bp + 24 /* db */)), zFunc, *(*int32)(unsafe.Pointer(bp + 32 /* nArg */)), *(*int32)(unsafe.Pointer(bp + 136 /* enc */)), p, + rc = sqlite3.Xsqlite3_create_function_v2(tls, *(*uintptr)(unsafe.Pointer(bp + 16 /* db */)), zFunc, *(*int32)(unsafe.Pointer(bp + 24 /* nArg */)), *(*int32)(unsafe.Pointer(bp + 128 /* enc */)), p, func() uintptr { if (*CreateFunctionV2)(unsafe.Pointer(p)).FpFunc != 0 { return *(*uintptr)(unsafe.Pointer(&struct { @@ -92847,10 +92847,10 @@ type EncTable = struct { // Usage: sqlite3_load_extension DB-HANDLE FILE ?PROC? func test_load_extension(tls *libc.TLS, clientData ClientData, interp uintptr, objc int32, objv uintptr) int32 { /* test1.c:1920:26: */ - bp := tls.Alloc(96) - defer tls.Free(96) + bp := tls.Alloc(88) + defer tls.Free(88) - // var cmdInfo Tcl_CmdInfo at bp+32, 64 + // var cmdInfo Tcl_CmdInfo at bp+24, 64 var db uintptr _ = db @@ -92873,11 +92873,11 @@ func test_load_extension(tls *libc.TLS, clientData ClientData, interp uintptr, o } // Extract the C database handle from the Tcl command name - if !(tcl.XTcl_GetCommandInfo(tls, interp, zDb, bp+32 /* &cmdInfo */) != 0) { + if !(tcl.XTcl_GetCommandInfo(tls, interp, zDb, bp+24 /* &cmdInfo */) != 0) { tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp, ts+15320 /* "command not foun..." */, zDb, uintptr(0))) return TCL_ERROR } - db = (*struct{ Fdb uintptr })(unsafe.Pointer((*Tcl_CmdInfo)(unsafe.Pointer(bp + 32 /* &cmdInfo */)).FobjClientData)).Fdb + db = (*struct{ Fdb uintptr })(unsafe.Pointer((*Tcl_CmdInfo)(unsafe.Pointer(bp + 24 /* &cmdInfo */)).FobjClientData)).Fdb // Call the underlying C function. If an error occurs, set rc to // TCL_ERROR and load any error string into the interpreter. If no @@ -92904,15 +92904,15 @@ func test_load_extension(tls *libc.TLS, clientData ClientData, interp uintptr, o // Usage: sqlite3_enable_load_extension DB-HANDLE ONOFF func test_enable_load(tls *libc.TLS, clientData ClientData, interp uintptr, objc int32, objv uintptr) int32 { /* test1.c:1978:26: */ - bp := tls.Alloc(116) - defer tls.Free(116) + bp := tls.Alloc(100) + defer tls.Free(100) - // var cmdInfo Tcl_CmdInfo at bp+48, 64 + // var cmdInfo Tcl_CmdInfo at bp+32, 64 var db uintptr _ = db var zDb uintptr - // var onoff int32 at bp+112, 4 + // var onoff int32 at bp+96, 4 if objc != 3 { tcl.XTcl_WrongNumArgs(tls, interp, 1, objv, ts+16358 /* "DB-HANDLE ONOFF" */) @@ -92921,18 +92921,18 @@ func test_enable_load(tls *libc.TLS, clientData ClientData, interp uintptr, objc zDb = tcl.XTcl_GetString(tls, *(*uintptr)(unsafe.Pointer(objv + 1*8))) // Extract the C database handle from the Tcl command name - if !(tcl.XTcl_GetCommandInfo(tls, interp, zDb, bp+48 /* &cmdInfo */) != 0) { + if !(tcl.XTcl_GetCommandInfo(tls, interp, zDb, bp+32 /* &cmdInfo */) != 0) { tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp, ts+15320 /* "command not foun..." */, zDb, uintptr(0))) return TCL_ERROR } - db = (*struct{ Fdb uintptr })(unsafe.Pointer((*Tcl_CmdInfo)(unsafe.Pointer(bp + 48 /* &cmdInfo */)).FobjClientData)).Fdb + db = (*struct{ Fdb uintptr })(unsafe.Pointer((*Tcl_CmdInfo)(unsafe.Pointer(bp + 32 /* &cmdInfo */)).FobjClientData)).Fdb // Get the onoff parameter - if tcl.XTcl_GetBooleanFromObj(tls, interp, *(*uintptr)(unsafe.Pointer(objv + 2*8)), bp+112 /* &onoff */) != 0 { + if tcl.XTcl_GetBooleanFromObj(tls, interp, *(*uintptr)(unsafe.Pointer(objv + 2*8)), bp+96 /* &onoff */) != 0 { return TCL_ERROR } - tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp+32, ts+16316 /* "this build omits..." */)) + tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp+24, ts+16316 /* "this build omits..." */)) return TCL_ERROR } @@ -93033,10 +93033,10 @@ error_out: // // Register the test SQL function on the database DB under the name NAME. func test_register_func(tls *libc.TLS, NotUsed uintptr, interp uintptr, argc int32, argv uintptr) int32 { /* test1.c:2083:26: */ - bp := tls.Alloc(72) - defer tls.Free(72) + bp := tls.Alloc(56) + defer tls.Free(56) - // var db uintptr at bp+64, 8 + // var db uintptr at bp+48, 8 var rc int32 if argc != 3 { @@ -93044,18 +93044,18 @@ func test_register_func(tls *libc.TLS, NotUsed uintptr, interp uintptr, argc int ts+16455 /* " DB FUNCTION-NAM..." */, 0)) return TCL_ERROR } - if getDbPointer(tls, interp, *(*uintptr)(unsafe.Pointer(argv + 1*8)), bp+64 /* &db */) != 0 { + if getDbPointer(tls, interp, *(*uintptr)(unsafe.Pointer(argv + 1*8)), bp+48 /* &db */) != 0 { return TCL_ERROR } - rc = sqlite3.Xsqlite3_create_function(tls, *(*uintptr)(unsafe.Pointer(bp + 64 /* db */)), *(*uintptr)(unsafe.Pointer(argv + 2*8)), -1, SQLITE_UTF8, uintptr(0), + rc = sqlite3.Xsqlite3_create_function(tls, *(*uintptr)(unsafe.Pointer(bp + 48 /* db */)), *(*uintptr)(unsafe.Pointer(argv + 2*8)), -1, SQLITE_UTF8, uintptr(0), *(*uintptr)(unsafe.Pointer(&struct { f func(*libc.TLS, uintptr, int32, uintptr) }{testFunc})), uintptr(0), uintptr(0)) if rc != 0 { - tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp+40, sqlite3.Xsqlite3ErrStr(tls, rc), 0)) + tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp+32, sqlite3.Xsqlite3ErrStr(tls, rc), 0)) return TCL_ERROR } - if sqlite3TestErrCode(tls, interp, *(*uintptr)(unsafe.Pointer(bp + 64 /* db */)), rc) != 0 { + if sqlite3TestErrCode(tls, interp, *(*uintptr)(unsafe.Pointer(bp + 48 /* db */)), rc) != 0 { return TCL_ERROR } return TCL_OK @@ -93065,10 +93065,10 @@ func test_register_func(tls *libc.TLS, NotUsed uintptr, interp uintptr, argc int // // Finalize a statement handle. func test_finalize(tls *libc.TLS, clientData uintptr, interp uintptr, objc int32, objv uintptr) int32 { /* test1.c:2112:26: */ - bp := tls.Alloc(48) - defer tls.Free(48) + bp := tls.Alloc(40) + defer tls.Free(40) - // var pStmt uintptr at bp+40, 8 + // var pStmt uintptr at bp+32, 8 var rc int32 var db uintptr = uintptr(0) @@ -93079,14 +93079,14 @@ func test_finalize(tls *libc.TLS, clientData uintptr, interp uintptr, objc int32 return TCL_ERROR } - if getStmtPointer(tls, interp, tcl.XTcl_GetString(tls, *(*uintptr)(unsafe.Pointer(objv + 1*8))), bp+40 /* &pStmt */) != 0 { + if getStmtPointer(tls, interp, tcl.XTcl_GetString(tls, *(*uintptr)(unsafe.Pointer(objv + 1*8))), bp+32 /* &pStmt */) != 0 { return TCL_ERROR } - if *(*uintptr)(unsafe.Pointer(bp + 40 /* pStmt */)) != 0 { - db = sqlite3.Xsqlite3_db_handle(tls, *(*uintptr)(unsafe.Pointer(bp + 40 /* pStmt */))) + if *(*uintptr)(unsafe.Pointer(bp + 32 /* pStmt */)) != 0 { + db = sqlite3.Xsqlite3_db_handle(tls, *(*uintptr)(unsafe.Pointer(bp + 32 /* pStmt */))) } - rc = sqlite3.Xsqlite3_finalize(tls, *(*uintptr)(unsafe.Pointer(bp + 40 /* pStmt */))) + rc = sqlite3.Xsqlite3_finalize(tls, *(*uintptr)(unsafe.Pointer(bp + 32 /* pStmt */))) tcl.XTcl_SetResult(tls, interp, sqlite3.Xsqlite3ErrName(tls, rc), uintptr(0)) if (db != 0) && (sqlite3TestErrCode(tls, interp, db, rc) != 0) { return TCL_ERROR @@ -93162,19 +93162,19 @@ var aOp = [7]struct { // // Set the SQLITE_CONFIG_SORTERREF_SIZE configuration option func test_config_sorterref(tls *libc.TLS, clientData uintptr, interp uintptr, objc int32, objv uintptr) int32 { /* test1.c:2285:26: */ - bp := tls.Alloc(20) - defer tls.Free(20) + bp := tls.Alloc(12) + defer tls.Free(12) - // var iVal int32 at bp+16, 4 + // var iVal int32 at bp+8, 4 if objc != 2 { tcl.XTcl_WrongNumArgs(tls, interp, 1, objv, ts+16691 /* "NBYTE" */) return TCL_ERROR } - if tcl.XTcl_GetIntFromObj(tls, interp, *(*uintptr)(unsafe.Pointer(objv + 1*8)), bp+16 /* &iVal */) != 0 { + if tcl.XTcl_GetIntFromObj(tls, interp, *(*uintptr)(unsafe.Pointer(objv + 1*8)), bp+8 /* &iVal */) != 0 { return TCL_ERROR } - sqlite3.Xsqlite3_config(tls, SQLITE_CONFIG_SORTERREF_SIZE, libc.VaList(bp, *(*int32)(unsafe.Pointer(bp + 16 /* iVal */)))) + sqlite3.Xsqlite3_config(tls, SQLITE_CONFIG_SORTERREF_SIZE, libc.VaList(bp, *(*int32)(unsafe.Pointer(bp + 8 /* iVal */)))) return TCL_OK } @@ -93354,30 +93354,30 @@ func test_snapshot_get_blob(tls *libc.TLS, clientData uintptr, interp uintptr, o // Usage: sqlite3_snapshot_open_blob DB DBNAME SNAPSHOT func test_snapshot_open_blob(tls *libc.TLS, clientData uintptr, interp uintptr, objc int32, objv uintptr) int32 { /* test1.c:2510:26: */ - bp := tls.Alloc(36) - defer tls.Free(36) + bp := tls.Alloc(28) + defer tls.Free(28) var rc int32 - // var db uintptr at bp+24, 8 + // var db uintptr at bp+16, 8 var zName uintptr var pBlob uintptr - // var nBlob int32 at bp+32, 4 + // var nBlob int32 at bp+24, 4 if objc != 4 { tcl.XTcl_WrongNumArgs(tls, interp, 1, objv, ts+16707 /* "DB DBNAME SNAPSH..." */) return TCL_ERROR } - if getDbPointer(tls, interp, tcl.XTcl_GetString(tls, *(*uintptr)(unsafe.Pointer(objv + 1*8))), bp+24 /* &db */) != 0 { + if getDbPointer(tls, interp, tcl.XTcl_GetString(tls, *(*uintptr)(unsafe.Pointer(objv + 1*8))), bp+16 /* &db */) != 0 { return TCL_ERROR } zName = tcl.XTcl_GetString(tls, *(*uintptr)(unsafe.Pointer(objv + 2*8))) - pBlob = tcl.XTcl_GetByteArrayFromObj(tls, *(*uintptr)(unsafe.Pointer(objv + 3*8)), bp+32 /* &nBlob */) - if (uint64(*(*int32)(unsafe.Pointer(bp + 32 /* nBlob */))) != uint64(unsafe.Sizeof(sqlite3_snapshot{}))) { + pBlob = tcl.XTcl_GetByteArrayFromObj(tls, *(*uintptr)(unsafe.Pointer(objv + 3*8)), bp+24 /* &nBlob */) + if (uint64(*(*int32)(unsafe.Pointer(bp + 24 /* nBlob */))) != uint64(unsafe.Sizeof(sqlite3_snapshot{}))) { tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp, ts+16755 /* "bad SNAPSHOT" */, 0)) return TCL_ERROR } - rc = sqlite3.Xsqlite3_snapshot_open(tls, *(*uintptr)(unsafe.Pointer(bp + 24 /* db */)), zName, pBlob) + rc = sqlite3.Xsqlite3_snapshot_open(tls, *(*uintptr)(unsafe.Pointer(bp + 16 /* db */)), zName, pBlob) if rc != SQLITE_OK { tcl.XTcl_SetObjResult(tls, interp, tcl.XTcl_NewStringObj(tls, sqlite3.Xsqlite3ErrName(tls, rc), -1)) return TCL_ERROR @@ -93387,25 +93387,25 @@ func test_snapshot_open_blob(tls *libc.TLS, clientData uintptr, interp uintptr, // Usage: sqlite3_snapshot_cmp_blob SNAPSHOT1 SNAPSHOT2 func test_snapshot_cmp_blob(tls *libc.TLS, clientData uintptr, interp uintptr, objc int32, objv uintptr) int32 { /* test1.c:2546:26: */ - bp := tls.Alloc(32) - defer tls.Free(32) + bp := tls.Alloc(24) + defer tls.Free(24) var res int32 var p1 uintptr var p2 uintptr - // var n1 int32 at bp+24, 4 + // var n1 int32 at bp+16, 4 - // var n2 int32 at bp+28, 4 + // var n2 int32 at bp+20, 4 if objc != 3 { tcl.XTcl_WrongNumArgs(tls, interp, 1, objv, ts+16735 /* "SNAPSHOT1 SNAPSH..." */) return TCL_ERROR } - p1 = tcl.XTcl_GetByteArrayFromObj(tls, *(*uintptr)(unsafe.Pointer(objv + 1*8)), bp+24 /* &n1 */) - p2 = tcl.XTcl_GetByteArrayFromObj(tls, *(*uintptr)(unsafe.Pointer(objv + 2*8)), bp+28 /* &n2 */) + p1 = tcl.XTcl_GetByteArrayFromObj(tls, *(*uintptr)(unsafe.Pointer(objv + 1*8)), bp+16 /* &n1 */) + p2 = tcl.XTcl_GetByteArrayFromObj(tls, *(*uintptr)(unsafe.Pointer(objv + 2*8)), bp+20 /* &n2 */) - if (uint64(*(*int32)(unsafe.Pointer(bp + 24 /* n1 */))) != uint64(unsafe.Sizeof(sqlite3_snapshot{}))) || (*(*int32)(unsafe.Pointer(bp + 24 /* n1 */)) != *(*int32)(unsafe.Pointer(bp + 28 /* n2 */))) { + if (uint64(*(*int32)(unsafe.Pointer(bp + 16 /* n1 */))) != uint64(unsafe.Sizeof(sqlite3_snapshot{}))) || (*(*int32)(unsafe.Pointer(bp + 16 /* n1 */)) != *(*int32)(unsafe.Pointer(bp + 20 /* n2 */))) { tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp, ts+16755 /* "bad SNAPSHOT" */, 0)) return TCL_ERROR } @@ -93432,12 +93432,12 @@ func test_delete_database(tls *libc.TLS, clientData uintptr, interp uintptr, obj // Usage: atomic_batch_write PATH func test_atomic_batch_write(tls *libc.TLS, clientData uintptr, interp uintptr, objc int32, objv uintptr) int32 { /* test1.c:2603:26: */ - bp := tls.Alloc(40) - defer tls.Free(40) + bp := tls.Alloc(32) + defer tls.Free(32) var zFile uintptr = uintptr(0) // Path to file to test - *(*uintptr)(unsafe.Pointer(bp + 24 /* db */)) = uintptr(0) // Database handle - *(*uintptr)(unsafe.Pointer(bp + 32 /* pFd */)) = uintptr(0) // SQLite fd open on zFile + *(*uintptr)(unsafe.Pointer(bp + 16 /* db */)) = uintptr(0) // Database handle + *(*uintptr)(unsafe.Pointer(bp + 24 /* pFd */)) = uintptr(0) // SQLite fd open on zFile var bRes int32 = 0 // Integer result of this command var dc int32 = 0 // Device-characteristics mask var rc int32 // sqlite3_open() return code @@ -93448,21 +93448,21 @@ func test_atomic_batch_write(tls *libc.TLS, clientData uintptr, interp uintptr, } zFile = tcl.XTcl_GetString(tls, *(*uintptr)(unsafe.Pointer(objv + 1*8))) - rc = sqlite3.Xsqlite3_open(tls, zFile, bp+24 /* &db */) + rc = sqlite3.Xsqlite3_open(tls, zFile, bp+16 /* &db */) if rc != SQLITE_OK { - tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp, sqlite3.Xsqlite3_errmsg(tls, *(*uintptr)(unsafe.Pointer(bp + 24 /* db */))), 0)) - sqlite3.Xsqlite3_close(tls, *(*uintptr)(unsafe.Pointer(bp + 24 /* db */))) + tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp, sqlite3.Xsqlite3_errmsg(tls, *(*uintptr)(unsafe.Pointer(bp + 16 /* db */))), 0)) + sqlite3.Xsqlite3_close(tls, *(*uintptr)(unsafe.Pointer(bp + 16 /* db */))) return TCL_ERROR } - rc = sqlite3.Xsqlite3_file_control(tls, *(*uintptr)(unsafe.Pointer(bp + 24 /* db */)), ts+85 /* "main" */, SQLITE_FCNTL_FILE_POINTER, bp+32 /* &pFd */) - dc = (*(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(((*sqlite3_file)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp + 32 /* pFd */)))).FpMethods + 96 /* &.xDeviceCharacteristics */))))(tls, *(*uintptr)(unsafe.Pointer(bp + 32 /* pFd */))) + rc = sqlite3.Xsqlite3_file_control(tls, *(*uintptr)(unsafe.Pointer(bp + 16 /* db */)), ts+85 /* "main" */, SQLITE_FCNTL_FILE_POINTER, bp+24 /* &pFd */) + dc = (*(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(((*sqlite3_file)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp + 24 /* pFd */)))).FpMethods + 96 /* &.xDeviceCharacteristics */))))(tls, *(*uintptr)(unsafe.Pointer(bp + 24 /* pFd */))) if (dc & SQLITE_IOCAP_BATCH_ATOMIC) != 0 { bRes = 1 } tcl.XTcl_SetObjResult(tls, interp, tcl.XTcl_NewIntObj(tls, bRes)) - sqlite3.Xsqlite3_close(tls, *(*uintptr)(unsafe.Pointer(bp + 24 /* db */))) + sqlite3.Xsqlite3_close(tls, *(*uintptr)(unsafe.Pointer(bp + 16 /* db */))) return TCL_OK } @@ -93470,13 +93470,13 @@ func test_atomic_batch_write(tls *libc.TLS, clientData uintptr, interp uintptr, // // Return the next statment in sequence after STMT. func test_next_stmt(tls *libc.TLS, clientData uintptr, interp uintptr, objc int32, objv uintptr) int32 { /* test1.c:2645:26: */ - bp := tls.Alloc(130) - defer tls.Free(130) + bp := tls.Alloc(114) + defer tls.Free(114) - // var pStmt uintptr at bp+72, 8 + // var pStmt uintptr at bp+56, 8 - *(*uintptr)(unsafe.Pointer(bp + 64 /* db */)) = uintptr(0) - // var zBuf [50]int8 at bp+80, 50 + *(*uintptr)(unsafe.Pointer(bp + 48 /* db */)) = uintptr(0) + // var zBuf [50]int8 at bp+64, 50 if objc != 3 { tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp, ts+15410, /* "wrong # args: sh..." */ @@ -93484,18 +93484,18 @@ func test_next_stmt(tls *libc.TLS, clientData uintptr, interp uintptr, objc int3 return TCL_ERROR } - if getDbPointer(tls, interp, tcl.XTcl_GetString(tls, *(*uintptr)(unsafe.Pointer(objv + 1*8))), bp+64 /* &db */) != 0 { + if getDbPointer(tls, interp, tcl.XTcl_GetString(tls, *(*uintptr)(unsafe.Pointer(objv + 1*8))), bp+48 /* &db */) != 0 { return TCL_ERROR } - if getStmtPointer(tls, interp, tcl.XTcl_GetString(tls, *(*uintptr)(unsafe.Pointer(objv + 2*8))), bp+72 /* &pStmt */) != 0 { + if getStmtPointer(tls, interp, tcl.XTcl_GetString(tls, *(*uintptr)(unsafe.Pointer(objv + 2*8))), bp+56 /* &pStmt */) != 0 { return TCL_ERROR } - *(*uintptr)(unsafe.Pointer(bp + 72 /* pStmt */)) = sqlite3.Xsqlite3_next_stmt(tls, *(*uintptr)(unsafe.Pointer(bp + 64 /* db */)), *(*uintptr)(unsafe.Pointer(bp + 72 /* pStmt */))) - if *(*uintptr)(unsafe.Pointer(bp + 72 /* pStmt */)) != 0 { - if sqlite3TestMakePointerStr(tls, interp, bp+80 /* &zBuf[0] */, *(*uintptr)(unsafe.Pointer(bp + 72 /* pStmt */))) != 0 { + *(*uintptr)(unsafe.Pointer(bp + 56 /* pStmt */)) = sqlite3.Xsqlite3_next_stmt(tls, *(*uintptr)(unsafe.Pointer(bp + 48 /* db */)), *(*uintptr)(unsafe.Pointer(bp + 56 /* pStmt */))) + if *(*uintptr)(unsafe.Pointer(bp + 56 /* pStmt */)) != 0 { + if sqlite3TestMakePointerStr(tls, interp, bp+64 /* &zBuf[0] */, *(*uintptr)(unsafe.Pointer(bp + 56 /* pStmt */))) != 0 { return TCL_ERROR } - tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp+40, bp+80 /* &zBuf[0] */, 0)) + tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp+32, bp+64 /* &zBuf[0] */, 0)) } return TCL_OK } @@ -93505,10 +93505,10 @@ func test_next_stmt(tls *libc.TLS, clientData uintptr, interp uintptr, objc int3 // Return true if STMT is a NULL pointer or a pointer to a statement // that is guaranteed to leave the database unmodified. func test_stmt_readonly(tls *libc.TLS, clientData uintptr, interp uintptr, objc int32, objv uintptr) int32 { /* test1.c:2677:26: */ - bp := tls.Alloc(48) - defer tls.Free(48) + bp := tls.Alloc(40) + defer tls.Free(40) - // var pStmt uintptr at bp+40, 8 + // var pStmt uintptr at bp+32, 8 var rc int32 @@ -93518,10 +93518,10 @@ func test_stmt_readonly(tls *libc.TLS, clientData uintptr, interp uintptr, objc return TCL_ERROR } - if getStmtPointer(tls, interp, tcl.XTcl_GetString(tls, *(*uintptr)(unsafe.Pointer(objv + 1*8))), bp+40 /* &pStmt */) != 0 { + if getStmtPointer(tls, interp, tcl.XTcl_GetString(tls, *(*uintptr)(unsafe.Pointer(objv + 1*8))), bp+32 /* &pStmt */) != 0 { return TCL_ERROR } - rc = sqlite3.Xsqlite3_stmt_readonly(tls, *(*uintptr)(unsafe.Pointer(bp + 40 /* pStmt */))) + rc = sqlite3.Xsqlite3_stmt_readonly(tls, *(*uintptr)(unsafe.Pointer(bp + 32 /* pStmt */))) tcl.XTcl_SetObjResult(tls, interp, tcl.XTcl_NewIntObj(tls, (libc.Bool32((rc) != 0)))) return TCL_OK } @@ -93531,10 +93531,10 @@ func test_stmt_readonly(tls *libc.TLS, clientData uintptr, interp uintptr, objc // Return 1, 2, or 0 respectively if STMT is an EXPLAIN statement, an // EXPLAIN QUERY PLAN statement or an ordinary statement or NULL pointer. func test_stmt_isexplain(tls *libc.TLS, clientData uintptr, interp uintptr, objc int32, objv uintptr) int32 { /* test1.c:2704:26: */ - bp := tls.Alloc(48) - defer tls.Free(48) + bp := tls.Alloc(40) + defer tls.Free(40) - // var pStmt uintptr at bp+40, 8 + // var pStmt uintptr at bp+32, 8 var rc int32 @@ -93544,10 +93544,10 @@ func test_stmt_isexplain(tls *libc.TLS, clientData uintptr, interp uintptr, objc return TCL_ERROR } - if getStmtPointer(tls, interp, tcl.XTcl_GetString(tls, *(*uintptr)(unsafe.Pointer(objv + 1*8))), bp+40 /* &pStmt */) != 0 { + if getStmtPointer(tls, interp, tcl.XTcl_GetString(tls, *(*uintptr)(unsafe.Pointer(objv + 1*8))), bp+32 /* &pStmt */) != 0 { return TCL_ERROR } - rc = sqlite3.Xsqlite3_stmt_isexplain(tls, *(*uintptr)(unsafe.Pointer(bp + 40 /* pStmt */))) + rc = sqlite3.Xsqlite3_stmt_isexplain(tls, *(*uintptr)(unsafe.Pointer(bp + 32 /* pStmt */))) tcl.XTcl_SetObjResult(tls, interp, tcl.XTcl_NewIntObj(tls, rc)) return TCL_OK } @@ -93557,10 +93557,10 @@ func test_stmt_isexplain(tls *libc.TLS, clientData uintptr, interp uintptr, objc // Return true if STMT is a non-NULL pointer to a statement // that has been stepped but not to completion. func test_stmt_busy(tls *libc.TLS, clientData uintptr, interp uintptr, objc int32, objv uintptr) int32 { /* test1.c:2731:26: */ - bp := tls.Alloc(48) - defer tls.Free(48) + bp := tls.Alloc(40) + defer tls.Free(40) - // var pStmt uintptr at bp+40, 8 + // var pStmt uintptr at bp+32, 8 var rc int32 @@ -93570,10 +93570,10 @@ func test_stmt_busy(tls *libc.TLS, clientData uintptr, interp uintptr, objc int3 return TCL_ERROR } - if getStmtPointer(tls, interp, tcl.XTcl_GetString(tls, *(*uintptr)(unsafe.Pointer(objv + 1*8))), bp+40 /* &pStmt */) != 0 { + if getStmtPointer(tls, interp, tcl.XTcl_GetString(tls, *(*uintptr)(unsafe.Pointer(objv + 1*8))), bp+32 /* &pStmt */) != 0 { return TCL_ERROR } - rc = sqlite3.Xsqlite3_stmt_busy(tls, *(*uintptr)(unsafe.Pointer(bp + 40 /* pStmt */))) + rc = sqlite3.Xsqlite3_stmt_busy(tls, *(*uintptr)(unsafe.Pointer(bp + 32 /* pStmt */))) tcl.XTcl_SetObjResult(tls, interp, tcl.XTcl_NewIntObj(tls, (libc.Bool32((rc) != 0)))) return TCL_OK } @@ -93582,10 +93582,10 @@ func test_stmt_busy(tls *libc.TLS, clientData uintptr, interp uintptr, objc int3 // // Return true if STMT uses a statement journal. func uses_stmt_journal(tls *libc.TLS, clientData uintptr, interp uintptr, objc int32, objv uintptr) int32 { /* test1.c:2757:26: */ - bp := tls.Alloc(48) - defer tls.Free(48) + bp := tls.Alloc(40) + defer tls.Free(40) - // var pStmt uintptr at bp+40, 8 + // var pStmt uintptr at bp+32, 8 if objc != 2 { tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp, ts+15410, /* "wrong # args: sh..." */ @@ -93593,11 +93593,11 @@ func uses_stmt_journal(tls *libc.TLS, clientData uintptr, interp uintptr, objc i return TCL_ERROR } - if getStmtPointer(tls, interp, tcl.XTcl_GetString(tls, *(*uintptr)(unsafe.Pointer(objv + 1*8))), bp+40 /* &pStmt */) != 0 { + if getStmtPointer(tls, interp, tcl.XTcl_GetString(tls, *(*uintptr)(unsafe.Pointer(objv + 1*8))), bp+32 /* &pStmt */) != 0 { return TCL_ERROR } - sqlite3.Xsqlite3_stmt_readonly(tls, *(*uintptr)(unsafe.Pointer(bp + 40 /* pStmt */))) - tcl.XTcl_SetObjResult(tls, interp, tcl.XTcl_NewIntObj(tls, (libc.Bool32((int32(*(*uint16)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp + 40 /* pStmt */)) + 200 /* &.usesStmtJournal */))&0x40>>6)) != 0)))) + sqlite3.Xsqlite3_stmt_readonly(tls, *(*uintptr)(unsafe.Pointer(bp + 32 /* pStmt */))) + tcl.XTcl_SetObjResult(tls, interp, tcl.XTcl_NewIntObj(tls, (libc.Bool32((int32(*(*uint16)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp + 32 /* pStmt */)) + 200 /* &.usesStmtJournal */))&0x40>>6)) != 0)))) return TCL_OK } @@ -93605,10 +93605,10 @@ func uses_stmt_journal(tls *libc.TLS, clientData uintptr, interp uintptr, objc i // // Reset a statement handle. func test_reset(tls *libc.TLS, clientData uintptr, interp uintptr, objc int32, objv uintptr) int32 { /* test1.c:2783:26: */ - bp := tls.Alloc(48) - defer tls.Free(48) + bp := tls.Alloc(40) + defer tls.Free(40) - // var pStmt uintptr at bp+40, 8 + // var pStmt uintptr at bp+32, 8 var rc int32 @@ -93618,12 +93618,12 @@ func test_reset(tls *libc.TLS, clientData uintptr, interp uintptr, objc int32, o return TCL_ERROR } - if getStmtPointer(tls, interp, tcl.XTcl_GetString(tls, *(*uintptr)(unsafe.Pointer(objv + 1*8))), bp+40 /* &pStmt */) != 0 { + if getStmtPointer(tls, interp, tcl.XTcl_GetString(tls, *(*uintptr)(unsafe.Pointer(objv + 1*8))), bp+32 /* &pStmt */) != 0 { return TCL_ERROR } - rc = sqlite3.Xsqlite3_reset(tls, *(*uintptr)(unsafe.Pointer(bp + 40 /* pStmt */))) - if (*(*uintptr)(unsafe.Pointer(bp + 40 /* pStmt */)) != 0) && (sqlite3TestErrCode(tls, interp, sqlite3.Xsqlite3_db_handle(tls, *(*uintptr)(unsafe.Pointer(bp + 40 /* pStmt */))), rc) != 0) { + rc = sqlite3.Xsqlite3_reset(tls, *(*uintptr)(unsafe.Pointer(bp + 32 /* pStmt */))) + if (*(*uintptr)(unsafe.Pointer(bp + 32 /* pStmt */)) != 0) && (sqlite3TestErrCode(tls, interp, sqlite3.Xsqlite3_db_handle(tls, *(*uintptr)(unsafe.Pointer(bp + 32 /* pStmt */))), rc) != 0) { return TCL_ERROR } tcl.XTcl_SetResult(tls, interp, sqlite3.Xsqlite3ErrName(tls, rc), uintptr(0)) @@ -93638,20 +93638,20 @@ func test_reset(tls *libc.TLS, clientData uintptr, interp uintptr, objc int32, o // // Return TRUE if a recompilation of the statement is recommended. func test_expired(tls *libc.TLS, clientData uintptr, interp uintptr, objc int32, objv uintptr) int32 { /* test1.c:2818:26: */ - bp := tls.Alloc(48) - defer tls.Free(48) + bp := tls.Alloc(40) + defer tls.Free(40) - // var pStmt uintptr at bp+40, 8 + // var pStmt uintptr at bp+32, 8 if objc != 2 { tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp, ts+15410, /* "wrong # args: sh..." */ tcl.XTcl_GetStringFromObj(tls, *(*uintptr)(unsafe.Pointer(objv)), uintptr(0)), ts+16473 /* " " */, 0)) return TCL_ERROR } - if getStmtPointer(tls, interp, tcl.XTcl_GetString(tls, *(*uintptr)(unsafe.Pointer(objv + 1*8))), bp+40 /* &pStmt */) != 0 { + if getStmtPointer(tls, interp, tcl.XTcl_GetString(tls, *(*uintptr)(unsafe.Pointer(objv + 1*8))), bp+32 /* &pStmt */) != 0 { return TCL_ERROR } - tcl.XTcl_SetObjResult(tls, interp, tcl.XTcl_NewIntObj(tls, (libc.Bool32((sqlite3.Xsqlite3_expired(tls, *(*uintptr)(unsafe.Pointer(bp + 40 /* pStmt */)))) != 0)))) + tcl.XTcl_SetObjResult(tls, interp, tcl.XTcl_NewIntObj(tls, (libc.Bool32((sqlite3.Xsqlite3_expired(tls, *(*uintptr)(unsafe.Pointer(bp + 32 /* pStmt */)))) != 0)))) return TCL_OK } @@ -93659,26 +93659,26 @@ func test_expired(tls *libc.TLS, clientData uintptr, interp uintptr, objc int32, // // Transfer all bindings from FROMSTMT over to TOSTMT func test_transfer_bind(tls *libc.TLS, clientData uintptr, interp uintptr, objc int32, objv uintptr) int32 { /* test1.c:2842:26: */ - bp := tls.Alloc(56) - defer tls.Free(56) + bp := tls.Alloc(48) + defer tls.Free(48) - // var pStmt1 uintptr at bp+40, 8 + // var pStmt1 uintptr at bp+32, 8 - // var pStmt2 uintptr at bp+48, 8 + // var pStmt2 uintptr at bp+40, 8 if objc != 3 { tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp, ts+15410, /* "wrong # args: sh..." */ tcl.XTcl_GetStringFromObj(tls, *(*uintptr)(unsafe.Pointer(objv)), uintptr(0)), ts+16793 /* " FROM-STMT TO-ST..." */, 0)) return TCL_ERROR } - if getStmtPointer(tls, interp, tcl.XTcl_GetString(tls, *(*uintptr)(unsafe.Pointer(objv + 1*8))), bp+40 /* &pStmt1 */) != 0 { + if getStmtPointer(tls, interp, tcl.XTcl_GetString(tls, *(*uintptr)(unsafe.Pointer(objv + 1*8))), bp+32 /* &pStmt1 */) != 0 { return TCL_ERROR } - if getStmtPointer(tls, interp, tcl.XTcl_GetString(tls, *(*uintptr)(unsafe.Pointer(objv + 2*8))), bp+48 /* &pStmt2 */) != 0 { + if getStmtPointer(tls, interp, tcl.XTcl_GetString(tls, *(*uintptr)(unsafe.Pointer(objv + 2*8))), bp+40 /* &pStmt2 */) != 0 { return TCL_ERROR } tcl.XTcl_SetObjResult(tls, interp, - tcl.XTcl_NewIntObj(tls, sqlite3.Xsqlite3_transfer_bindings(tls, *(*uintptr)(unsafe.Pointer(bp + 40 /* pStmt1 */)), *(*uintptr)(unsafe.Pointer(bp + 48 /* pStmt2 */))))) + tcl.XTcl_NewIntObj(tls, sqlite3.Xsqlite3_transfer_bindings(tls, *(*uintptr)(unsafe.Pointer(bp + 32 /* pStmt1 */)), *(*uintptr)(unsafe.Pointer(bp + 40 /* pStmt2 */))))) return TCL_OK } @@ -93687,20 +93687,20 @@ func test_transfer_bind(tls *libc.TLS, clientData uintptr, interp uintptr, objc // Return the number of changes made to the database by the last SQL // execution. func test_changes(tls *libc.TLS, clientData uintptr, interp uintptr, objc int32, objv uintptr) int32 { /* test1.c:2869:26: */ - bp := tls.Alloc(48) - defer tls.Free(48) + bp := tls.Alloc(40) + defer tls.Free(40) - // var db uintptr at bp+40, 8 + // var db uintptr at bp+32, 8 if objc != 2 { tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp, ts+15410, /* "wrong # args: sh..." */ tcl.XTcl_GetString(tls, *(*uintptr)(unsafe.Pointer(objv))), ts+15462 /* " DB" */, 0)) return TCL_ERROR } - if getDbPointer(tls, interp, tcl.XTcl_GetString(tls, *(*uintptr)(unsafe.Pointer(objv + 1*8))), bp+40 /* &db */) != 0 { + if getDbPointer(tls, interp, tcl.XTcl_GetString(tls, *(*uintptr)(unsafe.Pointer(objv + 1*8))), bp+32 /* &db */) != 0 { return TCL_ERROR } - tcl.XTcl_SetObjResult(tls, interp, tcl.XTcl_NewIntObj(tls, sqlite3.Xsqlite3_changes(tls, *(*uintptr)(unsafe.Pointer(bp + 40 /* db */))))) + tcl.XTcl_SetObjResult(tls, interp, tcl.XTcl_NewIntObj(tls, sqlite3.Xsqlite3_changes(tls, *(*uintptr)(unsafe.Pointer(bp + 32 /* db */))))) return TCL_OK } @@ -93719,49 +93719,49 @@ var sqlite_static_bind_nbyte int32 = 0 /* test1.c:2891:12 */ // of the VALUE is made. If FLAGS=="blob10" then a VALUE is ignored // an a 10-byte blob "abc\000xyz\000pq" is inserted. func test_bind(tls *libc.TLS, NotUsed uintptr, interp uintptr, argc int32, argv uintptr) int32 { /* test1.c:2904:26: */ - bp := tls.Alloc(174) - defer tls.Free(174) + bp := tls.Alloc(142) + defer tls.Free(142) - // var pStmt uintptr at bp+112, 8 + // var pStmt uintptr at bp+80, 8 var rc int32 - // var idx int32 at bp+120, 4 + // var idx int32 at bp+88, 4 if argc != 5 { tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp, ts+15410 /* "wrong # args: sh..." */, *(*uintptr)(unsafe.Pointer(argv)), ts+16812 /* " VM IDX VALUE (n..." */, 0)) return TCL_ERROR } - if getStmtPointer(tls, interp, *(*uintptr)(unsafe.Pointer(argv + 1*8)), bp+112 /* &pStmt */) != 0 { + if getStmtPointer(tls, interp, *(*uintptr)(unsafe.Pointer(argv + 1*8)), bp+80 /* &pStmt */) != 0 { return TCL_ERROR } - if tcl.XTcl_GetInt(tls, interp, *(*uintptr)(unsafe.Pointer(argv + 2*8)), bp+120 /* &idx */) != 0 { + if tcl.XTcl_GetInt(tls, interp, *(*uintptr)(unsafe.Pointer(argv + 2*8)), bp+88 /* &idx */) != 0 { return TCL_ERROR } if libc.Xstrcmp(tls, *(*uintptr)(unsafe.Pointer(argv + 4*8)), ts+7385 /* "null" */) == 0 { - rc = sqlite3.Xsqlite3_bind_null(tls, *(*uintptr)(unsafe.Pointer(bp + 112 /* pStmt */)), *(*int32)(unsafe.Pointer(bp + 120 /* idx */))) + rc = sqlite3.Xsqlite3_bind_null(tls, *(*uintptr)(unsafe.Pointer(bp + 80 /* pStmt */)), *(*int32)(unsafe.Pointer(bp + 88 /* idx */))) } else if libc.Xstrcmp(tls, *(*uintptr)(unsafe.Pointer(argv + 4*8)), ts+16848 /* "static" */) == 0 { - rc = sqlite3.Xsqlite3_bind_text(tls, *(*uintptr)(unsafe.Pointer(bp + 112 /* pStmt */)), *(*int32)(unsafe.Pointer(bp + 120 /* idx */)), sqlite_static_bind_value, -1, uintptr(0)) + rc = sqlite3.Xsqlite3_bind_text(tls, *(*uintptr)(unsafe.Pointer(bp + 80 /* pStmt */)), *(*int32)(unsafe.Pointer(bp + 88 /* idx */)), sqlite_static_bind_value, -1, uintptr(0)) } else if libc.Xstrcmp(tls, *(*uintptr)(unsafe.Pointer(argv + 4*8)), ts+16855 /* "static-nbytes" */) == 0 { - rc = sqlite3.Xsqlite3_bind_text(tls, *(*uintptr)(unsafe.Pointer(bp + 112 /* pStmt */)), *(*int32)(unsafe.Pointer(bp + 120 /* idx */)), sqlite_static_bind_value, + rc = sqlite3.Xsqlite3_bind_text(tls, *(*uintptr)(unsafe.Pointer(bp + 80 /* pStmt */)), *(*int32)(unsafe.Pointer(bp + 88 /* idx */)), sqlite_static_bind_value, sqlite_static_bind_nbyte, uintptr(0)) } else if libc.Xstrcmp(tls, *(*uintptr)(unsafe.Pointer(argv + 4*8)), ts+16869 /* "normal" */) == 0 { - rc = sqlite3.Xsqlite3_bind_text(tls, *(*uintptr)(unsafe.Pointer(bp + 112 /* pStmt */)), *(*int32)(unsafe.Pointer(bp + 120 /* idx */)), *(*uintptr)(unsafe.Pointer(argv + 3*8)), -1, libc.UintptrFromInt32(-1)) + rc = sqlite3.Xsqlite3_bind_text(tls, *(*uintptr)(unsafe.Pointer(bp + 80 /* pStmt */)), *(*int32)(unsafe.Pointer(bp + 88 /* idx */)), *(*uintptr)(unsafe.Pointer(argv + 3*8)), -1, libc.UintptrFromInt32(-1)) } else if libc.Xstrcmp(tls, *(*uintptr)(unsafe.Pointer(argv + 4*8)), ts+16876 /* "blob10" */) == 0 { - rc = sqlite3.Xsqlite3_bind_text(tls, *(*uintptr)(unsafe.Pointer(bp + 112 /* pStmt */)), *(*int32)(unsafe.Pointer(bp + 120 /* idx */)), ts+16883 /* "abc\x00xyz\x00pq" */, 10, uintptr(0)) + rc = sqlite3.Xsqlite3_bind_text(tls, *(*uintptr)(unsafe.Pointer(bp + 80 /* pStmt */)), *(*int32)(unsafe.Pointer(bp + 88 /* idx */)), ts+16883 /* "abc\x00xyz\x00pq" */, 10, uintptr(0)) } else { tcl.XTcl_AppendResult(tls, interp, - libc.VaList(bp+40, ts+16894 /* "4th argument sho..." */, 0)) + libc.VaList(bp+32, ts+16894 /* "4th argument sho..." */, 0)) return TCL_ERROR } - if sqlite3TestErrCode(tls, interp, sqlite3.Xsqlite3_db_handle(tls, *(*uintptr)(unsafe.Pointer(bp + 112 /* pStmt */))), rc) != 0 { + if sqlite3TestErrCode(tls, interp, sqlite3.Xsqlite3_db_handle(tls, *(*uintptr)(unsafe.Pointer(bp + 80 /* pStmt */))), rc) != 0 { return TCL_ERROR } if rc != 0 { - // var zBuf [50]int8 at bp+124, 50 + // var zBuf [50]int8 at bp+92, 50 - sqlite3.Xsqlite3_snprintf(tls, int32(unsafe.Sizeof([50]int8{})), bp+124 /* &zBuf[0] */, ts+16948 /* "(%d) " */, libc.VaList(bp+64, rc)) - tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp+80, bp+124 /* &zBuf[0] */, sqlite3.Xsqlite3ErrStr(tls, rc), 0)) + sqlite3.Xsqlite3_snprintf(tls, int32(unsafe.Sizeof([50]int8{})), bp+92 /* &zBuf[0] */, ts+16948 /* "(%d) " */, libc.VaList(bp+48, rc)) + tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp+56, bp+92 /* &zBuf[0] */, sqlite3.Xsqlite3ErrStr(tls, rc), 0)) return TCL_ERROR } return TCL_OK @@ -93851,12 +93851,12 @@ func test_collate_func(tls *libc.TLS, pCtx uintptr, nA int32, zA uintptr, nB int } func test_collate(tls *libc.TLS, clientData uintptr, interp uintptr, objc int32, objv uintptr) int32 { /* test1.c:3026:26: */ - bp := tls.Alloc(76) - defer tls.Free(76) + bp := tls.Alloc(60) + defer tls.Free(60) - // var db uintptr at bp+64, 8 + // var db uintptr at bp+48, 8 - // var val int32 at bp+72, 4 + // var val int32 at bp+56, 4 var pVal uintptr var rc int32 @@ -93869,22 +93869,22 @@ func test_collate(tls *libc.TLS, clientData uintptr, interp uintptr, objc int32, __1: ; pTestCollateInterp = interp - if !(getDbPointer(tls, interp, tcl.XTcl_GetString(tls, *(*uintptr)(unsafe.Pointer(objv + 1*8))), bp+64 /* &db */) != 0) { + if !(getDbPointer(tls, interp, tcl.XTcl_GetString(tls, *(*uintptr)(unsafe.Pointer(objv + 1*8))), bp+48 /* &db */) != 0) { goto __2 } return TCL_ERROR __2: ; - if !(TCL_OK != tcl.XTcl_GetBooleanFromObj(tls, interp, *(*uintptr)(unsafe.Pointer(objv + 2*8)), bp+72 /* &val */)) { + if !(TCL_OK != tcl.XTcl_GetBooleanFromObj(tls, interp, *(*uintptr)(unsafe.Pointer(objv + 2*8)), bp+56 /* &val */)) { goto __3 } return TCL_ERROR __3: ; - rc = sqlite3.Xsqlite3_create_collation(tls, *(*uintptr)(unsafe.Pointer(bp + 64 /* db */)), ts+16954 /* "test_collate" */, SQLITE_UTF8, + rc = sqlite3.Xsqlite3_create_collation(tls, *(*uintptr)(unsafe.Pointer(bp + 48 /* db */)), ts+16954 /* "test_collate" */, SQLITE_UTF8, uintptr(SQLITE_UTF8), func() uintptr { - if *(*int32)(unsafe.Pointer(bp + 72 /* val */)) != 0 { + if *(*int32)(unsafe.Pointer(bp + 56 /* val */)) != 0 { return *(*uintptr)(unsafe.Pointer(&struct { f func(*libc.TLS, uintptr, int32, uintptr, int32, uintptr) int32 }{test_collate_func})) @@ -93894,41 +93894,41 @@ __3: if !(rc == SQLITE_OK) { goto __4 } - if !(TCL_OK != tcl.XTcl_GetBooleanFromObj(tls, interp, *(*uintptr)(unsafe.Pointer(objv + 3*8)), bp+72 /* &val */)) { + if !(TCL_OK != tcl.XTcl_GetBooleanFromObj(tls, interp, *(*uintptr)(unsafe.Pointer(objv + 3*8)), bp+56 /* &val */)) { goto __5 } return TCL_ERROR __5: ; - rc = sqlite3.Xsqlite3_create_collation(tls, *(*uintptr)(unsafe.Pointer(bp + 64 /* db */)), ts+16954 /* "test_collate" */, SQLITE_UTF16LE, + rc = sqlite3.Xsqlite3_create_collation(tls, *(*uintptr)(unsafe.Pointer(bp + 48 /* db */)), ts+16954 /* "test_collate" */, SQLITE_UTF16LE, uintptr(SQLITE_UTF16LE), func() uintptr { - if *(*int32)(unsafe.Pointer(bp + 72 /* val */)) != 0 { + if *(*int32)(unsafe.Pointer(bp + 56 /* val */)) != 0 { return *(*uintptr)(unsafe.Pointer(&struct { f func(*libc.TLS, uintptr, int32, uintptr, int32, uintptr) int32 }{test_collate_func})) } return uintptr(0) }()) - if !(TCL_OK != tcl.XTcl_GetBooleanFromObj(tls, interp, *(*uintptr)(unsafe.Pointer(objv + 4*8)), bp+72 /* &val */)) { + if !(TCL_OK != tcl.XTcl_GetBooleanFromObj(tls, interp, *(*uintptr)(unsafe.Pointer(objv + 4*8)), bp+56 /* &val */)) { goto __6 } return TCL_ERROR __6: ; - sqlite3.Xsqlite3_mutex_enter(tls, (*sqlite31)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp + 64 /* db */)))).Fmutex) - pVal = sqlite3.Xsqlite3ValueNew(tls, *(*uintptr)(unsafe.Pointer(bp + 64 /* db */))) + sqlite3.Xsqlite3_mutex_enter(tls, (*sqlite31)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp + 48 /* db */)))).Fmutex) + pVal = sqlite3.Xsqlite3ValueNew(tls, *(*uintptr)(unsafe.Pointer(bp + 48 /* db */))) sqlite3.Xsqlite3ValueSetStr(tls, pVal, -1, ts+16954 /* "test_collate" */, uint8(SQLITE_UTF8), uintptr(0)) zUtf16 = sqlite3.Xsqlite3ValueText(tls, pVal, uint8(SQLITE_UTF16LE)) - if !((*sqlite31)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp + 64 /* db */)))).FmallocFailed != 0) { + if !((*sqlite31)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp + 48 /* db */)))).FmallocFailed != 0) { goto __7 } rc = SQLITE_NOMEM goto __8 __7: - rc = sqlite3.Xsqlite3_create_collation16(tls, *(*uintptr)(unsafe.Pointer(bp + 64 /* db */)), zUtf16, SQLITE_UTF16BE, + rc = sqlite3.Xsqlite3_create_collation16(tls, *(*uintptr)(unsafe.Pointer(bp + 48 /* db */)), zUtf16, SQLITE_UTF16BE, uintptr(SQLITE_UTF16BE), func() uintptr { - if *(*int32)(unsafe.Pointer(bp + 72 /* val */)) != 0 { + if *(*int32)(unsafe.Pointer(bp + 56 /* val */)) != 0 { return *(*uintptr)(unsafe.Pointer(&struct { f func(*libc.TLS, uintptr, int32, uintptr, int32, uintptr) int32 }{test_collate_func})) @@ -93938,10 +93938,10 @@ __7: __8: ; sqlite3.Xsqlite3ValueFree(tls, pVal) - sqlite3.Xsqlite3_mutex_leave(tls, (*sqlite31)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp + 64 /* db */)))).Fmutex) + sqlite3.Xsqlite3_mutex_leave(tls, (*sqlite31)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp + 48 /* db */)))).Fmutex) __4: ; - if !(sqlite3TestErrCode(tls, interp, *(*uintptr)(unsafe.Pointer(bp + 64 /* db */)), rc) != 0) { + if !(sqlite3TestErrCode(tls, interp, *(*uintptr)(unsafe.Pointer(bp + 48 /* db */)), rc) != 0) { goto __9 } return TCL_ERROR @@ -93958,7 +93958,7 @@ __10: return TCL_OK bad_args: - tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp+24, ts+15410, /* "wrong # args: sh..." */ + tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp+16, ts+15410, /* "wrong # args: sh..." */ tcl.XTcl_GetStringFromObj(tls, *(*uintptr)(unsafe.Pointer(objv)), uintptr(0)), ts+16991 /* " *(*int32)(unsafe.Pointer(bp + 100 /* len */)) { - // var zBuf [200]int8 at bp+108, 200 + if *(*int32)(unsafe.Pointer(bp + 80 /* bytes */)) > *(*int32)(unsafe.Pointer(bp + 76 /* len */)) { + // var zBuf [200]int8 at bp+84, 200 - sqlite3.Xsqlite3_snprintf(tls, int32(unsafe.Sizeof([200]int8{})), bp+108, /* &zBuf[0] */ - ts+17220 /* "cannot use %d bl..." */, libc.VaList(bp+40, *(*int32)(unsafe.Pointer(bp + 104 /* bytes */)), *(*int32)(unsafe.Pointer(bp + 100 /* len */)))) - tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp+64, bp+108 /* &zBuf[0] */, uintptr(0))) + sqlite3.Xsqlite3_snprintf(tls, int32(unsafe.Sizeof([200]int8{})), bp+84, /* &zBuf[0] */ + ts+17220 /* "cannot use %d bl..." */, libc.VaList(bp+32, *(*int32)(unsafe.Pointer(bp + 80 /* bytes */)), *(*int32)(unsafe.Pointer(bp + 76 /* len */)))) + tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp+48, bp+84 /* &zBuf[0] */, uintptr(0))) return TCL_ERROR } - rc = sqlite3.Xsqlite3_bind_blob(tls, *(*uintptr)(unsafe.Pointer(bp + 88 /* pStmt */)), *(*int32)(unsafe.Pointer(bp + 96 /* idx */)), value, *(*int32)(unsafe.Pointer(bp + 104 /* bytes */)), xDestructor) - if sqlite3TestErrCode(tls, interp, sqlite3.Xsqlite3_db_handle(tls, *(*uintptr)(unsafe.Pointer(bp + 88 /* pStmt */))), rc) != 0 { + rc = sqlite3.Xsqlite3_bind_blob(tls, *(*uintptr)(unsafe.Pointer(bp + 64 /* pStmt */)), *(*int32)(unsafe.Pointer(bp + 72 /* idx */)), value, *(*int32)(unsafe.Pointer(bp + 80 /* bytes */)), xDestructor) + if sqlite3TestErrCode(tls, interp, sqlite3.Xsqlite3_db_handle(tls, *(*uintptr)(unsafe.Pointer(bp + 64 /* pStmt */))), rc) != 0 { return TCL_ERROR } if rc != SQLITE_OK { @@ -94999,30 +94999,30 @@ func test_bind_blob(tls *libc.TLS, clientData uintptr, interp uintptr, objc int3 // Each call clears static data. Called with no options does nothing // but clear static data. func test_carray_bind(tls *libc.TLS, clientData uintptr, interp uintptr, objc int32, objv uintptr) int32 { /* test1.c:3996:26: */ - bp := tls.Alloc(152) - defer tls.Free(152) + bp := tls.Alloc(112) + defer tls.Free(112) - // var pStmt uintptr at bp+120, 8 + // var pStmt uintptr at bp+80, 8 var eType int32 // CARRAY_INT32 var nData int32 var aData uintptr var isTransient int32 var isStatic int32 - // var idx int32 at bp+128, 4 + // var idx int32 at bp+88, 4 var i int32 var j int32 var rc int32 var xDel uintptr var z uintptr - // var v int32 at bp+132, 4 + // var v int32 at bp+92, 4 // INT32 var a uintptr - // var v1 Tcl_WideInt at bp+136, 8 + // var v1 Tcl_WideInt at bp+96, 8 // INT64 var a1 uintptr - // var v2 float64 at bp+144, 8 + // var v2 float64 at bp+104, 8 // DOUBLE var a2 uintptr var v3 uintptr // TEXT @@ -95146,7 +95146,7 @@ __9: if !(((eType == 3) && !(isStatic != 0)) && !(isTransient != 0)) { goto __24 } - tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp+32, ts+17304, /* "text data must b..." */ + tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp+24, ts+17304, /* "text data must b..." */ uintptr(0))) return TCL_ERROR __24: @@ -95154,7 +95154,7 @@ __24: if !((isStatic != 0) && (isTransient != 0)) { goto __25 } - tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp+56, ts+17351, /* "cannot be both -..." */ + tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp+40, ts+17351, /* "cannot be both -..." */ uintptr(0))) return TCL_ERROR __25: @@ -95166,14 +95166,14 @@ __25: return TCL_ERROR __26: ; - if !(getStmtPointer(tls, interp, tcl.XTcl_GetString(tls, *(*uintptr)(unsafe.Pointer(objv + uintptr(i)*8))), bp+120 /* &pStmt */) != 0) { + if !(getStmtPointer(tls, interp, tcl.XTcl_GetString(tls, *(*uintptr)(unsafe.Pointer(objv + uintptr(i)*8))), bp+80 /* &pStmt */) != 0) { goto __27 } return TCL_ERROR __27: ; i++ - if !(tcl.XTcl_GetIntFromObj(tls, interp, *(*uintptr)(unsafe.Pointer(objv + uintptr(i)*8)), bp+128 /* &idx */) != 0) { + if !(tcl.XTcl_GetIntFromObj(tls, interp, *(*uintptr)(unsafe.Pointer(objv + uintptr(i)*8)), bp+88 /* &idx */) != 0) { goto __28 } return TCL_ERROR @@ -95208,14 +95208,14 @@ __36: if !(j < nData) { goto __38 } - if !(tcl.XTcl_GetIntFromObj(tls, interp, *(*uintptr)(unsafe.Pointer(objv + uintptr((i+j))*8)), bp+132 /* &v */) != 0) { + if !(tcl.XTcl_GetIntFromObj(tls, interp, *(*uintptr)(unsafe.Pointer(objv + uintptr((i+j))*8)), bp+92 /* &v */) != 0) { goto __39 } sqlite3.Xsqlite3_free(tls, a) return TCL_ERROR __39: ; - *(*int32)(unsafe.Pointer(a + uintptr(j)*4)) = *(*int32)(unsafe.Pointer(bp + 132 /* v */)) + *(*int32)(unsafe.Pointer(a + uintptr(j)*4)) = *(*int32)(unsafe.Pointer(bp + 92 /* v */)) goto __37 __37: j++ @@ -95240,14 +95240,14 @@ __41: if !(j < nData) { goto __43 } - if !(tcl.XTcl_GetWideIntFromObj(tls, interp, *(*uintptr)(unsafe.Pointer(objv + uintptr((i+j))*8)), bp+136 /* &v1 */) != 0) { + if !(tcl.XTcl_GetWideIntFromObj(tls, interp, *(*uintptr)(unsafe.Pointer(objv + uintptr((i+j))*8)), bp+96 /* &v1 */) != 0) { goto __44 } sqlite3.Xsqlite3_free(tls, a1) return TCL_ERROR __44: ; - *(*sqlite3_int64)(unsafe.Pointer(a1 + uintptr(j)*8)) = *(*Tcl_WideInt)(unsafe.Pointer(bp + 136 /* v1 */)) + *(*sqlite3_int64)(unsafe.Pointer(a1 + uintptr(j)*8)) = *(*Tcl_WideInt)(unsafe.Pointer(bp + 96 /* v1 */)) goto __42 __42: j++ @@ -95272,14 +95272,14 @@ __46: if !(j < nData) { goto __48 } - if !(tcl.XTcl_GetDoubleFromObj(tls, interp, *(*uintptr)(unsafe.Pointer(objv + uintptr((i+j))*8)), bp+144 /* &v2 */) != 0) { + if !(tcl.XTcl_GetDoubleFromObj(tls, interp, *(*uintptr)(unsafe.Pointer(objv + uintptr((i+j))*8)), bp+104 /* &v2 */) != 0) { goto __49 } sqlite3.Xsqlite3_free(tls, a2) return TCL_ERROR __49: ; - *(*float64)(unsafe.Pointer(a2 + uintptr(j)*8)) = *(*float64)(unsafe.Pointer(bp + 144 /* v2 */)) + *(*float64)(unsafe.Pointer(a2 + uintptr(j)*8)) = *(*float64)(unsafe.Pointer(bp + 104 /* v2 */)) goto __47 __47: j++ @@ -95305,7 +95305,7 @@ __51: goto __53 } v3 = tcl.XTcl_GetString(tls, *(*uintptr)(unsafe.Pointer(objv + uintptr((i+j))*8))) - *(*uintptr)(unsafe.Pointer(a3 + uintptr(j)*8)) = sqlite3.Xsqlite3_mprintf(tls, ts /* "%s" */, libc.VaList(bp+80, v3)) + *(*uintptr)(unsafe.Pointer(a3 + uintptr(j)*8)) = sqlite3.Xsqlite3_mprintf(tls, ts /* "%s" */, libc.VaList(bp+56, v3)) goto __52 __52: j++ @@ -95333,7 +95333,7 @@ __29: eStaticType = eType __54: ; - rc = sqlite3_carray_bind(tls, *(*uintptr)(unsafe.Pointer(bp + 120 /* pStmt */)), *(*int32)(unsafe.Pointer(bp + 128 /* idx */)), aData, nData, eType, xDel) + rc = sqlite3_carray_bind(tls, *(*uintptr)(unsafe.Pointer(bp + 80 /* pStmt */)), *(*int32)(unsafe.Pointer(bp + 88 /* idx */)), aData, nData, eType, xDel) if !(isTransient != 0) { goto __55 } @@ -95362,7 +95362,7 @@ carray_bind_done: if !(rc != 0) { goto __60 } - tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp+96, sqlite3.Xsqlite3_errstr(tls, rc), uintptr(0))) + tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp+64, sqlite3.Xsqlite3_errstr(tls, rc), uintptr(0))) return TCL_ERROR __60: ; @@ -95486,10 +95486,10 @@ func test_sleep(tls *libc.TLS, clientData uintptr, interp uintptr, objc int32, o // Return the string representation of the most recent sqlite3_* API // error code. e.g. "SQLITE_ERROR". func test_ex_errcode(tls *libc.TLS, clientData uintptr, interp uintptr, objc int32, objv uintptr) int32 { /* test1.c:4295:26: */ - bp := tls.Alloc(72) - defer tls.Free(72) + bp := tls.Alloc(56) + defer tls.Free(56) - // var db uintptr at bp+64, 8 + // var db uintptr at bp+48, 8 var rc int32 @@ -95498,11 +95498,11 @@ func test_ex_errcode(tls *libc.TLS, clientData uintptr, interp uintptr, objc int tcl.XTcl_GetString(tls, *(*uintptr)(unsafe.Pointer(objv))), ts+15462 /* " DB" */, 0)) return TCL_ERROR } - if getDbPointer(tls, interp, tcl.XTcl_GetString(tls, *(*uintptr)(unsafe.Pointer(objv + 1*8))), bp+64 /* &db */) != 0 { + if getDbPointer(tls, interp, tcl.XTcl_GetString(tls, *(*uintptr)(unsafe.Pointer(objv + 1*8))), bp+48 /* &db */) != 0 { return TCL_ERROR } - rc = sqlite3.Xsqlite3_extended_errcode(tls, *(*uintptr)(unsafe.Pointer(bp + 64 /* db */))) - tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp+40, sqlite3.Xsqlite3ErrName(tls, rc), 0)) + rc = sqlite3.Xsqlite3_extended_errcode(tls, *(*uintptr)(unsafe.Pointer(bp + 48 /* db */))) + tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp+32, sqlite3.Xsqlite3ErrName(tls, rc), 0)) return TCL_OK } @@ -95511,10 +95511,10 @@ func test_ex_errcode(tls *libc.TLS, clientData uintptr, interp uintptr, objc int // Return the string representation of the most recent sqlite3_* API // error code. e.g. "SQLITE_ERROR". func test_errcode(tls *libc.TLS, clientData uintptr, interp uintptr, objc int32, objv uintptr) int32 { /* test1.c:4322:26: */ - bp := tls.Alloc(72) - defer tls.Free(72) + bp := tls.Alloc(56) + defer tls.Free(56) - // var db uintptr at bp+64, 8 + // var db uintptr at bp+48, 8 var rc int32 @@ -95523,11 +95523,11 @@ func test_errcode(tls *libc.TLS, clientData uintptr, interp uintptr, objc int32, tcl.XTcl_GetString(tls, *(*uintptr)(unsafe.Pointer(objv))), ts+15462 /* " DB" */, 0)) return TCL_ERROR } - if getDbPointer(tls, interp, tcl.XTcl_GetString(tls, *(*uintptr)(unsafe.Pointer(objv + 1*8))), bp+64 /* &db */) != 0 { + if getDbPointer(tls, interp, tcl.XTcl_GetString(tls, *(*uintptr)(unsafe.Pointer(objv + 1*8))), bp+48 /* &db */) != 0 { return TCL_ERROR } - rc = sqlite3.Xsqlite3_errcode(tls, *(*uintptr)(unsafe.Pointer(bp + 64 /* db */))) - tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp+40, sqlite3.Xsqlite3ErrName(tls, rc), 0)) + rc = sqlite3.Xsqlite3_errcode(tls, *(*uintptr)(unsafe.Pointer(bp + 48 /* db */))) + tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp+32, sqlite3.Xsqlite3ErrName(tls, rc), 0)) return TCL_OK } @@ -95536,10 +95536,10 @@ func test_errcode(tls *libc.TLS, clientData uintptr, interp uintptr, objc int32, // Returns the UTF-8 representation of the error message string for the // most recent sqlite3_* API call. func test_errmsg(tls *libc.TLS, clientData uintptr, interp uintptr, objc int32, objv uintptr) int32 { /* test1.c:4348:26: */ - bp := tls.Alloc(48) - defer tls.Free(48) + bp := tls.Alloc(40) + defer tls.Free(40) - // var db uintptr at bp+40, 8 + // var db uintptr at bp+32, 8 var zErr uintptr @@ -95548,11 +95548,11 @@ func test_errmsg(tls *libc.TLS, clientData uintptr, interp uintptr, objc int32, tcl.XTcl_GetString(tls, *(*uintptr)(unsafe.Pointer(objv))), ts+15462 /* " DB" */, 0)) return TCL_ERROR } - if getDbPointer(tls, interp, tcl.XTcl_GetString(tls, *(*uintptr)(unsafe.Pointer(objv + 1*8))), bp+40 /* &db */) != 0 { + if getDbPointer(tls, interp, tcl.XTcl_GetString(tls, *(*uintptr)(unsafe.Pointer(objv + 1*8))), bp+32 /* &db */) != 0 { return TCL_ERROR } - zErr = sqlite3.Xsqlite3_errmsg(tls, *(*uintptr)(unsafe.Pointer(bp + 40 /* db */))) + zErr = sqlite3.Xsqlite3_errmsg(tls, *(*uintptr)(unsafe.Pointer(bp + 32 /* db */))) tcl.XTcl_SetObjResult(tls, interp, tcl.XTcl_NewStringObj(tls, zErr, -1)) return TCL_OK } @@ -95564,10 +95564,10 @@ func test_errmsg(tls *libc.TLS, clientData uintptr, interp uintptr, objc int32, // level, and it includes the 0x00 0x00 terminator bytes at the end of the // UTF-16 string. func test_errmsg16(tls *libc.TLS, clientData uintptr, interp uintptr, objc int32, objv uintptr) int32 { /* test1.c:4377:26: */ - bp := tls.Alloc(48) - defer tls.Free(48) + bp := tls.Alloc(40) + defer tls.Free(40) - // var db uintptr at bp+40, 8 + // var db uintptr at bp+32, 8 var zErr uintptr var z uintptr @@ -95578,11 +95578,11 @@ func test_errmsg16(tls *libc.TLS, clientData uintptr, interp uintptr, objc int32 tcl.XTcl_GetString(tls, *(*uintptr)(unsafe.Pointer(objv))), ts+15462 /* " DB" */, 0)) return TCL_ERROR } - if getDbPointer(tls, interp, tcl.XTcl_GetString(tls, *(*uintptr)(unsafe.Pointer(objv + 1*8))), bp+40 /* &db */) != 0 { + if getDbPointer(tls, interp, tcl.XTcl_GetString(tls, *(*uintptr)(unsafe.Pointer(objv + 1*8))), bp+32 /* &db */) != 0 { return TCL_ERROR } - zErr = sqlite3.Xsqlite3_errmsg16(tls, *(*uintptr)(unsafe.Pointer(bp + 40 /* db */))) + zErr = sqlite3.Xsqlite3_errmsg16(tls, *(*uintptr)(unsafe.Pointer(bp + 32 /* db */))) if zErr != 0 { z = zErr for bytes = 0; (*(*int8)(unsafe.Pointer(z + uintptr(bytes))) != 0) || (*(*int8)(unsafe.Pointer(z + uintptr((bytes + 1)))) != 0); bytes = bytes + (2) { @@ -95599,17 +95599,17 @@ func test_errmsg16(tls *libc.TLS, clientData uintptr, interp uintptr, objc int32 // variable that is set to the unused portion of (if any). A // STMT handle is returned. func test_prepare(tls *libc.TLS, clientData uintptr, interp uintptr, objc int32, objv uintptr) int32 { /* test1.c:4414:26: */ - bp := tls.Alloc(194) - defer tls.Free(194) + bp := tls.Alloc(162) + defer tls.Free(162) - // var db uintptr at bp+112, 8 + // var db uintptr at bp+80, 8 var zSql uintptr - // var bytes int32 at bp+120, 4 + // var bytes int32 at bp+88, 4 - *(*uintptr)(unsafe.Pointer(bp + 136 /* zTail */)) = uintptr(0) - *(*uintptr)(unsafe.Pointer(bp + 128 /* pStmt */)) = uintptr(0) - // var zBuf [50]int8 at bp+144, 50 + *(*uintptr)(unsafe.Pointer(bp + 104 /* zTail */)) = uintptr(0) + *(*uintptr)(unsafe.Pointer(bp + 96 /* pStmt */)) = uintptr(0) + // var zBuf [50]int8 at bp+112, 50 var rc int32 @@ -95618,45 +95618,45 @@ func test_prepare(tls *libc.TLS, clientData uintptr, interp uintptr, objc int32, tcl.XTcl_GetString(tls, *(*uintptr)(unsafe.Pointer(objv))), ts+17440 /* " DB sql bytes ?t..." */, 0)) return TCL_ERROR } - if getDbPointer(tls, interp, tcl.XTcl_GetString(tls, *(*uintptr)(unsafe.Pointer(objv + 1*8))), bp+112 /* &db */) != 0 { + if getDbPointer(tls, interp, tcl.XTcl_GetString(tls, *(*uintptr)(unsafe.Pointer(objv + 1*8))), bp+80 /* &db */) != 0 { return TCL_ERROR } zSql = tcl.XTcl_GetString(tls, *(*uintptr)(unsafe.Pointer(objv + 2*8))) - if tcl.XTcl_GetIntFromObj(tls, interp, *(*uintptr)(unsafe.Pointer(objv + 3*8)), bp+120 /* &bytes */) != 0 { + if tcl.XTcl_GetIntFromObj(tls, interp, *(*uintptr)(unsafe.Pointer(objv + 3*8)), bp+88 /* &bytes */) != 0 { return TCL_ERROR } - rc = sqlite3.Xsqlite3_prepare(tls, *(*uintptr)(unsafe.Pointer(bp + 112 /* db */)), zSql, *(*int32)(unsafe.Pointer(bp + 120 /* bytes */)), bp+128 /* &pStmt */, func() uintptr { + rc = sqlite3.Xsqlite3_prepare(tls, *(*uintptr)(unsafe.Pointer(bp + 80 /* db */)), zSql, *(*int32)(unsafe.Pointer(bp + 88 /* bytes */)), bp+96 /* &pStmt */, func() uintptr { if objc >= 5 { - return bp + 136 /* &zTail */ + return bp + 104 /* &zTail */ } return uintptr(0) }()) tcl.XTcl_ResetResult(tls, interp) - if sqlite3TestErrCode(tls, interp, *(*uintptr)(unsafe.Pointer(bp + 112 /* db */)), rc) != 0 { + if sqlite3TestErrCode(tls, interp, *(*uintptr)(unsafe.Pointer(bp + 80 /* db */)), rc) != 0 { return TCL_ERROR } - if (*(*uintptr)(unsafe.Pointer(bp + 136 /* zTail */)) != 0) && (objc >= 5) { - if *(*int32)(unsafe.Pointer(bp + 120 /* bytes */)) >= 0 { - *(*int32)(unsafe.Pointer(bp + 120 /* bytes */)) = (*(*int32)(unsafe.Pointer(bp + 120 /* bytes */)) - (int32((int64(*(*uintptr)(unsafe.Pointer(bp + 136 /* zTail */))) - int64(zSql)) / 1))) + if (*(*uintptr)(unsafe.Pointer(bp + 104 /* zTail */)) != 0) && (objc >= 5) { + if *(*int32)(unsafe.Pointer(bp + 88 /* bytes */)) >= 0 { + *(*int32)(unsafe.Pointer(bp + 88 /* bytes */)) = (*(*int32)(unsafe.Pointer(bp + 88 /* bytes */)) - (int32((int64(*(*uintptr)(unsafe.Pointer(bp + 104 /* zTail */))) - int64(zSql)) / 1))) } - if int32(libc.Xstrlen(tls, *(*uintptr)(unsafe.Pointer(bp + 136 /* zTail */)))) < *(*int32)(unsafe.Pointer(bp + 120 /* bytes */)) { - *(*int32)(unsafe.Pointer(bp + 120 /* bytes */)) = int32(libc.Xstrlen(tls, *(*uintptr)(unsafe.Pointer(bp + 136 /* zTail */)))) + if int32(libc.Xstrlen(tls, *(*uintptr)(unsafe.Pointer(bp + 104 /* zTail */)))) < *(*int32)(unsafe.Pointer(bp + 88 /* bytes */)) { + *(*int32)(unsafe.Pointer(bp + 88 /* bytes */)) = int32(libc.Xstrlen(tls, *(*uintptr)(unsafe.Pointer(bp + 104 /* zTail */)))) } - tcl.XTcl_ObjSetVar2(tls, interp, *(*uintptr)(unsafe.Pointer(objv + 4*8)), uintptr(0), tcl.XTcl_NewStringObj(tls, *(*uintptr)(unsafe.Pointer(bp + 136 /* zTail */)), *(*int32)(unsafe.Pointer(bp + 120 /* bytes */))), 0) + tcl.XTcl_ObjSetVar2(tls, interp, *(*uintptr)(unsafe.Pointer(objv + 4*8)), uintptr(0), tcl.XTcl_NewStringObj(tls, *(*uintptr)(unsafe.Pointer(bp + 104 /* zTail */)), *(*int32)(unsafe.Pointer(bp + 88 /* bytes */))), 0) } if rc != SQLITE_OK { - sqlite3.Xsqlite3_snprintf(tls, int32(unsafe.Sizeof([50]int8{})), bp+144 /* &zBuf[0] */, ts+16948 /* "(%d) " */, libc.VaList(bp+40, rc)) - tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp+56, bp+144 /* &zBuf[0] */, sqlite3.Xsqlite3_errmsg(tls, *(*uintptr)(unsafe.Pointer(bp + 112 /* db */))), 0)) + sqlite3.Xsqlite3_snprintf(tls, int32(unsafe.Sizeof([50]int8{})), bp+112 /* &zBuf[0] */, ts+16948 /* "(%d) " */, libc.VaList(bp+32, rc)) + tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp+40, bp+112 /* &zBuf[0] */, sqlite3.Xsqlite3_errmsg(tls, *(*uintptr)(unsafe.Pointer(bp + 80 /* db */))), 0)) return TCL_ERROR } - if *(*uintptr)(unsafe.Pointer(bp + 128 /* pStmt */)) != 0 { - if sqlite3TestMakePointerStr(tls, interp, bp+144 /* &zBuf[0] */, *(*uintptr)(unsafe.Pointer(bp + 128 /* pStmt */))) != 0 { + if *(*uintptr)(unsafe.Pointer(bp + 96 /* pStmt */)) != 0 { + if sqlite3TestMakePointerStr(tls, interp, bp+112 /* &zBuf[0] */, *(*uintptr)(unsafe.Pointer(bp + 96 /* pStmt */))) != 0 { return TCL_ERROR } - tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp+88, bp+144 /* &zBuf[0] */, 0)) + tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp+64, bp+112 /* &zBuf[0] */, 0)) } return TCL_OK } @@ -95668,19 +95668,19 @@ func test_prepare(tls *libc.TLS, clientData uintptr, interp uintptr, objc int32, // variable that is set to the unused portion of (if any). A // STMT handle is returned. func test_prepare_v2(tls *libc.TLS, clientData uintptr, interp uintptr, objc int32, objv uintptr) int32 { /* test1.c:4471:26: */ - bp := tls.Alloc(194) - defer tls.Free(194) + bp := tls.Alloc(162) + defer tls.Free(162) - // var db uintptr at bp+112, 8 + // var db uintptr at bp+80, 8 var zSql uintptr var zCopy uintptr = uintptr(0) // malloc() copy of zSql - // var bytes int32 at bp+120, 4 + // var bytes int32 at bp+88, 4 - *(*uintptr)(unsafe.Pointer(bp + 128 /* zTail */)) = uintptr(0) + *(*uintptr)(unsafe.Pointer(bp + 96 /* zTail */)) = uintptr(0) var pzTail uintptr - *(*uintptr)(unsafe.Pointer(bp + 136 /* pStmt */)) = uintptr(0) - // var zBuf [50]int8 at bp+144, 50 + *(*uintptr)(unsafe.Pointer(bp + 104 /* pStmt */)) = uintptr(0) + // var zBuf [50]int8 at bp+112, 50 var rc int32 @@ -95689,58 +95689,58 @@ func test_prepare_v2(tls *libc.TLS, clientData uintptr, interp uintptr, objc int tcl.XTcl_GetString(tls, *(*uintptr)(unsafe.Pointer(objv))), ts+17464 /* " DB sql bytes ta..." */, 0)) return TCL_ERROR } - if getDbPointer(tls, interp, tcl.XTcl_GetString(tls, *(*uintptr)(unsafe.Pointer(objv + 1*8))), bp+112 /* &db */) != 0 { + if getDbPointer(tls, interp, tcl.XTcl_GetString(tls, *(*uintptr)(unsafe.Pointer(objv + 1*8))), bp+80 /* &db */) != 0 { return TCL_ERROR } zSql = tcl.XTcl_GetString(tls, *(*uintptr)(unsafe.Pointer(objv + 2*8))) - if tcl.XTcl_GetIntFromObj(tls, interp, *(*uintptr)(unsafe.Pointer(objv + 3*8)), bp+120 /* &bytes */) != 0 { + if tcl.XTcl_GetIntFromObj(tls, interp, *(*uintptr)(unsafe.Pointer(objv + 3*8)), bp+88 /* &bytes */) != 0 { return TCL_ERROR } // Instead of using zSql directly, make a copy into a buffer obtained // directly from malloc(). The idea is to make it easier for valgrind // to spot buffer overreads. - if *(*int32)(unsafe.Pointer(bp + 120 /* bytes */)) >= 0 { - zCopy = libc.Xmalloc(tls, uint64(*(*int32)(unsafe.Pointer(bp + 120 /* bytes */)))) - libc.Xmemcpy(tls, zCopy, zSql, uint64(*(*int32)(unsafe.Pointer(bp + 120 /* bytes */)))) + if *(*int32)(unsafe.Pointer(bp + 88 /* bytes */)) >= 0 { + zCopy = libc.Xmalloc(tls, uint64(*(*int32)(unsafe.Pointer(bp + 88 /* bytes */)))) + libc.Xmemcpy(tls, zCopy, zSql, uint64(*(*int32)(unsafe.Pointer(bp + 88 /* bytes */)))) } else { var n int32 = (int32(libc.Xstrlen(tls, zSql)) + 1) zCopy = libc.Xmalloc(tls, uint64(n)) libc.Xmemcpy(tls, zCopy, zSql, uint64(n)) } if objc >= 5 { - pzTail = bp + 128 /* &zTail */ + pzTail = bp + 96 /* &zTail */ } else { pzTail = uintptr(0) } - rc = sqlite3.Xsqlite3_prepare_v2(tls, *(*uintptr)(unsafe.Pointer(bp + 112 /* db */)), zCopy, *(*int32)(unsafe.Pointer(bp + 120 /* bytes */)), bp+136 /* &pStmt */, pzTail) + rc = sqlite3.Xsqlite3_prepare_v2(tls, *(*uintptr)(unsafe.Pointer(bp + 80 /* db */)), zCopy, *(*int32)(unsafe.Pointer(bp + 88 /* bytes */)), bp+104 /* &pStmt */, pzTail) if objc >= 5 { - *(*uintptr)(unsafe.Pointer(bp + 128 /* zTail */)) = (zSql + uintptr(((int64(*(*uintptr)(unsafe.Pointer(bp + 128 /* zTail */))) - int64(zCopy)) / 1))) + *(*uintptr)(unsafe.Pointer(bp + 96 /* zTail */)) = (zSql + uintptr(((int64(*(*uintptr)(unsafe.Pointer(bp + 96 /* zTail */))) - int64(zCopy)) / 1))) } libc.Xfree(tls, zCopy) tcl.XTcl_ResetResult(tls, interp) - if sqlite3TestErrCode(tls, interp, *(*uintptr)(unsafe.Pointer(bp + 112 /* db */)), rc) != 0 { + if sqlite3TestErrCode(tls, interp, *(*uintptr)(unsafe.Pointer(bp + 80 /* db */)), rc) != 0 { return TCL_ERROR } - if ((rc == SQLITE_OK) && (objc >= 5)) && (*(*uintptr)(unsafe.Pointer(bp + 128 /* zTail */)) != 0) { - if *(*int32)(unsafe.Pointer(bp + 120 /* bytes */)) >= 0 { - *(*int32)(unsafe.Pointer(bp + 120 /* bytes */)) = (*(*int32)(unsafe.Pointer(bp + 120 /* bytes */)) - (int32((int64(*(*uintptr)(unsafe.Pointer(bp + 128 /* zTail */))) - int64(zSql)) / 1))) + if ((rc == SQLITE_OK) && (objc >= 5)) && (*(*uintptr)(unsafe.Pointer(bp + 96 /* zTail */)) != 0) { + if *(*int32)(unsafe.Pointer(bp + 88 /* bytes */)) >= 0 { + *(*int32)(unsafe.Pointer(bp + 88 /* bytes */)) = (*(*int32)(unsafe.Pointer(bp + 88 /* bytes */)) - (int32((int64(*(*uintptr)(unsafe.Pointer(bp + 96 /* zTail */))) - int64(zSql)) / 1))) } - tcl.XTcl_ObjSetVar2(tls, interp, *(*uintptr)(unsafe.Pointer(objv + 4*8)), uintptr(0), tcl.XTcl_NewStringObj(tls, *(*uintptr)(unsafe.Pointer(bp + 128 /* zTail */)), *(*int32)(unsafe.Pointer(bp + 120 /* bytes */))), 0) + tcl.XTcl_ObjSetVar2(tls, interp, *(*uintptr)(unsafe.Pointer(objv + 4*8)), uintptr(0), tcl.XTcl_NewStringObj(tls, *(*uintptr)(unsafe.Pointer(bp + 96 /* zTail */)), *(*int32)(unsafe.Pointer(bp + 88 /* bytes */))), 0) } if rc != SQLITE_OK { - sqlite3.Xsqlite3_snprintf(tls, int32(unsafe.Sizeof([50]int8{})), bp+144 /* &zBuf[0] */, ts+16948 /* "(%d) " */, libc.VaList(bp+40, rc)) - tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp+56, bp+144 /* &zBuf[0] */, sqlite3.Xsqlite3_errmsg(tls, *(*uintptr)(unsafe.Pointer(bp + 112 /* db */))), 0)) + sqlite3.Xsqlite3_snprintf(tls, int32(unsafe.Sizeof([50]int8{})), bp+112 /* &zBuf[0] */, ts+16948 /* "(%d) " */, libc.VaList(bp+32, rc)) + tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp+40, bp+112 /* &zBuf[0] */, sqlite3.Xsqlite3_errmsg(tls, *(*uintptr)(unsafe.Pointer(bp + 80 /* db */))), 0)) return TCL_ERROR } - if *(*uintptr)(unsafe.Pointer(bp + 136 /* pStmt */)) != 0 { - if sqlite3TestMakePointerStr(tls, interp, bp+144 /* &zBuf[0] */, *(*uintptr)(unsafe.Pointer(bp + 136 /* pStmt */))) != 0 { + if *(*uintptr)(unsafe.Pointer(bp + 104 /* pStmt */)) != 0 { + if sqlite3TestMakePointerStr(tls, interp, bp+112 /* &zBuf[0] */, *(*uintptr)(unsafe.Pointer(bp + 104 /* pStmt */))) != 0 { return TCL_ERROR } - tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp+88, bp+144 /* &zBuf[0] */, 0)) + tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp+64, bp+112 /* &zBuf[0] */, 0)) } return TCL_OK } @@ -95752,21 +95752,21 @@ func test_prepare_v2(tls *libc.TLS, clientData uintptr, interp uintptr, objc int // the name of a global variable that is set to the unused portion of // (if any). A STMT handle is returned. func test_prepare_v3(tls *libc.TLS, clientData uintptr, interp uintptr, objc int32, objv uintptr) int32 { /* test1.c:4545:26: */ - bp := tls.Alloc(194) - defer tls.Free(194) + bp := tls.Alloc(162) + defer tls.Free(162) - // var db uintptr at bp+112, 8 + // var db uintptr at bp+80, 8 var zSql uintptr var zCopy uintptr = uintptr(0) // malloc() copy of zSql - // var bytes int32 at bp+120, 4 + // var bytes int32 at bp+88, 4 - // var flags int32 at bp+124, 4 + // var flags int32 at bp+92, 4 - *(*uintptr)(unsafe.Pointer(bp + 128 /* zTail */)) = uintptr(0) + *(*uintptr)(unsafe.Pointer(bp + 96 /* zTail */)) = uintptr(0) var pzTail uintptr - *(*uintptr)(unsafe.Pointer(bp + 136 /* pStmt */)) = uintptr(0) - // var zBuf [50]int8 at bp+144, 50 + *(*uintptr)(unsafe.Pointer(bp + 104 /* pStmt */)) = uintptr(0) + // var zBuf [50]int8 at bp+112, 50 var rc int32 @@ -95775,59 +95775,59 @@ func test_prepare_v3(tls *libc.TLS, clientData uintptr, interp uintptr, objc int tcl.XTcl_GetString(tls, *(*uintptr)(unsafe.Pointer(objv))), ts+17486 /* " DB sql bytes fl..." */, 0)) return TCL_ERROR } - if getDbPointer(tls, interp, tcl.XTcl_GetString(tls, *(*uintptr)(unsafe.Pointer(objv + 1*8))), bp+112 /* &db */) != 0 { + if getDbPointer(tls, interp, tcl.XTcl_GetString(tls, *(*uintptr)(unsafe.Pointer(objv + 1*8))), bp+80 /* &db */) != 0 { return TCL_ERROR } zSql = tcl.XTcl_GetString(tls, *(*uintptr)(unsafe.Pointer(objv + 2*8))) - if tcl.XTcl_GetIntFromObj(tls, interp, *(*uintptr)(unsafe.Pointer(objv + 3*8)), bp+120 /* &bytes */) != 0 { + if tcl.XTcl_GetIntFromObj(tls, interp, *(*uintptr)(unsafe.Pointer(objv + 3*8)), bp+88 /* &bytes */) != 0 { return TCL_ERROR } - if tcl.XTcl_GetIntFromObj(tls, interp, *(*uintptr)(unsafe.Pointer(objv + 4*8)), bp+124 /* &flags */) != 0 { + if tcl.XTcl_GetIntFromObj(tls, interp, *(*uintptr)(unsafe.Pointer(objv + 4*8)), bp+92 /* &flags */) != 0 { return TCL_ERROR } // Instead of using zSql directly, make a copy into a buffer obtained // directly from malloc(). The idea is to make it easier for valgrind // to spot buffer overreads. - if *(*int32)(unsafe.Pointer(bp + 120 /* bytes */)) >= 0 { - zCopy = libc.Xmalloc(tls, uint64(*(*int32)(unsafe.Pointer(bp + 120 /* bytes */)))) - libc.Xmemcpy(tls, zCopy, zSql, uint64(*(*int32)(unsafe.Pointer(bp + 120 /* bytes */)))) + if *(*int32)(unsafe.Pointer(bp + 88 /* bytes */)) >= 0 { + zCopy = libc.Xmalloc(tls, uint64(*(*int32)(unsafe.Pointer(bp + 88 /* bytes */)))) + libc.Xmemcpy(tls, zCopy, zSql, uint64(*(*int32)(unsafe.Pointer(bp + 88 /* bytes */)))) } else { var n int32 = (int32(libc.Xstrlen(tls, zSql)) + 1) zCopy = libc.Xmalloc(tls, uint64(n)) libc.Xmemcpy(tls, zCopy, zSql, uint64(n)) } if objc >= 6 { - pzTail = bp + 128 /* &zTail */ + pzTail = bp + 96 /* &zTail */ } else { pzTail = uintptr(0) } - rc = sqlite3.Xsqlite3_prepare_v3(tls, *(*uintptr)(unsafe.Pointer(bp + 112 /* db */)), zCopy, *(*int32)(unsafe.Pointer(bp + 120 /* bytes */)), uint32(*(*int32)(unsafe.Pointer(bp + 124 /* flags */))), bp+136 /* &pStmt */, pzTail) + rc = sqlite3.Xsqlite3_prepare_v3(tls, *(*uintptr)(unsafe.Pointer(bp + 80 /* db */)), zCopy, *(*int32)(unsafe.Pointer(bp + 88 /* bytes */)), uint32(*(*int32)(unsafe.Pointer(bp + 92 /* flags */))), bp+104 /* &pStmt */, pzTail) libc.Xfree(tls, zCopy) - *(*uintptr)(unsafe.Pointer(bp + 128 /* zTail */)) = (zSql + uintptr(((int64(*(*uintptr)(unsafe.Pointer(bp + 128 /* zTail */))) - int64(zCopy)) / 1))) + *(*uintptr)(unsafe.Pointer(bp + 96 /* zTail */)) = (zSql + uintptr(((int64(*(*uintptr)(unsafe.Pointer(bp + 96 /* zTail */))) - int64(zCopy)) / 1))) tcl.XTcl_ResetResult(tls, interp) - if sqlite3TestErrCode(tls, interp, *(*uintptr)(unsafe.Pointer(bp + 112 /* db */)), rc) != 0 { + if sqlite3TestErrCode(tls, interp, *(*uintptr)(unsafe.Pointer(bp + 80 /* db */)), rc) != 0 { return TCL_ERROR } - if ((rc == SQLITE_OK) && (*(*uintptr)(unsafe.Pointer(bp + 128 /* zTail */)) != 0)) && (objc >= 6) { - if *(*int32)(unsafe.Pointer(bp + 120 /* bytes */)) >= 0 { - *(*int32)(unsafe.Pointer(bp + 120 /* bytes */)) = (*(*int32)(unsafe.Pointer(bp + 120 /* bytes */)) - (int32((int64(*(*uintptr)(unsafe.Pointer(bp + 128 /* zTail */))) - int64(zSql)) / 1))) + if ((rc == SQLITE_OK) && (*(*uintptr)(unsafe.Pointer(bp + 96 /* zTail */)) != 0)) && (objc >= 6) { + if *(*int32)(unsafe.Pointer(bp + 88 /* bytes */)) >= 0 { + *(*int32)(unsafe.Pointer(bp + 88 /* bytes */)) = (*(*int32)(unsafe.Pointer(bp + 88 /* bytes */)) - (int32((int64(*(*uintptr)(unsafe.Pointer(bp + 96 /* zTail */))) - int64(zSql)) / 1))) } - tcl.XTcl_ObjSetVar2(tls, interp, *(*uintptr)(unsafe.Pointer(objv + 5*8)), uintptr(0), tcl.XTcl_NewStringObj(tls, *(*uintptr)(unsafe.Pointer(bp + 128 /* zTail */)), *(*int32)(unsafe.Pointer(bp + 120 /* bytes */))), 0) + tcl.XTcl_ObjSetVar2(tls, interp, *(*uintptr)(unsafe.Pointer(objv + 5*8)), uintptr(0), tcl.XTcl_NewStringObj(tls, *(*uintptr)(unsafe.Pointer(bp + 96 /* zTail */)), *(*int32)(unsafe.Pointer(bp + 88 /* bytes */))), 0) } if rc != SQLITE_OK { - sqlite3.Xsqlite3_snprintf(tls, int32(unsafe.Sizeof([50]int8{})), bp+144 /* &zBuf[0] */, ts+16948 /* "(%d) " */, libc.VaList(bp+40, rc)) - tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp+56, bp+144 /* &zBuf[0] */, sqlite3.Xsqlite3_errmsg(tls, *(*uintptr)(unsafe.Pointer(bp + 112 /* db */))), 0)) + sqlite3.Xsqlite3_snprintf(tls, int32(unsafe.Sizeof([50]int8{})), bp+112 /* &zBuf[0] */, ts+16948 /* "(%d) " */, libc.VaList(bp+32, rc)) + tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp+40, bp+112 /* &zBuf[0] */, sqlite3.Xsqlite3_errmsg(tls, *(*uintptr)(unsafe.Pointer(bp + 80 /* db */))), 0)) return TCL_ERROR } - if *(*uintptr)(unsafe.Pointer(bp + 136 /* pStmt */)) != 0 { - if sqlite3TestMakePointerStr(tls, interp, bp+144 /* &zBuf[0] */, *(*uintptr)(unsafe.Pointer(bp + 136 /* pStmt */))) != 0 { + if *(*uintptr)(unsafe.Pointer(bp + 104 /* pStmt */)) != 0 { + if sqlite3TestMakePointerStr(tls, interp, bp+112 /* &zBuf[0] */, *(*uintptr)(unsafe.Pointer(bp + 104 /* pStmt */))) != 0 { return TCL_ERROR } - tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp+88, bp+144 /* &zBuf[0] */, 0)) + tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp+64, bp+112 /* &zBuf[0] */, 0)) } return TCL_OK } @@ -95837,13 +95837,13 @@ func test_prepare_v3(tls *libc.TLS, clientData uintptr, interp uintptr, objc int // Generate a prepared statement for a zero-byte string as a test // for ticket #3134. The string should be preceded by a zero byte. func test_prepare_tkt3134(tls *libc.TLS, clientData uintptr, interp uintptr, objc int32, objv uintptr) int32 { /* test1.c:4616:26: */ - bp := tls.Alloc(178) - defer tls.Free(178) + bp := tls.Alloc(146) + defer tls.Free(146) - // var db uintptr at bp+112, 8 + // var db uintptr at bp+80, 8 - *(*uintptr)(unsafe.Pointer(bp + 120 /* pStmt */)) = uintptr(0) - // var zBuf [50]int8 at bp+128, 50 + *(*uintptr)(unsafe.Pointer(bp + 88 /* pStmt */)) = uintptr(0) + // var zBuf [50]int8 at bp+96, 50 var rc int32 @@ -95852,26 +95852,26 @@ func test_prepare_tkt3134(tls *libc.TLS, clientData uintptr, interp uintptr, obj tcl.XTcl_GetString(tls, *(*uintptr)(unsafe.Pointer(objv))), ts+17464 /* " DB sql bytes ta..." */, 0)) return TCL_ERROR } - if getDbPointer(tls, interp, tcl.XTcl_GetString(tls, *(*uintptr)(unsafe.Pointer(objv + 1*8))), bp+112 /* &db */) != 0 { + if getDbPointer(tls, interp, tcl.XTcl_GetString(tls, *(*uintptr)(unsafe.Pointer(objv + 1*8))), bp+80 /* &db */) != 0 { return TCL_ERROR } - rc = sqlite3.Xsqlite3_prepare_v2(tls, *(*uintptr)(unsafe.Pointer(bp + 112 /* db */)), (uintptr(unsafe.Pointer(&zSql)) + 1), 0, bp+120 /* &pStmt */, uintptr(0)) + rc = sqlite3.Xsqlite3_prepare_v2(tls, *(*uintptr)(unsafe.Pointer(bp + 80 /* db */)), (uintptr(unsafe.Pointer(&zSql)) + 1), 0, bp+88 /* &pStmt */, uintptr(0)) - if sqlite3TestErrCode(tls, interp, *(*uintptr)(unsafe.Pointer(bp + 112 /* db */)), rc) != 0 { + if sqlite3TestErrCode(tls, interp, *(*uintptr)(unsafe.Pointer(bp + 80 /* db */)), rc) != 0 { return TCL_ERROR } if rc != SQLITE_OK { - sqlite3.Xsqlite3_snprintf(tls, int32(unsafe.Sizeof([50]int8{})), bp+128 /* &zBuf[0] */, ts+16948 /* "(%d) " */, libc.VaList(bp+40, rc)) - tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp+56, bp+128 /* &zBuf[0] */, sqlite3.Xsqlite3_errmsg(tls, *(*uintptr)(unsafe.Pointer(bp + 112 /* db */))), 0)) + sqlite3.Xsqlite3_snprintf(tls, int32(unsafe.Sizeof([50]int8{})), bp+96 /* &zBuf[0] */, ts+16948 /* "(%d) " */, libc.VaList(bp+32, rc)) + tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp+40, bp+96 /* &zBuf[0] */, sqlite3.Xsqlite3_errmsg(tls, *(*uintptr)(unsafe.Pointer(bp + 80 /* db */))), 0)) return TCL_ERROR } - if *(*uintptr)(unsafe.Pointer(bp + 120 /* pStmt */)) != 0 { - if sqlite3TestMakePointerStr(tls, interp, bp+128 /* &zBuf[0] */, *(*uintptr)(unsafe.Pointer(bp + 120 /* pStmt */))) != 0 { + if *(*uintptr)(unsafe.Pointer(bp + 88 /* pStmt */)) != 0 { + if sqlite3TestMakePointerStr(tls, interp, bp+96 /* &zBuf[0] */, *(*uintptr)(unsafe.Pointer(bp + 88 /* pStmt */))) != 0 { return TCL_ERROR } - tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp+88, bp+128 /* &zBuf[0] */, 0)) + tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp+64, bp+96 /* &zBuf[0] */, 0)) } return TCL_OK } @@ -95885,21 +95885,21 @@ var zSql = *(*[10]int8)(unsafe.Pointer(ts + 17514 /* "\x00SELECT 1" */)) /* test // variable that is set to the unused portion of (if any). A // STMT handle is returned. func test_prepare16(tls *libc.TLS, clientData uintptr, interp uintptr, objc int32, objv uintptr) int32 { /* test1.c:4659:26: */ - bp := tls.Alloc(146) - defer tls.Free(146) + bp := tls.Alloc(130) + defer tls.Free(130) - // var db uintptr at bp+64, 8 + // var db uintptr at bp+48, 8 var zSql uintptr - *(*uintptr)(unsafe.Pointer(bp + 88 /* zTail */)) = uintptr(0) + *(*uintptr)(unsafe.Pointer(bp + 72 /* zTail */)) = uintptr(0) var pTail uintptr = uintptr(0) - *(*uintptr)(unsafe.Pointer(bp + 80 /* pStmt */)) = uintptr(0) - // var zBuf [50]int8 at bp+96, 50 + *(*uintptr)(unsafe.Pointer(bp + 64 /* pStmt */)) = uintptr(0) + // var zBuf [50]int8 at bp+80, 50 var rc int32 - // var bytes int32 at bp+76, 4 + // var bytes int32 at bp+60, 4 // The integer specified as arg 3 - // var objlen int32 at bp+72, 4 + // var objlen int32 at bp+56, 4 // The byte-array length of arg 2 if (objc != 5) && (objc != 4) { @@ -95907,21 +95907,21 @@ func test_prepare16(tls *libc.TLS, clientData uintptr, interp uintptr, objc int3 tcl.XTcl_GetString(tls, *(*uintptr)(unsafe.Pointer(objv))), ts+17440 /* " DB sql bytes ?t..." */, 0)) return TCL_ERROR } - if getDbPointer(tls, interp, tcl.XTcl_GetString(tls, *(*uintptr)(unsafe.Pointer(objv + 1*8))), bp+64 /* &db */) != 0 { + if getDbPointer(tls, interp, tcl.XTcl_GetString(tls, *(*uintptr)(unsafe.Pointer(objv + 1*8))), bp+48 /* &db */) != 0 { return TCL_ERROR } - zSql = tcl.XTcl_GetByteArrayFromObj(tls, *(*uintptr)(unsafe.Pointer(objv + 2*8)), bp+72 /* &objlen */) - if tcl.XTcl_GetIntFromObj(tls, interp, *(*uintptr)(unsafe.Pointer(objv + 3*8)), bp+76 /* &bytes */) != 0 { + zSql = tcl.XTcl_GetByteArrayFromObj(tls, *(*uintptr)(unsafe.Pointer(objv + 2*8)), bp+56 /* &objlen */) + if tcl.XTcl_GetIntFromObj(tls, interp, *(*uintptr)(unsafe.Pointer(objv + 3*8)), bp+60 /* &bytes */) != 0 { return TCL_ERROR } - rc = sqlite3.Xsqlite3_prepare16(tls, *(*uintptr)(unsafe.Pointer(bp + 64 /* db */)), zSql, *(*int32)(unsafe.Pointer(bp + 76 /* bytes */)), bp+80 /* &pStmt */, func() uintptr { + rc = sqlite3.Xsqlite3_prepare16(tls, *(*uintptr)(unsafe.Pointer(bp + 48 /* db */)), zSql, *(*int32)(unsafe.Pointer(bp + 60 /* bytes */)), bp+64 /* &pStmt */, func() uintptr { if objc >= 5 { - return bp + 88 /* &zTail */ + return bp + 72 /* &zTail */ } return uintptr(0) }()) - if sqlite3TestErrCode(tls, interp, *(*uintptr)(unsafe.Pointer(bp + 64 /* db */)), rc) != 0 { + if sqlite3TestErrCode(tls, interp, *(*uintptr)(unsafe.Pointer(bp + 48 /* db */)), rc) != 0 { return TCL_ERROR } if rc != 0 { @@ -95929,12 +95929,12 @@ func test_prepare16(tls *libc.TLS, clientData uintptr, interp uintptr, objc int3 } if objc >= 5 { - if *(*uintptr)(unsafe.Pointer(bp + 88 /* zTail */)) != 0 { - *(*int32)(unsafe.Pointer(bp + 72 /* objlen */)) = (*(*int32)(unsafe.Pointer(bp + 72 /* objlen */)) - (int32((int64(*(*uintptr)(unsafe.Pointer(bp + 88 /* zTail */))) - int64(zSql)) / 1))) + if *(*uintptr)(unsafe.Pointer(bp + 72 /* zTail */)) != 0 { + *(*int32)(unsafe.Pointer(bp + 56 /* objlen */)) = (*(*int32)(unsafe.Pointer(bp + 56 /* objlen */)) - (int32((int64(*(*uintptr)(unsafe.Pointer(bp + 72 /* zTail */))) - int64(zSql)) / 1))) } else { - *(*int32)(unsafe.Pointer(bp + 72 /* objlen */)) = 0 + *(*int32)(unsafe.Pointer(bp + 56 /* objlen */)) = 0 } - pTail = tcl.XTcl_NewByteArrayObj(tls, *(*uintptr)(unsafe.Pointer(bp + 88 /* zTail */)), *(*int32)(unsafe.Pointer(bp + 72 /* objlen */))) + pTail = tcl.XTcl_NewByteArrayObj(tls, *(*uintptr)(unsafe.Pointer(bp + 72 /* zTail */)), *(*int32)(unsafe.Pointer(bp + 56 /* objlen */))) (*Tcl_Obj)(unsafe.Pointer(pTail)).FrefCount++ tcl.XTcl_ObjSetVar2(tls, interp, *(*uintptr)(unsafe.Pointer(objv + 4*8)), uintptr(0), pTail, 0) for ok := true; ok; ok = 0 != 0 { @@ -95945,12 +95945,12 @@ func test_prepare16(tls *libc.TLS, clientData uintptr, interp uintptr, objc int3 } } - if *(*uintptr)(unsafe.Pointer(bp + 80 /* pStmt */)) != 0 { - if sqlite3TestMakePointerStr(tls, interp, bp+96 /* &zBuf[0] */, *(*uintptr)(unsafe.Pointer(bp + 80 /* pStmt */))) != 0 { + if *(*uintptr)(unsafe.Pointer(bp + 64 /* pStmt */)) != 0 { + if sqlite3TestMakePointerStr(tls, interp, bp+80 /* &zBuf[0] */, *(*uintptr)(unsafe.Pointer(bp + 64 /* pStmt */))) != 0 { return TCL_ERROR } } - tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp+40, bp+96 /* &zBuf[0] */, 0)) + tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp+32, bp+80 /* &zBuf[0] */, 0)) return TCL_OK } @@ -95961,21 +95961,21 @@ func test_prepare16(tls *libc.TLS, clientData uintptr, interp uintptr, objc int3 // variable that is set to the unused portion of (if any). A // STMT handle is returned. func test_prepare16_v2(tls *libc.TLS, clientData uintptr, interp uintptr, objc int32, objv uintptr) int32 { /* test1.c:4719:26: */ - bp := tls.Alloc(146) - defer tls.Free(146) + bp := tls.Alloc(130) + defer tls.Free(130) - // var db uintptr at bp+64, 8 + // var db uintptr at bp+48, 8 var zSql uintptr - *(*uintptr)(unsafe.Pointer(bp + 88 /* zTail */)) = uintptr(0) + *(*uintptr)(unsafe.Pointer(bp + 72 /* zTail */)) = uintptr(0) var pTail uintptr = uintptr(0) - *(*uintptr)(unsafe.Pointer(bp + 80 /* pStmt */)) = uintptr(0) - // var zBuf [50]int8 at bp+96, 50 + *(*uintptr)(unsafe.Pointer(bp + 64 /* pStmt */)) = uintptr(0) + // var zBuf [50]int8 at bp+80, 50 var rc int32 - // var bytes int32 at bp+76, 4 + // var bytes int32 at bp+60, 4 // The integer specified as arg 3 - // var objlen int32 at bp+72, 4 + // var objlen int32 at bp+56, 4 // The byte-array length of arg 2 if (objc != 5) && (objc != 4) { @@ -95983,21 +95983,21 @@ func test_prepare16_v2(tls *libc.TLS, clientData uintptr, interp uintptr, objc i tcl.XTcl_GetString(tls, *(*uintptr)(unsafe.Pointer(objv))), ts+17440 /* " DB sql bytes ?t..." */, 0)) return TCL_ERROR } - if getDbPointer(tls, interp, tcl.XTcl_GetString(tls, *(*uintptr)(unsafe.Pointer(objv + 1*8))), bp+64 /* &db */) != 0 { + if getDbPointer(tls, interp, tcl.XTcl_GetString(tls, *(*uintptr)(unsafe.Pointer(objv + 1*8))), bp+48 /* &db */) != 0 { return TCL_ERROR } - zSql = tcl.XTcl_GetByteArrayFromObj(tls, *(*uintptr)(unsafe.Pointer(objv + 2*8)), bp+72 /* &objlen */) - if tcl.XTcl_GetIntFromObj(tls, interp, *(*uintptr)(unsafe.Pointer(objv + 3*8)), bp+76 /* &bytes */) != 0 { + zSql = tcl.XTcl_GetByteArrayFromObj(tls, *(*uintptr)(unsafe.Pointer(objv + 2*8)), bp+56 /* &objlen */) + if tcl.XTcl_GetIntFromObj(tls, interp, *(*uintptr)(unsafe.Pointer(objv + 3*8)), bp+60 /* &bytes */) != 0 { return TCL_ERROR } - rc = sqlite3.Xsqlite3_prepare16_v2(tls, *(*uintptr)(unsafe.Pointer(bp + 64 /* db */)), zSql, *(*int32)(unsafe.Pointer(bp + 76 /* bytes */)), bp+80 /* &pStmt */, func() uintptr { + rc = sqlite3.Xsqlite3_prepare16_v2(tls, *(*uintptr)(unsafe.Pointer(bp + 48 /* db */)), zSql, *(*int32)(unsafe.Pointer(bp + 60 /* bytes */)), bp+64 /* &pStmt */, func() uintptr { if objc >= 5 { - return bp + 88 /* &zTail */ + return bp + 72 /* &zTail */ } return uintptr(0) }()) - if sqlite3TestErrCode(tls, interp, *(*uintptr)(unsafe.Pointer(bp + 64 /* db */)), rc) != 0 { + if sqlite3TestErrCode(tls, interp, *(*uintptr)(unsafe.Pointer(bp + 48 /* db */)), rc) != 0 { return TCL_ERROR } if rc != 0 { @@ -96005,12 +96005,12 @@ func test_prepare16_v2(tls *libc.TLS, clientData uintptr, interp uintptr, objc i } if objc >= 5 { - if *(*uintptr)(unsafe.Pointer(bp + 88 /* zTail */)) != 0 { - *(*int32)(unsafe.Pointer(bp + 72 /* objlen */)) = (*(*int32)(unsafe.Pointer(bp + 72 /* objlen */)) - (int32((int64(*(*uintptr)(unsafe.Pointer(bp + 88 /* zTail */))) - int64(zSql)) / 1))) + if *(*uintptr)(unsafe.Pointer(bp + 72 /* zTail */)) != 0 { + *(*int32)(unsafe.Pointer(bp + 56 /* objlen */)) = (*(*int32)(unsafe.Pointer(bp + 56 /* objlen */)) - (int32((int64(*(*uintptr)(unsafe.Pointer(bp + 72 /* zTail */))) - int64(zSql)) / 1))) } else { - *(*int32)(unsafe.Pointer(bp + 72 /* objlen */)) = 0 + *(*int32)(unsafe.Pointer(bp + 56 /* objlen */)) = 0 } - pTail = tcl.XTcl_NewByteArrayObj(tls, *(*uintptr)(unsafe.Pointer(bp + 88 /* zTail */)), *(*int32)(unsafe.Pointer(bp + 72 /* objlen */))) + pTail = tcl.XTcl_NewByteArrayObj(tls, *(*uintptr)(unsafe.Pointer(bp + 72 /* zTail */)), *(*int32)(unsafe.Pointer(bp + 56 /* objlen */))) (*Tcl_Obj)(unsafe.Pointer(pTail)).FrefCount++ tcl.XTcl_ObjSetVar2(tls, interp, *(*uintptr)(unsafe.Pointer(objv + 4*8)), uintptr(0), pTail, 0) for ok := true; ok; ok = 0 != 0 { @@ -96021,24 +96021,24 @@ func test_prepare16_v2(tls *libc.TLS, clientData uintptr, interp uintptr, objc i } } - if *(*uintptr)(unsafe.Pointer(bp + 80 /* pStmt */)) != 0 { - if sqlite3TestMakePointerStr(tls, interp, bp+96 /* &zBuf[0] */, *(*uintptr)(unsafe.Pointer(bp + 80 /* pStmt */))) != 0 { + if *(*uintptr)(unsafe.Pointer(bp + 64 /* pStmt */)) != 0 { + if sqlite3TestMakePointerStr(tls, interp, bp+80 /* &zBuf[0] */, *(*uintptr)(unsafe.Pointer(bp + 64 /* pStmt */))) != 0 { return TCL_ERROR } } - tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp+40, bp+96 /* &zBuf[0] */, 0)) + tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp+32, bp+80 /* &zBuf[0] */, 0)) return TCL_OK } // Usage: sqlite3_open filename ?options-list? func test_open(tls *libc.TLS, clientData uintptr, interp uintptr, objc int32, objv uintptr) int32 { /* test1.c:4774:26: */ - bp := tls.Alloc(172) - defer tls.Free(172) + bp := tls.Alloc(156) + defer tls.Free(156) var zFilename uintptr - // var db uintptr at bp+64, 8 + // var db uintptr at bp+48, 8 - // var zBuf [100]int8 at bp+72, 100 + // var zBuf [100]int8 at bp+56, 100 if ((objc != 3) && (objc != 2)) && (objc != 1) { tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp, ts+15410, /* "wrong # args: sh..." */ @@ -96051,31 +96051,31 @@ func test_open(tls *libc.TLS, clientData uintptr, interp uintptr, objc int32, ob } else { zFilename = uintptr(0) } - sqlite3.Xsqlite3_open(tls, zFilename, bp+64 /* &db */) + sqlite3.Xsqlite3_open(tls, zFilename, bp+48 /* &db */) - if sqlite3TestMakePointerStr(tls, interp, bp+72 /* &zBuf[0] */, *(*uintptr)(unsafe.Pointer(bp + 64 /* db */))) != 0 { + if sqlite3TestMakePointerStr(tls, interp, bp+56 /* &zBuf[0] */, *(*uintptr)(unsafe.Pointer(bp + 48 /* db */))) != 0 { return TCL_ERROR } - tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp+40, bp+72 /* &zBuf[0] */, 0)) + tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp+32, bp+56 /* &zBuf[0] */, 0)) return TCL_OK } // Usage: sqlite3_open_v2 FILENAME FLAGS VFS func test_open_v2(tls *libc.TLS, clientData uintptr, interp uintptr, objc int32, objv uintptr) int32 { /* test1.c:4801:26: */ - bp := tls.Alloc(476) - defer tls.Free(476) + bp := tls.Alloc(468) + defer tls.Free(468) var zFilename uintptr var zVfs uintptr var flags int32 = 0 - // var db uintptr at bp+368, 8 + // var db uintptr at bp+360, 8 var rc int32 - // var zBuf [100]int8 at bp+376, 100 + // var zBuf [100]int8 at bp+368, 100 - // var nFlag int32 at bp+24, 4 + // var nFlag int32 at bp+16, 4 - // var apFlag uintptr at bp+32, 8 + // var apFlag uintptr at bp+24, 8 var i int32 @@ -96089,14 +96089,14 @@ func test_open_v2(tls *libc.TLS, clientData uintptr, interp uintptr, objc int32, zVfs = uintptr(0) } - rc = tcl.XTcl_ListObjGetElements(tls, interp, *(*uintptr)(unsafe.Pointer(objv + 2*8)), bp+24 /* &nFlag */, bp+32 /* &apFlag */) + rc = tcl.XTcl_ListObjGetElements(tls, interp, *(*uintptr)(unsafe.Pointer(objv + 2*8)), bp+16 /* &nFlag */, bp+24 /* &apFlag */) if rc != TCL_OK { return rc } - for i = 0; i < *(*int32)(unsafe.Pointer(bp + 24 /* nFlag */)); i++ { - // var iFlag int32 at bp+360, 4 + for i = 0; i < *(*int32)(unsafe.Pointer(bp + 16 /* nFlag */)); i++ { + // var iFlag int32 at bp+352, 4 - *(*[20]OpenFlag)(unsafe.Pointer(bp + 40 /* aFlag */)) = [20]OpenFlag{ + *(*[20]OpenFlag)(unsafe.Pointer(bp + 32 /* aFlag */)) = [20]OpenFlag{ {FzFlag: ts + 17566 /* "SQLITE_OPEN_READ..." */, Fflag: SQLITE_OPEN_READONLY}, {FzFlag: ts + 17587 /* "SQLITE_OPEN_READ..." */, Fflag: SQLITE_OPEN_READWRITE}, {FzFlag: ts + 17609 /* "SQLITE_OPEN_CREA..." */, Fflag: SQLITE_OPEN_CREATE}, @@ -96118,19 +96118,19 @@ func test_open_v2(tls *libc.TLS, clientData uintptr, interp uintptr, objc int32, {FzFlag: ts + 17969 /* "SQLITE_OPEN_URI" */, Fflag: SQLITE_OPEN_URI}, {}, } - rc = tcl.XTcl_GetIndexFromObjStruct(tls, interp, *(*uintptr)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp + 32 /* apFlag */)) + uintptr(i)*8)), bp+40 /* &aFlag[0] */, int32(unsafe.Sizeof(OpenFlag{})), - ts+17985 /* "flag" */, 0, bp+360 /* &iFlag */) + rc = tcl.XTcl_GetIndexFromObjStruct(tls, interp, *(*uintptr)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp + 24 /* apFlag */)) + uintptr(i)*8)), bp+32 /* &aFlag[0] */, int32(unsafe.Sizeof(OpenFlag{})), + ts+17985 /* "flag" */, 0, bp+352 /* &iFlag */) if rc != TCL_OK { return rc } - flags = flags | ((*OpenFlag)(unsafe.Pointer(bp + 40 /* &aFlag */ + uintptr(*(*int32)(unsafe.Pointer(bp + 360 /* iFlag */)))*16)).Fflag) + flags = flags | ((*OpenFlag)(unsafe.Pointer(bp + 32 /* &aFlag */ + uintptr(*(*int32)(unsafe.Pointer(bp + 352 /* iFlag */)))*16)).Fflag) } - rc = sqlite3.Xsqlite3_open_v2(tls, zFilename, bp+368 /* &db */, flags, zVfs) - if sqlite3TestMakePointerStr(tls, interp, bp+376 /* &zBuf[0] */, *(*uintptr)(unsafe.Pointer(bp + 368 /* db */))) != 0 { + rc = sqlite3.Xsqlite3_open_v2(tls, zFilename, bp+360 /* &db */, flags, zVfs) + if sqlite3TestMakePointerStr(tls, interp, bp+368 /* &zBuf[0] */, *(*uintptr)(unsafe.Pointer(bp + 360 /* db */))) != 0 { return TCL_ERROR } - tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp, bp+376 /* &zBuf[0] */, 0)) + tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp, bp+368 /* &zBuf[0] */, 0)) return TCL_OK } @@ -96142,13 +96142,13 @@ type OpenFlag = struct { // Usage: sqlite3_open16 filename options func test_open16(tls *libc.TLS, clientData uintptr, interp uintptr, objc int32, objv uintptr) int32 { /* test1.c:4871:26: */ - bp := tls.Alloc(172) - defer tls.Free(172) + bp := tls.Alloc(156) + defer tls.Free(156) var zFilename uintptr - // var db uintptr at bp+64, 8 + // var db uintptr at bp+48, 8 - // var zBuf [100]int8 at bp+72, 100 + // var zBuf [100]int8 at bp+56, 100 if objc != 3 { tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp, ts+15410, /* "wrong # args: sh..." */ @@ -96157,12 +96157,12 @@ func test_open16(tls *libc.TLS, clientData uintptr, interp uintptr, objc int32, } zFilename = tcl.XTcl_GetByteArrayFromObj(tls, *(*uintptr)(unsafe.Pointer(objv + 1*8)), uintptr(0)) - sqlite3.Xsqlite3_open16(tls, zFilename, bp+64 /* &db */) + sqlite3.Xsqlite3_open16(tls, zFilename, bp+48 /* &db */) - if sqlite3TestMakePointerStr(tls, interp, bp+72 /* &zBuf[0] */, *(*uintptr)(unsafe.Pointer(bp + 64 /* db */))) != 0 { + if sqlite3TestMakePointerStr(tls, interp, bp+56 /* &zBuf[0] */, *(*uintptr)(unsafe.Pointer(bp + 48 /* db */))) != 0 { return TCL_ERROR } - tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp+40, bp+72 /* &zBuf[0] */, 0)) + tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp+32, bp+56 /* &zBuf[0] */, 0)) return TCL_OK } @@ -96208,10 +96208,10 @@ func test_normalize(tls *libc.TLS, clientData uintptr, interp uintptr, objc int3 // // Advance the statement to the next row. func test_step(tls *libc.TLS, clientData uintptr, interp uintptr, objc int32, objv uintptr) int32 { /* test1.c:4957:26: */ - bp := tls.Alloc(48) - defer tls.Free(48) + bp := tls.Alloc(40) + defer tls.Free(40) - // var pStmt uintptr at bp+40, 8 + // var pStmt uintptr at bp+32, 8 var rc int32 @@ -96221,10 +96221,10 @@ func test_step(tls *libc.TLS, clientData uintptr, interp uintptr, objc int32, ob return TCL_ERROR } - if getStmtPointer(tls, interp, tcl.XTcl_GetString(tls, *(*uintptr)(unsafe.Pointer(objv + 1*8))), bp+40 /* &pStmt */) != 0 { + if getStmtPointer(tls, interp, tcl.XTcl_GetString(tls, *(*uintptr)(unsafe.Pointer(objv + 1*8))), bp+32 /* &pStmt */) != 0 { return TCL_ERROR } - rc = sqlite3.Xsqlite3_step(tls, *(*uintptr)(unsafe.Pointer(bp + 40 /* pStmt */))) + rc = sqlite3.Xsqlite3_step(tls, *(*uintptr)(unsafe.Pointer(bp + 32 /* pStmt */))) // if( rc!=SQLITE_DONE && rc!=SQLITE_ROW ) return TCL_ERROR; tcl.XTcl_SetResult(tls, interp, sqlite3.Xsqlite3ErrName(tls, rc), uintptr(0)) @@ -96275,10 +96275,10 @@ func test_ex_sql(tls *libc.TLS, clientData uintptr, interp uintptr, objc int32, // // Return the number of columns returned by the sql statement STMT. func test_column_count(tls *libc.TLS, clientData uintptr, interp uintptr, objc int32, objv uintptr) int32 { /* test1.c:5042:26: */ - bp := tls.Alloc(48) - defer tls.Free(48) + bp := tls.Alloc(40) + defer tls.Free(40) - // var pStmt uintptr at bp+40, 8 + // var pStmt uintptr at bp+32, 8 if objc != 2 { tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp, ts+15410, /* "wrong # args: sh..." */ @@ -96286,11 +96286,11 @@ func test_column_count(tls *libc.TLS, clientData uintptr, interp uintptr, objc i return TCL_ERROR } - if getStmtPointer(tls, interp, tcl.XTcl_GetString(tls, *(*uintptr)(unsafe.Pointer(objv + 1*8))), bp+40 /* &pStmt */) != 0 { + if getStmtPointer(tls, interp, tcl.XTcl_GetString(tls, *(*uintptr)(unsafe.Pointer(objv + 1*8))), bp+32 /* &pStmt */) != 0 { return TCL_ERROR } - tcl.XTcl_SetObjResult(tls, interp, tcl.XTcl_NewIntObj(tls, sqlite3.Xsqlite3_column_count(tls, *(*uintptr)(unsafe.Pointer(bp + 40 /* pStmt */))))) + tcl.XTcl_SetObjResult(tls, interp, tcl.XTcl_NewIntObj(tls, sqlite3.Xsqlite3_column_count(tls, *(*uintptr)(unsafe.Pointer(bp + 32 /* pStmt */))))) return TCL_OK } @@ -96298,12 +96298,12 @@ func test_column_count(tls *libc.TLS, clientData uintptr, interp uintptr, objc i // // Return the type of the data in column 'column' of the current row. func test_column_type(tls *libc.TLS, clientData uintptr, interp uintptr, objc int32, objv uintptr) int32 { /* test1.c:5067:26: */ - bp := tls.Alloc(52) - defer tls.Free(52) + bp := tls.Alloc(44) + defer tls.Free(44) - // var pStmt uintptr at bp+40, 8 + // var pStmt uintptr at bp+32, 8 - // var col int32 at bp+48, 4 + // var col int32 at bp+40, 4 var tp int32 @@ -96313,14 +96313,14 @@ func test_column_type(tls *libc.TLS, clientData uintptr, interp uintptr, objc in return TCL_ERROR } - if getStmtPointer(tls, interp, tcl.XTcl_GetString(tls, *(*uintptr)(unsafe.Pointer(objv + 1*8))), bp+40 /* &pStmt */) != 0 { + if getStmtPointer(tls, interp, tcl.XTcl_GetString(tls, *(*uintptr)(unsafe.Pointer(objv + 1*8))), bp+32 /* &pStmt */) != 0 { return TCL_ERROR } - if tcl.XTcl_GetIntFromObj(tls, interp, *(*uintptr)(unsafe.Pointer(objv + 2*8)), bp+48 /* &col */) != 0 { + if tcl.XTcl_GetIntFromObj(tls, interp, *(*uintptr)(unsafe.Pointer(objv + 2*8)), bp+40 /* &col */) != 0 { return TCL_ERROR } - tp = sqlite3.Xsqlite3_column_type(tls, *(*uintptr)(unsafe.Pointer(bp + 40 /* pStmt */)), *(*int32)(unsafe.Pointer(bp + 48 /* col */))) + tp = sqlite3.Xsqlite3_column_type(tls, *(*uintptr)(unsafe.Pointer(bp + 32 /* pStmt */)), *(*int32)(unsafe.Pointer(bp + 40 /* col */))) switch tp { case SQLITE_INTEGER: tcl.XTcl_SetResult(tls, interp, ts+2274 /* "INTEGER" */, uintptr(0)) @@ -96349,12 +96349,12 @@ func test_column_type(tls *libc.TLS, clientData uintptr, interp uintptr, objc in // Return the data in column 'column' of the current row cast as an // wide (64-bit) integer. func test_column_int64(tls *libc.TLS, clientData uintptr, interp uintptr, objc int32, objv uintptr) int32 { /* test1.c:5116:26: */ - bp := tls.Alloc(52) - defer tls.Free(52) + bp := tls.Alloc(44) + defer tls.Free(44) - // var pStmt uintptr at bp+40, 8 + // var pStmt uintptr at bp+32, 8 - // var col int32 at bp+48, 4 + // var col int32 at bp+40, 4 var iVal i64 @@ -96364,26 +96364,26 @@ func test_column_int64(tls *libc.TLS, clientData uintptr, interp uintptr, objc i return TCL_ERROR } - if getStmtPointer(tls, interp, tcl.XTcl_GetString(tls, *(*uintptr)(unsafe.Pointer(objv + 1*8))), bp+40 /* &pStmt */) != 0 { + if getStmtPointer(tls, interp, tcl.XTcl_GetString(tls, *(*uintptr)(unsafe.Pointer(objv + 1*8))), bp+32 /* &pStmt */) != 0 { return TCL_ERROR } - if tcl.XTcl_GetIntFromObj(tls, interp, *(*uintptr)(unsafe.Pointer(objv + 2*8)), bp+48 /* &col */) != 0 { + if tcl.XTcl_GetIntFromObj(tls, interp, *(*uintptr)(unsafe.Pointer(objv + 2*8)), bp+40 /* &col */) != 0 { return TCL_ERROR } - iVal = sqlite3.Xsqlite3_column_int64(tls, *(*uintptr)(unsafe.Pointer(bp + 40 /* pStmt */)), *(*int32)(unsafe.Pointer(bp + 48 /* col */))) + iVal = sqlite3.Xsqlite3_column_int64(tls, *(*uintptr)(unsafe.Pointer(bp + 32 /* pStmt */)), *(*int32)(unsafe.Pointer(bp + 40 /* col */))) tcl.XTcl_SetObjResult(tls, interp, tcl.XTcl_NewWideIntObj(tls, iVal)) return TCL_OK } // Usage: sqlite3_column_blob STMT column func test_column_blob(tls *libc.TLS, clientData uintptr, interp uintptr, objc int32, objv uintptr) int32 { /* test1.c:5143:26: */ - bp := tls.Alloc(52) - defer tls.Free(52) + bp := tls.Alloc(44) + defer tls.Free(44) - // var pStmt uintptr at bp+40, 8 + // var pStmt uintptr at bp+32, 8 - // var col int32 at bp+48, 4 + // var col int32 at bp+40, 4 var len int32 var pBlob uintptr @@ -96394,15 +96394,15 @@ func test_column_blob(tls *libc.TLS, clientData uintptr, interp uintptr, objc in return TCL_ERROR } - if getStmtPointer(tls, interp, tcl.XTcl_GetString(tls, *(*uintptr)(unsafe.Pointer(objv + 1*8))), bp+40 /* &pStmt */) != 0 { + if getStmtPointer(tls, interp, tcl.XTcl_GetString(tls, *(*uintptr)(unsafe.Pointer(objv + 1*8))), bp+32 /* &pStmt */) != 0 { return TCL_ERROR } - if tcl.XTcl_GetIntFromObj(tls, interp, *(*uintptr)(unsafe.Pointer(objv + 2*8)), bp+48 /* &col */) != 0 { + if tcl.XTcl_GetIntFromObj(tls, interp, *(*uintptr)(unsafe.Pointer(objv + 2*8)), bp+40 /* &col */) != 0 { return TCL_ERROR } - len = sqlite3.Xsqlite3_column_bytes(tls, *(*uintptr)(unsafe.Pointer(bp + 40 /* pStmt */)), *(*int32)(unsafe.Pointer(bp + 48 /* col */))) - pBlob = sqlite3.Xsqlite3_column_blob(tls, *(*uintptr)(unsafe.Pointer(bp + 40 /* pStmt */)), *(*int32)(unsafe.Pointer(bp + 48 /* col */))) + len = sqlite3.Xsqlite3_column_bytes(tls, *(*uintptr)(unsafe.Pointer(bp + 32 /* pStmt */)), *(*int32)(unsafe.Pointer(bp + 40 /* col */))) + pBlob = sqlite3.Xsqlite3_column_blob(tls, *(*uintptr)(unsafe.Pointer(bp + 32 /* pStmt */)), *(*int32)(unsafe.Pointer(bp + 40 /* col */))) tcl.XTcl_SetObjResult(tls, interp, tcl.XTcl_NewByteArrayObj(tls, pBlob, len)) return TCL_OK } @@ -96411,12 +96411,12 @@ func test_column_blob(tls *libc.TLS, clientData uintptr, interp uintptr, objc in // // Return the data in column 'column' of the current row cast as a double. func test_column_double(tls *libc.TLS, clientData uintptr, interp uintptr, objc int32, objv uintptr) int32 { /* test1.c:5175:26: */ - bp := tls.Alloc(52) - defer tls.Free(52) + bp := tls.Alloc(44) + defer tls.Free(44) - // var pStmt uintptr at bp+40, 8 + // var pStmt uintptr at bp+32, 8 - // var col int32 at bp+48, 4 + // var col int32 at bp+40, 4 var rVal float64 @@ -96426,14 +96426,14 @@ func test_column_double(tls *libc.TLS, clientData uintptr, interp uintptr, objc return TCL_ERROR } - if getStmtPointer(tls, interp, tcl.XTcl_GetString(tls, *(*uintptr)(unsafe.Pointer(objv + 1*8))), bp+40 /* &pStmt */) != 0 { + if getStmtPointer(tls, interp, tcl.XTcl_GetString(tls, *(*uintptr)(unsafe.Pointer(objv + 1*8))), bp+32 /* &pStmt */) != 0 { return TCL_ERROR } - if tcl.XTcl_GetIntFromObj(tls, interp, *(*uintptr)(unsafe.Pointer(objv + 2*8)), bp+48 /* &col */) != 0 { + if tcl.XTcl_GetIntFromObj(tls, interp, *(*uintptr)(unsafe.Pointer(objv + 2*8)), bp+40 /* &col */) != 0 { return TCL_ERROR } - rVal = sqlite3.Xsqlite3_column_double(tls, *(*uintptr)(unsafe.Pointer(bp + 40 /* pStmt */)), *(*int32)(unsafe.Pointer(bp + 48 /* col */))) + rVal = sqlite3.Xsqlite3_column_double(tls, *(*uintptr)(unsafe.Pointer(bp + 32 /* pStmt */)), *(*int32)(unsafe.Pointer(bp + 40 /* col */))) tcl.XTcl_SetObjResult(tls, interp, tcl.XTcl_NewDoubleObj(tls, rVal)) return TCL_OK } @@ -96442,10 +96442,10 @@ func test_column_double(tls *libc.TLS, clientData uintptr, interp uintptr, objc // // Return the number of columns returned by the sql statement STMT. func test_data_count(tls *libc.TLS, clientData uintptr, interp uintptr, objc int32, objv uintptr) int32 { /* test1.c:5204:26: */ - bp := tls.Alloc(48) - defer tls.Free(48) + bp := tls.Alloc(40) + defer tls.Free(40) - // var pStmt uintptr at bp+40, 8 + // var pStmt uintptr at bp+32, 8 if objc != 2 { tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp, ts+15410, /* "wrong # args: sh..." */ @@ -96453,11 +96453,11 @@ func test_data_count(tls *libc.TLS, clientData uintptr, interp uintptr, objc int return TCL_ERROR } - if getStmtPointer(tls, interp, tcl.XTcl_GetString(tls, *(*uintptr)(unsafe.Pointer(objv + 1*8))), bp+40 /* &pStmt */) != 0 { + if getStmtPointer(tls, interp, tcl.XTcl_GetString(tls, *(*uintptr)(unsafe.Pointer(objv + 1*8))), bp+32 /* &pStmt */) != 0 { return TCL_ERROR } - tcl.XTcl_SetObjResult(tls, interp, tcl.XTcl_NewIntObj(tls, sqlite3.Xsqlite3_data_count(tls, *(*uintptr)(unsafe.Pointer(bp + 40 /* pStmt */))))) + tcl.XTcl_SetObjResult(tls, interp, tcl.XTcl_NewIntObj(tls, sqlite3.Xsqlite3_data_count(tls, *(*uintptr)(unsafe.Pointer(bp + 32 /* pStmt */))))) return TCL_OK } @@ -96467,12 +96467,12 @@ func test_data_count(tls *libc.TLS, clientData uintptr, interp uintptr, objc int // // Usage: sqlite3_column_name STMT column func test_stmt_utf8(tls *libc.TLS, clientData uintptr, interp uintptr, objc int32, objv uintptr) int32 { /* test1.c:5231:26: */ - bp := tls.Alloc(52) - defer tls.Free(52) + bp := tls.Alloc(44) + defer tls.Free(44) - // var pStmt uintptr at bp+40, 8 + // var pStmt uintptr at bp+32, 8 - // var col int32 at bp+48, 4 + // var col int32 at bp+40, 4 var xFunc uintptr var zRet uintptr @@ -96484,13 +96484,13 @@ func test_stmt_utf8(tls *libc.TLS, clientData uintptr, interp uintptr, objc int3 return TCL_ERROR } - if getStmtPointer(tls, interp, tcl.XTcl_GetString(tls, *(*uintptr)(unsafe.Pointer(objv + 1*8))), bp+40 /* &pStmt */) != 0 { + if getStmtPointer(tls, interp, tcl.XTcl_GetString(tls, *(*uintptr)(unsafe.Pointer(objv + 1*8))), bp+32 /* &pStmt */) != 0 { return TCL_ERROR } - if tcl.XTcl_GetIntFromObj(tls, interp, *(*uintptr)(unsafe.Pointer(objv + 2*8)), bp+48 /* &col */) != 0 { + if tcl.XTcl_GetIntFromObj(tls, interp, *(*uintptr)(unsafe.Pointer(objv + 2*8)), bp+40 /* &col */) != 0 { return TCL_ERROR } - zRet = (*(*func(*libc.TLS, uintptr, int32) uintptr)(unsafe.Pointer(&xFunc)))(tls, *(*uintptr)(unsafe.Pointer(bp + 40 /* pStmt */)), *(*int32)(unsafe.Pointer(bp + 48 /* col */))) + zRet = (*(*func(*libc.TLS, uintptr, int32) uintptr)(unsafe.Pointer(&xFunc)))(tls, *(*uintptr)(unsafe.Pointer(bp + 32 /* pStmt */)), *(*int32)(unsafe.Pointer(bp + 40 /* col */))) if zRet != 0 { tcl.XTcl_SetResult(tls, interp, zRet, uintptr(0)) } @@ -96514,12 +96514,12 @@ func test_global_recover(tls *libc.TLS, clientData uintptr, interp uintptr, objc // // Usage: sqlite3_column_name STMT column func test_stmt_utf16(tls *libc.TLS, clientData uintptr, interp uintptr, objc int32, objv uintptr) int32 { /* test1.c:5283:26: */ - bp := tls.Alloc(52) - defer tls.Free(52) + bp := tls.Alloc(44) + defer tls.Free(44) - // var pStmt uintptr at bp+40, 8 + // var pStmt uintptr at bp+32, 8 - // var col int32 at bp+48, 4 + // var col int32 at bp+40, 4 var pRet uintptr var zName16 uintptr @@ -96532,14 +96532,14 @@ func test_stmt_utf16(tls *libc.TLS, clientData uintptr, interp uintptr, objc int return TCL_ERROR } - if getStmtPointer(tls, interp, tcl.XTcl_GetString(tls, *(*uintptr)(unsafe.Pointer(objv + 1*8))), bp+40 /* &pStmt */) != 0 { + if getStmtPointer(tls, interp, tcl.XTcl_GetString(tls, *(*uintptr)(unsafe.Pointer(objv + 1*8))), bp+32 /* &pStmt */) != 0 { return TCL_ERROR } - if tcl.XTcl_GetIntFromObj(tls, interp, *(*uintptr)(unsafe.Pointer(objv + 2*8)), bp+48 /* &col */) != 0 { + if tcl.XTcl_GetIntFromObj(tls, interp, *(*uintptr)(unsafe.Pointer(objv + 2*8)), bp+40 /* &col */) != 0 { return TCL_ERROR } - zName16 = (*(*func(*libc.TLS, uintptr, int32) uintptr)(unsafe.Pointer(&xFunc)))(tls, *(*uintptr)(unsafe.Pointer(bp + 40 /* pStmt */)), *(*int32)(unsafe.Pointer(bp + 48 /* col */))) + zName16 = (*(*func(*libc.TLS, uintptr, int32) uintptr)(unsafe.Pointer(&xFunc)))(tls, *(*uintptr)(unsafe.Pointer(bp + 32 /* pStmt */)), *(*int32)(unsafe.Pointer(bp + 40 /* col */))) if zName16 != 0 { var n int32 var z uintptr = zName16 @@ -96559,12 +96559,12 @@ func test_stmt_utf16(tls *libc.TLS, clientData uintptr, interp uintptr, objc int // Usage: sqlite3_column_bytes16 STMT column // func test_stmt_int(tls *libc.TLS, clientData uintptr, interp uintptr, objc int32, objv uintptr) int32 { /* test1.c:5327:26: */ - bp := tls.Alloc(52) - defer tls.Free(52) + bp := tls.Alloc(44) + defer tls.Free(44) - // var pStmt uintptr at bp+40, 8 + // var pStmt uintptr at bp+32, 8 - // var col int32 at bp+48, 4 + // var col int32 at bp+40, 4 var xFunc uintptr @@ -96575,14 +96575,14 @@ func test_stmt_int(tls *libc.TLS, clientData uintptr, interp uintptr, objc int32 return TCL_ERROR } - if getStmtPointer(tls, interp, tcl.XTcl_GetString(tls, *(*uintptr)(unsafe.Pointer(objv + 1*8))), bp+40 /* &pStmt */) != 0 { + if getStmtPointer(tls, interp, tcl.XTcl_GetString(tls, *(*uintptr)(unsafe.Pointer(objv + 1*8))), bp+32 /* &pStmt */) != 0 { return TCL_ERROR } - if tcl.XTcl_GetIntFromObj(tls, interp, *(*uintptr)(unsafe.Pointer(objv + 2*8)), bp+48 /* &col */) != 0 { + if tcl.XTcl_GetIntFromObj(tls, interp, *(*uintptr)(unsafe.Pointer(objv + 2*8)), bp+40 /* &col */) != 0 { return TCL_ERROR } - tcl.XTcl_SetObjResult(tls, interp, tcl.XTcl_NewIntObj(tls, (*(*func(*libc.TLS, uintptr, int32) int32)(unsafe.Pointer(&xFunc)))(tls, *(*uintptr)(unsafe.Pointer(bp + 40 /* pStmt */)), *(*int32)(unsafe.Pointer(bp + 48 /* col */))))) + tcl.XTcl_SetObjResult(tls, interp, tcl.XTcl_NewIntObj(tls, (*(*func(*libc.TLS, uintptr, int32) int32)(unsafe.Pointer(&xFunc)))(tls, *(*uintptr)(unsafe.Pointer(bp + 32 /* pStmt */)), *(*int32)(unsafe.Pointer(bp + 40 /* col */))))) return TCL_OK } @@ -96590,28 +96590,28 @@ func test_stmt_int(tls *libc.TLS, clientData uintptr, interp uintptr, objc int32 // // Set the db->magic value. This is used to test error recovery logic. func sqlite_set_magic(tls *libc.TLS, clientData uintptr, interp uintptr, argc int32, argv uintptr) int32 { /* test1.c:5356:26: */ - bp := tls.Alloc(48) - defer tls.Free(48) + bp := tls.Alloc(40) + defer tls.Free(40) - // var db uintptr at bp+40, 8 + // var db uintptr at bp+32, 8 if argc != 3 { tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp, ts+15410 /* "wrong # args: sh..." */, *(*uintptr)(unsafe.Pointer(argv)), ts+18032 /* " DB MAGIC" */, 0)) return TCL_ERROR } - if getDbPointer(tls, interp, *(*uintptr)(unsafe.Pointer(argv + 1*8)), bp+40 /* &db */) != 0 { + if getDbPointer(tls, interp, *(*uintptr)(unsafe.Pointer(argv + 1*8)), bp+32 /* &db */) != 0 { return TCL_ERROR } if libc.Xstrcmp(tls, *(*uintptr)(unsafe.Pointer(argv + 2*8)), ts+18042 /* "SQLITE_MAGIC_OPE..." */) == 0 { - (*sqlite31)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp + 40 /* db */)))).Fmagic = SQLITE_MAGIC_OPEN + (*sqlite31)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp + 32 /* db */)))).Fmagic = SQLITE_MAGIC_OPEN } else if libc.Xstrcmp(tls, *(*uintptr)(unsafe.Pointer(argv + 2*8)), ts+18060 /* "SQLITE_MAGIC_CLO..." */) == 0 { - (*sqlite31)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp + 40 /* db */)))).Fmagic = SQLITE_MAGIC_CLOSED + (*sqlite31)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp + 32 /* db */)))).Fmagic = SQLITE_MAGIC_CLOSED } else if libc.Xstrcmp(tls, *(*uintptr)(unsafe.Pointer(argv + 2*8)), ts+18080 /* "SQLITE_MAGIC_BUS..." */) == 0 { - (*sqlite31)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp + 40 /* db */)))).Fmagic = SQLITE_MAGIC_BUSY + (*sqlite31)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp + 32 /* db */)))).Fmagic = SQLITE_MAGIC_BUSY } else if libc.Xstrcmp(tls, *(*uintptr)(unsafe.Pointer(argv + 2*8)), ts+18098 /* "SQLITE_MAGIC_ERR..." */) == 0 { - (*sqlite31)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp + 40 /* db */)))).Fmagic = SQLITE_MAGIC_ERROR - } else if tcl.XTcl_GetInt(tls, interp, *(*uintptr)(unsafe.Pointer(argv + 2*8)), (*(*uintptr)(unsafe.Pointer(bp + 40 /* db */))+116 /* &.magic */)) != 0 { + (*sqlite31)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp + 32 /* db */)))).Fmagic = SQLITE_MAGIC_ERROR + } else if tcl.XTcl_GetInt(tls, interp, *(*uintptr)(unsafe.Pointer(argv + 2*8)), (*(*uintptr)(unsafe.Pointer(bp + 32 /* db */))+116 /* &.magic */)) != 0 { return TCL_ERROR } return TCL_OK @@ -96621,19 +96621,19 @@ func sqlite_set_magic(tls *libc.TLS, clientData uintptr, interp uintptr, argc in // // Trigger an interrupt on DB func test_interrupt(tls *libc.TLS, clientData uintptr, interp uintptr, argc int32, argv uintptr) int32 { /* test1.c:5388:26: */ - bp := tls.Alloc(48) - defer tls.Free(48) + bp := tls.Alloc(40) + defer tls.Free(40) - // var db uintptr at bp+40, 8 + // var db uintptr at bp+32, 8 if argc != 2 { tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp, ts+15410 /* "wrong # args: sh..." */, *(*uintptr)(unsafe.Pointer(argv)), ts+15462 /* " DB" */, 0)) return TCL_ERROR } - if getDbPointer(tls, interp, *(*uintptr)(unsafe.Pointer(argv + 1*8)), bp+40 /* &db */) != 0 { + if getDbPointer(tls, interp, *(*uintptr)(unsafe.Pointer(argv + 1*8)), bp+32 /* &db */) != 0 { return TCL_ERROR } - sqlite3.Xsqlite3_interrupt(tls, *(*uintptr)(unsafe.Pointer(bp + 40 /* db */))) + sqlite3.Xsqlite3_interrupt(tls, *(*uintptr)(unsafe.Pointer(bp + 32 /* db */))) return TCL_OK } @@ -96643,21 +96643,21 @@ func test_interrupt(tls *libc.TLS, clientData uintptr, interp uintptr, argc int3 // is assumed that the user function was created as UTF8, any number of // arguments (the way the TCL interface does it). func delete_function(tls *libc.TLS, clientData uintptr, interp uintptr, argc int32, argv uintptr) int32 { /* test1.c:5411:26: */ - bp := tls.Alloc(48) - defer tls.Free(48) + bp := tls.Alloc(40) + defer tls.Free(40) var rc int32 - // var db uintptr at bp+40, 8 + // var db uintptr at bp+32, 8 if argc != 3 { tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp, ts+15410 /* "wrong # args: sh..." */, *(*uintptr)(unsafe.Pointer(argv)), ts+18117 /* " DB function-nam..." */, 0)) return TCL_ERROR } - if getDbPointer(tls, interp, *(*uintptr)(unsafe.Pointer(argv + 1*8)), bp+40 /* &db */) != 0 { + if getDbPointer(tls, interp, *(*uintptr)(unsafe.Pointer(argv + 1*8)), bp+32 /* &db */) != 0 { return TCL_ERROR } - rc = sqlite3.Xsqlite3_create_function(tls, *(*uintptr)(unsafe.Pointer(bp + 40 /* db */)), *(*uintptr)(unsafe.Pointer(argv + 2*8)), -1, SQLITE_UTF8, uintptr(0), uintptr(0), uintptr(0), uintptr(0)) + rc = sqlite3.Xsqlite3_create_function(tls, *(*uintptr)(unsafe.Pointer(bp + 32 /* db */)), *(*uintptr)(unsafe.Pointer(argv + 2*8)), -1, SQLITE_UTF8, uintptr(0), uintptr(0), uintptr(0), uintptr(0)) tcl.XTcl_SetResult(tls, interp, sqlite3.Xsqlite3ErrName(tls, rc), uintptr(0)) return TCL_OK } @@ -96668,21 +96668,21 @@ func delete_function(tls *libc.TLS, clientData uintptr, interp uintptr, argc int // DB. It is assumed that the collation sequence was created as UTF8 (the // way the TCL interface does it). func delete_collation(tls *libc.TLS, clientData uintptr, interp uintptr, argc int32, argv uintptr) int32 { /* test1.c:5437:26: */ - bp := tls.Alloc(48) - defer tls.Free(48) + bp := tls.Alloc(40) + defer tls.Free(40) var rc int32 - // var db uintptr at bp+40, 8 + // var db uintptr at bp+32, 8 if argc != 3 { tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp, ts+15410 /* "wrong # args: sh..." */, *(*uintptr)(unsafe.Pointer(argv)), ts+18117 /* " DB function-nam..." */, 0)) return TCL_ERROR } - if getDbPointer(tls, interp, *(*uintptr)(unsafe.Pointer(argv + 1*8)), bp+40 /* &db */) != 0 { + if getDbPointer(tls, interp, *(*uintptr)(unsafe.Pointer(argv + 1*8)), bp+32 /* &db */) != 0 { return TCL_ERROR } - rc = sqlite3.Xsqlite3_create_collation(tls, *(*uintptr)(unsafe.Pointer(bp + 40 /* db */)), *(*uintptr)(unsafe.Pointer(argv + 2*8)), SQLITE_UTF8, uintptr(0), uintptr(0)) + rc = sqlite3.Xsqlite3_create_collation(tls, *(*uintptr)(unsafe.Pointer(bp + 32 /* db */)), *(*uintptr)(unsafe.Pointer(argv + 2*8)), SQLITE_UTF8, uintptr(0), uintptr(0)) tcl.XTcl_SetResult(tls, interp, sqlite3.Xsqlite3ErrName(tls, rc), uintptr(0)) return TCL_OK } @@ -96692,23 +96692,23 @@ func delete_collation(tls *libc.TLS, clientData uintptr, interp uintptr, argc in // Return true if the database DB is currently in auto-commit mode. // Return false if not. func get_autocommit(tls *libc.TLS, clientData uintptr, interp uintptr, argc int32, argv uintptr) int32 { /* test1.c:5462:26: */ - bp := tls.Alloc(118) - defer tls.Free(118) + bp := tls.Alloc(94) + defer tls.Free(94) - // var zBuf [30]int8 at bp+88, 30 + // var zBuf [30]int8 at bp+64, 30 - // var db uintptr at bp+80, 8 + // var db uintptr at bp+56, 8 if argc != 2 { tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp, ts+15410 /* "wrong # args: sh..." */, *(*uintptr)(unsafe.Pointer(argv)), ts+15462 /* " DB" */, 0)) return TCL_ERROR } - if getDbPointer(tls, interp, *(*uintptr)(unsafe.Pointer(argv + 1*8)), bp+80 /* &db */) != 0 { + if getDbPointer(tls, interp, *(*uintptr)(unsafe.Pointer(argv + 1*8)), bp+56 /* &db */) != 0 { return TCL_ERROR } - sqlite3.Xsqlite3_snprintf(tls, int32(unsafe.Sizeof([30]int8{})), bp+88 /* &zBuf[0] */, ts+1238 /* "%d" */, libc.VaList(bp+40, sqlite3.Xsqlite3_get_autocommit(tls, *(*uintptr)(unsafe.Pointer(bp + 80 /* db */))))) - tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp+56, bp+88 /* &zBuf[0] */, 0)) + sqlite3.Xsqlite3_snprintf(tls, int32(unsafe.Sizeof([30]int8{})), bp+64 /* &zBuf[0] */, ts+1238 /* "%d" */, libc.VaList(bp+32, sqlite3.Xsqlite3_get_autocommit(tls, *(*uintptr)(unsafe.Pointer(bp + 56 /* db */))))) + tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp+40, bp+64 /* &zBuf[0] */, 0)) return TCL_OK } @@ -96718,27 +96718,27 @@ func get_autocommit(tls *libc.TLS, clientData uintptr, interp uintptr, argc int3 // method of the TCL interface. But we need a way to test the case // where it returns SQLITE_MISUSE. func test_busy_timeout(tls *libc.TLS, clientData uintptr, interp uintptr, argc int32, argv uintptr) int32 { /* test1.c:5488:26: */ - bp := tls.Alloc(76) - defer tls.Free(76) + bp := tls.Alloc(60) + defer tls.Free(60) var rc int32 - // var ms int32 at bp+72, 4 + // var ms int32 at bp+56, 4 - // var db uintptr at bp+64, 8 + // var db uintptr at bp+48, 8 if argc != 3 { tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp, ts+15410 /* "wrong # args: sh..." */, *(*uintptr)(unsafe.Pointer(argv)), ts+15462 /* " DB" */, 0)) return TCL_ERROR } - if getDbPointer(tls, interp, *(*uintptr)(unsafe.Pointer(argv + 1*8)), bp+64 /* &db */) != 0 { + if getDbPointer(tls, interp, *(*uintptr)(unsafe.Pointer(argv + 1*8)), bp+48 /* &db */) != 0 { return TCL_ERROR } - if tcl.XTcl_GetInt(tls, interp, *(*uintptr)(unsafe.Pointer(argv + 2*8)), bp+72 /* &ms */) != 0 { + if tcl.XTcl_GetInt(tls, interp, *(*uintptr)(unsafe.Pointer(argv + 2*8)), bp+56 /* &ms */) != 0 { return TCL_ERROR } - rc = sqlite3.Xsqlite3_busy_timeout(tls, *(*uintptr)(unsafe.Pointer(bp + 64 /* db */)), *(*int32)(unsafe.Pointer(bp + 72 /* ms */))) - tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp+40, sqlite3.Xsqlite3ErrName(tls, rc), 0)) + rc = sqlite3.Xsqlite3_busy_timeout(tls, *(*uintptr)(unsafe.Pointer(bp + 48 /* db */)), *(*int32)(unsafe.Pointer(bp + 56 /* ms */))) + tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp+32, sqlite3.Xsqlite3ErrName(tls, rc), 0)) return TCL_OK } @@ -96866,21 +96866,21 @@ func test_system_errno(tls *libc.TLS, clientData uintptr, interp uintptr, objc i // // Return the name of a file associated with a database. func test_db_filename(tls *libc.TLS, clientData uintptr, interp uintptr, objc int32, objv uintptr) int32 { /* test1.c:5645:26: */ - bp := tls.Alloc(32) - defer tls.Free(32) + bp := tls.Alloc(24) + defer tls.Free(24) - // var db uintptr at bp+24, 8 + // var db uintptr at bp+16, 8 var zDbName uintptr if objc != 3 { tcl.XTcl_WrongNumArgs(tls, interp, 1, objv, ts+16697 /* "DB DBNAME" */) return TCL_ERROR } - if getDbPointer(tls, interp, tcl.XTcl_GetString(tls, *(*uintptr)(unsafe.Pointer(objv + 1*8))), bp+24 /* &db */) != 0 { + if getDbPointer(tls, interp, tcl.XTcl_GetString(tls, *(*uintptr)(unsafe.Pointer(objv + 1*8))), bp+16 /* &db */) != 0 { return TCL_ERROR } zDbName = tcl.XTcl_GetString(tls, *(*uintptr)(unsafe.Pointer(objv + 2*8))) - tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp, sqlite3.Xsqlite3_db_filename(tls, *(*uintptr)(unsafe.Pointer(bp + 24 /* db */)), zDbName), uintptr(0))) + tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp, sqlite3.Xsqlite3_db_filename(tls, *(*uintptr)(unsafe.Pointer(bp + 16 /* db */)), zDbName), uintptr(0))) return TCL_OK } @@ -96970,10 +96970,10 @@ func test_thread_cleanup(tls *libc.TLS, clientData uintptr, interp uintptr, objc // Return a list of numbers which are the PagerRefcount for all // pagers on each database connection. func test_pager_refcounts(tls *libc.TLS, clientData uintptr, interp uintptr, objc int32, objv uintptr) int32 { /* test1.c:5764:26: */ - bp := tls.Alloc(48) - defer tls.Free(48) + bp := tls.Alloc(40) + defer tls.Free(40) - // var db uintptr at bp+40, 8 + // var db uintptr at bp+32, 8 var i int32 var v int32 @@ -96985,18 +96985,18 @@ func test_pager_refcounts(tls *libc.TLS, clientData uintptr, interp uintptr, obj tcl.XTcl_GetStringFromObj(tls, *(*uintptr)(unsafe.Pointer(objv)), uintptr(0)), ts+15462 /* " DB" */, 0)) return TCL_ERROR } - if getDbPointer(tls, interp, tcl.XTcl_GetString(tls, *(*uintptr)(unsafe.Pointer(objv + 1*8))), bp+40 /* &db */) != 0 { + if getDbPointer(tls, interp, tcl.XTcl_GetString(tls, *(*uintptr)(unsafe.Pointer(objv + 1*8))), bp+32 /* &db */) != 0 { return TCL_ERROR } pResult = tcl.XTcl_NewObj(tls) - for i = 0; i < (*sqlite31)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp + 40 /* db */)))).FnDb; i++ { - if (*Db)(unsafe.Pointer((*sqlite31)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp + 40 /* db */)))).FaDb+uintptr(i)*32)).FpBt == uintptr(0) { + for i = 0; i < (*sqlite31)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp + 32 /* db */)))).FnDb; i++ { + if (*Db)(unsafe.Pointer((*sqlite31)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp + 32 /* db */)))).FaDb+uintptr(i)*32)).FpBt == uintptr(0) { v = -1 } else { - sqlite3.Xsqlite3_mutex_enter(tls, (*sqlite31)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp + 40 /* db */)))).Fmutex) - a = sqlite3.Xsqlite3PagerStats(tls, sqlite3.Xsqlite3BtreePager(tls, (*Db)(unsafe.Pointer((*sqlite31)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp + 40 /* db */)))).FaDb+uintptr(i)*32)).FpBt)) + sqlite3.Xsqlite3_mutex_enter(tls, (*sqlite31)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp + 32 /* db */)))).Fmutex) + a = sqlite3.Xsqlite3PagerStats(tls, sqlite3.Xsqlite3BtreePager(tls, (*Db)(unsafe.Pointer((*sqlite31)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp + 32 /* db */)))).FaDb+uintptr(i)*32)).FpBt)) v = *(*int32)(unsafe.Pointer(a)) - sqlite3.Xsqlite3_mutex_leave(tls, (*sqlite31)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp + 40 /* db */)))).Fmutex) + sqlite3.Xsqlite3_mutex_leave(tls, (*sqlite31)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp + 32 /* db */)))).Fmutex) } tcl.XTcl_ListObjAppendElement(tls, uintptr(0), pResult, tcl.XTcl_NewIntObj(tls, v)) } @@ -97177,11 +97177,11 @@ func vfs_reregister_all(tls *libc.TLS, clientData ClientData, interp uintptr, ob // This TCL command runs the sqlite3_file_control interface and // verifies correct operation of the same. func file_control_test(tls *libc.TLS, clientData ClientData, interp uintptr, objc int32, objv uintptr) int32 { /* test1.c:6007:26: */ - bp := tls.Alloc(52) - defer tls.Free(52) + bp := tls.Alloc(44) + defer tls.Free(44) - *(*int32)(unsafe.Pointer(bp + 48 /* iArg */)) = 0 - // var db uintptr at bp+40, 8 + *(*int32)(unsafe.Pointer(bp + 40 /* iArg */)) = 0 + // var db uintptr at bp+32, 8 var rc int32 _ = rc @@ -97191,16 +97191,16 @@ func file_control_test(tls *libc.TLS, clientData ClientData, interp uintptr, obj tcl.XTcl_GetStringFromObj(tls, *(*uintptr)(unsafe.Pointer(objv)), uintptr(0)), ts+15462 /* " DB" */, 0)) return TCL_ERROR } - if getDbPointer(tls, interp, tcl.XTcl_GetString(tls, *(*uintptr)(unsafe.Pointer(objv + 1*8))), bp+40 /* &db */) != 0 { + if getDbPointer(tls, interp, tcl.XTcl_GetString(tls, *(*uintptr)(unsafe.Pointer(objv + 1*8))), bp+32 /* &db */) != 0 { return TCL_ERROR } - rc = sqlite3.Xsqlite3_file_control(tls, *(*uintptr)(unsafe.Pointer(bp + 40 /* db */)), uintptr(0), 0, bp+48 /* &iArg */) + rc = sqlite3.Xsqlite3_file_control(tls, *(*uintptr)(unsafe.Pointer(bp + 32 /* db */)), uintptr(0), 0, bp+40 /* &iArg */) - rc = sqlite3.Xsqlite3_file_control(tls, *(*uintptr)(unsafe.Pointer(bp + 40 /* db */)), ts+18177 /* "notadatabase" */, SQLITE_FCNTL_LOCKSTATE, bp+48 /* &iArg */) + rc = sqlite3.Xsqlite3_file_control(tls, *(*uintptr)(unsafe.Pointer(bp + 32 /* db */)), ts+18177 /* "notadatabase" */, SQLITE_FCNTL_LOCKSTATE, bp+40 /* &iArg */) - rc = sqlite3.Xsqlite3_file_control(tls, *(*uintptr)(unsafe.Pointer(bp + 40 /* db */)), ts+85 /* "main" */, -1, bp+48 /* &iArg */) + rc = sqlite3.Xsqlite3_file_control(tls, *(*uintptr)(unsafe.Pointer(bp + 32 /* db */)), ts+85 /* "main" */, -1, bp+40 /* &iArg */) - rc = sqlite3.Xsqlite3_file_control(tls, *(*uintptr)(unsafe.Pointer(bp + 40 /* db */)), ts+8377 /* "temp" */, -1, bp+48 /* &iArg */) + rc = sqlite3.Xsqlite3_file_control(tls, *(*uintptr)(unsafe.Pointer(bp + 32 /* db */)), ts+8377 /* "temp" */, -1, bp+40 /* &iArg */) return TCL_OK } @@ -97210,11 +97210,11 @@ func file_control_test(tls *libc.TLS, clientData ClientData, interp uintptr, obj // This TCL command runs the sqlite3_file_control interface and // verifies correct operation of the SQLITE_LAST_ERRNO verb. func file_control_lasterrno_test(tls *libc.TLS, clientData ClientData, interp uintptr, objc int32, objv uintptr) int32 { /* test1.c:6042:26: */ - bp := tls.Alloc(92) - defer tls.Free(92) + bp := tls.Alloc(76) + defer tls.Free(76) - *(*int32)(unsafe.Pointer(bp + 88 /* iArg */)) = 0 - // var db uintptr at bp+80, 8 + *(*int32)(unsafe.Pointer(bp + 72 /* iArg */)) = 0 + // var db uintptr at bp+64, 8 var rc int32 @@ -97223,17 +97223,17 @@ func file_control_lasterrno_test(tls *libc.TLS, clientData ClientData, interp ui tcl.XTcl_GetStringFromObj(tls, *(*uintptr)(unsafe.Pointer(objv)), uintptr(0)), ts+15462 /* " DB" */, 0)) return TCL_ERROR } - if getDbPointer(tls, interp, tcl.XTcl_GetString(tls, *(*uintptr)(unsafe.Pointer(objv + 1*8))), bp+80 /* &db */) != 0 { + if getDbPointer(tls, interp, tcl.XTcl_GetString(tls, *(*uintptr)(unsafe.Pointer(objv + 1*8))), bp+64 /* &db */) != 0 { return TCL_ERROR } - rc = sqlite3.Xsqlite3_file_control(tls, *(*uintptr)(unsafe.Pointer(bp + 80 /* db */)), uintptr(0), SQLITE_FCNTL_LAST_ERRNO, bp+88 /* &iArg */) + rc = sqlite3.Xsqlite3_file_control(tls, *(*uintptr)(unsafe.Pointer(bp + 64 /* db */)), uintptr(0), SQLITE_FCNTL_LAST_ERRNO, bp+72 /* &iArg */) if rc != 0 { tcl.XTcl_SetObjResult(tls, interp, tcl.XTcl_NewIntObj(tls, rc)) return TCL_ERROR } - if *(*int32)(unsafe.Pointer(bp + 88 /* iArg */)) != 0 { - tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp+40, ts+18190, /* "Unexpected non-z..." */ - tcl.XTcl_GetStringFromObj(tls, tcl.XTcl_NewIntObj(tls, *(*int32)(unsafe.Pointer(bp + 88 /* iArg */))), uintptr(0)), ts+4755 /* " " */, 0)) + if *(*int32)(unsafe.Pointer(bp + 72 /* iArg */)) != 0 { + tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp+32, ts+18190, /* "Unexpected non-z..." */ + tcl.XTcl_GetStringFromObj(tls, tcl.XTcl_NewIntObj(tls, *(*int32)(unsafe.Pointer(bp + 72 /* iArg */))), uintptr(0)), ts+4755 /* " " */, 0)) return TCL_ERROR } return TCL_OK @@ -97244,22 +97244,22 @@ func file_control_lasterrno_test(tls *libc.TLS, clientData ClientData, interp ui // This TCL command runs the sqlite3_file_control with the // SQLITE_FCNTL_DATA_VERSION opcode, returning the result. func file_control_data_version(tls *libc.TLS, clientData ClientData, interp uintptr, objc int32, objv uintptr) int32 { /* test1.c:6079:26: */ - bp := tls.Alloc(128) - defer tls.Free(128) + bp := tls.Alloc(120) + defer tls.Free(120) - // var iVers uint32 at bp+24, 4 + // var iVers uint32 at bp+16, 4 // data version var zDb uintptr // Db name ("main", "temp" etc.) - // var db uintptr at bp+16, 8 + // var db uintptr at bp+8, 8 // Database handle var rc int32 // file_control() return code - // var zBuf [100]int8 at bp+28, 100 + // var zBuf [100]int8 at bp+20, 100 if (objc != 3) && (objc != 2) { tcl.XTcl_WrongNumArgs(tls, interp, 1, objv, ts+18218 /* "DB [DBNAME]" */) return TCL_ERROR } - if getDbPointer(tls, interp, tcl.XTcl_GetString(tls, *(*uintptr)(unsafe.Pointer(objv + 1*8))), bp+16 /* &db */) != 0 { + if getDbPointer(tls, interp, tcl.XTcl_GetString(tls, *(*uintptr)(unsafe.Pointer(objv + 1*8))), bp+8 /* &db */) != 0 { return TCL_ERROR } if objc == 3 { @@ -97268,13 +97268,13 @@ func file_control_data_version(tls *libc.TLS, clientData ClientData, interp uint zDb = uintptr(0) } - rc = sqlite3.Xsqlite3_file_control(tls, *(*uintptr)(unsafe.Pointer(bp + 16 /* db */)), zDb, SQLITE_FCNTL_DATA_VERSION, bp+24 /* &iVers */) + rc = sqlite3.Xsqlite3_file_control(tls, *(*uintptr)(unsafe.Pointer(bp + 8 /* db */)), zDb, SQLITE_FCNTL_DATA_VERSION, bp+16 /* &iVers */) if rc != 0 { tcl.XTcl_SetResult(tls, interp, sqlite3.Xsqlite3ErrName(tls, rc), uintptr(0)) return TCL_ERROR } else { - sqlite3.Xsqlite3_snprintf(tls, int32(unsafe.Sizeof([100]int8{})), bp+28 /* &zBuf[0] */, ts+18230 /* "%u" */, libc.VaList(bp, *(*uint32)(unsafe.Pointer(bp + 24 /* iVers */)))) - tcl.XTcl_SetResult(tls, interp, bp+28 /* zBuf */, uintptr(1)) + sqlite3.Xsqlite3_snprintf(tls, int32(unsafe.Sizeof([100]int8{})), bp+20 /* &zBuf[0] */, ts+18230 /* "%u" */, libc.VaList(bp, *(*uint32)(unsafe.Pointer(bp + 16 /* iVers */)))) + tcl.XTcl_SetResult(tls, interp, bp+20 /* zBuf */, uintptr(1)) return TCL_OK } return int32(0) @@ -97359,17 +97359,17 @@ func file_control_sizehint_test(tls *libc.TLS, clientData ClientData, interp uin // verifies correct operation of the SQLITE_GET_LOCKPROXYFILE and // SQLITE_SET_LOCKPROXYFILE verbs. func file_control_lockproxy_test(tls *libc.TLS, clientData ClientData, interp uintptr, objc int32, objv uintptr) int32 { /* test1.c:6193:26: */ - bp := tls.Alloc(48) - defer tls.Free(48) + bp := tls.Alloc(40) + defer tls.Free(40) - // var db uintptr at bp+40, 8 + // var db uintptr at bp+32, 8 if objc != 3 { tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp, ts+15410, /* "wrong # args: sh..." */ tcl.XTcl_GetStringFromObj(tls, *(*uintptr)(unsafe.Pointer(objv)), uintptr(0)), ts+18248 /* " DB PWD" */, 0)) return TCL_ERROR } - if getDbPointer(tls, interp, tcl.XTcl_GetString(tls, *(*uintptr)(unsafe.Pointer(objv + 1*8))), bp+40 /* &db */) != 0 { + if getDbPointer(tls, interp, tcl.XTcl_GetString(tls, *(*uintptr)(unsafe.Pointer(objv + 1*8))), bp+32 /* &db */) != 0 { return TCL_ERROR } @@ -97381,33 +97381,33 @@ func file_control_lockproxy_test(tls *libc.TLS, clientData ClientData, interp ui // This TCL command runs the sqlite3_file_control interface with // the SQLITE_FCNTL_WIN32_AV_RETRY opcode. func file_control_win32_av_retry(tls *libc.TLS, clientData ClientData, interp uintptr, objc int32, objv uintptr) int32 { /* test1.c:6263:26: */ - bp := tls.Alloc(212) - defer tls.Free(212) + bp := tls.Alloc(188) + defer tls.Free(188) - // var db uintptr at bp+96, 8 + // var db uintptr at bp+72, 8 var rc int32 - // var a [2]int32 at bp+104, 8 + // var a [2]int32 at bp+80, 8 - // var z [100]int8 at bp+112, 100 + // var z [100]int8 at bp+88, 100 if objc != 4 { tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp, ts+15410, /* "wrong # args: sh..." */ tcl.XTcl_GetStringFromObj(tls, *(*uintptr)(unsafe.Pointer(objv)), uintptr(0)), ts+18256 /* " DB NRETRY DELAY" */, 0)) return TCL_ERROR } - if getDbPointer(tls, interp, tcl.XTcl_GetString(tls, *(*uintptr)(unsafe.Pointer(objv + 1*8))), bp+96 /* &db */) != 0 { + if getDbPointer(tls, interp, tcl.XTcl_GetString(tls, *(*uintptr)(unsafe.Pointer(objv + 1*8))), bp+72 /* &db */) != 0 { return TCL_ERROR } - if tcl.XTcl_GetIntFromObj(tls, interp, *(*uintptr)(unsafe.Pointer(objv + 2*8)), (bp+104 /* &a */)) != 0 { + if tcl.XTcl_GetIntFromObj(tls, interp, *(*uintptr)(unsafe.Pointer(objv + 2*8)), (bp+80 /* &a */)) != 0 { return TCL_ERROR } - if tcl.XTcl_GetIntFromObj(tls, interp, *(*uintptr)(unsafe.Pointer(objv + 3*8)), (bp+104 /* &a */ +1*4)) != 0 { + if tcl.XTcl_GetIntFromObj(tls, interp, *(*uintptr)(unsafe.Pointer(objv + 3*8)), (bp+80 /* &a */ +1*4)) != 0 { return TCL_ERROR } - rc = sqlite3.Xsqlite3_file_control(tls, *(*uintptr)(unsafe.Pointer(bp + 96 /* db */)), uintptr(0), SQLITE_FCNTL_WIN32_AV_RETRY, bp+104 /* a */) - sqlite3.Xsqlite3_snprintf(tls, int32(unsafe.Sizeof([100]int8{})), bp+112 /* &z[0] */, ts+18273 /* "%d %d %d" */, libc.VaList(bp+40, rc, *(*int32)(unsafe.Pointer(bp + 104 /* &a[0] */)), *(*int32)(unsafe.Pointer(bp + 104 /* &a[0] */ + 1*4)))) - tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp+72, bp+112 /* &z[0] */, uintptr(0))) + rc = sqlite3.Xsqlite3_file_control(tls, *(*uintptr)(unsafe.Pointer(bp + 72 /* db */)), uintptr(0), SQLITE_FCNTL_WIN32_AV_RETRY, bp+80 /* a */) + sqlite3.Xsqlite3_snprintf(tls, int32(unsafe.Sizeof([100]int8{})), bp+88 /* &z[0] */, ts+18273 /* "%d %d %d" */, libc.VaList(bp+32, rc, *(*int32)(unsafe.Pointer(bp + 80 /* &a[0] */)), *(*int32)(unsafe.Pointer(bp + 80 /* &a[0] */ + 1*4)))) + tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp+56, bp+88 /* &z[0] */, uintptr(0))) return TCL_OK } @@ -97416,27 +97416,27 @@ func file_control_win32_av_retry(tls *libc.TLS, clientData ClientData, interp ui // This TCL command runs the sqlite3_file_control interface with // the SQLITE_FCNTL_WIN32_GET_HANDLE opcode. func file_control_win32_get_handle(tls *libc.TLS, clientData ClientData, interp uintptr, objc int32, objv uintptr) int32 { /* test1.c:6296:12: */ - bp := tls.Alloc(204) - defer tls.Free(204) + bp := tls.Alloc(180) + defer tls.Free(180) - // var db uintptr at bp+88, 8 + // var db uintptr at bp+64, 8 var rc int32 - *(*HANDLE)(unsafe.Pointer(bp + 96 /* hFile */)) = uintptr(0) - // var z [100]int8 at bp+104, 100 + *(*HANDLE)(unsafe.Pointer(bp + 72 /* hFile */)) = uintptr(0) + // var z [100]int8 at bp+80, 100 if objc != 2 { tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp, ts+15410, /* "wrong # args: sh..." */ tcl.XTcl_GetStringFromObj(tls, *(*uintptr)(unsafe.Pointer(objv)), uintptr(0)), ts+15462 /* " DB" */, 0)) return TCL_ERROR } - if getDbPointer(tls, interp, tcl.XTcl_GetString(tls, *(*uintptr)(unsafe.Pointer(objv + 1*8))), bp+88 /* &db */) != 0 { + if getDbPointer(tls, interp, tcl.XTcl_GetString(tls, *(*uintptr)(unsafe.Pointer(objv + 1*8))), bp+64 /* &db */) != 0 { return TCL_ERROR } - rc = sqlite3.Xsqlite3_file_control(tls, *(*uintptr)(unsafe.Pointer(bp + 88 /* db */)), uintptr(0), SQLITE_FCNTL_WIN32_GET_HANDLE, - bp+96 /* &hFile */) - sqlite3.Xsqlite3_snprintf(tls, int32(unsafe.Sizeof([100]int8{})), bp+104 /* &z[0] */, ts+18282 /* "%d %p" */, libc.VaList(bp+40, rc, *(*HANDLE)(unsafe.Pointer(bp + 96 /* hFile */)))) - tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp+64, bp+104 /* &z[0] */, uintptr(0))) + rc = sqlite3.Xsqlite3_file_control(tls, *(*uintptr)(unsafe.Pointer(bp + 64 /* db */)), uintptr(0), SQLITE_FCNTL_WIN32_GET_HANDLE, + bp+72 /* &hFile */) + sqlite3.Xsqlite3_snprintf(tls, int32(unsafe.Sizeof([100]int8{})), bp+80 /* &z[0] */, ts+18282 /* "%d %p" */, libc.VaList(bp+32, rc, *(*HANDLE)(unsafe.Pointer(bp + 72 /* hFile */)))) + tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp+48, bp+80 /* &z[0] */, uintptr(0))) return TCL_OK } @@ -97445,30 +97445,30 @@ func file_control_win32_get_handle(tls *libc.TLS, clientData ClientData, interp // This TCL command runs the sqlite3_file_control interface with // the SQLITE_FCNTL_WIN32_SET_HANDLE opcode. func file_control_win32_set_handle(tls *libc.TLS, clientData ClientData, interp uintptr, objc int32, objv uintptr) int32 { /* test1.c:6328:26: */ - bp := tls.Alloc(204) - defer tls.Free(204) + bp := tls.Alloc(180) + defer tls.Free(180) - // var db uintptr at bp+88, 8 + // var db uintptr at bp+64, 8 var rc int32 - *(*HANDLE)(unsafe.Pointer(bp + 96 /* hFile */)) = uintptr(0) - // var z [100]int8 at bp+104, 100 + *(*HANDLE)(unsafe.Pointer(bp + 72 /* hFile */)) = uintptr(0) + // var z [100]int8 at bp+80, 100 if objc != 3 { tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp, ts+15410, /* "wrong # args: sh..." */ tcl.XTcl_GetStringFromObj(tls, *(*uintptr)(unsafe.Pointer(objv)), uintptr(0)), ts+18288 /* " DB HANDLE" */, 0)) return TCL_ERROR } - if getDbPointer(tls, interp, tcl.XTcl_GetString(tls, *(*uintptr)(unsafe.Pointer(objv + 1*8))), bp+88 /* &db */) != 0 { + if getDbPointer(tls, interp, tcl.XTcl_GetString(tls, *(*uintptr)(unsafe.Pointer(objv + 1*8))), bp+64 /* &db */) != 0 { return TCL_ERROR } - if getWin32Handle(tls, interp, tcl.XTcl_GetString(tls, *(*uintptr)(unsafe.Pointer(objv + 2*8))), bp+96 /* &hFile */) != 0 { + if getWin32Handle(tls, interp, tcl.XTcl_GetString(tls, *(*uintptr)(unsafe.Pointer(objv + 2*8))), bp+72 /* &hFile */) != 0 { return TCL_ERROR } - rc = sqlite3.Xsqlite3_file_control(tls, *(*uintptr)(unsafe.Pointer(bp + 88 /* db */)), uintptr(0), SQLITE_FCNTL_WIN32_SET_HANDLE, - bp+96 /* &hFile */) - sqlite3.Xsqlite3_snprintf(tls, int32(unsafe.Sizeof([100]int8{})), bp+104 /* &z[0] */, ts+18282 /* "%d %p" */, libc.VaList(bp+40, rc, *(*HANDLE)(unsafe.Pointer(bp + 96 /* hFile */)))) - tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp+64, bp+104 /* &z[0] */, uintptr(0))) + rc = sqlite3.Xsqlite3_file_control(tls, *(*uintptr)(unsafe.Pointer(bp + 64 /* db */)), uintptr(0), SQLITE_FCNTL_WIN32_SET_HANDLE, + bp+72 /* &hFile */) + sqlite3.Xsqlite3_snprintf(tls, int32(unsafe.Sizeof([100]int8{})), bp+80 /* &z[0] */, ts+18282 /* "%d %p" */, libc.VaList(bp+32, rc, *(*HANDLE)(unsafe.Pointer(bp + 72 /* hFile */)))) + tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp+48, bp+80 /* &z[0] */, uintptr(0))) return TCL_OK } @@ -97477,30 +97477,30 @@ func file_control_win32_set_handle(tls *libc.TLS, clientData ClientData, interp // This TCL command runs the sqlite3_file_control interface with // the SQLITE_FCNTL_PERSIST_WAL opcode. func file_control_persist_wal(tls *libc.TLS, clientData ClientData, interp uintptr, objc int32, objv uintptr) int32 { /* test1.c:6364:26: */ - bp := tls.Alloc(200) - defer tls.Free(200) + bp := tls.Alloc(176) + defer tls.Free(176) - // var db uintptr at bp+88, 8 + // var db uintptr at bp+64, 8 var rc int32 - // var bPersist int32 at bp+96, 4 + // var bPersist int32 at bp+72, 4 - // var z [100]int8 at bp+100, 100 + // var z [100]int8 at bp+76, 100 if objc != 3 { tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp, ts+15410, /* "wrong # args: sh..." */ tcl.XTcl_GetStringFromObj(tls, *(*uintptr)(unsafe.Pointer(objv)), uintptr(0)), ts+18299 /* " DB FLAG" */, 0)) return TCL_ERROR } - if getDbPointer(tls, interp, tcl.XTcl_GetString(tls, *(*uintptr)(unsafe.Pointer(objv + 1*8))), bp+88 /* &db */) != 0 { + if getDbPointer(tls, interp, tcl.XTcl_GetString(tls, *(*uintptr)(unsafe.Pointer(objv + 1*8))), bp+64 /* &db */) != 0 { return TCL_ERROR } - if tcl.XTcl_GetIntFromObj(tls, interp, *(*uintptr)(unsafe.Pointer(objv + 2*8)), bp+96 /* &bPersist */) != 0 { + if tcl.XTcl_GetIntFromObj(tls, interp, *(*uintptr)(unsafe.Pointer(objv + 2*8)), bp+72 /* &bPersist */) != 0 { return TCL_ERROR } - rc = sqlite3.Xsqlite3_file_control(tls, *(*uintptr)(unsafe.Pointer(bp + 88 /* db */)), uintptr(0), SQLITE_FCNTL_PERSIST_WAL, bp+96 /* &bPersist */) - sqlite3.Xsqlite3_snprintf(tls, int32(unsafe.Sizeof([100]int8{})), bp+100 /* &z[0] */, ts+18308 /* "%d %d" */, libc.VaList(bp+40, rc, *(*int32)(unsafe.Pointer(bp + 96 /* bPersist */)))) - tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp+64, bp+100 /* &z[0] */, uintptr(0))) + rc = sqlite3.Xsqlite3_file_control(tls, *(*uintptr)(unsafe.Pointer(bp + 64 /* db */)), uintptr(0), SQLITE_FCNTL_PERSIST_WAL, bp+72 /* &bPersist */) + sqlite3.Xsqlite3_snprintf(tls, int32(unsafe.Sizeof([100]int8{})), bp+76 /* &z[0] */, ts+18308 /* "%d %d" */, libc.VaList(bp+32, rc, *(*int32)(unsafe.Pointer(bp + 72 /* bPersist */)))) + tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp+48, bp+76 /* &z[0] */, uintptr(0))) return TCL_OK } @@ -97509,30 +97509,30 @@ func file_control_persist_wal(tls *libc.TLS, clientData ClientData, interp uintp // This TCL command runs the sqlite3_file_control interface with // the SQLITE_FCNTL_POWERSAFE_OVERWRITE opcode. func file_control_powersafe_overwrite(tls *libc.TLS, clientData ClientData, interp uintptr, objc int32, objv uintptr) int32 { /* test1.c:6396:26: */ - bp := tls.Alloc(200) - defer tls.Free(200) + bp := tls.Alloc(176) + defer tls.Free(176) - // var db uintptr at bp+88, 8 + // var db uintptr at bp+64, 8 var rc int32 - // var b int32 at bp+96, 4 + // var b int32 at bp+72, 4 - // var z [100]int8 at bp+100, 100 + // var z [100]int8 at bp+76, 100 if objc != 3 { tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp, ts+15410, /* "wrong # args: sh..." */ tcl.XTcl_GetStringFromObj(tls, *(*uintptr)(unsafe.Pointer(objv)), uintptr(0)), ts+18299 /* " DB FLAG" */, 0)) return TCL_ERROR } - if getDbPointer(tls, interp, tcl.XTcl_GetString(tls, *(*uintptr)(unsafe.Pointer(objv + 1*8))), bp+88 /* &db */) != 0 { + if getDbPointer(tls, interp, tcl.XTcl_GetString(tls, *(*uintptr)(unsafe.Pointer(objv + 1*8))), bp+64 /* &db */) != 0 { return TCL_ERROR } - if tcl.XTcl_GetIntFromObj(tls, interp, *(*uintptr)(unsafe.Pointer(objv + 2*8)), bp+96 /* &b */) != 0 { + if tcl.XTcl_GetIntFromObj(tls, interp, *(*uintptr)(unsafe.Pointer(objv + 2*8)), bp+72 /* &b */) != 0 { return TCL_ERROR } - rc = sqlite3.Xsqlite3_file_control(tls, *(*uintptr)(unsafe.Pointer(bp + 88 /* db */)), uintptr(0), SQLITE_FCNTL_POWERSAFE_OVERWRITE, bp+96 /* &b */) - sqlite3.Xsqlite3_snprintf(tls, int32(unsafe.Sizeof([100]int8{})), bp+100 /* &z[0] */, ts+18308 /* "%d %d" */, libc.VaList(bp+40, rc, *(*int32)(unsafe.Pointer(bp + 96 /* b */)))) - tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp+64, bp+100 /* &z[0] */, uintptr(0))) + rc = sqlite3.Xsqlite3_file_control(tls, *(*uintptr)(unsafe.Pointer(bp + 64 /* db */)), uintptr(0), SQLITE_FCNTL_POWERSAFE_OVERWRITE, bp+72 /* &b */) + sqlite3.Xsqlite3_snprintf(tls, int32(unsafe.Sizeof([100]int8{})), bp+76 /* &z[0] */, ts+18308 /* "%d %d" */, libc.VaList(bp+32, rc, *(*int32)(unsafe.Pointer(bp + 72 /* b */)))) + tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp+48, bp+76 /* &z[0] */, uintptr(0))) return TCL_OK } @@ -97540,28 +97540,28 @@ func file_control_powersafe_overwrite(tls *libc.TLS, clientData ClientData, inte // // Return a string that describes the stack of VFSes. func file_control_vfsname(tls *libc.TLS, clientData ClientData, interp uintptr, objc int32, objv uintptr) int32 { /* test1.c:6428:26: */ - bp := tls.Alloc(80) - defer tls.Free(80) + bp := tls.Alloc(64) + defer tls.Free(64) - // var db uintptr at bp+64, 8 + // var db uintptr at bp+48, 8 var zDbName uintptr = ts + 85 /* "main" */ - *(*uintptr)(unsafe.Pointer(bp + 72 /* zVfsName */)) = uintptr(0) + *(*uintptr)(unsafe.Pointer(bp + 56 /* zVfsName */)) = uintptr(0) if (objc != 2) && (objc != 3) { tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp, ts+15410, /* "wrong # args: sh..." */ tcl.XTcl_GetStringFromObj(tls, *(*uintptr)(unsafe.Pointer(objv)), uintptr(0)), ts+18314 /* " DB ?AUXDB?" */, 0)) return TCL_ERROR } - if getDbPointer(tls, interp, tcl.XTcl_GetString(tls, *(*uintptr)(unsafe.Pointer(objv + 1*8))), bp+64 /* &db */) != 0 { + if getDbPointer(tls, interp, tcl.XTcl_GetString(tls, *(*uintptr)(unsafe.Pointer(objv + 1*8))), bp+48 /* &db */) != 0 { return TCL_ERROR } if objc == 3 { zDbName = tcl.XTcl_GetString(tls, *(*uintptr)(unsafe.Pointer(objv + 2*8))) } - sqlite3.Xsqlite3_file_control(tls, *(*uintptr)(unsafe.Pointer(bp + 64 /* db */)), zDbName, SQLITE_FCNTL_VFSNAME, bp+72 /* &zVfsName */) - tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp+40, *(*uintptr)(unsafe.Pointer(bp + 72 /* zVfsName */)), uintptr(0))) - sqlite3.Xsqlite3_free(tls, *(*uintptr)(unsafe.Pointer(bp + 72 /* zVfsName */))) + sqlite3.Xsqlite3_file_control(tls, *(*uintptr)(unsafe.Pointer(bp + 48 /* db */)), zDbName, SQLITE_FCNTL_VFSNAME, bp+56 /* &zVfsName */) + tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp+32, *(*uintptr)(unsafe.Pointer(bp + 56 /* zVfsName */)), uintptr(0))) + sqlite3.Xsqlite3_free(tls, *(*uintptr)(unsafe.Pointer(bp + 56 /* zVfsName */))) return TCL_OK } @@ -97594,28 +97594,28 @@ func file_control_reservebytes(tls *libc.TLS, clientData ClientData, interp uint // // Return a string that is a temporary filename func file_control_tempfilename(tls *libc.TLS, clientData ClientData, interp uintptr, objc int32, objv uintptr) int32 { /* test1.c:6490:26: */ - bp := tls.Alloc(80) - defer tls.Free(80) + bp := tls.Alloc(64) + defer tls.Free(64) - // var db uintptr at bp+64, 8 + // var db uintptr at bp+48, 8 var zDbName uintptr = ts + 85 /* "main" */ - *(*uintptr)(unsafe.Pointer(bp + 72 /* zTName */)) = uintptr(0) + *(*uintptr)(unsafe.Pointer(bp + 56 /* zTName */)) = uintptr(0) if (objc != 2) && (objc != 3) { tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp, ts+15410, /* "wrong # args: sh..." */ tcl.XTcl_GetStringFromObj(tls, *(*uintptr)(unsafe.Pointer(objv)), uintptr(0)), ts+18314 /* " DB ?AUXDB?" */, 0)) return TCL_ERROR } - if getDbPointer(tls, interp, tcl.XTcl_GetString(tls, *(*uintptr)(unsafe.Pointer(objv + 1*8))), bp+64 /* &db */) != 0 { + if getDbPointer(tls, interp, tcl.XTcl_GetString(tls, *(*uintptr)(unsafe.Pointer(objv + 1*8))), bp+48 /* &db */) != 0 { return TCL_ERROR } if objc == 3 { zDbName = tcl.XTcl_GetString(tls, *(*uintptr)(unsafe.Pointer(objv + 2*8))) } - sqlite3.Xsqlite3_file_control(tls, *(*uintptr)(unsafe.Pointer(bp + 64 /* db */)), zDbName, SQLITE_FCNTL_TEMPFILENAME, bp+72 /* &zTName */) - tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp+40, *(*uintptr)(unsafe.Pointer(bp + 72 /* zTName */)), uintptr(0))) - sqlite3.Xsqlite3_free(tls, *(*uintptr)(unsafe.Pointer(bp + 72 /* zTName */))) + sqlite3.Xsqlite3_file_control(tls, *(*uintptr)(unsafe.Pointer(bp + 48 /* db */)), zDbName, SQLITE_FCNTL_TEMPFILENAME, bp+56 /* &zTName */) + tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp+32, *(*uintptr)(unsafe.Pointer(bp + 56 /* zTName */)), uintptr(0))) + sqlite3.Xsqlite3_free(tls, *(*uintptr)(unsafe.Pointer(bp + 56 /* zTName */))) return TCL_OK } @@ -97623,13 +97623,13 @@ func file_control_tempfilename(tls *libc.TLS, clientData ClientData, interp uint // // Return a string that is a temporary filename func file_control_external_reader(tls *libc.TLS, clientData ClientData, interp uintptr, objc int32, objv uintptr) int32 { /* test1.c:6522:26: */ - bp := tls.Alloc(52) - defer tls.Free(52) + bp := tls.Alloc(44) + defer tls.Free(44) - // var db uintptr at bp+40, 8 + // var db uintptr at bp+32, 8 var zName uintptr = ts + 85 /* "main" */ - *(*int32)(unsafe.Pointer(bp + 48 /* iRes */)) = 0 + *(*int32)(unsafe.Pointer(bp + 40 /* iRes */)) = 0 var rc int32 = SQLITE_OK if (objc != 2) && (objc != 3) { @@ -97637,18 +97637,18 @@ func file_control_external_reader(tls *libc.TLS, clientData ClientData, interp u tcl.XTcl_GetStringFromObj(tls, *(*uintptr)(unsafe.Pointer(objv)), uintptr(0)), ts+18314 /* " DB ?AUXDB?" */, 0)) return TCL_ERROR } - if getDbPointer(tls, interp, tcl.XTcl_GetString(tls, *(*uintptr)(unsafe.Pointer(objv + 1*8))), bp+40 /* &db */) != 0 { + if getDbPointer(tls, interp, tcl.XTcl_GetString(tls, *(*uintptr)(unsafe.Pointer(objv + 1*8))), bp+32 /* &db */) != 0 { return TCL_ERROR } if objc == 3 { zName = tcl.XTcl_GetString(tls, *(*uintptr)(unsafe.Pointer(objv + 2*8))) } - rc = sqlite3.Xsqlite3_file_control(tls, *(*uintptr)(unsafe.Pointer(bp + 40 /* db */)), zName, SQLITE_FCNTL_EXTERNAL_READER, bp+48 /* &iRes */) + rc = sqlite3.Xsqlite3_file_control(tls, *(*uintptr)(unsafe.Pointer(bp + 32 /* db */)), zName, SQLITE_FCNTL_EXTERNAL_READER, bp+40 /* &iRes */) if rc != SQLITE_OK { tcl.XTcl_SetResult(tls, interp, sqlite3.Xsqlite3ErrName(tls, rc), uintptr(0)) return TCL_ERROR } - tcl.XTcl_SetObjResult(tls, interp, tcl.XTcl_NewIntObj(tls, *(*int32)(unsafe.Pointer(bp + 48 /* iRes */)))) + tcl.XTcl_SetObjResult(tls, interp, tcl.XTcl_NewIntObj(tls, *(*int32)(unsafe.Pointer(bp + 40 /* iRes */)))) return TCL_OK } @@ -97674,15 +97674,15 @@ func vfs_list(tls *libc.TLS, clientData ClientData, interp uintptr, objc int32, // This TCL command runs the sqlite3_limit interface and // verifies correct operation of the same. func test_limit(tls *libc.TLS, clientData ClientData, interp uintptr, objc int32, objv uintptr) int32 { /* test1.c:6584:26: */ - bp := tls.Alloc(84) - defer tls.Free(84) + bp := tls.Alloc(68) + defer tls.Free(68) - // var db uintptr at bp+72, 8 + // var db uintptr at bp+56, 8 var rc int32 var i int32 var id int32 = 0 - // var val int32 at bp+80, 4 + // var val int32 at bp+64, 4 var zId uintptr @@ -97691,7 +97691,7 @@ func test_limit(tls *libc.TLS, clientData ClientData, interp uintptr, objc int32 tcl.XTcl_GetStringFromObj(tls, *(*uintptr)(unsafe.Pointer(objv)), uintptr(0)), ts+18331 /* " DB ID VALUE" */, 0)) return TCL_ERROR } - if getDbPointer(tls, interp, tcl.XTcl_GetString(tls, *(*uintptr)(unsafe.Pointer(objv + 1*8))), bp+72 /* &db */) != 0 { + if getDbPointer(tls, interp, tcl.XTcl_GetString(tls, *(*uintptr)(unsafe.Pointer(objv + 1*8))), bp+56 /* &db */) != 0 { return TCL_ERROR } zId = tcl.XTcl_GetString(tls, *(*uintptr)(unsafe.Pointer(objv + 2*8))) @@ -97710,13 +97710,13 @@ func test_limit(tls *libc.TLS, clientData ClientData, interp uintptr, objc int32 Fid int32 _ [4]byte }{}))) { - tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp+40, ts+18344 /* "unknown limit ty..." */, zId, uintptr(0))) + tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp+32, ts+18344 /* "unknown limit ty..." */, zId, uintptr(0))) return TCL_ERROR } - if tcl.XTcl_GetIntFromObj(tls, interp, *(*uintptr)(unsafe.Pointer(objv + 3*8)), bp+80 /* &val */) != 0 { + if tcl.XTcl_GetIntFromObj(tls, interp, *(*uintptr)(unsafe.Pointer(objv + 3*8)), bp+64 /* &val */) != 0 { return TCL_ERROR } - rc = sqlite3.Xsqlite3_limit(tls, *(*uintptr)(unsafe.Pointer(bp + 72 /* db */)), id, *(*int32)(unsafe.Pointer(bp + 80 /* val */))) + rc = sqlite3.Xsqlite3_limit(tls, *(*uintptr)(unsafe.Pointer(bp + 56 /* db */)), id, *(*int32)(unsafe.Pointer(bp + 64 /* val */))) tcl.XTcl_SetObjResult(tls, interp, tcl.XTcl_NewIntObj(tls, rc)) return TCL_OK } @@ -97785,22 +97785,22 @@ func reset_prng_state(tls *libc.TLS, clientData ClientData, interp uintptr, objc // If INT==0 and DB==0 then use the default procedure of calling the // xRandomness method on the default VFS to get the PRNG seed. func prng_seed(tls *libc.TLS, clientData ClientData, interp uintptr, objc int32, objv uintptr) int32 { /* test1.c:6699:26: */ - bp := tls.Alloc(40) - defer tls.Free(40) + bp := tls.Alloc(32) + defer tls.Free(32) - *(*int32)(unsafe.Pointer(bp + 24 /* i */)) = 0 - *(*uintptr)(unsafe.Pointer(bp + 32 /* db */)) = uintptr(0) + *(*int32)(unsafe.Pointer(bp + 16 /* i */)) = 0 + *(*uintptr)(unsafe.Pointer(bp + 24 /* db */)) = uintptr(0) if (objc != 2) && (objc != 3) { tcl.XTcl_WrongNumArgs(tls, interp, 1, objv, ts+18710 /* "SEED ?DB?" */) return TCL_ERROR } - if tcl.XTcl_GetIntFromObj(tls, interp, *(*uintptr)(unsafe.Pointer(objv + 1*8)), bp+24 /* &i */) != 0 { + if tcl.XTcl_GetIntFromObj(tls, interp, *(*uintptr)(unsafe.Pointer(objv + 1*8)), bp+16 /* &i */) != 0 { return TCL_ERROR } - if (objc == 3) && (getDbPointer(tls, interp, tcl.XTcl_GetString(tls, *(*uintptr)(unsafe.Pointer(objv + 2*8))), bp+32 /* &db */) != 0) { + if (objc == 3) && (getDbPointer(tls, interp, tcl.XTcl_GetString(tls, *(*uintptr)(unsafe.Pointer(objv + 2*8))), bp+24 /* &db */) != 0) { return TCL_ERROR } - sqlite3.Xsqlite3_test_control(tls, SQLITE_TESTCTRL_PRNG_SEED, libc.VaList(bp, *(*int32)(unsafe.Pointer(bp + 24 /* i */)), *(*uintptr)(unsafe.Pointer(bp + 32 /* db */)))) + sqlite3.Xsqlite3_test_control(tls, SQLITE_TESTCTRL_PRNG_SEED, libc.VaList(bp, *(*int32)(unsafe.Pointer(bp + 16 /* i */)), *(*uintptr)(unsafe.Pointer(bp + 24 /* db */)))) return TCL_OK } @@ -97811,18 +97811,18 @@ func prng_seed(tls *libc.TLS, clientData ClientData, interp uintptr, objc int32, // disable the checks in order to make some internal error states reachable // for testing. func extra_schema_checks(tls *libc.TLS, clientData ClientData, interp uintptr, objc int32, objv uintptr) int32 { /* test1.c:6727:26: */ - bp := tls.Alloc(20) - defer tls.Free(20) + bp := tls.Alloc(12) + defer tls.Free(12) - *(*int32)(unsafe.Pointer(bp + 16 /* i */)) = 0 + *(*int32)(unsafe.Pointer(bp + 8 /* i */)) = 0 if objc != 2 { tcl.XTcl_WrongNumArgs(tls, interp, 1, objv, ts+18720 /* "BOOLEAN" */) return TCL_ERROR } - if tcl.XTcl_GetBooleanFromObj(tls, interp, *(*uintptr)(unsafe.Pointer(objv + 1*8)), bp+16 /* &i */) != 0 { + if tcl.XTcl_GetBooleanFromObj(tls, interp, *(*uintptr)(unsafe.Pointer(objv + 1*8)), bp+8 /* &i */) != 0 { return TCL_ERROR } - sqlite3.Xsqlite3_test_control(tls, SQLITE_TESTCTRL_EXTRA_SCHEMA_CHECKS, libc.VaList(bp, *(*int32)(unsafe.Pointer(bp + 16 /* i */)))) + sqlite3.Xsqlite3_test_control(tls, SQLITE_TESTCTRL_EXTRA_SCHEMA_CHECKS, libc.VaList(bp, *(*int32)(unsafe.Pointer(bp + 8 /* i */)))) return TCL_OK } @@ -97831,8 +97831,8 @@ func extra_schema_checks(tls *libc.TLS, clientData ClientData, interp uintptr, o // Indicate that database files might be corrupt. In other words, set the normal // state of operation. func database_may_be_corrupt(tls *libc.TLS, clientData ClientData, interp uintptr, objc int32, objv uintptr) int32 { /* test1.c:6749:26: */ - bp := tls.Alloc(16) - defer tls.Free(16) + bp := tls.Alloc(8) + defer tls.Free(8) sqlite3.Xsqlite3_test_control(tls, SQLITE_TESTCTRL_NEVER_CORRUPT, libc.VaList(bp, 0)) return TCL_OK @@ -97844,8 +97844,8 @@ func database_may_be_corrupt(tls *libc.TLS, clientData ClientData, interp uintpt // extra assert() statements that test conditions that are always true // for well-formed databases. func database_never_corrupt(tls *libc.TLS, clientData ClientData, interp uintptr, objc int32, objv uintptr) int32 { /* test1.c:6765:26: */ - bp := tls.Alloc(16) - defer tls.Free(16) + bp := tls.Alloc(8) + defer tls.Free(8) sqlite3.Xsqlite3_test_control(tls, SQLITE_TESTCTRL_NEVER_CORRUPT, libc.VaList(bp, 1)) return TCL_OK @@ -97957,20 +97957,20 @@ func test_wal_checkpoint(tls *libc.TLS, clientData ClientData, interp uintptr, o // the number of frames in the log and the number of frames in the log // that have been checkpointed. func test_wal_checkpoint_v2(tls *libc.TLS, clientData ClientData, interp uintptr, objc int32, objv uintptr) int32 { /* test1.c:6890:26: */ - bp := tls.Alloc(104) - defer tls.Free(104) + bp := tls.Alloc(96) + defer tls.Free(96) var zDb uintptr = uintptr(0) - // var db uintptr at bp+40, 8 + // var db uintptr at bp+32, 8 var rc int32 - // var eMode int32 at bp+48, 4 + // var eMode int32 at bp+40, 4 - *(*int32)(unsafe.Pointer(bp + 96 /* nLog */)) = -555 - *(*int32)(unsafe.Pointer(bp + 100 /* nCkpt */)) = -555 + *(*int32)(unsafe.Pointer(bp + 88 /* nLog */)) = -555 + *(*int32)(unsafe.Pointer(bp + 92 /* nCkpt */)) = -555 var pRet uintptr - *(*[5]uintptr)(unsafe.Pointer(bp + 56 /* aMode */)) = [5]uintptr{ts + 18765 /* "passive" */, ts + 18773 /* "full" */, ts + 18778 /* "restart" */, ts + 18786 /* "truncate" */, uintptr(0)} + *(*[5]uintptr)(unsafe.Pointer(bp + 48 /* aMode */)) = [5]uintptr{ts + 18765 /* "passive" */, ts + 18773 /* "full" */, ts + 18778 /* "restart" */, ts + 18786 /* "truncate" */, uintptr(0)} if (objc != 3) && (objc != 4) { tcl.XTcl_WrongNumArgs(tls, interp, 1, objv, ts+18795 /* "DB MODE ?NAME?" */) @@ -97980,16 +97980,16 @@ func test_wal_checkpoint_v2(tls *libc.TLS, clientData ClientData, interp uintptr if objc == 4 { zDb = tcl.XTcl_GetString(tls, *(*uintptr)(unsafe.Pointer(objv + 3*8))) } - if (getDbPointer(tls, interp, tcl.XTcl_GetString(tls, *(*uintptr)(unsafe.Pointer(objv + 1*8))), bp+40 /* &db */) != 0) || ((TCL_OK != tcl.XTcl_GetIntFromObj(tls, uintptr(0), *(*uintptr)(unsafe.Pointer(objv + 2*8)), bp+48 /* &eMode */)) && - (TCL_OK != tcl.XTcl_GetIndexFromObjStruct(tls, interp, *(*uintptr)(unsafe.Pointer(objv + 2*8)), bp+56 /* &aMode[0] */, int32(unsafe.Sizeof(uintptr(0))), ts+18810 /* "mode" */, 0, bp+48 /* &eMode */))) { + if (getDbPointer(tls, interp, tcl.XTcl_GetString(tls, *(*uintptr)(unsafe.Pointer(objv + 1*8))), bp+32 /* &db */) != 0) || ((TCL_OK != tcl.XTcl_GetIntFromObj(tls, uintptr(0), *(*uintptr)(unsafe.Pointer(objv + 2*8)), bp+40 /* &eMode */)) && + (TCL_OK != tcl.XTcl_GetIndexFromObjStruct(tls, interp, *(*uintptr)(unsafe.Pointer(objv + 2*8)), bp+48 /* &aMode[0] */, int32(unsafe.Sizeof(uintptr(0))), ts+18810 /* "mode" */, 0, bp+40 /* &eMode */))) { return TCL_ERROR } - rc = sqlite3.Xsqlite3_wal_checkpoint_v2(tls, *(*uintptr)(unsafe.Pointer(bp + 40 /* db */)), zDb, *(*int32)(unsafe.Pointer(bp + 48 /* eMode */)), bp+96 /* &nLog */, bp+100 /* &nCkpt */) + rc = sqlite3.Xsqlite3_wal_checkpoint_v2(tls, *(*uintptr)(unsafe.Pointer(bp + 32 /* db */)), zDb, *(*int32)(unsafe.Pointer(bp + 40 /* eMode */)), bp+88 /* &nLog */, bp+92 /* &nCkpt */) if (rc != SQLITE_OK) && (rc != SQLITE_BUSY) { var zErrCode uintptr = sqlite3.Xsqlite3ErrName(tls, rc) tcl.XTcl_ResetResult(tls, interp) - tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp, zErrCode, ts+10280 /* " - " */, sqlite3.Xsqlite3_errmsg(tls, *(*uintptr)(unsafe.Pointer(bp + 40 /* db */))), 0)) + tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp, zErrCode, ts+10280 /* " - " */, sqlite3.Xsqlite3_errmsg(tls, *(*uintptr)(unsafe.Pointer(bp + 32 /* db */))), 0)) return TCL_ERROR } @@ -98000,8 +98000,8 @@ func test_wal_checkpoint_v2(tls *libc.TLS, clientData ClientData, interp uintptr } return 0 }())) - tcl.XTcl_ListObjAppendElement(tls, interp, pRet, tcl.XTcl_NewIntObj(tls, *(*int32)(unsafe.Pointer(bp + 96 /* nLog */)))) - tcl.XTcl_ListObjAppendElement(tls, interp, pRet, tcl.XTcl_NewIntObj(tls, *(*int32)(unsafe.Pointer(bp + 100 /* nCkpt */)))) + tcl.XTcl_ListObjAppendElement(tls, interp, pRet, tcl.XTcl_NewIntObj(tls, *(*int32)(unsafe.Pointer(bp + 88 /* nLog */)))) + tcl.XTcl_ListObjAppendElement(tls, interp, pRet, tcl.XTcl_NewIntObj(tls, *(*int32)(unsafe.Pointer(bp + 92 /* nCkpt */)))) tcl.XTcl_SetObjResult(tls, interp, pRet) return TCL_OK @@ -98063,8 +98063,8 @@ 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:6997:26: */ - bp := tls.Alloc(48) - defer tls.Free(48) + bp := tls.Alloc(32) + defer tls.Free(32) if objc > 2 { tcl.XTcl_WrongNumArgs(tls, interp, 1, objv, ts+10650 /* "SCRIPT" */) @@ -98085,7 +98085,7 @@ func test_sqlite3_log(tls *libc.TLS, clientData ClientData, interp uintptr, objc logcallback.FpObj = *(*uintptr)(unsafe.Pointer(objv + 1*8)) (*Tcl_Obj)(unsafe.Pointer(logcallback.FpObj)).FrefCount++ logcallback.FpInterp = interp - sqlite3.Xsqlite3_config(tls, SQLITE_CONFIG_LOG, libc.VaList(bp+24, *(*uintptr)(unsafe.Pointer(&struct { + sqlite3.Xsqlite3_config(tls, SQLITE_CONFIG_LOG, libc.VaList(bp+16, *(*uintptr)(unsafe.Pointer(&struct { f func(*libc.TLS, uintptr, int32, uintptr) }{xLogcallback})), uintptr(0))) } @@ -98097,26 +98097,26 @@ func test_sqlite3_log(tls *libc.TLS, clientData ClientData, interp uintptr, objc // Run a TCL command using its objProc interface. Throw an error if // the command has no objProc interface. func runAsObjProc(tls *libc.TLS, clientData uintptr, interp uintptr, objc int32, objv uintptr) int32 { /* test1.c:7028:26: */ - bp := tls.Alloc(128) - defer tls.Free(128) + bp := tls.Alloc(112) + defer tls.Free(112) - // var cmdInfo Tcl_CmdInfo at bp+64, 64 + // var cmdInfo Tcl_CmdInfo at bp+48, 64 if objc < 2 { tcl.XTcl_WrongNumArgs(tls, interp, 1, objv, ts+18824 /* "COMMAND ..." */) return TCL_ERROR } - if !(tcl.XTcl_GetCommandInfo(tls, interp, tcl.XTcl_GetString(tls, *(*uintptr)(unsafe.Pointer(objv + 1*8))), bp+64 /* &cmdInfo */) != 0) { + if !(tcl.XTcl_GetCommandInfo(tls, interp, tcl.XTcl_GetString(tls, *(*uintptr)(unsafe.Pointer(objv + 1*8))), bp+48 /* &cmdInfo */) != 0) { tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp, ts+15320, /* "command not foun..." */ tcl.XTcl_GetString(tls, *(*uintptr)(unsafe.Pointer(objv + 1*8))), uintptr(0))) return TCL_ERROR } - if (*Tcl_CmdInfo)(unsafe.Pointer(bp+64 /* &cmdInfo */)).FobjProc == uintptr(0) { - tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp+32, ts+18836, /* "command has no o..." */ + if (*Tcl_CmdInfo)(unsafe.Pointer(bp+48 /* &cmdInfo */)).FobjProc == uintptr(0) { + tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp+24, ts+18836, /* "command has no o..." */ tcl.XTcl_GetString(tls, *(*uintptr)(unsafe.Pointer(objv + 1*8))), uintptr(0))) return TCL_ERROR } - return (*(*func(*libc.TLS, ClientData, uintptr, int32, uintptr) int32)(unsafe.Pointer((bp + 64 /* &cmdInfo */ + 8 /* &.objProc */))))(tls, (*Tcl_CmdInfo)(unsafe.Pointer(bp+64 /* &cmdInfo */)).FobjClientData, interp, (objc - 1), (objv + uintptr(1)*8)) + return (*(*func(*libc.TLS, ClientData, uintptr, int32, uintptr) int32)(unsafe.Pointer((bp + 48 /* &cmdInfo */ + 8 /* &.objProc */))))(tls, (*Tcl_CmdInfo)(unsafe.Pointer(bp+48 /* &cmdInfo */)).FobjClientData, interp, (objc - 1), (objv + uintptr(1)*8)) } // WARNING: The following function, printExplainQueryPlan() is an exact @@ -98126,12 +98126,12 @@ func runAsObjProc(tls *libc.TLS, clientData uintptr, interp uintptr, objc int32, // an EXPLAIN QUERY PLAN command to report on the prepared statement, // and prints the report to stdout using printf(). func printExplainQueryPlan(tls *libc.TLS, pStmt uintptr) int32 { /* test1.c:7063:5: */ - bp := tls.Alloc(64) - defer tls.Free(64) + bp := tls.Alloc(48) + defer tls.Free(48) var zSql uintptr // Input SQL var zExplain uintptr // SQL with EXPLAIN QUERY PLAN prepended - // var pExplain uintptr at bp+56, 8 + // var pExplain uintptr at bp+40, 8 // Compiled EXPLAIN QUERY PLAN command var rc int32 // Return code from sqlite3_prepare_v2() @@ -98145,22 +98145,22 @@ func printExplainQueryPlan(tls *libc.TLS, pStmt uintptr) int32 { /* test1.c:7063 return SQLITE_NOMEM } - rc = sqlite3.Xsqlite3_prepare_v2(tls, sqlite3.Xsqlite3_db_handle(tls, pStmt), zExplain, -1, bp+56 /* &pExplain */, uintptr(0)) + rc = sqlite3.Xsqlite3_prepare_v2(tls, sqlite3.Xsqlite3_db_handle(tls, pStmt), zExplain, -1, bp+40 /* &pExplain */, uintptr(0)) sqlite3.Xsqlite3_free(tls, zExplain) if rc != SQLITE_OK { return rc } - for SQLITE_ROW == sqlite3.Xsqlite3_step(tls, *(*uintptr)(unsafe.Pointer(bp + 56 /* pExplain */))) { - var iSelectid int32 = sqlite3.Xsqlite3_column_int(tls, *(*uintptr)(unsafe.Pointer(bp + 56 /* pExplain */)), 0) - var iOrder int32 = sqlite3.Xsqlite3_column_int(tls, *(*uintptr)(unsafe.Pointer(bp + 56 /* pExplain */)), 1) - var iFrom int32 = sqlite3.Xsqlite3_column_int(tls, *(*uintptr)(unsafe.Pointer(bp + 56 /* pExplain */)), 2) - var zDetail uintptr = sqlite3.Xsqlite3_column_text(tls, *(*uintptr)(unsafe.Pointer(bp + 56 /* pExplain */)), 3) + for SQLITE_ROW == sqlite3.Xsqlite3_step(tls, *(*uintptr)(unsafe.Pointer(bp + 40 /* pExplain */))) { + var iSelectid int32 = sqlite3.Xsqlite3_column_int(tls, *(*uintptr)(unsafe.Pointer(bp + 40 /* pExplain */)), 0) + var iOrder int32 = sqlite3.Xsqlite3_column_int(tls, *(*uintptr)(unsafe.Pointer(bp + 40 /* pExplain */)), 1) + var iFrom int32 = sqlite3.Xsqlite3_column_int(tls, *(*uintptr)(unsafe.Pointer(bp + 40 /* pExplain */)), 2) + var zDetail uintptr = sqlite3.Xsqlite3_column_text(tls, *(*uintptr)(unsafe.Pointer(bp + 40 /* pExplain */)), 3) - libc.Xprintf(tls, ts+18861 /* "%d %d %d %s\n" */, libc.VaList(bp+16, iSelectid, iOrder, iFrom, zDetail)) + libc.Xprintf(tls, ts+18861 /* "%d %d %d %s\n" */, libc.VaList(bp+8, iSelectid, iOrder, iFrom, zDetail)) } - return sqlite3.Xsqlite3_finalize(tls, *(*uintptr)(unsafe.Pointer(bp + 56 /* pExplain */))) + return sqlite3.Xsqlite3_finalize(tls, *(*uintptr)(unsafe.Pointer(bp + 40 /* pExplain */))) } func test_print_eqp(tls *libc.TLS, clientData uintptr, interp uintptr, objc int32, objv uintptr) int32 { /* test1.c:7091:26: */ @@ -98188,16 +98188,16 @@ func test_print_eqp(tls *libc.TLS, clientData uintptr, interp uintptr, objc int3 // sqlite3_test_control VERB ARGS... func test_test_control(tls *libc.TLS, clientData uintptr, interp uintptr, objc int32, objv uintptr) int32 { /* test1.c:7119:26: */ - bp := tls.Alloc(216) - defer tls.Free(216) + bp := tls.Alloc(184) + defer tls.Free(184) - *(*[4]Verb)(unsafe.Pointer(bp + 96 /* aVerb */)) = [4]Verb{ + *(*[4]Verb)(unsafe.Pointer(bp + 64 /* aVerb */)) = [4]Verb{ {FzName: ts + 18874 /* "SQLITE_TESTCTRL_..." */, Fi: SQLITE_TESTCTRL_LOCALTIME_FAULT}, {FzName: ts + 18906 /* "SQLITE_TESTCTRL_..." */, Fi: SQLITE_TESTCTRL_SORTER_MMAP}, {FzName: ts + 18934 /* "SQLITE_TESTCTRL_..." */, Fi: SQLITE_TESTCTRL_IMPOSTER}, {FzName: ts + 18959 /* "SQLITE_TESTCTRL_..." */, Fi: SQLITE_TESTCTRL_INTERNAL_FUNCTIONS}, } - // var iVerb int32 at bp+160, 4 + // var iVerb int32 at bp+128, 4 var iFlag int32 var rc int32 @@ -98208,88 +98208,88 @@ func test_test_control(tls *libc.TLS, clientData uintptr, interp uintptr, objc i } rc = tcl.XTcl_GetIndexFromObjStruct(tls, - interp, *(*uintptr)(unsafe.Pointer(objv + 1*8)), bp+96 /* &aVerb[0] */, int32(unsafe.Sizeof(Verb{})), ts+19007 /* "VERB" */, 0, bp+160 /* &iVerb */) + interp, *(*uintptr)(unsafe.Pointer(objv + 1*8)), bp+64 /* &aVerb[0] */, int32(unsafe.Sizeof(Verb{})), ts+19007 /* "VERB" */, 0, bp+128 /* &iVerb */) if rc != TCL_OK { return rc } - iFlag = (*Verb)(unsafe.Pointer(bp + 96 /* &aVerb */ + uintptr(*(*int32)(unsafe.Pointer(bp + 160 /* iVerb */)))*16)).Fi + iFlag = (*Verb)(unsafe.Pointer(bp + 64 /* &aVerb */ + uintptr(*(*int32)(unsafe.Pointer(bp + 128 /* iVerb */)))*16)).Fi switch iFlag { case SQLITE_TESTCTRL_INTERNAL_FUNCTIONS: { - *(*uintptr)(unsafe.Pointer(bp + 168 /* db */)) = uintptr(0) + *(*uintptr)(unsafe.Pointer(bp + 136 /* db */)) = uintptr(0) if objc != 3 { tcl.XTcl_WrongNumArgs(tls, interp, 2, objv, ts+1911 /* "DB" */) return TCL_ERROR } - if getDbPointer(tls, interp, tcl.XTcl_GetString(tls, *(*uintptr)(unsafe.Pointer(objv + 2*8))), bp+168 /* &db */) != 0 { + if getDbPointer(tls, interp, tcl.XTcl_GetString(tls, *(*uintptr)(unsafe.Pointer(objv + 2*8))), bp+136 /* &db */) != 0 { return TCL_ERROR } - sqlite3.Xsqlite3_test_control(tls, SQLITE_TESTCTRL_INTERNAL_FUNCTIONS, libc.VaList(bp, *(*uintptr)(unsafe.Pointer(bp + 168 /* db */)))) + sqlite3.Xsqlite3_test_control(tls, SQLITE_TESTCTRL_INTERNAL_FUNCTIONS, libc.VaList(bp, *(*uintptr)(unsafe.Pointer(bp + 136 /* db */)))) break } case SQLITE_TESTCTRL_LOCALTIME_FAULT: { - // var val int32 at bp+176, 4 + // var val int32 at bp+144, 4 if objc != 3 { tcl.XTcl_WrongNumArgs(tls, interp, 2, objv, ts+19012 /* "ONOFF" */) return TCL_ERROR } - if tcl.XTcl_GetBooleanFromObj(tls, interp, *(*uintptr)(unsafe.Pointer(objv + 2*8)), bp+176 /* &val */) != 0 { + if tcl.XTcl_GetBooleanFromObj(tls, interp, *(*uintptr)(unsafe.Pointer(objv + 2*8)), bp+144 /* &val */) != 0 { return TCL_ERROR } - sqlite3.Xsqlite3_test_control(tls, iFlag, libc.VaList(bp+16, *(*int32)(unsafe.Pointer(bp + 176 /* val */)))) + sqlite3.Xsqlite3_test_control(tls, iFlag, libc.VaList(bp+8, *(*int32)(unsafe.Pointer(bp + 144 /* val */)))) break } case SQLITE_TESTCTRL_SORTER_MMAP: { - // var val int32 at bp+192, 4 + // var val int32 at bp+160, 4 - // var db uintptr at bp+184, 8 + // var db uintptr at bp+152, 8 if objc != 4 { tcl.XTcl_WrongNumArgs(tls, interp, 2, objv, ts+19018 /* "DB LIMIT" */) return TCL_ERROR } - if getDbPointer(tls, interp, tcl.XTcl_GetString(tls, *(*uintptr)(unsafe.Pointer(objv + 2*8))), bp+184 /* &db */) != 0 { + if getDbPointer(tls, interp, tcl.XTcl_GetString(tls, *(*uintptr)(unsafe.Pointer(objv + 2*8))), bp+152 /* &db */) != 0 { return TCL_ERROR } - if tcl.XTcl_GetIntFromObj(tls, interp, *(*uintptr)(unsafe.Pointer(objv + 3*8)), bp+192 /* &val */) != 0 { + if tcl.XTcl_GetIntFromObj(tls, interp, *(*uintptr)(unsafe.Pointer(objv + 3*8)), bp+160 /* &val */) != 0 { return TCL_ERROR } - sqlite3.Xsqlite3_test_control(tls, SQLITE_TESTCTRL_SORTER_MMAP, libc.VaList(bp+32, *(*uintptr)(unsafe.Pointer(bp + 184 /* db */)), *(*int32)(unsafe.Pointer(bp + 192 /* val */)))) + sqlite3.Xsqlite3_test_control(tls, SQLITE_TESTCTRL_SORTER_MMAP, libc.VaList(bp+16, *(*uintptr)(unsafe.Pointer(bp + 152 /* db */)), *(*int32)(unsafe.Pointer(bp + 160 /* val */)))) break } case SQLITE_TESTCTRL_IMPOSTER: { - // var onOff int32 at bp+208, 4 + // var onOff int32 at bp+176, 4 - // var tnum int32 at bp+212, 4 + // var tnum int32 at bp+180, 4 var zDbName uintptr - // var db uintptr at bp+200, 8 + // var db uintptr at bp+168, 8 if objc != 6 { tcl.XTcl_WrongNumArgs(tls, interp, 2, objv, ts+19027 /* "DB dbName onOff ..." */) return TCL_ERROR } - if getDbPointer(tls, interp, tcl.XTcl_GetString(tls, *(*uintptr)(unsafe.Pointer(objv + 2*8))), bp+200 /* &db */) != 0 { + if getDbPointer(tls, interp, tcl.XTcl_GetString(tls, *(*uintptr)(unsafe.Pointer(objv + 2*8))), bp+168 /* &db */) != 0 { return TCL_ERROR } zDbName = tcl.XTcl_GetString(tls, *(*uintptr)(unsafe.Pointer(objv + 3*8))) - if tcl.XTcl_GetIntFromObj(tls, interp, *(*uintptr)(unsafe.Pointer(objv + 4*8)), bp+208 /* &onOff */) != 0 { + if tcl.XTcl_GetIntFromObj(tls, interp, *(*uintptr)(unsafe.Pointer(objv + 4*8)), bp+176 /* &onOff */) != 0 { return TCL_ERROR } - if tcl.XTcl_GetIntFromObj(tls, interp, *(*uintptr)(unsafe.Pointer(objv + 5*8)), bp+212 /* &tnum */) != 0 { + if tcl.XTcl_GetIntFromObj(tls, interp, *(*uintptr)(unsafe.Pointer(objv + 5*8)), bp+180 /* &tnum */) != 0 { return TCL_ERROR } - sqlite3.Xsqlite3_test_control(tls, SQLITE_TESTCTRL_IMPOSTER, libc.VaList(bp+56, *(*uintptr)(unsafe.Pointer(bp + 200 /* db */)), zDbName, *(*int32)(unsafe.Pointer(bp + 208 /* onOff */)), *(*int32)(unsafe.Pointer(bp + 212 /* tnum */)))) + sqlite3.Xsqlite3_test_control(tls, SQLITE_TESTCTRL_IMPOSTER, libc.VaList(bp+32, *(*uintptr)(unsafe.Pointer(bp + 168 /* db */)), zDbName, *(*int32)(unsafe.Pointer(bp + 176 /* onOff */)), *(*int32)(unsafe.Pointer(bp + 180 /* tnum */)))) break } @@ -98361,11 +98361,11 @@ func win32_file_locker(tls *libc.TLS, pAppData uintptr) { /* test1.c:7252:26: */ // Get an exclusive manditory lock on file for DELAY2 milliseconds. // Wait DELAY1 milliseconds before acquiring the lock. func win32_file_lock(tls *libc.TLS, clientData uintptr, interp uintptr, objc int32, objv uintptr) int32 { /* test1.c:7283:26: */ - bp := tls.Alloc(408) - defer tls.Free(408) + bp := tls.Alloc(352) + defer tls.Free(352) var zFilename uintptr - // var zBuf [200]int8 at bp+208, 200 + // var zBuf [200]int8 at bp+152, 200 var retry int32 = 0 var ev HANDLE @@ -98376,9 +98376,9 @@ func win32_file_lock(tls *libc.TLS, clientData uintptr, interp uintptr, objc int return TCL_ERROR } if objc == 1 { - sqlite3.Xsqlite3_snprintf(tls, int32(unsafe.Sizeof([200]int8{})), bp+208 /* &zBuf[0] */, ts+19071, /* "%d %d %d %d %d" */ + sqlite3.Xsqlite3_snprintf(tls, int32(unsafe.Sizeof([200]int8{})), bp+152 /* &zBuf[0] */, ts+19071, /* "%d %d %d %d %d" */ libc.VaList(bp, x.Fok, x.Ferr, x.Fdelay1, x.Fdelay2, x.Fh)) - tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp+48, bp+208 /* &zBuf[0] */, uintptr(0))) + tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp+40, bp+152 /* &zBuf[0] */, uintptr(0))) return TCL_OK } for (x.Fh != 0) && (retry < 30) { @@ -98386,7 +98386,7 @@ func win32_file_lock(tls *libc.TLS, clientData uintptr, interp uintptr, objc int libc.XSleep(tls, uint32(100)) } if x.Fh != 0 { - tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp+72, ts+13856 /* "busy" */, uintptr(0))) + tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp+56, ts+13856 /* "busy" */, uintptr(0))) return TCL_ERROR } if tcl.XTcl_GetIntFromObj(tls, interp, *(*uintptr)(unsafe.Pointer(objv + 2*8)), (uintptr(unsafe.Pointer(&x))+16 /* &.delay1 */)) != 0 { @@ -98400,19 +98400,19 @@ func win32_file_lock(tls *libc.TLS, clientData uintptr, interp uintptr, objc int (uint32(FILE_SHARE_READ | FILE_SHARE_WRITE)), uintptr(0), uint32(OPEN_ALWAYS), uint32(FILE_ATTRIBUTE_NORMAL), uintptr(0)) if !(int32(x.Fh) != 0) { - tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp+96, ts+19086 /* "cannot open file..." */, zFilename, uintptr(0))) + tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp+72, ts+19086 /* "cannot open file..." */, zFilename, uintptr(0))) return TCL_ERROR } ev = libc.XCreateEventA(tls, uintptr(0), TRUE, FALSE, x.FevName) if !(ev != 0) { - tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp+128, ts+19105 /* "cannot create ev..." */, x.FevName, uintptr(0))) + tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp+96, ts+19105 /* "cannot create ev..." */, x.FevName, uintptr(0))) return TCL_ERROR } libc.X_beginthread(tls, *(*uintptr)(unsafe.Pointer(&struct{ f func(*libc.TLS, uintptr) }{win32_file_locker})), uint32(0), uintptr(unsafe.Pointer(&x))) libc.XSleep(tls, uint32(0)) if (libc.AssignUint32(&wResult, libc.XWaitForSingleObject(tls, ev, uint32(10000)))) != ((DWORD(0x00000000)) + DWORD(0)) { - sqlite3.Xsqlite3_snprintf(tls, int32(unsafe.Sizeof([200]int8{})), bp+208 /* &zBuf[0] */, ts+19127 /* "0x%x" */, libc.VaList(bp+160, wResult)) - tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp+176, ts+19132 /* "wait failed: " */, bp+208 /* &zBuf[0] */, uintptr(0))) + sqlite3.Xsqlite3_snprintf(tls, int32(unsafe.Sizeof([200]int8{})), bp+152 /* &zBuf[0] */, ts+19127 /* "0x%x" */, libc.VaList(bp+120, wResult)) + tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp+128, ts+19132 /* "wait failed: " */, bp+152 /* &zBuf[0] */, uintptr(0))) libc.XCloseHandle(tls, ev) return TCL_ERROR } @@ -98540,14 +98540,14 @@ func win32_rmdir(tls *libc.TLS, clientData uintptr, interp uintptr, objc int32, // interface. Disable if BOOLEAN is false and enable if BOOLEAN is true. // OPT is the name of the optimization to be disabled. func optimization_control(tls *libc.TLS, clientData uintptr, interp uintptr, objc int32, objv uintptr) int32 { /* test1.c:7489:26: */ - bp := tls.Alloc(92) - defer tls.Free(92) + bp := tls.Alloc(68) + defer tls.Free(68) var i int32 - // var db uintptr at bp+80, 8 + // var db uintptr at bp+56, 8 var zOpt uintptr - // var onoff int32 at bp+88, 4 + // var onoff int32 at bp+64, 4 var mask int32 = 0 @@ -98555,10 +98555,10 @@ func optimization_control(tls *libc.TLS, clientData uintptr, interp uintptr, obj tcl.XTcl_WrongNumArgs(tls, interp, 1, objv, ts+19189 /* "DB OPT BOOLEAN" */) return TCL_ERROR } - if getDbPointer(tls, interp, tcl.XTcl_GetString(tls, *(*uintptr)(unsafe.Pointer(objv + 1*8))), bp+80 /* &db */) != 0 { + if getDbPointer(tls, interp, tcl.XTcl_GetString(tls, *(*uintptr)(unsafe.Pointer(objv + 1*8))), bp+56 /* &db */) != 0 { return TCL_ERROR } - if tcl.XTcl_GetBooleanFromObj(tls, interp, *(*uintptr)(unsafe.Pointer(objv + 3*8)), bp+88 /* &onoff */) != 0 { + if tcl.XTcl_GetBooleanFromObj(tls, interp, *(*uintptr)(unsafe.Pointer(objv + 3*8)), bp+64 /* &onoff */) != 0 { return TCL_ERROR } zOpt = tcl.XTcl_GetString(tls, *(*uintptr)(unsafe.Pointer(objv + 2*8))) @@ -98572,7 +98572,7 @@ func optimization_control(tls *libc.TLS, clientData uintptr, interp uintptr, obj break } } - if *(*int32)(unsafe.Pointer(bp + 88 /* onoff */)) != 0 { + if *(*int32)(unsafe.Pointer(bp + 64 /* onoff */)) != 0 { mask = ^mask } if uint64(i) >= (uint64(unsafe.Sizeof(aOpt)) / uint64(unsafe.Sizeof(struct { @@ -98587,11 +98587,11 @@ func optimization_control(tls *libc.TLS, clientData uintptr, interp uintptr, obj Fmask int32 _ [4]byte }{}))); i++ { - tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp+24, ts+4755 /* " " */, aOpt[i].FzOptName, uintptr(0))) + tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp+16, ts+4755 /* " " */, aOpt[i].FzOptName, uintptr(0))) } return TCL_ERROR } - sqlite3.Xsqlite3_test_control(tls, SQLITE_TESTCTRL_OPTIMIZATIONS, libc.VaList(bp+56, *(*uintptr)(unsafe.Pointer(bp + 80 /* db */)), mask)) + sqlite3.Xsqlite3_test_control(tls, SQLITE_TESTCTRL_OPTIMIZATIONS, libc.VaList(bp+40, *(*uintptr)(unsafe.Pointer(bp + 56 /* db */)), mask)) return TCL_OK } @@ -98619,21 +98619,21 @@ var aOpt = [13]struct { // // Load one or more statically linked extensions. func tclLoadStaticExtensionCmd(tls *libc.TLS, clientData uintptr, interp uintptr, objc int32, objv uintptr) int32 { /* test1.c:7550:26: */ - bp := tls.Alloc(96) - defer tls.Free(96) + bp := tls.Alloc(80) + defer tls.Free(80) - // var db uintptr at bp+80, 8 + // var db uintptr at bp+64, 8 var zName uintptr var i int32 var j int32 var rc int32 - *(*uintptr)(unsafe.Pointer(bp + 88 /* zErrMsg */)) = uintptr(0) + *(*uintptr)(unsafe.Pointer(bp + 72 /* zErrMsg */)) = uintptr(0) if objc < 3 { tcl.XTcl_WrongNumArgs(tls, interp, 1, objv, ts+19399 /* "DB NAME ..." */) return TCL_ERROR } - if getDbPointer(tls, interp, tcl.XTcl_GetString(tls, *(*uintptr)(unsafe.Pointer(objv + 1*8))), bp+80 /* &db */) != 0 { + if getDbPointer(tls, interp, tcl.XTcl_GetString(tls, *(*uintptr)(unsafe.Pointer(objv + 1*8))), bp+64 /* &db */) != 0 { return TCL_ERROR } for j = 2; j < objc; j++ { @@ -98654,14 +98654,14 @@ func tclLoadStaticExtensionCmd(tls *libc.TLS, clientData uintptr, interp uintptr return TCL_ERROR } if aExtension[i].FpInit != 0 { - rc = (*(*func(*libc.TLS, uintptr, uintptr, uintptr) int32)(unsafe.Pointer((uintptr(unsafe.Pointer(&aExtension)) + uintptr(i)*16 + 8 /* &.pInit */))))(tls, *(*uintptr)(unsafe.Pointer(bp + 80 /* db */)), bp+88 /* &zErrMsg */, uintptr(0)) + rc = (*(*func(*libc.TLS, uintptr, uintptr, uintptr) int32)(unsafe.Pointer((uintptr(unsafe.Pointer(&aExtension)) + uintptr(i)*16 + 8 /* &.pInit */))))(tls, *(*uintptr)(unsafe.Pointer(bp + 64 /* db */)), bp+72 /* &zErrMsg */, uintptr(0)) } else { rc = SQLITE_OK } - if ((rc != SQLITE_OK) && (rc != (SQLITE_OK | (int32(1) << 8)))) || (*(*uintptr)(unsafe.Pointer(bp + 88 /* zErrMsg */)) != 0) { - tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp+32, ts+19431 /* "initialization o..." */, zName, ts+19450 /* " failed: " */, *(*uintptr)(unsafe.Pointer(bp + 88 /* zErrMsg */)), + if ((rc != SQLITE_OK) && (rc != (SQLITE_OK | (int32(1) << 8)))) || (*(*uintptr)(unsafe.Pointer(bp + 72 /* zErrMsg */)) != 0) { + tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp+24, ts+19431 /* "initialization o..." */, zName, ts+19450 /* " failed: " */, *(*uintptr)(unsafe.Pointer(bp + 72 /* zErrMsg */)), uintptr(0))) - sqlite3.Xsqlite3_free(tls, *(*uintptr)(unsafe.Pointer(bp + 88 /* zErrMsg */))) + sqlite3.Xsqlite3_free(tls, *(*uintptr)(unsafe.Pointer(bp + 72 /* zErrMsg */))) return TCL_ERROR } } @@ -98736,21 +98736,21 @@ func sorter_test_fakeheap(tls *libc.TLS, clientData uintptr, interp uintptr, obj // Then execute statement $SQL2. Check that the statement returns the same // set of integers in the same order as in the previous step (using $SQL1). func sorter_test_sort4_helper(tls *libc.TLS, clientData uintptr, interp uintptr, objc int32, objv uintptr) int32 { /* test1.c:7690:26: */ - bp := tls.Alloc(104) - defer tls.Free(104) + bp := tls.Alloc(80) + defer tls.Free(80) var zSql1 uintptr var zSql2 uintptr - // var nStep int32 at bp+88, 4 + // var nStep int32 at bp+64, 4 var iStep int32 var iCksum1 uint32 var iCksum2 uint32 var rc int32 var iB int32 - // var db uintptr at bp+80, 8 + // var db uintptr at bp+56, 8 - // var pStmt uintptr at bp+96, 8 + // var pStmt uintptr at bp+72, 8 var a int32 var a1 int32 @@ -98765,14 +98765,14 @@ func sorter_test_sort4_helper(tls *libc.TLS, clientData uintptr, interp uintptr, __1: ; - if !(getDbPointer(tls, interp, tcl.XTcl_GetString(tls, *(*uintptr)(unsafe.Pointer(objv + 1*8))), bp+80 /* &db */) != 0) { + if !(getDbPointer(tls, interp, tcl.XTcl_GetString(tls, *(*uintptr)(unsafe.Pointer(objv + 1*8))), bp+56 /* &db */) != 0) { goto __2 } return TCL_ERROR __2: ; zSql1 = tcl.XTcl_GetString(tls, *(*uintptr)(unsafe.Pointer(objv + 2*8))) - if !(tcl.XTcl_GetIntFromObj(tls, interp, *(*uintptr)(unsafe.Pointer(objv + 3*8)), bp+88 /* &nStep */) != 0) { + if !(tcl.XTcl_GetIntFromObj(tls, interp, *(*uintptr)(unsafe.Pointer(objv + 3*8)), bp+64 /* &nStep */) != 0) { goto __3 } return TCL_ERROR @@ -98780,7 +98780,7 @@ __3: ; zSql2 = tcl.XTcl_GetString(tls, *(*uintptr)(unsafe.Pointer(objv + 4*8))) - rc = sqlite3.Xsqlite3_prepare_v2(tls, *(*uintptr)(unsafe.Pointer(bp + 80 /* db */)), zSql1, -1, bp+96 /* &pStmt */, uintptr(0)) + rc = sqlite3.Xsqlite3_prepare_v2(tls, *(*uintptr)(unsafe.Pointer(bp + 56 /* db */)), zSql1, -1, bp+72 /* &pStmt */, uintptr(0)) if !(rc != SQLITE_OK) { goto __4 } @@ -98788,14 +98788,14 @@ __3: __4: ; - iB = (sqlite3.Xsqlite3_column_count(tls, *(*uintptr)(unsafe.Pointer(bp + 96 /* pStmt */))) - 1) + iB = (sqlite3.Xsqlite3_column_count(tls, *(*uintptr)(unsafe.Pointer(bp + 72 /* pStmt */))) - 1) iStep = 0 __5: - if !((iStep < *(*int32)(unsafe.Pointer(bp + 88 /* nStep */))) && (SQLITE_ROW == sqlite3.Xsqlite3_step(tls, *(*uintptr)(unsafe.Pointer(bp + 96 /* pStmt */))))) { + if !((iStep < *(*int32)(unsafe.Pointer(bp + 64 /* nStep */))) && (SQLITE_ROW == sqlite3.Xsqlite3_step(tls, *(*uintptr)(unsafe.Pointer(bp + 72 /* pStmt */))))) { goto __7 } - a = sqlite3.Xsqlite3_column_int(tls, *(*uintptr)(unsafe.Pointer(bp + 96 /* pStmt */)), 0) - if !(a != sqlite3.Xsqlite3_column_int(tls, *(*uintptr)(unsafe.Pointer(bp + 96 /* pStmt */)), iB)) { + a = sqlite3.Xsqlite3_column_int(tls, *(*uintptr)(unsafe.Pointer(bp + 72 /* pStmt */)), 0) + if !(a != sqlite3.Xsqlite3_column_int(tls, *(*uintptr)(unsafe.Pointer(bp + 72 /* pStmt */)), iB)) { goto __8 } tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp, ts+19543 /* "data error: (a!=..." */, 0)) @@ -98811,7 +98811,7 @@ __6: goto __7 __7: ; - rc = sqlite3.Xsqlite3_finalize(tls, *(*uintptr)(unsafe.Pointer(bp + 96 /* pStmt */))) + rc = sqlite3.Xsqlite3_finalize(tls, *(*uintptr)(unsafe.Pointer(bp + 72 /* pStmt */))) if !(rc != SQLITE_OK) { goto __9 } @@ -98819,7 +98819,7 @@ __7: __9: ; - rc = sqlite3.Xsqlite3_prepare_v2(tls, *(*uintptr)(unsafe.Pointer(bp + 80 /* db */)), zSql2, -1, bp+96 /* &pStmt */, uintptr(0)) + rc = sqlite3.Xsqlite3_prepare_v2(tls, *(*uintptr)(unsafe.Pointer(bp + 56 /* db */)), zSql2, -1, bp+72 /* &pStmt */, uintptr(0)) if !(rc != SQLITE_OK) { goto __10 } @@ -98828,10 +98828,10 @@ __10: ; iStep = 0 __11: - if !(SQLITE_ROW == sqlite3.Xsqlite3_step(tls, *(*uintptr)(unsafe.Pointer(bp + 96 /* pStmt */)))) { + if !(SQLITE_ROW == sqlite3.Xsqlite3_step(tls, *(*uintptr)(unsafe.Pointer(bp + 72 /* pStmt */)))) { goto __13 } - a1 = sqlite3.Xsqlite3_column_int(tls, *(*uintptr)(unsafe.Pointer(bp + 96 /* pStmt */)), 0) + a1 = sqlite3.Xsqlite3_column_int(tls, *(*uintptr)(unsafe.Pointer(bp + 72 /* pStmt */)), 0) iCksum2 = iCksum2 + ((iCksum2 << 3) + uint32(a1)) goto __12 __12: @@ -98840,7 +98840,7 @@ __12: goto __13 __13: ; - rc = sqlite3.Xsqlite3_finalize(tls, *(*uintptr)(unsafe.Pointer(bp + 96 /* pStmt */))) + rc = sqlite3.Xsqlite3_finalize(tls, *(*uintptr)(unsafe.Pointer(bp + 72 /* pStmt */))) if !(rc != SQLITE_OK) { goto __14 } @@ -98851,14 +98851,14 @@ __14: if !(iCksum1 != iCksum2) { goto __15 } - tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp+24, ts+19562 /* "checksum mismatc..." */, 0)) + tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp+16, ts+19562 /* "checksum mismatc..." */, 0)) return TCL_ERROR __15: ; return TCL_OK sql_error: - tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp+48, ts+19580 /* "sql error: " */, sqlite3.Xsqlite3_errmsg(tls, *(*uintptr)(unsafe.Pointer(bp + 80 /* db */))), 0)) + tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp+32, ts+19580 /* "sql error: " */, sqlite3.Xsqlite3_errmsg(tls, *(*uintptr)(unsafe.Pointer(bp + 56 /* db */))), 0)) return TCL_ERROR } @@ -98959,19 +98959,19 @@ func test_register_dbstat_vtab(tls *libc.TLS, clientData uintptr, interp uintptr // // Invoke sqlite3_db_config() for one of the setting values. func test_sqlite3_db_config(tls *libc.TLS, clientData uintptr, interp uintptr, objc int32, objv uintptr) int32 { /* test1.c:7977:26: */ - bp := tls.Alloc(36) - defer tls.Free(36) + bp := tls.Alloc(28) + defer tls.Free(28) var i int32 - *(*int32)(unsafe.Pointer(bp + 32 /* v */)) = 0 + *(*int32)(unsafe.Pointer(bp + 24 /* v */)) = 0 var zSetting uintptr - // var db uintptr at bp+24, 8 + // var db uintptr at bp+16, 8 if (objc != 4) && (objc != 3) { tcl.XTcl_WrongNumArgs(tls, interp, 1, objv, ts+19614 /* "DB SETTING [VALU..." */) return TCL_ERROR } - if getDbPointer(tls, interp, tcl.XTcl_GetString(tls, *(*uintptr)(unsafe.Pointer(objv + 1*8))), bp+24 /* &db */) != 0 { + if getDbPointer(tls, interp, tcl.XTcl_GetString(tls, *(*uintptr)(unsafe.Pointer(objv + 1*8))), bp+16 /* &db */) != 0 { return TCL_ERROR } zSetting = tcl.XTcl_GetString(tls, *(*uintptr)(unsafe.Pointer(objv + 2*8))) @@ -99003,14 +99003,14 @@ func test_sqlite3_db_config(tls *libc.TLS, clientData uintptr, interp uintptr, o return TCL_ERROR } if objc == 4 { - if tcl.XTcl_GetIntFromObj(tls, interp, *(*uintptr)(unsafe.Pointer(objv + 3*8)), bp+32 /* &v */) != 0 { + if tcl.XTcl_GetIntFromObj(tls, interp, *(*uintptr)(unsafe.Pointer(objv + 3*8)), bp+24 /* &v */) != 0 { return TCL_ERROR } } else { - *(*int32)(unsafe.Pointer(bp + 32 /* v */)) = -1 + *(*int32)(unsafe.Pointer(bp + 24 /* v */)) = -1 } - sqlite3.Xsqlite3_db_config(tls, *(*uintptr)(unsafe.Pointer(bp + 24 /* db */)), aSetting[i].FeVal, libc.VaList(bp, *(*int32)(unsafe.Pointer(bp + 32 /* v */)), bp+32 /* &v */)) - tcl.XTcl_SetObjResult(tls, interp, tcl.XTcl_NewIntObj(tls, *(*int32)(unsafe.Pointer(bp + 32 /* v */)))) + sqlite3.Xsqlite3_db_config(tls, *(*uintptr)(unsafe.Pointer(bp + 16 /* db */)), aSetting[i].FeVal, libc.VaList(bp, *(*int32)(unsafe.Pointer(bp + 24 /* v */)), bp+24 /* &v */)) + tcl.XTcl_SetObjResult(tls, interp, tcl.XTcl_NewIntObj(tls, *(*int32)(unsafe.Pointer(bp + 24 /* v */)))) return TCL_OK } @@ -99068,20 +99068,20 @@ func test_sqlite3_txn_state(tls *libc.TLS, clientData uintptr, interp uintptr, o // Change the name of the main database schema from "main" to "icecube". func test_dbconfig_maindbname_icecube(tls *libc.TLS, clientData uintptr, interp uintptr, objc int32, objv uintptr) int32 { /* test1.c:8064:26: */ - bp := tls.Alloc(24) - defer tls.Free(24) + bp := tls.Alloc(16) + defer tls.Free(16) var rc int32 - // var db uintptr at bp+16, 8 + // var db uintptr at bp+8, 8 if objc != 2 { tcl.XTcl_WrongNumArgs(tls, interp, 1, objv, ts+1911 /* "DB" */) return TCL_ERROR } else { - if getDbPointer(tls, interp, tcl.XTcl_GetString(tls, *(*uintptr)(unsafe.Pointer(objv + 1*8))), bp+16 /* &db */) != 0 { + if getDbPointer(tls, interp, tcl.XTcl_GetString(tls, *(*uintptr)(unsafe.Pointer(objv + 1*8))), bp+8 /* &db */) != 0 { return TCL_ERROR } - rc = sqlite3.Xsqlite3_db_config(tls, *(*uintptr)(unsafe.Pointer(bp + 16 /* db */)), SQLITE_DBCONFIG_MAINDBNAME, libc.VaList(bp, ts+19874 /* "icecube" */)) + rc = sqlite3.Xsqlite3_db_config(tls, *(*uintptr)(unsafe.Pointer(bp + 8 /* db */)), SQLITE_DBCONFIG_MAINDBNAME, libc.VaList(bp, ts+19874 /* "icecube" */)) tcl.XTcl_SetObjResult(tls, interp, tcl.XTcl_NewIntObj(tls, rc)) return TCL_OK } @@ -99183,22 +99183,22 @@ func test_unregister_cksumvfs(tls *libc.TLS, clientData uintptr, interp uintptr, // is constructed from a text input which is the output of the "dbtotxt" // utility. func test_decode_hexdb(tls *libc.TLS, clientData uintptr, interp uintptr, objc int32, objv uintptr) int32 { /* test1.c:8199:26: */ - bp := tls.Alloc(344) - defer tls.Free(344) + bp := tls.Alloc(296) + defer tls.Free(296) var zIn uintptr = uintptr(0) var a uintptr = uintptr(0) - *(*int32)(unsafe.Pointer(bp + 264 /* n */)) = 0 + *(*int32)(unsafe.Pointer(bp + 216 /* n */)) = 0 var lineno int32 = 0 var i int32 var iNext int32 var iOffset int32 = 0 - // var j int32 at bp+272, 4 + // var j int32 at bp+224, 4 - // var k int32 at bp+276, 4 + // var k int32 at bp+228, 4 var rc int32 - // var x [16]uint32 at bp+280, 64 + // var x [16]uint32 at bp+232, 64 if objc != 2 { tcl.XTcl_WrongNumArgs(tls, interp, 1, objv, ts+19909 /* "HEXDB" */) @@ -99216,49 +99216,49 @@ func test_decode_hexdb(tls *libc.TLS, clientData uintptr, interp uintptr, objc i i++ } if a == uintptr(0) { - // var pgsz int32 at bp+268, 4 + // var pgsz int32 at bp+220, 4 - rc = libc.Xsscanf(tls, (zIn + uintptr(i)), ts+19915 /* "| size %d pagesi..." */, libc.VaList(bp, bp+264 /* &n */, bp+268 /* &pgsz */)) + rc = libc.Xsscanf(tls, (zIn + uintptr(i)), ts+19915 /* "| size %d pagesi..." */, libc.VaList(bp, bp+216 /* &n */, bp+220 /* &pgsz */)) if rc != 2 { continue } - if ((*(*int32)(unsafe.Pointer(bp + 268 /* pgsz */)) < 512) || (*(*int32)(unsafe.Pointer(bp + 268 /* pgsz */)) > 65536)) || ((*(*int32)(unsafe.Pointer(bp + 268 /* pgsz */)) & (*(*int32)(unsafe.Pointer(bp + 268 /* pgsz */)) - 1)) != 0) { - tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp+24, ts+19937 /* "bad 'pagesize' f..." */, uintptr(0))) + if ((*(*int32)(unsafe.Pointer(bp + 220 /* pgsz */)) < 512) || (*(*int32)(unsafe.Pointer(bp + 220 /* pgsz */)) > 65536)) || ((*(*int32)(unsafe.Pointer(bp + 220 /* pgsz */)) & (*(*int32)(unsafe.Pointer(bp + 220 /* pgsz */)) - 1)) != 0) { + tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp+16, ts+19937 /* "bad 'pagesize' f..." */, uintptr(0))) return TCL_ERROR } - *(*int32)(unsafe.Pointer(bp + 264 /* n */)) = (((*(*int32)(unsafe.Pointer(bp + 264 /* n */)) + *(*int32)(unsafe.Pointer(bp + 268 /* pgsz */))) - 1) & ^(*(*int32)(unsafe.Pointer(bp + 268 /* pgsz */)) - 1)) // Round n up to the next multiple of pgsz - if *(*int32)(unsafe.Pointer(bp + 264 /* n */)) < 512 { - tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp+48, ts+19958 /* "bad 'size' field" */, uintptr(0))) + *(*int32)(unsafe.Pointer(bp + 216 /* n */)) = (((*(*int32)(unsafe.Pointer(bp + 216 /* n */)) + *(*int32)(unsafe.Pointer(bp + 220 /* pgsz */))) - 1) & ^(*(*int32)(unsafe.Pointer(bp + 220 /* pgsz */)) - 1)) // Round n up to the next multiple of pgsz + if *(*int32)(unsafe.Pointer(bp + 216 /* n */)) < 512 { + tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp+32, ts+19958 /* "bad 'size' field" */, uintptr(0))) return TCL_ERROR } - a = libc.Xmalloc(tls, uint64(*(*int32)(unsafe.Pointer(bp + 264 /* n */)))) + a = libc.Xmalloc(tls, uint64(*(*int32)(unsafe.Pointer(bp + 216 /* n */)))) if a == uintptr(0) { - tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp+72, ts+1930 /* "out of memory" */, uintptr(0))) + tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp+48, ts+1930 /* "out of memory" */, uintptr(0))) return TCL_ERROR } - libc.Xmemset(tls, a, 0, uint64(*(*int32)(unsafe.Pointer(bp + 264 /* n */)))) + libc.Xmemset(tls, a, 0, uint64(*(*int32)(unsafe.Pointer(bp + 216 /* n */)))) continue } - rc = libc.Xsscanf(tls, (zIn + uintptr(i)), ts+19975 /* "| page %d offset..." */, libc.VaList(bp+96, bp+272 /* &j */, bp+276 /* &k */)) + rc = libc.Xsscanf(tls, (zIn + uintptr(i)), ts+19975 /* "| page %d offset..." */, libc.VaList(bp+64, bp+224 /* &j */, bp+228 /* &k */)) if rc == 2 { - iOffset = *(*int32)(unsafe.Pointer(bp + 276 /* k */)) + iOffset = *(*int32)(unsafe.Pointer(bp + 228 /* k */)) continue } rc = libc.Xsscanf(tls, (zIn + uintptr(i)), ts+19995, /* "| %d: %x %x %x %..." */ - libc.VaList(bp+120, bp+272 /* &j */, (bp+280 /* &x */), (bp+280 /* &x */ +1*4), (bp+280 /* &x */ +2*4), (bp+280 /* &x */ +3*4), (bp+280 /* &x */ +4*4), (bp+280 /* &x */ +5*4), (bp+280 /* &x */ +6*4), (bp+280 /* &x */ +7*4), - (bp+280 /* &x */ +8*4), (bp+280 /* &x */ +9*4), (bp+280 /* &x */ +10*4), (bp+280 /* &x */ +11*4), (bp+280 /* &x */ +12*4), (bp+280 /* &x */ +13*4), (bp+280 /* &x */ +14*4), (bp+280 /* &x */ +15*4))) + libc.VaList(bp+80, bp+224 /* &j */, (bp+232 /* &x */), (bp+232 /* &x */ +1*4), (bp+232 /* &x */ +2*4), (bp+232 /* &x */ +3*4), (bp+232 /* &x */ +4*4), (bp+232 /* &x */ +5*4), (bp+232 /* &x */ +6*4), (bp+232 /* &x */ +7*4), + (bp+232 /* &x */ +8*4), (bp+232 /* &x */ +9*4), (bp+232 /* &x */ +10*4), (bp+232 /* &x */ +11*4), (bp+232 /* &x */ +12*4), (bp+232 /* &x */ +13*4), (bp+232 /* &x */ +14*4), (bp+232 /* &x */ +15*4))) if rc == 17 { - *(*int32)(unsafe.Pointer(bp + 276 /* k */)) = (iOffset + *(*int32)(unsafe.Pointer(bp + 272 /* j */))) - if (*(*int32)(unsafe.Pointer(bp + 276 /* k */)) + 16) <= *(*int32)(unsafe.Pointer(bp + 264 /* n */)) { + *(*int32)(unsafe.Pointer(bp + 228 /* k */)) = (iOffset + *(*int32)(unsafe.Pointer(bp + 224 /* j */))) + if (*(*int32)(unsafe.Pointer(bp + 228 /* k */)) + 16) <= *(*int32)(unsafe.Pointer(bp + 216 /* n */)) { var ii int32 for ii = 0; ii < 16; ii++ { - *(*uint8)(unsafe.Pointer(a + uintptr((*(*int32)(unsafe.Pointer(bp + 276 /* k */)) + ii)))) = (uint8(*(*uint32)(unsafe.Pointer(bp + 280 /* &x[0] */ + uintptr(ii)*4)) & uint32(0xff))) + *(*uint8)(unsafe.Pointer(a + uintptr((*(*int32)(unsafe.Pointer(bp + 228 /* k */)) + ii)))) = (uint8(*(*uint32)(unsafe.Pointer(bp + 232 /* &x[0] */ + uintptr(ii)*4)) & uint32(0xff))) } } continue } } - tcl.XTcl_SetObjResult(tls, interp, tcl.XTcl_NewByteArrayObj(tls, a, *(*int32)(unsafe.Pointer(bp + 264 /* n */)))) + tcl.XTcl_SetObjResult(tls, interp, tcl.XTcl_NewByteArrayObj(tls, a, *(*int32)(unsafe.Pointer(bp + 216 /* n */)))) libc.Xfree(tls, a) return TCL_OK } @@ -99584,38 +99584,38 @@ func pager_test_reiniter(tls *libc.TLS, pNotUsed uintptr) { /* test2.c:36:13: */ // // Open a new pager func pager_open(tls *libc.TLS, NotUsed uintptr, interp uintptr, argc int32, argv uintptr) int32 { /* test2.c:45:26: */ - bp := tls.Alloc(224) - defer tls.Free(224) + bp := tls.Alloc(192) + defer tls.Free(192) - // var pageSize u32 at bp+120, 4 + // var pageSize u32 at bp+88, 4 - // var pPager uintptr at bp+112, 8 + // var pPager uintptr at bp+80, 8 - // var nPage int32 at bp+104, 4 + // var nPage int32 at bp+72, 4 var rc int32 - // var zBuf [100]int8 at bp+124, 100 + // var zBuf [100]int8 at bp+92, 100 if argc != 3 { tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp, ts+15410 /* "wrong # args: sh..." */, *(*uintptr)(unsafe.Pointer(argv)), ts+25009 /* " FILENAME N-PAGE..." */, 0)) return TCL_ERROR } - if tcl.XTcl_GetInt(tls, interp, *(*uintptr)(unsafe.Pointer(argv + 2*8)), bp+104 /* &nPage */) != 0 { + if tcl.XTcl_GetInt(tls, interp, *(*uintptr)(unsafe.Pointer(argv + 2*8)), bp+72 /* &nPage */) != 0 { return TCL_ERROR } - rc = sqlite3.Xsqlite3PagerOpen(tls, sqlite3.Xsqlite3_vfs_find(tls, uintptr(0)), bp+112 /* &pPager */, *(*uintptr)(unsafe.Pointer(argv + 1*8)), 0, 0, + rc = sqlite3.Xsqlite3PagerOpen(tls, sqlite3.Xsqlite3_vfs_find(tls, uintptr(0)), bp+80 /* &pPager */, *(*uintptr)(unsafe.Pointer(argv + 1*8)), 0, 0, ((SQLITE_OPEN_READWRITE | SQLITE_OPEN_CREATE) | SQLITE_OPEN_MAIN_DB), *(*uintptr)(unsafe.Pointer(&struct{ f func(*libc.TLS, uintptr) }{pager_test_reiniter}))) if rc != SQLITE_OK { - tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp+40, sqlite3.Xsqlite3ErrName(tls, rc), 0)) + tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp+32, sqlite3.Xsqlite3ErrName(tls, rc), 0)) return TCL_ERROR } - sqlite3.Xsqlite3PagerSetCachesize(tls, *(*uintptr)(unsafe.Pointer(bp + 112 /* pPager */)), *(*int32)(unsafe.Pointer(bp + 104 /* nPage */))) - *(*u32)(unsafe.Pointer(bp + 120 /* pageSize */)) = u32(test_pagesize) - sqlite3.Xsqlite3PagerSetPagesize(tls, *(*uintptr)(unsafe.Pointer(bp + 112 /* pPager */)), bp+120 /* &pageSize */, -1) - sqlite3.Xsqlite3_snprintf(tls, int32(unsafe.Sizeof([100]int8{})), bp+124 /* &zBuf[0] */, ts+13802 /* "%p" */, libc.VaList(bp+64, *(*uintptr)(unsafe.Pointer(bp + 112 /* pPager */)))) - tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp+80, bp+124 /* &zBuf[0] */, 0)) + sqlite3.Xsqlite3PagerSetCachesize(tls, *(*uintptr)(unsafe.Pointer(bp + 80 /* pPager */)), *(*int32)(unsafe.Pointer(bp + 72 /* nPage */))) + *(*u32)(unsafe.Pointer(bp + 88 /* pageSize */)) = u32(test_pagesize) + sqlite3.Xsqlite3PagerSetPagesize(tls, *(*uintptr)(unsafe.Pointer(bp + 80 /* pPager */)), bp+88 /* &pageSize */, -1) + sqlite3.Xsqlite3_snprintf(tls, int32(unsafe.Sizeof([100]int8{})), bp+92 /* &zBuf[0] */, ts+13802 /* "%p" */, libc.VaList(bp+48, *(*uintptr)(unsafe.Pointer(bp + 80 /* pPager */)))) + tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp+56, bp+92 /* &zBuf[0] */, 0)) return TCL_OK } @@ -99623,8 +99623,8 @@ func pager_open(tls *libc.TLS, NotUsed uintptr, interp uintptr, argc int32, argv // // Close the given pager. func pager_close(tls *libc.TLS, NotUsed uintptr, interp uintptr, argc int32, argv uintptr) int32 { /* test2.c:82:26: */ - bp := tls.Alloc(64) - defer tls.Free(64) + bp := tls.Alloc(48) + defer tls.Free(48) var pPager uintptr var rc int32 @@ -99636,7 +99636,7 @@ func pager_close(tls *libc.TLS, NotUsed uintptr, interp uintptr, argc int32, arg pPager = sqlite3TestTextToPtr(tls, *(*uintptr)(unsafe.Pointer(argv + 1*8))) rc = sqlite3.Xsqlite3PagerClose(tls, pPager, uintptr(0)) if rc != SQLITE_OK { - tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp+40, sqlite3.Xsqlite3ErrName(tls, rc), 0)) + tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp+32, sqlite3.Xsqlite3ErrName(tls, rc), 0)) return TCL_ERROR } return TCL_OK @@ -99646,8 +99646,8 @@ func pager_close(tls *libc.TLS, NotUsed uintptr, interp uintptr, argc int32, arg // // Rollback changes func pager_rollback(tls *libc.TLS, NotUsed uintptr, interp uintptr, argc int32, argv uintptr) int32 { /* test2.c:109:26: */ - bp := tls.Alloc(64) - defer tls.Free(64) + bp := tls.Alloc(48) + defer tls.Free(48) var pPager uintptr var rc int32 @@ -99659,7 +99659,7 @@ func pager_rollback(tls *libc.TLS, NotUsed uintptr, interp uintptr, argc int32, pPager = sqlite3TestTextToPtr(tls, *(*uintptr)(unsafe.Pointer(argv + 1*8))) rc = sqlite3.Xsqlite3PagerRollback(tls, pPager) if rc != SQLITE_OK { - tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp+40, sqlite3.Xsqlite3ErrName(tls, rc), 0)) + tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp+32, sqlite3.Xsqlite3ErrName(tls, rc), 0)) return TCL_ERROR } return TCL_OK @@ -99669,8 +99669,8 @@ func pager_rollback(tls *libc.TLS, NotUsed uintptr, interp uintptr, argc int32, // // Commit all changes func pager_commit(tls *libc.TLS, NotUsed uintptr, interp uintptr, argc int32, argv uintptr) int32 { /* test2.c:136:26: */ - bp := tls.Alloc(88) - defer tls.Free(88) + bp := tls.Alloc(64) + defer tls.Free(64) var pPager uintptr var rc int32 @@ -99682,12 +99682,12 @@ func pager_commit(tls *libc.TLS, NotUsed uintptr, interp uintptr, argc int32, ar pPager = sqlite3TestTextToPtr(tls, *(*uintptr)(unsafe.Pointer(argv + 1*8))) rc = sqlite3.Xsqlite3PagerCommitPhaseOne(tls, pPager, uintptr(0), 0) if rc != SQLITE_OK { - tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp+40, sqlite3.Xsqlite3ErrName(tls, rc), 0)) + tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp+32, sqlite3.Xsqlite3ErrName(tls, rc), 0)) return TCL_ERROR } rc = sqlite3.Xsqlite3PagerCommitPhaseTwo(tls, pPager) if rc != SQLITE_OK { - tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp+64, sqlite3.Xsqlite3ErrName(tls, rc), 0)) + tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp+48, sqlite3.Xsqlite3ErrName(tls, rc), 0)) return TCL_ERROR } return TCL_OK @@ -99697,8 +99697,8 @@ func pager_commit(tls *libc.TLS, NotUsed uintptr, interp uintptr, argc int32, ar // // Start a new checkpoint. func pager_stmt_begin(tls *libc.TLS, NotUsed uintptr, interp uintptr, argc int32, argv uintptr) int32 { /* test2.c:168:26: */ - bp := tls.Alloc(64) - defer tls.Free(64) + bp := tls.Alloc(48) + defer tls.Free(48) var pPager uintptr var rc int32 @@ -99710,7 +99710,7 @@ func pager_stmt_begin(tls *libc.TLS, NotUsed uintptr, interp uintptr, argc int32 pPager = sqlite3TestTextToPtr(tls, *(*uintptr)(unsafe.Pointer(argv + 1*8))) rc = sqlite3.Xsqlite3PagerOpenSavepoint(tls, pPager, 1) if rc != SQLITE_OK { - tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp+40, sqlite3.Xsqlite3ErrName(tls, rc), 0)) + tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp+32, sqlite3.Xsqlite3ErrName(tls, rc), 0)) return TCL_ERROR } return TCL_OK @@ -99720,8 +99720,8 @@ func pager_stmt_begin(tls *libc.TLS, NotUsed uintptr, interp uintptr, argc int32 // // Rollback changes to a checkpoint func pager_stmt_rollback(tls *libc.TLS, NotUsed uintptr, interp uintptr, argc int32, argv uintptr) int32 { /* test2.c:195:26: */ - bp := tls.Alloc(64) - defer tls.Free(64) + bp := tls.Alloc(48) + defer tls.Free(48) var pPager uintptr var rc int32 @@ -99734,7 +99734,7 @@ func pager_stmt_rollback(tls *libc.TLS, NotUsed uintptr, interp uintptr, argc in rc = sqlite3.Xsqlite3PagerSavepoint(tls, pPager, SAVEPOINT_ROLLBACK, 0) sqlite3.Xsqlite3PagerSavepoint(tls, pPager, SAVEPOINT_RELEASE, 0) if rc != SQLITE_OK { - tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp+40, sqlite3.Xsqlite3ErrName(tls, rc), 0)) + tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp+32, sqlite3.Xsqlite3ErrName(tls, rc), 0)) return TCL_ERROR } return TCL_OK @@ -99744,8 +99744,8 @@ func pager_stmt_rollback(tls *libc.TLS, NotUsed uintptr, interp uintptr, argc in // // Commit changes to a checkpoint func pager_stmt_commit(tls *libc.TLS, NotUsed uintptr, interp uintptr, argc int32, argv uintptr) int32 { /* test2.c:223:26: */ - bp := tls.Alloc(64) - defer tls.Free(64) + bp := tls.Alloc(48) + defer tls.Free(48) var pPager uintptr var rc int32 @@ -99757,7 +99757,7 @@ func pager_stmt_commit(tls *libc.TLS, NotUsed uintptr, interp uintptr, argc int3 pPager = sqlite3TestTextToPtr(tls, *(*uintptr)(unsafe.Pointer(argv + 1*8))) rc = sqlite3.Xsqlite3PagerSavepoint(tls, pPager, SAVEPOINT_RELEASE, 0) if rc != SQLITE_OK { - tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp+40, sqlite3.Xsqlite3ErrName(tls, rc), 0)) + tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp+32, sqlite3.Xsqlite3ErrName(tls, rc), 0)) return TCL_ERROR } return TCL_OK @@ -99767,8 +99767,8 @@ func pager_stmt_commit(tls *libc.TLS, NotUsed uintptr, interp uintptr, argc int3 // // Return pager statistics. func pager_stats(tls *libc.TLS, NotUsed uintptr, interp uintptr, argc int32, argv uintptr) int32 { /* test2.c:250:26: */ - bp := tls.Alloc(156) - defer tls.Free(156) + bp := tls.Alloc(140) + defer tls.Free(140) var pPager uintptr var i int32 @@ -99781,11 +99781,11 @@ func pager_stats(tls *libc.TLS, NotUsed uintptr, interp uintptr, argc int32, arg pPager = sqlite3TestTextToPtr(tls, *(*uintptr)(unsafe.Pointer(argv + 1*8))) a = sqlite3.Xsqlite3PagerStats(tls, pPager) for i = 0; i < 9; i++ { - // var zBuf [100]int8 at bp+56, 100 + // var zBuf [100]int8 at bp+40, 100 tcl.XTcl_AppendElement(tls, interp, zName[i]) - sqlite3.Xsqlite3_snprintf(tls, int32(unsafe.Sizeof([100]int8{})), bp+56 /* &zBuf[0] */, ts+1238 /* "%d" */, libc.VaList(bp+40, *(*int32)(unsafe.Pointer(a + uintptr(i)*4)))) - tcl.XTcl_AppendElement(tls, interp, bp+56 /* &zBuf[0] */) + sqlite3.Xsqlite3_snprintf(tls, int32(unsafe.Sizeof([100]int8{})), bp+40 /* &zBuf[0] */, ts+1238 /* "%d" */, libc.VaList(bp+32, *(*int32)(unsafe.Pointer(a + uintptr(i)*4)))) + tcl.XTcl_AppendElement(tls, interp, bp+40 /* &zBuf[0] */) } return TCL_OK } @@ -99799,13 +99799,13 @@ var zName = [9]uintptr{ // // Return the size of the database file. func pager_pagecount(tls *libc.TLS, NotUsed uintptr, interp uintptr, argc int32, argv uintptr) int32 { /* test2.c:283:26: */ - bp := tls.Alloc(184) - defer tls.Free(184) + bp := tls.Alloc(160) + defer tls.Free(160) var pPager uintptr - // var zBuf [100]int8 at bp+84, 100 + // var zBuf [100]int8 at bp+60, 100 - // var nPage int32 at bp+80, 4 + // var nPage int32 at bp+56, 4 if argc != 2 { tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp, ts+15410 /* "wrong # args: sh..." */, *(*uintptr)(unsafe.Pointer(argv)), @@ -99813,9 +99813,9 @@ func pager_pagecount(tls *libc.TLS, NotUsed uintptr, interp uintptr, argc int32, return TCL_ERROR } pPager = sqlite3TestTextToPtr(tls, *(*uintptr)(unsafe.Pointer(argv + 1*8))) - sqlite3.Xsqlite3PagerPagecount(tls, pPager, bp+80 /* &nPage */) - sqlite3.Xsqlite3_snprintf(tls, int32(unsafe.Sizeof([100]int8{})), bp+84 /* &zBuf[0] */, ts+1238 /* "%d" */, libc.VaList(bp+40, *(*int32)(unsafe.Pointer(bp + 80 /* nPage */)))) - tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp+56, bp+84 /* &zBuf[0] */, 0)) + sqlite3.Xsqlite3PagerPagecount(tls, pPager, bp+56 /* &nPage */) + sqlite3.Xsqlite3_snprintf(tls, int32(unsafe.Sizeof([100]int8{})), bp+60 /* &zBuf[0] */, ts+1238 /* "%d" */, libc.VaList(bp+32, *(*int32)(unsafe.Pointer(bp + 56 /* nPage */)))) + tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp+40, bp+60 /* &zBuf[0] */, 0)) return TCL_OK } @@ -99823,14 +99823,14 @@ func pager_pagecount(tls *libc.TLS, NotUsed uintptr, interp uintptr, argc int32, // // Return a pointer to a page from the database. func page_get(tls *libc.TLS, NotUsed uintptr, interp uintptr, argc int32, argv uintptr) int32 { /* test2.c:309:26: */ - bp := tls.Alloc(220) - defer tls.Free(220) + bp := tls.Alloc(188) + defer tls.Free(188) var pPager uintptr - // var zBuf [100]int8 at bp+120, 100 + // var zBuf [100]int8 at bp+88, 100 - *(*uintptr)(unsafe.Pointer(bp + 112 /* pPage */)) = uintptr(0) - // var pgno int32 at bp+104, 4 + *(*uintptr)(unsafe.Pointer(bp + 80 /* pPage */)) = uintptr(0) + // var pgno int32 at bp+72, 4 var rc int32 if argc != 3 { @@ -99839,19 +99839,19 @@ func page_get(tls *libc.TLS, NotUsed uintptr, interp uintptr, argc int32, argv u return TCL_ERROR } pPager = sqlite3TestTextToPtr(tls, *(*uintptr)(unsafe.Pointer(argv + 1*8))) - if tcl.XTcl_GetInt(tls, interp, *(*uintptr)(unsafe.Pointer(argv + 2*8)), bp+104 /* &pgno */) != 0 { + if tcl.XTcl_GetInt(tls, interp, *(*uintptr)(unsafe.Pointer(argv + 2*8)), bp+72 /* &pgno */) != 0 { return TCL_ERROR } rc = sqlite3.Xsqlite3PagerSharedLock(tls, pPager) if rc == SQLITE_OK { - rc = sqlite3.Xsqlite3PagerGet(tls, pPager, uint32(*(*int32)(unsafe.Pointer(bp + 104 /* pgno */))), bp+112 /* &pPage */, 0) + rc = sqlite3.Xsqlite3PagerGet(tls, pPager, uint32(*(*int32)(unsafe.Pointer(bp + 72 /* pgno */))), bp+80 /* &pPage */, 0) } if rc != SQLITE_OK { - tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp+40, sqlite3.Xsqlite3ErrName(tls, rc), 0)) + tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp+32, sqlite3.Xsqlite3ErrName(tls, rc), 0)) return TCL_ERROR } - sqlite3.Xsqlite3_snprintf(tls, int32(unsafe.Sizeof([100]int8{})), bp+120 /* &zBuf[0] */, ts+13802 /* "%p" */, libc.VaList(bp+64, *(*uintptr)(unsafe.Pointer(bp + 112 /* pPage */)))) - tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp+80, bp+120 /* &zBuf[0] */, 0)) + sqlite3.Xsqlite3_snprintf(tls, int32(unsafe.Sizeof([100]int8{})), bp+88 /* &zBuf[0] */, ts+13802 /* "%p" */, libc.VaList(bp+48, *(*uintptr)(unsafe.Pointer(bp + 80 /* pPage */)))) + tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp+56, bp+88 /* &zBuf[0] */, 0)) return TCL_OK } @@ -99860,14 +99860,14 @@ func page_get(tls *libc.TLS, NotUsed uintptr, interp uintptr, argc int32, argv u // Return a pointer to a page if the page is already in cache. // If not in cache, return an empty string. func page_lookup(tls *libc.TLS, NotUsed uintptr, interp uintptr, argc int32, argv uintptr) int32 { /* test2.c:346:26: */ - bp := tls.Alloc(184) - defer tls.Free(184) + bp := tls.Alloc(160) + defer tls.Free(160) var pPager uintptr - // var zBuf [100]int8 at bp+84, 100 + // var zBuf [100]int8 at bp+60, 100 var pPage uintptr - // var pgno int32 at bp+80, 4 + // var pgno int32 at bp+56, 4 if argc != 3 { tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp, ts+15410 /* "wrong # args: sh..." */, *(*uintptr)(unsafe.Pointer(argv)), @@ -99875,24 +99875,24 @@ func page_lookup(tls *libc.TLS, NotUsed uintptr, interp uintptr, argc int32, arg return TCL_ERROR } pPager = sqlite3TestTextToPtr(tls, *(*uintptr)(unsafe.Pointer(argv + 1*8))) - if tcl.XTcl_GetInt(tls, interp, *(*uintptr)(unsafe.Pointer(argv + 2*8)), bp+80 /* &pgno */) != 0 { + if tcl.XTcl_GetInt(tls, interp, *(*uintptr)(unsafe.Pointer(argv + 2*8)), bp+56 /* &pgno */) != 0 { return TCL_ERROR } - pPage = sqlite3.Xsqlite3PagerLookup(tls, pPager, uint32(*(*int32)(unsafe.Pointer(bp + 80 /* pgno */)))) + pPage = sqlite3.Xsqlite3PagerLookup(tls, pPager, uint32(*(*int32)(unsafe.Pointer(bp + 56 /* pgno */)))) if pPage != 0 { - sqlite3.Xsqlite3_snprintf(tls, int32(unsafe.Sizeof([100]int8{})), bp+84 /* &zBuf[0] */, ts+13802 /* "%p" */, libc.VaList(bp+40, pPage)) - tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp+56, bp+84 /* &zBuf[0] */, 0)) + sqlite3.Xsqlite3_snprintf(tls, int32(unsafe.Sizeof([100]int8{})), bp+60 /* &zBuf[0] */, ts+13802 /* "%p" */, libc.VaList(bp+32, pPage)) + tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp+40, bp+60 /* &zBuf[0] */, 0)) } return TCL_OK } // Usage: pager_truncate ID PGNO func pager_truncate(tls *libc.TLS, NotUsed uintptr, interp uintptr, argc int32, argv uintptr) int32 { /* test2.c:374:26: */ - bp := tls.Alloc(44) - defer tls.Free(44) + bp := tls.Alloc(36) + defer tls.Free(36) var pPager uintptr - // var pgno int32 at bp+40, 4 + // var pgno int32 at bp+32, 4 if argc != 3 { tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp, ts+15410 /* "wrong # args: sh..." */, *(*uintptr)(unsafe.Pointer(argv)), @@ -99900,10 +99900,10 @@ func pager_truncate(tls *libc.TLS, NotUsed uintptr, interp uintptr, argc int32, return TCL_ERROR } pPager = sqlite3TestTextToPtr(tls, *(*uintptr)(unsafe.Pointer(argv + 1*8))) - if tcl.XTcl_GetInt(tls, interp, *(*uintptr)(unsafe.Pointer(argv + 2*8)), bp+40 /* &pgno */) != 0 { + if tcl.XTcl_GetInt(tls, interp, *(*uintptr)(unsafe.Pointer(argv + 2*8)), bp+32 /* &pgno */) != 0 { return TCL_ERROR } - sqlite3.Xsqlite3PagerTruncateImage(tls, pPager, uint32(*(*int32)(unsafe.Pointer(bp + 40 /* pgno */)))) + sqlite3.Xsqlite3PagerTruncateImage(tls, pPager, uint32(*(*int32)(unsafe.Pointer(bp + 32 /* pgno */)))) return TCL_OK } @@ -99911,8 +99911,8 @@ func pager_truncate(tls *libc.TLS, NotUsed uintptr, interp uintptr, argc int32, // // Drop a pointer to a page. func page_unref(tls *libc.TLS, NotUsed uintptr, interp uintptr, argc int32, argv uintptr) int32 { /* test2.c:399:26: */ - bp := tls.Alloc(40) - defer tls.Free(40) + bp := tls.Alloc(32) + defer tls.Free(32) var pPage uintptr if argc != 2 { @@ -99929,10 +99929,10 @@ func page_unref(tls *libc.TLS, NotUsed uintptr, interp uintptr, argc int32, argv // // Return the content of a page func page_read(tls *libc.TLS, NotUsed uintptr, interp uintptr, argc int32, argv uintptr) int32 { /* test2.c:421:26: */ - bp := tls.Alloc(164) - defer tls.Free(164) + bp := tls.Alloc(148) + defer tls.Free(148) - // var zBuf [100]int8 at bp+64, 100 + // var zBuf [100]int8 at bp+48, 100 var pPage uintptr if argc != 2 { @@ -99941,8 +99941,8 @@ func page_read(tls *libc.TLS, NotUsed uintptr, interp uintptr, argc int32, argv return TCL_ERROR } pPage = sqlite3TestTextToPtr(tls, *(*uintptr)(unsafe.Pointer(argv + 1*8))) - libc.Xmemcpy(tls, bp+64 /* &zBuf[0] */, sqlite3.Xsqlite3PagerGetData(tls, pPage), uint64(unsafe.Sizeof([100]int8{}))) - tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp+40, bp+64 /* &zBuf[0] */, 0)) + libc.Xmemcpy(tls, bp+48 /* &zBuf[0] */, sqlite3.Xsqlite3PagerGetData(tls, pPage), uint64(unsafe.Sizeof([100]int8{}))) + tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp+32, bp+48 /* &zBuf[0] */, 0)) return TCL_OK } @@ -99950,10 +99950,10 @@ func page_read(tls *libc.TLS, NotUsed uintptr, interp uintptr, argc int32, argv // // Return the page number for a page. func page_number(tls *libc.TLS, NotUsed uintptr, interp uintptr, argc int32, argv uintptr) int32 { /* test2.c:445:26: */ - bp := tls.Alloc(180) - defer tls.Free(180) + bp := tls.Alloc(156) + defer tls.Free(156) - // var zBuf [100]int8 at bp+80, 100 + // var zBuf [100]int8 at bp+56, 100 var pPage uintptr if argc != 2 { @@ -99962,8 +99962,8 @@ func page_number(tls *libc.TLS, NotUsed uintptr, interp uintptr, argc int32, arg return TCL_ERROR } pPage = sqlite3TestTextToPtr(tls, *(*uintptr)(unsafe.Pointer(argv + 1*8))) - sqlite3.Xsqlite3_snprintf(tls, int32(unsafe.Sizeof([100]int8{})), bp+80 /* &zBuf[0] */, ts+1238 /* "%d" */, libc.VaList(bp+40, sqlite3.Xsqlite3PagerPagenumber(tls, pPage))) - tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp+56, bp+80 /* &zBuf[0] */, 0)) + sqlite3.Xsqlite3_snprintf(tls, int32(unsafe.Sizeof([100]int8{})), bp+56 /* &zBuf[0] */, ts+1238 /* "%d" */, libc.VaList(bp+32, sqlite3.Xsqlite3PagerPagenumber(tls, pPage))) + tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp+40, bp+56 /* &zBuf[0] */, 0)) return TCL_OK } @@ -99971,8 +99971,8 @@ func page_number(tls *libc.TLS, NotUsed uintptr, interp uintptr, argc int32, arg // // Write something into a page. func page_write(tls *libc.TLS, NotUsed uintptr, interp uintptr, argc int32, argv uintptr) int32 { /* test2.c:469:26: */ - bp := tls.Alloc(64) - defer tls.Free(64) + bp := tls.Alloc(48) + defer tls.Free(48) var pPage uintptr var pData uintptr @@ -99985,7 +99985,7 @@ func page_write(tls *libc.TLS, NotUsed uintptr, interp uintptr, argc int32, argv pPage = sqlite3TestTextToPtr(tls, *(*uintptr)(unsafe.Pointer(argv + 1*8))) rc = sqlite3.Xsqlite3PagerWrite(tls, pPage) if rc != SQLITE_OK { - tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp+40, sqlite3.Xsqlite3ErrName(tls, rc), 0)) + tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp+32, sqlite3.Xsqlite3ErrName(tls, rc), 0)) return TCL_ERROR } pData = sqlite3.Xsqlite3PagerGetData(tls, pPage) @@ -100002,13 +100002,13 @@ func page_write(tls *libc.TLS, NotUsed uintptr, interp uintptr, argc int32, argv // new pages after N. If N is 2096 or bigger, this will test the // ability of SQLite to write to large files. func fake_big_file(tls *libc.TLS, NotUsed uintptr, interp uintptr, argc int32, argv uintptr) int32 { /* test2.c:505:26: */ - bp := tls.Alloc(120) - defer tls.Free(120) + bp := tls.Alloc(96) + defer tls.Free(96) var pVfs uintptr - *(*uintptr)(unsafe.Pointer(bp + 112 /* fd */)) = uintptr(0) + *(*uintptr)(unsafe.Pointer(bp + 88 /* fd */)) = uintptr(0) var rc int32 - // var n int32 at bp+104, 4 + // var n int32 at bp+80, 4 var offset i64 var zFile uintptr @@ -100018,7 +100018,7 @@ func fake_big_file(tls *libc.TLS, NotUsed uintptr, interp uintptr, argc int32, a ts+25088 /* " N-MEGABYTES FIL..." */, 0)) return TCL_ERROR } - if tcl.XTcl_GetInt(tls, interp, *(*uintptr)(unsafe.Pointer(argv + 1*8)), bp+104 /* &n */) != 0 { + if tcl.XTcl_GetInt(tls, interp, *(*uintptr)(unsafe.Pointer(argv + 1*8)), bp+80 /* &n */) != 0 { return TCL_ERROR } @@ -100030,20 +100030,20 @@ func fake_big_file(tls *libc.TLS, NotUsed uintptr, interp uintptr, argc int32, a } libc.Xmemcpy(tls, zFile, *(*uintptr)(unsafe.Pointer(argv + 2*8)), (uint64(nFile + 1))) *(*int8)(unsafe.Pointer(zFile + uintptr((nFile + 1)))) = int8(0) - rc = sqlite3.Xsqlite3OsOpenMalloc(tls, pVfs, zFile, bp+112, /* &fd */ + rc = sqlite3.Xsqlite3OsOpenMalloc(tls, pVfs, zFile, bp+88, /* &fd */ ((SQLITE_OPEN_CREATE | SQLITE_OPEN_READWRITE) | SQLITE_OPEN_MAIN_DB), uintptr(0)) if rc != 0 { - tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp+40, ts+25107 /* "open failed: " */, sqlite3.Xsqlite3ErrName(tls, rc), 0)) + tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp+32, ts+25107 /* "open failed: " */, sqlite3.Xsqlite3ErrName(tls, rc), 0)) sqlite3.Xsqlite3_free(tls, zFile) return TCL_ERROR } - offset = i64(*(*int32)(unsafe.Pointer(bp + 104 /* n */))) + offset = i64(*(*int32)(unsafe.Pointer(bp + 80 /* n */))) offset = offset * (int64(1024 * 1024)) - rc = sqlite3.Xsqlite3OsWrite(tls, *(*uintptr)(unsafe.Pointer(bp + 112 /* fd */)), ts+25121 /* "Hello, World!" */, 14, offset) - sqlite3.Xsqlite3OsCloseFree(tls, *(*uintptr)(unsafe.Pointer(bp + 112 /* fd */))) + rc = sqlite3.Xsqlite3OsWrite(tls, *(*uintptr)(unsafe.Pointer(bp + 88 /* fd */)), ts+25121 /* "Hello, World!" */, 14, offset) + sqlite3.Xsqlite3OsCloseFree(tls, *(*uintptr)(unsafe.Pointer(bp + 88 /* fd */))) sqlite3.Xsqlite3_free(tls, zFile) if rc != 0 { - tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp+72, ts+25135 /* "write failed: " */, sqlite3.Xsqlite3ErrName(tls, rc), 0)) + tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp+56, ts+25135 /* "write failed: " */, sqlite3.Xsqlite3ErrName(tls, rc), 0)) return TCL_ERROR } return TCL_OK @@ -100053,10 +100053,10 @@ func fake_big_file(tls *libc.TLS, NotUsed uintptr, interp uintptr, argc int32, a // // Set the PENDING_BYTE using the sqlite3_test_control() interface. func testPendingByte(tls *libc.TLS, NotUsed uintptr, interp uintptr, argc int32, argv uintptr) int32 { /* test2.c:558:26: */ - bp := tls.Alloc(60) - defer tls.Free(60) + bp := tls.Alloc(44) + defer tls.Free(44) - // var pbyte int32 at bp+56, 4 + // var pbyte int32 at bp+40, 4 var rc int32 if argc != 2 { @@ -100064,10 +100064,10 @@ func testPendingByte(tls *libc.TLS, NotUsed uintptr, interp uintptr, argc int32, ts+25150 /* " PENDING-BYTE\"" */, uintptr(0))) return TCL_ERROR } - if tcl.XTcl_GetInt(tls, interp, *(*uintptr)(unsafe.Pointer(argv + 1*8)), bp+56 /* &pbyte */) != 0 { + if tcl.XTcl_GetInt(tls, interp, *(*uintptr)(unsafe.Pointer(argv + 1*8)), bp+40 /* &pbyte */) != 0 { return TCL_ERROR } - rc = sqlite3.Xsqlite3_test_control(tls, SQLITE_TESTCTRL_PENDING_BYTE, libc.VaList(bp+40, *(*int32)(unsafe.Pointer(bp + 56 /* pbyte */)))) + rc = sqlite3.Xsqlite3_test_control(tls, SQLITE_TESTCTRL_PENDING_BYTE, libc.VaList(bp+32, *(*int32)(unsafe.Pointer(bp + 40 /* pbyte */)))) tcl.XTcl_SetObjResult(tls, interp, tcl.XTcl_NewIntObj(tls, rc)) return TCL_OK } @@ -100078,10 +100078,10 @@ 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(46) - defer tls.Free(46) + bp := tls.Alloc(38) + defer tls.Free(38) - // var zInt [30]int8 at bp+16, 30 + // var zInt [30]int8 at bp+8, 30 var i int32 var isNeg int32 @@ -100096,14 +100096,14 @@ func faultSimCallback(tls *libc.TLS, x int32) int32 { /* test2.c:583:12: */ } else { isNeg = 0 } - *(*int8)(unsafe.Pointer(bp + 16 /* &zInt[0] */ + 29)) = int8(0) + *(*int8)(unsafe.Pointer(bp + 8 /* &zInt[0] */ + 29)) = int8(0) i = (int32(uint64(unsafe.Sizeof([30]int8{})) - uint64(2))) __1: if !((i > 0) && (x > 0)) { goto __3 } { - *(*int8)(unsafe.Pointer(bp + 16 /* &zInt[0] */ + uintptr(i))) = (int8((x % 10) + '0')) + *(*int8)(unsafe.Pointer(bp + 8 /* &zInt[0] */ + uintptr(i))) = (int8((x % 10) + '0')) } goto __2 @@ -100115,9 +100115,9 @@ func faultSimCallback(tls *libc.TLS, x int32) int32 { /* test2.c:583:12: */ __3: ; if isNeg != 0 { - *(*int8)(unsafe.Pointer(bp + 16 /* &zInt[0] */ + uintptr(libc.PostDecInt32(&i, 1)))) = int8('-') + *(*int8)(unsafe.Pointer(bp + 8 /* &zInt[0] */ + uintptr(libc.PostDecInt32(&i, 1)))) = int8('-') } - libc.Xmemcpy(tls, (faultSimScript + uintptr(faultSimScriptSize)), ((bp + 16 /* &zInt[0] */ + uintptr(i)) + uintptr(1)), (uint64(unsafe.Sizeof([30]int8{})) - uint64(i))) + libc.Xmemcpy(tls, (faultSimScript + uintptr(faultSimScriptSize)), ((bp + 8 /* &zInt[0] */ + uintptr(i)) + uintptr(1)), (uint64(unsafe.Sizeof([30]int8{})) - uint64(i))) } rc = tcl.XTcl_Eval(tls, faultSimInterp, faultSimScript) if rc != 0 { @@ -100136,8 +100136,8 @@ func faultSimCallback(tls *libc.TLS, x int32) int32 { /* test2.c:583:12: */ // appended, whenever sqlite3FaultSim() is called. Or, if SCRIPT is the // empty string, cancel the sqlite3FaultSim() callback. func faultInstallCmd(tls *libc.TLS, NotUsed uintptr, interp uintptr, argc int32, argv uintptr) int32 { /* test2.c:623:26: */ - bp := tls.Alloc(96) - defer tls.Free(96) + bp := tls.Alloc(64) + defer tls.Free(64) var zScript uintptr var nScript int32 @@ -100157,18 +100157,18 @@ func faultInstallCmd(tls *libc.TLS, NotUsed uintptr, interp uintptr, argc int32, faultSimScript = uintptr(0) } if nScript == 0 { - rc = sqlite3.Xsqlite3_test_control(tls, SQLITE_TESTCTRL_FAULT_INSTALL, libc.VaList(bp+40, 0)) + rc = sqlite3.Xsqlite3_test_control(tls, SQLITE_TESTCTRL_FAULT_INSTALL, libc.VaList(bp+32, 0)) } else { faultSimScript = libc.Xmalloc(tls, (uint64(nScript + 100))) if faultSimScript == uintptr(0) { - tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp+56, ts+1930 /* "out of memory" */, uintptr(0))) + tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp+40, ts+1930 /* "out of memory" */, uintptr(0))) return SQLITE_ERROR } libc.Xmemcpy(tls, faultSimScript, zScript, uint64(nScript)) *(*int8)(unsafe.Pointer(faultSimScript + uintptr(nScript))) = int8(' ') faultSimScriptSize = (nScript + 1) faultSimInterp = interp - rc = sqlite3.Xsqlite3_test_control(tls, SQLITE_TESTCTRL_FAULT_INSTALL, libc.VaList(bp+80, *(*uintptr)(unsafe.Pointer(&struct{ f func(*libc.TLS, int32) int32 }{faultSimCallback})))) + rc = sqlite3.Xsqlite3_test_control(tls, SQLITE_TESTCTRL_FAULT_INSTALL, libc.VaList(bp+56, *(*uintptr)(unsafe.Pointer(&struct{ f func(*libc.TLS, int32) int32 }{faultSimCallback})))) } tcl.XTcl_SetObjResult(tls, interp, tcl.XTcl_NewIntObj(tls, rc)) return SQLITE_OK @@ -100179,21 +100179,21 @@ func faultInstallCmd(tls *libc.TLS, NotUsed uintptr, interp uintptr, argc int32, // Invoke the SQLITE_TESTCTRL_BITVEC_TEST operator on test_control. // See comments on sqlite3BitvecBuiltinTest() for additional information. func testBitvecBuiltinTest(tls *libc.TLS, NotUsed uintptr, interp uintptr, argc int32, argv uintptr) int32 { /* test2.c:666:26: */ - bp := tls.Alloc(468) - defer tls.Free(468) + bp := tls.Alloc(452) + defer tls.Free(452) - // var sz int32 at bp+64, 4 + // var sz int32 at bp+48, 4 var rc int32 var nProg int32 = 0 - // var aProg [100]int32 at bp+68, 400 + // var aProg [100]int32 at bp+52, 400 var z uintptr if argc != 3 { tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp, ts+15410 /* "wrong # args: sh..." */, *(*uintptr)(unsafe.Pointer(argv)), ts+25210 /* " SIZE PROGRAM\"" */, uintptr(0))) } - if tcl.XTcl_GetInt(tls, interp, *(*uintptr)(unsafe.Pointer(argv + 1*8)), bp+64 /* &sz */) != 0 { + if tcl.XTcl_GetInt(tls, interp, *(*uintptr)(unsafe.Pointer(argv + 1*8)), bp+48 /* &sz */) != 0 { return TCL_ERROR } z = *(*uintptr)(unsafe.Pointer(argv + 2*8)) @@ -100204,13 +100204,13 @@ func testBitvecBuiltinTest(tls *libc.TLS, NotUsed uintptr, interp uintptr, argc if int32(*(*int8)(unsafe.Pointer(z))) == 0 { break } - *(*int32)(unsafe.Pointer(bp + 68 /* &aProg[0] */ + uintptr(libc.PostIncInt32(&nProg, 1))*4)) = libc.Xatoi(tls, z) + *(*int32)(unsafe.Pointer(bp + 52 /* &aProg[0] */ + uintptr(libc.PostIncInt32(&nProg, 1))*4)) = libc.Xatoi(tls, z) for (int32(sqlite3.Xsqlite3CtypeMap[uint8(*(*int8)(unsafe.Pointer(z)))]) & 0x04) != 0 { z++ } } - *(*int32)(unsafe.Pointer(bp + 68 /* &aProg[0] */ + uintptr(nProg)*4)) = 0 - rc = sqlite3.Xsqlite3_test_control(tls, SQLITE_TESTCTRL_BITVEC_TEST, libc.VaList(bp+40, *(*int32)(unsafe.Pointer(bp + 64 /* sz */)), bp+68 /* &aProg[0] */)) + *(*int32)(unsafe.Pointer(bp + 52 /* &aProg[0] */ + uintptr(nProg)*4)) = 0 + rc = sqlite3.Xsqlite3_test_control(tls, SQLITE_TESTCTRL_BITVEC_TEST, libc.VaList(bp+32, *(*int32)(unsafe.Pointer(bp + 48 /* sz */)), bp+52 /* &aProg[0] */)) tcl.XTcl_SetObjResult(tls, interp, tcl.XTcl_NewIntObj(tls, rc)) return TCL_OK } @@ -101028,15 +101028,15 @@ var nRefSqlite3 int32 = 0 /* test3.c:33:12 */ // // Open a new database func btree_open(tls *libc.TLS, NotUsed uintptr, interp uintptr, argc int32, argv uintptr) int32 { /* test3.c:40:26: */ - bp := tls.Alloc(220) - defer tls.Free(220) + bp := tls.Alloc(188) + defer tls.Free(188) - // var pBt uintptr at bp+112, 8 + // var pBt uintptr at bp+80, 8 var rc int32 - // var nCache int32 at bp+104, 4 + // var nCache int32 at bp+72, 4 - // var zBuf [100]int8 at bp+120, 100 + // var zBuf [100]int8 at bp+88, 100 var n int32 var zFilename uintptr @@ -101045,7 +101045,7 @@ func btree_open(tls *libc.TLS, NotUsed uintptr, interp uintptr, argc int32, argv ts+25699 /* " FILENAME NCACHE..." */, 0)) return TCL_ERROR } - if tcl.XTcl_GetInt(tls, interp, *(*uintptr)(unsafe.Pointer(argv + 2*8)), bp+104 /* &nCache */) != 0 { + if tcl.XTcl_GetInt(tls, interp, *(*uintptr)(unsafe.Pointer(argv + 2*8)), bp+72 /* &nCache */) != 0 { return TCL_ERROR } nRefSqlite3++ @@ -101061,16 +101061,16 @@ func btree_open(tls *libc.TLS, NotUsed uintptr, interp uintptr, argc int32, argv } libc.Xmemcpy(tls, zFilename, *(*uintptr)(unsafe.Pointer(argv + 1*8)), (uint64(n + 1))) *(*int8)(unsafe.Pointer(zFilename + uintptr((n + 1)))) = int8(0) - rc = sqlite3.Xsqlite3BtreeOpen(tls, sDb.FpVfs, zFilename, uintptr(unsafe.Pointer(&sDb)), bp+112 /* &pBt */, 0, + rc = sqlite3.Xsqlite3BtreeOpen(tls, sDb.FpVfs, zFilename, uintptr(unsafe.Pointer(&sDb)), bp+80 /* &pBt */, 0, ((SQLITE_OPEN_READWRITE | SQLITE_OPEN_CREATE) | SQLITE_OPEN_MAIN_DB)) sqlite3.Xsqlite3_free(tls, zFilename) if rc != SQLITE_OK { - tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp+40, sqlite3.Xsqlite3ErrName(tls, rc), 0)) + tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp+32, sqlite3.Xsqlite3ErrName(tls, rc), 0)) return TCL_ERROR } - sqlite3.Xsqlite3BtreeSetCacheSize(tls, *(*uintptr)(unsafe.Pointer(bp + 112 /* pBt */)), *(*int32)(unsafe.Pointer(bp + 104 /* nCache */))) - sqlite3.Xsqlite3_snprintf(tls, int32(unsafe.Sizeof([100]int8{})), bp+120 /* &zBuf[0] */, ts+13802 /* "%p" */, libc.VaList(bp+64, *(*uintptr)(unsafe.Pointer(bp + 112 /* pBt */)))) - tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp+80, bp+120 /* &zBuf[0] */, 0)) + sqlite3.Xsqlite3BtreeSetCacheSize(tls, *(*uintptr)(unsafe.Pointer(bp + 80 /* pBt */)), *(*int32)(unsafe.Pointer(bp + 72 /* nCache */))) + sqlite3.Xsqlite3_snprintf(tls, int32(unsafe.Sizeof([100]int8{})), bp+88 /* &zBuf[0] */, ts+13802 /* "%p" */, libc.VaList(bp+48, *(*uintptr)(unsafe.Pointer(bp + 80 /* pBt */)))) + tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp+56, bp+88 /* &zBuf[0] */, 0)) return TCL_OK } @@ -101078,8 +101078,8 @@ func btree_open(tls *libc.TLS, NotUsed uintptr, interp uintptr, argc int32, argv // // Close the given database. func btree_close(tls *libc.TLS, NotUsed uintptr, interp uintptr, argc int32, argv uintptr) int32 { /* test3.c:86:26: */ - bp := tls.Alloc(64) - defer tls.Free(64) + bp := tls.Alloc(48) + defer tls.Free(48) var pBt uintptr var rc int32 @@ -101091,7 +101091,7 @@ func btree_close(tls *libc.TLS, NotUsed uintptr, interp uintptr, argc int32, arg pBt = sqlite3TestTextToPtr(tls, *(*uintptr)(unsafe.Pointer(argv + 1*8))) rc = sqlite3.Xsqlite3BtreeClose(tls, pBt) if rc != SQLITE_OK { - tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp+40, sqlite3.Xsqlite3ErrName(tls, rc), 0)) + tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp+32, sqlite3.Xsqlite3ErrName(tls, rc), 0)) return TCL_ERROR } nRefSqlite3-- @@ -101108,8 +101108,8 @@ func btree_close(tls *libc.TLS, NotUsed uintptr, interp uintptr, argc int32, arg // // Start a new transaction func btree_begin_transaction(tls *libc.TLS, NotUsed uintptr, interp uintptr, argc int32, argv uintptr) int32 { /* test3.c:121:26: */ - bp := tls.Alloc(64) - defer tls.Free(64) + bp := tls.Alloc(48) + defer tls.Free(48) var pBt uintptr var rc int32 @@ -101123,7 +101123,7 @@ func btree_begin_transaction(tls *libc.TLS, NotUsed uintptr, interp uintptr, arg rc = sqlite3.Xsqlite3BtreeBeginTrans(tls, pBt, 1, uintptr(0)) sqlite3.Xsqlite3BtreeLeave(tls, pBt) if rc != SQLITE_OK { - tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp+40, sqlite3.Xsqlite3ErrName(tls, rc), 0)) + tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp+32, sqlite3.Xsqlite3ErrName(tls, rc), 0)) return TCL_ERROR } return TCL_OK @@ -101133,8 +101133,8 @@ func btree_begin_transaction(tls *libc.TLS, NotUsed uintptr, interp uintptr, arg // // Returns pager statistics func btree_pager_stats(tls *libc.TLS, NotUsed uintptr, interp uintptr, argc int32, argv uintptr) int32 { /* test3.c:150:26: */ - bp := tls.Alloc(156) - defer tls.Free(156) + bp := tls.Alloc(140) + defer tls.Free(140) var pBt uintptr var i int32 @@ -101158,11 +101158,11 @@ func btree_pager_stats(tls *libc.TLS, NotUsed uintptr, interp uintptr, argc int3 sqlite3.Xsqlite3BtreeEnter(tls, pBt) a = sqlite3.Xsqlite3PagerStats(tls, sqlite3.Xsqlite3BtreePager(tls, pBt)) for i = 0; i < 11; i++ { - // var zBuf [100]int8 at bp+56, 100 + // var zBuf [100]int8 at bp+40, 100 tcl.XTcl_AppendElement(tls, interp, zName1[i]) - sqlite3.Xsqlite3_snprintf(tls, int32(unsafe.Sizeof([100]int8{})), bp+56 /* &zBuf[0] */, ts+1238 /* "%d" */, libc.VaList(bp+40, *(*int32)(unsafe.Pointer(a + uintptr(i)*4)))) - tcl.XTcl_AppendElement(tls, interp, bp+56 /* &zBuf[0] */) + sqlite3.Xsqlite3_snprintf(tls, int32(unsafe.Sizeof([100]int8{})), bp+40 /* &zBuf[0] */, ts+1238 /* "%d" */, libc.VaList(bp+32, *(*int32)(unsafe.Pointer(a + uintptr(i)*4)))) + tcl.XTcl_AppendElement(tls, interp, bp+40 /* &zBuf[0] */) } sqlite3.Xsqlite3BtreeLeave(tls, pBt) @@ -101180,17 +101180,17 @@ var zName1 = [11]uintptr{ // // Create a new cursor. Return the ID for the cursor. func btree_cursor(tls *libc.TLS, NotUsed uintptr, interp uintptr, argc int32, argv uintptr) int32 { /* test3.c:200:26: */ - bp := tls.Alloc(142) - defer tls.Free(142) + bp := tls.Alloc(110) + defer tls.Free(110) var pBt uintptr - // var iTable int32 at bp+104, 4 + // var iTable int32 at bp+72, 4 var pCur uintptr var rc int32 = SQLITE_OK - // var wrFlag int32 at bp+108, 4 + // var wrFlag int32 at bp+76, 4 - // var zBuf [30]int8 at bp+112, 30 + // var zBuf [30]int8 at bp+80, 30 if argc != 4 { tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp, ts+15410 /* "wrong # args: sh..." */, *(*uintptr)(unsafe.Pointer(argv)), @@ -101198,32 +101198,32 @@ func btree_cursor(tls *libc.TLS, NotUsed uintptr, interp uintptr, argc int32, ar return TCL_ERROR } pBt = sqlite3TestTextToPtr(tls, *(*uintptr)(unsafe.Pointer(argv + 1*8))) - if tcl.XTcl_GetInt(tls, interp, *(*uintptr)(unsafe.Pointer(argv + 2*8)), bp+104 /* &iTable */) != 0 { + if tcl.XTcl_GetInt(tls, interp, *(*uintptr)(unsafe.Pointer(argv + 2*8)), bp+72 /* &iTable */) != 0 { return TCL_ERROR } - if tcl.XTcl_GetBoolean(tls, interp, *(*uintptr)(unsafe.Pointer(argv + 3*8)), bp+108 /* &wrFlag */) != 0 { + if tcl.XTcl_GetBoolean(tls, interp, *(*uintptr)(unsafe.Pointer(argv + 3*8)), bp+76 /* &wrFlag */) != 0 { return TCL_ERROR } - if *(*int32)(unsafe.Pointer(bp + 108 /* wrFlag */)) != 0 { - *(*int32)(unsafe.Pointer(bp + 108 /* wrFlag */)) = BTREE_WRCSR + if *(*int32)(unsafe.Pointer(bp + 76 /* wrFlag */)) != 0 { + *(*int32)(unsafe.Pointer(bp + 76 /* wrFlag */)) = BTREE_WRCSR } pCur = tcl.XTcl_Alloc(tls, uint32(sqlite3.Xsqlite3BtreeCursorSize(tls))) libc.Xmemset(tls, pCur, 0, uint64(sqlite3.Xsqlite3BtreeCursorSize(tls))) sqlite3.Xsqlite3_mutex_enter(tls, (*sqlite31)(unsafe.Pointer((*Btree)(unsafe.Pointer(pBt)).Fdb)).Fmutex) sqlite3.Xsqlite3BtreeEnter(tls, pBt) - rc = sqlite3.Xsqlite3BtreeLockTable(tls, pBt, *(*int32)(unsafe.Pointer(bp + 104 /* iTable */)), libc.BoolUint8(!(!(*(*int32)(unsafe.Pointer(bp + 108 /* wrFlag */)) != 0)))) + rc = sqlite3.Xsqlite3BtreeLockTable(tls, pBt, *(*int32)(unsafe.Pointer(bp + 72 /* iTable */)), libc.BoolUint8(!(!(*(*int32)(unsafe.Pointer(bp + 76 /* wrFlag */)) != 0)))) if rc == SQLITE_OK { - rc = sqlite3.Xsqlite3BtreeCursor(tls, pBt, uint32(*(*int32)(unsafe.Pointer(bp + 104 /* iTable */))), *(*int32)(unsafe.Pointer(bp + 108 /* wrFlag */)), uintptr(0), pCur) + rc = sqlite3.Xsqlite3BtreeCursor(tls, pBt, uint32(*(*int32)(unsafe.Pointer(bp + 72 /* iTable */))), *(*int32)(unsafe.Pointer(bp + 76 /* wrFlag */)), uintptr(0), pCur) } sqlite3.Xsqlite3BtreeLeave(tls, pBt) sqlite3.Xsqlite3_mutex_leave(tls, (*sqlite31)(unsafe.Pointer((*Btree)(unsafe.Pointer(pBt)).Fdb)).Fmutex) if rc != 0 { tcl.XTcl_Free(tls, pCur) - tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp+40, sqlite3.Xsqlite3ErrName(tls, rc), 0)) + tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp+32, sqlite3.Xsqlite3ErrName(tls, rc), 0)) return TCL_ERROR } - sqlite3.Xsqlite3_snprintf(tls, int32(unsafe.Sizeof([30]int8{})), bp+112 /* &zBuf[0] */, ts+13802 /* "%p" */, libc.VaList(bp+64, pCur)) - tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp+80, bp+112 /* &zBuf[0] */, 0)) + sqlite3.Xsqlite3_snprintf(tls, int32(unsafe.Sizeof([30]int8{})), bp+80 /* &zBuf[0] */, ts+13802 /* "%p" */, libc.VaList(bp+48, pCur)) + tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp+56, bp+80 /* &zBuf[0] */, 0)) return SQLITE_OK } @@ -101231,8 +101231,8 @@ func btree_cursor(tls *libc.TLS, NotUsed uintptr, interp uintptr, argc int32, ar // // Close a cursor opened using btree_cursor. func btree_close_cursor(tls *libc.TLS, NotUsed uintptr, interp uintptr, argc int32, argv uintptr) int32 { /* test3.c:249:26: */ - bp := tls.Alloc(64) - defer tls.Free(64) + bp := tls.Alloc(48) + defer tls.Free(48) var pCur uintptr var rc int32 @@ -101254,7 +101254,7 @@ func btree_close_cursor(tls *libc.TLS, NotUsed uintptr, interp uintptr, argc int } tcl.XTcl_Free(tls, pCur) if rc != 0 { - tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp+40, sqlite3.Xsqlite3ErrName(tls, rc), 0)) + tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp+32, sqlite3.Xsqlite3ErrName(tls, rc), 0)) return TCL_ERROR } return SQLITE_OK @@ -101266,13 +101266,13 @@ func btree_close_cursor(tls *libc.TLS, NotUsed uintptr, interp uintptr, argc int // or 1 if the cursor was already on the last entry in the table or if // the table is empty. func btree_next(tls *libc.TLS, NotUsed uintptr, interp uintptr, argc int32, argv uintptr) int32 { /* test3.c:291:26: */ - bp := tls.Alloc(204) - defer tls.Free(204) + bp := tls.Alloc(172) + defer tls.Free(172) var pCur uintptr var rc int32 var res int32 = 0 - // var zBuf [100]int8 at bp+104, 100 + // var zBuf [100]int8 at bp+72, 100 if argc != 2 { tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp, ts+15410 /* "wrong # args: sh..." */, *(*uintptr)(unsafe.Pointer(argv)), @@ -101288,11 +101288,11 @@ func btree_next(tls *libc.TLS, NotUsed uintptr, interp uintptr, argc int32, argv } sqlite3.Xsqlite3BtreeLeave(tls, (*BtCursor)(unsafe.Pointer(pCur)).FpBtree) if rc != 0 { - tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp+40, sqlite3.Xsqlite3ErrName(tls, rc), 0)) + tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp+32, sqlite3.Xsqlite3ErrName(tls, rc), 0)) return TCL_ERROR } - sqlite3.Xsqlite3_snprintf(tls, int32(unsafe.Sizeof([100]int8{})), bp+104 /* &zBuf[0] */, ts+1238 /* "%d" */, libc.VaList(bp+64, res)) - tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp+80, bp+104 /* &zBuf[0] */, 0)) + sqlite3.Xsqlite3_snprintf(tls, int32(unsafe.Sizeof([100]int8{})), bp+72 /* &zBuf[0] */, ts+1238 /* "%d" */, libc.VaList(bp+48, res)) + tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp+56, bp+72 /* &zBuf[0] */, 0)) return SQLITE_OK } @@ -101301,13 +101301,13 @@ func btree_next(tls *libc.TLS, NotUsed uintptr, interp uintptr, argc int32, argv // Move the cursor to the first entry in the table. Return 0 if the // cursor was left point to something and 1 if the table is empty. func btree_first(tls *libc.TLS, NotUsed uintptr, interp uintptr, argc int32, argv uintptr) int32 { /* test3.c:330:26: */ - bp := tls.Alloc(208) - defer tls.Free(208) + bp := tls.Alloc(176) + defer tls.Free(176) var pCur uintptr var rc int32 - *(*int32)(unsafe.Pointer(bp + 104 /* res */)) = 0 - // var zBuf [100]int8 at bp+108, 100 + *(*int32)(unsafe.Pointer(bp + 72 /* res */)) = 0 + // var zBuf [100]int8 at bp+76, 100 if argc != 2 { tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp, ts+15410 /* "wrong # args: sh..." */, *(*uintptr)(unsafe.Pointer(argv)), @@ -101316,14 +101316,14 @@ func btree_first(tls *libc.TLS, NotUsed uintptr, interp uintptr, argc int32, arg } pCur = sqlite3TestTextToPtr(tls, *(*uintptr)(unsafe.Pointer(argv + 1*8))) sqlite3.Xsqlite3BtreeEnter(tls, (*BtCursor)(unsafe.Pointer(pCur)).FpBtree) - rc = sqlite3.Xsqlite3BtreeFirst(tls, pCur, bp+104 /* &res */) + rc = sqlite3.Xsqlite3BtreeFirst(tls, pCur, bp+72 /* &res */) sqlite3.Xsqlite3BtreeLeave(tls, (*BtCursor)(unsafe.Pointer(pCur)).FpBtree) if rc != 0 { - tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp+40, sqlite3.Xsqlite3ErrName(tls, rc), 0)) + tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp+32, sqlite3.Xsqlite3ErrName(tls, rc), 0)) return TCL_ERROR } - sqlite3.Xsqlite3_snprintf(tls, int32(unsafe.Sizeof([100]int8{})), bp+108 /* &zBuf[0] */, ts+1238 /* "%d" */, libc.VaList(bp+64, *(*int32)(unsafe.Pointer(bp + 104 /* res */)))) - tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp+80, bp+108 /* &zBuf[0] */, 0)) + sqlite3.Xsqlite3_snprintf(tls, int32(unsafe.Sizeof([100]int8{})), bp+76 /* &zBuf[0] */, ts+1238 /* "%d" */, libc.VaList(bp+48, *(*int32)(unsafe.Pointer(bp + 72 /* res */)))) + tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp+56, bp+76 /* &zBuf[0] */, 0)) return SQLITE_OK } @@ -101332,12 +101332,12 @@ func btree_first(tls *libc.TLS, NotUsed uintptr, interp uintptr, argc int32, arg // Return TRUE if the given cursor is not pointing at a valid entry. // Return FALSE if the cursor does point to a valid entry. func btree_eof(tls *libc.TLS, NotUsed uintptr, interp uintptr, argc int32, argv uintptr) int32 { /* test3.c:365:26: */ - bp := tls.Alloc(130) - defer tls.Free(130) + bp := tls.Alloc(106) + defer tls.Free(106) var pCur uintptr var rc int32 - // var zBuf [50]int8 at bp+80, 50 + // var zBuf [50]int8 at bp+56, 50 if argc != 2 { tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp, ts+15410 /* "wrong # args: sh..." */, *(*uintptr)(unsafe.Pointer(argv)), @@ -101348,8 +101348,8 @@ func btree_eof(tls *libc.TLS, NotUsed uintptr, interp uintptr, argc int32, argv sqlite3.Xsqlite3BtreeEnter(tls, (*BtCursor)(unsafe.Pointer(pCur)).FpBtree) rc = sqlite3.Xsqlite3BtreeEof(tls, pCur) sqlite3.Xsqlite3BtreeLeave(tls, (*BtCursor)(unsafe.Pointer(pCur)).FpBtree) - sqlite3.Xsqlite3_snprintf(tls, int32(unsafe.Sizeof([50]int8{})), bp+80 /* &zBuf[0] */, ts+1238 /* "%d" */, libc.VaList(bp+40, rc)) - tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp+56, bp+80 /* &zBuf[0] */, 0)) + sqlite3.Xsqlite3_snprintf(tls, int32(unsafe.Sizeof([50]int8{})), bp+56 /* &zBuf[0] */, ts+1238 /* "%d" */, libc.VaList(bp+32, rc)) + tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp+40, bp+56 /* &zBuf[0] */, 0)) return SQLITE_OK } @@ -101357,12 +101357,12 @@ func btree_eof(tls *libc.TLS, NotUsed uintptr, interp uintptr, argc int32, argv // // Return the number of bytes of payload func btree_payload_size(tls *libc.TLS, NotUsed uintptr, interp uintptr, argc int32, argv uintptr) int32 { /* test3.c:394:26: */ - bp := tls.Alloc(130) - defer tls.Free(130) + bp := tls.Alloc(106) + defer tls.Free(106) var pCur uintptr var n u32 - // var zBuf [50]int8 at bp+80, 50 + // var zBuf [50]int8 at bp+56, 50 if argc != 2 { tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp, ts+15410 /* "wrong # args: sh..." */, *(*uintptr)(unsafe.Pointer(argv)), @@ -101373,8 +101373,8 @@ func btree_payload_size(tls *libc.TLS, NotUsed uintptr, interp uintptr, argc int sqlite3.Xsqlite3BtreeEnter(tls, (*BtCursor)(unsafe.Pointer(pCur)).FpBtree) n = sqlite3.Xsqlite3BtreePayloadSize(tls, pCur) sqlite3.Xsqlite3BtreeLeave(tls, (*BtCursor)(unsafe.Pointer(pCur)).FpBtree) - sqlite3.Xsqlite3_snprintf(tls, int32(unsafe.Sizeof([50]int8{})), bp+80 /* &zBuf[0] */, ts+18230 /* "%u" */, libc.VaList(bp+40, n)) - tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp+56, bp+80 /* &zBuf[0] */, 0)) + sqlite3.Xsqlite3_snprintf(tls, int32(unsafe.Sizeof([50]int8{})), bp+56 /* &zBuf[0] */, ts+18230 /* "%u" */, libc.VaList(bp+32, n)) + tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp+40, bp+56 /* &zBuf[0] */, 0)) return SQLITE_OK } @@ -101391,93 +101391,93 @@ func btree_payload_size(tls *libc.TLS, NotUsed uintptr, interp uintptr, argc int // This command returns nothing if it works. It returns an error message // if something goes wrong. func btree_varint_test(tls *libc.TLS, NotUsed uintptr, interp uintptr, argc int32, argv uintptr) int32 { /* test3.c:432:26: */ - bp := tls.Alloc(604) - defer tls.Free(604) + bp := tls.Alloc(516) + defer tls.Free(516) - // var start u32 at bp+272, 4 + // var start u32 at bp+184, 4 - // var mult u32 at bp+276, 4 + // var mult u32 at bp+188, 4 - // var count u32 at bp+280, 4 + // var count u32 at bp+192, 4 - // var incr u32 at bp+284, 4 + // var incr u32 at bp+196, 4 var in u64 - // var out u64 at bp+592, 8 + // var out u64 at bp+504, 8 var n1 int32 var n2 int32 var i int32 var j int32 - // var zBuf [100]uint8 at bp+288, 100 + // var zBuf [100]uint8 at bp+200, 100 if argc != 5 { tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp, ts+15410 /* "wrong # args: sh..." */, *(*uintptr)(unsafe.Pointer(argv)), ts+25758 /* " START MULTIPLIE..." */, 0)) return TCL_ERROR } - if tcl.XTcl_GetInt(tls, interp, *(*uintptr)(unsafe.Pointer(argv + 1*8)), bp+272 /* &start */) != 0 { + if tcl.XTcl_GetInt(tls, interp, *(*uintptr)(unsafe.Pointer(argv + 1*8)), bp+184 /* &start */) != 0 { return TCL_ERROR } - if tcl.XTcl_GetInt(tls, interp, *(*uintptr)(unsafe.Pointer(argv + 2*8)), bp+276 /* &mult */) != 0 { + if tcl.XTcl_GetInt(tls, interp, *(*uintptr)(unsafe.Pointer(argv + 2*8)), bp+188 /* &mult */) != 0 { return TCL_ERROR } - if tcl.XTcl_GetInt(tls, interp, *(*uintptr)(unsafe.Pointer(argv + 3*8)), bp+280 /* &count */) != 0 { + if tcl.XTcl_GetInt(tls, interp, *(*uintptr)(unsafe.Pointer(argv + 3*8)), bp+192 /* &count */) != 0 { return TCL_ERROR } - if tcl.XTcl_GetInt(tls, interp, *(*uintptr)(unsafe.Pointer(argv + 4*8)), bp+284 /* &incr */) != 0 { + if tcl.XTcl_GetInt(tls, interp, *(*uintptr)(unsafe.Pointer(argv + 4*8)), bp+196 /* &incr */) != 0 { return TCL_ERROR } - in = u64(*(*u32)(unsafe.Pointer(bp + 272 /* start */))) - in = in * (u64(*(*u32)(unsafe.Pointer(bp + 276 /* mult */)))) - for i = 0; i < int32(*(*u32)(unsafe.Pointer(bp + 280 /* count */))); i++ { - // var zErr [200]int8 at bp+388, 200 + in = u64(*(*u32)(unsafe.Pointer(bp + 184 /* start */))) + in = in * (u64(*(*u32)(unsafe.Pointer(bp + 188 /* mult */)))) + for i = 0; i < int32(*(*u32)(unsafe.Pointer(bp + 192 /* count */))); i++ { + // var zErr [200]int8 at bp+300, 200 - n1 = sqlite3.Xsqlite3PutVarint(tls, bp+288 /* &zBuf[0] */, in) + n1 = sqlite3.Xsqlite3PutVarint(tls, bp+200 /* &zBuf[0] */, in) if (n1 > 9) || (n1 < 1) { - sqlite3.Xsqlite3_snprintf(tls, int32(unsafe.Sizeof([200]int8{})), bp+388, /* &zErr[0] */ - ts+25793 /* "putVarint return..." */, libc.VaList(bp+40, n1)) - tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp+56, bp+388 /* &zErr[0] */, 0)) + sqlite3.Xsqlite3_snprintf(tls, int32(unsafe.Sizeof([200]int8{})), bp+300, /* &zErr[0] */ + ts+25793 /* "putVarint return..." */, libc.VaList(bp+32, n1)) + tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp+40, bp+300 /* &zErr[0] */, 0)) return TCL_ERROR } - n2 = int32(sqlite3.Xsqlite3GetVarint(tls, bp+288 /* &zBuf[0] */, bp+592 /* &out */)) + n2 = int32(sqlite3.Xsqlite3GetVarint(tls, bp+200 /* &zBuf[0] */, bp+504 /* &out */)) if n1 != n2 { - sqlite3.Xsqlite3_snprintf(tls, int32(unsafe.Sizeof([200]int8{})), bp+388, /* &zErr[0] */ - ts+25843 /* "putVarint return..." */, libc.VaList(bp+80, n1, n2)) - tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp+104, bp+388 /* &zErr[0] */, 0)) + sqlite3.Xsqlite3_snprintf(tls, int32(unsafe.Sizeof([200]int8{})), bp+300, /* &zErr[0] */ + ts+25843 /* "putVarint return..." */, libc.VaList(bp+56, n1, n2)) + tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp+72, bp+300 /* &zErr[0] */, 0)) return TCL_ERROR } - if in != *(*u64)(unsafe.Pointer(bp + 592 /* out */)) { - sqlite3.Xsqlite3_snprintf(tls, int32(unsafe.Sizeof([200]int8{})), bp+388, /* &zErr[0] */ - ts+25891 /* "Wrote 0x%016llx ..." */, libc.VaList(bp+128, in, *(*u64)(unsafe.Pointer(bp + 592 /* out */)))) - tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp+152, bp+388 /* &zErr[0] */, 0)) + if in != *(*u64)(unsafe.Pointer(bp + 504 /* out */)) { + sqlite3.Xsqlite3_snprintf(tls, int32(unsafe.Sizeof([200]int8{})), bp+300, /* &zErr[0] */ + ts+25891 /* "Wrote 0x%016llx ..." */, libc.VaList(bp+88, in, *(*u64)(unsafe.Pointer(bp + 504 /* out */)))) + tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp+104, bp+300 /* &zErr[0] */, 0)) return TCL_ERROR } if (in & uint64(0xffffffff)) == in { - // var out32 u32 at bp+600, 4 + // var out32 u32 at bp+512, 4 n2 = int32(func() uint8 { - if int32(*(*uint8)(unsafe.Pointer(bp + 288 /* zBuf */))) < int32(u8(0x80)) { + if int32(*(*uint8)(unsafe.Pointer(bp + 200 /* zBuf */))) < int32(u8(0x80)) { return uint8(func() int32 { - (*(*u32)(unsafe.Pointer(bp + 600 /* out32 */))) = u32(*(*uint8)(unsafe.Pointer(bp + 288 /* zBuf */))) + (*(*u32)(unsafe.Pointer(bp + 512 /* out32 */))) = u32(*(*uint8)(unsafe.Pointer(bp + 200 /* zBuf */))) return 1 }()) } - return sqlite3.Xsqlite3GetVarint32(tls, bp+288 /* &zBuf[0] */, bp+600 /* &out32 */) + return sqlite3.Xsqlite3GetVarint32(tls, bp+200 /* &zBuf[0] */, bp+512 /* &out32 */) }()) - *(*u64)(unsafe.Pointer(bp + 592 /* out */)) = u64(*(*u32)(unsafe.Pointer(bp + 600 /* out32 */))) + *(*u64)(unsafe.Pointer(bp + 504 /* out */)) = u64(*(*u32)(unsafe.Pointer(bp + 512 /* out32 */))) if n1 != n2 { - sqlite3.Xsqlite3_snprintf(tls, int32(unsafe.Sizeof([200]int8{})), bp+388, /* &zErr[0] */ + sqlite3.Xsqlite3_snprintf(tls, int32(unsafe.Sizeof([200]int8{})), bp+300, /* &zErr[0] */ ts+25930, /* "putVarint return..." */ - libc.VaList(bp+176, n1, n2)) - tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp+200, bp+388 /* &zErr[0] */, 0)) + libc.VaList(bp+120, n1, n2)) + tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp+136, bp+300 /* &zErr[0] */, 0)) return TCL_ERROR } - if in != *(*u64)(unsafe.Pointer(bp + 592 /* out */)) { - sqlite3.Xsqlite3_snprintf(tls, int32(unsafe.Sizeof([200]int8{})), bp+388, /* &zErr[0] */ + if in != *(*u64)(unsafe.Pointer(bp + 504 /* out */)) { + sqlite3.Xsqlite3_snprintf(tls, int32(unsafe.Sizeof([200]int8{})), bp+300, /* &zErr[0] */ ts+25980, /* "Wrote 0x%016llx ..." */ - libc.VaList(bp+224, in, *(*u64)(unsafe.Pointer(bp + 592 /* out */)))) - tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp+248, bp+388 /* &zErr[0] */, 0)) + libc.VaList(bp+152, in, *(*u64)(unsafe.Pointer(bp + 504 /* out */)))) + tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp+168, bp+300 /* &zErr[0] */, 0)) return TCL_ERROR } } @@ -101486,9 +101486,9 @@ func btree_varint_test(tls *libc.TLS, NotUsed uintptr, interp uintptr, argc int3 // This is because getVarint is called about 20 times more often // than putVarint. for j = 0; j < 19; j++ { - sqlite3.Xsqlite3GetVarint(tls, bp+288 /* &zBuf[0] */, bp+592 /* &out */) + sqlite3.Xsqlite3GetVarint(tls, bp+200 /* &zBuf[0] */, bp+504 /* &out */) } - in = in + (u64(*(*u32)(unsafe.Pointer(bp + 284 /* incr */)))) + in = in + (u64(*(*u32)(unsafe.Pointer(bp + 196 /* incr */)))) } return TCL_OK } @@ -101501,12 +101501,12 @@ func btree_varint_test(tls *libc.TLS, NotUsed uintptr, interp uintptr, argc int3 // sqlite3 db test.db // set bt [btree_from_db db] func btree_from_db(tls *libc.TLS, NotUsed uintptr, interp uintptr, argc int32, argv uintptr) int32 { /* test3.c:516:26: */ - bp := tls.Alloc(260) - defer tls.Free(260) + bp := tls.Alloc(236) + defer tls.Free(236) - // var zBuf [100]int8 at bp+160, 100 + // var zBuf [100]int8 at bp+136, 100 - // var info Tcl_CmdInfo at bp+96, 64 + // var info Tcl_CmdInfo at bp+72, 64 var db uintptr var pBt uintptr @@ -101518,19 +101518,19 @@ func btree_from_db(tls *libc.TLS, NotUsed uintptr, interp uintptr, argc int32, a return TCL_ERROR } - if 1 != tcl.XTcl_GetCommandInfo(tls, interp, *(*uintptr)(unsafe.Pointer(argv + 1*8)), bp+96 /* &info */) { - tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp+40, ts+26052 /* "No such db-handl..." */, *(*uintptr)(unsafe.Pointer(argv + 1*8)), ts+12415 /* "\"" */, 0)) + if 1 != tcl.XTcl_GetCommandInfo(tls, interp, *(*uintptr)(unsafe.Pointer(argv + 1*8)), bp+72 /* &info */) { + tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp+32, ts+26052 /* "No such db-handl..." */, *(*uintptr)(unsafe.Pointer(argv + 1*8)), ts+12415 /* "\"" */, 0)) return TCL_ERROR } if argc == 3 { iDb = libc.Xatoi(tls, *(*uintptr)(unsafe.Pointer(argv + 2*8))) } - db = *(*uintptr)(unsafe.Pointer((*Tcl_CmdInfo)(unsafe.Pointer(bp + 96 /* &info */)).FobjClientData)) + db = *(*uintptr)(unsafe.Pointer((*Tcl_CmdInfo)(unsafe.Pointer(bp + 72 /* &info */)).FobjClientData)) pBt = (*Db)(unsafe.Pointer((*sqlite31)(unsafe.Pointer(db)).FaDb + uintptr(iDb)*32)).FpBt - sqlite3.Xsqlite3_snprintf(tls, int32(unsafe.Sizeof([100]int8{})), bp+160 /* &zBuf[0] */, ts+13802 /* "%p" */, libc.VaList(bp+80, pBt)) - tcl.XTcl_SetResult(tls, interp, bp+160 /* &zBuf[0] */, uintptr(1)) + sqlite3.Xsqlite3_snprintf(tls, int32(unsafe.Sizeof([100]int8{})), bp+136 /* &zBuf[0] */, ts+13802 /* "%p" */, libc.VaList(bp+64, pBt)) + tcl.XTcl_SetResult(tls, interp, bp+136 /* &zBuf[0] */, uintptr(1)) return TCL_OK } @@ -101538,8 +101538,8 @@ func btree_from_db(tls *libc.TLS, NotUsed uintptr, interp uintptr, argc int32, a // // Return true if the B-Tree is currently stored entirely in memory. func btree_ismemdb(tls *libc.TLS, NotUsed uintptr, interp uintptr, argc int32, argv uintptr) int32 { /* test3.c:556:26: */ - bp := tls.Alloc(40) - defer tls.Free(40) + bp := tls.Alloc(32) + defer tls.Free(32) var pBt uintptr var res int32 @@ -101565,10 +101565,10 @@ func btree_ismemdb(tls *libc.TLS, NotUsed uintptr, interp uintptr, argc int32, a // // Set the size of the cache used by btree $ID. func btree_set_cache_size(tls *libc.TLS, NotUsed uintptr, interp uintptr, argc int32, argv uintptr) int32 { /* test3.c:587:26: */ - bp := tls.Alloc(44) - defer tls.Free(44) + bp := tls.Alloc(36) + defer tls.Free(36) - // var nCache int32 at bp+40, 4 + // var nCache int32 at bp+32, 4 var pBt uintptr @@ -101578,13 +101578,13 @@ func btree_set_cache_size(tls *libc.TLS, NotUsed uintptr, interp uintptr, argc i return TCL_ERROR } pBt = sqlite3TestTextToPtr(tls, *(*uintptr)(unsafe.Pointer(argv + 1*8))) - if tcl.XTcl_GetInt(tls, interp, *(*uintptr)(unsafe.Pointer(argv + 2*8)), bp+40 /* &nCache */) != 0 { + if tcl.XTcl_GetInt(tls, interp, *(*uintptr)(unsafe.Pointer(argv + 2*8)), bp+32 /* &nCache */) != 0 { return TCL_ERROR } sqlite3.Xsqlite3_mutex_enter(tls, (*sqlite31)(unsafe.Pointer((*Btree)(unsafe.Pointer(pBt)).Fdb)).Fmutex) sqlite3.Xsqlite3BtreeEnter(tls, pBt) - sqlite3.Xsqlite3BtreeSetCacheSize(tls, pBt, *(*int32)(unsafe.Pointer(bp + 40 /* nCache */))) + sqlite3.Xsqlite3BtreeSetCacheSize(tls, pBt, *(*int32)(unsafe.Pointer(bp + 32 /* nCache */))) sqlite3.Xsqlite3BtreeLeave(tls, pBt) sqlite3.Xsqlite3_mutex_leave(tls, (*sqlite31)(unsafe.Pointer((*Btree)(unsafe.Pointer(pBt)).Fdb)).Fmutex) return TCL_OK @@ -101594,41 +101594,41 @@ func btree_set_cache_size(tls *libc.TLS, NotUsed uintptr, interp uintptr, argc i // // Set the size of the cache used by btree $ID. func btree_insert(tls *libc.TLS, clientData ClientData, interp uintptr, objc int32, objv uintptr) int32 { /* test3.c:617:26: */ - bp := tls.Alloc(76) - defer tls.Free(76) + bp := tls.Alloc(68) + defer tls.Free(68) var pCur uintptr - // var rc int32 at bp+72, 4 + // var rc int32 at bp+64, 4 - // var x BtreePayload at bp+24, 48 + // var x BtreePayload at bp+16, 48 if (objc != 4) && (objc != 3) { tcl.XTcl_WrongNumArgs(tls, interp, 1, objv, ts+26085 /* "?-intkey? CSR KE..." */) return TCL_ERROR } - libc.Xmemset(tls, bp+24 /* &x */, 0, uint64(unsafe.Sizeof(BtreePayload{}))) + libc.Xmemset(tls, bp+16 /* &x */, 0, uint64(unsafe.Sizeof(BtreePayload{}))) if objc == 4 { - if tcl.XTcl_GetIntFromObj(tls, interp, *(*uintptr)(unsafe.Pointer(objv + 2*8)), bp+72 /* &rc */) != 0 { + if tcl.XTcl_GetIntFromObj(tls, interp, *(*uintptr)(unsafe.Pointer(objv + 2*8)), bp+64 /* &rc */) != 0 { return TCL_ERROR } - (*BtreePayload)(unsafe.Pointer(bp + 24 /* &x */)).FnKey = sqlite3_int64(*(*int32)(unsafe.Pointer(bp + 72 /* rc */))) - (*BtreePayload)(unsafe.Pointer(bp + 24 /* &x */)).FpData = tcl.XTcl_GetByteArrayFromObj(tls, *(*uintptr)(unsafe.Pointer(objv + 3*8)), (bp + 24 /* &x */ + 36 /* &.nData */)) + (*BtreePayload)(unsafe.Pointer(bp + 16 /* &x */)).FnKey = sqlite3_int64(*(*int32)(unsafe.Pointer(bp + 64 /* rc */))) + (*BtreePayload)(unsafe.Pointer(bp + 16 /* &x */)).FpData = tcl.XTcl_GetByteArrayFromObj(tls, *(*uintptr)(unsafe.Pointer(objv + 3*8)), (bp + 16 /* &x */ + 36 /* &.nData */)) } else { - (*BtreePayload)(unsafe.Pointer(bp + 24 /* &x */)).FpKey = tcl.XTcl_GetByteArrayFromObj(tls, *(*uintptr)(unsafe.Pointer(objv + 2*8)), bp+72 /* &rc */) - (*BtreePayload)(unsafe.Pointer(bp + 24 /* &x */)).FnKey = sqlite3_int64(*(*int32)(unsafe.Pointer(bp + 72 /* rc */))) + (*BtreePayload)(unsafe.Pointer(bp + 16 /* &x */)).FpKey = tcl.XTcl_GetByteArrayFromObj(tls, *(*uintptr)(unsafe.Pointer(objv + 2*8)), bp+64 /* &rc */) + (*BtreePayload)(unsafe.Pointer(bp + 16 /* &x */)).FnKey = sqlite3_int64(*(*int32)(unsafe.Pointer(bp + 64 /* rc */))) } pCur = sqlite3TestTextToPtr(tls, tcl.XTcl_GetString(tls, *(*uintptr)(unsafe.Pointer(objv + 1*8)))) sqlite3.Xsqlite3_mutex_enter(tls, (*sqlite31)(unsafe.Pointer((*Btree)(unsafe.Pointer((*BtCursor)(unsafe.Pointer(pCur)).FpBtree)).Fdb)).Fmutex) sqlite3.Xsqlite3BtreeEnter(tls, (*BtCursor)(unsafe.Pointer(pCur)).FpBtree) - *(*int32)(unsafe.Pointer(bp + 72 /* rc */)) = sqlite3.Xsqlite3BtreeInsert(tls, pCur, bp+24 /* &x */, 0, 0) + *(*int32)(unsafe.Pointer(bp + 64 /* rc */)) = sqlite3.Xsqlite3BtreeInsert(tls, pCur, bp+16 /* &x */, 0, 0) sqlite3.Xsqlite3BtreeLeave(tls, (*BtCursor)(unsafe.Pointer(pCur)).FpBtree) sqlite3.Xsqlite3_mutex_leave(tls, (*sqlite31)(unsafe.Pointer((*Btree)(unsafe.Pointer((*BtCursor)(unsafe.Pointer(pCur)).FpBtree)).Fdb)).Fmutex) tcl.XTcl_ResetResult(tls, interp) - if *(*int32)(unsafe.Pointer(bp + 72 /* rc */)) != 0 { - tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp, sqlite3.Xsqlite3ErrName(tls, *(*int32)(unsafe.Pointer(bp + 72 /* rc */))), 0)) + if *(*int32)(unsafe.Pointer(bp + 64 /* rc */)) != 0 { + tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp, sqlite3.Xsqlite3ErrName(tls, *(*int32)(unsafe.Pointer(bp + 64 /* rc */))), 0)) return TCL_ERROR } return TCL_OK @@ -101727,15 +101727,15 @@ func binarize(tls *libc.TLS, clientData uintptr, interp uintptr, objc int32, obj // If is 0, then the calls to sqlite3_value_text() are not // actually made. func test_value_overhead(tls *libc.TLS, clientData uintptr, interp uintptr, objc int32, objv uintptr) int32 { /* test5.c:61:26: */ - bp := tls.Alloc(104) - defer tls.Free(104) + bp := tls.Alloc(96) + defer tls.Free(96) - // var do_calls int32 at bp+44, 4 + // var do_calls int32 at bp+36, 4 - // var repeat_count int32 at bp+40, 4 + // var repeat_count int32 at bp+32, 4 var i int32 - // var val Mem at bp+48, 56 + // var val Mem at bp+40, 56 if objc != 3 { tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp, ts+15410, /* "wrong # args: sh..." */ @@ -101743,20 +101743,20 @@ func test_value_overhead(tls *libc.TLS, clientData uintptr, interp uintptr, objc return TCL_ERROR } - if tcl.XTcl_GetIntFromObj(tls, interp, *(*uintptr)(unsafe.Pointer(objv + 1*8)), bp+40 /* &repeat_count */) != 0 { + if tcl.XTcl_GetIntFromObj(tls, interp, *(*uintptr)(unsafe.Pointer(objv + 1*8)), bp+32 /* &repeat_count */) != 0 { return TCL_ERROR } - if tcl.XTcl_GetIntFromObj(tls, interp, *(*uintptr)(unsafe.Pointer(objv + 2*8)), bp+44 /* &do_calls */) != 0 { + if tcl.XTcl_GetIntFromObj(tls, interp, *(*uintptr)(unsafe.Pointer(objv + 2*8)), bp+36 /* &do_calls */) != 0 { return TCL_ERROR } - (*Mem)(unsafe.Pointer(bp + 48 /* &val */)).Fflags = (u16((MEM_Str | MEM_Term) | MEM_Static)) - (*Mem)(unsafe.Pointer(bp + 48 /* &val */)).Fz = ts + 26365 /* "hello world" */ - (*Mem)(unsafe.Pointer(bp + 48 /* &val */)).Fenc = u8(SQLITE_UTF8) + (*Mem)(unsafe.Pointer(bp + 40 /* &val */)).Fflags = (u16((MEM_Str | MEM_Term) | MEM_Static)) + (*Mem)(unsafe.Pointer(bp + 40 /* &val */)).Fz = ts + 26365 /* "hello world" */ + (*Mem)(unsafe.Pointer(bp + 40 /* &val */)).Fenc = u8(SQLITE_UTF8) - for i = 0; i < *(*int32)(unsafe.Pointer(bp + 40 /* repeat_count */)); i++ { - if *(*int32)(unsafe.Pointer(bp + 44 /* do_calls */)) != 0 { - sqlite3.Xsqlite3_value_text(tls, bp+48 /* &val */) + for i = 0; i < *(*int32)(unsafe.Pointer(bp + 32 /* repeat_count */)); i++ { + if *(*int32)(unsafe.Pointer(bp + 36 /* do_calls */)) != 0 { + sqlite3.Xsqlite3_value_text(tls, bp+40 /* &val */) } } @@ -101764,10 +101764,10 @@ func test_value_overhead(tls *libc.TLS, clientData uintptr, interp uintptr, objc } func name_to_enc(tls *libc.TLS, interp uintptr, pObj uintptr) u8 { /* test5.c:94:11: */ - bp := tls.Alloc(112) - defer tls.Free(112) + bp := tls.Alloc(104) + defer tls.Free(104) - *(*[5]EncName)(unsafe.Pointer(bp + 32 /* encnames */)) = [5]EncName{ + *(*[5]EncName)(unsafe.Pointer(bp + 24 /* encnames */)) = [5]EncName{ {FzName: ts + 26377 /* "UTF8" */, Fenc: u8(SQLITE_UTF8)}, {FzName: ts + 26382 /* "UTF16LE" */, Fenc: u8(SQLITE_UTF16LE)}, {FzName: ts + 26390 /* "UTF16BE" */, Fenc: u8(SQLITE_UTF16BE)}, @@ -101776,7 +101776,7 @@ func name_to_enc(tls *libc.TLS, interp uintptr, pObj uintptr) u8 { /* test5.c:94 } var pEnc uintptr var z uintptr = tcl.XTcl_GetString(tls, pObj) - for pEnc = (bp + 32 /* &encnames */); (*EncName)(unsafe.Pointer(pEnc)).FzName != 0; pEnc += 16 { + for pEnc = (bp + 24 /* &encnames */); (*EncName)(unsafe.Pointer(pEnc)).FzName != 0; pEnc += 16 { if 0 == sqlite3.Xsqlite3StrICmp(tls, z, (*EncName)(unsafe.Pointer(pEnc)).FzName) { break } @@ -101799,14 +101799,14 @@ type EncName = struct { // Usage: test_translate ?? // func test_translate(tls *libc.TLS, clientData uintptr, interp uintptr, objc int32, objv uintptr) int32 { /* test5.c:125:26: */ - bp := tls.Alloc(60) - defer tls.Free(60) + bp := tls.Alloc(44) + defer tls.Free(44) var enc_from u8 var enc_to u8 var pVal uintptr var z uintptr - // var len int32 at bp+56, 4 + // var len int32 at bp+40, 4 var xDel uintptr = uintptr(0) @@ -101834,27 +101834,27 @@ func test_translate(tls *libc.TLS, clientData uintptr, interp uintptr, objc int3 if int32(enc_from) == SQLITE_UTF8 { z = tcl.XTcl_GetString(tls, *(*uintptr)(unsafe.Pointer(objv + 1*8))) if objc == 5 { - z = sqlite3.Xsqlite3_mprintf(tls, ts /* "%s" */, libc.VaList(bp+40, z)) + z = sqlite3.Xsqlite3_mprintf(tls, ts /* "%s" */, libc.VaList(bp+32, z)) } sqlite3.Xsqlite3ValueSetStr(tls, pVal, -1, z, enc_from, xDel) } else { - z = tcl.XTcl_GetByteArrayFromObj(tls, *(*uintptr)(unsafe.Pointer(objv + 1*8)), bp+56 /* &len */) + z = tcl.XTcl_GetByteArrayFromObj(tls, *(*uintptr)(unsafe.Pointer(objv + 1*8)), bp+40 /* &len */) if objc == 5 { var zTmp uintptr = z - z = sqlite3.Xsqlite3_malloc(tls, *(*int32)(unsafe.Pointer(bp + 56 /* len */))) - libc.Xmemcpy(tls, z, zTmp, uint64(*(*int32)(unsafe.Pointer(bp + 56 /* len */)))) + z = sqlite3.Xsqlite3_malloc(tls, *(*int32)(unsafe.Pointer(bp + 40 /* len */))) + libc.Xmemcpy(tls, z, zTmp, uint64(*(*int32)(unsafe.Pointer(bp + 40 /* len */)))) } sqlite3.Xsqlite3ValueSetStr(tls, pVal, -1, z, enc_from, xDel) } z = sqlite3.Xsqlite3ValueText(tls, pVal, enc_to) - *(*int32)(unsafe.Pointer(bp + 56 /* len */)) = (sqlite3.Xsqlite3ValueBytes(tls, pVal, enc_to) + (func() int32 { + *(*int32)(unsafe.Pointer(bp + 40 /* len */)) = (sqlite3.Xsqlite3ValueBytes(tls, pVal, enc_to) + (func() int32 { if int32(enc_to) == SQLITE_UTF8 { return 1 } return 2 }())) - tcl.XTcl_SetObjResult(tls, interp, tcl.XTcl_NewByteArrayObj(tls, z, *(*int32)(unsafe.Pointer(bp + 56 /* len */)))) + tcl.XTcl_SetObjResult(tls, interp, tcl.XTcl_NewByteArrayObj(tls, z, *(*int32)(unsafe.Pointer(bp + 40 /* len */)))) sqlite3.Xsqlite3ValueFree(tls, pVal) @@ -102453,10 +102453,10 @@ func cfGetLastError(tls *libc.TLS, pCfVfs uintptr, n int32, z uintptr) int32 { / } func processDevSymArgs(tls *libc.TLS, interp uintptr, objc int32, objv uintptr, piDeviceChar uintptr, piSectorSize uintptr) int32 { /* test6.c:720:12: */ - bp := tls.Alloc(332) - defer tls.Free(332) + bp := tls.Alloc(316) + defer tls.Free(316) - *(*[14]DeviceFlag)(unsafe.Pointer(bp + 104 /* aFlag */)) = [14]DeviceFlag{ + *(*[14]DeviceFlag)(unsafe.Pointer(bp + 88 /* aFlag */)) = [14]DeviceFlag{ {FzName: ts + 26559 /* "atomic" */, FiValue: SQLITE_IOCAP_ATOMIC}, {FzName: ts + 26566 /* "atomic512" */, FiValue: SQLITE_IOCAP_ATOMIC512}, {FzName: ts + 26576 /* "atomic1k" */, FiValue: SQLITE_IOCAP_ATOMIC1K}, @@ -102474,51 +102474,51 @@ func processDevSymArgs(tls *libc.TLS, interp uintptr, objc int32, objv uintptr, } var i int32 var iDc int32 = 0 - *(*int32)(unsafe.Pointer(bp + 84 /* iSectorSize */)) = 0 + *(*int32)(unsafe.Pointer(bp + 68 /* iSectorSize */)) = 0 var setSectorsize int32 = 0 var setDeviceChar int32 = 0 for i = 0; i < objc; i = i + (2) { - // var nOpt int32 at bp+80, 4 + // var nOpt int32 at bp+64, 4 - var zOpt uintptr = tcl.XTcl_GetStringFromObj(tls, *(*uintptr)(unsafe.Pointer(objv + uintptr(i)*8)), bp+80 /* &nOpt */) + var zOpt uintptr = tcl.XTcl_GetStringFromObj(tls, *(*uintptr)(unsafe.Pointer(objv + uintptr(i)*8)), bp+64 /* &nOpt */) - if (((*(*int32)(unsafe.Pointer(bp + 80 /* nOpt */)) > 11) || (*(*int32)(unsafe.Pointer(bp + 80 /* nOpt */)) < 2)) || (libc.Xstrncmp(tls, ts+26698 /* "-sectorsize" */, zOpt, uint64(*(*int32)(unsafe.Pointer(bp + 80 /* nOpt */)))) != 0)) && - (((*(*int32)(unsafe.Pointer(bp + 80 /* nOpt */)) > 16) || (*(*int32)(unsafe.Pointer(bp + 80 /* nOpt */)) < 2)) || (libc.Xstrncmp(tls, ts+26710 /* "-characteristics" */, zOpt, uint64(*(*int32)(unsafe.Pointer(bp + 80 /* nOpt */)))) != 0)) { + if (((*(*int32)(unsafe.Pointer(bp + 64 /* nOpt */)) > 11) || (*(*int32)(unsafe.Pointer(bp + 64 /* nOpt */)) < 2)) || (libc.Xstrncmp(tls, ts+26698 /* "-sectorsize" */, zOpt, uint64(*(*int32)(unsafe.Pointer(bp + 64 /* nOpt */)))) != 0)) && + (((*(*int32)(unsafe.Pointer(bp + 64 /* nOpt */)) > 16) || (*(*int32)(unsafe.Pointer(bp + 64 /* nOpt */)) < 2)) || (libc.Xstrncmp(tls, ts+26710 /* "-characteristics" */, zOpt, uint64(*(*int32)(unsafe.Pointer(bp + 64 /* nOpt */)))) != 0)) { tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp, ts+26727 /* "Bad option: \"" */, zOpt, ts+26741 /* "\" - must be \"-ch..." */, 0)) return TCL_ERROR } if i == (objc - 1) { - tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp+40, ts+26789 /* "Option requires ..." */, zOpt, ts+12415 /* "\"" */, 0)) + tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp+32, ts+26789 /* "Option requires ..." */, zOpt, ts+12415 /* "\"" */, 0)) return TCL_ERROR } if int32(*(*int8)(unsafe.Pointer(zOpt + 1))) == 's' { - if tcl.XTcl_GetIntFromObj(tls, interp, *(*uintptr)(unsafe.Pointer(objv + uintptr((i+1))*8)), bp+84 /* &iSectorSize */) != 0 { + if tcl.XTcl_GetIntFromObj(tls, interp, *(*uintptr)(unsafe.Pointer(objv + uintptr((i+1))*8)), bp+68 /* &iSectorSize */) != 0 { return TCL_ERROR } setSectorsize = 1 } else { var j int32 - // var apObj uintptr at bp+96, 8 + // var apObj uintptr at bp+80, 8 - // var nObj int32 at bp+88, 4 + // var nObj int32 at bp+72, 4 - if tcl.XTcl_ListObjGetElements(tls, interp, *(*uintptr)(unsafe.Pointer(objv + uintptr((i+1))*8)), bp+88 /* &nObj */, bp+96 /* &apObj */) != 0 { + if tcl.XTcl_ListObjGetElements(tls, interp, *(*uintptr)(unsafe.Pointer(objv + uintptr((i+1))*8)), bp+72 /* &nObj */, bp+80 /* &apObj */) != 0 { return TCL_ERROR } - for j = 0; j < *(*int32)(unsafe.Pointer(bp + 88 /* nObj */)); j++ { + for j = 0; j < *(*int32)(unsafe.Pointer(bp + 72 /* nObj */)); j++ { var rc int32 - // var iChoice int32 at bp+328, 4 + // var iChoice int32 at bp+312, 4 - var pFlag uintptr = tcl.XTcl_DuplicateObj(tls, *(*uintptr)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp + 96 /* apObj */)) + uintptr(j)*8))) + var pFlag uintptr = tcl.XTcl_DuplicateObj(tls, *(*uintptr)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp + 80 /* apObj */)) + uintptr(j)*8))) (*Tcl_Obj)(unsafe.Pointer(pFlag)).FrefCount++ tcl.XTcl_UtfToLower(tls, tcl.XTcl_GetString(tls, pFlag)) rc = tcl.XTcl_GetIndexFromObjStruct(tls, - interp, pFlag, bp+104 /* &aFlag[0] */, int32(unsafe.Sizeof(DeviceFlag{})), ts+26820 /* "no such flag" */, 0, bp+328 /* &iChoice */) + interp, pFlag, bp+88 /* &aFlag[0] */, int32(unsafe.Sizeof(DeviceFlag{})), ts+26820 /* "no such flag" */, 0, bp+312 /* &iChoice */) for ok := true; ok; ok = 0 != 0 { var _objPtr uintptr = pFlag if libc.PostDecInt32(&(*Tcl_Obj)(unsafe.Pointer((_objPtr))).FrefCount, 1) <= 1 { @@ -102529,7 +102529,7 @@ func processDevSymArgs(tls *libc.TLS, interp uintptr, objc int32, objv uintptr, return TCL_ERROR } - iDc = iDc | ((*DeviceFlag)(unsafe.Pointer(bp + 104 /* &aFlag */ + uintptr(*(*int32)(unsafe.Pointer(bp + 328 /* iChoice */)))*16)).FiValue) + iDc = iDc | ((*DeviceFlag)(unsafe.Pointer(bp + 88 /* &aFlag */ + uintptr(*(*int32)(unsafe.Pointer(bp + 312 /* iChoice */)))*16)).FiValue) } setDeviceChar = 1 } @@ -102539,7 +102539,7 @@ func processDevSymArgs(tls *libc.TLS, interp uintptr, objc int32, objv uintptr, *(*int32)(unsafe.Pointer(piDeviceChar)) = iDc } if setSectorsize != 0 { - *(*int32)(unsafe.Pointer(piSectorSize)) = *(*int32)(unsafe.Pointer(bp + 84 /* iSectorSize */)) + *(*int32)(unsafe.Pointer(piSectorSize)) = *(*int32)(unsafe.Pointer(bp + 68 /* iSectorSize */)) } return TCL_OK @@ -102642,20 +102642,20 @@ var crashVfs = sqlite3_vfs{ // sqlite_crashparams -sect 1024 -char {atomic sequential} ./test.db 1 // func crashParamsObjCmd(tls *libc.TLS, clientData uintptr, interp uintptr, objc int32, objv uintptr) int32 { /* test6.c:920:26: */ - bp := tls.Alloc(56) - defer tls.Free(56) + bp := tls.Alloc(48) + defer tls.Free(48) - // var iDelay int32 at bp+44, 4 + // var iDelay int32 at bp+36, 4 var zCrashFile uintptr - // var nCrashFile int32 at bp+40, 4 + // var nCrashFile int32 at bp+32, 4 - // var iDc int32 at bp+48, 4 + // var iDc int32 at bp+40, 4 - // var iSectorSize int32 at bp+52, 4 + // var iSectorSize int32 at bp+44, 4 - *(*int32)(unsafe.Pointer(bp + 48 /* iDc */)) = -1 - *(*int32)(unsafe.Pointer(bp + 52 /* iSectorSize */)) = -1 + *(*int32)(unsafe.Pointer(bp + 40 /* iDc */)) = -1 + *(*int32)(unsafe.Pointer(bp + 44 /* iSectorSize */)) = -1 if !(objc < 3) { goto __1 @@ -102665,43 +102665,43 @@ func crashParamsObjCmd(tls *libc.TLS, clientData uintptr, interp uintptr, objc i __1: ; - zCrashFile = tcl.XTcl_GetStringFromObj(tls, *(*uintptr)(unsafe.Pointer(objv + uintptr((objc-1))*8)), bp+40 /* &nCrashFile */) - if !(uint64(*(*int32)(unsafe.Pointer(bp + 40 /* nCrashFile */))) >= uint64(unsafe.Sizeof([500]int8{}))) { + zCrashFile = tcl.XTcl_GetStringFromObj(tls, *(*uintptr)(unsafe.Pointer(objv + uintptr((objc-1))*8)), bp+32 /* &nCrashFile */) + if !(uint64(*(*int32)(unsafe.Pointer(bp + 32 /* nCrashFile */))) >= uint64(unsafe.Sizeof([500]int8{}))) { goto __2 } tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp, ts+26882 /* "Filename is too ..." */, zCrashFile, ts+12415 /* "\"" */, 0)) goto error __2: ; - if !(tcl.XTcl_GetIntFromObj(tls, interp, *(*uintptr)(unsafe.Pointer(objv + uintptr((objc-2))*8)), bp+44 /* &iDelay */) != 0) { + if !(tcl.XTcl_GetIntFromObj(tls, interp, *(*uintptr)(unsafe.Pointer(objv + uintptr((objc-2))*8)), bp+36 /* &iDelay */) != 0) { goto __3 } goto error __3: ; - if !(processDevSymArgs(tls, interp, (objc-3), (objv+1*8), bp+48 /* &iDc */, bp+52 /* &iSectorSize */) != 0) { + if !(processDevSymArgs(tls, interp, (objc-3), (objv+1*8), bp+40 /* &iDc */, bp+44 /* &iSectorSize */) != 0) { goto __4 } return TCL_ERROR __4: ; - if !(*(*int32)(unsafe.Pointer(bp + 48 /* iDc */)) >= 0) { + if !(*(*int32)(unsafe.Pointer(bp + 40 /* iDc */)) >= 0) { goto __5 } - g.FiDeviceCharacteristics = *(*int32)(unsafe.Pointer(bp + 48 /* iDc */)) + g.FiDeviceCharacteristics = *(*int32)(unsafe.Pointer(bp + 40 /* iDc */)) __5: ; - if !(*(*int32)(unsafe.Pointer(bp + 52 /* iSectorSize */)) >= 0) { + if !(*(*int32)(unsafe.Pointer(bp + 44 /* iSectorSize */)) >= 0) { goto __6 } - g.FiSectorSize = *(*int32)(unsafe.Pointer(bp + 52 /* iSectorSize */)) + g.FiSectorSize = *(*int32)(unsafe.Pointer(bp + 44 /* iSectorSize */)) __6: ; - g.FiCrash = *(*int32)(unsafe.Pointer(bp + 44 /* iDelay */)) - libc.Xmemcpy(tls, uintptr(unsafe.Pointer(&g))+28 /* &.zCrashFile */, zCrashFile, (uint64(*(*int32)(unsafe.Pointer(bp + 40 /* nCrashFile */)) + 1))) + g.FiCrash = *(*int32)(unsafe.Pointer(bp + 36 /* iDelay */)) + libc.Xmemcpy(tls, uintptr(unsafe.Pointer(&g))+28 /* &.zCrashFile */, zCrashFile, (uint64(*(*int32)(unsafe.Pointer(bp + 32 /* nCrashFile */)) + 1))) sqlite3CrashTestEnable = 1 return TCL_OK @@ -102757,8 +102757,8 @@ func dsUnregisterObjCmd(tls *libc.TLS, clientData uintptr, interp uintptr, objc // tclcmd: register_jt_vfs ?-default? PARENT-VFS func jtObjCmd(tls *libc.TLS, clientData uintptr, interp uintptr, objc int32, objv uintptr) int32 { /* test6.c:1033:26: */ - bp := tls.Alloc(64) - defer tls.Free(64) + bp := tls.Alloc(48) + defer tls.Free(48) var zParent uintptr = uintptr(0) @@ -102780,7 +102780,7 @@ func jtObjCmd(tls *libc.TLS, clientData uintptr, interp uintptr, objc int32, obj zParent = uintptr(0) } if jt_register(tls, zParent, (libc.Bool32(objc == 3))) != 0 { - tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp+40, ts+26964 /* "Error in jt_regi..." */, 0)) + tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp+32, ts+26964 /* "Error in jt_regi..." */, 0)) return TCL_ERROR } @@ -102898,17 +102898,17 @@ type echo_cursor1 = struct { type echo_cursor = echo_cursor1 /* test8.c:28:28 */ func simulateVtabError(tls *libc.TLS, p uintptr, zMethod uintptr) int32 { /* test8.c:97:12: */ - bp := tls.Alloc(168) - defer tls.Free(168) + bp := tls.Alloc(152) + defer tls.Free(152) var zErr uintptr - // var zVarname [128]int8 at bp+40, 128 + // var zVarname [128]int8 at bp+24, 128 - *(*int8)(unsafe.Pointer(bp + 40 /* &zVarname[0] */ + 127)) = int8(0) - sqlite3.Xsqlite3_snprintf(tls, 127, bp+40 /* &zVarname[0] */, ts+27143 /* "echo_module_fail..." */, libc.VaList(bp, zMethod, (*echo_vtab)(unsafe.Pointer(p)).FzTableName)) - zErr = tcl.XTcl_GetVar2(tls, (*echo_vtab)(unsafe.Pointer(p)).Finterp, bp+40 /* &zVarname[0] */, uintptr(0), TCL_GLOBAL_ONLY) + *(*int8)(unsafe.Pointer(bp + 24 /* &zVarname[0] */ + 127)) = int8(0) + sqlite3.Xsqlite3_snprintf(tls, 127, bp+24 /* &zVarname[0] */, ts+27143 /* "echo_module_fail..." */, libc.VaList(bp, zMethod, (*echo_vtab)(unsafe.Pointer(p)).FzTableName)) + zErr = tcl.XTcl_GetVar2(tls, (*echo_vtab)(unsafe.Pointer(p)).Finterp, bp+24 /* &zVarname[0] */, uintptr(0), TCL_GLOBAL_ONLY) if zErr != 0 { - (*echo_vtab)(unsafe.Pointer(p)).Fbase.FzErrMsg = sqlite3.Xsqlite3_mprintf(tls, ts+27167 /* "echo-vtab-error:..." */, libc.VaList(bp+24, zErr)) + (*echo_vtab)(unsafe.Pointer(p)).Fbase.FzErrMsg = sqlite3.Xsqlite3_mprintf(tls, ts+27167 /* "echo-vtab-error:..." */, libc.VaList(bp+16, zErr)) } return (libc.Bool32(zErr != uintptr(0))) } @@ -102971,12 +102971,12 @@ func dequoteString(tls *libc.TLS, z uintptr) { /* test8.c:122:13: */ // nCol column names. The caller is responsible for calling sqlite3_free // on *paCol. func getColumnNames(tls *libc.TLS, db uintptr, zTab uintptr, paCol uintptr, pnCol uintptr) int32 { /* test8.c:159:12: */ - bp := tls.Alloc(40) - defer tls.Free(40) + bp := tls.Alloc(24) + defer tls.Free(24) var aCol uintptr var zSql uintptr - // var pStmt uintptr at bp+32, 8 + // var pStmt uintptr at bp+16, 8 var rc int32 var nCol int32 @@ -102985,7 +102985,7 @@ func getColumnNames(tls *libc.TLS, db uintptr, zTab uintptr, paCol uintptr, pnCo var nBytes int32 var zSpace uintptr aCol = uintptr(0) - *(*uintptr)(unsafe.Pointer(bp + 32 /* pStmt */)) = uintptr(0) + *(*uintptr)(unsafe.Pointer(bp + 16 /* pStmt */)) = uintptr(0) rc = SQLITE_OK nCol = 0 @@ -103000,13 +103000,13 @@ func getColumnNames(tls *libc.TLS, db uintptr, zTab uintptr, paCol uintptr, pnCo goto out __1: ; - rc = sqlite3.Xsqlite3_prepare(tls, db, zSql, -1, bp+32 /* &pStmt */, uintptr(0)) + rc = sqlite3.Xsqlite3_prepare(tls, db, zSql, -1, bp+16 /* &pStmt */, uintptr(0)) sqlite3.Xsqlite3_free(tls, zSql) if !(rc == SQLITE_OK) { goto __2 } - nCol = sqlite3.Xsqlite3_column_count(tls, *(*uintptr)(unsafe.Pointer(bp + 32 /* pStmt */))) + nCol = sqlite3.Xsqlite3_column_count(tls, *(*uintptr)(unsafe.Pointer(bp + 16 /* pStmt */))) // Figure out how much space to allocate for the array of column names // (including space for the strings themselves). Then allocate it. @@ -103016,7 +103016,7 @@ __3: if !(ii < nCol) { goto __5 } - zName = sqlite3.Xsqlite3_column_name(tls, *(*uintptr)(unsafe.Pointer(bp + 32 /* pStmt */)), ii) + zName = sqlite3.Xsqlite3_column_name(tls, *(*uintptr)(unsafe.Pointer(bp + 16 /* pStmt */)), ii) if !(!(zName != 0)) { goto __6 } @@ -103050,7 +103050,7 @@ __8: goto __10 } *(*uintptr)(unsafe.Pointer(aCol + uintptr(ii)*8)) = zSpace - sqlite3.Xsqlite3_snprintf(tls, nBytes, zSpace, ts /* "%s" */, libc.VaList(bp+16, sqlite3.Xsqlite3_column_name(tls, *(*uintptr)(unsafe.Pointer(bp + 32 /* pStmt */)), ii))) + sqlite3.Xsqlite3_snprintf(tls, nBytes, zSpace, ts /* "%s" */, libc.VaList(bp+8, sqlite3.Xsqlite3_column_name(tls, *(*uintptr)(unsafe.Pointer(bp + 16 /* pStmt */)), ii))) zSpace += (uintptr(int32(libc.Xstrlen(tls, zSpace)) + 1)) goto __9 __9: @@ -103067,7 +103067,7 @@ __2: *(*int32)(unsafe.Pointer(pnCol)) = nCol out: - sqlite3.Xsqlite3_finalize(tls, *(*uintptr)(unsafe.Pointer(bp + 32 /* pStmt */))) + sqlite3.Xsqlite3_finalize(tls, *(*uintptr)(unsafe.Pointer(bp + 16 /* pStmt */))) return rc } @@ -103082,20 +103082,20 @@ out: // See comments associated with the member variable aIndex above // "struct echo_vtab" for details of the contents of the array. func getIndexArray(tls *libc.TLS, db uintptr, zTab uintptr, nCol int32, paIndex uintptr) int32 { /* test8.c:239:12: */ - bp := tls.Alloc(48) - defer tls.Free(48) + bp := tls.Alloc(32) + defer tls.Free(32) - // var pStmt uintptr at bp+32, 8 + // var pStmt uintptr at bp+16, 8 var aIndex uintptr var rc int32 var zSql uintptr var cid int32 var zIdx uintptr - // var pStmt2 uintptr at bp+40, 8 + // var pStmt2 uintptr at bp+24, 8 var rc2 int32 - *(*uintptr)(unsafe.Pointer(bp + 32 /* pStmt */)) = uintptr(0) + *(*uintptr)(unsafe.Pointer(bp + 16 /* pStmt */)) = uintptr(0) aIndex = uintptr(0) // Allocate space for the index array @@ -103117,24 +103117,24 @@ __1: goto get_index_array_out __2: ; - rc = sqlite3.Xsqlite3_prepare(tls, db, zSql, -1, bp+32 /* &pStmt */, uintptr(0)) + rc = sqlite3.Xsqlite3_prepare(tls, db, zSql, -1, bp+16 /* &pStmt */, uintptr(0)) sqlite3.Xsqlite3_free(tls, zSql) // For each index, figure out the left-most column and set the // corresponding entry in aIndex[] to 1. __3: - if !((*(*uintptr)(unsafe.Pointer(bp + 32 /* pStmt */)) != 0) && (sqlite3.Xsqlite3_step(tls, *(*uintptr)(unsafe.Pointer(bp + 32 /* pStmt */))) == SQLITE_ROW)) { + if !((*(*uintptr)(unsafe.Pointer(bp + 16 /* pStmt */)) != 0) && (sqlite3.Xsqlite3_step(tls, *(*uintptr)(unsafe.Pointer(bp + 16 /* pStmt */))) == SQLITE_ROW)) { goto __4 } - zIdx = sqlite3.Xsqlite3_column_text(tls, *(*uintptr)(unsafe.Pointer(bp + 32 /* pStmt */)), 1) - *(*uintptr)(unsafe.Pointer(bp + 40 /* pStmt2 */)) = uintptr(0) + zIdx = sqlite3.Xsqlite3_column_text(tls, *(*uintptr)(unsafe.Pointer(bp + 16 /* pStmt */)), 1) + *(*uintptr)(unsafe.Pointer(bp + 24 /* pStmt2 */)) = uintptr(0) if !(zIdx == uintptr(0)) { goto __5 } goto __3 __5: ; - zSql = sqlite3.Xsqlite3_mprintf(tls, ts+27226 /* "PRAGMA index_inf..." */, libc.VaList(bp+16, zIdx)) + zSql = sqlite3.Xsqlite3_mprintf(tls, ts+27226 /* "PRAGMA index_inf..." */, libc.VaList(bp+8, zIdx)) if !(!(zSql != 0)) { goto __6 } @@ -103142,20 +103142,20 @@ __5: goto get_index_array_out __6: ; - rc = sqlite3.Xsqlite3_prepare(tls, db, zSql, -1, bp+40 /* &pStmt2 */, uintptr(0)) + rc = sqlite3.Xsqlite3_prepare(tls, db, zSql, -1, bp+24 /* &pStmt2 */, uintptr(0)) sqlite3.Xsqlite3_free(tls, zSql) - if !((*(*uintptr)(unsafe.Pointer(bp + 40 /* pStmt2 */)) != 0) && (sqlite3.Xsqlite3_step(tls, *(*uintptr)(unsafe.Pointer(bp + 40 /* pStmt2 */))) == SQLITE_ROW)) { + if !((*(*uintptr)(unsafe.Pointer(bp + 24 /* pStmt2 */)) != 0) && (sqlite3.Xsqlite3_step(tls, *(*uintptr)(unsafe.Pointer(bp + 24 /* pStmt2 */))) == SQLITE_ROW)) { goto __7 } - cid = sqlite3.Xsqlite3_column_int(tls, *(*uintptr)(unsafe.Pointer(bp + 40 /* pStmt2 */)), 1) + cid = sqlite3.Xsqlite3_column_int(tls, *(*uintptr)(unsafe.Pointer(bp + 24 /* pStmt2 */)), 1) *(*int32)(unsafe.Pointer(aIndex + uintptr(cid)*4)) = 1 __7: ; - if !(*(*uintptr)(unsafe.Pointer(bp + 40 /* pStmt2 */)) != 0) { + if !(*(*uintptr)(unsafe.Pointer(bp + 24 /* pStmt2 */)) != 0) { goto __8 } - rc = sqlite3.Xsqlite3_finalize(tls, *(*uintptr)(unsafe.Pointer(bp + 40 /* pStmt2 */))) + rc = sqlite3.Xsqlite3_finalize(tls, *(*uintptr)(unsafe.Pointer(bp + 24 /* pStmt2 */))) __8: ; if !(rc != SQLITE_OK) { @@ -103169,10 +103169,10 @@ __4: ; get_index_array_out: - if !(*(*uintptr)(unsafe.Pointer(bp + 32 /* pStmt */)) != 0) { + if !(*(*uintptr)(unsafe.Pointer(bp + 16 /* pStmt */)) != 0) { goto __10 } - rc2 = sqlite3.Xsqlite3_finalize(tls, *(*uintptr)(unsafe.Pointer(bp + 32 /* pStmt */))) + rc2 = sqlite3.Xsqlite3_finalize(tls, *(*uintptr)(unsafe.Pointer(bp + 16 /* pStmt */))) if !(rc == SQLITE_OK) { goto __11 } @@ -103282,8 +103282,8 @@ type EchoModule = EchoModule1 /* test8.c:389:27 */ // to allocate the required in-memory structures for a newly connected // virtual table. func echoConstructor(tls *libc.TLS, db uintptr, pAux uintptr, argc int32, argv uintptr, ppVtab uintptr, pzErr uintptr) int32 { /* test8.c:400:12: */ - bp := tls.Alloc(56) - defer tls.Free(56) + bp := tls.Alloc(32) + defer tls.Free(32) var rc int32 var i int32 @@ -103306,10 +103306,10 @@ func echoConstructor(tls *libc.TLS, db uintptr, pAux uintptr, argc int32, argv u // Allocate echo_vtab.zTableName if argc > 3 { - (*echo_vtab)(unsafe.Pointer(pVtab)).FzTableName = sqlite3.Xsqlite3_mprintf(tls, ts /* "%s" */, libc.VaList(bp+16, *(*uintptr)(unsafe.Pointer(argv + 3*8)))) + (*echo_vtab)(unsafe.Pointer(pVtab)).FzTableName = sqlite3.Xsqlite3_mprintf(tls, ts /* "%s" */, libc.VaList(bp+8, *(*uintptr)(unsafe.Pointer(argv + 3*8)))) dequoteString(tls, (*echo_vtab)(unsafe.Pointer(pVtab)).FzTableName) if ((*echo_vtab)(unsafe.Pointer(pVtab)).FzTableName != 0) && (int32(*(*int8)(unsafe.Pointer((*echo_vtab)(unsafe.Pointer(pVtab)).FzTableName))) == '*') { - var z uintptr = sqlite3.Xsqlite3_mprintf(tls, ts+27324 /* "%s%s" */, libc.VaList(bp+32, *(*uintptr)(unsafe.Pointer(argv + 2*8)), ((*echo_vtab)(unsafe.Pointer(pVtab)).FzTableName+1))) + var z uintptr = sqlite3.Xsqlite3_mprintf(tls, ts+27324 /* "%s%s" */, libc.VaList(bp+16, *(*uintptr)(unsafe.Pointer(argv + 2*8)), ((*echo_vtab)(unsafe.Pointer(pVtab)).FzTableName+1))) sqlite3.Xsqlite3_free(tls, (*echo_vtab)(unsafe.Pointer(pVtab)).FzTableName) (*echo_vtab)(unsafe.Pointer(pVtab)).FzTableName = z (*echo_vtab)(unsafe.Pointer(pVtab)).FisPattern = 1 @@ -103341,8 +103341,8 @@ func echoConstructor(tls *libc.TLS, db uintptr, pAux uintptr, argc int32, argv u // Echo virtual table module xCreate method. func echoCreate(tls *libc.TLS, db uintptr, pAux uintptr, argc int32, argv uintptr, ppVtab uintptr, pzErr uintptr) int32 { /* test8.c:465:12: */ - bp := tls.Alloc(48) - defer tls.Free(48) + bp := tls.Alloc(24) + defer tls.Free(24) var rc int32 = SQLITE_OK appendToEchoModule(tls, (*EchoModule)(unsafe.Pointer(pAux)).Finterp, ts+27329 /* "xCreate" */) @@ -103361,11 +103361,11 @@ func echoCreate(tls *libc.TLS, db uintptr, pAux uintptr, argc int32, argv uintpt var zSql uintptr var pVtab uintptr = *(*uintptr)(unsafe.Pointer(ppVtab)) (*echo_vtab)(unsafe.Pointer(pVtab)).FzLogName = sqlite3.Xsqlite3_mprintf(tls, ts /* "%s" */, libc.VaList(bp, *(*uintptr)(unsafe.Pointer(argv + 4*8)))) - zSql = sqlite3.Xsqlite3_mprintf(tls, ts+27337 /* "CREATE TABLE %Q(..." */, libc.VaList(bp+16, (*echo_vtab)(unsafe.Pointer(pVtab)).FzLogName)) + zSql = sqlite3.Xsqlite3_mprintf(tls, ts+27337 /* "CREATE TABLE %Q(..." */, libc.VaList(bp+8, (*echo_vtab)(unsafe.Pointer(pVtab)).FzLogName)) rc = sqlite3.Xsqlite3_exec(tls, db, zSql, uintptr(0), uintptr(0), uintptr(0)) sqlite3.Xsqlite3_free(tls, zSql) if rc != SQLITE_OK { - *(*uintptr)(unsafe.Pointer(pzErr)) = sqlite3.Xsqlite3_mprintf(tls, ts /* "%s" */, libc.VaList(bp+32, sqlite3.Xsqlite3_errmsg(tls, db))) + *(*uintptr)(unsafe.Pointer(pzErr)) = sqlite3.Xsqlite3_mprintf(tls, ts /* "%s" */, libc.VaList(bp+16, sqlite3.Xsqlite3_errmsg(tls, db))) } } @@ -103395,8 +103395,8 @@ func echoDisconnect(tls *libc.TLS, pVtab uintptr) int32 { /* test8.c:527:12: */ // Echo virtual table module xDestroy method. func echoDestroy(tls *libc.TLS, pVtab uintptr) int32 { /* test8.c:535:12: */ - bp := tls.Alloc(16) - defer tls.Free(16) + bp := tls.Alloc(8) + defer tls.Free(8) var rc int32 = SQLITE_OK var p uintptr = pVtab @@ -103575,8 +103575,8 @@ func echoFilter(tls *libc.TLS, pVtabCursor uintptr, idxNum int32, idxStr uintptr // If the third argument, doFree, is true, then sqlite3_free() is // also called to free the buffer pointed to by zAppend. func string_concat(tls *libc.TLS, pzStr uintptr, zAppend uintptr, doFree int32, pRc uintptr) { /* test8.c:727:13: */ - bp := tls.Alloc(40) - defer tls.Free(40) + bp := tls.Alloc(24) + defer tls.Free(24) var zIn uintptr = *(*uintptr)(unsafe.Pointer(pzStr)) if (!(zAppend != 0) && (doFree != 0)) && (*(*int32)(unsafe.Pointer(pRc)) == SQLITE_OK) { @@ -103591,7 +103591,7 @@ func string_concat(tls *libc.TLS, pzStr uintptr, zAppend uintptr, doFree int32, zIn = sqlite3.Xsqlite3_mprintf(tls, ts+27324 /* "%s%s" */, libc.VaList(bp, zIn, zAppend)) sqlite3.Xsqlite3_free(tls, zTemp) } else { - zIn = sqlite3.Xsqlite3_mprintf(tls, ts /* "%s" */, libc.VaList(bp+24, zAppend)) + zIn = sqlite3.Xsqlite3_mprintf(tls, ts /* "%s" */, libc.VaList(bp+16, zAppend)) } if !(zIn != 0) { *(*int32)(unsafe.Pointer(pRc)) = SQLITE_NOMEM @@ -103612,8 +103612,8 @@ func string_concat(tls *libc.TLS, pzStr uintptr, zAppend uintptr, doFree int32, // (select all columns). Or, for version 3.10.0 and greater, the list of // columns identified by the pIdxInfo->colUsed mask. func echoSelectList(tls *libc.TLS, pTab uintptr, pIdxInfo uintptr) uintptr { /* test8.c:763:13: */ - bp := tls.Alloc(40) - defer tls.Free(40) + bp := tls.Alloc(24) + defer tls.Free(24) var zRet uintptr = uintptr(0) if sqlite3.Xsqlite3_libversion_number(tls) < 3010000 { @@ -103629,7 +103629,7 @@ func echoSelectList(tls *libc.TLS, pTab uintptr, pIdxInfo uintptr) uintptr { /* }()))) != 0 { zRet = sqlite3.Xsqlite3_mprintf(tls, ts+27437 /* "%z, %s" */, libc.VaList(bp, zRet, *(*uintptr)(unsafe.Pointer((*echo_vtab)(unsafe.Pointer(pTab)).FaCol + uintptr(i)*8)))) } else { - zRet = sqlite3.Xsqlite3_mprintf(tls, ts+27444 /* "%z, NULL" */, libc.VaList(bp+24, zRet)) + zRet = sqlite3.Xsqlite3_mprintf(tls, ts+27444 /* "%z, NULL" */, libc.VaList(bp+16, zRet)) } if !(zRet != 0) { break @@ -103660,22 +103660,22 @@ func echoSelectList(tls *libc.TLS, pTab uintptr, pIdxInfo uintptr) uintptr { /* // where the and are determined // by the contents of the structure pointed to by the pIdxInfo argument. func echoBestIndex(tls *libc.TLS, tab uintptr, pIdxInfo uintptr) int32 { /* test8.c:803:12: */ - bp := tls.Alloc(140) - defer tls.Free(140) + bp := tls.Alloc(100) + defer tls.Free(100) var ii int32 - *(*uintptr)(unsafe.Pointer(bp + 128 /* zQuery */)) = uintptr(0) + *(*uintptr)(unsafe.Pointer(bp + 88 /* zQuery */)) = uintptr(0) var zCol uintptr = uintptr(0) var zNew uintptr var nArg int32 = 0 var zSep uintptr = ts + 8838 /* "WHERE" */ var pVtab uintptr = tab - *(*uintptr)(unsafe.Pointer(bp + 120 /* pStmt */)) = uintptr(0) + *(*uintptr)(unsafe.Pointer(bp + 80 /* pStmt */)) = uintptr(0) var interp uintptr = (*echo_vtab)(unsafe.Pointer(pVtab)).Finterp var nRow int32 = 0 var useIdx int32 = 0 - *(*int32)(unsafe.Pointer(bp + 136 /* rc */)) = SQLITE_OK + *(*int32)(unsafe.Pointer(bp + 96 /* rc */)) = SQLITE_OK var useCost int32 = 0 var cost float64 = float64(0) var isIgnoreUsable int32 = 0 @@ -103695,20 +103695,20 @@ func echoBestIndex(tls *libc.TLS, tab uintptr, pIdxInfo uintptr) int32 { /* test cost = libc.Xatof(tls, tcl.XTcl_GetVar2(tls, interp, ts+27490 /* "echo_module_cost" */, uintptr(0), TCL_GLOBAL_ONLY)) useCost = 1 } else { - *(*uintptr)(unsafe.Pointer(bp + 128 /* zQuery */)) = sqlite3.Xsqlite3_mprintf(tls, ts+27507 /* "SELECT count(*) ..." */, libc.VaList(bp, (*echo_vtab)(unsafe.Pointer(pVtab)).FzTableName)) - if !(*(*uintptr)(unsafe.Pointer(bp + 128 /* zQuery */)) != 0) { + *(*uintptr)(unsafe.Pointer(bp + 88 /* zQuery */)) = sqlite3.Xsqlite3_mprintf(tls, ts+27507 /* "SELECT count(*) ..." */, libc.VaList(bp, (*echo_vtab)(unsafe.Pointer(pVtab)).FzTableName)) + if !(*(*uintptr)(unsafe.Pointer(bp + 88 /* zQuery */)) != 0) { return SQLITE_NOMEM } - *(*int32)(unsafe.Pointer(bp + 136 /* rc */)) = sqlite3.Xsqlite3_prepare(tls, (*echo_vtab)(unsafe.Pointer(pVtab)).Fdb, *(*uintptr)(unsafe.Pointer(bp + 128 /* zQuery */)), -1, bp+120 /* &pStmt */, uintptr(0)) - sqlite3.Xsqlite3_free(tls, *(*uintptr)(unsafe.Pointer(bp + 128 /* zQuery */))) - if *(*int32)(unsafe.Pointer(bp + 136 /* rc */)) != SQLITE_OK { - return *(*int32)(unsafe.Pointer(bp + 136 /* rc */)) + *(*int32)(unsafe.Pointer(bp + 96 /* rc */)) = sqlite3.Xsqlite3_prepare(tls, (*echo_vtab)(unsafe.Pointer(pVtab)).Fdb, *(*uintptr)(unsafe.Pointer(bp + 88 /* zQuery */)), -1, bp+80 /* &pStmt */, uintptr(0)) + sqlite3.Xsqlite3_free(tls, *(*uintptr)(unsafe.Pointer(bp + 88 /* zQuery */))) + if *(*int32)(unsafe.Pointer(bp + 96 /* rc */)) != SQLITE_OK { + return *(*int32)(unsafe.Pointer(bp + 96 /* rc */)) } - sqlite3.Xsqlite3_step(tls, *(*uintptr)(unsafe.Pointer(bp + 120 /* pStmt */))) - nRow = sqlite3.Xsqlite3_column_int(tls, *(*uintptr)(unsafe.Pointer(bp + 120 /* pStmt */)), 0) - *(*int32)(unsafe.Pointer(bp + 136 /* rc */)) = sqlite3.Xsqlite3_finalize(tls, *(*uintptr)(unsafe.Pointer(bp + 120 /* pStmt */))) - if *(*int32)(unsafe.Pointer(bp + 136 /* rc */)) != SQLITE_OK { - return *(*int32)(unsafe.Pointer(bp + 136 /* rc */)) + sqlite3.Xsqlite3_step(tls, *(*uintptr)(unsafe.Pointer(bp + 80 /* pStmt */))) + nRow = sqlite3.Xsqlite3_column_int(tls, *(*uintptr)(unsafe.Pointer(bp + 80 /* pStmt */)), 0) + *(*int32)(unsafe.Pointer(bp + 96 /* rc */)) = sqlite3.Xsqlite3_finalize(tls, *(*uintptr)(unsafe.Pointer(bp + 80 /* pStmt */))) + if *(*int32)(unsafe.Pointer(bp + 96 /* rc */)) != SQLITE_OK { + return *(*int32)(unsafe.Pointer(bp + 96 /* rc */)) } } @@ -103716,8 +103716,8 @@ func echoBestIndex(tls *libc.TLS, tab uintptr, pIdxInfo uintptr) int32 { /* test if !(zCol != 0) { return SQLITE_NOMEM } - *(*uintptr)(unsafe.Pointer(bp + 128 /* zQuery */)) = sqlite3.Xsqlite3_mprintf(tls, ts+27531 /* "SELECT rowid%z F..." */, libc.VaList(bp+16, zCol, (*echo_vtab)(unsafe.Pointer(pVtab)).FzTableName)) - if !(*(*uintptr)(unsafe.Pointer(bp + 128 /* zQuery */)) != 0) { + *(*uintptr)(unsafe.Pointer(bp + 88 /* zQuery */)) = sqlite3.Xsqlite3_mprintf(tls, ts+27531 /* "SELECT rowid%z F..." */, libc.VaList(bp+8, zCol, (*echo_vtab)(unsafe.Pointer(pVtab)).FzTableName)) + if !(*(*uintptr)(unsafe.Pointer(bp + 88 /* zQuery */)) != 0) { return SQLITE_NOMEM } @@ -103789,11 +103789,11 @@ func echoBestIndex(tls *libc.TLS, tab uintptr, pIdxInfo uintptr) int32 { /* test if zOp != 0 { if int32(*(*int8)(unsafe.Pointer(zOp))) == 'L' { zNew = sqlite3.Xsqlite3_mprintf(tls, ts+27587, /* " %s %s LIKE (SEL..." */ - libc.VaList(bp+40, zSep, zNewCol)) + libc.VaList(bp+24, zSep, zNewCol)) } else { - zNew = sqlite3.Xsqlite3_mprintf(tls, ts+27622 /* " %s %s %s ?" */, libc.VaList(bp+64, zSep, zNewCol, zOp)) + zNew = sqlite3.Xsqlite3_mprintf(tls, ts+27622 /* " %s %s %s ?" */, libc.VaList(bp+40, zSep, zNewCol, zOp)) } - string_concat(tls, bp+128 /* &zQuery */, zNew, 1, bp+136 /* &rc */) + string_concat(tls, bp+88 /* &zQuery */, zNew, 1, bp+96 /* &rc */) zSep = ts + 8865 /* "AND" */ (*sqlite3_index_constraint_usage)(unsafe.Pointer(pUsage)).FargvIndex = libc.PreIncInt32(&nArg, 1) (*sqlite3_index_constraint_usage)(unsafe.Pointer(pUsage)).Fomit = uint8(1) @@ -103818,20 +103818,20 @@ func echoBestIndex(tls *libc.TLS, tab uintptr, pIdxInfo uintptr) int32 { /* test } else { zDir = ts + 27639 /* "ASC" */ } - zNew = sqlite3.Xsqlite3_mprintf(tls, ts+27643 /* " ORDER BY %s %s" */, libc.VaList(bp+96, zNewCol, zDir)) - string_concat(tls, bp+128 /* &zQuery */, zNew, 1, bp+136 /* &rc */) + zNew = sqlite3.Xsqlite3_mprintf(tls, ts+27643 /* " ORDER BY %s %s" */, libc.VaList(bp+64, zNewCol, zDir)) + string_concat(tls, bp+88 /* &zQuery */, zNew, 1, bp+96 /* &rc */) (*sqlite3_index_info)(unsafe.Pointer(pIdxInfo)).ForderByConsumed = 1 } appendToEchoModule(tls, (*echo_vtab)(unsafe.Pointer(pVtab)).Finterp, ts+27479 /* "xBestIndex" */) - appendToEchoModule(tls, (*echo_vtab)(unsafe.Pointer(pVtab)).Finterp, *(*uintptr)(unsafe.Pointer(bp + 128 /* zQuery */))) + appendToEchoModule(tls, (*echo_vtab)(unsafe.Pointer(pVtab)).Finterp, *(*uintptr)(unsafe.Pointer(bp + 88 /* zQuery */))) - if !(*(*uintptr)(unsafe.Pointer(bp + 128 /* zQuery */)) != 0) { - return *(*int32)(unsafe.Pointer(bp + 136 /* rc */)) + if !(*(*uintptr)(unsafe.Pointer(bp + 88 /* zQuery */)) != 0) { + return *(*int32)(unsafe.Pointer(bp + 96 /* rc */)) } - (*sqlite3_index_info)(unsafe.Pointer(pIdxInfo)).FidxNum = hashString(tls, *(*uintptr)(unsafe.Pointer(bp + 128 /* zQuery */))) - (*sqlite3_index_info)(unsafe.Pointer(pIdxInfo)).FidxStr = *(*uintptr)(unsafe.Pointer(bp + 128 /* zQuery */)) + (*sqlite3_index_info)(unsafe.Pointer(pIdxInfo)).FidxNum = hashString(tls, *(*uintptr)(unsafe.Pointer(bp + 88 /* zQuery */))) + (*sqlite3_index_info)(unsafe.Pointer(pIdxInfo)).FidxStr = *(*uintptr)(unsafe.Pointer(bp + 88 /* zQuery */)) (*sqlite3_index_info)(unsafe.Pointer(pIdxInfo)).FneedToFreeIdxStr = 1 if useCost != 0 { (*sqlite3_index_info)(unsafe.Pointer(pIdxInfo)).FestimatedCost = cost @@ -103845,7 +103845,7 @@ func echoBestIndex(tls *libc.TLS, tab uintptr, pIdxInfo uintptr) int32 { /* test } else { (*sqlite3_index_info)(unsafe.Pointer(pIdxInfo)).FestimatedCost = float64(nRow) } - return *(*int32)(unsafe.Pointer(bp + 136 /* rc */)) + return *(*int32)(unsafe.Pointer(bp + 96 /* rc */)) } // The xUpdate method for echo module virtual tables. @@ -103861,18 +103861,18 @@ func echoBestIndex(tls *libc.TLS, tab uintptr, pIdxInfo uintptr) int32 { /* test // NULL INTEGER (nCol args) INSERT (incl. rowid value) // func echoUpdate(tls *libc.TLS, tab uintptr, nData int32, apData uintptr, pRowid uintptr) int32 { /* test8.c:969:5: */ - bp := tls.Alloc(200) - defer tls.Free(200) + bp := tls.Alloc(136) + defer tls.Free(136) var pVtab uintptr = tab var db uintptr = (*echo_vtab)(unsafe.Pointer(pVtab)).Fdb - *(*int32)(unsafe.Pointer(bp + 168 /* rc */)) = SQLITE_OK + *(*int32)(unsafe.Pointer(bp + 104 /* rc */)) = SQLITE_OK - *(*uintptr)(unsafe.Pointer(bp + 192 /* pStmt */)) = uintptr(0) - *(*uintptr)(unsafe.Pointer(bp + 160 /* z */)) = uintptr(0) // SQL statement to execute - var bindArgZero int32 = 0 // True to bind apData[0] to sql var no. nData - var bindArgOne int32 = 0 // True to bind apData[1] to sql var no. 1 - var i int32 // Counter variable used by for loops + *(*uintptr)(unsafe.Pointer(bp + 128 /* pStmt */)) = uintptr(0) + *(*uintptr)(unsafe.Pointer(bp + 96 /* z */)) = uintptr(0) // SQL statement to execute + var bindArgZero int32 = 0 // True to bind apData[0] to sql var no. nData + var bindArgOne int32 = 0 // True to bind apData[1] to sql var no. 1 + var i int32 // Counter variable used by for loops // Ticket #3083 - make sure we always start a transaction prior to // making any changes to a virtual table @@ -103884,115 +103884,115 @@ func echoUpdate(tls *libc.TLS, tab uintptr, nData int32, apData uintptr, pRowid // If apData[0] is an integer and nData>1 then do an UPDATE if (nData > 1) && (sqlite3.Xsqlite3_value_type(tls, *(*uintptr)(unsafe.Pointer(apData))) == SQLITE_INTEGER) { var zSep uintptr = ts + 27667 /* " SET" */ - *(*uintptr)(unsafe.Pointer(bp + 160 /* z */)) = sqlite3.Xsqlite3_mprintf(tls, ts+27672 /* "UPDATE %Q" */, libc.VaList(bp, (*echo_vtab)(unsafe.Pointer(pVtab)).FzTableName)) - if !(*(*uintptr)(unsafe.Pointer(bp + 160 /* z */)) != 0) { - *(*int32)(unsafe.Pointer(bp + 168 /* rc */)) = SQLITE_NOMEM + *(*uintptr)(unsafe.Pointer(bp + 96 /* z */)) = sqlite3.Xsqlite3_mprintf(tls, ts+27672 /* "UPDATE %Q" */, libc.VaList(bp, (*echo_vtab)(unsafe.Pointer(pVtab)).FzTableName)) + if !(*(*uintptr)(unsafe.Pointer(bp + 96 /* z */)) != 0) { + *(*int32)(unsafe.Pointer(bp + 104 /* rc */)) = SQLITE_NOMEM } bindArgOne = (libc.Bool32((*(*uintptr)(unsafe.Pointer(apData + 1*8)) != 0) && (sqlite3.Xsqlite3_value_type(tls, *(*uintptr)(unsafe.Pointer(apData + 1*8))) == SQLITE_INTEGER))) bindArgZero = 1 if bindArgOne != 0 { - string_concat(tls, bp+160 /* &z */, ts+27682 /* " SET rowid=?1 " */, 0, bp+168 /* &rc */) + string_concat(tls, bp+96 /* &z */, ts+27682 /* " SET rowid=?1 " */, 0, bp+104 /* &rc */) zSep = ts + 4619 /* "," */ } for i = 2; i < nData; i++ { if *(*uintptr)(unsafe.Pointer(apData + uintptr(i)*8)) == uintptr(0) { continue } - string_concat(tls, bp+160 /* &z */, sqlite3.Xsqlite3_mprintf(tls, - ts+27697 /* "%s %Q=?%d" */, libc.VaList(bp+16, zSep, *(*uintptr)(unsafe.Pointer((*echo_vtab)(unsafe.Pointer(pVtab)).FaCol + uintptr((i-2))*8)), i)), 1, bp+168 /* &rc */) + string_concat(tls, bp+96 /* &z */, sqlite3.Xsqlite3_mprintf(tls, + ts+27697 /* "%s %Q=?%d" */, libc.VaList(bp+8, zSep, *(*uintptr)(unsafe.Pointer((*echo_vtab)(unsafe.Pointer(pVtab)).FaCol + uintptr((i-2))*8)), i)), 1, bp+104 /* &rc */) zSep = ts + 4619 /* "," */ } - string_concat(tls, bp+160 /* &z */, sqlite3.Xsqlite3_mprintf(tls, ts+27707 /* " WHERE rowid=?%d" */, libc.VaList(bp+48, nData)), 1, bp+168 /* &rc */) + string_concat(tls, bp+96 /* &z */, sqlite3.Xsqlite3_mprintf(tls, ts+27707 /* " WHERE rowid=?%d" */, libc.VaList(bp+32, nData)), 1, bp+104 /* &rc */) } else if (nData == 1) && (sqlite3.Xsqlite3_value_type(tls, *(*uintptr)(unsafe.Pointer(apData))) == SQLITE_INTEGER) { - *(*uintptr)(unsafe.Pointer(bp + 160 /* z */)) = sqlite3.Xsqlite3_mprintf(tls, ts+27724 /* "DELETE FROM %Q W..." */, libc.VaList(bp+64, (*echo_vtab)(unsafe.Pointer(pVtab)).FzTableName)) - if !(*(*uintptr)(unsafe.Pointer(bp + 160 /* z */)) != 0) { - *(*int32)(unsafe.Pointer(bp + 168 /* rc */)) = SQLITE_NOMEM + *(*uintptr)(unsafe.Pointer(bp + 96 /* z */)) = sqlite3.Xsqlite3_mprintf(tls, ts+27724 /* "DELETE FROM %Q W..." */, libc.VaList(bp+40, (*echo_vtab)(unsafe.Pointer(pVtab)).FzTableName)) + if !(*(*uintptr)(unsafe.Pointer(bp + 96 /* z */)) != 0) { + *(*int32)(unsafe.Pointer(bp + 104 /* rc */)) = SQLITE_NOMEM } bindArgZero = 1 } else if (nData > 2) && (sqlite3.Xsqlite3_value_type(tls, *(*uintptr)(unsafe.Pointer(apData))) == SQLITE_NULL) { var ii int32 - *(*uintptr)(unsafe.Pointer(bp + 176 /* zInsert */)) = uintptr(0) - *(*uintptr)(unsafe.Pointer(bp + 184 /* zValues */)) = uintptr(0) + *(*uintptr)(unsafe.Pointer(bp + 112 /* zInsert */)) = uintptr(0) + *(*uintptr)(unsafe.Pointer(bp + 120 /* zValues */)) = uintptr(0) - *(*uintptr)(unsafe.Pointer(bp + 176 /* zInsert */)) = sqlite3.Xsqlite3_mprintf(tls, ts+27756 /* "INSERT INTO %Q (" */, libc.VaList(bp+80, (*echo_vtab)(unsafe.Pointer(pVtab)).FzTableName)) - if !(*(*uintptr)(unsafe.Pointer(bp + 176 /* zInsert */)) != 0) { - *(*int32)(unsafe.Pointer(bp + 168 /* rc */)) = SQLITE_NOMEM + *(*uintptr)(unsafe.Pointer(bp + 112 /* zInsert */)) = sqlite3.Xsqlite3_mprintf(tls, ts+27756 /* "INSERT INTO %Q (" */, libc.VaList(bp+48, (*echo_vtab)(unsafe.Pointer(pVtab)).FzTableName)) + if !(*(*uintptr)(unsafe.Pointer(bp + 112 /* zInsert */)) != 0) { + *(*int32)(unsafe.Pointer(bp + 104 /* rc */)) = SQLITE_NOMEM } if sqlite3.Xsqlite3_value_type(tls, *(*uintptr)(unsafe.Pointer(apData + 1*8))) == SQLITE_INTEGER { bindArgOne = 1 - *(*uintptr)(unsafe.Pointer(bp + 184 /* zValues */)) = sqlite3.Xsqlite3_mprintf(tls, ts+3266 /* "?" */, 0) - string_concat(tls, bp+176 /* &zInsert */, ts+27554 /* "rowid" */, 0, bp+168 /* &rc */) + *(*uintptr)(unsafe.Pointer(bp + 120 /* zValues */)) = sqlite3.Xsqlite3_mprintf(tls, ts+3266 /* "?" */, 0) + string_concat(tls, bp+112 /* &zInsert */, ts+27554 /* "rowid" */, 0, bp+104 /* &rc */) } for ii = 2; ii < nData; ii++ { - string_concat(tls, bp+176, /* &zInsert */ - sqlite3.Xsqlite3_mprintf(tls, ts+27773 /* "%s%Q" */, libc.VaList(bp+96, func() uintptr { - if *(*uintptr)(unsafe.Pointer(bp + 184 /* zValues */)) != 0 { + string_concat(tls, bp+112, /* &zInsert */ + sqlite3.Xsqlite3_mprintf(tls, ts+27773 /* "%s%Q" */, libc.VaList(bp+56, func() uintptr { + if *(*uintptr)(unsafe.Pointer(bp + 120 /* zValues */)) != 0 { return ts + 90 /* ", " */ } return ts + 489 /* "" */ - }(), *(*uintptr)(unsafe.Pointer((*echo_vtab)(unsafe.Pointer(pVtab)).FaCol + uintptr((ii-2))*8)))), 1, bp+168 /* &rc */) - string_concat(tls, bp+184, /* &zValues */ - sqlite3.Xsqlite3_mprintf(tls, ts+27778 /* "%s?%d" */, libc.VaList(bp+120, func() uintptr { - if *(*uintptr)(unsafe.Pointer(bp + 184 /* zValues */)) != 0 { + }(), *(*uintptr)(unsafe.Pointer((*echo_vtab)(unsafe.Pointer(pVtab)).FaCol + uintptr((ii-2))*8)))), 1, bp+104 /* &rc */) + string_concat(tls, bp+120, /* &zValues */ + sqlite3.Xsqlite3_mprintf(tls, ts+27778 /* "%s?%d" */, libc.VaList(bp+72, func() uintptr { + if *(*uintptr)(unsafe.Pointer(bp + 120 /* zValues */)) != 0 { return ts + 90 /* ", " */ } return ts + 489 /* "" */ - }(), ii)), 1, bp+168 /* &rc */) + }(), ii)), 1, bp+104 /* &rc */) } - string_concat(tls, bp+160 /* &z */, *(*uintptr)(unsafe.Pointer(bp + 176 /* zInsert */)), 1, bp+168 /* &rc */) - string_concat(tls, bp+160 /* &z */, ts+27784 /* ") VALUES(" */, 0, bp+168 /* &rc */) - string_concat(tls, bp+160 /* &z */, *(*uintptr)(unsafe.Pointer(bp + 184 /* zValues */)), 1, bp+168 /* &rc */) - string_concat(tls, bp+160 /* &z */, ts+490 /* ")" */, 0, bp+168 /* &rc */) + string_concat(tls, bp+96 /* &z */, *(*uintptr)(unsafe.Pointer(bp + 112 /* zInsert */)), 1, bp+104 /* &rc */) + string_concat(tls, bp+96 /* &z */, ts+27784 /* ") VALUES(" */, 0, bp+104 /* &rc */) + string_concat(tls, bp+96 /* &z */, *(*uintptr)(unsafe.Pointer(bp + 120 /* zValues */)), 1, bp+104 /* &rc */) + string_concat(tls, bp+96 /* &z */, ts+490 /* ")" */, 0, bp+104 /* &rc */) } else { return SQLITE_ERROR } - if *(*int32)(unsafe.Pointer(bp + 168 /* rc */)) == SQLITE_OK { - *(*int32)(unsafe.Pointer(bp + 168 /* rc */)) = sqlite3.Xsqlite3_prepare(tls, db, *(*uintptr)(unsafe.Pointer(bp + 160 /* z */)), -1, bp+192 /* &pStmt */, uintptr(0)) + if *(*int32)(unsafe.Pointer(bp + 104 /* rc */)) == SQLITE_OK { + *(*int32)(unsafe.Pointer(bp + 104 /* rc */)) = sqlite3.Xsqlite3_prepare(tls, db, *(*uintptr)(unsafe.Pointer(bp + 96 /* z */)), -1, bp+128 /* &pStmt */, uintptr(0)) } - sqlite3.Xsqlite3_free(tls, *(*uintptr)(unsafe.Pointer(bp + 160 /* z */))) - if *(*int32)(unsafe.Pointer(bp + 168 /* rc */)) == SQLITE_OK { + sqlite3.Xsqlite3_free(tls, *(*uintptr)(unsafe.Pointer(bp + 96 /* z */))) + if *(*int32)(unsafe.Pointer(bp + 104 /* rc */)) == SQLITE_OK { if bindArgZero != 0 { - sqlite3.Xsqlite3_bind_value(tls, *(*uintptr)(unsafe.Pointer(bp + 192 /* pStmt */)), nData, *(*uintptr)(unsafe.Pointer(apData))) + sqlite3.Xsqlite3_bind_value(tls, *(*uintptr)(unsafe.Pointer(bp + 128 /* pStmt */)), nData, *(*uintptr)(unsafe.Pointer(apData))) } if bindArgOne != 0 { - sqlite3.Xsqlite3_bind_value(tls, *(*uintptr)(unsafe.Pointer(bp + 192 /* pStmt */)), 1, *(*uintptr)(unsafe.Pointer(apData + 1*8))) + sqlite3.Xsqlite3_bind_value(tls, *(*uintptr)(unsafe.Pointer(bp + 128 /* pStmt */)), 1, *(*uintptr)(unsafe.Pointer(apData + 1*8))) } - for i = 2; (i < nData) && (*(*int32)(unsafe.Pointer(bp + 168 /* rc */)) == SQLITE_OK); i++ { + for i = 2; (i < nData) && (*(*int32)(unsafe.Pointer(bp + 104 /* rc */)) == SQLITE_OK); i++ { if *(*uintptr)(unsafe.Pointer(apData + uintptr(i)*8)) != 0 { - *(*int32)(unsafe.Pointer(bp + 168 /* rc */)) = sqlite3.Xsqlite3_bind_value(tls, *(*uintptr)(unsafe.Pointer(bp + 192 /* pStmt */)), i, *(*uintptr)(unsafe.Pointer(apData + uintptr(i)*8))) + *(*int32)(unsafe.Pointer(bp + 104 /* rc */)) = sqlite3.Xsqlite3_bind_value(tls, *(*uintptr)(unsafe.Pointer(bp + 128 /* pStmt */)), i, *(*uintptr)(unsafe.Pointer(apData + uintptr(i)*8))) } } - if *(*int32)(unsafe.Pointer(bp + 168 /* rc */)) == SQLITE_OK { - sqlite3.Xsqlite3_step(tls, *(*uintptr)(unsafe.Pointer(bp + 192 /* pStmt */))) - *(*int32)(unsafe.Pointer(bp + 168 /* rc */)) = sqlite3.Xsqlite3_finalize(tls, *(*uintptr)(unsafe.Pointer(bp + 192 /* pStmt */))) + if *(*int32)(unsafe.Pointer(bp + 104 /* rc */)) == SQLITE_OK { + sqlite3.Xsqlite3_step(tls, *(*uintptr)(unsafe.Pointer(bp + 128 /* pStmt */))) + *(*int32)(unsafe.Pointer(bp + 104 /* rc */)) = sqlite3.Xsqlite3_finalize(tls, *(*uintptr)(unsafe.Pointer(bp + 128 /* pStmt */))) } else { - sqlite3.Xsqlite3_finalize(tls, *(*uintptr)(unsafe.Pointer(bp + 192 /* pStmt */))) + sqlite3.Xsqlite3_finalize(tls, *(*uintptr)(unsafe.Pointer(bp + 128 /* pStmt */))) } } - if (pRowid != 0) && (*(*int32)(unsafe.Pointer(bp + 168 /* rc */)) == SQLITE_OK) { + if (pRowid != 0) && (*(*int32)(unsafe.Pointer(bp + 104 /* rc */)) == SQLITE_OK) { *(*sqlite_int64)(unsafe.Pointer(pRowid)) = sqlite3.Xsqlite3_last_insert_rowid(tls, db) } - if *(*int32)(unsafe.Pointer(bp + 168 /* rc */)) != SQLITE_OK { - (*sqlite3_vtab)(unsafe.Pointer(tab)).FzErrMsg = sqlite3.Xsqlite3_mprintf(tls, ts+27167 /* "echo-vtab-error:..." */, libc.VaList(bp+144, sqlite3.Xsqlite3_errmsg(tls, db))) + if *(*int32)(unsafe.Pointer(bp + 104 /* rc */)) != SQLITE_OK { + (*sqlite3_vtab)(unsafe.Pointer(tab)).FzErrMsg = sqlite3.Xsqlite3_mprintf(tls, ts+27167 /* "echo-vtab-error:..." */, libc.VaList(bp+88, sqlite3.Xsqlite3_errmsg(tls, db))) } - return *(*int32)(unsafe.Pointer(bp + 168 /* rc */)) + return *(*int32)(unsafe.Pointer(bp + 104 /* rc */)) } // xBegin, xSync, xCommit and xRollback callbacks for echo module // virtual tables. Do nothing other than add the name of the callback // to the $::echo_module Tcl variable. func echoTransactionCall(tls *libc.TLS, tab uintptr, zCall uintptr) int32 { /* test8.c:1102:12: */ - bp := tls.Alloc(16) - defer tls.Free(16) + bp := tls.Alloc(8) + defer tls.Free(8) var z uintptr var pVtab uintptr = tab @@ -104149,8 +104149,8 @@ func echoFindFunction(tls *libc.TLS, vtab uintptr, nArg int32, zFuncName uintptr } func echoRename(tls *libc.TLS, vtab uintptr, zNewName uintptr) int32 { /* test8.c:1261:12: */ - bp := tls.Alloc(32) - defer tls.Free(32) + bp := tls.Alloc(24) + defer tls.Free(24) var rc int32 = SQLITE_OK var p uintptr = vtab @@ -104346,11 +104346,11 @@ var aObjCmd2 = [2]struct { // c_collation_test func c_collation_test(tls *libc.TLS, clientData ClientData, interp uintptr, objc int32, objv uintptr) int32 { /* test9.c:29:26: */ - bp := tls.Alloc(40) - defer tls.Free(40) + bp := tls.Alloc(32) + defer tls.Free(32) var zErrFunction uintptr - // var db uintptr at bp+32, 8 + // var db uintptr at bp+24, 8 var rc int32 zErrFunction = ts + 28031 /* "N/A" */ @@ -104363,7 +104363,7 @@ __1: ; // Open a database. - rc = sqlite3.Xsqlite3_open(tls, ts+1662 /* ":memory:" */, bp+32 /* &db */) + rc = sqlite3.Xsqlite3_open(tls, ts+1662 /* ":memory:" */, bp+24 /* &db */) if !(rc != SQLITE_OK) { goto __2 } @@ -104372,17 +104372,17 @@ __1: __2: ; - rc = sqlite3.Xsqlite3_create_collation(tls, *(*uintptr)(unsafe.Pointer(bp + 32 /* db */)), ts+13875 /* "collate" */, 456, uintptr(0), uintptr(0)) + rc = sqlite3.Xsqlite3_create_collation(tls, *(*uintptr)(unsafe.Pointer(bp + 24 /* db */)), ts+13875 /* "collate" */, 456, uintptr(0), uintptr(0)) if !(rc != SQLITE_MISUSE) { goto __3 } - sqlite3.Xsqlite3_close(tls, *(*uintptr)(unsafe.Pointer(bp + 32 /* db */))) + sqlite3.Xsqlite3_close(tls, *(*uintptr)(unsafe.Pointer(bp + 24 /* db */))) zErrFunction = ts + 28035 /* "sqlite3_create_c..." */ goto error_out __3: ; - sqlite3.Xsqlite3_close(tls, *(*uintptr)(unsafe.Pointer(bp + 32 /* db */))) + sqlite3.Xsqlite3_close(tls, *(*uintptr)(unsafe.Pointer(bp + 24 /* db */))) return TCL_OK error_out: @@ -104393,8 +104393,8 @@ error_out: // c_realloc_test func c_realloc_test(tls *libc.TLS, clientData ClientData, interp uintptr, objc int32, objv uintptr) int32 { /* test9.c:70:26: */ - bp := tls.Alloc(32) - defer tls.Free(32) + bp := tls.Alloc(24) + defer tls.Free(24) var p uintptr var zErrFunction uintptr @@ -104438,17 +104438,17 @@ error_out: // c_misuse_test func c_misuse_test(tls *libc.TLS, clientData ClientData, interp uintptr, objc int32, objv uintptr) int32 { /* test9.c:111:26: */ - bp := tls.Alloc(48) - defer tls.Free(48) + bp := tls.Alloc(40) + defer tls.Free(40) var zErrFunction uintptr - // var db uintptr at bp+32, 8 + // var db uintptr at bp+24, 8 - // var pStmt uintptr at bp+40, 8 + // var pStmt uintptr at bp+32, 8 var rc int32 zErrFunction = ts + 28031 /* "N/A" */ - *(*uintptr)(unsafe.Pointer(bp + 32 /* db */)) = uintptr(0) + *(*uintptr)(unsafe.Pointer(bp + 24 /* db */)) = uintptr(0) if !(objc != 1) { goto __1 @@ -104460,7 +104460,7 @@ __1: // Open a database. Then close it again. We need to do this so that // we have a "closed database handle" to pass to various API functions. - rc = sqlite3.Xsqlite3_open(tls, ts+1662 /* ":memory:" */, bp+32 /* &db */) + rc = sqlite3.Xsqlite3_open(tls, ts+1662 /* ":memory:" */, bp+24 /* &db */) if !(rc != SQLITE_OK) { goto __2 } @@ -104468,9 +104468,9 @@ __1: goto error_out __2: ; - sqlite3.Xsqlite3_close(tls, *(*uintptr)(unsafe.Pointer(bp + 32 /* db */))) + sqlite3.Xsqlite3_close(tls, *(*uintptr)(unsafe.Pointer(bp + 24 /* db */))) - rc = sqlite3.Xsqlite3_errcode(tls, *(*uintptr)(unsafe.Pointer(bp + 32 /* db */))) + rc = sqlite3.Xsqlite3_errcode(tls, *(*uintptr)(unsafe.Pointer(bp + 24 /* db */))) if !(rc != SQLITE_MISUSE) { goto __3 } @@ -104479,8 +104479,8 @@ __2: __3: ; - *(*uintptr)(unsafe.Pointer(bp + 40 /* pStmt */)) = uintptr(1234) - rc = sqlite3.Xsqlite3_prepare(tls, *(*uintptr)(unsafe.Pointer(bp + 32 /* db */)), uintptr(0), 0, bp+40 /* &pStmt */, uintptr(0)) + *(*uintptr)(unsafe.Pointer(bp + 32 /* pStmt */)) = uintptr(1234) + rc = sqlite3.Xsqlite3_prepare(tls, *(*uintptr)(unsafe.Pointer(bp + 24 /* db */)), uintptr(0), 0, bp+32 /* &pStmt */, uintptr(0)) if !(rc != SQLITE_MISUSE) { goto __4 } @@ -104490,8 +104490,8 @@ __4: ; // Verify that pStmt is zeroed even on a MISUSE error - *(*uintptr)(unsafe.Pointer(bp + 40 /* pStmt */)) = uintptr(1234) - rc = sqlite3.Xsqlite3_prepare_v2(tls, *(*uintptr)(unsafe.Pointer(bp + 32 /* db */)), uintptr(0), 0, bp+40 /* &pStmt */, uintptr(0)) + *(*uintptr)(unsafe.Pointer(bp + 32 /* pStmt */)) = uintptr(1234) + rc = sqlite3.Xsqlite3_prepare_v2(tls, *(*uintptr)(unsafe.Pointer(bp + 24 /* db */)), uintptr(0), 0, bp+32 /* &pStmt */, uintptr(0)) if !(rc != SQLITE_MISUSE) { goto __5 } @@ -104500,8 +104500,8 @@ __4: __5: ; - *(*uintptr)(unsafe.Pointer(bp + 40 /* pStmt */)) = uintptr(1234) - rc = sqlite3.Xsqlite3_prepare16(tls, *(*uintptr)(unsafe.Pointer(bp + 32 /* db */)), uintptr(0), 0, bp+40 /* &pStmt */, uintptr(0)) + *(*uintptr)(unsafe.Pointer(bp + 32 /* pStmt */)) = uintptr(1234) + rc = sqlite3.Xsqlite3_prepare16(tls, *(*uintptr)(unsafe.Pointer(bp + 24 /* db */)), uintptr(0), 0, bp+32 /* &pStmt */, uintptr(0)) if !(rc != SQLITE_MISUSE) { goto __6 } @@ -104510,8 +104510,8 @@ __5: __6: ; - *(*uintptr)(unsafe.Pointer(bp + 40 /* pStmt */)) = uintptr(1234) - rc = sqlite3.Xsqlite3_prepare16_v2(tls, *(*uintptr)(unsafe.Pointer(bp + 32 /* db */)), uintptr(0), 0, bp+40 /* &pStmt */, uintptr(0)) + *(*uintptr)(unsafe.Pointer(bp + 32 /* pStmt */)) = uintptr(1234) + rc = sqlite3.Xsqlite3_prepare16_v2(tls, *(*uintptr)(unsafe.Pointer(bp + 24 /* db */)), uintptr(0), 0, bp+32 /* &pStmt */, uintptr(0)) if !(rc != SQLITE_MISUSE) { goto __7 } @@ -104683,13 +104683,13 @@ func backupTestFinish(tls *libc.TLS, clientData ClientData) { /* test_backup.c:1 // sqlite3_backup CMDNAME DESTHANDLE DESTNAME SRCHANDLE SRCNAME // func backupTestInit(tls *libc.TLS, clientData ClientData, interp uintptr, objc int32, objv uintptr) int32 { /* test_backup.c:117:26: */ - bp := tls.Alloc(40) - defer tls.Free(40) + bp := tls.Alloc(32) + defer tls.Free(32) var pBackup uintptr - // var pDestDb uintptr at bp+24, 8 + // var pDestDb uintptr at bp+16, 8 - // var pSrcDb uintptr at bp+32, 8 + // var pSrcDb uintptr at bp+24, 8 var zDestName uintptr var zSrcName uintptr @@ -104702,12 +104702,12 @@ func backupTestInit(tls *libc.TLS, clientData ClientData, interp uintptr, objc i } zCmd = tcl.XTcl_GetString(tls, *(*uintptr)(unsafe.Pointer(objv + 1*8))) - getDbPointer(tls, interp, tcl.XTcl_GetString(tls, *(*uintptr)(unsafe.Pointer(objv + 2*8))), bp+24 /* &pDestDb */) + getDbPointer(tls, interp, tcl.XTcl_GetString(tls, *(*uintptr)(unsafe.Pointer(objv + 2*8))), bp+16 /* &pDestDb */) zDestName = tcl.XTcl_GetString(tls, *(*uintptr)(unsafe.Pointer(objv + 3*8))) - getDbPointer(tls, interp, tcl.XTcl_GetString(tls, *(*uintptr)(unsafe.Pointer(objv + 4*8))), bp+32 /* &pSrcDb */) + getDbPointer(tls, interp, tcl.XTcl_GetString(tls, *(*uintptr)(unsafe.Pointer(objv + 4*8))), bp+24 /* &pSrcDb */) zSrcName = tcl.XTcl_GetString(tls, *(*uintptr)(unsafe.Pointer(objv + 5*8))) - pBackup = sqlite3.Xsqlite3_backup_init(tls, *(*uintptr)(unsafe.Pointer(bp + 24 /* pDestDb */)), zDestName, *(*uintptr)(unsafe.Pointer(bp + 32 /* pSrcDb */)), zSrcName) + pBackup = sqlite3.Xsqlite3_backup_init(tls, *(*uintptr)(unsafe.Pointer(bp + 16 /* pDestDb */)), zDestName, *(*uintptr)(unsafe.Pointer(bp + 24 /* pSrcDb */)), zSrcName) if !(pBackup != 0) { tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp, ts+28270 /* "sqlite3_backup_i..." */, 0)) return TCL_ERROR @@ -104802,8 +104802,8 @@ func tclDequote(tls *libc.TLS, z uintptr) { /* test_bestindex.c:126:13: */ // argv[2] -> table name // argv[...] -> other module argument fields. func tclConnect(tls *libc.TLS, db uintptr, pAux uintptr, argc int32, argv uintptr, ppVtab uintptr, pzErr uintptr) int32 { /* test_bestindex.c:168:12: */ - bp := tls.Alloc(16) - defer tls.Free(16) + bp := tls.Alloc(8) + defer tls.Free(8) var interp uintptr = pAux var pTab uintptr = uintptr(0) @@ -104889,8 +104889,8 @@ func tclClose(tls *libc.TLS, cur uintptr) int32 { /* test_bestindex.c:246:12: */ } func tclNext(tls *libc.TLS, pVtabCursor uintptr) int32 { /* test_bestindex.c:255:12: */ - bp := tls.Alloc(16) - defer tls.Free(16) + bp := tls.Alloc(8) + defer tls.Free(8) var pCsr uintptr = pVtabCursor if (*tcl_cursor)(unsafe.Pointer(pCsr)).FpStmt != 0 { @@ -104910,8 +104910,8 @@ func tclNext(tls *libc.TLS, pVtabCursor uintptr) int32 { /* test_bestindex.c:255 } func tclFilter(tls *libc.TLS, pVtabCursor uintptr, idxNum int32, idxStr uintptr, argc int32, argv uintptr) int32 { /* test_bestindex.c:273:12: */ - bp := tls.Alloc(80) - defer tls.Free(80) + bp := tls.Alloc(48) + defer tls.Free(48) var pCsr uintptr = pVtabCursor var pTab uintptr = (*sqlite3_vtab_cursor)(unsafe.Pointer(pVtabCursor)).FpVtab @@ -104963,28 +104963,28 @@ func tclFilter(tls *libc.TLS, pVtabCursor uintptr, idxNum int32, idxStr uintptr, // // "sql" (SQL statement to return data) var pRes uintptr = tcl.XTcl_GetObjResult(tls, interp) - *(*uintptr)(unsafe.Pointer(bp + 72 /* apElem */)) = uintptr(0) - // var nElem int32 at bp+64, 4 + *(*uintptr)(unsafe.Pointer(bp + 40 /* apElem */)) = uintptr(0) + // var nElem int32 at bp+32, 4 - rc = tcl.XTcl_ListObjGetElements(tls, interp, pRes, bp+64 /* &nElem */, bp+72 /* &apElem */) + rc = tcl.XTcl_ListObjGetElements(tls, interp, pRes, bp+32 /* &nElem */, bp+40 /* &apElem */) if rc != TCL_OK { var zErr uintptr = tcl.XTcl_GetStringResult(tls, interp) rc = SQLITE_ERROR - (*tcl_vtab)(unsafe.Pointer(pTab)).Fbase.FzErrMsg = sqlite3.Xsqlite3_mprintf(tls, ts /* "%s" */, libc.VaList(bp+16, zErr)) + (*tcl_vtab)(unsafe.Pointer(pTab)).Fbase.FzErrMsg = sqlite3.Xsqlite3_mprintf(tls, ts /* "%s" */, libc.VaList(bp+8, zErr)) } else { - for ii = 0; (rc == SQLITE_OK) && (ii < *(*int32)(unsafe.Pointer(bp + 64 /* nElem */))); ii = ii + (2) { - var zCmd uintptr = tcl.XTcl_GetString(tls, *(*uintptr)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp + 72 /* apElem */)) + uintptr(ii)*8))) - var p uintptr = *(*uintptr)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp + 72 /* apElem */)) + uintptr((ii+1))*8)) + for ii = 0; (rc == SQLITE_OK) && (ii < *(*int32)(unsafe.Pointer(bp + 32 /* nElem */))); ii = ii + (2) { + var zCmd uintptr = tcl.XTcl_GetString(tls, *(*uintptr)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp + 40 /* apElem */)) + uintptr(ii)*8))) + var p uintptr = *(*uintptr)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp + 40 /* apElem */)) + uintptr((ii+1))*8)) if sqlite3.Xsqlite3_stricmp(tls, ts+1808 /* "sql" */, zCmd) == 0 { var zSql uintptr = tcl.XTcl_GetString(tls, p) rc = sqlite3.Xsqlite3_prepare_v2(tls, (*tcl_vtab)(unsafe.Pointer(pTab)).Fdb, zSql, -1, (pCsr + 8 /* &.pStmt */), uintptr(0)) if rc != SQLITE_OK { var zErr uintptr = sqlite3.Xsqlite3_errmsg(tls, (*tcl_vtab)(unsafe.Pointer(pTab)).Fdb) - (*tcl_vtab)(unsafe.Pointer(pTab)).Fbase.FzErrMsg = sqlite3.Xsqlite3_mprintf(tls, ts+28340 /* "unexpected: %s" */, libc.VaList(bp+32, zErr)) + (*tcl_vtab)(unsafe.Pointer(pTab)).Fbase.FzErrMsg = sqlite3.Xsqlite3_mprintf(tls, ts+28340 /* "unexpected: %s" */, libc.VaList(bp+16, zErr)) } } else { rc = SQLITE_ERROR - (*tcl_vtab)(unsafe.Pointer(pTab)).Fbase.FzErrMsg = sqlite3.Xsqlite3_mprintf(tls, ts+28340 /* "unexpected: %s" */, libc.VaList(bp+48, zCmd)) + (*tcl_vtab)(unsafe.Pointer(pTab)).Fbase.FzErrMsg = sqlite3.Xsqlite3_mprintf(tls, ts+28340 /* "unexpected: %s" */, libc.VaList(bp+24, zCmd)) } } } @@ -105014,8 +105014,8 @@ func tclEof(tls *libc.TLS, pVtabCursor uintptr) int32 { /* test_bestindex.c:372: } func tclBestIndex(tls *libc.TLS, tab uintptr, pIdxInfo uintptr) int32 { /* test_bestindex.c:377:12: */ - bp := tls.Alloc(124) - defer tls.Free(124) + bp := tls.Alloc(76) + defer tls.Free(76) var pTab uintptr = tab var interp uintptr = (*tcl_vtab)(unsafe.Pointer(pTab)).Finterp @@ -105161,19 +105161,19 @@ func tclBestIndex(tls *libc.TLS, tab uintptr, pIdxInfo uintptr) int32 { /* test_ // "idxstr" (value of idxStr field) // "omit" (index of omitted constraint in aConstraint[]) var pRes uintptr = tcl.XTcl_GetObjResult(tls, interp) - *(*uintptr)(unsafe.Pointer(bp + 104 /* apElem */)) = uintptr(0) - // var nElem int32 at bp+96, 4 + *(*uintptr)(unsafe.Pointer(bp + 56 /* apElem */)) = uintptr(0) + // var nElem int32 at bp+48, 4 - rc = tcl.XTcl_ListObjGetElements(tls, interp, pRes, bp+96 /* &nElem */, bp+104 /* &apElem */) + rc = tcl.XTcl_ListObjGetElements(tls, interp, pRes, bp+48 /* &nElem */, bp+56 /* &apElem */) if rc != TCL_OK { var zErr uintptr = tcl.XTcl_GetStringResult(tls, interp) rc = SQLITE_ERROR - (*tcl_vtab)(unsafe.Pointer(pTab)).Fbase.FzErrMsg = sqlite3.Xsqlite3_mprintf(tls, ts /* "%s" */, libc.VaList(bp+16, zErr)) + (*tcl_vtab)(unsafe.Pointer(pTab)).Fbase.FzErrMsg = sqlite3.Xsqlite3_mprintf(tls, ts /* "%s" */, libc.VaList(bp+8, zErr)) } else { var iArgv int32 = 1 - for ii = 0; (rc == SQLITE_OK) && (ii < *(*int32)(unsafe.Pointer(bp + 96 /* nElem */))); ii = ii + (2) { - var zCmd uintptr = tcl.XTcl_GetString(tls, *(*uintptr)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp + 104 /* apElem */)) + uintptr(ii)*8))) - var p uintptr = *(*uintptr)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp + 104 /* apElem */)) + uintptr((ii+1))*8)) + for ii = 0; (rc == SQLITE_OK) && (ii < *(*int32)(unsafe.Pointer(bp + 48 /* nElem */))); ii = ii + (2) { + var zCmd uintptr = tcl.XTcl_GetString(tls, *(*uintptr)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp + 56 /* apElem */)) + uintptr(ii)*8))) + var p uintptr = *(*uintptr)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp + 56 /* apElem */)) + uintptr((ii+1))*8)) if sqlite3.Xsqlite3_stricmp(tls, ts+28424 /* "cost" */, zCmd) == 0 { rc = tcl.XTcl_GetDoubleFromObj(tls, interp, p, (pIdxInfo + 64 /* &.estimatedCost */)) } else if sqlite3.Xsqlite3_stricmp(tls, ts+28429 /* "orderby" */, zCmd) == 0 { @@ -105182,34 +105182,34 @@ func tclBestIndex(tls *libc.TLS, tab uintptr, pIdxInfo uintptr) int32 { /* test_ rc = tcl.XTcl_GetIntFromObj(tls, interp, p, (pIdxInfo + 40 /* &.idxNum */)) } else if sqlite3.Xsqlite3_stricmp(tls, ts+28444 /* "idxstr" */, zCmd) == 0 { sqlite3.Xsqlite3_free(tls, (*sqlite3_index_info)(unsafe.Pointer(pIdxInfo)).FidxStr) - (*sqlite3_index_info)(unsafe.Pointer(pIdxInfo)).FidxStr = sqlite3.Xsqlite3_mprintf(tls, ts /* "%s" */, libc.VaList(bp+32, tcl.XTcl_GetString(tls, p))) + (*sqlite3_index_info)(unsafe.Pointer(pIdxInfo)).FidxStr = sqlite3.Xsqlite3_mprintf(tls, ts /* "%s" */, libc.VaList(bp+16, tcl.XTcl_GetString(tls, p))) (*sqlite3_index_info)(unsafe.Pointer(pIdxInfo)).FneedToFreeIdxStr = 1 } else if sqlite3.Xsqlite3_stricmp(tls, ts+28451 /* "rows" */, zCmd) == 0 { - *(*Tcl_WideInt)(unsafe.Pointer(bp + 112 /* x */)) = int64(0) - rc = tcl.XTcl_GetWideIntFromObj(tls, interp, p, bp+112 /* &x */) - (*sqlite3_index_info)(unsafe.Pointer(pIdxInfo)).FestimatedRows = sqlite3_int64(tRowcnt(*(*Tcl_WideInt)(unsafe.Pointer(bp + 112 /* x */)))) + *(*Tcl_WideInt)(unsafe.Pointer(bp + 64 /* x */)) = int64(0) + rc = tcl.XTcl_GetWideIntFromObj(tls, interp, p, bp+64 /* &x */) + (*sqlite3_index_info)(unsafe.Pointer(pIdxInfo)).FestimatedRows = sqlite3_int64(tRowcnt(*(*Tcl_WideInt)(unsafe.Pointer(bp + 64 /* x */)))) } else if (sqlite3.Xsqlite3_stricmp(tls, ts+28456 /* "use" */, zCmd) == 0) || (sqlite3.Xsqlite3_stricmp(tls, ts+28460 /* "omit" */, zCmd) == 0) { - // var iCons int32 at bp+120, 4 + // var iCons int32 at bp+72, 4 - rc = tcl.XTcl_GetIntFromObj(tls, interp, p, bp+120 /* &iCons */) + rc = tcl.XTcl_GetIntFromObj(tls, interp, p, bp+72 /* &iCons */) if rc == SQLITE_OK { - if (*(*int32)(unsafe.Pointer(bp + 120 /* iCons */)) < 0) || (*(*int32)(unsafe.Pointer(bp + 120 /* iCons */)) >= (*sqlite3_index_info)(unsafe.Pointer(pIdxInfo)).FnConstraint) { + if (*(*int32)(unsafe.Pointer(bp + 72 /* iCons */)) < 0) || (*(*int32)(unsafe.Pointer(bp + 72 /* iCons */)) >= (*sqlite3_index_info)(unsafe.Pointer(pIdxInfo)).FnConstraint) { rc = SQLITE_ERROR - (*tcl_vtab)(unsafe.Pointer(pTab)).Fbase.FzErrMsg = sqlite3.Xsqlite3_mprintf(tls, ts+28465 /* "unexpected: %d" */, libc.VaList(bp+48, *(*int32)(unsafe.Pointer(bp + 120 /* iCons */)))) + (*tcl_vtab)(unsafe.Pointer(pTab)).Fbase.FzErrMsg = sqlite3.Xsqlite3_mprintf(tls, ts+28465 /* "unexpected: %d" */, libc.VaList(bp+24, *(*int32)(unsafe.Pointer(bp + 72 /* iCons */)))) } else { var bOmit int32 = (libc.Bool32((int32(*(*int8)(unsafe.Pointer(zCmd))) == 'o') || (int32(*(*int8)(unsafe.Pointer(zCmd))) == 'O'))) - (*sqlite3_index_constraint_usage)(unsafe.Pointer((*sqlite3_index_info)(unsafe.Pointer(pIdxInfo)).FaConstraintUsage + uintptr(*(*int32)(unsafe.Pointer(bp + 120 /* iCons */)))*8)).FargvIndex = libc.PostIncInt32(&iArgv, 1) - (*sqlite3_index_constraint_usage)(unsafe.Pointer((*sqlite3_index_info)(unsafe.Pointer(pIdxInfo)).FaConstraintUsage + uintptr(*(*int32)(unsafe.Pointer(bp + 120 /* iCons */)))*8)).Fomit = uint8(bOmit) + (*sqlite3_index_constraint_usage)(unsafe.Pointer((*sqlite3_index_info)(unsafe.Pointer(pIdxInfo)).FaConstraintUsage + uintptr(*(*int32)(unsafe.Pointer(bp + 72 /* iCons */)))*8)).FargvIndex = libc.PostIncInt32(&iArgv, 1) + (*sqlite3_index_constraint_usage)(unsafe.Pointer((*sqlite3_index_info)(unsafe.Pointer(pIdxInfo)).FaConstraintUsage + uintptr(*(*int32)(unsafe.Pointer(bp + 72 /* iCons */)))*8)).Fomit = uint8(bOmit) } } } else { rc = SQLITE_ERROR - (*tcl_vtab)(unsafe.Pointer(pTab)).Fbase.FzErrMsg = sqlite3.Xsqlite3_mprintf(tls, ts+28340 /* "unexpected: %s" */, libc.VaList(bp+64, zCmd)) + (*tcl_vtab)(unsafe.Pointer(pTab)).Fbase.FzErrMsg = sqlite3.Xsqlite3_mprintf(tls, ts+28340 /* "unexpected: %s" */, libc.VaList(bp+32, zCmd)) } if (rc != SQLITE_OK) && ((*tcl_vtab)(unsafe.Pointer(pTab)).Fbase.FzErrMsg == uintptr(0)) { var zErr uintptr = tcl.XTcl_GetStringResult(tls, interp) - (*tcl_vtab)(unsafe.Pointer(pTab)).Fbase.FzErrMsg = sqlite3.Xsqlite3_mprintf(tls, ts /* "%s" */, libc.VaList(bp+80, zErr)) + (*tcl_vtab)(unsafe.Pointer(pTab)).Fbase.FzErrMsg = sqlite3.Xsqlite3_mprintf(tls, ts /* "%s" */, libc.VaList(bp+40, zErr)) } } } @@ -105279,8 +105279,8 @@ var aObjCmd4 = [1]struct { // pointer passed as the only argument. The original pointer may be extracted // from the text using sqlite3TestTextToPtr(). func ptrToText(tls *libc.TLS, p uintptr) uintptr { /* test_blob.c:37:13: */ - bp := tls.Alloc(16) - defer tls.Free(16) + bp := tls.Alloc(8) + defer tls.Free(8) sqlite3.Xsqlite3_snprintf(tls, (int32(uint64(unsafe.Sizeof(buf)) - uint64(1))), uintptr(unsafe.Pointer(&buf)), ts+13802 /* "%p" */, libc.VaList(bp, p)) return uintptr(unsafe.Pointer(&buf)) @@ -105470,14 +105470,14 @@ func test_blob_bytes(tls *libc.TLS, clientData ClientData, interp uintptr, objc // text representation of the returned error code (i.e. "SQLITE_NOMEM") // and a Tcl exception is thrown. func test_blob_read(tls *libc.TLS, clientData ClientData, interp uintptr, objc int32, objv uintptr) int32 { /* test_blob.c:217:26: */ - bp := tls.Alloc(40) - defer tls.Free(40) + bp := tls.Alloc(32) + defer tls.Free(32) - // var pBlob uintptr at bp+24, 8 + // var pBlob uintptr at bp+16, 8 - // var nByte int32 at bp+36, 4 + // var nByte int32 at bp+28, 4 - // var iOffset int32 at bp+32, 4 + // var iOffset int32 at bp+24, 4 var zBuf uintptr = uintptr(0) var rc int32 @@ -105487,24 +105487,24 @@ func test_blob_read(tls *libc.TLS, clientData ClientData, interp uintptr, objc i return TCL_ERROR } - if blobHandleFromObj1(tls, interp, *(*uintptr)(unsafe.Pointer(objv + 1*8)), bp+24 /* &pBlob */) != 0 { + if blobHandleFromObj1(tls, interp, *(*uintptr)(unsafe.Pointer(objv + 1*8)), bp+16 /* &pBlob */) != 0 { return TCL_ERROR } - if (TCL_OK != tcl.XTcl_GetIntFromObj(tls, interp, *(*uintptr)(unsafe.Pointer(objv + 2*8)), bp+32 /* &iOffset */)) || - (TCL_OK != tcl.XTcl_GetIntFromObj(tls, interp, *(*uintptr)(unsafe.Pointer(objv + 3*8)), bp+36 /* &nByte */)) { + if (TCL_OK != tcl.XTcl_GetIntFromObj(tls, interp, *(*uintptr)(unsafe.Pointer(objv + 2*8)), bp+24 /* &iOffset */)) || + (TCL_OK != tcl.XTcl_GetIntFromObj(tls, interp, *(*uintptr)(unsafe.Pointer(objv + 3*8)), bp+28 /* &nByte */)) { return TCL_ERROR } - if *(*int32)(unsafe.Pointer(bp + 36 /* nByte */)) > 0 { - zBuf = tcl.XTcl_AttemptAlloc(tls, uint32(*(*int32)(unsafe.Pointer(bp + 36 /* nByte */)))) + if *(*int32)(unsafe.Pointer(bp + 28 /* nByte */)) > 0 { + zBuf = tcl.XTcl_AttemptAlloc(tls, uint32(*(*int32)(unsafe.Pointer(bp + 28 /* nByte */)))) if zBuf == uintptr(0) { tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp, ts+28583 /* "out of memory in..." */, 0)) return TCL_ERROR } } - rc = sqlite3.Xsqlite3_blob_read(tls, *(*uintptr)(unsafe.Pointer(bp + 24 /* pBlob */)), zBuf, *(*int32)(unsafe.Pointer(bp + 36 /* nByte */)), *(*int32)(unsafe.Pointer(bp + 32 /* iOffset */))) + rc = sqlite3.Xsqlite3_blob_read(tls, *(*uintptr)(unsafe.Pointer(bp + 16 /* pBlob */)), zBuf, *(*int32)(unsafe.Pointer(bp + 28 /* nByte */)), *(*int32)(unsafe.Pointer(bp + 24 /* iOffset */))) if rc == SQLITE_OK { - tcl.XTcl_SetObjResult(tls, interp, tcl.XTcl_NewByteArrayObj(tls, zBuf, *(*int32)(unsafe.Pointer(bp + 36 /* nByte */)))) + tcl.XTcl_SetObjResult(tls, interp, tcl.XTcl_NewByteArrayObj(tls, zBuf, *(*int32)(unsafe.Pointer(bp + 28 /* nByte */)))) } else { tcl.XTcl_SetResult(tls, interp, sqlite3.Xsqlite3ErrName(tls, rc), uintptr(1)) } @@ -106095,17 +106095,17 @@ func sqlite3DeleteUnlinkIfExists(tls *libc.TLS, pVfs uintptr, zFile uintptr, pbE // Delete the database file identified by the string argument passed to this // function. The string must contain a filename, not an SQLite URI. func sqlite3_delete_database(tls *libc.TLS, zFile uintptr) int32 { /* test_delete.c:95:16: */ - bp := tls.Alloc(172) - defer tls.Free(172) + bp := tls.Alloc(156) + defer tls.Free(156) var zBuf uintptr // Buffer to sprintf() filenames to var nBuf int32 // Size of buffer in bytes var rc int32 = 0 // System error code var i int32 // Iterate through azFmt[] and aMFile[] - *(*[4]uintptr)(unsafe.Pointer(bp + 40 /* azFmt */)) = [4]uintptr{ts /* "%s" */, ts + 30517 /* "%s-journal" */, ts + 30528 /* "%s-wal" */, ts + 30535 /* "%s-shm" */} + *(*[4]uintptr)(unsafe.Pointer(bp + 24 /* azFmt */)) = [4]uintptr{ts /* "%s" */, ts + 30517 /* "%s-journal" */, ts + 30528 /* "%s-wal" */, ts + 30535 /* "%s-shm" */} - *(*[6]MFile)(unsafe.Pointer(bp + 72 /* aMFile */)) = [6]MFile{ + *(*[6]MFile)(unsafe.Pointer(bp + 56 /* aMFile */)) = [6]MFile{ {FzFmt: ts + 30542 /* "%s%03d" */}, {FzFmt: ts + 30549 /* "%s-journal%03d" */}, {FzFmt: ts + 30564 /* "%s-wal%03d" */}, @@ -106127,7 +106127,7 @@ func sqlite3_delete_database(tls *libc.TLS, zFile uintptr) int32 { /* test_delet // Delete both the regular and 8.3 filenames versions of the database, // journal, wal and shm files. for i = 0; (rc == 0) && (uint64(i) < (uint64(unsafe.Sizeof([4]uintptr{})) / uint64(unsafe.Sizeof(uintptr(0))))); i++ { - sqlite3.Xsqlite3_snprintf(tls, nBuf, zBuf, *(*uintptr)(unsafe.Pointer(bp + 40 /* &azFmt[0] */ + uintptr(i)*8)), libc.VaList(bp, zFile)) + sqlite3.Xsqlite3_snprintf(tls, nBuf, zBuf, *(*uintptr)(unsafe.Pointer(bp + 24 /* &azFmt[0] */ + uintptr(i)*8)), libc.VaList(bp, zFile)) rc = sqlite3DeleteUnlinkIfExists(tls, pVfs, zBuf, uintptr(0)) if (rc == 0) && (i != 0) { sqlite3Delete83Name(tls, zBuf) @@ -106137,17 +106137,17 @@ func sqlite3_delete_database(tls *libc.TLS, zFile uintptr) int32 { /* test_delet // Delete any multiplexor files for i = 0; (rc == 0) && (uint64(i) < (uint64(unsafe.Sizeof([6]MFile{})) / uint64(unsafe.Sizeof(MFile{})))); i++ { - var p uintptr = (bp + 72 /* &aMFile */ + uintptr(i)*16) + var p uintptr = (bp + 56 /* &aMFile */ + uintptr(i)*16) var iChunk int32 for iChunk = 1; iChunk <= MX_CHUNK_NUMBER; iChunk++ { - // var bExists int32 at bp+168, 4 + // var bExists int32 at bp+152, 4 - sqlite3.Xsqlite3_snprintf(tls, nBuf, zBuf, (*MFile)(unsafe.Pointer(p)).FzFmt, libc.VaList(bp+16, zFile, (iChunk+(*MFile)(unsafe.Pointer(p)).FiOffset))) + sqlite3.Xsqlite3_snprintf(tls, nBuf, zBuf, (*MFile)(unsafe.Pointer(p)).FzFmt, libc.VaList(bp+8, zFile, (iChunk+(*MFile)(unsafe.Pointer(p)).FiOffset))) if (*MFile)(unsafe.Pointer(p)).Fb83 != 0 { sqlite3Delete83Name(tls, zBuf) } - rc = sqlite3DeleteUnlinkIfExists(tls, pVfs, zBuf, bp+168 /* &bExists */) - if (*(*int32)(unsafe.Pointer(bp + 168 /* bExists */)) == 0) || (rc != 0) { + rc = sqlite3DeleteUnlinkIfExists(tls, pVfs, zBuf, bp+152 /* &bExists */) + if (*(*int32)(unsafe.Pointer(bp + 152 /* bExists */)) == 0) || (rc != 0) { break } } @@ -106834,8 +106834,8 @@ func fstreeNext(tls *libc.TLS, cur uintptr) int32 { /* test_fs.c:449:12: */ // xFilter method implementation. func fstreeFilter(tls *libc.TLS, pVtabCursor uintptr, idxNum int32, idxStr uintptr, argc int32, argv uintptr) int32 { /* test_fs.c:469:12: */ - bp := tls.Alloc(42) - defer tls.Free(42) + bp := tls.Alloc(26) + defer tls.Free(26) var pCsr uintptr = pVtabCursor var pTab uintptr = (*FstreeCsr)(unsafe.Pointer(pCsr)).Fbase.FpVtab @@ -106847,7 +106847,7 @@ func fstreeFilter(tls *libc.TLS, pVtabCursor uintptr, idxNum int32, idxStr uintp var nPrefix int32 var zDir uintptr var nDir int32 - *(*[2]int8)(unsafe.Pointer(bp + 40 /* aWild */)) = [2]int8{int8(0), int8(0)} + *(*[2]int8)(unsafe.Pointer(bp + 24 /* aWild */)) = [2]int8{int8(0), int8(0)} var zDrive uintptr = windirent_getenv(tls, ts+30896 /* "fstreeDrive" */) if zDrive == uintptr(0) { @@ -106855,7 +106855,7 @@ func fstreeFilter(tls *libc.TLS, pVtabCursor uintptr, idxNum int32, idxStr uintp } zRoot = sqlite3.Xsqlite3_mprintf(tls, ts+30920 /* "%s%c" */, libc.VaList(bp, zDrive, '/')) nRoot = sqlite3.Xsqlite3Strlen30(tls, zRoot) - zPrefix = sqlite3.Xsqlite3_mprintf(tls, ts /* "%s" */, libc.VaList(bp+24, zDrive)) + zPrefix = sqlite3.Xsqlite3_mprintf(tls, ts /* "%s" */, libc.VaList(bp+16, zDrive)) nPrefix = sqlite3.Xsqlite3Strlen30(tls, zPrefix) zDir = zRoot @@ -106873,20 +106873,20 @@ func fstreeFilter(tls *libc.TLS, pVtabCursor uintptr, idxNum int32, idxStr uintp var zQuery uintptr = sqlite3.Xsqlite3_value_text(tls, *(*uintptr)(unsafe.Pointer(argv))) switch idxNum { case SQLITE_INDEX_CONSTRAINT_GLOB: - *(*int8)(unsafe.Pointer(bp + 40 /* &aWild[0] */)) = int8('*') - *(*int8)(unsafe.Pointer(bp + 40 /* &aWild[0] */ + 1)) = int8('?') + *(*int8)(unsafe.Pointer(bp + 24 /* &aWild[0] */)) = int8('*') + *(*int8)(unsafe.Pointer(bp + 24 /* &aWild[0] */ + 1)) = int8('?') break fallthrough case SQLITE_INDEX_CONSTRAINT_LIKE: - *(*int8)(unsafe.Pointer(bp + 40 /* &aWild[0] */)) = int8('_') - *(*int8)(unsafe.Pointer(bp + 40 /* &aWild[0] */ + 1)) = int8('%') + *(*int8)(unsafe.Pointer(bp + 24 /* &aWild[0] */)) = int8('_') + *(*int8)(unsafe.Pointer(bp + 24 /* &aWild[0] */ + 1)) = int8('%') break } if sqlite3.Xsqlite3_strnicmp(tls, zQuery, zPrefix, nPrefix) == 0 { var i int32 for i = nPrefix; *(*int8)(unsafe.Pointer(zQuery + uintptr(i))) != 0; i++ { - if (int32(*(*int8)(unsafe.Pointer(zQuery + uintptr(i)))) == int32(*(*int8)(unsafe.Pointer(bp + 40 /* &aWild[0] */)))) || (int32(*(*int8)(unsafe.Pointer(zQuery + uintptr(i)))) == int32(*(*int8)(unsafe.Pointer(bp + 40 /* &aWild[0] */ + 1)))) { + if (int32(*(*int8)(unsafe.Pointer(zQuery + uintptr(i)))) == int32(*(*int8)(unsafe.Pointer(bp + 24 /* &aWild[0] */)))) || (int32(*(*int8)(unsafe.Pointer(zQuery + uintptr(i)))) == int32(*(*int8)(unsafe.Pointer(bp + 24 /* &aWild[0] */ + 1)))) { break } if int32(*(*int8)(unsafe.Pointer(zQuery + uintptr(i)))) == '/' { @@ -107039,8 +107039,8 @@ func fsNext(tls *libc.TLS, cur uintptr) int32 { /* test_fs.c:680:12: */ } func fsFilter(tls *libc.TLS, pVtabCursor uintptr, idxNum int32, idxStr uintptr, argc int32, argv uintptr) int32 { /* test_fs.c:690:12: */ - bp := tls.Alloc(48) - defer tls.Free(48) + bp := tls.Alloc(32) + defer tls.Free(32) var rc int32 var pCur uintptr = pVtabCursor @@ -107058,7 +107058,7 @@ func fsFilter(tls *libc.TLS, pVtabCursor uintptr, idxNum int32, idxStr uintptr, sqlite3.Xsqlite3_bind_value(tls, (*fs_cursor)(unsafe.Pointer(pCur)).FpStmt, 1, *(*uintptr)(unsafe.Pointer(argv))) } } else { - var zStmt uintptr = sqlite3.Xsqlite3_mprintf(tls, ts+3268 /* "SELECT * FROM %Q..." */, libc.VaList(bp+24, (*fs_vtab)(unsafe.Pointer(p)).FzDb, (*fs_vtab)(unsafe.Pointer(p)).FzTbl)) + var zStmt uintptr = sqlite3.Xsqlite3_mprintf(tls, ts+3268 /* "SELECT * FROM %Q..." */, libc.VaList(bp+16, (*fs_vtab)(unsafe.Pointer(p)).FzDb, (*fs_vtab)(unsafe.Pointer(p)).FzTbl)) if !(zStmt != 0) { return SQLITE_NOMEM } @@ -107470,23 +107470,23 @@ func test_isolation(tls *libc.TLS, pCtx uintptr, nArg int32, argv uintptr) { /* // Invoke an SQL statement recursively. The function result is the // first column of the first row of the result set. func test_eval(tls *libc.TLS, pCtx uintptr, nArg int32, argv uintptr) { /* test_func.c:294:13: */ - bp := tls.Alloc(24) - defer tls.Free(24) + bp := tls.Alloc(16) + defer tls.Free(16) - // var pStmt uintptr at bp+16, 8 + // var pStmt uintptr at bp+8, 8 var rc int32 var db uintptr = sqlite3.Xsqlite3_context_db_handle(tls, pCtx) var zSql uintptr zSql = sqlite3.Xsqlite3_value_text(tls, *(*uintptr)(unsafe.Pointer(argv))) - rc = sqlite3.Xsqlite3_prepare_v2(tls, db, zSql, -1, bp+16 /* &pStmt */, uintptr(0)) + rc = sqlite3.Xsqlite3_prepare_v2(tls, db, zSql, -1, bp+8 /* &pStmt */, uintptr(0)) if rc == SQLITE_OK { - rc = sqlite3.Xsqlite3_step(tls, *(*uintptr)(unsafe.Pointer(bp + 16 /* pStmt */))) + rc = sqlite3.Xsqlite3_step(tls, *(*uintptr)(unsafe.Pointer(bp + 8 /* pStmt */))) if rc == SQLITE_ROW { - sqlite3.Xsqlite3_result_value(tls, pCtx, sqlite3.Xsqlite3_column_value(tls, *(*uintptr)(unsafe.Pointer(bp + 16 /* pStmt */)), 0)) + sqlite3.Xsqlite3_result_value(tls, pCtx, sqlite3.Xsqlite3_column_value(tls, *(*uintptr)(unsafe.Pointer(bp + 8 /* pStmt */)), 0)) } - rc = sqlite3.Xsqlite3_finalize(tls, *(*uintptr)(unsafe.Pointer(bp + 16 /* pStmt */))) + rc = sqlite3.Xsqlite3_finalize(tls, *(*uintptr)(unsafe.Pointer(bp + 8 /* pStmt */))) } if rc != 0 { var zErr uintptr @@ -107662,15 +107662,15 @@ func test_extract(tls *libc.TLS, context uintptr, argc int32, argv uintptr) { /* // a tcl list (type SQLITE_TEXT) containing each of the values stored // in the record. func test_decode(tls *libc.TLS, context uintptr, argc int32, argv uintptr) { /* test_func.c:520:13: */ - bp := tls.Alloc(139) - defer tls.Free(139) + bp := tls.Alloc(123) + defer tls.Free(123) var db uintptr = sqlite3.Xsqlite3_context_db_handle(tls, context) var pRec uintptr var pEndHdr uintptr // Points to one byte past record header var pHdr uintptr // Current point in record header var pBody uintptr // Current point in record data - // var nHdr u64 at bp+48, 8 + // var nHdr u64 at bp+32, 8 // Bytes in record header var pRet uintptr // Return value @@ -107679,54 +107679,54 @@ func test_decode(tls *libc.TLS, context uintptr, argc int32, argv uintptr) { /* pRec = sqlite3.Xsqlite3_value_blob(tls, *(*uintptr)(unsafe.Pointer(argv))) - pHdr = (pRec + uintptr(sqlite3.Xsqlite3GetVarint(tls, pRec, bp+48 /* &nHdr */))) - pBody = libc.AssignUintptr(&pEndHdr, (pRec + uintptr(*(*u64)(unsafe.Pointer(bp + 48 /* nHdr */))))) + pHdr = (pRec + uintptr(sqlite3.Xsqlite3GetVarint(tls, pRec, bp+32 /* &nHdr */))) + pBody = libc.AssignUintptr(&pEndHdr, (pRec + uintptr(*(*u64)(unsafe.Pointer(bp + 32 /* nHdr */))))) for pHdr < pEndHdr { var pVal uintptr = uintptr(0) - // var iSerialType u64 at bp+112, 8 + // var iSerialType u64 at bp+96, 8 - // var mem Mem at bp+56, 56 + // var mem Mem at bp+40, 56 - libc.Xmemset(tls, bp+56 /* &mem */, 0, uint64(unsafe.Sizeof(Mem{}))) - (*Mem)(unsafe.Pointer(bp + 56 /* &mem */)).Fdb = db - (*Mem)(unsafe.Pointer(bp + 56 /* &mem */)).Fenc = (*sqlite31)(unsafe.Pointer(db)).Fenc - pHdr += uintptr(sqlite3.Xsqlite3GetVarint(tls, pHdr, bp+112 /* &iSerialType */)) - pBody += uintptr(sqlite3.Xsqlite3VdbeSerialGet(tls, pBody, u32(*(*u64)(unsafe.Pointer(bp + 112 /* iSerialType */))), bp+56 /* &mem */)) + libc.Xmemset(tls, bp+40 /* &mem */, 0, uint64(unsafe.Sizeof(Mem{}))) + (*Mem)(unsafe.Pointer(bp + 40 /* &mem */)).Fdb = db + (*Mem)(unsafe.Pointer(bp + 40 /* &mem */)).Fenc = (*sqlite31)(unsafe.Pointer(db)).Fenc + pHdr += uintptr(sqlite3.Xsqlite3GetVarint(tls, pHdr, bp+96 /* &iSerialType */)) + pBody += uintptr(sqlite3.Xsqlite3VdbeSerialGet(tls, pBody, u32(*(*u64)(unsafe.Pointer(bp + 96 /* iSerialType */))), bp+40 /* &mem */)) - switch sqlite3.Xsqlite3_value_type(tls, bp+56 /* &mem */) { + switch sqlite3.Xsqlite3_value_type(tls, bp+40 /* &mem */) { case SQLITE_TEXT: - pVal = tcl.XTcl_NewStringObj(tls, sqlite3.Xsqlite3_value_text(tls, bp+56 /* &mem */), -1) + pVal = tcl.XTcl_NewStringObj(tls, sqlite3.Xsqlite3_value_text(tls, bp+40 /* &mem */), -1) break case SQLITE_BLOB: { - *(*[16]int8)(unsafe.Pointer(bp + 123 /* hexdigit */)) = [16]int8{ + *(*[16]int8)(unsafe.Pointer(bp + 107 /* hexdigit */)) = [16]int8{ int8('0'), int8('1'), int8('2'), int8('3'), int8('4'), int8('5'), int8('6'), int8('7'), int8('8'), int8('9'), int8('a'), int8('b'), int8('c'), int8('d'), int8('e'), int8('f'), } - var n int32 = sqlite3.Xsqlite3_value_bytes(tls, bp+56 /* &mem */) - var z uintptr = sqlite3.Xsqlite3_value_blob(tls, bp+56 /* &mem */) + var n int32 = sqlite3.Xsqlite3_value_bytes(tls, bp+40 /* &mem */) + var z uintptr = sqlite3.Xsqlite3_value_blob(tls, bp+40 /* &mem */) var i int32 pVal = tcl.XTcl_NewStringObj(tls, ts+31152 /* "x'" */, -1) for i = 0; i < n; i++ { - // var hex [3]int8 at bp+120, 3 + // var hex [3]int8 at bp+104, 3 - *(*int8)(unsafe.Pointer(bp + 120 /* &hex[0] */)) = *(*int8)(unsafe.Pointer(bp + 123 /* &hexdigit[0] */ + uintptr(((int32(*(*u8)(unsafe.Pointer(z + uintptr(i)))) >> 4) & 0x0F)))) - *(*int8)(unsafe.Pointer(bp + 120 /* &hex[0] */ + 1)) = *(*int8)(unsafe.Pointer(bp + 123 /* &hexdigit[0] */ + uintptr((int32(*(*u8)(unsafe.Pointer(z + uintptr(i)))) & 0x0F)))) - *(*int8)(unsafe.Pointer(bp + 120 /* &hex[0] */ + 2)) = int8(0) - tcl.XTcl_AppendStringsToObj(tls, pVal, libc.VaList(bp, bp+120 /* &hex[0] */, 0)) + *(*int8)(unsafe.Pointer(bp + 104 /* &hex[0] */)) = *(*int8)(unsafe.Pointer(bp + 107 /* &hexdigit[0] */ + uintptr(((int32(*(*u8)(unsafe.Pointer(z + uintptr(i)))) >> 4) & 0x0F)))) + *(*int8)(unsafe.Pointer(bp + 104 /* &hex[0] */ + 1)) = *(*int8)(unsafe.Pointer(bp + 107 /* &hexdigit[0] */ + uintptr((int32(*(*u8)(unsafe.Pointer(z + uintptr(i)))) & 0x0F)))) + *(*int8)(unsafe.Pointer(bp + 104 /* &hex[0] */ + 2)) = int8(0) + tcl.XTcl_AppendStringsToObj(tls, pVal, libc.VaList(bp, bp+104 /* &hex[0] */, 0)) } - tcl.XTcl_AppendStringsToObj(tls, pVal, libc.VaList(bp+24, ts+5485 /* "'" */, 0)) + tcl.XTcl_AppendStringsToObj(tls, pVal, libc.VaList(bp+16, ts+5485 /* "'" */, 0)) break } case SQLITE_FLOAT: - pVal = tcl.XTcl_NewDoubleObj(tls, sqlite3.Xsqlite3_value_double(tls, bp+56 /* &mem */)) + pVal = tcl.XTcl_NewDoubleObj(tls, sqlite3.Xsqlite3_value_double(tls, bp+40 /* &mem */)) break case SQLITE_INTEGER: - pVal = tcl.XTcl_NewWideIntObj(tls, sqlite3.Xsqlite3_value_int64(tls, bp+56 /* &mem */)) + pVal = tcl.XTcl_NewWideIntObj(tls, sqlite3.Xsqlite3_value_int64(tls, bp+40 /* &mem */)) break case SQLITE_NULL: @@ -107739,8 +107739,8 @@ func test_decode(tls *libc.TLS, context uintptr, argc int32, argv uintptr) { /* tcl.XTcl_ListObjAppendElement(tls, uintptr(0), pRet, pVal) - if (*Mem)(unsafe.Pointer(bp+56 /* &mem */)).FszMalloc != 0 { - sqlite3.Xsqlite3DbFree(tls, db, (*Mem)(unsafe.Pointer(bp+56 /* &mem */)).FzMalloc) + if (*Mem)(unsafe.Pointer(bp+40 /* &mem */)).FszMalloc != 0 { + sqlite3.Xsqlite3DbFree(tls, db, (*Mem)(unsafe.Pointer(bp+40 /* &mem */)).FzMalloc) } } @@ -107875,22 +107875,22 @@ func tFinal(tls *libc.TLS, a uintptr) { /* test_func.c:737:13: */ // Make various calls to sqlite3_create_function that do not have valid // parameters. Verify that the error condition is detected and reported. func abuse_create_function(tls *libc.TLS, clientData uintptr, interp uintptr, objc int32, objv uintptr) int32 { /* test_func.c:746:26: */ - bp := tls.Alloc(32) - defer tls.Free(32) + bp := tls.Alloc(24) + defer tls.Free(24) - // var db uintptr at bp+24, 8 + // var db uintptr at bp+16, 8 var rc int32 var mxArg int32 - if !(getDbPointer(tls, interp, tcl.XTcl_GetString(tls, *(*uintptr)(unsafe.Pointer(objv + 1*8))), bp+24 /* &db */) != 0) { + if !(getDbPointer(tls, interp, tcl.XTcl_GetString(tls, *(*uintptr)(unsafe.Pointer(objv + 1*8))), bp+16 /* &db */) != 0) { goto __1 } return TCL_ERROR __1: ; - rc = sqlite3.Xsqlite3_create_function(tls, *(*uintptr)(unsafe.Pointer(bp + 24 /* db */)), ts+31435 /* "tx" */, 1, SQLITE_UTF8, uintptr(0), *(*uintptr)(unsafe.Pointer(&struct { + rc = sqlite3.Xsqlite3_create_function(tls, *(*uintptr)(unsafe.Pointer(bp + 16 /* db */)), ts+31435 /* "tx" */, 1, SQLITE_UTF8, uintptr(0), *(*uintptr)(unsafe.Pointer(&struct { f func(*libc.TLS, uintptr, int32, uintptr) }{tStep})), *(*uintptr)(unsafe.Pointer(&struct { f func(*libc.TLS, uintptr, int32, uintptr) @@ -107902,7 +107902,7 @@ __1: __2: ; - rc = sqlite3.Xsqlite3_create_function(tls, *(*uintptr)(unsafe.Pointer(bp + 24 /* db */)), ts+31435 /* "tx" */, 1, SQLITE_UTF8, uintptr(0), *(*uintptr)(unsafe.Pointer(&struct { + rc = sqlite3.Xsqlite3_create_function(tls, *(*uintptr)(unsafe.Pointer(bp + 16 /* db */)), ts+31435 /* "tx" */, 1, SQLITE_UTF8, uintptr(0), *(*uintptr)(unsafe.Pointer(&struct { f func(*libc.TLS, uintptr, int32, uintptr) }{tStep})), *(*uintptr)(unsafe.Pointer(&struct { f func(*libc.TLS, uintptr, int32, uintptr) @@ -107914,7 +107914,7 @@ __2: __3: ; - rc = sqlite3.Xsqlite3_create_function(tls, *(*uintptr)(unsafe.Pointer(bp + 24 /* db */)), ts+31435 /* "tx" */, 1, SQLITE_UTF8, uintptr(0), *(*uintptr)(unsafe.Pointer(&struct { + rc = sqlite3.Xsqlite3_create_function(tls, *(*uintptr)(unsafe.Pointer(bp + 16 /* db */)), ts+31435 /* "tx" */, 1, SQLITE_UTF8, uintptr(0), *(*uintptr)(unsafe.Pointer(&struct { f func(*libc.TLS, uintptr, int32, uintptr) }{tStep})), uintptr(0), *(*uintptr)(unsafe.Pointer(&struct{ f func(*libc.TLS, uintptr) }{tFinal}))) if !(rc != SQLITE_MISUSE) { @@ -107924,7 +107924,7 @@ __3: __4: ; - rc = sqlite3.Xsqlite3_create_function(tls, *(*uintptr)(unsafe.Pointer(bp + 24 /* db */)), ts+31435 /* "tx" */, 1, SQLITE_UTF8, uintptr(0), uintptr(0), uintptr(0), *(*uintptr)(unsafe.Pointer(&struct{ f func(*libc.TLS, uintptr) }{tFinal}))) + rc = sqlite3.Xsqlite3_create_function(tls, *(*uintptr)(unsafe.Pointer(bp + 16 /* db */)), ts+31435 /* "tx" */, 1, SQLITE_UTF8, uintptr(0), uintptr(0), uintptr(0), *(*uintptr)(unsafe.Pointer(&struct{ f func(*libc.TLS, uintptr) }{tFinal}))) if !(rc != SQLITE_MISUSE) { goto __5 } @@ -107932,7 +107932,7 @@ __4: __5: ; - rc = sqlite3.Xsqlite3_create_function(tls, *(*uintptr)(unsafe.Pointer(bp + 24 /* db */)), ts+31435 /* "tx" */, 1, SQLITE_UTF8, uintptr(0), uintptr(0), *(*uintptr)(unsafe.Pointer(&struct { + rc = sqlite3.Xsqlite3_create_function(tls, *(*uintptr)(unsafe.Pointer(bp + 16 /* db */)), ts+31435 /* "tx" */, 1, SQLITE_UTF8, uintptr(0), uintptr(0), *(*uintptr)(unsafe.Pointer(&struct { f func(*libc.TLS, uintptr, int32, uintptr) }{tStep})), uintptr(0)) if !(rc != SQLITE_MISUSE) { @@ -107942,7 +107942,7 @@ __5: __6: ; - rc = sqlite3.Xsqlite3_create_function(tls, *(*uintptr)(unsafe.Pointer(bp + 24 /* db */)), ts+31435 /* "tx" */, -2, SQLITE_UTF8, uintptr(0), *(*uintptr)(unsafe.Pointer(&struct { + rc = sqlite3.Xsqlite3_create_function(tls, *(*uintptr)(unsafe.Pointer(bp + 16 /* db */)), ts+31435 /* "tx" */, -2, SQLITE_UTF8, uintptr(0), *(*uintptr)(unsafe.Pointer(&struct { f func(*libc.TLS, uintptr, int32, uintptr) }{tStep})), uintptr(0), uintptr(0)) if !(rc != SQLITE_MISUSE) { @@ -107952,7 +107952,7 @@ __6: __7: ; - rc = sqlite3.Xsqlite3_create_function(tls, *(*uintptr)(unsafe.Pointer(bp + 24 /* db */)), ts+31435 /* "tx" */, 128, SQLITE_UTF8, uintptr(0), *(*uintptr)(unsafe.Pointer(&struct { + rc = sqlite3.Xsqlite3_create_function(tls, *(*uintptr)(unsafe.Pointer(bp + 16 /* db */)), ts+31435 /* "tx" */, 128, SQLITE_UTF8, uintptr(0), *(*uintptr)(unsafe.Pointer(&struct { f func(*libc.TLS, uintptr, int32, uintptr) }{tStep})), uintptr(0), uintptr(0)) if !(rc != SQLITE_MISUSE) { @@ -107962,7 +107962,7 @@ __7: __8: ; - rc = sqlite3.Xsqlite3_create_function(tls, *(*uintptr)(unsafe.Pointer(bp + 24 /* db */)), + rc = sqlite3.Xsqlite3_create_function(tls, *(*uintptr)(unsafe.Pointer(bp + 16 /* db */)), ts+31438, /* "funcxx_123456789..." */ 1, SQLITE_UTF8, uintptr(0), *(*uintptr)(unsafe.Pointer(&struct { @@ -107978,9 +107978,9 @@ __9: // This last function registration should actually work. Generate // a no-op function (that always returns NULL) and which has the // maximum-length function name and the maximum number of parameters. - sqlite3.Xsqlite3_limit(tls, *(*uintptr)(unsafe.Pointer(bp + 24 /* db */)), SQLITE_LIMIT_FUNCTION_ARG, 10000) - mxArg = sqlite3.Xsqlite3_limit(tls, *(*uintptr)(unsafe.Pointer(bp + 24 /* db */)), SQLITE_LIMIT_FUNCTION_ARG, -1) - rc = sqlite3.Xsqlite3_create_function(tls, *(*uintptr)(unsafe.Pointer(bp + 24 /* db */)), + sqlite3.Xsqlite3_limit(tls, *(*uintptr)(unsafe.Pointer(bp + 16 /* db */)), SQLITE_LIMIT_FUNCTION_ARG, 10000) + mxArg = sqlite3.Xsqlite3_limit(tls, *(*uintptr)(unsafe.Pointer(bp + 16 /* db */)), SQLITE_LIMIT_FUNCTION_ARG, -1) + rc = sqlite3.Xsqlite3_create_function(tls, *(*uintptr)(unsafe.Pointer(bp + 16 /* db */)), ts+31695, /* "nullx_123456789_..." */ mxArg, SQLITE_UTF8, uintptr(0), *(*uintptr)(unsafe.Pointer(&struct { @@ -108296,12 +108296,12 @@ func sqlite3TestHexToBin(tls *libc.TLS, zIn uintptr, N int32, aOut uintptr) int3 // beginning of the file. Convert that information to hexadecimal // and return the resulting HEX string. func hexio_read(tls *libc.TLS, clientData uintptr, interp uintptr, objc int32, objv uintptr) int32 { /* test_hexio.c:101:26: */ - bp := tls.Alloc(64) - defer tls.Free(64) + bp := tls.Alloc(48) + defer tls.Free(48) - // var offset int32 at bp+56, 4 + // var offset int32 at bp+40, 4 - // var amt int32 at bp+60, 4 + // var amt int32 at bp+44, 4 var got int32 var zFile uintptr @@ -108312,14 +108312,14 @@ func hexio_read(tls *libc.TLS, clientData uintptr, interp uintptr, objc int32, o tcl.XTcl_WrongNumArgs(tls, interp, 1, objv, ts+32186 /* "FILENAME OFFSET ..." */) return TCL_ERROR } - if tcl.XTcl_GetIntFromObj(tls, interp, *(*uintptr)(unsafe.Pointer(objv + 2*8)), bp+56 /* &offset */) != 0 { + if tcl.XTcl_GetIntFromObj(tls, interp, *(*uintptr)(unsafe.Pointer(objv + 2*8)), bp+40 /* &offset */) != 0 { return TCL_ERROR } - if tcl.XTcl_GetIntFromObj(tls, interp, *(*uintptr)(unsafe.Pointer(objv + 3*8)), bp+60 /* &amt */) != 0 { + if tcl.XTcl_GetIntFromObj(tls, interp, *(*uintptr)(unsafe.Pointer(objv + 3*8)), bp+44 /* &amt */) != 0 { return TCL_ERROR } zFile = tcl.XTcl_GetString(tls, *(*uintptr)(unsafe.Pointer(objv + 1*8))) - zBuf = sqlite3.Xsqlite3_malloc(tls, ((*(*int32)(unsafe.Pointer(bp + 60 /* amt */)) * 2) + 1)) + zBuf = sqlite3.Xsqlite3_malloc(tls, ((*(*int32)(unsafe.Pointer(bp + 44 /* amt */)) * 2) + 1)) if zBuf == uintptr(0) { return TCL_ERROR } @@ -108331,14 +108331,14 @@ func hexio_read(tls *libc.TLS, clientData uintptr, interp uintptr, objc int32, o tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp, ts+32208 /* "cannot open inpu..." */, zFile, 0)) return TCL_ERROR } - libc.Xfseek(tls, in, int32(*(*int32)(unsafe.Pointer(bp + 56 /* offset */))), SEEK_SET) - got = int32(libc.Xfread(tls, zBuf, uint64(1), uint64(*(*int32)(unsafe.Pointer(bp + 60 /* amt */))), in)) + libc.Xfseek(tls, in, int32(*(*int32)(unsafe.Pointer(bp + 40 /* offset */))), SEEK_SET) + got = int32(libc.Xfread(tls, zBuf, uint64(1), uint64(*(*int32)(unsafe.Pointer(bp + 44 /* amt */))), in)) libc.Xfclose(tls, in) if got < 0 { got = 0 } sqlite3TestBinToHex(tls, zBuf, got) - tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp+32, zBuf, 0)) + tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp+24, zBuf, 0)) sqlite3.Xsqlite3_free(tls, zBuf) return TCL_OK } @@ -108348,12 +108348,12 @@ func hexio_read(tls *libc.TLS, clientData uintptr, interp uintptr, objc int32, o // Write DATA into file FILENAME beginning at OFFSET from the // beginning of the file. DATA is expressed in hexadecimal. func hexio_write(tls *libc.TLS, clientData uintptr, interp uintptr, objc int32, objv uintptr) int32 { /* test_hexio.c:151:26: */ - bp := tls.Alloc(40) - defer tls.Free(40) + bp := tls.Alloc(32) + defer tls.Free(32) - // var offset int32 at bp+32, 4 + // var offset int32 at bp+24, 4 - // var nIn int32 at bp+36, 4 + // var nIn int32 at bp+28, 4 var nOut int32 var written int32 @@ -108366,16 +108366,16 @@ func hexio_write(tls *libc.TLS, clientData uintptr, interp uintptr, objc int32, tcl.XTcl_WrongNumArgs(tls, interp, 1, objv, ts+32232 /* "FILENAME OFFSET ..." */) return TCL_ERROR } - if tcl.XTcl_GetIntFromObj(tls, interp, *(*uintptr)(unsafe.Pointer(objv + 2*8)), bp+32 /* &offset */) != 0 { + if tcl.XTcl_GetIntFromObj(tls, interp, *(*uintptr)(unsafe.Pointer(objv + 2*8)), bp+24 /* &offset */) != 0 { return TCL_ERROR } zFile = tcl.XTcl_GetString(tls, *(*uintptr)(unsafe.Pointer(objv + 1*8))) - zIn = tcl.XTcl_GetStringFromObj(tls, *(*uintptr)(unsafe.Pointer(objv + 3*8)), bp+36 /* &nIn */) - aOut = sqlite3.Xsqlite3_malloc(tls, (1 + (*(*int32)(unsafe.Pointer(bp + 36 /* nIn */)) / 2))) + zIn = tcl.XTcl_GetStringFromObj(tls, *(*uintptr)(unsafe.Pointer(objv + 3*8)), bp+28 /* &nIn */) + aOut = sqlite3.Xsqlite3_malloc(tls, (1 + (*(*int32)(unsafe.Pointer(bp + 28 /* nIn */)) / 2))) if aOut == uintptr(0) { return TCL_ERROR } - nOut = sqlite3TestHexToBin(tls, zIn, *(*int32)(unsafe.Pointer(bp + 36 /* nIn */)), aOut) + nOut = sqlite3TestHexToBin(tls, zIn, *(*int32)(unsafe.Pointer(bp + 28 /* nIn */)), aOut) out = libc.Xfopen(tls, zFile, ts+32256 /* "r+b" */) if out == uintptr(0) { out = libc.Xfopen(tls, zFile, ts+32260 /* "r+" */) @@ -108384,7 +108384,7 @@ func hexio_write(tls *libc.TLS, clientData uintptr, interp uintptr, objc int32, tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp, ts+32263 /* "cannot open outp..." */, zFile, 0)) return TCL_ERROR } - libc.Xfseek(tls, out, int32(*(*int32)(unsafe.Pointer(bp + 32 /* offset */))), SEEK_SET) + libc.Xfseek(tls, out, int32(*(*int32)(unsafe.Pointer(bp + 24 /* offset */))), SEEK_SET) written = int32(libc.Xfwrite(tls, aOut, uint64(1), uint64(nOut), out)) sqlite3.Xsqlite3_free(tls, aOut) libc.Xfclose(tls, out) @@ -108489,8 +108489,8 @@ func hexio_render_int32(tls *libc.TLS, clientData uintptr, interp uintptr, objc // The UTF8 might not be well-formed. Run this string through // sqlite3Utf8to8() convert it back to hex and return the result. func utf8_to_utf8(tls *libc.TLS, clientData uintptr, interp uintptr, objc int32, objv uintptr) int32 { /* test_hexio.c:296:26: */ - bp := tls.Alloc(24) - defer tls.Free(24) + bp := tls.Alloc(16) + defer tls.Free(16) tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp, ts+32296 /* "[utf8_to_utf8] u..." */, 0)) @@ -108809,10 +108809,10 @@ func wrPCacheDestroy(tls *libc.TLS, p uintptr) { /* test_init.c:156:13: */ } func installInitWrappers(tls *libc.TLS) { /* test_init.c:160:13: */ - bp := tls.Alloc(336) - defer tls.Free(336) + bp := tls.Alloc(288) + defer tls.Free(288) - *(*sqlite3_mutex_methods)(unsafe.Pointer(bp + 96 /* mutexmethods */)) = sqlite3_mutex_methods{ + *(*sqlite3_mutex_methods)(unsafe.Pointer(bp + 48 /* mutexmethods */)) = sqlite3_mutex_methods{ FxMutexInit: *(*uintptr)(unsafe.Pointer(&struct{ f func(*libc.TLS) int32 }{wrMutexInit})), FxMutexEnd: *(*uintptr)(unsafe.Pointer(&struct{ f func(*libc.TLS) int32 }{wrMutexEnd})), FxMutexAlloc: *(*uintptr)(unsafe.Pointer(&struct { f func(*libc.TLS, int32) uintptr }{wrMutexAlloc})), @@ -108825,7 +108825,7 @@ func installInitWrappers(tls *libc.TLS) { /* test_init.c:160:13: */ f func(*libc.TLS, uintptr) int32 }{wrMutexNotheld})), } - *(*sqlite3_pcache_methods2)(unsafe.Pointer(bp + 232 /* pcachemethods */)) = sqlite3_pcache_methods2{ + *(*sqlite3_pcache_methods2)(unsafe.Pointer(bp + 184 /* pcachemethods */)) = sqlite3_pcache_methods2{ FiVersion: 1, FxInit: *(*uintptr)(unsafe.Pointer(&struct { f func(*libc.TLS, uintptr) int32 @@ -108848,7 +108848,7 @@ func installInitWrappers(tls *libc.TLS) { /* test_init.c:160:13: */ }{wrPCacheTruncate})), FxDestroy: *(*uintptr)(unsafe.Pointer(&struct{ f func(*libc.TLS, uintptr) }{wrPCacheDestroy})), } - *(*sqlite3_mem_methods)(unsafe.Pointer(bp + 168 /* memmethods */)) = sqlite3_mem_methods{ + *(*sqlite3_mem_methods)(unsafe.Pointer(bp + 120 /* memmethods */)) = sqlite3_mem_methods{ FxMalloc: *(*uintptr)(unsafe.Pointer(&struct { f func(*libc.TLS, int32) uintptr }{wrMemMalloc})), FxFree: *(*uintptr)(unsafe.Pointer(&struct{ f func(*libc.TLS, uintptr) }{wrMemFree})), FxRealloc: *(*uintptr)(unsafe.Pointer(&struct { @@ -108866,16 +108866,16 @@ func installInitWrappers(tls *libc.TLS) { /* test_init.c:160:13: */ sqlite3.Xsqlite3_shutdown(tls) sqlite3.Xsqlite3_config(tls, SQLITE_CONFIG_GETMUTEX, libc.VaList(bp, (uintptr(unsafe.Pointer(&wrapped))+168 /* &.mutex */))) - sqlite3.Xsqlite3_config(tls, SQLITE_CONFIG_GETMALLOC, libc.VaList(bp+16, (uintptr(unsafe.Pointer(&wrapped))+104 /* &.mem */))) - sqlite3.Xsqlite3_config(tls, SQLITE_CONFIG_GETPCACHE2, libc.VaList(bp+32, (uintptr(unsafe.Pointer(&wrapped)) /* &.pcache */))) - sqlite3.Xsqlite3_config(tls, SQLITE_CONFIG_MUTEX, libc.VaList(bp+48, bp+96 /* &mutexmethods */)) - sqlite3.Xsqlite3_config(tls, SQLITE_CONFIG_MALLOC, libc.VaList(bp+64, bp+168 /* &memmethods */)) - sqlite3.Xsqlite3_config(tls, SQLITE_CONFIG_PCACHE2, libc.VaList(bp+80, bp+232 /* &pcachemethods */)) + sqlite3.Xsqlite3_config(tls, SQLITE_CONFIG_GETMALLOC, libc.VaList(bp+8, (uintptr(unsafe.Pointer(&wrapped))+104 /* &.mem */))) + sqlite3.Xsqlite3_config(tls, SQLITE_CONFIG_GETPCACHE2, libc.VaList(bp+16, (uintptr(unsafe.Pointer(&wrapped)) /* &.pcache */))) + sqlite3.Xsqlite3_config(tls, SQLITE_CONFIG_MUTEX, libc.VaList(bp+24, bp+48 /* &mutexmethods */)) + sqlite3.Xsqlite3_config(tls, SQLITE_CONFIG_MALLOC, libc.VaList(bp+32, bp+120 /* &memmethods */)) + sqlite3.Xsqlite3_config(tls, SQLITE_CONFIG_PCACHE2, libc.VaList(bp+40, bp+184 /* &pcachemethods */)) } func init_wrapper_install(tls *libc.TLS, clientData ClientData, interp uintptr, objc int32, objv uintptr) int32 { /* test_init.c:191:26: */ - bp := tls.Alloc(32) - defer tls.Free(32) + bp := tls.Alloc(24) + defer tls.Free(24) var i int32 installInitWrappers(tls) @@ -108896,8 +108896,8 @@ func init_wrapper_install(tls *libc.TLS, clientData ClientData, interp uintptr, } func init_wrapper_uninstall(tls *libc.TLS, clientData ClientData, interp uintptr, objc int32, objv uintptr) int32 { /* test_init.c:215:26: */ - bp := tls.Alloc(48) - defer tls.Free(48) + bp := tls.Alloc(24) + defer tls.Free(24) if objc != 1 { tcl.XTcl_WrongNumArgs(tls, interp, 1, objv, ts+489 /* "" */) @@ -108906,8 +108906,8 @@ func init_wrapper_uninstall(tls *libc.TLS, clientData ClientData, interp uintptr sqlite3.Xsqlite3_shutdown(tls) sqlite3.Xsqlite3_config(tls, SQLITE_CONFIG_MUTEX, libc.VaList(bp, (uintptr(unsafe.Pointer(&wrapped))+168 /* &.mutex */))) - sqlite3.Xsqlite3_config(tls, SQLITE_CONFIG_MALLOC, libc.VaList(bp+16, (uintptr(unsafe.Pointer(&wrapped))+104 /* &.mem */))) - sqlite3.Xsqlite3_config(tls, SQLITE_CONFIG_PCACHE2, libc.VaList(bp+32, (uintptr(unsafe.Pointer(&wrapped)) /* &.pcache */))) + sqlite3.Xsqlite3_config(tls, SQLITE_CONFIG_MALLOC, libc.VaList(bp+8, (uintptr(unsafe.Pointer(&wrapped))+104 /* &.mem */))) + sqlite3.Xsqlite3_config(tls, SQLITE_CONFIG_PCACHE2, libc.VaList(bp+16, (uintptr(unsafe.Pointer(&wrapped)) /* &.pcache */))) return TCL_OK } @@ -109134,8 +109134,8 @@ var intarrayModule = sqlite3_module{ // iVersion // explicitly by the application, the virtual table will be dropped implicitly // by the system when the database connection is closed. func sqlite3_intarray_create(tls *libc.TLS, db uintptr, zName uintptr, ppReturn uintptr) int32 { /* test_intarray.c:223:16: */ - bp := tls.Alloc(24) - defer tls.Free(24) + bp := tls.Alloc(16) + defer tls.Free(16) var rc int32 = SQLITE_OK var p uintptr @@ -109177,32 +109177,32 @@ func sqlite3_intarray_bind(tls *libc.TLS, pIntArray uintptr, nElements int32, aE // Invoke the sqlite3_intarray_create interface. A string that becomes // the first parameter to sqlite3_intarray_bind. func test_intarray_create(tls *libc.TLS, clientData ClientData, interp uintptr, objc int32, objv uintptr) int32 { /* test_intarray.c:300:26: */ - bp := tls.Alloc(164) - defer tls.Free(164) + bp := tls.Alloc(148) + defer tls.Free(148) - // var db uintptr at bp+48, 8 + // var db uintptr at bp+32, 8 var zName uintptr - // var pArray uintptr at bp+56, 8 + // var pArray uintptr at bp+40, 8 var rc int32 = SQLITE_OK - // var zPtr [100]int8 at bp+64, 100 + // var zPtr [100]int8 at bp+48, 100 if objc != 3 { tcl.XTcl_WrongNumArgs(tls, interp, 1, objv, ts+1911 /* "DB" */) return TCL_ERROR } - if getDbPointer(tls, interp, tcl.XTcl_GetString(tls, *(*uintptr)(unsafe.Pointer(objv + 1*8))), bp+48 /* &db */) != 0 { + if getDbPointer(tls, interp, tcl.XTcl_GetString(tls, *(*uintptr)(unsafe.Pointer(objv + 1*8))), bp+32 /* &db */) != 0 { return TCL_ERROR } zName = tcl.XTcl_GetString(tls, *(*uintptr)(unsafe.Pointer(objv + 2*8))) - rc = sqlite3_intarray_create(tls, *(*uintptr)(unsafe.Pointer(bp + 48 /* db */)), zName, bp+56 /* &pArray */) + rc = sqlite3_intarray_create(tls, *(*uintptr)(unsafe.Pointer(bp + 32 /* db */)), zName, bp+40 /* &pArray */) if rc != SQLITE_OK { tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp, sqlite3.Xsqlite3ErrName(tls, rc), uintptr(0))) return TCL_ERROR } - sqlite3TestMakePointerStr(tls, interp, bp+64 /* &zPtr[0] */, *(*uintptr)(unsafe.Pointer(bp + 56 /* pArray */))) - tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp+24, bp+64 /* &zPtr[0] */, uintptr(0))) + sqlite3TestMakePointerStr(tls, interp, bp+48 /* &zPtr[0] */, *(*uintptr)(unsafe.Pointer(bp + 40 /* pArray */))) + tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp+16, bp+48 /* &zPtr[0] */, uintptr(0))) return TCL_OK } @@ -109210,8 +109210,8 @@ func test_intarray_create(tls *libc.TLS, clientData ClientData, interp uintptr, // // Invoke the sqlite3_intarray_bind interface on the given array of integers. func test_intarray_bind(tls *libc.TLS, clientData ClientData, interp uintptr, objc int32, objv uintptr) int32 { /* test_intarray.c:335:26: */ - bp := tls.Alloc(56) - defer tls.Free(56) + bp := tls.Alloc(40) + defer tls.Free(40) var pArray uintptr var rc int32 = SQLITE_OK @@ -109231,13 +109231,13 @@ func test_intarray_bind(tls *libc.TLS, clientData ClientData, interp uintptr, ob return TCL_ERROR } for i = 0; i < n; i++ { - *(*Tcl_WideInt)(unsafe.Pointer(bp + 48 /* x */)) = int64(0) - tcl.XTcl_GetWideIntFromObj(tls, uintptr(0), *(*uintptr)(unsafe.Pointer(objv + uintptr((i+2))*8)), bp+48 /* &x */) - *(*sqlite3_int64)(unsafe.Pointer(a + uintptr(i)*8)) = *(*Tcl_WideInt)(unsafe.Pointer(bp + 48 /* x */)) + *(*Tcl_WideInt)(unsafe.Pointer(bp + 32 /* x */)) = int64(0) + tcl.XTcl_GetWideIntFromObj(tls, uintptr(0), *(*uintptr)(unsafe.Pointer(objv + uintptr((i+2))*8)), bp+32 /* &x */) + *(*sqlite3_int64)(unsafe.Pointer(a + uintptr(i)*8)) = *(*Tcl_WideInt)(unsafe.Pointer(bp + 32 /* x */)) } rc = sqlite3_intarray_bind(tls, pArray, n, a, *(*uintptr)(unsafe.Pointer(&struct{ f func(*libc.TLS, uintptr) }{sqlite3.Xsqlite3_free}))) if rc != SQLITE_OK { - tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp+24, sqlite3.Xsqlite3ErrName(tls, rc), uintptr(0))) + tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp+16, sqlite3.Xsqlite3ErrName(tls, rc), uintptr(0))) return TCL_ERROR } return TCL_OK @@ -110170,8 +110170,8 @@ func faultsimEndBenign(tls *libc.TLS) { /* test_malloc.c:172:13: */ // Add or remove the fault-simulation layer using sqlite3_config(). If // the argument is non-zero, the func faultsimInstall(tls *libc.TLS, install int32) int32 { /* test_malloc.c:180:12: */ - bp := tls.Alloc(256) - defer tls.Free(256) + bp := tls.Alloc(200) + defer tls.Free(200) var rc int32 @@ -110190,29 +110190,29 @@ func faultsimInstall(tls *libc.TLS, install int32) int32 { /* test_malloc.c:180: rc = sqlite3.Xsqlite3_config(tls, SQLITE_CONFIG_GETMALLOC, libc.VaList(bp, (uintptr(unsafe.Pointer(&memfault))+40 /* &.m */))) if rc == SQLITE_OK { - *(*sqlite3_mem_methods)(unsafe.Pointer(bp + 128 /* m */)) = memfault.Fm - (*sqlite3_mem_methods)(unsafe.Pointer(bp + 128 /* &m */)).FxMalloc = *(*uintptr)(unsafe.Pointer(&struct { + *(*sqlite3_mem_methods)(unsafe.Pointer(bp + 72 /* m */)) = memfault.Fm + (*sqlite3_mem_methods)(unsafe.Pointer(bp + 72 /* &m */)).FxMalloc = *(*uintptr)(unsafe.Pointer(&struct { f func(*libc.TLS, int32) uintptr }{faultsimMalloc})) - (*sqlite3_mem_methods)(unsafe.Pointer(bp + 128 /* &m */)).FxRealloc = *(*uintptr)(unsafe.Pointer(&struct { + (*sqlite3_mem_methods)(unsafe.Pointer(bp + 72 /* &m */)).FxRealloc = *(*uintptr)(unsafe.Pointer(&struct { f func(*libc.TLS, uintptr, int32) uintptr }{faultsimRealloc})) - rc = sqlite3.Xsqlite3_config(tls, SQLITE_CONFIG_MALLOC, libc.VaList(bp+16, bp+128 /* &m */)) + rc = sqlite3.Xsqlite3_config(tls, SQLITE_CONFIG_MALLOC, libc.VaList(bp+8, bp+72 /* &m */)) } sqlite3.Xsqlite3_test_control(tls, SQLITE_TESTCTRL_BENIGN_MALLOC_HOOKS, - libc.VaList(bp+32, *(*uintptr)(unsafe.Pointer(&struct{ f func(*libc.TLS) }{faultsimBeginBenign})), *(*uintptr)(unsafe.Pointer(&struct{ f func(*libc.TLS) }{faultsimEndBenign})))) + libc.VaList(bp+16, *(*uintptr)(unsafe.Pointer(&struct{ f func(*libc.TLS) }{faultsimBeginBenign})), *(*uintptr)(unsafe.Pointer(&struct{ f func(*libc.TLS) }{faultsimEndBenign})))) } else { - // var m2 sqlite3_mem_methods at bp+192, 64 + // var m2 sqlite3_mem_methods at bp+136, 64 // One should be able to reset the default memory allocator by storing // a zeroed allocator then calling GETMALLOC. - libc.Xmemset(tls, bp+192 /* &m2 */, 0, uint64(unsafe.Sizeof(sqlite3_mem_methods{}))) - sqlite3.Xsqlite3_config(tls, SQLITE_CONFIG_MALLOC, libc.VaList(bp+56, bp+192 /* &m2 */)) - sqlite3.Xsqlite3_config(tls, SQLITE_CONFIG_GETMALLOC, libc.VaList(bp+72, bp+192 /* &m2 */)) + libc.Xmemset(tls, bp+136 /* &m2 */, 0, uint64(unsafe.Sizeof(sqlite3_mem_methods{}))) + sqlite3.Xsqlite3_config(tls, SQLITE_CONFIG_MALLOC, libc.VaList(bp+32, bp+136 /* &m2 */)) + sqlite3.Xsqlite3_config(tls, SQLITE_CONFIG_GETMALLOC, libc.VaList(bp+40, bp+136 /* &m2 */)) - rc = sqlite3.Xsqlite3_config(tls, SQLITE_CONFIG_MALLOC, libc.VaList(bp+88, (uintptr(unsafe.Pointer(&memfault))+40 /* &.m */))) + rc = sqlite3.Xsqlite3_config(tls, SQLITE_CONFIG_MALLOC, libc.VaList(bp+48, (uintptr(unsafe.Pointer(&memfault))+40 /* &.m */))) sqlite3.Xsqlite3_test_control(tls, SQLITE_TESTCTRL_BENIGN_MALLOC_HOOKS, - libc.VaList(bp+104, uintptr(0), uintptr(0))) + libc.VaList(bp+56, uintptr(0), uintptr(0))) } if rc == SQLITE_OK { @@ -110314,24 +110314,24 @@ func textToPointer(tls *libc.TLS, z uintptr, pp uintptr) int32 { /* test_malloc. // // Raw test interface for sqlite3_malloc(). func test_malloc(tls *libc.TLS, clientData uintptr, interp uintptr, objc int32, objv uintptr) int32 { /* test_malloc.c:298:26: */ - bp := tls.Alloc(128) - defer tls.Free(128) + bp := tls.Alloc(120) + defer tls.Free(120) - // var nByte int32 at bp+24, 4 + // var nByte int32 at bp+16, 4 var p uintptr - // var zOut [100]int8 at bp+28, 100 + // var zOut [100]int8 at bp+20, 100 if objc != 2 { tcl.XTcl_WrongNumArgs(tls, interp, 1, objv, ts+32761 /* "NBYTES" */) return TCL_ERROR } - if tcl.XTcl_GetIntFromObj(tls, interp, *(*uintptr)(unsafe.Pointer(objv + 1*8)), bp+24 /* &nByte */) != 0 { + if tcl.XTcl_GetIntFromObj(tls, interp, *(*uintptr)(unsafe.Pointer(objv + 1*8)), bp+16 /* &nByte */) != 0 { return TCL_ERROR } - p = sqlite3.Xsqlite3_malloc(tls, int32(uint32(*(*int32)(unsafe.Pointer(bp + 24 /* nByte */))))) - pointerToText(tls, p, bp+28 /* &zOut[0] */) - tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp, bp+28 /* &zOut[0] */, uintptr(0))) + p = sqlite3.Xsqlite3_malloc(tls, int32(uint32(*(*int32)(unsafe.Pointer(bp + 16 /* nByte */))))) + pointerToText(tls, p, bp+20 /* &zOut[0] */) + tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp, bp+20 /* &zOut[0] */, uintptr(0))) return TCL_OK } @@ -110339,30 +110339,30 @@ func test_malloc(tls *libc.TLS, clientData uintptr, interp uintptr, objc int32, // // Raw test interface for sqlite3_realloc(). func test_realloc(tls *libc.TLS, clientData uintptr, interp uintptr, objc int32, objv uintptr) int32 { /* test_malloc.c:323:26: */ - bp := tls.Alloc(172) - defer tls.Free(172) + bp := tls.Alloc(156) + defer tls.Free(156) - // var nByte int32 at bp+56, 4 + // var nByte int32 at bp+40, 4 - // var pPrior uintptr at bp+64, 8 + // var pPrior uintptr at bp+48, 8 var p uintptr - // var zOut [100]int8 at bp+72, 100 + // var zOut [100]int8 at bp+56, 100 if objc != 3 { tcl.XTcl_WrongNumArgs(tls, interp, 1, objv, ts+32768 /* "PRIOR NBYTES" */) return TCL_ERROR } - if tcl.XTcl_GetIntFromObj(tls, interp, *(*uintptr)(unsafe.Pointer(objv + 2*8)), bp+56 /* &nByte */) != 0 { + if tcl.XTcl_GetIntFromObj(tls, interp, *(*uintptr)(unsafe.Pointer(objv + 2*8)), bp+40 /* &nByte */) != 0 { return TCL_ERROR } - if textToPointer(tls, tcl.XTcl_GetString(tls, *(*uintptr)(unsafe.Pointer(objv + 1*8))), bp+64 /* &pPrior */) != 0 { + if textToPointer(tls, tcl.XTcl_GetString(tls, *(*uintptr)(unsafe.Pointer(objv + 1*8))), bp+48 /* &pPrior */) != 0 { tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp, ts+32781 /* "bad pointer: " */, tcl.XTcl_GetString(tls, *(*uintptr)(unsafe.Pointer(objv + 1*8))), uintptr(0))) return TCL_ERROR } - p = sqlite3.Xsqlite3_realloc(tls, *(*uintptr)(unsafe.Pointer(bp + 64 /* pPrior */)), int32(uint32(*(*int32)(unsafe.Pointer(bp + 56 /* nByte */))))) - pointerToText(tls, p, bp+72 /* &zOut[0] */) - tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp+32, bp+72 /* &zOut[0] */, uintptr(0))) + p = sqlite3.Xsqlite3_realloc(tls, *(*uintptr)(unsafe.Pointer(bp + 48 /* pPrior */)), int32(uint32(*(*int32)(unsafe.Pointer(bp + 40 /* nByte */))))) + pointerToText(tls, p, bp+56 /* &zOut[0] */) + tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp+24, bp+56 /* &zOut[0] */, uintptr(0))) return TCL_OK } @@ -110370,20 +110370,20 @@ func test_realloc(tls *libc.TLS, clientData uintptr, interp uintptr, objc int32, // // Raw test interface for sqlite3_free(). func test_free(tls *libc.TLS, clientData uintptr, interp uintptr, objc int32, objv uintptr) int32 { /* test_malloc.c:352:26: */ - bp := tls.Alloc(40) - defer tls.Free(40) + bp := tls.Alloc(32) + defer tls.Free(32) - // var pPrior uintptr at bp+32, 8 + // var pPrior uintptr at bp+24, 8 if objc != 2 { tcl.XTcl_WrongNumArgs(tls, interp, 1, objv, ts+32795 /* "PRIOR" */) return TCL_ERROR } - if textToPointer(tls, tcl.XTcl_GetString(tls, *(*uintptr)(unsafe.Pointer(objv + 1*8))), bp+32 /* &pPrior */) != 0 { + if textToPointer(tls, tcl.XTcl_GetString(tls, *(*uintptr)(unsafe.Pointer(objv + 1*8))), bp+24 /* &pPrior */) != 0 { tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp, ts+32781 /* "bad pointer: " */, tcl.XTcl_GetString(tls, *(*uintptr)(unsafe.Pointer(objv + 1*8))), uintptr(0))) return TCL_ERROR } - sqlite3.Xsqlite3_free(tls, *(*uintptr)(unsafe.Pointer(bp + 32 /* pPrior */))) + sqlite3.Xsqlite3_free(tls, *(*uintptr)(unsafe.Pointer(bp + 24 /* pPrior */))) return TCL_OK } @@ -110392,47 +110392,47 @@ func test_free(tls *libc.TLS, clientData uintptr, interp uintptr, objc int32, ob // Set a chunk of memory (obtained from malloc, probably) to a // specified hex pattern. func test_memset(tls *libc.TLS, clientData uintptr, interp uintptr, objc int32, objv uintptr) int32 { /* test_malloc.c:383:26: */ - bp := tls.Alloc(196) - defer tls.Free(196) + bp := tls.Alloc(172) + defer tls.Free(172) - // var p uintptr at bp+80, 8 + // var p uintptr at bp+56, 8 - // var size int32 at bp+88, 4 + // var size int32 at bp+64, 4 - // var n int32 at bp+92, 4 + // var n int32 at bp+68, 4 var i int32 var zHex uintptr var zOut uintptr - // var zBin [100]int8 at bp+96, 100 + // var zBin [100]int8 at bp+72, 100 if objc != 4 { tcl.XTcl_WrongNumArgs(tls, interp, 1, objv, ts+32801 /* "ADDRESS SIZE HEX" */) return TCL_ERROR } - if textToPointer(tls, tcl.XTcl_GetString(tls, *(*uintptr)(unsafe.Pointer(objv + 1*8))), bp+80 /* &p */) != 0 { + if textToPointer(tls, tcl.XTcl_GetString(tls, *(*uintptr)(unsafe.Pointer(objv + 1*8))), bp+56 /* &p */) != 0 { tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp, ts+32781 /* "bad pointer: " */, tcl.XTcl_GetString(tls, *(*uintptr)(unsafe.Pointer(objv + 1*8))), uintptr(0))) return TCL_ERROR } - if tcl.XTcl_GetIntFromObj(tls, interp, *(*uintptr)(unsafe.Pointer(objv + 2*8)), bp+88 /* &size */) != 0 { + if tcl.XTcl_GetIntFromObj(tls, interp, *(*uintptr)(unsafe.Pointer(objv + 2*8)), bp+64 /* &size */) != 0 { return TCL_ERROR } - if *(*int32)(unsafe.Pointer(bp + 88 /* size */)) <= 0 { - tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp+32, ts+32818 /* "size must be pos..." */, uintptr(0))) + if *(*int32)(unsafe.Pointer(bp + 64 /* size */)) <= 0 { + tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp+24, ts+32818 /* "size must be pos..." */, uintptr(0))) return TCL_ERROR } - zHex = tcl.XTcl_GetStringFromObj(tls, *(*uintptr)(unsafe.Pointer(objv + 3*8)), bp+92 /* &n */) - if uint64(*(*int32)(unsafe.Pointer(bp + 92 /* n */))) > (uint64(unsafe.Sizeof([100]int8{})) * uint64(2)) { - *(*int32)(unsafe.Pointer(bp + 92 /* n */)) = (int32(uint64(unsafe.Sizeof([100]int8{})) * uint64(2))) + zHex = tcl.XTcl_GetStringFromObj(tls, *(*uintptr)(unsafe.Pointer(objv + 3*8)), bp+68 /* &n */) + if uint64(*(*int32)(unsafe.Pointer(bp + 68 /* n */))) > (uint64(unsafe.Sizeof([100]int8{})) * uint64(2)) { + *(*int32)(unsafe.Pointer(bp + 68 /* n */)) = (int32(uint64(unsafe.Sizeof([100]int8{})) * uint64(2))) } - *(*int32)(unsafe.Pointer(bp + 92 /* n */)) = sqlite3TestHexToBin(tls, zHex, *(*int32)(unsafe.Pointer(bp + 92 /* n */)), bp+96 /* &zBin[0] */) - if *(*int32)(unsafe.Pointer(bp + 92 /* n */)) == 0 { - tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp+56, ts+32840 /* "no data" */, uintptr(0))) + *(*int32)(unsafe.Pointer(bp + 68 /* n */)) = sqlite3TestHexToBin(tls, zHex, *(*int32)(unsafe.Pointer(bp + 68 /* n */)), bp+72 /* &zBin[0] */) + if *(*int32)(unsafe.Pointer(bp + 68 /* n */)) == 0 { + tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp+40, ts+32840 /* "no data" */, uintptr(0))) return TCL_ERROR } - zOut = *(*uintptr)(unsafe.Pointer(bp + 80 /* p */)) - for i = 0; i < *(*int32)(unsafe.Pointer(bp + 88 /* size */)); i++ { - *(*int8)(unsafe.Pointer(zOut + uintptr(i))) = *(*int8)(unsafe.Pointer(bp + 96 /* &zBin[0] */ + uintptr((i % *(*int32)(unsafe.Pointer(bp + 92 /* n */)))))) + zOut = *(*uintptr)(unsafe.Pointer(bp + 56 /* p */)) + for i = 0; i < *(*int32)(unsafe.Pointer(bp + 64 /* size */)); i++ { + *(*int8)(unsafe.Pointer(zOut + uintptr(i))) = *(*int8)(unsafe.Pointer(bp + 72 /* &zBin[0] */ + uintptr((i % *(*int32)(unsafe.Pointer(bp + 68 /* n */)))))) } return TCL_OK } @@ -110441,44 +110441,44 @@ func test_memset(tls *libc.TLS, clientData uintptr, interp uintptr, objc int32, // // Return memory as hexadecimal text. func test_memget(tls *libc.TLS, clientData uintptr, interp uintptr, objc int32, objv uintptr) int32 { /* test_malloc.c:429:26: */ - bp := tls.Alloc(192) - defer tls.Free(192) + bp := tls.Alloc(168) + defer tls.Free(168) - // var p uintptr at bp+80, 8 + // var p uintptr at bp+56, 8 - // var size int32 at bp+88, 4 + // var size int32 at bp+64, 4 var n int32 var zBin uintptr - // var zHex [100]int8 at bp+92, 100 + // var zHex [100]int8 at bp+68, 100 if objc != 3 { tcl.XTcl_WrongNumArgs(tls, interp, 1, objv, ts+32848 /* "ADDRESS SIZE" */) return TCL_ERROR } - if textToPointer(tls, tcl.XTcl_GetString(tls, *(*uintptr)(unsafe.Pointer(objv + 1*8))), bp+80 /* &p */) != 0 { + if textToPointer(tls, tcl.XTcl_GetString(tls, *(*uintptr)(unsafe.Pointer(objv + 1*8))), bp+56 /* &p */) != 0 { tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp, ts+32781 /* "bad pointer: " */, tcl.XTcl_GetString(tls, *(*uintptr)(unsafe.Pointer(objv + 1*8))), uintptr(0))) return TCL_ERROR } - if tcl.XTcl_GetIntFromObj(tls, interp, *(*uintptr)(unsafe.Pointer(objv + 2*8)), bp+88 /* &size */) != 0 { + if tcl.XTcl_GetIntFromObj(tls, interp, *(*uintptr)(unsafe.Pointer(objv + 2*8)), bp+64 /* &size */) != 0 { return TCL_ERROR } - if *(*int32)(unsafe.Pointer(bp + 88 /* size */)) <= 0 { - tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp+32, ts+32818 /* "size must be pos..." */, uintptr(0))) + if *(*int32)(unsafe.Pointer(bp + 64 /* size */)) <= 0 { + tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp+24, ts+32818 /* "size must be pos..." */, uintptr(0))) return TCL_ERROR } - zBin = *(*uintptr)(unsafe.Pointer(bp + 80 /* p */)) - for *(*int32)(unsafe.Pointer(bp + 88 /* size */)) > 0 { - if uint64(*(*int32)(unsafe.Pointer(bp + 88 /* size */))) > ((uint64(unsafe.Sizeof([100]int8{})) - uint64(1)) / uint64(2)) { + zBin = *(*uintptr)(unsafe.Pointer(bp + 56 /* p */)) + for *(*int32)(unsafe.Pointer(bp + 64 /* size */)) > 0 { + if uint64(*(*int32)(unsafe.Pointer(bp + 64 /* size */))) > ((uint64(unsafe.Sizeof([100]int8{})) - uint64(1)) / uint64(2)) { n = (int32((uint64(unsafe.Sizeof([100]int8{})) - uint64(1)) / uint64(2))) } else { - n = *(*int32)(unsafe.Pointer(bp + 88 /* size */)) + n = *(*int32)(unsafe.Pointer(bp + 64 /* size */)) } - libc.Xmemcpy(tls, bp+92 /* &zHex[0] */, zBin, uint64(n)) + libc.Xmemcpy(tls, bp+68 /* &zHex[0] */, zBin, uint64(n)) zBin += uintptr(n) - *(*int32)(unsafe.Pointer(bp + 88 /* size */)) -= n - sqlite3TestBinToHex(tls, bp+92 /* &zHex[0] */, n) - tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp+56, bp+92 /* &zHex[0] */, uintptr(0))) + *(*int32)(unsafe.Pointer(bp + 64 /* size */)) -= n + sqlite3TestBinToHex(tls, bp+68 /* &zHex[0] */, n) + tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp+40, bp+68 /* &zHex[0] */, uintptr(0))) } return TCL_OK } @@ -110574,13 +110574,13 @@ func test_memdebug_malloc_count(tls *libc.TLS, clientData uintptr, interp uintpt // // To disable simulated failures, use a COUNTER of -1. func test_memdebug_fail(tls *libc.TLS, clientData uintptr, interp uintptr, objc int32, objv uintptr) int32 { /* test_malloc.c:607:26: */ - bp := tls.Alloc(44) - defer tls.Free(44) + bp := tls.Alloc(36) + defer tls.Free(36) var ii int32 - // var iFail int32 at bp+32, 4 + // var iFail int32 at bp+24, 4 - *(*int32)(unsafe.Pointer(bp + 40 /* nRepeat */)) = 1 + *(*int32)(unsafe.Pointer(bp + 32 /* nRepeat */)) = 1 var pBenignCnt uintptr = uintptr(0) var nBenign int32 var nFail int32 = 0 @@ -110589,25 +110589,25 @@ func test_memdebug_fail(tls *libc.TLS, clientData uintptr, interp uintptr, objc tcl.XTcl_WrongNumArgs(tls, interp, 1, objv, ts+32874 /* "COUNTER ?OPTIONS..." */) return TCL_ERROR } - if tcl.XTcl_GetIntFromObj(tls, interp, *(*uintptr)(unsafe.Pointer(objv + 1*8)), bp+32 /* &iFail */) != 0 { + if tcl.XTcl_GetIntFromObj(tls, interp, *(*uintptr)(unsafe.Pointer(objv + 1*8)), bp+24 /* &iFail */) != 0 { return TCL_ERROR } for ii = 2; ii < objc; ii = ii + (2) { - // var nOption int32 at bp+36, 4 + // var nOption int32 at bp+28, 4 - var zOption uintptr = tcl.XTcl_GetStringFromObj(tls, *(*uintptr)(unsafe.Pointer(objv + uintptr(ii)*8)), bp+36 /* &nOption */) + var zOption uintptr = tcl.XTcl_GetStringFromObj(tls, *(*uintptr)(unsafe.Pointer(objv + uintptr(ii)*8)), bp+28 /* &nOption */) var zErr uintptr = uintptr(0) - if (*(*int32)(unsafe.Pointer(bp + 36 /* nOption */)) > 1) && (libc.Xstrncmp(tls, zOption, ts+32892 /* "-repeat" */, uint64(*(*int32)(unsafe.Pointer(bp + 36 /* nOption */)))) == 0) { + if (*(*int32)(unsafe.Pointer(bp + 28 /* nOption */)) > 1) && (libc.Xstrncmp(tls, zOption, ts+32892 /* "-repeat" */, uint64(*(*int32)(unsafe.Pointer(bp + 28 /* nOption */)))) == 0) { if ii == (objc - 1) { zErr = ts + 13108 /* "option requires ..." */ } else { - if tcl.XTcl_GetIntFromObj(tls, interp, *(*uintptr)(unsafe.Pointer(objv + uintptr((ii+1))*8)), bp+40 /* &nRepeat */) != 0 { + if tcl.XTcl_GetIntFromObj(tls, interp, *(*uintptr)(unsafe.Pointer(objv + uintptr((ii+1))*8)), bp+32 /* &nRepeat */) != 0 { return TCL_ERROR } } - } else if (*(*int32)(unsafe.Pointer(bp + 36 /* nOption */)) > 1) && (libc.Xstrncmp(tls, zOption, ts+32900 /* "-benigncnt" */, uint64(*(*int32)(unsafe.Pointer(bp + 36 /* nOption */)))) == 0) { + } else if (*(*int32)(unsafe.Pointer(bp + 28 /* nOption */)) > 1) && (libc.Xstrncmp(tls, zOption, ts+32900 /* "-benigncnt" */, uint64(*(*int32)(unsafe.Pointer(bp + 28 /* nOption */)))) == 0) { if ii == (objc - 1) { zErr = ts + 13108 /* "option requires ..." */ } else { @@ -110625,7 +110625,7 @@ func test_memdebug_fail(tls *libc.TLS, clientData uintptr, interp uintptr, objc nBenign = faultsimBenignFailures(tls) nFail = faultsimFailures(tls) - faultsimConfig(tls, *(*int32)(unsafe.Pointer(bp + 32 /* iFail */)), *(*int32)(unsafe.Pointer(bp + 40 /* nRepeat */))) + faultsimConfig(tls, *(*int32)(unsafe.Pointer(bp + 24 /* iFail */)), *(*int32)(unsafe.Pointer(bp + 32 /* nRepeat */))) if pBenignCnt != 0 { tcl.XTcl_ObjSetVar2(tls, interp, pBenignCnt, uintptr(0), tcl.XTcl_NewIntObj(tls, nBenign), 0) @@ -110794,22 +110794,22 @@ var MB_strs = [5]uintptr{ts + 32933 /* "start" */, ts + 32939 /* "stop" */, ts + // // A negative SIZE causes the buffer pointer to be NULL. func test_config_pagecache(tls *libc.TLS, clientData uintptr, interp uintptr, objc int32, objv uintptr) int32 { /* test_malloc.c:885:26: */ - bp := tls.Alloc(72) - defer tls.Free(72) + bp := tls.Alloc(56) + defer tls.Free(56) - // var sz int32 at bp+64, 4 + // var sz int32 at bp+48, 4 - // var N int32 at bp+68, 4 + // var N int32 at bp+52, 4 var pRes uintptr if objc != 3 { tcl.XTcl_WrongNumArgs(tls, interp, 1, objv, ts+32960 /* "SIZE N" */) return TCL_ERROR } - if tcl.XTcl_GetIntFromObj(tls, interp, *(*uintptr)(unsafe.Pointer(objv + 1*8)), bp+64 /* &sz */) != 0 { + if tcl.XTcl_GetIntFromObj(tls, interp, *(*uintptr)(unsafe.Pointer(objv + 1*8)), bp+48 /* &sz */) != 0 { return TCL_ERROR } - if tcl.XTcl_GetIntFromObj(tls, interp, *(*uintptr)(unsafe.Pointer(objv + 2*8)), bp+68 /* &N */) != 0 { + if tcl.XTcl_GetIntFromObj(tls, interp, *(*uintptr)(unsafe.Pointer(objv + 2*8)), bp+52 /* &N */) != 0 { return TCL_ERROR } libc.Xfree(tls, buf1) @@ -110821,11 +110821,11 @@ func test_config_pagecache(tls *libc.TLS, clientData uintptr, interp uintptr, ob tcl.XTcl_ListObjAppendElement(tls, uintptr(0), pRes, tcl.XTcl_NewIntObj(tls, sqlite3.Xsqlite3Config.FnPage)) tcl.XTcl_SetObjResult(tls, interp, pRes) - if *(*int32)(unsafe.Pointer(bp + 64 /* sz */)) < 0 { + if *(*int32)(unsafe.Pointer(bp + 48 /* sz */)) < 0 { sqlite3.Xsqlite3_config(tls, SQLITE_CONFIG_PAGECACHE, libc.VaList(bp, uintptr(0), 0, 0)) } else { - buf1 = libc.Xmalloc(tls, (uint64(*(*int32)(unsafe.Pointer(bp + 64 /* sz */)) * *(*int32)(unsafe.Pointer(bp + 68 /* N */))))) - sqlite3.Xsqlite3_config(tls, SQLITE_CONFIG_PAGECACHE, libc.VaList(bp+32, buf1, *(*int32)(unsafe.Pointer(bp + 64 /* sz */)), *(*int32)(unsafe.Pointer(bp + 68 /* N */)))) + buf1 = libc.Xmalloc(tls, (uint64(*(*int32)(unsafe.Pointer(bp + 48 /* sz */)) * *(*int32)(unsafe.Pointer(bp + 52 /* N */))))) + sqlite3.Xsqlite3_config(tls, SQLITE_CONFIG_PAGECACHE, libc.VaList(bp+24, buf1, *(*int32)(unsafe.Pointer(bp + 48 /* sz */)), *(*int32)(unsafe.Pointer(bp + 52 /* N */)))) } return TCL_OK } @@ -110841,38 +110841,38 @@ var buf1 uintptr = uintptr(0) /* test_malloc.c:893:15 */ // is certainty. 0 is never. PRNG_SEED is the pseudo-random number generator // seed. func test_alt_pcache(tls *libc.TLS, clientData uintptr, interp uintptr, objc int32, objv uintptr) int32 { /* test_malloc.c:928:26: */ - bp := tls.Alloc(40) - defer tls.Free(40) + bp := tls.Alloc(32) + defer tls.Free(32) - // var installFlag int32 at bp+24, 4 + // var installFlag int32 at bp+16, 4 - *(*int32)(unsafe.Pointer(bp + 28 /* discardChance */)) = 0 - *(*int32)(unsafe.Pointer(bp + 32 /* prngSeed */)) = 0 - *(*int32)(unsafe.Pointer(bp + 36 /* highStress */)) = 0 + *(*int32)(unsafe.Pointer(bp + 20 /* discardChance */)) = 0 + *(*int32)(unsafe.Pointer(bp + 24 /* prngSeed */)) = 0 + *(*int32)(unsafe.Pointer(bp + 28 /* highStress */)) = 0 if (objc < 2) || (objc > 5) { tcl.XTcl_WrongNumArgs(tls, interp, 1, objv, ts+32967 /* "INSTALLFLAG DISC..." */) return TCL_ERROR } - if tcl.XTcl_GetIntFromObj(tls, interp, *(*uintptr)(unsafe.Pointer(objv + 1*8)), bp+24 /* &installFlag */) != 0 { + if tcl.XTcl_GetIntFromObj(tls, interp, *(*uintptr)(unsafe.Pointer(objv + 1*8)), bp+16 /* &installFlag */) != 0 { return TCL_ERROR } - if (objc >= 3) && (tcl.XTcl_GetIntFromObj(tls, interp, *(*uintptr)(unsafe.Pointer(objv + 2*8)), bp+28 /* &discardChance */) != 0) { + if (objc >= 3) && (tcl.XTcl_GetIntFromObj(tls, interp, *(*uintptr)(unsafe.Pointer(objv + 2*8)), bp+20 /* &discardChance */) != 0) { return TCL_ERROR } - if (objc >= 4) && (tcl.XTcl_GetIntFromObj(tls, interp, *(*uintptr)(unsafe.Pointer(objv + 3*8)), bp+32 /* &prngSeed */) != 0) { + if (objc >= 4) && (tcl.XTcl_GetIntFromObj(tls, interp, *(*uintptr)(unsafe.Pointer(objv + 3*8)), bp+24 /* &prngSeed */) != 0) { return TCL_ERROR } - if (objc >= 5) && (tcl.XTcl_GetIntFromObj(tls, interp, *(*uintptr)(unsafe.Pointer(objv + 4*8)), bp+36 /* &highStress */) != 0) { + if (objc >= 5) && (tcl.XTcl_GetIntFromObj(tls, interp, *(*uintptr)(unsafe.Pointer(objv + 4*8)), bp+28 /* &highStress */) != 0) { return TCL_ERROR } - if (*(*int32)(unsafe.Pointer(bp + 28 /* discardChance */)) < 0) || (*(*int32)(unsafe.Pointer(bp + 28 /* discardChance */)) > 100) { + if (*(*int32)(unsafe.Pointer(bp + 20 /* discardChance */)) < 0) || (*(*int32)(unsafe.Pointer(bp + 20 /* discardChance */)) > 100) { tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp, ts+33014, /* "discard-chance s..." */ uintptr(0))) return TCL_ERROR } - installTestPCache(tls, *(*int32)(unsafe.Pointer(bp + 24 /* installFlag */)), uint32(*(*int32)(unsafe.Pointer(bp + 28 /* discardChance */))), uint32(*(*int32)(unsafe.Pointer(bp + 32 /* prngSeed */))), - uint32(*(*int32)(unsafe.Pointer(bp + 36 /* highStress */)))) + installTestPCache(tls, *(*int32)(unsafe.Pointer(bp + 16 /* installFlag */)), uint32(*(*int32)(unsafe.Pointer(bp + 20 /* discardChance */))), uint32(*(*int32)(unsafe.Pointer(bp + 24 /* prngSeed */))), + uint32(*(*int32)(unsafe.Pointer(bp + 28 /* highStress */)))) return TCL_OK } @@ -110880,20 +110880,20 @@ func test_alt_pcache(tls *libc.TLS, clientData uintptr, interp uintptr, objc int // // Enable or disable memory status reporting using SQLITE_CONFIG_MEMSTATUS. func test_config_memstatus(tls *libc.TLS, clientData uintptr, interp uintptr, objc int32, objv uintptr) int32 { /* test_malloc.c:969:26: */ - bp := tls.Alloc(20) - defer tls.Free(20) + bp := tls.Alloc(12) + defer tls.Free(12) - // var enable int32 at bp+16, 4 + // var enable int32 at bp+8, 4 var rc int32 if objc != 2 { tcl.XTcl_WrongNumArgs(tls, interp, 1, objv, ts+18720 /* "BOOLEAN" */) return TCL_ERROR } - if tcl.XTcl_GetBooleanFromObj(tls, interp, *(*uintptr)(unsafe.Pointer(objv + 1*8)), bp+16 /* &enable */) != 0 { + if tcl.XTcl_GetBooleanFromObj(tls, interp, *(*uintptr)(unsafe.Pointer(objv + 1*8)), bp+8 /* &enable */) != 0 { return TCL_ERROR } - rc = sqlite3.Xsqlite3_config(tls, SQLITE_CONFIG_MEMSTATUS, libc.VaList(bp, *(*int32)(unsafe.Pointer(bp + 16 /* enable */)))) + rc = sqlite3.Xsqlite3_config(tls, SQLITE_CONFIG_MEMSTATUS, libc.VaList(bp, *(*int32)(unsafe.Pointer(bp + 8 /* enable */)))) tcl.XTcl_SetObjResult(tls, interp, tcl.XTcl_NewIntObj(tls, rc)) return TCL_OK } @@ -110901,22 +110901,22 @@ func test_config_memstatus(tls *libc.TLS, clientData uintptr, interp uintptr, ob // Usage: sqlite3_config_lookaside SIZE COUNT // func test_config_lookaside(tls *libc.TLS, clientData uintptr, interp uintptr, objc int32, objv uintptr) int32 { /* test_malloc.c:990:26: */ - bp := tls.Alloc(32) - defer tls.Free(32) + bp := tls.Alloc(24) + defer tls.Free(24) - // var sz int32 at bp+24, 4 + // var sz int32 at bp+16, 4 - // var cnt int32 at bp+28, 4 + // var cnt int32 at bp+20, 4 var pRet uintptr if objc != 3 { tcl.XTcl_WrongNumArgs(tls, interp, 1, objv, ts+33057 /* "SIZE COUNT" */) return TCL_ERROR } - if tcl.XTcl_GetIntFromObj(tls, interp, *(*uintptr)(unsafe.Pointer(objv + 1*8)), bp+24 /* &sz */) != 0 { + if tcl.XTcl_GetIntFromObj(tls, interp, *(*uintptr)(unsafe.Pointer(objv + 1*8)), bp+16 /* &sz */) != 0 { return TCL_ERROR } - if tcl.XTcl_GetIntFromObj(tls, interp, *(*uintptr)(unsafe.Pointer(objv + 2*8)), bp+28 /* &cnt */) != 0 { + if tcl.XTcl_GetIntFromObj(tls, interp, *(*uintptr)(unsafe.Pointer(objv + 2*8)), bp+20 /* &cnt */) != 0 { return TCL_ERROR } pRet = tcl.XTcl_NewObj(tls) @@ -110924,7 +110924,7 @@ func test_config_lookaside(tls *libc.TLS, clientData uintptr, interp uintptr, ob interp, pRet, tcl.XTcl_NewIntObj(tls, sqlite3.Xsqlite3Config.FszLookaside)) tcl.XTcl_ListObjAppendElement(tls, interp, pRet, tcl.XTcl_NewIntObj(tls, sqlite3.Xsqlite3Config.FnLookaside)) - sqlite3.Xsqlite3_config(tls, SQLITE_CONFIG_LOOKASIDE, libc.VaList(bp, *(*int32)(unsafe.Pointer(bp + 24 /* sz */)), *(*int32)(unsafe.Pointer(bp + 28 /* cnt */)))) + sqlite3.Xsqlite3_config(tls, SQLITE_CONFIG_LOOKASIDE, libc.VaList(bp, *(*int32)(unsafe.Pointer(bp + 16 /* sz */)), *(*int32)(unsafe.Pointer(bp + 20 /* cnt */)))) tcl.XTcl_SetObjResult(tls, interp, pRet) return TCL_OK } @@ -110935,40 +110935,40 @@ func test_config_lookaside(tls *libc.TLS, clientData uintptr, interp uintptr, ob // is 10KB in size. A BUFID of 0 indicates that the buffer should be NULL // which will cause sqlite3_db_config() to allocate space on its own. func test_db_config_lookaside(tls *libc.TLS, clientData uintptr, interp uintptr, objc int32, objv uintptr) int32 { /* test_malloc.c:1024:26: */ - bp := tls.Alloc(108) - defer tls.Free(108) + bp := tls.Alloc(84) + defer tls.Free(84) var rc int32 - // var sz int32 at bp+100, 4 + // var sz int32 at bp+76, 4 - // var cnt int32 at bp+104, 4 + // var cnt int32 at bp+80, 4 - // var db uintptr at bp+88, 8 + // var db uintptr at bp+64, 8 - // var bufid int32 at bp+96, 4 + // var bufid int32 at bp+72, 4 if objc != 5 { tcl.XTcl_WrongNumArgs(tls, interp, 1, objv, ts+33068 /* "BUFID SIZE COUNT" */) return TCL_ERROR } - if getDbPointer(tls, interp, tcl.XTcl_GetString(tls, *(*uintptr)(unsafe.Pointer(objv + 1*8))), bp+88 /* &db */) != 0 { + if getDbPointer(tls, interp, tcl.XTcl_GetString(tls, *(*uintptr)(unsafe.Pointer(objv + 1*8))), bp+64 /* &db */) != 0 { return TCL_ERROR } - if tcl.XTcl_GetIntFromObj(tls, interp, *(*uintptr)(unsafe.Pointer(objv + 2*8)), bp+96 /* &bufid */) != 0 { + if tcl.XTcl_GetIntFromObj(tls, interp, *(*uintptr)(unsafe.Pointer(objv + 2*8)), bp+72 /* &bufid */) != 0 { return TCL_ERROR } - if tcl.XTcl_GetIntFromObj(tls, interp, *(*uintptr)(unsafe.Pointer(objv + 3*8)), bp+100 /* &sz */) != 0 { + if tcl.XTcl_GetIntFromObj(tls, interp, *(*uintptr)(unsafe.Pointer(objv + 3*8)), bp+76 /* &sz */) != 0 { return TCL_ERROR } - if tcl.XTcl_GetIntFromObj(tls, interp, *(*uintptr)(unsafe.Pointer(objv + 4*8)), bp+104 /* &cnt */) != 0 { + if tcl.XTcl_GetIntFromObj(tls, interp, *(*uintptr)(unsafe.Pointer(objv + 4*8)), bp+80 /* &cnt */) != 0 { return TCL_ERROR } - if *(*int32)(unsafe.Pointer(bp + 96 /* bufid */)) == 0 { - rc = sqlite3.Xsqlite3_db_config(tls, *(*uintptr)(unsafe.Pointer(bp + 88 /* db */)), SQLITE_DBCONFIG_LOOKASIDE, libc.VaList(bp, uintptr(0), *(*int32)(unsafe.Pointer(bp + 100 /* sz */)), *(*int32)(unsafe.Pointer(bp + 104 /* cnt */)))) - } else if ((*(*int32)(unsafe.Pointer(bp + 96 /* bufid */)) >= 1) && (*(*int32)(unsafe.Pointer(bp + 96 /* bufid */)) <= 2)) && ((uint64(*(*int32)(unsafe.Pointer(bp + 100 /* sz */)) * *(*int32)(unsafe.Pointer(bp + 104 /* cnt */)))) <= uint64(unsafe.Sizeof([10000]int8{}))) { - rc = sqlite3.Xsqlite3_db_config(tls, *(*uintptr)(unsafe.Pointer(bp + 88 /* db */)), SQLITE_DBCONFIG_LOOKASIDE, libc.VaList(bp+32, (uintptr(unsafe.Pointer(&azBuf))+uintptr(*(*int32)(unsafe.Pointer(bp + 96 /* bufid */)))*10000), *(*int32)(unsafe.Pointer(bp + 100 /* sz */)), *(*int32)(unsafe.Pointer(bp + 104 /* cnt */)))) + if *(*int32)(unsafe.Pointer(bp + 72 /* bufid */)) == 0 { + rc = sqlite3.Xsqlite3_db_config(tls, *(*uintptr)(unsafe.Pointer(bp + 64 /* db */)), SQLITE_DBCONFIG_LOOKASIDE, libc.VaList(bp, uintptr(0), *(*int32)(unsafe.Pointer(bp + 76 /* sz */)), *(*int32)(unsafe.Pointer(bp + 80 /* cnt */)))) + } else if ((*(*int32)(unsafe.Pointer(bp + 72 /* bufid */)) >= 1) && (*(*int32)(unsafe.Pointer(bp + 72 /* bufid */)) <= 2)) && ((uint64(*(*int32)(unsafe.Pointer(bp + 76 /* sz */)) * *(*int32)(unsafe.Pointer(bp + 80 /* cnt */)))) <= uint64(unsafe.Sizeof([10000]int8{}))) { + rc = sqlite3.Xsqlite3_db_config(tls, *(*uintptr)(unsafe.Pointer(bp + 64 /* db */)), SQLITE_DBCONFIG_LOOKASIDE, libc.VaList(bp+24, (uintptr(unsafe.Pointer(&azBuf))+uintptr(*(*int32)(unsafe.Pointer(bp + 72 /* bufid */)))*10000), *(*int32)(unsafe.Pointer(bp + 76 /* sz */)), *(*int32)(unsafe.Pointer(bp + 80 /* cnt */)))) } else { - tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp+64, ts+33085 /* "illegal argument..." */, uintptr(0))) + tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp+48, ts+33085 /* "illegal argument..." */, uintptr(0))) return TCL_ERROR } tcl.XTcl_SetObjResult(tls, interp, tcl.XTcl_NewIntObj(tls, rc)) @@ -110979,12 +110979,12 @@ var azBuf [2][10000]int8 /* test_malloc.c:1034:15: */ // Usage: sqlite3_config_heap NBYTE NMINALLOC func test_config_heap(tls *libc.TLS, clientData uintptr, interp uintptr, objc int32, objv uintptr) int32 { /* test_malloc.c:1059:26: */ - bp := tls.Alloc(72) - defer tls.Free(72) + bp := tls.Alloc(56) + defer tls.Free(56) // Use this memory - // var nByte int32 at bp+64, 4 + // var nByte int32 at bp+48, 4 // Size of buffer to pass to sqlite3_config() - // var nMinAlloc int32 at bp+68, 4 + // var nMinAlloc int32 at bp+52, 4 // Size of minimum allocation var rc int32 // Return code of sqlite3_config() @@ -110995,20 +110995,20 @@ func test_config_heap(tls *libc.TLS, clientData uintptr, interp uintptr, objc in tcl.XTcl_WrongNumArgs(tls, interp, 1, objv, ts+33123 /* "NBYTE NMINALLOC" */) return TCL_ERROR } - if tcl.XTcl_GetIntFromObj(tls, interp, *(*uintptr)(unsafe.Pointer(aArg)), bp+64 /* &nByte */) != 0 { + if tcl.XTcl_GetIntFromObj(tls, interp, *(*uintptr)(unsafe.Pointer(aArg)), bp+48 /* &nByte */) != 0 { return TCL_ERROR } - if tcl.XTcl_GetIntFromObj(tls, interp, *(*uintptr)(unsafe.Pointer(aArg + 1*8)), bp+68 /* &nMinAlloc */) != 0 { + if tcl.XTcl_GetIntFromObj(tls, interp, *(*uintptr)(unsafe.Pointer(aArg + 1*8)), bp+52 /* &nMinAlloc */) != 0 { return TCL_ERROR } - if *(*int32)(unsafe.Pointer(bp + 64 /* nByte */)) == 0 { + if *(*int32)(unsafe.Pointer(bp + 48 /* nByte */)) == 0 { libc.Xfree(tls, zBuf) zBuf = uintptr(0) rc = sqlite3.Xsqlite3_config(tls, SQLITE_CONFIG_HEAP, libc.VaList(bp, uintptr(0), 0, 0)) } else { - zBuf = libc.Xrealloc(tls, zBuf, uint64(*(*int32)(unsafe.Pointer(bp + 64 /* nByte */)))) - rc = sqlite3.Xsqlite3_config(tls, SQLITE_CONFIG_HEAP, libc.VaList(bp+32, zBuf, *(*int32)(unsafe.Pointer(bp + 64 /* nByte */)), *(*int32)(unsafe.Pointer(bp + 68 /* nMinAlloc */)))) + zBuf = libc.Xrealloc(tls, zBuf, uint64(*(*int32)(unsafe.Pointer(bp + 48 /* nByte */)))) + rc = sqlite3.Xsqlite3_config(tls, SQLITE_CONFIG_HEAP, libc.VaList(bp+24, zBuf, *(*int32)(unsafe.Pointer(bp + 48 /* nByte */)), *(*int32)(unsafe.Pointer(bp + 52 /* nMinAlloc */)))) } tcl.XTcl_SetResult(tls, interp, sqlite3.Xsqlite3ErrName(tls, rc), uintptr(1)) @@ -111019,10 +111019,10 @@ var zBuf uintptr /* test_malloc.c:1065:15: */ // Usage: sqlite3_config_heap_size NBYTE func test_config_heap_size(tls *libc.TLS, clientData uintptr, interp uintptr, objc int32, objv uintptr) int32 { /* test_malloc.c:1096:26: */ - bp := tls.Alloc(20) - defer tls.Free(20) + bp := tls.Alloc(12) + defer tls.Free(12) - // var nByte int32 at bp+16, 4 + // var nByte int32 at bp+8, 4 // Size to pass to sqlite3_config() var rc int32 // Return code of sqlite3_config() @@ -111033,11 +111033,11 @@ func test_config_heap_size(tls *libc.TLS, clientData uintptr, interp uintptr, ob tcl.XTcl_WrongNumArgs(tls, interp, 1, objv, ts+16691 /* "NBYTE" */) return TCL_ERROR } - if tcl.XTcl_GetIntFromObj(tls, interp, *(*uintptr)(unsafe.Pointer(aArg)), bp+16 /* &nByte */) != 0 { + if tcl.XTcl_GetIntFromObj(tls, interp, *(*uintptr)(unsafe.Pointer(aArg)), bp+8 /* &nByte */) != 0 { return TCL_ERROR } - rc = sqlite3.Xsqlite3_config(tls, SQLITE_CONFIG_WIN32_HEAPSIZE, libc.VaList(bp, *(*int32)(unsafe.Pointer(bp + 16 /* nByte */)))) + rc = sqlite3.Xsqlite3_config(tls, SQLITE_CONFIG_WIN32_HEAPSIZE, libc.VaList(bp, *(*int32)(unsafe.Pointer(bp + 8 /* nByte */)))) tcl.XTcl_SetResult(tls, interp, sqlite3.Xsqlite3ErrName(tls, rc), uintptr(1)) return TCL_OK @@ -111048,20 +111048,20 @@ func test_config_heap_size(tls *libc.TLS, clientData uintptr, interp uintptr, ob // Invoke sqlite3_config() or sqlite3_db_config() with invalid // opcodes and verify that they return errors. func test_config_error(tls *libc.TLS, clientData uintptr, interp uintptr, objc int32, objv uintptr) int32 { /* test_malloc.c:1126:26: */ - bp := tls.Alloc(56) - defer tls.Free(56) + bp := tls.Alloc(40) + defer tls.Free(40) - // var db uintptr at bp+48, 8 + // var db uintptr at bp+32, 8 if (objc != 2) && (objc != 1) { tcl.XTcl_WrongNumArgs(tls, interp, 1, objv, ts+33139 /* "[DB]" */) return TCL_ERROR } if objc == 2 { - if getDbPointer(tls, interp, tcl.XTcl_GetString(tls, *(*uintptr)(unsafe.Pointer(objv + 1*8))), bp+48 /* &db */) != 0 { + if getDbPointer(tls, interp, tcl.XTcl_GetString(tls, *(*uintptr)(unsafe.Pointer(objv + 1*8))), bp+32 /* &db */) != 0 { return TCL_ERROR } - if sqlite3.Xsqlite3_db_config(tls, *(*uintptr)(unsafe.Pointer(bp + 48 /* db */)), 99999, 0) != SQLITE_ERROR { + if sqlite3.Xsqlite3_db_config(tls, *(*uintptr)(unsafe.Pointer(bp + 32 /* db */)), 99999, 0) != SQLITE_ERROR { tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp, ts+33144, /* "sqlite3_db_confi..." */ uintptr(0))) @@ -111070,7 +111070,7 @@ func test_config_error(tls *libc.TLS, clientData uintptr, interp uintptr, objc i } else { if sqlite3.Xsqlite3_config(tls, 99999, 0) != SQLITE_ERROR { tcl.XTcl_AppendResult(tls, interp, - libc.VaList(bp+24, ts+33202, /* "sqlite3_config(9..." */ + libc.VaList(bp+16, ts+33202, /* "sqlite3_config(9..." */ uintptr(0))) return TCL_ERROR } @@ -111083,21 +111083,21 @@ func test_config_error(tls *libc.TLS, clientData uintptr, interp uintptr, objc i // Enables or disables interpretation of URI parameters by default using // SQLITE_CONFIG_URI. func test_config_uri(tls *libc.TLS, clientData uintptr, interp uintptr, objc int32, objv uintptr) int32 { /* test_malloc.c:1164:26: */ - bp := tls.Alloc(20) - defer tls.Free(20) + bp := tls.Alloc(12) + defer tls.Free(12) var rc int32 - // var bOpenUri int32 at bp+16, 4 + // var bOpenUri int32 at bp+8, 4 if objc != 2 { tcl.XTcl_WrongNumArgs(tls, interp, 1, objv, ts+10615 /* "BOOL" */) return TCL_ERROR } - if tcl.XTcl_GetBooleanFromObj(tls, interp, *(*uintptr)(unsafe.Pointer(objv + 1*8)), bp+16 /* &bOpenUri */) != 0 { + if tcl.XTcl_GetBooleanFromObj(tls, interp, *(*uintptr)(unsafe.Pointer(objv + 1*8)), bp+8 /* &bOpenUri */) != 0 { return TCL_ERROR } - rc = sqlite3.Xsqlite3_config(tls, SQLITE_CONFIG_URI, libc.VaList(bp, *(*int32)(unsafe.Pointer(bp + 16 /* bOpenUri */)))) + rc = sqlite3.Xsqlite3_config(tls, SQLITE_CONFIG_URI, libc.VaList(bp, *(*int32)(unsafe.Pointer(bp + 8 /* bOpenUri */)))) tcl.XTcl_SetResult(tls, interp, sqlite3.Xsqlite3ErrName(tls, rc), uintptr(1)) return TCL_OK @@ -111108,21 +111108,21 @@ func test_config_uri(tls *libc.TLS, clientData uintptr, interp uintptr, objc int // Enables or disables the use of the covering-index scan optimization. // SQLITE_CONFIG_COVERING_INDEX_SCAN. func test_config_cis(tls *libc.TLS, clientData uintptr, interp uintptr, objc int32, objv uintptr) int32 { /* test_malloc.c:1193:26: */ - bp := tls.Alloc(20) - defer tls.Free(20) + bp := tls.Alloc(12) + defer tls.Free(12) var rc int32 - // var bUseCis int32 at bp+16, 4 + // var bUseCis int32 at bp+8, 4 if objc != 2 { tcl.XTcl_WrongNumArgs(tls, interp, 1, objv, ts+10615 /* "BOOL" */) return TCL_ERROR } - if tcl.XTcl_GetBooleanFromObj(tls, interp, *(*uintptr)(unsafe.Pointer(objv + 1*8)), bp+16 /* &bUseCis */) != 0 { + if tcl.XTcl_GetBooleanFromObj(tls, interp, *(*uintptr)(unsafe.Pointer(objv + 1*8)), bp+8 /* &bUseCis */) != 0 { return TCL_ERROR } - rc = sqlite3.Xsqlite3_config(tls, SQLITE_CONFIG_COVERING_INDEX_SCAN, libc.VaList(bp, *(*int32)(unsafe.Pointer(bp + 16 /* bUseCis */)))) + rc = sqlite3.Xsqlite3_config(tls, SQLITE_CONFIG_COVERING_INDEX_SCAN, libc.VaList(bp, *(*int32)(unsafe.Pointer(bp + 8 /* bUseCis */)))) tcl.XTcl_SetResult(tls, interp, sqlite3.Xsqlite3ErrName(tls, rc), uintptr(1)) return TCL_OK @@ -111132,21 +111132,21 @@ func test_config_cis(tls *libc.TLS, clientData uintptr, interp uintptr, objc int // // Set the minimum PMA size. func test_config_pmasz(tls *libc.TLS, clientData uintptr, interp uintptr, objc int32, objv uintptr) int32 { /* test_malloc.c:1221:26: */ - bp := tls.Alloc(20) - defer tls.Free(20) + bp := tls.Alloc(12) + defer tls.Free(12) var rc int32 - // var iPmaSz int32 at bp+16, 4 + // var iPmaSz int32 at bp+8, 4 if objc != 2 { tcl.XTcl_WrongNumArgs(tls, interp, 1, objv, ts+10615 /* "BOOL" */) return TCL_ERROR } - if tcl.XTcl_GetIntFromObj(tls, interp, *(*uintptr)(unsafe.Pointer(objv + 1*8)), bp+16 /* &iPmaSz */) != 0 { + if tcl.XTcl_GetIntFromObj(tls, interp, *(*uintptr)(unsafe.Pointer(objv + 1*8)), bp+8 /* &iPmaSz */) != 0 { return TCL_ERROR } - rc = sqlite3.Xsqlite3_config(tls, SQLITE_CONFIG_PMASZ, libc.VaList(bp, *(*int32)(unsafe.Pointer(bp + 16 /* iPmaSz */)))) + rc = sqlite3.Xsqlite3_config(tls, SQLITE_CONFIG_PMASZ, libc.VaList(bp, *(*int32)(unsafe.Pointer(bp + 8 /* iPmaSz */)))) tcl.XTcl_SetResult(tls, interp, sqlite3.Xsqlite3ErrName(tls, rc), uintptr(1)) return TCL_OK @@ -111828,8 +111828,8 @@ var zEncode = *(*[17]int8)(unsafe.Pointer(ts + 31135 /* "0123456789abcdef" */)) // each representing 16 bits of the digest and separated from each // other by a "-" character. func MD5DigestToBase10x8(tls *libc.TLS, digest uintptr, zDigest uintptr) { /* test_md5.c:302:13: */ - bp := tls.Alloc(16) - defer tls.Free(16) + bp := tls.Alloc(8) + defer tls.Free(8) var i int32 var j int32 @@ -111848,14 +111848,14 @@ func MD5DigestToBase10x8(tls *libc.TLS, digest uintptr, zDigest uintptr) { /* te // A TCL command for md5. The argument is the text to be hashed. The // Result is the hash in base64. func md5_cmd(tls *libc.TLS, cd uintptr, interp uintptr, argc int32, argv uintptr) int32 { /* test_md5.c:318:26: */ - bp := tls.Alloc(222) - defer tls.Free(222) + bp := tls.Alloc(206) + defer tls.Free(206) - // var ctx MD5Context at bp+64, 92 + // var ctx MD5Context at bp+48, 92 - // var digest [16]uint8 at bp+156, 16 + // var digest [16]uint8 at bp+140, 16 - // var zBuf [50]int8 at bp+172, 50 + // var zBuf [50]int8 at bp+156, 50 var converter uintptr @@ -111864,30 +111864,30 @@ func md5_cmd(tls *libc.TLS, cd uintptr, interp uintptr, argc int32, argv uintptr ts+15773 /* " TEXT\"" */, uintptr(0))) return TCL_ERROR } - MD5Init(tls, bp+64 /* &ctx */) - MD5Update(tls, bp+64 /* &ctx */, *(*uintptr)(unsafe.Pointer(argv + 1*8)), uint32(libc.Xstrlen(tls, *(*uintptr)(unsafe.Pointer(argv + 1*8))))) - MD5Final(tls, bp+156 /* &digest[0] */, bp+64 /* &ctx */) + MD5Init(tls, bp+48 /* &ctx */) + MD5Update(tls, bp+48 /* &ctx */, *(*uintptr)(unsafe.Pointer(argv + 1*8)), uint32(libc.Xstrlen(tls, *(*uintptr)(unsafe.Pointer(argv + 1*8))))) + MD5Final(tls, bp+140 /* &digest[0] */, bp+48 /* &ctx */) converter = cd - (*(*func(*libc.TLS, uintptr, uintptr))(unsafe.Pointer(&converter)))(tls, bp+156 /* &digest[0] */, bp+172 /* &zBuf[0] */) - tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp+40, bp+172 /* &zBuf[0] */, uintptr(0))) + (*(*func(*libc.TLS, uintptr, uintptr))(unsafe.Pointer(&converter)))(tls, bp+140 /* &digest[0] */, bp+156 /* &zBuf[0] */) + tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp+32, bp+156 /* &zBuf[0] */, uintptr(0))) return TCL_OK } // A TCL command to take the md5 hash of a file. The argument is the // name of the file. func md5file_cmd(tls *libc.TLS, cd uintptr, interp uintptr, argc int32, argv uintptr) int32 { /* test_md5.c:347:26: */ - bp := tls.Alloc(10452) - defer tls.Free(10452) + bp := tls.Alloc(10428) + defer tls.Free(10428) var in uintptr var ofst int32 var amt int32 - // var ctx MD5Context at bp+104, 92 + // var ctx MD5Context at bp+80, 92 var converter uintptr - // var digest [16]uint8 at bp+10436, 16 + // var digest [16]uint8 at bp+10412, 16 - // var zBuf [10240]int8 at bp+196, 10240 + // var zBuf [10240]int8 at bp+172, 10240 if (argc != 2) && (argc != 4) { tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp, ts+15410 /* "wrong # args: sh..." */, *(*uintptr)(unsafe.Pointer(argv)), @@ -111903,15 +111903,15 @@ func md5file_cmd(tls *libc.TLS, cd uintptr, interp uintptr, argc int32, argv uin } in = libc.Xfopen(tls, *(*uintptr)(unsafe.Pointer(argv + 1*8)), ts+4263 /* "rb" */) if in == uintptr(0) { - tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp+40, ts+34465 /* "unable to open f..." */, *(*uintptr)(unsafe.Pointer(argv + 1*8)), + tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp+32, ts+34465 /* "unable to open f..." */, *(*uintptr)(unsafe.Pointer(argv + 1*8)), ts+34487 /* "\" for reading" */, uintptr(0))) return TCL_ERROR } libc.Xfseek(tls, in, int32(ofst), SEEK_SET) - MD5Init(tls, bp+104 /* &ctx */) + MD5Init(tls, bp+80 /* &ctx */) for amt > 0 { var n int32 - n = int32(libc.Xfread(tls, bp+196 /* &zBuf[0] */, uint64(1), func() uint64 { + n = int32(libc.Xfread(tls, bp+172 /* &zBuf[0] */, uint64(1), func() uint64 { if uint64(unsafe.Sizeof([10240]int8{})) <= uint64(amt) { return uint64(unsafe.Sizeof([10240]int8{})) } @@ -111920,14 +111920,14 @@ func md5file_cmd(tls *libc.TLS, cd uintptr, interp uintptr, argc int32, argv uin if n <= 0 { break } - MD5Update(tls, bp+104 /* &ctx */, bp+196 /* zBuf */, uint32(n)) + MD5Update(tls, bp+80 /* &ctx */, bp+172 /* zBuf */, uint32(n)) amt = amt - (n) } libc.Xfclose(tls, in) - MD5Final(tls, bp+10436 /* &digest[0] */, bp+104 /* &ctx */) + MD5Final(tls, bp+10412 /* &digest[0] */, bp+80 /* &ctx */) converter = cd - (*(*func(*libc.TLS, uintptr, uintptr))(unsafe.Pointer(&converter)))(tls, bp+10436 /* &digest[0] */, bp+196 /* &zBuf[0] */) - tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp+80, bp+196 /* &zBuf[0] */, uintptr(0))) + (*(*func(*libc.TLS, uintptr, uintptr))(unsafe.Pointer(&converter)))(tls, bp+10412 /* &digest[0] */, bp+172 /* &zBuf[0] */) + tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp+64, bp+172 /* &zBuf[0] */, uintptr(0))) return TCL_OK } @@ -112168,8 +112168,8 @@ func multiplexStrlen30(tls *libc.TLS, z uintptr) int32 { /* test_multiplex.c:187 // The output buffer string is terminated by 2 0x00 bytes. This makes it safe // to pass to sqlite3_uri_parameter() and similar. func multiplexFilename(tls *libc.TLS, zBase uintptr, nBase int32, flags int32, iChunk int32, zOut uintptr) { /* test_multiplex.c:219:13: */ - bp := tls.Alloc(16) - defer tls.Free(16) + bp := tls.Alloc(8) + defer tls.Free(8) var n int32 = nBase libc.Xmemcpy(tls, zOut, zBase, (uint64(n + 1))) @@ -112217,8 +112217,8 @@ func multiplexSubFilename(tls *libc.TLS, pGroup uintptr, iChunk int32) int32 { / // is created if it does not already exist. For chunks 1 and higher, the // file is created only if createFlag is 1. func multiplexSubOpen(tls *libc.TLS, pGroup uintptr, iChunk int32, rc uintptr, pOutFlags uintptr, createFlag int32) uintptr { /* test_multiplex.c:289:21: */ - bp := tls.Alloc(36) - defer tls.Free(36) + bp := tls.Alloc(20) + defer tls.Free(20) var pSubOpen uintptr = uintptr(0) var pOrigVfs uintptr = gMultiplex.FpOrigVfs // Real VFS @@ -112226,7 +112226,7 @@ func multiplexSubOpen(tls *libc.TLS, pGroup uintptr, iChunk int32, rc uintptr, p *(*int32)(unsafe.Pointer(rc)) = multiplexSubFilename(tls, pGroup, iChunk) if ((*(*int32)(unsafe.Pointer(rc))) == SQLITE_OK) && ((libc.AssignUintptr(&pSubOpen, (*multiplexReal)(unsafe.Pointer((*multiplexGroup)(unsafe.Pointer(pGroup)).FaReal+uintptr(iChunk)*16)).Fp)) == uintptr(0)) { var flags int32 - // var bExists int32 at bp+32, 4 + // var bExists int32 at bp+16, 4 flags = (*multiplexGroup)(unsafe.Pointer(pGroup)).Fflags if createFlag != 0 { @@ -112237,8 +112237,8 @@ func multiplexSubOpen(tls *libc.TLS, pGroup uintptr, iChunk int32, rc uintptr, p return uintptr(0) } else { *(*int32)(unsafe.Pointer(rc)) = (*(*func(*libc.TLS, uintptr, uintptr, int32, uintptr) int32)(unsafe.Pointer((pOrigVfs + 56 /* &.xAccess */))))(tls, pOrigVfs, (*multiplexReal)(unsafe.Pointer((*multiplexGroup)(unsafe.Pointer(pGroup)).FaReal+uintptr(iChunk)*16)).Fz, - SQLITE_ACCESS_EXISTS, bp+32 /* &bExists */) - if (*(*int32)(unsafe.Pointer(rc)) != 0) || !(*(*int32)(unsafe.Pointer(bp + 32 /* bExists */)) != 0) { + SQLITE_ACCESS_EXISTS, bp+16 /* &bExists */) + if (*(*int32)(unsafe.Pointer(rc)) != 0) || !(*(*int32)(unsafe.Pointer(bp + 16 /* bExists */)) != 0) { if *(*int32)(unsafe.Pointer(rc)) != 0 { sqlite3.Xsqlite3_log(tls, *(*int32)(unsafe.Pointer(rc)), ts+34547, /* "multiplexor.xAcc..." */ libc.VaList(bp, (*multiplexReal)(unsafe.Pointer((*multiplexGroup)(unsafe.Pointer(pGroup)).FaReal+uintptr(iChunk)*16)).Fz)) @@ -112257,7 +112257,7 @@ func multiplexSubOpen(tls *libc.TLS, pGroup uintptr, iChunk int32, rc uintptr, p flags, pOutFlags) if (*(*int32)(unsafe.Pointer(rc))) != SQLITE_OK { sqlite3.Xsqlite3_log(tls, *(*int32)(unsafe.Pointer(rc)), ts+34581, /* "multiplexor.xOpe..." */ - libc.VaList(bp+16, (*multiplexReal)(unsafe.Pointer((*multiplexGroup)(unsafe.Pointer(pGroup)).FaReal+uintptr(iChunk)*16)).Fz)) + libc.VaList(bp+8, (*multiplexReal)(unsafe.Pointer((*multiplexGroup)(unsafe.Pointer(pGroup)).FaReal+uintptr(iChunk)*16)).Fz)) sqlite3.Xsqlite3_free(tls, pSubOpen) (*multiplexReal)(unsafe.Pointer((*multiplexGroup)(unsafe.Pointer(pGroup)).FaReal + uintptr(iChunk)*16)).Fp = uintptr(0) return uintptr(0) @@ -112840,12 +112840,12 @@ func multiplexCheckReservedLock(tls *libc.TLS, pConn uintptr, pResOut uintptr) i // Pass xFileControl requests through to the original VFS unchanged, // except for any MULTIPLEX_CTRL_* requests here. func multiplexFileControl(tls *libc.TLS, pConn uintptr, op int32, pArg uintptr) int32 { /* test_multiplex.c:919:12: */ - bp := tls.Alloc(20) - defer tls.Free(20) + bp := tls.Alloc(12) + defer tls.Free(12) var p uintptr = pConn var pGroup uintptr = (*multiplexConn)(unsafe.Pointer(p)).FpGroup - *(*int32)(unsafe.Pointer(bp + 16 /* rc */)) = SQLITE_ERROR + *(*int32)(unsafe.Pointer(bp + 8 /* rc */)) = SQLITE_ERROR var pSubOpen uintptr if !(gMultiplex.FisInitialized != 0) { @@ -112856,31 +112856,31 @@ func multiplexFileControl(tls *libc.TLS, pConn uintptr, op int32, pArg uintptr) if pArg != 0 { var bEnabled int32 = *(*int32)(unsafe.Pointer(pArg)) (*multiplexGroup)(unsafe.Pointer(pGroup)).FbEnabled = uint8(bEnabled) - *(*int32)(unsafe.Pointer(bp + 16 /* rc */)) = SQLITE_OK + *(*int32)(unsafe.Pointer(bp + 8 /* rc */)) = SQLITE_OK } break case MULTIPLEX_CTRL_SET_CHUNK_SIZE: if pArg != 0 { var szChunk uint32 = *(*uint32)(unsafe.Pointer(pArg)) if szChunk < uint32(1) { - *(*int32)(unsafe.Pointer(bp + 16 /* rc */)) = SQLITE_MISUSE + *(*int32)(unsafe.Pointer(bp + 8 /* rc */)) = SQLITE_MISUSE } else { // Round up to nearest multiple of MAX_PAGE_SIZE. szChunk = (szChunk + (uint32(MAX_PAGE_SIZE - 1))) szChunk = szChunk & (libc.Uint32FromInt32(libc.CplInt32((MAX_PAGE_SIZE - 1)))) (*multiplexGroup)(unsafe.Pointer(pGroup)).FszChunk = szChunk - *(*int32)(unsafe.Pointer(bp + 16 /* rc */)) = SQLITE_OK + *(*int32)(unsafe.Pointer(bp + 8 /* rc */)) = SQLITE_OK } } break case MULTIPLEX_CTRL_SET_MAX_CHUNKS: - *(*int32)(unsafe.Pointer(bp + 16 /* rc */)) = SQLITE_OK + *(*int32)(unsafe.Pointer(bp + 8 /* rc */)) = SQLITE_OK break case SQLITE_FCNTL_SIZE_HINT: fallthrough case SQLITE_FCNTL_CHUNK_SIZE: // no-op these - *(*int32)(unsafe.Pointer(bp + 16 /* rc */)) = SQLITE_OK + *(*int32)(unsafe.Pointer(bp + 8 /* rc */)) = SQLITE_OK break case SQLITE_FCNTL_PRAGMA: { @@ -112911,7 +112911,7 @@ func multiplexFileControl(tls *libc.TLS, pConn uintptr, op int32, pArg uintptr) } return ts + 4403 /* "off" */ }(), 0) - *(*int32)(unsafe.Pointer(bp + 16 /* rc */)) = SQLITE_OK + *(*int32)(unsafe.Pointer(bp + 8 /* rc */)) = SQLITE_OK break } // If the multiplexor does not handle the pragma, pass it through @@ -112920,16 +112920,16 @@ func multiplexFileControl(tls *libc.TLS, pConn uintptr, op int32, pArg uintptr) } fallthrough default: - pSubOpen = multiplexSubOpen(tls, pGroup, 0, bp+16 /* &rc */, uintptr(0), 0) + pSubOpen = multiplexSubOpen(tls, pGroup, 0, bp+8 /* &rc */, uintptr(0), 0) if pSubOpen != 0 { - *(*int32)(unsafe.Pointer(bp + 16 /* rc */)) = (*(*func(*libc.TLS, uintptr, int32, uintptr) int32)(unsafe.Pointer(((*sqlite3_file)(unsafe.Pointer(pSubOpen)).FpMethods + 80 /* &.xFileControl */))))(tls, pSubOpen, op, pArg) - if (op == SQLITE_FCNTL_VFSNAME) && (*(*int32)(unsafe.Pointer(bp + 16 /* rc */)) == SQLITE_OK) { + *(*int32)(unsafe.Pointer(bp + 8 /* rc */)) = (*(*func(*libc.TLS, uintptr, int32, uintptr) int32)(unsafe.Pointer(((*sqlite3_file)(unsafe.Pointer(pSubOpen)).FpMethods + 80 /* &.xFileControl */))))(tls, pSubOpen, op, pArg) + if (op == SQLITE_FCNTL_VFSNAME) && (*(*int32)(unsafe.Pointer(bp + 8 /* rc */)) == SQLITE_OK) { *(*uintptr)(unsafe.Pointer(pArg)) = sqlite3.Xsqlite3_mprintf(tls, ts+34660 /* "multiplex/%z" */, libc.VaList(bp, *(*uintptr)(unsafe.Pointer(pArg)))) } } break } - return *(*int32)(unsafe.Pointer(bp + 16 /* rc */)) + return *(*int32)(unsafe.Pointer(bp + 8 /* rc */)) } // Pass xSectorSize requests through to the original VFS unchanged. @@ -113218,23 +113218,23 @@ func test_multiplex_shutdown(tls *libc.TLS, clientData uintptr, interp uintptr, // Tclcmd: test_multiplex_control HANDLE DBNAME SUB-COMMAND ?INT-VALUE? func test_multiplex_control(tls *libc.TLS, cd ClientData, interp uintptr, objc int32, objv uintptr) int32 { /* test_multiplex.c:1242:26: */ - bp := tls.Alloc(192) - defer tls.Free(192) + bp := tls.Alloc(176) + defer tls.Free(176) var rc int32 // Return code from file_control() - // var idx int32 at bp+184, 4 + // var idx int32 at bp+168, 4 // Index in aSub[] - // var cmdInfo Tcl_CmdInfo at bp+56, 64 + // var cmdInfo Tcl_CmdInfo at bp+40, 64 // Command info structure for HANDLE var db uintptr // Underlying db handle for HANDLE - *(*int32)(unsafe.Pointer(bp + 188 /* iValue */)) = 0 + *(*int32)(unsafe.Pointer(bp + 172 /* iValue */)) = 0 var pArg uintptr = uintptr(0) *(*[4]struct { FzName uintptr Fop int32 Fargtype int32 - })(unsafe.Pointer(bp + 120 /* aSub */)) = [4]struct { + })(unsafe.Pointer(bp + 104 /* aSub */)) = [4]struct { FzName uintptr Fop int32 Fargtype int32 @@ -113250,20 +113250,20 @@ func test_multiplex_control(tls *libc.TLS, cd ClientData, interp uintptr, objc i return TCL_ERROR } - if 0 == tcl.XTcl_GetCommandInfo(tls, interp, tcl.XTcl_GetString(tls, *(*uintptr)(unsafe.Pointer(objv + 1*8))), bp+56 /* &cmdInfo */) { + if 0 == tcl.XTcl_GetCommandInfo(tls, interp, tcl.XTcl_GetString(tls, *(*uintptr)(unsafe.Pointer(objv + 1*8))), bp+40 /* &cmdInfo */) { tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp, ts+34774 /* "expected databas..." */, 0)) - tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp+24, tcl.XTcl_GetString(tls, *(*uintptr)(unsafe.Pointer(objv + 1*8))), ts+12415 /* "\"" */, 0)) + tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp+16, tcl.XTcl_GetString(tls, *(*uintptr)(unsafe.Pointer(objv + 1*8))), ts+12415 /* "\"" */, 0)) return TCL_ERROR } else { - db = *(*uintptr)(unsafe.Pointer((*Tcl_CmdInfo)(unsafe.Pointer(bp + 56 /* &cmdInfo */)).FobjClientData)) + db = *(*uintptr)(unsafe.Pointer((*Tcl_CmdInfo)(unsafe.Pointer(bp + 40 /* &cmdInfo */)).FobjClientData)) } rc = tcl.XTcl_GetIndexFromObjStruct(tls, - interp, *(*uintptr)(unsafe.Pointer(objv + 3*8)), bp+120 /* &aSub[0] */, int32(unsafe.Sizeof(struct { + interp, *(*uintptr)(unsafe.Pointer(objv + 3*8)), bp+104 /* &aSub[0] */, int32(unsafe.Sizeof(struct { FzName uintptr Fop int32 Fargtype int32 - }{})), ts+1875 /* "sub-command" */, 0, bp+184 /* &idx */) + }{})), ts+1875 /* "sub-command" */, 0, bp+168 /* &idx */) if rc != TCL_OK { return rc } @@ -113272,12 +113272,12 @@ func test_multiplex_control(tls *libc.TLS, cd ClientData, interp uintptr, objc i FzName uintptr Fop int32 Fargtype int32 - })(unsafe.Pointer(bp + 120 /* &aSub */ + uintptr(*(*int32)(unsafe.Pointer(bp + 184 /* idx */)))*16)).Fargtype { + })(unsafe.Pointer(bp + 104 /* &aSub */ + uintptr(*(*int32)(unsafe.Pointer(bp + 168 /* idx */)))*16)).Fargtype { case 1: - if tcl.XTcl_GetIntFromObj(tls, interp, *(*uintptr)(unsafe.Pointer(objv + 4*8)), bp+188 /* &iValue */) != 0 { + if tcl.XTcl_GetIntFromObj(tls, interp, *(*uintptr)(unsafe.Pointer(objv + 4*8)), bp+172 /* &iValue */) != 0 { return TCL_ERROR } - pArg = bp + 188 /* &iValue */ + pArg = bp + 172 /* &iValue */ break default: tcl.XTcl_WrongNumArgs(tls, interp, 4, objv, ts+2384 /* "SUB-COMMAND" */) @@ -113288,7 +113288,7 @@ func test_multiplex_control(tls *libc.TLS, cd ClientData, interp uintptr, objc i FzName uintptr Fop int32 Fargtype int32 - })(unsafe.Pointer(bp+120 /* &aSub */ +uintptr(*(*int32)(unsafe.Pointer(bp + 184 /* idx */)))*16)).Fop, pArg) + })(unsafe.Pointer(bp+104 /* &aSub */ +uintptr(*(*int32)(unsafe.Pointer(bp + 168 /* idx */)))*16)).Fop, pArg) tcl.XTcl_SetResult(tls, interp, sqlite3.Xsqlite3ErrName(tls, rc), uintptr(0)) if rc == SQLITE_OK { return TCL_OK @@ -113807,13 +113807,13 @@ func test_initialize(tls *libc.TLS, clientData uintptr, interp uintptr, objc int // install_mutex_counters BOOLEAN func test_install_mutex_counters(tls *libc.TLS, clientData uintptr, interp uintptr, objc int32, objv uintptr) int32 { /* test_mutex.c:201:26: */ - bp := tls.Alloc(176) - defer tls.Free(176) + bp := tls.Alloc(136) + defer tls.Free(136) var rc int32 = SQLITE_OK - // var isInstall int32 at bp+96, 4 + // var isInstall int32 at bp+56, 4 - *(*sqlite3_mutex_methods)(unsafe.Pointer(bp + 104 /* counter_methods */)) = sqlite3_mutex_methods{ + *(*sqlite3_mutex_methods)(unsafe.Pointer(bp + 64 /* counter_methods */)) = sqlite3_mutex_methods{ FxMutexInit: *(*uintptr)(unsafe.Pointer(&struct{ f func(*libc.TLS) int32 }{counterMutexInit})), FxMutexEnd: *(*uintptr)(unsafe.Pointer(&struct{ f func(*libc.TLS) int32 }{counterMutexEnd})), FxMutexAlloc: *(*uintptr)(unsafe.Pointer(&struct { @@ -113837,14 +113837,14 @@ func test_install_mutex_counters(tls *libc.TLS, clientData uintptr, interp uintp tcl.XTcl_WrongNumArgs(tls, interp, 1, objv, ts+18720 /* "BOOLEAN" */) return TCL_ERROR } - if TCL_OK != tcl.XTcl_GetBooleanFromObj(tls, interp, *(*uintptr)(unsafe.Pointer(objv + 1*8)), bp+96 /* &isInstall */) { + if TCL_OK != tcl.XTcl_GetBooleanFromObj(tls, interp, *(*uintptr)(unsafe.Pointer(objv + 1*8)), bp+56 /* &isInstall */) { return TCL_ERROR } - if *(*int32)(unsafe.Pointer(bp + 96 /* isInstall */)) == g3.FisInstalled { + if *(*int32)(unsafe.Pointer(bp + 56 /* isInstall */)) == g3.FisInstalled { tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp, ts+35045 /* "mutex counters a..." */, 0)) - tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp+24, func() uintptr { - if *(*int32)(unsafe.Pointer(bp + 96 /* isInstall */)) != 0 { + tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp+16, func() uintptr { + if *(*int32)(unsafe.Pointer(bp + 56 /* isInstall */)) != 0 { return ts + 35065 /* "already installe..." */ } return ts + 35083 /* "not installed" */ @@ -113852,21 +113852,21 @@ func test_install_mutex_counters(tls *libc.TLS, clientData uintptr, interp uintp return TCL_ERROR } - if *(*int32)(unsafe.Pointer(bp + 96 /* isInstall */)) != 0 { + if *(*int32)(unsafe.Pointer(bp + 56 /* isInstall */)) != 0 { - rc = sqlite3.Xsqlite3_config(tls, SQLITE_CONFIG_GETMUTEX, libc.VaList(bp+48, (uintptr(unsafe.Pointer(&g3))+16 /* &.m */))) + rc = sqlite3.Xsqlite3_config(tls, SQLITE_CONFIG_GETMUTEX, libc.VaList(bp+32, (uintptr(unsafe.Pointer(&g3))+16 /* &.m */))) if rc == SQLITE_OK { - sqlite3.Xsqlite3_config(tls, SQLITE_CONFIG_MUTEX, libc.VaList(bp+64, bp+104 /* &counter_methods */)) + sqlite3.Xsqlite3_config(tls, SQLITE_CONFIG_MUTEX, libc.VaList(bp+40, bp+64 /* &counter_methods */)) } g3.FdisableTry = 0 } else { - rc = sqlite3.Xsqlite3_config(tls, SQLITE_CONFIG_MUTEX, libc.VaList(bp+80, (uintptr(unsafe.Pointer(&g3))+16 /* &.m */))) + rc = sqlite3.Xsqlite3_config(tls, SQLITE_CONFIG_MUTEX, libc.VaList(bp+48, (uintptr(unsafe.Pointer(&g3))+16 /* &.m */))) libc.Xmemset(tls, (uintptr(unsafe.Pointer(&g3)) + 16 /* &.m */), 0, uint64(unsafe.Sizeof(sqlite3_mutex_methods{}))) } if rc == SQLITE_OK { - g3.FisInstalled = *(*int32)(unsafe.Pointer(bp + 96 /* isInstall */)) + g3.FisInstalled = *(*int32)(unsafe.Pointer(bp + 56 /* isInstall */)) } tcl.XTcl_SetResult(tls, interp, sqlite3.Xsqlite3ErrName(tls, rc), uintptr(1)) @@ -113919,15 +113919,15 @@ func test_clear_mutex_counters(tls *libc.TLS, clientData uintptr, interp uintptr // will be invalid since the mutex has already been freed. The // return pointer just checks to see if the mutex really was allocated. func test_alloc_mutex(tls *libc.TLS, clientData uintptr, interp uintptr, objc int32, objv uintptr) int32 { /* test_mutex.c:315:26: */ - bp := tls.Alloc(140) - defer tls.Free(140) + bp := tls.Alloc(124) + defer tls.Free(124) var p uintptr = sqlite3.Xsqlite3_mutex_alloc(tls, SQLITE_MUTEX_FAST) - // var zBuf [100]int8 at bp+40, 100 + // var zBuf [100]int8 at bp+24, 100 sqlite3.Xsqlite3_mutex_free(tls, p) - sqlite3.Xsqlite3_snprintf(tls, int32(unsafe.Sizeof([100]int8{})), bp+40 /* &zBuf[0] */, ts+13802 /* "%p" */, libc.VaList(bp, p)) - tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp+16, bp+40 /* &zBuf[0] */, uintptr(0))) + sqlite3.Xsqlite3_snprintf(tls, int32(unsafe.Sizeof([100]int8{})), bp+24 /* &zBuf[0] */, ts+13802 /* "%p" */, libc.VaList(bp, p)) + tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp+8, bp+24 /* &zBuf[0] */, uintptr(0))) return TCL_OK } @@ -114992,8 +114992,8 @@ func vfslogCheckReservedLock(tls *libc.TLS, pFile uintptr, pResOut uintptr) int3 // File control method. For custom operations on an vfslog-file. func vfslogFileControl(tls *libc.TLS, pFile uintptr, op int32, pArg uintptr) int32 { /* test_osinst.c:395:12: */ - bp := tls.Alloc(16) - defer tls.Free(16) + bp := tls.Alloc(8) + defer tls.Free(8) var p uintptr = pFile var rc int32 = (*(*func(*libc.TLS, uintptr, int32, uintptr) int32)(unsafe.Pointer(((*sqlite3_file)(unsafe.Pointer((*VfslogFile)(unsafe.Pointer(p)).FpReal)).FpMethods + 80 /* &.xFileControl */))))(tls, (*VfslogFile)(unsafe.Pointer(p)).FpReal, op, pArg) @@ -115454,11 +115454,11 @@ func dequote(tls *libc.TLS, z uintptr) { /* test_osinst.c:839:13: */ // Connect to or create a vfslog virtual table. func vlogConnect(tls *libc.TLS, db uintptr, pAux uintptr, argc int32, argv uintptr, ppVtab uintptr, pzErr uintptr) int32 { /* test_osinst.c:863:12: */ - bp := tls.Alloc(20) - defer tls.Free(20) + bp := tls.Alloc(12) + defer tls.Free(12) var pVfs uintptr // VFS used to read log file - // var flags int32 at bp+16, 4 + // var flags int32 at bp+8, 4 // flags passed to pVfs->xOpen() var p uintptr var rc int32 @@ -115486,8 +115486,8 @@ func vlogConnect(tls *libc.TLS, db uintptr, pAux uintptr, argc int32, argv uintp (*(*func(*libc.TLS, uintptr, uintptr, int32, uintptr) int32)(unsafe.Pointer((pVfs + 64 /* &.xFullPathname */))))(tls, pVfs, zFile, (*sqlite3_vfs)(unsafe.Pointer(pVfs)).FmxPathname, (*VfslogVtab)(unsafe.Pointer(p)).FzFile) sqlite3.Xsqlite3_free(tls, zFile) - *(*int32)(unsafe.Pointer(bp + 16 /* flags */)) = (SQLITE_OPEN_READWRITE | SQLITE_OPEN_SUPER_JOURNAL) - rc = (*(*func(*libc.TLS, uintptr, uintptr, uintptr, int32, uintptr) int32)(unsafe.Pointer((pVfs + 40 /* &.xOpen */))))(tls, pVfs, (*VfslogVtab)(unsafe.Pointer(p)).FzFile, (*VfslogVtab)(unsafe.Pointer(p)).FpFd, *(*int32)(unsafe.Pointer(bp + 16 /* flags */)), bp+16 /* &flags */) + *(*int32)(unsafe.Pointer(bp + 8 /* flags */)) = (SQLITE_OPEN_READWRITE | SQLITE_OPEN_SUPER_JOURNAL) + rc = (*(*func(*libc.TLS, uintptr, uintptr, uintptr, int32, uintptr) int32)(unsafe.Pointer((pVfs + 40 /* &.xOpen */))))(tls, pVfs, (*VfslogVtab)(unsafe.Pointer(p)).FzFile, (*VfslogVtab)(unsafe.Pointer(p)).FpFd, *(*int32)(unsafe.Pointer(bp + 8 /* flags */)), bp+8 /* &flags */) if rc == SQLITE_OK { (*(*func(*libc.TLS, uintptr, uintptr) int32)(unsafe.Pointer(((*sqlite3_file)(unsafe.Pointer((*VfslogVtab)(unsafe.Pointer(p)).FpFd)).FpMethods + 48 /* &.xFileSize */))))(tls, (*VfslogVtab)(unsafe.Pointer(p)).FpFd, (p + 32 /* &.nByte */)) @@ -115680,24 +115680,24 @@ var vfslog_module = sqlite3_module{ // iVersion // End: func test_vfslog(tls *libc.TLS, clientData uintptr, interp uintptr, objc int32, objv uintptr) int32 { /* test_osinst.c:1116:26: */ - bp := tls.Alloc(176) - defer tls.Free(176) + bp := tls.Alloc(144) + defer tls.Free(144) var db uintptr - // var cmdInfo Tcl_CmdInfo at bp+112, 64 + // var cmdInfo Tcl_CmdInfo at bp+80, 64 var rc int32 = SQLITE_ERROR - // var iSub int32 at bp+104, 4 + // var iSub int32 at bp+72, 4 if objc < 2 { tcl.XTcl_WrongNumArgs(tls, interp, 1, objv, ts+32917 /* "SUB-COMMAND ..." */) return TCL_ERROR } - if tcl.XTcl_GetIndexFromObjStruct(tls, interp, *(*uintptr)(unsafe.Pointer(objv + 1*8)), uintptr(unsafe.Pointer(&strs)), int32(unsafe.Sizeof(uintptr(0))), ts+1875 /* "sub-command" */, 0, bp+104 /* &iSub */) != 0 { + if tcl.XTcl_GetIndexFromObjStruct(tls, interp, *(*uintptr)(unsafe.Pointer(objv + 1*8)), uintptr(unsafe.Pointer(&strs)), int32(unsafe.Sizeof(uintptr(0))), ts+1875 /* "sub-command" */, 0, bp+72 /* &iSub */) != 0 { return TCL_ERROR } - switch uint32(*(*int32)(unsafe.Pointer(bp + 104 /* iSub */))) { + switch uint32(*(*int32)(unsafe.Pointer(bp + 72 /* iSub */))) { case uint32(0) /* VL_ANNOTATE */ : { var zVfs uintptr @@ -115726,7 +115726,7 @@ func test_vfslog(tls *libc.TLS, clientData uintptr, interp uintptr, objc int32, zVfs = tcl.XTcl_GetString(tls, *(*uintptr)(unsafe.Pointer(objv + 2*8))) rc = sqlite3_vfslog_finalize(tls, zVfs) if rc != SQLITE_OK { - tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp+24, ts+35705 /* "failed" */, 0)) + tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp+16, ts+35705 /* "failed" */, 0)) return TCL_ERROR } break @@ -115750,7 +115750,7 @@ func test_vfslog(tls *libc.TLS, clientData uintptr, interp uintptr, objc int32, } rc = sqlite3_vfslog_new(tls, zVfs, zParent, zLog) if rc != SQLITE_OK { - tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp+48, ts+35705 /* "failed" */, 0)) + tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp+32, ts+35705 /* "failed" */, 0)) return TCL_ERROR } break @@ -115765,12 +115765,12 @@ func test_vfslog(tls *libc.TLS, clientData uintptr, interp uintptr, objc int32, return TCL_ERROR } zDb = tcl.XTcl_GetString(tls, *(*uintptr)(unsafe.Pointer(objv + 2*8))) - if tcl.XTcl_GetCommandInfo(tls, interp, zDb, bp+112 /* &cmdInfo */) != 0 { - db = (*struct{ Fdb uintptr })(unsafe.Pointer((*Tcl_CmdInfo)(unsafe.Pointer(bp + 112 /* &cmdInfo */)).FobjClientData)).Fdb + if tcl.XTcl_GetCommandInfo(tls, interp, zDb, bp+80 /* &cmdInfo */) != 0 { + db = (*struct{ Fdb uintptr })(unsafe.Pointer((*Tcl_CmdInfo)(unsafe.Pointer(bp + 80 /* &cmdInfo */)).FobjClientData)).Fdb rc = sqlite3_vfslog_register(tls, db) } if rc != SQLITE_OK { - tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp+72, ts+35731 /* "bad sqlite3 hand..." */, zDb, uintptr(0))) + tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp+48, ts+35731 /* "bad sqlite3 hand..." */, zDb, uintptr(0))) return TCL_ERROR } break @@ -116174,8 +116174,8 @@ func testpcacheDestroy(tls *libc.TLS, pCache uintptr) { /* test_pcache.c:404:13: // page. 0 means never discard (unless the discard flag is set). // 100 means always discard. func installTestPCache(tls *libc.TLS, installFlag int32, discardChance uint32, prngSeed uint32, highStress uint32) { /* test_pcache.c:427:6: */ - bp := tls.Alloc(48) - defer tls.Free(48) + bp := tls.Alloc(24) + defer tls.Free(24) testpcacheGlobal.FdiscardChance = discardChance testpcacheGlobal.FprngSeed = (prngSeed ^ (prngSeed << 16)) @@ -116184,10 +116184,10 @@ func installTestPCache(tls *libc.TLS, installFlag int32, discardChance uint32, p if installFlag != 0 { sqlite3.Xsqlite3_config(tls, SQLITE_CONFIG_GETPCACHE2, libc.VaList(bp, uintptr(unsafe.Pointer(&defaultPcache)))) - sqlite3.Xsqlite3_config(tls, SQLITE_CONFIG_PCACHE2, libc.VaList(bp+16, uintptr(unsafe.Pointer(&testPcache)))) + sqlite3.Xsqlite3_config(tls, SQLITE_CONFIG_PCACHE2, libc.VaList(bp+8, uintptr(unsafe.Pointer(&testPcache)))) } else { - sqlite3.Xsqlite3_config(tls, SQLITE_CONFIG_PCACHE2, libc.VaList(bp+32, uintptr(unsafe.Pointer(&defaultPcache)))) + sqlite3.Xsqlite3_config(tls, SQLITE_CONFIG_PCACHE2, libc.VaList(bp+16, uintptr(unsafe.Pointer(&defaultPcache)))) } isInstalled = installFlag } @@ -116832,8 +116832,8 @@ func quotaCheckReservedLock(tls *libc.TLS, pConn uintptr, pResOut uintptr) int32 // Pass xFileControl requests through to the original VFS unchanged. func quotaFileControl(tls *libc.TLS, pConn uintptr, op int32, pArg uintptr) int32 { /* test_quota.c:673:12: */ - bp := tls.Alloc(16) - defer tls.Free(16) + bp := tls.Alloc(8) + defer tls.Free(8) var pSubOpen uintptr = quotaSubOpen(tls, pConn) var rc int32 = (*(*func(*libc.TLS, uintptr, int32, uintptr) int32)(unsafe.Pointer(((*sqlite3_file)(unsafe.Pointer(pSubOpen)).FpMethods + 80 /* &.xFileControl */))))(tls, pSubOpen, op, pArg) @@ -118310,8 +118310,8 @@ func test_quota_file(tls *libc.TLS, clientData uintptr, interp uintptr, objc int // tclcmd: sqlite3_quota_dump func test_quota_dump(tls *libc.TLS, clientData uintptr, interp uintptr, objc int32, objv uintptr) int32 { /* test_quota.c:1492:26: */ - bp := tls.Alloc(1016) - defer tls.Free(1016) + bp := tls.Alloc(1008) + defer tls.Free(1008) var pResult uintptr var pGroupTerm uintptr @@ -118331,17 +118331,17 @@ func test_quota_dump(tls *libc.TLS, clientData uintptr, interp uintptr, objc int tcl.XTcl_NewWideIntObj(tls, (*quotaGroup)(unsafe.Pointer(pGroup)).FiSize)) for pFile = (*quotaGroup)(unsafe.Pointer(pGroup)).FpFiles; pFile != 0; pFile = (*quotaFile)(unsafe.Pointer(pFile)).FpNext { var i int32 - // var zTemp [1000]int8 at bp+16, 1000 + // var zTemp [1000]int8 at bp+8, 1000 pFileTerm = tcl.XTcl_NewObj(tls) - sqlite3.Xsqlite3_snprintf(tls, int32(unsafe.Sizeof([1000]int8{})), bp+16 /* &zTemp[0] */, ts /* "%s" */, libc.VaList(bp, (*quotaFile)(unsafe.Pointer(pFile)).FzFilename)) - for i = 0; *(*int8)(unsafe.Pointer(bp + 16 /* &zTemp[0] */ + uintptr(i))) != 0; i++ { - if int32(*(*int8)(unsafe.Pointer(bp + 16 /* &zTemp[0] */ + uintptr(i)))) == '\\' { - *(*int8)(unsafe.Pointer(bp + 16 /* &zTemp[0] */ + uintptr(i))) = int8('/') + sqlite3.Xsqlite3_snprintf(tls, int32(unsafe.Sizeof([1000]int8{})), bp+8 /* &zTemp[0] */, ts /* "%s" */, libc.VaList(bp, (*quotaFile)(unsafe.Pointer(pFile)).FzFilename)) + for i = 0; *(*int8)(unsafe.Pointer(bp + 8 /* &zTemp[0] */ + uintptr(i))) != 0; i++ { + if int32(*(*int8)(unsafe.Pointer(bp + 8 /* &zTemp[0] */ + uintptr(i)))) == '\\' { + *(*int8)(unsafe.Pointer(bp + 8 /* &zTemp[0] */ + uintptr(i))) = int8('/') } } tcl.XTcl_ListObjAppendElement(tls, interp, pFileTerm, - tcl.XTcl_NewStringObj(tls, bp+16 /* &zTemp[0] */, -1)) + tcl.XTcl_NewStringObj(tls, bp+8 /* &zTemp[0] */, -1)) tcl.XTcl_ListObjAppendElement(tls, interp, pFileTerm, tcl.XTcl_NewWideIntObj(tls, (*quotaFile)(unsafe.Pointer(pFile)).FiSize)) tcl.XTcl_ListObjAppendElement(tls, interp, pFileTerm, @@ -118359,13 +118359,13 @@ func test_quota_dump(tls *libc.TLS, clientData uintptr, interp uintptr, objc int // tclcmd: sqlite3_quota_fopen FILENAME MODE func test_quota_fopen(tls *libc.TLS, clientData uintptr, interp uintptr, objc int32, objv uintptr) int32 { /* test_quota.c:1540:26: */ - bp := tls.Alloc(66) - defer tls.Free(66) + bp := tls.Alloc(58) + defer tls.Free(58) var zFilename uintptr // File pattern to configure var zMode uintptr // Mode string var p uintptr // Open string object - // var zReturn [50]int8 at bp+16, 50 + // var zReturn [50]int8 at bp+8, 50 // Name of pointer to return // Process arguments @@ -118376,8 +118376,8 @@ func test_quota_fopen(tls *libc.TLS, clientData uintptr, interp uintptr, objc in zFilename = tcl.XTcl_GetString(tls, *(*uintptr)(unsafe.Pointer(objv + 1*8))) zMode = tcl.XTcl_GetString(tls, *(*uintptr)(unsafe.Pointer(objv + 2*8))) p = sqlite3_quota_fopen(tls, zFilename, zMode) - sqlite3.Xsqlite3_snprintf(tls, int32(unsafe.Sizeof([50]int8{})), bp+16 /* &zReturn[0] */, ts+13802 /* "%p" */, libc.VaList(bp, p)) - tcl.XTcl_SetResult(tls, interp, bp+16 /* &zReturn[0] */, uintptr(1)) + sqlite3.Xsqlite3_snprintf(tls, int32(unsafe.Sizeof([50]int8{})), bp+8 /* &zReturn[0] */, ts+13802 /* "%p" */, libc.VaList(bp, p)) + tcl.XTcl_SetResult(tls, interp, bp+8 /* &zReturn[0] */, uintptr(1)) return TCL_OK } @@ -118488,11 +118488,11 @@ func test_quota_fflush(tls *libc.TLS, clientData uintptr, interp uintptr, objc i // tclcmd: sqlite3_quota_fseek HANDLE OFFSET WHENCE func test_quota_fseek(tls *libc.TLS, clientData uintptr, interp uintptr, objc int32, objv uintptr) int32 { /* test_quota.c:1680:26: */ - bp := tls.Alloc(28) - defer tls.Free(28) + bp := tls.Alloc(20) + defer tls.Free(20) var p uintptr - // var ofst int32 at bp+24, 4 + // var ofst int32 at bp+16, 4 var zWhence uintptr var whence int32 @@ -118503,7 +118503,7 @@ func test_quota_fseek(tls *libc.TLS, clientData uintptr, interp uintptr, objc in return TCL_ERROR } p = sqlite3TestTextToPtr(tls, tcl.XTcl_GetString(tls, *(*uintptr)(unsafe.Pointer(objv + 1*8)))) - if tcl.XTcl_GetIntFromObj(tls, interp, *(*uintptr)(unsafe.Pointer(objv + 2*8)), bp+24 /* &ofst */) != 0 { + if tcl.XTcl_GetIntFromObj(tls, interp, *(*uintptr)(unsafe.Pointer(objv + 2*8)), bp+16 /* &ofst */) != 0 { return TCL_ERROR } zWhence = tcl.XTcl_GetString(tls, *(*uintptr)(unsafe.Pointer(objv + 3*8))) @@ -118518,7 +118518,7 @@ func test_quota_fseek(tls *libc.TLS, clientData uintptr, interp uintptr, objc in libc.VaList(bp, ts+35950 /* "WHENCE should be..." */, uintptr(0))) return TCL_ERROR } - rc = sqlite3_quota_fseek(tls, p, int32(*(*int32)(unsafe.Pointer(bp + 24 /* ofst */))), whence) + rc = sqlite3_quota_fseek(tls, p, int32(*(*int32)(unsafe.Pointer(bp + 16 /* ofst */))), whence) tcl.XTcl_SetObjResult(tls, interp, tcl.XTcl_NewIntObj(tls, rc)) return TCL_OK } @@ -120099,8 +120099,8 @@ func schemaEof(tls *libc.TLS, cur uintptr) int32 { /* test_schema.c:168:12: */ // Advance the cursor to the next row. func schemaNext(tls *libc.TLS, cur uintptr) int32 { /* test_schema.c:176:12: */ - bp := tls.Alloc(40) - defer tls.Free(40) + bp := tls.Alloc(24) + defer tls.Free(24) var rc int32 var pCur uintptr @@ -120185,7 +120185,7 @@ __5: // identified by the rows pointed to by statements pCur->pDbList and // pCur->pTableList. zSql = sqlite3.Xsqlite3_mprintf(tls, ts+36742, /* "PRAGMA %Q.table_..." */ - libc.VaList(bp+16, sqlite3.Xsqlite3_column_text(tls, (*schema_cursor)(unsafe.Pointer(pCur)).FpDbList, 1), + libc.VaList(bp+8, sqlite3.Xsqlite3_column_text(tls, (*schema_cursor)(unsafe.Pointer(pCur)).FpDbList, 1), sqlite3.Xsqlite3_column_text(tls, (*schema_cursor)(unsafe.Pointer(pCur)).FpTableList, 0))) if !(!(zSql != 0)) { @@ -120571,14 +120571,14 @@ func superlock_busy(tls *libc.TLS, pCtx uintptr, nBusy int32) int32 { /* test_su // Tclcmd: sqlite3demo_superlock CMDNAME PATH VFS BUSY-HANDLER-SCRIPT func superlock_cmd(tls *libc.TLS, cd ClientData, interp uintptr, objc int32, objv uintptr) int32 { /* test_superlock.c:310:26: */ - bp := tls.Alloc(48) - defer tls.Free(48) + bp := tls.Alloc(40) + defer tls.Free(40) - // var pLock uintptr at bp+40, 8 + // var pLock uintptr at bp+32, 8 // Lock context var zPath uintptr var zVfs uintptr = uintptr(0) - *(*InterpAndScript)(unsafe.Pointer(bp + 24 /* busy */)) = InterpAndScript{} + *(*InterpAndScript)(unsafe.Pointer(bp + 16 /* busy */)) = InterpAndScript{} var xBusy uintptr = uintptr(0) // Busy handler callback var rc int32 // Return code from sqlite3demo_superlock() @@ -120597,14 +120597,14 @@ func superlock_cmd(tls *libc.TLS, cd ClientData, interp uintptr, objc int32, obj } } if objc > 4 { - (*InterpAndScript)(unsafe.Pointer(bp + 24 /* &busy */)).Finterp = interp - (*InterpAndScript)(unsafe.Pointer(bp + 24 /* &busy */)).FpScript = *(*uintptr)(unsafe.Pointer(objv + 4*8)) + (*InterpAndScript)(unsafe.Pointer(bp + 16 /* &busy */)).Finterp = interp + (*InterpAndScript)(unsafe.Pointer(bp + 16 /* &busy */)).FpScript = *(*uintptr)(unsafe.Pointer(objv + 4*8)) xBusy = *(*uintptr)(unsafe.Pointer(&struct { f func(*libc.TLS, uintptr, int32) int32 }{superlock_busy})) } - rc = sqlite3demo_superlock(tls, zPath, zVfs, xBusy, bp+24 /* &busy */, bp+40 /* &pLock */) + rc = sqlite3demo_superlock(tls, zPath, zVfs, xBusy, bp+16 /* &busy */, bp+32 /* &pLock */) if rc != SQLITE_OK { tcl.XTcl_ResetResult(tls, interp) @@ -120615,7 +120615,7 @@ func superlock_cmd(tls *libc.TLS, cd ClientData, interp uintptr, objc int32, obj tcl.XTcl_CreateObjCommand(tls, interp, tcl.XTcl_GetString(tls, *(*uintptr)(unsafe.Pointer(objv + 1*8))), *(*uintptr)(unsafe.Pointer(&struct { f func(*libc.TLS, ClientData, uintptr, int32, uintptr) int32 - }{superunlock_cmd})), *(*uintptr)(unsafe.Pointer(bp + 40 /* pLock */)), *(*uintptr)(unsafe.Pointer(&struct{ f func(*libc.TLS, ClientData) }{superunlock_del}))) + }{superunlock_cmd})), *(*uintptr)(unsafe.Pointer(bp + 32 /* pLock */)), *(*uintptr)(unsafe.Pointer(&struct{ f func(*libc.TLS, ClientData) }{superunlock_del}))) tcl.XTcl_SetObjResult(tls, interp, *(*uintptr)(unsafe.Pointer(objv + 1*8))) return TCL_OK } @@ -121002,23 +121002,23 @@ func tclvarFilter(tls *libc.TLS, pVtabCursor uintptr, idxNum int32, idxStr uintp } func tclvarColumn(tls *libc.TLS, cur uintptr, ctx uintptr, i int32) int32 { /* test_tclvar.c:250:12: */ - bp := tls.Alloc(40) - defer tls.Free(40) + bp := tls.Alloc(32) + defer tls.Free(32) - // var p1 uintptr at bp+24, 8 + // var p1 uintptr at bp+16, 8 - // var p2 uintptr at bp+32, 8 + // var p2 uintptr at bp+24, 8 var z1 uintptr var z2 uintptr = ts + 489 /* "" */ var pCur uintptr = cur var interp uintptr = (*tclvar_vtab)(unsafe.Pointer((*sqlite3_vtab_cursor)(unsafe.Pointer(cur)).FpVtab)).Finterp - tcl.XTcl_ListObjIndex(tls, interp, (*tclvar_cursor)(unsafe.Pointer(pCur)).FpList1, (*tclvar_cursor)(unsafe.Pointer(pCur)).Fi1, bp+24 /* &p1 */) - tcl.XTcl_ListObjIndex(tls, interp, (*tclvar_cursor)(unsafe.Pointer(pCur)).FpList2, (*tclvar_cursor)(unsafe.Pointer(pCur)).Fi2, bp+32 /* &p2 */) - z1 = tcl.XTcl_GetString(tls, *(*uintptr)(unsafe.Pointer(bp + 24 /* p1 */))) - if *(*uintptr)(unsafe.Pointer(bp + 32 /* p2 */)) != 0 { - z2 = tcl.XTcl_GetString(tls, *(*uintptr)(unsafe.Pointer(bp + 32 /* p2 */))) + tcl.XTcl_ListObjIndex(tls, interp, (*tclvar_cursor)(unsafe.Pointer(pCur)).FpList1, (*tclvar_cursor)(unsafe.Pointer(pCur)).Fi1, bp+16 /* &p1 */) + tcl.XTcl_ListObjIndex(tls, interp, (*tclvar_cursor)(unsafe.Pointer(pCur)).FpList2, (*tclvar_cursor)(unsafe.Pointer(pCur)).Fi2, bp+24 /* &p2 */) + z1 = tcl.XTcl_GetString(tls, *(*uintptr)(unsafe.Pointer(bp + 16 /* p1 */))) + if *(*uintptr)(unsafe.Pointer(bp + 24 /* p2 */)) != 0 { + z2 = tcl.XTcl_GetString(tls, *(*uintptr)(unsafe.Pointer(bp + 24 /* p2 */))) } switch i { case 0: @@ -121048,7 +121048,7 @@ func tclvarColumn(tls *libc.TLS, cur uintptr, ctx uintptr, i int32) int32 { /* t case 3: { var z3 uintptr - if *(*uintptr)(unsafe.Pointer(bp + 32 /* p2 */)) != 0 { + if *(*uintptr)(unsafe.Pointer(bp + 24 /* p2 */)) != 0 { z3 = sqlite3.Xsqlite3_mprintf(tls, ts+37063 /* "%s(%s)" */, libc.VaList(bp, z1, z2)) sqlite3.Xsqlite3_result_text(tls, ctx, z3, -1, *(*uintptr)(unsafe.Pointer(&struct{ f func(*libc.TLS, uintptr) }{sqlite3.Xsqlite3_free}))) } else { @@ -121456,17 +121456,17 @@ func tclScriptThread(tls *libc.TLS, pSqlThread ClientData) uint32 { /* test_thre // // The caller can wait for the script to terminate using [vwait VARNAME]. func sqlthread_spawn(tls *libc.TLS, clientData ClientData, interp uintptr, objc int32, objv uintptr) int32 { /* test_thread.c:174:26: */ - bp := tls.Alloc(40) - defer tls.Free(40) + bp := tls.Alloc(32) + defer tls.Free(32) - // var x Tcl_ThreadId at bp+32, 8 + // var x Tcl_ThreadId at bp+24, 8 var pNew uintptr var rc int32 - // var nVarname int32 at bp+24, 4 + // var nVarname int32 at bp+16, 4 var zVarname uintptr - // var nScript int32 at bp+28, 4 + // var nScript int32 at bp+20, 4 var zScript uintptr @@ -121477,18 +121477,18 @@ func sqlthread_spawn(tls *libc.TLS, clientData ClientData, interp uintptr, objc _ = clientData _ = objc - zVarname = tcl.XTcl_GetStringFromObj(tls, *(*uintptr)(unsafe.Pointer(objv + 2*8)), bp+24 /* &nVarname */) - zScript = tcl.XTcl_GetStringFromObj(tls, *(*uintptr)(unsafe.Pointer(objv + 3*8)), bp+28 /* &nScript */) + zVarname = tcl.XTcl_GetStringFromObj(tls, *(*uintptr)(unsafe.Pointer(objv + 2*8)), bp+16 /* &nVarname */) + zScript = tcl.XTcl_GetStringFromObj(tls, *(*uintptr)(unsafe.Pointer(objv + 3*8)), bp+20 /* &nScript */) - pNew = tcl.XTcl_Alloc(tls, (uint32(((uint64(unsafe.Sizeof(SqlThread{})) + uint64(*(*int32)(unsafe.Pointer(bp + 24 /* nVarname */)))) + uint64(*(*int32)(unsafe.Pointer(bp + 28 /* nScript */)))) + uint64(2)))) + pNew = tcl.XTcl_Alloc(tls, (uint32(((uint64(unsafe.Sizeof(SqlThread{})) + uint64(*(*int32)(unsafe.Pointer(bp + 16 /* nVarname */)))) + uint64(*(*int32)(unsafe.Pointer(bp + 20 /* nScript */)))) + uint64(2)))) (*SqlThread)(unsafe.Pointer(pNew)).FzVarname = (pNew + 1*32) - (*SqlThread)(unsafe.Pointer(pNew)).FzScript = ((*SqlThread)(unsafe.Pointer(pNew)).FzVarname + uintptr((*(*int32)(unsafe.Pointer(bp + 24 /* nVarname */)) + 1))) - libc.Xmemcpy(tls, (*SqlThread)(unsafe.Pointer(pNew)).FzVarname, zVarname, (uint64(*(*int32)(unsafe.Pointer(bp + 24 /* nVarname */)) + 1))) - libc.Xmemcpy(tls, (*SqlThread)(unsafe.Pointer(pNew)).FzScript, zScript, (uint64(*(*int32)(unsafe.Pointer(bp + 28 /* nScript */)) + 1))) + (*SqlThread)(unsafe.Pointer(pNew)).FzScript = ((*SqlThread)(unsafe.Pointer(pNew)).FzVarname + uintptr((*(*int32)(unsafe.Pointer(bp + 16 /* nVarname */)) + 1))) + libc.Xmemcpy(tls, (*SqlThread)(unsafe.Pointer(pNew)).FzVarname, zVarname, (uint64(*(*int32)(unsafe.Pointer(bp + 16 /* nVarname */)) + 1))) + libc.Xmemcpy(tls, (*SqlThread)(unsafe.Pointer(pNew)).FzScript, zScript, (uint64(*(*int32)(unsafe.Pointer(bp + 20 /* nScript */)) + 1))) (*SqlThread)(unsafe.Pointer(pNew)).Fparent = tcl.XTcl_GetCurrentThread(tls) (*SqlThread)(unsafe.Pointer(pNew)).Finterp = interp - rc = tcl.XTcl_CreateThread(tls, bp+32 /* &x */, *(*uintptr)(unsafe.Pointer(&struct { + rc = tcl.XTcl_CreateThread(tls, bp+24 /* &x */, *(*uintptr)(unsafe.Pointer(&struct { f func(*libc.TLS, ClientData) uint32 }{tclScriptThread})), pNew, nStack, flags) if rc != TCL_OK { @@ -121510,12 +121510,12 @@ func sqlthread_spawn(tls *libc.TLS, clientData ClientData, interp uintptr, objc // // NOTE: At the moment, this doesn't work. FIXME. func sqlthread_parent(tls *libc.TLS, clientData ClientData, interp uintptr, objc int32, objv uintptr) int32 { /* test_thread.c:227:26: */ - bp := tls.Alloc(28) - defer tls.Free(28) + bp := tls.Alloc(20) + defer tls.Free(20) var pEvent uintptr var zMsg uintptr - // var nMsg int32 at bp+24, 4 + // var nMsg int32 at bp+16, 4 var p uintptr = clientData @@ -121526,14 +121526,14 @@ func sqlthread_parent(tls *libc.TLS, clientData ClientData, interp uintptr, objc return TCL_ERROR } - zMsg = tcl.XTcl_GetStringFromObj(tls, *(*uintptr)(unsafe.Pointer(objv + 2*8)), bp+24 /* &nMsg */) - pEvent = tcl.XTcl_Alloc(tls, (uint32((uint64(unsafe.Sizeof(EvalEvent{})) + uint64(*(*int32)(unsafe.Pointer(bp + 24 /* nMsg */)))) + uint64(1)))) + zMsg = tcl.XTcl_GetStringFromObj(tls, *(*uintptr)(unsafe.Pointer(objv + 2*8)), bp+16 /* &nMsg */) + pEvent = tcl.XTcl_Alloc(tls, (uint32((uint64(unsafe.Sizeof(EvalEvent{})) + uint64(*(*int32)(unsafe.Pointer(bp + 16 /* nMsg */)))) + uint64(1)))) (*EvalEvent)(unsafe.Pointer(pEvent)).Fbase.FnextPtr = uintptr(0) (*EvalEvent)(unsafe.Pointer(pEvent)).Fbase.Fproc = *(*uintptr)(unsafe.Pointer(&struct { f func(*libc.TLS, uintptr, int32) int32 }{tclScriptEvent})) (*EvalEvent)(unsafe.Pointer(pEvent)).FzScript = (pEvent + 1*32) - libc.Xmemcpy(tls, (*EvalEvent)(unsafe.Pointer(pEvent)).FzScript, zMsg, (uint64(*(*int32)(unsafe.Pointer(bp + 24 /* nMsg */)) + 1))) + libc.Xmemcpy(tls, (*EvalEvent)(unsafe.Pointer(pEvent)).FzScript, zMsg, (uint64(*(*int32)(unsafe.Pointer(bp + 16 /* nMsg */)) + 1))) (*EvalEvent)(unsafe.Pointer(pEvent)).Finterp = (*SqlThread)(unsafe.Pointer(p)).Finterp tcl.XTcl_ThreadQueueEvent(tls, (*SqlThread)(unsafe.Pointer(p)).Fparent, pEvent, TCL_QUEUE_TAIL) tcl.XTcl_ThreadAlert(tls, (*SqlThread)(unsafe.Pointer(p)).Fparent) @@ -121553,28 +121553,28 @@ func xBusy(tls *libc.TLS, pArg uintptr, nBusy int32) int32 { /* test_thread.c:25 // Open a database handle and return the string representation of // the pointer value. func sqlthread_open(tls *libc.TLS, clientData ClientData, interp uintptr, objc int32, objv uintptr) int32 { /* test_thread.c:272:26: */ - bp := tls.Alloc(132) - defer tls.Free(132) + bp := tls.Alloc(124) + defer tls.Free(124) var zFilename uintptr - // var db uintptr at bp+24, 8 + // var db uintptr at bp+16, 8 - // var zBuf [100]int8 at bp+32, 100 + // var zBuf [100]int8 at bp+24, 100 _ = clientData _ = objc zFilename = tcl.XTcl_GetString(tls, *(*uintptr)(unsafe.Pointer(objv + 2*8))) - sqlite3.Xsqlite3_open(tls, zFilename, bp+24 /* &db */) - Md5_Register(tls, *(*uintptr)(unsafe.Pointer(bp + 24 /* db */)), uintptr(0), uintptr(0)) - sqlite3.Xsqlite3_busy_handler(tls, *(*uintptr)(unsafe.Pointer(bp + 24 /* db */)), *(*uintptr)(unsafe.Pointer(&struct { + sqlite3.Xsqlite3_open(tls, zFilename, bp+16 /* &db */) + Md5_Register(tls, *(*uintptr)(unsafe.Pointer(bp + 16 /* db */)), uintptr(0), uintptr(0)) + sqlite3.Xsqlite3_busy_handler(tls, *(*uintptr)(unsafe.Pointer(bp + 16 /* db */)), *(*uintptr)(unsafe.Pointer(&struct { f func(*libc.TLS, uintptr, int32) int32 }{xBusy})), uintptr(0)) - if sqlite3TestMakePointerStr(tls, interp, bp+32 /* &zBuf[0] */, *(*uintptr)(unsafe.Pointer(bp + 24 /* db */))) != 0 { + if sqlite3TestMakePointerStr(tls, interp, bp+24 /* &zBuf[0] */, *(*uintptr)(unsafe.Pointer(bp + 16 /* db */))) != 0 { return TCL_ERROR } - tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp, bp+32 /* &zBuf[0] */, 0)) + tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp, bp+24 /* &zBuf[0] */, 0)) return TCL_OK } @@ -122068,34 +122068,34 @@ func tvfsFileSize(tls *libc.TLS, pFile uintptr, pSize uintptr) int32 { /* test_v // Lock an tvfs-file. func tvfsLock(tls *libc.TLS, pFile uintptr, eLock int32) int32 { /* test_vfs.c:479:12: */ - bp := tls.Alloc(46) - defer tls.Free(46) + bp := tls.Alloc(38) + defer tls.Free(38) var pFd uintptr = (*TestvfsFile)(unsafe.Pointer(pFile)).FpFd var p uintptr = (*sqlite3_vfs)(unsafe.Pointer((*TestvfsFd)(unsafe.Pointer(pFd)).FpVfs)).FpAppData if ((*Testvfs)(unsafe.Pointer(p)).FpScript != 0) && (((*Testvfs)(unsafe.Pointer(p)).Fmask & TESTVFS_LOCK_MASK) != 0) { - // var zLock [30]int8 at bp+16, 30 + // var zLock [30]int8 at bp+8, 30 - sqlite3.Xsqlite3_snprintf(tls, int32(unsafe.Sizeof([30]int8{})), bp+16 /* &zLock[0] */, ts+1238 /* "%d" */, libc.VaList(bp, eLock)) + sqlite3.Xsqlite3_snprintf(tls, int32(unsafe.Sizeof([30]int8{})), bp+8 /* &zLock[0] */, ts+1238 /* "%d" */, libc.VaList(bp, eLock)) tvfsExecTcl(tls, p, ts+35462 /* "xLock" */, tcl.XTcl_NewStringObj(tls, (*TestvfsFd)(unsafe.Pointer(pFd)).FzFilename, -1), - tcl.XTcl_NewStringObj(tls, bp+16 /* &zLock[0] */, -1), uintptr(0), uintptr(0)) + tcl.XTcl_NewStringObj(tls, bp+8 /* &zLock[0] */, -1), uintptr(0), uintptr(0)) } return sqlite3.Xsqlite3OsLock(tls, (*TestvfsFd)(unsafe.Pointer(pFd)).FpReal, eLock) } // Unlock an tvfs-file. func tvfsUnlock(tls *libc.TLS, pFile uintptr, eLock int32) int32 { /* test_vfs.c:494:12: */ - bp := tls.Alloc(46) - defer tls.Free(46) + bp := tls.Alloc(38) + defer tls.Free(38) var pFd uintptr = (*TestvfsFile)(unsafe.Pointer(pFile)).FpFd var p uintptr = (*sqlite3_vfs)(unsafe.Pointer((*TestvfsFd)(unsafe.Pointer(pFd)).FpVfs)).FpAppData if ((*Testvfs)(unsafe.Pointer(p)).FpScript != 0) && (((*Testvfs)(unsafe.Pointer(p)).Fmask & TESTVFS_UNLOCK_MASK) != 0) { - // var zLock [30]int8 at bp+16, 30 + // var zLock [30]int8 at bp+8, 30 - sqlite3.Xsqlite3_snprintf(tls, int32(unsafe.Sizeof([30]int8{})), bp+16 /* &zLock[0] */, ts+1238 /* "%d" */, libc.VaList(bp, eLock)) + sqlite3.Xsqlite3_snprintf(tls, int32(unsafe.Sizeof([30]int8{})), bp+8 /* &zLock[0] */, ts+1238 /* "%d" */, libc.VaList(bp, eLock)) tvfsExecTcl(tls, p, ts+35468 /* "xUnlock" */, tcl.XTcl_NewStringObj(tls, (*TestvfsFd)(unsafe.Pointer(pFd)).FzFilename, -1), - tcl.XTcl_NewStringObj(tls, bp+16 /* &zLock[0] */, -1), uintptr(0), uintptr(0)) + tcl.XTcl_NewStringObj(tls, bp+8 /* &zLock[0] */, -1), uintptr(0), uintptr(0)) } if (((*Testvfs)(unsafe.Pointer(p)).Fmask & TESTVFS_WRITE_MASK) != 0) && (tvfsInjectIoerr(tls, p) != 0) { return (SQLITE_IOERR | (int32(8) << 8)) @@ -122116,8 +122116,8 @@ func tvfsCheckReservedLock(tls *libc.TLS, pFile uintptr, pResOut uintptr) int32 // File control method. For custom operations on an tvfs-file. func tvfsFileControl(tls *libc.TLS, pFile uintptr, op int32, pArg uintptr) int32 { /* test_vfs.c:525:12: */ - bp := tls.Alloc(84) - defer tls.Free(84) + bp := tls.Alloc(68) + defer tls.Free(68) var pFd uintptr = (*TestvfsFile)(unsafe.Pointer(pFile)).FpFd var p uintptr = (*sqlite3_vfs)(unsafe.Pointer((*TestvfsFd)(unsafe.Pointer(pFd)).FpVfs)).FpAppData @@ -122144,35 +122144,35 @@ func tvfsFileControl(tls *libc.TLS, pFile uintptr, op int32, pArg uintptr) int32 return rc } if sqlite3.Xsqlite3_stricmp(tls, *(*uintptr)(unsafe.Pointer(argv + 1*8)), ts+4655 /* "filename" */) == 0 { - *(*uintptr)(unsafe.Pointer(argv)) = sqlite3.Xsqlite3_mprintf(tls, ts /* "%s" */, libc.VaList(bp+16, (*TestvfsFd)(unsafe.Pointer(pFd)).FzFilename)) + *(*uintptr)(unsafe.Pointer(argv)) = sqlite3.Xsqlite3_mprintf(tls, ts /* "%s" */, libc.VaList(bp+8, (*TestvfsFd)(unsafe.Pointer(pFd)).FzFilename)) return SQLITE_OK } } if ((*Testvfs)(unsafe.Pointer(p)).FpScript != 0) && (((*Testvfs)(unsafe.Pointer(p)).Fmask & TESTVFS_FCNTL_MASK) != 0) { - *(*[3]Fcntl)(unsafe.Pointer(bp + 32 /* aF */)) = [3]Fcntl{ + *(*[3]Fcntl)(unsafe.Pointer(bp + 16 /* aF */)) = [3]Fcntl{ {FiFnctl: SQLITE_FCNTL_BEGIN_ATOMIC_WRITE, FzFnctl: ts + 38029 /* "BEGIN_ATOMIC_WRI..." */}, {FiFnctl: SQLITE_FCNTL_COMMIT_ATOMIC_WRITE, FzFnctl: ts + 38048 /* "COMMIT_ATOMIC_WR..." */}, {FiFnctl: SQLITE_FCNTL_ZIPVFS, FzFnctl: ts + 38068 /* "ZIPVFS" */}, } var i int32 for i = 0; uint64(i) < (uint64(unsafe.Sizeof([3]Fcntl{})) / uint64(unsafe.Sizeof(Fcntl{}))); i++ { - if op == (*Fcntl)(unsafe.Pointer(bp+32 /* &aF */ +uintptr(i)*16)).FiFnctl { + if op == (*Fcntl)(unsafe.Pointer(bp+16 /* &aF */ +uintptr(i)*16)).FiFnctl { break } } if uint64(i) < (uint64(unsafe.Sizeof([3]Fcntl{})) / uint64(unsafe.Sizeof(Fcntl{}))) { - *(*int32)(unsafe.Pointer(bp + 80 /* rc */)) = 0 + *(*int32)(unsafe.Pointer(bp + 64 /* rc */)) = 0 tvfsExecTcl(tls, p, ts+35490, /* "xFileControl" */ tcl.XTcl_NewStringObj(tls, (*TestvfsFd)(unsafe.Pointer(pFd)).FzFilename, -1), - tcl.XTcl_NewStringObj(tls, (*Fcntl)(unsafe.Pointer(bp+32 /* &aF */ +uintptr(i)*16)).FzFnctl, -1), + tcl.XTcl_NewStringObj(tls, (*Fcntl)(unsafe.Pointer(bp+16 /* &aF */ +uintptr(i)*16)).FzFnctl, -1), uintptr(0), uintptr(0)) - tvfsResultCode(tls, p, bp+80 /* &rc */) - if *(*int32)(unsafe.Pointer(bp + 80 /* rc */)) != 0 { + tvfsResultCode(tls, p, bp+64 /* &rc */) + if *(*int32)(unsafe.Pointer(bp + 64 /* rc */)) != 0 { return func() int32 { - if *(*int32)(unsafe.Pointer(bp + 80 /* rc */)) < 0 { + if *(*int32)(unsafe.Pointer(bp + 64 /* rc */)) < 0 { return SQLITE_OK } - return *(*int32)(unsafe.Pointer(bp + 80 /* rc */)) + return *(*int32)(unsafe.Pointer(bp + 64 /* rc */)) }() } } @@ -122519,14 +122519,14 @@ func tvfsShmMap(tls *libc.TLS, pFile uintptr, iPage int32, pgsz int32, isWrite i } func tvfsShmLock(tls *libc.TLS, pFile uintptr, ofst int32, n int32, flags int32) int32 { /* test_vfs.c:936:12: */ - bp := tls.Alloc(108) - defer tls.Free(108) + bp := tls.Alloc(100) + defer tls.Free(100) - *(*int32)(unsafe.Pointer(bp + 104 /* rc */)) = SQLITE_OK + *(*int32)(unsafe.Pointer(bp + 96 /* rc */)) = SQLITE_OK var pFd uintptr = (*TestvfsFile)(unsafe.Pointer(pFile)).FpFd var p uintptr = (*sqlite3_vfs)(unsafe.Pointer((*TestvfsFd)(unsafe.Pointer(pFd)).FpVfs)).FpAppData var nLock int32 - // var zLock [80]int8 at bp+24, 80 + // var zLock [80]int8 at bp+16, 80 if (*Testvfs)(unsafe.Pointer(p)).FisFullshm != 0 { var pReal uintptr = (*TestvfsFd)(unsafe.Pointer(pFd)).FpReal @@ -122534,30 +122534,30 @@ func tvfsShmLock(tls *libc.TLS, pFile uintptr, ofst int32, n int32, flags int32) } if ((*Testvfs)(unsafe.Pointer(p)).FpScript != 0) && (((*Testvfs)(unsafe.Pointer(p)).Fmask & TESTVFS_SHMLOCK_MASK) != 0) { - sqlite3.Xsqlite3_snprintf(tls, int32(unsafe.Sizeof([80]int8{})), bp+24 /* &zLock[0] */, ts+18308 /* "%d %d" */, libc.VaList(bp, ofst, n)) - nLock = int32(libc.Xstrlen(tls, bp+24 /* &zLock[0] */)) + sqlite3.Xsqlite3_snprintf(tls, int32(unsafe.Sizeof([80]int8{})), bp+16 /* &zLock[0] */, ts+18308 /* "%d %d" */, libc.VaList(bp, ofst, n)) + nLock = int32(libc.Xstrlen(tls, bp+16 /* &zLock[0] */)) if (flags & SQLITE_SHM_LOCK) != 0 { - libc.Xstrcpy(tls, (bp + 24 /* &zLock */ + uintptr(nLock)), ts+38153 /* " lock" */) + libc.Xstrcpy(tls, (bp + 16 /* &zLock */ + uintptr(nLock)), ts+38153 /* " lock" */) } else { - libc.Xstrcpy(tls, (bp + 24 /* &zLock */ + uintptr(nLock)), ts+38159 /* " unlock" */) + libc.Xstrcpy(tls, (bp + 16 /* &zLock */ + uintptr(nLock)), ts+38159 /* " unlock" */) } - nLock = nLock + (int32(libc.Xstrlen(tls, (bp + 24 /* &zLock */ + uintptr(nLock))))) + nLock = nLock + (int32(libc.Xstrlen(tls, (bp + 16 /* &zLock */ + uintptr(nLock))))) if (flags & SQLITE_SHM_SHARED) != 0 { - libc.Xstrcpy(tls, (bp + 24 /* &zLock */ + uintptr(nLock)), ts+38167 /* " shared" */) + libc.Xstrcpy(tls, (bp + 16 /* &zLock */ + uintptr(nLock)), ts+38167 /* " shared" */) } else { - libc.Xstrcpy(tls, (bp + 24 /* &zLock */ + uintptr(nLock)), ts+38175 /* " exclusive" */) + libc.Xstrcpy(tls, (bp + 16 /* &zLock */ + uintptr(nLock)), ts+38175 /* " exclusive" */) } tvfsExecTcl(tls, p, ts+35599, /* "xShmLock" */ tcl.XTcl_NewStringObj(tls, (*TestvfsBuffer)(unsafe.Pointer((*TestvfsFd)(unsafe.Pointer(pFd)).FpShm)).FzFile, -1), (*TestvfsFd)(unsafe.Pointer(pFd)).FpShmId, - tcl.XTcl_NewStringObj(tls, bp+24 /* &zLock[0] */, -1), uintptr(0)) - tvfsResultCode(tls, p, bp+104 /* &rc */) + tcl.XTcl_NewStringObj(tls, bp+16 /* &zLock[0] */, -1), uintptr(0)) + tvfsResultCode(tls, p, bp+96 /* &rc */) } - if ((*(*int32)(unsafe.Pointer(bp + 104 /* rc */)) == SQLITE_OK) && (((*Testvfs)(unsafe.Pointer(p)).Fmask & TESTVFS_SHMLOCK_MASK) != 0)) && (tvfsInjectIoerr(tls, p) != 0) { - *(*int32)(unsafe.Pointer(bp + 104 /* rc */)) = SQLITE_IOERR + if ((*(*int32)(unsafe.Pointer(bp + 96 /* rc */)) == SQLITE_OK) && (((*Testvfs)(unsafe.Pointer(p)).Fmask & TESTVFS_SHMLOCK_MASK) != 0)) && (tvfsInjectIoerr(tls, p) != 0) { + *(*int32)(unsafe.Pointer(bp + 96 /* rc */)) = SQLITE_IOERR } - if *(*int32)(unsafe.Pointer(bp + 104 /* rc */)) == SQLITE_OK { + if *(*int32)(unsafe.Pointer(bp + 96 /* rc */)) == SQLITE_OK { var isLock int32 = (flags & SQLITE_SHM_LOCK) var isExcl int32 = (flags & SQLITE_SHM_EXCLUSIVE) var mask u32 = (u32(((int32(1) << n) - 1) << ofst)) @@ -122568,11 +122568,11 @@ func tvfsShmLock(tls *libc.TLS, pFile uintptr, ofst int32, n int32, flags int32) continue } if (((*TestvfsFd)(unsafe.Pointer(p2)).Fexcllock & mask) != 0) || ((isExcl != 0) && (((*TestvfsFd)(unsafe.Pointer(p2)).Fsharedlock & mask) != 0)) { - *(*int32)(unsafe.Pointer(bp + 104 /* rc */)) = SQLITE_BUSY + *(*int32)(unsafe.Pointer(bp + 96 /* rc */)) = SQLITE_BUSY break } } - if *(*int32)(unsafe.Pointer(bp + 104 /* rc */)) == SQLITE_OK { + if *(*int32)(unsafe.Pointer(bp + 96 /* rc */)) == SQLITE_OK { if isExcl != 0 { *(*u32)(unsafe.Pointer(pFd + 40 /* &.excllock */)) |= (mask) } @@ -122590,7 +122590,7 @@ func tvfsShmLock(tls *libc.TLS, pFile uintptr, ofst int32, n int32, flags int32) } } - return *(*int32)(unsafe.Pointer(bp + 104 /* rc */)) + return *(*int32)(unsafe.Pointer(bp + 96 /* rc */)) } func tvfsShmBarrier(tls *libc.TLS, pFile uintptr) { /* test_vfs.c:1004:13: */ @@ -122672,11 +122672,11 @@ func tvfsUnfetch(tls *libc.TLS, pFile uintptr, iOfst sqlite3_int64, p uintptr) i } func testvfs_obj_cmd(tls *libc.TLS, cd ClientData, interp uintptr, objc int32, objv uintptr) int32 { /* test_vfs.c:1080:26: */ - bp := tls.Alloc(600) - defer tls.Free(600) + bp := tls.Alloc(568) + defer tls.Free(568) var p uintptr = cd - *(*[10]TestvfsSubcmd)(unsafe.Pointer(bp + 128 /* aSubcmd */)) = [10]TestvfsSubcmd{ + *(*[10]TestvfsSubcmd)(unsafe.Pointer(bp + 96 /* aSubcmd */)) = [10]TestvfsSubcmd{ {FzName: ts + 38186 /* "shm" */}, {FzName: ts + 10601 /* "delete" */, FeCmd: uint32(1) /* CMD_DELETE */}, {FzName: ts + 38190 /* "filter" */, FeCmd: uint32(2) /* CMD_FILTER */}, @@ -122688,19 +122688,19 @@ func testvfs_obj_cmd(tls *libc.TLS, cd ClientData, interp uintptr, objc int32, o {FzName: ts + 38238 /* "sectorsize" */, FeCmd: uint32(6) /* CMD_SECTORSIZE */}, {}, } - // var i int32 at bp+288, 4 + // var i int32 at bp+256, 4 if objc < 2 { tcl.XTcl_WrongNumArgs(tls, interp, 1, objv, ts+1860 /* "SUBCOMMAND ..." */) return TCL_ERROR } if tcl.XTcl_GetIndexFromObjStruct(tls, - interp, *(*uintptr)(unsafe.Pointer(objv + 1*8)), bp+128 /* &aSubcmd[0] */, int32(unsafe.Sizeof(TestvfsSubcmd{})), ts+38249 /* "subcommand" */, 0, bp+288 /* &i */) != 0 { + interp, *(*uintptr)(unsafe.Pointer(objv + 1*8)), bp+96 /* &aSubcmd[0] */, int32(unsafe.Sizeof(TestvfsSubcmd{})), ts+38249 /* "subcommand" */, 0, bp+256 /* &i */) != 0 { return TCL_ERROR } tcl.XTcl_ResetResult(tls, interp) - switch (*TestvfsSubcmd)(unsafe.Pointer(bp + 128 /* &aSubcmd */ + uintptr(*(*int32)(unsafe.Pointer(bp + 288 /* i */)))*16)).FeCmd { + switch (*TestvfsSubcmd)(unsafe.Pointer(bp + 96 /* &aSubcmd */ + uintptr(*(*int32)(unsafe.Pointer(bp + 256 /* i */)))*16)).FeCmd { case uint32(0) /* CMD_SHM */ : { var pObj uintptr @@ -122728,34 +122728,34 @@ func testvfs_obj_cmd(tls *libc.TLS, cd ClientData, interp uintptr, objc int32, o } tcl.XTcl_Free(tls, zName) if !(pBuffer != 0) { - tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp+32, ts+38299 /* "no such file: " */, tcl.XTcl_GetString(tls, *(*uintptr)(unsafe.Pointer(objv + 2*8))), 0)) + tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp+24, ts+38299 /* "no such file: " */, tcl.XTcl_GetString(tls, *(*uintptr)(unsafe.Pointer(objv + 2*8))), 0)) return TCL_ERROR } if objc == 4 { - // var n int32 at bp+292, 4 + // var n int32 at bp+260, 4 - var a uintptr = tcl.XTcl_GetByteArrayFromObj(tls, *(*uintptr)(unsafe.Pointer(objv + 3*8)), bp+292 /* &n */) + var a uintptr = tcl.XTcl_GetByteArrayFromObj(tls, *(*uintptr)(unsafe.Pointer(objv + 3*8)), bp+260 /* &n */) var pgsz int32 = (*TestvfsBuffer)(unsafe.Pointer(pBuffer)).Fpgsz if pgsz == 0 { pgsz = 65536 } - for *(*int32)(unsafe.Pointer(bp + 288 /* i */)) = 0; (*(*int32)(unsafe.Pointer(bp + 288 /* i */)) * pgsz) < *(*int32)(unsafe.Pointer(bp + 292 /* n */)); *(*int32)(unsafe.Pointer(bp + 288 /* i */))++ { + for *(*int32)(unsafe.Pointer(bp + 256 /* i */)) = 0; (*(*int32)(unsafe.Pointer(bp + 256 /* i */)) * pgsz) < *(*int32)(unsafe.Pointer(bp + 260 /* n */)); *(*int32)(unsafe.Pointer(bp + 256 /* i */))++ { var nByte int32 = pgsz - tvfsAllocPage(tls, pBuffer, *(*int32)(unsafe.Pointer(bp + 288 /* i */)), pgsz) - if (*(*int32)(unsafe.Pointer(bp + 292 /* n */)) - (*(*int32)(unsafe.Pointer(bp + 288 /* i */)) * pgsz)) < pgsz { - nByte = *(*int32)(unsafe.Pointer(bp + 292 /* n */)) + tvfsAllocPage(tls, pBuffer, *(*int32)(unsafe.Pointer(bp + 256 /* i */)), pgsz) + if (*(*int32)(unsafe.Pointer(bp + 260 /* n */)) - (*(*int32)(unsafe.Pointer(bp + 256 /* i */)) * pgsz)) < pgsz { + nByte = *(*int32)(unsafe.Pointer(bp + 260 /* n */)) } - libc.Xmemcpy(tls, *(*uintptr)(unsafe.Pointer((pBuffer + 16 /* &.aPage */) + uintptr(*(*int32)(unsafe.Pointer(bp + 288 /* i */)))*8)), (a + uintptr((*(*int32)(unsafe.Pointer(bp + 288 /* i */)) * pgsz))), uint64(nByte)) + libc.Xmemcpy(tls, *(*uintptr)(unsafe.Pointer((pBuffer + 16 /* &.aPage */) + uintptr(*(*int32)(unsafe.Pointer(bp + 256 /* i */)))*8)), (a + uintptr((*(*int32)(unsafe.Pointer(bp + 256 /* i */)) * pgsz))), uint64(nByte)) } } pObj = tcl.XTcl_NewObj(tls) - for *(*int32)(unsafe.Pointer(bp + 288 /* i */)) = 0; *(*uintptr)(unsafe.Pointer((pBuffer + 16 /* &.aPage */) + uintptr(*(*int32)(unsafe.Pointer(bp + 288 /* i */)))*8)) != 0; *(*int32)(unsafe.Pointer(bp + 288 /* i */))++ { + for *(*int32)(unsafe.Pointer(bp + 256 /* i */)) = 0; *(*uintptr)(unsafe.Pointer((pBuffer + 16 /* &.aPage */) + uintptr(*(*int32)(unsafe.Pointer(bp + 256 /* i */)))*8)) != 0; *(*int32)(unsafe.Pointer(bp + 256 /* i */))++ { var pgsz int32 = (*TestvfsBuffer)(unsafe.Pointer(pBuffer)).Fpgsz if pgsz == 0 { pgsz = 65536 } - tcl.XTcl_AppendObjToObj(tls, pObj, tcl.XTcl_NewByteArrayObj(tls, *(*uintptr)(unsafe.Pointer((pBuffer + 16 /* &.aPage */) + uintptr(*(*int32)(unsafe.Pointer(bp + 288 /* i */)))*8)), pgsz)) + tcl.XTcl_AppendObjToObj(tls, pObj, tcl.XTcl_NewByteArrayObj(tls, *(*uintptr)(unsafe.Pointer((pBuffer + 16 /* &.aPage */) + uintptr(*(*int32)(unsafe.Pointer(bp + 256 /* i */)))*8)), pgsz)) } tcl.XTcl_SetObjResult(tls, interp, pObj) break @@ -122767,20 +122767,20 @@ func testvfs_obj_cmd(tls *libc.TLS, cd ClientData, interp uintptr, objc int32, o // Activate special processing for those methods contained in the list case uint32(2) /* CMD_FILTER */ : { - *(*uintptr)(unsafe.Pointer(bp + 304 /* apElem */)) = uintptr(0) - *(*int32)(unsafe.Pointer(bp + 296 /* nElem */)) = 0 + *(*uintptr)(unsafe.Pointer(bp + 272 /* apElem */)) = uintptr(0) + *(*int32)(unsafe.Pointer(bp + 264 /* nElem */)) = 0 var mask int32 = 0 if objc != 3 { tcl.XTcl_WrongNumArgs(tls, interp, 2, objv, ts+32363 /* "LIST" */) return TCL_ERROR } - if tcl.XTcl_ListObjGetElements(tls, interp, *(*uintptr)(unsafe.Pointer(objv + 2*8)), bp+296 /* &nElem */, bp+304 /* &apElem */) != 0 { + if tcl.XTcl_ListObjGetElements(tls, interp, *(*uintptr)(unsafe.Pointer(objv + 2*8)), bp+264 /* &nElem */, bp+272 /* &apElem */) != 0 { return TCL_ERROR } tcl.XTcl_ResetResult(tls, interp) - for *(*int32)(unsafe.Pointer(bp + 288 /* i */)) = 0; *(*int32)(unsafe.Pointer(bp + 288 /* i */)) < *(*int32)(unsafe.Pointer(bp + 296 /* nElem */)); *(*int32)(unsafe.Pointer(bp + 288 /* i */))++ { + for *(*int32)(unsafe.Pointer(bp + 256 /* i */)) = 0; *(*int32)(unsafe.Pointer(bp + 256 /* i */)) < *(*int32)(unsafe.Pointer(bp + 264 /* nElem */)); *(*int32)(unsafe.Pointer(bp + 256 /* i */))++ { var iMethod int32 - var zElem uintptr = tcl.XTcl_GetString(tls, *(*uintptr)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp + 304 /* apElem */)) + uintptr(*(*int32)(unsafe.Pointer(bp + 288 /* i */)))*8))) + var zElem uintptr = tcl.XTcl_GetString(tls, *(*uintptr)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp + 272 /* apElem */)) + uintptr(*(*int32)(unsafe.Pointer(bp + 256 /* i */)))*8))) for iMethod = 0; iMethod < (int32(uint64(unsafe.Sizeof(vfsmethod)) / uint64(unsafe.Sizeof(VfsMethod{})))); iMethod++ { if libc.Xstrcmp(tls, zElem, vfsmethod[iMethod].FzName) == 0 { mask = mask | (vfsmethod[iMethod].Fmask) @@ -122788,7 +122788,7 @@ func testvfs_obj_cmd(tls *libc.TLS, cd ClientData, interp uintptr, objc int32, o } } if iMethod == (int32(uint64(unsafe.Sizeof(vfsmethod)) / uint64(unsafe.Sizeof(VfsMethod{})))) { - tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp+64, ts+38314 /* "unknown method: " */, zElem, 0)) + tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp+48, ts+38314 /* "unknown method: " */, zElem, 0)) return TCL_ERROR } } @@ -122804,7 +122804,7 @@ func testvfs_obj_cmd(tls *libc.TLS, cd ClientData, interp uintptr, objc int32, o case uint32(4) /* CMD_SCRIPT */ : { if objc == 3 { - // var nByte int32 at bp+312, 4 + // var nByte int32 at bp+280, 4 if (*Testvfs)(unsafe.Pointer(p)).FpScript != 0 { for ok := true; ok; ok = 0 != 0 { @@ -122815,8 +122815,8 @@ func testvfs_obj_cmd(tls *libc.TLS, cd ClientData, interp uintptr, objc int32, o } (*Testvfs)(unsafe.Pointer(p)).FpScript = uintptr(0) } - tcl.XTcl_GetStringFromObj(tls, *(*uintptr)(unsafe.Pointer(objv + 2*8)), bp+312 /* &nByte */) - if *(*int32)(unsafe.Pointer(bp + 312 /* nByte */)) > 0 { + tcl.XTcl_GetStringFromObj(tls, *(*uintptr)(unsafe.Pointer(objv + 2*8)), bp+280 /* &nByte */) + if *(*int32)(unsafe.Pointer(bp + 280 /* nByte */)) > 0 { (*Testvfs)(unsafe.Pointer(p)).FpScript = tcl.XTcl_DuplicateObj(tls, *(*uintptr)(unsafe.Pointer(objv + 2*8))) (*Tcl_Obj)(unsafe.Pointer((*Testvfs)(unsafe.Pointer(p)).FpScript)).FrefCount++ } @@ -122846,7 +122846,7 @@ func testvfs_obj_cmd(tls *libc.TLS, cd ClientData, interp uintptr, objc int32, o var pTest uintptr = uintptr(0) var iRet int32 - switch (*TestvfsSubcmd)(unsafe.Pointer(bp + 128 /* &aSubcmd */ + uintptr(*(*int32)(unsafe.Pointer(bp + 288 /* i */)))*16)).FeCmd { + switch (*TestvfsSubcmd)(unsafe.Pointer(bp + 96 /* &aSubcmd */ + uintptr(*(*int32)(unsafe.Pointer(bp + 256 /* i */)))*16)).FeCmd { case uint32(3) /* CMD_IOERR */ : pTest = (p + 60 /* &.ioerr_err */) break @@ -122864,21 +122864,21 @@ func testvfs_obj_cmd(tls *libc.TLS, cd ClientData, interp uintptr, objc int32, o (*TestFaultInject)(unsafe.Pointer(pTest)).FiCnt = 0 if objc == 4 { - // var iCnt int32 at bp+316, 4 + // var iCnt int32 at bp+284, 4 - // var iPersist int32 at bp+320, 4 + // var iPersist int32 at bp+288, 4 - if (TCL_OK != tcl.XTcl_GetIntFromObj(tls, interp, *(*uintptr)(unsafe.Pointer(objv + 2*8)), bp+316 /* &iCnt */)) || - (TCL_OK != tcl.XTcl_GetBooleanFromObj(tls, interp, *(*uintptr)(unsafe.Pointer(objv + 3*8)), bp+320 /* &iPersist */)) { + if (TCL_OK != tcl.XTcl_GetIntFromObj(tls, interp, *(*uintptr)(unsafe.Pointer(objv + 2*8)), bp+284 /* &iCnt */)) || + (TCL_OK != tcl.XTcl_GetBooleanFromObj(tls, interp, *(*uintptr)(unsafe.Pointer(objv + 3*8)), bp+288 /* &iPersist */)) { return TCL_ERROR } (*TestFaultInject)(unsafe.Pointer(pTest)).FeFault = func() int32 { - if *(*int32)(unsafe.Pointer(bp + 320 /* iPersist */)) != 0 { + if *(*int32)(unsafe.Pointer(bp + 288 /* iPersist */)) != 0 { return FAULT_INJECT_PERSISTENT } return FAULT_INJECT_TRANSIENT }() - (*TestFaultInject)(unsafe.Pointer(pTest)).FiCnt = *(*int32)(unsafe.Pointer(bp + 316 /* iCnt */)) + (*TestFaultInject)(unsafe.Pointer(pTest)).FiCnt = *(*int32)(unsafe.Pointer(bp + 284 /* iCnt */)) } else if objc != 2 { tcl.XTcl_WrongNumArgs(tls, interp, 2, objv, ts+38331 /* "?CNT PERSIST?" */) return TCL_ERROR @@ -122897,7 +122897,7 @@ func testvfs_obj_cmd(tls *libc.TLS, cd ClientData, interp uintptr, objc int32, o case uint32(5) /* CMD_DEVCHAR */ : { - *(*[16]DeviceFlag)(unsafe.Pointer(bp + 336 /* aFlag */)) = [16]DeviceFlag{ + *(*[16]DeviceFlag)(unsafe.Pointer(bp + 304 /* aFlag */)) = [16]DeviceFlag{ {FzName: ts + 38345 /* "default" */, FiValue: -1}, {FzName: ts + 26559 /* "atomic" */, FiValue: SQLITE_IOCAP_ATOMIC}, {FzName: ts + 26566 /* "atomic512" */, FiValue: SQLITE_IOCAP_ATOMIC512}, @@ -122925,24 +122925,24 @@ func testvfs_obj_cmd(tls *libc.TLS, cd ClientData, interp uintptr, objc int32, o if objc == 3 { var j int32 var iNew int32 = 0 - *(*uintptr)(unsafe.Pointer(bp + 328 /* flags */)) = uintptr(0) - *(*int32)(unsafe.Pointer(bp + 324 /* nFlags */)) = 0 + *(*uintptr)(unsafe.Pointer(bp + 296 /* flags */)) = uintptr(0) + *(*int32)(unsafe.Pointer(bp + 292 /* nFlags */)) = 0 - if tcl.XTcl_ListObjGetElements(tls, interp, *(*uintptr)(unsafe.Pointer(objv + 2*8)), bp+324 /* &nFlags */, bp+328 /* &flags */) != 0 { + if tcl.XTcl_ListObjGetElements(tls, interp, *(*uintptr)(unsafe.Pointer(objv + 2*8)), bp+292 /* &nFlags */, bp+296 /* &flags */) != 0 { return TCL_ERROR } - for j = 0; j < *(*int32)(unsafe.Pointer(bp + 324 /* nFlags */)); j++ { - *(*int32)(unsafe.Pointer(bp + 592 /* idx */)) = 0 - if tcl.XTcl_GetIndexFromObjStruct(tls, interp, *(*uintptr)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp + 328 /* flags */)) + uintptr(j)*8)), bp+336, /* &aFlag[0] */ - int32(unsafe.Sizeof(DeviceFlag{})), ts+17985 /* "flag" */, 0, bp+592 /* &idx */) != 0 { + for j = 0; j < *(*int32)(unsafe.Pointer(bp + 292 /* nFlags */)); j++ { + *(*int32)(unsafe.Pointer(bp + 560 /* idx */)) = 0 + if tcl.XTcl_GetIndexFromObjStruct(tls, interp, *(*uintptr)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp + 296 /* flags */)) + uintptr(j)*8)), bp+304, /* &aFlag[0] */ + int32(unsafe.Sizeof(DeviceFlag{})), ts+17985 /* "flag" */, 0, bp+560 /* &idx */) != 0 { return TCL_ERROR } - if ((*DeviceFlag)(unsafe.Pointer(bp+336 /* &aFlag */ +uintptr(*(*int32)(unsafe.Pointer(bp + 592 /* idx */)))*16)).FiValue < 0) && (*(*int32)(unsafe.Pointer(bp + 324 /* nFlags */)) > 1) { - tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp+96, ts+38397 /* "bad flags: " */, tcl.XTcl_GetString(tls, *(*uintptr)(unsafe.Pointer(objv + 2*8))), 0)) + if ((*DeviceFlag)(unsafe.Pointer(bp+304 /* &aFlag */ +uintptr(*(*int32)(unsafe.Pointer(bp + 560 /* idx */)))*16)).FiValue < 0) && (*(*int32)(unsafe.Pointer(bp + 292 /* nFlags */)) > 1) { + tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp+72, ts+38397 /* "bad flags: " */, tcl.XTcl_GetString(tls, *(*uintptr)(unsafe.Pointer(objv + 2*8))), 0)) return TCL_ERROR } - iNew = iNew | ((*DeviceFlag)(unsafe.Pointer(bp + 336 /* &aFlag */ + uintptr(*(*int32)(unsafe.Pointer(bp + 592 /* idx */)))*16)).FiValue) + iNew = iNew | ((*DeviceFlag)(unsafe.Pointer(bp + 304 /* &aFlag */ + uintptr(*(*int32)(unsafe.Pointer(bp + 560 /* idx */)))*16)).FiValue) } (*Testvfs)(unsafe.Pointer(p)).FiDevchar = (iNew | 0x10000000) @@ -122950,9 +122950,9 @@ func testvfs_obj_cmd(tls *libc.TLS, cd ClientData, interp uintptr, objc int32, o pRet = tcl.XTcl_NewObj(tls) for iFlag = 0; uint64(iFlag) < (uint64(unsafe.Sizeof([16]DeviceFlag{})) / uint64(unsafe.Sizeof(DeviceFlag{}))); iFlag++ { - if ((*Testvfs)(unsafe.Pointer(p)).FiDevchar & (*DeviceFlag)(unsafe.Pointer(bp+336 /* &aFlag */ +uintptr(iFlag)*16)).FiValue) != 0 { + if ((*Testvfs)(unsafe.Pointer(p)).FiDevchar & (*DeviceFlag)(unsafe.Pointer(bp+304 /* &aFlag */ +uintptr(iFlag)*16)).FiValue) != 0 { tcl.XTcl_ListObjAppendElement(tls, - interp, pRet, tcl.XTcl_NewStringObj(tls, (*DeviceFlag)(unsafe.Pointer(bp+336 /* &aFlag */ +uintptr(iFlag)*16)).FzName, -1)) + interp, pRet, tcl.XTcl_NewStringObj(tls, (*DeviceFlag)(unsafe.Pointer(bp+304 /* &aFlag */ +uintptr(iFlag)*16)).FzName, -1)) } } tcl.XTcl_SetObjResult(tls, interp, pRet) @@ -122968,11 +122968,11 @@ func testvfs_obj_cmd(tls *libc.TLS, cd ClientData, interp uintptr, objc int32, o return TCL_ERROR } if objc == 3 { - *(*int32)(unsafe.Pointer(bp + 596 /* iNew */)) = 0 - if tcl.XTcl_GetIntFromObj(tls, interp, *(*uintptr)(unsafe.Pointer(objv + 2*8)), bp+596 /* &iNew */) != 0 { + *(*int32)(unsafe.Pointer(bp + 564 /* iNew */)) = 0 + if tcl.XTcl_GetIntFromObj(tls, interp, *(*uintptr)(unsafe.Pointer(objv + 2*8)), bp+564 /* &iNew */) != 0 { return TCL_ERROR } - (*Testvfs)(unsafe.Pointer(p)).FiSectorsize = *(*int32)(unsafe.Pointer(bp + 596 /* iNew */)) + (*Testvfs)(unsafe.Pointer(p)).FiSectorsize = *(*int32)(unsafe.Pointer(bp + 564 /* iNew */)) } tcl.XTcl_SetObjResult(tls, interp, tcl.XTcl_NewIntObj(tls, (*Testvfs)(unsafe.Pointer(p)).FiSectorsize)) break @@ -123329,17 +123329,17 @@ func test_vfs_shmlock(tls *libc.TLS, clientData uintptr, interp uintptr, objc in } func test_vfs_set_readmark(tls *libc.TLS, clientData uintptr, interp uintptr, objc int32, objv uintptr) int32 { /* test_vfs.c:1632:26: */ - bp := tls.Alloc(56) - defer tls.Free(56) + bp := tls.Alloc(48) + defer tls.Free(48) - *(*uintptr)(unsafe.Pointer(bp + 24 /* db */)) = uintptr(0) + *(*uintptr)(unsafe.Pointer(bp + 16 /* db */)) = uintptr(0) var rc int32 = SQLITE_OK var zDbname uintptr = uintptr(0) - *(*int32)(unsafe.Pointer(bp + 32 /* iSlot */)) = 0 - *(*int32)(unsafe.Pointer(bp + 36 /* iVal */)) = -1 - // var pFd uintptr at bp+40, 8 + *(*int32)(unsafe.Pointer(bp + 24 /* iSlot */)) = 0 + *(*int32)(unsafe.Pointer(bp + 28 /* iVal */)) = -1 + // var pFd uintptr at bp+32, 8 - *(*uintptr)(unsafe.Pointer(bp + 48 /* pShm */)) = uintptr(0) + *(*uintptr)(unsafe.Pointer(bp + 40 /* pShm */)) = uintptr(0) var aShm uintptr var iOff int32 @@ -123349,30 +123349,30 @@ func test_vfs_set_readmark(tls *libc.TLS, clientData uintptr, interp uintptr, ob } zDbname = tcl.XTcl_GetString(tls, *(*uintptr)(unsafe.Pointer(objv + 2*8))) - if ((getDbPointer(tls, interp, tcl.XTcl_GetString(tls, *(*uintptr)(unsafe.Pointer(objv + 1*8))), bp+24 /* &db */) != 0) || - (tcl.XTcl_GetIntFromObj(tls, interp, *(*uintptr)(unsafe.Pointer(objv + 3*8)), bp+32 /* &iSlot */) != 0)) || - ((objc == 5) && (tcl.XTcl_GetIntFromObj(tls, interp, *(*uintptr)(unsafe.Pointer(objv + 4*8)), bp+36 /* &iVal */) != 0)) { + if ((getDbPointer(tls, interp, tcl.XTcl_GetString(tls, *(*uintptr)(unsafe.Pointer(objv + 1*8))), bp+16 /* &db */) != 0) || + (tcl.XTcl_GetIntFromObj(tls, interp, *(*uintptr)(unsafe.Pointer(objv + 3*8)), bp+24 /* &iSlot */) != 0)) || + ((objc == 5) && (tcl.XTcl_GetIntFromObj(tls, interp, *(*uintptr)(unsafe.Pointer(objv + 4*8)), bp+28 /* &iVal */) != 0)) { return TCL_ERROR } - sqlite3.Xsqlite3_file_control(tls, *(*uintptr)(unsafe.Pointer(bp + 24 /* db */)), zDbname, SQLITE_FCNTL_FILE_POINTER, bp+40 /* &pFd */) - if *(*uintptr)(unsafe.Pointer(bp + 40 /* pFd */)) == uintptr(0) { + sqlite3.Xsqlite3_file_control(tls, *(*uintptr)(unsafe.Pointer(bp + 16 /* db */)), zDbname, SQLITE_FCNTL_FILE_POINTER, bp+32 /* &pFd */) + if *(*uintptr)(unsafe.Pointer(bp + 32 /* pFd */)) == uintptr(0) { return TCL_ERROR } - rc = (*(*func(*libc.TLS, uintptr, int32, int32, int32, uintptr) int32)(unsafe.Pointer(((*sqlite3_file)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp + 40 /* pFd */)))).FpMethods + 104 /* &.xShmMap */))))(tls, *(*uintptr)(unsafe.Pointer(bp + 40 /* pFd */)), 0, (32 * 1024), 0, bp+48 /* &pShm */) + rc = (*(*func(*libc.TLS, uintptr, int32, int32, int32, uintptr) int32)(unsafe.Pointer(((*sqlite3_file)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp + 32 /* pFd */)))).FpMethods + 104 /* &.xShmMap */))))(tls, *(*uintptr)(unsafe.Pointer(bp + 32 /* pFd */)), 0, (32 * 1024), 0, bp+40 /* &pShm */) if rc != SQLITE_OK { tcl.XTcl_SetObjResult(tls, interp, tcl.XTcl_NewStringObj(tls, sqlite3.Xsqlite3ErrName(tls, rc), -1)) return TCL_ERROR } - if libc.AtomicLoadPUintptr(bp+48 /* pShm */) == uintptr(0) { + if libc.AtomicLoadPUintptr(bp+40 /* pShm */) == uintptr(0) { tcl.XTcl_AppendResult(tls, interp, libc.VaList(bp, ts+38667 /* "*-shm is not yet..." */, 0)) return TCL_ERROR } - aShm = libc.AtomicLoadPUintptr(bp + 48 /* pShm */) - iOff = (((12 * 2) + 1) + *(*int32)(unsafe.Pointer(bp + 32 /* iSlot */))) + aShm = libc.AtomicLoadPUintptr(bp + 40 /* pShm */) + iOff = (((12 * 2) + 1) + *(*int32)(unsafe.Pointer(bp + 24 /* iSlot */))) if objc == 5 { - *(*u32)(unsafe.Pointer(aShm + uintptr(iOff)*4)) = u32(*(*int32)(unsafe.Pointer(bp + 36 /* iVal */))) + *(*u32)(unsafe.Pointer(aShm + uintptr(iOff)*4)) = u32(*(*int32)(unsafe.Pointer(bp + 28 /* iVal */))) } tcl.XTcl_SetObjResult(tls, interp, tcl.XTcl_NewIntObj(tls, int32(*(*u32)(unsafe.Pointer(aShm + uintptr(iOff)*4))))) @@ -123416,10 +123416,10 @@ var value [32768]int8 /* test_windirent.c:26:15: */ // Implementation of the POSIX opendir() function using the MSVCRT. func opendir(tls *libc.TLS, dirname uintptr) LPDIR { /* test_windirent.c:50:7: */ - bp := tls.Alloc(312) - defer tls.Free(312) + bp := tls.Alloc(304) + defer tls.Free(304) - // var data _finddata64i32_t at bp+16, 296 + // var data _finddata64i32_t at bp+8, 296 var dirp LPDIR var namesize SIZE_T @@ -123442,9 +123442,9 @@ __1: __2: ; - libc.Xmemset(tls, bp+16 /* &data */, 0, uint64(unsafe.Sizeof(_finddata64i32_t{}))) - libc.X_snprintf(tls, bp+16 /* &data */ +36 /* &.name */, namesize, ts+38730 /* "%s\\*" */, libc.VaList(bp, dirname)) - (*DIR)(unsafe.Pointer(dirp)).Fd_handle = libc.X_findfirst64i32(tls, bp+16 /* &data */ +36 /* &.name */, bp+16 /* &data */) + libc.Xmemset(tls, bp+8 /* &data */, 0, uint64(unsafe.Sizeof(_finddata64i32_t{}))) + libc.X_snprintf(tls, bp+8 /* &data */ +36 /* &.name */, namesize, ts+38730 /* "%s\\*" */, libc.VaList(bp, dirname)) + (*DIR)(unsafe.Pointer(dirp)).Fd_handle = libc.X_findfirst64i32(tls, bp+8 /* &data */ +36 /* &.name */, bp+8 /* &data */) if !((*DIR)(unsafe.Pointer(dirp)).Fd_handle == (int64(-1))) { goto __3 @@ -123455,13 +123455,13 @@ __3: ; // TODO: Remove this block to allow hidden and/or system files. - if !(((((*_finddata64i32_t)(unsafe.Pointer(bp + 16 /* &data */)).Fattrib) & uint32(X_A_HIDDEN)) != 0) || ((((*_finddata64i32_t)(unsafe.Pointer(bp + 16 /* &data */)).Fattrib) & uint32(X_A_SYSTEM)) != 0)) { + if !(((((*_finddata64i32_t)(unsafe.Pointer(bp + 8 /* &data */)).Fattrib) & uint32(X_A_HIDDEN)) != 0) || ((((*_finddata64i32_t)(unsafe.Pointer(bp + 8 /* &data */)).Fattrib) & uint32(X_A_SYSTEM)) != 0)) { goto __4 } next: - libc.Xmemset(tls, bp+16 /* &data */, 0, uint64(unsafe.Sizeof(_finddata64i32_t{}))) - if !(libc.X_findnext64i32(tls, (*DIR)(unsafe.Pointer(dirp)).Fd_handle, bp+16 /* &data */) == -1) { + libc.Xmemset(tls, bp+8 /* &data */, 0, uint64(unsafe.Sizeof(_finddata64i32_t{}))) + if !(libc.X_findnext64i32(tls, (*DIR)(unsafe.Pointer(dirp)).Fd_handle, bp+8 /* &data */) == -1) { goto __5 } closedir(tls, dirp) @@ -123470,7 +123470,7 @@ __5: ; // TODO: Remove this block to allow hidden and/or system files. - if !(((((*_finddata64i32_t)(unsafe.Pointer(bp + 16 /* &data */)).Fattrib) & uint32(X_A_HIDDEN)) != 0) || ((((*_finddata64i32_t)(unsafe.Pointer(bp + 16 /* &data */)).Fattrib) & uint32(X_A_SYSTEM)) != 0)) { + if !(((((*_finddata64i32_t)(unsafe.Pointer(bp + 8 /* &data */)).Fattrib) & uint32(X_A_HIDDEN)) != 0) || ((((*_finddata64i32_t)(unsafe.Pointer(bp + 8 /* &data */)).Fattrib) & uint32(X_A_SYSTEM)) != 0)) { goto __6 } goto next @@ -123479,8 +123479,8 @@ __6: __4: ; - (*DIR)(unsafe.Pointer(dirp)).Fd_first.Fd_attributes = (*_finddata64i32_t)(unsafe.Pointer(bp + 16 /* &data */)).Fattrib - libc.Xstrncpy(tls, dirp+8 /* &.d_first */ +8 /* &.d_name */, bp+16 /* &data */ +36 /* &.name */, uint64(FILENAME_MAX)) + (*DIR)(unsafe.Pointer(dirp)).Fd_first.Fd_attributes = (*_finddata64i32_t)(unsafe.Pointer(bp + 8 /* &data */)).Fattrib + libc.Xstrncpy(tls, dirp+8 /* &.d_first */ +8 /* &.d_name */, bp+8 /* &data */ +36 /* &.name */, uint64(FILENAME_MAX)) *(*int8)(unsafe.Pointer((dirp + 8 /* &.d_first */ + 8 /* &.d_name */) + 260)) = int8(0) return dirp diff --git a/lib/sqlite_darwin_arm64.go b/lib/sqlite_darwin_arm64.go index 096383b..be4f38f 100644 --- a/lib/sqlite_darwin_arm64.go +++ b/lib/sqlite_darwin_arm64.go @@ -119757,7 +119757,6 @@ func Xsqlite3GenerateConstraintChecks(tls *libc.TLS, pParse uintptr, pTab uintpt goto __4 goto __6 __6: - } } @@ -175216,7 +175215,6 @@ __15: goto __14 goto __16 __16: - } // This is a helper function for rbuObjIterCacheTableInfo(). It populates diff --git a/lib/sqlite_windows_amd64.go b/lib/sqlite_windows_amd64.go index 0216835..10c8cbd 100644 --- a/lib/sqlite_windows_amd64.go +++ b/lib/sqlite_windows_amd64.go @@ -29678,13 +29678,13 @@ var aMx = [6]U16{U16(12), U16(14), U16(24), U16(31), U16(59), U16(9999)} /* sqli // // A missing specifier is not considered an error. func parseTimezone(tls *libc.TLS, zDate uintptr, p uintptr) int32 { /* sqlite3.c:22336:12: */ - bp := tls.Alloc(32) - defer tls.Free(32) + bp := tls.Alloc(24) + defer tls.Free(24) var sgn int32 - // var nHr int32 at bp+24, 4 + // var nHr int32 at bp+16, 4 - // var nMn int32 at bp+28, 4 + // var nMn int32 at bp+20, 4 var c int32 sgn = 0 @@ -29725,14 +29725,14 @@ __6: __4: ; zDate++ - if !(getDigits(tls, zDate, ts+325 /* "20b:20e" */, libc.VaList(bp, bp+24 /* &nHr */, bp+28 /* &nMn */)) != 2) { + if !(getDigits(tls, zDate, ts+325 /* "20b:20e" */, libc.VaList(bp, bp+16 /* &nHr */, bp+20 /* &nMn */)) != 2) { goto __9 } return 1 __9: ; zDate += uintptr(5) - (*DateTime)(unsafe.Pointer(p)).Ftz = (sgn * (*(*int32)(unsafe.Pointer(bp + 28 /* nMn */)) + (*(*int32)(unsafe.Pointer(bp + 24 /* nHr */)) * 60))) + (*DateTime)(unsafe.Pointer(p)).Ftz = (sgn * (*(*int32)(unsafe.Pointer(bp + 20 /* nMn */)) + (*(*int32)(unsafe.Pointer(bp + 16 /* nHr */)) * 60))) zulu_time: __10: if !((int32(Xsqlite3CtypeMap[uint8(*(*int8)(unsafe.Pointer(zDate)))]) & 0x01) != 0) { @@ -29752,23 +29752,23 @@ __11: // // Return 1 if there is a parsing error and 0 on success. func parseHhMmSs(tls *libc.TLS, zDate uintptr, p uintptr) int32 { /* sqlite3.c:22372:12: */ - bp := tls.Alloc(52) - defer tls.Free(52) + bp := tls.Alloc(36) + defer tls.Free(36) - // var h int32 at bp+40, 4 + // var h int32 at bp+24, 4 - // var m int32 at bp+44, 4 + // var m int32 at bp+28, 4 - // var s int32 at bp+48, 4 + // var s int32 at bp+32, 4 var ms float64 = 0.0 - if getDigits(tls, zDate, ts+333 /* "20c:20e" */, libc.VaList(bp, bp+40 /* &h */, bp+44 /* &m */)) != 2 { + if getDigits(tls, zDate, ts+333 /* "20c:20e" */, libc.VaList(bp, bp+24 /* &h */, bp+28 /* &m */)) != 2 { return 1 } zDate += uintptr(5) if int32(*(*int8)(unsafe.Pointer(zDate))) == ':' { zDate++ - if getDigits(tls, zDate, ts+341 /* "20e" */, libc.VaList(bp+24, bp+48 /* &s */)) != 1 { + if getDigits(tls, zDate, ts+341 /* "20e" */, libc.VaList(bp+16, bp+32 /* &s */)) != 1 { return 1 } zDate += uintptr(2) @@ -29783,14 +29783,14 @@ func parseHhMmSs(tls *libc.TLS, zDate uintptr, p uintptr) int32 { /* sqlite3.c:2 ms = ms / (rScale) } } else { - *(*int32)(unsafe.Pointer(bp + 48 /* s */)) = 0 + *(*int32)(unsafe.Pointer(bp + 32 /* s */)) = 0 } (*DateTime)(unsafe.Pointer(p)).FvalidJD = int8(0) (*DateTime)(unsafe.Pointer(p)).FrawS = int8(0) (*DateTime)(unsafe.Pointer(p)).FvalidHMS = int8(1) - (*DateTime)(unsafe.Pointer(p)).Fh = *(*int32)(unsafe.Pointer(bp + 40 /* h */)) - (*DateTime)(unsafe.Pointer(p)).Fm = *(*int32)(unsafe.Pointer(bp + 44 /* m */)) - (*DateTime)(unsafe.Pointer(p)).Fs = (float64(*(*int32)(unsafe.Pointer(bp + 48 /* s */))) + ms) + (*DateTime)(unsafe.Pointer(p)).Fh = *(*int32)(unsafe.Pointer(bp + 24 /* h */)) + (*DateTime)(unsafe.Pointer(p)).Fm = *(*int32)(unsafe.Pointer(bp + 28 /* m */)) + (*DateTime)(unsafe.Pointer(p)).Fs = (float64(*(*int32)(unsafe.Pointer(bp + 32 /* s */))) + ms) if parseTimezone(tls, zDate, p) != 0 { return 1 } @@ -29870,14 +29870,14 @@ func computeJD(tls *libc.TLS, p uintptr) { /* sqlite3.c:22423:13: */ // on success and 1 if the input string is not a well-formed // date. func parseYyyyMmDd(tls *libc.TLS, zDate uintptr, p uintptr) int32 { /* sqlite3.c:22473:12: */ - bp := tls.Alloc(44) - defer tls.Free(44) + bp := tls.Alloc(36) + defer tls.Free(36) - // var Y int32 at bp+32, 4 + // var Y int32 at bp+24, 4 - // var M int32 at bp+36, 4 + // var M int32 at bp+28, 4 - // var D int32 at bp+40, 4 + // var D int32 at bp+32, 4 var neg int32 @@ -29887,7 +29887,7 @@ func parseYyyyMmDd(tls *libc.TLS, zDate uintptr, p uintptr) int32 { /* sqlite3.c } else { neg = 0 } - if getDigits(tls, zDate, ts+345 /* "40f-21a-21d" */, libc.VaList(bp, bp+32 /* &Y */, bp+36 /* &M */, bp+40 /* &D */)) != 3 { + if getDigits(tls, zDate, ts+345 /* "40f-21a-21d" */, libc.VaList(bp, bp+24 /* &Y */, bp+28 /* &M */, bp+32 /* &D */)) != 3 { return 1 } zDate += uintptr(10) @@ -29905,12 +29905,12 @@ func parseYyyyMmDd(tls *libc.TLS, zDate uintptr, p uintptr) int32 { /* sqlite3.c (*DateTime)(unsafe.Pointer(p)).FvalidYMD = int8(1) (*DateTime)(unsafe.Pointer(p)).FY = func() int32 { if neg != 0 { - return -*(*int32)(unsafe.Pointer(bp + 32 /* Y */)) + return -*(*int32)(unsafe.Pointer(bp + 24 /* Y */)) } - return *(*int32)(unsafe.Pointer(bp + 32 /* Y */)) + return *(*int32)(unsafe.Pointer(bp + 24 /* Y */)) }() - (*DateTime)(unsafe.Pointer(p)).FM = *(*int32)(unsafe.Pointer(bp + 36 /* M */)) - (*DateTime)(unsafe.Pointer(p)).FD = *(*int32)(unsafe.Pointer(bp + 40 /* D */)) + (*DateTime)(unsafe.Pointer(p)).FM = *(*int32)(unsafe.Pointer(bp + 28 /* M */)) + (*DateTime)(unsafe.Pointer(p)).FD = *(*int32)(unsafe.Pointer(bp + 32 /* D */)) if (*DateTime)(unsafe.Pointer(p)).FvalidTZ != 0 { computeJD(tls, p) } @@ -30535,18 +30535,18 @@ func juliandayFunc(tls *libc.TLS, context uintptr, argc int32, argv uintptr) { / // // Return YYYY-MM-DD HH:MM:SS func datetimeFunc(tls *libc.TLS, context uintptr, argc int32, argv uintptr) { /* sqlite3.c:23106:13: */ - bp := tls.Alloc(204) - defer tls.Free(204) + bp := tls.Alloc(196) + defer tls.Free(196) - // var x DateTime at bp+56, 48 + // var x DateTime at bp+48, 48 - if isDate(tls, context, argc, argv, bp+56 /* &x */) == 0 { - // var zBuf [100]int8 at bp+104, 100 + if isDate(tls, context, argc, argv, bp+48 /* &x */) == 0 { + // var zBuf [100]int8 at bp+96, 100 - computeYMD_HMS(tls, bp+56 /* &x */) - Xsqlite3_snprintf(tls, int32(unsafe.Sizeof([100]int8{})), bp+104 /* &zBuf[0] */, ts+461, /* "%04d-%02d-%02d %..." */ - libc.VaList(bp, (*DateTime)(unsafe.Pointer(bp+56 /* &x */)).FY, (*DateTime)(unsafe.Pointer(bp+56 /* &x */)).FM, (*DateTime)(unsafe.Pointer(bp+56 /* &x */)).FD, (*DateTime)(unsafe.Pointer(bp+56 /* &x */)).Fh, (*DateTime)(unsafe.Pointer(bp+56 /* &x */)).Fm, int32((*DateTime)(unsafe.Pointer(bp+56 /* &x */)).Fs))) - Xsqlite3_result_text(tls, context, bp+104 /* &zBuf[0] */, -1, libc.UintptrFromInt32(-1)) + computeYMD_HMS(tls, bp+48 /* &x */) + Xsqlite3_snprintf(tls, int32(unsafe.Sizeof([100]int8{})), bp+96 /* &zBuf[0] */, ts+461, /* "%04d-%02d-%02d %..." */ + libc.VaList(bp, (*DateTime)(unsafe.Pointer(bp+48 /* &x */)).FY, (*DateTime)(unsafe.Pointer(bp+48 /* &x */)).FM, (*DateTime)(unsafe.Pointer(bp+48 /* &x */)).FD, (*DateTime)(unsafe.Pointer(bp+48 /* &x */)).Fh, (*DateTime)(unsafe.Pointer(bp+48 /* &x */)).Fm, int32((*DateTime)(unsafe.Pointer(bp+48 /* &x */)).Fs))) + Xsqlite3_result_text(tls, context, bp+96 /* &zBuf[0] */, -1, libc.UintptrFromInt32(-1)) } } @@ -30554,17 +30554,17 @@ func datetimeFunc(tls *libc.TLS, context uintptr, argc int32, argv uintptr) { /* // // Return HH:MM:SS func timeFunc(tls *libc.TLS, context uintptr, argc int32, argv uintptr) { /* sqlite3.c:23126:13: */ - bp := tls.Alloc(180) - defer tls.Free(180) + bp := tls.Alloc(172) + defer tls.Free(172) - // var x DateTime at bp+32, 48 + // var x DateTime at bp+24, 48 - if isDate(tls, context, argc, argv, bp+32 /* &x */) == 0 { - // var zBuf [100]int8 at bp+80, 100 + if isDate(tls, context, argc, argv, bp+24 /* &x */) == 0 { + // var zBuf [100]int8 at bp+72, 100 - computeHMS(tls, bp+32 /* &x */) - Xsqlite3_snprintf(tls, int32(unsafe.Sizeof([100]int8{})), bp+80 /* &zBuf[0] */, ts+491 /* "%02d:%02d:%02d" */, libc.VaList(bp, (*DateTime)(unsafe.Pointer(bp+32 /* &x */)).Fh, (*DateTime)(unsafe.Pointer(bp+32 /* &x */)).Fm, int32((*DateTime)(unsafe.Pointer(bp+32 /* &x */)).Fs))) - Xsqlite3_result_text(tls, context, bp+80 /* &zBuf[0] */, -1, libc.UintptrFromInt32(-1)) + computeHMS(tls, bp+24 /* &x */) + Xsqlite3_snprintf(tls, int32(unsafe.Sizeof([100]int8{})), bp+72 /* &zBuf[0] */, ts+491 /* "%02d:%02d:%02d" */, libc.VaList(bp, (*DateTime)(unsafe.Pointer(bp+24 /* &x */)).Fh, (*DateTime)(unsafe.Pointer(bp+24 /* &x */)).Fm, int32((*DateTime)(unsafe.Pointer(bp+24 /* &x */)).Fs))) + Xsqlite3_result_text(tls, context, bp+72 /* &zBuf[0] */, -1, libc.UintptrFromInt32(-1)) } } @@ -30572,17 +30572,17 @@ func timeFunc(tls *libc.TLS, context uintptr, argc int32, argv uintptr) { /* sql // // Return YYYY-MM-DD func dateFunc(tls *libc.TLS, context uintptr, argc int32, argv uintptr) { /* sqlite3.c:23145:13: */ - bp := tls.Alloc(180) - defer tls.Free(180) + bp := tls.Alloc(172) + defer tls.Free(172) - // var x DateTime at bp+32, 48 + // var x DateTime at bp+24, 48 - if isDate(tls, context, argc, argv, bp+32 /* &x */) == 0 { - // var zBuf [100]int8 at bp+80, 100 + if isDate(tls, context, argc, argv, bp+24 /* &x */) == 0 { + // var zBuf [100]int8 at bp+72, 100 - computeYMD(tls, bp+32 /* &x */) - Xsqlite3_snprintf(tls, int32(unsafe.Sizeof([100]int8{})), bp+80 /* &zBuf[0] */, ts+506 /* "%04d-%02d-%02d" */, libc.VaList(bp, (*DateTime)(unsafe.Pointer(bp+32 /* &x */)).FY, (*DateTime)(unsafe.Pointer(bp+32 /* &x */)).FM, (*DateTime)(unsafe.Pointer(bp+32 /* &x */)).FD)) - Xsqlite3_result_text(tls, context, bp+80 /* &zBuf[0] */, -1, libc.UintptrFromInt32(-1)) + computeYMD(tls, bp+24 /* &x */) + Xsqlite3_snprintf(tls, int32(unsafe.Sizeof([100]int8{})), bp+72 /* &zBuf[0] */, ts+506 /* "%04d-%02d-%02d" */, libc.VaList(bp, (*DateTime)(unsafe.Pointer(bp+24 /* &x */)).FY, (*DateTime)(unsafe.Pointer(bp+24 /* &x */)).FM, (*DateTime)(unsafe.Pointer(bp+24 /* &x */)).FD)) + Xsqlite3_result_text(tls, context, bp+72 /* &zBuf[0] */, -1, libc.UintptrFromInt32(-1)) } } @@ -30604,10 +30604,10 @@ func dateFunc(tls *libc.TLS, context uintptr, argc int32, argv uintptr) { /* sql // %Y year 0000-9999 // %% % func strftimeFunc(tls *libc.TLS, context uintptr, argc int32, argv uintptr) { /* sqlite3.c:23178:13: */ - bp := tls.Alloc(360) - defer tls.Free(360) + bp := tls.Alloc(280) + defer tls.Free(280) - // var x DateTime at bp+160, 48 + // var x DateTime at bp+80, 48 var n U64 var i Size_t @@ -30615,13 +30615,13 @@ func strftimeFunc(tls *libc.TLS, context uintptr, argc int32, argv uintptr) { /* var z uintptr var db uintptr var zFmt uintptr - // var zBuf [100]int8 at bp+208, 100 + // var zBuf [100]int8 at bp+128, 100 if argc == 0 { return } zFmt = Xsqlite3_value_text(tls, *(*uintptr)(unsafe.Pointer(argv))) - if (zFmt == uintptr(0)) || (isDate(tls, context, (argc-1), (argv+uintptr(1)*8), bp+160 /* &x */) != 0) { + if (zFmt == uintptr(0)) || (isDate(tls, context, (argc-1), (argv+uintptr(1)*8), bp+80 /* &x */) != 0) { return } db = Xsqlite3_context_db_handle(tls, context) @@ -30688,7 +30688,7 @@ __3: ; if n < U64(unsafe.Sizeof([100]int8{})) { - z = bp + 208 /* &zBuf[0] */ + z = bp + 128 /* &zBuf[0] */ } else if n > U64(*(*int32)(unsafe.Pointer((db + 128 /* &.aLimit */)))) { Xsqlite3_result_error_toobig(tls, context) return @@ -30699,8 +30699,8 @@ __3: return } } - computeJD(tls, bp+160 /* &x */) - computeYMD_HMS(tls, bp+160 /* &x */) + computeJD(tls, bp+80 /* &x */) + computeYMD_HMS(tls, bp+80 /* &x */) for i = libc.AssignUint64(&j, uint64(0)); *(*int8)(unsafe.Pointer(zFmt + uintptr(i))) != 0; i++ { if int32(*(*int8)(unsafe.Pointer(zFmt + uintptr(i)))) != '%' { *(*int8)(unsafe.Pointer(z + uintptr(libc.PostIncUint64(&j, 1)))) = *(*int8)(unsafe.Pointer(zFmt + uintptr(i))) @@ -30708,24 +30708,24 @@ __3: i++ switch int32(*(*int8)(unsafe.Pointer(zFmt + uintptr(i)))) { case 'd': - Xsqlite3_snprintf(tls, 3, (z + uintptr(j)), ts+521 /* "%02d" */, libc.VaList(bp, (*DateTime)(unsafe.Pointer(bp+160 /* &x */)).FD)) + Xsqlite3_snprintf(tls, 3, (z + uintptr(j)), ts+521 /* "%02d" */, libc.VaList(bp, (*DateTime)(unsafe.Pointer(bp+80 /* &x */)).FD)) j = j + (uint64(2)) break fallthrough case 'f': { - var s float64 = (*DateTime)(unsafe.Pointer(bp + 160 /* &x */)).Fs + var s float64 = (*DateTime)(unsafe.Pointer(bp + 80 /* &x */)).Fs if s > 59.999 { s = 59.999 } - Xsqlite3_snprintf(tls, 7, (z + uintptr(j)), ts+526 /* "%06.3f" */, libc.VaList(bp+16, s)) + Xsqlite3_snprintf(tls, 7, (z + uintptr(j)), ts+526 /* "%06.3f" */, libc.VaList(bp+8, s)) j = j + (Size_t(Xsqlite3Strlen30(tls, (z + uintptr(j))))) break } fallthrough case 'H': - Xsqlite3_snprintf(tls, 3, (z + uintptr(j)), ts+521 /* "%02d" */, libc.VaList(bp+32, (*DateTime)(unsafe.Pointer(bp+160 /* &x */)).Fh)) + Xsqlite3_snprintf(tls, 3, (z + uintptr(j)), ts+521 /* "%02d" */, libc.VaList(bp+16, (*DateTime)(unsafe.Pointer(bp+80 /* &x */)).Fh)) j = j + (uint64(2)) break fallthrough @@ -30734,19 +30734,19 @@ __3: case 'j': { var nDay int32 // Number of days since 1st day of year - *(*DateTime)(unsafe.Pointer(bp + 312 /* y */)) = *(*DateTime)(unsafe.Pointer(bp + 160 /* x */)) - (*DateTime)(unsafe.Pointer(bp + 312 /* &y */)).FvalidJD = int8(0) - (*DateTime)(unsafe.Pointer(bp + 312 /* &y */)).FM = 1 - (*DateTime)(unsafe.Pointer(bp + 312 /* &y */)).FD = 1 - computeJD(tls, bp+312 /* &y */) - nDay = (int32((((*DateTime)(unsafe.Pointer(bp+160 /* &x */)).FiJD - (*DateTime)(unsafe.Pointer(bp+312 /* &y */)).FiJD) + int64(43200000)) / int64(86400000))) + *(*DateTime)(unsafe.Pointer(bp + 232 /* y */)) = *(*DateTime)(unsafe.Pointer(bp + 80 /* x */)) + (*DateTime)(unsafe.Pointer(bp + 232 /* &y */)).FvalidJD = int8(0) + (*DateTime)(unsafe.Pointer(bp + 232 /* &y */)).FM = 1 + (*DateTime)(unsafe.Pointer(bp + 232 /* &y */)).FD = 1 + computeJD(tls, bp+232 /* &y */) + nDay = (int32((((*DateTime)(unsafe.Pointer(bp+80 /* &x */)).FiJD - (*DateTime)(unsafe.Pointer(bp+232 /* &y */)).FiJD) + int64(43200000)) / int64(86400000))) if int32(*(*int8)(unsafe.Pointer(zFmt + uintptr(i)))) == 'W' { var wd int32 // 0=Monday, 1=Tuesday, ... 6=Sunday - wd = (int32((((*DateTime)(unsafe.Pointer(bp+160 /* &x */)).FiJD + int64(43200000)) / int64(86400000)) % int64(7))) - Xsqlite3_snprintf(tls, 3, (z + uintptr(j)), ts+521 /* "%02d" */, libc.VaList(bp+48, (((nDay+7)-wd)/7))) + wd = (int32((((*DateTime)(unsafe.Pointer(bp+80 /* &x */)).FiJD + int64(43200000)) / int64(86400000)) % int64(7))) + Xsqlite3_snprintf(tls, 3, (z + uintptr(j)), ts+521 /* "%02d" */, libc.VaList(bp+24, (((nDay+7)-wd)/7))) j = j + (uint64(2)) } else { - Xsqlite3_snprintf(tls, 4, (z + uintptr(j)), ts+533 /* "%03d" */, libc.VaList(bp+64, (nDay+1))) + Xsqlite3_snprintf(tls, 4, (z + uintptr(j)), ts+533 /* "%03d" */, libc.VaList(bp+32, (nDay+1))) j = j + (uint64(3)) } break @@ -30755,25 +30755,25 @@ __3: fallthrough case 'J': { - Xsqlite3_snprintf(tls, 20, (z + uintptr(j)), ts+538 /* "%.16g" */, libc.VaList(bp+80, (float64((*DateTime)(unsafe.Pointer(bp+160 /* &x */)).FiJD)/86400000.0))) + Xsqlite3_snprintf(tls, 20, (z + uintptr(j)), ts+538 /* "%.16g" */, libc.VaList(bp+40, (float64((*DateTime)(unsafe.Pointer(bp+80 /* &x */)).FiJD)/86400000.0))) j = j + (Size_t(Xsqlite3Strlen30(tls, (z + uintptr(j))))) break } fallthrough case 'm': - Xsqlite3_snprintf(tls, 3, (z + uintptr(j)), ts+521 /* "%02d" */, libc.VaList(bp+96, (*DateTime)(unsafe.Pointer(bp+160 /* &x */)).FM)) + Xsqlite3_snprintf(tls, 3, (z + uintptr(j)), ts+521 /* "%02d" */, libc.VaList(bp+48, (*DateTime)(unsafe.Pointer(bp+80 /* &x */)).FM)) j = j + (uint64(2)) break fallthrough case 'M': - Xsqlite3_snprintf(tls, 3, (z + uintptr(j)), ts+521 /* "%02d" */, libc.VaList(bp+112, (*DateTime)(unsafe.Pointer(bp+160 /* &x */)).Fm)) + Xsqlite3_snprintf(tls, 3, (z + uintptr(j)), ts+521 /* "%02d" */, libc.VaList(bp+56, (*DateTime)(unsafe.Pointer(bp+80 /* &x */)).Fm)) j = j + (uint64(2)) break fallthrough case 's': { - var iS I64 = (((*DateTime)(unsafe.Pointer(bp+160 /* &x */)).FiJD / int64(1000)) - (int64(21086676) * int64(10000))) + var iS I64 = (((*DateTime)(unsafe.Pointer(bp+80 /* &x */)).FiJD / int64(1000)) - (int64(21086676) * int64(10000))) Xsqlite3Int64ToText(tls, iS, (z + uintptr(j))) j = j + (Size_t(Xsqlite3Strlen30(tls, (z + uintptr(j))))) break @@ -30781,20 +30781,20 @@ __3: } fallthrough case 'S': - Xsqlite3_snprintf(tls, 3, (z + uintptr(j)), ts+521 /* "%02d" */, libc.VaList(bp+128, int32((*DateTime)(unsafe.Pointer(bp+160 /* &x */)).Fs))) + Xsqlite3_snprintf(tls, 3, (z + uintptr(j)), ts+521 /* "%02d" */, libc.VaList(bp+64, int32((*DateTime)(unsafe.Pointer(bp+80 /* &x */)).Fs))) j = j + (uint64(2)) break fallthrough case 'w': { - *(*int8)(unsafe.Pointer(z + uintptr(libc.PostIncUint64(&j, 1)))) = (int8(int32((int8((((*DateTime)(unsafe.Pointer(bp+160 /* &x */)).FiJD + int64(129600000)) / int64(86400000)) % int64(7)))) + '0')) + *(*int8)(unsafe.Pointer(z + uintptr(libc.PostIncUint64(&j, 1)))) = (int8(int32((int8((((*DateTime)(unsafe.Pointer(bp+80 /* &x */)).FiJD + int64(129600000)) / int64(86400000)) % int64(7)))) + '0')) break } fallthrough case 'Y': { - Xsqlite3_snprintf(tls, 5, (z + uintptr(j)), ts+544 /* "%04d" */, libc.VaList(bp+144, (*DateTime)(unsafe.Pointer(bp+160 /* &x */)).FY)) + Xsqlite3_snprintf(tls, 5, (z + uintptr(j)), ts+544 /* "%04d" */, libc.VaList(bp+72, (*DateTime)(unsafe.Pointer(bp+80 /* &x */)).FY)) j = j + (Size_t(Xsqlite3Strlen30(tls, (z + uintptr(j))))) break @@ -30809,7 +30809,7 @@ __3: *(*int8)(unsafe.Pointer(z + uintptr(j))) = int8(0) Xsqlite3_result_text(tls, context, z, -1, func() uintptr { - if z == bp+208 /* zBuf */ { + if z == bp+128 /* zBuf */ { return libc.UintptrFromInt32(-1) } return *(*uintptr)(unsafe.Pointer(&struct{ f func(*libc.TLS, uintptr) }{Xsqlite3OomFault})) @@ -31428,8 +31428,8 @@ func Xsqlite3EndBenignMalloc(tls *libc.TLS) { /* sqlite3.c:23948:21: */ // cases of nByte<=0 will be intercepted and dealt with by higher level // routines. func sqlite3MemMalloc(tls *libc.TLS, nByte int32) uintptr { /* sqlite3.c:24148:13: */ - bp := tls.Alloc(16) - defer tls.Free(16) + bp := tls.Alloc(8) + defer tls.Free(8) var p uintptr @@ -31467,8 +31467,8 @@ func sqlite3MemSize(tls *libc.TLS, pPrior uintptr) int32 { /* sqlite3.c:24197:12 // cases where nByte<=0 will have been intercepted by higher-level // routines and redirected to xFree. func sqlite3MemRealloc(tls *libc.TLS, pPrior uintptr, nByte int32) uintptr { /* sqlite3.c:24220:13: */ - bp := tls.Alloc(24) - defer tls.Free(24) + bp := tls.Alloc(16) + defer tls.Free(16) var p uintptr = libc.Xrealloc(tls, pPrior, uint64(nByte)) if p == uintptr(0) { @@ -31502,8 +31502,8 @@ func sqlite3MemShutdown(tls *libc.TLS, NotUsed uintptr) { /* sqlite3.c:24286:13: // Populate the low-level memory allocation function pointers in // sqlite3GlobalConfig.m with pointers to the routines in this file. func Xsqlite3MemSetDefault(tls *libc.TLS) { /* sqlite3.c:24297:21: */ - bp := tls.Alloc(16) - defer tls.Free(16) + bp := tls.Alloc(8) + defer tls.Free(8) Xsqlite3_config(tls, SQLITE_CONFIG_MALLOC, libc.VaList(bp, uintptr(unsafe.Pointer(&defaultMethods)))) } @@ -63328,8 +63328,8 @@ func printfTempBuf(tls *libc.TLS, pAccum uintptr, n Sqlite3_int64) uintptr { /* // Render a string given by "fmt" into the StrAccum object. func Xsqlite3_str_vappendf(tls *libc.TLS, pAccum uintptr, fmt uintptr, ap Va_list) { /* sqlite3.c:28828:17: */ - bp := tls.Alloc(116) - defer tls.Free(116) + bp := tls.Alloc(108) + defer tls.Free(108) var c int32 // Next character in the format string var bufpt uintptr // Pointer to the conversion buffer @@ -63349,7 +63349,7 @@ func Xsqlite3_str_vappendf(tls *libc.TLS, pAccum uintptr, fmt uintptr, ap Va_lis var bArgList U8 // True for SQLITE_PRINTF_SQLFUNC var prefix int8 // Prefix character. "+" or "-" or " " or '\0'. var longvalue Sqlite_uint64 // Value for integer types - // var realvalue float64 at bp+104, 8 + // var realvalue float64 at bp+96, 8 // Value for real types var infop uintptr // Pointer to the appropriate info structure var zOut uintptr // Rendering buffer @@ -63357,13 +63357,13 @@ func Xsqlite3_str_vappendf(tls *libc.TLS, pAccum uintptr, fmt uintptr, ap Va_lis var zExtra uintptr // Malloced memory used by some conversion var exp int32 var e2 int32 // exponent of real numbers - // var nsd int32 at bp+112, 4 + // var nsd int32 at bp+104, 4 // Number of significant digits returned var rounder float64 // Used for rounding floating point values var flag_dp EtByte // True if decimal point should be shown var flag_rtz EtByte // True if trailing zeros should be removed var pArgList uintptr // Arguments for SQLITE_PRINTF_SQLFUNC - // var buf [70]int8 at bp+16, 70 + // var buf [70]int8 at bp+8, 70 var wx uint32 var px uint32 @@ -63376,9 +63376,9 @@ func Xsqlite3_str_vappendf(tls *libc.TLS, pAccum uintptr, fmt uintptr, ap Va_lis var ix int32 // Add "0" or "0x" var pre uintptr var x1 int8 - // var rx float64 at bp+96, 8 + // var rx float64 at bp+88, 8 - // var u Sqlite3_uint64 at bp+88, 8 + // var u Sqlite3_uint64 at bp+80, 8 var ex int32 var scale float64 @@ -63846,7 +63846,7 @@ __94: goto __95 } nOut = SQLITE_PRINT_BUF_SIZE - zOut = bp + 16 /* &buf[0] */ + zOut = bp + 8 /* &buf[0] */ goto __96 __95: n = (U64(precision) + uint64(10)) @@ -63968,10 +63968,10 @@ __65: if !(bArgList != 0) { goto __116 } - *(*float64)(unsafe.Pointer(bp + 104 /* realvalue */)) = getDoubleArg(tls, pArgList) + *(*float64)(unsafe.Pointer(bp + 96 /* realvalue */)) = getDoubleArg(tls, pArgList) goto __117 __116: - *(*float64)(unsafe.Pointer(bp + 104 /* realvalue */)) = float64(libc.VaFloat64(&ap)) + *(*float64)(unsafe.Pointer(bp + 96 /* realvalue */)) = float64(libc.VaFloat64(&ap)) __117: ; if !(precision < 0) { @@ -63986,10 +63986,10 @@ __118: precision = SQLITE_FP_PRECISION_LIMIT __119: ; - if !(*(*float64)(unsafe.Pointer(bp + 104 /* realvalue */)) < 0.0) { + if !(*(*float64)(unsafe.Pointer(bp + 96 /* realvalue */)) < 0.0) { goto __120 } - *(*float64)(unsafe.Pointer(bp + 104 /* realvalue */)) = -*(*float64)(unsafe.Pointer(bp + 104 /* realvalue */)) + *(*float64)(unsafe.Pointer(bp + 96 /* realvalue */)) = -*(*float64)(unsafe.Pointer(bp + 96 /* realvalue */)) prefix = int8('-') goto __121 __120: @@ -64017,21 +64017,21 @@ __124: if !(int32(xtype) == EtFLOAT) { goto __125 } - *(*float64)(unsafe.Pointer(bp + 96 /* rx */)) = *(*float64)(unsafe.Pointer(bp + 104 /* realvalue */)) - libc.Xmemcpy(tls, bp+88 /* &u */, bp+96 /* &rx */, uint64(unsafe.Sizeof(Sqlite3_uint64(0)))) - ex = (-1023 + (int32((*(*Sqlite3_uint64)(unsafe.Pointer(bp + 88 /* u */)) >> 52) & uint64(0x7ff)))) + *(*float64)(unsafe.Pointer(bp + 88 /* rx */)) = *(*float64)(unsafe.Pointer(bp + 96 /* realvalue */)) + libc.Xmemcpy(tls, bp+80 /* &u */, bp+88 /* &rx */, uint64(unsafe.Sizeof(Sqlite3_uint64(0)))) + ex = (-1023 + (int32((*(*Sqlite3_uint64)(unsafe.Pointer(bp + 80 /* u */)) >> 52) & uint64(0x7ff)))) if !((precision + (ex / 3)) < 15) { goto __126 } - rounder = rounder + (*(*float64)(unsafe.Pointer(bp + 104 /* realvalue */)) * 3e-16) + rounder = rounder + (*(*float64)(unsafe.Pointer(bp + 96 /* realvalue */)) * 3e-16) __126: ; - *(*float64)(unsafe.Pointer(bp + 104 /* realvalue */)) += rounder + *(*float64)(unsafe.Pointer(bp + 96 /* realvalue */)) += rounder __125: ; // Normalize realvalue to within 10.0 > realvalue >= 1.0 exp = 0 - if !(Xsqlite3IsNaN(tls, *(*float64)(unsafe.Pointer(bp + 104 /* realvalue */))) != 0) { + if !(Xsqlite3IsNaN(tls, *(*float64)(unsafe.Pointer(bp + 96 /* realvalue */))) != 0) { goto __127 } bufpt = ts + 747 /* "NaN" */ @@ -64039,12 +64039,12 @@ __125: goto __58 __127: ; - if !(*(*float64)(unsafe.Pointer(bp + 104 /* realvalue */)) > 0.0) { + if !(*(*float64)(unsafe.Pointer(bp + 96 /* realvalue */)) > 0.0) { goto __128 } scale = 1.0 __129: - if !((*(*float64)(unsafe.Pointer(bp + 104 /* realvalue */)) >= (1e100 * scale)) && (exp <= 350)) { + if !((*(*float64)(unsafe.Pointer(bp + 96 /* realvalue */)) >= (1e100 * scale)) && (exp <= 350)) { goto __130 } scale = scale * (1e100) @@ -64053,7 +64053,7 @@ __129: __130: ; __131: - if !((*(*float64)(unsafe.Pointer(bp + 104 /* realvalue */)) >= (1e10 * scale)) && (exp <= 350)) { + if !((*(*float64)(unsafe.Pointer(bp + 96 /* realvalue */)) >= (1e10 * scale)) && (exp <= 350)) { goto __132 } scale = scale * (1e10) @@ -64062,7 +64062,7 @@ __131: __132: ; __133: - if !((*(*float64)(unsafe.Pointer(bp + 104 /* realvalue */)) >= (10.0 * scale)) && (exp <= 350)) { + if !((*(*float64)(unsafe.Pointer(bp + 96 /* realvalue */)) >= (10.0 * scale)) && (exp <= 350)) { goto __134 } scale = scale * (10.0) @@ -64070,21 +64070,21 @@ __133: goto __133 __134: ; - *(*float64)(unsafe.Pointer(bp + 104 /* realvalue */)) /= scale + *(*float64)(unsafe.Pointer(bp + 96 /* realvalue */)) /= scale __135: - if !(*(*float64)(unsafe.Pointer(bp + 104 /* realvalue */)) < 1e-8) { + if !(*(*float64)(unsafe.Pointer(bp + 96 /* realvalue */)) < 1e-8) { goto __136 } - *(*float64)(unsafe.Pointer(bp + 104 /* realvalue */)) *= 1e8 + *(*float64)(unsafe.Pointer(bp + 96 /* realvalue */)) *= 1e8 exp = exp - (8) goto __135 __136: ; __137: - if !(*(*float64)(unsafe.Pointer(bp + 104 /* realvalue */)) < 1.0) { + if !(*(*float64)(unsafe.Pointer(bp + 96 /* realvalue */)) < 1.0) { goto __138 } - *(*float64)(unsafe.Pointer(bp + 104 /* realvalue */)) *= 10.0 + *(*float64)(unsafe.Pointer(bp + 96 /* realvalue */)) *= 10.0 exp-- goto __137 __138: @@ -64092,26 +64092,26 @@ __138: if !(exp > 350) { goto __139 } - bufpt = bp + 16 /* &buf[0] */ - *(*int8)(unsafe.Pointer(bp + 16 /* &buf[0] */)) = prefix - libc.Xmemcpy(tls, (bp + 16 /* &buf[0] */ + uintptr((libc.Bool32(int32(prefix) != 0)))), ts+751 /* "Inf" */, uint64(4)) + bufpt = bp + 8 /* &buf[0] */ + *(*int8)(unsafe.Pointer(bp + 8 /* &buf[0] */)) = prefix + libc.Xmemcpy(tls, (bp + 8 /* &buf[0] */ + uintptr((libc.Bool32(int32(prefix) != 0)))), ts+751 /* "Inf" */, uint64(4)) length = (3 + (libc.Bool32(int32(prefix) != 0))) goto __58 __139: ; __128: ; - bufpt = bp + 16 /* &buf[0] */ + bufpt = bp + 8 /* &buf[0] */ // If the field type is etGENERIC, then convert to either etEXP // or etFLOAT, as appropriate. if !(int32(xtype) != EtFLOAT) { goto __140 } - *(*float64)(unsafe.Pointer(bp + 104 /* realvalue */)) += rounder - if !(*(*float64)(unsafe.Pointer(bp + 104 /* realvalue */)) >= 10.0) { + *(*float64)(unsafe.Pointer(bp + 96 /* realvalue */)) += rounder + if !(*(*float64)(unsafe.Pointer(bp + 96 /* realvalue */)) >= 10.0) { goto __141 } - *(*float64)(unsafe.Pointer(bp + 104 /* realvalue */)) *= 0.1 + *(*float64)(unsafe.Pointer(bp + 96 /* realvalue */)) *= 0.1 exp++ __141: ; @@ -64166,7 +64166,7 @@ __148: ; zOut = bufpt - *(*int32)(unsafe.Pointer(bp + 112 /* nsd */)) = (16 + (int32(flag_altform2) * 10)) + *(*int32)(unsafe.Pointer(bp + 104 /* nsd */)) = (16 + (int32(flag_altform2) * 10)) flag_dp = (EtByte(((func() int32 { if precision > 0 { return 1 @@ -64192,7 +64192,7 @@ __153: if !(e2 >= 0) { goto __155 } - *(*int8)(unsafe.Pointer(libc.PostIncUintptr(&bufpt, 1))) = et_getdigit(tls, bp+104 /* &realvalue */, bp+112 /* &nsd */) + *(*int8)(unsafe.Pointer(libc.PostIncUintptr(&bufpt, 1))) = et_getdigit(tls, bp+96 /* &realvalue */, bp+104 /* &nsd */) goto __154 __154: e2-- @@ -64231,7 +64231,7 @@ __160: if !((libc.PostDecInt32(&precision, 1)) > 0) { goto __161 } - *(*int8)(unsafe.Pointer(libc.PostIncUintptr(&bufpt, 1))) = et_getdigit(tls, bp+104 /* &realvalue */, bp+112 /* &nsd */) + *(*int8)(unsafe.Pointer(libc.PostIncUintptr(&bufpt, 1))) = et_getdigit(tls, bp+96 /* &realvalue */, bp+104 /* &nsd */) goto __160 __161: ; @@ -64340,8 +64340,8 @@ __178: length = libc.AssignInt32(&width, 0) goto __58 __67: - *(*int8)(unsafe.Pointer(bp + 16 /* &buf[0] */)) = int8('%') - bufpt = bp + 16 /* &buf[0] */ + *(*int8)(unsafe.Pointer(bp + 8 /* &buf[0] */)) = int8('%') + bufpt = bp + 8 /* &buf[0] */ length = 1 goto __58 __68: @@ -64353,7 +64353,7 @@ __68: if !(bufpt != 0) { goto __181 } - *(*int8)(unsafe.Pointer(bp + 16 /* &buf[0] */)) = int8(libc.AssignInt32(&c, int32(*(*int8)(unsafe.Pointer(libc.PostIncUintptr(&bufpt, 1)))))) + *(*int8)(unsafe.Pointer(bp + 8 /* &buf[0] */)) = int8(libc.AssignInt32(&c, int32(*(*int8)(unsafe.Pointer(libc.PostIncUintptr(&bufpt, 1)))))) if !((c & 0xc0) == 0xc0) { goto __183 } @@ -64361,7 +64361,7 @@ __184: if !((length < 4) && ((int32(*(*int8)(unsafe.Pointer(bufpt))) & 0xc0) == 0x80)) { goto __185 } - *(*int8)(unsafe.Pointer(bp + 16 /* &buf[0] */ + uintptr(libc.PostIncInt32(&length, 1)))) = *(*int8)(unsafe.Pointer(libc.PostIncUintptr(&bufpt, 1))) + *(*int8)(unsafe.Pointer(bp + 8 /* &buf[0] */ + uintptr(libc.PostIncInt32(&length, 1)))) = *(*int8)(unsafe.Pointer(libc.PostIncUintptr(&bufpt, 1))) goto __184 __185: ; @@ -64369,7 +64369,7 @@ __183: ; goto __182 __181: - *(*int8)(unsafe.Pointer(bp + 16 /* &buf[0] */)) = int8(0) + *(*int8)(unsafe.Pointer(bp + 8 /* &buf[0] */)) = int8(0) __182: ; goto __180 @@ -64378,31 +64378,31 @@ __179: if !(ch < uint32(0x00080)) { goto __186 } - *(*int8)(unsafe.Pointer(bp + 16 /* &buf[0] */)) = (int8(ch & uint32(0xff))) + *(*int8)(unsafe.Pointer(bp + 8 /* &buf[0] */)) = (int8(ch & uint32(0xff))) length = 1 goto __187 __186: if !(ch < uint32(0x00800)) { goto __188 } - *(*int8)(unsafe.Pointer(bp + 16 /* &buf[0] */)) = (int8(0xc0 + int32((U8((ch >> 6) & uint32(0x1f)))))) - *(*int8)(unsafe.Pointer(bp + 16 /* &buf[0] */ + 1)) = (int8(0x80 + int32((U8(ch & uint32(0x3f)))))) + *(*int8)(unsafe.Pointer(bp + 8 /* &buf[0] */)) = (int8(0xc0 + int32((U8((ch >> 6) & uint32(0x1f)))))) + *(*int8)(unsafe.Pointer(bp + 8 /* &buf[0] */ + 1)) = (int8(0x80 + int32((U8(ch & uint32(0x3f)))))) length = 2 goto __189 __188: if !(ch < uint32(0x10000)) { goto __190 } - *(*int8)(unsafe.Pointer(bp + 16 /* &buf[0] */)) = (int8(0xe0 + int32((U8((ch >> 12) & uint32(0x0f)))))) - *(*int8)(unsafe.Pointer(bp + 16 /* &buf[0] */ + 1)) = (int8(0x80 + int32((U8((ch >> 6) & uint32(0x3f)))))) - *(*int8)(unsafe.Pointer(bp + 16 /* &buf[0] */ + 2)) = (int8(0x80 + int32((U8(ch & uint32(0x3f)))))) + *(*int8)(unsafe.Pointer(bp + 8 /* &buf[0] */)) = (int8(0xe0 + int32((U8((ch >> 12) & uint32(0x0f)))))) + *(*int8)(unsafe.Pointer(bp + 8 /* &buf[0] */ + 1)) = (int8(0x80 + int32((U8((ch >> 6) & uint32(0x3f)))))) + *(*int8)(unsafe.Pointer(bp + 8 /* &buf[0] */ + 2)) = (int8(0x80 + int32((U8(ch & uint32(0x3f)))))) length = 3 goto __191 __190: - *(*int8)(unsafe.Pointer(bp + 16 /* &buf[0] */)) = (int8(0xf0 + int32((U8((ch >> 18) & uint32(0x07)))))) - *(*int8)(unsafe.Pointer(bp + 16 /* &buf[0] */ + 1)) = (int8(0x80 + int32((U8((ch >> 12) & uint32(0x3f)))))) - *(*int8)(unsafe.Pointer(bp + 16 /* &buf[0] */ + 2)) = (int8(0x80 + int32((U8((ch >> 6) & uint32(0x3f)))))) - *(*int8)(unsafe.Pointer(bp + 16 /* &buf[0] */ + 3)) = (int8(0x80 + int32((U8(ch & uint32(0x3f)))))) + *(*int8)(unsafe.Pointer(bp + 8 /* &buf[0] */)) = (int8(0xf0 + int32((U8((ch >> 18) & uint32(0x07)))))) + *(*int8)(unsafe.Pointer(bp + 8 /* &buf[0] */ + 1)) = (int8(0x80 + int32((U8((ch >> 12) & uint32(0x3f)))))) + *(*int8)(unsafe.Pointer(bp + 8 /* &buf[0] */ + 2)) = (int8(0x80 + int32((U8((ch >> 6) & uint32(0x3f)))))) + *(*int8)(unsafe.Pointer(bp + 8 /* &buf[0] */ + 3)) = (int8(0x80 + int32((U8(ch & uint32(0x3f)))))) length = 4 __191: ; @@ -64427,13 +64427,13 @@ __194: if !(libc.PostDecInt32(&precision, 1) > 1) { goto __195 } - Xsqlite3_str_append(tls, pAccum, bp+16 /* &buf[0] */, length) + Xsqlite3_str_append(tls, pAccum, bp+8 /* &buf[0] */, length) goto __194 __195: ; __192: ; - bufpt = bp + 16 /* &buf[0] */ + bufpt = bp + 8 /* &buf[0] */ flag_altform2 = EtByte(1) goto adjust_width_for_utf8 __69: @@ -64637,7 +64637,7 @@ __230: ; goto __229 __228: - bufpt = bp + 16 /* &buf[0] */ + bufpt = bp + 8 /* &buf[0] */ __229: ; j = 0 @@ -67581,8 +67581,8 @@ func Xsqlite3HexToBlob(tls *libc.TLS, db uintptr, z uintptr, n int32) uintptr { // not have been used. The "type" of connection pointer is given as the // argument. The zType is a word like "NULL" or "closed" or "invalid". func logBadConnection(tls *libc.TLS, zType uintptr) { /* sqlite3.c:33033:13: */ - bp := tls.Alloc(16) - defer tls.Free(16) + bp := tls.Alloc(8) + defer tls.Free(8) Xsqlite3_log(tls, SQLITE_MISUSE, ts+810, /* "API call with %s..." */ @@ -69254,8 +69254,8 @@ func Xsqlite3_win32_utf8_to_mbcs_v2(tls *libc.TLS, zText uintptr, useAnsi int32) // This function is the same as sqlite3_win32_set_directory (below); however, // it accepts a UTF-8 string. func Xsqlite3_win32_set_directory8(tls *libc.TLS, type1 uint32, zValue uintptr) int32 { /* sqlite3.c:44279:16: */ - bp := tls.Alloc(16) - defer tls.Free(16) + bp := tls.Alloc(8) + defer tls.Free(8) var ppDirectory uintptr = uintptr(0) var rc int32 = Xsqlite3_initialize(tls) @@ -69314,8 +69314,8 @@ func Xsqlite3_win32_set_directory(tls *libc.TLS, type1 uint32, zValue uintptr) i // is zero if the error message fits in the buffer, or non-zero // otherwise (if the message was truncated). func winGetLastErrorMsg(tls *libc.TLS, lastErrno DWORD, nBuf int32, zBuf uintptr) int32 { /* sqlite3.c:44350:12: */ - bp := tls.Alloc(56) - defer tls.Free(56) + bp := tls.Alloc(40) + defer tls.Free(40) // FormatMessage returns 0 on failure. Otherwise it // returns the number of TCHARs written to the output @@ -69324,45 +69324,45 @@ func winGetLastErrorMsg(tls *libc.TLS, lastErrno DWORD, nBuf int32, zBuf uintptr var zOut uintptr = uintptr(0) if (sqlite3_os_type == 2) || (Xsqlite3_win32_is_nt(tls) != 0) { - *(*LPWSTR)(unsafe.Pointer(bp + 40 /* zTempWide */)) = uintptr(0) + *(*LPWSTR)(unsafe.Pointer(bp + 24 /* zTempWide */)) = uintptr(0) dwLen = (*(*func(*libc.TLS, DWORD, LPCVOID, DWORD, DWORD, LPWSTR, DWORD, uintptr) DWORD)(unsafe.Pointer((uintptr(unsafe.Pointer(&aSyscall)) + 15*24 + 8 /* &.pCurrent */))))(tls, (uint32((FORMAT_MESSAGE_ALLOCATE_BUFFER | FORMAT_MESSAGE_FROM_SYSTEM) | FORMAT_MESSAGE_IGNORE_INSERTS)), uintptr(0), lastErrno, uint32(0), - bp+40, /* &zTempWide */ + bp+24, /* &zTempWide */ uint32(0), uintptr(0)) if dwLen > DWORD(0) { // allocate a buffer and convert to UTF8 Xsqlite3BeginBenignMalloc(tls) - zOut = winUnicodeToUtf8(tls, *(*LPWSTR)(unsafe.Pointer(bp + 40 /* zTempWide */))) + zOut = winUnicodeToUtf8(tls, *(*LPWSTR)(unsafe.Pointer(bp + 24 /* zTempWide */))) Xsqlite3EndBenignMalloc(tls) // free the system buffer allocated by FormatMessage - (*(*func(*libc.TLS, HLOCAL) HLOCAL)(unsafe.Pointer((uintptr(unsafe.Pointer(&aSyscall)) + 46*24 + 8 /* &.pCurrent */))))(tls, *(*LPWSTR)(unsafe.Pointer(bp + 40 /* zTempWide */))) + (*(*func(*libc.TLS, HLOCAL) HLOCAL)(unsafe.Pointer((uintptr(unsafe.Pointer(&aSyscall)) + 46*24 + 8 /* &.pCurrent */))))(tls, *(*LPWSTR)(unsafe.Pointer(bp + 24 /* zTempWide */))) } } else { - *(*uintptr)(unsafe.Pointer(bp + 48 /* zTemp */)) = uintptr(0) + *(*uintptr)(unsafe.Pointer(bp + 32 /* zTemp */)) = uintptr(0) dwLen = (*(*func(*libc.TLS, DWORD, LPCVOID, DWORD, DWORD, LPSTR, DWORD, uintptr) DWORD)(unsafe.Pointer((uintptr(unsafe.Pointer(&aSyscall)) + 14*24 + 8 /* &.pCurrent */))))(tls, (uint32((FORMAT_MESSAGE_ALLOCATE_BUFFER | FORMAT_MESSAGE_FROM_SYSTEM) | FORMAT_MESSAGE_IGNORE_INSERTS)), uintptr(0), lastErrno, uint32(0), - bp+48, /* &zTemp */ + bp+32, /* &zTemp */ uint32(0), uintptr(0)) if dwLen > DWORD(0) { // allocate a buffer and convert to UTF8 Xsqlite3BeginBenignMalloc(tls) - zOut = winMbcsToUtf8(tls, *(*uintptr)(unsafe.Pointer(bp + 48 /* zTemp */)), (*(*func(*libc.TLS) WINBOOL)(unsafe.Pointer((uintptr(unsafe.Pointer(&aSyscall)) + 8 /* &.pCurrent */))))(tls)) + zOut = winMbcsToUtf8(tls, *(*uintptr)(unsafe.Pointer(bp + 32 /* zTemp */)), (*(*func(*libc.TLS) WINBOOL)(unsafe.Pointer((uintptr(unsafe.Pointer(&aSyscall)) + 8 /* &.pCurrent */))))(tls)) Xsqlite3EndBenignMalloc(tls) // free the system buffer allocated by FormatMessage - (*(*func(*libc.TLS, HLOCAL) HLOCAL)(unsafe.Pointer((uintptr(unsafe.Pointer(&aSyscall)) + 46*24 + 8 /* &.pCurrent */))))(tls, *(*uintptr)(unsafe.Pointer(bp + 48 /* zTemp */))) + (*(*func(*libc.TLS, HLOCAL) HLOCAL)(unsafe.Pointer((uintptr(unsafe.Pointer(&aSyscall)) + 46*24 + 8 /* &.pCurrent */))))(tls, *(*uintptr)(unsafe.Pointer(bp + 32 /* zTemp */))) } } if DWORD(0) == dwLen { Xsqlite3_snprintf(tls, nBuf, zBuf, ts+3633 /* "OsError 0x%lx (%..." */, libc.VaList(bp, lastErrno, lastErrno)) } else { // copy a maximum of nBuf chars to output buffer - Xsqlite3_snprintf(tls, nBuf, zBuf, ts+3630 /* "%s" */, libc.VaList(bp+24, zOut)) + Xsqlite3_snprintf(tls, nBuf, zBuf, ts+3630 /* "%s" */, libc.VaList(bp+16, zOut)) // free the UTF8 buffer Xsqlite3_free(tls, zOut) } @@ -69383,25 +69383,25 @@ func winGetLastErrorMsg(tls *libc.TLS, lastErrno DWORD, nBuf int32, zBuf uintptr // The two subsequent arguments should be the name of the OS function that // failed and the associated file-system path, if any. func winLogErrorAtLine(tls *libc.TLS, errcode int32, lastErrno DWORD, zFunc uintptr, zPath uintptr, iLine int32) int32 { /* sqlite3.c:44441:12: */ - bp := tls.Alloc(548) - defer tls.Free(548) + bp := tls.Alloc(540) + defer tls.Free(540) - // var zMsg [500]int8 at bp+48, 500 + // var zMsg [500]int8 at bp+40, 500 // Human readable error text var i int32 // Loop counter - *(*int8)(unsafe.Pointer(bp + 48 /* &zMsg[0] */)) = int8(0) - winGetLastErrorMsg(tls, lastErrno, int32(unsafe.Sizeof([500]int8{})), bp+48 /* &zMsg[0] */) + *(*int8)(unsafe.Pointer(bp + 40 /* &zMsg[0] */)) = int8(0) + winGetLastErrorMsg(tls, lastErrno, int32(unsafe.Sizeof([500]int8{})), bp+40 /* &zMsg[0] */) if zPath == uintptr(0) { zPath = ts + 755 /* "" */ } - for i = 0; ((*(*int8)(unsafe.Pointer(bp + 48 /* &zMsg[0] */ + uintptr(i))) != 0) && (int32(*(*int8)(unsafe.Pointer(bp + 48 /* &zMsg[0] */ + uintptr(i)))) != '\r')) && (int32(*(*int8)(unsafe.Pointer(bp + 48 /* &zMsg[0] */ + uintptr(i)))) != '\n'); i++ { + for i = 0; ((*(*int8)(unsafe.Pointer(bp + 40 /* &zMsg[0] */ + uintptr(i))) != 0) && (int32(*(*int8)(unsafe.Pointer(bp + 40 /* &zMsg[0] */ + uintptr(i)))) != '\r')) && (int32(*(*int8)(unsafe.Pointer(bp + 40 /* &zMsg[0] */ + uintptr(i)))) != '\n'); i++ { } - *(*int8)(unsafe.Pointer(bp + 48 /* &zMsg[0] */ + uintptr(i))) = int8(0) + *(*int8)(unsafe.Pointer(bp + 40 /* &zMsg[0] */ + uintptr(i))) = int8(0) Xsqlite3_log(tls, errcode, ts+3653, /* "os_win.c:%d: (%l..." */ - libc.VaList(bp, iLine, lastErrno, zFunc, zPath, bp+48 /* &zMsg[0] */)) + libc.VaList(bp, iLine, lastErrno, zFunc, zPath, bp+40 /* &zMsg[0] */)) return errcode } @@ -69452,8 +69452,8 @@ func winRetryIoerr(tls *libc.TLS, pnRetry uintptr, pError uintptr) int32 { /* sq // Log a I/O error retry episode. func winLogIoerr(tls *libc.TLS, nRetry int32, lineno int32) { /* sqlite3.c:44540:13: */ - bp := tls.Alloc(24) - defer tls.Free(24) + bp := tls.Alloc(16) + defer tls.Free(16) if nRetry != 0 { Xsqlite3_log(tls, SQLITE_NOTICE, @@ -70131,8 +70131,8 @@ func winModeBit(tls *libc.TLS, pFile uintptr, mask uint8, pArg uintptr) { /* sql // Control and query of the open file handle. func winFileControl(tls *libc.TLS, id uintptr, op int32, pArg uintptr) int32 { /* sqlite3.c:45874:12: */ - bp := tls.Alloc(32) - defer tls.Free(32) + bp := tls.Alloc(24) + defer tls.Free(24) var pFile uintptr = id @@ -70161,12 +70161,12 @@ func winFileControl(tls *libc.TLS, id uintptr, op int32, pArg uintptr) int32 { / case SQLITE_FCNTL_SIZE_HINT: { if (*WinFile)(unsafe.Pointer(pFile)).FszChunk > 0 { - // var oldSz Sqlite3_int64 at bp+16, 8 + // var oldSz Sqlite3_int64 at bp+8, 8 - var rc int32 = winFileSize(tls, id, bp+16 /* &oldSz */) + var rc int32 = winFileSize(tls, id, bp+8 /* &oldSz */) if rc == SQLITE_OK { var newSz Sqlite3_int64 = *(*Sqlite3_int64)(unsafe.Pointer(pArg)) - if newSz > *(*Sqlite3_int64)(unsafe.Pointer(bp + 16 /* oldSz */)) { + if newSz > *(*Sqlite3_int64)(unsafe.Pointer(bp + 8 /* oldSz */)) { rc = winTruncate(tls, id, newSz) @@ -70227,10 +70227,10 @@ func winFileControl(tls *libc.TLS, id uintptr, op int32, pArg uintptr) int32 { / } case SQLITE_FCNTL_TEMPFILENAME: { - *(*uintptr)(unsafe.Pointer(bp + 24 /* zTFile */)) = uintptr(0) - var rc int32 = winGetTempname(tls, (*WinFile)(unsafe.Pointer(pFile)).FpVfs, bp+24 /* &zTFile */) + *(*uintptr)(unsafe.Pointer(bp + 16 /* zTFile */)) = uintptr(0) + var rc int32 = winGetTempname(tls, (*WinFile)(unsafe.Pointer(pFile)).FpVfs, bp+16 /* &zTFile */) if rc == SQLITE_OK { - *(*uintptr)(unsafe.Pointer(pArg)) = *(*uintptr)(unsafe.Pointer(bp + 24 /* zTFile */)) + *(*uintptr)(unsafe.Pointer(pArg)) = *(*uintptr)(unsafe.Pointer(bp + 16 /* zTFile */)) } return rc @@ -70459,8 +70459,8 @@ func winLockSharedMemory(tls *libc.TLS, pShmNode uintptr) int32 { /* sqlite3.c:4 // file are currently open, in this process or in other processes, then // the file must be truncated to zero length or have its header cleared. func winOpenSharedMemory(tls *libc.TLS, pDbFd uintptr) int32 { /* sqlite3.c:46277:12: */ - bp := tls.Alloc(20) - defer tls.Free(20) + bp := tls.Alloc(12) + defer tls.Free(12) var p uintptr // The connection to be opened var pShmNode uintptr // The underlying mmapped file @@ -70468,7 +70468,7 @@ func winOpenSharedMemory(tls *libc.TLS, pDbFd uintptr) int32 { /* sqlite3.c:4627 var pNew uintptr // Newly allocated winShmNode var nName int32 var inFlags int32 - // var outFlags int32 at bp+16, 4 + // var outFlags int32 at bp+8, 4 pShmNode = uintptr(0) rc = SQLITE_OK // Size of zName in bytes @@ -70525,7 +70525,7 @@ __5: goto __8 __7: inFlags = SQLITE_OPEN_WAL - *(*int32)(unsafe.Pointer(bp + 16 /* outFlags */)) = 0 + *(*int32)(unsafe.Pointer(bp + 8 /* outFlags */)) = 0 pShmNode = pNew pNew = uintptr(0) @@ -70558,7 +70558,7 @@ __12: ; rc = winOpen(tls, (*WinFile)(unsafe.Pointer(pDbFd)).FpVfs, (*WinShmNode)(unsafe.Pointer(pShmNode)).FzFilename, (pShmNode + 16 /* &.hFile */), - inFlags, bp+16 /* &outFlags */) + inFlags, bp+8 /* &outFlags */) if !(rc != SQLITE_OK) { goto __13 } @@ -70566,7 +70566,7 @@ __12: goto shm_open_err __13: ; - if !(*(*int32)(unsafe.Pointer(bp + 16 /* outFlags */)) == SQLITE_OPEN_READONLY) { + if !(*(*int32)(unsafe.Pointer(bp + 8 /* outFlags */)) == SQLITE_OPEN_READONLY) { goto __14 } (*WinShmNode)(unsafe.Pointer(pShmNode)).FisReadonly = U8(1) @@ -71223,8 +71223,8 @@ func winMakeEndInDirSep(tls *libc.TLS, nBuf int32, zBuf uintptr) int32 { /* sqli // Create a temporary file name and store the resulting pointer into pzBuf. // The pointer returned in pzBuf must be freed via sqlite3_free(). func winGetTempname(tls *libc.TLS, pVfs uintptr, pzBuf uintptr) int32 { /* sqlite3.c:47083:12: */ - bp := tls.Alloc(48) - defer tls.Free(48) + bp := tls.Alloc(24) + defer tls.Free(24) var i Size_t var j Size_t @@ -71283,7 +71283,7 @@ func winGetTempname(tls *libc.TLS, pVfs uintptr, pzBuf uintptr) int32 { /* sqlit } zMulti = winUnicodeToUtf8(tls, zWidePath) if zMulti != 0 { - Xsqlite3_snprintf(tls, nMax, zBuf, ts+3630 /* "%s" */, libc.VaList(bp+16, zMulti)) + Xsqlite3_snprintf(tls, nMax, zBuf, ts+3630 /* "%s" */, libc.VaList(bp+8, zMulti)) Xsqlite3_free(tls, zMulti) Xsqlite3_free(tls, zWidePath) } else { @@ -71307,7 +71307,7 @@ func winGetTempname(tls *libc.TLS, pVfs uintptr, pzBuf uintptr) int32 { /* sqlit } zUtf8 = winMbcsToUtf8(tls, zMbcsPath, (*(*func(*libc.TLS) WINBOOL)(unsafe.Pointer((uintptr(unsafe.Pointer(&aSyscall)) + 8 /* &.pCurrent */))))(tls)) if zUtf8 != 0 { - Xsqlite3_snprintf(tls, nMax, zBuf, ts+3630 /* "%s" */, libc.VaList(bp+32, zUtf8)) + Xsqlite3_snprintf(tls, nMax, zBuf, ts+3630 /* "%s" */, libc.VaList(bp+16, zUtf8)) Xsqlite3_free(tls, zUtf8) } else { Xsqlite3_free(tls, zBuf) @@ -71814,8 +71814,8 @@ func winIsVerbatimPathname(tls *libc.TLS, zPathname uintptr) WINBOOL { /* sqlite // pathname into zOut[]. zOut[] will be at least pVfs->mxPathname // bytes in size. func winFullPathname(tls *libc.TLS, pVfs uintptr, zRelative uintptr, nFull int32, zFull uintptr) int32 { /* sqlite3.c:47917:12: */ - bp := tls.Alloc(48) - defer tls.Free(48) + bp := tls.Alloc(32) + defer tls.Free(32) var nByte DWORD var zConverted uintptr @@ -71902,7 +71902,7 @@ func winFullPathname(tls *libc.TLS, pVfs uintptr, zRelative uintptr, nFull int32 return nFull } return (*Sqlite3_vfs)(unsafe.Pointer(pVfs)).FmxPathname - }(), zFull, ts+3630 /* "%s" */, libc.VaList(bp+32, zOut)) + }(), zFull, ts+3630 /* "%s" */, libc.VaList(bp+24, zOut)) Xsqlite3_free(tls, zOut) return SQLITE_OK } else { @@ -72528,8 +72528,8 @@ func memdbLock(tls *libc.TLS, pFile uintptr, eLock int32) int32 { /* sqlite3.c:4 // File control method. For custom operations on an memdb-file. func memdbFileControl(tls *libc.TLS, pFile uintptr, op int32, pArg uintptr) int32 { /* sqlite3.c:48940:12: */ - bp := tls.Alloc(24) - defer tls.Free(24) + bp := tls.Alloc(16) + defer tls.Free(16) var p uintptr = (*MemFile)(unsafe.Pointer(pFile)).FpStore var rc int32 = SQLITE_NOTFOUND @@ -72674,8 +72674,8 @@ func memdbAccess(tls *libc.TLS, pVfs uintptr, zPath uintptr, flags int32, pResOu // to the pathname in zPath. zOut is guaranteed to point to a buffer // of at least (INST_MAX_PATHNAME+1) bytes. func memdbFullPathname(tls *libc.TLS, pVfs uintptr, zPath uintptr, nOut int32, zOut uintptr) int32 { /* sqlite3.c:49133:12: */ - bp := tls.Alloc(16) - defer tls.Free(16) + bp := tls.Alloc(8) + defer tls.Free(8) _ = pVfs Xsqlite3_snprintf(tls, nOut, zOut, ts+3630 /* "%s" */, libc.VaList(bp, zPath)) @@ -72750,15 +72750,15 @@ func memdbFromDbSchema(tls *libc.TLS, db uintptr, zSchema uintptr) uintptr { /* // Return the serialization of a database func Xsqlite3_serialize(tls *libc.TLS, db uintptr, zSchema uintptr, piSize uintptr, mFlags uint32) uintptr { /* sqlite3.c:49226:26: */ - bp := tls.Alloc(32) - defer tls.Free(32) + bp := tls.Alloc(24) + defer tls.Free(24) var p uintptr var iDb int32 var pBt uintptr var sz Sqlite3_int64 var szPage int32 = 0 - *(*uintptr)(unsafe.Pointer(bp + 16 /* pStmt */)) = uintptr(0) + *(*uintptr)(unsafe.Pointer(bp + 8 /* pStmt */)) = uintptr(0) var pOut uintptr var zSql uintptr var rc int32 @@ -72797,7 +72797,7 @@ func Xsqlite3_serialize(tls *libc.TLS, db uintptr, zSchema uintptr, piSize uintp szPage = Xsqlite3BtreeGetPageSize(tls, pBt) zSql = Xsqlite3_mprintf(tls, ts+4345 /* "PRAGMA \"%w\".page..." */, libc.VaList(bp, zSchema)) if zSql != 0 { - rc = Xsqlite3_prepare_v2(tls, db, zSql, -1, bp+16 /* &pStmt */, uintptr(0)) + rc = Xsqlite3_prepare_v2(tls, db, zSql, -1, bp+8 /* &pStmt */, uintptr(0)) } else { rc = SQLITE_NOMEM } @@ -72805,11 +72805,11 @@ func Xsqlite3_serialize(tls *libc.TLS, db uintptr, zSchema uintptr, piSize uintp if rc != 0 { return uintptr(0) } - rc = Xsqlite3_step(tls, *(*uintptr)(unsafe.Pointer(bp + 16 /* pStmt */))) + rc = Xsqlite3_step(tls, *(*uintptr)(unsafe.Pointer(bp + 8 /* pStmt */))) if rc != SQLITE_ROW { pOut = uintptr(0) } else { - sz = (Xsqlite3_column_int64(tls, *(*uintptr)(unsafe.Pointer(bp + 16 /* pStmt */)), 0) * Sqlite_int64(szPage)) + sz = (Xsqlite3_column_int64(tls, *(*uintptr)(unsafe.Pointer(bp + 8 /* pStmt */)), 0) * Sqlite_int64(szPage)) if piSize != 0 { *(*Sqlite3_int64)(unsafe.Pointer(piSize)) = sz } @@ -72818,40 +72818,40 @@ func Xsqlite3_serialize(tls *libc.TLS, db uintptr, zSchema uintptr, piSize uintp } else { pOut = Xsqlite3_malloc64(tls, uint64(sz)) if pOut != 0 { - var nPage int32 = Xsqlite3_column_int(tls, *(*uintptr)(unsafe.Pointer(bp + 16 /* pStmt */)), 0) + var nPage int32 = Xsqlite3_column_int(tls, *(*uintptr)(unsafe.Pointer(bp + 8 /* pStmt */)), 0) var pPager uintptr = Xsqlite3BtreePager(tls, pBt) var pgno int32 for pgno = 1; pgno <= nPage; pgno++ { - *(*uintptr)(unsafe.Pointer(bp + 24 /* pPage */)) = uintptr(0) + *(*uintptr)(unsafe.Pointer(bp + 16 /* pPage */)) = uintptr(0) var pTo uintptr = (pOut + uintptr((Sqlite3_int64(szPage) * (Sqlite3_int64(pgno - 1))))) - rc = Xsqlite3PagerGet(tls, pPager, uint32(pgno), bp+24 /* &pPage */, 0) + rc = Xsqlite3PagerGet(tls, pPager, uint32(pgno), bp+16 /* &pPage */, 0) if rc == SQLITE_OK { - libc.Xmemcpy(tls, pTo, Xsqlite3PagerGetData(tls, *(*uintptr)(unsafe.Pointer(bp + 24 /* pPage */))), uint64(szPage)) + libc.Xmemcpy(tls, pTo, Xsqlite3PagerGetData(tls, *(*uintptr)(unsafe.Pointer(bp + 16 /* pPage */))), uint64(szPage)) } else { libc.Xmemset(tls, pTo, 0, uint64(szPage)) } - Xsqlite3PagerUnref(tls, *(*uintptr)(unsafe.Pointer(bp + 24 /* pPage */))) + Xsqlite3PagerUnref(tls, *(*uintptr)(unsafe.Pointer(bp + 16 /* pPage */))) } } } } - Xsqlite3_finalize(tls, *(*uintptr)(unsafe.Pointer(bp + 16 /* pStmt */))) + Xsqlite3_finalize(tls, *(*uintptr)(unsafe.Pointer(bp + 8 /* pStmt */))) return pOut } // Convert zSchema to a MemDB and initialize its content. func Xsqlite3_deserialize(tls *libc.TLS, db uintptr, zSchema uintptr, pData uintptr, szDb Sqlite3_int64, szBuf Sqlite3_int64, mFlags uint32) int32 { /* sqlite3.c:49307:16: */ - bp := tls.Alloc(24) - defer tls.Free(24) + bp := tls.Alloc(16) + defer tls.Free(16) var p uintptr var zSql uintptr - // var pStmt uintptr at bp+16, 8 + // var pStmt uintptr at bp+8, 8 var rc int32 var iDb int32 var pStore uintptr - *(*uintptr)(unsafe.Pointer(bp + 16 /* pStmt */)) = uintptr(0) + *(*uintptr)(unsafe.Pointer(bp + 8 /* pStmt */)) = uintptr(0) Xsqlite3_mutex_enter(tls, (*Sqlite3)(unsafe.Pointer(db)).Fmutex) if !(zSchema == uintptr(0)) { @@ -72875,7 +72875,7 @@ __2: rc = SQLITE_NOMEM goto __4 __3: - rc = Xsqlite3_prepare_v2(tls, db, zSql, -1, bp+16 /* &pStmt */, uintptr(0)) + rc = Xsqlite3_prepare_v2(tls, db, zSql, -1, bp+8 /* &pStmt */, uintptr(0)) Xsqlite3_free(tls, zSql) __4: ; @@ -72887,7 +72887,7 @@ __5: ; (*Sqlite3)(unsafe.Pointer(db)).Finit.FiDb = U8(iDb) libc.SetBitFieldPtr8Uint32(db+184 /* &.init */ +8 /* &.reopenMemdb */, uint32(1), 2, 0x4) - rc = Xsqlite3_step(tls, *(*uintptr)(unsafe.Pointer(bp + 16 /* pStmt */))) + rc = Xsqlite3_step(tls, *(*uintptr)(unsafe.Pointer(bp + 8 /* pStmt */))) libc.SetBitFieldPtr8Uint32(db+184 /* &.init */ +8 /* &.reopenMemdb */, uint32(0), 2, 0x4) if !(rc != SQLITE_DONE) { goto __6 @@ -72921,7 +72921,7 @@ __8: ; end_deserialize: - Xsqlite3_finalize(tls, *(*uintptr)(unsafe.Pointer(bp + 16 /* pStmt */))) + Xsqlite3_finalize(tls, *(*uintptr)(unsafe.Pointer(bp + 8 /* pStmt */))) if !((pData != 0) && ((mFlags & uint32(SQLITE_DESERIALIZE_FREEONCLOSE)) != uint32(0))) { goto __10 } @@ -75062,8 +75062,8 @@ func pcache1Destroy(tls *libc.TLS, p uintptr) { /* sqlite3.c:51864:13: */ // install the default pluggable cache module, assuming the user has not // already provided an alternative. func Xsqlite3PCacheSetDefault(tls *libc.TLS) { /* sqlite3.c:51887:21: */ - bp := tls.Alloc(16) - defer tls.Free(16) + bp := tls.Alloc(8) + defer tls.Free(8) Xsqlite3_config(tls, SQLITE_CONFIG_PCACHE2, libc.VaList(bp, uintptr(unsafe.Pointer(&defaultMethods1)))) } @@ -78084,35 +78084,35 @@ func setSectorSize(tls *libc.TLS, pPager uintptr) { /* sqlite3.c:55315:13: */ // back any content. If the journal is merely persistent, no reset is // needed. func pager_playback(tls *libc.TLS, pPager uintptr, isHot int32) int32 { /* sqlite3.c:55388:12: */ - bp := tls.Alloc(48) - defer tls.Free(48) + bp := tls.Alloc(40) + defer tls.Free(40) var pVfs uintptr - // var szJ I64 at bp+24, 8 + // var szJ I64 at bp+16, 8 // Size of the journal file in bytes - // var nRec U32 at bp+36, 4 + // var nRec U32 at bp+28, 4 // Number of Records in the journal var u U32 // Unsigned loop counter - // var mxPg Pgno at bp+40, 4 + // var mxPg Pgno at bp+32, 4 // Size of the original file in pages var rc int32 // Result code of a subroutine - // var res int32 at bp+32, 4 + // var res int32 at bp+24, 4 // Value returned by sqlite3OsAccess() var zSuper uintptr // Name of super-journal file if any var needPagerReset int32 // True to reset page prior to first page rollback var nPlayback int32 // Total number of pages restored from journal - // var savedPageSize U32 at bp+44, 4 + // var savedPageSize U32 at bp+36, 4 pVfs = (*Pager)(unsafe.Pointer(pPager)).FpVfs - *(*Pgno)(unsafe.Pointer(bp + 40 /* mxPg */)) = Pgno(0) - *(*int32)(unsafe.Pointer(bp + 32 /* res */)) = 1 + *(*Pgno)(unsafe.Pointer(bp + 32 /* mxPg */)) = Pgno(0) + *(*int32)(unsafe.Pointer(bp + 24 /* res */)) = 1 zSuper = uintptr(0) nPlayback = 0 - *(*U32)(unsafe.Pointer(bp + 44 /* savedPageSize */)) = U32((*Pager)(unsafe.Pointer(pPager)).FpageSize) + *(*U32)(unsafe.Pointer(bp + 36 /* savedPageSize */)) = U32((*Pager)(unsafe.Pointer(pPager)).FpageSize) // Figure out how many records are in the journal. Abort early if // the journal is empty. - rc = Xsqlite3OsFileSize(tls, (*Pager)(unsafe.Pointer(pPager)).Fjfd, bp+24 /* &szJ */) + rc = Xsqlite3OsFileSize(tls, (*Pager)(unsafe.Pointer(pPager)).Fjfd, bp+16 /* &szJ */) if !(rc != SQLITE_OK) { goto __1 } @@ -78135,11 +78135,11 @@ __1: if !((rc == SQLITE_OK) && (*(*int8)(unsafe.Pointer(zSuper)) != 0)) { goto __2 } - rc = Xsqlite3OsAccess(tls, pVfs, zSuper, SQLITE_ACCESS_EXISTS, bp+32 /* &res */) + rc = Xsqlite3OsAccess(tls, pVfs, zSuper, SQLITE_ACCESS_EXISTS, bp+24 /* &res */) __2: ; zSuper = uintptr(0) - if !((rc != SQLITE_OK) || !(*(*int32)(unsafe.Pointer(bp + 32 /* res */)) != 0)) { + if !((rc != SQLITE_OK) || !(*(*int32)(unsafe.Pointer(bp + 24 /* res */)) != 0)) { goto __3 } goto end_playback @@ -78159,7 +78159,7 @@ __4: // not enough bytes left in the journal file for a complete header, or // it is corrupted, then a process must have failed while writing it. // This indicates nothing more needs to be rolled back. - rc = readJournalHdr(tls, pPager, isHot, *(*I64)(unsafe.Pointer(bp + 24 /* szJ */)), bp+36 /* &nRec */, bp+40 /* &mxPg */) + rc = readJournalHdr(tls, pPager, isHot, *(*I64)(unsafe.Pointer(bp + 16 /* szJ */)), bp+28 /* &nRec */, bp+32 /* &mxPg */) if !(rc != SQLITE_OK) { goto __6 } @@ -78177,11 +78177,11 @@ __6: // working in no-sync mode. This means that the rest of the journal // file consists of pages, there are no more journal headers. Compute // the value of nRec based on this assumption. - if !(*(*U32)(unsafe.Pointer(bp + 36 /* nRec */)) == 0xffffffff) { + if !(*(*U32)(unsafe.Pointer(bp + 28 /* nRec */)) == 0xffffffff) { goto __8 } - *(*U32)(unsafe.Pointer(bp + 36 /* nRec */)) = U32((int32((*(*I64)(unsafe.Pointer(bp + 24 /* szJ */)) - (I64((*Pager)(unsafe.Pointer(pPager)).FsectorSize))) / (I64(((*Pager)(unsafe.Pointer(pPager)).FpageSize) + 8))))) + *(*U32)(unsafe.Pointer(bp + 28 /* nRec */)) = U32((int32((*(*I64)(unsafe.Pointer(bp + 16 /* szJ */)) - (I64((*Pager)(unsafe.Pointer(pPager)).FsectorSize))) / (I64(((*Pager)(unsafe.Pointer(pPager)).FpageSize) + 8))))) __8: ; @@ -78198,10 +78198,10 @@ __8: // the journal, it means that the journal might contain additional // pages that need to be rolled back and that the number of pages // should be computed based on the journal file size. - if !(((*(*U32)(unsafe.Pointer(bp + 36 /* nRec */)) == U32(0)) && !(isHot != 0)) && (((*Pager)(unsafe.Pointer(pPager)).FjournalHdr + (I64((*Pager)(unsafe.Pointer(pPager)).FsectorSize))) == (*Pager)(unsafe.Pointer(pPager)).FjournalOff)) { + if !(((*(*U32)(unsafe.Pointer(bp + 28 /* nRec */)) == U32(0)) && !(isHot != 0)) && (((*Pager)(unsafe.Pointer(pPager)).FjournalHdr + (I64((*Pager)(unsafe.Pointer(pPager)).FsectorSize))) == (*Pager)(unsafe.Pointer(pPager)).FjournalOff)) { goto __9 } - *(*U32)(unsafe.Pointer(bp + 36 /* nRec */)) = U32((int32((*(*I64)(unsafe.Pointer(bp + 24 /* szJ */)) - (*Pager)(unsafe.Pointer(pPager)).FjournalOff) / (I64(((*Pager)(unsafe.Pointer(pPager)).FpageSize) + 8))))) + *(*U32)(unsafe.Pointer(bp + 28 /* nRec */)) = U32((int32((*(*I64)(unsafe.Pointer(bp + 16 /* szJ */)) - (*Pager)(unsafe.Pointer(pPager)).FjournalOff) / (I64(((*Pager)(unsafe.Pointer(pPager)).FpageSize) + 8))))) __9: ; @@ -78210,14 +78210,14 @@ __9: if !((*Pager)(unsafe.Pointer(pPager)).FjournalOff == (I64((*Pager)(unsafe.Pointer(pPager)).FsectorSize))) { goto __10 } - rc = pager_truncate(tls, pPager, *(*Pgno)(unsafe.Pointer(bp + 40 /* mxPg */))) + rc = pager_truncate(tls, pPager, *(*Pgno)(unsafe.Pointer(bp + 32 /* mxPg */))) if !(rc != SQLITE_OK) { goto __11 } goto end_playback __11: ; - (*Pager)(unsafe.Pointer(pPager)).FdbSize = *(*Pgno)(unsafe.Pointer(bp + 40 /* mxPg */)) + (*Pager)(unsafe.Pointer(pPager)).FdbSize = *(*Pgno)(unsafe.Pointer(bp + 32 /* mxPg */)) __10: ; @@ -78225,7 +78225,7 @@ __10: // database file and/or page cache. u = U32(0) __12: - if !(u < *(*U32)(unsafe.Pointer(bp + 36 /* nRec */))) { + if !(u < *(*U32)(unsafe.Pointer(bp + 28 /* nRec */))) { goto __14 } if !(needPagerReset != 0) { @@ -78245,7 +78245,7 @@ __16: if !(rc == SQLITE_DONE) { goto __18 } - (*Pager)(unsafe.Pointer(pPager)).FjournalOff = *(*I64)(unsafe.Pointer(bp + 24 /* szJ */)) + (*Pager)(unsafe.Pointer(pPager)).FjournalOff = *(*I64)(unsafe.Pointer(bp + 16 /* szJ */)) goto __14 goto __19 __18: @@ -78288,7 +78288,7 @@ end_playback: if !(rc == SQLITE_OK) { goto __22 } - rc = Xsqlite3PagerSetPagesize(tls, pPager, bp+44 /* &savedPageSize */, -1) + rc = Xsqlite3PagerSetPagesize(tls, pPager, bp+36 /* &savedPageSize */, -1) __22: ; // Following a rollback, the database file should be back in its original @@ -78332,7 +78332,7 @@ __24: __25: ; - if !(((rc == SQLITE_OK) && (*(*int8)(unsafe.Pointer(zSuper)) != 0)) && (*(*int32)(unsafe.Pointer(bp + 32 /* res */)) != 0)) { + if !(((rc == SQLITE_OK) && (*(*int8)(unsafe.Pointer(zSuper)) != 0)) && (*(*int32)(unsafe.Pointer(bp + 24 /* res */)) != 0)) { goto __26 } // If there was a super-journal and this routine will return success, @@ -83768,28 +83768,28 @@ func walIndexAppend(tls *libc.TLS, pWal uintptr, iFrame U32, iPage U32) int32 { // that this thread is running recovery. If unable to establish // the necessary locks, this routine returns SQLITE_BUSY. func walIndexRecover(tls *libc.TLS, pWal uintptr) int32 { /* sqlite3.c:61503:12: */ - bp := tls.Alloc(88) - defer tls.Free(88) + bp := tls.Alloc(80) + defer tls.Free(80) var rc int32 // Return Code - // var nSize I64 at bp+24, 8 + // var nSize I64 at bp+16, 8 // Size of log file - // var aFrameCksum [2]U32 at bp+80, 8 + // var aFrameCksum [2]U32 at bp+72, 8 var iLock int32 var iOffset I64 - // var pgno U32 at bp+72, 4 + // var pgno U32 at bp+64, 4 // Database page number for frame - // var nTruncate U32 at bp+76, 4 + // var nTruncate U32 at bp+68, 4 - // var aShare uintptr at bp+64, 8 + // var aShare uintptr at bp+56, 8 var iFrame U32 // Index of last frame read var iLast U32 var iFirst U32 var nHdr U32 var nHdr32 U32 - // var aBuf [32]U8 at bp+32, 32 + // var aBuf [32]U8 at bp+24, 32 // Buffer to load WAL header into var aPrivate uintptr // Heap copy of *-shm hash being populated var aFrame uintptr // Malloc'd buffer to load entire frame @@ -83803,7 +83803,7 @@ func walIndexRecover(tls *libc.TLS, pWal uintptr) int32 { /* sqlite3.c:61503:12: var iLastFrame U32 var pInfo uintptr var i int32 - *(*[2]U32)(unsafe.Pointer(bp + 80 /* aFrameCksum */)) = [2]U32{U32(0), U32(0)} // Lock offset to lock for checkpoint + *(*[2]U32)(unsafe.Pointer(bp + 72 /* aFrameCksum */)) = [2]U32{U32(0), U32(0)} // Lock offset to lock for checkpoint // Obtain an exclusive lock on all byte in the locking range not already // locked by the caller. The caller is guaranteed to have locked the @@ -83822,7 +83822,7 @@ __1: libc.Xmemset(tls, (pWal + 72 /* &.hdr */), 0, uint64(unsafe.Sizeof(WalIndexHdr{}))) - rc = Xsqlite3OsFileSize(tls, (*Wal)(unsafe.Pointer(pWal)).FpWalFd, bp+24 /* &nSize */) + rc = Xsqlite3OsFileSize(tls, (*Wal)(unsafe.Pointer(pWal)).FpWalFd, bp+16 /* &nSize */) if !(rc != SQLITE_OK) { goto __2 } @@ -83830,14 +83830,14 @@ __1: __2: ; - if !(*(*I64)(unsafe.Pointer(bp + 24 /* nSize */)) > int64(WAL_HDRSIZE)) { + if !(*(*I64)(unsafe.Pointer(bp + 16 /* nSize */)) > int64(WAL_HDRSIZE)) { goto __3 } // Buffer to load WAL header into aPrivate = uintptr(0) // Heap copy of *-shm hash being populated aFrame = uintptr(0) // Last frame in wal, based on nSize alone // Read in the WAL header. - rc = Xsqlite3OsRead(tls, (*Wal)(unsafe.Pointer(pWal)).FpWalFd, bp+32 /* &aBuf[0] */, WAL_HDRSIZE, int64(0)) + rc = Xsqlite3OsRead(tls, (*Wal)(unsafe.Pointer(pWal)).FpWalFd, bp+24 /* &aBuf[0] */, WAL_HDRSIZE, int64(0)) if !(rc != SQLITE_OK) { goto __4 } @@ -83849,8 +83849,8 @@ __4: // SQLITE_MAX_PAGE_SIZE, conclude that the WAL file contains no valid // data. Similarly, if the 'magic' value is invalid, ignore the whole // WAL file. - magic = Xsqlite3Get4byte(tls, (bp + 32 /* &aBuf */)) - szPage = int32(Xsqlite3Get4byte(tls, (bp + 32 /* &aBuf */ + 8))) + magic = Xsqlite3Get4byte(tls, (bp + 24 /* &aBuf */)) + szPage = int32(Xsqlite3Get4byte(tls, (bp + 24 /* &aBuf */ + 8))) if !(((((magic & 0xFFFFFFFE) != U32(WAL_MAGIC)) || ((szPage & (szPage - 1)) != 0)) || (szPage > SQLITE_MAX_PAGE_SIZE)) || @@ -83862,14 +83862,14 @@ __5: ; (*Wal)(unsafe.Pointer(pWal)).Fhdr.FbigEndCksum = (U8(magic & U32(0x00000001))) (*Wal)(unsafe.Pointer(pWal)).FszPage = U32(szPage) - (*Wal)(unsafe.Pointer(pWal)).FnCkpt = Xsqlite3Get4byte(tls, (bp + 32 /* &aBuf */ + 12)) - libc.Xmemcpy(tls, (pWal + 72 /* &.hdr */ + 32 /* &.aSalt */), (bp + 32 /* &aBuf */ + 16), uint64(8)) + (*Wal)(unsafe.Pointer(pWal)).FnCkpt = Xsqlite3Get4byte(tls, (bp + 24 /* &aBuf */ + 12)) + libc.Xmemcpy(tls, (pWal + 72 /* &.hdr */ + 32 /* &.aSalt */), (bp + 24 /* &aBuf */ + 16), uint64(8)) // Verify that the WAL header checksum is correct walChecksumBytes(tls, (libc.Bool32(int32((*Wal)(unsafe.Pointer(pWal)).Fhdr.FbigEndCksum) == SQLITE_BIGENDIAN)), - bp+32 /* &aBuf[0] */, (WAL_HDRSIZE - (2 * 4)), uintptr(0), pWal+72 /* &.hdr */ +24 /* &.aFrameCksum */) - if !((*(*U32)(unsafe.Pointer((pWal + 72 /* &.hdr */ + 24 /* &.aFrameCksum */))) != Xsqlite3Get4byte(tls, (bp+32 /* &aBuf */ +24))) || - (*(*U32)(unsafe.Pointer((pWal + 72 /* &.hdr */ + 24 /* &.aFrameCksum */) + 1*4)) != Xsqlite3Get4byte(tls, (bp+32 /* &aBuf */ +28)))) { + bp+24 /* &aBuf[0] */, (WAL_HDRSIZE - (2 * 4)), uintptr(0), pWal+72 /* &.hdr */ +24 /* &.aFrameCksum */) + if !((*(*U32)(unsafe.Pointer((pWal + 72 /* &.hdr */ + 24 /* &.aFrameCksum */))) != Xsqlite3Get4byte(tls, (bp+24 /* &aBuf */ +24))) || + (*(*U32)(unsafe.Pointer((pWal + 72 /* &.hdr */ + 24 /* &.aFrameCksum */) + 1*4)) != Xsqlite3Get4byte(tls, (bp+24 /* &aBuf */ +28)))) { goto __6 } goto finished @@ -83878,7 +83878,7 @@ __6: // Verify that the version number on the WAL format is one that // are able to understand - version = Xsqlite3Get4byte(tls, (bp + 32 /* &aBuf */ + 4)) + version = Xsqlite3Get4byte(tls, (bp + 24 /* &aBuf */ + 4)) if !(version != U32(WAL_MAX_VERSION)) { goto __7 } @@ -83901,7 +83901,7 @@ __8: aPrivate = (aData + uintptr(szPage)) // Read all frames from the log file. - iLastFrame = (U32((*(*I64)(unsafe.Pointer(bp + 24 /* nSize */)) - int64(WAL_HDRSIZE)) / I64(szFrame))) + iLastFrame = (U32((*(*I64)(unsafe.Pointer(bp + 16 /* nSize */)) - int64(WAL_HDRSIZE)) / I64(szFrame))) iPg = U32(0) __9: if !(iPg <= U32(walFramePage(tls, iLastFrame))) { @@ -83919,7 +83919,7 @@ __9: } return ((uint64(HASHTABLE_NPAGE) - (((uint64(unsafe.Sizeof(WalIndexHdr{})) * uint64(2)) + uint64(unsafe.Sizeof(WalCkptInfo{}))) / uint64(unsafe.Sizeof(U32(0))))) + (uint64((iPg - U32(1)) * U32(HASHTABLE_NPAGE)))) }()))) - rc = walIndexPage(tls, pWal, int32(iPg), bp+64 /* &aShare */) + rc = walIndexPage(tls, pWal, int32(iPg), bp+56 /* &aShare */) if !(rc != 0) { goto __12 } @@ -83943,14 +83943,14 @@ __13: goto __15 __16: ; - isValid = walDecodeFrame(tls, pWal, bp+72 /* &pgno */, bp+76 /* &nTruncate */, aData, aFrame) + isValid = walDecodeFrame(tls, pWal, bp+64 /* &pgno */, bp+68 /* &nTruncate */, aData, aFrame) if !(!(isValid != 0)) { goto __17 } goto __15 __17: ; - rc = walIndexAppend(tls, pWal, iFrame, *(*U32)(unsafe.Pointer(bp + 72 /* pgno */))) + rc = walIndexAppend(tls, pWal, iFrame, *(*U32)(unsafe.Pointer(bp + 64 /* pgno */))) if !(rc != SQLITE_OK) { goto __18 } @@ -83959,15 +83959,15 @@ __18: ; // If nTruncate is non-zero, this is a commit record. - if !(*(*U32)(unsafe.Pointer(bp + 76 /* nTruncate */)) != 0) { + if !(*(*U32)(unsafe.Pointer(bp + 68 /* nTruncate */)) != 0) { goto __19 } (*Wal)(unsafe.Pointer(pWal)).Fhdr.FmxFrame = iFrame - (*Wal)(unsafe.Pointer(pWal)).Fhdr.FnPage = *(*U32)(unsafe.Pointer(bp + 76 /* nTruncate */)) + (*Wal)(unsafe.Pointer(pWal)).Fhdr.FnPage = *(*U32)(unsafe.Pointer(bp + 68 /* nTruncate */)) (*Wal)(unsafe.Pointer(pWal)).Fhdr.FszPage = (U16((szPage & 0xff00) | (szPage >> 16))) - *(*U32)(unsafe.Pointer(bp + 80 /* &aFrameCksum[0] */)) = *(*U32)(unsafe.Pointer((pWal + 72 /* &.hdr */ + 24 /* &.aFrameCksum */))) - *(*U32)(unsafe.Pointer(bp + 80 /* &aFrameCksum[0] */ + 1*4)) = *(*U32)(unsafe.Pointer((pWal + 72 /* &.hdr */ + 24 /* &.aFrameCksum */) + 1*4)) + *(*U32)(unsafe.Pointer(bp + 72 /* &aFrameCksum[0] */)) = *(*U32)(unsafe.Pointer((pWal + 72 /* &.hdr */ + 24 /* &.aFrameCksum */))) + *(*U32)(unsafe.Pointer(bp + 72 /* &aFrameCksum[0] */ + 1*4)) = *(*U32)(unsafe.Pointer((pWal + 72 /* &.hdr */ + 24 /* &.aFrameCksum */) + 1*4)) __19: ; goto __14 @@ -83977,7 +83977,7 @@ __14: goto __15 __15: ; - *(*uintptr)(unsafe.Pointer((*Wal)(unsafe.Pointer(pWal)).FapWiData + uintptr(iPg)*8)) = *(*uintptr)(unsafe.Pointer(bp + 64 /* aShare */)) + *(*uintptr)(unsafe.Pointer((*Wal)(unsafe.Pointer(pWal)).FapWiData + uintptr(iPg)*8)) = *(*uintptr)(unsafe.Pointer(bp + 56 /* aShare */)) nHdr = func() uint32 { if iPg == U32(0) { return (uint32((uint64(unsafe.Sizeof(WalIndexHdr{})) * uint64(2)) + uint64(unsafe.Sizeof(WalCkptInfo{})))) @@ -83992,7 +83992,7 @@ __15: // do that, according to the spec, but no memcpy() implementation that // we know of actually does that, which is why we say that memcpy() // is safe for this. Memcpy() is certainly a lot faster. - libc.Xmemcpy(tls, (*(*uintptr)(unsafe.Pointer(bp + 64 /* aShare */)) + uintptr(nHdr32)*4), (aPrivate + uintptr(nHdr32)*4), (((uint64(unsafe.Sizeof(Ht_slot(0))) * (uint64(HASHTABLE_NPAGE * 2))) + (uint64(HASHTABLE_NPAGE) * uint64(unsafe.Sizeof(U32(0))))) - uint64(nHdr))) + libc.Xmemcpy(tls, (*(*uintptr)(unsafe.Pointer(bp + 56 /* aShare */)) + uintptr(nHdr32)*4), (aPrivate + uintptr(nHdr32)*4), (((uint64(unsafe.Sizeof(Ht_slot(0))) * (uint64(HASHTABLE_NPAGE * 2))) + (uint64(HASHTABLE_NPAGE) * uint64(unsafe.Sizeof(U32(0))))) - uint64(nHdr))) if !(iFrame <= iLast) { goto __20 } @@ -84015,8 +84015,8 @@ finished: if !(rc == SQLITE_OK) { goto __21 } - *(*U32)(unsafe.Pointer((pWal + 72 /* &.hdr */ + 24 /* &.aFrameCksum */))) = *(*U32)(unsafe.Pointer(bp + 80 /* &aFrameCksum[0] */)) - *(*U32)(unsafe.Pointer((pWal + 72 /* &.hdr */ + 24 /* &.aFrameCksum */) + 1*4)) = *(*U32)(unsafe.Pointer(bp + 80 /* &aFrameCksum[0] */ + 1*4)) + *(*U32)(unsafe.Pointer((pWal + 72 /* &.hdr */ + 24 /* &.aFrameCksum */))) = *(*U32)(unsafe.Pointer(bp + 72 /* &aFrameCksum[0] */)) + *(*U32)(unsafe.Pointer((pWal + 72 /* &.hdr */ + 24 /* &.aFrameCksum */) + 1*4)) = *(*U32)(unsafe.Pointer(bp + 72 /* &aFrameCksum[0] */ + 1*4)) walIndexWriteHdr(tls, pWal) // Reset the checkpoint-header. This is safe because this thread is @@ -84803,15 +84803,15 @@ walcheckpoint_out: // If the WAL file is currently larger than nMax bytes in size, truncate // it to exactly nMax bytes. If an error occurs while doing so, ignore it. func walLimitSize(tls *libc.TLS, pWal uintptr, nMax I64) { /* sqlite3.c:62473:13: */ - bp := tls.Alloc(24) - defer tls.Free(24) + bp := tls.Alloc(16) + defer tls.Free(16) - // var sz I64 at bp+16, 8 + // var sz I64 at bp+8, 8 var rx int32 Xsqlite3BeginBenignMalloc(tls) - rx = Xsqlite3OsFileSize(tls, (*Wal)(unsafe.Pointer(pWal)).FpWalFd, bp+16 /* &sz */) - if (rx == SQLITE_OK) && (*(*I64)(unsafe.Pointer(bp + 16 /* sz */)) > nMax) { + rx = Xsqlite3OsFileSize(tls, (*Wal)(unsafe.Pointer(pWal)).FpWalFd, bp+8 /* &sz */) + if (rx == SQLITE_OK) && (*(*I64)(unsafe.Pointer(bp + 8 /* sz */)) > nMax) { rx = Xsqlite3OsTruncate(tls, (*Wal)(unsafe.Pointer(pWal)).FpWalFd, nMax) } Xsqlite3EndBenignMalloc(tls) @@ -98014,8 +98014,8 @@ func Xsqlite3BtreePager(tls *libc.TLS, p uintptr) uintptr { /* sqlite3.c:75273:2 // Append a message to the error message string. func checkAppendMsg(tls *libc.TLS, pCheck uintptr, zFormat uintptr, va uintptr) { /* sqlite3.c:75281:13: */ - bp := tls.Alloc(24) - defer tls.Free(24) + bp := tls.Alloc(16) + defer tls.Free(16) var ap Va_list _ = ap @@ -98058,15 +98058,15 @@ func setPageReferenced(tls *libc.TLS, pCheck uintptr, iPg Pgno) { /* sqlite3.c:7 // // Also check that the page number is in bounds. func checkRef(tls *libc.TLS, pCheck uintptr, iPage Pgno) int32 { /* sqlite3.c:75333:12: */ - bp := tls.Alloc(32) - defer tls.Free(32) + bp := tls.Alloc(16) + defer tls.Free(16) if (iPage > (*IntegrityCk)(unsafe.Pointer(pCheck)).FnPage) || (iPage == Pgno(0)) { checkAppendMsg(tls, pCheck, ts+4535 /* "invalid page num..." */, libc.VaList(bp, iPage)) return 1 } if getPageReferenced(tls, pCheck, iPage) != 0 { - checkAppendMsg(tls, pCheck, ts+4558 /* "2nd reference to..." */, libc.VaList(bp+16, iPage)) + checkAppendMsg(tls, pCheck, ts+4558 /* "2nd reference to..." */, libc.VaList(bp+8, iPage)) return 1 } if libc.AtomicLoadNInt32(((*IntegrityCk)(unsafe.Pointer(pCheck)).Fdb+400 /* &.u1 */ /* &.isInterrupted */), 0) != 0 { @@ -98080,15 +98080,15 @@ func checkRef(tls *libc.TLS, pCheck uintptr, iPage Pgno) int32 { /* sqlite3.c:75 // page iParent, pointer type ptrType. If not, append an error message // to pCheck. func checkPtrmap(tls *libc.TLS, pCheck uintptr, iChild Pgno, eType U8, iParent Pgno) { /* sqlite3.c:75353:13: */ - bp := tls.Alloc(72) - defer tls.Free(72) + bp := tls.Alloc(56) + defer tls.Free(56) var rc int32 - // var ePtrmapType U8 at bp+64, 1 + // var ePtrmapType U8 at bp+48, 1 - // var iPtrmapParent Pgno at bp+68, 4 + // var iPtrmapParent Pgno at bp+52, 4 - rc = ptrmapGet(tls, (*IntegrityCk)(unsafe.Pointer(pCheck)).FpBt, iChild, bp+64 /* &ePtrmapType */, bp+68 /* &iPtrmapParent */) + rc = ptrmapGet(tls, (*IntegrityCk)(unsafe.Pointer(pCheck)).FpBt, iChild, bp+48 /* &ePtrmapType */, bp+52 /* &iPtrmapParent */) if rc != SQLITE_OK { if (rc == SQLITE_NOMEM) || (rc == (SQLITE_IOERR | (int32(12) << 8))) { (*IntegrityCk)(unsafe.Pointer(pCheck)).FbOomFault = 1 @@ -98097,35 +98097,35 @@ func checkPtrmap(tls *libc.TLS, pCheck uintptr, iChild Pgno, eType U8, iParent P return } - if (int32(*(*U8)(unsafe.Pointer(bp + 64 /* ePtrmapType */))) != int32(eType)) || (*(*Pgno)(unsafe.Pointer(bp + 68 /* iPtrmapParent */)) != iParent) { + if (int32(*(*U8)(unsafe.Pointer(bp + 48 /* ePtrmapType */))) != int32(eType)) || (*(*Pgno)(unsafe.Pointer(bp + 52 /* iPtrmapParent */)) != iParent) { checkAppendMsg(tls, pCheck, ts+4612, /* "Bad ptr map entr..." */ - libc.VaList(bp+16, iChild, int32(eType), iParent, int32(*(*U8)(unsafe.Pointer(bp + 64 /* ePtrmapType */))), *(*Pgno)(unsafe.Pointer(bp + 68 /* iPtrmapParent */)))) + libc.VaList(bp+8, iChild, int32(eType), iParent, int32(*(*U8)(unsafe.Pointer(bp + 48 /* ePtrmapType */))), *(*Pgno)(unsafe.Pointer(bp + 52 /* iPtrmapParent */)))) } } // Check the integrity of the freelist or of an overflow page list. // Verify that the number of pages on the list is N. func checkList(tls *libc.TLS, pCheck uintptr, isFreeList int32, iPage Pgno, N U32) { /* sqlite3.c:75382:13: */ - bp := tls.Alloc(72) - defer tls.Free(72) + bp := tls.Alloc(48) + defer tls.Free(48) var i int32 var expected U32 = N var nErrAtStart int32 = (*IntegrityCk)(unsafe.Pointer(pCheck)).FnErr for (iPage != Pgno(0)) && ((*IntegrityCk)(unsafe.Pointer(pCheck)).FmxErr != 0) { - // var pOvflPage uintptr at bp+64, 8 + // var pOvflPage uintptr at bp+40, 8 var pOvflData uintptr if checkRef(tls, pCheck, iPage) != 0 { break } N-- - if Xsqlite3PagerGet(tls, (*IntegrityCk)(unsafe.Pointer(pCheck)).FpPager, iPage, bp+64 /* &pOvflPage */, 0) != 0 { + if Xsqlite3PagerGet(tls, (*IntegrityCk)(unsafe.Pointer(pCheck)).FpPager, iPage, bp+40 /* &pOvflPage */, 0) != 0 { checkAppendMsg(tls, pCheck, ts+4666 /* "failed to get pa..." */, libc.VaList(bp, iPage)) break } - pOvflData = Xsqlite3PagerGetData(tls, *(*uintptr)(unsafe.Pointer(bp + 64 /* pOvflPage */))) + pOvflData = Xsqlite3PagerGetData(tls, *(*uintptr)(unsafe.Pointer(bp + 40 /* pOvflPage */))) if isFreeList != 0 { var n U32 = Xsqlite3Get4byte(tls, (pOvflData + 4)) if (*BtShared)(unsafe.Pointer((*IntegrityCk)(unsafe.Pointer(pCheck)).FpBt)).FautoVacuum != 0 { @@ -98133,7 +98133,7 @@ func checkList(tls *libc.TLS, pCheck uintptr, isFreeList int32, iPage Pgno, N U3 } if n > (((*BtShared)(unsafe.Pointer((*IntegrityCk)(unsafe.Pointer(pCheck)).FpBt)).FusableSize / U32(4)) - U32(2)) { checkAppendMsg(tls, pCheck, - ts+4688 /* "freelist leaf co..." */, libc.VaList(bp+16, iPage)) + ts+4688 /* "freelist leaf co..." */, libc.VaList(bp+8, iPage)) N-- } else { for i = 0; i < int32(n); i++ { @@ -98155,12 +98155,12 @@ func checkList(tls *libc.TLS, pCheck uintptr, isFreeList int32, iPage Pgno, N U3 } } iPage = Xsqlite3Get4byte(tls, pOvflData) - Xsqlite3PagerUnref(tls, *(*uintptr)(unsafe.Pointer(bp + 64 /* pOvflPage */))) + Xsqlite3PagerUnref(tls, *(*uintptr)(unsafe.Pointer(bp + 40 /* pOvflPage */))) } if (N != 0) && (nErrAtStart == (*IntegrityCk)(unsafe.Pointer(pCheck)).FnErr) { checkAppendMsg(tls, pCheck, ts+4727, /* "%s is %d but sho..." */ - libc.VaList(bp+32, func() uintptr { + libc.VaList(bp+16, func() uintptr { if isFreeList != 0 { return ts + 4753 /* "size" */ } @@ -98242,11 +98242,11 @@ func btreeHeapPull(tls *libc.TLS, aHeap uintptr, pOut uintptr) int32 { /* sqlite // 4. Recursively call checkTreePage on all children. // 5. Verify that the depth of all children is the same. func checkTreePage(tls *libc.TLS, pCheck uintptr, iPage Pgno, piMinKey uintptr, maxKey I64) int32 { /* sqlite3.c:75515:12: */ - bp := tls.Alloc(196) - defer tls.Free(196) - *(*I64)(unsafe.Pointer(bp + 160)) = maxKey + bp := tls.Alloc(140) + defer tls.Free(140) + *(*I64)(unsafe.Pointer(bp + 104)) = maxKey - // var pPage uintptr at bp+152, 8 + // var pPage uintptr at bp+96, 8 // The page being analyzed var i int32 // Loop counter var rc int32 // Result code from subroutine call @@ -98268,7 +98268,7 @@ func checkTreePage(tls *libc.TLS, pCheck uintptr, iPage Pgno, piMinKey uintptr, var usableSize U32 // Usable size of the page var contentOffset U32 // Offset to the start of the cell content area var heap uintptr // Min-heap used for checking cell coverage - // var x U32 at bp+192, 4 + // var x U32 at bp+136, 4 var prev U32 // Next and previous entry on the min-heap var saved_zPfx uintptr @@ -98277,12 +98277,12 @@ func checkTreePage(tls *libc.TLS, pCheck uintptr, iPage Pgno, piMinKey uintptr, var savedIsInit U8 var nPage U32 // Number of pages on the overflow chain var pgnoOvfl Pgno - // var info CellInfo at bp+168, 24 + // var info CellInfo at bp+112, 24 var size U32 var size1 int32 var j int32 - *(*uintptr)(unsafe.Pointer(bp + 152 /* pPage */)) = uintptr(0) + *(*uintptr)(unsafe.Pointer(bp + 96 /* pPage */)) = uintptr(0) depth = -1 doCoverageCheck = 1 keyCanBeEqual = 1 @@ -98310,7 +98310,7 @@ __2: ; (*IntegrityCk)(unsafe.Pointer(pCheck)).FzPfx = ts + 4779 /* "Page %u: " */ (*IntegrityCk)(unsafe.Pointer(pCheck)).Fv1 = iPage - if !((libc.AssignInt32(&rc, btreeGetPage(tls, pBt, iPage, bp+152 /* &pPage */, 0))) != 0) { + if !((libc.AssignInt32(&rc, btreeGetPage(tls, pBt, iPage, bp+96 /* &pPage */, 0))) != 0) { goto __3 } checkAppendMsg(tls, pCheck, @@ -98321,27 +98321,27 @@ __3: // Clear MemPage.isInit to make sure the corruption detection code in // btreeInitPage() is executed. - savedIsInit = (*MemPage)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp + 152 /* pPage */)))).FisInit - (*MemPage)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp + 152 /* pPage */)))).FisInit = U8(0) - if !((libc.AssignInt32(&rc, btreeInitPage(tls, *(*uintptr)(unsafe.Pointer(bp + 152 /* pPage */))))) != 0) { + savedIsInit = (*MemPage)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp + 96 /* pPage */)))).FisInit + (*MemPage)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp + 96 /* pPage */)))).FisInit = U8(0) + if !((libc.AssignInt32(&rc, btreeInitPage(tls, *(*uintptr)(unsafe.Pointer(bp + 96 /* pPage */))))) != 0) { goto __4 } // The only possible error from InitPage checkAppendMsg(tls, pCheck, - ts+4827 /* "btreeInitPage() ..." */, libc.VaList(bp+16, rc)) + ts+4827 /* "btreeInitPage() ..." */, libc.VaList(bp+8, rc)) goto end_of_check __4: ; - if !((libc.AssignInt32(&rc, btreeComputeFreeSpace(tls, *(*uintptr)(unsafe.Pointer(bp + 152 /* pPage */))))) != 0) { + if !((libc.AssignInt32(&rc, btreeComputeFreeSpace(tls, *(*uintptr)(unsafe.Pointer(bp + 96 /* pPage */))))) != 0) { goto __5 } - checkAppendMsg(tls, pCheck, ts+4865 /* "free space corru..." */, libc.VaList(bp+32, rc)) + checkAppendMsg(tls, pCheck, ts+4865 /* "free space corru..." */, libc.VaList(bp+16, rc)) goto end_of_check __5: ; - data = (*MemPage)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp + 152 /* pPage */)))).FaData - hdr = int32((*MemPage)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp + 152 /* pPage */)))).FhdrOffset) + data = (*MemPage)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp + 96 /* pPage */)))).FaData + hdr = int32((*MemPage)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp + 96 /* pPage */)))).FhdrOffset) // Set up for cell analysis (*IntegrityCk)(unsafe.Pointer(pCheck)).FzPfx = ts + 4887 /* "On tree page %u ..." */ @@ -98354,11 +98354,11 @@ __5: // EVIDENCE-OF: R-23882-45353 The cell pointer array of a b-tree page // immediately follows the b-tree page header. - cellStart = ((hdr + 12) - (4 * int32((*MemPage)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp + 152 /* pPage */)))).Fleaf))) + cellStart = ((hdr + 12) - (4 * int32((*MemPage)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp + 96 /* pPage */)))).Fleaf))) pCellIdx = (data + uintptr((cellStart + (2 * (nCell - 1))))) - if !(!(int32((*MemPage)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp + 152 /* pPage */)))).Fleaf) != 0)) { + if !(!(int32((*MemPage)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp + 96 /* pPage */)))).Fleaf) != 0)) { goto __6 } // Analyze the right-child page of internal pages @@ -98370,7 +98370,7 @@ __5: checkPtrmap(tls, pCheck, uint32(pgno), uint8(PTRMAP_BTREE), iPage) __8: ; - depth = checkTreePage(tls, pCheck, uint32(pgno), bp+160 /* &maxKey */, *(*I64)(unsafe.Pointer(bp + 160 /* maxKey */))) + depth = checkTreePage(tls, pCheck, uint32(pgno), bp+104 /* &maxKey */, *(*I64)(unsafe.Pointer(bp + 104 /* maxKey */))) keyCanBeEqual = 0 goto __7 __6: @@ -98398,14 +98398,14 @@ __9: goto __12 } checkAppendMsg(tls, pCheck, ts+4941, /* "Offset %d out of..." */ - libc.VaList(bp+48, pc, contentOffset, (usableSize-U32(4)))) + libc.VaList(bp+24, pc, contentOffset, (usableSize-U32(4)))) doCoverageCheck = 0 goto __10 __12: ; pCell = (data + uintptr(pc)) - (*(*func(*libc.TLS, uintptr, uintptr, uintptr))(unsafe.Pointer((*(*uintptr)(unsafe.Pointer(bp + 152 /* pPage */)) + 128 /* &.xParseCell */))))(tls, *(*uintptr)(unsafe.Pointer(bp + 152 /* pPage */)), pCell, bp+168 /* &info */) - if !((pc + U32((*CellInfo)(unsafe.Pointer(bp+168 /* &info */)).FnSize)) > usableSize) { + (*(*func(*libc.TLS, uintptr, uintptr, uintptr))(unsafe.Pointer((*(*uintptr)(unsafe.Pointer(bp + 96 /* pPage */)) + 128 /* &.xParseCell */))))(tls, *(*uintptr)(unsafe.Pointer(bp + 96 /* pPage */)), pCell, bp+112 /* &info */) + if !((pc + U32((*CellInfo)(unsafe.Pointer(bp+112 /* &info */)).FnSize)) > usableSize) { goto __13 } checkAppendMsg(tls, pCheck, ts+4971 /* "Extends off end ..." */, 0) @@ -98415,32 +98415,32 @@ __13: ; // Check for integer primary key out of range - if !((*MemPage)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp + 152 /* pPage */)))).FintKey != 0) { + if !((*MemPage)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp + 96 /* pPage */)))).FintKey != 0) { goto __14 } if !(func() int32 { if keyCanBeEqual != 0 { - return (libc.Bool32((*CellInfo)(unsafe.Pointer(bp+168 /* &info */)).FnKey > *(*I64)(unsafe.Pointer(bp + 160 /* maxKey */)))) + return (libc.Bool32((*CellInfo)(unsafe.Pointer(bp+112 /* &info */)).FnKey > *(*I64)(unsafe.Pointer(bp + 104 /* maxKey */)))) } - return (libc.Bool32((*CellInfo)(unsafe.Pointer(bp+168 /* &info */)).FnKey >= *(*I64)(unsafe.Pointer(bp + 160 /* maxKey */)))) + return (libc.Bool32((*CellInfo)(unsafe.Pointer(bp+112 /* &info */)).FnKey >= *(*I64)(unsafe.Pointer(bp + 104 /* maxKey */)))) }() != 0) { goto __15 } - checkAppendMsg(tls, pCheck, ts+4995 /* "Rowid %lld out o..." */, libc.VaList(bp+80, (*CellInfo)(unsafe.Pointer(bp+168 /* &info */)).FnKey)) + checkAppendMsg(tls, pCheck, ts+4995 /* "Rowid %lld out o..." */, libc.VaList(bp+48, (*CellInfo)(unsafe.Pointer(bp+112 /* &info */)).FnKey)) __15: ; - *(*I64)(unsafe.Pointer(bp + 160 /* maxKey */)) = (*CellInfo)(unsafe.Pointer(bp + 168 /* &info */)).FnKey + *(*I64)(unsafe.Pointer(bp + 104 /* maxKey */)) = (*CellInfo)(unsafe.Pointer(bp + 112 /* &info */)).FnKey keyCanBeEqual = 0 // Only the first key on the page may ==maxKey __14: ; // Check the content overflow list - if !((*CellInfo)(unsafe.Pointer(bp+168 /* &info */)).FnPayload > U32((*CellInfo)(unsafe.Pointer(bp+168 /* &info */)).FnLocal)) { + if !((*CellInfo)(unsafe.Pointer(bp+112 /* &info */)).FnPayload > U32((*CellInfo)(unsafe.Pointer(bp+112 /* &info */)).FnLocal)) { goto __16 } // First page of the overflow chain - nPage = (((((*CellInfo)(unsafe.Pointer(bp+168 /* &info */)).FnPayload - U32((*CellInfo)(unsafe.Pointer(bp+168 /* &info */)).FnLocal)) + usableSize) - U32(5)) / (usableSize - U32(4))) - pgnoOvfl = Xsqlite3Get4byte(tls, (pCell + uintptr((int32((*CellInfo)(unsafe.Pointer(bp+168 /* &info */)).FnSize) - 4)))) + nPage = (((((*CellInfo)(unsafe.Pointer(bp+112 /* &info */)).FnPayload - U32((*CellInfo)(unsafe.Pointer(bp+112 /* &info */)).FnLocal)) + usableSize) - U32(5)) / (usableSize - U32(4))) + pgnoOvfl = Xsqlite3Get4byte(tls, (pCell + uintptr((int32((*CellInfo)(unsafe.Pointer(bp+112 /* &info */)).FnSize) - 4)))) if !((*BtShared)(unsafe.Pointer(pBt)).FautoVacuum != 0) { goto __17 } @@ -98451,7 +98451,7 @@ __17: __16: ; - if !(!(int32((*MemPage)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp + 152 /* pPage */)))).Fleaf) != 0)) { + if !(!(int32((*MemPage)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp + 96 /* pPage */)))).Fleaf) != 0)) { goto __18 } // Check sanity of left child page for internal pages @@ -98462,7 +98462,7 @@ __16: checkPtrmap(tls, pCheck, uint32(pgno), uint8(PTRMAP_BTREE), iPage) __20: ; - d2 = checkTreePage(tls, pCheck, uint32(pgno), bp+160 /* &maxKey */, *(*I64)(unsafe.Pointer(bp + 160 /* maxKey */))) + d2 = checkTreePage(tls, pCheck, uint32(pgno), bp+104 /* &maxKey */, *(*I64)(unsafe.Pointer(bp + 104 /* maxKey */))) keyCanBeEqual = 0 if !(d2 != depth) { goto __21 @@ -98474,7 +98474,7 @@ __21: goto __19 __18: // Populate the coverage-checking heap for leaf pages - btreeHeapInsert(tls, heap, ((pc << 16) | ((pc + U32((*CellInfo)(unsafe.Pointer(bp+168 /* &info */)).FnSize)) - U32(1)))) + btreeHeapInsert(tls, heap, ((pc << 16) | ((pc + U32((*CellInfo)(unsafe.Pointer(bp+112 /* &info */)).FnSize)) - U32(1)))) __19: ; goto __10 @@ -98484,7 +98484,7 @@ __10: goto __11 __11: ; - *(*I64)(unsafe.Pointer(piMinKey)) = *(*I64)(unsafe.Pointer(bp + 160 /* maxKey */)) + *(*I64)(unsafe.Pointer(piMinKey)) = *(*I64)(unsafe.Pointer(bp + 104 /* maxKey */)) // Check for complete coverage of the page (*IntegrityCk)(unsafe.Pointer(pCheck)).FzPfx = uintptr(0) @@ -98494,7 +98494,7 @@ __11: // For leaf pages, the min-heap has already been initialized and the // cells have already been inserted. But for internal pages, that has // not yet been done, so do it now - if !(!(int32((*MemPage)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp + 152 /* pPage */)))).Fleaf) != 0)) { + if !(!(int32((*MemPage)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp + 96 /* pPage */)))).Fleaf) != 0)) { goto __23 } heap = (*IntegrityCk)(unsafe.Pointer(pCheck)).Fheap @@ -98505,7 +98505,7 @@ __24: goto __26 } pc = U32(libc.X__builtin_bswap16(tls, *(*U16)(unsafe.Pointer((data + uintptr((cellStart + (i * 2)))))))) - size = U32((*(*func(*libc.TLS, uintptr, uintptr) U16)(unsafe.Pointer((*(*uintptr)(unsafe.Pointer(bp + 152 /* pPage */)) + 120 /* &.xCellSize */))))(tls, *(*uintptr)(unsafe.Pointer(bp + 152 /* pPage */)), (data + uintptr(pc)))) + size = U32((*(*func(*libc.TLS, uintptr, uintptr) U16)(unsafe.Pointer((*(*uintptr)(unsafe.Pointer(bp + 96 /* pPage */)) + 120 /* &.xCellSize */))))(tls, *(*uintptr)(unsafe.Pointer(bp + 96 /* pPage */)), (data + uintptr(pc)))) btreeHeapInsert(tls, heap, ((pc << 16) | ((pc + size) - U32(1)))) goto __25 __25: @@ -98558,19 +98558,19 @@ __28: nFrag = 0 prev = (contentOffset - U32(1)) // Implied first min-heap entry __29: - if !(btreeHeapPull(tls, heap, bp+192 /* &x */) != 0) { + if !(btreeHeapPull(tls, heap, bp+136 /* &x */) != 0) { goto __30 } - if !((prev & U32(0xffff)) >= (*(*U32)(unsafe.Pointer(bp + 192 /* x */)) >> 16)) { + if !((prev & U32(0xffff)) >= (*(*U32)(unsafe.Pointer(bp + 136 /* x */)) >> 16)) { goto __31 } checkAppendMsg(tls, pCheck, - ts+5044 /* "Multiple uses fo..." */, libc.VaList(bp+96, (*(*U32)(unsafe.Pointer(bp + 192 /* x */))>>16), iPage)) + ts+5044 /* "Multiple uses fo..." */, libc.VaList(bp+56, (*(*U32)(unsafe.Pointer(bp + 136 /* x */))>>16), iPage)) goto __30 goto __32 __31: - nFrag = int32(U32(nFrag) + (((*(*U32)(unsafe.Pointer(bp + 192 /* x */)) >> 16) - (prev & U32(0xffff))) - U32(1))) - prev = *(*U32)(unsafe.Pointer(bp + 192 /* x */)) + nFrag = int32(U32(nFrag) + (((*(*U32)(unsafe.Pointer(bp + 136 /* x */)) >> 16) - (prev & U32(0xffff))) - U32(1))) + prev = *(*U32)(unsafe.Pointer(bp + 136 /* x */)) __32: ; goto __29 @@ -98586,7 +98586,7 @@ __30: } checkAppendMsg(tls, pCheck, ts+5081, /* "Fragmentation of..." */ - libc.VaList(bp+120, nFrag, int32(*(*U8)(unsafe.Pointer(data + uintptr((hdr + 7))))), iPage)) + libc.VaList(bp+72, nFrag, int32(*(*U8)(unsafe.Pointer(data + uintptr((hdr + 7))))), iPage)) __33: ; __22: @@ -98596,10 +98596,10 @@ end_of_check: if !(!(doCoverageCheck != 0)) { goto __34 } - (*MemPage)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp + 152 /* pPage */)))).FisInit = savedIsInit + (*MemPage)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp + 96 /* pPage */)))).FisInit = savedIsInit __34: ; - releasePage(tls, *(*uintptr)(unsafe.Pointer(bp + 152 /* pPage */))) + releasePage(tls, *(*uintptr)(unsafe.Pointer(bp + 96 /* pPage */))) (*IntegrityCk)(unsafe.Pointer(pCheck)).FzPfx = saved_zPfx (*IntegrityCk)(unsafe.Pointer(pCheck)).Fv1 = Pgno(saved_v1) (*IntegrityCk)(unsafe.Pointer(pCheck)).Fv2 = saved_v2 @@ -98627,21 +98627,21 @@ __34: // the unverified btrees. Except, if aRoot[1] is 1, then the freelist // checks are still performed. func Xsqlite3BtreeIntegrityCheck(tls *libc.TLS, db uintptr, p uintptr, aRoot uintptr, nRoot int32, mxErr int32, pnErr uintptr) uintptr { /* sqlite3.c:75794:21: */ - bp := tls.Alloc(272) - defer tls.Free(272) + bp := tls.Alloc(248) + defer tls.Free(248) var i Pgno - // var sCheck IntegrityCk at bp+56, 104 + // var sCheck IntegrityCk at bp+32, 104 var pBt uintptr var savedDbFlags U64 - // var zErr [100]int8 at bp+160, 100 + // var zErr [100]int8 at bp+136, 100 var bPartial int32 // True if not checking all btrees var bCkFreelist int32 var mx Pgno var mxInHdr Pgno - // var notUsed I64 at bp+264, 8 + // var notUsed I64 at bp+240, 8 pBt = (*Btree)(unsafe.Pointer(p)).FpBt savedDbFlags = (*Sqlite3)(unsafe.Pointer((*BtShared)(unsafe.Pointer(pBt)).Fdb)).Fflags bPartial = 0 @@ -98664,49 +98664,49 @@ __1: Xsqlite3BtreeEnter(tls, p) - (*IntegrityCk)(unsafe.Pointer(bp + 56 /* &sCheck */)).Fdb = db - (*IntegrityCk)(unsafe.Pointer(bp + 56 /* &sCheck */)).FpBt = pBt - (*IntegrityCk)(unsafe.Pointer(bp + 56 /* &sCheck */)).FpPager = (*BtShared)(unsafe.Pointer(pBt)).FpPager - (*IntegrityCk)(unsafe.Pointer(bp + 56 /* &sCheck */)).FnPage = btreePagecount(tls, (*IntegrityCk)(unsafe.Pointer(bp+56 /* &sCheck */)).FpBt) - (*IntegrityCk)(unsafe.Pointer(bp + 56 /* &sCheck */)).FmxErr = mxErr - (*IntegrityCk)(unsafe.Pointer(bp + 56 /* &sCheck */)).FnErr = 0 - (*IntegrityCk)(unsafe.Pointer(bp + 56 /* &sCheck */)).FbOomFault = 0 - (*IntegrityCk)(unsafe.Pointer(bp + 56 /* &sCheck */)).FzPfx = uintptr(0) - (*IntegrityCk)(unsafe.Pointer(bp + 56 /* &sCheck */)).Fv1 = Pgno(0) - (*IntegrityCk)(unsafe.Pointer(bp + 56 /* &sCheck */)).Fv2 = 0 - (*IntegrityCk)(unsafe.Pointer(bp + 56 /* &sCheck */)).FaPgRef = uintptr(0) - (*IntegrityCk)(unsafe.Pointer(bp + 56 /* &sCheck */)).Fheap = uintptr(0) - Xsqlite3StrAccumInit(tls, (bp + 56 /* &sCheck */ + 56 /* &.errMsg */), uintptr(0), bp+160 /* &zErr[0] */, int32(unsafe.Sizeof([100]int8{})), SQLITE_MAX_LENGTH) - (*IntegrityCk)(unsafe.Pointer(bp + 56 /* &sCheck */)).FerrMsg.FprintfFlags = U8(SQLITE_PRINTF_INTERNAL) - if !((*IntegrityCk)(unsafe.Pointer(bp+56 /* &sCheck */)).FnPage == Pgno(0)) { + (*IntegrityCk)(unsafe.Pointer(bp + 32 /* &sCheck */)).Fdb = db + (*IntegrityCk)(unsafe.Pointer(bp + 32 /* &sCheck */)).FpBt = pBt + (*IntegrityCk)(unsafe.Pointer(bp + 32 /* &sCheck */)).FpPager = (*BtShared)(unsafe.Pointer(pBt)).FpPager + (*IntegrityCk)(unsafe.Pointer(bp + 32 /* &sCheck */)).FnPage = btreePagecount(tls, (*IntegrityCk)(unsafe.Pointer(bp+32 /* &sCheck */)).FpBt) + (*IntegrityCk)(unsafe.Pointer(bp + 32 /* &sCheck */)).FmxErr = mxErr + (*IntegrityCk)(unsafe.Pointer(bp + 32 /* &sCheck */)).FnErr = 0 + (*IntegrityCk)(unsafe.Pointer(bp + 32 /* &sCheck */)).FbOomFault = 0 + (*IntegrityCk)(unsafe.Pointer(bp + 32 /* &sCheck */)).FzPfx = uintptr(0) + (*IntegrityCk)(unsafe.Pointer(bp + 32 /* &sCheck */)).Fv1 = Pgno(0) + (*IntegrityCk)(unsafe.Pointer(bp + 32 /* &sCheck */)).Fv2 = 0 + (*IntegrityCk)(unsafe.Pointer(bp + 32 /* &sCheck */)).FaPgRef = uintptr(0) + (*IntegrityCk)(unsafe.Pointer(bp + 32 /* &sCheck */)).Fheap = uintptr(0) + Xsqlite3StrAccumInit(tls, (bp + 32 /* &sCheck */ + 56 /* &.errMsg */), uintptr(0), bp+136 /* &zErr[0] */, int32(unsafe.Sizeof([100]int8{})), SQLITE_MAX_LENGTH) + (*IntegrityCk)(unsafe.Pointer(bp + 32 /* &sCheck */)).FerrMsg.FprintfFlags = U8(SQLITE_PRINTF_INTERNAL) + if !((*IntegrityCk)(unsafe.Pointer(bp+32 /* &sCheck */)).FnPage == Pgno(0)) { goto __3 } goto integrity_ck_cleanup __3: ; - (*IntegrityCk)(unsafe.Pointer(bp + 56 /* &sCheck */)).FaPgRef = Xsqlite3MallocZero(tls, (uint64(((*IntegrityCk)(unsafe.Pointer(bp+56 /* &sCheck */)).FnPage / Pgno(8)) + Pgno(1)))) - if !(!(int32((*IntegrityCk)(unsafe.Pointer(bp+56 /* &sCheck */)).FaPgRef) != 0)) { + (*IntegrityCk)(unsafe.Pointer(bp + 32 /* &sCheck */)).FaPgRef = Xsqlite3MallocZero(tls, (uint64(((*IntegrityCk)(unsafe.Pointer(bp+32 /* &sCheck */)).FnPage / Pgno(8)) + Pgno(1)))) + if !(!(int32((*IntegrityCk)(unsafe.Pointer(bp+32 /* &sCheck */)).FaPgRef) != 0)) { goto __4 } - (*IntegrityCk)(unsafe.Pointer(bp + 56 /* &sCheck */)).FbOomFault = 1 + (*IntegrityCk)(unsafe.Pointer(bp + 32 /* &sCheck */)).FbOomFault = 1 goto integrity_ck_cleanup __4: ; - (*IntegrityCk)(unsafe.Pointer(bp + 56 /* &sCheck */)).Fheap = Xsqlite3PageMalloc(tls, int32((*BtShared)(unsafe.Pointer(pBt)).FpageSize)) - if !((*IntegrityCk)(unsafe.Pointer(bp+56 /* &sCheck */)).Fheap == uintptr(0)) { + (*IntegrityCk)(unsafe.Pointer(bp + 32 /* &sCheck */)).Fheap = Xsqlite3PageMalloc(tls, int32((*BtShared)(unsafe.Pointer(pBt)).FpageSize)) + if !((*IntegrityCk)(unsafe.Pointer(bp+32 /* &sCheck */)).Fheap == uintptr(0)) { goto __5 } - (*IntegrityCk)(unsafe.Pointer(bp + 56 /* &sCheck */)).FbOomFault = 1 + (*IntegrityCk)(unsafe.Pointer(bp + 32 /* &sCheck */)).FbOomFault = 1 goto integrity_ck_cleanup __5: ; i = ((U32(Xsqlite3PendingByte) / ((*BtShared)(unsafe.Pointer(pBt)).FpageSize)) + U32(1)) - if !(i <= (*IntegrityCk)(unsafe.Pointer(bp+56 /* &sCheck */)).FnPage) { + if !(i <= (*IntegrityCk)(unsafe.Pointer(bp+32 /* &sCheck */)).FnPage) { goto __6 } - setPageReferenced(tls, bp+56 /* &sCheck */, i) + setPageReferenced(tls, bp+32 /* &sCheck */, i) __6: ; @@ -98714,10 +98714,10 @@ __6: if !(bCkFreelist != 0) { goto __7 } - (*IntegrityCk)(unsafe.Pointer(bp + 56 /* &sCheck */)).FzPfx = ts + 5133 /* "Main freelist: " */ - checkList(tls, bp+56 /* &sCheck */, 1, Xsqlite3Get4byte(tls, ((*MemPage)(unsafe.Pointer((*BtShared)(unsafe.Pointer(pBt)).FpPage1)).FaData+32)), + (*IntegrityCk)(unsafe.Pointer(bp + 32 /* &sCheck */)).FzPfx = ts + 5133 /* "Main freelist: " */ + checkList(tls, bp+32 /* &sCheck */, 1, Xsqlite3Get4byte(tls, ((*MemPage)(unsafe.Pointer((*BtShared)(unsafe.Pointer(pBt)).FpPage1)).FaData+32)), Xsqlite3Get4byte(tls, ((*MemPage)(unsafe.Pointer((*BtShared)(unsafe.Pointer(pBt)).FpPage1)).FaData+36))) - (*IntegrityCk)(unsafe.Pointer(bp + 56 /* &sCheck */)).FzPfx = uintptr(0) + (*IntegrityCk)(unsafe.Pointer(bp + 32 /* &sCheck */)).FzPfx = uintptr(0) __7: ; @@ -98751,7 +98751,7 @@ __13: if !(mx != mxInHdr) { goto __15 } - checkAppendMsg(tls, bp+56, /* &sCheck */ + checkAppendMsg(tls, bp+32, /* &sCheck */ ts+5149, /* "max rootpage (%d..." */ libc.VaList(bp, mx, mxInHdr)) __15: @@ -98761,7 +98761,7 @@ __9: if !(Xsqlite3Get4byte(tls, ((*MemPage)(unsafe.Pointer((*BtShared)(unsafe.Pointer(pBt)).FpPage1)).FaData+64)) != U32(0)) { goto __16 } - checkAppendMsg(tls, bp+56, /* &sCheck */ + checkAppendMsg(tls, bp+32, /* &sCheck */ ts+5194 /* "incremental_vacu..." */, 0) __16: ; @@ -98773,7 +98773,7 @@ __8: *(*U64)(unsafe.Pointer((*BtShared)(unsafe.Pointer(pBt)).Fdb + 48 /* &.flags */)) &= (libc.CplUint64(uint64(SQLITE_CellSizeCk))) i = Pgno(0) __17: - if !((int32(i) < nRoot) && ((*IntegrityCk)(unsafe.Pointer(bp+56 /* &sCheck */)).FmxErr != 0)) { + if !((int32(i) < nRoot) && ((*IntegrityCk)(unsafe.Pointer(bp+32 /* &sCheck */)).FmxErr != 0)) { goto __19 } if !(*(*Pgno)(unsafe.Pointer(aRoot + uintptr(i)*4)) == Pgno(0)) { @@ -98785,10 +98785,10 @@ __20: if !((((*BtShared)(unsafe.Pointer(pBt)).FautoVacuum != 0) && (*(*Pgno)(unsafe.Pointer(aRoot + uintptr(i)*4)) > Pgno(1))) && !(bPartial != 0)) { goto __21 } - checkPtrmap(tls, bp+56 /* &sCheck */, *(*Pgno)(unsafe.Pointer(aRoot + uintptr(i)*4)), uint8(PTRMAP_ROOTPAGE), uint32(0)) + checkPtrmap(tls, bp+32 /* &sCheck */, *(*Pgno)(unsafe.Pointer(aRoot + uintptr(i)*4)), uint8(PTRMAP_ROOTPAGE), uint32(0)) __21: ; - checkTreePage(tls, bp+56 /* &sCheck */, *(*Pgno)(unsafe.Pointer(aRoot + uintptr(i)*4)), bp+264 /* ¬Used */, (int64(0xffffffff) | (I64((int64(0x7fffffff))) << 32))) + checkTreePage(tls, bp+32 /* &sCheck */, *(*Pgno)(unsafe.Pointer(aRoot + uintptr(i)*4)), bp+240 /* ¬Used */, (int64(0xffffffff) | (I64((int64(0x7fffffff))) << 32))) goto __18 __18: i++ @@ -98804,21 +98804,21 @@ __19: } i = Pgno(1) __23: - if !((i <= (*IntegrityCk)(unsafe.Pointer(bp+56 /* &sCheck */)).FnPage) && ((*IntegrityCk)(unsafe.Pointer(bp+56 /* &sCheck */)).FmxErr != 0)) { + if !((i <= (*IntegrityCk)(unsafe.Pointer(bp+32 /* &sCheck */)).FnPage) && ((*IntegrityCk)(unsafe.Pointer(bp+32 /* &sCheck */)).FmxErr != 0)) { goto __25 } // If the database supports auto-vacuum, make sure no tables contain // references to pointer-map pages. - if !((getPageReferenced(tls, bp+56 /* &sCheck */, i) == 0) && ((ptrmapPageno(tls, pBt, i) != i) || !(int32((*BtShared)(unsafe.Pointer(pBt)).FautoVacuum) != 0))) { + if !((getPageReferenced(tls, bp+32 /* &sCheck */, i) == 0) && ((ptrmapPageno(tls, pBt, i) != i) || !(int32((*BtShared)(unsafe.Pointer(pBt)).FautoVacuum) != 0))) { goto __26 } - checkAppendMsg(tls, bp+56 /* &sCheck */, ts+5249 /* "Page %d is never..." */, libc.VaList(bp+24, i)) + checkAppendMsg(tls, bp+32 /* &sCheck */, ts+5249 /* "Page %d is never..." */, libc.VaList(bp+16, i)) __26: ; - if !((getPageReferenced(tls, bp+56 /* &sCheck */, i) != 0) && ((ptrmapPageno(tls, pBt, i) == i) && ((*BtShared)(unsafe.Pointer(pBt)).FautoVacuum != 0))) { + if !((getPageReferenced(tls, bp+32 /* &sCheck */, i) != 0) && ((ptrmapPageno(tls, pBt, i) == i) && ((*BtShared)(unsafe.Pointer(pBt)).FautoVacuum != 0))) { goto __27 } - checkAppendMsg(tls, bp+56 /* &sCheck */, ts+5271 /* "Pointer map page..." */, libc.VaList(bp+40, i)) + checkAppendMsg(tls, bp+32 /* &sCheck */, ts+5271 /* "Pointer map page..." */, libc.VaList(bp+24, i)) __27: ; goto __24 @@ -98833,26 +98833,26 @@ __22: // Clean up and report errors. integrity_ck_cleanup: - Xsqlite3PageFree(tls, (*IntegrityCk)(unsafe.Pointer(bp+56 /* &sCheck */)).Fheap) - Xsqlite3_free(tls, (*IntegrityCk)(unsafe.Pointer(bp+56 /* &sCheck */)).FaPgRef) - if !((*IntegrityCk)(unsafe.Pointer(bp+56 /* &sCheck */)).FbOomFault != 0) { + Xsqlite3PageFree(tls, (*IntegrityCk)(unsafe.Pointer(bp+32 /* &sCheck */)).Fheap) + Xsqlite3_free(tls, (*IntegrityCk)(unsafe.Pointer(bp+32 /* &sCheck */)).FaPgRef) + if !((*IntegrityCk)(unsafe.Pointer(bp+32 /* &sCheck */)).FbOomFault != 0) { goto __28 } - Xsqlite3_str_reset(tls, (bp + 56 /* &sCheck */ + 56 /* &.errMsg */)) - (*IntegrityCk)(unsafe.Pointer(bp+56 /* &sCheck */)).FnErr++ + Xsqlite3_str_reset(tls, (bp + 32 /* &sCheck */ + 56 /* &.errMsg */)) + (*IntegrityCk)(unsafe.Pointer(bp+32 /* &sCheck */)).FnErr++ __28: ; - *(*int32)(unsafe.Pointer(pnErr)) = (*IntegrityCk)(unsafe.Pointer(bp + 56 /* &sCheck */)).FnErr - if !((*IntegrityCk)(unsafe.Pointer(bp+56 /* &sCheck */)).FnErr == 0) { + *(*int32)(unsafe.Pointer(pnErr)) = (*IntegrityCk)(unsafe.Pointer(bp + 32 /* &sCheck */)).FnErr + if !((*IntegrityCk)(unsafe.Pointer(bp+32 /* &sCheck */)).FnErr == 0) { goto __29 } - Xsqlite3_str_reset(tls, (bp + 56 /* &sCheck */ + 56 /* &.errMsg */)) + Xsqlite3_str_reset(tls, (bp + 32 /* &sCheck */ + 56 /* &.errMsg */)) __29: ; // Make sure this analysis did not leave any unref() pages. Xsqlite3BtreeLeave(tls, p) - return Xsqlite3StrAccumFinish(tls, (bp + 56 /* &sCheck */ + 56 /* &.errMsg */)) + return Xsqlite3StrAccumFinish(tls, (bp + 32 /* &sCheck */ + 56 /* &.errMsg */)) } // Return the full pathname of the underlying database file. Return @@ -99125,30 +99125,30 @@ func Xsqlite3BtreeConnectionCount(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c // function. If an error occurs while doing so, return 0 and write an // error message to pErrorDb. func findBtree(tls *libc.TLS, pErrorDb uintptr, pDb uintptr, zDb uintptr) uintptr { /* sqlite3.c:76305:14: */ - bp := tls.Alloc(440) - defer tls.Free(440) + bp := tls.Alloc(424) + defer tls.Free(424) var i int32 = Xsqlite3FindDbName(tls, pDb, zDb) if i == 1 { - // var sParse Parse at bp+32, 408 + // var sParse Parse at bp+16, 408 var rc int32 = 0 - libc.Xmemset(tls, bp+32 /* &sParse */, 0, uint64(unsafe.Sizeof(Parse{}))) - (*Parse)(unsafe.Pointer(bp + 32 /* &sParse */)).Fdb = pDb - if Xsqlite3OpenTempDatabase(tls, bp+32 /* &sParse */) != 0 { - Xsqlite3ErrorWithMsg(tls, pErrorDb, (*Parse)(unsafe.Pointer(bp+32 /* &sParse */)).Frc, ts+3630 /* "%s" */, libc.VaList(bp, (*Parse)(unsafe.Pointer(bp+32 /* &sParse */)).FzErrMsg)) + libc.Xmemset(tls, bp+16 /* &sParse */, 0, uint64(unsafe.Sizeof(Parse{}))) + (*Parse)(unsafe.Pointer(bp + 16 /* &sParse */)).Fdb = pDb + if Xsqlite3OpenTempDatabase(tls, bp+16 /* &sParse */) != 0 { + Xsqlite3ErrorWithMsg(tls, pErrorDb, (*Parse)(unsafe.Pointer(bp+16 /* &sParse */)).Frc, ts+3630 /* "%s" */, libc.VaList(bp, (*Parse)(unsafe.Pointer(bp+16 /* &sParse */)).FzErrMsg)) rc = SQLITE_ERROR } - Xsqlite3DbFree(tls, pErrorDb, (*Parse)(unsafe.Pointer(bp+32 /* &sParse */)).FzErrMsg) - Xsqlite3ParserReset(tls, bp+32 /* &sParse */) + Xsqlite3DbFree(tls, pErrorDb, (*Parse)(unsafe.Pointer(bp+16 /* &sParse */)).FzErrMsg) + Xsqlite3ParserReset(tls, bp+16 /* &sParse */) if rc != 0 { return uintptr(0) } } if i < 0 { - Xsqlite3ErrorWithMsg(tls, pErrorDb, SQLITE_ERROR, ts+5305 /* "unknown database..." */, libc.VaList(bp+16, zDb)) + Xsqlite3ErrorWithMsg(tls, pErrorDb, SQLITE_ERROR, ts+5305 /* "unknown database..." */, libc.VaList(bp+8, zDb)) return uintptr(0) } @@ -99796,21 +99796,21 @@ copy_finished: // Render a Mem object which is one of MEM_Int, MEM_Real, or MEM_IntReal // into a buffer. func vdbeMemRenderNum(tls *libc.TLS, sz int32, zBuf uintptr, p uintptr) { /* sqlite3.c:77103:13: */ - bp := tls.Alloc(56) - defer tls.Free(56) + bp := tls.Alloc(48) + defer tls.Free(48) - // var acc StrAccum at bp+24, 32 + // var acc StrAccum at bp+16, 32 if (int32((*Mem)(unsafe.Pointer(p)).Fflags) & MEM_Int) != 0 { // Work-around for GCC bug // https://gcc.gnu.org/bugzilla/show_bug.cgi?id=96270 - // var x I64 at bp+16, 8 + // var x I64 at bp+8, 8 - libc.Xmemcpy(tls, bp+16 /* &x */, (p /* &.u */), (uint64((int32((*Mem)(unsafe.Pointer(p)).Fflags) & MEM_Int) * 2))) - Xsqlite3Int64ToText(tls, *(*I64)(unsafe.Pointer(bp + 16 /* x */)), zBuf) + libc.Xmemcpy(tls, bp+8 /* &x */, (p /* &.u */), (uint64((int32((*Mem)(unsafe.Pointer(p)).Fflags) & MEM_Int) * 2))) + Xsqlite3Int64ToText(tls, *(*I64)(unsafe.Pointer(bp + 8 /* x */)), zBuf) } else { - Xsqlite3StrAccumInit(tls, bp+24 /* &acc */, uintptr(0), zBuf, sz, 0) - Xsqlite3_str_appendf(tls, bp+24 /* &acc */, ts+5396, /* "%!.15g" */ + Xsqlite3StrAccumInit(tls, bp+16 /* &acc */, uintptr(0), zBuf, sz, 0) + Xsqlite3_str_appendf(tls, bp+16 /* &acc */, ts+5396, /* "%!.15g" */ libc.VaList(bp, func() float64 { if (int32((*Mem)(unsafe.Pointer(p)).Fflags) & MEM_IntReal) != 0 { return float64(*(*I64)(unsafe.Pointer(p /* &.u */))) @@ -99818,7 +99818,7 @@ func vdbeMemRenderNum(tls *libc.TLS, sz int32, zBuf uintptr, p uintptr) { /* sql return *(*float64)(unsafe.Pointer(p /* &.u */)) }())) - *(*int8)(unsafe.Pointer(zBuf + uintptr((*StrAccum)(unsafe.Pointer(bp+24 /* &acc */)).FnChar))) = int8(0) // Fast version of sqlite3StrAccumFinish(&acc) + *(*int8)(unsafe.Pointer(zBuf + uintptr((*StrAccum)(unsafe.Pointer(bp+16 /* &acc */)).FnChar))) = int8(0) // Fast version of sqlite3StrAccumFinish(&acc) } } @@ -100878,10 +100878,10 @@ func valueNew(tls *libc.TLS, db uintptr, p uintptr) uintptr { /* sqlite3.c:78324 // and sets (*ppVal) to NULL. Or, if an error occurs, (*ppVal) is set to // NULL and an SQLite error code returned. func valueFromFunction(tls *libc.TLS, db uintptr, p uintptr, enc U8, aff U8, ppVal uintptr, pCtx uintptr) int32 { /* sqlite3.c:78386:12: */ - bp := tls.Alloc(72) - defer tls.Free(72) + bp := tls.Alloc(64) + defer tls.Free(64) - // var ctx Sqlite3_context at bp+16, 56 + // var ctx Sqlite3_context at bp+8, 56 // Context object for function invocation var apVal uintptr // Function arguments var nVal int32 // Size of apVal[] array @@ -100956,14 +100956,14 @@ __3: __9: ; - libc.Xmemset(tls, bp+16 /* &ctx */, 0, uint64(unsafe.Sizeof(Sqlite3_context{}))) - (*Sqlite3_context)(unsafe.Pointer(bp + 16 /* &ctx */)).FpOut = pVal - (*Sqlite3_context)(unsafe.Pointer(bp + 16 /* &ctx */)).FpFunc = pFunc - (*(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer((pFunc + 24 /* &.xSFunc */))))(tls, bp+16 /* &ctx */, nVal, apVal) - if !((*Sqlite3_context)(unsafe.Pointer(bp+16 /* &ctx */)).FisError != 0) { + libc.Xmemset(tls, bp+8 /* &ctx */, 0, uint64(unsafe.Sizeof(Sqlite3_context{}))) + (*Sqlite3_context)(unsafe.Pointer(bp + 8 /* &ctx */)).FpOut = pVal + (*Sqlite3_context)(unsafe.Pointer(bp + 8 /* &ctx */)).FpFunc = pFunc + (*(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer((pFunc + 24 /* &.xSFunc */))))(tls, bp+8 /* &ctx */, nVal, apVal) + if !((*Sqlite3_context)(unsafe.Pointer(bp+8 /* &ctx */)).FisError != 0) { goto __10 } - rc = (*Sqlite3_context)(unsafe.Pointer(bp + 16 /* &ctx */)).FisError + rc = (*Sqlite3_context)(unsafe.Pointer(bp + 8 /* &ctx */)).FisError Xsqlite3ErrorMsg(tls, (*ValueNewStat4Ctx)(unsafe.Pointer(pCtx)).FpParse, ts+3630 /* "%s" */, libc.VaList(bp, Xsqlite3_value_text(tls, pVal))) goto __11 __10: @@ -101021,12 +101021,12 @@ __14: // NULL, it is assumed that the caller will free any allocated object // in all cases. func valueFromExpr(tls *libc.TLS, db uintptr, pExpr uintptr, enc U8, affinity U8, ppVal uintptr, pCtx uintptr) int32 { /* sqlite3.c:78480:12: */ - bp := tls.Alloc(32) - defer tls.Free(32) + bp := tls.Alloc(24) + defer tls.Free(24) var op int32 var zVal uintptr - // var pVal uintptr at bp+24, 8 + // var pVal uintptr at bp+16, 8 var negInt int32 var zNeg uintptr @@ -101034,7 +101034,7 @@ func valueFromExpr(tls *libc.TLS, db uintptr, pExpr uintptr, enc U8, affinity U8 var aff U8 var nVal int32 zVal = uintptr(0) - *(*uintptr)(unsafe.Pointer(bp + 24 /* pVal */)) = uintptr(0) + *(*uintptr)(unsafe.Pointer(bp + 16 /* pVal */)) = uintptr(0) negInt = 1 zNeg = ts + 755 /* "" */ rc = SQLITE_OK @@ -101092,8 +101092,8 @@ __6: if !(((op == TK_STRING) || (op == TK_FLOAT)) || (op == TK_INTEGER)) { goto __7 } - *(*uintptr)(unsafe.Pointer(bp + 24 /* pVal */)) = valueNew(tls, db, pCtx) - if !(*(*uintptr)(unsafe.Pointer(bp + 24 /* pVal */)) == uintptr(0)) { + *(*uintptr)(unsafe.Pointer(bp + 16 /* pVal */)) = valueNew(tls, db, pCtx) + if !(*(*uintptr)(unsafe.Pointer(bp + 16 /* pVal */)) == uintptr(0)) { goto __9 } goto no_mem @@ -101102,7 +101102,7 @@ __9: if !(((*Expr)(unsafe.Pointer((pExpr))).Fflags & (U32(EP_IntValue))) != U32(0)) { goto __10 } - Xsqlite3VdbeMemSetInt64(tls, *(*uintptr)(unsafe.Pointer(bp + 24 /* pVal */)), (I64(*(*int32)(unsafe.Pointer(pExpr + 8 /* &.u */))) * I64(negInt))) + Xsqlite3VdbeMemSetInt64(tls, *(*uintptr)(unsafe.Pointer(bp + 16 /* pVal */)), (I64(*(*int32)(unsafe.Pointer(pExpr + 8 /* &.u */))) * I64(negInt))) goto __11 __10: zVal = Xsqlite3MPrintf(tls, db, ts+5405 /* "%s%s" */, libc.VaList(bp, zNeg, *(*uintptr)(unsafe.Pointer(pExpr + 8 /* &.u */)))) @@ -101112,30 +101112,30 @@ __10: goto no_mem __12: ; - Xsqlite3ValueSetStr(tls, *(*uintptr)(unsafe.Pointer(bp + 24 /* pVal */)), -1, zVal, uint8(SQLITE_UTF8), *(*uintptr)(unsafe.Pointer(&struct{ f func(*libc.TLS, uintptr) }{Xsqlite3OomFault}))) + Xsqlite3ValueSetStr(tls, *(*uintptr)(unsafe.Pointer(bp + 16 /* pVal */)), -1, zVal, uint8(SQLITE_UTF8), *(*uintptr)(unsafe.Pointer(&struct{ f func(*libc.TLS, uintptr) }{Xsqlite3OomFault}))) __11: ; if !(((op == TK_INTEGER) || (op == TK_FLOAT)) && (int32(affinity) == SQLITE_AFF_BLOB)) { goto __13 } - Xsqlite3ValueApplyAffinity(tls, *(*uintptr)(unsafe.Pointer(bp + 24 /* pVal */)), uint8(SQLITE_AFF_NUMERIC), uint8(SQLITE_UTF8)) + Xsqlite3ValueApplyAffinity(tls, *(*uintptr)(unsafe.Pointer(bp + 16 /* pVal */)), uint8(SQLITE_AFF_NUMERIC), uint8(SQLITE_UTF8)) goto __14 __13: - Xsqlite3ValueApplyAffinity(tls, *(*uintptr)(unsafe.Pointer(bp + 24 /* pVal */)), affinity, uint8(SQLITE_UTF8)) + Xsqlite3ValueApplyAffinity(tls, *(*uintptr)(unsafe.Pointer(bp + 16 /* pVal */)), affinity, uint8(SQLITE_UTF8)) __14: ; - if !((int32((*Sqlite3_value)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp + 24 /* pVal */)))).Fflags) & ((MEM_Int | MEM_IntReal) | MEM_Real)) != 0) { + if !((int32((*Sqlite3_value)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp + 16 /* pVal */)))).Fflags) & ((MEM_Int | MEM_IntReal) | MEM_Real)) != 0) { goto __15 } - *(*U16)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp + 24 /* pVal */)) + 8 /* &.flags */)) &= libc.Uint16FromInt32((libc.CplInt32(MEM_Str))) + *(*U16)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp + 16 /* pVal */)) + 8 /* &.flags */)) &= libc.Uint16FromInt32((libc.CplInt32(MEM_Str))) __15: ; if !(int32(enc) != SQLITE_UTF8) { goto __16 } - rc = Xsqlite3VdbeChangeEncoding(tls, *(*uintptr)(unsafe.Pointer(bp + 24 /* pVal */)), int32(enc)) + rc = Xsqlite3VdbeChangeEncoding(tls, *(*uintptr)(unsafe.Pointer(bp + 16 /* pVal */)), int32(enc)) __16: ; goto __8 @@ -101144,30 +101144,30 @@ __7: goto __17 } // This branch happens for multiple negative signs. Ex: -(-5) - if !((SQLITE_OK == valueFromExpr(tls, db, (*Expr)(unsafe.Pointer(pExpr)).FpLeft, enc, affinity, bp+24 /* &pVal */, pCtx)) && - (*(*uintptr)(unsafe.Pointer(bp + 24 /* pVal */)) != uintptr(0))) { + if !((SQLITE_OK == valueFromExpr(tls, db, (*Expr)(unsafe.Pointer(pExpr)).FpLeft, enc, affinity, bp+16 /* &pVal */, pCtx)) && + (*(*uintptr)(unsafe.Pointer(bp + 16 /* pVal */)) != uintptr(0))) { goto __19 } - Xsqlite3VdbeMemNumerify(tls, *(*uintptr)(unsafe.Pointer(bp + 24 /* pVal */))) - if !((int32((*Sqlite3_value)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp + 24 /* pVal */)))).Fflags) & MEM_Real) != 0) { + Xsqlite3VdbeMemNumerify(tls, *(*uintptr)(unsafe.Pointer(bp + 16 /* pVal */))) + if !((int32((*Sqlite3_value)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp + 16 /* pVal */)))).Fflags) & MEM_Real) != 0) { goto __20 } - *(*float64)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp + 24 /* pVal */)) /* &.u */)) = -*(*float64)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp + 24 /* pVal */)) /* &.u */)) + *(*float64)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp + 16 /* pVal */)) /* &.u */)) = -*(*float64)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp + 16 /* pVal */)) /* &.u */)) goto __21 __20: - if !(*(*I64)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp + 24 /* pVal */)) /* &.u */)) == ((int64(-1)) - (int64(0xffffffff) | (I64((int64(0x7fffffff))) << 32)))) { + if !(*(*I64)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp + 16 /* pVal */)) /* &.u */)) == ((int64(-1)) - (int64(0xffffffff) | (I64((int64(0x7fffffff))) << 32)))) { goto __22 } - *(*float64)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp + 24 /* pVal */)) /* &.u */)) = -(float64((int64(-1)) - (int64(0xffffffff) | (I64((int64(0x7fffffff))) << 32)))) - (*Sqlite3_value)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp + 24 /* pVal */)))).Fflags = (U16((int32((*Sqlite3_value)(unsafe.Pointer((*(*uintptr)(unsafe.Pointer(bp + 24 /* pVal */))))).Fflags) & libc.CplInt32((MEM_TypeMask | MEM_Zero))) | MEM_Real)) + *(*float64)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp + 16 /* pVal */)) /* &.u */)) = -(float64((int64(-1)) - (int64(0xffffffff) | (I64((int64(0x7fffffff))) << 32)))) + (*Sqlite3_value)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp + 16 /* pVal */)))).Fflags = (U16((int32((*Sqlite3_value)(unsafe.Pointer((*(*uintptr)(unsafe.Pointer(bp + 16 /* pVal */))))).Fflags) & libc.CplInt32((MEM_TypeMask | MEM_Zero))) | MEM_Real)) goto __23 __22: - *(*I64)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp + 24 /* pVal */)) /* &.u */)) = -*(*I64)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp + 24 /* pVal */)) /* &.u */)) + *(*I64)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp + 16 /* pVal */)) /* &.u */)) = -*(*I64)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp + 16 /* pVal */)) /* &.u */)) __23: ; __21: ; - Xsqlite3ValueApplyAffinity(tls, *(*uintptr)(unsafe.Pointer(bp + 24 /* pVal */)), affinity, enc) + Xsqlite3ValueApplyAffinity(tls, *(*uintptr)(unsafe.Pointer(bp + 16 /* pVal */)), affinity, enc) __19: ; goto __18 @@ -101175,22 +101175,22 @@ __17: if !(op == TK_NULL) { goto __24 } - *(*uintptr)(unsafe.Pointer(bp + 24 /* pVal */)) = valueNew(tls, db, pCtx) - if !(*(*uintptr)(unsafe.Pointer(bp + 24 /* pVal */)) == uintptr(0)) { + *(*uintptr)(unsafe.Pointer(bp + 16 /* pVal */)) = valueNew(tls, db, pCtx) + if !(*(*uintptr)(unsafe.Pointer(bp + 16 /* pVal */)) == uintptr(0)) { goto __26 } goto no_mem __26: ; - Xsqlite3VdbeMemSetNull(tls, *(*uintptr)(unsafe.Pointer(bp + 24 /* pVal */))) + Xsqlite3VdbeMemSetNull(tls, *(*uintptr)(unsafe.Pointer(bp + 16 /* pVal */))) goto __25 __24: if !(op == TK_BLOB) { goto __27 } - *(*uintptr)(unsafe.Pointer(bp + 24 /* pVal */)) = valueNew(tls, db, pCtx) - if !(!(*(*uintptr)(unsafe.Pointer(bp + 24 /* pVal */)) != 0)) { + *(*uintptr)(unsafe.Pointer(bp + 16 /* pVal */)) = valueNew(tls, db, pCtx) + if !(!(*(*uintptr)(unsafe.Pointer(bp + 16 /* pVal */)) != 0)) { goto __29 } goto no_mem @@ -101199,25 +101199,25 @@ __29: zVal = (*(*uintptr)(unsafe.Pointer(pExpr + 8 /* &.u */)) + 2) nVal = (Xsqlite3Strlen30(tls, zVal) - 1) - Xsqlite3VdbeMemSetStr(tls, *(*uintptr)(unsafe.Pointer(bp + 24 /* pVal */)), Xsqlite3HexToBlob(tls, db, zVal, nVal), (int64(nVal / 2)), + Xsqlite3VdbeMemSetStr(tls, *(*uintptr)(unsafe.Pointer(bp + 16 /* pVal */)), Xsqlite3HexToBlob(tls, db, zVal, nVal), (int64(nVal / 2)), uint8(0), *(*uintptr)(unsafe.Pointer(&struct{ f func(*libc.TLS, uintptr) }{Xsqlite3OomFault}))) goto __28 __27: if !((op == TK_FUNCTION) && (pCtx != uintptr(0))) { goto __30 } - rc = valueFromFunction(tls, db, pExpr, enc, affinity, bp+24 /* &pVal */, pCtx) + rc = valueFromFunction(tls, db, pExpr, enc, affinity, bp+16 /* &pVal */, pCtx) goto __31 __30: if !(op == TK_TRUEFALSE) { goto __32 } - *(*uintptr)(unsafe.Pointer(bp + 24 /* pVal */)) = valueNew(tls, db, pCtx) - if !(*(*uintptr)(unsafe.Pointer(bp + 24 /* pVal */)) != 0) { + *(*uintptr)(unsafe.Pointer(bp + 16 /* pVal */)) = valueNew(tls, db, pCtx) + if !(*(*uintptr)(unsafe.Pointer(bp + 16 /* pVal */)) != 0) { goto __33 } - (*Sqlite3_value)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp + 24 /* pVal */)))).Fflags = U16(MEM_Int) - *(*I64)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp + 24 /* pVal */)) /* &.u */)) = (I64(libc.Bool32(int32(*(*int8)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(pExpr + 8 /* &.u */)) + 4))) == 0))) + (*Sqlite3_value)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp + 16 /* pVal */)))).Fflags = U16(MEM_Int) + *(*I64)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp + 16 /* pVal */)) /* &.u */)) = (I64(libc.Bool32(int32(*(*int8)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(pExpr + 8 /* &.u */)) + 4))) == 0))) __33: ; __32: @@ -101233,7 +101233,7 @@ __18: __8: ; - *(*uintptr)(unsafe.Pointer(ppVal)) = *(*uintptr)(unsafe.Pointer(bp + 24 /* pVal */)) + *(*uintptr)(unsafe.Pointer(ppVal)) = *(*uintptr)(unsafe.Pointer(bp + 16 /* pVal */)) return rc no_mem: @@ -101248,7 +101248,7 @@ __34: if !(pCtx == uintptr(0)) { goto __35 } - Xsqlite3ValueFree(tls, *(*uintptr)(unsafe.Pointer(bp + 24 /* pVal */))) + Xsqlite3ValueFree(tls, *(*uintptr)(unsafe.Pointer(bp + 16 /* pVal */))) __35: ; return SQLITE_NOMEM @@ -102537,20 +102537,20 @@ var dummy VdbeOp /* sqlite3.c:80340:17: */ // Compute a string that describes the P4 parameter for an opcode. // Use zTemp for any required temporary buffer space. func Xsqlite3VdbeDisplayP4(tls *libc.TLS, db uintptr, pOp uintptr) uintptr { /* sqlite3.c:80540:21: */ - bp := tls.Alloc(272) - defer tls.Free(272) + bp := tls.Alloc(176) + defer tls.Free(176) var zP4 uintptr = uintptr(0) - // var x StrAccum at bp+240, 32 + // var x StrAccum at bp+144, 32 - Xsqlite3StrAccumInit(tls, bp+240 /* &x */, uintptr(0), uintptr(0), 0, SQLITE_MAX_LENGTH) + Xsqlite3StrAccumInit(tls, bp+144 /* &x */, uintptr(0), uintptr(0), 0, SQLITE_MAX_LENGTH) switch int32((*Op)(unsafe.Pointer(pOp)).Fp4type) { case -9: { var j int32 var pKeyInfo uintptr = *(*uintptr)(unsafe.Pointer(pOp + 16 /* &.p4 */)) - Xsqlite3_str_appendf(tls, bp+240 /* &x */, ts+5410 /* "k(%d" */, libc.VaList(bp, int32((*KeyInfo)(unsafe.Pointer(pKeyInfo)).FnKeyField))) + Xsqlite3_str_appendf(tls, bp+144 /* &x */, ts+5410 /* "k(%d" */, libc.VaList(bp, int32((*KeyInfo)(unsafe.Pointer(pKeyInfo)).FnKeyField))) for j = 0; j < int32((*KeyInfo)(unsafe.Pointer(pKeyInfo)).FnKeyField); j++ { var pColl uintptr = *(*uintptr)(unsafe.Pointer((pKeyInfo + 32 /* &.aColl */) + uintptr(j)*8)) var zColl uintptr @@ -102562,8 +102562,8 @@ func Xsqlite3VdbeDisplayP4(tls *libc.TLS, db uintptr, pOp uintptr) uintptr { /* if libc.Xstrcmp(tls, zColl, ts+318 /* "BINARY" */) == 0 { zColl = ts + 5415 /* "B" */ } - Xsqlite3_str_appendf(tls, bp+240 /* &x */, ts+5417, /* ",%s%s%s" */ - libc.VaList(bp+16, func() uintptr { + Xsqlite3_str_appendf(tls, bp+144 /* &x */, ts+5417, /* ",%s%s%s" */ + libc.VaList(bp+8, func() uintptr { if (int32(*(*U8)(unsafe.Pointer((*KeyInfo)(unsafe.Pointer(pKeyInfo)).FaSortFlags + uintptr(j)))) & KEYINFO_ORDER_DESC) != 0 { return ts + 5403 /* "-" */ } @@ -102577,7 +102577,7 @@ func Xsqlite3VdbeDisplayP4(tls *libc.TLS, db uintptr, pOp uintptr) uintptr { /* }(), zColl)) } - Xsqlite3_str_append(tls, bp+240 /* &x */, ts+5428 /* ")" */, 1) + Xsqlite3_str_append(tls, bp+144 /* &x */, ts+5428 /* ")" */, 1) break } @@ -102585,7 +102585,7 @@ func Xsqlite3VdbeDisplayP4(tls *libc.TLS, db uintptr, pOp uintptr) uintptr { /* { var pColl uintptr = *(*uintptr)(unsafe.Pointer(pOp + 16 /* &.p4 */)) - Xsqlite3_str_appendf(tls, bp+240 /* &x */, ts+5430 /* "%.18s-%s" */, libc.VaList(bp+48, (*CollSeq)(unsafe.Pointer(pColl)).FzName, + Xsqlite3_str_appendf(tls, bp+144 /* &x */, ts+5430 /* "%.18s-%s" */, libc.VaList(bp+32, (*CollSeq)(unsafe.Pointer(pColl)).FzName, encnames[(*CollSeq)(unsafe.Pointer(pColl)).Fenc])) break @@ -102593,32 +102593,32 @@ func Xsqlite3VdbeDisplayP4(tls *libc.TLS, db uintptr, pOp uintptr) uintptr { /* case -8: { var pDef uintptr = *(*uintptr)(unsafe.Pointer(pOp + 16 /* &.p4 */)) - Xsqlite3_str_appendf(tls, bp+240 /* &x */, ts+5439 /* "%s(%d)" */, libc.VaList(bp+72, (*FuncDef)(unsafe.Pointer(pDef)).FzName, int32((*FuncDef)(unsafe.Pointer(pDef)).FnArg))) + Xsqlite3_str_appendf(tls, bp+144 /* &x */, ts+5439 /* "%s(%d)" */, libc.VaList(bp+48, (*FuncDef)(unsafe.Pointer(pDef)).FzName, int32((*FuncDef)(unsafe.Pointer(pDef)).FnArg))) break } case -16: { var pDef uintptr = (*Sqlite3_context)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(pOp + 16 /* &.p4 */)))).FpFunc - Xsqlite3_str_appendf(tls, bp+240 /* &x */, ts+5439 /* "%s(%d)" */, libc.VaList(bp+96, (*FuncDef)(unsafe.Pointer(pDef)).FzName, int32((*FuncDef)(unsafe.Pointer(pDef)).FnArg))) + Xsqlite3_str_appendf(tls, bp+144 /* &x */, ts+5439 /* "%s(%d)" */, libc.VaList(bp+64, (*FuncDef)(unsafe.Pointer(pDef)).FzName, int32((*FuncDef)(unsafe.Pointer(pDef)).FnArg))) break } case -14: { - Xsqlite3_str_appendf(tls, bp+240 /* &x */, ts+5446 /* "%lld" */, libc.VaList(bp+120, *(*I64)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(pOp + 16 /* &.p4 */)))))) + Xsqlite3_str_appendf(tls, bp+144 /* &x */, ts+5446 /* "%lld" */, libc.VaList(bp+80, *(*I64)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(pOp + 16 /* &.p4 */)))))) break } case -3: { - Xsqlite3_str_appendf(tls, bp+240 /* &x */, ts+5451 /* "%d" */, libc.VaList(bp+136, *(*int32)(unsafe.Pointer(pOp + 16 /* &.p4 */)))) + Xsqlite3_str_appendf(tls, bp+144 /* &x */, ts+5451 /* "%d" */, libc.VaList(bp+88, *(*int32)(unsafe.Pointer(pOp + 16 /* &.p4 */)))) break } case -13: { - Xsqlite3_str_appendf(tls, bp+240 /* &x */, ts+538 /* "%.16g" */, libc.VaList(bp+152, *(*float64)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(pOp + 16 /* &.p4 */)))))) + Xsqlite3_str_appendf(tls, bp+144 /* &x */, ts+538 /* "%.16g" */, libc.VaList(bp+96, *(*float64)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(pOp + 16 /* &.p4 */)))))) break } @@ -102628,9 +102628,9 @@ func Xsqlite3VdbeDisplayP4(tls *libc.TLS, db uintptr, pOp uintptr) uintptr { /* if (int32((*Mem)(unsafe.Pointer(pMem)).Fflags) & MEM_Str) != 0 { zP4 = (*Mem)(unsafe.Pointer(pMem)).Fz } else if (int32((*Mem)(unsafe.Pointer(pMem)).Fflags) & (MEM_Int | MEM_IntReal)) != 0 { - Xsqlite3_str_appendf(tls, bp+240 /* &x */, ts+5446 /* "%lld" */, libc.VaList(bp+168, *(*I64)(unsafe.Pointer(pMem /* &.u */)))) + Xsqlite3_str_appendf(tls, bp+144 /* &x */, ts+5446 /* "%lld" */, libc.VaList(bp+104, *(*I64)(unsafe.Pointer(pMem /* &.u */)))) } else if (int32((*Mem)(unsafe.Pointer(pMem)).Fflags) & MEM_Real) != 0 { - Xsqlite3_str_appendf(tls, bp+240 /* &x */, ts+538 /* "%.16g" */, libc.VaList(bp+184, *(*float64)(unsafe.Pointer(pMem /* &.u */)))) + Xsqlite3_str_appendf(tls, bp+144 /* &x */, ts+538 /* "%.16g" */, libc.VaList(bp+112, *(*float64)(unsafe.Pointer(pMem /* &.u */)))) } else if (int32((*Mem)(unsafe.Pointer(pMem)).Fflags) & MEM_Null) != 0 { zP4 = ts + 756 /* "NULL" */ } else { @@ -102643,7 +102643,7 @@ func Xsqlite3VdbeDisplayP4(tls *libc.TLS, db uintptr, pOp uintptr) uintptr { /* case -12: { var pVtab uintptr = (*VTable)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(pOp + 16 /* &.p4 */)))).FpVtab - Xsqlite3_str_appendf(tls, bp+240 /* &x */, ts+5461 /* "vtab:%p" */, libc.VaList(bp+200, pVtab)) + Xsqlite3_str_appendf(tls, bp+144 /* &x */, ts+5461 /* "vtab:%p" */, libc.VaList(bp+120, pVtab)) break } @@ -102654,14 +102654,14 @@ func Xsqlite3VdbeDisplayP4(tls *libc.TLS, db uintptr, pOp uintptr) uintptr { /* var n U32 = *(*U32)(unsafe.Pointer(ai)) // The first element of an INTARRAY is always the // count of the number of elements to follow for i = U32(1); i <= n; i++ { - Xsqlite3_str_appendf(tls, bp+240 /* &x */, ts+5469 /* "%c%u" */, libc.VaList(bp+216, func() int32 { + Xsqlite3_str_appendf(tls, bp+144 /* &x */, ts+5469 /* "%c%u" */, libc.VaList(bp+128, func() int32 { if i == U32(1) { return '[' } return ',' }(), *(*U32)(unsafe.Pointer(ai + uintptr(i)*4)))) } - Xsqlite3_str_append(tls, bp+240 /* &x */, ts+5474 /* "]" */, 1) + Xsqlite3_str_append(tls, bp+144 /* &x */, ts+5474 /* "]" */, 1) break } @@ -102691,12 +102691,12 @@ func Xsqlite3VdbeDisplayP4(tls *libc.TLS, db uintptr, pOp uintptr) uintptr { /* } } if zP4 != 0 { - Xsqlite3_str_appendall(tls, bp+240 /* &x */, zP4) + Xsqlite3_str_appendall(tls, bp+144 /* &x */, zP4) } - if (int32((*StrAccum)(unsafe.Pointer(bp+240 /* &x */)).FaccError) & SQLITE_NOMEM) != 0 { + if (int32((*StrAccum)(unsafe.Pointer(bp+144 /* &x */)).FaccError) & SQLITE_NOMEM) != 0 { Xsqlite3OomFault(tls, db) } - return Xsqlite3StrAccumFinish(tls, bp+240 /* &x */) + return Xsqlite3StrAccumFinish(tls, bp+144 /* &x */) } var encnames = [4]uintptr{ts + 5484 /* "?" */, ts + 5486 /* "8" */, ts + 5488 /* "16LE" */, ts + 5493 /* "16BE" */} /* sqlite3.c:80570:25 */ @@ -103385,8 +103385,8 @@ func Xsqlite3VdbeSetColName(tls *libc.TLS, p uintptr, idx int32, var1 int32, zNa // write-transaction spanning more than one database file, this routine // takes care of the super-journal trickery. func vdbeCommit(tls *libc.TLS, db uintptr, p uintptr) int32 { /* sqlite3.c:81537:12: */ - bp := tls.Alloc(104) - defer tls.Free(104) + bp := tls.Alloc(72) + defer tls.Free(72) var i int32 var nTrans int32 = 0 // Number of databases with an active write-transaction @@ -103470,9 +103470,9 @@ func vdbeCommit(tls *libc.TLS, db uintptr, p uintptr) int32 { /* sqlite3.c:81537 var pVfs uintptr = (*Sqlite3)(unsafe.Pointer(db)).FpVfs var zSuper uintptr = uintptr(0) // File-name for the super-journal var zMainFile uintptr = Xsqlite3BtreeGetFilename(tls, (*Db)(unsafe.Pointer((*Sqlite3)(unsafe.Pointer(db)).FaDb)).FpBt) - *(*uintptr)(unsafe.Pointer(bp + 96 /* pSuperJrnl */)) = uintptr(0) + *(*uintptr)(unsafe.Pointer(bp + 64 /* pSuperJrnl */)) = uintptr(0) var offset I64 = int64(0) - // var res int32 at bp+92, 4 + // var res int32 at bp+60, 4 var retryCount int32 = 0 var nMainFile int32 @@ -103484,30 +103484,30 @@ func vdbeCommit(tls *libc.TLS, db uintptr, p uintptr) int32 { /* sqlite3.c:81537 return SQLITE_NOMEM } zSuper += uintptr(4) - for ok := true; ok; ok = ((rc == SQLITE_OK) && (*(*int32)(unsafe.Pointer(bp + 92 /* res */)) != 0)) { - // var iRandom U32 at bp+88, 4 + for ok := true; ok; ok = ((rc == SQLITE_OK) && (*(*int32)(unsafe.Pointer(bp + 60 /* res */)) != 0)) { + // var iRandom U32 at bp+56, 4 if retryCount != 0 { if retryCount > 100 { - Xsqlite3_log(tls, SQLITE_FULL, ts+5570 /* "MJ delete: %s" */, libc.VaList(bp+32, zSuper)) + Xsqlite3_log(tls, SQLITE_FULL, ts+5570 /* "MJ delete: %s" */, libc.VaList(bp+24, zSuper)) Xsqlite3OsDelete(tls, pVfs, zSuper, 0) break } else if retryCount == 1 { - Xsqlite3_log(tls, SQLITE_FULL, ts+5584 /* "MJ collide: %s" */, libc.VaList(bp+48, zSuper)) + Xsqlite3_log(tls, SQLITE_FULL, ts+5584 /* "MJ collide: %s" */, libc.VaList(bp+32, zSuper)) } } retryCount++ - Xsqlite3_randomness(tls, int32(unsafe.Sizeof(U32(0))), bp+88 /* &iRandom */) + Xsqlite3_randomness(tls, int32(unsafe.Sizeof(U32(0))), bp+56 /* &iRandom */) Xsqlite3_snprintf(tls, 13, (zSuper + uintptr(nMainFile)), ts+5599, /* "-mj%06X9%02X" */ - libc.VaList(bp+64, ((*(*U32)(unsafe.Pointer(bp + 88 /* iRandom */))>>8)&U32(0xffffff)), (*(*U32)(unsafe.Pointer(bp + 88 /* iRandom */))&U32(0xff)))) + libc.VaList(bp+40, ((*(*U32)(unsafe.Pointer(bp + 56 /* iRandom */))>>8)&U32(0xffffff)), (*(*U32)(unsafe.Pointer(bp + 56 /* iRandom */))&U32(0xff)))) // The antipenultimate character of the super-journal name must // be "9" to avoid name collisions when using 8+3 filenames. - rc = Xsqlite3OsAccess(tls, pVfs, zSuper, SQLITE_ACCESS_EXISTS, bp+92 /* &res */) + rc = Xsqlite3OsAccess(tls, pVfs, zSuper, SQLITE_ACCESS_EXISTS, bp+60 /* &res */) } if rc == SQLITE_OK { // Open the super-journal. - rc = Xsqlite3OsOpenMalloc(tls, pVfs, zSuper, bp+96, /* &pSuperJrnl */ + rc = Xsqlite3OsOpenMalloc(tls, pVfs, zSuper, bp+64, /* &pSuperJrnl */ (((SQLITE_OPEN_READWRITE | SQLITE_OPEN_CREATE) | SQLITE_OPEN_EXCLUSIVE) | SQLITE_OPEN_SUPER_JOURNAL), uintptr(0)) } if rc != SQLITE_OK { @@ -103528,10 +103528,10 @@ func vdbeCommit(tls *libc.TLS, db uintptr, p uintptr) int32 { /* sqlite3.c:81537 continue // Ignore TEMP and :memory: databases } - rc = Xsqlite3OsWrite(tls, *(*uintptr)(unsafe.Pointer(bp + 96 /* pSuperJrnl */)), zFile, (Xsqlite3Strlen30(tls, zFile) + 1), offset) + rc = Xsqlite3OsWrite(tls, *(*uintptr)(unsafe.Pointer(bp + 64 /* pSuperJrnl */)), zFile, (Xsqlite3Strlen30(tls, zFile) + 1), offset) offset = offset + (I64(Xsqlite3Strlen30(tls, zFile) + 1)) if rc != SQLITE_OK { - Xsqlite3OsCloseFree(tls, *(*uintptr)(unsafe.Pointer(bp + 96 /* pSuperJrnl */))) + Xsqlite3OsCloseFree(tls, *(*uintptr)(unsafe.Pointer(bp + 64 /* pSuperJrnl */))) Xsqlite3OsDelete(tls, pVfs, zSuper, 0) Xsqlite3DbFree(tls, db, (zSuper - uintptr(4))) return rc @@ -103541,9 +103541,9 @@ func vdbeCommit(tls *libc.TLS, db uintptr, p uintptr) int32 { /* sqlite3.c:81537 // Sync the super-journal file. If the IOCAP_SEQUENTIAL device // flag is set this is not required. - if (0 == (Xsqlite3OsDeviceCharacteristics(tls, *(*uintptr)(unsafe.Pointer(bp + 96 /* pSuperJrnl */))) & SQLITE_IOCAP_SEQUENTIAL)) && - (SQLITE_OK != (libc.AssignInt32(&rc, Xsqlite3OsSync(tls, *(*uintptr)(unsafe.Pointer(bp + 96 /* pSuperJrnl */)), SQLITE_SYNC_NORMAL)))) { - Xsqlite3OsCloseFree(tls, *(*uintptr)(unsafe.Pointer(bp + 96 /* pSuperJrnl */))) + if (0 == (Xsqlite3OsDeviceCharacteristics(tls, *(*uintptr)(unsafe.Pointer(bp + 64 /* pSuperJrnl */))) & SQLITE_IOCAP_SEQUENTIAL)) && + (SQLITE_OK != (libc.AssignInt32(&rc, Xsqlite3OsSync(tls, *(*uintptr)(unsafe.Pointer(bp + 64 /* pSuperJrnl */)), SQLITE_SYNC_NORMAL)))) { + Xsqlite3OsCloseFree(tls, *(*uintptr)(unsafe.Pointer(bp + 64 /* pSuperJrnl */))) Xsqlite3OsDelete(tls, pVfs, zSuper, 0) Xsqlite3DbFree(tls, db, (zSuper - uintptr(4))) return rc @@ -103564,7 +103564,7 @@ func vdbeCommit(tls *libc.TLS, db uintptr, p uintptr) int32 { /* sqlite3.c:81537 rc = Xsqlite3BtreeCommitPhaseOne(tls, pBt, zSuper) } } - Xsqlite3OsCloseFree(tls, *(*uintptr)(unsafe.Pointer(bp + 96 /* pSuperJrnl */))) + Xsqlite3OsCloseFree(tls, *(*uintptr)(unsafe.Pointer(bp + 64 /* pSuperJrnl */))) if rc != SQLITE_OK { Xsqlite3DbFree(tls, db, (zSuper - uintptr(4))) @@ -103943,8 +103943,8 @@ func Xsqlite3VdbeTransferError(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:82 // virtual machine from VDBE_MAGIC_RUN or VDBE_MAGIC_HALT back to // VDBE_MAGIC_INIT. func Xsqlite3VdbeReset(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:82187:20: */ - bp := tls.Alloc(16) - defer tls.Free(16) + bp := tls.Alloc(8) + defer tls.Free(8) var db uintptr db = (*Vdbe)(unsafe.Pointer(p)).Fdb @@ -105513,8 +105513,8 @@ func Xsqlite3VdbeSetVarmask(tls *libc.TLS, v uintptr, iVar int32) { /* sqlite3.c // This routine is invoked by date/time functions that use non-deterministic // features such as 'now'. func Xsqlite3NotPureFunc(tls *libc.TLS, pCtx uintptr) int32 { /* sqlite3.c:84023:20: */ - bp := tls.Alloc(24) - defer tls.Free(24) + bp := tls.Alloc(16) + defer tls.Free(16) var pOp uintptr if (*Sqlite3_context)(unsafe.Pointer(pCtx)).FpVdbe == uintptr(0) { @@ -106881,8 +106881,8 @@ func Xsqlite3_column_origin_name16(tls *libc.TLS, pStmt uintptr, N int32) uintpt // The error code stored in database p->db is overwritten with the return // value in any case. func vdbeUnbind(tls *libc.TLS, p uintptr, i int32) int32 { /* sqlite3.c:85487:12: */ - bp := tls.Alloc(16) - defer tls.Free(16) + bp := tls.Alloc(8) + defer tls.Free(8) var pVar uintptr if vdbeSafetyNotNull(tls, p) != 0 { @@ -107644,111 +107644,111 @@ func findNextHostParameter(tls *libc.TLS, zSql uintptr, pnToken uintptr) int32 { // parameter index is known, locate the value in p->aVar[]. Then render // the value as a literal in place of the host parameter name. func Xsqlite3VdbeExpandSql(tls *libc.TLS, p uintptr, zRawSql uintptr) uintptr { /* sqlite3.c:86286:21: */ - bp := tls.Alloc(288) - defer tls.Free(288) + bp := tls.Alloc(248) + defer tls.Free(248) var db uintptr // The database connection - *(*int32)(unsafe.Pointer(bp + 224 /* idx */)) = 0 // Index of a host parameter + *(*int32)(unsafe.Pointer(bp + 184 /* idx */)) = 0 // Index of a host parameter var nextIndex int32 = 1 // Index of next ? host parameter var n int32 // Length of a token prefix - // var nToken int32 at bp+220, 4 + // var nToken int32 at bp+180, 4 // Length of the parameter token var i int32 // Loop counter var pVar uintptr // Value of a host parameter - // var out StrAccum at bp+88, 32 + // var out StrAccum at bp+48, 32 // Accumulate the output here - // var utf8 Mem at bp+232, 56 + // var utf8 Mem at bp+192, 56 // Used to convert UTF16 into UTF8 for display - // var zBase [100]int8 at bp+120, 100 + // var zBase [100]int8 at bp+80, 100 // Initial working space db = (*Vdbe)(unsafe.Pointer(p)).Fdb - Xsqlite3StrAccumInit(tls, bp+88 /* &out */, uintptr(0), bp+120 /* &zBase[0] */, int32(unsafe.Sizeof([100]int8{})), + Xsqlite3StrAccumInit(tls, bp+48 /* &out */, uintptr(0), bp+80 /* &zBase[0] */, int32(unsafe.Sizeof([100]int8{})), *(*int32)(unsafe.Pointer((db + 128 /* &.aLimit */)))) if (*Sqlite3)(unsafe.Pointer(db)).FnVdbeExec > 1 { for *(*int8)(unsafe.Pointer(zRawSql)) != 0 { var zStart uintptr = zRawSql for (int32(*(*int8)(unsafe.Pointer(libc.PostIncUintptr(&zRawSql, 1)))) != '\n') && (*(*int8)(unsafe.Pointer(zRawSql)) != 0) { } - Xsqlite3_str_append(tls, bp+88 /* &out */, ts+5873 /* "-- " */, 3) + Xsqlite3_str_append(tls, bp+48 /* &out */, ts+5873 /* "-- " */, 3) - Xsqlite3_str_append(tls, bp+88 /* &out */, zStart, (int32((int64(zRawSql) - int64(zStart)) / 1))) + Xsqlite3_str_append(tls, bp+48 /* &out */, zStart, (int32((int64(zRawSql) - int64(zStart)) / 1))) } } else if int32((*Vdbe)(unsafe.Pointer(p)).FnVar) == 0 { - Xsqlite3_str_append(tls, bp+88 /* &out */, zRawSql, Xsqlite3Strlen30(tls, zRawSql)) + Xsqlite3_str_append(tls, bp+48 /* &out */, zRawSql, Xsqlite3Strlen30(tls, zRawSql)) } else { for *(*int8)(unsafe.Pointer(zRawSql)) != 0 { - n = findNextHostParameter(tls, zRawSql, bp+220 /* &nToken */) + n = findNextHostParameter(tls, zRawSql, bp+180 /* &nToken */) - Xsqlite3_str_append(tls, bp+88 /* &out */, zRawSql, n) + Xsqlite3_str_append(tls, bp+48 /* &out */, zRawSql, n) zRawSql += uintptr(n) - if *(*int32)(unsafe.Pointer(bp + 220 /* nToken */)) == 0 { + if *(*int32)(unsafe.Pointer(bp + 180 /* nToken */)) == 0 { break } if int32(*(*int8)(unsafe.Pointer(zRawSql))) == '?' { - if *(*int32)(unsafe.Pointer(bp + 220 /* nToken */)) > 1 { + if *(*int32)(unsafe.Pointer(bp + 180 /* nToken */)) > 1 { - Xsqlite3GetInt32(tls, (zRawSql + 1), bp+224 /* &idx */) + Xsqlite3GetInt32(tls, (zRawSql + 1), bp+184 /* &idx */) } else { - *(*int32)(unsafe.Pointer(bp + 224 /* idx */)) = nextIndex + *(*int32)(unsafe.Pointer(bp + 184 /* idx */)) = nextIndex } } else { - *(*int32)(unsafe.Pointer(bp + 224 /* idx */)) = Xsqlite3VdbeParameterIndex(tls, p, zRawSql, *(*int32)(unsafe.Pointer(bp + 220 /* nToken */))) + *(*int32)(unsafe.Pointer(bp + 184 /* idx */)) = Xsqlite3VdbeParameterIndex(tls, p, zRawSql, *(*int32)(unsafe.Pointer(bp + 180 /* nToken */))) } - zRawSql += uintptr(*(*int32)(unsafe.Pointer(bp + 220 /* nToken */))) + zRawSql += uintptr(*(*int32)(unsafe.Pointer(bp + 180 /* nToken */))) nextIndex = func() int32 { - if (*(*int32)(unsafe.Pointer(bp + 224 /* idx */)) + 1) > (nextIndex) { - return (*(*int32)(unsafe.Pointer(bp + 224 /* idx */)) + 1) + if (*(*int32)(unsafe.Pointer(bp + 184 /* idx */)) + 1) > (nextIndex) { + return (*(*int32)(unsafe.Pointer(bp + 184 /* idx */)) + 1) } return nextIndex }() - pVar = ((*Vdbe)(unsafe.Pointer(p)).FaVar + uintptr((*(*int32)(unsafe.Pointer(bp + 224 /* idx */))-1))*56) + pVar = ((*Vdbe)(unsafe.Pointer(p)).FaVar + uintptr((*(*int32)(unsafe.Pointer(bp + 184 /* idx */))-1))*56) if (int32((*Mem)(unsafe.Pointer(pVar)).Fflags) & MEM_Null) != 0 { - Xsqlite3_str_append(tls, bp+88 /* &out */, ts+756 /* "NULL" */, 4) + Xsqlite3_str_append(tls, bp+48 /* &out */, ts+756 /* "NULL" */, 4) } else if (int32((*Mem)(unsafe.Pointer(pVar)).Fflags) & (MEM_Int | MEM_IntReal)) != 0 { - Xsqlite3_str_appendf(tls, bp+88 /* &out */, ts+5446 /* "%lld" */, libc.VaList(bp, *(*I64)(unsafe.Pointer(pVar /* &.u */)))) + Xsqlite3_str_appendf(tls, bp+48 /* &out */, ts+5446 /* "%lld" */, libc.VaList(bp, *(*I64)(unsafe.Pointer(pVar /* &.u */)))) } else if (int32((*Mem)(unsafe.Pointer(pVar)).Fflags) & MEM_Real) != 0 { - Xsqlite3_str_appendf(tls, bp+88 /* &out */, ts+5396 /* "%!.15g" */, libc.VaList(bp+16, *(*float64)(unsafe.Pointer(pVar /* &.u */)))) + Xsqlite3_str_appendf(tls, bp+48 /* &out */, ts+5396 /* "%!.15g" */, libc.VaList(bp+8, *(*float64)(unsafe.Pointer(pVar /* &.u */)))) } else if (int32((*Mem)(unsafe.Pointer(pVar)).Fflags) & MEM_Str) != 0 { var nOut int32 // Number of bytes of the string text to include in output var enc U8 = (*Sqlite3)(unsafe.Pointer(db)).Fenc if int32(enc) != SQLITE_UTF8 { - libc.Xmemset(tls, bp+232 /* &utf8 */, 0, uint64(unsafe.Sizeof(Mem{}))) - (*Mem)(unsafe.Pointer(bp + 232 /* &utf8 */)).Fdb = db - Xsqlite3VdbeMemSetStr(tls, bp+232 /* &utf8 */, (*Mem)(unsafe.Pointer(pVar)).Fz, int64((*Mem)(unsafe.Pointer(pVar)).Fn), enc, uintptr(0)) - if SQLITE_NOMEM == Xsqlite3VdbeChangeEncoding(tls, bp+232 /* &utf8 */, SQLITE_UTF8) { - (*StrAccum)(unsafe.Pointer(bp + 88 /* &out */)).FaccError = U8(SQLITE_NOMEM) - (*StrAccum)(unsafe.Pointer(bp + 88 /* &out */)).FnAlloc = U32(0) + libc.Xmemset(tls, bp+192 /* &utf8 */, 0, uint64(unsafe.Sizeof(Mem{}))) + (*Mem)(unsafe.Pointer(bp + 192 /* &utf8 */)).Fdb = db + Xsqlite3VdbeMemSetStr(tls, bp+192 /* &utf8 */, (*Mem)(unsafe.Pointer(pVar)).Fz, int64((*Mem)(unsafe.Pointer(pVar)).Fn), enc, uintptr(0)) + if SQLITE_NOMEM == Xsqlite3VdbeChangeEncoding(tls, bp+192 /* &utf8 */, SQLITE_UTF8) { + (*StrAccum)(unsafe.Pointer(bp + 48 /* &out */)).FaccError = U8(SQLITE_NOMEM) + (*StrAccum)(unsafe.Pointer(bp + 48 /* &out */)).FnAlloc = U32(0) } - pVar = bp + 232 /* &utf8 */ + pVar = bp + 192 /* &utf8 */ } nOut = (*Mem)(unsafe.Pointer(pVar)).Fn - Xsqlite3_str_appendf(tls, bp+88 /* &out */, ts+5877 /* "'%.*q'" */, libc.VaList(bp+32, nOut, (*Mem)(unsafe.Pointer(pVar)).Fz)) + Xsqlite3_str_appendf(tls, bp+48 /* &out */, ts+5877 /* "'%.*q'" */, libc.VaList(bp+16, nOut, (*Mem)(unsafe.Pointer(pVar)).Fz)) if int32(enc) != SQLITE_UTF8 { - Xsqlite3VdbeMemRelease(tls, bp+232 /* &utf8 */) + Xsqlite3VdbeMemRelease(tls, bp+192 /* &utf8 */) } } else if (int32((*Mem)(unsafe.Pointer(pVar)).Fflags) & MEM_Zero) != 0 { - Xsqlite3_str_appendf(tls, bp+88 /* &out */, ts+5884 /* "zeroblob(%d)" */, libc.VaList(bp+56, *(*int32)(unsafe.Pointer(pVar /* &.u */)))) + Xsqlite3_str_appendf(tls, bp+48 /* &out */, ts+5884 /* "zeroblob(%d)" */, libc.VaList(bp+32, *(*int32)(unsafe.Pointer(pVar /* &.u */)))) } else { var nOut int32 // Number of bytes of the blob to include in output - Xsqlite3_str_append(tls, bp+88 /* &out */, ts+5897 /* "x'" */, 2) + Xsqlite3_str_append(tls, bp+48 /* &out */, ts+5897 /* "x'" */, 2) nOut = (*Mem)(unsafe.Pointer(pVar)).Fn for i = 0; i < nOut; i++ { - Xsqlite3_str_appendf(tls, bp+88 /* &out */, ts+5900 /* "%02x" */, libc.VaList(bp+72, (int32(*(*int8)(unsafe.Pointer((*Mem)(unsafe.Pointer(pVar)).Fz + uintptr(i))))&0xff))) + Xsqlite3_str_appendf(tls, bp+48 /* &out */, ts+5900 /* "%02x" */, libc.VaList(bp+40, (int32(*(*int8)(unsafe.Pointer((*Mem)(unsafe.Pointer(pVar)).Fz + uintptr(i))))&0xff))) } - Xsqlite3_str_append(tls, bp+88 /* &out */, ts+5905 /* "'" */, 1) + Xsqlite3_str_append(tls, bp+48 /* &out */, ts+5905 /* "'" */, 1) } } } - if (*StrAccum)(unsafe.Pointer(bp+88 /* &out */)).FaccError != 0 { - Xsqlite3_str_reset(tls, bp+88 /* &out */) + if (*StrAccum)(unsafe.Pointer(bp+48 /* &out */)).FaccError != 0 { + Xsqlite3_str_reset(tls, bp+48 /* &out */) } - return Xsqlite3StrAccumFinish(tls, bp+88 /* &out */) + return Xsqlite3StrAccumFinish(tls, bp+48 /* &out */) } //************* End of vdbetrace.c ****************************************** @@ -108134,8 +108134,8 @@ func out2Prerelease(tls *libc.TLS, p uintptr, pOp uintptr) uintptr { /* sqlite3. // Execute as much of a VDBE program as we can. // This is the core of sqlite3_step(). func Xsqlite3VdbeExec(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:87179:20: */ - bp := tls.Alloc(1056) - defer tls.Free(1056) + bp := tls.Alloc(936) + defer tls.Free(936) var aOp uintptr // Copy of p->aOp var pOp uintptr // Current operation @@ -108172,13 +108172,13 @@ func Xsqlite3VdbeExec(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:87179:20: * var type1 U16 // Numeric type of left operand var type2 U16 // Numeric type of right operand var iA I64 // Integer value of left operand - // var iB I64 at bp+296, 8 + // var iB I64 at bp+176, 8 // Integer value of right operand var rA float64 // Real value of left operand var rB float64 // same as TK_RSHIFT, in1, in2, out3 - // var iA1 I64 at bp+312, 8 + // var iA1 I64 at bp+192, 8 - // var uA U64 at bp+304, 8 + // var uA U64 at bp+184, 8 var iB1 I64 var op U8 // same as TK_GE, jump, in1, in3 @@ -108202,22 +108202,22 @@ func Xsqlite3VdbeExec(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:87179:20: * var c int32 // jump, in1 var c1 int32 // out3 var pC uintptr - // var p22 U32 at bp+328, 4 + // var p22 U32 at bp+208, 4 // column number to retrieve - // var pC1 uintptr at bp+320, 8 + // var pC1 uintptr at bp+200, 8 // The VDBE cursor var pCrsr uintptr // The BTree cursor var aOffset uintptr // aOffset[i] is offset to start of data for i-th column var len int32 // The length of the serialized data for the column var i2 int32 // Loop counter var pDest uintptr // Where to write the extracted value - // var sMem Mem at bp+336, 56 + // var sMem Mem at bp+216, 56 // For storing the record being decoded var zData uintptr // Part of the record being decoded var zHdr uintptr // Next unparsed byte of the header var zEndHdr uintptr // Pointer to first byte after the header var offset64 U64 // 64-bit offset - // var t U32 at bp+392, 4 + // var t U32 at bp+272, 4 // A type code from the record header var pReg uintptr var zAffinity uintptr @@ -108239,7 +108239,7 @@ func Xsqlite3VdbeExec(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:87179:20: * var len1 U32 // Length of a field var zHdr1 uintptr // Where to write next byte of the header var zPayload uintptr // out2 - // var nEntry I64 at bp+400, 8 + // var nEntry I64 at bp+280, 8 var pCrsr1 uintptr var isSchemaChange int32 @@ -108259,9 +108259,9 @@ func Xsqlite3VdbeExec(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:87179:20: * var desiredAutoCommit int32 var iRollback int32 var pBt uintptr - // var iMeta int32 at bp+408, 4 + // var iMeta int32 at bp+288, 4 // out2 - // var iMeta1 int32 at bp+412, 4 + // var iMeta1 int32 at bp+292, 4 var iDb int32 var iCookie int32 @@ -108283,20 +108283,20 @@ func Xsqlite3VdbeExec(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:87179:20: * var pCx3 uintptr var flags31 U16 var newType U16 // jump, in3, group - // var res1 int32 at bp+416, 4 + // var res1 int32 at bp+296, 4 // Comparison result var oc int32 // Opcode var pC3 uintptr // The cursor to seek - // var r UnpackedRecord at bp+424, 24 + // var r UnpackedRecord at bp+304, 24 // The key to seek for var nField2 int32 // Number of columns or fields in the key var iKey I64 // The rowid we are to seek to var eqOnly int32 var pC4 uintptr - // var res3 int32 at bp+472, 4 + // var res3 int32 at bp+352, 4 var nStep int32 - // var r1 UnpackedRecord at bp+448, 24 + // var r1 UnpackedRecord at bp+328, 24 var pC5 uintptr // jump, in3 var pC6 uintptr // jump, in3 @@ -108304,28 +108304,28 @@ func Xsqlite3VdbeExec(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:87179:20: * var takeJump int32 var ii1 int32 var pC7 uintptr - // var res4 int32 at bp+504, 4 + // var res4 int32 at bp+384, 4 var pFree uintptr var pIdxKey uintptr - // var r2 UnpackedRecord at bp+480, 24 + // var r2 UnpackedRecord at bp+360, 24 // If pIn3->u.i does not contain an integer, compute iKey as the // integer value of pIn3. Jump to P2 if pIn3 cannot be converted // into an integer without loss of information. Take care to avoid // changing the datatype of pIn3, however, as it is used by other // parts of the prepared statement. - // var x Mem at bp+512, 56 + // var x Mem at bp+392, 56 // jump, in3 var pC8 uintptr var pCrsr2 uintptr - // var res5 int32 at bp+568, 4 + // var res5 int32 at bp+448, 4 var iKey1 U64 // out2 - // var v I64 at bp+576, 8 + // var v I64 at bp+456, 8 // The new rowid var pC9 uintptr // Cursor of table to get the new rowid - // var res6 int32 at bp+572, 4 + // var res6 int32 at bp+452, 4 // Result of an sqlite3BtreeLast() var cnt1 int32 // Counter to limit the number of searches var pMem1 uintptr // Register holding largest rowid for AUTOINCREMENT @@ -108336,7 +108336,7 @@ func Xsqlite3VdbeExec(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:87179:20: * var seekResult int32 // Result of prior seek or 0 if no USESEEKRESULT flag var zDb uintptr // database name - used by the update hook var pTab uintptr // Table structure - used by update and pre-update hooks - // var x1 BtreePayload at bp+584, 48 + // var x1 BtreePayload at bp+464, 48 var pDest1 uintptr // Cursor to write to var pSrc uintptr // Cursor to read from @@ -108346,7 +108346,7 @@ func Xsqlite3VdbeExec(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:87179:20: * var pTab1 uintptr var opflags int32 var pC12 uintptr - // var res7 int32 at bp+632, 4 + // var res7 int32 at bp+512, 4 var nKeyCol int32 var pC13 uintptr @@ -108354,69 +108354,69 @@ func Xsqlite3VdbeExec(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:87179:20: * var pCrsr3 uintptr var n3 U32 // out2 var pC15 uintptr - // var v3 I64 at bp+640, 8 + // var v3 I64 at bp+520, 8 var pVtab uintptr var pModule uintptr var pC16 uintptr // jump var pC17 uintptr var pCrsr4 uintptr - // var res8 int32 at bp+648, 4 + // var res8 int32 at bp+528, 4 // jump var pC18 uintptr var pCrsr5 uintptr - // var res9 int32 at bp+652, 4 + // var res9 int32 at bp+532, 4 var sz I64 // jump var pC19 uintptr var pCrsr6 uintptr - // var res10 int32 at bp+656, 4 + // var res10 int32 at bp+536, 4 // jump var pC20 uintptr // in2 var pC21 uintptr - // var x2 BtreePayload at bp+664, 48 + // var x2 BtreePayload at bp+544, 48 // in2 var pC22 uintptr var pC23 uintptr var pCrsr7 uintptr - // var res11 int32 at bp+736, 4 + // var res11 int32 at bp+616, 4 - // var r3 UnpackedRecord at bp+712, 24 + // var r3 UnpackedRecord at bp+592, 24 // out2 var pC24 uintptr // The P1 index cursor var pTabCur uintptr // The P2 table cursor (OP_DeferredSeek only) - // var rowid I64 at bp+744, 8 + // var rowid I64 at bp+624, 8 var pC25 uintptr var nCellKey I64 var pCur1 uintptr - // var m Mem at bp+752, 56 + // var m Mem at bp+632, 56 // jump var pC26 uintptr var res12 int32 - // var r4 UnpackedRecord at bp+808, 24 + // var r4 UnpackedRecord at bp+688, 24 // out2 - // var iMoved int32 at bp+832, 4 + // var iMoved int32 at bp+712, 4 var iDb2 int32 - // var nChange int32 at bp+836, 4 + // var nChange int32 at bp+716, 4 var pC27 uintptr // out2 - // var pgno Pgno at bp+840, 4 + // var pgno Pgno at bp+720, 4 var pDb2 uintptr var iDb3 int32 var zSchema uintptr var zSql uintptr - // var initData InitData at bp+848, 40 + // var initData InitData at bp+728, 40 var nRoot int32 // Number of tables to check. (Number of root pages.) var aRoot uintptr // Array of rootpage numbers for tables to be checked - // var nErr int32 at bp+888, 4 + // var nErr int32 at bp+768, 4 // Number of errors reported var z uintptr // Text of the error report var pnErr uintptr // jump, in1, out3 - // var val I64 at bp+896, 8 + // var val I64 at bp+776, 8 // jump, in1, in3 var iSet int32 var exists int32 // jump @@ -108431,7 +108431,7 @@ func Xsqlite3VdbeExec(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:87179:20: * var pFrame3 uintptr var pIn uintptr // in2 var pFrame4 uintptr // in1, out2, in3 - // var x3 I64 at bp+904, 8 + // var x3 I64 at bp+784, 8 var n4 int32 var pCtx uintptr @@ -108440,7 +108440,7 @@ func Xsqlite3VdbeExec(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:87179:20: * var pMem3 uintptr var pMem4 uintptr var i5 int32 // Loop counter - // var aRes [3]int32 at bp+912, 12 + // var aRes [3]int32 at bp+792, 12 // Results var pMem5 uintptr // out2 var pBt1 uintptr // Btree to change journal mode of @@ -108455,11 +108455,11 @@ func Xsqlite3VdbeExec(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:87179:20: * var p13 int32 var isWriteLock U8 var pVTab uintptr - // var sMem1 Mem at bp+928, 56 + // var sMem1 Mem at bp+808, 56 // For storing the record being decoded var zTab uintptr var pCur2 uintptr - // var pVCur uintptr at bp+984, 8 + // var pVCur uintptr at bp+864, 8 var pVtab1 uintptr var pModule1 uintptr // jump @@ -108477,7 +108477,7 @@ func Xsqlite3VdbeExec(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:87179:20: * var pVtab3 uintptr var pModule3 uintptr var pDest2 uintptr - // var sContext Sqlite3_context at bp+992, 56 + // var sContext Sqlite3_context at bp+872, 56 var pCur4 uintptr // jump var pVtab4 uintptr @@ -108492,7 +108492,7 @@ func Xsqlite3VdbeExec(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:87179:20: * var pModule5 uintptr var nArg1 int32 var i7 int32 - // var rowid1 Sqlite_int64 at bp+1048, 8 + // var rowid1 Sqlite_int64 at bp+928, 8 var apArg1 uintptr var pX1 uintptr // out2 @@ -111444,15 +111444,15 @@ __190: if !(*(*uintptr)(unsafe.Pointer(pOp + 16 /* &.p4 */)) != 0) { goto __195 } - (*Vdbe)(unsafe.Pointer(p)).FzErrMsg = Xsqlite3MPrintf(tls, db, ts+5928 /* "%z: %s" */, libc.VaList(bp+16, (*Vdbe)(unsafe.Pointer(p)).FzErrMsg, *(*uintptr)(unsafe.Pointer(pOp + 16 /* &.p4 */)))) + (*Vdbe)(unsafe.Pointer(p)).FzErrMsg = Xsqlite3MPrintf(tls, db, ts+5928 /* "%z: %s" */, libc.VaList(bp+8, (*Vdbe)(unsafe.Pointer(p)).FzErrMsg, *(*uintptr)(unsafe.Pointer(pOp + 16 /* &.p4 */)))) __195: ; goto __194 __193: - Xsqlite3VdbeError(tls, p, ts+3630 /* "%s" */, libc.VaList(bp+40, *(*uintptr)(unsafe.Pointer(pOp + 16 /* &.p4 */)))) + Xsqlite3VdbeError(tls, p, ts+3630 /* "%s" */, libc.VaList(bp+24, *(*uintptr)(unsafe.Pointer(pOp + 16 /* &.p4 */)))) __194: ; - Xsqlite3_log(tls, (*Op)(unsafe.Pointer(pOp)).Fp1, ts+5935 /* "abort at %d in [..." */, libc.VaList(bp+56, pcx, (*Vdbe)(unsafe.Pointer(p)).FzSql, (*Vdbe)(unsafe.Pointer(p)).FzErrMsg)) + Xsqlite3_log(tls, (*Op)(unsafe.Pointer(pOp)).Fp1, ts+5935 /* "abort at %d in [..." */, libc.VaList(bp+32, pcx, (*Vdbe)(unsafe.Pointer(p)).FzSql, (*Vdbe)(unsafe.Pointer(p)).FzErrMsg)) __192: ; rc = Xsqlite3VdbeHalt(tls, p) @@ -112024,7 +112024,7 @@ __37: // Real value of right operand goto __236 } iA = *(*I64)(unsafe.Pointer(pIn1 /* &.u */)) - *(*I64)(unsafe.Pointer(bp + 296 /* iB */)) = *(*I64)(unsafe.Pointer(pIn2 /* &.u */)) + *(*I64)(unsafe.Pointer(bp + 176 /* iB */)) = *(*I64)(unsafe.Pointer(pIn2 /* &.u */)) switch int32((*Op)(unsafe.Pointer(pOp)).Fopcode) { case OP_Add: goto __239 @@ -112039,7 +112039,7 @@ __37: // Real value of right operand } goto __238 __239: - if !(Xsqlite3AddInt64(tls, bp+296 /* &iB */, iA) != 0) { + if !(Xsqlite3AddInt64(tls, bp+176 /* &iB */, iA) != 0) { goto __244 } goto fp_math @@ -112047,7 +112047,7 @@ __244: ; goto __238 __240: - if !(Xsqlite3SubInt64(tls, bp+296 /* &iB */, iA) != 0) { + if !(Xsqlite3SubInt64(tls, bp+176 /* &iB */, iA) != 0) { goto __245 } goto fp_math @@ -112055,7 +112055,7 @@ __245: ; goto __238 __241: - if !(Xsqlite3MulInt64(tls, bp+296 /* &iB */, iA) != 0) { + if !(Xsqlite3MulInt64(tls, bp+176 /* &iB */, iA) != 0) { goto __246 } goto fp_math @@ -112069,13 +112069,13 @@ __242: goto arithmetic_result_is_null __247: ; - if !((iA == int64(-1)) && (*(*I64)(unsafe.Pointer(bp + 296 /* iB */)) == ((int64(-1)) - (int64(0xffffffff) | (I64((int64(0x7fffffff))) << 32))))) { + if !((iA == int64(-1)) && (*(*I64)(unsafe.Pointer(bp + 176 /* iB */)) == ((int64(-1)) - (int64(0xffffffff) | (I64((int64(0x7fffffff))) << 32))))) { goto __248 } goto fp_math __248: ; - *(*I64)(unsafe.Pointer(bp + 296 /* iB */)) /= iA + *(*I64)(unsafe.Pointer(bp + 176 /* iB */)) /= iA goto __238 __243: @@ -112091,12 +112091,12 @@ __249: iA = int64(1) __250: ; - *(*I64)(unsafe.Pointer(bp + 296 /* iB */)) %= iA + *(*I64)(unsafe.Pointer(bp + 176 /* iB */)) %= iA goto __238 __238: ; - *(*I64)(unsafe.Pointer(pOut /* &.u */)) = *(*I64)(unsafe.Pointer(bp + 296 /* iB */)) + *(*I64)(unsafe.Pointer(pOut /* &.u */)) = *(*I64)(unsafe.Pointer(bp + 176 /* iB */)) (*Mem)(unsafe.Pointer(pOut)).Fflags = (U16((int32((*Mem)(unsafe.Pointer((pOut))).Fflags) & libc.CplInt32((MEM_TypeMask | MEM_Zero))) | MEM_Int)) goto __237 __236: @@ -112144,7 +112144,7 @@ __259: __258: iA = Xsqlite3VdbeIntValue(tls, pIn1) - *(*I64)(unsafe.Pointer(bp + 296 /* iB */)) = Xsqlite3VdbeIntValue(tls, pIn2) + *(*I64)(unsafe.Pointer(bp + 176 /* iB */)) = Xsqlite3VdbeIntValue(tls, pIn2) if !(iA == int64(0)) { goto __260 } @@ -112157,7 +112157,7 @@ __260: iA = int64(1) __261: ; - rB = (float64(*(*I64)(unsafe.Pointer(bp + 296 /* iB */)) % iA)) + rB = (float64(*(*I64)(unsafe.Pointer(bp + 176 /* iB */)) % iA)) goto __253 __253: @@ -112245,19 +112245,19 @@ __42: goto __8 __264: ; - *(*I64)(unsafe.Pointer(bp + 312 /* iA1 */)) = Xsqlite3VdbeIntValue(tls, pIn2) + *(*I64)(unsafe.Pointer(bp + 192 /* iA1 */)) = Xsqlite3VdbeIntValue(tls, pIn2) iB1 = Xsqlite3VdbeIntValue(tls, pIn1) op = (*Op)(unsafe.Pointer(pOp)).Fopcode if !(int32(op) == OP_BitAnd) { goto __265 } - *(*I64)(unsafe.Pointer(bp + 312 /* iA1 */)) &= iB1 + *(*I64)(unsafe.Pointer(bp + 192 /* iA1 */)) &= iB1 goto __266 __265: if !(int32(op) == OP_BitOr) { goto __267 } - *(*I64)(unsafe.Pointer(bp + 312 /* iA1 */)) |= iB1 + *(*I64)(unsafe.Pointer(bp + 192 /* iA1 */)) |= iB1 goto __268 __267: if !(iB1 != int64(0)) { @@ -112281,31 +112281,31 @@ __270: if !(iB1 >= int64(64)) { goto __271 } - if (*(*I64)(unsafe.Pointer(bp + 312 /* iA1 */)) >= int64(0)) || (int32(op) == OP_ShiftLeft) { - *(*I64)(unsafe.Pointer(bp + 312 /* iA1 */)) = int64(0) + if (*(*I64)(unsafe.Pointer(bp + 192 /* iA1 */)) >= int64(0)) || (int32(op) == OP_ShiftLeft) { + *(*I64)(unsafe.Pointer(bp + 192 /* iA1 */)) = int64(0) } else { - *(*I64)(unsafe.Pointer(bp + 312 /* iA1 */)) = int64(-1) + *(*I64)(unsafe.Pointer(bp + 192 /* iA1 */)) = int64(-1) } goto __272 __271: - libc.Xmemcpy(tls, bp+304 /* &uA */, bp+312 /* &iA1 */, uint64(unsafe.Sizeof(U64(0)))) + libc.Xmemcpy(tls, bp+184 /* &uA */, bp+192 /* &iA1 */, uint64(unsafe.Sizeof(U64(0)))) if !(int32(op) == OP_ShiftLeft) { goto __273 } - *(*U64)(unsafe.Pointer(bp + 304 /* uA */)) <<= iB1 + *(*U64)(unsafe.Pointer(bp + 184 /* uA */)) <<= iB1 goto __274 __273: - *(*U64)(unsafe.Pointer(bp + 304 /* uA */)) >>= iB1 + *(*U64)(unsafe.Pointer(bp + 184 /* uA */)) >>= iB1 // Sign-extend on a right shift of a negative number - if !(*(*I64)(unsafe.Pointer(bp + 312 /* iA1 */)) < int64(0)) { + if !(*(*I64)(unsafe.Pointer(bp + 192 /* iA1 */)) < int64(0)) { goto __275 } - *(*U64)(unsafe.Pointer(bp + 304 /* uA */)) |= (U64(((U64((uint64(0xffffffff))) << 32) | uint64(0xffffffff))) << (int64(64) - iB1)) + *(*U64)(unsafe.Pointer(bp + 184 /* uA */)) |= (U64(((U64((uint64(0xffffffff))) << 32) | uint64(0xffffffff))) << (int64(64) - iB1)) __275: ; __274: ; - libc.Xmemcpy(tls, bp+312 /* &iA1 */, bp+304 /* &uA */, uint64(unsafe.Sizeof(I64(0)))) + libc.Xmemcpy(tls, bp+192 /* &iA1 */, bp+184 /* &uA */, uint64(unsafe.Sizeof(I64(0)))) __272: ; __269: @@ -112314,7 +112314,7 @@ __268: ; __266: ; - *(*I64)(unsafe.Pointer(pOut /* &.u */)) = *(*I64)(unsafe.Pointer(bp + 312 /* iA1 */)) + *(*I64)(unsafe.Pointer(pOut /* &.u */)) = *(*I64)(unsafe.Pointer(bp + 192 /* iA1 */)) (*Mem)(unsafe.Pointer(pOut)).Fflags = (U16((int32((*Mem)(unsafe.Pointer((pOut))).Fflags) & libc.CplInt32((MEM_TypeMask | MEM_Zero))) | MEM_Int)) goto __8 @@ -113168,14 +113168,14 @@ __344: __70: // PseudoTable input register ; - *(*uintptr)(unsafe.Pointer(bp + 320 /* pC1 */)) = *(*uintptr)(unsafe.Pointer((*Vdbe)(unsafe.Pointer(p)).FapCsr + uintptr((*Op)(unsafe.Pointer(pOp)).Fp1)*8)) + *(*uintptr)(unsafe.Pointer(bp + 200 /* pC1 */)) = *(*uintptr)(unsafe.Pointer((*Vdbe)(unsafe.Pointer(p)).FapCsr + uintptr((*Op)(unsafe.Pointer(pOp)).Fp1)*8)) - *(*U32)(unsafe.Pointer(bp + 328 /* p22 */)) = U32((*Op)(unsafe.Pointer(pOp)).Fp2) + *(*U32)(unsafe.Pointer(bp + 208 /* p22 */)) = U32((*Op)(unsafe.Pointer(pOp)).Fp2) // If the cursor cache is stale (meaning it is not currently point at // the correct row) then bring it up-to-date by doing the necessary // B-Tree seek. - rc = Xsqlite3VdbeCursorMoveto(tls, bp+320 /* &pC1 */, bp+328 /* &p22 */) + rc = Xsqlite3VdbeCursorMoveto(tls, bp+200 /* &pC1 */, bp+208 /* &p22 */) if !(rc != 0) { goto __345 } @@ -113185,24 +113185,24 @@ __345: pDest = (aMem + uintptr((*Op)(unsafe.Pointer(pOp)).Fp3)*56) - aOffset = (*VdbeCursor)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp + 320 /* pC1 */)))).FaOffset + aOffset = (*VdbeCursor)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp + 200 /* pC1 */)))).FaOffset - if !((*VdbeCursor)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp + 320 /* pC1 */)))).FcacheStatus != (*Vdbe)(unsafe.Pointer(p)).FcacheCtr) { + if !((*VdbeCursor)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp + 200 /* pC1 */)))).FcacheStatus != (*Vdbe)(unsafe.Pointer(p)).FcacheCtr) { goto __346 } //OPTIMIZATION-IF-FALSE - if !((*VdbeCursor)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp + 320 /* pC1 */)))).FnullRow != 0) { + if !((*VdbeCursor)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp + 200 /* pC1 */)))).FnullRow != 0) { goto __347 } - if !(int32((*VdbeCursor)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp + 320 /* pC1 */)))).FeCurType) == CURTYPE_PSEUDO) { + if !(int32((*VdbeCursor)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp + 200 /* pC1 */)))).FeCurType) == CURTYPE_PSEUDO) { goto __349 } // For the special case of as pseudo-cursor, the seekResult field // identifies the register that holds the record - pReg = (aMem + uintptr((*VdbeCursor)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp + 320 /* pC1 */)))).FseekResult)*56) + pReg = (aMem + uintptr((*VdbeCursor)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp + 200 /* pC1 */)))).FseekResult)*56) - (*VdbeCursor)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp + 320 /* pC1 */)))).FpayloadSize = libc.AssignPtrUint32(*(*uintptr)(unsafe.Pointer(bp + 320 /* pC1 */))+116 /* &.szRow */, U32((*Mem)(unsafe.Pointer(pReg)).Fn)) - (*VdbeCursor)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp + 320 /* pC1 */)))).FaRow = (*Mem)(unsafe.Pointer(pReg)).Fz + (*VdbeCursor)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp + 200 /* pC1 */)))).FpayloadSize = libc.AssignPtrUint32(*(*uintptr)(unsafe.Pointer(bp + 200 /* pC1 */))+116 /* &.szRow */, U32((*Mem)(unsafe.Pointer(pReg)).Fn)) + (*VdbeCursor)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp + 200 /* pC1 */)))).FaRow = (*Mem)(unsafe.Pointer(pReg)).Fz goto __350 __349: Xsqlite3VdbeMemSetNull(tls, pDest) @@ -113211,13 +113211,13 @@ __350: ; goto __348 __347: - pCrsr = *(*uintptr)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp + 320 /* pC1 */)) + 56 /* &.uc */)) + pCrsr = *(*uintptr)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp + 200 /* pC1 */)) + 56 /* &.uc */)) - (*VdbeCursor)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp + 320 /* pC1 */)))).FpayloadSize = Xsqlite3BtreePayloadSize(tls, pCrsr) - (*VdbeCursor)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp + 320 /* pC1 */)))).FaRow = Xsqlite3BtreePayloadFetch(tls, pCrsr, (*(*uintptr)(unsafe.Pointer(bp + 320 /* pC1 */)) + 116 /* &.szRow */)) + (*VdbeCursor)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp + 200 /* pC1 */)))).FpayloadSize = Xsqlite3BtreePayloadSize(tls, pCrsr) + (*VdbeCursor)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp + 200 /* pC1 */)))).FaRow = Xsqlite3BtreePayloadFetch(tls, pCrsr, (*(*uintptr)(unsafe.Pointer(bp + 200 /* pC1 */)) + 116 /* &.szRow */)) // Maximum page size is 64KiB - if !((*VdbeCursor)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp + 320 /* pC1 */)))).FpayloadSize > U32(*(*int32)(unsafe.Pointer((db + 128 /* &.aLimit */))))) { + if !((*VdbeCursor)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp + 200 /* pC1 */)))).FpayloadSize > U32(*(*int32)(unsafe.Pointer((db + 128 /* &.aLimit */))))) { goto __351 } goto too_big @@ -113225,27 +113225,27 @@ __351: ; __348: ; - (*VdbeCursor)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp + 320 /* pC1 */)))).FcacheStatus = (*Vdbe)(unsafe.Pointer(p)).FcacheCtr - (*VdbeCursor)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp + 320 /* pC1 */)))).FiHdrOffset = U32(func() uint8 { - if int32(*(*U8)(unsafe.Pointer((*VdbeCursor)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp + 320 /* pC1 */)))).FaRow))) < int32(U8(0x80)) { + (*VdbeCursor)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp + 200 /* pC1 */)))).FcacheStatus = (*Vdbe)(unsafe.Pointer(p)).FcacheCtr + (*VdbeCursor)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp + 200 /* pC1 */)))).FiHdrOffset = U32(func() uint8 { + if int32(*(*U8)(unsafe.Pointer((*VdbeCursor)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp + 200 /* pC1 */)))).FaRow))) < int32(U8(0x80)) { return uint8(func() int32 { - (*(*U32)(unsafe.Pointer(aOffset))) = U32(*(*U8)(unsafe.Pointer((*VdbeCursor)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp + 320 /* pC1 */)))).FaRow))) + (*(*U32)(unsafe.Pointer(aOffset))) = U32(*(*U8)(unsafe.Pointer((*VdbeCursor)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp + 200 /* pC1 */)))).FaRow))) return 1 }()) } - return Xsqlite3GetVarint32(tls, (*VdbeCursor)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp + 320 /* pC1 */)))).FaRow, (aOffset)) + return Xsqlite3GetVarint32(tls, (*VdbeCursor)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp + 200 /* pC1 */)))).FaRow, (aOffset)) }()) - (*VdbeCursor)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp + 320 /* pC1 */)))).FnHdrParsed = U16(0) + (*VdbeCursor)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp + 200 /* pC1 */)))).FnHdrParsed = U16(0) - if !((*VdbeCursor)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp + 320 /* pC1 */)))).FszRow < *(*U32)(unsafe.Pointer(aOffset))) { + if !((*VdbeCursor)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp + 200 /* pC1 */)))).FszRow < *(*U32)(unsafe.Pointer(aOffset))) { goto __352 } //OPTIMIZATION-IF-FALSE // pC->aRow does not have to hold the entire row, but it does at least // need to cover the header of the record. If pC->aRow does not contain // the complete header, then set it to zero, forcing the header to be // dynamically allocated. - (*VdbeCursor)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp + 320 /* pC1 */)))).FaRow = uintptr(0) - (*VdbeCursor)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp + 320 /* pC1 */)))).FszRow = U32(0) + (*VdbeCursor)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp + 200 /* pC1 */)))).FaRow = uintptr(0) + (*VdbeCursor)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp + 200 /* pC1 */)))).FszRow = U32(0) // Make sure a corrupt database has not given us an oversize header. // Do this now to avoid an oversize memory allocation. @@ -113255,7 +113255,7 @@ __348: // them, respectively. So the maximum header length results from a // 3-byte type for each of the maximum of 32768 columns plus three // extra bytes for the header length itself. 32768*3 + 3 = 98307. - if !((*(*U32)(unsafe.Pointer(aOffset)) > U32(98307)) || (*(*U32)(unsafe.Pointer(aOffset)) > (*VdbeCursor)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp + 320 /* pC1 */)))).FpayloadSize)) { + if !((*(*U32)(unsafe.Pointer(aOffset)) > U32(98307)) || (*(*U32)(unsafe.Pointer(aOffset)) > (*VdbeCursor)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp + 200 /* pC1 */)))).FpayloadSize)) { goto __354 } goto op_column_corrupt @@ -113275,7 +113275,7 @@ __352: // content area, the "page header" comes after the page content and so // this overread is harmless. Similar overreads can occur for a corrupt // database file. - zData = (*VdbeCursor)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp + 320 /* pC1 */)))).FaRow + zData = (*VdbeCursor)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp + 200 /* pC1 */)))).FaRow // Conditional skipped goto op_column_read_header @@ -113286,57 +113286,57 @@ __346: // Make sure at least the first p2+1 entries of the header have been // parsed and valid information is in aOffset[] and pC->aType[]. - if !(U32((*VdbeCursor)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp + 320 /* pC1 */)))).FnHdrParsed) <= *(*U32)(unsafe.Pointer(bp + 328 /* p22 */))) { + if !(U32((*VdbeCursor)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp + 200 /* pC1 */)))).FnHdrParsed) <= *(*U32)(unsafe.Pointer(bp + 208 /* p22 */))) { goto __355 } // If there is more header available for parsing in the record, try // to extract additional fields up through the p2+1-th field - if !((*VdbeCursor)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp + 320 /* pC1 */)))).FiHdrOffset < *(*U32)(unsafe.Pointer(aOffset))) { + if !((*VdbeCursor)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp + 200 /* pC1 */)))).FiHdrOffset < *(*U32)(unsafe.Pointer(aOffset))) { goto __357 } // Make sure zData points to enough of the record to cover the header. - if !((*VdbeCursor)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp + 320 /* pC1 */)))).FaRow == uintptr(0)) { + if !((*VdbeCursor)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp + 200 /* pC1 */)))).FaRow == uintptr(0)) { goto __359 } - libc.Xmemset(tls, bp+336 /* &sMem */, 0, uint64(unsafe.Sizeof(Mem{}))) - rc = Xsqlite3VdbeMemFromBtreeZeroOffset(tls, *(*uintptr)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp + 320 /* pC1 */)) + 56 /* &.uc */)), *(*U32)(unsafe.Pointer(aOffset)), bp+336 /* &sMem */) + libc.Xmemset(tls, bp+216 /* &sMem */, 0, uint64(unsafe.Sizeof(Mem{}))) + rc = Xsqlite3VdbeMemFromBtreeZeroOffset(tls, *(*uintptr)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp + 200 /* pC1 */)) + 56 /* &.uc */)), *(*U32)(unsafe.Pointer(aOffset)), bp+216 /* &sMem */) if !(rc != SQLITE_OK) { goto __361 } goto abort_due_to_error __361: ; - zData = (*Mem)(unsafe.Pointer(bp + 336 /* &sMem */)).Fz + zData = (*Mem)(unsafe.Pointer(bp + 216 /* &sMem */)).Fz goto __360 __359: - zData = (*VdbeCursor)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp + 320 /* pC1 */)))).FaRow + zData = (*VdbeCursor)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp + 200 /* pC1 */)))).FaRow __360: ; // Fill in pC->aType[i] and aOffset[i] values through the p2-th field. op_column_read_header: - i2 = int32((*VdbeCursor)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp + 320 /* pC1 */)))).FnHdrParsed) + i2 = int32((*VdbeCursor)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp + 200 /* pC1 */)))).FnHdrParsed) offset64 = U64(*(*U32)(unsafe.Pointer(aOffset + uintptr(i2)*4))) - zHdr = (zData + uintptr((*VdbeCursor)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp + 320 /* pC1 */)))).FiHdrOffset)) + zHdr = (zData + uintptr((*VdbeCursor)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp + 200 /* pC1 */)))).FiHdrOffset)) zEndHdr = (zData + uintptr(*(*U32)(unsafe.Pointer(aOffset)))) __362: - if !((libc.AssignPtrUint32((*(*uintptr)(unsafe.Pointer(bp + 320 /* pC1 */))+120 /* &.aType */)+uintptr(i2)*4, libc.AssignPtrUint32(bp+392 /* t */, U32(*(*U8)(unsafe.Pointer(zHdr)))))) < U32(0x80)) { + if !((libc.AssignPtrUint32((*(*uintptr)(unsafe.Pointer(bp + 200 /* pC1 */))+120 /* &.aType */)+uintptr(i2)*4, libc.AssignPtrUint32(bp+272 /* t */, U32(*(*U8)(unsafe.Pointer(zHdr)))))) < U32(0x80)) { goto __365 } zHdr++ - offset64 = offset64 + (U64(Xsqlite3VdbeOneByteSerialTypeLen(tls, uint8(*(*U32)(unsafe.Pointer(bp + 392 /* t */)))))) + offset64 = offset64 + (U64(Xsqlite3VdbeOneByteSerialTypeLen(tls, uint8(*(*U32)(unsafe.Pointer(bp + 272 /* t */)))))) goto __366 __365: - zHdr += uintptr(Xsqlite3GetVarint32(tls, zHdr, bp+392 /* &t */)) - *(*U32)(unsafe.Pointer((*(*uintptr)(unsafe.Pointer(bp + 320 /* pC1 */)) + 120 /* &.aType */) + uintptr(i2)*4)) = *(*U32)(unsafe.Pointer(bp + 392 /* t */)) - offset64 = offset64 + (U64(Xsqlite3VdbeSerialTypeLen(tls, *(*U32)(unsafe.Pointer(bp + 392 /* t */))))) + zHdr += uintptr(Xsqlite3GetVarint32(tls, zHdr, bp+272 /* &t */)) + *(*U32)(unsafe.Pointer((*(*uintptr)(unsafe.Pointer(bp + 200 /* pC1 */)) + 120 /* &.aType */) + uintptr(i2)*4)) = *(*U32)(unsafe.Pointer(bp + 272 /* t */)) + offset64 = offset64 + (U64(Xsqlite3VdbeSerialTypeLen(tls, *(*U32)(unsafe.Pointer(bp + 272 /* t */))))) __366: ; *(*U32)(unsafe.Pointer(aOffset + uintptr(libc.PreIncInt32(&i2, 1))*4)) = (U32(offset64 & uint64(0xffffffff))) goto __363 __363: - if (U32(i2) <= *(*U32)(unsafe.Pointer(bp + 328 /* p22 */))) && (zHdr < zEndHdr) { + if (U32(i2) <= *(*U32)(unsafe.Pointer(bp + 208 /* p22 */))) && (zHdr < zEndHdr) { goto __362 } goto __364 @@ -113347,8 +113347,8 @@ __364: // (1) the bytes of the header extend past the declared header size // (2) the entire header was used but not all data was used // (3) the end of the data extends beyond the end of the record. - if !(((zHdr >= zEndHdr) && ((zHdr > zEndHdr) || (offset64 != U64((*VdbeCursor)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp + 320 /* pC1 */)))).FpayloadSize)))) || - (offset64 > U64((*VdbeCursor)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp + 320 /* pC1 */)))).FpayloadSize))) { + if !(((zHdr >= zEndHdr) && ((zHdr > zEndHdr) || (offset64 != U64((*VdbeCursor)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp + 200 /* pC1 */)))).FpayloadSize)))) || + (offset64 > U64((*VdbeCursor)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp + 200 /* pC1 */)))).FpayloadSize))) { goto __367 } if !(*(*U32)(unsafe.Pointer(aOffset)) == U32(0)) { @@ -113358,10 +113358,10 @@ __364: zHdr = zEndHdr goto __369 __368: - if !((*VdbeCursor)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp + 320 /* pC1 */)))).FaRow == uintptr(0)) { + if !((*VdbeCursor)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp + 200 /* pC1 */)))).FaRow == uintptr(0)) { goto __370 } - Xsqlite3VdbeMemRelease(tls, bp+336 /* &sMem */) + Xsqlite3VdbeMemRelease(tls, bp+216 /* &sMem */) __370: ; goto op_column_corrupt @@ -113370,24 +113370,24 @@ __369: __367: ; - (*VdbeCursor)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp + 320 /* pC1 */)))).FnHdrParsed = U16(i2) - (*VdbeCursor)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp + 320 /* pC1 */)))).FiHdrOffset = (U32((int64(zHdr) - int64(zData)) / 1)) - if !((*VdbeCursor)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp + 320 /* pC1 */)))).FaRow == uintptr(0)) { + (*VdbeCursor)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp + 200 /* pC1 */)))).FnHdrParsed = U16(i2) + (*VdbeCursor)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp + 200 /* pC1 */)))).FiHdrOffset = (U32((int64(zHdr) - int64(zData)) / 1)) + if !((*VdbeCursor)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp + 200 /* pC1 */)))).FaRow == uintptr(0)) { goto __371 } - Xsqlite3VdbeMemRelease(tls, bp+336 /* &sMem */) + Xsqlite3VdbeMemRelease(tls, bp+216 /* &sMem */) __371: ; goto __358 __357: - *(*U32)(unsafe.Pointer(bp + 392 /* t */)) = U32(0) + *(*U32)(unsafe.Pointer(bp + 272 /* t */)) = U32(0) __358: ; // If after trying to extract new entries from the header, nHdrParsed is // still not up to p2, that means that the record has fewer than p2 // columns. So the result will be either the default value or a NULL. - if !(U32((*VdbeCursor)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp + 320 /* pC1 */)))).FnHdrParsed) <= *(*U32)(unsafe.Pointer(bp + 328 /* p22 */))) { + if !(U32((*VdbeCursor)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp + 200 /* pC1 */)))).FnHdrParsed) <= *(*U32)(unsafe.Pointer(bp + 208 /* p22 */))) { goto __372 } if !(int32((*Op)(unsafe.Pointer(pOp)).Fp4type) == (-11)) { @@ -113404,7 +113404,7 @@ __372: ; goto __356 __355: - *(*U32)(unsafe.Pointer(bp + 392 /* t */)) = *(*U32)(unsafe.Pointer((*(*uintptr)(unsafe.Pointer(bp + 320 /* pC1 */)) + 120 /* &.aType */) + uintptr(*(*U32)(unsafe.Pointer(bp + 328 /* p22 */)))*4)) + *(*U32)(unsafe.Pointer(bp + 272 /* t */)) = *(*U32)(unsafe.Pointer((*(*uintptr)(unsafe.Pointer(bp + 200 /* pC1 */)) + 120 /* &.aType */) + uintptr(*(*U32)(unsafe.Pointer(bp + 208 /* p22 */)))*4)) __356: ; @@ -113419,19 +113419,19 @@ __356: __375: ; - if !((*VdbeCursor)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp + 320 /* pC1 */)))).FszRow >= *(*U32)(unsafe.Pointer(aOffset + uintptr((*(*U32)(unsafe.Pointer(bp + 328 /* p22 */))+U32(1)))*4))) { + if !((*VdbeCursor)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp + 200 /* pC1 */)))).FszRow >= *(*U32)(unsafe.Pointer(aOffset + uintptr((*(*U32)(unsafe.Pointer(bp + 208 /* p22 */))+U32(1)))*4))) { goto __376 } // This is the common case where the desired content fits on the original // page - where the content is not on an overflow page - zData = ((*VdbeCursor)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp + 320 /* pC1 */)))).FaRow + uintptr(*(*U32)(unsafe.Pointer(aOffset + uintptr(*(*U32)(unsafe.Pointer(bp + 328 /* p22 */)))*4)))) - if !(*(*U32)(unsafe.Pointer(bp + 392 /* t */)) < U32(12)) { + zData = ((*VdbeCursor)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp + 200 /* pC1 */)))).FaRow + uintptr(*(*U32)(unsafe.Pointer(aOffset + uintptr(*(*U32)(unsafe.Pointer(bp + 208 /* p22 */)))*4)))) + if !(*(*U32)(unsafe.Pointer(bp + 272 /* t */)) < U32(12)) { goto __378 } - Xsqlite3VdbeSerialGet(tls, zData, *(*U32)(unsafe.Pointer(bp + 392 /* t */)), pDest) + Xsqlite3VdbeSerialGet(tls, zData, *(*U32)(unsafe.Pointer(bp + 272 /* t */)), pDest) goto __379 __378: - (*Mem)(unsafe.Pointer(pDest)).Fn = libc.AssignInt32(&len, (int32((*(*U32)(unsafe.Pointer(bp + 392 /* t */)) - U32(12)) / U32(2)))) + (*Mem)(unsafe.Pointer(pDest)).Fn = libc.AssignInt32(&len, (int32((*(*U32)(unsafe.Pointer(bp + 272 /* t */)) - U32(12)) / U32(2)))) (*Mem)(unsafe.Pointer(pDest)).Fenc = encoding if !((*Mem)(unsafe.Pointer(pDest)).FszMalloc < (len + 2)) { goto __380 @@ -113451,7 +113451,7 @@ __381: libc.Xmemcpy(tls, (*Mem)(unsafe.Pointer(pDest)).Fz, zData, uint64(len)) *(*int8)(unsafe.Pointer((*Mem)(unsafe.Pointer(pDest)).Fz + uintptr(len))) = int8(0) *(*int8)(unsafe.Pointer((*Mem)(unsafe.Pointer(pDest)).Fz + uintptr((len + 1)))) = int8(0) - (*Mem)(unsafe.Pointer(pDest)).Fflags = aFlag1[(*(*U32)(unsafe.Pointer(bp + 392 /* t */)) & U32(1))] + (*Mem)(unsafe.Pointer(pDest)).Fflags = aFlag1[(*(*U32)(unsafe.Pointer(bp + 272 /* t */)) & U32(1))] __379: ; goto __377 @@ -113459,8 +113459,8 @@ __376: (*Mem)(unsafe.Pointer(pDest)).Fenc = encoding // This branch happens only when content is on overflow pages if !((((int32((*Op)(unsafe.Pointer(pOp)).Fp5) & (OPFLAG_LENGTHARG | OPFLAG_TYPEOFARG)) != 0) && - (((*(*U32)(unsafe.Pointer(bp + 392 /* t */)) >= U32(12)) && ((*(*U32)(unsafe.Pointer(bp + 392 /* t */)) & U32(1)) == U32(0))) || ((int32((*Op)(unsafe.Pointer(pOp)).Fp5) & OPFLAG_TYPEOFARG) != 0))) || - ((libc.AssignInt32(&len, int32(Xsqlite3VdbeSerialTypeLen(tls, *(*U32)(unsafe.Pointer(bp + 392 /* t */)))))) == 0)) { + (((*(*U32)(unsafe.Pointer(bp + 272 /* t */)) >= U32(12)) && ((*(*U32)(unsafe.Pointer(bp + 272 /* t */)) & U32(1)) == U32(0))) || ((int32((*Op)(unsafe.Pointer(pOp)).Fp5) & OPFLAG_TYPEOFARG) != 0))) || + ((libc.AssignInt32(&len, int32(Xsqlite3VdbeSerialTypeLen(tls, *(*U32)(unsafe.Pointer(bp + 272 /* t */)))))) == 0)) { goto __383 } // Content is irrelevant for @@ -113475,17 +113475,17 @@ __376: // read more. Use the global constant sqlite3CtypeMap[] as the array, // as that array is 256 bytes long (plenty for VdbeMemPrettyPrint()) // and it begins with a bunch of zeros. - Xsqlite3VdbeSerialGet(tls, uintptr(uintptr(unsafe.Pointer(&Xsqlite3CtypeMap))), *(*U32)(unsafe.Pointer(bp + 392 /* t */)), pDest) + Xsqlite3VdbeSerialGet(tls, uintptr(uintptr(unsafe.Pointer(&Xsqlite3CtypeMap))), *(*U32)(unsafe.Pointer(bp + 272 /* t */)), pDest) goto __384 __383: - rc = Xsqlite3VdbeMemFromBtree(tls, *(*uintptr)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp + 320 /* pC1 */)) + 56 /* &.uc */)), *(*U32)(unsafe.Pointer(aOffset + uintptr(*(*U32)(unsafe.Pointer(bp + 328 /* p22 */)))*4)), uint32(len), pDest) + rc = Xsqlite3VdbeMemFromBtree(tls, *(*uintptr)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp + 200 /* pC1 */)) + 56 /* &.uc */)), *(*U32)(unsafe.Pointer(aOffset + uintptr(*(*U32)(unsafe.Pointer(bp + 208 /* p22 */)))*4)), uint32(len), pDest) if !(rc != SQLITE_OK) { goto __385 } goto abort_due_to_error __385: ; - Xsqlite3VdbeSerialGet(tls, (*Mem)(unsafe.Pointer(pDest)).Fz, *(*U32)(unsafe.Pointer(bp + 392 /* t */)), pDest) + Xsqlite3VdbeSerialGet(tls, (*Mem)(unsafe.Pointer(pDest)).Fz, *(*U32)(unsafe.Pointer(bp + 272 /* t */)), pDest) *(*U16)(unsafe.Pointer(pDest + 8 /* &.flags */)) &= libc.Uint16FromInt32((libc.CplInt32(MEM_Ephem))) __384: ; @@ -113963,11 +113963,11 @@ __73: if !((*Op)(unsafe.Pointer(pOp)).Fp3 != 0) { goto __442 } - *(*I64)(unsafe.Pointer(bp + 400 /* nEntry */)) = Xsqlite3BtreeRowCountEst(tls, pCrsr1) + *(*I64)(unsafe.Pointer(bp + 280 /* nEntry */)) = Xsqlite3BtreeRowCountEst(tls, pCrsr1) goto __443 __442: - *(*I64)(unsafe.Pointer(bp + 400 /* nEntry */)) = int64(0) // Not needed. Only used to silence a warning. - rc = Xsqlite3BtreeCount(tls, db, pCrsr1, bp+400 /* &nEntry */) + *(*I64)(unsafe.Pointer(bp + 280 /* nEntry */)) = int64(0) // Not needed. Only used to silence a warning. + rc = Xsqlite3BtreeCount(tls, db, pCrsr1, bp+280 /* &nEntry */) if !(rc != 0) { goto __444 } @@ -113977,7 +113977,7 @@ __444: __443: ; pOut = out2Prerelease(tls, p, pOp) - *(*I64)(unsafe.Pointer(pOut /* &.u */)) = *(*I64)(unsafe.Pointer(bp + 400 /* nEntry */)) + *(*I64)(unsafe.Pointer(pOut /* &.u */)) = *(*I64)(unsafe.Pointer(bp + 280 /* nEntry */)) goto check_for_interrupt // Opcode: Savepoint P1 * * P4 * @@ -114075,7 +114075,7 @@ __455: if !(!(pSavepoint != 0)) { goto __456 } - Xsqlite3VdbeError(tls, p, ts+6010 /* "no such savepoin..." */, libc.VaList(bp+88, zName)) + Xsqlite3VdbeError(tls, p, ts+6010 /* "no such savepoin..." */, libc.VaList(bp+56, zName)) rc = SQLITE_ERROR goto __457 __456: @@ -114384,7 +114384,7 @@ __487: // halts. The sqlite3_step() wrapper function might then reprepare the // statement and rerun it from the beginning. __76: - *(*int32)(unsafe.Pointer(bp + 408 /* iMeta */)) = 0 + *(*int32)(unsafe.Pointer(bp + 288 /* iMeta */)) = 0 if !(((*Op)(unsafe.Pointer(pOp)).Fp2 != 0) && (((*Sqlite3)(unsafe.Pointer(db)).Fflags & uint64(SQLITE_QueryOnly)) != uint64(0))) { goto __497 @@ -114398,7 +114398,7 @@ __497: if !(pBt != 0) { goto __498 } - rc = Xsqlite3BtreeBeginTrans(tls, pBt, (*Op)(unsafe.Pointer(pOp)).Fp2, bp+408 /* &iMeta */) + rc = Xsqlite3BtreeBeginTrans(tls, pBt, (*Op)(unsafe.Pointer(pOp)).Fp2, bp+288 /* &iMeta */) if !(rc != SQLITE_OK) { goto __499 @@ -114449,7 +114449,7 @@ __498: ; if !(((*Op)(unsafe.Pointer(pOp)).Fp5 != 0) && - ((*(*int32)(unsafe.Pointer(bp + 408 /* iMeta */)) != (*Op)(unsafe.Pointer(pOp)).Fp3) || + ((*(*int32)(unsafe.Pointer(bp + 288 /* iMeta */)) != (*Op)(unsafe.Pointer(pOp)).Fp3) || ((*Schema)(unsafe.Pointer((*Db)(unsafe.Pointer((*Sqlite3)(unsafe.Pointer(db)).FaDb+uintptr((*Op)(unsafe.Pointer(pOp)).Fp1)*32)).FpSchema)).FiGeneration != *(*int32)(unsafe.Pointer(pOp + 16 /* &.p4 */))))) { goto __504 } @@ -114470,7 +114470,7 @@ __498: // v-table would have to be ready for the sqlite3_vtab structure itself // to be invalidated whenever sqlite3_step() is called from within // a v-table method. - if !((*Schema)(unsafe.Pointer((*Db)(unsafe.Pointer((*Sqlite3)(unsafe.Pointer(db)).FaDb+uintptr((*Op)(unsafe.Pointer(pOp)).Fp1)*32)).FpSchema)).Fschema_cookie != *(*int32)(unsafe.Pointer(bp + 408 /* iMeta */))) { + if !((*Schema)(unsafe.Pointer((*Db)(unsafe.Pointer((*Sqlite3)(unsafe.Pointer(db)).FaDb+uintptr((*Op)(unsafe.Pointer(pOp)).Fp1)*32)).FpSchema)).Fschema_cookie != *(*int32)(unsafe.Pointer(bp + 288 /* iMeta */))) { goto __505 } Xsqlite3ResetOneSchema(tls, db, (*Op)(unsafe.Pointer(pOp)).Fp1) @@ -114504,9 +114504,9 @@ __77: iDb = (*Op)(unsafe.Pointer(pOp)).Fp1 iCookie = (*Op)(unsafe.Pointer(pOp)).Fp3 - Xsqlite3BtreeGetMeta(tls, (*Db)(unsafe.Pointer((*Sqlite3)(unsafe.Pointer(db)).FaDb+uintptr(iDb)*32)).FpBt, iCookie, bp+412 /* &iMeta1 */) + Xsqlite3BtreeGetMeta(tls, (*Db)(unsafe.Pointer((*Sqlite3)(unsafe.Pointer(db)).FaDb+uintptr(iDb)*32)).FpBt, iCookie, bp+292 /* &iMeta1 */) pOut = out2Prerelease(tls, p, pOp) - *(*I64)(unsafe.Pointer(pOut /* &.u */)) = I64(*(*int32)(unsafe.Pointer(bp + 412 /* iMeta1 */))) + *(*I64)(unsafe.Pointer(pOut /* &.u */)) = I64(*(*int32)(unsafe.Pointer(bp + 292 /* iMeta1 */))) goto __8 // Opcode: SetCookie P1 P2 P3 * P5 @@ -115152,7 +115152,7 @@ __541: goto jump_to_p2 goto __546 __545: - rc = Xsqlite3BtreeLast(tls, *(*uintptr)(unsafe.Pointer(pC3 + 56 /* &.uc */)), bp+416 /* &res1 */) + rc = Xsqlite3BtreeLast(tls, *(*uintptr)(unsafe.Pointer(pC3 + 56 /* &.uc */)), bp+296 /* &res1 */) if !(rc != SQLITE_OK) { goto __547 } @@ -115201,7 +115201,7 @@ __544: ; __542: ; - rc = Xsqlite3BtreeMovetoUnpacked(tls, *(*uintptr)(unsafe.Pointer(pC3 + 56 /* &.uc */)), uintptr(0), int64(U64(iKey)), 0, bp+416 /* &res1 */) + rc = Xsqlite3BtreeMovetoUnpacked(tls, *(*uintptr)(unsafe.Pointer(pC3 + 56 /* &.uc */)), uintptr(0), int64(U64(iKey)), 0, bp+296 /* &res1 */) (*VdbeCursor)(unsafe.Pointer(pC3)).FmovetoTarget = iKey // Used by OP_Delete if !(rc != SQLITE_OK) { goto __553 @@ -115225,8 +115225,8 @@ __554: nField2 = *(*int32)(unsafe.Pointer(pOp + 16 /* &.p4 */)) - (*UnpackedRecord)(unsafe.Pointer(bp + 424 /* &r */)).FpKeyInfo = (*VdbeCursor)(unsafe.Pointer(pC3)).FpKeyInfo - (*UnpackedRecord)(unsafe.Pointer(bp + 424 /* &r */)).FnField = U16(nField2) + (*UnpackedRecord)(unsafe.Pointer(bp + 304 /* &r */)).FpKeyInfo = (*VdbeCursor)(unsafe.Pointer(pC3)).FpKeyInfo + (*UnpackedRecord)(unsafe.Pointer(bp + 304 /* &r */)).FnField = U16(nField2) // The next line of code computes as follows, only faster: // if( oc==OP_SeekGT || oc==OP_SeekLE ){ @@ -115234,23 +115234,23 @@ __554: // }else{ // r.default_rc = +1; // } - (*UnpackedRecord)(unsafe.Pointer(bp + 424 /* &r */)).Fdefault_rc = func() int8 { + (*UnpackedRecord)(unsafe.Pointer(bp + 304 /* &r */)).Fdefault_rc = func() int8 { if (1 & (oc - OP_SeekLT)) != 0 { return int8(-1) } return +int8(1) }() - (*UnpackedRecord)(unsafe.Pointer(bp + 424 /* &r */)).FaMem = (aMem + uintptr((*Op)(unsafe.Pointer(pOp)).Fp3)*56) - (*UnpackedRecord)(unsafe.Pointer(bp + 424 /* &r */)).FeqSeen = U8(0) - rc = Xsqlite3BtreeMovetoUnpacked(tls, *(*uintptr)(unsafe.Pointer(pC3 + 56 /* &.uc */)), bp+424 /* &r */, int64(0), 0, bp+416 /* &res1 */) + (*UnpackedRecord)(unsafe.Pointer(bp + 304 /* &r */)).FaMem = (aMem + uintptr((*Op)(unsafe.Pointer(pOp)).Fp3)*56) + (*UnpackedRecord)(unsafe.Pointer(bp + 304 /* &r */)).FeqSeen = U8(0) + rc = Xsqlite3BtreeMovetoUnpacked(tls, *(*uintptr)(unsafe.Pointer(pC3 + 56 /* &.uc */)), bp+304 /* &r */, int64(0), 0, bp+296 /* &res1 */) if !(rc != SQLITE_OK) { goto __555 } goto abort_due_to_error __555: ; - if !((eqOnly != 0) && (int32((*UnpackedRecord)(unsafe.Pointer(bp+424 /* &r */)).FeqSeen) == 0)) { + if !((eqOnly != 0) && (int32((*UnpackedRecord)(unsafe.Pointer(bp+304 /* &r */)).FeqSeen) == 0)) { goto __556 } @@ -115262,10 +115262,10 @@ __540: if !(oc >= OP_SeekGE) { goto __557 } - if !((*(*int32)(unsafe.Pointer(bp + 416 /* res1 */)) < 0) || ((*(*int32)(unsafe.Pointer(bp + 416 /* res1 */)) == 0) && (oc == OP_SeekGT))) { + if !((*(*int32)(unsafe.Pointer(bp + 296 /* res1 */)) < 0) || ((*(*int32)(unsafe.Pointer(bp + 296 /* res1 */)) == 0) && (oc == OP_SeekGT))) { goto __559 } - *(*int32)(unsafe.Pointer(bp + 416 /* res1 */)) = 0 + *(*int32)(unsafe.Pointer(bp + 296 /* res1 */)) = 0 rc = Xsqlite3BtreeNext(tls, *(*uintptr)(unsafe.Pointer(pC3 + 56 /* &.uc */)), 0) if !(rc != SQLITE_OK) { goto __561 @@ -115274,7 +115274,7 @@ __540: goto __562 } rc = SQLITE_OK - *(*int32)(unsafe.Pointer(bp + 416 /* res1 */)) = 1 + *(*int32)(unsafe.Pointer(bp + 296 /* res1 */)) = 1 goto __563 __562: goto abort_due_to_error @@ -115284,16 +115284,16 @@ __561: ; goto __560 __559: - *(*int32)(unsafe.Pointer(bp + 416 /* res1 */)) = 0 + *(*int32)(unsafe.Pointer(bp + 296 /* res1 */)) = 0 __560: ; goto __558 __557: ; - if !((*(*int32)(unsafe.Pointer(bp + 416 /* res1 */)) > 0) || ((*(*int32)(unsafe.Pointer(bp + 416 /* res1 */)) == 0) && (oc == OP_SeekLT))) { + if !((*(*int32)(unsafe.Pointer(bp + 296 /* res1 */)) > 0) || ((*(*int32)(unsafe.Pointer(bp + 296 /* res1 */)) == 0) && (oc == OP_SeekLT))) { goto __564 } - *(*int32)(unsafe.Pointer(bp + 416 /* res1 */)) = 0 + *(*int32)(unsafe.Pointer(bp + 296 /* res1 */)) = 0 rc = Xsqlite3BtreePrevious(tls, *(*uintptr)(unsafe.Pointer(pC3 + 56 /* &.uc */)), 0) if !(rc != SQLITE_OK) { goto __566 @@ -115302,7 +115302,7 @@ __557: goto __567 } rc = SQLITE_OK - *(*int32)(unsafe.Pointer(bp + 416 /* res1 */)) = 1 + *(*int32)(unsafe.Pointer(bp + 296 /* res1 */)) = 1 goto __568 __567: goto abort_due_to_error @@ -115314,7 +115314,7 @@ __566: __564: // res might be negative because the table is empty. Check to // see if this is the case. - *(*int32)(unsafe.Pointer(bp + 416 /* res1 */)) = Xsqlite3BtreeEof(tls, *(*uintptr)(unsafe.Pointer(pC3 + 56 /* &.uc */))) + *(*int32)(unsafe.Pointer(bp + 296 /* res1 */)) = Xsqlite3BtreeEof(tls, *(*uintptr)(unsafe.Pointer(pC3 + 56 /* &.uc */))) __565: ; __558: @@ -115322,7 +115322,7 @@ __558: seek_not_found: ; - if !(*(*int32)(unsafe.Pointer(bp + 416 /* res1 */)) != 0) { + if !(*(*int32)(unsafe.Pointer(bp + 296 /* res1 */)) != 0) { goto __569 } goto jump_to_p2 @@ -115400,23 +115400,23 @@ __572: ; nStep = (*Op)(unsafe.Pointer(pOp)).Fp1 - (*UnpackedRecord)(unsafe.Pointer(bp + 448 /* &r1 */)).FpKeyInfo = (*VdbeCursor)(unsafe.Pointer(pC4)).FpKeyInfo - (*UnpackedRecord)(unsafe.Pointer(bp + 448 /* &r1 */)).FnField = U16(*(*int32)(unsafe.Pointer(pOp + 1*24 + 16 /* &.p4 */))) - (*UnpackedRecord)(unsafe.Pointer(bp + 448 /* &r1 */)).Fdefault_rc = int8(0) - (*UnpackedRecord)(unsafe.Pointer(bp + 448 /* &r1 */)).FaMem = (aMem + uintptr((*Op)(unsafe.Pointer(pOp+1*24)).Fp3)*56) - *(*int32)(unsafe.Pointer(bp + 472 /* res3 */)) = 0 // Not needed. Only used to silence a warning. + (*UnpackedRecord)(unsafe.Pointer(bp + 328 /* &r1 */)).FpKeyInfo = (*VdbeCursor)(unsafe.Pointer(pC4)).FpKeyInfo + (*UnpackedRecord)(unsafe.Pointer(bp + 328 /* &r1 */)).FnField = U16(*(*int32)(unsafe.Pointer(pOp + 1*24 + 16 /* &.p4 */))) + (*UnpackedRecord)(unsafe.Pointer(bp + 328 /* &r1 */)).Fdefault_rc = int8(0) + (*UnpackedRecord)(unsafe.Pointer(bp + 328 /* &r1 */)).FaMem = (aMem + uintptr((*Op)(unsafe.Pointer(pOp+1*24)).Fp3)*56) + *(*int32)(unsafe.Pointer(bp + 352 /* res3 */)) = 0 // Not needed. Only used to silence a warning. __573: if !(1 != 0) { goto __574 } - rc = Xsqlite3VdbeIdxKeyCompare(tls, db, pC4, bp+448 /* &r1 */, bp+472 /* &res3 */) + rc = Xsqlite3VdbeIdxKeyCompare(tls, db, pC4, bp+328 /* &r1 */, bp+352 /* &res3 */) if !(rc != 0) { goto __575 } goto abort_due_to_error __575: ; - if !(*(*int32)(unsafe.Pointer(bp + 472 /* res3 */)) > 0) { + if !(*(*int32)(unsafe.Pointer(bp + 352 /* res3 */)) > 0) { goto __576 } seekscan_search_fail: @@ -115425,7 +115425,7 @@ seekscan_search_fail: goto jump_to_p2 __576: ; - if !(*(*int32)(unsafe.Pointer(bp + 472 /* res3 */)) == 0) { + if !(*(*int32)(unsafe.Pointer(bp + 352 /* res3 */)) == 0) { goto __577 } @@ -115620,10 +115620,10 @@ __99: if !(*(*int32)(unsafe.Pointer(pOp + 16 /* &.p4 */)) > 0) { goto __587 } - (*UnpackedRecord)(unsafe.Pointer(bp + 480 /* &r2 */)).FpKeyInfo = (*VdbeCursor)(unsafe.Pointer(pC7)).FpKeyInfo - (*UnpackedRecord)(unsafe.Pointer(bp + 480 /* &r2 */)).FnField = U16(*(*int32)(unsafe.Pointer(pOp + 16 /* &.p4 */))) - (*UnpackedRecord)(unsafe.Pointer(bp + 480 /* &r2 */)).FaMem = pIn3 - pIdxKey = bp + 480 /* &r2 */ + (*UnpackedRecord)(unsafe.Pointer(bp + 360 /* &r2 */)).FpKeyInfo = (*VdbeCursor)(unsafe.Pointer(pC7)).FpKeyInfo + (*UnpackedRecord)(unsafe.Pointer(bp + 360 /* &r2 */)).FnField = U16(*(*int32)(unsafe.Pointer(pOp + 16 /* &.p4 */))) + (*UnpackedRecord)(unsafe.Pointer(bp + 360 /* &r2 */)).FaMem = pIn3 + pIdxKey = bp + 360 /* &r2 */ pFree = uintptr(0) goto __588 __587: @@ -115680,7 +115680,7 @@ __594: ; __591: ; - rc = Xsqlite3BtreeMovetoUnpacked(tls, *(*uintptr)(unsafe.Pointer(pC7 + 56 /* &.uc */)), pIdxKey, int64(0), 0, bp+504 /* &res4 */) + rc = Xsqlite3BtreeMovetoUnpacked(tls, *(*uintptr)(unsafe.Pointer(pC7 + 56 /* &.uc */)), pIdxKey, int64(0), 0, bp+384 /* &res4 */) if !(pFree != 0) { goto __596 } @@ -115693,8 +115693,8 @@ __596: goto abort_due_to_error __597: ; - (*VdbeCursor)(unsafe.Pointer(pC7)).FseekResult = *(*int32)(unsafe.Pointer(bp + 504 /* res4 */)) - alreadyExists = (libc.Bool32(*(*int32)(unsafe.Pointer(bp + 504 /* res4 */)) == 0)) + (*VdbeCursor)(unsafe.Pointer(pC7)).FseekResult = *(*int32)(unsafe.Pointer(bp + 384 /* res4 */)) + alreadyExists = (libc.Bool32(*(*int32)(unsafe.Pointer(bp + 384 /* res4 */)) == 0)) (*VdbeCursor)(unsafe.Pointer(pC7)).FnullRow = (U8(1 - alreadyExists)) (*VdbeCursor)(unsafe.Pointer(pC7)).FdeferredMoveto = U8(0) (*VdbeCursor)(unsafe.Pointer(pC7)).FcacheStatus = U32(CACHE_STALE) @@ -115784,15 +115784,15 @@ __100: // into an integer without loss of information. Take care to avoid // changing the datatype of pIn3, however, as it is used by other // parts of the prepared statement. - *(*Mem)(unsafe.Pointer(bp + 512 /* x */)) = *(*Mem)(unsafe.Pointer(pIn3)) - applyAffinity(tls, bp+512 /* &x */, int8(SQLITE_AFF_NUMERIC), encoding) - if !((int32((*Mem)(unsafe.Pointer(bp+512 /* &x */)).Fflags) & MEM_Int) == 0) { + *(*Mem)(unsafe.Pointer(bp + 392 /* x */)) = *(*Mem)(unsafe.Pointer(pIn3)) + applyAffinity(tls, bp+392 /* &x */, int8(SQLITE_AFF_NUMERIC), encoding) + if !((int32((*Mem)(unsafe.Pointer(bp+392 /* &x */)).Fflags) & MEM_Int) == 0) { goto __604 } goto jump_to_p2 __604: ; - iKey1 = U64(*(*I64)(unsafe.Pointer(bp + 512 /* &x */ /* &.u */))) + iKey1 = U64(*(*I64)(unsafe.Pointer(bp + 392 /* &x */ /* &.u */))) goto notExistsWithKey __603: ; @@ -115805,16 +115805,16 @@ notExistsWithKey: pCrsr2 = *(*uintptr)(unsafe.Pointer(pC8 + 56 /* &.uc */)) - *(*int32)(unsafe.Pointer(bp + 568 /* res5 */)) = 0 - rc = Xsqlite3BtreeMovetoUnpacked(tls, pCrsr2, uintptr(0), int64(iKey1), 0, bp+568 /* &res5 */) + *(*int32)(unsafe.Pointer(bp + 448 /* res5 */)) = 0 + rc = Xsqlite3BtreeMovetoUnpacked(tls, pCrsr2, uintptr(0), int64(iKey1), 0, bp+448 /* &res5 */) (*VdbeCursor)(unsafe.Pointer(pC8)).FmovetoTarget = I64(iKey1) // Used by OP_Delete (*VdbeCursor)(unsafe.Pointer(pC8)).FnullRow = U8(0) (*VdbeCursor)(unsafe.Pointer(pC8)).FcacheStatus = U32(CACHE_STALE) (*VdbeCursor)(unsafe.Pointer(pC8)).FdeferredMoveto = U8(0) - (*VdbeCursor)(unsafe.Pointer(pC8)).FseekResult = *(*int32)(unsafe.Pointer(bp + 568 /* res5 */)) - if !(*(*int32)(unsafe.Pointer(bp + 568 /* res5 */)) != 0) { + (*VdbeCursor)(unsafe.Pointer(pC8)).FseekResult = *(*int32)(unsafe.Pointer(bp + 448 /* res5 */)) + if !(*(*int32)(unsafe.Pointer(bp + 448 /* res5 */)) != 0) { goto __605 } @@ -115867,8 +115867,8 @@ __102: // out2 // AUTOINCREMENT feature. __103: // Root frame of VDBE - *(*I64)(unsafe.Pointer(bp + 576 /* v */)) = int64(0) - *(*int32)(unsafe.Pointer(bp + 572 /* res6 */)) = 0 + *(*I64)(unsafe.Pointer(bp + 456 /* v */)) = int64(0) + *(*int32)(unsafe.Pointer(bp + 452 /* res6 */)) = 0 pOut = out2Prerelease(tls, p, pOp) pC9 = *(*uintptr)(unsafe.Pointer((*Vdbe)(unsafe.Pointer(p)).FapCsr + uintptr((*Op)(unsafe.Pointer(pOp)).Fp1)*8)) @@ -115893,28 +115893,28 @@ __103: // Root frame of VDBE if !(!((int32(*(*uint8)(unsafe.Pointer(pC9 + 8 /* &.useRandomRowid */)) & 0x2 >> 1)) != 0)) { goto __609 } - rc = Xsqlite3BtreeLast(tls, *(*uintptr)(unsafe.Pointer(pC9 + 56 /* &.uc */)), bp+572 /* &res6 */) + rc = Xsqlite3BtreeLast(tls, *(*uintptr)(unsafe.Pointer(pC9 + 56 /* &.uc */)), bp+452 /* &res6 */) if !(rc != SQLITE_OK) { goto __610 } goto abort_due_to_error __610: ; - if !(*(*int32)(unsafe.Pointer(bp + 572 /* res6 */)) != 0) { + if !(*(*int32)(unsafe.Pointer(bp + 452 /* res6 */)) != 0) { goto __611 } - *(*I64)(unsafe.Pointer(bp + 576 /* v */)) = int64(1) // IMP: R-61914-48074 + *(*I64)(unsafe.Pointer(bp + 456 /* v */)) = int64(1) // IMP: R-61914-48074 goto __612 __611: ; - *(*I64)(unsafe.Pointer(bp + 576 /* v */)) = Xsqlite3BtreeIntegerKey(tls, *(*uintptr)(unsafe.Pointer(pC9 + 56 /* &.uc */))) - if !(*(*I64)(unsafe.Pointer(bp + 576 /* v */)) >= (int64((U64((uint64(0x7fffffff))) << 32) | uint64(0xffffffff)))) { + *(*I64)(unsafe.Pointer(bp + 456 /* v */)) = Xsqlite3BtreeIntegerKey(tls, *(*uintptr)(unsafe.Pointer(pC9 + 56 /* &.uc */))) + if !(*(*I64)(unsafe.Pointer(bp + 456 /* v */)) >= (int64((U64((uint64(0x7fffffff))) << 32) | uint64(0xffffffff)))) { goto __613 } libc.SetBitFieldPtr8Uint32(pC9+8 /* &.useRandomRowid */, Bool(1), 1, 0x2) goto __614 __613: - *(*I64)(unsafe.Pointer(bp + 576 /* v */))++ // IMP: R-29538-34987 + *(*I64)(unsafe.Pointer(bp + 456 /* v */))++ // IMP: R-29538-34987 __614: ; __612: @@ -115963,13 +115963,13 @@ __617: goto abort_due_to_error __621: ; - if !(*(*I64)(unsafe.Pointer(bp + 576 /* v */)) < (*(*I64)(unsafe.Pointer(pMem1 /* &.u */)) + int64(1))) { + if !(*(*I64)(unsafe.Pointer(bp + 456 /* v */)) < (*(*I64)(unsafe.Pointer(pMem1 /* &.u */)) + int64(1))) { goto __622 } - *(*I64)(unsafe.Pointer(bp + 576 /* v */)) = (*(*I64)(unsafe.Pointer(pMem1 /* &.u */)) + int64(1)) + *(*I64)(unsafe.Pointer(bp + 456 /* v */)) = (*(*I64)(unsafe.Pointer(pMem1 /* &.u */)) + int64(1)) __622: ; - *(*I64)(unsafe.Pointer(pMem1 /* &.u */)) = *(*I64)(unsafe.Pointer(bp + 576 /* v */)) + *(*I64)(unsafe.Pointer(pMem1 /* &.u */)) = *(*I64)(unsafe.Pointer(bp + 456 /* v */)) __615: ; if !((Bool(int32(*(*uint8)(unsafe.Pointer(pC9 + 8 /* &.useRandomRowid */)) & 0x2 >> 1))) != 0) { @@ -115983,14 +115983,14 @@ __615: // an AUTOINCREMENT table. cnt1 = 0 __624: - Xsqlite3_randomness(tls, int32(unsafe.Sizeof(I64(0))), bp+576 /* &v */) - *(*I64)(unsafe.Pointer(bp + 576 /* v */)) &= (I64((int64((U64((uint64(0x7fffffff))) << 32) | uint64(0xffffffff)))) >> 1) - *(*I64)(unsafe.Pointer(bp + 576 /* v */))++ // Ensure that v is greater than zero + Xsqlite3_randomness(tls, int32(unsafe.Sizeof(I64(0))), bp+456 /* &v */) + *(*I64)(unsafe.Pointer(bp + 456 /* v */)) &= (I64((int64((U64((uint64(0x7fffffff))) << 32) | uint64(0xffffffff)))) >> 1) + *(*I64)(unsafe.Pointer(bp + 456 /* v */))++ // Ensure that v is greater than zero goto __625 __625: - if (((libc.AssignInt32(&rc, Xsqlite3BtreeMovetoUnpacked(tls, *(*uintptr)(unsafe.Pointer(pC9 + 56 /* &.uc */)), uintptr(0), int64(U64(*(*I64)(unsafe.Pointer(bp + 576 /* v */)))), - 0, bp+572 /* &res6 */))) == SQLITE_OK) && - (*(*int32)(unsafe.Pointer(bp + 572 /* res6 */)) == 0)) && + if (((libc.AssignInt32(&rc, Xsqlite3BtreeMovetoUnpacked(tls, *(*uintptr)(unsafe.Pointer(pC9 + 56 /* &.uc */)), uintptr(0), int64(U64(*(*I64)(unsafe.Pointer(bp + 456 /* v */)))), + 0, bp+452 /* &res6 */))) == SQLITE_OK) && + (*(*int32)(unsafe.Pointer(bp + 452 /* res6 */)) == 0)) && (libc.PreIncInt32(&cnt1, 1) < 100) { goto __624 } @@ -116003,7 +116003,7 @@ __626: goto abort_due_to_error __627: ; - if !(*(*int32)(unsafe.Pointer(bp + 572 /* res6 */)) == 0) { + if !(*(*int32)(unsafe.Pointer(bp + 452 /* res6 */)) == 0) { goto __628 } rc = SQLITE_FULL // IMP: R-38219-53002 @@ -116016,7 +116016,7 @@ __623: (*VdbeCursor)(unsafe.Pointer(pC9)).FdeferredMoveto = U8(0) (*VdbeCursor)(unsafe.Pointer(pC9)).FcacheStatus = U32(CACHE_STALE) - *(*I64)(unsafe.Pointer(pOut /* &.u */)) = *(*I64)(unsafe.Pointer(bp + 576 /* v */)) + *(*I64)(unsafe.Pointer(pOut /* &.u */)) = *(*I64)(unsafe.Pointer(bp + 456 /* v */)) goto __8 // Opcode: Insert P1 P2 P3 P4 P5 @@ -116063,7 +116063,7 @@ __104: // Payload to be inserted pKey = (aMem + uintptr((*Op)(unsafe.Pointer(pOp)).Fp3)*56) - (*BtreePayload)(unsafe.Pointer(bp + 584 /* &x1 */)).FnKey = *(*I64)(unsafe.Pointer(pKey /* &.u */)) + (*BtreePayload)(unsafe.Pointer(bp + 464 /* &x1 */)).FnKey = *(*I64)(unsafe.Pointer(pKey /* &.u */)) if !((int32((*Op)(unsafe.Pointer(pOp)).Fp4type) == (-6)) && (((*Sqlite3)(unsafe.Pointer((db))).FxPreUpdateCallback != 0) || ((*Sqlite3)(unsafe.Pointer((db))).FxUpdateCallback != 0))) { goto __629 @@ -116086,7 +116086,7 @@ __630: if !(((*Sqlite3)(unsafe.Pointer(db)).FxPreUpdateCallback != 0) && !((int32((*Op)(unsafe.Pointer(pOp)).Fp5) & OPFLAG_ISUPDATE) != 0)) { goto __632 } - Xsqlite3VdbePreUpdateHook(tls, p, pC10, SQLITE_INSERT, zDb, pTab, (*BtreePayload)(unsafe.Pointer(bp+584 /* &x1 */)).FnKey, (*Op)(unsafe.Pointer(pOp)).Fp2, -1) + Xsqlite3VdbePreUpdateHook(tls, p, pC10, SQLITE_INSERT, zDb, pTab, (*BtreePayload)(unsafe.Pointer(bp+464 /* &x1 */)).FnKey, (*Op)(unsafe.Pointer(pOp)).Fp2, -1) __632: ; if !(((*Sqlite3)(unsafe.Pointer(db)).FxUpdateCallback == uintptr(0)) || ((*Table)(unsafe.Pointer(pTab)).FaCol == uintptr(0))) { @@ -116114,12 +116114,12 @@ __635: if !((int32((*Op)(unsafe.Pointer(pOp)).Fp5) & OPFLAG_LASTROWID) != 0) { goto __636 } - (*Sqlite3)(unsafe.Pointer(db)).FlastRowid = (*BtreePayload)(unsafe.Pointer(bp + 584 /* &x1 */)).FnKey + (*Sqlite3)(unsafe.Pointer(db)).FlastRowid = (*BtreePayload)(unsafe.Pointer(bp + 464 /* &x1 */)).FnKey __636: ; - (*BtreePayload)(unsafe.Pointer(bp + 584 /* &x1 */)).FpData = (*Mem)(unsafe.Pointer(pData)).Fz - (*BtreePayload)(unsafe.Pointer(bp + 584 /* &x1 */)).FnData = (*Mem)(unsafe.Pointer(pData)).Fn + (*BtreePayload)(unsafe.Pointer(bp + 464 /* &x1 */)).FpData = (*Mem)(unsafe.Pointer(pData)).Fz + (*BtreePayload)(unsafe.Pointer(bp + 464 /* &x1 */)).FnData = (*Mem)(unsafe.Pointer(pData)).Fn seekResult = func() int32 { if (int32((*Op)(unsafe.Pointer(pOp)).Fp5) & OPFLAG_USESEEKRESULT) != 0 { return (*VdbeCursor)(unsafe.Pointer(pC10)).FseekResult @@ -116129,14 +116129,14 @@ __636: if !((int32((*Mem)(unsafe.Pointer(pData)).Fflags) & MEM_Zero) != 0) { goto __637 } - (*BtreePayload)(unsafe.Pointer(bp + 584 /* &x1 */)).FnZero = *(*int32)(unsafe.Pointer(pData /* &.u */)) + (*BtreePayload)(unsafe.Pointer(bp + 464 /* &x1 */)).FnZero = *(*int32)(unsafe.Pointer(pData /* &.u */)) goto __638 __637: - (*BtreePayload)(unsafe.Pointer(bp + 584 /* &x1 */)).FnZero = 0 + (*BtreePayload)(unsafe.Pointer(bp + 464 /* &x1 */)).FnZero = 0 __638: ; - (*BtreePayload)(unsafe.Pointer(bp + 584 /* &x1 */)).FpKey = uintptr(0) - rc = Xsqlite3BtreeInsert(tls, *(*uintptr)(unsafe.Pointer(pC10 + 56 /* &.uc */)), bp+584, /* &x1 */ + (*BtreePayload)(unsafe.Pointer(bp + 464 /* &x1 */)).FpKey = uintptr(0) + rc = Xsqlite3BtreeInsert(tls, *(*uintptr)(unsafe.Pointer(pC10 + 56 /* &.uc */)), bp+464, /* &x1 */ (int32((*Op)(unsafe.Pointer(pOp)).Fp5) & ((OPFLAG_APPEND | OPFLAG_SAVEPOSITION) | OPFLAG_PREFORMAT)), seekResult) (*VdbeCursor)(unsafe.Pointer(pC10)).FdeferredMoveto = U8(0) @@ -116160,7 +116160,7 @@ __639: } return SQLITE_INSERT }(), - zDb, (*Table)(unsafe.Pointer(pTab)).FzName, (*BtreePayload)(unsafe.Pointer(bp+584 /* &x1 */)).FnKey) + zDb, (*Table)(unsafe.Pointer(pTab)).FzName, (*BtreePayload)(unsafe.Pointer(bp+464 /* &x1 */)).FnKey) __640: ; goto __8 @@ -116342,8 +116342,8 @@ __108: pIn3 = (aMem + uintptr((*Op)(unsafe.Pointer(pOp)).Fp3)*56) nKeyCol = *(*int32)(unsafe.Pointer(pOp + 16 /* &.p4 */)) - *(*int32)(unsafe.Pointer(bp + 632 /* res7 */)) = 0 - rc = Xsqlite3VdbeSorterCompare(tls, pC12, pIn3, nKeyCol, bp+632 /* &res7 */) + *(*int32)(unsafe.Pointer(bp + 512 /* res7 */)) = 0 + rc = Xsqlite3VdbeSorterCompare(tls, pC12, pIn3, nKeyCol, bp+512 /* &res7 */) if !(rc != 0) { goto __650 @@ -116351,7 +116351,7 @@ __108: goto abort_due_to_error __650: ; - if !(*(*int32)(unsafe.Pointer(bp + 632 /* res7 */)) != 0) { + if !(*(*int32)(unsafe.Pointer(bp + 512 /* res7 */)) != 0) { goto __651 } goto jump_to_p2 @@ -116483,7 +116483,7 @@ __657: if !((*VdbeCursor)(unsafe.Pointer(pC15)).FdeferredMoveto != 0) { goto __659 } - *(*I64)(unsafe.Pointer(bp + 640 /* v3 */)) = (*VdbeCursor)(unsafe.Pointer(pC15)).FmovetoTarget + *(*I64)(unsafe.Pointer(bp + 520 /* v3 */)) = (*VdbeCursor)(unsafe.Pointer(pC15)).FmovetoTarget goto __660 __659: if !(int32((*VdbeCursor)(unsafe.Pointer(pC15)).FeCurType) == CURTYPE_VTAB) { @@ -116493,7 +116493,7 @@ __659: pVtab = (*Sqlite3_vtab_cursor)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(pC15 + 56 /* &.uc */)))).FpVtab pModule = (*Sqlite3_vtab)(unsafe.Pointer(pVtab)).FpModule - rc = (*(*func(*libc.TLS, uintptr, uintptr) int32)(unsafe.Pointer((pModule + 96 /* &.xRowid */))))(tls, *(*uintptr)(unsafe.Pointer(pC15 + 56 /* &.uc */)), bp+640 /* &v3 */) + rc = (*(*func(*libc.TLS, uintptr, uintptr) int32)(unsafe.Pointer((pModule + 96 /* &.xRowid */))))(tls, *(*uintptr)(unsafe.Pointer(pC15 + 56 /* &.uc */)), bp+520 /* &v3 */) Xsqlite3VtabImportErrmsg(tls, p, pVtab) if !(rc != 0) { goto __663 @@ -116519,14 +116519,14 @@ __664: goto __8 __665: ; - *(*I64)(unsafe.Pointer(bp + 640 /* v3 */)) = Xsqlite3BtreeIntegerKey(tls, *(*uintptr)(unsafe.Pointer(pC15 + 56 /* &.uc */))) + *(*I64)(unsafe.Pointer(bp + 520 /* v3 */)) = Xsqlite3BtreeIntegerKey(tls, *(*uintptr)(unsafe.Pointer(pC15 + 56 /* &.uc */))) __662: ; __660: ; __658: ; - *(*I64)(unsafe.Pointer(pOut /* &.u */)) = *(*I64)(unsafe.Pointer(bp + 640 /* v3 */)) + *(*I64)(unsafe.Pointer(pOut /* &.u */)) = *(*I64)(unsafe.Pointer(bp + 520 /* v3 */)) goto __8 // Opcode: NullRow P1 * * * * @@ -116575,7 +116575,7 @@ __114: pC17 = *(*uintptr)(unsafe.Pointer((*Vdbe)(unsafe.Pointer(p)).FapCsr + uintptr((*Op)(unsafe.Pointer(pOp)).Fp1)*8)) pCrsr4 = *(*uintptr)(unsafe.Pointer(pC17 + 56 /* &.uc */)) - *(*int32)(unsafe.Pointer(bp + 648 /* res8 */)) = 0 + *(*int32)(unsafe.Pointer(bp + 528 /* res8 */)) = 0 if !(int32((*Op)(unsafe.Pointer(pOp)).Fopcode) == OP_SeekEnd) { goto __667 @@ -116590,8 +116590,8 @@ __668: ; __667: ; - rc = Xsqlite3BtreeLast(tls, pCrsr4, bp+648 /* &res8 */) - (*VdbeCursor)(unsafe.Pointer(pC17)).FnullRow = U8(*(*int32)(unsafe.Pointer(bp + 648 /* res8 */))) + rc = Xsqlite3BtreeLast(tls, pCrsr4, bp+528 /* &res8 */) + (*VdbeCursor)(unsafe.Pointer(pC17)).FnullRow = U8(*(*int32)(unsafe.Pointer(bp + 528 /* res8 */))) (*VdbeCursor)(unsafe.Pointer(pC17)).FdeferredMoveto = U8(0) (*VdbeCursor)(unsafe.Pointer(pC17)).FcacheStatus = U32(CACHE_STALE) if !(rc != 0) { @@ -116604,7 +116604,7 @@ __669: goto __670 } - if !(*(*int32)(unsafe.Pointer(bp + 648 /* res8 */)) != 0) { + if !(*(*int32)(unsafe.Pointer(bp + 528 /* res8 */)) != 0) { goto __671 } goto jump_to_p2 @@ -116624,27 +116624,27 @@ __115: pCrsr5 = *(*uintptr)(unsafe.Pointer(pC18 + 56 /* &.uc */)) - rc = Xsqlite3BtreeFirst(tls, pCrsr5, bp+652 /* &res9 */) + rc = Xsqlite3BtreeFirst(tls, pCrsr5, bp+532 /* &res9 */) if !(rc != 0) { goto __672 } goto abort_due_to_error __672: ; - if !(*(*int32)(unsafe.Pointer(bp + 652 /* res9 */)) == 0) { + if !(*(*int32)(unsafe.Pointer(bp + 532 /* res9 */)) == 0) { goto __673 } sz = Xsqlite3BtreeRowCountEst(tls, pCrsr5) if !((sz >= int64(0)) && (int32(Xsqlite3LogEst(tls, U64(sz))) < (*Op)(unsafe.Pointer(pOp)).Fp3)) { goto __674 } - *(*int32)(unsafe.Pointer(bp + 652 /* res9 */)) = 1 + *(*int32)(unsafe.Pointer(bp + 532 /* res9 */)) = 1 __674: ; __673: ; - if !(*(*int32)(unsafe.Pointer(bp + 652 /* res9 */)) != 0) { + if !(*(*int32)(unsafe.Pointer(bp + 532 /* res9 */)) != 0) { goto __675 } goto jump_to_p2 @@ -116691,17 +116691,17 @@ __118: pC19 = *(*uintptr)(unsafe.Pointer((*Vdbe)(unsafe.Pointer(p)).FapCsr + uintptr((*Op)(unsafe.Pointer(pOp)).Fp1)*8)) - *(*int32)(unsafe.Pointer(bp + 656 /* res10 */)) = 1 + *(*int32)(unsafe.Pointer(bp + 536 /* res10 */)) = 1 if !(int32((*VdbeCursor)(unsafe.Pointer((pC19))).FeCurType) == CURTYPE_SORTER) { goto __676 } - rc = Xsqlite3VdbeSorterRewind(tls, pC19, bp+656 /* &res10 */) + rc = Xsqlite3VdbeSorterRewind(tls, pC19, bp+536 /* &res10 */) goto __677 __676: ; pCrsr6 = *(*uintptr)(unsafe.Pointer(pC19 + 56 /* &.uc */)) - rc = Xsqlite3BtreeFirst(tls, pCrsr6, bp+656 /* &res10 */) + rc = Xsqlite3BtreeFirst(tls, pCrsr6, bp+536 /* &res10 */) (*VdbeCursor)(unsafe.Pointer(pC19)).FdeferredMoveto = U8(0) (*VdbeCursor)(unsafe.Pointer(pC19)).FcacheStatus = U32(CACHE_STALE) __677: @@ -116712,9 +116712,9 @@ __677: goto abort_due_to_error __678: ; - (*VdbeCursor)(unsafe.Pointer(pC19)).FnullRow = U8(*(*int32)(unsafe.Pointer(bp + 656 /* res10 */))) + (*VdbeCursor)(unsafe.Pointer(pC19)).FnullRow = U8(*(*int32)(unsafe.Pointer(bp + 536 /* res10 */))) - if !(*(*int32)(unsafe.Pointer(bp + 656 /* res10 */)) != 0) { + if !(*(*int32)(unsafe.Pointer(bp + 536 /* res10 */)) != 0) { goto __679 } goto jump_to_p2 @@ -116868,11 +116868,11 @@ __682: goto abort_due_to_error __683: ; - (*BtreePayload)(unsafe.Pointer(bp + 664 /* &x2 */)).FnKey = Sqlite3_int64((*Mem)(unsafe.Pointer(pIn2)).Fn) - (*BtreePayload)(unsafe.Pointer(bp + 664 /* &x2 */)).FpKey = (*Mem)(unsafe.Pointer(pIn2)).Fz - (*BtreePayload)(unsafe.Pointer(bp + 664 /* &x2 */)).FaMem = (aMem + uintptr((*Op)(unsafe.Pointer(pOp)).Fp3)*56) - (*BtreePayload)(unsafe.Pointer(bp + 664 /* &x2 */)).FnMem = U16(*(*int32)(unsafe.Pointer(pOp + 16 /* &.p4 */))) - rc = Xsqlite3BtreeInsert(tls, *(*uintptr)(unsafe.Pointer(pC21 + 56 /* &.uc */)), bp+664, /* &x2 */ + (*BtreePayload)(unsafe.Pointer(bp + 544 /* &x2 */)).FnKey = Sqlite3_int64((*Mem)(unsafe.Pointer(pIn2)).Fn) + (*BtreePayload)(unsafe.Pointer(bp + 544 /* &x2 */)).FpKey = (*Mem)(unsafe.Pointer(pIn2)).Fz + (*BtreePayload)(unsafe.Pointer(bp + 544 /* &x2 */)).FaMem = (aMem + uintptr((*Op)(unsafe.Pointer(pOp)).Fp3)*56) + (*BtreePayload)(unsafe.Pointer(bp + 544 /* &x2 */)).FnMem = U16(*(*int32)(unsafe.Pointer(pOp + 16 /* &.p4 */))) + rc = Xsqlite3BtreeInsert(tls, *(*uintptr)(unsafe.Pointer(pC21 + 56 /* &.uc */)), bp+544, /* &x2 */ (int32((*Op)(unsafe.Pointer(pOp)).Fp5) & ((OPFLAG_APPEND | OPFLAG_SAVEPOSITION) | OPFLAG_PREFORMAT)), func() int32 { if (int32((*Op)(unsafe.Pointer(pOp)).Fp5) & OPFLAG_USESEEKRESULT) != 0 { @@ -116943,18 +116943,18 @@ __124: pCrsr7 = *(*uintptr)(unsafe.Pointer(pC23 + 56 /* &.uc */)) - (*UnpackedRecord)(unsafe.Pointer(bp + 712 /* &r3 */)).FpKeyInfo = (*VdbeCursor)(unsafe.Pointer(pC23)).FpKeyInfo - (*UnpackedRecord)(unsafe.Pointer(bp + 712 /* &r3 */)).FnField = U16((*Op)(unsafe.Pointer(pOp)).Fp3) - (*UnpackedRecord)(unsafe.Pointer(bp + 712 /* &r3 */)).Fdefault_rc = int8(0) - (*UnpackedRecord)(unsafe.Pointer(bp + 712 /* &r3 */)).FaMem = (aMem + uintptr((*Op)(unsafe.Pointer(pOp)).Fp2)*56) - rc = Xsqlite3BtreeMovetoUnpacked(tls, pCrsr7, bp+712 /* &r3 */, int64(0), 0, bp+736 /* &res11 */) + (*UnpackedRecord)(unsafe.Pointer(bp + 592 /* &r3 */)).FpKeyInfo = (*VdbeCursor)(unsafe.Pointer(pC23)).FpKeyInfo + (*UnpackedRecord)(unsafe.Pointer(bp + 592 /* &r3 */)).FnField = U16((*Op)(unsafe.Pointer(pOp)).Fp3) + (*UnpackedRecord)(unsafe.Pointer(bp + 592 /* &r3 */)).Fdefault_rc = int8(0) + (*UnpackedRecord)(unsafe.Pointer(bp + 592 /* &r3 */)).FaMem = (aMem + uintptr((*Op)(unsafe.Pointer(pOp)).Fp2)*56) + rc = Xsqlite3BtreeMovetoUnpacked(tls, pCrsr7, bp+592 /* &r3 */, int64(0), 0, bp+616 /* &res11 */) if !(rc != 0) { goto __687 } goto abort_due_to_error __687: ; - if !(*(*int32)(unsafe.Pointer(bp + 736 /* res11 */)) == 0) { + if !(*(*int32)(unsafe.Pointer(bp + 616 /* res11 */)) == 0) { goto __688 } rc = Xsqlite3BtreeDelete(tls, pCrsr7, uint8(BTREE_AUXDELETE)) @@ -117029,8 +117029,8 @@ __692: if !(!(int32((*VdbeCursor)(unsafe.Pointer(pC24)).FnullRow) != 0)) { goto __693 } - *(*I64)(unsafe.Pointer(bp + 744 /* rowid */)) = int64(0) // Not needed. Only used to silence a warning. - rc = Xsqlite3VdbeIdxRowid(tls, db, *(*uintptr)(unsafe.Pointer(pC24 + 56 /* &.uc */)), bp+744 /* &rowid */) + *(*I64)(unsafe.Pointer(bp + 624 /* rowid */)) = int64(0) // Not needed. Only used to silence a warning. + rc = Xsqlite3VdbeIdxRowid(tls, db, *(*uintptr)(unsafe.Pointer(pC24 + 56 /* &.uc */)), bp+624 /* &rowid */) if !(rc != SQLITE_OK) { goto __695 } @@ -117044,7 +117044,7 @@ __695: pTabCur = *(*uintptr)(unsafe.Pointer((*Vdbe)(unsafe.Pointer(p)).FapCsr + uintptr((*Op)(unsafe.Pointer(pOp)).Fp3)*8)) (*VdbeCursor)(unsafe.Pointer(pTabCur)).FnullRow = U8(0) - (*VdbeCursor)(unsafe.Pointer(pTabCur)).FmovetoTarget = *(*I64)(unsafe.Pointer(bp + 744 /* rowid */)) + (*VdbeCursor)(unsafe.Pointer(pTabCur)).FmovetoTarget = *(*I64)(unsafe.Pointer(bp + 624 /* rowid */)) (*VdbeCursor)(unsafe.Pointer(pTabCur)).FdeferredMoveto = U8(1) (*VdbeCursor)(unsafe.Pointer(pTabCur)).FaAltMap = *(*uintptr)(unsafe.Pointer(pOp + 16 /* &.p4 */)) @@ -117053,7 +117053,7 @@ __695: goto __697 __696: pOut = out2Prerelease(tls, p, pOp) - *(*I64)(unsafe.Pointer(pOut /* &.u */)) = *(*I64)(unsafe.Pointer(bp + 744 /* rowid */)) + *(*I64)(unsafe.Pointer(pOut /* &.u */)) = *(*I64)(unsafe.Pointer(bp + 624 /* rowid */)) __697: ; goto __694 @@ -117134,20 +117134,20 @@ __131: ; pC26 = *(*uintptr)(unsafe.Pointer((*Vdbe)(unsafe.Pointer(p)).FapCsr + uintptr((*Op)(unsafe.Pointer(pOp)).Fp1)*8)) - (*UnpackedRecord)(unsafe.Pointer(bp + 808 /* &r4 */)).FpKeyInfo = (*VdbeCursor)(unsafe.Pointer(pC26)).FpKeyInfo - (*UnpackedRecord)(unsafe.Pointer(bp + 808 /* &r4 */)).FnField = U16(*(*int32)(unsafe.Pointer(pOp + 16 /* &.p4 */))) + (*UnpackedRecord)(unsafe.Pointer(bp + 688 /* &r4 */)).FpKeyInfo = (*VdbeCursor)(unsafe.Pointer(pC26)).FpKeyInfo + (*UnpackedRecord)(unsafe.Pointer(bp + 688 /* &r4 */)).FnField = U16(*(*int32)(unsafe.Pointer(pOp + 16 /* &.p4 */))) if !(int32((*Op)(unsafe.Pointer(pOp)).Fopcode) < OP_IdxLT) { goto __700 } - (*UnpackedRecord)(unsafe.Pointer(bp + 808 /* &r4 */)).Fdefault_rc = int8(-1) + (*UnpackedRecord)(unsafe.Pointer(bp + 688 /* &r4 */)).Fdefault_rc = int8(-1) goto __701 __700: ; - (*UnpackedRecord)(unsafe.Pointer(bp + 808 /* &r4 */)).Fdefault_rc = int8(0) + (*UnpackedRecord)(unsafe.Pointer(bp + 688 /* &r4 */)).Fdefault_rc = int8(0) __701: ; - (*UnpackedRecord)(unsafe.Pointer(bp + 808 /* &r4 */)).FaMem = (aMem + uintptr((*Op)(unsafe.Pointer(pOp)).Fp3)*56) + (*UnpackedRecord)(unsafe.Pointer(bp + 688 /* &r4 */)).FaMem = (aMem + uintptr((*Op)(unsafe.Pointer(pOp)).Fp3)*56) /* Inlined version of sqlite3VdbeIdxKeyCompare() */ @@ -117165,16 +117165,16 @@ __701: goto abort_due_to_error __702: ; - Xsqlite3VdbeMemInit(tls, bp+752 /* &m */, db, uint16(0)) - rc = Xsqlite3VdbeMemFromBtreeZeroOffset(tls, pCur1, U32(nCellKey), bp+752 /* &m */) + Xsqlite3VdbeMemInit(tls, bp+632 /* &m */, db, uint16(0)) + rc = Xsqlite3VdbeMemFromBtreeZeroOffset(tls, pCur1, U32(nCellKey), bp+632 /* &m */) if !(rc != 0) { goto __703 } goto abort_due_to_error __703: ; - res12 = Xsqlite3VdbeRecordCompareWithSkip(tls, (*Mem)(unsafe.Pointer(bp+752 /* &m */)).Fn, (*Mem)(unsafe.Pointer(bp+752 /* &m */)).Fz, bp+808 /* &r4 */, 0) - Xsqlite3VdbeMemRelease(tls, bp+752 /* &m */) + res12 = Xsqlite3VdbeRecordCompareWithSkip(tls, (*Mem)(unsafe.Pointer(bp+632 /* &m */)).Fn, (*Mem)(unsafe.Pointer(bp+632 /* &m */)).Fz, bp+688 /* &r4 */, 0) + Xsqlite3VdbeMemRelease(tls, bp+632 /* &m */) // End of inlined sqlite3VdbeIdxKeyCompare() @@ -117239,20 +117239,20 @@ __132: __707: iDb2 = (*Op)(unsafe.Pointer(pOp)).Fp3 - *(*int32)(unsafe.Pointer(bp + 832 /* iMoved */)) = 0 // Not needed. Only to silence a warning. - rc = Xsqlite3BtreeDropTable(tls, (*Db)(unsafe.Pointer((*Sqlite3)(unsafe.Pointer(db)).FaDb+uintptr(iDb2)*32)).FpBt, (*Op)(unsafe.Pointer(pOp)).Fp1, bp+832 /* &iMoved */) + *(*int32)(unsafe.Pointer(bp + 712 /* iMoved */)) = 0 // Not needed. Only to silence a warning. + rc = Xsqlite3BtreeDropTable(tls, (*Db)(unsafe.Pointer((*Sqlite3)(unsafe.Pointer(db)).FaDb+uintptr(iDb2)*32)).FpBt, (*Op)(unsafe.Pointer(pOp)).Fp1, bp+712 /* &iMoved */) (*Mem)(unsafe.Pointer(pOut)).Fflags = U16(MEM_Int) - *(*I64)(unsafe.Pointer(pOut /* &.u */)) = I64(*(*int32)(unsafe.Pointer(bp + 832 /* iMoved */))) + *(*I64)(unsafe.Pointer(pOut /* &.u */)) = I64(*(*int32)(unsafe.Pointer(bp + 712 /* iMoved */))) if !(rc != 0) { goto __709 } goto abort_due_to_error __709: ; - if !(*(*int32)(unsafe.Pointer(bp + 832 /* iMoved */)) != 0) { + if !(*(*int32)(unsafe.Pointer(bp + 712 /* iMoved */)) != 0) { goto __710 } - Xsqlite3RootPageMoved(tls, db, iDb2, uint32(*(*int32)(unsafe.Pointer(bp + 832 /* iMoved */))), uint32((*Op)(unsafe.Pointer(pOp)).Fp1)) + Xsqlite3RootPageMoved(tls, db, iDb2, uint32(*(*int32)(unsafe.Pointer(bp + 712 /* iMoved */))), uint32((*Op)(unsafe.Pointer(pOp)).Fp1)) // All OP_Destroy operations occur on the same btree resetSchemaOnFault = (U8(iDb2 + 1)) @@ -117280,18 +117280,18 @@ __708: // See also: Destroy __133: ; - *(*int32)(unsafe.Pointer(bp + 836 /* nChange */)) = 0 + *(*int32)(unsafe.Pointer(bp + 716 /* nChange */)) = 0 - rc = Xsqlite3BtreeClearTable(tls, (*Db)(unsafe.Pointer((*Sqlite3)(unsafe.Pointer(db)).FaDb+uintptr((*Op)(unsafe.Pointer(pOp)).Fp2)*32)).FpBt, int32(U32((*Op)(unsafe.Pointer(pOp)).Fp1)), bp+836 /* &nChange */) + rc = Xsqlite3BtreeClearTable(tls, (*Db)(unsafe.Pointer((*Sqlite3)(unsafe.Pointer(db)).FaDb+uintptr((*Op)(unsafe.Pointer(pOp)).Fp2)*32)).FpBt, int32(U32((*Op)(unsafe.Pointer(pOp)).Fp1)), bp+716 /* &nChange */) if !((*Op)(unsafe.Pointer(pOp)).Fp3 != 0) { goto __711 } - *(*int32)(unsafe.Pointer(p + 60 /* &.nChange */)) += (*(*int32)(unsafe.Pointer(bp + 836 /* nChange */))) + *(*int32)(unsafe.Pointer(p + 60 /* &.nChange */)) += (*(*int32)(unsafe.Pointer(bp + 716 /* nChange */))) if !((*Op)(unsafe.Pointer(pOp)).Fp3 > 0) { goto __712 } - *(*I64)(unsafe.Pointer(aMem + uintptr((*Op)(unsafe.Pointer(pOp)).Fp3)*56 /* &.u */ /* &.i */)) += (I64(*(*int32)(unsafe.Pointer(bp + 836 /* nChange */)))) + *(*I64)(unsafe.Pointer(aMem + uintptr((*Op)(unsafe.Pointer(pOp)).Fp3)*56 /* &.u */ /* &.i */)) += (I64(*(*int32)(unsafe.Pointer(bp + 716 /* nChange */)))) __712: ; __711: @@ -117345,18 +117345,18 @@ __715: __135: ; pOut = out2Prerelease(tls, p, pOp) - *(*Pgno)(unsafe.Pointer(bp + 840 /* pgno */)) = Pgno(0) + *(*Pgno)(unsafe.Pointer(bp + 720 /* pgno */)) = Pgno(0) pDb2 = ((*Sqlite3)(unsafe.Pointer(db)).FaDb + uintptr((*Op)(unsafe.Pointer(pOp)).Fp1)*32) - rc = Xsqlite3BtreeCreateTable(tls, (*Db)(unsafe.Pointer(pDb2)).FpBt, bp+840 /* &pgno */, (*Op)(unsafe.Pointer(pOp)).Fp3) + rc = Xsqlite3BtreeCreateTable(tls, (*Db)(unsafe.Pointer(pDb2)).FpBt, bp+720 /* &pgno */, (*Op)(unsafe.Pointer(pOp)).Fp3) if !(rc != 0) { goto __717 } goto abort_due_to_error __717: ; - *(*I64)(unsafe.Pointer(pOut /* &.u */)) = I64(*(*Pgno)(unsafe.Pointer(bp + 840 /* pgno */))) + *(*I64)(unsafe.Pointer(pOut /* &.u */)) = I64(*(*Pgno)(unsafe.Pointer(bp + 720 /* pgno */))) goto __8 // Opcode: SqlExec * * * P4 * @@ -117403,14 +117403,14 @@ __137: __719: zSchema = ts + 6318 /* "sqlite_master" */ - (*InitData)(unsafe.Pointer(bp + 848 /* &initData */)).Fdb = db - (*InitData)(unsafe.Pointer(bp + 848 /* &initData */)).FiDb = iDb3 - (*InitData)(unsafe.Pointer(bp + 848 /* &initData */)).FpzErrMsg = (p + 168 /* &.zErrMsg */) - (*InitData)(unsafe.Pointer(bp + 848 /* &initData */)).FmInitFlags = U32(0) - (*InitData)(unsafe.Pointer(bp + 848 /* &initData */)).FmxPage = Xsqlite3BtreeLastPage(tls, (*Db)(unsafe.Pointer((*Sqlite3)(unsafe.Pointer(db)).FaDb+uintptr(iDb3)*32)).FpBt) + (*InitData)(unsafe.Pointer(bp + 728 /* &initData */)).Fdb = db + (*InitData)(unsafe.Pointer(bp + 728 /* &initData */)).FiDb = iDb3 + (*InitData)(unsafe.Pointer(bp + 728 /* &initData */)).FpzErrMsg = (p + 168 /* &.zErrMsg */) + (*InitData)(unsafe.Pointer(bp + 728 /* &initData */)).FmInitFlags = U32(0) + (*InitData)(unsafe.Pointer(bp + 728 /* &initData */)).FmxPage = Xsqlite3BtreeLastPage(tls, (*Db)(unsafe.Pointer((*Sqlite3)(unsafe.Pointer(db)).FaDb+uintptr(iDb3)*32)).FpBt) zSql = Xsqlite3MPrintf(tls, db, ts+6332, /* "SELECT*FROM\"%w\"...." */ - libc.VaList(bp+104, (*Db)(unsafe.Pointer((*Sqlite3)(unsafe.Pointer(db)).FaDb+uintptr(iDb3)*32)).FzDbSName, zSchema, *(*uintptr)(unsafe.Pointer(pOp + 16 /* &.p4 */)))) + libc.VaList(bp+64, (*Db)(unsafe.Pointer((*Sqlite3)(unsafe.Pointer(db)).FaDb+uintptr(iDb3)*32)).FzDbSName, zSchema, *(*uintptr)(unsafe.Pointer(pOp + 16 /* &.p4 */)))) if !(zSql == uintptr(0)) { goto __721 } @@ -117419,19 +117419,19 @@ __719: __721: ; (*Sqlite3)(unsafe.Pointer(db)).Finit.Fbusy = U8(1) - (*InitData)(unsafe.Pointer(bp + 848 /* &initData */)).Frc = SQLITE_OK - (*InitData)(unsafe.Pointer(bp + 848 /* &initData */)).FnInitRow = U32(0) + (*InitData)(unsafe.Pointer(bp + 728 /* &initData */)).Frc = SQLITE_OK + (*InitData)(unsafe.Pointer(bp + 728 /* &initData */)).FnInitRow = U32(0) rc = Xsqlite3_exec(tls, db, zSql, *(*uintptr)(unsafe.Pointer(&struct { f func(*libc.TLS, uintptr, int32, uintptr, uintptr) int32 - }{Xsqlite3InitCallback})), bp+848 /* &initData */, uintptr(0)) + }{Xsqlite3InitCallback})), bp+728 /* &initData */, uintptr(0)) if !(rc == SQLITE_OK) { goto __723 } - rc = (*InitData)(unsafe.Pointer(bp + 848 /* &initData */)).Frc + rc = (*InitData)(unsafe.Pointer(bp + 728 /* &initData */)).Frc __723: ; - if !((rc == SQLITE_OK) && ((*InitData)(unsafe.Pointer(bp+848 /* &initData */)).FnInitRow == U32(0))) { + if !((rc == SQLITE_OK) && ((*InitData)(unsafe.Pointer(bp+728 /* &initData */)).FnInitRow == U32(0))) { goto __724 } // The OP_ParseSchema opcode with a non-NULL P4 argument should parse @@ -117542,9 +117542,9 @@ __142: // Register keeping track of errors remaining pIn1 = (aMem + uintptr((*Op)(unsafe.Pointer(pOp)).Fp1)*56) z = Xsqlite3BtreeIntegrityCheck(tls, db, (*Db)(unsafe.Pointer((*Sqlite3)(unsafe.Pointer(db)).FaDb+uintptr((*Op)(unsafe.Pointer(pOp)).Fp5)*32)).FpBt, (aRoot + 1*4), nRoot, - (int32(*(*I64)(unsafe.Pointer(pnErr /* &.u */))) + 1), bp+888 /* &nErr */) + (int32(*(*I64)(unsafe.Pointer(pnErr /* &.u */))) + 1), bp+768 /* &nErr */) Xsqlite3VdbeMemSetNull(tls, pIn1) - if !(*(*int32)(unsafe.Pointer(bp + 888 /* nErr */)) == 0) { + if !(*(*int32)(unsafe.Pointer(bp + 768 /* nErr */)) == 0) { goto __728 } @@ -117556,7 +117556,7 @@ __728: goto no_mem goto __731 __730: - *(*I64)(unsafe.Pointer(pnErr /* &.u */ /* &.i */)) -= (I64(*(*int32)(unsafe.Pointer(bp + 888 /* nErr */)) - 1)) + *(*I64)(unsafe.Pointer(pnErr /* &.u */ /* &.i */)) -= (I64(*(*int32)(unsafe.Pointer(bp + 768 /* nErr */)) - 1)) Xsqlite3VdbeMemSetStr(tls, pIn1, z, int64(-1), uint8(SQLITE_UTF8), *(*uintptr)(unsafe.Pointer(&struct{ f func(*libc.TLS, uintptr) }{Xsqlite3_free}))) __731: ; @@ -117604,7 +117604,7 @@ __144: pIn1 = (aMem + uintptr((*Op)(unsafe.Pointer(pOp)).Fp1)*56) if !(((int32((*Mem)(unsafe.Pointer(pIn1)).Fflags) & MEM_Blob) == 0) || - (Xsqlite3RowSetNext(tls, (*Mem)(unsafe.Pointer(pIn1)).Fz, bp+896 /* &val */) == 0)) { + (Xsqlite3RowSetNext(tls, (*Mem)(unsafe.Pointer(pIn1)).Fz, bp+776 /* &val */) == 0)) { goto __734 } // The boolean index is empty @@ -117615,7 +117615,7 @@ __144: __734: // A value was pulled from the index ; - Xsqlite3VdbeMemSetInt64(tls, (aMem + uintptr((*Op)(unsafe.Pointer(pOp)).Fp3)*56), *(*I64)(unsafe.Pointer(bp + 896 /* val */))) + Xsqlite3VdbeMemSetInt64(tls, (aMem + uintptr((*Op)(unsafe.Pointer(pOp)).Fp3)*56), *(*I64)(unsafe.Pointer(bp + 776 /* val */))) __735: ; goto check_for_interrupt @@ -118005,8 +118005,8 @@ __152: pIn3 = (aMem + uintptr((*Op)(unsafe.Pointer(pOp)).Fp3)*56) pOut = out2Prerelease(tls, p, pOp) - *(*I64)(unsafe.Pointer(bp + 904 /* x3 */)) = *(*I64)(unsafe.Pointer(pIn1 /* &.u */)) - if !((*(*I64)(unsafe.Pointer(bp + 904 /* x3 */)) <= int64(0)) || (Xsqlite3AddInt64(tls, bp+904 /* &x3 */, func() int64 { + *(*I64)(unsafe.Pointer(bp + 784 /* x3 */)) = *(*I64)(unsafe.Pointer(pIn1 /* &.u */)) + if !((*(*I64)(unsafe.Pointer(bp + 784 /* x3 */)) <= int64(0)) || (Xsqlite3AddInt64(tls, bp+784 /* &x3 */, func() int64 { if *(*I64)(unsafe.Pointer(pIn3 /* &.u */)) > int64(0) { return *(*I64)(unsafe.Pointer(pIn3 /* &.u */)) } @@ -118024,7 +118024,7 @@ __152: *(*I64)(unsafe.Pointer(pOut /* &.u */)) = int64(-1) goto __770 __769: - *(*I64)(unsafe.Pointer(pOut /* &.u */)) = *(*I64)(unsafe.Pointer(bp + 904 /* x3 */)) + *(*I64)(unsafe.Pointer(pOut /* &.u */)) = *(*I64)(unsafe.Pointer(bp + 784 /* x3 */)) __770: ; goto __8 @@ -118187,7 +118187,7 @@ __781: if !((*Sqlite3_context)(unsafe.Pointer(pCtx1)).FisError > 0) { goto __783 } - Xsqlite3VdbeError(tls, p, ts+3630 /* "%s" */, libc.VaList(bp+136, Xsqlite3_value_text(tls, (*Sqlite3_context)(unsafe.Pointer(pCtx1)).FpOut))) + Xsqlite3VdbeError(tls, p, ts+3630 /* "%s" */, libc.VaList(bp+88, Xsqlite3_value_text(tls, (*Sqlite3_context)(unsafe.Pointer(pCtx1)).FpOut))) rc = (*Sqlite3_context)(unsafe.Pointer(pCtx1)).FisError __783: ; @@ -118265,7 +118265,7 @@ __788: if !(rc != 0) { goto __789 } - Xsqlite3VdbeError(tls, p, ts+3630 /* "%s" */, libc.VaList(bp+152, Xsqlite3_value_text(tls, pMem4))) + Xsqlite3VdbeError(tls, p, ts+3630 /* "%s" */, libc.VaList(bp+96, Xsqlite3_value_text(tls, pMem4))) goto abort_due_to_error __789: ; @@ -118292,10 +118292,10 @@ __790: __160: // Write results here ; - *(*int32)(unsafe.Pointer(bp + 912 /* &aRes[0] */)) = 0 - *(*int32)(unsafe.Pointer(bp + 912 /* &aRes[0] */ + 1*4)) = libc.AssignPtrInt32(bp+912 /* &aRes */ +2*4, -1) + *(*int32)(unsafe.Pointer(bp + 792 /* &aRes[0] */)) = 0 + *(*int32)(unsafe.Pointer(bp + 792 /* &aRes[0] */ + 1*4)) = libc.AssignPtrInt32(bp+792 /* &aRes */ +2*4, -1) - rc = Xsqlite3Checkpoint(tls, db, (*Op)(unsafe.Pointer(pOp)).Fp1, (*Op)(unsafe.Pointer(pOp)).Fp2, (bp + 912 /* &aRes */ + 1*4), (bp + 912 /* &aRes */ + 2*4)) + rc = Xsqlite3Checkpoint(tls, db, (*Op)(unsafe.Pointer(pOp)).Fp1, (*Op)(unsafe.Pointer(pOp)).Fp2, (bp + 792 /* &aRes */ + 1*4), (bp + 792 /* &aRes */ + 2*4)) if !(rc != 0) { goto __791 } @@ -118306,7 +118306,7 @@ __160: // Write results here __792: ; rc = SQLITE_OK - *(*int32)(unsafe.Pointer(bp + 912 /* &aRes[0] */)) = 1 + *(*int32)(unsafe.Pointer(bp + 792 /* &aRes[0] */)) = 1 __791: ; i5 = 0 @@ -118315,7 +118315,7 @@ __793: if !(i5 < 3) { goto __795 } - Xsqlite3VdbeMemSetInt64(tls, pMem5, I64(*(*int32)(unsafe.Pointer(bp + 912 /* &aRes[0] */ + uintptr(i5)*4)))) + Xsqlite3VdbeMemSetInt64(tls, pMem5, I64(*(*int32)(unsafe.Pointer(bp + 792 /* &aRes[0] */ + uintptr(i5)*4)))) goto __794 __794: i5++ @@ -118381,7 +118381,7 @@ __798: rc = SQLITE_ERROR Xsqlite3VdbeError(tls, p, ts+6412, /* "cannot change %s..." */ - libc.VaList(bp+168, func() uintptr { + libc.VaList(bp+104, func() uintptr { if eNew == PAGER_JOURNALMODE_WAL { return ts + 6464 /* "into" */ } @@ -118588,7 +118588,7 @@ __167: goto __816 } z1 = *(*uintptr)(unsafe.Pointer(pOp + 16 /* &.p4 */)) - Xsqlite3VdbeError(tls, p, ts+6476 /* "database table i..." */, libc.VaList(bp+184, z1)) + Xsqlite3VdbeError(tls, p, ts+6476 /* "database table i..." */, libc.VaList(bp+112, z1)) __816: ; goto abort_due_to_error @@ -118629,14 +118629,14 @@ __818: // P1. Call the xCreate method for that table. __169: // Name of the virtual table - libc.Xmemset(tls, bp+928 /* &sMem1 */, 0, uint64(unsafe.Sizeof(Mem{}))) - (*Mem)(unsafe.Pointer(bp + 928 /* &sMem1 */)).Fdb = db + libc.Xmemset(tls, bp+808 /* &sMem1 */, 0, uint64(unsafe.Sizeof(Mem{}))) + (*Mem)(unsafe.Pointer(bp + 808 /* &sMem1 */)).Fdb = db // Because P2 is always a static string, it is impossible for the // sqlite3VdbeMemCopy() to fail - rc = Xsqlite3VdbeMemCopy(tls, bp+928 /* &sMem1 */, (aMem + uintptr((*Op)(unsafe.Pointer(pOp)).Fp2)*56)) + rc = Xsqlite3VdbeMemCopy(tls, bp+808 /* &sMem1 */, (aMem + uintptr((*Op)(unsafe.Pointer(pOp)).Fp2)*56)) - zTab = Xsqlite3_value_text(tls, bp+928 /* &sMem1 */) + zTab = Xsqlite3_value_text(tls, bp+808 /* &sMem1 */) if !(zTab != 0) { goto __819 @@ -118644,7 +118644,7 @@ __169: // Name of the virtual table rc = Xsqlite3VtabCallCreate(tls, db, (*Op)(unsafe.Pointer(pOp)).Fp1, zTab, (p + 168 /* &.zErrMsg */)) __819: ; - Xsqlite3VdbeMemRelease(tls, bp+928 /* &sMem1 */) + Xsqlite3VdbeMemRelease(tls, bp+808 /* &sMem1 */) if !(rc != 0) { goto __820 } @@ -118678,7 +118678,7 @@ __821: __171: ; pCur2 = uintptr(0) - *(*uintptr)(unsafe.Pointer(bp + 984 /* pVCur */)) = uintptr(0) + *(*uintptr)(unsafe.Pointer(bp + 864 /* pVCur */)) = uintptr(0) pVtab1 = (*VTable)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(pOp + 16 /* &.p4 */)))).FpVtab if !((pVtab1 == uintptr(0)) || ((*Sqlite3_vtab)(unsafe.Pointer(pVtab1)).FpModule == uintptr(0))) { goto __822 @@ -118688,7 +118688,7 @@ __171: __822: ; pModule1 = (*Sqlite3_vtab)(unsafe.Pointer(pVtab1)).FpModule - rc = (*(*func(*libc.TLS, uintptr, uintptr) int32)(unsafe.Pointer((pModule1 + 48 /* &.xOpen */))))(tls, pVtab1, bp+984 /* &pVCur */) + rc = (*(*func(*libc.TLS, uintptr, uintptr) int32)(unsafe.Pointer((pModule1 + 48 /* &.xOpen */))))(tls, pVtab1, bp+864 /* &pVCur */) Xsqlite3VtabImportErrmsg(tls, p, pVtab1) if !(rc != 0) { goto __823 @@ -118698,19 +118698,19 @@ __823: ; // Initialize sqlite3_vtab_cursor base class - (*Sqlite3_vtab_cursor)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp + 984 /* pVCur */)))).FpVtab = pVtab1 + (*Sqlite3_vtab_cursor)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp + 864 /* pVCur */)))).FpVtab = pVtab1 // Initialize vdbe cursor object pCur2 = allocateCursor(tls, p, (*Op)(unsafe.Pointer(pOp)).Fp1, 0, -1, uint8(CURTYPE_VTAB)) if !(pCur2 != 0) { goto __824 } - *(*uintptr)(unsafe.Pointer(pCur2 + 56 /* &.uc */)) = *(*uintptr)(unsafe.Pointer(bp + 984 /* pVCur */)) + *(*uintptr)(unsafe.Pointer(pCur2 + 56 /* &.uc */)) = *(*uintptr)(unsafe.Pointer(bp + 864 /* pVCur */)) (*Sqlite3_vtab)(unsafe.Pointer(pVtab1)).FnRef++ goto __825 __824: ; - (*(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer((pModule1 + 56 /* &.xClose */))))(tls, *(*uintptr)(unsafe.Pointer(bp + 984 /* pVCur */))) + (*(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer((pModule1 + 56 /* &.xClose */))))(tls, *(*uintptr)(unsafe.Pointer(bp + 864 /* pVCur */))) goto no_mem __825: ; @@ -118813,8 +118813,8 @@ __831: pVtab3 = (*Sqlite3_vtab_cursor)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(pCur4 + 56 /* &.uc */)))).FpVtab pModule3 = (*Sqlite3_vtab)(unsafe.Pointer(pVtab3)).FpModule - libc.Xmemset(tls, bp+992 /* &sContext */, 0, uint64(unsafe.Sizeof(Sqlite3_context{}))) - (*Sqlite3_context)(unsafe.Pointer(bp + 992 /* &sContext */)).FpOut = pDest2 + libc.Xmemset(tls, bp+872 /* &sContext */, 0, uint64(unsafe.Sizeof(Sqlite3_context{}))) + (*Sqlite3_context)(unsafe.Pointer(bp + 872 /* &sContext */)).FpOut = pDest2 if !((int32((*Op)(unsafe.Pointer(pOp)).Fp5) & OPFLAG_NOCHNG) != 0) { goto __832 @@ -118827,13 +118827,13 @@ __832: (*Mem)(unsafe.Pointer(pDest2)).Fflags = (U16((int32((*Mem)(unsafe.Pointer((pDest2))).Fflags) & libc.CplInt32((MEM_TypeMask | MEM_Zero))) | MEM_Null)) __833: ; - rc = (*(*func(*libc.TLS, uintptr, uintptr, int32) int32)(unsafe.Pointer((pModule3 + 88 /* &.xColumn */))))(tls, *(*uintptr)(unsafe.Pointer(pCur4 + 56 /* &.uc */)), bp+992 /* &sContext */, (*Op)(unsafe.Pointer(pOp)).Fp2) + rc = (*(*func(*libc.TLS, uintptr, uintptr, int32) int32)(unsafe.Pointer((pModule3 + 88 /* &.xColumn */))))(tls, *(*uintptr)(unsafe.Pointer(pCur4 + 56 /* &.uc */)), bp+872 /* &sContext */, (*Op)(unsafe.Pointer(pOp)).Fp2) Xsqlite3VtabImportErrmsg(tls, p, pVtab3) - if !((*Sqlite3_context)(unsafe.Pointer(bp+992 /* &sContext */)).FisError > 0) { + if !((*Sqlite3_context)(unsafe.Pointer(bp+872 /* &sContext */)).FisError > 0) { goto __834 } - Xsqlite3VdbeError(tls, p, ts+3630 /* "%s" */, libc.VaList(bp+200, Xsqlite3_value_text(tls, pDest2))) - rc = (*Sqlite3_context)(unsafe.Pointer(bp + 992 /* &sContext */)).FisError + Xsqlite3VdbeError(tls, p, ts+3630 /* "%s" */, libc.VaList(bp+120, Xsqlite3_value_text(tls, pDest2))) + rc = (*Sqlite3_context)(unsafe.Pointer(bp + 872 /* &sContext */)).FisError __834: ; Xsqlite3VdbeChangeEncoding(tls, pDest2, int32(encoding)) @@ -119000,14 +119000,14 @@ __847: __848: ; (*Sqlite3)(unsafe.Pointer(db)).FvtabOnConflict = U8((*Op)(unsafe.Pointer(pOp)).Fp5) - rc = (*(*func(*libc.TLS, uintptr, int32, uintptr, uintptr) int32)(unsafe.Pointer((pModule5 + 104 /* &.xUpdate */))))(tls, pVtab6, nArg1, apArg1, bp+1048 /* &rowid1 */) + rc = (*(*func(*libc.TLS, uintptr, int32, uintptr, uintptr) int32)(unsafe.Pointer((pModule5 + 104 /* &.xUpdate */))))(tls, pVtab6, nArg1, apArg1, bp+928 /* &rowid1 */) (*Sqlite3)(unsafe.Pointer(db)).FvtabOnConflict = vtabOnConflict Xsqlite3VtabImportErrmsg(tls, p, pVtab6) if !((rc == SQLITE_OK) && ((*Op)(unsafe.Pointer(pOp)).Fp1 != 0)) { goto __849 } - (*Sqlite3)(unsafe.Pointer(db)).FlastRowid = *(*Sqlite_int64)(unsafe.Pointer(bp + 1048 /* rowid1 */)) + (*Sqlite3)(unsafe.Pointer(db)).FlastRowid = *(*Sqlite_int64)(unsafe.Pointer(bp + 928 /* rowid1 */)) __849: ; if !(((rc & 0xff) == SQLITE_CONSTRAINT) && ((*VTable)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(pOp + 16 /* &.p4 */)))).FbConstraint != 0)) { @@ -119163,7 +119163,7 @@ __857: if !((*Sqlite3_context)(unsafe.Pointer(pCtx2)).FisError > 0) { goto __862 } - Xsqlite3VdbeError(tls, p, ts+3630 /* "%s" */, libc.VaList(bp+216, Xsqlite3_value_text(tls, pOut))) + Xsqlite3VdbeError(tls, p, ts+3630 /* "%s" */, libc.VaList(bp+128, Xsqlite3_value_text(tls, pOut))) rc = (*Sqlite3_context)(unsafe.Pointer(pCtx2)).FisError __862: ; @@ -119253,7 +119253,7 @@ __867: if !((*Sqlite3)(unsafe.Pointer(db)).FnVdbeExec > 1) { goto __869 } - z3 = Xsqlite3MPrintf(tls, db, ts+6505 /* "-- %s" */, libc.VaList(bp+232, zTrace)) + z3 = Xsqlite3MPrintf(tls, db, ts+6505 /* "-- %s" */, libc.VaList(bp+136, zTrace)) (*(*func(*libc.TLS, U32, uintptr, uintptr, uintptr) int32)(unsafe.Pointer((db + 240 /* &.trace */ /* &.xV2 */))))(tls, uint32(SQLITE_TRACE_STMT), (*Sqlite3)(unsafe.Pointer(db)).FpTraceArg, p, z3) Xsqlite3DbFree(tls, db, z3) goto __870 @@ -119356,14 +119356,14 @@ __878: if !(((*Vdbe)(unsafe.Pointer(p)).FzErrMsg == uintptr(0)) && (rc != (SQLITE_IOERR | (int32(12) << 8)))) { goto __880 } - Xsqlite3VdbeError(tls, p, ts+3630 /* "%s" */, libc.VaList(bp+248, Xsqlite3ErrStr(tls, rc))) + Xsqlite3VdbeError(tls, p, ts+3630 /* "%s" */, libc.VaList(bp+144, Xsqlite3ErrStr(tls, rc))) __880: ; (*Vdbe)(unsafe.Pointer(p)).Frc = rc Xsqlite3SystemError(tls, db, rc) Xsqlite3_log(tls, rc, ts+6511, /* "statement aborts..." */ - libc.VaList(bp+264, (int32((int64(pOp)-int64(aOp))/24)), (*Vdbe)(unsafe.Pointer(p)).FzSql, (*Vdbe)(unsafe.Pointer(p)).FzErrMsg)) + libc.VaList(bp+152, (int32((int64(pOp)-int64(aOp))/24)), (*Vdbe)(unsafe.Pointer(p)).FzSql, (*Vdbe)(unsafe.Pointer(p)).FzErrMsg)) Xsqlite3VdbeHalt(tls, p) if !(rc == (SQLITE_IOERR | (int32(12) << 8))) { goto __881 @@ -119502,8 +119502,8 @@ type Incrblob = Incrblob1 /* sqlite3.c:94829:25 */ // calls to sqlite3_blob_read(), blob_write() or blob_reopen() will // immediately return SQLITE_ABORT. func blobSeekToRow(tls *libc.TLS, p uintptr, iRow Sqlite3_int64, pzErr uintptr) int32 { /* sqlite3.c:94859:12: */ - bp := tls.Alloc(48) - defer tls.Free(48) + bp := tls.Alloc(24) + defer tls.Free(24) var rc int32 // Error code var zErr uintptr = uintptr(0) // Error message @@ -119564,10 +119564,10 @@ func blobSeekToRow(tls *libc.TLS, p uintptr, iRow Sqlite3_int64, pzErr uintptr) rc = Xsqlite3_finalize(tls, (*Incrblob)(unsafe.Pointer(p)).FpStmt) (*Incrblob)(unsafe.Pointer(p)).FpStmt = uintptr(0) if rc == SQLITE_OK { - zErr = Xsqlite3MPrintf(tls, (*Incrblob)(unsafe.Pointer(p)).Fdb, ts+6638 /* "no such rowid: %..." */, libc.VaList(bp+16, iRow)) + zErr = Xsqlite3MPrintf(tls, (*Incrblob)(unsafe.Pointer(p)).Fdb, ts+6638 /* "no such rowid: %..." */, libc.VaList(bp+8, iRow)) rc = SQLITE_ERROR } else { - zErr = Xsqlite3MPrintf(tls, (*Incrblob)(unsafe.Pointer(p)).Fdb, ts+3630 /* "%s" */, libc.VaList(bp+32, Xsqlite3_errmsg(tls, (*Incrblob)(unsafe.Pointer(p)).Fdb))) + zErr = Xsqlite3MPrintf(tls, (*Incrblob)(unsafe.Pointer(p)).Fdb, ts+3630 /* "%s" */, libc.VaList(bp+16, Xsqlite3_errmsg(tls, (*Incrblob)(unsafe.Pointer(p)).Fdb))) } } @@ -119577,17 +119577,17 @@ func blobSeekToRow(tls *libc.TLS, p uintptr, iRow Sqlite3_int64, pzErr uintptr) // Open a blob handle. func Xsqlite3_blob_open(tls *libc.TLS, db uintptr, zDb uintptr, zTable uintptr, zColumn uintptr, iRow Sqlite_int64, wrFlag int32, ppBlob uintptr) int32 { /* sqlite3.c:94924:16: */ - bp := tls.Alloc(512) - defer tls.Free(512) + bp := tls.Alloc(464) + defer tls.Free(464) var nAttempt int32 var iCol int32 // Index of zColumn in row-record var rc int32 - // var zErr uintptr at bp+504, 8 + // var zErr uintptr at bp+456, 8 var pTab uintptr var pBlob uintptr - // var sParse Parse at bp+96, 408 + // var sParse Parse at bp+48, 408 var j int32 // Check that the column is not part of an FK child key definition. It @@ -119603,7 +119603,7 @@ func Xsqlite3_blob_open(tls *libc.TLS, db uintptr, zDb uintptr, zTable uintptr, var aOp uintptr nAttempt = 0 rc = SQLITE_OK - *(*uintptr)(unsafe.Pointer(bp + 504 /* zErr */)) = uintptr(0) + *(*uintptr)(unsafe.Pointer(bp + 456 /* zErr */)) = uintptr(0) pBlob = uintptr(0) *(*uintptr)(unsafe.Pointer(ppBlob)) = uintptr(0) @@ -119613,49 +119613,49 @@ func Xsqlite3_blob_open(tls *libc.TLS, db uintptr, zDb uintptr, zTable uintptr, pBlob = Xsqlite3DbMallocZero(tls, db, uint64(unsafe.Sizeof(Incrblob{}))) __1: - libc.Xmemset(tls, bp+96 /* &sParse */, 0, uint64(unsafe.Sizeof(Parse{}))) + libc.Xmemset(tls, bp+48 /* &sParse */, 0, uint64(unsafe.Sizeof(Parse{}))) if !(!(pBlob != 0)) { goto __4 } goto blob_open_out __4: ; - (*Parse)(unsafe.Pointer(bp + 96 /* &sParse */)).Fdb = db - Xsqlite3DbFree(tls, db, *(*uintptr)(unsafe.Pointer(bp + 504 /* zErr */))) - *(*uintptr)(unsafe.Pointer(bp + 504 /* zErr */)) = uintptr(0) + (*Parse)(unsafe.Pointer(bp + 48 /* &sParse */)).Fdb = db + Xsqlite3DbFree(tls, db, *(*uintptr)(unsafe.Pointer(bp + 456 /* zErr */))) + *(*uintptr)(unsafe.Pointer(bp + 456 /* zErr */)) = uintptr(0) Xsqlite3BtreeEnterAll(tls, db) - pTab = Xsqlite3LocateTable(tls, bp+96 /* &sParse */, uint32(0), zTable, zDb) + pTab = Xsqlite3LocateTable(tls, bp+48 /* &sParse */, uint32(0), zTable, zDb) if !((pTab != 0) && ((*Table)(unsafe.Pointer(pTab)).FnModuleArg != 0)) { goto __5 } pTab = uintptr(0) - Xsqlite3ErrorMsg(tls, bp+96 /* &sParse */, ts+6658 /* "cannot open virt..." */, libc.VaList(bp, zTable)) + Xsqlite3ErrorMsg(tls, bp+48 /* &sParse */, ts+6658 /* "cannot open virt..." */, libc.VaList(bp, zTable)) __5: ; if !((pTab != 0) && !(((*Table)(unsafe.Pointer((pTab))).FtabFlags & U32(TF_WithoutRowid)) == U32(0))) { goto __6 } pTab = uintptr(0) - Xsqlite3ErrorMsg(tls, bp+96 /* &sParse */, ts+6688 /* "cannot open tabl..." */, libc.VaList(bp+16, zTable)) + Xsqlite3ErrorMsg(tls, bp+48 /* &sParse */, ts+6688 /* "cannot open tabl..." */, libc.VaList(bp+8, zTable)) __6: ; if !((pTab != 0) && ((*Table)(unsafe.Pointer(pTab)).FpSelect != 0)) { goto __7 } pTab = uintptr(0) - Xsqlite3ErrorMsg(tls, bp+96 /* &sParse */, ts+6724 /* "cannot open view..." */, libc.VaList(bp+32, zTable)) + Xsqlite3ErrorMsg(tls, bp+48 /* &sParse */, ts+6724 /* "cannot open view..." */, libc.VaList(bp+16, zTable)) __7: ; if !(!(pTab != 0)) { goto __8 } - if !((*Parse)(unsafe.Pointer(bp+96 /* &sParse */)).FzErrMsg != 0) { + if !((*Parse)(unsafe.Pointer(bp+48 /* &sParse */)).FzErrMsg != 0) { goto __9 } - Xsqlite3DbFree(tls, db, *(*uintptr)(unsafe.Pointer(bp + 504 /* zErr */))) - *(*uintptr)(unsafe.Pointer(bp + 504 /* zErr */)) = (*Parse)(unsafe.Pointer(bp + 96 /* &sParse */)).FzErrMsg - (*Parse)(unsafe.Pointer(bp + 96 /* &sParse */)).FzErrMsg = uintptr(0) + Xsqlite3DbFree(tls, db, *(*uintptr)(unsafe.Pointer(bp + 456 /* zErr */))) + *(*uintptr)(unsafe.Pointer(bp + 456 /* zErr */)) = (*Parse)(unsafe.Pointer(bp + 48 /* &sParse */)).FzErrMsg + (*Parse)(unsafe.Pointer(bp + 48 /* &sParse */)).FzErrMsg = uintptr(0) __9: ; rc = SQLITE_ERROR @@ -119688,8 +119688,8 @@ __12: if !(iCol == int32((*Table)(unsafe.Pointer(pTab)).FnCol)) { goto __14 } - Xsqlite3DbFree(tls, db, *(*uintptr)(unsafe.Pointer(bp + 504 /* zErr */))) - *(*uintptr)(unsafe.Pointer(bp + 504 /* zErr */)) = Xsqlite3MPrintf(tls, db, ts+6745 /* "no such column: ..." */, libc.VaList(bp+48, zColumn)) + Xsqlite3DbFree(tls, db, *(*uintptr)(unsafe.Pointer(bp + 456 /* zErr */))) + *(*uintptr)(unsafe.Pointer(bp + 456 /* zErr */)) = Xsqlite3MPrintf(tls, db, ts+6745 /* "no such column: ..." */, libc.VaList(bp+24, zColumn)) rc = SQLITE_ERROR Xsqlite3BtreeLeaveAll(tls, db) goto blob_open_out @@ -119771,8 +119771,8 @@ __26: if !(zFault != 0) { goto __31 } - Xsqlite3DbFree(tls, db, *(*uintptr)(unsafe.Pointer(bp + 504 /* zErr */))) - *(*uintptr)(unsafe.Pointer(bp + 504 /* zErr */)) = Xsqlite3MPrintf(tls, db, ts+6786 /* "cannot open %s c..." */, libc.VaList(bp+64, zFault)) + Xsqlite3DbFree(tls, db, *(*uintptr)(unsafe.Pointer(bp + 456 /* zErr */))) + *(*uintptr)(unsafe.Pointer(bp + 456 /* zErr */)) = Xsqlite3MPrintf(tls, db, ts+6786 /* "cannot open %s c..." */, libc.VaList(bp+32, zFault)) rc = SQLITE_ERROR Xsqlite3BtreeLeaveAll(tls, db) goto blob_open_out @@ -119781,7 +119781,7 @@ __31: __15: ; - (*Incrblob)(unsafe.Pointer(pBlob)).FpStmt = Xsqlite3VdbeCreate(tls, bp+96 /* &sParse */) + (*Incrblob)(unsafe.Pointer(pBlob)).FpStmt = Xsqlite3VdbeCreate(tls, bp+48 /* &sParse */) if !((*Incrblob)(unsafe.Pointer(pBlob)).FpStmt != 0) { goto __32 @@ -119835,10 +119835,10 @@ __35: *(*int32)(unsafe.Pointer(aOp + 1*24 + 16 /* &.p4 */)) = (int32((*Table)(unsafe.Pointer(pTab)).FnCol) + 1) (*VdbeOp)(unsafe.Pointer(aOp + 3*24)).Fp2 = int32((*Table)(unsafe.Pointer(pTab)).FnCol) - (*Parse)(unsafe.Pointer(bp + 96 /* &sParse */)).FnVar = int16(0) - (*Parse)(unsafe.Pointer(bp + 96 /* &sParse */)).FnMem = 1 - (*Parse)(unsafe.Pointer(bp + 96 /* &sParse */)).FnTab = 1 - Xsqlite3VdbeMakeReady(tls, v, bp+96 /* &sParse */) + (*Parse)(unsafe.Pointer(bp + 48 /* &sParse */)).FnVar = int16(0) + (*Parse)(unsafe.Pointer(bp + 48 /* &sParse */)).FnMem = 1 + (*Parse)(unsafe.Pointer(bp + 48 /* &sParse */)).FnTab = 1 + Xsqlite3VdbeMakeReady(tls, v, bp+48 /* &sParse */) __34: ; __32: @@ -119853,7 +119853,7 @@ __32: goto blob_open_out __36: ; - rc = blobSeekToRow(tls, pBlob, iRow, bp+504 /* &zErr */) + rc = blobSeekToRow(tls, pBlob, iRow, bp+456 /* &zErr */) goto __2 __2: if ((libc.PreIncInt32(&nAttempt, 1)) < SQLITE_MAX_SCHEMA_RETRY) && (rc == SQLITE_SCHEMA) { @@ -119880,13 +119880,13 @@ __39: __38: ; Xsqlite3ErrorWithMsg(tls, db, rc, func() uintptr { - if *(*uintptr)(unsafe.Pointer(bp + 504 /* zErr */)) != 0 { + if *(*uintptr)(unsafe.Pointer(bp + 456 /* zErr */)) != 0 { return ts + 3630 /* "%s" */ } return uintptr(0) - }(), libc.VaList(bp+80, *(*uintptr)(unsafe.Pointer(bp + 504 /* zErr */)))) - Xsqlite3DbFree(tls, db, *(*uintptr)(unsafe.Pointer(bp + 504 /* zErr */))) - Xsqlite3ParserReset(tls, bp+96 /* &sParse */) + }(), libc.VaList(bp+40, *(*uintptr)(unsafe.Pointer(bp + 456 /* zErr */)))) + Xsqlite3DbFree(tls, db, *(*uintptr)(unsafe.Pointer(bp + 456 /* zErr */))) + Xsqlite3ParserReset(tls, bp+48 /* &sParse */) rc = Xsqlite3ApiExit(tls, db, rc) Xsqlite3_mutex_leave(tls, (*Sqlite3)(unsafe.Pointer(db)).Fmutex) return rc @@ -120021,8 +120021,8 @@ func Xsqlite3_blob_bytes(tls *libc.TLS, pBlob uintptr) int32 { /* sqlite3.c:9526 // subsequent calls to sqlite3_blob_xxx() functions (except blob_close()) // immediately return SQLITE_ABORT. func Xsqlite3_blob_reopen(tls *libc.TLS, pBlob uintptr, iRow Sqlite3_int64) int32 { /* sqlite3.c:95283:16: */ - bp := tls.Alloc(24) - defer tls.Free(24) + bp := tls.Alloc(16) + defer tls.Free(16) var rc int32 var p uintptr = pBlob @@ -120039,18 +120039,18 @@ func Xsqlite3_blob_reopen(tls *libc.TLS, pBlob uintptr, iRow Sqlite3_int64) int3 // already been invalidated. Return SQLITE_ABORT in this case. rc = SQLITE_ABORT } else { - // var zErr uintptr at bp+16, 8 + // var zErr uintptr at bp+8, 8 (*Vdbe)(unsafe.Pointer((*Incrblob)(unsafe.Pointer(p)).FpStmt)).Frc = SQLITE_OK - rc = blobSeekToRow(tls, p, iRow, bp+16 /* &zErr */) + rc = blobSeekToRow(tls, p, iRow, bp+8 /* &zErr */) if rc != SQLITE_OK { Xsqlite3ErrorWithMsg(tls, db, rc, func() uintptr { - if *(*uintptr)(unsafe.Pointer(bp + 16 /* zErr */)) != 0 { + if *(*uintptr)(unsafe.Pointer(bp + 8 /* zErr */)) != 0 { return ts + 3630 /* "%s" */ } return uintptr(0) - }(), libc.VaList(bp, *(*uintptr)(unsafe.Pointer(bp + 16 /* zErr */)))) - Xsqlite3DbFree(tls, db, *(*uintptr)(unsafe.Pointer(bp + 16 /* zErr */))) + }(), libc.VaList(bp, *(*uintptr)(unsafe.Pointer(bp + 8 /* zErr */)))) + Xsqlite3DbFree(tls, db, *(*uintptr)(unsafe.Pointer(bp + 8 /* zErr */))) } } @@ -123523,8 +123523,8 @@ func Xsqlite3ExprColUsed(tls *libc.TLS, pExpr uintptr) Bitmask { /* sqlite3.c:99 // If the name cannot be resolved unambiguously, leave an error message // in pParse and return WRC_Abort. Return WRC_Prune on success. func lookupName(tls *libc.TLS, pParse uintptr, zDb uintptr, zTab uintptr, zCol uintptr, pNC uintptr, pExpr uintptr) int32 { /* sqlite3.c:99446:12: */ - bp := tls.Alloc(144) - defer tls.Free(144) + bp := tls.Alloc(96) + defer tls.Free(96) var i int32 var j int32 // Loop counters @@ -124016,7 +124016,7 @@ __70: ((((*NameContext)(unsafe.Pointer(pNC)).FncFlags & NC_AllowWin) == 0) || (pNC != pTopNC))) { goto __71 } - Xsqlite3ErrorMsg(tls, pParse, ts+6873 /* "misuse of aliase..." */, libc.VaList(bp+16, zAs)) + Xsqlite3ErrorMsg(tls, pParse, ts+6873 /* "misuse of aliase..." */, libc.VaList(bp+8, zAs)) return WRC_Abort __71: ; @@ -124099,7 +124099,7 @@ __11: // a huge amount of legacy SQL that uses it. So for now, we just // issue a warning. Xsqlite3_log(tls, SQLITE_WARNING, - ts+6928 /* "double-quoted st..." */, libc.VaList(bp+32, zCol)) + ts+6928 /* "double-quoted st..." */, libc.VaList(bp+16, zCol)) (*Expr)(unsafe.Pointer(pExpr)).Fop = U8(TK_STRING) *(*uintptr)(unsafe.Pointer(pExpr + 64 /* &.y */)) = uintptr(0) return WRC_Prune @@ -124127,16 +124127,16 @@ __75: if !(zDb != 0) { goto __79 } - Xsqlite3ErrorMsg(tls, pParse, ts+7000 /* "%s: %s.%s.%s" */, libc.VaList(bp+48, zErr, zDb, zTab, zCol)) + Xsqlite3ErrorMsg(tls, pParse, ts+7000 /* "%s: %s.%s.%s" */, libc.VaList(bp+24, zErr, zDb, zTab, zCol)) goto __80 __79: if !(zTab != 0) { goto __81 } - Xsqlite3ErrorMsg(tls, pParse, ts+7013 /* "%s: %s.%s" */, libc.VaList(bp+88, zErr, zTab, zCol)) + Xsqlite3ErrorMsg(tls, pParse, ts+7013 /* "%s: %s.%s" */, libc.VaList(bp+56, zErr, zTab, zCol)) goto __82 __81: - Xsqlite3ErrorMsg(tls, pParse, ts+7023 /* "%s: %s" */, libc.VaList(bp+120, zErr, zCol)) + Xsqlite3ErrorMsg(tls, pParse, ts+7023 /* "%s: %s" */, libc.VaList(bp+80, zErr, zCol)) __82: ; __80: @@ -124267,8 +124267,8 @@ func Xsqlite3CreateColumnExpr(tls *libc.TLS, db uintptr, pSrc uintptr, iSrc int3 // (because errors are rare), the conditional is moved outside of the // function call using a macro. func notValidImpl(tls *libc.TLS, pParse uintptr, pNC uintptr, zMsg uintptr, pExpr uintptr) { /* sqlite3.c:99922:13: */ - bp := tls.Alloc(24) - defer tls.Free(24) + bp := tls.Alloc(16) + defer tls.Free(16) var zIn uintptr = ts + 7030 /* "partial index WH..." */ if ((*NameContext)(unsafe.Pointer(pNC)).FncFlags & NC_IdxExpr) != 0 { @@ -124313,8 +124313,8 @@ func exprProbability(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:99948:12: */ // function names. The operator for aggregate functions is changed // to TK_AGG_FUNCTION. func resolveExprStep(tls *libc.TLS, pWalker uintptr, pExpr uintptr) int32 { /* sqlite3.c:99968:12: */ - bp := tls.Alloc(176) - defer tls.Free(176) + bp := tls.Alloc(128) + defer tls.Free(128) var pNC uintptr var pParse uintptr @@ -124361,7 +124361,7 @@ func resolveExprStep(tls *libc.TLS, pWalker uintptr, pExpr uintptr) int32 { /* s fallthrough case TK_ISNULL: { - // var anRef [8]int32 at bp+144, 32 + // var anRef [8]int32 at bp+96, 32 var p uintptr var i int32 @@ -124372,7 +124372,7 @@ func resolveExprStep(tls *libc.TLS, pWalker uintptr, pExpr uintptr) int32 { /* s goto __3 } { - *(*int32)(unsafe.Pointer(bp + 144 /* &anRef[0] */ + uintptr(i)*4)) = (*NameContext)(unsafe.Pointer(p)).FnRef + *(*int32)(unsafe.Pointer(bp + 96 /* &anRef[0] */ + uintptr(i)*4)) = (*NameContext)(unsafe.Pointer(p)).FnRef } goto __2 @@ -124400,7 +124400,7 @@ func resolveExprStep(tls *libc.TLS, pWalker uintptr, pExpr uintptr) int32 { /* s goto __6 } { - (*NameContext)(unsafe.Pointer(p)).FnRef = *(*int32)(unsafe.Pointer(bp + 144 /* &anRef[0] */ + uintptr(i)*4)) + (*NameContext)(unsafe.Pointer(p)).FnRef = *(*int32)(unsafe.Pointer(bp + 96 /* &anRef[0] */ + uintptr(i)*4)) } goto __5 @@ -124587,7 +124587,7 @@ func resolveExprStep(tls *libc.TLS, pWalker uintptr, pExpr uintptr) int32 { /* s if ((pDef != 0) && ((*FuncDef)(unsafe.Pointer(pDef)).FxValue == uintptr(0))) && (pWin != 0) { Xsqlite3ErrorMsg(tls, pParse, - ts+7294 /* "%.*s() may not b..." */, libc.VaList(bp+16, nId, zId)) + ts+7294 /* "%.*s() may not b..." */, libc.VaList(bp+8, nId, zId)) (*NameContext)(unsafe.Pointer(pNC)).FnNcErr++ } else if (((is_agg != 0) && (((*NameContext)(unsafe.Pointer(pNC)).FncFlags & NC_AllowAgg) == 0)) || (((is_agg != 0) && (((*FuncDef)(unsafe.Pointer(pDef)).FfuncFlags & U32(SQLITE_FUNC_WINDOW)) != 0)) && !(pWin != 0))) || @@ -124598,20 +124598,20 @@ func resolveExprStep(tls *libc.TLS, pWalker uintptr, pExpr uintptr) int32 { /* s } else { zType = ts + 7345 /* "aggregate" */ } - Xsqlite3ErrorMsg(tls, pParse, ts+7355 /* "misuse of %s fun..." */, libc.VaList(bp+40, zType, nId, zId)) + Xsqlite3ErrorMsg(tls, pParse, ts+7355 /* "misuse of %s fun..." */, libc.VaList(bp+24, zType, nId, zId)) (*NameContext)(unsafe.Pointer(pNC)).FnNcErr++ is_agg = 0 } else if (no_such_func != 0) && (int32((*Sqlite3)(unsafe.Pointer((*Parse)(unsafe.Pointer(pParse)).Fdb)).Finit.Fbusy) == 0) { - Xsqlite3ErrorMsg(tls, pParse, ts+7384 /* "no such function..." */, libc.VaList(bp+72, nId, zId)) + Xsqlite3ErrorMsg(tls, pParse, ts+7384 /* "no such function..." */, libc.VaList(bp+48, nId, zId)) (*NameContext)(unsafe.Pointer(pNC)).FnNcErr++ } else if wrong_num_args != 0 { Xsqlite3ErrorMsg(tls, pParse, ts+7407, /* "wrong number of ..." */ - libc.VaList(bp+96, nId, zId)) + libc.VaList(bp+64, nId, zId)) (*NameContext)(unsafe.Pointer(pNC)).FnNcErr++ } else if (is_agg == 0) && (((*Expr)(unsafe.Pointer((pExpr))).Fflags & (U32(EP_WinFunc))) != U32(0)) { Xsqlite3ErrorMsg(tls, pParse, ts+7452, /* "FILTER may not b..." */ - libc.VaList(bp+120, nId, zId)) + libc.VaList(bp+80, nId, zId)) (*NameContext)(unsafe.Pointer(pNC)).FnNcErr++ } if is_agg != 0 { @@ -124862,8 +124862,8 @@ func resolveOrderByTermToExprList(tls *libc.TLS, pParse uintptr, pSelect uintptr // Generate an ORDER BY or GROUP BY term out-of-range error. func resolveOutOfRangeError(tls *libc.TLS, pParse uintptr, zType uintptr, i int32, mx int32) { /* sqlite3.c:100497:13: */ - bp := tls.Alloc(32) - defer tls.Free(32) + bp := tls.Alloc(24) + defer tls.Free(24) Xsqlite3ErrorMsg(tls, pParse, @@ -124884,8 +124884,8 @@ func resolveOutOfRangeError(tls *libc.TLS, pParse uintptr, zType uintptr, i int3 // // Return the number of errors seen. func resolveCompoundOrderBy(tls *libc.TLS, pParse uintptr, pSelect uintptr) int32 { /* sqlite3.c:100523:12: */ - bp := tls.Alloc(20) - defer tls.Free(20) + bp := tls.Alloc(12) + defer tls.Free(12) var i int32 var pOrderBy uintptr @@ -124922,7 +124922,7 @@ func resolveCompoundOrderBy(tls *libc.TLS, pParse uintptr, pSelect uintptr) int3 goto __3 } { - *(*int32)(unsafe.Pointer(bp + 16 /* iCol */)) = -1 + *(*int32)(unsafe.Pointer(bp + 8 /* iCol */)) = -1 var pE uintptr var pDup uintptr if (uint32(int32(*(*uint8)(unsafe.Pointer(pItem + 20 /* &.done */)) & 0x4 >> 2))) != 0 { @@ -124932,14 +124932,14 @@ func resolveCompoundOrderBy(tls *libc.TLS, pParse uintptr, pSelect uintptr) int3 if pE == uintptr(0) { goto __2 } - if Xsqlite3ExprIsInteger(tls, pE, bp+16 /* &iCol */) != 0 { - if (*(*int32)(unsafe.Pointer(bp + 16 /* iCol */)) <= 0) || (*(*int32)(unsafe.Pointer(bp + 16 /* iCol */)) > (*ExprList)(unsafe.Pointer(pEList)).FnExpr) { + if Xsqlite3ExprIsInteger(tls, pE, bp+8 /* &iCol */) != 0 { + if (*(*int32)(unsafe.Pointer(bp + 8 /* iCol */)) <= 0) || (*(*int32)(unsafe.Pointer(bp + 8 /* iCol */)) > (*ExprList)(unsafe.Pointer(pEList)).FnExpr) { resolveOutOfRangeError(tls, pParse, ts+7613 /* "ORDER" */, (i + 1), (*ExprList)(unsafe.Pointer(pEList)).FnExpr) return 1 } } else { - *(*int32)(unsafe.Pointer(bp + 16 /* iCol */)) = resolveAsName(tls, pParse, pEList, pE) - if *(*int32)(unsafe.Pointer(bp + 16 /* iCol */)) == 0 { + *(*int32)(unsafe.Pointer(bp + 8 /* iCol */)) = resolveAsName(tls, pParse, pEList, pE) + if *(*int32)(unsafe.Pointer(bp + 8 /* iCol */)) == 0 { // Now test if expression pE matches one of the values returned // by pSelect. In the usual case this is done by duplicating the // expression, resolving any symbols in it, and then comparing @@ -124954,15 +124954,15 @@ func resolveCompoundOrderBy(tls *libc.TLS, pParse uintptr, pSelect uintptr) int3 pDup = Xsqlite3ExprDup(tls, db, pE, 0) if !(int32((*Sqlite3)(unsafe.Pointer(db)).FmallocFailed) != 0) { - *(*int32)(unsafe.Pointer(bp + 16 /* iCol */)) = resolveOrderByTermToExprList(tls, pParse, pSelect, pDup) - if (int32((*Parse)(unsafe.Pointer(pParse)).FeParseMode) >= PARSE_MODE_RENAME) && (*(*int32)(unsafe.Pointer(bp + 16 /* iCol */)) > 0) { + *(*int32)(unsafe.Pointer(bp + 8 /* iCol */)) = resolveOrderByTermToExprList(tls, pParse, pSelect, pDup) + if (int32((*Parse)(unsafe.Pointer(pParse)).FeParseMode) >= PARSE_MODE_RENAME) && (*(*int32)(unsafe.Pointer(bp + 8 /* iCol */)) > 0) { resolveOrderByTermToExprList(tls, pParse, pSelect, pE) } } Xsqlite3ExprDelete(tls, db, pDup) } } - if *(*int32)(unsafe.Pointer(bp + 16 /* iCol */)) > 0 { + if *(*int32)(unsafe.Pointer(bp + 8 /* iCol */)) > 0 { // Convert the ORDER BY term into an integer column number iCol, // taking care to preserve the COLLATE clause if it exists. if !(int32((*Parse)(unsafe.Pointer(pParse)).FeParseMode) >= PARSE_MODE_RENAME) { @@ -124971,7 +124971,7 @@ func resolveCompoundOrderBy(tls *libc.TLS, pParse uintptr, pSelect uintptr) int3 return 1 } *(*U32)(unsafe.Pointer(pNew + 4 /* &.flags */)) |= (U32(EP_IntValue)) - *(*int32)(unsafe.Pointer(pNew + 8 /* &.u */)) = *(*int32)(unsafe.Pointer(bp + 16 /* iCol */)) + *(*int32)(unsafe.Pointer(pNew + 8 /* &.u */)) = *(*int32)(unsafe.Pointer(bp + 8 /* iCol */)) if (*ExprList_item)(unsafe.Pointer(pItem)).FpExpr == pE { (*ExprList_item)(unsafe.Pointer(pItem)).FpExpr = pNew } else { @@ -124984,7 +124984,7 @@ func resolveCompoundOrderBy(tls *libc.TLS, pParse uintptr, pSelect uintptr) int3 (*Expr)(unsafe.Pointer(pParent)).FpLeft = pNew } Xsqlite3ExprDelete(tls, db, pE) - *(*U16)(unsafe.Pointer(pItem + 24 /* &.u */ /* &.x */ /* &.iOrderByCol */)) = U16(*(*int32)(unsafe.Pointer(bp + 16 /* iCol */))) + *(*U16)(unsafe.Pointer(pItem + 24 /* &.u */ /* &.x */ /* &.iOrderByCol */)) = U16(*(*int32)(unsafe.Pointer(bp + 8 /* iCol */))) } libc.SetBitFieldPtr8Uint32(pItem+20 /* &.done */, uint32(1), 2, 0x4) } else { @@ -125021,8 +125021,8 @@ func resolveCompoundOrderBy(tls *libc.TLS, pParse uintptr, pSelect uintptr) int3 // If any errors are detected, add an error message to pParse and // return non-zero. Return zero if no errors are seen. func Xsqlite3ResolveOrderGroupBy(tls *libc.TLS, pParse uintptr, pSelect uintptr, pOrderBy uintptr, zType uintptr) int32 { /* sqlite3.c:100636:20: */ - bp := tls.Alloc(16) - defer tls.Free(16) + bp := tls.Alloc(8) + defer tls.Free(8) var i int32 var db uintptr = (*Parse)(unsafe.Pointer(pParse)).Fdb @@ -126243,8 +126243,8 @@ func codeVectorCompare(tls *libc.TLS, pParse uintptr, pExpr uintptr, dest int32, // expression depth allowed. If it is not, leave an error message in // pParse. func Xsqlite3ExprCheckHeight(tls *libc.TLS, pParse uintptr, nHeight int32) int32 { /* sqlite3.c:101913:20: */ - bp := tls.Alloc(16) - defer tls.Free(16) + bp := tls.Alloc(8) + defer tls.Free(8) var rc int32 = SQLITE_OK var mxHeight int32 = *(*int32)(unsafe.Pointer(((*Parse)(unsafe.Pointer(pParse)).Fdb + 128 /* &.aLimit */) + 3*4)) @@ -126501,8 +126501,8 @@ func Xsqlite3ExprAnd(tls *libc.TLS, pParse uintptr, pLeft uintptr, pRight uintpt // Construct a new expression node for a function with multiple // arguments. func Xsqlite3ExprFunction(tls *libc.TLS, pParse uintptr, pList uintptr, pToken uintptr, eDistinct int32) uintptr { /* sqlite3.c:102202:21: */ - bp := tls.Alloc(16) - defer tls.Free(16) + bp := tls.Alloc(8) + defer tls.Free(8) var pNew uintptr var db uintptr = (*Parse)(unsafe.Pointer(pParse)).Fdb @@ -126535,8 +126535,8 @@ func Xsqlite3ExprFunction(tls *libc.TLS, pParse uintptr, pList uintptr, pToken u // // If the function is not usable, create an error. func Xsqlite3ExprFunctionUsable(tls *libc.TLS, pParse uintptr, pExpr uintptr, pDef uintptr) { /* sqlite3.c:102238:21: */ - bp := tls.Alloc(16) - defer tls.Free(16) + bp := tls.Alloc(8) + defer tls.Free(8) if ((*Expr)(unsafe.Pointer((pExpr))).Fflags & (U32(EP_FromDDL))) != U32(0) { if (((*FuncDef)(unsafe.Pointer(pDef)).FfuncFlags & U32(SQLITE_FUNC_DIRECT)) != U32(0)) || @@ -126567,8 +126567,8 @@ func Xsqlite3ExprFunctionUsable(tls *libc.TLS, pParse uintptr, pExpr uintptr, pD // instance of the wildcard, the next sequential variable number is // assigned. func Xsqlite3ExprAssignVarNumber(tls *libc.TLS, pParse uintptr, pExpr uintptr, n U32) { /* sqlite3.c:102277:21: */ - bp := tls.Alloc(24) - defer tls.Free(24) + bp := tls.Alloc(16) + defer tls.Free(16) var db uintptr = (*Parse)(unsafe.Pointer(pParse)).Fdb var z uintptr @@ -126589,22 +126589,22 @@ func Xsqlite3ExprAssignVarNumber(tls *libc.TLS, pParse uintptr, pExpr uintptr, n if int32(*(*int8)(unsafe.Pointer(z))) == '?' { // Wildcard of the form "?nnn". Convert "nnn" to an integer and // use it as the variable number - // var i I64 at bp+16, 8 + // var i I64 at bp+8, 8 var bOk int32 if n == U32(2) { //OPTIMIZATION-IF-TRUE - *(*I64)(unsafe.Pointer(bp + 16 /* i */)) = (I64(int32(*(*int8)(unsafe.Pointer(z + 1))) - '0')) // The common case of ?N for a single digit N + *(*I64)(unsafe.Pointer(bp + 8 /* i */)) = (I64(int32(*(*int8)(unsafe.Pointer(z + 1))) - '0')) // The common case of ?N for a single digit N bOk = 1 } else { - bOk = (libc.Bool32(0 == Xsqlite3Atoi64(tls, (z+1), bp+16 /* &i */, (int32(n-U32(1))), uint8(SQLITE_UTF8)))) + bOk = (libc.Bool32(0 == Xsqlite3Atoi64(tls, (z+1), bp+8 /* &i */, (int32(n-U32(1))), uint8(SQLITE_UTF8)))) } - if ((bOk == 0) || (*(*I64)(unsafe.Pointer(bp + 16 /* i */)) < int64(1))) || (*(*I64)(unsafe.Pointer(bp + 16 /* i */)) > I64(*(*int32)(unsafe.Pointer((db + 128 /* &.aLimit */) + 9*4)))) { + if ((bOk == 0) || (*(*I64)(unsafe.Pointer(bp + 8 /* i */)) < int64(1))) || (*(*I64)(unsafe.Pointer(bp + 8 /* i */)) > I64(*(*int32)(unsafe.Pointer((db + 128 /* &.aLimit */) + 9*4)))) { Xsqlite3ErrorMsg(tls, pParse, ts+7923, /* "variable number ..." */ libc.VaList(bp, *(*int32)(unsafe.Pointer((db + 128 /* &.aLimit */) + 9*4)))) return } - x = YnVar(*(*I64)(unsafe.Pointer(bp + 16 /* i */))) + x = YnVar(*(*I64)(unsafe.Pointer(bp + 8 /* i */))) if int32(x) > int32((*Parse)(unsafe.Pointer(pParse)).FnVar) { (*Parse)(unsafe.Pointer(pParse)).FnVar = YnVar(int32(x)) doAdd = 1 @@ -127259,8 +127259,8 @@ func Xsqlite3ExprListAppend(tls *libc.TLS, pParse uintptr, pList uintptr, pExpr // expression list pList. In the case of a subquery on the RHS, append // TK_SELECT_COLUMN expressions. func Xsqlite3ExprListAppendVector(tls *libc.TLS, pParse uintptr, pList uintptr, pColumns uintptr, pExpr uintptr) uintptr { /* sqlite3.c:102981:25: */ - bp := tls.Alloc(24) - defer tls.Free(24) + bp := tls.Alloc(16) + defer tls.Free(16) var db uintptr var n int32 @@ -127425,8 +127425,8 @@ func Xsqlite3ExprListSetSpan(tls *libc.TLS, pParse uintptr, pList uintptr, zStar // If the expression list pEList contains more than iLimit elements, // leave an error message in pParse. func Xsqlite3ExprListCheckLength(tls *libc.TLS, pParse uintptr, pEList uintptr, zObject uintptr) { /* sqlite3.c:103140:21: */ - bp := tls.Alloc(16) - defer tls.Free(16) + bp := tls.Alloc(8) + defer tls.Free(8) var mx int32 = *(*int32)(unsafe.Pointer(((*Parse)(unsafe.Pointer(pParse)).Fdb + 128 /* &.aLimit */) + 2*4)) @@ -128111,8 +128111,8 @@ func sqlite3InRhsIsConstant(tls *libc.TLS, pIn uintptr) int32 { /* sqlite3.c:103 // // then aiMap[] is populated with {2, 0, 1}. func Xsqlite3FindInIndex(tls *libc.TLS, pParse uintptr, pX uintptr, inFlags U32, prRhsHasNull uintptr, aiMap uintptr, piTab uintptr) int32 { /* sqlite3.c:103820:20: */ - bp := tls.Alloc(32) - defer tls.Free(32) + bp := tls.Alloc(16) + defer tls.Free(16) var p uintptr // SELECT to the right of IN operator var eType int32 = 0 // Type of RHS table. IN_INDEX_* @@ -128259,7 +128259,7 @@ func Xsqlite3FindInIndex(tls *libc.TLS, pParse uintptr, pX uintptr, inFlags U32, if colUsed == ((Bitmask((uint64(1))) << (nExpr)) - uint64(1)) { // If we reach this point, that means the index pIdx is usable var iAddr int32 = Xsqlite3VdbeAddOp0(tls, v, OP_Once) - Xsqlite3VdbeExplain(tls, pParse, uint8(0), ts+8107 /* "USING INDEX %s F..." */, libc.VaList(bp+16, (*Index)(unsafe.Pointer(pIdx)).FzName)) + Xsqlite3VdbeExplain(tls, pParse, uint8(0), ts+8107 /* "USING INDEX %s F..." */, libc.VaList(bp+8, (*Index)(unsafe.Pointer(pIdx)).FzName)) Xsqlite3VdbeAddOp3(tls, v, OP_OpenRead, iTab, int32((*Index)(unsafe.Pointer(pIdx)).Ftnum), iDb) Xsqlite3VdbeSetP4KeyInfo(tls, pParse, pIdx) @@ -128361,8 +128361,8 @@ func exprINAffinity(tls *libc.TLS, pParse uintptr, pExpr uintptr) uintptr { /* s // // "sub-select returns N columns - expected M" func Xsqlite3SubselectError(tls *libc.TLS, pParse uintptr, nActual int32, nExpect int32) { /* sqlite3.c:104075:21: */ - bp := tls.Alloc(24) - defer tls.Free(24) + bp := tls.Alloc(16) + defer tls.Free(16) if (*Parse)(unsafe.Pointer(pParse)).FnErr == 0 { var zFmt uintptr = ts + 8138 /* "sub-select retur..." */ @@ -128408,8 +128408,8 @@ func Xsqlite3VectorErrorMsg(tls *libc.TLS, pParse uintptr, pExpr uintptr) { /* s // 'x' nor the SELECT... statement are columns, then numeric affinity // is used. func Xsqlite3CodeRhsOfIN(tls *libc.TLS, pParse uintptr, pExpr uintptr, iTab int32) { /* sqlite3.c:104128:21: */ - bp := tls.Alloc(81) - defer tls.Free(81) + bp := tls.Alloc(65) + defer tls.Free(65) var addrOnce int32 = 0 // Address of the OP_Once instruction at top var addr int32 // Address of OP_OpenEphemeral instruction @@ -128472,7 +128472,7 @@ func Xsqlite3CodeRhsOfIN(tls *libc.TLS, pParse uintptr, pExpr uintptr, iTab int3 var pSelect uintptr = *(*uintptr)(unsafe.Pointer(pExpr + 32 /* &.x */)) var pEList uintptr = (*Select)(unsafe.Pointer(pSelect)).FpEList - Xsqlite3VdbeExplain(tls, pParse, uint8(1), ts+8205 /* "%sLIST SUBQUERY ..." */, libc.VaList(bp+16, func() uintptr { + Xsqlite3VdbeExplain(tls, pParse, uint8(1), ts+8205 /* "%sLIST SUBQUERY ..." */, libc.VaList(bp+8, func() uintptr { if addrOnce != 0 { return ts + 755 /* "" */ } @@ -128482,12 +128482,12 @@ func Xsqlite3CodeRhsOfIN(tls *libc.TLS, pParse uintptr, pExpr uintptr, iTab int3 // error will have been caught long before we reach this point. if (*ExprList)(unsafe.Pointer(pEList)).FnExpr == nVal { var pCopy uintptr - // var dest SelectDest at bp+40, 40 + // var dest SelectDest at bp+24, 40 var i int32 var rc int32 - Xsqlite3SelectDestInit(tls, bp+40 /* &dest */, SRT_Set, iTab) - (*SelectDest)(unsafe.Pointer(bp + 40 /* &dest */)).FzAffSdst = exprINAffinity(tls, pParse, pExpr) + Xsqlite3SelectDestInit(tls, bp+24 /* &dest */, SRT_Set, iTab) + (*SelectDest)(unsafe.Pointer(bp + 24 /* &dest */)).FzAffSdst = exprINAffinity(tls, pParse, pExpr) (*Select)(unsafe.Pointer(pSelect)).FiLimit = 0 // Caused by OOM in sqlite3KeyInfoAlloc() @@ -128495,10 +128495,10 @@ func Xsqlite3CodeRhsOfIN(tls *libc.TLS, pParse uintptr, pExpr uintptr, iTab int3 if (*Sqlite3)(unsafe.Pointer((*Parse)(unsafe.Pointer(pParse)).Fdb)).FmallocFailed != 0 { rc = 1 } else { - rc = Xsqlite3Select(tls, pParse, pCopy, bp+40 /* &dest */) + rc = Xsqlite3Select(tls, pParse, pCopy, bp+24 /* &dest */) } Xsqlite3SelectDelete(tls, (*Parse)(unsafe.Pointer(pParse)).Fdb, pCopy) - Xsqlite3DbFree(tls, (*Parse)(unsafe.Pointer(pParse)).Fdb, (*SelectDest)(unsafe.Pointer(bp+40 /* &dest */)).FzAffSdst) + Xsqlite3DbFree(tls, (*Parse)(unsafe.Pointer(pParse)).Fdb, (*SelectDest)(unsafe.Pointer(bp+24 /* &dest */)).FzAffSdst) if rc != 0 { Xsqlite3KeyInfoUnref(tls, pKeyInfo) return @@ -128518,18 +128518,18 @@ func Xsqlite3CodeRhsOfIN(tls *libc.TLS, pParse uintptr, pExpr uintptr, iTab int3 // store it in the temporary table. If is a column, then use // that columns affinity when building index keys. If is not // a column, use numeric affinity. - // var affinity int8 at bp+80, 1 + // var affinity int8 at bp+64, 1 // Affinity of the LHS of the IN var i int32 var pList uintptr = *(*uintptr)(unsafe.Pointer(pExpr + 32 /* &.x */)) var pItem uintptr var r1 int32 var r2 int32 - *(*int8)(unsafe.Pointer(bp + 80 /* affinity */)) = Xsqlite3ExprAffinity(tls, pLeft) - if int32(*(*int8)(unsafe.Pointer(bp + 80 /* affinity */))) <= SQLITE_AFF_NONE { - *(*int8)(unsafe.Pointer(bp + 80 /* affinity */)) = int8(SQLITE_AFF_BLOB) - } else if int32(*(*int8)(unsafe.Pointer(bp + 80 /* affinity */))) == SQLITE_AFF_REAL { - *(*int8)(unsafe.Pointer(bp + 80 /* affinity */)) = int8(SQLITE_AFF_NUMERIC) + *(*int8)(unsafe.Pointer(bp + 64 /* affinity */)) = Xsqlite3ExprAffinity(tls, pLeft) + if int32(*(*int8)(unsafe.Pointer(bp + 64 /* affinity */))) <= SQLITE_AFF_NONE { + *(*int8)(unsafe.Pointer(bp + 64 /* affinity */)) = int8(SQLITE_AFF_BLOB) + } else if int32(*(*int8)(unsafe.Pointer(bp + 64 /* affinity */))) == SQLITE_AFF_REAL { + *(*int8)(unsafe.Pointer(bp + 64 /* affinity */)) = int8(SQLITE_AFF_NUMERIC) } if pKeyInfo != 0 { @@ -128560,7 +128560,7 @@ func Xsqlite3CodeRhsOfIN(tls *libc.TLS, pParse uintptr, pExpr uintptr, iTab int3 // Evaluate the expression and insert it into the temp table Xsqlite3ExprCode(tls, pParse, pE2, r1) - Xsqlite3VdbeAddOp4(tls, v, OP_MakeRecord, r1, 1, r2, bp+80 /* &affinity */, 1) + Xsqlite3VdbeAddOp4(tls, v, OP_MakeRecord, r1, 1, r2, bp+64 /* &affinity */, 1) Xsqlite3VdbeAddOp4Int(tls, v, OP_IdxInsert, iTab, r2, r1, 1) } @@ -128600,13 +128600,13 @@ func Xsqlite3CodeRhsOfIN(tls *libc.TLS, pParse uintptr, pExpr uintptr, iTab int3 // return value is the register of the left-most result column. // Return 0 if an error occurs. func Xsqlite3CodeSubselect(tls *libc.TLS, pParse uintptr, pExpr uintptr) int32 { /* sqlite3.c:104320:20: */ - bp := tls.Alloc(80) - defer tls.Free(80) + bp := tls.Alloc(64) + defer tls.Free(64) var addrOnce int32 = 0 // Address of OP_Once at top of subroutine var rReg int32 = 0 // Register storing resulting var pSel uintptr // SELECT statement to encode - // var dest SelectDest at bp+40, 40 + // var dest SelectDest at bp+24, 40 // How to deal with SELECT result var nReg int32 // Registers to allocate var pLimit uintptr // New limit expression @@ -128655,7 +128655,7 @@ func Xsqlite3CodeSubselect(tls *libc.TLS, pParse uintptr, pExpr uintptr) int32 { // // In both cases, the query is augmented with "LIMIT 1". Any // preexisting limit is discarded in place of the new LIMIT 1. - Xsqlite3VdbeExplain(tls, pParse, uint8(1), ts+8254 /* "%sSCALAR SUBQUER..." */, libc.VaList(bp+16, func() uintptr { + Xsqlite3VdbeExplain(tls, pParse, uint8(1), ts+8254 /* "%sSCALAR SUBQUER..." */, libc.VaList(bp+8, func() uintptr { if addrOnce != 0 { return ts + 755 /* "" */ } @@ -128666,17 +128666,17 @@ func Xsqlite3CodeSubselect(tls *libc.TLS, pParse uintptr, pExpr uintptr) int32 { } else { nReg = 1 } - Xsqlite3SelectDestInit(tls, bp+40 /* &dest */, 0, ((*Parse)(unsafe.Pointer(pParse)).FnMem + 1)) + Xsqlite3SelectDestInit(tls, bp+24 /* &dest */, 0, ((*Parse)(unsafe.Pointer(pParse)).FnMem + 1)) *(*int32)(unsafe.Pointer(pParse + 56 /* &.nMem */)) += (nReg) if int32((*Expr)(unsafe.Pointer(pExpr)).Fop) == TK_SELECT { - (*SelectDest)(unsafe.Pointer(bp + 40 /* &dest */)).FeDest = U8(SRT_Mem) - (*SelectDest)(unsafe.Pointer(bp + 40 /* &dest */)).FiSdst = (*SelectDest)(unsafe.Pointer(bp + 40 /* &dest */)).FiSDParm - (*SelectDest)(unsafe.Pointer(bp + 40 /* &dest */)).FnSdst = nReg - Xsqlite3VdbeAddOp3(tls, v, OP_Null, 0, (*SelectDest)(unsafe.Pointer(bp+40 /* &dest */)).FiSDParm, (((*SelectDest)(unsafe.Pointer(bp+40 /* &dest */)).FiSDParm + nReg) - 1)) + (*SelectDest)(unsafe.Pointer(bp + 24 /* &dest */)).FeDest = U8(SRT_Mem) + (*SelectDest)(unsafe.Pointer(bp + 24 /* &dest */)).FiSdst = (*SelectDest)(unsafe.Pointer(bp + 24 /* &dest */)).FiSDParm + (*SelectDest)(unsafe.Pointer(bp + 24 /* &dest */)).FnSdst = nReg + Xsqlite3VdbeAddOp3(tls, v, OP_Null, 0, (*SelectDest)(unsafe.Pointer(bp+24 /* &dest */)).FiSDParm, (((*SelectDest)(unsafe.Pointer(bp+24 /* &dest */)).FiSDParm + nReg) - 1)) } else { - (*SelectDest)(unsafe.Pointer(bp + 40 /* &dest */)).FeDest = U8(SRT_Exists) - Xsqlite3VdbeAddOp2(tls, v, OP_Integer, 0, (*SelectDest)(unsafe.Pointer(bp+40 /* &dest */)).FiSDParm) + (*SelectDest)(unsafe.Pointer(bp + 24 /* &dest */)).FeDest = U8(SRT_Exists) + Xsqlite3VdbeAddOp2(tls, v, OP_Integer, 0, (*SelectDest)(unsafe.Pointer(bp+24 /* &dest */)).FiSDParm) } if (*Select)(unsafe.Pointer(pSel)).FpLimit != 0 { @@ -128697,14 +128697,14 @@ func Xsqlite3CodeSubselect(tls *libc.TLS, pParse uintptr, pExpr uintptr) int32 { (*Select)(unsafe.Pointer(pSel)).FpLimit = Xsqlite3PExpr(tls, pParse, TK_LIMIT, pLimit, uintptr(0)) } (*Select)(unsafe.Pointer(pSel)).FiLimit = 0 - if Xsqlite3Select(tls, pParse, pSel, bp+40 /* &dest */) != 0 { + if Xsqlite3Select(tls, pParse, pSel, bp+24 /* &dest */) != 0 { if (*Parse)(unsafe.Pointer(pParse)).FnErr != 0 { (*Expr)(unsafe.Pointer(pExpr)).Fop2 = (*Expr)(unsafe.Pointer(pExpr)).Fop (*Expr)(unsafe.Pointer(pExpr)).Fop = U8(TK_ERROR) } return 0 } - (*Expr)(unsafe.Pointer(pExpr)).FiTable = libc.AssignInt32(&rReg, (*SelectDest)(unsafe.Pointer(bp+40 /* &dest */)).FiSDParm) + (*Expr)(unsafe.Pointer(pExpr)).FiTable = libc.AssignInt32(&rReg, (*SelectDest)(unsafe.Pointer(bp+24 /* &dest */)).FiSDParm) if addrOnce != 0 { Xsqlite3VdbeJumpHere(tls, v, addrOnce) @@ -129166,8 +129166,8 @@ func codeReal(tls *libc.TLS, v uintptr, z uintptr, negateFlag int32, iMem int32) // // Expr.u.zToken is always UTF8 and zero-terminated. func codeInteger(tls *libc.TLS, pParse uintptr, pExpr uintptr, negFlag int32, iMem int32) { /* sqlite3.c:104756:13: */ - bp := tls.Alloc(32) - defer tls.Free(32) + bp := tls.Alloc(24) + defer tls.Free(24) var v uintptr = (*Parse)(unsafe.Pointer(pParse)).FpVdbe if ((*Expr)(unsafe.Pointer(pExpr)).Fflags & U32(EP_IntValue)) != 0 { @@ -129179,12 +129179,12 @@ func codeInteger(tls *libc.TLS, pParse uintptr, pExpr uintptr, negFlag int32, iM Xsqlite3VdbeAddOp2(tls, v, OP_Integer, i, iMem) } else { var c int32 - // var value I64 at bp+24, 8 + // var value I64 at bp+16, 8 var z uintptr = *(*uintptr)(unsafe.Pointer(pExpr + 8 /* &.u */)) - c = Xsqlite3DecOrHexToI64(tls, z, bp+24 /* &value */) - if (((c == 3) && !(negFlag != 0)) || (c == 2)) || ((negFlag != 0) && (*(*I64)(unsafe.Pointer(bp + 24 /* value */)) == ((int64(-1)) - (int64(0xffffffff) | (I64((int64(0x7fffffff))) << 32))))) { + c = Xsqlite3DecOrHexToI64(tls, z, bp+16 /* &value */) + if (((c == 3) && !(negFlag != 0)) || (c == 2)) || ((negFlag != 0) && (*(*I64)(unsafe.Pointer(bp + 16 /* value */)) == ((int64(-1)) - (int64(0xffffffff) | (I64((int64(0x7fffffff))) << 32))))) { if Xsqlite3_strnicmp(tls, z, ts+8277 /* "0x" */, 2) == 0 { Xsqlite3ErrorMsg(tls, pParse, ts+8280 /* "hex literal too ..." */, libc.VaList(bp, func() uintptr { if negFlag != 0 { @@ -129198,12 +129198,12 @@ func codeInteger(tls *libc.TLS, pParse uintptr, pExpr uintptr, negFlag int32, iM } else { if negFlag != 0 { if c == 3 { - *(*I64)(unsafe.Pointer(bp + 24 /* value */)) = ((int64(-1)) - (int64(0xffffffff) | (I64((int64(0x7fffffff))) << 32))) + *(*I64)(unsafe.Pointer(bp + 16 /* value */)) = ((int64(-1)) - (int64(0xffffffff) | (I64((int64(0x7fffffff))) << 32))) } else { - *(*I64)(unsafe.Pointer(bp + 24 /* value */)) = -*(*I64)(unsafe.Pointer(bp + 24 /* value */)) + *(*I64)(unsafe.Pointer(bp + 16 /* value */)) = -*(*I64)(unsafe.Pointer(bp + 16 /* value */)) } } - Xsqlite3VdbeAddOp4Dup8(tls, v, OP_Int64, 0, iMem, 0, bp+24 /* &value */, -14) + Xsqlite3VdbeAddOp4Dup8(tls, v, OP_Int64, 0, iMem, 0, bp+16 /* &value */, -14) } } } @@ -129245,8 +129245,8 @@ func Xsqlite3ExprCodeGeneratedColumn(tls *libc.TLS, pParse uintptr, pCol uintptr // Generate code to extract the value of the iCol-th column of a table. func Xsqlite3ExprCodeGetColumnOfTable(tls *libc.TLS, v uintptr, pTab uintptr, iTabCur int32, iCol int32, regOut int32) { /* sqlite3.c:104843:21: */ - bp := tls.Alloc(16) - defer tls.Free(16) + bp := tls.Alloc(8) + defer tls.Free(8) var pCol uintptr @@ -129472,19 +129472,19 @@ func exprCodeInlineFunction(tls *libc.TLS, pParse uintptr, pFarg uintptr, iFuncI // must check the return code and move the results to the desired // register. func Xsqlite3ExprCodeTarget(tls *libc.TLS, pParse uintptr, pExpr uintptr, target int32) int32 { /* sqlite3.c:105104:20: */ - bp := tls.Alloc(224) - defer tls.Free(224) + bp := tls.Alloc(192) + defer tls.Free(192) var v uintptr // The VM under construction var op int32 // The opcode being coded var inReg int32 // Results stored in register inReg - // var regFree1 int32 at bp+72, 4 + // var regFree1 int32 at bp+40, 4 // If non-zero free this temporary register - // var regFree2 int32 at bp+76, 4 + // var regFree2 int32 at bp+44, 4 // If non-zero free this temporary register var r1 int32 var r2 int32 // Various register numbers - // var tempX Expr at bp+80, 72 + // var tempX Expr at bp+48, 72 // Temporary expression node var p5 int32 var pTab uintptr @@ -129567,7 +129567,7 @@ func Xsqlite3ExprCodeTarget(tls *libc.TLS, pParse uintptr, pExpr uintptr, target var i1 int32 // Loop counter var pEList uintptr // List of WHEN terms var aListelem uintptr // Array of WHEN terms - // var opCompare Expr at bp+152, 72 + // var opCompare Expr at bp+120, 72 // The X==Ei expression var pX uintptr // The X expression var pTest uintptr // X==Ei (form A) or just Ei (form B) @@ -129575,8 +129575,8 @@ func Xsqlite3ExprCodeTarget(tls *libc.TLS, pParse uintptr, pExpr uintptr, target var db1 uintptr v = (*Parse)(unsafe.Pointer(pParse)).FpVdbe inReg = target - *(*int32)(unsafe.Pointer(bp + 72 /* regFree1 */)) = 0 - *(*int32)(unsafe.Pointer(bp + 76 /* regFree2 */)) = 0 + *(*int32)(unsafe.Pointer(bp + 40 /* regFree1 */)) = 0 + *(*int32)(unsafe.Pointer(bp + 44 /* regFree2 */)) = 0 p5 = 0 expr_code_doover: @@ -129964,8 +129964,8 @@ __22: codeVectorCompare(tls, pParse, pExpr, target, uint8(op), uint8(p5)) goto __80 __79: - r1 = Xsqlite3ExprCodeTemp(tls, pParse, pLeft, bp+72 /* ®Free1 */) - r2 = Xsqlite3ExprCodeTemp(tls, pParse, (*Expr)(unsafe.Pointer(pExpr)).FpRight, bp+76 /* ®Free2 */) + r1 = Xsqlite3ExprCodeTemp(tls, pParse, pLeft, bp+40 /* ®Free1 */) + r2 = Xsqlite3ExprCodeTemp(tls, pParse, (*Expr)(unsafe.Pointer(pExpr)).FpRight, bp+44 /* ®Free2 */) Xsqlite3VdbeAddOp2(tls, v, OP_Integer, 1, inReg) codeCompare(tls, pParse, pLeft, (*Expr)(unsafe.Pointer(pExpr)).FpRight, op, r1, r2, (Xsqlite3VdbeCurrentAddr(tls, v) + 2), p5, @@ -129999,8 +129999,8 @@ __33: __34: ; - r1 = Xsqlite3ExprCodeTemp(tls, pParse, (*Expr)(unsafe.Pointer(pExpr)).FpLeft, bp+72 /* ®Free1 */) - r2 = Xsqlite3ExprCodeTemp(tls, pParse, (*Expr)(unsafe.Pointer(pExpr)).FpRight, bp+76 /* ®Free2 */) + r1 = Xsqlite3ExprCodeTemp(tls, pParse, (*Expr)(unsafe.Pointer(pExpr)).FpLeft, bp+40 /* ®Free1 */) + r2 = Xsqlite3ExprCodeTemp(tls, pParse, (*Expr)(unsafe.Pointer(pExpr)).FpRight, bp+44 /* ®Free2 */) Xsqlite3VdbeAddOp3(tls, v, op, r2, r1, target) goto __3 @@ -130023,12 +130023,12 @@ __83: return target goto __86 __85: - (*Expr)(unsafe.Pointer(bp + 80 /* &tempX */)).Fop = U8(TK_INTEGER) - (*Expr)(unsafe.Pointer(bp + 80 /* &tempX */)).Fflags = (U32(EP_IntValue | EP_TokenOnly)) - *(*int32)(unsafe.Pointer(bp + 80 /* &tempX */ + 8 /* &.u */)) = 0 + (*Expr)(unsafe.Pointer(bp + 48 /* &tempX */)).Fop = U8(TK_INTEGER) + (*Expr)(unsafe.Pointer(bp + 48 /* &tempX */)).Fflags = (U32(EP_IntValue | EP_TokenOnly)) + *(*int32)(unsafe.Pointer(bp + 48 /* &tempX */ + 8 /* &.u */)) = 0 - r1 = Xsqlite3ExprCodeTemp(tls, pParse, bp+80 /* &tempX */, bp+72 /* ®Free1 */) - r2 = Xsqlite3ExprCodeTemp(tls, pParse, (*Expr)(unsafe.Pointer(pExpr)).FpLeft, bp+76 /* ®Free2 */) + r1 = Xsqlite3ExprCodeTemp(tls, pParse, bp+48 /* &tempX */, bp+40 /* ®Free1 */) + r2 = Xsqlite3ExprCodeTemp(tls, pParse, (*Expr)(unsafe.Pointer(pExpr)).FpLeft, bp+44 /* ®Free2 */) Xsqlite3VdbeAddOp3(tls, v, OP_Subtract, r2, r1, target) __86: @@ -130041,13 +130041,13 @@ __36: __37: ; - r1 = Xsqlite3ExprCodeTemp(tls, pParse, (*Expr)(unsafe.Pointer(pExpr)).FpLeft, bp+72 /* ®Free1 */) + r1 = Xsqlite3ExprCodeTemp(tls, pParse, (*Expr)(unsafe.Pointer(pExpr)).FpLeft, bp+40 /* ®Free1 */) Xsqlite3VdbeAddOp2(tls, v, op, r1, inReg) goto __3 __38: // IS TRUE or IS FALSE - r1 = Xsqlite3ExprCodeTemp(tls, pParse, (*Expr)(unsafe.Pointer(pExpr)).FpLeft, bp+72 /* ®Free1 */) + r1 = Xsqlite3ExprCodeTemp(tls, pParse, (*Expr)(unsafe.Pointer(pExpr)).FpLeft, bp+40 /* ®Free1 */) isTrue = Xsqlite3ExprTruthValue(tls, (*Expr)(unsafe.Pointer(pExpr)).FpRight) bNormal = (libc.Bool32(int32((*Expr)(unsafe.Pointer(pExpr)).Fop2) == TK_IS)) @@ -130060,7 +130060,7 @@ __40: ; Xsqlite3VdbeAddOp2(tls, v, OP_Integer, 1, target) - r1 = Xsqlite3ExprCodeTemp(tls, pParse, (*Expr)(unsafe.Pointer(pExpr)).FpLeft, bp+72 /* ®Free1 */) + r1 = Xsqlite3ExprCodeTemp(tls, pParse, (*Expr)(unsafe.Pointer(pExpr)).FpLeft, bp+40 /* ®Free1 */) addr = Xsqlite3VdbeAddOp1(tls, v, op, r1) @@ -130076,7 +130076,7 @@ __41: goto __87 } - Xsqlite3ErrorMsg(tls, pParse, ts+8336 /* "misuse of aggreg..." */, libc.VaList(bp+16, *(*uintptr)(unsafe.Pointer(pExpr + 8 /* &.u */)))) + Xsqlite3ErrorMsg(tls, pParse, ts+8336 /* "misuse of aggreg..." */, libc.VaList(bp+8, *(*uintptr)(unsafe.Pointer(pExpr + 8 /* &.u */)))) goto __88 __87: return (*AggInfo_func)(unsafe.Pointer((*AggInfo)(unsafe.Pointer(pInfo)).FaFunc + uintptr((*Expr)(unsafe.Pointer(pExpr)).FiAgg)*32)).FiMem @@ -130118,7 +130118,7 @@ __90: if !((pDef == uintptr(0)) || ((*FuncDef)(unsafe.Pointer(pDef)).FxFinalize != uintptr(0))) { goto __91 } - Xsqlite3ErrorMsg(tls, pParse, ts+8362 /* "unknown function..." */, libc.VaList(bp+32, zId)) + Xsqlite3ErrorMsg(tls, pParse, ts+8362 /* "unknown function..." */, libc.VaList(bp+16, zId)) goto __3 __91: ; @@ -130313,7 +130313,7 @@ __122: goto __123 } Xsqlite3ErrorMsg(tls, pParse, ts+7989, /* "%d columns assig..." */ - libc.VaList(bp+48, (*Expr)(unsafe.Pointer(pExpr)).FiTable, n1)) + libc.VaList(bp+24, (*Expr)(unsafe.Pointer(pExpr)).FiTable, n1)) __123: ; return ((*Expr)(unsafe.Pointer((*Expr)(unsafe.Pointer(pExpr)).FpLeft)).FiTable + int32((*Expr)(unsafe.Pointer(pExpr)).FiColumn)) @@ -130456,17 +130456,17 @@ __54: // The X expression __126: ; - exprToRegister(tls, pDel, exprCodeVector(tls, pParse, pDel, bp+72 /* ®Free1 */)) + exprToRegister(tls, pDel, exprCodeVector(tls, pParse, pDel, bp+40 /* ®Free1 */)) - libc.Xmemset(tls, bp+152 /* &opCompare */, 0, uint64(unsafe.Sizeof(Expr{}))) - (*Expr)(unsafe.Pointer(bp + 152 /* &opCompare */)).Fop = U8(TK_EQ) - (*Expr)(unsafe.Pointer(bp + 152 /* &opCompare */)).FpLeft = pDel - pTest = bp + 152 /* &opCompare */ + libc.Xmemset(tls, bp+120 /* &opCompare */, 0, uint64(unsafe.Sizeof(Expr{}))) + (*Expr)(unsafe.Pointer(bp + 120 /* &opCompare */)).Fop = U8(TK_EQ) + (*Expr)(unsafe.Pointer(bp + 120 /* &opCompare */)).FpLeft = pDel + pTest = bp + 120 /* &opCompare */ // Ticket b351d95f9cd5ef17e9d9dbae18f5ca8611190001: // The value in regFree1 might get SCopy-ed into the file result. // So make sure that the regFree1 register is not reused for other // purposes and possibly overwritten. - *(*int32)(unsafe.Pointer(bp + 72 /* regFree1 */)) = 0 + *(*int32)(unsafe.Pointer(bp + 40 /* regFree1 */)) = 0 __125: ; i1 = 0 @@ -130478,7 +130478,7 @@ __127: goto __130 } - (*Expr)(unsafe.Pointer(bp + 152 /* &opCompare */)).FpRight = (*ExprList_item)(unsafe.Pointer(aListelem + uintptr(i1)*32)).FpExpr + (*Expr)(unsafe.Pointer(bp + 120 /* &opCompare */)).FpRight = (*ExprList_item)(unsafe.Pointer(aListelem + uintptr(i1)*32)).FpExpr goto __131 __130: pTest = (*ExprList_item)(unsafe.Pointer(aListelem + uintptr(i1)*32)).FpExpr @@ -130552,8 +130552,8 @@ __137: __3: ; - Xsqlite3ReleaseTempReg(tls, pParse, *(*int32)(unsafe.Pointer(bp + 72 /* regFree1 */))) - Xsqlite3ReleaseTempReg(tls, pParse, *(*int32)(unsafe.Pointer(bp + 76 /* regFree2 */))) + Xsqlite3ReleaseTempReg(tls, pParse, *(*int32)(unsafe.Pointer(bp + 40 /* regFree1 */))) + Xsqlite3ReleaseTempReg(tls, pParse, *(*int32)(unsafe.Pointer(bp + 44 /* regFree2 */))) return inReg } @@ -132391,8 +132391,8 @@ func Xsqlite3ClearTempRegCache(tls *libc.TLS, pParse uintptr) { /* sqlite3.c:107 // // Or, if zName is not a system table, zero is returned. func isAlterableTable(tls *libc.TLS, pParse uintptr, pTab uintptr) int32 { /* sqlite3.c:107433:12: */ - bp := tls.Alloc(16) - defer tls.Free(16) + bp := tls.Alloc(8) + defer tls.Free(8) if ((0 == Xsqlite3_strnicmp(tls, (*Table)(unsafe.Pointer(pTab)).FzName, ts+8443 /* "sqlite_" */, 7)) || (((*Table)(unsafe.Pointer(pTab)).FtabFlags & U32(TF_Eponymous)) != U32(0))) || @@ -132410,8 +132410,8 @@ func isAlterableTable(tls *libc.TLS, pParse uintptr, pTab uintptr) int32 { /* sq // statement to ensure that the operation has not rendered any schema // objects unusable. func renameTestSchema(tls *libc.TLS, pParse uintptr, zDb uintptr, bTemp int32, zWhen uintptr, bNoDQS int32) { /* sqlite3.c:107455:13: */ - bp := tls.Alloc(80) - defer tls.Free(80) + bp := tls.Alloc(64) + defer tls.Free(64) (*Parse)(unsafe.Pointer(pParse)).FcolNamesSet = U8(1) Xsqlite3NestedParse(tls, pParse, @@ -132424,7 +132424,7 @@ func renameTestSchema(tls *libc.TLS, pParse uintptr, zDb uintptr, bTemp int32, z Xsqlite3NestedParse(tls, pParse, ts+8654, /* "SELECT 1 FROM te..." */ - libc.VaList(bp+48, zDb, zWhen, bNoDQS)) + libc.VaList(bp+40, zDb, zWhen, bNoDQS)) } } @@ -132434,8 +132434,8 @@ func renameTestSchema(tls *libc.TLS, pParse uintptr, zDb uintptr, bTemp int32, z // not true, similarly update all SQL statements in the sqlite_schema table // of the temp db. func renameFixQuotes(tls *libc.TLS, pParse uintptr, zDb uintptr, bTemp int32) { /* sqlite3.c:107492:13: */ - bp := tls.Alloc(24) - defer tls.Free(24) + bp := tls.Alloc(16) + defer tls.Free(16) Xsqlite3NestedParse(tls, pParse, @@ -132463,8 +132463,8 @@ func renameReloadSchema(tls *libc.TLS, pParse uintptr, iDb int32, p5 U16) { /* s // Generate code to implement the "ALTER TABLE xxx RENAME TO yyy" // command. func Xsqlite3AlterRenameTable(tls *libc.TLS, pParse uintptr, pSrc uintptr, pName uintptr) { /* sqlite3.c:107526:21: */ - bp := tls.Alloc(232) - defer tls.Free(232) + bp := tls.Alloc(184) + defer tls.Free(184) var iDb int32 // Database that contains the table var zDb uintptr // Name of database iDb @@ -132540,7 +132540,7 @@ __6: if !((*Table)(unsafe.Pointer(pTab)).FpSelect != 0) { goto __7 } - Xsqlite3ErrorMsg(tls, pParse, ts+9191 /* "view %s may not ..." */, libc.VaList(bp+16, (*Table)(unsafe.Pointer(pTab)).FzName)) + Xsqlite3ErrorMsg(tls, pParse, ts+9191 /* "view %s may not ..." */, libc.VaList(bp+8, (*Table)(unsafe.Pointer(pTab)).FzName)) goto exit_rename_table __7: ; @@ -132593,14 +132593,14 @@ __12: // the schema to use the new table name. Xsqlite3NestedParse(tls, pParse, - ts+9218 /* "UPDATE \"%w\".sqli..." */, libc.VaList(bp+32, zDb, zDb, zTabName, zName, (libc.Bool32(iDb == 1)), zTabName)) + ts+9218 /* "UPDATE \"%w\".sqli..." */, libc.VaList(bp+16, zDb, zDb, zTabName, zName, (libc.Bool32(iDb == 1)), zTabName)) // Update the tbl_name and name columns of the sqlite_schema table // as required. Xsqlite3NestedParse(tls, pParse, ts+9402, /* "UPDATE %Q.sqlite..." */ - libc.VaList(bp+88, zDb, + libc.VaList(bp+64, zDb, zName, zName, zName, nTabName, zTabName)) @@ -132611,7 +132611,7 @@ __12: } Xsqlite3NestedParse(tls, pParse, ts+9723, /* "UPDATE \"%w\".sqli..." */ - libc.VaList(bp+144, zDb, zName, (*Table)(unsafe.Pointer(pTab)).FzName)) + libc.VaList(bp+112, zDb, zName, (*Table)(unsafe.Pointer(pTab)).FzName)) __13: ; @@ -132623,7 +132623,7 @@ __13: } Xsqlite3NestedParse(tls, pParse, - ts+9781 /* "UPDATE sqlite_te..." */, libc.VaList(bp+176, zDb, zTabName, zName, zTabName, zDb, zName)) + ts+9781 /* "UPDATE sqlite_te..." */, libc.VaList(bp+136, zDb, zTabName, zName, zTabName, zDb, zName)) __14: ; @@ -132652,8 +132652,8 @@ exit_rename_table: // Write code that will raise an error if the table described by // zDb and zTab is not empty. func sqlite3ErrorIfNotEmpty(tls *libc.TLS, pParse uintptr, zDb uintptr, zTab uintptr, zErr uintptr) { /* sqlite3.c:107699:13: */ - bp := tls.Alloc(32) - defer tls.Free(32) + bp := tls.Alloc(24) + defer tls.Free(24) Xsqlite3NestedParse(tls, pParse, ts+10059, /* "SELECT raise(ABO..." */ @@ -132667,8 +132667,8 @@ func sqlite3ErrorIfNotEmpty(tls *libc.TLS, pParse uintptr, zDb uintptr, zTab uin // The Table structure pParse->pNewTable was extended to include // the new column during parsing. func Xsqlite3AlterFinishAddColumn(tls *libc.TLS, pParse uintptr, pColDef uintptr) { /* sqlite3.c:107719:21: */ - bp := tls.Alloc(56) - defer tls.Free(56) + bp := tls.Alloc(48) + defer tls.Free(48) var pNew uintptr // Copy of pParse->pNewTable var pTab uintptr // Table being altered @@ -132732,19 +132732,19 @@ func Xsqlite3AlterFinishAddColumn(tls *libc.TLS, pParse uintptr, pColDef uintptr // Ensure the default expression is something that sqlite3ValueFromExpr() // can handle (i.e. not CURRENT_TIME etc.) if pDflt != 0 { - *(*uintptr)(unsafe.Pointer(bp + 48 /* pVal */)) = uintptr(0) + *(*uintptr)(unsafe.Pointer(bp + 40 /* pVal */)) = uintptr(0) var rc int32 - rc = Xsqlite3ValueFromExpr(tls, db, pDflt, uint8(SQLITE_UTF8), uint8(SQLITE_AFF_BLOB), bp+48 /* &pVal */) + rc = Xsqlite3ValueFromExpr(tls, db, pDflt, uint8(SQLITE_UTF8), uint8(SQLITE_AFF_BLOB), bp+40 /* &pVal */) if rc != SQLITE_OK { return } - if !(*(*uintptr)(unsafe.Pointer(bp + 48 /* pVal */)) != 0) { + if !(*(*uintptr)(unsafe.Pointer(bp + 40 /* pVal */)) != 0) { sqlite3ErrorIfNotEmpty(tls, pParse, zDb, zTab, ts+10268 /* "Cannot add a col..." */) } - Xsqlite3ValueFree(tls, *(*uintptr)(unsafe.Pointer(bp + 48 /* pVal */))) + Xsqlite3ValueFree(tls, *(*uintptr)(unsafe.Pointer(bp + 40 /* pVal */))) } } else if (int32((*Column)(unsafe.Pointer(pCol)).FcolFlags) & COLFLAG_STORED) != 0 { sqlite3ErrorIfNotEmpty(tls, pParse, zDb, zTab, ts+10314 /* "cannot add a STO..." */) @@ -132803,8 +132803,8 @@ func Xsqlite3AlterFinishAddColumn(tls *libc.TLS, pParse uintptr, pColDef uintptr // Routine sqlite3AlterFinishAddColumn() will be called to complete // coding the "ALTER TABLE ... ADD" statement. func Xsqlite3AlterBeginAddColumn(tls *libc.TLS, pParse uintptr, pSrc uintptr) { /* sqlite3.c:107867:21: */ - bp := tls.Alloc(16) - defer tls.Free(16) + bp := tls.Alloc(8) + defer tls.Free(8) var pNew uintptr var pTab uintptr @@ -132920,8 +132920,8 @@ exit_begin_add_column: // // Or, if pTab is not a view or virtual table, zero is returned. func isRealTable(tls *libc.TLS, pParse uintptr, pTab uintptr, bDrop int32) int32 { /* sqlite3.c:107949:12: */ - bp := tls.Alloc(32) - defer tls.Free(32) + bp := tls.Alloc(24) + defer tls.Free(24) var zType uintptr = uintptr(0) if (*Table)(unsafe.Pointer(pTab)).FpSelect != 0 { @@ -132948,8 +132948,8 @@ func isRealTable(tls *libc.TLS, pParse uintptr, pTab uintptr, bDrop int32) int32 // // cmd ::= ALTER TABLE pSrc RENAME COLUMN pOld TO pNew func Xsqlite3AlterRenameColumn(tls *libc.TLS, pParse uintptr, pSrc uintptr, pOld uintptr, pNew uintptr) { /* sqlite3.c:107979:21: */ - bp := tls.Alloc(136) - defer tls.Free(136) + bp := tls.Alloc(112) + defer tls.Free(112) var db uintptr // Database connection var pTab uintptr // Table being updated @@ -133054,14 +133054,14 @@ __11: Xsqlite3NestedParse(tls, pParse, ts+10642, /* "UPDATE \"%w\".sqli..." */ - libc.VaList(bp+16, zDb, + libc.VaList(bp+8, zDb, zDb, (*Table)(unsafe.Pointer(pTab)).FzName, iCol, zNew, bQuote, (libc.Bool32(iSchema == 1)), (*Table)(unsafe.Pointer(pTab)).FzName)) Xsqlite3NestedParse(tls, pParse, ts+10860, /* "UPDATE temp.sqli..." */ - libc.VaList(bp+88, zDb, (*Table)(unsafe.Pointer(pTab)).FzName, iCol, zNew, bQuote)) + libc.VaList(bp+72, zDb, (*Table)(unsafe.Pointer(pTab)).FzName, iCol, zNew, bQuote)) // Drop and reload the database schema. renameReloadSchema(tls, pParse, iSchema, uint16(INITFLAG_AlterRename)) @@ -133353,8 +133353,8 @@ func renameColumnTokenNext(tls *libc.TLS, pCtx uintptr) uintptr { /* sqlite3.c:1 // sub-routine is currently stored in pParse->zErrMsg. This function // adds context to the error message and then stores it in pCtx. func renameColumnParseError(tls *libc.TLS, pCtx uintptr, zWhen uintptr, pType uintptr, pObject uintptr, pParse uintptr) { /* sqlite3.c:108431:13: */ - bp := tls.Alloc(48) - defer tls.Free(48) + bp := tls.Alloc(40) + defer tls.Free(40) var zT uintptr = Xsqlite3_value_text(tls, pType) var zN uintptr = Xsqlite3_value_text(tls, pObject) @@ -133455,8 +133455,8 @@ func renameParseSql(tls *libc.TLS, p uintptr, zDb uintptr, db uintptr, zSql uint // Or, if an error occurs (i.e. an OOM condition), an error is left in // pCtx and an SQLite error code returned. func renameEditSql(tls *libc.TLS, pCtx uintptr, pRename uintptr, zSql uintptr, zNew uintptr, bQuote int32) int32 { /* sqlite3.c:108558:12: */ - bp := tls.Alloc(40) - defer tls.Free(40) + bp := tls.Alloc(24) + defer tls.Free(24) var nNew I64 = I64(Xsqlite3Strlen30(tls, zNew)) var nSql I64 = I64(Xsqlite3Strlen30(tls, zSql)) @@ -133524,7 +133524,7 @@ func renameEditSql(tls *libc.TLS, pCtx uintptr, pRename uintptr, zSql uintptr, z libc.Xmemcpy(tls, zBuf1, (*RenameToken)(unsafe.Pointer(pBest)).Ft.Fz, uint64((*RenameToken)(unsafe.Pointer(pBest)).Ft.Fn)) *(*int8)(unsafe.Pointer(zBuf1 + uintptr((*RenameToken)(unsafe.Pointer(pBest)).Ft.Fn))) = int8(0) Xsqlite3Dequote(tls, zBuf1) - Xsqlite3_snprintf(tls, (int32(nSql * int64(2))), zBuf2, ts+11022 /* "%Q%s" */, libc.VaList(bp+16, zBuf1, + Xsqlite3_snprintf(tls, (int32(nSql * int64(2))), zBuf2, ts+11022 /* "%Q%s" */, libc.VaList(bp+8, zBuf1, func() uintptr { if int32(*(*int8)(unsafe.Pointer((*RenameToken)(unsafe.Pointer(pBest)).Ft.Fz + uintptr((*RenameToken)(unsafe.Pointer(pBest)).Ft.Fn)))) == '\'' { return ts + 11014 /* " " */ @@ -134432,8 +134432,8 @@ func renameTableTest(tls *libc.TLS, context uintptr, NotUsed int32, argv uintptr // The value returned is a string containing the CREATE TABLE statement // with column argv[2] removed. func dropColumnFunc(tls *libc.TLS, context uintptr, NotUsed int32, argv uintptr) { /* sqlite3.c:109390:13: */ - bp := tls.Alloc(440) - defer tls.Free(440) + bp := tls.Alloc(432) + defer tls.Free(432) var db uintptr var iSchema int32 @@ -134441,7 +134441,7 @@ func dropColumnFunc(tls *libc.TLS, context uintptr, NotUsed int32, argv uintptr) var iCol int32 var zDb uintptr var rc int32 - // var sParse Parse at bp+32, 408 + // var sParse Parse at bp+24, 408 var pCol uintptr var pTab uintptr @@ -134459,14 +134459,14 @@ func dropColumnFunc(tls *libc.TLS, context uintptr, NotUsed int32, argv uintptr) (*Sqlite3)(unsafe.Pointer(db)).FxAuth = uintptr(0) _ = NotUsed - rc = renameParseSql(tls, bp+32 /* &sParse */, zDb, db, zSql, (libc.Bool32(iSchema == 1))) + rc = renameParseSql(tls, bp+24 /* &sParse */, zDb, db, zSql, (libc.Bool32(iSchema == 1))) if !(rc != SQLITE_OK) { goto __1 } goto drop_column_done __1: ; - pTab = (*Parse)(unsafe.Pointer(bp + 32 /* &sParse */)).FpNewTable + pTab = (*Parse)(unsafe.Pointer(bp + 24 /* &sParse */)).FpNewTable if !(((pTab == uintptr(0)) || (int32((*Table)(unsafe.Pointer(pTab)).FnCol) == 1)) || (iCol >= int32((*Table)(unsafe.Pointer(pTab)).FnCol))) { goto __2 } @@ -134476,11 +134476,11 @@ __1: __2: ; - pCol = renameTokenFind(tls, bp+32 /* &sParse */, uintptr(0), (*Column)(unsafe.Pointer((*Table)(unsafe.Pointer(pTab)).FaCol+uintptr(iCol)*32)).FzName) + pCol = renameTokenFind(tls, bp+24 /* &sParse */, uintptr(0), (*Column)(unsafe.Pointer((*Table)(unsafe.Pointer(pTab)).FaCol+uintptr(iCol)*32)).FzName) if !(iCol < (int32((*Table)(unsafe.Pointer(pTab)).FnCol) - 1)) { goto __3 } - pEnd = renameTokenFind(tls, bp+32 /* &sParse */, uintptr(0), (*Column)(unsafe.Pointer((*Table)(unsafe.Pointer(pTab)).FaCol+uintptr((iCol+1))*32)).FzName) + pEnd = renameTokenFind(tls, bp+24 /* &sParse */, uintptr(0), (*Column)(unsafe.Pointer((*Table)(unsafe.Pointer(pTab)).FaCol+uintptr((iCol+1))*32)).FzName) zEnd = (*RenameToken)(unsafe.Pointer(pEnd)).Ft.Fz goto __4 __3: @@ -134501,7 +134501,7 @@ __4: Xsqlite3_free(tls, zNew) drop_column_done: - renameParseCleanup(tls, bp+32 /* &sParse */) + renameParseCleanup(tls, bp+24 /* &sParse */) (*Sqlite3)(unsafe.Pointer(db)).FxAuth = xAuth if !(rc != SQLITE_OK) { goto __7 @@ -134517,8 +134517,8 @@ __7: // statement. Argument pSrc contains the possibly qualified name of the // table being edited, and token pName the name of the column to drop. func Xsqlite3AlterDropColumn(tls *libc.TLS, pParse uintptr, pSrc uintptr, pName uintptr) { /* sqlite3.c:109454:21: */ - bp := tls.Alloc(96) - defer tls.Free(96) + bp := tls.Alloc(64) + defer tls.Free(64) var db uintptr // Database handle var pTab uintptr // Table to modify @@ -134595,7 +134595,7 @@ __6: goto __7 } Xsqlite3ErrorMsg(tls, pParse, ts+11034, /* "cannot drop %s c..." */ - libc.VaList(bp+16, func() uintptr { + libc.VaList(bp+8, func() uintptr { if (int32((*Column)(unsafe.Pointer((*Table)(unsafe.Pointer(pTab)).FaCol+uintptr(iCol)*32)).FcolFlags) & COLFLAG_PRIMKEY) != 0 { return ts + 11062 /* "PRIMARY KEY" */ } @@ -134610,7 +134610,7 @@ __7: if !(int32((*Table)(unsafe.Pointer(pTab)).FnCol) <= 1) { goto __8 } - Xsqlite3ErrorMsg(tls, pParse, ts+11074 /* "cannot drop colu..." */, libc.VaList(bp+40, zCol)) + Xsqlite3ErrorMsg(tls, pParse, ts+11074 /* "cannot drop colu..." */, libc.VaList(bp+24, zCol)) goto exit_drop_column __8: ; @@ -134623,7 +134623,7 @@ __8: renameFixQuotes(tls, pParse, zDb, (libc.Bool32(iDb == 1))) Xsqlite3NestedParse(tls, pParse, - ts+11122 /* "UPDATE \"%w\".sqli..." */, libc.VaList(bp+56, zDb, iDb, iCol, (*Table)(unsafe.Pointer(pTab)).FzName)) + ts+11122 /* "UPDATE \"%w\".sqli..." */, libc.VaList(bp+32, zDb, iDb, iCol, (*Table)(unsafe.Pointer(pTab)).FzName)) // Drop and reload the database schema. renameReloadSchema(tls, pParse, iDb, uint16(INITFLAG_AlterDrop)) @@ -134899,16 +134899,16 @@ var aAlterTableFuncs = [5]FuncDef{ // the sqlite_statN tables associated with the named table are deleted. // If zWhere==0, then code is generated to delete all stat table entries. func openStatTable(tls *libc.TLS, pParse uintptr, iDb int32, iStatCur int32, zWhere uintptr, zWhereType uintptr) { /* sqlite3.c:109763:13: */ - bp := tls.Alloc(112) - defer tls.Free(112) + bp := tls.Alloc(88) + defer tls.Free(88) var i int32 var db uintptr = (*Parse)(unsafe.Pointer(pParse)).Fdb var pDb uintptr var v uintptr = Xsqlite3GetVdbe(tls, pParse) - // var aRoot [3]U32 at bp+100, 12 + // var aRoot [3]U32 at bp+76, 12 - // var aCreateTbl [3]U8 at bp+96, 3 + // var aCreateTbl [3]U8 at bp+72, 3 var nToOpen int32 if ((*Sqlite3)(unsafe.Pointer((db))).FdbOptFlags & (U32(SQLITE_Stat4))) == U32(0) { @@ -134931,7 +134931,7 @@ func openStatTable(tls *libc.TLS, pParse uintptr, iDb int32, iStatCur int32, zWh }{})))); i++ { var zTab uintptr = aTable[i].FzName var pStat uintptr - *(*U8)(unsafe.Pointer(bp + 96 /* &aCreateTbl[0] */ + uintptr(i))) = U8(0) + *(*U8)(unsafe.Pointer(bp + 72 /* &aCreateTbl[0] */ + uintptr(i))) = U8(0) if (libc.AssignUintptr(&pStat, Xsqlite3FindTable(tls, db, zTab, (*Db)(unsafe.Pointer(pDb)).FzDbSName))) == uintptr(0) { if i < nToOpen { // The sqlite_statN table does not exist. Create it. Note that a @@ -134940,24 +134940,24 @@ func openStatTable(tls *libc.TLS, pParse uintptr, iDb int32, iStatCur int32, zWh // because the OpenWrite opcode below will be needing it. Xsqlite3NestedParse(tls, pParse, ts+11363 /* "CREATE TABLE %Q...." */, libc.VaList(bp, (*Db)(unsafe.Pointer(pDb)).FzDbSName, zTab, aTable[i].FzCols)) - *(*U32)(unsafe.Pointer(bp + 100 /* &aRoot[0] */ + uintptr(i)*4)) = U32((*Parse)(unsafe.Pointer(pParse)).FregRoot) - *(*U8)(unsafe.Pointer(bp + 96 /* &aCreateTbl[0] */ + uintptr(i))) = U8(OPFLAG_P2ISREG) + *(*U32)(unsafe.Pointer(bp + 76 /* &aRoot[0] */ + uintptr(i)*4)) = U32((*Parse)(unsafe.Pointer(pParse)).FregRoot) + *(*U8)(unsafe.Pointer(bp + 72 /* &aCreateTbl[0] */ + uintptr(i))) = U8(OPFLAG_P2ISREG) } } else { // The table already exists. If zWhere is not NULL, delete all entries // associated with the table zWhere. If zWhere is NULL, delete the // entire contents of the table. - *(*U32)(unsafe.Pointer(bp + 100 /* &aRoot[0] */ + uintptr(i)*4)) = (*Table)(unsafe.Pointer(pStat)).Ftnum - Xsqlite3TableLock(tls, pParse, iDb, *(*U32)(unsafe.Pointer(bp + 100 /* &aRoot[0] */ + uintptr(i)*4)), uint8(1), zTab) + *(*U32)(unsafe.Pointer(bp + 76 /* &aRoot[0] */ + uintptr(i)*4)) = (*Table)(unsafe.Pointer(pStat)).Ftnum + Xsqlite3TableLock(tls, pParse, iDb, *(*U32)(unsafe.Pointer(bp + 76 /* &aRoot[0] */ + uintptr(i)*4)), uint8(1), zTab) if zWhere != 0 { Xsqlite3NestedParse(tls, pParse, ts+11386, /* "DELETE FROM %Q.%..." */ - libc.VaList(bp+32, (*Db)(unsafe.Pointer(pDb)).FzDbSName, zTab, zWhereType, zWhere)) + libc.VaList(bp+24, (*Db)(unsafe.Pointer(pDb)).FzDbSName, zTab, zWhereType, zWhere)) } else if (*Sqlite3)(unsafe.Pointer(db)).FxPreUpdateCallback != 0 { - Xsqlite3NestedParse(tls, pParse, ts+11416 /* "DELETE FROM %Q.%..." */, libc.VaList(bp+72, (*Db)(unsafe.Pointer(pDb)).FzDbSName, zTab)) + Xsqlite3NestedParse(tls, pParse, ts+11416 /* "DELETE FROM %Q.%..." */, libc.VaList(bp+56, (*Db)(unsafe.Pointer(pDb)).FzDbSName, zTab)) } else { // The sqlite_stat[134] table already exists. Delete all rows. - Xsqlite3VdbeAddOp2(tls, v, OP_Clear, int32(*(*U32)(unsafe.Pointer(bp + 100 /* &aRoot[0] */ + uintptr(i)*4))), iDb) + Xsqlite3VdbeAddOp2(tls, v, OP_Clear, int32(*(*U32)(unsafe.Pointer(bp + 76 /* &aRoot[0] */ + uintptr(i)*4))), iDb) } } } @@ -134965,8 +134965,8 @@ func openStatTable(tls *libc.TLS, pParse uintptr, iDb int32, iStatCur int32, zWh // Open the sqlite_stat[134] tables for writing. for i = 0; i < nToOpen; i++ { - Xsqlite3VdbeAddOp4Int(tls, v, OP_OpenWrite, (iStatCur + i), int32(*(*U32)(unsafe.Pointer(bp + 100 /* &aRoot[0] */ + uintptr(i)*4))), iDb, 3) - Xsqlite3VdbeChangeP5(tls, v, uint16(*(*U8)(unsafe.Pointer(bp + 96 /* &aCreateTbl[0] */ + uintptr(i))))) + Xsqlite3VdbeAddOp4Int(tls, v, OP_OpenWrite, (iStatCur + i), int32(*(*U32)(unsafe.Pointer(bp + 76 /* &aRoot[0] */ + uintptr(i)*4))), iDb, 3) + Xsqlite3VdbeChangeP5(tls, v, uint16(*(*U8)(unsafe.Pointer(bp + 72 /* &aCreateTbl[0] */ + uintptr(i))))) } } @@ -135546,8 +135546,8 @@ var statPushFuncdef = FuncDef{ // a one-parameter function, stat_get(P), that always returns the // stat1 table entry information. func statGet(tls *libc.TLS, context uintptr, argc int32, argv uintptr) { /* sqlite3.c:110411:13: */ - bp := tls.Alloc(48) - defer tls.Free(48) + bp := tls.Alloc(24) + defer tls.Free(24) var p uintptr = Xsqlite3_value_blob(tls, *(*uintptr)(unsafe.Pointer(argv))) // STAT4 has a parameter on this routine. @@ -135594,7 +135594,7 @@ func statGet(tls *libc.TLS, context uintptr, argc int32, argv uintptr) { /* sqli for i = 0; i < (*StatAccum)(unsafe.Pointer(p)).FnKeyCol; i++ { var nDistinct U64 = (U64(*(*TRowcnt)(unsafe.Pointer((*StatAccum)(unsafe.Pointer(p)).Fcurrent.FanDLt + uintptr(i)*4)) + TRowcnt(1))) var iVal U64 = (((U64((*StatAccum)(unsafe.Pointer(p)).FnRow) + nDistinct) - uint64(1)) / nDistinct) - Xsqlite3_snprintf(tls, 24, z, ts+11539 /* " %llu" */, libc.VaList(bp+16, iVal)) + Xsqlite3_snprintf(tls, 24, z, ts+11539 /* " %llu" */, libc.VaList(bp+8, iVal)) z += uintptr(Xsqlite3Strlen30(tls, z)) } @@ -135643,7 +135643,7 @@ func statGet(tls *libc.TLS, context uintptr, argc int32, argv uintptr) { /* sqli var i int32 var z uintptr = zRet for i = 0; i < (*StatAccum)(unsafe.Pointer(p)).FnCol; i++ { - Xsqlite3_snprintf(tls, 24, z, ts+11545 /* "%llu " */, libc.VaList(bp+32, U64(*(*TRowcnt)(unsafe.Pointer(aCnt + uintptr(i)*4))))) + Xsqlite3_snprintf(tls, 24, z, ts+11545 /* "%llu " */, libc.VaList(bp+16, U64(*(*TRowcnt)(unsafe.Pointer(aCnt + uintptr(i)*4))))) z += uintptr(Xsqlite3Strlen30(tls, z)) } @@ -136381,11 +136381,11 @@ func findIndexOrPrimaryKey(tls *libc.TLS, db uintptr, zName uintptr, zDb uintptr // // where %Q is replaced with the database name before the SQL is executed. func loadStatTbl(tls *libc.TLS, db uintptr, zSql1 uintptr, zSql2 uintptr, zDb uintptr) int32 { /* sqlite3.c:111317:12: */ - bp := tls.Alloc(40) - defer tls.Free(40) + bp := tls.Alloc(24) + defer tls.Free(24) var rc int32 // Result codes from subroutines - *(*uintptr)(unsafe.Pointer(bp + 32 /* pStmt */)) = uintptr(0) // An SQL statement being run + *(*uintptr)(unsafe.Pointer(bp + 16 /* pStmt */)) = uintptr(0) // An SQL statement being run var zSql uintptr // Text of the SQL statement var pPrevIdx uintptr = uintptr(0) // Previous index in the loop var pSample uintptr // A slot in pIdx->aSample[] @@ -136394,13 +136394,13 @@ func loadStatTbl(tls *libc.TLS, db uintptr, zSql1 uintptr, zSql2 uintptr, zDb ui if !(zSql != 0) { return SQLITE_NOMEM } - rc = Xsqlite3_prepare(tls, db, zSql, -1, bp+32 /* &pStmt */, uintptr(0)) + rc = Xsqlite3_prepare(tls, db, zSql, -1, bp+16 /* &pStmt */, uintptr(0)) Xsqlite3DbFree(tls, db, zSql) if rc != 0 { return rc } - for Xsqlite3_step(tls, *(*uintptr)(unsafe.Pointer(bp + 32 /* pStmt */))) == SQLITE_ROW { + for Xsqlite3_step(tls, *(*uintptr)(unsafe.Pointer(bp + 16 /* pStmt */))) == SQLITE_ROW { var nIdxCol int32 = 1 // Number of columns in stat4 records var zIndex uintptr // Index name @@ -136410,11 +136410,11 @@ func loadStatTbl(tls *libc.TLS, db uintptr, zSql1 uintptr, zSql2 uintptr, zDb ui var i int32 // Bytes of space required var pSpace uintptr - zIndex = Xsqlite3_column_text(tls, *(*uintptr)(unsafe.Pointer(bp + 32 /* pStmt */)), 0) + zIndex = Xsqlite3_column_text(tls, *(*uintptr)(unsafe.Pointer(bp + 16 /* pStmt */)), 0) if zIndex == uintptr(0) { continue } - nSample = Xsqlite3_column_int(tls, *(*uintptr)(unsafe.Pointer(bp + 32 /* pStmt */)), 1) + nSample = Xsqlite3_column_int(tls, *(*uintptr)(unsafe.Pointer(bp + 16 /* pStmt */)), 1) pIdx = findIndexOrPrimaryKey(tls, db, zIndex, zDb) if pIdx == uintptr(0) { @@ -136433,7 +136433,7 @@ func loadStatTbl(tls *libc.TLS, db uintptr, zSql1 uintptr, zSql2 uintptr, zDb ui (*Index)(unsafe.Pointer(pIdx)).FaSample = Xsqlite3DbMallocZero(tls, db, uint64(nByte)) if (*Index)(unsafe.Pointer(pIdx)).FaSample == uintptr(0) { - Xsqlite3_finalize(tls, *(*uintptr)(unsafe.Pointer(bp + 32 /* pStmt */))) + Xsqlite3_finalize(tls, *(*uintptr)(unsafe.Pointer(bp + 16 /* pStmt */))) return SQLITE_NOMEM } pSpace = ((*Index)(unsafe.Pointer(pIdx)).FaSample + uintptr(nSample)*40) @@ -136450,27 +136450,27 @@ func loadStatTbl(tls *libc.TLS, db uintptr, zSql1 uintptr, zSql2 uintptr, zDb ui } } - rc = Xsqlite3_finalize(tls, *(*uintptr)(unsafe.Pointer(bp + 32 /* pStmt */))) + rc = Xsqlite3_finalize(tls, *(*uintptr)(unsafe.Pointer(bp + 16 /* pStmt */))) if rc != 0 { return rc } - zSql = Xsqlite3MPrintf(tls, db, zSql2, libc.VaList(bp+16, zDb)) + zSql = Xsqlite3MPrintf(tls, db, zSql2, libc.VaList(bp+8, zDb)) if !(zSql != 0) { return SQLITE_NOMEM } - rc = Xsqlite3_prepare(tls, db, zSql, -1, bp+32 /* &pStmt */, uintptr(0)) + rc = Xsqlite3_prepare(tls, db, zSql, -1, bp+16 /* &pStmt */, uintptr(0)) Xsqlite3DbFree(tls, db, zSql) if rc != 0 { return rc } - for Xsqlite3_step(tls, *(*uintptr)(unsafe.Pointer(bp + 32 /* pStmt */))) == SQLITE_ROW { + for Xsqlite3_step(tls, *(*uintptr)(unsafe.Pointer(bp + 16 /* pStmt */))) == SQLITE_ROW { var zIndex uintptr // Index name var pIdx uintptr // Pointer to the index object var nCol int32 = 1 // Number of columns in index - zIndex = Xsqlite3_column_text(tls, *(*uintptr)(unsafe.Pointer(bp + 32 /* pStmt */)), 0) + zIndex = Xsqlite3_column_text(tls, *(*uintptr)(unsafe.Pointer(bp + 16 /* pStmt */)), 0) if zIndex == uintptr(0) { continue } @@ -136486,9 +136486,9 @@ func loadStatTbl(tls *libc.TLS, db uintptr, zSql1 uintptr, zSql2 uintptr, zDb ui pPrevIdx = pIdx } pSample = ((*Index)(unsafe.Pointer(pIdx)).FaSample + uintptr((*Index)(unsafe.Pointer(pIdx)).FnSample)*40) - decodeIntArray(tls, Xsqlite3_column_text(tls, *(*uintptr)(unsafe.Pointer(bp + 32 /* pStmt */)), 1), nCol, (*IndexSample)(unsafe.Pointer(pSample)).FanEq, uintptr(0), uintptr(0)) - decodeIntArray(tls, Xsqlite3_column_text(tls, *(*uintptr)(unsafe.Pointer(bp + 32 /* pStmt */)), 2), nCol, (*IndexSample)(unsafe.Pointer(pSample)).FanLt, uintptr(0), uintptr(0)) - decodeIntArray(tls, Xsqlite3_column_text(tls, *(*uintptr)(unsafe.Pointer(bp + 32 /* pStmt */)), 3), nCol, (*IndexSample)(unsafe.Pointer(pSample)).FanDLt, uintptr(0), uintptr(0)) + decodeIntArray(tls, Xsqlite3_column_text(tls, *(*uintptr)(unsafe.Pointer(bp + 16 /* pStmt */)), 1), nCol, (*IndexSample)(unsafe.Pointer(pSample)).FanEq, uintptr(0), uintptr(0)) + decodeIntArray(tls, Xsqlite3_column_text(tls, *(*uintptr)(unsafe.Pointer(bp + 16 /* pStmt */)), 2), nCol, (*IndexSample)(unsafe.Pointer(pSample)).FanLt, uintptr(0), uintptr(0)) + decodeIntArray(tls, Xsqlite3_column_text(tls, *(*uintptr)(unsafe.Pointer(bp + 16 /* pStmt */)), 3), nCol, (*IndexSample)(unsafe.Pointer(pSample)).FanDLt, uintptr(0), uintptr(0)) // Take a copy of the sample. Add two 0x00 bytes the end of the buffer. // This is in case the sample record is corrupted. In that case, the @@ -136496,18 +136496,18 @@ func loadStatTbl(tls *libc.TLS, db uintptr, zSql1 uintptr, zSql2 uintptr, zDb ui // end of the allocated buffer before it realizes it is dealing with // a corrupt record. Adding the two 0x00 bytes prevents this from causing // a buffer overread. - (*IndexSample)(unsafe.Pointer(pSample)).Fn = Xsqlite3_column_bytes(tls, *(*uintptr)(unsafe.Pointer(bp + 32 /* pStmt */)), 4) + (*IndexSample)(unsafe.Pointer(pSample)).Fn = Xsqlite3_column_bytes(tls, *(*uintptr)(unsafe.Pointer(bp + 16 /* pStmt */)), 4) (*IndexSample)(unsafe.Pointer(pSample)).Fp = Xsqlite3DbMallocZero(tls, db, (uint64((*IndexSample)(unsafe.Pointer(pSample)).Fn + 2))) if (*IndexSample)(unsafe.Pointer(pSample)).Fp == uintptr(0) { - Xsqlite3_finalize(tls, *(*uintptr)(unsafe.Pointer(bp + 32 /* pStmt */))) + Xsqlite3_finalize(tls, *(*uintptr)(unsafe.Pointer(bp + 16 /* pStmt */))) return SQLITE_NOMEM } if (*IndexSample)(unsafe.Pointer(pSample)).Fn != 0 { - libc.Xmemcpy(tls, (*IndexSample)(unsafe.Pointer(pSample)).Fp, Xsqlite3_column_blob(tls, *(*uintptr)(unsafe.Pointer(bp + 32 /* pStmt */)), 4), uint64((*IndexSample)(unsafe.Pointer(pSample)).Fn)) + libc.Xmemcpy(tls, (*IndexSample)(unsafe.Pointer(pSample)).Fp, Xsqlite3_column_blob(tls, *(*uintptr)(unsafe.Pointer(bp + 16 /* pStmt */)), 4), uint64((*IndexSample)(unsafe.Pointer(pSample)).Fn)) } (*Index)(unsafe.Pointer(pIdx)).FnSample++ } - rc = Xsqlite3_finalize(tls, *(*uintptr)(unsafe.Pointer(bp + 32 /* pStmt */))) + rc = Xsqlite3_finalize(tls, *(*uintptr)(unsafe.Pointer(bp + 16 /* pStmt */))) if rc == SQLITE_OK { initAvgEq(tls, pPrevIdx) } @@ -136547,10 +136547,10 @@ func loadStat4(tls *libc.TLS, db uintptr, zDb uintptr) int32 { /* sqlite3.c:1114 // This means if the caller does not care about other errors, the return // code may be ignored. func Xsqlite3AnalysisLoad(tls *libc.TLS, db uintptr, iDb int32) int32 { /* sqlite3.c:111473:20: */ - bp := tls.Alloc(32) - defer tls.Free(32) + bp := tls.Alloc(24) + defer tls.Free(24) - // var sInfo AnalysisInfo at bp+16, 16 + // var sInfo AnalysisInfo at bp+8, 16 var i uintptr var zSql uintptr @@ -136571,17 +136571,17 @@ func Xsqlite3AnalysisLoad(tls *libc.TLS, db uintptr, iDb int32) int32 { /* sqlit } // Load new statistics out of the sqlite_stat1 table - (*AnalysisInfo)(unsafe.Pointer(bp + 16 /* &sInfo */)).Fdb = db - (*AnalysisInfo)(unsafe.Pointer(bp + 16 /* &sInfo */)).FzDatabase = (*Db)(unsafe.Pointer((*Sqlite3)(unsafe.Pointer(db)).FaDb + uintptr(iDb)*32)).FzDbSName - if Xsqlite3FindTable(tls, db, ts+11434 /* "sqlite_stat1" */, (*AnalysisInfo)(unsafe.Pointer(bp+16 /* &sInfo */)).FzDatabase) != uintptr(0) { + (*AnalysisInfo)(unsafe.Pointer(bp + 8 /* &sInfo */)).Fdb = db + (*AnalysisInfo)(unsafe.Pointer(bp + 8 /* &sInfo */)).FzDatabase = (*Db)(unsafe.Pointer((*Sqlite3)(unsafe.Pointer(db)).FaDb + uintptr(iDb)*32)).FzDbSName + if Xsqlite3FindTable(tls, db, ts+11434 /* "sqlite_stat1" */, (*AnalysisInfo)(unsafe.Pointer(bp+8 /* &sInfo */)).FzDatabase) != uintptr(0) { zSql = Xsqlite3MPrintf(tls, db, - ts+11721 /* "SELECT tbl,idx,s..." */, libc.VaList(bp, (*AnalysisInfo)(unsafe.Pointer(bp+16 /* &sInfo */)).FzDatabase)) + ts+11721 /* "SELECT tbl,idx,s..." */, libc.VaList(bp, (*AnalysisInfo)(unsafe.Pointer(bp+8 /* &sInfo */)).FzDatabase)) if zSql == uintptr(0) { rc = SQLITE_NOMEM } else { rc = Xsqlite3_exec(tls, db, zSql, *(*uintptr)(unsafe.Pointer(&struct { f func(*libc.TLS, uintptr, int32, uintptr, uintptr) int32 - }{analysisLoader})), bp+16 /* &sInfo */, uintptr(0)) + }{analysisLoader})), bp+8 /* &sInfo */, uintptr(0)) Xsqlite3DbFree(tls, db, zSql) } } @@ -136599,7 +136599,7 @@ func Xsqlite3AnalysisLoad(tls *libc.TLS, db uintptr, iDb int32) int32 { /* sqlit if rc == SQLITE_OK { (*Sqlite3)(unsafe.Pointer(db)).Flookaside.FbDisable++ (*Sqlite3)(unsafe.Pointer(db)).Flookaside.Fsz = U16(0) - rc = loadStat4(tls, db, (*AnalysisInfo)(unsafe.Pointer(bp+16 /* &sInfo */)).FzDatabase) + rc = loadStat4(tls, db, (*AnalysisInfo)(unsafe.Pointer(bp+8 /* &sInfo */)).FzDatabase) (*Sqlite3)(unsafe.Pointer(db)).Flookaside.FbDisable-- (*Sqlite3)(unsafe.Pointer(db)).Flookaside.Fsz = func() uint16 { if (*Sqlite3)(unsafe.Pointer(db)).Flookaside.FbDisable != 0 { @@ -136684,33 +136684,33 @@ func Xsqlite3DbIsNamed(tls *libc.TLS, db uintptr, iDb int32, zName uintptr) int3 // new database, close the database on db->init.iDb and reopen it as an // empty MemDB. func attachFunc(tls *libc.TLS, context uintptr, NotUsed int32, argv uintptr) { /* sqlite3.c:111617:13: */ - bp := tls.Alloc(88) - defer tls.Free(88) + bp := tls.Alloc(64) + defer tls.Free(64) var i int32 var rc int32 var db uintptr var zName uintptr var zFile uintptr - // var zPath uintptr at bp+64, 8 + // var zPath uintptr at bp+40, 8 - // var zErr uintptr at bp+72, 8 + // var zErr uintptr at bp+48, 8 - // var flags uint32 at bp+48, 4 + // var flags uint32 at bp+24, 4 var aNew uintptr // New array of Db pointers var pNew uintptr // Db object for the newly attached database - // var zErrDyn uintptr at bp+80, 8 + // var zErrDyn uintptr at bp+56, 8 - // var pVfs uintptr at bp+56, 8 + // var pVfs uintptr at bp+32, 8 var pPager uintptr var iDb int32 rc = 0 db = Xsqlite3_context_db_handle(tls, context) - *(*uintptr)(unsafe.Pointer(bp + 64 /* zPath */)) = uintptr(0) - *(*uintptr)(unsafe.Pointer(bp + 72 /* zErr */)) = uintptr(0) - *(*uintptr)(unsafe.Pointer(bp + 80 /* zErrDyn */)) = uintptr(0) + *(*uintptr)(unsafe.Pointer(bp + 40 /* zPath */)) = uintptr(0) + *(*uintptr)(unsafe.Pointer(bp + 48 /* zErr */)) = uintptr(0) + *(*uintptr)(unsafe.Pointer(bp + 56 /* zErrDyn */)) = uintptr(0) _ = NotUsed zFile = Xsqlite3_value_text(tls, *(*uintptr)(unsafe.Pointer(argv))) @@ -136734,8 +136734,8 @@ __2: // This is not a real ATTACH. Instead, this routine is being called // from sqlite3_deserialize() to close database db->init.iDb and // reopen it as a MemDB - *(*uintptr)(unsafe.Pointer(bp + 56 /* pVfs */)) = Xsqlite3_vfs_find(tls, ts+4324 /* "memdb" */) - if !(*(*uintptr)(unsafe.Pointer(bp + 56 /* pVfs */)) == uintptr(0)) { + *(*uintptr)(unsafe.Pointer(bp + 32 /* pVfs */)) = Xsqlite3_vfs_find(tls, ts+4324 /* "memdb" */) + if !(*(*uintptr)(unsafe.Pointer(bp + 32 /* pVfs */)) == uintptr(0)) { goto __5 } return @@ -136750,7 +136750,7 @@ __6: ; (*Db)(unsafe.Pointer(pNew)).FpBt = uintptr(0) (*Db)(unsafe.Pointer(pNew)).FpSchema = uintptr(0) - rc = Xsqlite3BtreeOpen(tls, *(*uintptr)(unsafe.Pointer(bp + 56 /* pVfs */)), ts+11762 /* "x\x00" */, db, (pNew + 8 /* &.pBt */), 0, SQLITE_OPEN_MAIN_DB) + rc = Xsqlite3BtreeOpen(tls, *(*uintptr)(unsafe.Pointer(bp + 32 /* pVfs */)), ts+11762 /* "x\x00" */, db, (pNew + 8 /* &.pBt */), 0, SQLITE_OPEN_MAIN_DB) goto __4 __3: // This is a real ATTACH @@ -136763,7 +136763,7 @@ __3: if !((*Sqlite3)(unsafe.Pointer(db)).FnDb >= (*(*int32)(unsafe.Pointer((db + 128 /* &.aLimit */) + 7*4)) + 2)) { goto __7 } - *(*uintptr)(unsafe.Pointer(bp + 80 /* zErrDyn */)) = Xsqlite3MPrintf(tls, db, ts+11765, /* "too many attache..." */ + *(*uintptr)(unsafe.Pointer(bp + 56 /* zErrDyn */)) = Xsqlite3MPrintf(tls, db, ts+11765, /* "too many attache..." */ libc.VaList(bp, *(*int32)(unsafe.Pointer((db + 128 /* &.aLimit */) + 7*4)))) goto attach_error __7: @@ -136777,7 +136777,7 @@ __8: if !(Xsqlite3DbIsNamed(tls, db, i, zName) != 0) { goto __11 } - *(*uintptr)(unsafe.Pointer(bp + 80 /* zErrDyn */)) = Xsqlite3MPrintf(tls, db, ts+11802 /* "database %s is a..." */, libc.VaList(bp+16, zName)) + *(*uintptr)(unsafe.Pointer(bp + 56 /* zErrDyn */)) = Xsqlite3MPrintf(tls, db, ts+11802 /* "database %s is a..." */, libc.VaList(bp+8, zName)) goto attach_error __11: ; @@ -136820,8 +136820,8 @@ __13: // Open the database file. If the btree is successfully opened, use // it to obtain the database schema. At this point the schema may // or may not be initialized. - *(*uint32)(unsafe.Pointer(bp + 48 /* flags */)) = (*Sqlite3)(unsafe.Pointer(db)).FopenFlags - rc = Xsqlite3ParseUri(tls, (*Sqlite3_vfs)(unsafe.Pointer((*Sqlite3)(unsafe.Pointer(db)).FpVfs)).FzName, zFile, bp+48 /* &flags */, bp+56 /* &pVfs */, bp+64 /* &zPath */, bp+72 /* &zErr */) + *(*uint32)(unsafe.Pointer(bp + 24 /* flags */)) = (*Sqlite3)(unsafe.Pointer(db)).FopenFlags + rc = Xsqlite3ParseUri(tls, (*Sqlite3_vfs)(unsafe.Pointer((*Sqlite3)(unsafe.Pointer(db)).FpVfs)).FzName, zFile, bp+24 /* &flags */, bp+32 /* &pVfs */, bp+40 /* &zPath */, bp+48 /* &zErr */) if !(rc != SQLITE_OK) { goto __16 } @@ -136831,14 +136831,14 @@ __13: Xsqlite3OomFault(tls, db) __17: ; - Xsqlite3_result_error(tls, context, *(*uintptr)(unsafe.Pointer(bp + 72 /* zErr */)), -1) - Xsqlite3_free(tls, *(*uintptr)(unsafe.Pointer(bp + 72 /* zErr */))) + Xsqlite3_result_error(tls, context, *(*uintptr)(unsafe.Pointer(bp + 48 /* zErr */)), -1) + Xsqlite3_free(tls, *(*uintptr)(unsafe.Pointer(bp + 48 /* zErr */))) return __16: ; - *(*uint32)(unsafe.Pointer(bp + 48 /* flags */)) |= uint32(SQLITE_OPEN_MAIN_DB) - rc = Xsqlite3BtreeOpen(tls, *(*uintptr)(unsafe.Pointer(bp + 56 /* pVfs */)), *(*uintptr)(unsafe.Pointer(bp + 64 /* zPath */)), db, (pNew + 8 /* &.pBt */), 0, int32(*(*uint32)(unsafe.Pointer(bp + 48 /* flags */)))) + *(*uint32)(unsafe.Pointer(bp + 24 /* flags */)) |= uint32(SQLITE_OPEN_MAIN_DB) + rc = Xsqlite3BtreeOpen(tls, *(*uintptr)(unsafe.Pointer(bp + 32 /* pVfs */)), *(*uintptr)(unsafe.Pointer(bp + 40 /* zPath */)), db, (pNew + 8 /* &.pBt */), 0, int32(*(*uint32)(unsafe.Pointer(bp + 24 /* flags */)))) (*Sqlite3)(unsafe.Pointer(db)).FnDb++ (*Db)(unsafe.Pointer(pNew)).FzDbSName = Xsqlite3DbStrDup(tls, db, zName) __4: @@ -136848,7 +136848,7 @@ __4: goto __18 } rc = SQLITE_ERROR - *(*uintptr)(unsafe.Pointer(bp + 80 /* zErrDyn */)) = Xsqlite3MPrintf(tls, db, ts+11832 /* "database is alre..." */, 0) + *(*uintptr)(unsafe.Pointer(bp + 56 /* zErrDyn */)) = Xsqlite3MPrintf(tls, db, ts+11832 /* "database is alre..." */, 0) goto __19 __18: if !(rc == SQLITE_OK) { @@ -136864,7 +136864,7 @@ __21: if !(((*Schema)(unsafe.Pointer((*Db)(unsafe.Pointer(pNew)).FpSchema)).Ffile_format != 0) && (int32((*Schema)(unsafe.Pointer((*Db)(unsafe.Pointer(pNew)).FpSchema)).Fenc) != (int32((*Sqlite3)(unsafe.Pointer(db)).Fenc)))) { goto __23 } - *(*uintptr)(unsafe.Pointer(bp + 80 /* zErrDyn */)) = Xsqlite3MPrintf(tls, db, + *(*uintptr)(unsafe.Pointer(bp + 56 /* zErrDyn */)) = Xsqlite3MPrintf(tls, db, ts+11861 /* "attached databas..." */, 0) rc = SQLITE_ERROR __23: @@ -136890,7 +136890,7 @@ __19: rc = SQLITE_NOMEM __24: ; - Xsqlite3_free_filename(tls, *(*uintptr)(unsafe.Pointer(bp + 64 /* zPath */))) + Xsqlite3_free_filename(tls, *(*uintptr)(unsafe.Pointer(bp + 40 /* zPath */))) // If the file was opened successfully, read the schema for the new database. // If this fails, or if opening the file failed, then close the file and @@ -136905,7 +136905,7 @@ __24: if !(!((int32(*(*uint8)(unsafe.Pointer(db + 184 /* &.init */ + 8 /* &.reopenMemdb */)) & 0x4 >> 2)) != 0)) { goto __26 } - rc = Xsqlite3Init(tls, db, bp+80 /* &zErrDyn */) + rc = Xsqlite3Init(tls, db, bp+56 /* &zErrDyn */) __26: ; Xsqlite3BtreeLeaveAll(tls, db) @@ -136934,14 +136934,14 @@ __29: goto __30 } Xsqlite3OomFault(tls, db) - Xsqlite3DbFree(tls, db, *(*uintptr)(unsafe.Pointer(bp + 80 /* zErrDyn */))) - *(*uintptr)(unsafe.Pointer(bp + 80 /* zErrDyn */)) = Xsqlite3MPrintf(tls, db, ts+6543 /* "out of memory" */, 0) + Xsqlite3DbFree(tls, db, *(*uintptr)(unsafe.Pointer(bp + 56 /* zErrDyn */))) + *(*uintptr)(unsafe.Pointer(bp + 56 /* zErrDyn */)) = Xsqlite3MPrintf(tls, db, ts+6543 /* "out of memory" */, 0) goto __31 __30: - if !(*(*uintptr)(unsafe.Pointer(bp + 80 /* zErrDyn */)) == uintptr(0)) { + if !(*(*uintptr)(unsafe.Pointer(bp + 56 /* zErrDyn */)) == uintptr(0)) { goto __32 } - *(*uintptr)(unsafe.Pointer(bp + 80 /* zErrDyn */)) = Xsqlite3MPrintf(tls, db, ts+11929 /* "unable to open d..." */, libc.VaList(bp+32, zFile)) + *(*uintptr)(unsafe.Pointer(bp + 56 /* zErrDyn */)) = Xsqlite3MPrintf(tls, db, ts+11929 /* "unable to open d..." */, libc.VaList(bp+16, zFile)) __32: ; __31: @@ -136956,11 +136956,11 @@ __27: attach_error: // Return an error if we get here - if !(*(*uintptr)(unsafe.Pointer(bp + 80 /* zErrDyn */)) != 0) { + if !(*(*uintptr)(unsafe.Pointer(bp + 56 /* zErrDyn */)) != 0) { goto __33 } - Xsqlite3_result_error(tls, context, *(*uintptr)(unsafe.Pointer(bp + 80 /* zErrDyn */)), -1) - Xsqlite3DbFree(tls, db, *(*uintptr)(unsafe.Pointer(bp + 80 /* zErrDyn */))) + Xsqlite3_result_error(tls, context, *(*uintptr)(unsafe.Pointer(bp + 56 /* zErrDyn */)), -1) + Xsqlite3DbFree(tls, db, *(*uintptr)(unsafe.Pointer(bp + 56 /* zErrDyn */))) __33: ; if !(rc != 0) { @@ -136977,15 +136977,15 @@ __34: // // SELECT sqlite_detach(x) func detachFunc(tls *libc.TLS, context uintptr, NotUsed int32, argv uintptr) { /* sqlite3.c:111810:13: */ - bp := tls.Alloc(176) - defer tls.Free(176) + bp := tls.Alloc(152) + defer tls.Free(152) var zName uintptr var db uintptr var i int32 var pDb uintptr var pEntry uintptr - // var zErr [128]int8 at bp+48, 128 + // var zErr [128]int8 at bp+24, 128 var pTrig uintptr zName = Xsqlite3_value_text(tls, *(*uintptr)(unsafe.Pointer(argv))) @@ -137029,14 +137029,14 @@ __4: if !(i >= (*Sqlite3)(unsafe.Pointer(db)).FnDb) { goto __7 } - Xsqlite3_snprintf(tls, int32(unsafe.Sizeof([128]int8{})), bp+48 /* &zErr[0] */, ts+11957 /* "no such database..." */, libc.VaList(bp, zName)) + Xsqlite3_snprintf(tls, int32(unsafe.Sizeof([128]int8{})), bp+24 /* &zErr[0] */, ts+11957 /* "no such database..." */, libc.VaList(bp, zName)) goto detach_error __7: ; if !(i < 2) { goto __8 } - Xsqlite3_snprintf(tls, int32(unsafe.Sizeof([128]int8{})), bp+48 /* &zErr[0] */, ts+11978 /* "cannot detach da..." */, libc.VaList(bp+16, zName)) + Xsqlite3_snprintf(tls, int32(unsafe.Sizeof([128]int8{})), bp+24 /* &zErr[0] */, ts+11978 /* "cannot detach da..." */, libc.VaList(bp+8, zName)) goto detach_error __8: ; @@ -137044,7 +137044,7 @@ __8: (Xsqlite3BtreeIsInBackup(tls, (*Db)(unsafe.Pointer(pDb)).FpBt) != 0)) { goto __9 } - Xsqlite3_snprintf(tls, int32(unsafe.Sizeof([128]int8{})), bp+48 /* &zErr[0] */, ts+12004 /* "database %s is l..." */, libc.VaList(bp+32, zName)) + Xsqlite3_snprintf(tls, int32(unsafe.Sizeof([128]int8{})), bp+24 /* &zErr[0] */, ts+12004 /* "database %s is l..." */, libc.VaList(bp+16, zName)) goto detach_error __9: ; @@ -137076,7 +137076,7 @@ __11: return detach_error: - Xsqlite3_result_error(tls, context, bp+48 /* &zErr[0] */, -1) + Xsqlite3_result_error(tls, context, bp+24 /* &zErr[0] */, -1) } // This procedure generates VDBE code for a single invocation of either the @@ -137184,8 +137184,8 @@ var attach_func = FuncDef{ // Expression callback used by sqlite3FixAAAA() routines. func fixExprCb(tls *libc.TLS, p uintptr, pExpr uintptr) int32 { /* sqlite3.c:111982:12: */ - bp := tls.Alloc(16) - defer tls.Free(16) + bp := tls.Alloc(8) + defer tls.Free(8) var pFix uintptr = *(*uintptr)(unsafe.Pointer(p + 40 /* &.u */)) if !(int32((*DbFixer)(unsafe.Pointer(pFix)).FbTemp) != 0) { @@ -137204,8 +137204,8 @@ func fixExprCb(tls *libc.TLS, p uintptr, pExpr uintptr) int32 { /* sqlite3.c:111 // Select callback used by sqlite3FixAAAA() routines. func fixSelectCb(tls *libc.TLS, p uintptr, pSelect uintptr) int32 { /* sqlite3.c:111999:12: */ - bp := tls.Alloc(32) - defer tls.Free(32) + bp := tls.Alloc(24) + defer tls.Free(24) var pFix uintptr = *(*uintptr)(unsafe.Pointer(p + 40 /* &.u */)) var i int32 @@ -137439,8 +137439,8 @@ func sqliteAuthBadReturnCode(tls *libc.TLS, pParse uintptr) { /* sqlite3.c:11223 // to an SQL NULL expression. Otherwise, if pExpr is NULL, then SQLITE_IGNORE // is treated as SQLITE_DENY. In this case an error is left in pParse. func Xsqlite3AuthReadCol(tls *libc.TLS, pParse uintptr, zTab uintptr, zCol uintptr, iDb int32) int32 { /* sqlite3.c:112247:20: */ - bp := tls.Alloc(64) - defer tls.Free(64) + bp := tls.Alloc(40) + defer tls.Free(40) var db uintptr = (*Parse)(unsafe.Pointer(pParse)).Fdb // Database handle var zDb uintptr = (*Db)(unsafe.Pointer((*Sqlite3)(unsafe.Pointer(db)).FaDb + uintptr(iDb)*32)).FzDbSName // Schema name of attached database @@ -137453,9 +137453,9 @@ func Xsqlite3AuthReadCol(tls *libc.TLS, pParse uintptr, zTab uintptr, zCol uintp if rc == SQLITE_DENY { var z uintptr = Xsqlite3_mprintf(tls, ts+12147 /* "%s.%s" */, libc.VaList(bp, zTab, zCol)) if ((*Sqlite3)(unsafe.Pointer(db)).FnDb > 2) || (iDb != 0) { - z = Xsqlite3_mprintf(tls, ts+12153 /* "%s.%z" */, libc.VaList(bp+24, zDb, z)) + z = Xsqlite3_mprintf(tls, ts+12153 /* "%s.%z" */, libc.VaList(bp+16, zDb, z)) } - Xsqlite3ErrorMsg(tls, pParse, ts+12159 /* "access to %z is ..." */, libc.VaList(bp+48, z)) + Xsqlite3ErrorMsg(tls, pParse, ts+12159 /* "access to %z is ..." */, libc.VaList(bp+32, z)) (*Parse)(unsafe.Pointer(pParse)).Frc = SQLITE_AUTH } else if (rc != SQLITE_IGNORE) && (rc != SQLITE_OK) { sqliteAuthBadReturnCode(tls, pParse) @@ -137911,8 +137911,8 @@ func Xsqlite3FindTable(tls *libc.TLS, db uintptr, zName uintptr, zDatabase uintp // routine leaves an error message in pParse->zErrMsg where // sqlite3FindTable() does not. func Xsqlite3LocateTable(tls *libc.TLS, pParse uintptr, flags U32, zName uintptr, zDbase uintptr) uintptr { /* sqlite3.c:112841:22: */ - bp := tls.Alloc(56) - defer tls.Free(56) + bp := tls.Alloc(40) + defer tls.Free(40) var p uintptr var db uintptr = (*Parse)(unsafe.Pointer(pParse)).Fdb @@ -137956,7 +137956,7 @@ func Xsqlite3LocateTable(tls *libc.TLS, pParse uintptr, flags U32, zName uintptr if zDbase != 0 { Xsqlite3ErrorMsg(tls, pParse, ts+7013 /* "%s: %s.%s" */, libc.VaList(bp, zMsg, zDbase, zName)) } else { - Xsqlite3ErrorMsg(tls, pParse, ts+7023 /* "%s: %s" */, libc.VaList(bp+32, zMsg, zName)) + Xsqlite3ErrorMsg(tls, pParse, ts+7023 /* "%s: %s" */, libc.VaList(bp+24, zMsg, zName)) } } else { @@ -138341,8 +138341,8 @@ func Xsqlite3FindDb(tls *libc.TLS, db uintptr, pName uintptr) int32 { /* sqlite3 // pName2) that stores the unqualified table name. The index of the // database "xxx" is returned. func Xsqlite3TwoPartName(tls *libc.TLS, pParse uintptr, pName1 uintptr, pName2 uintptr, pUnqual uintptr) int32 { /* sqlite3.c:113283:20: */ - bp := tls.Alloc(16) - defer tls.Free(16) + bp := tls.Alloc(8) + defer tls.Free(8) var iDb int32 // Database holding the object var db uintptr = (*Parse)(unsafe.Pointer(pParse)).Fdb @@ -138382,8 +138382,8 @@ func Xsqlite3WritableSchema(tls *libc.TLS, db uintptr) int32 { /* sqlite3.c:1133 // make sure the "type", "name", and "tbl_name" columns are consistent // with the SQL. func Xsqlite3CheckObjectName(tls *libc.TLS, pParse uintptr, zName uintptr, zType uintptr, zTblName uintptr) int32 { /* sqlite3.c:113338:20: */ - bp := tls.Alloc(16) - defer tls.Free(16) + bp := tls.Alloc(8) + defer tls.Free(8) var db uintptr = (*Parse)(unsafe.Pointer(pParse)).Fdb if ((Xsqlite3WritableSchema(tls, db) != 0) || @@ -138544,15 +138544,15 @@ func sqlite3ForceNotReadOnly(tls *libc.TLS, pParse uintptr) { /* sqlite3.c:11348 // At the end of the CREATE TABLE statement, the sqlite3EndTable() routine // is called to complete the construction of the new table record. func Xsqlite3StartTable(tls *libc.TLS, pParse uintptr, pName1 uintptr, pName2 uintptr, isTemp int32, isView int32, isVirtual int32, noErr int32) { /* sqlite3.c:113507:21: */ - bp := tls.Alloc(40) - defer tls.Free(40) + bp := tls.Alloc(24) + defer tls.Free(24) var pTable uintptr var zName uintptr // The name of the new table var db uintptr var v uintptr var iDb int32 // Database number to create the table in - // var pName uintptr at bp+32, 8 + // var pName uintptr at bp+16, 8 var zDb uintptr var zDb1 uintptr @@ -138575,11 +138575,11 @@ func Xsqlite3StartTable(tls *libc.TLS, pParse uintptr, pName1 uintptr, pName2 ui } return ts + 6318 /* "sqlite_master" */ }()) - *(*uintptr)(unsafe.Pointer(bp + 32 /* pName */)) = pName1 + *(*uintptr)(unsafe.Pointer(bp + 16 /* pName */)) = pName1 goto __2 __1: // The common case - iDb = Xsqlite3TwoPartName(tls, pParse, pName1, pName2, bp+32 /* &pName */) + iDb = Xsqlite3TwoPartName(tls, pParse, pName1, pName2, bp+16 /* &pName */) if !(iDb < 0) { goto __3 } @@ -138601,16 +138601,16 @@ __4: iDb = 1 __5: ; - zName = Xsqlite3NameFromToken(tls, db, *(*uintptr)(unsafe.Pointer(bp + 32 /* pName */))) + zName = Xsqlite3NameFromToken(tls, db, *(*uintptr)(unsafe.Pointer(bp + 16 /* pName */))) if !(int32((*Parse)(unsafe.Pointer(pParse)).FeParseMode) >= PARSE_MODE_RENAME) { goto __6 } - Xsqlite3RenameTokenMap(tls, pParse, zName, *(*uintptr)(unsafe.Pointer(bp + 32 /* pName */))) + Xsqlite3RenameTokenMap(tls, pParse, zName, *(*uintptr)(unsafe.Pointer(bp + 16 /* pName */))) __6: ; __2: ; - (*Parse)(unsafe.Pointer(pParse)).FsNameToken = *(*Token)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp + 32 /* pName */)))) + (*Parse)(unsafe.Pointer(pParse)).FsNameToken = *(*Token)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp + 16 /* pName */)))) if !(zName == uintptr(0)) { goto __7 } @@ -138678,7 +138678,7 @@ __13: if !(!(noErr != 0)) { goto __15 } - Xsqlite3ErrorMsg(tls, pParse, ts+12408 /* "table %T already..." */, libc.VaList(bp, *(*uintptr)(unsafe.Pointer(bp + 32 /* pName */)))) + Xsqlite3ErrorMsg(tls, pParse, ts+12408 /* "table %T already..." */, libc.VaList(bp, *(*uintptr)(unsafe.Pointer(bp + 16 /* pName */)))) goto __16 __15: ; @@ -138692,7 +138692,7 @@ __14: if !(Xsqlite3FindIndex(tls, db, zName, zDb1) != uintptr(0)) { goto __17 } - Xsqlite3ErrorMsg(tls, pParse, ts+12432 /* "there is already..." */, libc.VaList(bp+16, zName)) + Xsqlite3ErrorMsg(tls, pParse, ts+12432 /* "there is already..." */, libc.VaList(bp+8, zName)) goto begin_table_error __17: ; @@ -138878,8 +138878,8 @@ func Xsqlite3AddReturning(tls *libc.TLS, pParse uintptr, pList uintptr) { /* sql // first to get things going. Then this routine is called for each // column. func Xsqlite3AddColumn(tls *libc.TLS, pParse uintptr, pName uintptr, pType uintptr) { /* sqlite3.c:113788:21: */ - bp := tls.Alloc(32) - defer tls.Free(32) + bp := tls.Alloc(16) + defer tls.Free(16) var p uintptr var i int32 @@ -138909,7 +138909,7 @@ func Xsqlite3AddColumn(tls *libc.TLS, pParse uintptr, pName uintptr, pType uintp hName = Xsqlite3StrIHash(tls, z) for i = 0; i < int32((*Table)(unsafe.Pointer(p)).FnCol); i++ { if (int32((*Column)(unsafe.Pointer((*Table)(unsafe.Pointer(p)).FaCol+uintptr(i)*32)).FhName) == int32(hName)) && (Xsqlite3StrICmp(tls, z, (*Column)(unsafe.Pointer((*Table)(unsafe.Pointer(p)).FaCol+uintptr(i)*32)).FzName) == 0) { - Xsqlite3ErrorMsg(tls, pParse, ts+12541 /* "duplicate column..." */, libc.VaList(bp+16, z)) + Xsqlite3ErrorMsg(tls, pParse, ts+12541 /* "duplicate column..." */, libc.VaList(bp+8, z)) Xsqlite3DbFree(tls, db, z) return } @@ -139072,8 +139072,8 @@ func Xsqlite3AffinityType(tls *libc.TLS, zIn uintptr, pCol uintptr) int8 { /* sq // This routine is called by the parser while in the middle of // parsing a CREATE TABLE statement. func Xsqlite3AddDefaultValue(tls *libc.TLS, pParse uintptr, pExpr uintptr, zStart uintptr, zEnd uintptr) { /* sqlite3.c:113984:21: */ - bp := tls.Alloc(88) - defer tls.Free(88) + bp := tls.Alloc(80) + defer tls.Free(80) var p uintptr var pCol uintptr @@ -139091,16 +139091,16 @@ func Xsqlite3AddDefaultValue(tls *libc.TLS, pParse uintptr, pExpr uintptr, zStar } else { // A copy of pExpr is used instead of the original, as pExpr contains // tokens that point to volatile memory. - // var x Expr at bp+16, 72 + // var x Expr at bp+8, 72 Xsqlite3ExprDelete(tls, db, (*Column)(unsafe.Pointer(pCol)).FpDflt) - libc.Xmemset(tls, bp+16 /* &x */, 0, uint64(unsafe.Sizeof(Expr{}))) - (*Expr)(unsafe.Pointer(bp + 16 /* &x */)).Fop = U8(TK_SPAN) - *(*uintptr)(unsafe.Pointer(bp + 16 /* &x */ + 8 /* &.u */)) = Xsqlite3DbSpanDup(tls, db, zStart, zEnd) - (*Expr)(unsafe.Pointer(bp + 16 /* &x */)).FpLeft = pExpr - (*Expr)(unsafe.Pointer(bp + 16 /* &x */)).Fflags = U32(EP_Skip) - (*Column)(unsafe.Pointer(pCol)).FpDflt = Xsqlite3ExprDup(tls, db, bp+16 /* &x */, EXPRDUP_REDUCE) - Xsqlite3DbFree(tls, db, *(*uintptr)(unsafe.Pointer(bp + 16 /* &x */ + 8 /* &.u */))) + libc.Xmemset(tls, bp+8 /* &x */, 0, uint64(unsafe.Sizeof(Expr{}))) + (*Expr)(unsafe.Pointer(bp + 8 /* &x */)).Fop = U8(TK_SPAN) + *(*uintptr)(unsafe.Pointer(bp + 8 /* &x */ + 8 /* &.u */)) = Xsqlite3DbSpanDup(tls, db, zStart, zEnd) + (*Expr)(unsafe.Pointer(bp + 8 /* &x */)).FpLeft = pExpr + (*Expr)(unsafe.Pointer(bp + 8 /* &x */)).Fflags = U32(EP_Skip) + (*Column)(unsafe.Pointer(pCol)).FpDflt = Xsqlite3ExprDup(tls, db, bp+8 /* &x */, EXPRDUP_REDUCE) + Xsqlite3DbFree(tls, db, *(*uintptr)(unsafe.Pointer(bp + 8 /* &x */ + 8 /* &.u */))) } } if int32((*Parse)(unsafe.Pointer(pParse)).FeParseMode) >= PARSE_MODE_RENAME { @@ -139158,8 +139158,8 @@ func makeColumnPartOfPrimaryKey(tls *libc.TLS, pParse uintptr, pCol uintptr) { / // If the key is not an INTEGER PRIMARY KEY, then create a unique // index for the key. No index is created for INTEGER PRIMARY KEYs. func Xsqlite3AddPrimaryKey(tls *libc.TLS, pParse uintptr, pList uintptr, onError int32, autoInc int32, sortOrder int32) { /* sqlite3.c:114084:21: */ - bp := tls.Alloc(16) - defer tls.Free(16) + bp := tls.Alloc(8) + defer tls.Free(8) var pTab uintptr var pCol uintptr @@ -139355,8 +139355,8 @@ func Xsqlite3AddCollateType(tls *libc.TLS, pParse uintptr, pToken uintptr) { /* // Change the most recently parsed column to be a GENERATED ALWAYS AS // column. func Xsqlite3AddGenerated(tls *libc.TLS, pParse uintptr, pExpr uintptr, pType uintptr) { /* sqlite3.c:114228:21: */ - bp := tls.Alloc(16) - defer tls.Free(16) + bp := tls.Alloc(8) + defer tls.Free(8) var eType U8 var pTab uintptr @@ -139535,11 +139535,11 @@ func identPut(tls *libc.TLS, z uintptr, pIdx uintptr, zSignedIdent uintptr) { /* // table. Memory to hold the text of the statement is obtained // from sqliteMalloc() and must be freed by the calling function. func createTableStmt(tls *libc.TLS, db uintptr, p uintptr) uintptr { /* sqlite3.c:114361:13: */ - bp := tls.Alloc(20) - defer tls.Free(20) + bp := tls.Alloc(12) + defer tls.Free(12) var i int32 - // var k int32 at bp+16, 4 + // var k int32 at bp+8, 4 var n int32 var zStmt uintptr @@ -139583,9 +139583,9 @@ __3: return uintptr(0) } Xsqlite3_snprintf(tls, n, zStmt, ts+12913 /* "CREATE TABLE " */, 0) - *(*int32)(unsafe.Pointer(bp + 16 /* k */)) = Xsqlite3Strlen30(tls, zStmt) - identPut(tls, zStmt, bp+16 /* &k */, (*Table)(unsafe.Pointer(p)).FzName) - *(*int8)(unsafe.Pointer(zStmt + uintptr(libc.PostIncInt32(&*(*int32)(unsafe.Pointer(bp + 16 /* k */)), 1)))) = int8('(') + *(*int32)(unsafe.Pointer(bp + 8 /* k */)) = Xsqlite3Strlen30(tls, zStmt) + identPut(tls, zStmt, bp+8 /* &k */, (*Table)(unsafe.Pointer(p)).FzName) + *(*int8)(unsafe.Pointer(zStmt + uintptr(libc.PostIncInt32(&*(*int32)(unsafe.Pointer(bp + 8 /* k */)), 1)))) = int8('(') pCol = (*Table)(unsafe.Pointer(p)).FaCol i = 0 __4: @@ -139596,16 +139596,16 @@ __4: var len int32 var zType uintptr - Xsqlite3_snprintf(tls, (n - *(*int32)(unsafe.Pointer(bp + 16 /* k */))), (zStmt + uintptr(*(*int32)(unsafe.Pointer(bp + 16 /* k */)))), zSep, 0) - *(*int32)(unsafe.Pointer(bp + 16 /* k */)) += Xsqlite3Strlen30(tls, (zStmt + uintptr(*(*int32)(unsafe.Pointer(bp + 16 /* k */))))) + Xsqlite3_snprintf(tls, (n - *(*int32)(unsafe.Pointer(bp + 8 /* k */))), (zStmt + uintptr(*(*int32)(unsafe.Pointer(bp + 8 /* k */)))), zSep, 0) + *(*int32)(unsafe.Pointer(bp + 8 /* k */)) += Xsqlite3Strlen30(tls, (zStmt + uintptr(*(*int32)(unsafe.Pointer(bp + 8 /* k */))))) zSep = zSep2 - identPut(tls, zStmt, bp+16 /* &k */, (*Column)(unsafe.Pointer(pCol)).FzName) + identPut(tls, zStmt, bp+8 /* &k */, (*Column)(unsafe.Pointer(pCol)).FzName) zType = azType1[(int32((*Column)(unsafe.Pointer(pCol)).Faffinity) - SQLITE_AFF_BLOB)] len = Xsqlite3Strlen30(tls, zType) - libc.Xmemcpy(tls, (zStmt + uintptr(*(*int32)(unsafe.Pointer(bp + 16 /* k */)))), zType, uint64(len)) - *(*int32)(unsafe.Pointer(bp + 16 /* k */)) += len + libc.Xmemcpy(tls, (zStmt + uintptr(*(*int32)(unsafe.Pointer(bp + 8 /* k */)))), zType, uint64(len)) + *(*int32)(unsafe.Pointer(bp + 8 /* k */)) += len } goto __5 @@ -139616,7 +139616,7 @@ __5: goto __6 __6: ; - Xsqlite3_snprintf(tls, (n - *(*int32)(unsafe.Pointer(bp + 16 /* k */))), (zStmt + uintptr(*(*int32)(unsafe.Pointer(bp + 16 /* k */)))), ts+3630 /* "%s" */, libc.VaList(bp, zEnd)) + Xsqlite3_snprintf(tls, (n - *(*int32)(unsafe.Pointer(bp + 8 /* k */))), (zStmt + uintptr(*(*int32)(unsafe.Pointer(bp + 8 /* k */)))), ts+3630 /* "%s" */, libc.VaList(bp, zEnd)) return zStmt } @@ -140032,8 +140032,8 @@ func Xsqlite3ShadowTableName(tls *libc.TLS, db uintptr, zName uintptr) int32 { / // "CREATE TABLE ... AS SELECT ..." statement. The column names of // the new table will match the result set of the SELECT. func Xsqlite3EndTable(tls *libc.TLS, pParse uintptr, pCons uintptr, pEnd uintptr, tabOpts U8, pSelect uintptr) { /* sqlite3.c:114830:21: */ - bp := tls.Alloc(184) - defer tls.Free(184) + bp := tls.Alloc(144) + defer tls.Free(144) var p uintptr // The new table var db uintptr = (*Parse)(unsafe.Pointer(pParse)).Fdb // The database connection @@ -140177,7 +140177,7 @@ func Xsqlite3EndTable(tls *libc.TLS, pParse uintptr, pCons uintptr, pEnd uintptr // a schema-lock excludes all other database users, the write-lock would // be redundant. if pSelect != 0 { - // var dest SelectDest at bp+144, 40 + // var dest SelectDest at bp+104, 40 // Where the SELECT should store results var regYield int32 // Register holding co-routine entry-point var addrTop int32 // Top of the co-routine @@ -140209,16 +140209,16 @@ func Xsqlite3EndTable(tls *libc.TLS, pParse uintptr, pCons uintptr, pEnd uintptr (*Table)(unsafe.Pointer(pSelTab)).FnCol = int16(0) (*Table)(unsafe.Pointer(pSelTab)).FaCol = uintptr(0) Xsqlite3DeleteTable(tls, db, pSelTab) - Xsqlite3SelectDestInit(tls, bp+144 /* &dest */, SRT_Coroutine, regYield) - Xsqlite3Select(tls, pParse, pSelect, bp+144 /* &dest */) + Xsqlite3SelectDestInit(tls, bp+104 /* &dest */, SRT_Coroutine, regYield) + Xsqlite3Select(tls, pParse, pSelect, bp+104 /* &dest */) if (*Parse)(unsafe.Pointer(pParse)).FnErr != 0 { return } Xsqlite3VdbeEndCoroutine(tls, v, regYield) Xsqlite3VdbeJumpHere(tls, v, (addrTop - 1)) - addrInsLoop = Xsqlite3VdbeAddOp1(tls, v, OP_Yield, (*SelectDest)(unsafe.Pointer(bp+144 /* &dest */)).FiSDParm) + addrInsLoop = Xsqlite3VdbeAddOp1(tls, v, OP_Yield, (*SelectDest)(unsafe.Pointer(bp+104 /* &dest */)).FiSDParm) - Xsqlite3VdbeAddOp3(tls, v, OP_MakeRecord, (*SelectDest)(unsafe.Pointer(bp+144 /* &dest */)).FiSdst, (*SelectDest)(unsafe.Pointer(bp+144 /* &dest */)).FnSdst, regRec) + Xsqlite3VdbeAddOp3(tls, v, OP_MakeRecord, (*SelectDest)(unsafe.Pointer(bp+104 /* &dest */)).FiSdst, (*SelectDest)(unsafe.Pointer(bp+104 /* &dest */)).FnSdst, regRec) Xsqlite3TableAffinity(tls, v, p, 0) Xsqlite3VdbeAddOp2(tls, v, OP_NewRowid, 1, regRowid) Xsqlite3VdbeAddOp3(tls, v, OP_Insert, 1, regRec, regRowid) @@ -140242,7 +140242,7 @@ func Xsqlite3EndTable(tls *libc.TLS, pParse uintptr, pCons uintptr, pEnd uintptr n = int32(uint32(n) + ((*Token)(unsafe.Pointer(pEnd2)).Fn)) } zStmt = Xsqlite3MPrintf(tls, db, - ts+13086 /* "CREATE %s %.*s" */, libc.VaList(bp+16, zType2, n, (*Parse)(unsafe.Pointer(pParse)).FsNameToken.Fz)) + ts+13086 /* "CREATE %s %.*s" */, libc.VaList(bp+8, zType2, n, (*Parse)(unsafe.Pointer(pParse)).FsNameToken.Fz)) } // A slot for the record has already been allocated in the @@ -140251,7 +140251,7 @@ func Xsqlite3EndTable(tls *libc.TLS, pParse uintptr, pCons uintptr, pEnd uintptr Xsqlite3NestedParse(tls, pParse, ts+13101, /* "UPDATE %Q.sqlite..." */ - libc.VaList(bp+48, (*Db)(unsafe.Pointer((*Sqlite3)(unsafe.Pointer(db)).FaDb+uintptr(iDb)*32)).FzDbSName, + libc.VaList(bp+32, (*Db)(unsafe.Pointer((*Sqlite3)(unsafe.Pointer(db)).FaDb+uintptr(iDb)*32)).FzDbSName, zType, (*Table)(unsafe.Pointer(p)).FzName, (*Table)(unsafe.Pointer(p)).FzName, @@ -140269,13 +140269,13 @@ func Xsqlite3EndTable(tls *libc.TLS, pParse uintptr, pCons uintptr, pEnd uintptr if (*Schema)(unsafe.Pointer((*Db)(unsafe.Pointer(pDb)).FpSchema)).FpSeqTab == uintptr(0) { Xsqlite3NestedParse(tls, pParse, ts+13199, /* "CREATE TABLE %Q...." */ - libc.VaList(bp+112, (*Db)(unsafe.Pointer(pDb)).FzDbSName)) + libc.VaList(bp+88, (*Db)(unsafe.Pointer(pDb)).FzDbSName)) } } // Reparse everything to update our internal data structures Xsqlite3VdbeAddParseSchemaOp(tls, v, iDb, - Xsqlite3MPrintf(tls, db, ts+13241 /* "tbl_name='%q' AN..." */, libc.VaList(bp+128, (*Table)(unsafe.Pointer(p)).FzName)), uint16(0)) + Xsqlite3MPrintf(tls, db, ts+13241 /* "tbl_name='%q' AN..." */, libc.VaList(bp+96, (*Table)(unsafe.Pointer(p)).FzName)), uint16(0)) } // Add the table to the in-memory representation of the database. @@ -140430,8 +140430,8 @@ __10: // the columns of the view in the pTable structure. Return the number // of errors. If an error is seen leave an error message in pParse->zErrMsg. func Xsqlite3ViewGetColumnNames(tls *libc.TLS, pParse uintptr, pTable uintptr) int32 { /* sqlite3.c:115220:20: */ - bp := tls.Alloc(16) - defer tls.Free(16) + bp := tls.Alloc(8) + defer tls.Free(8) var pSelTab uintptr // A fake table from which we get the result set var pSel uintptr // Copy of the SELECT that implements the view @@ -140608,8 +140608,8 @@ func Xsqlite3RootPageMoved(tls *libc.TLS, db uintptr, iDb int32, iFrom Pgno, iTo // if a root-page of another table is moved by the btree-layer whilst // erasing iTable (this can happen with an auto-vacuum database). func destroyRootPage(tls *libc.TLS, pParse uintptr, iTable int32, iDb int32) { /* sqlite3.c:115417:13: */ - bp := tls.Alloc(40) - defer tls.Free(40) + bp := tls.Alloc(32) + defer tls.Free(32) var v uintptr = Xsqlite3GetVdbe(tls, pParse) var r1 int32 = Xsqlite3GetTempReg(tls, pParse) @@ -140684,27 +140684,27 @@ func destroyTable(tls *libc.TLS, pParse uintptr, pTab uintptr) { /* sqlite3.c:11 // Remove entries from the sqlite_statN tables (for N in (1,2,3)) // after a DROP INDEX or DROP TABLE command. func sqlite3ClearStatTables(tls *libc.TLS, pParse uintptr, iDb int32, zType uintptr, zName uintptr) { /* sqlite3.c:115496:13: */ - bp := tls.Alloc(80) - defer tls.Free(80) + bp := tls.Alloc(64) + defer tls.Free(64) var i int32 var zDbName uintptr = (*Db)(unsafe.Pointer((*Sqlite3)(unsafe.Pointer((*Parse)(unsafe.Pointer(pParse)).Fdb)).FaDb + uintptr(iDb)*32)).FzDbSName for i = 1; i <= 4; i++ { - // var zTab [24]int8 at bp+56, 24 + // var zTab [24]int8 at bp+40, 24 - Xsqlite3_snprintf(tls, int32(unsafe.Sizeof([24]int8{})), bp+56 /* &zTab[0] */, ts+13423 /* "sqlite_stat%d" */, libc.VaList(bp, i)) - if Xsqlite3FindTable(tls, (*Parse)(unsafe.Pointer(pParse)).Fdb, bp+56 /* &zTab[0] */, zDbName) != 0 { + Xsqlite3_snprintf(tls, int32(unsafe.Sizeof([24]int8{})), bp+40 /* &zTab[0] */, ts+13423 /* "sqlite_stat%d" */, libc.VaList(bp, i)) + if Xsqlite3FindTable(tls, (*Parse)(unsafe.Pointer(pParse)).Fdb, bp+40 /* &zTab[0] */, zDbName) != 0 { Xsqlite3NestedParse(tls, pParse, ts+11386, /* "DELETE FROM %Q.%..." */ - libc.VaList(bp+16, zDbName, bp+56 /* &zTab[0] */, zType, zName)) + libc.VaList(bp+8, zDbName, bp+40 /* &zTab[0] */, zType, zName)) } } } // Generate code to drop a table. func Xsqlite3CodeDropTable(tls *libc.TLS, pParse uintptr, pTab uintptr, iDb int32, isView int32) { /* sqlite3.c:115519:21: */ - bp := tls.Alloc(48) - defer tls.Free(48) + bp := tls.Alloc(32) + defer tls.Free(32) var v uintptr var db uintptr = (*Parse)(unsafe.Pointer(pParse)).Fdb @@ -140748,7 +140748,7 @@ func Xsqlite3CodeDropTable(tls *libc.TLS, pParse uintptr, pTab uintptr, iDb int3 Xsqlite3NestedParse(tls, pParse, ts+13482, /* "DELETE FROM %Q.s..." */ - libc.VaList(bp+24, (*Db)(unsafe.Pointer(pDb)).FzDbSName, (*Table)(unsafe.Pointer(pTab)).FzName)) + libc.VaList(bp+16, (*Db)(unsafe.Pointer(pDb)).FzDbSName, (*Table)(unsafe.Pointer(pTab)).FzName)) if !(isView != 0) && !((*Table)(unsafe.Pointer(pTab)).FnModuleArg != 0) { destroyTable(tls, pParse, pTab) } @@ -140795,8 +140795,8 @@ func tableMayNotBeDropped(tls *libc.TLS, db uintptr, pTab uintptr) int32 { /* sq // This routine is called to do the work of a DROP TABLE statement. // pName is the name of the table to be dropped. func Xsqlite3DropTable(tls *libc.TLS, pParse uintptr, pName uintptr, isView int32, noErr int32) { /* sqlite3.c:115623:21: */ - bp := tls.Alloc(48) - defer tls.Free(48) + bp := tls.Alloc(24) + defer tls.Free(24) var pTab uintptr var v uintptr @@ -140934,14 +140934,14 @@ __19: if !((isView != 0) && ((*Table)(unsafe.Pointer(pTab)).FpSelect == uintptr(0))) { goto __20 } - Xsqlite3ErrorMsg(tls, pParse, ts+13582 /* "use DROP TABLE t..." */, libc.VaList(bp+16, (*Table)(unsafe.Pointer(pTab)).FzName)) + Xsqlite3ErrorMsg(tls, pParse, ts+13582 /* "use DROP TABLE t..." */, libc.VaList(bp+8, (*Table)(unsafe.Pointer(pTab)).FzName)) goto exit_drop_table __20: ; if !(!(isView != 0) && ((*Table)(unsafe.Pointer(pTab)).FpSelect != 0)) { goto __21 } - Xsqlite3ErrorMsg(tls, pParse, ts+13616 /* "use DROP VIEW to..." */, libc.VaList(bp+32, (*Table)(unsafe.Pointer(pTab)).FzName)) + Xsqlite3ErrorMsg(tls, pParse, ts+13616 /* "use DROP VIEW to..." */, libc.VaList(bp+16, (*Table)(unsafe.Pointer(pTab)).FzName)) goto exit_drop_table __21: ; @@ -140983,8 +140983,8 @@ exit_drop_table: // The foreign key is set for IMMEDIATE processing. A subsequent call // to sqlite3DeferForeignKey() might change this to DEFERRED. func Xsqlite3CreateForeignKey(tls *libc.TLS, pParse uintptr, pFromCol uintptr, pTo uintptr, pToCol uintptr, flags int32) { /* sqlite3.c:115743:21: */ - bp := tls.Alloc(40) - defer tls.Free(40) + bp := tls.Alloc(24) + defer tls.Free(24) var db uintptr var pFKey uintptr @@ -141119,7 +141119,7 @@ __21: } Xsqlite3ErrorMsg(tls, pParse, ts+13805, /* "unknown column \"..." */ - libc.VaList(bp+24, (*ExprList_item)(unsafe.Pointer((pFromCol+8 /* &.a */)+uintptr(i)*32)).FzEName)) + libc.VaList(bp+16, (*ExprList_item)(unsafe.Pointer((pFromCol+8 /* &.a */)+uintptr(i)*32)).FzEName)) goto fk_end __23: ; @@ -141360,8 +141360,8 @@ func Xsqlite3AllocateIndexObject(tls *libc.TLS, db uintptr, nCol I16, nExtra int // an explicit "NULLS FIRST" or "NULLS LAST" clause, leave an error in // pParse and return non-zero. Otherwise, return zero. func Xsqlite3HasExplicitNulls(tls *libc.TLS, pParse uintptr, pList uintptr) int32 { /* sqlite3.c:116033:20: */ - bp := tls.Alloc(16) - defer tls.Free(16) + bp := tls.Alloc(8) + defer tls.Free(8) if pList != 0 { var i int32 @@ -141393,8 +141393,8 @@ func Xsqlite3HasExplicitNulls(tls *libc.TLS, pParse uintptr, pList uintptr) int3 // is a primary key or unique-constraint on the most recent column added // to the table currently under construction. func Xsqlite3CreateIndex(tls *libc.TLS, pParse uintptr, pName1 uintptr, pName2 uintptr, pTblName uintptr, pList uintptr, onError int32, pStart uintptr, pPIWhere uintptr, sortOrder int32, ifNotExist int32, idxType U8) { /* sqlite3.c:116061:21: */ - bp := tls.Alloc(328) - defer tls.Free(328) + bp := tls.Alloc(256) + defer tls.Free(256) var pTab uintptr // Table to be indexed var pIndex uintptr // The index to be created @@ -141402,24 +141402,24 @@ func Xsqlite3CreateIndex(tls *libc.TLS, pParse uintptr, pName1 uintptr, pName2 u var nName int32 // Number of characters in zName var i int32 var j int32 - // var sFix DbFixer at bp+208, 96 + // var sFix DbFixer at bp+136, 96 // For assigning database names to pTable var sortOrderMask int32 // 1 to honor DESC in index. 0 to ignore. var db uintptr var pDb uintptr // The specific table containing the indexed database var iDb int32 // Index of the database that is being written - // var pName uintptr at bp+200, 8 + // var pName uintptr at bp+128, 8 // Unqualified name of the index to create var pListItem uintptr // For looping over pList var nExtra int32 // Space allocated for zExtra[] var nExtraCol int32 // Number of extra columns needed - // var zExtra uintptr at bp+320, 8 + // var zExtra uintptr at bp+248, 8 // Extra space after the Index object var pPk uintptr var n int32 var pLoop uintptr var zDb uintptr - // var prevCol Token at bp+304, 16 + // var prevCol Token at bp+232, 16 var pCol uintptr var pExpr uintptr @@ -141468,9 +141468,9 @@ func Xsqlite3CreateIndex(tls *libc.TLS, pParse uintptr, pName1 uintptr, pName2 u pIndex = uintptr(0) zName = uintptr(0) db = (*Parse)(unsafe.Pointer(pParse)).Fdb - *(*uintptr)(unsafe.Pointer(bp + 200 /* pName */)) = uintptr(0) + *(*uintptr)(unsafe.Pointer(bp + 128 /* pName */)) = uintptr(0) nExtra = 0 - *(*uintptr)(unsafe.Pointer(bp + 320 /* zExtra */)) = uintptr(0) + *(*uintptr)(unsafe.Pointer(bp + 248 /* zExtra */)) = uintptr(0) pPk = uintptr(0) // PRIMARY KEY index for WITHOUT ROWID tables if !(((*Sqlite3)(unsafe.Pointer(db)).FmallocFailed != 0) || ((*Parse)(unsafe.Pointer(pParse)).FnErr > 0)) { @@ -141507,7 +141507,7 @@ __4: // to search for the table. 'Fix' the table name to this db // before looking up the table. - iDb = Xsqlite3TwoPartName(tls, pParse, pName1, pName2, bp+200 /* &pName */) + iDb = Xsqlite3TwoPartName(tls, pParse, pName1, pName2, bp+128 /* &pName */) if !(iDb < 0) { goto __7 } @@ -141531,8 +141531,8 @@ __9: __8: ; - Xsqlite3FixInit(tls, bp+208 /* &sFix */, pParse, iDb, ts+13890 /* "index" */, *(*uintptr)(unsafe.Pointer(bp + 200 /* pName */))) - if !(Xsqlite3FixSrcList(tls, bp+208 /* &sFix */, pTblName) != 0) { + Xsqlite3FixInit(tls, bp+136 /* &sFix */, pParse, iDb, ts+13890 /* "index" */, *(*uintptr)(unsafe.Pointer(bp + 128 /* pName */))) + if !(Xsqlite3FixSrcList(tls, bp+136 /* &sFix */, pTblName) != 0) { goto __10 } // Because the parser constructs pTblName from a single identifier, @@ -141584,7 +141584,7 @@ __6: (pTblName != uintptr(0))) { goto __15 } - Xsqlite3ErrorMsg(tls, pParse, ts+13946 /* "table %s may not..." */, libc.VaList(bp+16, (*Table)(unsafe.Pointer(pTab)).FzName)) + Xsqlite3ErrorMsg(tls, pParse, ts+13946 /* "table %s may not..." */, libc.VaList(bp+8, (*Table)(unsafe.Pointer(pTab)).FzName)) goto exit_create_index __15: ; @@ -141614,10 +141614,10 @@ __17: // If pName==0 it means that we are // dealing with a primary key or UNIQUE constraint. We have to invent our // own name. - if !(*(*uintptr)(unsafe.Pointer(bp + 200 /* pName */)) != 0) { + if !(*(*uintptr)(unsafe.Pointer(bp + 128 /* pName */)) != 0) { goto __18 } - zName = Xsqlite3NameFromToken(tls, db, *(*uintptr)(unsafe.Pointer(bp + 200 /* pName */))) + zName = Xsqlite3NameFromToken(tls, db, *(*uintptr)(unsafe.Pointer(bp + 128 /* pName */))) if !(zName == uintptr(0)) { goto __20 } @@ -141640,7 +141640,7 @@ __21: if !(Xsqlite3FindTable(tls, db, zName, uintptr(0)) != uintptr(0)) { goto __24 } - Xsqlite3ErrorMsg(tls, pParse, ts+14033 /* "there is already..." */, libc.VaList(bp+32, zName)) + Xsqlite3ErrorMsg(tls, pParse, ts+14033 /* "there is already..." */, libc.VaList(bp+16, zName)) goto exit_create_index __24: ; @@ -141652,7 +141652,7 @@ __23: if !(!(ifNotExist != 0)) { goto __26 } - Xsqlite3ErrorMsg(tls, pParse, ts+14067 /* "index %s already..." */, libc.VaList(bp+48, zName)) + Xsqlite3ErrorMsg(tls, pParse, ts+14067 /* "index %s already..." */, libc.VaList(bp+24, zName)) goto __27 __26: ; @@ -141681,7 +141681,7 @@ __29: goto __30 __30: ; - zName = Xsqlite3MPrintf(tls, db, ts+14091 /* "sqlite_autoindex..." */, libc.VaList(bp+64, (*Table)(unsafe.Pointer(pTab)).FzName, n)) + zName = Xsqlite3MPrintf(tls, db, ts+14091 /* "sqlite_autoindex..." */, libc.VaList(bp+32, (*Table)(unsafe.Pointer(pTab)).FzName, n)) if !(zName == uintptr(0)) { goto __31 } @@ -141743,9 +141743,9 @@ __33: } pCol = ((*Table)(unsafe.Pointer(pTab)).FaCol + uintptr((int32((*Table)(unsafe.Pointer(pTab)).FnCol)-1))*32) *(*U16)(unsafe.Pointer(pCol + 28 /* &.colFlags */)) |= U16((COLFLAG_UNIQUE)) - Xsqlite3TokenInit(tls, bp+304 /* &prevCol */, (*Column)(unsafe.Pointer(pCol)).FzName) + Xsqlite3TokenInit(tls, bp+232 /* &prevCol */, (*Column)(unsafe.Pointer(pCol)).FzName) pList = Xsqlite3ExprListAppend(tls, pParse, uintptr(0), - Xsqlite3ExprAlloc(tls, db, TK_ID, bp+304 /* &prevCol */, 0)) + Xsqlite3ExprAlloc(tls, db, TK_ID, bp+232 /* &prevCol */, 0)) if !(pList == uintptr(0)) { goto __39 } @@ -141798,7 +141798,7 @@ __43: } pIndex = Xsqlite3AllocateIndexObject(tls, db, (int16((*ExprList)(unsafe.Pointer(pList)).FnExpr + nExtraCol)), - ((nName + nExtra) + 1), bp+320 /* &zExtra */) + ((nName + nExtra) + 1), bp+248 /* &zExtra */) if !((*Sqlite3)(unsafe.Pointer(db)).FmallocFailed != 0) { goto __45 } @@ -141806,8 +141806,8 @@ __43: __45: ; - (*Index)(unsafe.Pointer(pIndex)).FzName = *(*uintptr)(unsafe.Pointer(bp + 320 /* zExtra */)) - *(*uintptr)(unsafe.Pointer(bp + 320 /* zExtra */)) += (uintptr(nName + 1)) + (*Index)(unsafe.Pointer(pIndex)).FzName = *(*uintptr)(unsafe.Pointer(bp + 248 /* zExtra */)) + *(*uintptr)(unsafe.Pointer(bp + 248 /* zExtra */)) += (uintptr(nName + 1)) libc.Xmemcpy(tls, (*Index)(unsafe.Pointer(pIndex)).FzName, zName, (uint64(nName + 1))) (*Index)(unsafe.Pointer(pIndex)).FpTable = pTab (*Index)(unsafe.Pointer(pIndex)).FonError = U8(onError) @@ -141921,9 +141921,9 @@ __55: zColl = *(*uintptr)(unsafe.Pointer((*ExprList_item)(unsafe.Pointer(pListItem)).FpExpr + 8 /* &.u */)) nColl = (Xsqlite3Strlen30(tls, zColl) + 1) - libc.Xmemcpy(tls, *(*uintptr)(unsafe.Pointer(bp + 320 /* zExtra */)), zColl, uint64(nColl)) - zColl = *(*uintptr)(unsafe.Pointer(bp + 320 /* zExtra */)) - *(*uintptr)(unsafe.Pointer(bp + 320 /* zExtra */)) += uintptr(nColl) + libc.Xmemcpy(tls, *(*uintptr)(unsafe.Pointer(bp + 248 /* zExtra */)), zColl, uint64(nColl)) + zColl = *(*uintptr)(unsafe.Pointer(bp + 248 /* zExtra */)) + *(*uintptr)(unsafe.Pointer(bp + 248 /* zExtra */)) += uintptr(nColl) nExtra = nExtra - (nColl) goto __63 __62: @@ -142102,7 +142102,7 @@ __88: goto __93 } Xsqlite3ErrorMsg(tls, pParse, - ts+14175 /* "conflicting ON C..." */, libc.VaList(bp+88, 0)) + ts+14175 /* "conflicting ON C..." */, libc.VaList(bp+48, 0)) __93: ; if !(int32((*Index)(unsafe.Pointer(pIdx)).FonError) == OE_Default) { @@ -142208,8 +142208,8 @@ __104: if !(pStart != 0) { goto __105 } - n1 = (int32(uint32((int32((int64((*Parse)(unsafe.Pointer(pParse)).FsLastToken.Fz) - int64((*Token)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp + 200 /* pName */)))).Fz)) / 1))) + (*Parse)(unsafe.Pointer(pParse)).FsLastToken.Fn)) - if !(int32(*(*int8)(unsafe.Pointer((*Token)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp + 200 /* pName */)))).Fz + uintptr((n1 - 1))))) == ';') { + n1 = (int32(uint32((int32((int64((*Parse)(unsafe.Pointer(pParse)).FsLastToken.Fz) - int64((*Token)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp + 128 /* pName */)))).Fz)) / 1))) + (*Parse)(unsafe.Pointer(pParse)).FsLastToken.Fn)) + if !(int32(*(*int8)(unsafe.Pointer((*Token)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp + 128 /* pName */)))).Fz + uintptr((n1 - 1))))) == ';') { goto __107 } n1-- @@ -142217,12 +142217,12 @@ __107: ; // A named index with an explicit CREATE INDEX statement zStmt = Xsqlite3MPrintf(tls, db, ts+14234, /* "CREATE%s INDEX %..." */ - libc.VaList(bp+104, func() uintptr { + libc.VaList(bp+56, func() uintptr { if onError == OE_None { return ts + 755 /* "" */ } return ts + 14254 /* " UNIQUE" */ - }(), n1, (*Token)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp + 200 /* pName */)))).Fz)) + }(), n1, (*Token)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp + 128 /* pName */)))).Fz)) goto __106 __105: // An automatic index created by a PRIMARY KEY or UNIQUE constraint @@ -142234,7 +142234,7 @@ __106: // Add an entry in sqlite_schema for this index Xsqlite3NestedParse(tls, pParse, ts+14262, /* "INSERT INTO %Q.s..." */ - libc.VaList(bp+136, (*Db)(unsafe.Pointer((*Sqlite3)(unsafe.Pointer(db)).FaDb+uintptr(iDb)*32)).FzDbSName, + libc.VaList(bp+80, (*Db)(unsafe.Pointer((*Sqlite3)(unsafe.Pointer(db)).FaDb+uintptr(iDb)*32)).FzDbSName, (*Index)(unsafe.Pointer(pIndex)).FzName, (*Table)(unsafe.Pointer(pTab)).FzName, iMem, @@ -142249,7 +142249,7 @@ __106: sqlite3RefillIndex(tls, pParse, pIndex, iMem) Xsqlite3ChangeCookie(tls, pParse, iDb) Xsqlite3VdbeAddParseSchemaOp(tls, v, iDb, - Xsqlite3MPrintf(tls, db, ts+14321 /* "name='%q' AND ty..." */, libc.VaList(bp+184, (*Index)(unsafe.Pointer(pIndex)).FzName)), uint16(0)) + Xsqlite3MPrintf(tls, db, ts+14321 /* "name='%q' AND ty..." */, libc.VaList(bp+120, (*Index)(unsafe.Pointer(pIndex)).FzName)), uint16(0)) Xsqlite3VdbeAddOp2(tls, v, OP_Expire, 0, 1) __108: ; @@ -142399,8 +142399,8 @@ var aVal = [5]LogEst{int16(33), int16(32), int16(30), int16(28), int16(26)} /* s // This routine will drop an existing named index. This routine // implements the DROP INDEX statement. func Xsqlite3DropIndex(tls *libc.TLS, pParse uintptr, pName uintptr, ifExists int32) { /* sqlite3.c:116713:21: */ - bp := tls.Alloc(56) - defer tls.Free(56) + bp := tls.Alloc(32) + defer tls.Free(32) var pIndex uintptr var v uintptr @@ -142448,7 +142448,7 @@ __3: goto __6 } Xsqlite3ErrorMsg(tls, pParse, - ts+14366 /* "index associated..." */, libc.VaList(bp+16, 0)) + ts+14366 /* "index associated..." */, libc.VaList(bp+8, 0)) goto exit_drop_index __6: ; @@ -142490,7 +142490,7 @@ __9: Xsqlite3BeginWriteOperation(tls, pParse, 1, iDb) Xsqlite3NestedParse(tls, pParse, ts+14439, /* "DELETE FROM %Q.s..." */ - libc.VaList(bp+32, (*Db)(unsafe.Pointer((*Sqlite3)(unsafe.Pointer(db)).FaDb+uintptr(iDb)*32)).FzDbSName, (*Index)(unsafe.Pointer(pIndex)).FzName)) + libc.VaList(bp+16, (*Db)(unsafe.Pointer((*Sqlite3)(unsafe.Pointer(db)).FaDb+uintptr(iDb)*32)).FzDbSName, (*Index)(unsafe.Pointer(pIndex)).FzName)) sqlite3ClearStatTables(tls, pParse, iDb, ts+11574 /* "idx" */, (*Index)(unsafe.Pointer(pIndex)).FzName) Xsqlite3ChangeCookie(tls, pParse, iDb) destroyRootPage(tls, pParse, int32((*Index)(unsafe.Pointer(pIndex)).Ftnum), iDb) @@ -142628,8 +142628,8 @@ func Xsqlite3IdListIndex(tls *libc.TLS, pList uintptr, zName uintptr) int32 { /* // the original SrcList unchanged, return NULL, and leave an error message // in pParse. func Xsqlite3SrcListEnlarge(tls *libc.TLS, pParse uintptr, pSrc uintptr, nExtra int32, iStart int32) uintptr { /* sqlite3.c:116908:24: */ - bp := tls.Alloc(16) - defer tls.Free(16) + bp := tls.Alloc(8) + defer tls.Free(8) var i int32 @@ -142844,8 +142844,8 @@ __3: // Return a new SrcList which encodes is the FROM with the new // term added. func Xsqlite3SrcListAppendFromTerm(tls *libc.TLS, pParse uintptr, p uintptr, pTable uintptr, pDatabase uintptr, pAlias uintptr, pSubquery uintptr, pOn uintptr, pUsing uintptr) uintptr { /* sqlite3.c:117094:24: */ - bp := tls.Alloc(16) - defer tls.Free(16) + bp := tls.Alloc(8) + defer tls.Free(8) var pItem uintptr var db uintptr @@ -143197,33 +143197,33 @@ func Xsqlite3HaltConstraint(tls *libc.TLS, pParse uintptr, errCode int32, onErro // Code an OP_Halt due to UNIQUE or PRIMARY KEY constraint violation. func Xsqlite3UniqueConstraint(tls *libc.TLS, pParse uintptr, onError int32, pIdx uintptr) { /* sqlite3.c:117455:21: */ - bp := tls.Alloc(48) - defer tls.Free(48) + bp := tls.Alloc(40) + defer tls.Free(40) var zErr uintptr var j int32 - // var errMsg StrAccum at bp+16, 32 + // var errMsg StrAccum at bp+8, 32 var pTab uintptr = (*Index)(unsafe.Pointer(pIdx)).FpTable - Xsqlite3StrAccumInit(tls, bp+16 /* &errMsg */, (*Parse)(unsafe.Pointer(pParse)).Fdb, uintptr(0), 0, + Xsqlite3StrAccumInit(tls, bp+8 /* &errMsg */, (*Parse)(unsafe.Pointer(pParse)).Fdb, uintptr(0), 0, *(*int32)(unsafe.Pointer(((*Parse)(unsafe.Pointer(pParse)).Fdb + 128 /* &.aLimit */)))) if (*Index)(unsafe.Pointer(pIdx)).FaColExpr != 0 { - Xsqlite3_str_appendf(tls, bp+16 /* &errMsg */, ts+14680 /* "index '%q'" */, libc.VaList(bp, (*Index)(unsafe.Pointer(pIdx)).FzName)) + Xsqlite3_str_appendf(tls, bp+8 /* &errMsg */, ts+14680 /* "index '%q'" */, libc.VaList(bp, (*Index)(unsafe.Pointer(pIdx)).FzName)) } else { for j = 0; j < int32((*Index)(unsafe.Pointer(pIdx)).FnKeyCol); j++ { var zCol uintptr zCol = (*Column)(unsafe.Pointer((*Table)(unsafe.Pointer(pTab)).FaCol + uintptr(*(*I16)(unsafe.Pointer((*Index)(unsafe.Pointer(pIdx)).FaiColumn + uintptr(j)*2)))*32)).FzName if j != 0 { - Xsqlite3_str_append(tls, bp+16 /* &errMsg */, ts+14691 /* ", " */, 2) + Xsqlite3_str_append(tls, bp+8 /* &errMsg */, ts+14691 /* ", " */, 2) } - Xsqlite3_str_appendall(tls, bp+16 /* &errMsg */, (*Table)(unsafe.Pointer(pTab)).FzName) - Xsqlite3_str_append(tls, bp+16 /* &errMsg */, ts+768 /* "." */, 1) - Xsqlite3_str_appendall(tls, bp+16 /* &errMsg */, zCol) + Xsqlite3_str_appendall(tls, bp+8 /* &errMsg */, (*Table)(unsafe.Pointer(pTab)).FzName) + Xsqlite3_str_append(tls, bp+8 /* &errMsg */, ts+768 /* "." */, 1) + Xsqlite3_str_appendall(tls, bp+8 /* &errMsg */, zCol) } } - zErr = Xsqlite3StrAccumFinish(tls, bp+16 /* &errMsg */) + zErr = Xsqlite3StrAccumFinish(tls, bp+8 /* &errMsg */) Xsqlite3HaltConstraint(tls, pParse, func() int32 { if (int32(*(*uint16)(unsafe.Pointer((pIdx) + 100 /* &.idxType */)) & 0x3 >> 0)) == SQLITE_IDXTYPE_PRIMARYKEY { @@ -143236,8 +143236,8 @@ func Xsqlite3UniqueConstraint(tls *libc.TLS, pParse uintptr, onError int32, pIdx // Code an OP_Halt due to non-unique rowid. func Xsqlite3RowidConstraint(tls *libc.TLS, pParse uintptr, onError int32, pTab uintptr) { /* sqlite3.c:117491:21: */ - bp := tls.Alloc(40) - defer tls.Free(40) + bp := tls.Alloc(24) + defer tls.Free(24) var zMsg uintptr var rc int32 @@ -143246,7 +143246,7 @@ func Xsqlite3RowidConstraint(tls *libc.TLS, pParse uintptr, onError int32, pTab (*Column)(unsafe.Pointer((*Table)(unsafe.Pointer(pTab)).FaCol+uintptr((*Table)(unsafe.Pointer(pTab)).FiPKey)*32)).FzName)) rc = (SQLITE_CONSTRAINT | (int32(6) << 8)) } else { - zMsg = Xsqlite3MPrintf(tls, (*Parse)(unsafe.Pointer(pParse)).Fdb, ts+14694 /* "%s.rowid" */, libc.VaList(bp+24, (*Table)(unsafe.Pointer(pTab)).FzName)) + zMsg = Xsqlite3MPrintf(tls, (*Parse)(unsafe.Pointer(pParse)).Fdb, ts+14694 /* "%s.rowid" */, libc.VaList(bp+16, (*Table)(unsafe.Pointer(pTab)).FzName)) rc = (SQLITE_CONSTRAINT | (int32(10) << 8)) } Xsqlite3HaltConstraint(tls, pParse, rc, onError, zMsg, int8(-7), @@ -143481,8 +143481,8 @@ func Xsqlite3CteDelete(tls *libc.TLS, db uintptr, pCte uintptr) { /* sqlite3.c:1 // the WITH clause of the second argument. If the second argument is // NULL, then a new WITH argument is created. func Xsqlite3WithAdd(tls *libc.TLS, pParse uintptr, pWith uintptr, pCte uintptr) uintptr { /* sqlite3.c:117742:21: */ - bp := tls.Alloc(16) - defer tls.Free(16) + bp := tls.Alloc(8) + defer tls.Free(8) var db uintptr = (*Parse)(unsafe.Pointer(pParse)).Fdb var pNew uintptr @@ -143712,8 +143712,8 @@ func Xsqlite3SetTextEncoding(tls *libc.TLS, db uintptr, enc U8) { /* sqlite3.c:1 // // See also: sqlite3LocateCollSeq(), sqlite3FindCollSeq() func Xsqlite3GetCollSeq(tls *libc.TLS, pParse uintptr, enc U8, pColl uintptr, zName uintptr) uintptr { /* sqlite3.c:118005:24: */ - bp := tls.Alloc(16) - defer tls.Free(16) + bp := tls.Alloc(8) + defer tls.Free(8) var p uintptr var db uintptr = (*Parse)(unsafe.Pointer(pParse)).Fdb @@ -144095,15 +144095,15 @@ func tabIsReadOnly(tls *libc.TLS, pParse uintptr, pTab uintptr) int32 { /* sqlit // writable, generate an error message and return 1. If it is // writable return 0; func Xsqlite3IsReadOnly(tls *libc.TLS, pParse uintptr, pTab uintptr, viewOk int32) int32 { /* sqlite3.c:118421:20: */ - bp := tls.Alloc(32) - defer tls.Free(32) + bp := tls.Alloc(16) + defer tls.Free(16) if tabIsReadOnly(tls, pParse, pTab) != 0 { Xsqlite3ErrorMsg(tls, pParse, ts+14810 /* "table %s may not..." */, libc.VaList(bp, (*Table)(unsafe.Pointer(pTab)).FzName)) return 1 } if !(viewOk != 0) && ((*Table)(unsafe.Pointer(pTab)).FpSelect != 0) { - Xsqlite3ErrorMsg(tls, pParse, ts+14839 /* "cannot modify %s..." */, libc.VaList(bp+16, (*Table)(unsafe.Pointer(pTab)).FzName)) + Xsqlite3ErrorMsg(tls, pParse, ts+14839 /* "cannot modify %s..." */, libc.VaList(bp+8, (*Table)(unsafe.Pointer(pTab)).FzName)) return 1 } return 0 @@ -145341,26 +145341,26 @@ endInstrOOM: // Implementation of the printf() function. func printfFunc(tls *libc.TLS, context uintptr, argc int32, argv uintptr) { /* sqlite3.c:119577:13: */ - bp := tls.Alloc(64) - defer tls.Free(64) + bp := tls.Alloc(56) + defer tls.Free(56) - // var x PrintfArguments at bp+48, 16 + // var x PrintfArguments at bp+40, 16 - // var str StrAccum at bp+16, 32 + // var str StrAccum at bp+8, 32 var zFormat uintptr var n int32 var db uintptr = Xsqlite3_context_db_handle(tls, context) if (argc >= 1) && ((libc.AssignUintptr(&zFormat, Xsqlite3_value_text(tls, *(*uintptr)(unsafe.Pointer(argv))))) != uintptr(0)) { - (*PrintfArguments)(unsafe.Pointer(bp + 48 /* &x */)).FnArg = (argc - 1) - (*PrintfArguments)(unsafe.Pointer(bp + 48 /* &x */)).FnUsed = 0 - (*PrintfArguments)(unsafe.Pointer(bp + 48 /* &x */)).FapArg = (argv + uintptr(1)*8) - Xsqlite3StrAccumInit(tls, bp+16 /* &str */, db, uintptr(0), 0, *(*int32)(unsafe.Pointer((db + 128 /* &.aLimit */)))) - (*StrAccum)(unsafe.Pointer(bp + 16 /* &str */)).FprintfFlags = U8(SQLITE_PRINTF_SQLFUNC) - Xsqlite3_str_appendf(tls, bp+16 /* &str */, zFormat, libc.VaList(bp, bp+48 /* &x */)) - n = int32((*StrAccum)(unsafe.Pointer(bp + 16 /* &str */)).FnChar) - Xsqlite3_result_text(tls, context, Xsqlite3StrAccumFinish(tls, bp+16 /* &str */), n, + (*PrintfArguments)(unsafe.Pointer(bp + 40 /* &x */)).FnArg = (argc - 1) + (*PrintfArguments)(unsafe.Pointer(bp + 40 /* &x */)).FnUsed = 0 + (*PrintfArguments)(unsafe.Pointer(bp + 40 /* &x */)).FapArg = (argv + uintptr(1)*8) + Xsqlite3StrAccumInit(tls, bp+8 /* &str */, db, uintptr(0), 0, *(*int32)(unsafe.Pointer((db + 128 /* &.aLimit */)))) + (*StrAccum)(unsafe.Pointer(bp + 8 /* &str */)).FprintfFlags = U8(SQLITE_PRINTF_SQLFUNC) + Xsqlite3_str_appendf(tls, bp+8 /* &str */, zFormat, libc.VaList(bp, bp+40 /* &x */)) + n = int32((*StrAccum)(unsafe.Pointer(bp + 8 /* &str */)).FnChar) + Xsqlite3_result_text(tls, context, Xsqlite3StrAccumFinish(tls, bp+8 /* &str */), n, *(*uintptr)(unsafe.Pointer(&struct{ f func(*libc.TLS, uintptr) }{Xsqlite3OomFault}))) } } @@ -145484,11 +145484,11 @@ func substrFunc(tls *libc.TLS, context uintptr, argc int32, argv uintptr) { /* s // Implementation of the round() function func roundFunc(tls *libc.TLS, context uintptr, argc int32, argv uintptr) { /* sqlite3.c:119708:13: */ - bp := tls.Alloc(32) - defer tls.Free(32) + bp := tls.Alloc(24) + defer tls.Free(24) var n int32 = 0 - // var r float64 at bp+24, 8 + // var r float64 at bp+16, 8 var zBuf uintptr @@ -145507,29 +145507,29 @@ func roundFunc(tls *libc.TLS, context uintptr, argc int32, argv uintptr) { /* sq if Xsqlite3_value_type(tls, *(*uintptr)(unsafe.Pointer(argv))) == SQLITE_NULL { return } - *(*float64)(unsafe.Pointer(bp + 24 /* r */)) = Xsqlite3_value_double(tls, *(*uintptr)(unsafe.Pointer(argv))) + *(*float64)(unsafe.Pointer(bp + 16 /* r */)) = Xsqlite3_value_double(tls, *(*uintptr)(unsafe.Pointer(argv))) // If Y==0 and X will fit in a 64-bit int, // handle the rounding directly, // otherwise use printf. - if (*(*float64)(unsafe.Pointer(bp + 24 /* r */)) < -4503599627370496.0) || (*(*float64)(unsafe.Pointer(bp + 24 /* r */)) > +4503599627370496.0) { + if (*(*float64)(unsafe.Pointer(bp + 16 /* r */)) < -4503599627370496.0) || (*(*float64)(unsafe.Pointer(bp + 16 /* r */)) > +4503599627370496.0) { // The value has no fractional part so there is nothing to round } else if n == 0 { - *(*float64)(unsafe.Pointer(bp + 24 /* r */)) = float64((Sqlite_int64(*(*float64)(unsafe.Pointer(bp + 24 /* r */)) + (func() float64 { - if *(*float64)(unsafe.Pointer(bp + 24 /* r */)) < float64(0) { + *(*float64)(unsafe.Pointer(bp + 16 /* r */)) = float64((Sqlite_int64(*(*float64)(unsafe.Pointer(bp + 16 /* r */)) + (func() float64 { + if *(*float64)(unsafe.Pointer(bp + 16 /* r */)) < float64(0) { return -0.5 } return +0.5 }())))) } else { - zBuf = Xsqlite3_mprintf(tls, ts+14917 /* "%.*f" */, libc.VaList(bp, n, *(*float64)(unsafe.Pointer(bp + 24 /* r */)))) + zBuf = Xsqlite3_mprintf(tls, ts+14917 /* "%.*f" */, libc.VaList(bp, n, *(*float64)(unsafe.Pointer(bp + 16 /* r */)))) if zBuf == uintptr(0) { Xsqlite3_result_error_nomem(tls, context) return } - Xsqlite3AtoF(tls, zBuf, bp+24 /* &r */, Xsqlite3Strlen30(tls, zBuf), uint8(SQLITE_UTF8)) + Xsqlite3AtoF(tls, zBuf, bp+16 /* &r */, Xsqlite3Strlen30(tls, zBuf), uint8(SQLITE_UTF8)) Xsqlite3_free(tls, zBuf) } - Xsqlite3_result_double(tls, context, *(*float64)(unsafe.Pointer(bp + 24 /* r */))) + Xsqlite3_result_double(tls, context, *(*float64)(unsafe.Pointer(bp + 16 /* r */))) } // Allocate nByte bytes of space using sqlite3Malloc(). If the @@ -146044,8 +146044,8 @@ func sourceidFunc(tls *libc.TLS, context uintptr, NotUsed int32, NotUsed2 uintpt // sqlite3_log(). The return value is NULL. The function exists purely for // its side-effects. func errlogFunc(tls *libc.TLS, context uintptr, argc int32, argv uintptr) { /* sqlite3.c:120280:13: */ - bp := tls.Alloc(16) - defer tls.Free(16) + bp := tls.Alloc(8) + defer tls.Free(8) _ = argc _ = context @@ -146093,25 +146093,25 @@ var hexdigits = [16]int8{ // "NULL". Otherwise, the argument is enclosed in single quotes with // single-quote escapes. func quoteFunc(tls *libc.TLS, context uintptr, argc int32, argv uintptr) { /* sqlite3.c:120350:13: */ - bp := tls.Alloc(96) - defer tls.Free(96) + bp := tls.Alloc(80) + defer tls.Free(80) _ = argc switch Xsqlite3_value_type(tls, *(*uintptr)(unsafe.Pointer(argv))) { case SQLITE_FLOAT: { var r1 float64 - // var r2 float64 at bp+88, 8 + // var r2 float64 at bp+72, 8 - // var zBuf [50]int8 at bp+32, 50 + // var zBuf [50]int8 at bp+16, 50 r1 = Xsqlite3_value_double(tls, *(*uintptr)(unsafe.Pointer(argv))) - Xsqlite3_snprintf(tls, int32(unsafe.Sizeof([50]int8{})), bp+32 /* &zBuf[0] */, ts+5396 /* "%!.15g" */, libc.VaList(bp, r1)) - Xsqlite3AtoF(tls, bp+32 /* &zBuf[0] */, bp+88 /* &r2 */, 20, uint8(SQLITE_UTF8)) - if r1 != *(*float64)(unsafe.Pointer(bp + 88 /* r2 */)) { - Xsqlite3_snprintf(tls, int32(unsafe.Sizeof([50]int8{})), bp+32 /* &zBuf[0] */, ts+15000 /* "%!.20e" */, libc.VaList(bp+16, r1)) + Xsqlite3_snprintf(tls, int32(unsafe.Sizeof([50]int8{})), bp+16 /* &zBuf[0] */, ts+5396 /* "%!.15g" */, libc.VaList(bp, r1)) + Xsqlite3AtoF(tls, bp+16 /* &zBuf[0] */, bp+72 /* &r2 */, 20, uint8(SQLITE_UTF8)) + if r1 != *(*float64)(unsafe.Pointer(bp + 72 /* r2 */)) { + Xsqlite3_snprintf(tls, int32(unsafe.Sizeof([50]int8{})), bp+16 /* &zBuf[0] */, ts+15000 /* "%!.20e" */, libc.VaList(bp+8, r1)) } - Xsqlite3_result_text(tls, context, bp+32 /* &zBuf[0] */, -1, libc.UintptrFromInt32(-1)) + Xsqlite3_result_text(tls, context, bp+16 /* &zBuf[0] */, -1, libc.UintptrFromInt32(-1)) break } @@ -147266,8 +147266,8 @@ var aBuiltinFunc = [68]FuncDef{ // into pParse. If an OOM error occurs, non-zero is returned and the // pParse->db->mallocFailed flag is set. func Xsqlite3FkLocateIndex(tls *libc.TLS, pParse uintptr, pParent uintptr, pFKey uintptr, ppIdx uintptr, paiCol uintptr) int32 { /* sqlite3.c:121786:20: */ - bp := tls.Alloc(24) - defer tls.Free(24) + bp := tls.Alloc(16) + defer tls.Free(16) var pIdx uintptr = uintptr(0) // Value to return via *ppIdx var aiCol uintptr = uintptr(0) // Value to return via *paiCol @@ -148712,11 +148712,11 @@ func exprColumnFlagUnion(tls *libc.TLS, pWalker uintptr, pExpr uintptr) int32 { // back and computes the values for those columns based on the previously // computed normal columns. func Xsqlite3ComputeGeneratedColumns(tls *libc.TLS, pParse uintptr, iRegStore int32, pTab uintptr) { /* sqlite3.c:123282:21: */ - bp := tls.Alloc(64) - defer tls.Free(64) + bp := tls.Alloc(56) + defer tls.Free(56) var i int32 - // var w Walker at bp+16, 48 + // var w Walker at bp+8, 48 var pRedo uintptr var eProgress int32 @@ -148755,12 +148755,12 @@ func Xsqlite3ComputeGeneratedColumns(tls *libc.TLS, pParse uintptr, iRegStore in } } - *(*uintptr)(unsafe.Pointer(bp + 16 /* &w */ + 40 /* &.u */)) = pTab - (*Walker)(unsafe.Pointer(bp + 16 /* &w */)).FxExprCallback = *(*uintptr)(unsafe.Pointer(&struct { + *(*uintptr)(unsafe.Pointer(bp + 8 /* &w */ + 40 /* &.u */)) = pTab + (*Walker)(unsafe.Pointer(bp + 8 /* &w */)).FxExprCallback = *(*uintptr)(unsafe.Pointer(&struct { f func(*libc.TLS, uintptr, uintptr) int32 }{exprColumnFlagUnion})) - (*Walker)(unsafe.Pointer(bp + 16 /* &w */)).FxSelectCallback = uintptr(0) - (*Walker)(unsafe.Pointer(bp + 16 /* &w */)).FxSelectCallback2 = uintptr(0) + (*Walker)(unsafe.Pointer(bp + 8 /* &w */)).FxSelectCallback = uintptr(0) + (*Walker)(unsafe.Pointer(bp + 8 /* &w */)).FxSelectCallback2 = uintptr(0) // On the second pass, compute the value of each NOT-AVAILABLE column. // Companion code in the TK_COLUMN case of sqlite3ExprCodeTarget() will @@ -148775,10 +148775,10 @@ func Xsqlite3ComputeGeneratedColumns(tls *libc.TLS, pParse uintptr, iRegStore in if (int32((*Column)(unsafe.Pointer(pCol)).FcolFlags) & COLFLAG_NOTAVAIL) != 0 { var x int32 *(*U16)(unsafe.Pointer(pCol + 28 /* &.colFlags */)) |= U16((COLFLAG_BUSY)) - (*Walker)(unsafe.Pointer(bp + 16 /* &w */)).FeCode = U16(0) - Xsqlite3WalkExpr(tls, bp+16 /* &w */, (*Column)(unsafe.Pointer(pCol)).FpDflt) + (*Walker)(unsafe.Pointer(bp + 8 /* &w */)).FeCode = U16(0) + Xsqlite3WalkExpr(tls, bp+8 /* &w */, (*Column)(unsafe.Pointer(pCol)).FpDflt) *(*U16)(unsafe.Pointer(pCol + 28 /* &.colFlags */)) &= libc.Uint16FromInt32((libc.CplInt32(COLFLAG_BUSY))) - if (int32((*Walker)(unsafe.Pointer(bp+16 /* &w */)).FeCode) & COLFLAG_NOTAVAIL) != 0 { + if (int32((*Walker)(unsafe.Pointer(bp+8 /* &w */)).FeCode) & COLFLAG_NOTAVAIL) != 0 { pRedo = pCol continue } @@ -149086,8 +149086,8 @@ func Xsqlite3AutoincrementEnd(tls *libc.TLS, pParse uintptr) { /* sqlite3.c:1235 // end loop // D: cleanup func Xsqlite3Insert(tls *libc.TLS, pParse uintptr, pTabList uintptr, pSelect uintptr, pColumn uintptr, onError int32, pUpsert uintptr) { /* sqlite3.c:123681:21: */ - bp := tls.Alloc(228) - defer tls.Free(228) + bp := tls.Alloc(188) + defer tls.Free(188) var db uintptr // The main database structure var pTab uintptr // The table to insert into. aka TABLE @@ -149097,16 +149097,16 @@ func Xsqlite3Insert(tls *libc.TLS, pParse uintptr, pTabList uintptr, pSelect uin var pIdx uintptr // For looping over indices of the table var nColumn int32 // Number of columns in the data var nHidden int32 // Number of hidden columns if TABLE is virtual - // var iDataCur int32 at bp+216, 4 + // var iDataCur int32 at bp+176, 4 // VDBE cursor that is the main data repository - // var iIdxCur int32 at bp+220, 4 + // var iIdxCur int32 at bp+180, 4 // First index cursor var ipkColumn int32 // Column that is the INTEGER PRIMARY KEY var endOfLoop int32 // Label for the end of the insertion loop var srcTab int32 // Data comes from this temporary cursor if >=0 var addrInsTop int32 // Jump to label "D" var addrCont int32 // Top of insert loop. Label "C" in templates 3 and 4 - // var dest SelectDest at bp+120, 40 + // var dest SelectDest at bp+80, 40 // Destination for SELECT on rhs of INSERT var iDb int32 // Index of database holding TABLE var useTempTable U8 // Store SELECT results in intermediate table @@ -149127,7 +149127,7 @@ func Xsqlite3Insert(tls *libc.TLS, pParse uintptr, pTabList uintptr, pSelect uin var isView int32 // True if attempting to insert into a view var pTrigger uintptr // List of triggers on pTab, if required - // var tmask int32 at bp+112, 4 + // var tmask int32 at bp+72, 4 // Invoke the coroutine to extract information from the SELECT // and add it to a transient table srcTab. The code generated @@ -149148,7 +149148,7 @@ func Xsqlite3Insert(tls *libc.TLS, pParse uintptr, pTabList uintptr, pSelect uin var rc int32 // This is the case if the data for the INSERT is coming from a // single-row VALUES clause - // var sNC NameContext at bp+160, 56 + // var sNC NameContext at bp+120, 56 var nIdx int32 var pNx uintptr @@ -149159,12 +149159,12 @@ func Xsqlite3Insert(tls *libc.TLS, pParse uintptr, pTabList uintptr, pSelect uin var pIpk uintptr var addr11 int32 var pVTab uintptr - // var isReplace int32 at bp+224, 4 + // var isReplace int32 at bp+184, 4 // Set to true if constraints may cause a replace var bUseSeek int32 nHidden = 0 - *(*int32)(unsafe.Pointer(bp + 216 /* iDataCur */)) = 0 - *(*int32)(unsafe.Pointer(bp + 220 /* iIdxCur */)) = 0 + *(*int32)(unsafe.Pointer(bp + 176 /* iDataCur */)) = 0 + *(*int32)(unsafe.Pointer(bp + 180 /* iIdxCur */)) = 0 ipkColumn = -1 srcTab = 0 addrInsTop = 0 @@ -149184,7 +149184,7 @@ func Xsqlite3Insert(tls *libc.TLS, pParse uintptr, pTabList uintptr, pSelect uin goto insert_cleanup __1: ; - (*SelectDest)(unsafe.Pointer(bp + 120 /* &dest */)).FiSDParm = 0 // Suppress a harmless compiler warning + (*SelectDest)(unsafe.Pointer(bp + 80 /* &dest */)).FiSDParm = 0 // Suppress a harmless compiler warning // If the Select object is really just a simple VALUES() list with a // single row (the common case) then keep that one row of values @@ -149221,7 +149221,7 @@ __4: // Figure out if we have any triggers and if the table being // inserted into is a view - pTrigger = Xsqlite3TriggersExist(tls, pParse, pTab, TK_INSERT, uintptr(0), bp+112 /* &tmask */) + pTrigger = Xsqlite3TriggersExist(tls, pParse, pTab, TK_INSERT, uintptr(0), bp+72 /* &tmask */) isView = (libc.Bool32((*Table)(unsafe.Pointer(pTab)).FpSelect != uintptr(0))) // If pTab is really a view, make sure it has been initialized. @@ -149234,7 +149234,7 @@ __5: ; // Cannot insert into a read-only table. - if !(Xsqlite3IsReadOnly(tls, pParse, pTab, *(*int32)(unsafe.Pointer(bp + 112 /* tmask */))) != 0) { + if !(Xsqlite3IsReadOnly(tls, pParse, pTab, *(*int32)(unsafe.Pointer(bp + 72 /* tmask */))) != 0) { goto __6 } goto insert_cleanup @@ -149381,7 +149381,7 @@ __20: goto __27 __26: Xsqlite3ErrorMsg(tls, pParse, ts+15577, /* "table %S has no ..." */ - libc.VaList(bp+16, pTabList+8 /* &.a */, (*IdList_item)(unsafe.Pointer((*IdList)(unsafe.Pointer(pColumn)).Fa+uintptr(i)*16)).FzName)) + libc.VaList(bp+8, pTabList+8 /* &.a */, (*IdList_item)(unsafe.Pointer((*IdList)(unsafe.Pointer(pColumn)).Fa+uintptr(i)*16)).FzName)) (*Parse)(unsafe.Pointer(pParse)).FcheckSchema = U8(1) goto insert_cleanup __27: @@ -149409,16 +149409,16 @@ __11: regYield = libc.PreIncInt32(&(*Parse)(unsafe.Pointer(pParse)).FnMem, 1) addrTop = (Xsqlite3VdbeCurrentAddr(tls, v) + 1) Xsqlite3VdbeAddOp3(tls, v, OP_InitCoroutine, regYield, 0, addrTop) - Xsqlite3SelectDestInit(tls, bp+120 /* &dest */, SRT_Coroutine, regYield) - (*SelectDest)(unsafe.Pointer(bp + 120 /* &dest */)).FiSdst = func() int32 { + Xsqlite3SelectDestInit(tls, bp+80 /* &dest */, SRT_Coroutine, regYield) + (*SelectDest)(unsafe.Pointer(bp + 80 /* &dest */)).FiSdst = func() int32 { if bIdListInOrder != 0 { return regData } return 0 }() - (*SelectDest)(unsafe.Pointer(bp + 120 /* &dest */)).FnSdst = int32((*Table)(unsafe.Pointer(pTab)).FnCol) - rc = Xsqlite3Select(tls, pParse, pSelect, bp+120 /* &dest */) - regFromSelect = (*SelectDest)(unsafe.Pointer(bp + 120 /* &dest */)).FiSdst + (*SelectDest)(unsafe.Pointer(bp + 80 /* &dest */)).FnSdst = int32((*Table)(unsafe.Pointer(pTab)).FnCol) + rc = Xsqlite3Select(tls, pParse, pSelect, bp+80 /* &dest */) + regFromSelect = (*SelectDest)(unsafe.Pointer(bp + 80 /* &dest */)).FiSdst if !(((rc != 0) || ((*Sqlite3)(unsafe.Pointer(db)).FmallocFailed != 0)) || ((*Parse)(unsafe.Pointer(pParse)).FnErr != 0)) { goto __30 } @@ -149453,7 +149453,7 @@ __31: regRec = Xsqlite3GetTempReg(tls, pParse) regTempRowid = Xsqlite3GetTempReg(tls, pParse) Xsqlite3VdbeAddOp2(tls, v, OP_OpenEphemeral, srcTab, nColumn) - addrL = Xsqlite3VdbeAddOp1(tls, v, OP_Yield, (*SelectDest)(unsafe.Pointer(bp+120 /* &dest */)).FiSDParm) + addrL = Xsqlite3VdbeAddOp1(tls, v, OP_Yield, (*SelectDest)(unsafe.Pointer(bp+80 /* &dest */)).FiSDParm) Xsqlite3VdbeAddOp3(tls, v, OP_MakeRecord, regFromSelect, nColumn, regRec) Xsqlite3VdbeAddOp2(tls, v, OP_NewRowid, srcTab, regTempRowid) Xsqlite3VdbeAddOp3(tls, v, OP_Insert, srcTab, regRec, regTempRowid) @@ -149465,15 +149465,15 @@ __32: ; goto __29 __28: - libc.Xmemset(tls, bp+160 /* &sNC */, 0, uint64(unsafe.Sizeof(NameContext{}))) - (*NameContext)(unsafe.Pointer(bp + 160 /* &sNC */)).FpParse = pParse + libc.Xmemset(tls, bp+120 /* &sNC */, 0, uint64(unsafe.Sizeof(NameContext{}))) + (*NameContext)(unsafe.Pointer(bp + 120 /* &sNC */)).FpParse = pParse srcTab = -1 if !(pList != 0) { goto __33 } nColumn = (*ExprList)(unsafe.Pointer(pList)).FnExpr - if !(Xsqlite3ResolveExprListNames(tls, bp+160 /* &sNC */, pList) != 0) { + if !(Xsqlite3ResolveExprListNames(tls, bp+120 /* &sNC */, pList) != 0) { goto __35 } goto insert_cleanup @@ -149551,7 +149551,7 @@ __42: } Xsqlite3ErrorMsg(tls, pParse, ts+15609, /* "table %S has %d ..." */ - libc.VaList(bp+40, pTabList+8 /* &.a */, (int32((*Table)(unsafe.Pointer(pTab)).FnCol)-nHidden), nColumn)) + libc.VaList(bp+24, pTabList+8 /* &.a */, (int32((*Table)(unsafe.Pointer(pTab)).FnCol)-nHidden), nColumn)) goto insert_cleanup __47: ; @@ -149560,7 +149560,7 @@ __36: if !((pColumn != uintptr(0)) && (nColumn != (*IdList)(unsafe.Pointer(pColumn)).FnId)) { goto __48 } - Xsqlite3ErrorMsg(tls, pParse, ts+15661 /* "%d values for %d..." */, libc.VaList(bp+72, nColumn, (*IdList)(unsafe.Pointer(pColumn)).FnId)) + Xsqlite3ErrorMsg(tls, pParse, ts+15661 /* "%d values for %d..." */, libc.VaList(bp+48, nColumn, (*IdList)(unsafe.Pointer(pColumn)).FnId)) goto insert_cleanup __48: ; @@ -149582,7 +149582,7 @@ __49: goto __50 } nIdx = Xsqlite3OpenTableAndIndices(tls, pParse, pTab, OP_OpenWrite, uint8(0), -1, uintptr(0), - bp+216 /* &iDataCur */, bp+220 /* &iIdxCur */) + bp+176 /* &iDataCur */, bp+180 /* &iIdxCur */) aRegIdx = Xsqlite3DbMallocRawNN(tls, db, (uint64(unsafe.Sizeof(int32(0))) * (uint64(nIdx + 2)))) if !(aRegIdx == uintptr(0)) { goto __51 @@ -149617,7 +149617,7 @@ __50: goto __56 } Xsqlite3ErrorMsg(tls, pParse, ts+15686, /* "UPSERT not imple..." */ - libc.VaList(bp+96, (*Table)(unsafe.Pointer(pTab)).FzName)) + libc.VaList(bp+64, (*Table)(unsafe.Pointer(pTab)).FzName)) goto insert_cleanup __56: ; @@ -149634,13 +149634,13 @@ __57: goto insert_cleanup __58: ; - (*SrcItem)(unsafe.Pointer((pTabList + 8 /* &.a */))).FiCursor = *(*int32)(unsafe.Pointer(bp + 216 /* iDataCur */)) + (*SrcItem)(unsafe.Pointer((pTabList + 8 /* &.a */))).FiCursor = *(*int32)(unsafe.Pointer(bp + 176 /* iDataCur */)) pNx = pUpsert __59: (*Upsert)(unsafe.Pointer(pNx)).FpUpsertSrc = pTabList (*Upsert)(unsafe.Pointer(pNx)).FregData = regData - (*Upsert)(unsafe.Pointer(pNx)).FiDataCur = *(*int32)(unsafe.Pointer(bp + 216 /* iDataCur */)) - (*Upsert)(unsafe.Pointer(pNx)).FiIdxCur = *(*int32)(unsafe.Pointer(bp + 220 /* iIdxCur */)) + (*Upsert)(unsafe.Pointer(pNx)).FiDataCur = *(*int32)(unsafe.Pointer(bp + 176 /* iDataCur */)) + (*Upsert)(unsafe.Pointer(pNx)).FiIdxCur = *(*int32)(unsafe.Pointer(bp + 180 /* iIdxCur */)) if !((*Upsert)(unsafe.Pointer(pNx)).FpUpsertTarget != 0) { goto __62 } @@ -149691,7 +149691,7 @@ __64: // goto C // D: ... - addrInsTop = libc.AssignInt32(&addrCont, Xsqlite3VdbeAddOp1(tls, v, OP_Yield, (*SelectDest)(unsafe.Pointer(bp+120 /* &dest */)).FiSDParm)) + addrInsTop = libc.AssignInt32(&addrCont, Xsqlite3VdbeAddOp1(tls, v, OP_Yield, (*SelectDest)(unsafe.Pointer(bp+80 /* &dest */)).FiSDParm)) if !(ipkColumn >= 0) { goto __67 @@ -149753,7 +149753,7 @@ __73: // triggers, the slots used for stored columns will be OP_Copy-ed // to a second block of registers, so the register needs to be // initialized to NULL to avoid an uninitialized register read - if !((*(*int32)(unsafe.Pointer(bp + 112 /* tmask */)) & TRIGGER_BEFORE) != 0) { + if !((*(*int32)(unsafe.Pointer(bp + 72 /* tmask */)) & TRIGGER_BEFORE) != 0) { goto __77 } Xsqlite3VdbeAddOp1(tls, v, OP_SoftNull, iRegStore) @@ -149851,7 +149851,7 @@ __70: // Run the BEFORE and INSTEAD OF triggers, if there are any endOfLoop = Xsqlite3VdbeMakeLabel(tls, pParse) - if !((*(*int32)(unsafe.Pointer(bp + 112 /* tmask */)) & TRIGGER_BEFORE) != 0) { + if !((*(*int32)(unsafe.Pointer(bp + 72 /* tmask */)) & TRIGGER_BEFORE) != 0) { goto __92 } regCols = Xsqlite3GetTempRange(tls, pParse, (int32((*Table)(unsafe.Pointer(pTab)).FnCol) + 1)) @@ -149950,7 +149950,7 @@ __105: if !((int32((*Expr)(unsafe.Pointer(pIpk)).Fop) == TK_NULL) && !((*Table)(unsafe.Pointer(pTab)).FnModuleArg != 0)) { goto __107 } - Xsqlite3VdbeAddOp3(tls, v, OP_NewRowid, *(*int32)(unsafe.Pointer(bp + 216 /* iDataCur */)), regRowid, regAutoinc) + Xsqlite3VdbeAddOp3(tls, v, OP_NewRowid, *(*int32)(unsafe.Pointer(bp + 176 /* iDataCur */)), regRowid, regAutoinc) appendFlag = U8(1) goto __108 __107: @@ -149970,7 +149970,7 @@ __104: goto __110 } addr11 = Xsqlite3VdbeAddOp1(tls, v, OP_NotNull, regRowid) - Xsqlite3VdbeAddOp3(tls, v, OP_NewRowid, *(*int32)(unsafe.Pointer(bp + 216 /* iDataCur */)), regRowid, regAutoinc) + Xsqlite3VdbeAddOp3(tls, v, OP_NewRowid, *(*int32)(unsafe.Pointer(bp + 176 /* iDataCur */)), regRowid, regAutoinc) Xsqlite3VdbeJumpHere(tls, v, addr11) goto __111 __110: @@ -149989,7 +149989,7 @@ __101: Xsqlite3VdbeAddOp2(tls, v, OP_Null, 0, regRowid) goto __113 __112: - Xsqlite3VdbeAddOp3(tls, v, OP_NewRowid, *(*int32)(unsafe.Pointer(bp + 216 /* iDataCur */)), regRowid, regAutoinc) + Xsqlite3VdbeAddOp3(tls, v, OP_NewRowid, *(*int32)(unsafe.Pointer(bp + 176 /* iDataCur */)), regRowid, regAutoinc) appendFlag = U8(1) __113: ; @@ -150026,9 +150026,9 @@ __114: goto __116 __115: - *(*int32)(unsafe.Pointer(bp + 224 /* isReplace */)) = 0 // True to use OPFLAG_SEEKRESULT - Xsqlite3GenerateConstraintChecks(tls, pParse, pTab, aRegIdx, *(*int32)(unsafe.Pointer(bp + 216 /* iDataCur */)), *(*int32)(unsafe.Pointer(bp + 220 /* iIdxCur */)), - regIns, 0, (uint8(libc.Bool32(ipkColumn >= 0))), uint8(onError), endOfLoop, bp+224 /* &isReplace */, uintptr(0), pUpsert) + *(*int32)(unsafe.Pointer(bp + 184 /* isReplace */)) = 0 // True to use OPFLAG_SEEKRESULT + Xsqlite3GenerateConstraintChecks(tls, pParse, pTab, aRegIdx, *(*int32)(unsafe.Pointer(bp + 176 /* iDataCur */)), *(*int32)(unsafe.Pointer(bp + 180 /* iIdxCur */)), + regIns, 0, (uint8(libc.Bool32(ipkColumn >= 0))), uint8(onError), endOfLoop, bp+184 /* &isReplace */, uintptr(0), pUpsert) Xsqlite3FkCheck(tls, pParse, pTab, 0, regIns, uintptr(0), 0) // Set the OPFLAG_USESEEKRESULT flag if either (a) there are no REPLACE @@ -150039,8 +150039,8 @@ __115: // cursor that is disturbed. And these instructions both clear the // VdbeCursor.seekResult variable, disabling the OPFLAG_USESEEKRESULT // functionality. - bUseSeek = (libc.Bool32((*(*int32)(unsafe.Pointer(bp + 224 /* isReplace */)) == 0) || !(Xsqlite3VdbeHasSubProgram(tls, v) != 0))) - Xsqlite3CompleteInsertion(tls, pParse, pTab, *(*int32)(unsafe.Pointer(bp + 216 /* iDataCur */)), *(*int32)(unsafe.Pointer(bp + 220 /* iIdxCur */)), + bUseSeek = (libc.Bool32((*(*int32)(unsafe.Pointer(bp + 184 /* isReplace */)) == 0) || !(Xsqlite3VdbeHasSubProgram(tls, v) != 0))) + Xsqlite3CompleteInsertion(tls, pParse, pTab, *(*int32)(unsafe.Pointer(bp + 176 /* iDataCur */)), *(*int32)(unsafe.Pointer(bp + 180 /* iIdxCur */)), regIns, aRegIdx, 0, int32(appendFlag), bUseSeek) __116: ; @@ -150333,15 +150333,15 @@ func indexIteratorNext(tls *libc.TLS, pIter uintptr, pIx uintptr) uintptr { /* s // is used. Or if pParse->onError==OE_Default then the onError value // for the constraint is used. func Xsqlite3GenerateConstraintChecks(tls *libc.TLS, pParse uintptr, pTab uintptr, aRegIdx uintptr, iDataCur int32, iIdxCur int32, regNewData int32, regOldData int32, pkChng U8, overrideError U8, ignoreDest int32, pbMayReplace uintptr, aiChng uintptr, pUpsert uintptr) { /* sqlite3.c:124634:21: */ - bp := tls.Alloc(80) - defer tls.Free(80) + bp := tls.Alloc(72) + defer tls.Free(72) var v uintptr // VDBE under constrution var pIdx uintptr // Pointer to one of the indices var pPk uintptr = uintptr(0) // The PRIMARY KEY index for WITHOUT ROWID tables var db uintptr // Database connection var i int32 // loop counter - // var ix int32 at bp+48, 4 + // var ix int32 at bp+40, 4 // Index loop counter var nCol int32 // Number of columns var onError int32 // Conflict resolution strategy @@ -150361,7 +150361,7 @@ func Xsqlite3GenerateConstraintChecks(tls *libc.TLS, pParse uintptr, pTab uintpt var lblRecheckOk int32 = 0 // Each recheck jumps to this label if it passes var pTrigger uintptr // List of DELETE triggers on the table pTab var nReplaceTrig int32 = 0 // Number of replace triggers coded - // var sIdxIter IndexIterator at bp+24, 24 + // var sIdxIter IndexIterator at bp+16, 24 // Index iterator isUpdate = (U8(libc.Bool32(regOldData != 0))) @@ -150562,10 +150562,10 @@ func Xsqlite3GenerateConstraintChecks(tls *libc.TLS, pParse uintptr, pTab uintpt // The ordering of (2) and (3) is accomplished by making sure the linked // list of indexes attached to a table puts all OE_Replace indexes last // in the list. See sqlite3CreateIndex() for where that happens. - (*IndexIterator)(unsafe.Pointer(bp + 24 /* &sIdxIter */)).FeType = 0 - (*IndexIterator)(unsafe.Pointer(bp + 24 /* &sIdxIter */)).Fi = 0 - *(*uintptr)(unsafe.Pointer(bp + 24 /* &sIdxIter */ + 8 /* &.u */ /* &.ax */ + 8 /* &.aIdx */)) = uintptr(0) // Silence harmless compiler warning - *(*uintptr)(unsafe.Pointer(bp + 24 /* &sIdxIter */ + 8 /* &.u */ /* &.lx */ /* &.pIdx */)) = (*Table)(unsafe.Pointer(pTab)).FpIndex + (*IndexIterator)(unsafe.Pointer(bp + 16 /* &sIdxIter */)).FeType = 0 + (*IndexIterator)(unsafe.Pointer(bp + 16 /* &sIdxIter */)).Fi = 0 + *(*uintptr)(unsafe.Pointer(bp + 16 /* &sIdxIter */ + 8 /* &.u */ /* &.ax */ + 8 /* &.aIdx */)) = uintptr(0) // Silence harmless compiler warning + *(*uintptr)(unsafe.Pointer(bp + 16 /* &sIdxIter */ + 8 /* &.u */ /* &.lx */ /* &.pIdx */)) = (*Table)(unsafe.Pointer(pTab)).FpIndex if pUpsert != 0 { if (*Upsert)(unsafe.Pointer(pUpsert)).FpUpsertTarget == uintptr(0) { // There is just on ON CONFLICT clause and it has no constraint-target @@ -150605,15 +150605,15 @@ func Xsqlite3GenerateConstraintChecks(tls *libc.TLS, pParse uintptr, pTab uintpt goto __3 __3: ; - (*IndexIterator)(unsafe.Pointer(bp + 24 /* &sIdxIter */)).FeType = 1 - *(*int32)(unsafe.Pointer(bp + 24 /* &sIdxIter */ + 8 /* &.u */ /* &.ax */ /* &.nIdx */)) = nIdx + (*IndexIterator)(unsafe.Pointer(bp + 16 /* &sIdxIter */)).FeType = 1 + *(*int32)(unsafe.Pointer(bp + 16 /* &sIdxIter */ + 8 /* &.u */ /* &.ax */ /* &.nIdx */)) = nIdx nByte = (((uint64(unsafe.Sizeof(IndexListTerm{})) + uint64(1)) * uint64(nIdx)) + uint64(nIdx)) - *(*uintptr)(unsafe.Pointer(bp + 24 /* &sIdxIter */ + 8 /* &.u */ /* &.ax */ + 8 /* &.aIdx */)) = Xsqlite3DbMallocZero(tls, db, nByte) - if *(*uintptr)(unsafe.Pointer((bp + 24 /* &sIdxIter */ + 8 /* &.u */ /* &.ax */) + 8 /* &.aIdx */)) == uintptr(0) { + *(*uintptr)(unsafe.Pointer(bp + 16 /* &sIdxIter */ + 8 /* &.u */ /* &.ax */ + 8 /* &.aIdx */)) = Xsqlite3DbMallocZero(tls, db, nByte) + if *(*uintptr)(unsafe.Pointer((bp + 16 /* &sIdxIter */ + 8 /* &.u */ /* &.ax */) + 8 /* &.aIdx */)) == uintptr(0) { return } // OOM - bUsed = (*(*uintptr)(unsafe.Pointer((bp + 24 /* &sIdxIter */ + 8 /* &.u */ /* &.ax */) + 8 /* &.aIdx */)) + uintptr(nIdx)*16) - (*Upsert)(unsafe.Pointer(pUpsert)).FpToFree = *(*uintptr)(unsafe.Pointer(bp + 24 /* &sIdxIter */ + 8 /* &.u */ /* &.ax */ + 8 /* &.aIdx */)) + bUsed = (*(*uintptr)(unsafe.Pointer((bp + 16 /* &sIdxIter */ + 8 /* &.u */ /* &.ax */) + 8 /* &.aIdx */)) + uintptr(nIdx)*16) + (*Upsert)(unsafe.Pointer(pUpsert)).FpToFree = *(*uintptr)(unsafe.Pointer(bp + 16 /* &sIdxIter */ + 8 /* &.u */ /* &.ax */ + 8 /* &.aIdx */)) i = 0 pTerm = pUpsert for ; pTerm != 0; pTerm = (*Upsert)(unsafe.Pointer(pTerm)).FpNextUpsert { @@ -150633,8 +150633,8 @@ func Xsqlite3GenerateConstraintChecks(tls *libc.TLS, pParse uintptr, pTab uintpt continue } // Duplicate ON CONFLICT clause ignored *(*U8)(unsafe.Pointer(bUsed + uintptr(jj))) = U8(1) - (*IndexListTerm)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer((bp + 24 /* &sIdxIter */ + 8 /* &.u */ /* &.ax */) + 8 /* &.aIdx */)) + uintptr(i)*16)).Fp = pIdx - (*IndexListTerm)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer((bp + 24 /* &sIdxIter */ + 8 /* &.u */ /* &.ax */) + 8 /* &.aIdx */)) + uintptr(i)*16)).Fix = jj + (*IndexListTerm)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer((bp + 16 /* &sIdxIter */ + 8 /* &.u */ /* &.ax */) + 8 /* &.aIdx */)) + uintptr(i)*16)).Fp = pIdx + (*IndexListTerm)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer((bp + 16 /* &sIdxIter */ + 8 /* &.u */ /* &.ax */) + 8 /* &.aIdx */)) + uintptr(i)*16)).Fix = jj i++ } jj = 0 @@ -150647,8 +150647,8 @@ func Xsqlite3GenerateConstraintChecks(tls *libc.TLS, pParse uintptr, pTab uintpt if *(*U8)(unsafe.Pointer(bUsed + uintptr(jj))) != 0 { goto __5 } - (*IndexListTerm)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer((bp + 24 /* &sIdxIter */ + 8 /* &.u */ /* &.ax */) + 8 /* &.aIdx */)) + uintptr(i)*16)).Fp = pIdx - (*IndexListTerm)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer((bp + 24 /* &sIdxIter */ + 8 /* &.u */ /* &.ax */) + 8 /* &.aIdx */)) + uintptr(i)*16)).Fix = jj + (*IndexListTerm)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer((bp + 16 /* &sIdxIter */ + 8 /* &.u */ /* &.ax */) + 8 /* &.aIdx */)) + uintptr(i)*16)).Fp = pIdx + (*IndexListTerm)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer((bp + 16 /* &sIdxIter */ + 8 /* &.u */ /* &.ax */) + 8 /* &.aIdx */)) + uintptr(i)*16)).Fix = jj i++ } @@ -150856,14 +150856,14 @@ func Xsqlite3GenerateConstraintChecks(tls *libc.TLS, pParse uintptr, pTab uintpt // // This loop also handles the case of the PRIMARY KEY index for a // WITHOUT ROWID table. - for pIdx = indexIteratorFirst(tls, bp+24 /* &sIdxIter */, bp+48 /* &ix */); pIdx != 0; pIdx = indexIteratorNext(tls, bp+24 /* &sIdxIter */, bp+48 /* &ix */) { + for pIdx = indexIteratorFirst(tls, bp+16 /* &sIdxIter */, bp+40 /* &ix */); pIdx != 0; pIdx = indexIteratorNext(tls, bp+16 /* &sIdxIter */, bp+40 /* &ix */) { var regIdx int32 // Range of registers hold conent for pIdx var regR int32 // Range of registers holding conflicting PK var iThisCur int32 // Cursor for this UNIQUE index var addrUniqueOk int32 // Jump here if the UNIQUE constraint is satisfied var addrConflictCk int32 // First opcode in the conflict check logic - if *(*int32)(unsafe.Pointer(aRegIdx + uintptr(*(*int32)(unsafe.Pointer(bp + 48 /* ix */)))*4)) == 0 { + if *(*int32)(unsafe.Pointer(aRegIdx + uintptr(*(*int32)(unsafe.Pointer(bp + 40 /* ix */)))*4)) == 0 { continue } // Skip indices that do not change if pUpsert != 0 { @@ -150878,11 +150878,11 @@ func Xsqlite3GenerateConstraintChecks(tls *libc.TLS, pParse uintptr, pTab uintpt bAffinityDone = U8(1) } - iThisCur = (iIdxCur + *(*int32)(unsafe.Pointer(bp + 48 /* ix */))) + iThisCur = (iIdxCur + *(*int32)(unsafe.Pointer(bp + 40 /* ix */))) // Skip partial indices for which the WHERE clause is not true if (*Index)(unsafe.Pointer(pIdx)).FpPartIdxWhere != 0 { - Xsqlite3VdbeAddOp2(tls, v, OP_Null, 0, *(*int32)(unsafe.Pointer(aRegIdx + uintptr(*(*int32)(unsafe.Pointer(bp + 48 /* ix */)))*4))) + Xsqlite3VdbeAddOp2(tls, v, OP_Null, 0, *(*int32)(unsafe.Pointer(aRegIdx + uintptr(*(*int32)(unsafe.Pointer(bp + 40 /* ix */)))*4))) (*Parse)(unsafe.Pointer(pParse)).FiSelfTab = -(regNewData + 1) Xsqlite3ExprIfFalseDup(tls, pParse, (*Index)(unsafe.Pointer(pIdx)).FpPartIdxWhere, addrUniqueOk, SQLITE_JUMPIFNULL) @@ -150891,7 +150891,7 @@ func Xsqlite3GenerateConstraintChecks(tls *libc.TLS, pParse uintptr, pTab uintpt // Create a record for this index entry as it should appear after // the insert or update. Store that record in the aRegIdx[ix] register - regIdx = (*(*int32)(unsafe.Pointer(aRegIdx + uintptr(*(*int32)(unsafe.Pointer(bp + 48 /* ix */)))*4)) + 1) + regIdx = (*(*int32)(unsafe.Pointer(aRegIdx + uintptr(*(*int32)(unsafe.Pointer(bp + 40 /* ix */)))*4)) + 1) for i = 0; i < int32((*Index)(unsafe.Pointer(pIdx)).FnColumn); i++ { var iField int32 = int32(*(*I16)(unsafe.Pointer((*Index)(unsafe.Pointer(pIdx)).FaiColumn + uintptr(i)*2))) var x int32 @@ -150911,7 +150911,7 @@ func Xsqlite3GenerateConstraintChecks(tls *libc.TLS, pParse uintptr, pTab uintpt } } - Xsqlite3VdbeAddOp3(tls, v, OP_MakeRecord, regIdx, int32((*Index)(unsafe.Pointer(pIdx)).FnColumn), *(*int32)(unsafe.Pointer(aRegIdx + uintptr(*(*int32)(unsafe.Pointer(bp + 48 /* ix */)))*4))) + Xsqlite3VdbeAddOp3(tls, v, OP_MakeRecord, regIdx, int32((*Index)(unsafe.Pointer(pIdx)).FnColumn), *(*int32)(unsafe.Pointer(aRegIdx + uintptr(*(*int32)(unsafe.Pointer(bp + 40 /* ix */)))*4))) // In an UPDATE operation, if this index is the PRIMARY KEY index // of a WITHOUT ROWID table and there has been no change the @@ -151038,7 +151038,7 @@ func Xsqlite3GenerateConstraintChecks(tls *libc.TLS, pParse uintptr, pTab uintpt } case OE_Update: { - Xsqlite3UpsertDoUpdate(tls, pParse, pUpsert, pTab, pIdx, (iIdxCur + *(*int32)(unsafe.Pointer(bp + 48 /* ix */)))) + Xsqlite3UpsertDoUpdate(tls, pParse, pUpsert, pTab, pIdx, (iIdxCur + *(*int32)(unsafe.Pointer(bp + 40 /* ix */)))) } fallthrough @@ -151094,27 +151094,27 @@ func Xsqlite3GenerateConstraintChecks(tls *libc.TLS, pParse uintptr, pTab uintpt // the constraint-ok jump destination to be the address of // the next retest block for nConflictCk > 0 { - // var x VdbeOp at bp+56, 24 + // var x VdbeOp at bp+48, 24 // Conflict check opcode to copy // The sqlite3VdbeAddOp4() call might reallocate the opcode array. // Hence, make a complete copy of the opcode, rather than using // a pointer to the opcode. - *(*VdbeOp)(unsafe.Pointer(bp + 56 /* x */)) = *(*VdbeOp)(unsafe.Pointer(Xsqlite3VdbeGetOp(tls, v, addrConflictCk))) - if int32((*VdbeOp)(unsafe.Pointer(bp+56 /* &x */)).Fopcode) != OP_IdxRowid { + *(*VdbeOp)(unsafe.Pointer(bp + 48 /* x */)) = *(*VdbeOp)(unsafe.Pointer(Xsqlite3VdbeGetOp(tls, v, addrConflictCk))) + if int32((*VdbeOp)(unsafe.Pointer(bp+48 /* &x */)).Fopcode) != OP_IdxRowid { var p2 int32 // New P2 value for copied conflict check opcode var zP4 uintptr - if (int32(Xsqlite3OpcodeProperty[(*VdbeOp)(unsafe.Pointer(bp+56 /* &x */)).Fopcode]) & OPFLG_JUMP) != 0 { + if (int32(Xsqlite3OpcodeProperty[(*VdbeOp)(unsafe.Pointer(bp+48 /* &x */)).Fopcode]) & OPFLG_JUMP) != 0 { p2 = lblRecheckOk } else { - p2 = (*VdbeOp)(unsafe.Pointer(bp + 56 /* &x */)).Fp2 + p2 = (*VdbeOp)(unsafe.Pointer(bp + 48 /* &x */)).Fp2 } - if int32((*VdbeOp)(unsafe.Pointer(bp+56 /* &x */)).Fp4type) == (-3) { - zP4 = uintptr(int64(*(*int32)(unsafe.Pointer(bp + 56 /* &x */ + 16 /* &.p4 */)))) + if int32((*VdbeOp)(unsafe.Pointer(bp+48 /* &x */)).Fp4type) == (-3) { + zP4 = uintptr(int64(*(*int32)(unsafe.Pointer(bp + 48 /* &x */ + 16 /* &.p4 */)))) } else { - zP4 = *(*uintptr)(unsafe.Pointer(bp + 56 /* &x */ + 16 /* &.p4 */)) + zP4 = *(*uintptr)(unsafe.Pointer(bp + 48 /* &x */ + 16 /* &.p4 */)) } - Xsqlite3VdbeAddOp4(tls, v, int32((*VdbeOp)(unsafe.Pointer(bp+56 /* &x */)).Fopcode), (*VdbeOp)(unsafe.Pointer(bp+56 /* &x */)).Fp1, p2, (*VdbeOp)(unsafe.Pointer(bp+56 /* &x */)).Fp3, zP4, int32((*VdbeOp)(unsafe.Pointer(bp+56 /* &x */)).Fp4type)) - Xsqlite3VdbeChangeP5(tls, v, (*VdbeOp)(unsafe.Pointer(bp+56 /* &x */)).Fp5) + Xsqlite3VdbeAddOp4(tls, v, int32((*VdbeOp)(unsafe.Pointer(bp+48 /* &x */)).Fopcode), (*VdbeOp)(unsafe.Pointer(bp+48 /* &x */)).Fp1, p2, (*VdbeOp)(unsafe.Pointer(bp+48 /* &x */)).Fp3, zP4, int32((*VdbeOp)(unsafe.Pointer(bp+48 /* &x */)).Fp4type)) + Xsqlite3VdbeChangeP5(tls, v, (*VdbeOp)(unsafe.Pointer(bp+48 /* &x */)).Fp5) } nConflictCk-- @@ -151172,7 +151172,7 @@ func Xsqlite3GenerateConstraintChecks(tls *libc.TLS, pParse uintptr, pTab uintpt // Generate the table record if ((*Table)(unsafe.Pointer((pTab))).FtabFlags & U32(TF_WithoutRowid)) == U32(0) { - var regRec int32 = *(*int32)(unsafe.Pointer(aRegIdx + uintptr(*(*int32)(unsafe.Pointer(bp + 48 /* ix */)))*4)) + var regRec int32 = *(*int32)(unsafe.Pointer(aRegIdx + uintptr(*(*int32)(unsafe.Pointer(bp + 40 /* ix */)))*4)) Xsqlite3VdbeAddOp3(tls, v, OP_MakeRecord, (regNewData + 1), int32((*Table)(unsafe.Pointer(pTab)).FnNVCol), regRec) if !(bAffinityDone != 0) { @@ -152369,13 +152369,13 @@ var sqlite3Apis = Sqlite3_api_routines{ // error message text. The calling function should free this memory // by calling sqlite3DbFree(db, ). func sqlite3LoadExtension(tls *libc.TLS, db uintptr, zFile uintptr, zProc uintptr, pzErrMsg uintptr) int32 { /* sqlite3.c:127439:12: */ - bp := tls.Alloc(96) - defer tls.Free(96) + bp := tls.Alloc(64) + defer tls.Free(64) var pVfs uintptr var handle uintptr var xInit Sqlite3_loadext_entry - // var zErrmsg uintptr at bp+88, 8 + // var zErrmsg uintptr at bp+56, 8 var zEntry uintptr var zAltEntry uintptr @@ -152389,7 +152389,7 @@ func sqlite3LoadExtension(tls *libc.TLS, db uintptr, zFile uintptr, zProc uintpt var c int32 var ncFile int32 pVfs = (*Sqlite3)(unsafe.Pointer(db)).FpVfs - *(*uintptr)(unsafe.Pointer(bp + 88 /* zErrmsg */)) = uintptr(0) + *(*uintptr)(unsafe.Pointer(bp + 56 /* zErrmsg */)) = uintptr(0) zAltEntry = uintptr(0) nMsg = libc.Xstrlen(tls, zFile) @@ -152538,14 +152538,14 @@ __10: goto __21 } nMsg = nMsg + (libc.Xstrlen(tls, zEntry) + uint64(300)) - *(*uintptr)(unsafe.Pointer(pzErrMsg)) = libc.AssignPtrUintptr(bp+88 /* zErrmsg */, Xsqlite3_malloc64(tls, nMsg)) - if !(*(*uintptr)(unsafe.Pointer(bp + 88 /* zErrmsg */)) != 0) { + *(*uintptr)(unsafe.Pointer(pzErrMsg)) = libc.AssignPtrUintptr(bp+56 /* zErrmsg */, Xsqlite3_malloc64(tls, nMsg)) + if !(*(*uintptr)(unsafe.Pointer(bp + 56 /* zErrmsg */)) != 0) { goto __22 } // zErrmsg would be NULL if not so - Xsqlite3_snprintf(tls, int32(nMsg), *(*uintptr)(unsafe.Pointer(bp + 88 /* zErrmsg */)), - ts+15809 /* "no entry point [..." */, libc.VaList(bp+24, zEntry, zFile)) - Xsqlite3OsDlError(tls, pVfs, (int32(nMsg - uint64(1))), *(*uintptr)(unsafe.Pointer(bp + 88 /* zErrmsg */))) + Xsqlite3_snprintf(tls, int32(nMsg), *(*uintptr)(unsafe.Pointer(bp + 56 /* zErrmsg */)), + ts+15809 /* "no entry point [..." */, libc.VaList(bp+16, zEntry, zFile)) + Xsqlite3OsDlError(tls, pVfs, (int32(nMsg - uint64(1))), *(*uintptr)(unsafe.Pointer(bp + 56 /* zErrmsg */))) __22: ; __21: @@ -152556,7 +152556,7 @@ __21: __20: ; Xsqlite3_free(tls, zAltEntry) - rc = (*(*func(*libc.TLS, uintptr, uintptr, uintptr) int32)(unsafe.Pointer(&xInit)))(tls, db, bp+88 /* &zErrmsg */, uintptr(unsafe.Pointer(&sqlite3Apis))) + rc = (*(*func(*libc.TLS, uintptr, uintptr, uintptr) int32)(unsafe.Pointer(&xInit)))(tls, db, bp+56 /* &zErrmsg */, uintptr(unsafe.Pointer(&sqlite3Apis))) if !(rc != 0) { goto __23 } @@ -152569,10 +152569,10 @@ __24: if !(pzErrMsg != 0) { goto __25 } - *(*uintptr)(unsafe.Pointer(pzErrMsg)) = Xsqlite3_mprintf(tls, ts+15852 /* "error during ini..." */, libc.VaList(bp+48, *(*uintptr)(unsafe.Pointer(bp + 88 /* zErrmsg */)))) + *(*uintptr)(unsafe.Pointer(pzErrMsg)) = Xsqlite3_mprintf(tls, ts+15852 /* "error during ini..." */, libc.VaList(bp+32, *(*uintptr)(unsafe.Pointer(bp + 56 /* zErrmsg */)))) __25: ; - Xsqlite3_free(tls, *(*uintptr)(unsafe.Pointer(bp + 88 /* zErrmsg */))) + Xsqlite3_free(tls, *(*uintptr)(unsafe.Pointer(bp + 56 /* zErrmsg */))) Xsqlite3OsDlClose(tls, pVfs, handle) return SQLITE_ERROR __23: @@ -152603,14 +152603,14 @@ extension_not_found: goto __28 } nMsg = nMsg + (uint64(300)) - *(*uintptr)(unsafe.Pointer(pzErrMsg)) = libc.AssignPtrUintptr(bp+88 /* zErrmsg */, Xsqlite3_malloc64(tls, nMsg)) - if !(*(*uintptr)(unsafe.Pointer(bp + 88 /* zErrmsg */)) != 0) { + *(*uintptr)(unsafe.Pointer(pzErrMsg)) = libc.AssignPtrUintptr(bp+56 /* zErrmsg */, Xsqlite3_malloc64(tls, nMsg)) + if !(*(*uintptr)(unsafe.Pointer(bp + 56 /* zErrmsg */)) != 0) { goto __29 } // zErrmsg would be NULL if not so - Xsqlite3_snprintf(tls, int32(nMsg), *(*uintptr)(unsafe.Pointer(bp + 88 /* zErrmsg */)), - ts+15884 /* "unable to open s..." */, libc.VaList(bp+64, FILENAME_MAX, zFile)) - Xsqlite3OsDlError(tls, pVfs, (int32(nMsg - uint64(1))), *(*uintptr)(unsafe.Pointer(bp + 88 /* zErrmsg */))) + Xsqlite3_snprintf(tls, int32(nMsg), *(*uintptr)(unsafe.Pointer(bp + 56 /* zErrmsg */)), + ts+15884 /* "unable to open s..." */, libc.VaList(bp+40, FILENAME_MAX, zFile)) + Xsqlite3OsDlError(tls, pVfs, (int32(nMsg - uint64(1))), *(*uintptr)(unsafe.Pointer(bp + 56 /* zErrmsg */))) __29: ; __28: @@ -152758,8 +152758,8 @@ func Xsqlite3_reset_auto_extension(tls *libc.TLS) { /* sqlite3.c:127739:17: */ // // If anything goes wrong, set an error in the database connection. func Xsqlite3AutoLoadExtensions(tls *libc.TLS, db uintptr) { /* sqlite3.c:127761:21: */ - bp := tls.Alloc(24) - defer tls.Free(24) + bp := tls.Alloc(16) + defer tls.Free(16) var i U32 var go1 int32 = 1 @@ -152771,7 +152771,7 @@ func Xsqlite3AutoLoadExtensions(tls *libc.TLS, db uintptr) { /* sqlite3.c:127761 return } for i = U32(0); go1 != 0; i++ { - // var zErrmsg uintptr at bp+16, 8 + // var zErrmsg uintptr at bp+8, 8 var mutex uintptr = Xsqlite3MutexAlloc(tls, SQLITE_MUTEX_STATIC_MAIN) var pThunk uintptr = uintptr(unsafe.Pointer(&sqlite3Apis)) @@ -152783,13 +152783,13 @@ func Xsqlite3AutoLoadExtensions(tls *libc.TLS, db uintptr) { /* sqlite3.c:127761 xInit = *(*uintptr)(unsafe.Pointer(sqlite3Autoext.FaExt + uintptr(i)*8)) } Xsqlite3_mutex_leave(tls, mutex) - *(*uintptr)(unsafe.Pointer(bp + 16 /* zErrmsg */)) = uintptr(0) - if (xInit != 0) && ((libc.AssignInt32(&rc, (*(*func(*libc.TLS, uintptr, uintptr, uintptr) int32)(unsafe.Pointer(&xInit)))(tls, db, bp+16 /* &zErrmsg */, pThunk))) != 0) { + *(*uintptr)(unsafe.Pointer(bp + 8 /* zErrmsg */)) = uintptr(0) + if (xInit != 0) && ((libc.AssignInt32(&rc, (*(*func(*libc.TLS, uintptr, uintptr, uintptr) int32)(unsafe.Pointer(&xInit)))(tls, db, bp+8 /* &zErrmsg */, pThunk))) != 0) { Xsqlite3ErrorWithMsg(tls, db, rc, - ts+15925 /* "automatic extens..." */, libc.VaList(bp, *(*uintptr)(unsafe.Pointer(bp + 16 /* zErrmsg */)))) + ts+15925 /* "automatic extens..." */, libc.VaList(bp, *(*uintptr)(unsafe.Pointer(bp + 8 /* zErrmsg */)))) go1 = 0 } - Xsqlite3_free(tls, *(*uintptr)(unsafe.Pointer(bp + 16 /* zErrmsg */))) + Xsqlite3_free(tls, *(*uintptr)(unsafe.Pointer(bp + 8 /* zErrmsg */))) } } @@ -153406,8 +153406,8 @@ func pragmaLocate(tls *libc.TLS, zName uintptr) uintptr { /* sqlite3.c:128736:25 // Create zero or more entries in the output for the SQL functions // defined by FuncDef p. func pragmaFunclistLine(tls *libc.TLS, v uintptr, p uintptr, isBuiltin int32, showInternFuncs int32) { /* sqlite3.c:128757:13: */ - bp := tls.Alloc(56) - defer tls.Free(56) + bp := tls.Alloc(48) + defer tls.Free(48) for ; p != 0; p = (*FuncDef)(unsafe.Pointer(p)).FpNext { var zType uintptr @@ -153465,15 +153465,15 @@ func integrityCheckResultRow(tls *libc.TLS, v uintptr) int32 { /* sqlite3.c:1288 // and pId2 is the id. If the left side is just "id" then pId1 is the // id and pId2 is any empty string. func Xsqlite3Pragma(tls *libc.TLS, pParse uintptr, pId1 uintptr, pId2 uintptr, pValue uintptr, minusFlag int32) { /* sqlite3.c:128833:21: */ - bp := tls.Alloc(688) - defer tls.Free(688) + bp := tls.Alloc(536) + defer tls.Free(536) var zLeft uintptr // Nul-terminated UTF-8 string var zRight uintptr // Nul-terminated UTF-8 string , or NULL var zDb uintptr // The database name - // var pId uintptr at bp+520, 8 + // var pId uintptr at bp+368, 8 // Pointer to token - // var aFcntl [4]uintptr at bp+528, 32 + // var aFcntl [4]uintptr at bp+376, 32 // Argument to SQLITE_FCNTL_PRAGMA var iDb int32 // Database index for var rc int32 // return value form SQLITE_FCNTL_PRAGMA @@ -153489,7 +153489,7 @@ func Xsqlite3Pragma(tls *libc.TLS, pParse uintptr, pId1 uintptr, pId2 uintptr, p var pBt1 uintptr var b int32 var iReg int32 - // var x I64 at bp+560, 8 + // var x I64 at bp+408, 8 // This indicates that no database name was specified as part // of the PRAGMA command. In this case the locking-mode must be @@ -153507,24 +153507,24 @@ func Xsqlite3Pragma(tls *libc.TLS, pParse uintptr, pId1 uintptr, pId2 uintptr, p var eMode1 int32 // One of the PAGER_JOURNALMODE_XXX symbols var ii2 int32 var pPager1 uintptr - // var iLimit I64 at bp+568, 8 + // var iLimit I64 at bp+416, 8 var aOp1 uintptr var iAddr int32 var eAuto int32 var pBt2 uintptr - // var iLimit1 int32 at bp+576, 4 + // var iLimit1 int32 at bp+424, 4 var addr int32 var size2 int32 - // var size3 int32 at bp+580, 4 + // var size3 int32 at bp+428, 4 var ii3 int32 - // var sz Sqlite3_int64 at bp+584, 8 + // var sz Sqlite3_int64 at bp+432, 8 - // var res int32 at bp+592, 4 + // var res int32 at bp+440, 4 - // var res1 int32 at bp+596, 4 + // var res1 int32 at bp+444, 4 var iLevel int32 var mask U64 @@ -153541,7 +153541,7 @@ func Xsqlite3Pragma(tls *libc.TLS, pParse uintptr, pId1 uintptr, pId2 uintptr, p var mx int32 var pIdx uintptr var pTab1 uintptr - // var azOrigin [3]uintptr at bp+600, 24 + // var azOrigin [3]uintptr at bp+448, 24 var iTabDb int32 var pIdx1 uintptr @@ -153568,7 +153568,7 @@ func Xsqlite3Pragma(tls *libc.TLS, pParse uintptr, pId1 uintptr, pId2 uintptr, p var pFK1 uintptr // A foreign key constraint var pTab4 uintptr // Child table contain "REFERENCES" keyword var pParent uintptr // Parent table that child points to - // var pIdx2 uintptr at bp+624, 8 + // var pIdx2 uintptr at bp+472, 8 // Index in the parent table var i8 int32 // Loop counter: Foreign key number for pTab var j3 int32 // Loop counter: Field of the foreign key @@ -153579,7 +153579,7 @@ func Xsqlite3Pragma(tls *libc.TLS, pParse uintptr, pId1 uintptr, pId2 uintptr, p var regRow int32 // Registers to hold a row from pTab var addrTop int32 // Top of a loop checking foreign keys var addrOk int32 // Jump here if the key is OK - // var aiCols uintptr at bp+632, 8 + // var aiCols uintptr at bp+480, 8 var pTab5 uintptr // Current table var pIdx3 uintptr // An index on pTab @@ -153598,7 +153598,7 @@ func Xsqlite3Pragma(tls *libc.TLS, pParse uintptr, pId1 uintptr, pId2 uintptr, p var jmp6 int32 var kk int32 var jmp21 int32 - // var jmp3 int32 at bp+652, 4 + // var jmp3 int32 at bp+500, 4 var jmp4 int32 var jmp5 int32 @@ -153608,9 +153608,9 @@ func Xsqlite3Pragma(tls *libc.TLS, pParse uintptr, pId1 uintptr, pId2 uintptr, p var pPk1 uintptr var pPrior uintptr var loopTop int32 - // var iDataCur int32 at bp+644, 4 + // var iDataCur int32 at bp+492, 4 - // var iIdxCur int32 at bp+648, 4 + // var iIdxCur int32 at bp+496, 4 var r1 int32 var x2 uintptr // For looping over tables in the schema @@ -153622,7 +153622,7 @@ func Xsqlite3Pragma(tls *libc.TLS, pParse uintptr, pId1 uintptr, pId2 uintptr, p var i9 int32 var j4 int32 var addr1 int32 - // var mxErr int32 at bp+640, 4 + // var mxErr int32 at bp+488, 4 var pObjTab uintptr // Check only this one table, if not NULL @@ -153646,14 +153646,14 @@ func Xsqlite3Pragma(tls *libc.TLS, pParse uintptr, pId1 uintptr, pId2 uintptr, p var szThreshold LogEst // Size threshold above which reanalysis is needd var zSubSql uintptr // SQL statement for the OP_SqlExec opcode var opMask U32 - // var N Sqlite3_int64 at bp+656, 8 + // var N Sqlite3_int64 at bp+504, 8 var iPrior Sqlite3_int64 - // var N1 Sqlite3_int64 at bp+664, 8 + // var N1 Sqlite3_int64 at bp+512, 8 - // var N2 Sqlite3_int64 at bp+672, 8 + // var N2 Sqlite3_int64 at bp+520, 8 - // var N3 Sqlite3_int64 at bp+680, 8 + // var N3 Sqlite3_int64 at bp+528, 8 zLeft = uintptr(0) zRight = uintptr(0) zDb = uintptr(0) @@ -153671,7 +153671,7 @@ __1: // Interpret the [schema.] part of the pragma statement. iDb is the // index of the database this pragma is being applied to in db.aDb[]. - iDb = Xsqlite3TwoPartName(tls, pParse, pId1, pId2, bp+520 /* &pId */) + iDb = Xsqlite3TwoPartName(tls, pParse, pId1, pId2, bp+368 /* &pId */) if !(iDb < 0) { goto __2 } @@ -153689,7 +153689,7 @@ __2: __3: ; - zLeft = Xsqlite3NameFromToken(tls, db, *(*uintptr)(unsafe.Pointer(bp + 520 /* pId */))) + zLeft = Xsqlite3NameFromToken(tls, db, *(*uintptr)(unsafe.Pointer(bp + 368 /* pId */))) if !(!(zLeft != 0)) { goto __4 } @@ -153732,30 +153732,30 @@ __7: // second element of the array is the name of the pragma and the third // element is the argument to the pragma or NULL if the pragma has no // argument. - *(*uintptr)(unsafe.Pointer(bp + 528 /* &aFcntl[0] */)) = uintptr(0) - *(*uintptr)(unsafe.Pointer(bp + 528 /* &aFcntl[0] */ + 1*8)) = zLeft - *(*uintptr)(unsafe.Pointer(bp + 528 /* &aFcntl[0] */ + 2*8)) = zRight - *(*uintptr)(unsafe.Pointer(bp + 528 /* &aFcntl[0] */ + 3*8)) = uintptr(0) + *(*uintptr)(unsafe.Pointer(bp + 376 /* &aFcntl[0] */)) = uintptr(0) + *(*uintptr)(unsafe.Pointer(bp + 376 /* &aFcntl[0] */ + 1*8)) = zLeft + *(*uintptr)(unsafe.Pointer(bp + 376 /* &aFcntl[0] */ + 2*8)) = zRight + *(*uintptr)(unsafe.Pointer(bp + 376 /* &aFcntl[0] */ + 3*8)) = uintptr(0) (*Sqlite3)(unsafe.Pointer(db)).FbusyHandler.FnBusy = 0 - rc = Xsqlite3_file_control(tls, db, zDb, SQLITE_FCNTL_PRAGMA, bp+528 /* aFcntl */) + rc = Xsqlite3_file_control(tls, db, zDb, SQLITE_FCNTL_PRAGMA, bp+376 /* aFcntl */) if !(rc == SQLITE_OK) { goto __8 } Xsqlite3VdbeSetNumCols(tls, v, 1) - Xsqlite3VdbeSetColName(tls, v, 0, COLNAME_NAME, *(*uintptr)(unsafe.Pointer(bp + 528 /* &aFcntl[0] */)), libc.UintptrFromInt32(-1)) - returnSingleText(tls, v, *(*uintptr)(unsafe.Pointer(bp + 528 /* &aFcntl[0] */))) - Xsqlite3_free(tls, *(*uintptr)(unsafe.Pointer(bp + 528 /* &aFcntl[0] */))) + Xsqlite3VdbeSetColName(tls, v, 0, COLNAME_NAME, *(*uintptr)(unsafe.Pointer(bp + 376 /* &aFcntl[0] */)), libc.UintptrFromInt32(-1)) + returnSingleText(tls, v, *(*uintptr)(unsafe.Pointer(bp + 376 /* &aFcntl[0] */))) + Xsqlite3_free(tls, *(*uintptr)(unsafe.Pointer(bp + 376 /* &aFcntl[0] */))) goto pragma_out __8: ; if !(rc != SQLITE_NOTFOUND) { goto __9 } - if !(*(*uintptr)(unsafe.Pointer(bp + 528 /* &aFcntl[0] */)) != 0) { + if !(*(*uintptr)(unsafe.Pointer(bp + 376 /* &aFcntl[0] */)) != 0) { goto __10 } - Xsqlite3ErrorMsg(tls, pParse, ts+3630 /* "%s" */, libc.VaList(bp+16, *(*uintptr)(unsafe.Pointer(bp + 528 /* &aFcntl[0] */)))) - Xsqlite3_free(tls, *(*uintptr)(unsafe.Pointer(bp + 528 /* &aFcntl[0] */))) + Xsqlite3ErrorMsg(tls, pParse, ts+3630 /* "%s" */, libc.VaList(bp+8, *(*uintptr)(unsafe.Pointer(bp + 376 /* &aFcntl[0] */)))) + Xsqlite3_free(tls, *(*uintptr)(unsafe.Pointer(bp + 376 /* &aFcntl[0] */))) __10: ; (*Parse)(unsafe.Pointer(pParse)).FnErr++ @@ -154389,7 +154389,7 @@ __66: // // Return the number of pages in the specified database. __19: - *(*I64)(unsafe.Pointer(bp + 560 /* x */)) = int64(0) + *(*I64)(unsafe.Pointer(bp + 408 /* x */)) = int64(0) Xsqlite3CodeVerifySchema(tls, pParse, iDb) iReg = libc.PreIncInt32(&(*Parse)(unsafe.Pointer(pParse)).FnMem, 1) if !((int32(Xsqlite3UpperToLower[uint8(*(*int8)(unsafe.Pointer(zLeft)))])) == 'p') { @@ -154398,29 +154398,29 @@ __19: Xsqlite3VdbeAddOp2(tls, v, OP_Pagecount, iDb, iReg) goto __71 __70: - if !((zRight != 0) && (Xsqlite3DecOrHexToI64(tls, zRight, bp+560 /* &x */) == 0)) { + if !((zRight != 0) && (Xsqlite3DecOrHexToI64(tls, zRight, bp+408 /* &x */) == 0)) { goto __72 } - if !(*(*I64)(unsafe.Pointer(bp + 560 /* x */)) < int64(0)) { + if !(*(*I64)(unsafe.Pointer(bp + 408 /* x */)) < int64(0)) { goto __74 } - *(*I64)(unsafe.Pointer(bp + 560 /* x */)) = int64(0) + *(*I64)(unsafe.Pointer(bp + 408 /* x */)) = int64(0) goto __75 __74: - if !(*(*I64)(unsafe.Pointer(bp + 560 /* x */)) > int64(0xfffffffe)) { + if !(*(*I64)(unsafe.Pointer(bp + 408 /* x */)) > int64(0xfffffffe)) { goto __76 } - *(*I64)(unsafe.Pointer(bp + 560 /* x */)) = int64(0xfffffffe) + *(*I64)(unsafe.Pointer(bp + 408 /* x */)) = int64(0xfffffffe) __76: ; __75: ; goto __73 __72: - *(*I64)(unsafe.Pointer(bp + 560 /* x */)) = int64(0) + *(*I64)(unsafe.Pointer(bp + 408 /* x */)) = int64(0) __73: ; - Xsqlite3VdbeAddOp3(tls, v, OP_MaxPgcnt, iDb, iReg, int32(*(*I64)(unsafe.Pointer(bp + 560 /* x */)))) + Xsqlite3VdbeAddOp3(tls, v, OP_MaxPgcnt, iDb, iReg, int32(*(*I64)(unsafe.Pointer(bp + 408 /* x */)))) __71: ; Xsqlite3VdbeAddOp2(tls, v, OP_ResultRow, iReg, 1) @@ -154562,21 +154562,21 @@ __95: // Get or set the size limit on rollback journal files. __22: pPager1 = Xsqlite3BtreePager(tls, (*Db)(unsafe.Pointer(pDb)).FpBt) - *(*I64)(unsafe.Pointer(bp + 568 /* iLimit */)) = int64(-2) + *(*I64)(unsafe.Pointer(bp + 416 /* iLimit */)) = int64(-2) if !(zRight != 0) { goto __97 } - Xsqlite3DecOrHexToI64(tls, zRight, bp+568 /* &iLimit */) - if !(*(*I64)(unsafe.Pointer(bp + 568 /* iLimit */)) < int64(-1)) { + Xsqlite3DecOrHexToI64(tls, zRight, bp+416 /* &iLimit */) + if !(*(*I64)(unsafe.Pointer(bp + 416 /* iLimit */)) < int64(-1)) { goto __98 } - *(*I64)(unsafe.Pointer(bp + 568 /* iLimit */)) = int64(-1) + *(*I64)(unsafe.Pointer(bp + 416 /* iLimit */)) = int64(-1) __98: ; __97: ; - *(*I64)(unsafe.Pointer(bp + 568 /* iLimit */)) = Xsqlite3PagerJournalSizeLimit(tls, pPager1, *(*I64)(unsafe.Pointer(bp + 568 /* iLimit */))) - returnSingleInt(tls, v, *(*I64)(unsafe.Pointer(bp + 568 /* iLimit */))) + *(*I64)(unsafe.Pointer(bp + 416 /* iLimit */)) = Xsqlite3PagerJournalSizeLimit(tls, pPager1, *(*I64)(unsafe.Pointer(bp + 416 /* iLimit */))) + returnSingleInt(tls, v, *(*I64)(unsafe.Pointer(bp + 416 /* iLimit */))) goto __15 // PRAGMA [schema.]auto_vacuum @@ -154629,14 +154629,14 @@ __100: // // Do N steps of incremental vacuuming on a database. __24: - if !(((zRight == uintptr(0)) || !(Xsqlite3GetInt32(tls, zRight, bp+576 /* &iLimit1 */) != 0)) || (*(*int32)(unsafe.Pointer(bp + 576 /* iLimit1 */)) <= 0)) { + if !(((zRight == uintptr(0)) || !(Xsqlite3GetInt32(tls, zRight, bp+424 /* &iLimit1 */) != 0)) || (*(*int32)(unsafe.Pointer(bp + 424 /* iLimit1 */)) <= 0)) { goto __103 } - *(*int32)(unsafe.Pointer(bp + 576 /* iLimit1 */)) = 0x7fffffff + *(*int32)(unsafe.Pointer(bp + 424 /* iLimit1 */)) = 0x7fffffff __103: ; Xsqlite3BeginWriteOperation(tls, pParse, 0, iDb) - Xsqlite3VdbeAddOp2(tls, v, OP_Integer, *(*int32)(unsafe.Pointer(bp + 576 /* iLimit1 */)), 1) + Xsqlite3VdbeAddOp2(tls, v, OP_Integer, *(*int32)(unsafe.Pointer(bp + 424 /* iLimit1 */)), 1) addr = Xsqlite3VdbeAddOp1(tls, v, OP_IncrVacuum, iDb) Xsqlite3VdbeAddOp1(tls, v, OP_ResultRow, 1) Xsqlite3VdbeAddOp2(tls, v, OP_AddImm, 1, -1) @@ -154702,14 +154702,14 @@ __26: }()) goto __107 __106: - *(*int32)(unsafe.Pointer(bp + 580 /* size3 */)) = 1 - if !(Xsqlite3GetInt32(tls, zRight, bp+580 /* &size3 */) != 0) { + *(*int32)(unsafe.Pointer(bp + 428 /* size3 */)) = 1 + if !(Xsqlite3GetInt32(tls, zRight, bp+428 /* &size3 */) != 0) { goto __108 } - Xsqlite3BtreeSetSpillSize(tls, (*Db)(unsafe.Pointer(pDb)).FpBt, *(*int32)(unsafe.Pointer(bp + 580 /* size3 */))) + Xsqlite3BtreeSetSpillSize(tls, (*Db)(unsafe.Pointer(pDb)).FpBt, *(*int32)(unsafe.Pointer(bp + 428 /* size3 */))) __108: ; - if !(Xsqlite3GetBoolean(tls, zRight, (uint8(libc.Bool32(*(*int32)(unsafe.Pointer(bp + 580 /* size3 */)) != 0)))) != 0) { + if !(Xsqlite3GetBoolean(tls, zRight, (uint8(libc.Bool32(*(*int32)(unsafe.Pointer(bp + 428 /* size3 */)) != 0)))) != 0) { goto __109 } *(*U64)(unsafe.Pointer(db + 48 /* &.flags */)) |= (uint64(SQLITE_CacheSpill)) @@ -154740,17 +154740,17 @@ __27: if !(zRight != 0) { goto __111 } - Xsqlite3DecOrHexToI64(tls, zRight, bp+584 /* &sz */) - if !(*(*Sqlite3_int64)(unsafe.Pointer(bp + 584 /* sz */)) < int64(0)) { + Xsqlite3DecOrHexToI64(tls, zRight, bp+432 /* &sz */) + if !(*(*Sqlite3_int64)(unsafe.Pointer(bp + 432 /* sz */)) < int64(0)) { goto __112 } - *(*Sqlite3_int64)(unsafe.Pointer(bp + 584 /* sz */)) = Xsqlite3Config.FszMmap + *(*Sqlite3_int64)(unsafe.Pointer(bp + 432 /* sz */)) = Xsqlite3Config.FszMmap __112: ; if !((*Token)(unsafe.Pointer(pId2)).Fn == uint32(0)) { goto __113 } - (*Sqlite3)(unsafe.Pointer(db)).FszMmap = *(*Sqlite3_int64)(unsafe.Pointer(bp + 584 /* sz */)) + (*Sqlite3)(unsafe.Pointer(db)).FszMmap = *(*Sqlite3_int64)(unsafe.Pointer(bp + 432 /* sz */)) __113: ; ii3 = ((*Sqlite3)(unsafe.Pointer(db)).FnDb - 1) @@ -154761,7 +154761,7 @@ __114: if !(((*Db)(unsafe.Pointer((*Sqlite3)(unsafe.Pointer(db)).FaDb+uintptr(ii3)*32)).FpBt != 0) && ((ii3 == iDb) || ((*Token)(unsafe.Pointer(pId2)).Fn == uint32(0)))) { goto __117 } - Xsqlite3BtreeSetMmapLimit(tls, (*Db)(unsafe.Pointer((*Sqlite3)(unsafe.Pointer(db)).FaDb+uintptr(ii3)*32)).FpBt, *(*Sqlite3_int64)(unsafe.Pointer(bp + 584 /* sz */))) + Xsqlite3BtreeSetMmapLimit(tls, (*Db)(unsafe.Pointer((*Sqlite3)(unsafe.Pointer(db)).FaDb+uintptr(ii3)*32)).FpBt, *(*Sqlite3_int64)(unsafe.Pointer(bp + 432 /* sz */))) __117: ; goto __115 @@ -154773,12 +154773,12 @@ __116: ; __111: ; - *(*Sqlite3_int64)(unsafe.Pointer(bp + 584 /* sz */)) = int64(-1) - rc = Xsqlite3_file_control(tls, db, zDb, SQLITE_FCNTL_MMAP_SIZE, bp+584 /* &sz */) + *(*Sqlite3_int64)(unsafe.Pointer(bp + 432 /* sz */)) = int64(-1) + rc = Xsqlite3_file_control(tls, db, zDb, SQLITE_FCNTL_MMAP_SIZE, bp+432 /* &sz */) if !(rc == SQLITE_OK) { goto __118 } - returnSingleInt(tls, v, *(*Sqlite3_int64)(unsafe.Pointer(bp + 584 /* sz */))) + returnSingleInt(tls, v, *(*Sqlite3_int64)(unsafe.Pointer(bp + 432 /* sz */))) goto __119 __118: if !(rc != SQLITE_NOTFOUND) { @@ -154831,8 +154831,8 @@ __123: if !(*(*int8)(unsafe.Pointer(zRight)) != 0) { goto __125 } - rc = Xsqlite3OsAccess(tls, (*Sqlite3)(unsafe.Pointer(db)).FpVfs, zRight, SQLITE_ACCESS_READWRITE, bp+592 /* &res */) - if !((rc != SQLITE_OK) || (*(*int32)(unsafe.Pointer(bp + 592 /* res */)) == 0)) { + rc = Xsqlite3OsAccess(tls, (*Sqlite3)(unsafe.Pointer(db)).FpVfs, zRight, SQLITE_ACCESS_READWRITE, bp+440 /* &res */) + if !((rc != SQLITE_OK) || (*(*int32)(unsafe.Pointer(bp + 440 /* res */)) == 0)) { goto __126 } Xsqlite3ErrorMsg(tls, pParse, ts+17421 /* "not a writable d..." */, 0) @@ -154853,7 +154853,7 @@ __127: if !(*(*int8)(unsafe.Pointer(zRight)) != 0) { goto __128 } - Xsqlite3_temp_directory = Xsqlite3_mprintf(tls, ts+3630 /* "%s" */, libc.VaList(bp+32, zRight)) + Xsqlite3_temp_directory = Xsqlite3_mprintf(tls, ts+3630 /* "%s" */, libc.VaList(bp+16, zRight)) goto __129 __128: Xsqlite3_temp_directory = uintptr(0) @@ -154884,8 +154884,8 @@ __130: if !(*(*int8)(unsafe.Pointer(zRight)) != 0) { goto __132 } - rc = Xsqlite3OsAccess(tls, (*Sqlite3)(unsafe.Pointer(db)).FpVfs, zRight, SQLITE_ACCESS_READWRITE, bp+596 /* &res1 */) - if !((rc != SQLITE_OK) || (*(*int32)(unsafe.Pointer(bp + 596 /* res1 */)) == 0)) { + rc = Xsqlite3OsAccess(tls, (*Sqlite3)(unsafe.Pointer(db)).FpVfs, zRight, SQLITE_ACCESS_READWRITE, bp+444 /* &res1 */) + if !((rc != SQLITE_OK) || (*(*int32)(unsafe.Pointer(bp + 444 /* res1 */)) == 0)) { goto __133 } Xsqlite3ErrorMsg(tls, pParse, ts+17421 /* "not a writable d..." */, 0) @@ -154898,7 +154898,7 @@ __132: if !(*(*int8)(unsafe.Pointer(zRight)) != 0) { goto __134 } - Xsqlite3_data_directory = Xsqlite3_mprintf(tls, ts+3630 /* "%s" */, libc.VaList(bp+48, zRight)) + Xsqlite3_data_directory = Xsqlite3_mprintf(tls, ts+3630 /* "%s" */, libc.VaList(bp+24, zRight)) goto __135 __134: Xsqlite3_data_directory = uintptr(0) @@ -155089,7 +155089,7 @@ __160: } return ts + 17507 /* "issisi" */ }(), - libc.VaList(bp+64, (i-nHidden), + libc.VaList(bp+32, (i-nHidden), (*Column)(unsafe.Pointer(pCol)).FzName, Xsqlite3ColumnType(tls, pCol, ts+755 /* "" */), func() int32 { @@ -155166,7 +155166,7 @@ __172: goto __174 } cnum = *(*I16)(unsafe.Pointer((*Index)(unsafe.Pointer(pIdx)).FaiColumn + uintptr(i1)*2)) - Xsqlite3VdbeMultiLoad(tls, v, 1, ts+17514 /* "iisX" */, libc.VaList(bp+128, i1, int32(cnum), + Xsqlite3VdbeMultiLoad(tls, v, 1, ts+17514 /* "iisX" */, libc.VaList(bp+88, i1, int32(cnum), func() uintptr { if int32(cnum) < 0 { return uintptr(0) @@ -155177,7 +155177,7 @@ __172: goto __175 } Xsqlite3VdbeMultiLoad(tls, v, 4, ts+17519, /* "isiX" */ - libc.VaList(bp+160, int32(*(*U8)(unsafe.Pointer((*Index)(unsafe.Pointer(pIdx)).FaSortOrder + uintptr(i1)))), + libc.VaList(bp+112, int32(*(*U8)(unsafe.Pointer((*Index)(unsafe.Pointer(pIdx)).FaSortOrder + uintptr(i1)))), *(*uintptr)(unsafe.Pointer((*Index)(unsafe.Pointer(pIdx)).FazColl + uintptr(i1)*8)), (libc.Bool32(i1 < int32((*Index)(unsafe.Pointer(pIdx)).FnKeyCol))))) __175: @@ -155213,12 +155213,12 @@ __178: if !(pIdx1 != 0) { goto __180 } - *(*[3]uintptr)(unsafe.Pointer(bp + 600 /* azOrigin */)) = [3]uintptr{ts + 17524 /* "c" */, ts + 17526 /* "u" */, ts + 16035 /* "pk" */} + *(*[3]uintptr)(unsafe.Pointer(bp + 448 /* azOrigin */)) = [3]uintptr{ts + 17524 /* "c" */, ts + 17526 /* "u" */, ts + 16035 /* "pk" */} Xsqlite3VdbeMultiLoad(tls, v, 1, ts+17528, /* "isisi" */ - libc.VaList(bp+192, i2, + libc.VaList(bp+136, i2, (*Index)(unsafe.Pointer(pIdx1)).FzName, (libc.Bool32(int32((*Index)(unsafe.Pointer((pIdx1))).FonError) != OE_None)), - *(*uintptr)(unsafe.Pointer(bp + 600 /* &azOrigin[0] */ + uintptr((uint32(int32(*(*uint16)(unsafe.Pointer(pIdx1 + 100 /* &.idxType */))&0x3>>0))))*8)), + *(*uintptr)(unsafe.Pointer(bp + 448 /* &azOrigin[0] */ + uintptr((uint32(int32(*(*uint16)(unsafe.Pointer(pIdx1 + 100 /* &.idxType */))&0x3>>0))))*8)), (libc.Bool32((*Index)(unsafe.Pointer(pIdx1)).FpPartIdxWhere != uintptr(0))))) goto __179 __179: @@ -155249,7 +155249,7 @@ __184: ; Xsqlite3VdbeMultiLoad(tls, v, 1, ts+17534, /* "iss" */ - libc.VaList(bp+240, i3, + libc.VaList(bp+176, i3, (*Db)(unsafe.Pointer((*Sqlite3)(unsafe.Pointer(db)).FaDb+uintptr(i3)*32)).FzDbSName, Xsqlite3BtreeGetFilename(tls, (*Db)(unsafe.Pointer((*Sqlite3)(unsafe.Pointer(db)).FaDb+uintptr(i3)*32)).FpBt))) goto __182 @@ -155271,7 +155271,7 @@ __185: goto __187 } pColl = (*HashElem)(unsafe.Pointer(p)).Fdata - Xsqlite3VdbeMultiLoad(tls, v, 1, ts+17538 /* "is" */, libc.VaList(bp+272, libc.PostIncInt32(&i4, 1), (*CollSeq)(unsafe.Pointer(pColl)).FzName)) + Xsqlite3VdbeMultiLoad(tls, v, 1, ts+17538 /* "is" */, libc.VaList(bp+200, libc.PostIncInt32(&i4, 1), (*CollSeq)(unsafe.Pointer(pColl)).FzName)) goto __186 __186: p = (*HashElem)(unsafe.Pointer(p)).Fnext @@ -155335,7 +155335,7 @@ __197: goto __199 } pMod = (*HashElem)(unsafe.Pointer(j1)).Fdata - Xsqlite3VdbeMultiLoad(tls, v, 1, ts+17382 /* "s" */, libc.VaList(bp+296, (*Module)(unsafe.Pointer(pMod)).FzName)) + Xsqlite3VdbeMultiLoad(tls, v, 1, ts+17382 /* "s" */, libc.VaList(bp+216, (*Module)(unsafe.Pointer(pMod)).FzName)) goto __198 __198: j1 = (*HashElem)(unsafe.Pointer(j1)).Fnext @@ -155352,7 +155352,7 @@ __200: if !(i6 < (int32(uint64(unsafe.Sizeof(aPragmaName)) / uint64(unsafe.Sizeof(PragmaName{}))))) { goto __202 } - Xsqlite3VdbeMultiLoad(tls, v, 1, ts+17382 /* "s" */, libc.VaList(bp+312, aPragmaName[i6].FzName)) + Xsqlite3VdbeMultiLoad(tls, v, 1, ts+17382 /* "s" */, libc.VaList(bp+224, aPragmaName[i6].FzName)) goto __201 __201: i6++ @@ -155389,7 +155389,7 @@ __208: goto __210 } Xsqlite3VdbeMultiLoad(tls, v, 1, ts+17541, /* "iissssss" */ - libc.VaList(bp+328, i7, + libc.VaList(bp+232, i7, j2, (*FKey)(unsafe.Pointer(pFK)).FzTo, (*Column)(unsafe.Pointer((*Table)(unsafe.Pointer(pTab3)).FaCol+uintptr((*sColMap)(unsafe.Pointer((pFK+64 /* &.aCol */)+uintptr(j2)*16)).FiFrom)*32)).FzName, @@ -155470,20 +155470,20 @@ __217: goto __218 __220: ; - *(*uintptr)(unsafe.Pointer(bp + 624 /* pIdx2 */)) = uintptr(0) + *(*uintptr)(unsafe.Pointer(bp + 472 /* pIdx2 */)) = uintptr(0) Xsqlite3TableLock(tls, pParse, iDb, (*Table)(unsafe.Pointer(pParent)).Ftnum, uint8(0), (*Table)(unsafe.Pointer(pParent)).FzName) - x1 = Xsqlite3FkLocateIndex(tls, pParse, pParent, pFK1, bp+624 /* &pIdx2 */, uintptr(0)) + x1 = Xsqlite3FkLocateIndex(tls, pParse, pParent, pFK1, bp+472 /* &pIdx2 */, uintptr(0)) if !(x1 == 0) { goto __221 } - if !(*(*uintptr)(unsafe.Pointer(bp + 624 /* pIdx2 */)) == uintptr(0)) { + if !(*(*uintptr)(unsafe.Pointer(bp + 472 /* pIdx2 */)) == uintptr(0)) { goto __223 } Xsqlite3OpenTable(tls, pParse, i8, iDb, pParent, OP_OpenRead) goto __224 __223: - Xsqlite3VdbeAddOp3(tls, v, OP_OpenRead, i8, int32((*Index)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp + 624 /* pIdx2 */)))).Ftnum), iDb) - Xsqlite3VdbeSetP4KeyInfo(tls, pParse, *(*uintptr)(unsafe.Pointer(bp + 624 /* pIdx2 */))) + Xsqlite3VdbeAddOp3(tls, v, OP_OpenRead, i8, int32((*Index)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp + 472 /* pIdx2 */)))).Ftnum), iDb) + Xsqlite3VdbeSetP4KeyInfo(tls, pParse, *(*uintptr)(unsafe.Pointer(bp + 472 /* pIdx2 */))) __224: ; goto __222 @@ -155521,12 +155521,12 @@ __227: goto __229 } pParent = Xsqlite3FindTable(tls, db, (*FKey)(unsafe.Pointer(pFK1)).FzTo, zDb) - *(*uintptr)(unsafe.Pointer(bp + 624 /* pIdx2 */)) = uintptr(0) - *(*uintptr)(unsafe.Pointer(bp + 632 /* aiCols */)) = uintptr(0) + *(*uintptr)(unsafe.Pointer(bp + 472 /* pIdx2 */)) = uintptr(0) + *(*uintptr)(unsafe.Pointer(bp + 480 /* aiCols */)) = uintptr(0) if !(pParent != 0) { goto __230 } - x1 = Xsqlite3FkLocateIndex(tls, pParse, pParent, pFK1, bp+624 /* &pIdx2 */, bp+632 /* &aiCols */) + x1 = Xsqlite3FkLocateIndex(tls, pParse, pParent, pFK1, bp+472 /* &pIdx2 */, bp+480 /* &aiCols */) __230: ; @@ -155541,8 +155541,8 @@ __231: if !(j3 < (*FKey)(unsafe.Pointer(pFK1)).FnCol) { goto __233 } - if *(*uintptr)(unsafe.Pointer(bp + 632 /* aiCols */)) != 0 { - iCol = *(*int32)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp + 632 /* aiCols */)) + uintptr(j3)*4)) + if *(*uintptr)(unsafe.Pointer(bp + 480 /* aiCols */)) != 0 { + iCol = *(*int32)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp + 480 /* aiCols */)) + uintptr(j3)*4)) } else { iCol = (*sColMap)(unsafe.Pointer((pFK1 + 64 /* &.aCol */) + uintptr(j3)*16)).FiFrom } @@ -155558,11 +155558,11 @@ __233: // Generate code to query the parent index for a matching parent // key. If a match is found, jump to addrOk. - if !(*(*uintptr)(unsafe.Pointer(bp + 624 /* pIdx2 */)) != 0) { + if !(*(*uintptr)(unsafe.Pointer(bp + 472 /* pIdx2 */)) != 0) { goto __234 } Xsqlite3VdbeAddOp4(tls, v, OP_MakeRecord, regRow, (*FKey)(unsafe.Pointer(pFK1)).FnCol, regKey, - Xsqlite3IndexAffinityStr(tls, db, *(*uintptr)(unsafe.Pointer(bp + 624 /* pIdx2 */))), (*FKey)(unsafe.Pointer(pFK1)).FnCol) + Xsqlite3IndexAffinityStr(tls, db, *(*uintptr)(unsafe.Pointer(bp + 472 /* pIdx2 */))), (*FKey)(unsafe.Pointer(pFK1)).FnCol) Xsqlite3VdbeAddOp4Int(tls, v, OP_Found, i8, addrOk, regKey, 0) goto __235 @@ -155589,10 +155589,10 @@ __237: Xsqlite3VdbeAddOp2(tls, v, OP_Null, 0, (regResult + 1)) __238: ; - Xsqlite3VdbeMultiLoad(tls, v, (regResult + 2), ts+17555 /* "siX" */, libc.VaList(bp+400, (*FKey)(unsafe.Pointer(pFK1)).FzTo, (i8-1))) + Xsqlite3VdbeMultiLoad(tls, v, (regResult + 2), ts+17555 /* "siX" */, libc.VaList(bp+296, (*FKey)(unsafe.Pointer(pFK1)).FzTo, (i8-1))) Xsqlite3VdbeAddOp2(tls, v, OP_ResultRow, regResult, 4) Xsqlite3VdbeResolveLabel(tls, v, addrOk) - Xsqlite3DbFree(tls, db, *(*uintptr)(unsafe.Pointer(bp + 632 /* aiCols */))) + Xsqlite3DbFree(tls, db, *(*uintptr)(unsafe.Pointer(bp + 480 /* aiCols */))) goto __228 __228: i8++ @@ -155670,17 +155670,17 @@ __240: (*Parse)(unsafe.Pointer(pParse)).FnMem = 6 // Set the maximum error count - *(*int32)(unsafe.Pointer(bp + 640 /* mxErr */)) = SQLITE_INTEGRITY_CHECK_ERROR_MAX + *(*int32)(unsafe.Pointer(bp + 488 /* mxErr */)) = SQLITE_INTEGRITY_CHECK_ERROR_MAX if !(zRight != 0) { goto __241 } - if !(Xsqlite3GetInt32(tls, zRight, bp+640 /* &mxErr */) != 0) { + if !(Xsqlite3GetInt32(tls, zRight, bp+488 /* &mxErr */) != 0) { goto __242 } - if !(*(*int32)(unsafe.Pointer(bp + 640 /* mxErr */)) <= 0) { + if !(*(*int32)(unsafe.Pointer(bp + 488 /* mxErr */)) <= 0) { goto __244 } - *(*int32)(unsafe.Pointer(bp + 640 /* mxErr */)) = SQLITE_INTEGRITY_CHECK_ERROR_MAX + *(*int32)(unsafe.Pointer(bp + 488 /* mxErr */)) = SQLITE_INTEGRITY_CHECK_ERROR_MAX __244: ; goto __243 @@ -155696,7 +155696,7 @@ __243: ; __241: ; - Xsqlite3VdbeAddOp2(tls, v, OP_Integer, (*(*int32)(unsafe.Pointer(bp + 640 /* mxErr */)) - 1), 1) // reg[1] holds errors left + Xsqlite3VdbeAddOp2(tls, v, OP_Integer, (*(*int32)(unsafe.Pointer(bp + 488 /* mxErr */)) - 1), 1) // reg[1] holds errors left // Do an integrity check on each database file i9 = 0 @@ -155855,7 +155855,7 @@ __265: Xsqlite3VdbeChangeP5(tls, v, uint16(U8(i9))) addr1 = Xsqlite3VdbeAddOp1(tls, v, OP_IsNull, 2) Xsqlite3VdbeAddOp4(tls, v, OP_String8, 0, 3, 0, - Xsqlite3MPrintf(tls, db, ts+17559 /* "*** in database ..." */, libc.VaList(bp+424, (*Db)(unsafe.Pointer((*Sqlite3)(unsafe.Pointer(db)).FaDb+uintptr(i9)*32)).FzDbSName)), + Xsqlite3MPrintf(tls, db, ts+17559 /* "*** in database ..." */, libc.VaList(bp+312, (*Db)(unsafe.Pointer((*Sqlite3)(unsafe.Pointer(db)).FaDb+uintptr(i9)*32)).FzDbSName)), -7) Xsqlite3VdbeAddOp3(tls, v, OP_Concat, 2, 3, 3) integrityCheckResultRow(tls, v) @@ -155889,7 +155889,7 @@ __275: pPk1 = Xsqlite3PrimaryKeyIndex(tls, pTab7) } Xsqlite3OpenTableAndIndices(tls, pParse, pTab7, OP_OpenRead, uint8(0), - 1, uintptr(0), bp+644 /* &iDataCur */, bp+648 /* &iIdxCur */) + 1, uintptr(0), bp+492 /* &iDataCur */, bp+496 /* &iIdxCur */) // reg[7] counts the number of entries in the table. // reg[8+i] counts the number of entries in the i-th index Xsqlite3VdbeAddOp2(tls, v, OP_Integer, 0, 7) @@ -155909,13 +155909,13 @@ __277: __278: ; - Xsqlite3VdbeAddOp2(tls, v, OP_Rewind, *(*int32)(unsafe.Pointer(bp + 644 /* iDataCur */)), 0) + Xsqlite3VdbeAddOp2(tls, v, OP_Rewind, *(*int32)(unsafe.Pointer(bp + 492 /* iDataCur */)), 0) loopTop = Xsqlite3VdbeAddOp2(tls, v, OP_AddImm, 7, 1) if !(!(isQuick != 0)) { goto __279 } // Sanity check on record header decoding - Xsqlite3VdbeAddOp3(tls, v, OP_Column, *(*int32)(unsafe.Pointer(bp + 644 /* iDataCur */)), (int32((*Table)(unsafe.Pointer(pTab7)).FnNVCol) - 1), 3) + Xsqlite3VdbeAddOp3(tls, v, OP_Column, *(*int32)(unsafe.Pointer(bp + 492 /* iDataCur */)), (int32((*Table)(unsafe.Pointer(pTab7)).FnNVCol) - 1), 3) Xsqlite3VdbeChangeP5(tls, v, uint16(OPFLAG_TYPEOFARG)) __279: ; @@ -155937,7 +155937,7 @@ __283: goto __281 __284: ; - Xsqlite3ExprCodeGetColumnOfTable(tls, v, pTab7, *(*int32)(unsafe.Pointer(bp + 644 /* iDataCur */)), j4, 3) + Xsqlite3ExprCodeGetColumnOfTable(tls, v, pTab7, *(*int32)(unsafe.Pointer(bp + 492 /* iDataCur */)), j4, 3) if !(int32((*VdbeOp)(unsafe.Pointer(Xsqlite3VdbeGetOp(tls, v, -1))).Fopcode) == OP_Column) { goto __285 } @@ -155945,7 +155945,7 @@ __284: __285: ; jmp2 = Xsqlite3VdbeAddOp1(tls, v, OP_NotNull, 3) - zErr = Xsqlite3MPrintf(tls, db, ts+17583 /* "NULL value in %s..." */, libc.VaList(bp+440, (*Table)(unsafe.Pointer(pTab7)).FzName, + zErr = Xsqlite3MPrintf(tls, db, ts+17583 /* "NULL value in %s..." */, libc.VaList(bp+320, (*Table)(unsafe.Pointer(pTab7)).FzName, (*Column)(unsafe.Pointer((*Table)(unsafe.Pointer(pTab7)).FaCol+uintptr(j4)*32)).FzName)) Xsqlite3VdbeAddOp4(tls, v, OP_String8, 0, 3, 0, zErr, -7) integrityCheckResultRow(tls, v) @@ -155967,7 +155967,7 @@ __282: } addrCkFault = Xsqlite3VdbeMakeLabel(tls, pParse) addrCkOk = Xsqlite3VdbeMakeLabel(tls, pParse) - (*Parse)(unsafe.Pointer(pParse)).FiSelfTab = (*(*int32)(unsafe.Pointer(bp + 644 /* iDataCur */)) + 1) + (*Parse)(unsafe.Pointer(pParse)).FiSelfTab = (*(*int32)(unsafe.Pointer(bp + 492 /* iDataCur */)) + 1) k2 = ((*ExprList)(unsafe.Pointer(pCheck)).FnExpr - 1) __288: if !(k2 > 0) { @@ -155986,7 +155986,7 @@ __290: Xsqlite3VdbeResolveLabel(tls, v, addrCkFault) (*Parse)(unsafe.Pointer(pParse)).FiSelfTab = 0 zErr1 = Xsqlite3MPrintf(tls, db, ts+17603, /* "CHECK constraint..." */ - libc.VaList(bp+464, (*Table)(unsafe.Pointer(pTab7)).FzName)) + libc.VaList(bp+336, (*Table)(unsafe.Pointer(pTab7)).FzName)) Xsqlite3VdbeAddOp4(tls, v, OP_String8, 0, 3, 0, zErr1, -7) integrityCheckResultRow(tls, v) Xsqlite3VdbeResolveLabel(tls, v, addrCkOk) @@ -156012,12 +156012,12 @@ __292: goto __293 __295: ; - r1 = Xsqlite3GenerateIndexKey(tls, pParse, pIdx5, *(*int32)(unsafe.Pointer(bp + 644 /* iDataCur */)), 0, 0, bp+652, /* &jmp3 */ + r1 = Xsqlite3GenerateIndexKey(tls, pParse, pIdx5, *(*int32)(unsafe.Pointer(bp + 492 /* iDataCur */)), 0, 0, bp+500, /* &jmp3 */ pPrior, r1) pPrior = pIdx5 Xsqlite3VdbeAddOp2(tls, v, OP_AddImm, (8 + j4), 1) // increment entry count // Verify that an index entry exists for the current table row - jmp21 = Xsqlite3VdbeAddOp4Int(tls, v, OP_Found, (*(*int32)(unsafe.Pointer(bp + 648 /* iIdxCur */)) + j4), ckUniq, r1, + jmp21 = Xsqlite3VdbeAddOp4Int(tls, v, OP_Found, (*(*int32)(unsafe.Pointer(bp + 496 /* iIdxCur */)) + j4), ckUniq, r1, int32((*Index)(unsafe.Pointer(pIdx5)).FnColumn)) Xsqlite3VdbeLoadString(tls, v, 3, ts+17633 /* "row " */) Xsqlite3VdbeAddOp3(tls, v, OP_Concat, 7, 3, 3) @@ -156056,10 +156056,10 @@ __298: goto __299 __299: ; - jmp6 = Xsqlite3VdbeAddOp1(tls, v, OP_Next, (*(*int32)(unsafe.Pointer(bp + 648 /* iIdxCur */)) + j4)) + jmp6 = Xsqlite3VdbeAddOp1(tls, v, OP_Next, (*(*int32)(unsafe.Pointer(bp + 496 /* iIdxCur */)) + j4)) Xsqlite3VdbeGoto(tls, v, uniqOk) Xsqlite3VdbeJumpHere(tls, v, jmp6) - Xsqlite3VdbeAddOp4Int(tls, v, OP_IdxGT, (*(*int32)(unsafe.Pointer(bp + 648 /* iIdxCur */)) + j4), uniqOk, r1, + Xsqlite3VdbeAddOp4Int(tls, v, OP_IdxGT, (*(*int32)(unsafe.Pointer(bp + 496 /* iIdxCur */)) + j4), uniqOk, r1, int32((*Index)(unsafe.Pointer(pIdx5)).FnKeyCol)) Xsqlite3VdbeLoadString(tls, v, 3, ts+17659 /* "non-unique entry..." */) Xsqlite3VdbeGoto(tls, v, jmp5) @@ -156067,7 +156067,7 @@ __299: __296: ; Xsqlite3VdbeJumpHere(tls, v, jmp4) - Xsqlite3ResolvePartIdxLabel(tls, pParse, *(*int32)(unsafe.Pointer(bp + 652 /* jmp3 */))) + Xsqlite3ResolvePartIdxLabel(tls, pParse, *(*int32)(unsafe.Pointer(bp + 500 /* jmp3 */))) goto __293 __293: pIdx5 = (*Index)(unsafe.Pointer(pIdx5)).FpNext @@ -156078,7 +156078,7 @@ __294: ; __291: ; - Xsqlite3VdbeAddOp2(tls, v, OP_Next, *(*int32)(unsafe.Pointer(bp + 644 /* iDataCur */)), loopTop) + Xsqlite3VdbeAddOp2(tls, v, OP_Next, *(*int32)(unsafe.Pointer(bp + 492 /* iDataCur */)), loopTop) Xsqlite3VdbeJumpHere(tls, v, (loopTop - 1)) if !(!(isQuick != 0)) { goto __301 @@ -156096,7 +156096,7 @@ __302: goto __303 __305: ; - Xsqlite3VdbeAddOp2(tls, v, OP_Count, (*(*int32)(unsafe.Pointer(bp + 648 /* iIdxCur */)) + j4), 3) + Xsqlite3VdbeAddOp2(tls, v, OP_Count, (*(*int32)(unsafe.Pointer(bp + 496 /* iIdxCur */)) + j4), 3) addr1 = Xsqlite3VdbeAddOp3(tls, v, OP_Eq, (8 + j4), 0, 3) Xsqlite3VdbeChangeP5(tls, v, uint16(SQLITE_NOTNULL)) Xsqlite3VdbeLoadString(tls, v, 4, (*Index)(unsafe.Pointer(pIdx5)).FzName) @@ -156132,7 +156132,7 @@ __247: if !(aOp2 != 0) { goto __306 } - (*VdbeOp)(unsafe.Pointer(aOp2)).Fp2 = (1 - *(*int32)(unsafe.Pointer(bp + 640 /* mxErr */))) + (*VdbeOp)(unsafe.Pointer(aOp2)).Fp2 = (1 - *(*int32)(unsafe.Pointer(bp + 488 /* mxErr */))) (*VdbeOp)(unsafe.Pointer(aOp2 + 2*24)).Fp4type = int8(-1) *(*uintptr)(unsafe.Pointer(aOp2 + 2*24 + 16 /* &.p4 */)) = ts + 17715 /* "ok" */ (*VdbeOp)(unsafe.Pointer(aOp2 + 5*24)).Fp4type = int8(-1) @@ -156212,7 +156212,7 @@ __313: if !(!(int32((*EncName)(unsafe.Pointer(pEnc)).FzName) != 0)) { goto __315 } - Xsqlite3ErrorMsg(tls, pParse, ts+17718 /* "unsupported enco..." */, libc.VaList(bp+480, zRight)) + Xsqlite3ErrorMsg(tls, pParse, ts+17718 /* "unsupported enco..." */, libc.VaList(bp+344, zRight)) __315: ; __310: @@ -156524,7 +156524,7 @@ __342: __344: ; zSubSql = Xsqlite3MPrintf(tls, db, ts+17751, /* "ANALYZE \"%w\".\"%w..." */ - libc.VaList(bp+496, (*Db)(unsafe.Pointer((*Sqlite3)(unsafe.Pointer(db)).FaDb+uintptr(iDb)*32)).FzDbSName, (*Table)(unsafe.Pointer(pTab8)).FzName)) + libc.VaList(bp+352, (*Db)(unsafe.Pointer((*Sqlite3)(unsafe.Pointer(db)).FaDb+uintptr(iDb)*32)).FzDbSName, (*Table)(unsafe.Pointer(pTab8)).FzName)) if !((opMask & U32(0x01)) != 0) { goto __345 } @@ -156582,10 +156582,10 @@ __347: // returns the same integer that would be returned by the // sqlite3_soft_heap_limit64(-1) C-language function. __53: - if !((zRight != 0) && (Xsqlite3DecOrHexToI64(tls, zRight, bp+656 /* &N */) == SQLITE_OK)) { + if !((zRight != 0) && (Xsqlite3DecOrHexToI64(tls, zRight, bp+504 /* &N */) == SQLITE_OK)) { goto __348 } - Xsqlite3_soft_heap_limit64(tls, *(*Sqlite3_int64)(unsafe.Pointer(bp + 656 /* N */))) + Xsqlite3_soft_heap_limit64(tls, *(*Sqlite3_int64)(unsafe.Pointer(bp + 504 /* N */))) __348: ; returnSingleInt(tls, v, Xsqlite3_soft_heap_limit64(tls, int64(-1))) @@ -156601,14 +156601,14 @@ __348: // the hard heap limit. This allows an application to set a heap limit // constraint that cannot be relaxed by an untrusted SQL script. __54: - if !((zRight != 0) && (Xsqlite3DecOrHexToI64(tls, zRight, bp+664 /* &N1 */) == SQLITE_OK)) { + if !((zRight != 0) && (Xsqlite3DecOrHexToI64(tls, zRight, bp+512 /* &N1 */) == SQLITE_OK)) { goto __349 } iPrior = Xsqlite3_hard_heap_limit64(tls, int64(-1)) - if !((*(*Sqlite3_int64)(unsafe.Pointer(bp + 664 /* N1 */)) > int64(0)) && ((iPrior == int64(0)) || (iPrior > *(*Sqlite3_int64)(unsafe.Pointer(bp + 664 /* N1 */))))) { + if !((*(*Sqlite3_int64)(unsafe.Pointer(bp + 512 /* N1 */)) > int64(0)) && ((iPrior == int64(0)) || (iPrior > *(*Sqlite3_int64)(unsafe.Pointer(bp + 512 /* N1 */))))) { goto __350 } - Xsqlite3_hard_heap_limit64(tls, *(*Sqlite3_int64)(unsafe.Pointer(bp + 664 /* N1 */))) + Xsqlite3_hard_heap_limit64(tls, *(*Sqlite3_int64)(unsafe.Pointer(bp + 512 /* N1 */))) __350: ; __349: @@ -156623,11 +156623,11 @@ __349: // maximum, which might be less than requested. __55: if !(((zRight != 0) && - (Xsqlite3DecOrHexToI64(tls, zRight, bp+672 /* &N2 */) == SQLITE_OK)) && - (*(*Sqlite3_int64)(unsafe.Pointer(bp + 672 /* N2 */)) >= int64(0))) { + (Xsqlite3DecOrHexToI64(tls, zRight, bp+520 /* &N2 */) == SQLITE_OK)) && + (*(*Sqlite3_int64)(unsafe.Pointer(bp + 520 /* N2 */)) >= int64(0))) { goto __351 } - Xsqlite3_limit(tls, db, SQLITE_LIMIT_WORKER_THREADS, (int32(*(*Sqlite3_int64)(unsafe.Pointer(bp + 672 /* N2 */)) & int64(0x7fffffff)))) + Xsqlite3_limit(tls, db, SQLITE_LIMIT_WORKER_THREADS, (int32(*(*Sqlite3_int64)(unsafe.Pointer(bp + 520 /* N2 */)) & int64(0x7fffffff)))) __351: ; returnSingleInt(tls, v, int64(Xsqlite3_limit(tls, db, SQLITE_LIMIT_WORKER_THREADS, -1))) @@ -156640,11 +156640,11 @@ __351: // in each index that it looks at. Return the new limit. __56: if !(((zRight != 0) && - (Xsqlite3DecOrHexToI64(tls, zRight, bp+680 /* &N3 */) == SQLITE_OK)) && - (*(*Sqlite3_int64)(unsafe.Pointer(bp + 680 /* N3 */)) >= int64(0))) { + (Xsqlite3DecOrHexToI64(tls, zRight, bp+528 /* &N3 */) == SQLITE_OK)) && + (*(*Sqlite3_int64)(unsafe.Pointer(bp + 528 /* N3 */)) >= int64(0))) { goto __352 } - (*Sqlite3)(unsafe.Pointer(db)).FnAnalysisLimit = (int32(*(*Sqlite3_int64)(unsafe.Pointer(bp + 680 /* N3 */)) & int64(0x7fffffff))) + (*Sqlite3)(unsafe.Pointer(db)).FnAnalysisLimit = (int32(*(*Sqlite3_int64)(unsafe.Pointer(bp + 528 /* N3 */)) & int64(0x7fffffff))) __352: ; returnSingleInt(tls, v, int64((*Sqlite3)(unsafe.Pointer(db)).FnAnalysisLimit)) @@ -156755,8 +156755,8 @@ type PragmaVtabCursor = PragmaVtabCursor1 /* sqlite3.c:130741:33 */ // Pragma virtual table module xConnect method. func pragmaVtabConnect(tls *libc.TLS, db uintptr, pAux uintptr, argc int32, argv uintptr, ppVtab uintptr, pzErr uintptr) int32 { /* sqlite3.c:130759:12: */ - bp := tls.Alloc(288) - defer tls.Free(288) + bp := tls.Alloc(264) + defer tls.Free(264) var pPragma uintptr = pAux var pTab uintptr = uintptr(0) @@ -156764,14 +156764,14 @@ func pragmaVtabConnect(tls *libc.TLS, db uintptr, pAux uintptr, argc int32, argv var i int32 var j int32 var cSep int8 = int8('(') - // var acc StrAccum at bp+56, 32 + // var acc StrAccum at bp+32, 32 - // var zBuf [200]int8 at bp+88, 200 + // var zBuf [200]int8 at bp+64, 200 _ = argc _ = argv - Xsqlite3StrAccumInit(tls, bp+56 /* &acc */, uintptr(0), bp+88 /* &zBuf[0] */, int32(unsafe.Sizeof([200]int8{})), 0) - Xsqlite3_str_appendall(tls, bp+56 /* &acc */, ts+17827 /* "CREATE TABLE x" */) + Xsqlite3StrAccumInit(tls, bp+32 /* &acc */, uintptr(0), bp+64 /* &zBuf[0] */, int32(unsafe.Sizeof([200]int8{})), 0) + Xsqlite3_str_appendall(tls, bp+32 /* &acc */, ts+17827 /* "CREATE TABLE x" */) i = 0 j = int32((*PragmaName)(unsafe.Pointer(pPragma)).FiPragCName) __1: @@ -156779,7 +156779,7 @@ __1: goto __3 } { - Xsqlite3_str_appendf(tls, bp+56 /* &acc */, ts+17842 /* "%c\"%s\"" */, libc.VaList(bp, int32(cSep), pragCName[j])) + Xsqlite3_str_appendf(tls, bp+32 /* &acc */, ts+17842 /* "%c\"%s\"" */, libc.VaList(bp, int32(cSep), pragCName[j])) cSep = int8(',') } @@ -156792,22 +156792,22 @@ __2: __3: ; if i == 0 { - Xsqlite3_str_appendf(tls, bp+56 /* &acc */, ts+17849 /* "(\"%s\"" */, libc.VaList(bp+24, (*PragmaName)(unsafe.Pointer(pPragma)).FzName)) + Xsqlite3_str_appendf(tls, bp+32 /* &acc */, ts+17849 /* "(\"%s\"" */, libc.VaList(bp+16, (*PragmaName)(unsafe.Pointer(pPragma)).FzName)) i++ } j = 0 if (int32((*PragmaName)(unsafe.Pointer(pPragma)).FmPragFlg) & PragFlg_Result1) != 0 { - Xsqlite3_str_appendall(tls, bp+56 /* &acc */, ts+17855 /* ",arg HIDDEN" */) + Xsqlite3_str_appendall(tls, bp+32 /* &acc */, ts+17855 /* ",arg HIDDEN" */) j++ } if (int32((*PragmaName)(unsafe.Pointer(pPragma)).FmPragFlg) & (PragFlg_SchemaOpt | PragFlg_SchemaReq)) != 0 { - Xsqlite3_str_appendall(tls, bp+56 /* &acc */, ts+17867 /* ",schema HIDDEN" */) + Xsqlite3_str_appendall(tls, bp+32 /* &acc */, ts+17867 /* ",schema HIDDEN" */) j++ } - Xsqlite3_str_append(tls, bp+56 /* &acc */, ts+5428 /* ")" */, 1) - Xsqlite3StrAccumFinish(tls, bp+56 /* &acc */) + Xsqlite3_str_append(tls, bp+32 /* &acc */, ts+5428 /* ")" */, 1) + Xsqlite3StrAccumFinish(tls, bp+32 /* &acc */) - rc = Xsqlite3_declare_vtab(tls, db, bp+88 /* &zBuf[0] */) + rc = Xsqlite3_declare_vtab(tls, db, bp+64 /* &zBuf[0] */) if rc == SQLITE_OK { pTab = Xsqlite3_malloc(tls, int32(unsafe.Sizeof(PragmaVtab{}))) if pTab == uintptr(0) { @@ -156820,7 +156820,7 @@ __3: (*PragmaVtab)(unsafe.Pointer(pTab)).FnHidden = U8(j) } } else { - *(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3_mprintf(tls, ts+3630 /* "%s" */, libc.VaList(bp+40, Xsqlite3_errmsg(tls, db))) + *(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3_mprintf(tls, ts+3630 /* "%s" */, libc.VaList(bp+24, Xsqlite3_errmsg(tls, db))) } *(*uintptr)(unsafe.Pointer(ppVtab)) = pTab @@ -156954,15 +156954,15 @@ func pragmaVtabNext(tls *libc.TLS, pVtabCursor uintptr) int32 { /* sqlite3.c:130 // Pragma virtual table module xFilter method. func pragmaVtabFilter(tls *libc.TLS, pVtabCursor uintptr, idxNum int32, idxStr uintptr, argc int32, argv uintptr) int32 { /* sqlite3.c:130919:12: */ - bp := tls.Alloc(96) - defer tls.Free(96) + bp := tls.Alloc(64) + defer tls.Free(64) var pCsr uintptr = pVtabCursor var pTab uintptr = (*Sqlite3_vtab_cursor)(unsafe.Pointer(pVtabCursor)).FpVtab var rc int32 var i int32 var j int32 - // var acc StrAccum at bp+64, 32 + // var acc StrAccum at bp+32, 32 var zSql uintptr @@ -156998,23 +156998,23 @@ __2: goto __3 __3: ; - Xsqlite3StrAccumInit(tls, bp+64 /* &acc */, uintptr(0), uintptr(0), 0, *(*int32)(unsafe.Pointer(((*PragmaVtab)(unsafe.Pointer(pTab)).Fdb + 128 /* &.aLimit */) + 1*4))) - Xsqlite3_str_appendall(tls, bp+64 /* &acc */, ts+17882 /* "PRAGMA " */) + Xsqlite3StrAccumInit(tls, bp+32 /* &acc */, uintptr(0), uintptr(0), 0, *(*int32)(unsafe.Pointer(((*PragmaVtab)(unsafe.Pointer(pTab)).Fdb + 128 /* &.aLimit */) + 1*4))) + Xsqlite3_str_appendall(tls, bp+32 /* &acc */, ts+17882 /* "PRAGMA " */) if *(*uintptr)(unsafe.Pointer((pCsr + 24 /* &.azArg */) + 1*8)) != 0 { - Xsqlite3_str_appendf(tls, bp+64 /* &acc */, ts+17890 /* "%Q." */, libc.VaList(bp+16, *(*uintptr)(unsafe.Pointer((pCsr + 24 /* &.azArg */) + 1*8)))) + Xsqlite3_str_appendf(tls, bp+32 /* &acc */, ts+17890 /* "%Q." */, libc.VaList(bp+8, *(*uintptr)(unsafe.Pointer((pCsr + 24 /* &.azArg */) + 1*8)))) } - Xsqlite3_str_appendall(tls, bp+64 /* &acc */, (*PragmaName)(unsafe.Pointer((*PragmaVtab)(unsafe.Pointer(pTab)).FpName)).FzName) + Xsqlite3_str_appendall(tls, bp+32 /* &acc */, (*PragmaName)(unsafe.Pointer((*PragmaVtab)(unsafe.Pointer(pTab)).FpName)).FzName) if *(*uintptr)(unsafe.Pointer((pCsr + 24 /* &.azArg */))) != 0 { - Xsqlite3_str_appendf(tls, bp+64 /* &acc */, ts+17894 /* "=%Q" */, libc.VaList(bp+32, *(*uintptr)(unsafe.Pointer((pCsr + 24 /* &.azArg */))))) + Xsqlite3_str_appendf(tls, bp+32 /* &acc */, ts+17894 /* "=%Q" */, libc.VaList(bp+16, *(*uintptr)(unsafe.Pointer((pCsr + 24 /* &.azArg */))))) } - zSql = Xsqlite3StrAccumFinish(tls, bp+64 /* &acc */) + zSql = Xsqlite3StrAccumFinish(tls, bp+32 /* &acc */) if zSql == uintptr(0) { return SQLITE_NOMEM } rc = Xsqlite3_prepare_v2(tls, (*PragmaVtab)(unsafe.Pointer(pTab)).Fdb, zSql, -1, (pCsr + 8 /* &.pPragma */), uintptr(0)) Xsqlite3_free(tls, zSql) if rc != SQLITE_OK { - (*PragmaVtab)(unsafe.Pointer(pTab)).Fbase.FzErrMsg = Xsqlite3_mprintf(tls, ts+3630 /* "%s" */, libc.VaList(bp+48, Xsqlite3_errmsg(tls, (*PragmaVtab)(unsafe.Pointer(pTab)).Fdb))) + (*PragmaVtab)(unsafe.Pointer(pTab)).Fbase.FzErrMsg = Xsqlite3_mprintf(tls, ts+3630 /* "%s" */, libc.VaList(bp+24, Xsqlite3_errmsg(tls, (*PragmaVtab)(unsafe.Pointer(pTab)).Fdb))) return rc } return pragmaVtabNext(tls, pVtabCursor) @@ -157097,8 +157097,8 @@ func Xsqlite3PragmaVtabRegister(tls *libc.TLS, db uintptr, zName uintptr) uintpt // Fill the InitData structure with an error message that indicates // that the database is corrupt. func corruptSchema(tls *libc.TLS, pData uintptr, azObj uintptr, zExtra uintptr) { /* sqlite3.c:131071:13: */ - bp := tls.Alloc(80) - defer tls.Free(80) + bp := tls.Alloc(56) + defer tls.Free(56) var db uintptr = (*InitData)(unsafe.Pointer(pData)).Fdb if (*Sqlite3)(unsafe.Pointer(db)).FmallocFailed != 0 { @@ -157126,9 +157126,9 @@ func corruptSchema(tls *libc.TLS, pData uintptr, azObj uintptr, zExtra uintptr) } else { zObj = ts + 5484 /* "?" */ } - z = Xsqlite3MPrintf(tls, db, ts+17945 /* "malformed databa..." */, libc.VaList(bp+40, zObj)) + z = Xsqlite3MPrintf(tls, db, ts+17945 /* "malformed databa..." */, libc.VaList(bp+32, zObj)) if (zExtra != 0) && (*(*int8)(unsafe.Pointer(zExtra)) != 0) { - z = Xsqlite3MPrintf(tls, db, ts+17976 /* "%z - %s" */, libc.VaList(bp+56, z, zExtra)) + z = Xsqlite3MPrintf(tls, db, ts+17976 /* "%z - %s" */, libc.VaList(bp+40, z, zExtra)) } *(*uintptr)(unsafe.Pointer((*InitData)(unsafe.Pointer(pData)).FpzErrMsg)) = z (*InitData)(unsafe.Pointer(pData)).Frc = Xsqlite3CorruptError(tls, 131096) @@ -157262,18 +157262,18 @@ func Xsqlite3InitCallback(tls *libc.TLS, pInit uintptr, argc int32, argv uintptr // auxiliary databases. Return one of the SQLITE_ error codes to // indicate success or failure. func Xsqlite3InitOne(tls *libc.TLS, db uintptr, iDb int32, pzErrMsg uintptr, mFlags U32) int32 { /* sqlite3.c:131241:20: */ - bp := tls.Alloc(132) - defer tls.Free(132) + bp := tls.Alloc(124) + defer tls.Free(124) var rc int32 var i int32 var size int32 var pDb uintptr - // var azArg [6]uintptr at bp+24, 48 + // var azArg [6]uintptr at bp+16, 48 - // var meta [5]int32 at bp+112, 20 + // var meta [5]int32 at bp+104, 20 - // var initData InitData at bp+72, 40 + // var initData InitData at bp+64, 40 var zSchemaTabName uintptr var openedTransaction int32 @@ -157291,30 +157291,30 @@ func Xsqlite3InitOne(tls *libc.TLS, db uintptr, iDb int32, pzErrMsg uintptr, mFl // table name will be inserted automatically by the parser so we can just // use the abbreviation "x" here. The parser will also automatically tag // the schema table as read-only. - *(*uintptr)(unsafe.Pointer(bp + 24 /* &azArg[0] */)) = ts + 9185 /* "table" */ - *(*uintptr)(unsafe.Pointer(bp + 24 /* &azArg[0] */ + 1*8)) = libc.AssignUintptr(&zSchemaTabName, func() uintptr { + *(*uintptr)(unsafe.Pointer(bp + 16 /* &azArg[0] */)) = ts + 9185 /* "table" */ + *(*uintptr)(unsafe.Pointer(bp + 16 /* &azArg[0] */ + 1*8)) = libc.AssignUintptr(&zSchemaTabName, func() uintptr { if (!(0 != 0)) && (iDb == 1) { return ts + 12234 /* "sqlite_temp_mast..." */ } return ts + 6318 /* "sqlite_master" */ }()) - *(*uintptr)(unsafe.Pointer(bp + 24 /* &azArg[0] */ + 2*8)) = *(*uintptr)(unsafe.Pointer(bp + 24 /* &azArg[0] */ + 1*8)) - *(*uintptr)(unsafe.Pointer(bp + 24 /* &azArg[0] */ + 3*8)) = ts + 8275 /* "1" */ - *(*uintptr)(unsafe.Pointer(bp + 24 /* &azArg[0] */ + 4*8)) = ts + 17997 /* "CREATE TABLE x(t..." */ - *(*uintptr)(unsafe.Pointer(bp + 24 /* &azArg[0] */ + 5*8)) = uintptr(0) - (*InitData)(unsafe.Pointer(bp + 72 /* &initData */)).Fdb = db - (*InitData)(unsafe.Pointer(bp + 72 /* &initData */)).FiDb = iDb - (*InitData)(unsafe.Pointer(bp + 72 /* &initData */)).Frc = SQLITE_OK - (*InitData)(unsafe.Pointer(bp + 72 /* &initData */)).FpzErrMsg = pzErrMsg - (*InitData)(unsafe.Pointer(bp + 72 /* &initData */)).FmInitFlags = mFlags - (*InitData)(unsafe.Pointer(bp + 72 /* &initData */)).FnInitRow = U32(0) - (*InitData)(unsafe.Pointer(bp + 72 /* &initData */)).FmxPage = Pgno(0) - Xsqlite3InitCallback(tls, bp+72 /* &initData */, 5, bp+24 /* azArg */, uintptr(0)) + *(*uintptr)(unsafe.Pointer(bp + 16 /* &azArg[0] */ + 2*8)) = *(*uintptr)(unsafe.Pointer(bp + 16 /* &azArg[0] */ + 1*8)) + *(*uintptr)(unsafe.Pointer(bp + 16 /* &azArg[0] */ + 3*8)) = ts + 8275 /* "1" */ + *(*uintptr)(unsafe.Pointer(bp + 16 /* &azArg[0] */ + 4*8)) = ts + 17997 /* "CREATE TABLE x(t..." */ + *(*uintptr)(unsafe.Pointer(bp + 16 /* &azArg[0] */ + 5*8)) = uintptr(0) + (*InitData)(unsafe.Pointer(bp + 64 /* &initData */)).Fdb = db + (*InitData)(unsafe.Pointer(bp + 64 /* &initData */)).FiDb = iDb + (*InitData)(unsafe.Pointer(bp + 64 /* &initData */)).Frc = SQLITE_OK + (*InitData)(unsafe.Pointer(bp + 64 /* &initData */)).FpzErrMsg = pzErrMsg + (*InitData)(unsafe.Pointer(bp + 64 /* &initData */)).FmInitFlags = mFlags + (*InitData)(unsafe.Pointer(bp + 64 /* &initData */)).FnInitRow = U32(0) + (*InitData)(unsafe.Pointer(bp + 64 /* &initData */)).FmxPage = Pgno(0) + Xsqlite3InitCallback(tls, bp+64 /* &initData */, 5, bp+16 /* azArg */, uintptr(0)) *(*U32)(unsafe.Pointer(db + 44 /* &.mDbFlags */)) &= (U32(mask)) - if !((*InitData)(unsafe.Pointer(bp+72 /* &initData */)).Frc != 0) { + if !((*InitData)(unsafe.Pointer(bp+64 /* &initData */)).Frc != 0) { goto __1 } - rc = (*InitData)(unsafe.Pointer(bp + 72 /* &initData */)).Frc + rc = (*InitData)(unsafe.Pointer(bp + 64 /* &initData */)).Frc goto error_out __1: ; @@ -157371,7 +157371,7 @@ __5: if !(i < (int32(uint64(unsafe.Sizeof([5]int32{})) / uint64(unsafe.Sizeof(int32(0)))))) { goto __7 } - Xsqlite3BtreeGetMeta(tls, (*Db)(unsafe.Pointer(pDb)).FpBt, (i + 1), (bp + 112 /* &meta */ + uintptr(i)*4)) + Xsqlite3BtreeGetMeta(tls, (*Db)(unsafe.Pointer(pDb)).FpBt, (i + 1), (bp + 104 /* &meta */ + uintptr(i)*4)) goto __6 __6: i++ @@ -157382,23 +157382,23 @@ __7: if !(((*Sqlite3)(unsafe.Pointer(db)).Fflags & uint64(SQLITE_ResetDatabase)) != uint64(0)) { goto __8 } - libc.Xmemset(tls, bp+112 /* &meta[0] */, 0, uint64(unsafe.Sizeof([5]int32{}))) + libc.Xmemset(tls, bp+104 /* &meta[0] */, 0, uint64(unsafe.Sizeof([5]int32{}))) __8: ; - (*Schema)(unsafe.Pointer((*Db)(unsafe.Pointer(pDb)).FpSchema)).Fschema_cookie = *(*int32)(unsafe.Pointer(bp + 112 /* &meta[0] */)) + (*Schema)(unsafe.Pointer((*Db)(unsafe.Pointer(pDb)).FpSchema)).Fschema_cookie = *(*int32)(unsafe.Pointer(bp + 104 /* &meta[0] */)) // If opening a non-empty database, check the text encoding. For the // main database, set sqlite3.enc to the encoding of the main database. // For an attached db, it is an error if the encoding is not the same // as sqlite3.enc. - if !(*(*int32)(unsafe.Pointer(bp + 112 /* &meta[0] */ + 4*4)) != 0) { + if !(*(*int32)(unsafe.Pointer(bp + 104 /* &meta[0] */ + 4*4)) != 0) { goto __9 } // text encoding if !((iDb == 0) && (((*Sqlite3)(unsafe.Pointer(db)).FmDbFlags & U32(DBFLAG_EncodingFixed)) == U32(0))) { goto __10 } // If opening the main database, set ENC(db). - encoding = (U8(int32(U8(*(*int32)(unsafe.Pointer(bp + 112 /* &meta[0] */ + 4*4)))) & 3)) + encoding = (U8(int32(U8(*(*int32)(unsafe.Pointer(bp + 104 /* &meta[0] */ + 4*4)))) & 3)) if !(int32(encoding) == 0) { goto __12 } @@ -157409,7 +157409,7 @@ __12: goto __11 __10: // If opening an attached database, the encoding much match ENC(db) - if !((*(*int32)(unsafe.Pointer(bp + 112 /* &meta[0] */ + 4*4)) & 3) != (int32((*Sqlite3)(unsafe.Pointer(db)).Fenc))) { + if !((*(*int32)(unsafe.Pointer(bp + 104 /* &meta[0] */ + 4*4)) & 3) != (int32((*Sqlite3)(unsafe.Pointer(db)).Fenc))) { goto __13 } Xsqlite3SetString(tls, pzErrMsg, db, @@ -157427,7 +157427,7 @@ __9: if !((*Schema)(unsafe.Pointer((*Db)(unsafe.Pointer(pDb)).FpSchema)).Fcache_size == 0) { goto __14 } - size = Xsqlite3AbsInt32(tls, *(*int32)(unsafe.Pointer(bp + 112 /* &meta[0] */ + 2*4))) + size = Xsqlite3AbsInt32(tls, *(*int32)(unsafe.Pointer(bp + 104 /* &meta[0] */ + 2*4))) if !(size == 0) { goto __15 } @@ -157443,7 +157443,7 @@ __14: // file_format==2 Version 3.1.3. // ALTER TABLE ADD COLUMN // file_format==3 Version 3.1.4. // ditto but with non-NULL defaults // file_format==4 Version 3.3.0. // DESC indices. Boolean constants - (*Schema)(unsafe.Pointer((*Db)(unsafe.Pointer(pDb)).FpSchema)).Ffile_format = U8(*(*int32)(unsafe.Pointer(bp + 112 /* &meta[0] */ + 1*4))) + (*Schema)(unsafe.Pointer((*Db)(unsafe.Pointer(pDb)).FpSchema)).Ffile_format = U8(*(*int32)(unsafe.Pointer(bp + 104 /* &meta[0] */ + 1*4))) if !(int32((*Schema)(unsafe.Pointer((*Db)(unsafe.Pointer(pDb)).FpSchema)).Ffile_format) == 0) { goto __16 } @@ -157463,7 +157463,7 @@ __17: // clear the legacy_file_format pragma flag so that a VACUUM will // not downgrade the database and thus invalidate any descending // indices that the user might have created. - if !((iDb == 0) && (*(*int32)(unsafe.Pointer(bp + 112 /* &meta[0] */ + 1*4)) >= 4)) { + if !((iDb == 0) && (*(*int32)(unsafe.Pointer(bp + 104 /* &meta[0] */ + 1*4)) >= 4)) { goto __18 } *(*U64)(unsafe.Pointer(db + 48 /* &.flags */)) &= (libc.CplUint64(uint64(SQLITE_LegacyFileFmt))) @@ -157472,7 +157472,7 @@ __18: // Read the schema information out of the schema tables - (*InitData)(unsafe.Pointer(bp + 72 /* &initData */)).FmxPage = Xsqlite3BtreeLastPage(tls, (*Db)(unsafe.Pointer(pDb)).FpBt) + (*InitData)(unsafe.Pointer(bp + 64 /* &initData */)).FmxPage = Xsqlite3BtreeLastPage(tls, (*Db)(unsafe.Pointer(pDb)).FpBt) zSql = Xsqlite3MPrintf(tls, db, ts+18093, /* "SELECT*FROM\"%w\"...." */ @@ -157482,13 +157482,13 @@ __18: (*Sqlite3)(unsafe.Pointer(db)).FxAuth = uintptr(0) rc = Xsqlite3_exec(tls, db, zSql, *(*uintptr)(unsafe.Pointer(&struct { f func(*libc.TLS, uintptr, int32, uintptr, uintptr) int32 - }{Xsqlite3InitCallback})), bp+72 /* &initData */, uintptr(0)) + }{Xsqlite3InitCallback})), bp+64 /* &initData */, uintptr(0)) (*Sqlite3)(unsafe.Pointer(db)).FxAuth = xAuth if !(rc == SQLITE_OK) { goto __19 } - rc = (*InitData)(unsafe.Pointer(bp + 72 /* &initData */)).Frc + rc = (*InitData)(unsafe.Pointer(bp + 64 /* &initData */)).Frc __19: ; Xsqlite3DbFree(tls, db, zSql) @@ -157760,26 +157760,26 @@ func Xsqlite3ParserAddCleanup(tls *libc.TLS, pParse uintptr, xCleanup uintptr, p // Compile the UTF-8 encoded SQL statement zSql into a statement handle. func sqlite3Prepare(tls *libc.TLS, db uintptr, zSql uintptr, nBytes int32, prepFlags U32, pReprepare uintptr, ppStmt uintptr, pzTail uintptr) int32 { /* sqlite3.c:131686:12: */ - bp := tls.Alloc(448) - defer tls.Free(448) + bp := tls.Alloc(432) + defer tls.Free(432) - // var zErrMsg uintptr at bp+440, 8 + // var zErrMsg uintptr at bp+424, 8 // Error message var rc int32 // Result code var i int32 // Loop counter - // var sParse Parse at bp+32, 408 + // var sParse Parse at bp+16, 408 var zDb uintptr var pBt uintptr var zSqlCopy uintptr var mxLen int32 var pT uintptr - *(*uintptr)(unsafe.Pointer(bp + 440 /* zErrMsg */)) = uintptr(0) + *(*uintptr)(unsafe.Pointer(bp + 424 /* zErrMsg */)) = uintptr(0) rc = SQLITE_OK // Parsing context - libc.Xmemset(tls, bp+32 /* &sParse */, 0, uint64((uintptr(0) + 208 /* &.aTempReg */))) - libc.Xmemset(tls, ((bp + 32 /* &sParse */) + uintptr((uint64((uintptr(0) + 256 /* &.sLastToken */))))), 0, (uint64(unsafe.Sizeof(Parse{})) - (uint64((uintptr(0) + 256 /* &.sLastToken */))))) - (*Parse)(unsafe.Pointer(bp + 32 /* &sParse */)).FpReprepare = pReprepare + libc.Xmemset(tls, bp+16 /* &sParse */, 0, uint64((uintptr(0) + 208 /* &.aTempReg */))) + libc.Xmemset(tls, ((bp + 16 /* &sParse */) + uintptr((uint64((uintptr(0) + 256 /* &.sLastToken */))))), 0, (uint64(unsafe.Sizeof(Parse{})) - (uint64((uintptr(0) + 256 /* &.sLastToken */))))) + (*Parse)(unsafe.Pointer(bp + 16 /* &sParse */)).FpReprepare = pReprepare // assert( !db->mallocFailed ); // not true with SQLITE_USE_ALLOCA @@ -157788,12 +157788,12 @@ func sqlite3Prepare(tls *libc.TLS, db uintptr, zSql uintptr, nBytes int32, prepF if !((prepFlags & U32(SQLITE_PREPARE_PERSISTENT)) != 0) { goto __1 } - (*Parse)(unsafe.Pointer(bp+32 /* &sParse */)).FdisableLookaside++ + (*Parse)(unsafe.Pointer(bp+16 /* &sParse */)).FdisableLookaside++ (*Sqlite3)(unsafe.Pointer(db)).Flookaside.FbDisable++ (*Sqlite3)(unsafe.Pointer(db)).Flookaside.Fsz = U16(0) __1: ; - (*Parse)(unsafe.Pointer(bp + 32 /* &sParse */)).FdisableVtab = (U8(libc.Bool32((prepFlags & U32(SQLITE_PREPARE_NO_VTAB)) != U32(0)))) + (*Parse)(unsafe.Pointer(bp + 16 /* &sParse */)).FdisableVtab = (U8(libc.Bool32((prepFlags & U32(SQLITE_PREPARE_NO_VTAB)) != U32(0)))) // Check to verify that it is possible to get a read lock on all // database schemas. The inability to get a read lock indicates that @@ -157854,7 +157854,7 @@ __2: Xsqlite3VtabUnlockList(tls, db) - (*Parse)(unsafe.Pointer(bp + 32 /* &sParse */)).Fdb = db + (*Parse)(unsafe.Pointer(bp + 16 /* &sParse */)).Fdb = db if !((nBytes >= 0) && ((nBytes == 0) || (int32(*(*int8)(unsafe.Pointer(zSql + uintptr((nBytes - 1))))) != 0))) { goto __8 } @@ -157872,62 +157872,62 @@ __10: if !(zSqlCopy != 0) { goto __11 } - Xsqlite3RunParser(tls, bp+32 /* &sParse */, zSqlCopy, bp+440 /* &zErrMsg */) - (*Parse)(unsafe.Pointer(bp + 32 /* &sParse */)).FzTail = (zSql + uintptr(((int64((*Parse)(unsafe.Pointer(bp+32 /* &sParse */)).FzTail) - int64(zSqlCopy)) / 1))) + Xsqlite3RunParser(tls, bp+16 /* &sParse */, zSqlCopy, bp+424 /* &zErrMsg */) + (*Parse)(unsafe.Pointer(bp + 16 /* &sParse */)).FzTail = (zSql + uintptr(((int64((*Parse)(unsafe.Pointer(bp+16 /* &sParse */)).FzTail) - int64(zSqlCopy)) / 1))) Xsqlite3DbFree(tls, db, zSqlCopy) goto __12 __11: - (*Parse)(unsafe.Pointer(bp + 32 /* &sParse */)).FzTail = (zSql + uintptr(nBytes)) + (*Parse)(unsafe.Pointer(bp + 16 /* &sParse */)).FzTail = (zSql + uintptr(nBytes)) __12: ; goto __9 __8: - Xsqlite3RunParser(tls, bp+32 /* &sParse */, zSql, bp+440 /* &zErrMsg */) + Xsqlite3RunParser(tls, bp+16 /* &sParse */, zSql, bp+424 /* &zErrMsg */) __9: ; if !(pzTail != 0) { goto __13 } - *(*uintptr)(unsafe.Pointer(pzTail)) = (*Parse)(unsafe.Pointer(bp + 32 /* &sParse */)).FzTail + *(*uintptr)(unsafe.Pointer(pzTail)) = (*Parse)(unsafe.Pointer(bp + 16 /* &sParse */)).FzTail __13: ; if !(int32((*Sqlite3)(unsafe.Pointer(db)).Finit.Fbusy) == 0) { goto __14 } - Xsqlite3VdbeSetSql(tls, (*Parse)(unsafe.Pointer(bp+32 /* &sParse */)).FpVdbe, zSql, (int32((int64((*Parse)(unsafe.Pointer(bp+32 /* &sParse */)).FzTail) - int64(zSql)) / 1)), uint8(prepFlags)) + Xsqlite3VdbeSetSql(tls, (*Parse)(unsafe.Pointer(bp+16 /* &sParse */)).FpVdbe, zSql, (int32((int64((*Parse)(unsafe.Pointer(bp+16 /* &sParse */)).FzTail) - int64(zSql)) / 1)), uint8(prepFlags)) __14: ; if !((*Sqlite3)(unsafe.Pointer(db)).FmallocFailed != 0) { goto __15 } - (*Parse)(unsafe.Pointer(bp + 32 /* &sParse */)).Frc = SQLITE_NOMEM - (*Parse)(unsafe.Pointer(bp + 32 /* &sParse */)).FcheckSchema = U8(0) + (*Parse)(unsafe.Pointer(bp + 16 /* &sParse */)).Frc = SQLITE_NOMEM + (*Parse)(unsafe.Pointer(bp + 16 /* &sParse */)).FcheckSchema = U8(0) __15: ; - if !(((*Parse)(unsafe.Pointer(bp+32 /* &sParse */)).Frc != SQLITE_OK) && ((*Parse)(unsafe.Pointer(bp+32 /* &sParse */)).Frc != SQLITE_DONE)) { + if !(((*Parse)(unsafe.Pointer(bp+16 /* &sParse */)).Frc != SQLITE_OK) && ((*Parse)(unsafe.Pointer(bp+16 /* &sParse */)).Frc != SQLITE_DONE)) { goto __16 } - if !((*Parse)(unsafe.Pointer(bp+32 /* &sParse */)).FcheckSchema != 0) { + if !((*Parse)(unsafe.Pointer(bp+16 /* &sParse */)).FcheckSchema != 0) { goto __18 } - schemaIsValid(tls, bp+32 /* &sParse */) + schemaIsValid(tls, bp+16 /* &sParse */) __18: ; - if !((*Parse)(unsafe.Pointer(bp+32 /* &sParse */)).FpVdbe != 0) { + if !((*Parse)(unsafe.Pointer(bp+16 /* &sParse */)).FpVdbe != 0) { goto __19 } - Xsqlite3VdbeFinalize(tls, (*Parse)(unsafe.Pointer(bp+32 /* &sParse */)).FpVdbe) + Xsqlite3VdbeFinalize(tls, (*Parse)(unsafe.Pointer(bp+16 /* &sParse */)).FpVdbe) __19: ; - rc = (*Parse)(unsafe.Pointer(bp + 32 /* &sParse */)).Frc - if !(*(*uintptr)(unsafe.Pointer(bp + 440 /* zErrMsg */)) != 0) { + rc = (*Parse)(unsafe.Pointer(bp + 16 /* &sParse */)).Frc + if !(*(*uintptr)(unsafe.Pointer(bp + 424 /* zErrMsg */)) != 0) { goto __20 } - Xsqlite3ErrorWithMsg(tls, db, rc, ts+3630 /* "%s" */, libc.VaList(bp+16, *(*uintptr)(unsafe.Pointer(bp + 440 /* zErrMsg */)))) - Xsqlite3DbFree(tls, db, *(*uintptr)(unsafe.Pointer(bp + 440 /* zErrMsg */))) + Xsqlite3ErrorWithMsg(tls, db, rc, ts+3630 /* "%s" */, libc.VaList(bp+8, *(*uintptr)(unsafe.Pointer(bp + 424 /* zErrMsg */)))) + Xsqlite3DbFree(tls, db, *(*uintptr)(unsafe.Pointer(bp + 424 /* zErrMsg */))) goto __21 __20: Xsqlite3Error(tls, db, rc) @@ -157936,7 +157936,7 @@ __21: goto __17 __16: ; - *(*uintptr)(unsafe.Pointer(ppStmt)) = (*Parse)(unsafe.Pointer(bp + 32 /* &sParse */)).FpVdbe + *(*uintptr)(unsafe.Pointer(ppStmt)) = (*Parse)(unsafe.Pointer(bp + 16 /* &sParse */)).FpVdbe rc = SQLITE_OK Xsqlite3ErrorClear(tls, db) __17: @@ -157944,11 +157944,11 @@ __17: // Delete any TriggerPrg structures allocated while parsing this statement. __22: - if !((*Parse)(unsafe.Pointer(bp+32 /* &sParse */)).FpTriggerPrg != 0) { + if !((*Parse)(unsafe.Pointer(bp+16 /* &sParse */)).FpTriggerPrg != 0) { goto __23 } - pT = (*Parse)(unsafe.Pointer(bp + 32 /* &sParse */)).FpTriggerPrg - (*Parse)(unsafe.Pointer(bp + 32 /* &sParse */)).FpTriggerPrg = (*TriggerPrg)(unsafe.Pointer(pT)).FpNext + pT = (*Parse)(unsafe.Pointer(bp + 16 /* &sParse */)).FpTriggerPrg + (*Parse)(unsafe.Pointer(bp + 16 /* &sParse */)).FpTriggerPrg = (*TriggerPrg)(unsafe.Pointer(pT)).FpNext Xsqlite3DbFree(tls, db, pT) goto __22 __23: @@ -157956,7 +157956,7 @@ __23: end_prepare: - Xsqlite3ParserReset(tls, bp+32 /* &sParse */) + Xsqlite3ParserReset(tls, bp+16 /* &sParse */) return rc } @@ -158365,20 +158365,20 @@ func findRightmost(tls *libc.TLS, p uintptr) uintptr { /* sqlite3.c:132257:15: * // If an illegal or unsupported join type is seen, then still return // a join type, but put an error in the pParse structure. func Xsqlite3JoinType(tls *libc.TLS, pParse uintptr, pA uintptr, pB uintptr, pC uintptr) int32 { /* sqlite3.c:132279:20: */ - bp := tls.Alloc(64) - defer tls.Free(64) + bp := tls.Alloc(56) + defer tls.Free(56) var jointype int32 = 0 - // var apAll [3]uintptr at bp+40, 24 + // var apAll [3]uintptr at bp+32, 24 var p uintptr var i int32 var j int32 - *(*uintptr)(unsafe.Pointer(bp + 40 /* &apAll[0] */)) = pA - *(*uintptr)(unsafe.Pointer(bp + 40 /* &apAll[0] */ + 1*8)) = pB - *(*uintptr)(unsafe.Pointer(bp + 40 /* &apAll[0] */ + 2*8)) = pC - for i = 0; (i < 3) && (*(*uintptr)(unsafe.Pointer(bp + 40 /* &apAll[0] */ + uintptr(i)*8)) != 0); i++ { - p = *(*uintptr)(unsafe.Pointer(bp + 40 /* &apAll[0] */ + uintptr(i)*8)) + *(*uintptr)(unsafe.Pointer(bp + 32 /* &apAll[0] */)) = pA + *(*uintptr)(unsafe.Pointer(bp + 32 /* &apAll[0] */ + 1*8)) = pB + *(*uintptr)(unsafe.Pointer(bp + 32 /* &apAll[0] */ + 2*8)) = pC + for i = 0; (i < 3) && (*(*uintptr)(unsafe.Pointer(bp + 32 /* &apAll[0] */ + uintptr(i)*8)) != 0); i++ { + p = *(*uintptr)(unsafe.Pointer(bp + 32 /* &apAll[0] */ + uintptr(i)*8)) for j = 0; j < (int32(uint64(unsafe.Sizeof(aKeyword)) / uint64(unsafe.Sizeof(struct { Fi U8 FnChar U8 @@ -158593,8 +158593,8 @@ func unsetJoinExpr(tls *libc.TLS, p uintptr, iTable int32) { /* sqlite3.c:132479 // // This routine returns the number of errors encountered. func sqliteProcessJoin(tls *libc.TLS, pParse uintptr, p uintptr) int32 { /* sqlite3.c:132513:12: */ - bp := tls.Alloc(48) - defer tls.Free(48) + bp := tls.Alloc(32) + defer tls.Free(32) var pSrc uintptr // All tables in the FROM clause var i int32 @@ -158629,17 +158629,17 @@ __1: } for j = 0; j < int32((*Table)(unsafe.Pointer(pRightTab)).FnCol); j++ { var zName uintptr // Name of column in the right table - // var iLeft int32 at bp+32, 4 + // var iLeft int32 at bp+16, 4 // Matching left table - // var iLeftCol int32 at bp+36, 4 + // var iLeftCol int32 at bp+20, 4 // Matching column in the left table if (int32((*Column)(unsafe.Pointer(((*Table)(unsafe.Pointer(pRightTab)).FaCol + uintptr(j)*32))).FcolFlags) & COLFLAG_HIDDEN) != 0 { continue } zName = (*Column)(unsafe.Pointer((*Table)(unsafe.Pointer(pRightTab)).FaCol + uintptr(j)*32)).FzName - if tableAndColumnIndex(tls, pSrc, (i+1), zName, bp+32 /* &iLeft */, bp+36 /* &iLeftCol */, 1) != 0 { - addWhereTerm(tls, pParse, pSrc, *(*int32)(unsafe.Pointer(bp + 32 /* iLeft */)), *(*int32)(unsafe.Pointer(bp + 36 /* iLeftCol */)), (i + 1), j, + if tableAndColumnIndex(tls, pSrc, (i+1), zName, bp+16 /* &iLeft */, bp+20 /* &iLeftCol */, 1) != 0 { + addWhereTerm(tls, pParse, pSrc, *(*int32)(unsafe.Pointer(bp + 16 /* iLeft */)), *(*int32)(unsafe.Pointer(bp + 20 /* iLeftCol */)), (i + 1), j, isOuter, (p + 48 /* &.pWhere */)) } } @@ -158672,21 +158672,21 @@ __1: var pList uintptr = (*SrcItem)(unsafe.Pointer(pRight)).FpUsing for j = 0; j < (*IdList)(unsafe.Pointer(pList)).FnId; j++ { var zName uintptr // Name of the term in the USING clause - // var iLeft int32 at bp+40, 4 + // var iLeft int32 at bp+24, 4 // Table on the left with matching column name - // var iLeftCol int32 at bp+44, 4 + // var iLeftCol int32 at bp+28, 4 // Column number of matching column on the left var iRightCol int32 // Column number of matching column on the right zName = (*IdList_item)(unsafe.Pointer((*IdList)(unsafe.Pointer(pList)).Fa + uintptr(j)*16)).FzName iRightCol = Xsqlite3ColumnIndex(tls, pRightTab, zName) if (iRightCol < 0) || - !(tableAndColumnIndex(tls, pSrc, (i+1), zName, bp+40 /* &iLeft */, bp+44 /* &iLeftCol */, 0) != 0) { + !(tableAndColumnIndex(tls, pSrc, (i+1), zName, bp+24 /* &iLeft */, bp+28 /* &iLeftCol */, 0) != 0) { Xsqlite3ErrorMsg(tls, pParse, - ts+18414 /* "cannot join usin..." */, libc.VaList(bp+16, zName)) + ts+18414 /* "cannot join usin..." */, libc.VaList(bp+8, zName)) return 1 } - addWhereTerm(tls, pParse, pSrc, *(*int32)(unsafe.Pointer(bp + 40 /* iLeft */)), *(*int32)(unsafe.Pointer(bp + 44 /* iLeftCol */)), (i + 1), iRightCol, + addWhereTerm(tls, pParse, pSrc, *(*int32)(unsafe.Pointer(bp + 24 /* iLeft */)), *(*int32)(unsafe.Pointer(bp + 28 /* iLeftCol */)), (i + 1), iRightCol, isOuter, (p + 48 /* &.pWhere */)) } } @@ -159498,8 +159498,8 @@ func Xsqlite3SelectOpName(tls *libc.TLS, id int32) uintptr { /* sqlite3.c:133540 // where xxx is one of "DISTINCT", "ORDER BY" or "GROUP BY". Exactly which // is determined by the zUsage argument. func explainTempTable(tls *libc.TLS, pParse uintptr, zUsage uintptr) { /* sqlite3.c:133562:13: */ - bp := tls.Alloc(16) - defer tls.Free(16) + bp := tls.Alloc(8) + defer tls.Free(8) Xsqlite3VdbeExplain(tls, pParse, uint8(0), ts+18511 /* "USE TEMP B-TREE ..." */, libc.VaList(bp, zUsage)) } @@ -159870,8 +159870,8 @@ func generateColumnTypes(tls *libc.TLS, pParse uintptr, pTabList uintptr, pEList // then the result column name with the table name // prefix, ex: TABLE.COLUMN. Otherwise use zSpan. func Xsqlite3GenerateColumnNames(tls *libc.TLS, pParse uintptr, pSelect uintptr) { /* sqlite3.c:134029:21: */ - bp := tls.Alloc(40) - defer tls.Free(40) + bp := tls.Alloc(24) + defer tls.Free(24) var v uintptr = (*Parse)(unsafe.Pointer(pParse)).FpVdbe var i int32 @@ -159935,7 +159935,7 @@ func Xsqlite3GenerateColumnNames(tls *libc.TLS, pParse uintptr, pSelect uintptr) } else { var z uintptr = (*ExprList_item)(unsafe.Pointer((pEList + 8 /* &.a */) + uintptr(i)*32)).FzEName if z == uintptr(0) { - z = Xsqlite3MPrintf(tls, db, ts+18534 /* "column%d" */, libc.VaList(bp+24, (i+1))) + z = Xsqlite3MPrintf(tls, db, ts+18534 /* "column%d" */, libc.VaList(bp+16, (i+1))) } else { z = Xsqlite3DbStrDup(tls, db, z) } @@ -159966,24 +159966,24 @@ func Xsqlite3GenerateColumnNames(tls *libc.TLS, pParse uintptr, pSelect uintptr) // // See Also: sqlite3GenerateColumnNames() func Xsqlite3ColumnsFromExprList(tls *libc.TLS, pParse uintptr, pEList uintptr, pnCol uintptr, paCol uintptr) int32 { /* sqlite3.c:134121:20: */ - bp := tls.Alloc(76) - defer tls.Free(76) + bp := tls.Alloc(60) + defer tls.Free(60) var db uintptr = (*Parse)(unsafe.Pointer(pParse)).Fdb // Database connection var i int32 var j int32 // Loop counters - // var cnt U32 at bp+72, 4 + // var cnt U32 at bp+56, 4 // Index added to make the name unique var aCol uintptr var pCol uintptr // For looping over result columns var nCol int32 // Number of columns in the result set var zName uintptr // Column name var nName int32 // Size of name in zName[] - // var ht Hash at bp+48, 24 + // var ht Hash at bp+32, 24 // Hash table of column names var pTab uintptr - Xsqlite3HashInit(tls, bp+48 /* &ht */) + Xsqlite3HashInit(tls, bp+32 /* &ht */) if pEList != 0 { nCol = (*ExprList)(unsafe.Pointer(pEList)).FnExpr aCol = Xsqlite3DbMallocZero(tls, db, (uint64(unsafe.Sizeof(Column{})) * uint64(nCol))) @@ -160042,8 +160042,8 @@ __1: // Make sure the column name is unique. If the name is not unique, // append an integer to the name so that it becomes unique. - *(*U32)(unsafe.Pointer(bp + 72 /* cnt */)) = U32(0) - for (zName != 0) && (Xsqlite3HashFind(tls, bp+48 /* &ht */, zName) != uintptr(0)) { + *(*U32)(unsafe.Pointer(bp + 56 /* cnt */)) = U32(0) + for (zName != 0) && (Xsqlite3HashFind(tls, bp+32 /* &ht */, zName) != uintptr(0)) { nName = Xsqlite3Strlen30(tls, zName) if nName > 0 { for j = (nName - 1); (j > 0) && ((int32(Xsqlite3CtypeMap[uint8(*(*int8)(unsafe.Pointer(zName + uintptr(j))))]) & 0x04) != 0); j-- { @@ -160052,15 +160052,15 @@ __1: nName = j } } - zName = Xsqlite3MPrintf(tls, db, ts+18543 /* "%.*z:%u" */, libc.VaList(bp+16, nName, zName, libc.PreIncUint32(&*(*U32)(unsafe.Pointer(bp + 72 /* cnt */)), 1))) - if *(*U32)(unsafe.Pointer(bp + 72 /* cnt */)) > U32(3) { - Xsqlite3_randomness(tls, int32(unsafe.Sizeof(U32(0))), bp+72 /* &cnt */) + zName = Xsqlite3MPrintf(tls, db, ts+18543 /* "%.*z:%u" */, libc.VaList(bp+8, nName, zName, libc.PreIncUint32(&*(*U32)(unsafe.Pointer(bp + 56 /* cnt */)), 1))) + if *(*U32)(unsafe.Pointer(bp + 56 /* cnt */)) > U32(3) { + Xsqlite3_randomness(tls, int32(unsafe.Sizeof(U32(0))), bp+56 /* &cnt */) } } (*Column)(unsafe.Pointer(pCol)).FzName = zName (*Column)(unsafe.Pointer(pCol)).FhName = Xsqlite3StrIHash(tls, zName) - if (zName != 0) && (Xsqlite3HashInsert(tls, bp+48 /* &ht */, zName, pCol) == pCol) { + if (zName != 0) && (Xsqlite3HashInsert(tls, bp+32 /* &ht */, zName, pCol) == pCol) { Xsqlite3OomFault(tls, db) } @@ -160073,7 +160073,7 @@ __2: goto __3 __3: ; - Xsqlite3HashClear(tls, bp+48 /* &ht */) + Xsqlite3HashClear(tls, bp+32 /* &ht */) if (*Sqlite3)(unsafe.Pointer(db)).FmallocFailed != 0 { for j = 0; j < i; j++ { Xsqlite3DbFree(tls, db, (*Column)(unsafe.Pointer(aCol+uintptr(j)*32)).FzName) @@ -160616,8 +160616,8 @@ end_of_recursive_query: // The sqlite3CodeSubselect will have added the LIMIT 1 clause in tht case. // Since the limit is exactly 1, we only need to evalutes the left-most VALUES. func multiSelectValues(tls *libc.TLS, pParse uintptr, p uintptr, pDest uintptr) int32 { /* sqlite3.c:134671:12: */ - bp := tls.Alloc(24) - defer tls.Free(24) + bp := tls.Alloc(16) + defer tls.Free(16) var nRow int32 = 1 var rc int32 = 0 @@ -160692,18 +160692,18 @@ func hasAnchor(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:134708:12: */ // Notice that because of the way SQLite parses compound SELECTs, the // individual selects always group from left to right. func multiSelect(tls *libc.TLS, pParse uintptr, p uintptr, pDest uintptr) int32 { /* sqlite3.c:134744:12: */ - bp := tls.Alloc(160) - defer tls.Free(160) + bp := tls.Alloc(144) + defer tls.Free(144) var rc int32 // Success code from a subroutine var pPrior uintptr // Another SELECT immediately to our left var v uintptr // Generate code to this VDBE - // var dest SelectDest at bp+32, 40 + // var dest SelectDest at bp+16, 40 // Alternative data destination var pDelete uintptr // Chain of simple selects to delete var db uintptr var addr int32 - // var nLimit int32 at bp+72, 4 + // var nLimit int32 at bp+56, 4 var iCont int32 var iBreak int32 @@ -160713,7 +160713,7 @@ func multiSelect(tls *libc.TLS, pParse uintptr, p uintptr, pDest uintptr) int32 var priorOp int32 // The SRT_ operation to apply to prior selects var pLimit uintptr // Saved values of p->nLimit var addr1 int32 - // var uniondest SelectDest at bp+80, 40 + // var uniondest SelectDest at bp+64, 40 var tab1 int32 var tab2 int32 @@ -160722,7 +160722,7 @@ func multiSelect(tls *libc.TLS, pParse uintptr, p uintptr, pDest uintptr) int32 var iStart1 int32 var pLimit1 uintptr var addr2 int32 - // var intersectdest SelectDest at bp+120, 40 + // var intersectdest SelectDest at bp+104, 40 var r1 int32 var addr3 int32 @@ -160740,18 +160740,18 @@ func multiSelect(tls *libc.TLS, pParse uintptr, p uintptr, pDest uintptr) int32 db = (*Parse)(unsafe.Pointer(pParse)).Fdb pPrior = (*Select)(unsafe.Pointer(p)).FpPrior - *(*SelectDest)(unsafe.Pointer(bp + 32 /* dest */)) = *(*SelectDest)(unsafe.Pointer(pDest)) + *(*SelectDest)(unsafe.Pointer(bp + 16 /* dest */)) = *(*SelectDest)(unsafe.Pointer(pDest)) v = Xsqlite3GetVdbe(tls, pParse) // The VDBE already created by calling function // Create the destination temporary table if necessary - if !(int32((*SelectDest)(unsafe.Pointer(bp+32 /* &dest */)).FeDest) == SRT_EphemTab) { + if !(int32((*SelectDest)(unsafe.Pointer(bp+16 /* &dest */)).FeDest) == SRT_EphemTab) { goto __1 } - Xsqlite3VdbeAddOp2(tls, v, OP_OpenEphemeral, (*SelectDest)(unsafe.Pointer(bp+32 /* &dest */)).FiSDParm, (*ExprList)(unsafe.Pointer((*Select)(unsafe.Pointer(p)).FpEList)).FnExpr) - (*SelectDest)(unsafe.Pointer(bp + 32 /* &dest */)).FeDest = U8(SRT_Table) + Xsqlite3VdbeAddOp2(tls, v, OP_OpenEphemeral, (*SelectDest)(unsafe.Pointer(bp+16 /* &dest */)).FiSDParm, (*ExprList)(unsafe.Pointer((*Select)(unsafe.Pointer(p)).FpEList)).FnExpr) + (*SelectDest)(unsafe.Pointer(bp + 16 /* &dest */)).FeDest = U8(SRT_Table) __1: ; @@ -160759,7 +160759,7 @@ __1: if !(((*Select)(unsafe.Pointer(p)).FselFlags & U32(SF_MultiValue)) != 0) { goto __2 } - rc = multiSelectValues(tls, pParse, p, bp+32 /* &dest */) + rc = multiSelectValues(tls, pParse, p, bp+16 /* &dest */) if !(rc >= 0) { goto __3 } @@ -160776,7 +160776,7 @@ __2: if !((((*Select)(unsafe.Pointer(p)).FselFlags & U32(SF_Recursive)) != U32(0)) && (hasAnchor(tls, p) != 0)) { goto __4 } - generateWithRecursiveQuery(tls, pParse, p, bp+32 /* &dest */) + generateWithRecursiveQuery(tls, pParse, p, bp+16 /* &dest */) goto __5 __4: @@ -160810,13 +160810,13 @@ __8: goto __9 __10: addr = 0 - *(*int32)(unsafe.Pointer(bp + 72 /* nLimit */)) = 0 // Initialize to suppress harmless compiler warning + *(*int32)(unsafe.Pointer(bp + 56 /* nLimit */)) = 0 // Initialize to suppress harmless compiler warning (*Select)(unsafe.Pointer(pPrior)).FiLimit = (*Select)(unsafe.Pointer(p)).FiLimit (*Select)(unsafe.Pointer(pPrior)).FiOffset = (*Select)(unsafe.Pointer(p)).FiOffset (*Select)(unsafe.Pointer(pPrior)).FpLimit = (*Select)(unsafe.Pointer(p)).FpLimit - rc = Xsqlite3Select(tls, pParse, pPrior, bp+32 /* &dest */) + rc = Xsqlite3Select(tls, pParse, pPrior, bp+16 /* &dest */) (*Select)(unsafe.Pointer(pPrior)).FpLimit = uintptr(0) if !(rc != 0) { goto __14 @@ -160843,17 +160843,17 @@ __15: ; Xsqlite3VdbeExplain(tls, pParse, uint8(1), ts+18478 /* "UNION ALL" */, 0) - rc = Xsqlite3Select(tls, pParse, p, bp+32 /* &dest */) + rc = Xsqlite3Select(tls, pParse, p, bp+16 /* &dest */) pDelete = (*Select)(unsafe.Pointer(p)).FpPrior (*Select)(unsafe.Pointer(p)).FpPrior = pPrior (*Select)(unsafe.Pointer(p)).FnSelectRow = Xsqlite3LogEstAdd(tls, (*Select)(unsafe.Pointer(p)).FnSelectRow, (*Select)(unsafe.Pointer(pPrior)).FnSelectRow) if !(((((*Select)(unsafe.Pointer(p)).FpLimit != 0) && - (Xsqlite3ExprIsInteger(tls, (*Expr)(unsafe.Pointer((*Select)(unsafe.Pointer(p)).FpLimit)).FpLeft, bp+72 /* &nLimit */) != 0)) && - (*(*int32)(unsafe.Pointer(bp + 72 /* nLimit */)) > 0)) && (int32((*Select)(unsafe.Pointer(p)).FnSelectRow) > int32(Xsqlite3LogEst(tls, U64(*(*int32)(unsafe.Pointer(bp + 72 /* nLimit */))))))) { + (Xsqlite3ExprIsInteger(tls, (*Expr)(unsafe.Pointer((*Select)(unsafe.Pointer(p)).FpLimit)).FpLeft, bp+56 /* &nLimit */) != 0)) && + (*(*int32)(unsafe.Pointer(bp + 56 /* nLimit */)) > 0)) && (int32((*Select)(unsafe.Pointer(p)).FnSelectRow) > int32(Xsqlite3LogEst(tls, U64(*(*int32)(unsafe.Pointer(bp + 56 /* nLimit */))))))) { goto __17 } - (*Select)(unsafe.Pointer(p)).FnSelectRow = Xsqlite3LogEst(tls, U64(*(*int32)(unsafe.Pointer(bp + 72 /* nLimit */)))) + (*Select)(unsafe.Pointer(p)).FnSelectRow = Xsqlite3LogEst(tls, U64(*(*int32)(unsafe.Pointer(bp + 56 /* nLimit */)))) __17: ; if !(addr != 0) { @@ -160869,13 +160869,13 @@ __12: // Cursor number of the temp table holding result op = U8(0) priorOp = SRT_Union - if !(int32((*SelectDest)(unsafe.Pointer(bp+32 /* &dest */)).FeDest) == priorOp) { + if !(int32((*SelectDest)(unsafe.Pointer(bp+16 /* &dest */)).FeDest) == priorOp) { goto __19 } // We can reuse a temporary table generated by a SELECT to our // right. // Not allowed on leftward elements - unionTab = (*SelectDest)(unsafe.Pointer(bp + 32 /* &dest */)).FiSDParm + unionTab = (*SelectDest)(unsafe.Pointer(bp + 16 /* &dest */)).FiSDParm goto __20 __19: // We will need to create our own temporary table to hold the @@ -160892,9 +160892,9 @@ __20: // Code the SELECT statements to our left - Xsqlite3SelectDestInit(tls, bp+80 /* &uniondest */, priorOp, unionTab) + Xsqlite3SelectDestInit(tls, bp+64 /* &uniondest */, priorOp, unionTab) - rc = Xsqlite3Select(tls, pParse, pPrior, bp+80 /* &uniondest */) + rc = Xsqlite3Select(tls, pParse, pPrior, bp+64 /* &uniondest */) if !(rc != 0) { goto __21 } @@ -160916,10 +160916,10 @@ __23: (*Select)(unsafe.Pointer(p)).FpPrior = uintptr(0) pLimit = (*Select)(unsafe.Pointer(p)).FpLimit (*Select)(unsafe.Pointer(p)).FpLimit = uintptr(0) - (*SelectDest)(unsafe.Pointer(bp + 80 /* &uniondest */)).FeDest = op + (*SelectDest)(unsafe.Pointer(bp + 64 /* &uniondest */)).FeDest = op Xsqlite3VdbeExplain(tls, pParse, uint8(1), ts+18722 /* "%s USING TEMP B-..." */, libc.VaList(bp, Xsqlite3SelectOpName(tls, int32((*Select)(unsafe.Pointer(p)).Fop)))) - rc = Xsqlite3Select(tls, pParse, p, bp+80 /* &uniondest */) + rc = Xsqlite3Select(tls, pParse, p, bp+64 /* &uniondest */) pDelete = (*Select)(unsafe.Pointer(p)).FpPrior (*Select)(unsafe.Pointer(p)).FpPrior = pPrior @@ -160938,7 +160938,7 @@ __24: // Convert the data in the temporary table into whatever form // it is that we currently need. - if !((int32((*SelectDest)(unsafe.Pointer(bp+32 /* &dest */)).FeDest) != priorOp) && (int32((*Sqlite3)(unsafe.Pointer(db)).FmallocFailed) == 0)) { + if !((int32((*SelectDest)(unsafe.Pointer(bp+16 /* &dest */)).FeDest) != priorOp) && (int32((*Sqlite3)(unsafe.Pointer(db)).FmallocFailed) == 0)) { goto __25 } iBreak = Xsqlite3VdbeMakeLabel(tls, pParse) @@ -160947,7 +160947,7 @@ __24: Xsqlite3VdbeAddOp2(tls, v, OP_Rewind, unionTab, iBreak) iStart = Xsqlite3VdbeCurrentAddr(tls, v) selectInnerLoop(tls, pParse, p, unionTab, - uintptr(0), uintptr(0), bp+32 /* &dest */, iCont, iBreak) + uintptr(0), uintptr(0), bp+16 /* &dest */, iCont, iBreak) Xsqlite3VdbeResolveLabel(tls, v, iCont) Xsqlite3VdbeAddOp2(tls, v, OP_Next, unionTab, iStart) Xsqlite3VdbeResolveLabel(tls, v, iBreak) @@ -160971,9 +160971,9 @@ __13: *(*U32)(unsafe.Pointer(findRightmost(tls, p) + 4 /* &.selFlags */)) |= (U32(SF_UsesEphemeral)) // Code the SELECTs to our left into temporary table "tab1". - Xsqlite3SelectDestInit(tls, bp+120 /* &intersectdest */, SRT_Union, tab1) + Xsqlite3SelectDestInit(tls, bp+104 /* &intersectdest */, SRT_Union, tab1) - rc = Xsqlite3Select(tls, pParse, pPrior, bp+120 /* &intersectdest */) + rc = Xsqlite3Select(tls, pParse, pPrior, bp+104 /* &intersectdest */) if !(rc != 0) { goto __26 } @@ -160988,10 +160988,10 @@ __26: (*Select)(unsafe.Pointer(p)).FpPrior = uintptr(0) pLimit1 = (*Select)(unsafe.Pointer(p)).FpLimit (*Select)(unsafe.Pointer(p)).FpLimit = uintptr(0) - (*SelectDest)(unsafe.Pointer(bp + 120 /* &intersectdest */)).FiSDParm = tab2 - Xsqlite3VdbeExplain(tls, pParse, uint8(1), ts+18722 /* "%s USING TEMP B-..." */, libc.VaList(bp+16, Xsqlite3SelectOpName(tls, int32((*Select)(unsafe.Pointer(p)).Fop)))) + (*SelectDest)(unsafe.Pointer(bp + 104 /* &intersectdest */)).FiSDParm = tab2 + Xsqlite3VdbeExplain(tls, pParse, uint8(1), ts+18722 /* "%s USING TEMP B-..." */, libc.VaList(bp+8, Xsqlite3SelectOpName(tls, int32((*Select)(unsafe.Pointer(p)).Fop)))) - rc = Xsqlite3Select(tls, pParse, p, bp+120 /* &intersectdest */) + rc = Xsqlite3Select(tls, pParse, p, bp+104 /* &intersectdest */) pDelete = (*Select)(unsafe.Pointer(p)).FpPrior (*Select)(unsafe.Pointer(p)).FpPrior = pPrior @@ -161023,7 +161023,7 @@ __28: Xsqlite3ReleaseTempReg(tls, pParse, r1) selectInnerLoop(tls, pParse, p, tab1, - uintptr(0), uintptr(0), bp+32 /* &dest */, iCont1, iBreak1) + uintptr(0), uintptr(0), bp+16 /* &dest */, iCont1, iBreak1) Xsqlite3VdbeResolveLabel(tls, v, iCont1) Xsqlite3VdbeAddOp2(tls, v, OP_Next, tab1, iStart1) Xsqlite3VdbeResolveLabel(tls, v, iBreak1) @@ -161137,8 +161137,8 @@ __31: ; multi_select_end: - (*SelectDest)(unsafe.Pointer(pDest)).FiSdst = (*SelectDest)(unsafe.Pointer(bp + 32 /* &dest */)).FiSdst - (*SelectDest)(unsafe.Pointer(pDest)).FnSdst = (*SelectDest)(unsafe.Pointer(bp + 32 /* &dest */)).FnSdst + (*SelectDest)(unsafe.Pointer(pDest)).FiSdst = (*SelectDest)(unsafe.Pointer(bp + 16 /* &dest */)).FiSdst + (*SelectDest)(unsafe.Pointer(pDest)).FnSdst = (*SelectDest)(unsafe.Pointer(bp + 16 /* &dest */)).FnSdst Xsqlite3SelectDelete(tls, db, pDelete) return rc } @@ -161146,8 +161146,8 @@ multi_select_end: // Error message for when two or more terms of a compound select have different // size result sets. func Xsqlite3SelectWrongNumTermsError(tls *libc.TLS, pParse uintptr, p uintptr) { /* sqlite3.c:135095:21: */ - bp := tls.Alloc(16) - defer tls.Free(16) + bp := tls.Alloc(8) + defer tls.Free(8) if ((*Select)(unsafe.Pointer(p)).FselFlags & U32(SF_Values)) != 0 { Xsqlite3ErrorMsg(tls, pParse, ts+18743 /* "all VALUES must ..." */, 0) @@ -161373,16 +161373,16 @@ func generateOutputSubroutine(tls *libc.TLS, pParse uintptr, p uintptr, pIn uint // until all data is exhausted then jump to the "end" labe. AltB, AeqB, // and AgtB jump to either L2 or to one of EofA or EofB. func multiSelectOrderBy(tls *libc.TLS, pParse uintptr, p uintptr, pDest uintptr) int32 { /* sqlite3.c:135333:12: */ - bp := tls.Alloc(96) - defer tls.Free(96) + bp := tls.Alloc(88) + defer tls.Free(88) var i int32 var j int32 // Loop counters var pPrior uintptr // Another SELECT immediately to our left var v uintptr // Generate code to this VDBE - // var destA SelectDest at bp+16, 40 + // var destA SelectDest at bp+8, 40 // Destination for coroutine A - // var destB SelectDest at bp+56, 40 + // var destB SelectDest at bp+48, 40 // Destination for coroutine B var regAddrA int32 // Address register for select-A coroutine var regAddrB int32 // Address register for select-B coroutine @@ -161561,8 +161561,8 @@ func multiSelectOrderBy(tls *libc.TLS, pParse uintptr, p uintptr, pDest uintptr) regAddrB = libc.PreIncInt32(&(*Parse)(unsafe.Pointer(pParse)).FnMem, 1) regOutA = libc.PreIncInt32(&(*Parse)(unsafe.Pointer(pParse)).FnMem, 1) regOutB = libc.PreIncInt32(&(*Parse)(unsafe.Pointer(pParse)).FnMem, 1) - Xsqlite3SelectDestInit(tls, bp+16 /* &destA */, SRT_Coroutine, regAddrA) - Xsqlite3SelectDestInit(tls, bp+56 /* &destB */, SRT_Coroutine, regAddrB) + Xsqlite3SelectDestInit(tls, bp+8 /* &destA */, SRT_Coroutine, regAddrA) + Xsqlite3SelectDestInit(tls, bp+48 /* &destB */, SRT_Coroutine, regAddrB) Xsqlite3VdbeExplain(tls, pParse, uint8(1), ts+18871 /* "MERGE (%s)" */, libc.VaList(bp, Xsqlite3SelectOpName(tls, int32((*Select)(unsafe.Pointer(p)).Fop)))) @@ -161573,7 +161573,7 @@ func multiSelectOrderBy(tls *libc.TLS, pParse uintptr, p uintptr, pDest uintptr) (*Select)(unsafe.Pointer(pPrior)).FiLimit = regLimitA Xsqlite3VdbeExplain(tls, pParse, uint8(1), ts+18882 /* "LEFT" */, 0) - Xsqlite3Select(tls, pParse, pPrior, bp+16 /* &destA */) + Xsqlite3Select(tls, pParse, pPrior, bp+8 /* &destA */) Xsqlite3VdbeEndCoroutine(tls, v, regAddrA) Xsqlite3VdbeJumpHere(tls, v, addr1) @@ -161587,7 +161587,7 @@ func multiSelectOrderBy(tls *libc.TLS, pParse uintptr, p uintptr, pDest uintptr) (*Select)(unsafe.Pointer(p)).FiLimit = regLimitB (*Select)(unsafe.Pointer(p)).FiOffset = 0 Xsqlite3VdbeExplain(tls, pParse, uint8(1), ts+18887 /* "RIGHT" */, 0) - Xsqlite3Select(tls, pParse, p, bp+56 /* &destB */) + Xsqlite3Select(tls, pParse, p, bp+48 /* &destB */) (*Select)(unsafe.Pointer(p)).FiLimit = savedLimit (*Select)(unsafe.Pointer(p)).FiOffset = savedOffset Xsqlite3VdbeEndCoroutine(tls, v, regAddrB) @@ -161596,7 +161596,7 @@ func multiSelectOrderBy(tls *libc.TLS, pParse uintptr, p uintptr, pDest uintptr) // select as the next output row of the compound select. addrOutA = generateOutputSubroutine(tls, pParse, - p, bp+16 /* &destA */, pDest, regOutA, + p, bp+8 /* &destA */, pDest, regOutA, regPrev, pKeyDup, labelEnd) // Generate a subroutine that outputs the current row of the B @@ -161604,7 +161604,7 @@ func multiSelectOrderBy(tls *libc.TLS, pParse uintptr, p uintptr, pDest uintptr) if (op == TK_ALL) || (op == TK_UNION) { addrOutB = generateOutputSubroutine(tls, pParse, - p, bp+56 /* &destB */, pDest, regOutB, + p, bp+48 /* &destB */, pDest, regOutB, regPrev, pKeyDup, labelEnd) } Xsqlite3KeyInfoUnref(tls, pKeyDup) @@ -161671,7 +161671,7 @@ func multiSelectOrderBy(tls *libc.TLS, pParse uintptr, p uintptr, pDest uintptr) // Implement the main merge loop Xsqlite3VdbeResolveLabel(tls, v, labelCmpr) Xsqlite3VdbeAddOp4(tls, v, OP_Permutation, 0, 0, 0, aPermute, -15) - Xsqlite3VdbeAddOp4(tls, v, OP_Compare, (*SelectDest)(unsafe.Pointer(bp+16 /* &destA */)).FiSdst, (*SelectDest)(unsafe.Pointer(bp+56 /* &destB */)).FiSdst, nOrderBy, + Xsqlite3VdbeAddOp4(tls, v, OP_Compare, (*SelectDest)(unsafe.Pointer(bp+8 /* &destA */)).FiSdst, (*SelectDest)(unsafe.Pointer(bp+48 /* &destB */)).FiSdst, nOrderBy, pKeyMerge, -9) Xsqlite3VdbeChangeP5(tls, v, uint16(OPFLAG_PERMUTE)) Xsqlite3VdbeAddOp3(tls, v, OP_Jump, addrAltB, addrAeqB, addrAgtB) @@ -163060,8 +163060,8 @@ func isSimpleCount(tls *libc.TLS, p uintptr, pAggInfo uintptr) uintptr { /* sqli // SQLITE_ERROR and leave an error in pParse. Otherwise, populate // pFrom->pIndex and return SQLITE_OK. func Xsqlite3IndexedByLookup(tls *libc.TLS, pParse uintptr, pFrom uintptr) int32 { /* sqlite3.c:137011:20: */ - bp := tls.Alloc(24) - defer tls.Free(24) + bp := tls.Alloc(16) + defer tls.Free(16) var pTab uintptr = (*SrcItem)(unsafe.Pointer(pFrom)).FpTab var zIndexedBy uintptr = *(*uintptr)(unsafe.Pointer(pFrom + 96 /* &.u1 */)) @@ -163177,8 +163177,8 @@ func convertCompoundSelectToSubquery(tls *libc.TLS, pWalker uintptr, p uintptr) // arguments. If it does, leave an error message in pParse and return // non-zero, since pFrom is not allowed to be a table-valued function. func cannotBeFunction(tls *libc.TLS, pParse uintptr, pFrom uintptr) int32 { /* sqlite3.c:137117:12: */ - bp := tls.Alloc(16) - defer tls.Free(16) + bp := tls.Alloc(8) + defer tls.Free(8) if (uint32(int32(*(*uint16)(unsafe.Pointer(pFrom + 60 /* &.fg */ + 4 /* &.isTabFunc */)) & 0x4 >> 2))) != 0 { Xsqlite3ErrorMsg(tls, pParse, ts+18911 /* "'%s' is not a fu..." */, libc.VaList(bp, (*SrcItem)(unsafe.Pointer(pFrom)).FzName)) @@ -163264,11 +163264,11 @@ func Xsqlite3WithPush(tls *libc.TLS, pParse uintptr, pWith uintptr, bFree U8) ui // Return 1 if a match is found. // Return 2 if an error condition is detected. func resolveFromTermToCte(tls *libc.TLS, pParse uintptr, pWalker uintptr, pFrom uintptr) int32 { /* sqlite3.c:137206:12: */ - bp := tls.Alloc(72) - defer tls.Free(72) + bp := tls.Alloc(48) + defer tls.Free(48) var pCte uintptr // Matched CTE (or NULL if no match) - // var pWith uintptr at bp+64, 8 + // var pWith uintptr at bp+40, 8 // The matching WITH if (*Parse)(unsafe.Pointer(pParse)).FpWith == uintptr(0) { @@ -163292,7 +163292,7 @@ func resolveFromTermToCte(tls *libc.TLS, pParse uintptr, pWalker uintptr, pFrom // (2) This is the first term in the FROM clause of an UPDATE. return 0 } - pCte = searchWith(tls, (*Parse)(unsafe.Pointer(pParse)).FpWith, pFrom, bp+64 /* &pWith */) + pCte = searchWith(tls, (*Parse)(unsafe.Pointer(pParse)).FpWith, pFrom, bp+40 /* &pWith */) if pCte != 0 { var db uintptr = (*Parse)(unsafe.Pointer(pParse)).Fdb var pTab uintptr @@ -163369,7 +163369,7 @@ func resolveFromTermToCte(tls *libc.TLS, pParse uintptr, pWalker uintptr, pFrom libc.SetBitFieldPtr16Uint32(pItem+60 /* &.fg */ +4 /* &.isRecursive */, uint32(1), 5, 0x20) if ((*Select)(unsafe.Pointer(pRecTerm)).FselFlags & U32(SF_Recursive)) != 0 { Xsqlite3ErrorMsg(tls, pParse, - ts+18934 /* "multiple referen..." */, libc.VaList(bp+16, (*Cte)(unsafe.Pointer(pCte)).FzName)) + ts+18934 /* "multiple referen..." */, libc.VaList(bp+8, (*Cte)(unsafe.Pointer(pCte)).FzName)) return 2 } *(*U32)(unsafe.Pointer(pRecTerm + 4 /* &.selFlags */)) |= (U32(SF_Recursive)) @@ -163387,7 +163387,7 @@ func resolveFromTermToCte(tls *libc.TLS, pParse uintptr, pWalker uintptr, pFrom (*Cte)(unsafe.Pointer(pCte)).FzCteErr = ts + 18977 /* "circular referen..." */ pSavedWith = (*Parse)(unsafe.Pointer(pParse)).FpWith - (*Parse)(unsafe.Pointer(pParse)).FpWith = *(*uintptr)(unsafe.Pointer(bp + 64 /* pWith */)) + (*Parse)(unsafe.Pointer(pParse)).FpWith = *(*uintptr)(unsafe.Pointer(bp + 40 /* pWith */)) if ((*Select)(unsafe.Pointer(pSel)).FselFlags & U32(SF_Recursive)) != 0 { var rc int32 @@ -163404,7 +163404,7 @@ func resolveFromTermToCte(tls *libc.TLS, pParse uintptr, pWalker uintptr, pFrom return 2 } } - (*Parse)(unsafe.Pointer(pParse)).FpWith = *(*uintptr)(unsafe.Pointer(bp + 64 /* pWith */)) + (*Parse)(unsafe.Pointer(pParse)).FpWith = *(*uintptr)(unsafe.Pointer(bp + 40 /* pWith */)) for pLeft = pSel; (*Select)(unsafe.Pointer(pLeft)).FpPrior != 0; pLeft = (*Select)(unsafe.Pointer(pLeft)).FpPrior { } @@ -163412,7 +163412,7 @@ func resolveFromTermToCte(tls *libc.TLS, pParse uintptr, pWalker uintptr, pFrom if (*Cte)(unsafe.Pointer(pCte)).FpCols != 0 { if (pEList != 0) && ((*ExprList)(unsafe.Pointer(pEList)).FnExpr != (*ExprList)(unsafe.Pointer((*Cte)(unsafe.Pointer(pCte)).FpCols)).FnExpr) { Xsqlite3ErrorMsg(tls, pParse, ts+19000, /* "table %s has %d ..." */ - libc.VaList(bp+32, (*Cte)(unsafe.Pointer(pCte)).FzName, (*ExprList)(unsafe.Pointer(pEList)).FnExpr, (*ExprList)(unsafe.Pointer((*Cte)(unsafe.Pointer(pCte)).FpCols)).FnExpr)) + libc.VaList(bp+16, (*Cte)(unsafe.Pointer(pCte)).FzName, (*ExprList)(unsafe.Pointer(pEList)).FnExpr, (*ExprList)(unsafe.Pointer((*Cte)(unsafe.Pointer(pCte)).FpCols)).FnExpr)) (*Parse)(unsafe.Pointer(pParse)).FpWith = pSavedWith return 2 } @@ -163458,8 +163458,8 @@ func Xsqlite3SelectPopWith(tls *libc.TLS, pWalker uintptr, p uintptr) { /* sqlit // SQLITE_OK is returned. Otherwise, if an OOM error is encountered, // SQLITE_NOMEM. func Xsqlite3ExpandSubquery(tls *libc.TLS, pParse uintptr, pFrom uintptr) int32 { /* sqlite3.c:137405:20: */ - bp := tls.Alloc(16) - defer tls.Free(16) + bp := tls.Alloc(8) + defer tls.Free(8) var pSel uintptr = (*SrcItem)(unsafe.Pointer(pFrom)).FpSelect var pTab uintptr @@ -163512,8 +163512,8 @@ func Xsqlite3ExpandSubquery(tls *libc.TLS, pParse uintptr, pFrom uintptr) int32 // and TABLE.* to be every column in TABLE. // func selectExpander(tls *libc.TLS, pWalker uintptr, p uintptr) int32 { /* sqlite3.c:137457:12: */ - bp := tls.Alloc(136) - defer tls.Free(136) + bp := tls.Alloc(88) + defer tls.Free(88) var pParse uintptr = (*Walker)(unsafe.Pointer(pWalker)).FpParse var i int32 @@ -163619,7 +163619,7 @@ __1: (((*Sqlite3)(unsafe.Pointer(db)).Fflags & uint64(SQLITE_EnableView)) == uint64(0))) && ((*Table)(unsafe.Pointer(pTab)).FpSchema != (*Db)(unsafe.Pointer((*Sqlite3)(unsafe.Pointer(db)).FaDb+1*32)).FpSchema) { Xsqlite3ErrorMsg(tls, pParse, ts+19161, /* "access to view \"..." */ - libc.VaList(bp+16, (*Table)(unsafe.Pointer(pTab)).FzName)) + libc.VaList(bp+8, (*Table)(unsafe.Pointer(pTab)).FzName)) } if ((((*Table)(unsafe.Pointer(pTab)).FnModuleArg != 0) && @@ -163627,7 +163627,7 @@ __1: ((*Table)(unsafe.Pointer(pTab)).FpVTable != uintptr(0))) && (int32((*VTable)(unsafe.Pointer((*Table)(unsafe.Pointer(pTab)).FpVTable)).FeVtabRisk) > (libc.Bool32(((*Sqlite3)(unsafe.Pointer(db)).Fflags & uint64(SQLITE_TrustedSchema)) != uint64(0)))) { Xsqlite3ErrorMsg(tls, pParse, ts+19192, /* "unsafe use of vi..." */ - libc.VaList(bp+32, (*Table)(unsafe.Pointer(pTab)).FzName)) + libc.VaList(bp+16, (*Table)(unsafe.Pointer(pTab)).FzName)) } (*SrcItem)(unsafe.Pointer(pFrom)).FpSelect = Xsqlite3SelectDup(tls, db, (*Table)(unsafe.Pointer(pTab)).FpSelect, 0) nCol = (*Table)(unsafe.Pointer(pTab)).FnCol @@ -163748,7 +163748,7 @@ __3: var zName uintptr = (*Column)(unsafe.Pointer((*Table)(unsafe.Pointer(pTab)).FaCol + uintptr(j)*32)).FzName var zColname uintptr // The computed column name var zToFree uintptr // Malloced string that needs to be freed - // var sColname Token at bp+120, 16 + // var sColname Token at bp+72, 16 // Computed column name as a token if ((zTName != 0) && (pSub != 0)) && @@ -163790,15 +163790,15 @@ __3: pExpr = Xsqlite3PExpr(tls, pParse, TK_DOT, pLeft, pExpr) } if longNames != 0 { - zColname = Xsqlite3MPrintf(tls, db, ts+12147 /* "%s.%s" */, libc.VaList(bp+48, zTabName, zName)) + zColname = Xsqlite3MPrintf(tls, db, ts+12147 /* "%s.%s" */, libc.VaList(bp+24, zTabName, zName)) zToFree = zColname } } else { pExpr = pRight } pNew = Xsqlite3ExprListAppend(tls, pParse, pNew, pExpr) - Xsqlite3TokenInit(tls, bp+120 /* &sColname */, zColname) - Xsqlite3ExprListSetName(tls, pParse, pNew, bp+120 /* &sColname */, 0) + Xsqlite3TokenInit(tls, bp+72 /* &sColname */, zColname) + Xsqlite3ExprListSetName(tls, pParse, pNew, bp+72 /* &sColname */, 0) if ((pNew != 0) && (((*Select)(unsafe.Pointer(p)).FselFlags & U32(SF_NestedFrom)) != U32(0))) && !(int32((*Parse)(unsafe.Pointer(pParse)).FeParseMode) >= PARSE_MODE_RENAME) { var pX uintptr = ((pNew + 8 /* &.a */) + uintptr(((*ExprList)(unsafe.Pointer(pNew)).FnExpr-1))*32) Xsqlite3DbFree(tls, db, (*ExprList_item)(unsafe.Pointer(pX)).FzEName) @@ -163807,7 +163807,7 @@ __3: } else { (*ExprList_item)(unsafe.Pointer(pX)).FzEName = Xsqlite3MPrintf(tls, db, ts+19227, /* "%s.%s.%s" */ - libc.VaList(bp+72, zSchemaName, zTabName, zColname)) + libc.VaList(bp+40, zSchemaName, zTabName, zColname)) } libc.SetBitFieldPtr8Uint32(pX+20 /* &.eEName */, uint32(ENAME_TAB), 0, 0x3) @@ -163826,7 +163826,7 @@ __3: ; if !(tableSeen != 0) { if zTName != 0 { - Xsqlite3ErrorMsg(tls, pParse, ts+19236 /* "no such table: %..." */, libc.VaList(bp+104, zTName)) + Xsqlite3ErrorMsg(tls, pParse, ts+19236 /* "no such table: %..." */, libc.VaList(bp+64, zTName)) } else { Xsqlite3ErrorMsg(tls, pParse, ts+19254 /* "no tables specif..." */, 0) } @@ -164000,8 +164000,8 @@ func Xsqlite3SelectPrep(tls *libc.TLS, pParse uintptr, p uintptr, pOuterNC uintp // routine generates code that stores NULLs in all of those memory // cells. func resetAccumulator(tls *libc.TLS, pParse uintptr, pAggInfo uintptr) { /* sqlite3.c:137894:13: */ - bp := tls.Alloc(16) - defer tls.Free(16) + bp := tls.Alloc(8) + defer tls.Free(8) var v uintptr = (*Parse)(unsafe.Pointer(pParse)).FpVdbe var i int32 @@ -164227,8 +164227,8 @@ __9: // Add a single OP_Explain instruction to the VDBE to explain a simple // count(*) query ("SELECT count(*) FROM pTab"). func explainSimpleCount(tls *libc.TLS, pParse uintptr, pTab uintptr, pIdx uintptr) { /* sqlite3.c:138061:13: */ - bp := tls.Alloc(32) - defer tls.Free(32) + bp := tls.Alloc(24) + defer tls.Free(24) if int32((*Parse)(unsafe.Pointer(pParse)).Fexplain) == 2 { var bCover int32 = (libc.Bool32((pIdx != uintptr(0)) && ((((*Table)(unsafe.Pointer((pTab))).FtabFlags & U32(TF_WithoutRowid)) == U32(0)) || !((int32(*(*uint16)(unsafe.Pointer((pIdx) + 100 /* &.idxType */)) & 0x3 >> 0)) == SQLITE_IDXTYPE_PRIMARYKEY)))) @@ -164373,8 +164373,8 @@ func agginfoFree(tls *libc.TLS, db uintptr, p uintptr) { /* sqlite3.c:138181:13: // This routine does NOT free the Select structure passed in. The // calling function needs to do that. func Xsqlite3Select(tls *libc.TLS, pParse uintptr, p uintptr, pDest uintptr) int32 { /* sqlite3.c:138287:20: */ - bp := tls.Alloc(248) - defer tls.Free(248) + bp := tls.Alloc(216) + defer tls.Free(216) var i int32 var j int32 // Loop counters @@ -164388,13 +164388,13 @@ func Xsqlite3Select(tls *libc.TLS, pParse uintptr, p uintptr, pDest uintptr) int var pHaving uintptr // The HAVING clause. May be NULL var pAggInfo uintptr // Aggregate information var rc int32 // Value to return from this function - // var sDistinct DistinctCtx at bp+168, 12 + // var sDistinct DistinctCtx at bp+136, 12 // Info on how to code the DISTINCT keyword - // var sSort SortCtx at bp+80, 48 + // var sSort SortCtx at bp+48, 48 // Info on how to code the ORDER BY clause var iEnd int32 // Address of the end of the query var db uintptr // The database connection - // var pMinMaxOrderBy uintptr at bp+240, 8 + // var pMinMaxOrderBy uintptr at bp+208, 8 // Added ORDER BY for min/max queries var minMaxFlag U8 var p1 uintptr @@ -164419,7 +164419,7 @@ func Xsqlite3Select(tls *libc.TLS, pParse uintptr, p uintptr, pDest uintptr) int var retAddr int32 var pItem1 uintptr var pPrior uintptr - // var dest SelectDest at bp+128, 40 + // var dest SelectDest at bp+96, 40 var pSub1 uintptr var zSavedAuthContext uintptr @@ -164486,7 +164486,7 @@ func Xsqlite3Select(tls *libc.TLS, pParse uintptr, p uintptr, pDest uintptr) int var pTab1 uintptr // This case when there exist aggregate functions or a GROUP BY clause // or both - // var sNC NameContext at bp+184, 56 + // var sNC NameContext at bp+152, 56 // Name context for processing aggregate information var iAMem int32 // First Mem address for storing current GROUP BY var iBMem int32 // First Mem address for previous GROUP BY @@ -164502,7 +164502,7 @@ func Xsqlite3Select(tls *libc.TLS, pParse uintptr, p uintptr, pDest uintptr) int pEList = uintptr(0) pAggInfo = uintptr(0) rc = 1 - *(*uintptr)(unsafe.Pointer(bp + 240 /* pMinMaxOrderBy */)) = uintptr(0) // Flag for min/max queries + *(*uintptr)(unsafe.Pointer(bp + 208 /* pMinMaxOrderBy */)) = uintptr(0) // Flag for min/max queries db = (*Parse)(unsafe.Pointer(pParse)).Fdb v = Xsqlite3GetVdbe(tls, pParse) @@ -164602,8 +164602,8 @@ __12: ; pTabList = (*Select)(unsafe.Pointer(p)).FpSrc isAgg = (libc.Bool32(((*Select)(unsafe.Pointer(p)).FselFlags & U32(SF_Aggregate)) != U32(0))) - libc.Xmemset(tls, bp+80 /* &sSort */, 0, uint64(unsafe.Sizeof(SortCtx{}))) - (*SortCtx)(unsafe.Pointer(bp + 80 /* &sSort */)).FpOrderBy = (*Select)(unsafe.Pointer(p)).FpOrderBy + libc.Xmemset(tls, bp+48 /* &sSort */, 0, uint64(unsafe.Sizeof(SortCtx{}))) + (*SortCtx)(unsafe.Pointer(bp + 48 /* &sSort */)).FpOrderBy = (*Select)(unsafe.Pointer(p)).FpOrderBy // Try to do various optimizations (flattening subqueries, and strength // reduction of join operators) in the FROM clause up into the main query @@ -164647,7 +164647,7 @@ __17: goto __18 } Xsqlite3ErrorMsg(tls, pParse, ts+19478, /* "expected %d colu..." */ - libc.VaList(bp+16, int32((*Table)(unsafe.Pointer(pTab)).FnCol), (*Table)(unsafe.Pointer(pTab)).FzName, (*ExprList)(unsafe.Pointer((*Select)(unsafe.Pointer(pSub)).FpEList)).FnExpr)) + libc.VaList(bp+8, int32((*Table)(unsafe.Pointer(pTab)).FnCol), (*Table)(unsafe.Pointer(pTab)).FzName, (*ExprList)(unsafe.Pointer((*Select)(unsafe.Pointer(pSub)).FpEList)).FnExpr)) goto select_end __18: ; @@ -164716,7 +164716,7 @@ __23: if !(!((int32((*SelectDest)(unsafe.Pointer(pDest)).FeDest)) <= SRT_Fifo)) { goto __24 } - (*SortCtx)(unsafe.Pointer(bp + 80 /* &sSort */)).FpOrderBy = (*Select)(unsafe.Pointer(p)).FpOrderBy + (*SortCtx)(unsafe.Pointer(bp + 48 /* &sSort */)).FpOrderBy = (*Select)(unsafe.Pointer(p)).FpOrderBy __24: ; goto __14 @@ -164851,12 +164851,12 @@ __35: Xsqlite3VdbeAddOp3(tls, v, OP_InitCoroutine, (*SrcItem)(unsafe.Pointer(pItem1)).FregReturn, 0, addrTop) (*SrcItem)(unsafe.Pointer(pItem1)).FaddrFillSub = addrTop - Xsqlite3SelectDestInit(tls, bp+128 /* &dest */, SRT_Coroutine, (*SrcItem)(unsafe.Pointer(pItem1)).FregReturn) - Xsqlite3VdbeExplain(tls, pParse, uint8(1), ts+19518 /* "CO-ROUTINE %!S" */, libc.VaList(bp+48, pItem1)) - Xsqlite3Select(tls, pParse, pSub1, bp+128 /* &dest */) + Xsqlite3SelectDestInit(tls, bp+96 /* &dest */, SRT_Coroutine, (*SrcItem)(unsafe.Pointer(pItem1)).FregReturn) + Xsqlite3VdbeExplain(tls, pParse, uint8(1), ts+19518 /* "CO-ROUTINE %!S" */, libc.VaList(bp+32, pItem1)) + Xsqlite3Select(tls, pParse, pSub1, bp+96 /* &dest */) (*Table)(unsafe.Pointer((*SrcItem)(unsafe.Pointer(pItem1)).FpTab)).FnRowLogEst = (*Select)(unsafe.Pointer(pSub1)).FnSelectRow libc.SetBitFieldPtr16Uint32(pItem1+60 /* &.fg */ +4 /* &.viaCoroutine */, uint32(1), 4, 0x10) - (*SrcItem)(unsafe.Pointer(pItem1)).FregResult = (*SelectDest)(unsafe.Pointer(bp + 128 /* &dest */)).FiSdst + (*SrcItem)(unsafe.Pointer(pItem1)).FregResult = (*SelectDest)(unsafe.Pointer(bp + 96 /* &dest */)).FiSdst Xsqlite3VdbeEndCoroutine(tls, v, (*SrcItem)(unsafe.Pointer(pItem1)).FregReturn) Xsqlite3VdbeJumpHere(tls, v, (addrTop - 1)) Xsqlite3ClearTempRegCache(tls, pParse) @@ -164913,9 +164913,9 @@ __44: ; __45: ; - Xsqlite3SelectDestInit(tls, bp+128 /* &dest */, SRT_EphemTab, (*SrcItem)(unsafe.Pointer(pItem1)).FiCursor) - Xsqlite3VdbeExplain(tls, pParse, uint8(1), ts+19533 /* "MATERIALIZE %!S" */, libc.VaList(bp+64, pItem1)) - Xsqlite3Select(tls, pParse, pSub1, bp+128 /* &dest */) + Xsqlite3SelectDestInit(tls, bp+96 /* &dest */, SRT_EphemTab, (*SrcItem)(unsafe.Pointer(pItem1)).FiCursor) + Xsqlite3VdbeExplain(tls, pParse, uint8(1), ts+19533 /* "MATERIALIZE %!S" */, libc.VaList(bp+40, pItem1)) + Xsqlite3Select(tls, pParse, pSub1, bp+96 /* &dest */) (*Table)(unsafe.Pointer((*SrcItem)(unsafe.Pointer(pItem1)).FpTab)).FnRowLogEst = (*Select)(unsafe.Pointer(pSub1)).FnSelectRow if !(onceAddr != 0) { goto __46 @@ -164965,7 +164965,7 @@ __31: pWhere = (*Select)(unsafe.Pointer(p)).FpWhere pGroupBy = (*Select)(unsafe.Pointer(p)).FpGroupBy pHaving = (*Select)(unsafe.Pointer(p)).FpHaving - (*DistinctCtx)(unsafe.Pointer(bp + 168 /* &sDistinct */)).FisTnct = (U8(libc.Bool32(((*Select)(unsafe.Pointer(p)).FselFlags & U32(SF_Distinct)) != U32(0)))) + (*DistinctCtx)(unsafe.Pointer(bp + 136 /* &sDistinct */)).FisTnct = (U8(libc.Bool32(((*Select)(unsafe.Pointer(p)).FselFlags & U32(SF_Distinct)) != U32(0)))) // If the query is DISTINCT with an ORDER BY but is not an aggregate, and // if the select-list is the same as the ORDER BY list, then this query @@ -164982,7 +164982,7 @@ __31: // written the query must use a temp-table for at least one of the ORDER // BY and DISTINCT, and an index or separate temp-table for the other. if !(((((*Select)(unsafe.Pointer(p)).FselFlags & (U32(SF_Distinct | SF_Aggregate))) == U32(SF_Distinct)) && - (Xsqlite3ExprListCompare(tls, (*SortCtx)(unsafe.Pointer(bp+80 /* &sSort */)).FpOrderBy, pEList, -1) == 0)) && + (Xsqlite3ExprListCompare(tls, (*SortCtx)(unsafe.Pointer(bp+48 /* &sSort */)).FpOrderBy, pEList, -1) == 0)) && ((*Select)(unsafe.Pointer(p)).FpWin == uintptr(0))) { goto __49 } @@ -165003,18 +165003,18 @@ __49: // changed to an OP_Noop once we figure out that the sorting index is // not needed. The sSort.addrSortIndex variable is used to facilitate // that change. - if !((*SortCtx)(unsafe.Pointer(bp+80 /* &sSort */)).FpOrderBy != 0) { + if !((*SortCtx)(unsafe.Pointer(bp+48 /* &sSort */)).FpOrderBy != 0) { goto __50 } pKeyInfo = Xsqlite3KeyInfoFromExprList(tls, - pParse, (*SortCtx)(unsafe.Pointer(bp+80 /* &sSort */)).FpOrderBy, 0, (*ExprList)(unsafe.Pointer(pEList)).FnExpr) - (*SortCtx)(unsafe.Pointer(bp + 80 /* &sSort */)).FiECursor = libc.PostIncInt32(&(*Parse)(unsafe.Pointer(pParse)).FnTab, 1) - (*SortCtx)(unsafe.Pointer(bp + 80 /* &sSort */)).FaddrSortIndex = Xsqlite3VdbeAddOp4(tls, v, OP_OpenEphemeral, - (*SortCtx)(unsafe.Pointer(bp+80 /* &sSort */)).FiECursor, (((*ExprList)(unsafe.Pointer((*SortCtx)(unsafe.Pointer(bp+80 /* &sSort */)).FpOrderBy)).FnExpr + 1) + (*ExprList)(unsafe.Pointer(pEList)).FnExpr), 0, + pParse, (*SortCtx)(unsafe.Pointer(bp+48 /* &sSort */)).FpOrderBy, 0, (*ExprList)(unsafe.Pointer(pEList)).FnExpr) + (*SortCtx)(unsafe.Pointer(bp + 48 /* &sSort */)).FiECursor = libc.PostIncInt32(&(*Parse)(unsafe.Pointer(pParse)).FnTab, 1) + (*SortCtx)(unsafe.Pointer(bp + 48 /* &sSort */)).FaddrSortIndex = Xsqlite3VdbeAddOp4(tls, v, OP_OpenEphemeral, + (*SortCtx)(unsafe.Pointer(bp+48 /* &sSort */)).FiECursor, (((*ExprList)(unsafe.Pointer((*SortCtx)(unsafe.Pointer(bp+48 /* &sSort */)).FpOrderBy)).FnExpr + 1) + (*ExprList)(unsafe.Pointer(pEList)).FnExpr), 0, pKeyInfo, -9) goto __51 __50: - (*SortCtx)(unsafe.Pointer(bp + 80 /* &sSort */)).FaddrSortIndex = -1 + (*SortCtx)(unsafe.Pointer(bp + 48 /* &sSort */)).FaddrSortIndex = -1 __51: ; @@ -165035,11 +165035,11 @@ __52: __53: ; computeLimitRegisters(tls, pParse, p, iEnd) - if !(((*Select)(unsafe.Pointer(p)).FiLimit == 0) && ((*SortCtx)(unsafe.Pointer(bp+80 /* &sSort */)).FaddrSortIndex >= 0)) { + if !(((*Select)(unsafe.Pointer(p)).FiLimit == 0) && ((*SortCtx)(unsafe.Pointer(bp+48 /* &sSort */)).FaddrSortIndex >= 0)) { goto __54 } - Xsqlite3VdbeChangeOpcode(tls, v, (*SortCtx)(unsafe.Pointer(bp+80 /* &sSort */)).FaddrSortIndex, uint8(OP_SorterOpen)) - *(*U8)(unsafe.Pointer(bp + 80 /* &sSort */ + 36 /* &.sortFlags */)) |= U8((SORTFLAG_UseSorter)) + Xsqlite3VdbeChangeOpcode(tls, v, (*SortCtx)(unsafe.Pointer(bp+48 /* &sSort */)).FaddrSortIndex, uint8(OP_SorterOpen)) + *(*U8)(unsafe.Pointer(bp + 48 /* &sSort */ + 36 /* &.sortFlags */)) |= U8((SORTFLAG_UseSorter)) __54: ; @@ -165047,16 +165047,16 @@ __54: if !(((*Select)(unsafe.Pointer(p)).FselFlags & U32(SF_Distinct)) != 0) { goto __55 } - (*DistinctCtx)(unsafe.Pointer(bp + 168 /* &sDistinct */)).FtabTnct = libc.PostIncInt32(&(*Parse)(unsafe.Pointer(pParse)).FnTab, 1) - (*DistinctCtx)(unsafe.Pointer(bp + 168 /* &sDistinct */)).FaddrTnct = Xsqlite3VdbeAddOp4(tls, v, OP_OpenEphemeral, - (*DistinctCtx)(unsafe.Pointer(bp+168 /* &sDistinct */)).FtabTnct, 0, 0, + (*DistinctCtx)(unsafe.Pointer(bp + 136 /* &sDistinct */)).FtabTnct = libc.PostIncInt32(&(*Parse)(unsafe.Pointer(pParse)).FnTab, 1) + (*DistinctCtx)(unsafe.Pointer(bp + 136 /* &sDistinct */)).FaddrTnct = Xsqlite3VdbeAddOp4(tls, v, OP_OpenEphemeral, + (*DistinctCtx)(unsafe.Pointer(bp+136 /* &sDistinct */)).FtabTnct, 0, 0, Xsqlite3KeyInfoFromExprList(tls, pParse, (*Select)(unsafe.Pointer(p)).FpEList, 0, 0), -9) Xsqlite3VdbeChangeP5(tls, v, uint16(BTREE_UNORDERED)) - (*DistinctCtx)(unsafe.Pointer(bp + 168 /* &sDistinct */)).FeTnctType = U8(WHERE_DISTINCT_UNORDERED) + (*DistinctCtx)(unsafe.Pointer(bp + 136 /* &sDistinct */)).FeTnctType = U8(WHERE_DISTINCT_UNORDERED) goto __56 __55: - (*DistinctCtx)(unsafe.Pointer(bp + 168 /* &sDistinct */)).FeTnctType = U8(WHERE_DISTINCT_NOOP) + (*DistinctCtx)(unsafe.Pointer(bp + 136 /* &sDistinct */)).FeTnctType = U8(WHERE_DISTINCT_NOOP) __56: ; @@ -165065,7 +165065,7 @@ __56: } // No aggregate functions and no GROUP BY clause wctrlFlags = (U16((func() uint32 { - if (*DistinctCtx)(unsafe.Pointer(bp+168 /* &sDistinct */)).FisTnct != 0 { + if (*DistinctCtx)(unsafe.Pointer(bp+136 /* &sDistinct */)).FisTnct != 0 { return uint32(WHERE_WANT_DISTINCT) } return uint32(0) @@ -165081,7 +165081,7 @@ __59: // Begin the database scan. - pWInfo = Xsqlite3WhereBegin(tls, pParse, pTabList, pWhere, (*SortCtx)(unsafe.Pointer(bp+80 /* &sSort */)).FpOrderBy, + pWInfo = Xsqlite3WhereBegin(tls, pParse, pTabList, pWhere, (*SortCtx)(unsafe.Pointer(bp+48 /* &sSort */)).FpOrderBy, (*Select)(unsafe.Pointer(p)).FpEList, wctrlFlags, int32((*Select)(unsafe.Pointer(p)).FnSelectRow)) if !(pWInfo == uintptr(0)) { goto __60 @@ -165095,21 +165095,21 @@ __60: (*Select)(unsafe.Pointer(p)).FnSelectRow = Xsqlite3WhereOutputRowCount(tls, pWInfo) __61: ; - if !(((*DistinctCtx)(unsafe.Pointer(bp+168 /* &sDistinct */)).FisTnct != 0) && (Xsqlite3WhereIsDistinct(tls, pWInfo) != 0)) { + if !(((*DistinctCtx)(unsafe.Pointer(bp+136 /* &sDistinct */)).FisTnct != 0) && (Xsqlite3WhereIsDistinct(tls, pWInfo) != 0)) { goto __62 } - (*DistinctCtx)(unsafe.Pointer(bp + 168 /* &sDistinct */)).FeTnctType = U8(Xsqlite3WhereIsDistinct(tls, pWInfo)) + (*DistinctCtx)(unsafe.Pointer(bp + 136 /* &sDistinct */)).FeTnctType = U8(Xsqlite3WhereIsDistinct(tls, pWInfo)) __62: ; - if !((*SortCtx)(unsafe.Pointer(bp+80 /* &sSort */)).FpOrderBy != 0) { + if !((*SortCtx)(unsafe.Pointer(bp+48 /* &sSort */)).FpOrderBy != 0) { goto __63 } - (*SortCtx)(unsafe.Pointer(bp + 80 /* &sSort */)).FnOBSat = Xsqlite3WhereIsOrdered(tls, pWInfo) - (*SortCtx)(unsafe.Pointer(bp + 80 /* &sSort */)).FlabelOBLopt = Xsqlite3WhereOrderByLimitOptLabel(tls, pWInfo) - if !((*SortCtx)(unsafe.Pointer(bp+80 /* &sSort */)).FnOBSat == (*ExprList)(unsafe.Pointer((*SortCtx)(unsafe.Pointer(bp+80 /* &sSort */)).FpOrderBy)).FnExpr) { + (*SortCtx)(unsafe.Pointer(bp + 48 /* &sSort */)).FnOBSat = Xsqlite3WhereIsOrdered(tls, pWInfo) + (*SortCtx)(unsafe.Pointer(bp + 48 /* &sSort */)).FlabelOBLopt = Xsqlite3WhereOrderByLimitOptLabel(tls, pWInfo) + if !((*SortCtx)(unsafe.Pointer(bp+48 /* &sSort */)).FnOBSat == (*ExprList)(unsafe.Pointer((*SortCtx)(unsafe.Pointer(bp+48 /* &sSort */)).FpOrderBy)).FnExpr) { goto __64 } - (*SortCtx)(unsafe.Pointer(bp + 80 /* &sSort */)).FpOrderBy = uintptr(0) + (*SortCtx)(unsafe.Pointer(bp + 48 /* &sSort */)).FpOrderBy = uintptr(0) __64: ; __63: @@ -165118,10 +165118,10 @@ __63: // If sorting index that was created by a prior OP_OpenEphemeral // instruction ended up not being needed, then change the OP_OpenEphemeral // into an OP_Noop. - if !(((*SortCtx)(unsafe.Pointer(bp+80 /* &sSort */)).FaddrSortIndex >= 0) && ((*SortCtx)(unsafe.Pointer(bp+80 /* &sSort */)).FpOrderBy == uintptr(0))) { + if !(((*SortCtx)(unsafe.Pointer(bp+48 /* &sSort */)).FaddrSortIndex >= 0) && ((*SortCtx)(unsafe.Pointer(bp+48 /* &sSort */)).FpOrderBy == uintptr(0))) { goto __65 } - Xsqlite3VdbeChangeToNoop(tls, v, (*SortCtx)(unsafe.Pointer(bp+80 /* &sSort */)).FaddrSortIndex) + Xsqlite3VdbeChangeToNoop(tls, v, (*SortCtx)(unsafe.Pointer(bp+48 /* &sSort */)).FaddrSortIndex) __65: ; @@ -165138,8 +165138,8 @@ __65: Xsqlite3VdbeAddOp2(tls, v, OP_Goto, 0, iBreak) Xsqlite3VdbeResolveLabel(tls, v, addrGosub) - (*SortCtx)(unsafe.Pointer(bp + 80 /* &sSort */)).FlabelOBLopt = 0 - selectInnerLoop(tls, pParse, p, -1, bp+80 /* &sSort */, bp+168 /* &sDistinct */, pDest, iCont, iBreak) + (*SortCtx)(unsafe.Pointer(bp + 48 /* &sSort */)).FlabelOBLopt = 0 + selectInnerLoop(tls, pParse, p, -1, bp+48 /* &sSort */, bp+136 /* &sDistinct */, pDest, iCont, iBreak) Xsqlite3VdbeResolveLabel(tls, v, iCont) Xsqlite3VdbeAddOp1(tls, v, OP_Return, regGosub) @@ -165148,7 +165148,7 @@ __65: __66: // Use the standard inner loop. - selectInnerLoop(tls, pParse, p, -1, bp+80 /* &sSort */, bp+168 /* &sDistinct */, pDest, + selectInnerLoop(tls, pParse, p, -1, bp+48 /* &sSort */, bp+136 /* &sDistinct */, pDest, Xsqlite3WhereContinueLabel(tls, pWInfo), Xsqlite3WhereBreakLabel(tls, pWInfo)) @@ -165215,7 +165215,7 @@ __76: // but not actually sorted. Either way, record the fact that the // ORDER BY and GROUP BY clauses are the same by setting the orderByGrp // variable. - if !(((*SortCtx)(unsafe.Pointer(bp+80 /* &sSort */)).FpOrderBy != 0) && ((*ExprList)(unsafe.Pointer(pGroupBy)).FnExpr == (*ExprList)(unsafe.Pointer((*SortCtx)(unsafe.Pointer(bp+80 /* &sSort */)).FpOrderBy)).FnExpr)) { + if !(((*SortCtx)(unsafe.Pointer(bp+48 /* &sSort */)).FpOrderBy != 0) && ((*ExprList)(unsafe.Pointer(pGroupBy)).FnExpr == (*ExprList)(unsafe.Pointer((*SortCtx)(unsafe.Pointer(bp+48 /* &sSort */)).FpOrderBy)).FnExpr)) { goto __77 } // The GROUP BY processing doesn't care whether rows are delivered in @@ -165228,7 +165228,7 @@ __78: if !(ii < (*ExprList)(unsafe.Pointer(pGroupBy)).FnExpr) { goto __80 } - sortFlags = (U8(int32((*ExprList_item)(unsafe.Pointer(((*SortCtx)(unsafe.Pointer(bp+80 /* &sSort */)).FpOrderBy+8 /* &.a */)+uintptr(ii)*32)).FsortFlags) & KEYINFO_ORDER_DESC)) + sortFlags = (U8(int32((*ExprList_item)(unsafe.Pointer(((*SortCtx)(unsafe.Pointer(bp+48 /* &sSort */)).FpOrderBy+8 /* &.a */)+uintptr(ii)*32)).FsortFlags) & KEYINFO_ORDER_DESC)) (*ExprList_item)(unsafe.Pointer((pGroupBy + 8 /* &.a */) + uintptr(ii)*32)).FsortFlags = sortFlags goto __79 __79: @@ -165237,7 +165237,7 @@ __79: goto __80 __80: ; - if !(Xsqlite3ExprListCompare(tls, pGroupBy, (*SortCtx)(unsafe.Pointer(bp+80 /* &sSort */)).FpOrderBy, -1) == 0) { + if !(Xsqlite3ExprListCompare(tls, pGroupBy, (*SortCtx)(unsafe.Pointer(bp+48 /* &sSort */)).FpOrderBy, -1) == 0) { goto __81 } orderByGrp = 1 @@ -165276,10 +165276,10 @@ __82: __83: ; (*AggInfo)(unsafe.Pointer(pAggInfo)).FselId = (*Select)(unsafe.Pointer(p)).FselId - libc.Xmemset(tls, bp+184 /* &sNC */, 0, uint64(unsafe.Sizeof(NameContext{}))) - (*NameContext)(unsafe.Pointer(bp + 184 /* &sNC */)).FpParse = pParse - (*NameContext)(unsafe.Pointer(bp + 184 /* &sNC */)).FpSrcList = pTabList - *(*uintptr)(unsafe.Pointer(bp + 184 /* &sNC */ + 16 /* &.uNC */)) = pAggInfo + libc.Xmemset(tls, bp+152 /* &sNC */, 0, uint64(unsafe.Sizeof(NameContext{}))) + (*NameContext)(unsafe.Pointer(bp + 152 /* &sNC */)).FpParse = pParse + (*NameContext)(unsafe.Pointer(bp + 152 /* &sNC */)).FpSrcList = pTabList + *(*uintptr)(unsafe.Pointer(bp + 152 /* &sNC */ + 16 /* &.uNC */)) = pAggInfo (*AggInfo)(unsafe.Pointer(pAggInfo)).FmnReg = ((*Parse)(unsafe.Pointer(pParse)).FnMem + 1) (*AggInfo)(unsafe.Pointer(pAggInfo)).FnSortingColumn = func() int32 { @@ -165289,8 +165289,8 @@ __83: return 0 }() (*AggInfo)(unsafe.Pointer(pAggInfo)).FpGroupBy = pGroupBy - Xsqlite3ExprAnalyzeAggList(tls, bp+184 /* &sNC */, pEList) - Xsqlite3ExprAnalyzeAggList(tls, bp+184 /* &sNC */, (*SortCtx)(unsafe.Pointer(bp+80 /* &sSort */)).FpOrderBy) + Xsqlite3ExprAnalyzeAggList(tls, bp+152 /* &sNC */, pEList) + Xsqlite3ExprAnalyzeAggList(tls, bp+152 /* &sNC */, (*SortCtx)(unsafe.Pointer(bp+48 /* &sSort */)).FpOrderBy) if !(pHaving != 0) { goto __84 } @@ -165302,14 +165302,14 @@ __83: pWhere = (*Select)(unsafe.Pointer(p)).FpWhere __85: ; - Xsqlite3ExprAnalyzeAggregates(tls, bp+184 /* &sNC */, pHaving) + Xsqlite3ExprAnalyzeAggregates(tls, bp+152 /* &sNC */, pHaving) __84: ; (*AggInfo)(unsafe.Pointer(pAggInfo)).FnAccumulator = (*AggInfo)(unsafe.Pointer(pAggInfo)).FnColumn if !((((*Select)(unsafe.Pointer(p)).FpGroupBy == uintptr(0)) && ((*Select)(unsafe.Pointer(p)).FpHaving == uintptr(0))) && ((*AggInfo)(unsafe.Pointer(pAggInfo)).FnFunc == 1)) { goto __86 } - minMaxFlag = minMaxQuery(tls, db, (*AggInfo_func)(unsafe.Pointer((*AggInfo)(unsafe.Pointer(pAggInfo)).FaFunc)).FpFExpr, bp+240 /* &pMinMaxOrderBy */) + minMaxFlag = minMaxQuery(tls, db, (*AggInfo_func)(unsafe.Pointer((*AggInfo)(unsafe.Pointer(pAggInfo)).FaFunc)).FpFExpr, bp+208 /* &pMinMaxOrderBy */) goto __87 __86: minMaxFlag = U8(WHERE_ORDERBY_NORMAL) @@ -165322,16 +165322,16 @@ __88: } pExpr = (*AggInfo_func)(unsafe.Pointer((*AggInfo)(unsafe.Pointer(pAggInfo)).FaFunc + uintptr(i)*32)).FpFExpr - *(*int32)(unsafe.Pointer(bp + 184 /* &sNC */ + 40 /* &.ncFlags */)) |= (NC_InAggFunc) - Xsqlite3ExprAnalyzeAggList(tls, bp+184 /* &sNC */, *(*uintptr)(unsafe.Pointer(pExpr + 32 /* &.x */))) + *(*int32)(unsafe.Pointer(bp + 152 /* &sNC */ + 40 /* &.ncFlags */)) |= (NC_InAggFunc) + Xsqlite3ExprAnalyzeAggList(tls, bp+152 /* &sNC */, *(*uintptr)(unsafe.Pointer(pExpr + 32 /* &.x */))) if !(((*Expr)(unsafe.Pointer((pExpr))).Fflags & (U32(EP_WinFunc))) != U32(0)) { goto __91 } - Xsqlite3ExprAnalyzeAggregates(tls, bp+184 /* &sNC */, (*Window)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(pExpr + 64 /* &.y */)))).FpFilter) + Xsqlite3ExprAnalyzeAggregates(tls, bp+152 /* &sNC */, (*Window)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(pExpr + 64 /* &.y */)))).FpFilter) __91: ; - *(*int32)(unsafe.Pointer(bp + 184 /* &sNC */ + 40 /* &.ncFlags */)) &= (libc.CplInt32(NC_InAggFunc)) + *(*int32)(unsafe.Pointer(bp + 152 /* &sNC */ + 40 /* &.ncFlags */)) &= (libc.CplInt32(NC_InAggFunc)) goto __89 __89: i++ @@ -165433,7 +165433,7 @@ __97: explainTempTable(tls, pParse, func() uintptr { - if ((*DistinctCtx)(unsafe.Pointer(bp+168 /* &sDistinct */)).FisTnct != 0) && (((*Select)(unsafe.Pointer(p)).FselFlags & U32(SF_Distinct)) == U32(0)) { + if ((*DistinctCtx)(unsafe.Pointer(bp+136 /* &sDistinct */)).FisTnct != 0) && (((*Select)(unsafe.Pointer(p)).FselFlags & U32(SF_Distinct)) == U32(0)) { return ts + 19549 /* "DISTINCT" */ } return ts + 19558 /* "GROUP BY" */ @@ -165514,8 +165514,8 @@ __98: ((groupBySort != 0) || (Xsqlite3WhereIsSorted(tls, pWInfo) != 0))) { goto __107 } - (*SortCtx)(unsafe.Pointer(bp + 80 /* &sSort */)).FpOrderBy = uintptr(0) - Xsqlite3VdbeChangeToNoop(tls, v, (*SortCtx)(unsafe.Pointer(bp+80 /* &sSort */)).FaddrSortIndex) + (*SortCtx)(unsafe.Pointer(bp + 48 /* &sSort */)).FpOrderBy = uintptr(0) + Xsqlite3VdbeChangeToNoop(tls, v, (*SortCtx)(unsafe.Pointer(bp+48 /* &sSort */)).FaddrSortIndex) __107: ; @@ -165617,8 +165617,8 @@ __115: Xsqlite3VdbeAddOp1(tls, v, OP_Return, regOutputRow) finalizeAggFunctions(tls, pParse, pAggInfo) Xsqlite3ExprIfFalse(tls, pParse, pHaving, (addrOutputRow + 1), SQLITE_JUMPIFNULL) - selectInnerLoop(tls, pParse, p, -1, bp+80, /* &sSort */ - bp+168 /* &sDistinct */, pDest, + selectInnerLoop(tls, pParse, p, -1, bp+48, /* &sSort */ + bp+136 /* &sDistinct */, pDest, (addrOutputRow + 1), addrSetAbort) Xsqlite3VdbeAddOp1(tls, v, OP_Return, regOutputRow) @@ -165797,7 +165797,7 @@ __128: // WHERE_ORDERBY_MIN or WHERE_ORDERBY_MAX and pMinMaxOrderBy will // be an appropriate ORDER BY expression for the optimization. - pWInfo = Xsqlite3WhereBegin(tls, pParse, pTabList, pWhere, *(*uintptr)(unsafe.Pointer(bp + 240 /* pMinMaxOrderBy */)), + pWInfo = Xsqlite3WhereBegin(tls, pParse, pTabList, pWhere, *(*uintptr)(unsafe.Pointer(bp + 208 /* pMinMaxOrderBy */)), pDistinct1, (uint16(int32(minMaxFlag) | int32(distFlag1))), 0) if !(pWInfo == uintptr(0)) { goto __136 @@ -165834,7 +165834,7 @@ __139: __118: ; - (*SortCtx)(unsafe.Pointer(bp + 80 /* &sSort */)).FpOrderBy = uintptr(0) + (*SortCtx)(unsafe.Pointer(bp + 48 /* &sSort */)).FpOrderBy = uintptr(0) Xsqlite3ExprIfFalse(tls, pParse, pHaving, addrEnd, SQLITE_JUMPIFNULL) selectInnerLoop(tls, pParse, p, -1, uintptr(0), uintptr(0), pDest, addrEnd, addrEnd) @@ -165845,7 +165845,7 @@ __94: __58: ; // endif aggregate query - if !(int32((*DistinctCtx)(unsafe.Pointer(bp+168 /* &sDistinct */)).FeTnctType) == WHERE_DISTINCT_UNORDERED) { + if !(int32((*DistinctCtx)(unsafe.Pointer(bp+136 /* &sDistinct */)).FeTnctType) == WHERE_DISTINCT_UNORDERED) { goto __140 } explainTempTable(tls, pParse, ts+19549 /* "DISTINCT" */) @@ -165854,18 +165854,18 @@ __140: // If there is an ORDER BY clause, then we need to sort the results // and send them to the callback one by one. - if !((*SortCtx)(unsafe.Pointer(bp+80 /* &sSort */)).FpOrderBy != 0) { + if !((*SortCtx)(unsafe.Pointer(bp+48 /* &sSort */)).FpOrderBy != 0) { goto __141 } explainTempTable(tls, pParse, func() uintptr { - if (*SortCtx)(unsafe.Pointer(bp+80 /* &sSort */)).FnOBSat > 0 { + if (*SortCtx)(unsafe.Pointer(bp+48 /* &sSort */)).FnOBSat > 0 { return ts + 19567 /* "RIGHT PART OF OR..." */ } return ts + 19590 /* "ORDER BY" */ }()) - generateSortTail(tls, pParse, p, bp+80 /* &sSort */, (*ExprList)(unsafe.Pointer(pEList)).FnExpr, pDest) + generateSortTail(tls, pParse, p, bp+48 /* &sSort */, (*ExprList)(unsafe.Pointer(pEList)).FnExpr, pDest) __141: ; @@ -165881,7 +165881,7 @@ __141: select_end: ; *(*int32)(unsafe.Pointer(pParse + 48 /* &.nErr */)) += (int32((*Sqlite3)(unsafe.Pointer(db)).FmallocFailed)) - Xsqlite3ExprListDelete(tls, db, *(*uintptr)(unsafe.Pointer(bp + 240 /* pMinMaxOrderBy */))) + Xsqlite3ExprListDelete(tls, db, *(*uintptr)(unsafe.Pointer(bp + 208 /* pMinMaxOrderBy */))) Xsqlite3VdbeExplainPop(tls, pParse) return rc @@ -165948,8 +165948,8 @@ type TabResult = TabResult1 /* sqlite3.c:139506:3 */ // is to fill in the TabResult structure appropriately, allocating new // memory as necessary. func sqlite3_get_table_cb(tls *libc.TLS, pArg uintptr, nCol int32, argv uintptr, colv uintptr) int32 { /* sqlite3.c:139513:12: */ - bp := tls.Alloc(16) - defer tls.Free(16) + bp := tls.Alloc(8) + defer tls.Free(8) var p uintptr // Result accumulator var need int32 // Slots needed in p->azResult[] @@ -166079,11 +166079,11 @@ malloc_failed: // Instead, the entire table should be passed to sqlite3_free_table() when // the calling procedure is finished using it. func Xsqlite3_get_table(tls *libc.TLS, db uintptr, zSql uintptr, pazResult uintptr, pnRow uintptr, pnColumn uintptr, pzErrMsg uintptr) int32 { /* sqlite3.c:139587:16: */ - bp := tls.Alloc(56) - defer tls.Free(56) + bp := tls.Alloc(48) + defer tls.Free(48) var rc int32 - // var res TabResult at bp+16, 40 + // var res TabResult at bp+8, 40 *(*uintptr)(unsafe.Pointer(pazResult)) = uintptr(0) if pnColumn != 0 { @@ -166095,56 +166095,56 @@ func Xsqlite3_get_table(tls *libc.TLS, db uintptr, zSql uintptr, pazResult uintp if pzErrMsg != 0 { *(*uintptr)(unsafe.Pointer(pzErrMsg)) = uintptr(0) } - (*TabResult)(unsafe.Pointer(bp + 16 /* &res */)).FzErrMsg = uintptr(0) - (*TabResult)(unsafe.Pointer(bp + 16 /* &res */)).FnRow = U32(0) - (*TabResult)(unsafe.Pointer(bp + 16 /* &res */)).FnColumn = U32(0) - (*TabResult)(unsafe.Pointer(bp + 16 /* &res */)).FnData = U32(1) - (*TabResult)(unsafe.Pointer(bp + 16 /* &res */)).FnAlloc = U32(20) - (*TabResult)(unsafe.Pointer(bp + 16 /* &res */)).Frc = SQLITE_OK - (*TabResult)(unsafe.Pointer(bp + 16 /* &res */)).FazResult = Xsqlite3_malloc64(tls, (uint64(unsafe.Sizeof(uintptr(0))) * uint64((*TabResult)(unsafe.Pointer(bp+16 /* &res */)).FnAlloc))) - if (*TabResult)(unsafe.Pointer(bp+16 /* &res */)).FazResult == uintptr(0) { + (*TabResult)(unsafe.Pointer(bp + 8 /* &res */)).FzErrMsg = uintptr(0) + (*TabResult)(unsafe.Pointer(bp + 8 /* &res */)).FnRow = U32(0) + (*TabResult)(unsafe.Pointer(bp + 8 /* &res */)).FnColumn = U32(0) + (*TabResult)(unsafe.Pointer(bp + 8 /* &res */)).FnData = U32(1) + (*TabResult)(unsafe.Pointer(bp + 8 /* &res */)).FnAlloc = U32(20) + (*TabResult)(unsafe.Pointer(bp + 8 /* &res */)).Frc = SQLITE_OK + (*TabResult)(unsafe.Pointer(bp + 8 /* &res */)).FazResult = Xsqlite3_malloc64(tls, (uint64(unsafe.Sizeof(uintptr(0))) * uint64((*TabResult)(unsafe.Pointer(bp+8 /* &res */)).FnAlloc))) + if (*TabResult)(unsafe.Pointer(bp+8 /* &res */)).FazResult == uintptr(0) { (*Sqlite3)(unsafe.Pointer(db)).FerrCode = SQLITE_NOMEM return SQLITE_NOMEM } - *(*uintptr)(unsafe.Pointer((*TabResult)(unsafe.Pointer(bp + 16 /* &res */)).FazResult)) = uintptr(0) + *(*uintptr)(unsafe.Pointer((*TabResult)(unsafe.Pointer(bp + 8 /* &res */)).FazResult)) = uintptr(0) rc = Xsqlite3_exec(tls, db, zSql, *(*uintptr)(unsafe.Pointer(&struct { f func(*libc.TLS, uintptr, int32, uintptr, uintptr) int32 - }{sqlite3_get_table_cb})), bp+16 /* &res */, pzErrMsg) + }{sqlite3_get_table_cb})), bp+8 /* &res */, pzErrMsg) - *(*uintptr)(unsafe.Pointer((*TabResult)(unsafe.Pointer(bp + 16 /* &res */)).FazResult)) = uintptr(int64((*TabResult)(unsafe.Pointer(bp + 16 /* &res */)).FnData)) + *(*uintptr)(unsafe.Pointer((*TabResult)(unsafe.Pointer(bp + 8 /* &res */)).FazResult)) = uintptr(int64((*TabResult)(unsafe.Pointer(bp + 8 /* &res */)).FnData)) if (rc & 0xff) == SQLITE_ABORT { - Xsqlite3_free_table(tls, ((*TabResult)(unsafe.Pointer(bp+16 /* &res */)).FazResult + 1*8)) - if (*TabResult)(unsafe.Pointer(bp+16 /* &res */)).FzErrMsg != 0 { + Xsqlite3_free_table(tls, ((*TabResult)(unsafe.Pointer(bp+8 /* &res */)).FazResult + 1*8)) + if (*TabResult)(unsafe.Pointer(bp+8 /* &res */)).FzErrMsg != 0 { if pzErrMsg != 0 { Xsqlite3_free(tls, *(*uintptr)(unsafe.Pointer(pzErrMsg))) - *(*uintptr)(unsafe.Pointer(pzErrMsg)) = Xsqlite3_mprintf(tls, ts+3630 /* "%s" */, libc.VaList(bp, (*TabResult)(unsafe.Pointer(bp+16 /* &res */)).FzErrMsg)) + *(*uintptr)(unsafe.Pointer(pzErrMsg)) = Xsqlite3_mprintf(tls, ts+3630 /* "%s" */, libc.VaList(bp, (*TabResult)(unsafe.Pointer(bp+8 /* &res */)).FzErrMsg)) } - Xsqlite3_free(tls, (*TabResult)(unsafe.Pointer(bp+16 /* &res */)).FzErrMsg) + Xsqlite3_free(tls, (*TabResult)(unsafe.Pointer(bp+8 /* &res */)).FzErrMsg) } - (*Sqlite3)(unsafe.Pointer(db)).FerrCode = (*TabResult)(unsafe.Pointer(bp + 16 /* &res */)).Frc // Assume 32-bit assignment is atomic - return (*TabResult)(unsafe.Pointer(bp + 16 /* &res */)).Frc + (*Sqlite3)(unsafe.Pointer(db)).FerrCode = (*TabResult)(unsafe.Pointer(bp + 8 /* &res */)).Frc // Assume 32-bit assignment is atomic + return (*TabResult)(unsafe.Pointer(bp + 8 /* &res */)).Frc } - Xsqlite3_free(tls, (*TabResult)(unsafe.Pointer(bp+16 /* &res */)).FzErrMsg) + Xsqlite3_free(tls, (*TabResult)(unsafe.Pointer(bp+8 /* &res */)).FzErrMsg) if rc != SQLITE_OK { - Xsqlite3_free_table(tls, ((*TabResult)(unsafe.Pointer(bp+16 /* &res */)).FazResult + 1*8)) + Xsqlite3_free_table(tls, ((*TabResult)(unsafe.Pointer(bp+8 /* &res */)).FazResult + 1*8)) return rc } - if (*TabResult)(unsafe.Pointer(bp+16 /* &res */)).FnAlloc > (*TabResult)(unsafe.Pointer(bp+16 /* &res */)).FnData { + if (*TabResult)(unsafe.Pointer(bp+8 /* &res */)).FnAlloc > (*TabResult)(unsafe.Pointer(bp+8 /* &res */)).FnData { var azNew uintptr - azNew = Xsqlite3Realloc(tls, (*TabResult)(unsafe.Pointer(bp+16 /* &res */)).FazResult, (uint64(unsafe.Sizeof(uintptr(0))) * uint64((*TabResult)(unsafe.Pointer(bp+16 /* &res */)).FnData))) + azNew = Xsqlite3Realloc(tls, (*TabResult)(unsafe.Pointer(bp+8 /* &res */)).FazResult, (uint64(unsafe.Sizeof(uintptr(0))) * uint64((*TabResult)(unsafe.Pointer(bp+8 /* &res */)).FnData))) if azNew == uintptr(0) { - Xsqlite3_free_table(tls, ((*TabResult)(unsafe.Pointer(bp+16 /* &res */)).FazResult + 1*8)) + Xsqlite3_free_table(tls, ((*TabResult)(unsafe.Pointer(bp+8 /* &res */)).FazResult + 1*8)) (*Sqlite3)(unsafe.Pointer(db)).FerrCode = SQLITE_NOMEM return SQLITE_NOMEM } - (*TabResult)(unsafe.Pointer(bp + 16 /* &res */)).FazResult = azNew + (*TabResult)(unsafe.Pointer(bp + 8 /* &res */)).FazResult = azNew } - *(*uintptr)(unsafe.Pointer(pazResult)) = ((*TabResult)(unsafe.Pointer(bp+16 /* &res */)).FazResult + 1*8) + *(*uintptr)(unsafe.Pointer(pazResult)) = ((*TabResult)(unsafe.Pointer(bp+8 /* &res */)).FazResult + 1*8) if pnColumn != 0 { - *(*int32)(unsafe.Pointer(pnColumn)) = int32((*TabResult)(unsafe.Pointer(bp + 16 /* &res */)).FnColumn) + *(*int32)(unsafe.Pointer(pnColumn)) = int32((*TabResult)(unsafe.Pointer(bp + 8 /* &res */)).FnColumn) } if pnRow != 0 { - *(*int32)(unsafe.Pointer(pnRow)) = int32((*TabResult)(unsafe.Pointer(bp + 16 /* &res */)).FnRow) + *(*int32)(unsafe.Pointer(pnRow)) = int32((*TabResult)(unsafe.Pointer(bp + 8 /* &res */)).FnRow) } return rc } @@ -166249,17 +166249,17 @@ func Xsqlite3TriggerList(tls *libc.TLS, pParse uintptr, pTab uintptr) uintptr { // sqlite3FinishTrigger() function is called to complete the trigger // construction process. func Xsqlite3BeginTrigger(tls *libc.TLS, pParse uintptr, pName1 uintptr, pName2 uintptr, tr_tm int32, op int32, pColumns uintptr, pTableName uintptr, pWhen uintptr, isTemp int32, noErr int32) { /* sqlite3.c:139778:21: */ - bp := tls.Alloc(160) - defer tls.Free(160) + bp := tls.Alloc(136) + defer tls.Free(136) var pTrigger uintptr // The new trigger var pTab uintptr // Table that the trigger fires off of var zName uintptr // Name of the trigger var db uintptr // The database connection var iDb int32 // The database to store the trigger in - // var pName uintptr at bp+56, 8 + // var pName uintptr at bp+32, 8 // The unqualified db name - // var sFix DbFixer at bp+64, 96 + // var sFix DbFixer at bp+40, 96 var iTabDb int32 var code int32 @@ -166283,11 +166283,11 @@ func Xsqlite3BeginTrigger(tls *libc.TLS, pParse uintptr, pName1 uintptr, pName2 __3: ; iDb = 1 - *(*uintptr)(unsafe.Pointer(bp + 56 /* pName */)) = pName1 + *(*uintptr)(unsafe.Pointer(bp + 32 /* pName */)) = pName1 goto __2 __1: // Figure out the db that the trigger will be created in - iDb = Xsqlite3TwoPartName(tls, pParse, pName1, pName2, bp+56 /* &pName */) + iDb = Xsqlite3TwoPartName(tls, pParse, pName1, pName2, bp+32 /* &pName */) if !(iDb < 0) { goto __4 } @@ -166339,8 +166339,8 @@ __7: __8: ; - Xsqlite3FixInit(tls, bp+64 /* &sFix */, pParse, iDb, ts+19710 /* "trigger" */, *(*uintptr)(unsafe.Pointer(bp + 56 /* pName */))) - if !(Xsqlite3FixSrcList(tls, bp+64 /* &sFix */, pTableName) != 0) { + Xsqlite3FixInit(tls, bp+40 /* &sFix */, pParse, iDb, ts+19710 /* "trigger" */, *(*uintptr)(unsafe.Pointer(bp + 32 /* pName */))) + if !(Xsqlite3FixSrcList(tls, bp+40 /* &sFix */, pTableName) != 0) { goto __9 } goto trigger_cleanup @@ -166364,7 +166364,7 @@ __11: // Check that the trigger name is not reserved and that no trigger of the // specified name exists - zName = Xsqlite3NameFromToken(tls, db, *(*uintptr)(unsafe.Pointer(bp + 56 /* pName */))) + zName = Xsqlite3NameFromToken(tls, db, *(*uintptr)(unsafe.Pointer(bp + 32 /* pName */))) if !(zName == uintptr(0)) { goto __12 } @@ -166388,7 +166388,7 @@ __13: if !(!(noErr != 0)) { goto __16 } - Xsqlite3ErrorMsg(tls, pParse, ts+19759 /* "trigger %T alrea..." */, libc.VaList(bp, *(*uintptr)(unsafe.Pointer(bp + 56 /* pName */)))) + Xsqlite3ErrorMsg(tls, pParse, ts+19759 /* "trigger %T alrea..." */, libc.VaList(bp, *(*uintptr)(unsafe.Pointer(bp + 32 /* pName */)))) goto __17 __16: ; @@ -166416,7 +166416,7 @@ __18: goto __19 } Xsqlite3ErrorMsg(tls, pParse, ts+19823, /* "cannot create %s..." */ - libc.VaList(bp+16, func() uintptr { + libc.VaList(bp+8, func() uintptr { if tr_tm == TK_BEFORE { return ts + 19860 /* "BEFORE" */ } @@ -166429,7 +166429,7 @@ __19: goto __20 } Xsqlite3ErrorMsg(tls, pParse, - ts+19873 /* "cannot create IN..." */, libc.VaList(bp+40, pTableName+8 /* &.a */)) + ts+19873 /* "cannot create IN..." */, libc.VaList(bp+24, pTableName+8 /* &.a */)) goto trigger_orphan_error __20: ; @@ -166556,16 +166556,16 @@ __31: // This routine is called after all of the trigger actions have been parsed // in order to complete the process of building the trigger. func Xsqlite3FinishTrigger(tls *libc.TLS, pParse uintptr, pStepList uintptr, pAll uintptr) { /* sqlite3.c:139985:21: */ - bp := tls.Alloc(168) - defer tls.Free(168) + bp := tls.Alloc(152) + defer tls.Free(152) var pTrig uintptr // Trigger being finished var zName uintptr // Name of trigger var db uintptr // The database - // var sFix DbFixer at bp+72, 96 + // var sFix DbFixer at bp+56, 96 // Fixer object var iDb int32 // Database containing the trigger - // var nameToken Token at bp+56, 16 + // var nameToken Token at bp+40, 16 var v uintptr var z uintptr @@ -166594,10 +166594,10 @@ __2: goto __2 __3: ; - Xsqlite3TokenInit(tls, bp+56 /* &nameToken */, (*Trigger)(unsafe.Pointer(pTrig)).FzName) - Xsqlite3FixInit(tls, bp+72 /* &sFix */, pParse, iDb, ts+19710 /* "trigger" */, bp+56 /* &nameToken */) - if !((Xsqlite3FixTriggerStep(tls, bp+72 /* &sFix */, (*Trigger)(unsafe.Pointer(pTrig)).Fstep_list) != 0) || - (Xsqlite3FixExpr(tls, bp+72 /* &sFix */, (*Trigger)(unsafe.Pointer(pTrig)).FpWhen) != 0)) { + Xsqlite3TokenInit(tls, bp+40 /* &nameToken */, (*Trigger)(unsafe.Pointer(pTrig)).FzName) + Xsqlite3FixInit(tls, bp+56 /* &sFix */, pParse, iDb, ts+19710 /* "trigger" */, bp+40 /* &nameToken */) + if !((Xsqlite3FixTriggerStep(tls, bp+56 /* &sFix */, (*Trigger)(unsafe.Pointer(pTrig)).Fstep_list) != 0) || + (Xsqlite3FixExpr(tls, bp+56 /* &sFix */, (*Trigger)(unsafe.Pointer(pTrig)).FpWhen) != 0)) { goto __4 } goto triggerfinish_cleanup @@ -166638,7 +166638,7 @@ __8: Xsqlite3DbFree(tls, db, z) Xsqlite3ChangeCookie(tls, pParse, iDb) Xsqlite3VdbeAddParseSchemaOp(tls, v, iDb, - Xsqlite3MPrintf(tls, db, ts+19994 /* "type='trigger' A..." */, libc.VaList(bp+40, zName)), uint16(0)) + Xsqlite3MPrintf(tls, db, ts+19994 /* "type='trigger' A..." */, libc.VaList(bp+32, zName)), uint16(0)) __7: ; __6: @@ -166839,8 +166839,8 @@ func Xsqlite3DeleteTrigger(tls *libc.TLS, db uintptr, pTrigger uintptr) { /* sql // instead of the trigger name. // func Xsqlite3DropTrigger(tls *libc.TLS, pParse uintptr, pName uintptr, noErr int32) { /* sqlite3.c:140273:21: */ - bp := tls.Alloc(16) - defer tls.Free(16) + bp := tls.Alloc(8) + defer tls.Free(8) var pTrigger uintptr var i int32 @@ -166928,8 +166928,8 @@ func tableOfTrigger(tls *libc.TLS, pTrigger uintptr) uintptr { /* sqlite3.c:1403 // Drop a trigger given a pointer to that trigger. func Xsqlite3DropTriggerPtr(tls *libc.TLS, pParse uintptr, pTrigger uintptr) { /* sqlite3.c:140323:21: */ - bp := tls.Alloc(24) - defer tls.Free(24) + bp := tls.Alloc(16) + defer tls.Free(16) var pTable uintptr var v uintptr @@ -167017,8 +167017,8 @@ func checkColumnOverlap(tls *libc.TLS, pIdList uintptr, pEList uintptr) int32 { // performed on the table, and, if that operation is an UPDATE, if at // least one of the columns in pChanges is being modified. func Xsqlite3TriggersExist(tls *libc.TLS, pParse uintptr, pTab uintptr, op int32, pChanges uintptr, pMask uintptr) uintptr { /* sqlite3.c:140410:24: */ - bp := tls.Alloc(16) - defer tls.Free(16) + bp := tls.Alloc(8) + defer tls.Free(8) var mask int32 var pList uintptr @@ -167292,8 +167292,8 @@ func codeReturningTrigger(tls *libc.TLS, pParse uintptr, pTrigger uintptr, pTab // Generate VDBE code for the statements inside the body of a single // trigger. func codeTriggerProgram(tls *libc.TLS, pParse uintptr, pStepList uintptr, orconf int32) int32 { /* sqlite3.c:140645:12: */ - bp := tls.Alloc(56) - defer tls.Free(56) + bp := tls.Alloc(48) + defer tls.Free(48) var pStep uintptr var v uintptr = (*Parse)(unsafe.Pointer(pParse)).FpVdbe @@ -167360,11 +167360,11 @@ func codeTriggerProgram(tls *libc.TLS, pParse uintptr, pStepList uintptr, orconf } default: { - // var sDest SelectDest at bp+16, 40 + // var sDest SelectDest at bp+8, 40 var pSelect uintptr = Xsqlite3SelectDup(tls, db, (*TriggerStep)(unsafe.Pointer(pStep)).FpSelect, 0) - Xsqlite3SelectDestInit(tls, bp+16 /* &sDest */, SRT_Discard, 0) - Xsqlite3Select(tls, pParse, pSelect, bp+16 /* &sDest */) + Xsqlite3SelectDestInit(tls, bp+8 /* &sDest */, SRT_Discard, 0) + Xsqlite3Select(tls, pParse, pSelect, bp+8 /* &sDest */) Xsqlite3SelectDelete(tls, db, pSelect) break @@ -167392,8 +167392,8 @@ func transferParseError(tls *libc.TLS, pTo uintptr, pFrom uintptr) { /* sqlite3. // Create and populate a new TriggerPrg object with a sub-program // implementing trigger pTrigger with ON CONFLICT policy orconf. func codeRowTrigger(tls *libc.TLS, pParse uintptr, pTrigger uintptr, pTab uintptr, orconf int32) uintptr { /* sqlite3.c:140765:19: */ - bp := tls.Alloc(72) - defer tls.Free(72) + bp := tls.Alloc(64) + defer tls.Free(64) var pTop uintptr = func() uintptr { if (*Parse)(unsafe.Pointer(pParse)).FpToplevel != 0 { @@ -167405,7 +167405,7 @@ func codeRowTrigger(tls *libc.TLS, pParse uintptr, pTrigger uintptr, pTab uintpt var pPrg uintptr // Value to return var pWhen uintptr = uintptr(0) // Duplicate of trigger WHEN expression var v uintptr // Temporary VM - // var sNC NameContext at bp+16, 56 + // var sNC NameContext at bp+8, 56 // Name context for sub-vdbe var pProgram uintptr = uintptr(0) // Sub-vdbe for trigger program var pSubParse uintptr // Parse context for sub-vdbe @@ -167436,8 +167436,8 @@ func codeRowTrigger(tls *libc.TLS, pParse uintptr, pTrigger uintptr, pTab uintpt if !(pSubParse != 0) { return uintptr(0) } - libc.Xmemset(tls, bp+16 /* &sNC */, 0, uint64(unsafe.Sizeof(NameContext{}))) - (*NameContext)(unsafe.Pointer(bp + 16 /* &sNC */)).FpParse = pSubParse + libc.Xmemset(tls, bp+8 /* &sNC */, 0, uint64(unsafe.Sizeof(NameContext{}))) + (*NameContext)(unsafe.Pointer(bp + 8 /* &sNC */)).FpParse = pSubParse (*Parse)(unsafe.Pointer(pSubParse)).Fdb = db (*Parse)(unsafe.Pointer(pSubParse)).FpTriggerTab = pTab (*Parse)(unsafe.Pointer(pSubParse)).FpToplevel = pTop @@ -167460,7 +167460,7 @@ func codeRowTrigger(tls *libc.TLS, pParse uintptr, pTrigger uintptr, pTab uintpt if (*Trigger)(unsafe.Pointer(pTrigger)).FpWhen != 0 { pWhen = Xsqlite3ExprDup(tls, db, (*Trigger)(unsafe.Pointer(pTrigger)).FpWhen, 0) if (int32((*Sqlite3)(unsafe.Pointer(db)).FmallocFailed) == 0) && - (SQLITE_OK == Xsqlite3ResolveExprNames(tls, bp+16 /* &sNC */, pWhen)) { + (SQLITE_OK == Xsqlite3ResolveExprNames(tls, bp+8 /* &sNC */, pWhen)) { iEndTrigger = Xsqlite3VdbeMakeLabel(tls, pSubParse) Xsqlite3ExprIfFalse(tls, pSubParse, pWhen, iEndTrigger, SQLITE_JUMPIFNULL) } @@ -167878,8 +167878,8 @@ func updateFromSelect(tls *libc.TLS, pParse uintptr, iEph int32, pPk uintptr, pC // \_______________________/ // pTabList func Xsqlite3Update(tls *libc.TLS, pParse uintptr, pTabList uintptr, pChanges uintptr, pWhere uintptr, onError int32, pOrderBy uintptr, pLimit uintptr, pUpsert uintptr) { /* sqlite3.c:141372:21: */ - bp := tls.Alloc(124) - defer tls.Free(124) + bp := tls.Alloc(108) + defer tls.Free(108) var i int32 var j int32 @@ -167906,9 +167906,9 @@ func Xsqlite3Update(tls *libc.TLS, pParse uintptr, pTabList uintptr, pChanges ui var chngKey U8 // Either chngPk or chngRowid var pRowidExpr uintptr // Expression defining the new record number var iRowidExpr int32 // Index of "rowid=" (or IPK) assignment in pChanges - // var sContext AuthContext at bp+32, 16 + // var sContext AuthContext at bp+16, 16 // The authorization context - // var sNC NameContext at bp+56, 56 + // var sNC NameContext at bp+40, 56 // The name-context to resolve expressions in var iDb int32 // Database containing the table being updated var eOnePass int32 // ONEPASS_XXX value from where.c @@ -167919,17 +167919,17 @@ func Xsqlite3Update(tls *libc.TLS, pParse uintptr, pTabList uintptr, pChanges ui var isView int32 // True when updating a view (INSTEAD OF trigger) var pTrigger uintptr // List of triggers on pTab, if required - // var tmask int32 at bp+48, 4 + // var tmask int32 at bp+32, 4 // Mask of TRIGGER_BEFORE|TRIGGER_AFTER var newmask int32 // Mask of NEW.* columns accessed by BEFORE triggers var iEph int32 // Ephemeral table holding all primary key values var nKey int32 // Number of elements in regKey for WITHOUT ROWID - // var aiCurOnePass [2]int32 at bp+112, 8 + // var aiCurOnePass [2]int32 at bp+96, 8 // The write cursors opened by WHERE_ONEPASS var addrOpen int32 // Address of OP_OpenEphemeral var iPk int32 // First of nPk cells holding PRIMARY KEY value var nPk I16 // Number of components of the PRIMARY KEY - // var bReplace int32 at bp+120, 4 + // var bReplace int32 at bp+104, 4 // True if REPLACE conflict resolution might happen var bFinishSeek int32 // The OP_FinishSeek opcode is needed var nChangeFrom int32 // If there is a FROM, pChanges->nExpr, else 0 @@ -167963,7 +167963,7 @@ func Xsqlite3Update(tls *libc.TLS, pParse uintptr, pTabList uintptr, pChanges ui addrOpen = 0 iPk = 0 nPk = int16(0) - *(*int32)(unsafe.Pointer(bp + 120 /* bReplace */)) = 0 + *(*int32)(unsafe.Pointer(bp + 104 /* bReplace */)) = 0 bFinishSeek = 1 nChangeFrom = 0 regRowCount = 0 @@ -167974,7 +167974,7 @@ func Xsqlite3Update(tls *libc.TLS, pParse uintptr, pTabList uintptr, pChanges ui regRowSet = 0 regKey = 0 // composite PRIMARY KEY value - libc.Xmemset(tls, bp+32 /* &sContext */, 0, uint64(unsafe.Sizeof(AuthContext{}))) + libc.Xmemset(tls, bp+16 /* &sContext */, 0, uint64(unsafe.Sizeof(AuthContext{}))) db = (*Parse)(unsafe.Pointer(pParse)).Fdb if !(((*Parse)(unsafe.Pointer(pParse)).FnErr != 0) || ((*Sqlite3)(unsafe.Pointer(db)).FmallocFailed != 0)) { goto __1 @@ -167995,7 +167995,7 @@ __2: // Figure out if we have any triggers and if the table being // updated is a view. - pTrigger = Xsqlite3TriggersExist(tls, pParse, pTab, TK_UPDATE, pChanges, bp+48 /* &tmask */) + pTrigger = Xsqlite3TriggersExist(tls, pParse, pTab, TK_UPDATE, pChanges, bp+32 /* &tmask */) isView = (libc.Bool32((*Table)(unsafe.Pointer(pTab)).FpSelect != uintptr(0))) // If there was a FROM clause, set nChangeFrom to the number of expressions @@ -168014,7 +168014,7 @@ __2: goto update_cleanup __3: ; - if !(Xsqlite3IsReadOnly(tls, pParse, pTab, *(*int32)(unsafe.Pointer(bp + 48 /* tmask */))) != 0) { + if !(Xsqlite3IsReadOnly(tls, pParse, pTab, *(*int32)(unsafe.Pointer(bp + 32 /* tmask */))) != 0) { goto __4 } goto update_cleanup @@ -168093,11 +168093,11 @@ __13: ; // Initialize the name-context - libc.Xmemset(tls, bp+56 /* &sNC */, 0, uint64(unsafe.Sizeof(NameContext{}))) - (*NameContext)(unsafe.Pointer(bp + 56 /* &sNC */)).FpParse = pParse - (*NameContext)(unsafe.Pointer(bp + 56 /* &sNC */)).FpSrcList = pTabList - *(*uintptr)(unsafe.Pointer(bp + 56 /* &sNC */ + 16 /* &.uNC */)) = pUpsert - (*NameContext)(unsafe.Pointer(bp + 56 /* &sNC */)).FncFlags = NC_UUpsert + libc.Xmemset(tls, bp+40 /* &sNC */, 0, uint64(unsafe.Sizeof(NameContext{}))) + (*NameContext)(unsafe.Pointer(bp + 40 /* &sNC */)).FpParse = pParse + (*NameContext)(unsafe.Pointer(bp + 40 /* &sNC */)).FpSrcList = pTabList + *(*uintptr)(unsafe.Pointer(bp + 40 /* &sNC */ + 16 /* &.uNC */)) = pUpsert + (*NameContext)(unsafe.Pointer(bp + 40 /* &sNC */)).FncFlags = NC_UUpsert // Begin generating code. v = Xsqlite3GetVdbe(tls, pParse) @@ -168121,7 +168121,7 @@ __15: } // If this is an UPDATE with a FROM clause, do not resolve expressions // here. The call to sqlite3Select() below will do that. - if !((nChangeFrom == 0) && (Xsqlite3ResolveExprNames(tls, bp+56 /* &sNC */, (*ExprList_item)(unsafe.Pointer((pChanges+8 /* &.a */)+uintptr(i)*32)).FpExpr) != 0)) { + if !((nChangeFrom == 0) && (Xsqlite3ResolveExprNames(tls, bp+40 /* &sNC */, (*ExprList_item)(unsafe.Pointer((pChanges+8 /* &.a */)+uintptr(i)*32)).FpExpr) != 0)) { goto __18 } goto update_cleanup @@ -168186,7 +168186,7 @@ __21: iRowidExpr = i goto __30 __29: - Xsqlite3ErrorMsg(tls, pParse, ts+20259 /* "no such column: ..." */, libc.VaList(bp+16, (*ExprList_item)(unsafe.Pointer((pChanges+8 /* &.a */)+uintptr(i)*32)).FzEName)) + Xsqlite3ErrorMsg(tls, pParse, ts+20259 /* "no such column: ..." */, libc.VaList(bp+8, (*ExprList_item)(unsafe.Pointer((pChanges+8 /* &.a */)+uintptr(i)*32)).FzEName)) (*Parse)(unsafe.Pointer(pParse)).FcheckSchema = U8(1) goto update_cleanup __30: @@ -168301,7 +168301,7 @@ __34: if !(onError == OE_Replace) { goto __44 } - *(*int32)(unsafe.Pointer(bp + 120 /* bReplace */)) = 1 + *(*int32)(unsafe.Pointer(bp + 104 /* bReplace */)) = 1 __44: ; nAllIdx = 0 @@ -168332,7 +168332,7 @@ __50: if !((onError == OE_Default) && (int32((*Index)(unsafe.Pointer(pIdx)).FonError) == OE_Replace)) { goto __54 } - *(*int32)(unsafe.Pointer(bp + 120 /* bReplace */)) = 1 + *(*int32)(unsafe.Pointer(bp + 104 /* bReplace */)) = 1 __54: ; goto __52 @@ -168363,7 +168363,7 @@ __46: __47: ; *(*int32)(unsafe.Pointer(aRegIdx + uintptr(nAllIdx)*4)) = libc.PreIncInt32(&(*Parse)(unsafe.Pointer(pParse)).FnMem, 1) // Register storing the table record - if !(*(*int32)(unsafe.Pointer(bp + 120 /* bReplace */)) != 0) { + if !(*(*int32)(unsafe.Pointer(bp + 104 /* bReplace */)) != 0) { goto __56 } // If REPLACE conflict resolution might be invoked, open cursors on all @@ -168414,7 +168414,7 @@ __58: if !(isView != 0) { goto __61 } - Xsqlite3AuthContextPush(tls, pParse, bp+32 /* &sContext */, (*Table)(unsafe.Pointer(pTab)).FzName) + Xsqlite3AuthContextPush(tls, pParse, bp+16 /* &sContext */, (*Table)(unsafe.Pointer(pTab)).FzName) __61: ; @@ -168432,7 +168432,7 @@ __62: // Resolve the column names in all the expressions in the // WHERE clause. - if !((nChangeFrom == 0) && (Xsqlite3ResolveExprNames(tls, bp+56 /* &sNC */, pWhere) != 0)) { + if !((nChangeFrom == 0) && (Xsqlite3ResolveExprNames(tls, bp+40 /* &sNC */, pWhere) != 0)) { goto __63 } goto update_cleanup @@ -168562,7 +168562,7 @@ __76: // things might disturb a cursor being used to scan through the table // or index, causing a single-pass approach to malfunction. flags = WHERE_ONEPASS_DESIRED - if !((((!(int32((*Parse)(unsafe.Pointer(pParse)).Fnested) != 0) && !(pTrigger != 0)) && !(hasFK != 0)) && !(chngKey != 0)) && !(*(*int32)(unsafe.Pointer(bp + 120 /* bReplace */)) != 0)) { + if !((((!(int32((*Parse)(unsafe.Pointer(pParse)).Fnested) != 0) && !(pTrigger != 0)) && !(hasFK != 0)) && !(chngKey != 0)) && !(*(*int32)(unsafe.Pointer(bp + 104 /* bReplace */)) != 0)) { goto __78 } flags = flags | (WHERE_ONEPASS_MULTIROW) @@ -168586,7 +168586,7 @@ __79: // Fall back to ONEPASS_OFF if where.c has selected a ONEPASS_MULTI // strategy that uses an index for which one or more columns are being // updated. - eOnePass = Xsqlite3WhereOkOnePass(tls, pWInfo, bp+112 /* &aiCurOnePass[0] */) + eOnePass = Xsqlite3WhereOkOnePass(tls, pWInfo, bp+96 /* &aiCurOnePass[0] */) bFinishSeek = Xsqlite3WhereUsesDeferredSeek(tls, pWInfo) if !(eOnePass != ONEPASS_SINGLE) { goto __80 @@ -168595,7 +168595,7 @@ __79: if !(eOnePass == ONEPASS_MULTI) { goto __81 } - iCur = *(*int32)(unsafe.Pointer(bp + 112 /* &aiCurOnePass[0] */ + 1*4)) + iCur = *(*int32)(unsafe.Pointer(bp + 96 /* &aiCurOnePass[0] */ + 1*4)) if !(((iCur >= 0) && (iCur != iDataCur)) && (*(*U8)(unsafe.Pointer(aToOpen + uintptr((iCur - iBaseCur)))) != 0)) { goto __82 } @@ -168696,22 +168696,22 @@ __95: if !(eOnePass != ONEPASS_OFF) { goto __97 } - if !(*(*int32)(unsafe.Pointer(bp + 112 /* &aiCurOnePass[0] */)) >= 0) { + if !(*(*int32)(unsafe.Pointer(bp + 96 /* &aiCurOnePass[0] */)) >= 0) { goto __98 } - *(*U8)(unsafe.Pointer(aToOpen + uintptr((*(*int32)(unsafe.Pointer(bp + 112 /* &aiCurOnePass[0] */)) - iBaseCur)))) = U8(0) + *(*U8)(unsafe.Pointer(aToOpen + uintptr((*(*int32)(unsafe.Pointer(bp + 96 /* &aiCurOnePass[0] */)) - iBaseCur)))) = U8(0) __98: ; - if !(*(*int32)(unsafe.Pointer(bp + 112 /* &aiCurOnePass[0] */ + 1*4)) >= 0) { + if !(*(*int32)(unsafe.Pointer(bp + 96 /* &aiCurOnePass[0] */ + 1*4)) >= 0) { goto __99 } - *(*U8)(unsafe.Pointer(aToOpen + uintptr((*(*int32)(unsafe.Pointer(bp + 112 /* &aiCurOnePass[0] */ + 1*4)) - iBaseCur)))) = U8(0) + *(*U8)(unsafe.Pointer(aToOpen + uintptr((*(*int32)(unsafe.Pointer(bp + 96 /* &aiCurOnePass[0] */ + 1*4)) - iBaseCur)))) = U8(0) __99: ; __97: ; - if !((eOnePass == ONEPASS_MULTI) && ((nIdx - (libc.Bool32(*(*int32)(unsafe.Pointer(bp + 112 /* &aiCurOnePass[0] */ + 1*4)) >= 0))) > 0)) { + if !((eOnePass == ONEPASS_MULTI) && ((nIdx - (libc.Bool32(*(*int32)(unsafe.Pointer(bp + 96 /* &aiCurOnePass[0] */ + 1*4)) >= 0))) > 0)) { goto __100 } addrOnce = Xsqlite3VdbeAddOp0(tls, v, OP_Once) @@ -168732,8 +168732,8 @@ __96: if !(eOnePass != ONEPASS_OFF) { goto __102 } - if !((*(*int32)(unsafe.Pointer(bp + 112 /* &aiCurOnePass[0] */)) != iDataCur) && - (*(*int32)(unsafe.Pointer(bp + 112 /* &aiCurOnePass[0] */ + 1*4)) != iDataCur)) { + if !((*(*int32)(unsafe.Pointer(bp + 96 /* &aiCurOnePass[0] */)) != iDataCur) && + (*(*int32)(unsafe.Pointer(bp + 96 /* &aiCurOnePass[0] */ + 1*4)) != iDataCur)) { goto __104 } @@ -168946,7 +168946,7 @@ __137: ; goto __135 __134: - if !(((0 == (*(*int32)(unsafe.Pointer(bp + 48 /* tmask */)) & TRIGGER_BEFORE)) || (i > 31)) || ((uint32(newmask) & (uint32((uint32(1))) << (i))) != 0)) { + if !(((0 == (*(*int32)(unsafe.Pointer(bp + 32 /* tmask */)) & TRIGGER_BEFORE)) || (i > 31)) || ((uint32(newmask) & (uint32((uint32(1))) << (i))) != 0)) { goto __138 } // This branch loads the value of a column that will not be changed @@ -168985,7 +168985,7 @@ __140: // Fire any BEFORE UPDATE triggers. This happens before constraints are // verified. One could argue that this is wrong. - if !((*(*int32)(unsafe.Pointer(bp + 48 /* tmask */)) & TRIGGER_BEFORE) != 0) { + if !((*(*int32)(unsafe.Pointer(bp + 32 /* tmask */)) & TRIGGER_BEFORE) != 0) { goto __141 } Xsqlite3TableAffinity(tls, v, pTab, regNew) @@ -169071,13 +169071,13 @@ __141: // Do constraint checks. Xsqlite3GenerateConstraintChecks(tls, pParse, pTab, aRegIdx, iDataCur, iIdxCur, - regNewRowid, regOldRowid, chngKey, uint8(onError), labelContinue, bp+120, /* &bReplace */ + regNewRowid, regOldRowid, chngKey, uint8(onError), labelContinue, bp+104, /* &bReplace */ aXRef, uintptr(0)) // If REPLACE conflict handling may have been used, or if the PK of the // row is changing, then the GenerateConstraintChecks() above may have // moved cursor iDataCur. Reseek it. - if !((*(*int32)(unsafe.Pointer(bp + 120 /* bReplace */)) != 0) || (chngKey != 0)) { + if !((*(*int32)(unsafe.Pointer(bp + 104 /* bReplace */)) != 0) || (chngKey != 0)) { goto __154 } if !(pPk != 0) { @@ -169233,7 +169233,7 @@ __169: ; update_cleanup: - Xsqlite3AuthContextPop(tls, bp+32 /* &sContext */) + Xsqlite3AuthContextPop(tls, bp+16 /* &sContext */) Xsqlite3DbFree(tls, db, aXRef) // Also frees aRegIdx[] and aToOpen[] Xsqlite3SrcListDelete(tls, db, pTabList) Xsqlite3ExprListDelete(tls, db, pChanges) @@ -169496,8 +169496,8 @@ func Xsqlite3UpsertNew(tls *libc.TLS, db uintptr, pTarget uintptr, pTargetWhere // Return SQLITE_OK if everything works, or an error code is something // is wrong. func Xsqlite3UpsertAnalyzeTarget(tls *libc.TLS, pParse uintptr, pTabList uintptr, pUpsert uintptr) int32 { /* sqlite3.c:142514:20: */ - bp := tls.Alloc(248) - defer tls.Free(248) + bp := tls.Alloc(232) + defer tls.Free(232) var pTab uintptr // That table into which we are inserting var rc int32 // Result code @@ -169505,28 +169505,28 @@ func Xsqlite3UpsertAnalyzeTarget(tls *libc.TLS, pParse uintptr, pTabList uintptr var pIdx uintptr // One of the indexes of pTab var pTarget uintptr // The conflict-target clause var pTerm uintptr // One term of the conflict-target clause - // var sNC NameContext at bp+32, 56 + // var sNC NameContext at bp+16, 56 // Context for resolving symbolic names - // var sCol [2]Expr at bp+88, 144 + // var sCol [2]Expr at bp+72, 144 // Index column converted into an Expr var nClause int32 = 0 // Counter of ON CONFLICT clauses // Resolve all symbolic names in the conflict-target clause, which // includes both the list of columns and the optional partial-index // WHERE clause. - libc.Xmemset(tls, bp+32 /* &sNC */, 0, uint64(unsafe.Sizeof(NameContext{}))) - (*NameContext)(unsafe.Pointer(bp + 32 /* &sNC */)).FpParse = pParse - (*NameContext)(unsafe.Pointer(bp + 32 /* &sNC */)).FpSrcList = pTabList + libc.Xmemset(tls, bp+16 /* &sNC */, 0, uint64(unsafe.Sizeof(NameContext{}))) + (*NameContext)(unsafe.Pointer(bp + 16 /* &sNC */)).FpParse = pParse + (*NameContext)(unsafe.Pointer(bp + 16 /* &sNC */)).FpSrcList = pTabList __1: if !((pUpsert != 0) && ((*Upsert)(unsafe.Pointer(pUpsert)).FpUpsertTarget != 0)) { goto __3 } { - rc = Xsqlite3ResolveExprListNames(tls, bp+32 /* &sNC */, (*Upsert)(unsafe.Pointer(pUpsert)).FpUpsertTarget) + rc = Xsqlite3ResolveExprListNames(tls, bp+16 /* &sNC */, (*Upsert)(unsafe.Pointer(pUpsert)).FpUpsertTarget) if rc != 0 { return rc } - rc = Xsqlite3ResolveExprNames(tls, bp+32 /* &sNC */, (*Upsert)(unsafe.Pointer(pUpsert)).FpUpsertTargetWhere) + rc = Xsqlite3ResolveExprNames(tls, bp+16 /* &sNC */, (*Upsert)(unsafe.Pointer(pUpsert)).FpUpsertTargetWhere) if rc != 0 { return rc } @@ -169549,11 +169549,11 @@ __1: // operator and sCol[1] will be the TK_COLUMN operator. Code below // will populate the specific collation and column number values // prior to comparing against the conflict-target expression. - libc.Xmemset(tls, bp+88 /* &sCol[0] */, 0, uint64(unsafe.Sizeof([2]Expr{}))) - (*Expr)(unsafe.Pointer(bp + 88 /* &sCol */)).Fop = U8(TK_COLLATE) - (*Expr)(unsafe.Pointer(bp + 88 /* &sCol */)).FpLeft = (bp + 88 /* &sCol */ + 1*72) - (*Expr)(unsafe.Pointer(bp + 88 /* &sCol */ + 1*72)).Fop = U8(TK_COLUMN) - (*Expr)(unsafe.Pointer(bp + 88 /* &sCol */ + 1*72)).FiTable = (*SrcItem)(unsafe.Pointer((pTabList + 8 /* &.a */))).FiCursor + libc.Xmemset(tls, bp+72 /* &sCol[0] */, 0, uint64(unsafe.Sizeof([2]Expr{}))) + (*Expr)(unsafe.Pointer(bp + 72 /* &sCol */)).Fop = U8(TK_COLLATE) + (*Expr)(unsafe.Pointer(bp + 72 /* &sCol */)).FpLeft = (bp + 72 /* &sCol */ + 1*72) + (*Expr)(unsafe.Pointer(bp + 72 /* &sCol */ + 1*72)).Fop = U8(TK_COLUMN) + (*Expr)(unsafe.Pointer(bp + 72 /* &sCol */ + 1*72)).FiTable = (*SrcItem)(unsafe.Pointer((pTabList + 8 /* &.a */))).FiCursor // Check for matches against other indexes for pIdx = (*Table)(unsafe.Pointer(pTab)).FpIndex; pIdx != 0; pIdx = (*Index)(unsafe.Pointer(pIdx)).FpNext { @@ -169578,18 +169578,18 @@ __1: nn = int32((*Index)(unsafe.Pointer(pIdx)).FnKeyCol) for ii = 0; ii < nn; ii++ { var pExpr uintptr - *(*uintptr)(unsafe.Pointer(bp + 88 /* &sCol */ + 8 /* &.u */)) = *(*uintptr)(unsafe.Pointer((*Index)(unsafe.Pointer(pIdx)).FazColl + uintptr(ii)*8)) + *(*uintptr)(unsafe.Pointer(bp + 72 /* &sCol */ + 8 /* &.u */)) = *(*uintptr)(unsafe.Pointer((*Index)(unsafe.Pointer(pIdx)).FazColl + uintptr(ii)*8)) if int32(*(*I16)(unsafe.Pointer((*Index)(unsafe.Pointer(pIdx)).FaiColumn + uintptr(ii)*2))) == (-2) { pExpr = (*ExprList_item)(unsafe.Pointer(((*Index)(unsafe.Pointer(pIdx)).FaColExpr + 8 /* &.a */) + uintptr(ii)*32)).FpExpr if int32((*Expr)(unsafe.Pointer(pExpr)).Fop) != TK_COLLATE { - (*Expr)(unsafe.Pointer(bp + 88 /* &sCol */)).FpLeft = pExpr - pExpr = (bp + 88 /* &sCol */) + (*Expr)(unsafe.Pointer(bp + 72 /* &sCol */)).FpLeft = pExpr + pExpr = (bp + 72 /* &sCol */) } } else { - (*Expr)(unsafe.Pointer(bp + 88 /* &sCol */)).FpLeft = (bp + 88 /* &sCol */ + 1*72) - (*Expr)(unsafe.Pointer(bp + 88 /* &sCol */ + 1*72)).FiColumn = *(*I16)(unsafe.Pointer((*Index)(unsafe.Pointer(pIdx)).FaiColumn + uintptr(ii)*2)) - pExpr = (bp + 88 /* &sCol */) + (*Expr)(unsafe.Pointer(bp + 72 /* &sCol */)).FpLeft = (bp + 72 /* &sCol */ + 1*72) + (*Expr)(unsafe.Pointer(bp + 72 /* &sCol */ + 1*72)).FiColumn = *(*I16)(unsafe.Pointer((*Index)(unsafe.Pointer(pIdx)).FaiColumn + uintptr(ii)*2)) + pExpr = (bp + 72 /* &sCol */) } for jj = 0; jj < nn; jj++ { if Xsqlite3ExprCompare(tls, pParse, (*ExprList_item)(unsafe.Pointer((pTarget+8 /* &.a */)+uintptr(jj)*32)).FpExpr, pExpr, iCursor) < 2 { @@ -169610,15 +169610,15 @@ __1: break } if (*Upsert)(unsafe.Pointer(pUpsert)).FpUpsertIdx == uintptr(0) { - // var zWhich [16]int8 at bp+232, 16 + // var zWhich [16]int8 at bp+216, 16 if (nClause == 0) && ((*Upsert)(unsafe.Pointer(pUpsert)).FpNextUpsert == uintptr(0)) { - *(*int8)(unsafe.Pointer(bp + 232 /* &zWhich[0] */)) = int8(0) + *(*int8)(unsafe.Pointer(bp + 216 /* &zWhich[0] */)) = int8(0) } else { - Xsqlite3_snprintf(tls, int32(unsafe.Sizeof([16]int8{})), bp+232 /* &zWhich[0] */, ts+20291 /* "%r " */, libc.VaList(bp, (nClause+1))) + Xsqlite3_snprintf(tls, int32(unsafe.Sizeof([16]int8{})), bp+216 /* &zWhich[0] */, ts+20291 /* "%r " */, libc.VaList(bp, (nClause+1))) } Xsqlite3ErrorMsg(tls, pParse, - ts+20295 /* "%sON CONFLICT cl..." */, libc.VaList(bp+16, bp+232 /* &zWhich[0] */)) + ts+20295 /* "%sON CONFLICT cl..." */, libc.VaList(bp+8, bp+216 /* &zWhich[0] */)) return SQLITE_ERROR } @@ -169897,8 +169897,8 @@ build_vacuum_end: // This routine implements the OP_Vacuum opcode of the VDBE. func Xsqlite3RunVacuum(tls *libc.TLS, pzErrMsg uintptr, db uintptr, iDb int32, pOut uintptr) int32 { /* sqlite3.c:142885:36: */ - bp := tls.Alloc(92) - defer tls.Free(92) + bp := tls.Alloc(52) + defer tls.Free(52) var rc int32 // Return code from service routines var pMain uintptr // The database being vacuumed @@ -169916,9 +169916,9 @@ func Xsqlite3RunVacuum(tls *libc.TLS, pzErrMsg uintptr, db uintptr, iDb int32, p var zDbMain uintptr // Schema name of database to vacuum var zOut uintptr var id uintptr - // var sz I64 at bp+80, 8 + // var sz I64 at bp+40, 8 - // var meta U32 at bp+88, 4 + // var meta U32 at bp+48, 4 var i int32 rc = SQLITE_OK @@ -170006,8 +170006,8 @@ __6: goto __7 } id = Xsqlite3PagerFile(tls, Xsqlite3BtreePager(tls, pTemp)) - *(*I64)(unsafe.Pointer(bp + 80 /* sz */)) = int64(0) - if !(((*Sqlite3_file)(unsafe.Pointer(id)).FpMethods != uintptr(0)) && ((Xsqlite3OsFileSize(tls, id, bp+80 /* &sz */) != SQLITE_OK) || (*(*I64)(unsafe.Pointer(bp + 80 /* sz */)) > int64(0)))) { + *(*I64)(unsafe.Pointer(bp + 40 /* sz */)) = int64(0) + if !(((*Sqlite3_file)(unsafe.Pointer(id)).FpMethods != uintptr(0)) && ((Xsqlite3OsFileSize(tls, id, bp+40 /* &sz */) != SQLITE_OK) || (*(*I64)(unsafe.Pointer(bp + 40 /* sz */)) > int64(0)))) { goto __8 } rc = SQLITE_ERROR @@ -170079,7 +170079,7 @@ __12: rc = execSqlF(tls, db, pzErrMsg, ts+20527, /* "SELECT sql FROM ..." */ - libc.VaList(bp+16, zDbMain)) + libc.VaList(bp+8, zDbMain)) if !(rc != SQLITE_OK) { goto __13 } @@ -170089,7 +170089,7 @@ __13: rc = execSqlF(tls, db, pzErrMsg, ts+20635, /* "SELECT sql FROM ..." */ - libc.VaList(bp+32, zDbMain)) + libc.VaList(bp+16, zDbMain)) if !(rc != SQLITE_OK) { goto __14 } @@ -170104,7 +170104,7 @@ __14: rc = execSqlF(tls, db, pzErrMsg, ts+20689, /* "SELECT'INSERT IN..." */ - libc.VaList(bp+48, zDbMain)) + libc.VaList(bp+24, zDbMain)) *(*U32)(unsafe.Pointer(db + 44 /* &.mDbFlags */)) &= (libc.Uint32FromInt32(libc.CplInt32(DBFLAG_Vacuum))) if !(rc != SQLITE_OK) { @@ -170121,7 +170121,7 @@ __15: rc = execSqlF(tls, db, pzErrMsg, ts+20840, /* "INSERT INTO vacu..." */ - libc.VaList(bp+64, zDbMain)) + libc.VaList(bp+32, zDbMain)) if !(rc != 0) { goto __16 } @@ -170144,8 +170144,8 @@ __17: } // GetMeta() and UpdateMeta() cannot fail in this context because // we already have page 1 loaded into cache and marked dirty. - Xsqlite3BtreeGetMeta(tls, pMain, int32(aCopy[i]), bp+88 /* &meta */) - rc = Xsqlite3BtreeUpdateMeta(tls, pTemp, int32(aCopy[i]), (*(*U32)(unsafe.Pointer(bp + 88 /* meta */)) + U32(aCopy[(i+1)]))) + Xsqlite3BtreeGetMeta(tls, pMain, int32(aCopy[i]), bp+48 /* &meta */) + rc = Xsqlite3BtreeUpdateMeta(tls, pTemp, int32(aCopy[i]), (*(*U32)(unsafe.Pointer(bp + 48 /* meta */)) + U32(aCopy[(i+1)]))) if !(rc != SQLITE_OK) { goto __20 } @@ -170493,8 +170493,8 @@ func Xsqlite3VtabClear(tls *libc.TLS, db uintptr, p uintptr) { /* sqlite3.c:1434 // string will be freed automatically when the table is // deleted. func addModuleArgument(tls *libc.TLS, pParse uintptr, pTable uintptr, zArg uintptr) { /* sqlite3.c:143503:13: */ - bp := tls.Alloc(16) - defer tls.Free(16) + bp := tls.Alloc(8) + defer tls.Free(8) var nBytes Sqlite3_int64 = (Sqlite3_int64(uint64(unsafe.Sizeof(uintptr(0))) * (uint64(2 + (*Table)(unsafe.Pointer(pTable)).FnModuleArg)))) var azModuleArg uintptr @@ -170561,8 +170561,8 @@ func addArgumentToVtab(tls *libc.TLS, pParse uintptr) { /* sqlite3.c:143574:13: // The parser calls this routine after the CREATE VIRTUAL TABLE statement // has been completely parsed. func Xsqlite3VtabFinishParse(tls *libc.TLS, pParse uintptr, pEnd uintptr) { /* sqlite3.c:143587:21: */ - bp := tls.Alloc(88) - defer tls.Free(88) + bp := tls.Alloc(64) + defer tls.Free(64) var pTab uintptr = (*Parse)(unsafe.Pointer(pParse)).FpNewTable // The table being constructed var db uintptr = (*Parse)(unsafe.Pointer(pParse)).Fdb // The database connection @@ -170607,7 +170607,7 @@ func Xsqlite3VtabFinishParse(tls *libc.TLS, pParse uintptr, pEnd uintptr) { /* s Xsqlite3NestedParse(tls, pParse, ts+20994, /* "UPDATE %Q.sqlite..." */ - libc.VaList(bp+16, (*Db)(unsafe.Pointer((*Sqlite3)(unsafe.Pointer(db)).FaDb+uintptr(iDb)*32)).FzDbSName, + libc.VaList(bp+8, (*Db)(unsafe.Pointer((*Sqlite3)(unsafe.Pointer(db)).FaDb+uintptr(iDb)*32)).FzDbSName, (*Table)(unsafe.Pointer(pTab)).FzName, (*Table)(unsafe.Pointer(pTab)).FzName, zStmt, @@ -170616,7 +170616,7 @@ func Xsqlite3VtabFinishParse(tls *libc.TLS, pParse uintptr, pEnd uintptr) { /* s Xsqlite3ChangeCookie(tls, pParse, iDb) Xsqlite3VdbeAddOp0(tls, v, OP_Expire) - zWhere = Xsqlite3MPrintf(tls, db, ts+21093 /* "name=%Q AND sql=..." */, libc.VaList(bp+64, (*Table)(unsafe.Pointer(pTab)).FzName, zStmt)) + zWhere = Xsqlite3MPrintf(tls, db, ts+21093 /* "name=%Q AND sql=..." */, libc.VaList(bp+48, (*Table)(unsafe.Pointer(pTab)).FzName, zStmt)) Xsqlite3VdbeAddParseSchemaOp(tls, v, iDb, zWhere, uint16(0)) Xsqlite3DbFree(tls, db, zStmt) @@ -170663,16 +170663,16 @@ func Xsqlite3VtabArgExtend(tls *libc.TLS, pParse uintptr, p uintptr) { /* sqlite // pointer to the function to invoke is passed as the fourth parameter // to this procedure. func vtabCallConstructor(tls *libc.TLS, db uintptr, pTab uintptr, pMod uintptr, xConstruct uintptr, pzErr uintptr) int32 { /* sqlite3.c:143699:12: */ - bp := tls.Alloc(104) - defer tls.Free(104) + bp := tls.Alloc(72) + defer tls.Free(72) - // var sCtx VtabCtx at bp+64, 32 + // var sCtx VtabCtx at bp+32, 32 var pVTable uintptr var rc int32 var azArg uintptr = (*Table)(unsafe.Pointer(pTab)).FazModuleArg var nArg int32 = (*Table)(unsafe.Pointer(pTab)).FnModuleArg - *(*uintptr)(unsafe.Pointer(bp + 96 /* zErr */)) = uintptr(0) + *(*uintptr)(unsafe.Pointer(bp + 64 /* zErr */)) = uintptr(0) var zModuleName uintptr var iDb int32 var pCtx uintptr @@ -170706,23 +170706,23 @@ func vtabCallConstructor(tls *libc.TLS, db uintptr, pTab uintptr, pMod uintptr, // Invoke the virtual table constructor - (*VtabCtx)(unsafe.Pointer(bp + 64 /* &sCtx */)).FpTab = pTab - (*VtabCtx)(unsafe.Pointer(bp + 64 /* &sCtx */)).FpVTable = pVTable - (*VtabCtx)(unsafe.Pointer(bp + 64 /* &sCtx */)).FpPrior = (*Sqlite3)(unsafe.Pointer(db)).FpVtabCtx - (*VtabCtx)(unsafe.Pointer(bp + 64 /* &sCtx */)).FbDeclared = 0 - (*Sqlite3)(unsafe.Pointer(db)).FpVtabCtx = bp + 64 /* &sCtx */ - rc = (*(*func(*libc.TLS, uintptr, uintptr, int32, uintptr, uintptr, uintptr) int32)(unsafe.Pointer(&xConstruct)))(tls, db, (*Module)(unsafe.Pointer(pMod)).FpAux, nArg, azArg, (pVTable + 16 /* &.pVtab */), bp+96 /* &zErr */) - (*Sqlite3)(unsafe.Pointer(db)).FpVtabCtx = (*VtabCtx)(unsafe.Pointer(bp + 64 /* &sCtx */)).FpPrior + (*VtabCtx)(unsafe.Pointer(bp + 32 /* &sCtx */)).FpTab = pTab + (*VtabCtx)(unsafe.Pointer(bp + 32 /* &sCtx */)).FpVTable = pVTable + (*VtabCtx)(unsafe.Pointer(bp + 32 /* &sCtx */)).FpPrior = (*Sqlite3)(unsafe.Pointer(db)).FpVtabCtx + (*VtabCtx)(unsafe.Pointer(bp + 32 /* &sCtx */)).FbDeclared = 0 + (*Sqlite3)(unsafe.Pointer(db)).FpVtabCtx = bp + 32 /* &sCtx */ + rc = (*(*func(*libc.TLS, uintptr, uintptr, int32, uintptr, uintptr, uintptr) int32)(unsafe.Pointer(&xConstruct)))(tls, db, (*Module)(unsafe.Pointer(pMod)).FpAux, nArg, azArg, (pVTable + 16 /* &.pVtab */), bp+64 /* &zErr */) + (*Sqlite3)(unsafe.Pointer(db)).FpVtabCtx = (*VtabCtx)(unsafe.Pointer(bp + 32 /* &sCtx */)).FpPrior if rc == SQLITE_NOMEM { Xsqlite3OomFault(tls, db) } if SQLITE_OK != rc { - if *(*uintptr)(unsafe.Pointer(bp + 96 /* zErr */)) == uintptr(0) { - *(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3MPrintf(tls, db, ts+21154 /* "vtable construct..." */, libc.VaList(bp+16, zModuleName)) + if *(*uintptr)(unsafe.Pointer(bp + 64 /* zErr */)) == uintptr(0) { + *(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3MPrintf(tls, db, ts+21154 /* "vtable construct..." */, libc.VaList(bp+8, zModuleName)) } else { - *(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3MPrintf(tls, db, ts+3630 /* "%s" */, libc.VaList(bp+32, *(*uintptr)(unsafe.Pointer(bp + 96 /* zErr */)))) - Xsqlite3_free(tls, *(*uintptr)(unsafe.Pointer(bp + 96 /* zErr */))) + *(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3MPrintf(tls, db, ts+3630 /* "%s" */, libc.VaList(bp+16, *(*uintptr)(unsafe.Pointer(bp + 64 /* zErr */)))) + Xsqlite3_free(tls, *(*uintptr)(unsafe.Pointer(bp + 64 /* zErr */))) } Xsqlite3DbFree(tls, db, pVTable) } else if (*VTable)(unsafe.Pointer(pVTable)).FpVtab != 0 { @@ -170732,9 +170732,9 @@ func vtabCallConstructor(tls *libc.TLS, db uintptr, pTab uintptr, pMod uintptr, (*Sqlite3_vtab)(unsafe.Pointer((*VTable)(unsafe.Pointer(pVTable)).FpVtab)).FpModule = (*Module)(unsafe.Pointer(pMod)).FpModule (*Module)(unsafe.Pointer(pMod)).FnRefModule++ (*VTable)(unsafe.Pointer(pVTable)).FnRef = 1 - if (*VtabCtx)(unsafe.Pointer(bp+64 /* &sCtx */)).FbDeclared == 0 { + if (*VtabCtx)(unsafe.Pointer(bp+32 /* &sCtx */)).FbDeclared == 0 { var zFormat uintptr = ts + 21184 /* "vtable construct..." */ - *(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3MPrintf(tls, db, zFormat, libc.VaList(bp+48, (*Table)(unsafe.Pointer(pTab)).FzName)) + *(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3MPrintf(tls, db, zFormat, libc.VaList(bp+24, (*Table)(unsafe.Pointer(pTab)).FzName)) Xsqlite3VtabUnlock(tls, pVTable) rc = SQLITE_ERROR } else { @@ -170795,8 +170795,8 @@ func vtabCallConstructor(tls *libc.TLS, db uintptr, pTab uintptr, pMod uintptr, // // This call is a no-op if table pTab is not a virtual table. func Xsqlite3VtabCallConnect(tls *libc.TLS, pParse uintptr, pTab uintptr) int32 { /* sqlite3.c:143832:20: */ - bp := tls.Alloc(40) - defer tls.Free(40) + bp := tls.Alloc(24) + defer tls.Free(24) var db uintptr = (*Parse)(unsafe.Pointer(pParse)).Fdb var zMod uintptr @@ -170816,13 +170816,13 @@ func Xsqlite3VtabCallConnect(tls *libc.TLS, pParse uintptr, pTab uintptr) int32 Xsqlite3ErrorMsg(tls, pParse, ts+21230 /* "no such module: ..." */, libc.VaList(bp, zModule)) rc = SQLITE_ERROR } else { - *(*uintptr)(unsafe.Pointer(bp + 32 /* zErr */)) = uintptr(0) - rc = vtabCallConstructor(tls, db, pTab, pMod, (*Sqlite3_module)(unsafe.Pointer((*Module)(unsafe.Pointer(pMod)).FpModule)).FxConnect, bp+32 /* &zErr */) + *(*uintptr)(unsafe.Pointer(bp + 16 /* zErr */)) = uintptr(0) + rc = vtabCallConstructor(tls, db, pTab, pMod, (*Sqlite3_module)(unsafe.Pointer((*Module)(unsafe.Pointer(pMod)).FpModule)).FxConnect, bp+16 /* &zErr */) if rc != SQLITE_OK { - Xsqlite3ErrorMsg(tls, pParse, ts+3630 /* "%s" */, libc.VaList(bp+16, *(*uintptr)(unsafe.Pointer(bp + 32 /* zErr */)))) + Xsqlite3ErrorMsg(tls, pParse, ts+3630 /* "%s" */, libc.VaList(bp+8, *(*uintptr)(unsafe.Pointer(bp + 16 /* zErr */)))) (*Parse)(unsafe.Pointer(pParse)).Frc = rc } - Xsqlite3DbFree(tls, db, *(*uintptr)(unsafe.Pointer(bp + 32 /* zErr */))) + Xsqlite3DbFree(tls, db, *(*uintptr)(unsafe.Pointer(bp + 16 /* zErr */))) } return rc @@ -170863,8 +170863,8 @@ func addToVTrans(tls *libc.TLS, db uintptr, pVTab uintptr) { /* sqlite3.c:143890 // description of the error and an SQLITE_XXX error code is returned. // In this case the caller must call sqlite3DbFree(db, ) on *pzErr. func Xsqlite3VtabCallCreate(tls *libc.TLS, db uintptr, iDb int32, zTab uintptr, pzErr uintptr) int32 { /* sqlite3.c:143904:20: */ - bp := tls.Alloc(16) - defer tls.Free(16) + bp := tls.Alloc(8) + defer tls.Free(8) var rc int32 = SQLITE_OK var pTab uintptr @@ -170903,14 +170903,14 @@ func Xsqlite3VtabCallCreate(tls *libc.TLS, db uintptr, iDb int32, zTab uintptr, // valid to call this function from within the xCreate() or xConnect() of a // virtual table module. func Xsqlite3_declare_vtab(tls *libc.TLS, db uintptr, zCreateTable uintptr) int32 { /* sqlite3.c:143945:16: */ - bp := tls.Alloc(432) - defer tls.Free(432) + bp := tls.Alloc(424) + defer tls.Free(424) var pCtx uintptr var rc int32 = SQLITE_OK var pTab uintptr - *(*uintptr)(unsafe.Pointer(bp + 424 /* zErr */)) = uintptr(0) - // var sParse Parse at bp+16, 408 + *(*uintptr)(unsafe.Pointer(bp + 416 /* zErr */)) = uintptr(0) + // var sParse Parse at bp+8, 408 Xsqlite3_mutex_enter(tls, (*Sqlite3)(unsafe.Pointer(db)).Fmutex) pCtx = (*Sqlite3)(unsafe.Pointer(db)).FpVtabCtx @@ -170921,17 +170921,17 @@ func Xsqlite3_declare_vtab(tls *libc.TLS, db uintptr, zCreateTable uintptr) int3 } pTab = (*VtabCtx)(unsafe.Pointer(pCtx)).FpTab - libc.Xmemset(tls, bp+16 /* &sParse */, 0, uint64(unsafe.Sizeof(Parse{}))) - (*Parse)(unsafe.Pointer(bp + 16 /* &sParse */)).FeParseMode = U8(PARSE_MODE_DECLARE_VTAB) - (*Parse)(unsafe.Pointer(bp + 16 /* &sParse */)).Fdb = db - (*Parse)(unsafe.Pointer(bp + 16 /* &sParse */)).FnQueryLoop = U32(1) - if ((((SQLITE_OK == Xsqlite3RunParser(tls, bp+16 /* &sParse */, zCreateTable, bp+424 /* &zErr */)) && - ((*Parse)(unsafe.Pointer(bp+16 /* &sParse */)).FpNewTable != 0)) && + libc.Xmemset(tls, bp+8 /* &sParse */, 0, uint64(unsafe.Sizeof(Parse{}))) + (*Parse)(unsafe.Pointer(bp + 8 /* &sParse */)).FeParseMode = U8(PARSE_MODE_DECLARE_VTAB) + (*Parse)(unsafe.Pointer(bp + 8 /* &sParse */)).Fdb = db + (*Parse)(unsafe.Pointer(bp + 8 /* &sParse */)).FnQueryLoop = U32(1) + if ((((SQLITE_OK == Xsqlite3RunParser(tls, bp+8 /* &sParse */, zCreateTable, bp+416 /* &zErr */)) && + ((*Parse)(unsafe.Pointer(bp+8 /* &sParse */)).FpNewTable != 0)) && !(int32((*Sqlite3)(unsafe.Pointer(db)).FmallocFailed) != 0)) && - !(int32((*Table)(unsafe.Pointer((*Parse)(unsafe.Pointer(bp+16 /* &sParse */)).FpNewTable)).FpSelect) != 0)) && - !((*Table)(unsafe.Pointer((*Parse)(unsafe.Pointer(bp+16 /* &sParse */)).FpNewTable)).FnModuleArg != 0) { + !(int32((*Table)(unsafe.Pointer((*Parse)(unsafe.Pointer(bp+8 /* &sParse */)).FpNewTable)).FpSelect) != 0)) && + !((*Table)(unsafe.Pointer((*Parse)(unsafe.Pointer(bp+8 /* &sParse */)).FpNewTable)).FnModuleArg != 0) { if !(int32((*Table)(unsafe.Pointer(pTab)).FaCol) != 0) { - var pNew uintptr = (*Parse)(unsafe.Pointer(bp + 16 /* &sParse */)).FpNewTable + var pNew uintptr = (*Parse)(unsafe.Pointer(bp + 8 /* &sParse */)).FpNewTable var pIdx uintptr (*Table)(unsafe.Pointer(pTab)).FaCol = (*Table)(unsafe.Pointer(pNew)).FaCol (*Table)(unsafe.Pointer(pTab)).FnNVCol = libc.AssignPtrInt16(pTab+70 /* &.nCol */, (*Table)(unsafe.Pointer(pNew)).FnCol) @@ -170957,21 +170957,21 @@ func Xsqlite3_declare_vtab(tls *libc.TLS, db uintptr, zCreateTable uintptr) int3 (*VtabCtx)(unsafe.Pointer(pCtx)).FbDeclared = 1 } else { Xsqlite3ErrorWithMsg(tls, db, SQLITE_ERROR, func() uintptr { - if *(*uintptr)(unsafe.Pointer(bp + 424 /* zErr */)) != 0 { + if *(*uintptr)(unsafe.Pointer(bp + 416 /* zErr */)) != 0 { return ts + 3630 /* "%s" */ } return uintptr(0) - }(), libc.VaList(bp, *(*uintptr)(unsafe.Pointer(bp + 424 /* zErr */)))) - Xsqlite3DbFree(tls, db, *(*uintptr)(unsafe.Pointer(bp + 424 /* zErr */))) + }(), libc.VaList(bp, *(*uintptr)(unsafe.Pointer(bp + 416 /* zErr */)))) + Xsqlite3DbFree(tls, db, *(*uintptr)(unsafe.Pointer(bp + 416 /* zErr */))) rc = SQLITE_ERROR } - (*Parse)(unsafe.Pointer(bp + 16 /* &sParse */)).FeParseMode = U8(PARSE_MODE_NORMAL) + (*Parse)(unsafe.Pointer(bp + 8 /* &sParse */)).FeParseMode = U8(PARSE_MODE_NORMAL) - if (*Parse)(unsafe.Pointer(bp+16 /* &sParse */)).FpVdbe != 0 { - Xsqlite3VdbeFinalize(tls, (*Parse)(unsafe.Pointer(bp+16 /* &sParse */)).FpVdbe) + if (*Parse)(unsafe.Pointer(bp+8 /* &sParse */)).FpVdbe != 0 { + Xsqlite3VdbeFinalize(tls, (*Parse)(unsafe.Pointer(bp+8 /* &sParse */)).FpVdbe) } - Xsqlite3DeleteTable(tls, db, (*Parse)(unsafe.Pointer(bp+16 /* &sParse */)).FpNewTable) - Xsqlite3ParserReset(tls, bp+16 /* &sParse */) + Xsqlite3DeleteTable(tls, db, (*Parse)(unsafe.Pointer(bp+8 /* &sParse */)).FpNewTable) + Xsqlite3ParserReset(tls, bp+8 /* &sParse */) rc = Xsqlite3ApiExit(tls, db, rc) Xsqlite3_mutex_leave(tls, (*Sqlite3)(unsafe.Pointer(db)).Fmutex) @@ -171296,12 +171296,12 @@ func Xsqlite3VtabMakeWritable(tls *libc.TLS, pParse uintptr, pTab uintptr) { /* // Any virtual table module for which xConnect and xCreate are the same // method can have an eponymous virtual table instance. func Xsqlite3VtabEponymousTableInit(tls *libc.TLS, pParse uintptr, pMod uintptr) int32 { /* sqlite3.c:144353:20: */ - bp := tls.Alloc(24) - defer tls.Free(24) + bp := tls.Alloc(16) + defer tls.Free(16) var pModule uintptr = (*Module)(unsafe.Pointer(pMod)).FpModule var pTab uintptr - *(*uintptr)(unsafe.Pointer(bp + 16 /* zErr */)) = uintptr(0) + *(*uintptr)(unsafe.Pointer(bp + 8 /* zErr */)) = uintptr(0) var rc int32 var db uintptr = (*Parse)(unsafe.Pointer(pParse)).Fdb if (*Module)(unsafe.Pointer(pMod)).FpEpoTab != 0 { @@ -171328,10 +171328,10 @@ func Xsqlite3VtabEponymousTableInit(tls *libc.TLS, pParse uintptr, pMod uintptr) addModuleArgument(tls, pParse, pTab, Xsqlite3DbStrDup(tls, db, (*Table)(unsafe.Pointer(pTab)).FzName)) addModuleArgument(tls, pParse, pTab, uintptr(0)) addModuleArgument(tls, pParse, pTab, Xsqlite3DbStrDup(tls, db, (*Table)(unsafe.Pointer(pTab)).FzName)) - rc = vtabCallConstructor(tls, db, pTab, pMod, (*Sqlite3_module)(unsafe.Pointer(pModule)).FxConnect, bp+16 /* &zErr */) + rc = vtabCallConstructor(tls, db, pTab, pMod, (*Sqlite3_module)(unsafe.Pointer(pModule)).FxConnect, bp+8 /* &zErr */) if rc != 0 { - Xsqlite3ErrorMsg(tls, pParse, ts+3630 /* "%s" */, libc.VaList(bp, *(*uintptr)(unsafe.Pointer(bp + 16 /* zErr */)))) - Xsqlite3DbFree(tls, db, *(*uintptr)(unsafe.Pointer(bp + 16 /* zErr */))) + Xsqlite3ErrorMsg(tls, pParse, ts+3630 /* "%s" */, libc.VaList(bp, *(*uintptr)(unsafe.Pointer(bp + 8 /* zErr */)))) + Xsqlite3DbFree(tls, db, *(*uintptr)(unsafe.Pointer(bp + 8 /* zErr */))) Xsqlite3VtabEponymousTableClear(tls, db, pMod) return 0 } @@ -171824,8 +171824,8 @@ func explainAppendTerm(tls *libc.TLS, pStr uintptr, pIdx uintptr, nTerm int32, i // // "a=? AND b>?" func explainIndexRange(tls *libc.TLS, pStr uintptr, pLoop uintptr) { /* sqlite3.c:145171:13: */ - bp := tls.Alloc(16) - defer tls.Free(16) + bp := tls.Alloc(8) + defer tls.Free(8) var pIndex uintptr = *(*uintptr)(unsafe.Pointer(pLoop + 24 /* &.u */ /* &.btree */ + 8 /* &.pIndex */)) var nEq U16 = *(*U16)(unsafe.Pointer(pLoop + 24 /* &.u */ /* &.btree */ /* &.nEq */)) @@ -171869,8 +171869,8 @@ func explainIndexRange(tls *libc.TLS, pStr uintptr, pLoop uintptr) { /* sqlite3. // If an OP_Explain opcode is added to the VM, its address is returned. // Otherwise, if no OP_Explain is coded, zero is returned. func Xsqlite3WhereExplainOneScan(tls *libc.TLS, pParse uintptr, pTabList uintptr, pLevel uintptr, wctrlFlags U16) int32 { /* sqlite3.c:145205:20: */ - bp := tls.Alloc(212) - defer tls.Free(212) + bp := tls.Alloc(180) + defer tls.Free(180) var ret int32 = 0 if int32((*Parse)(unsafe.Pointer((func() uintptr { @@ -171886,9 +171886,9 @@ func Xsqlite3WhereExplainOneScan(tls *libc.TLS, pParse uintptr, pTabList uintptr var pLoop uintptr // The controlling WhereLoop object var flags U32 // Flags that describe this loop var zMsg uintptr // Text to add to EQP output - // var str StrAccum at bp+80, 32 + // var str StrAccum at bp+48, 32 // EQP output string - // var zBuf [100]int8 at bp+112, 100 + // var zBuf [100]int8 at bp+80, 100 // Initial space for EQP output string pLoop = (*WhereLevel)(unsafe.Pointer(pLevel)).FpWLoop @@ -171901,9 +171901,9 @@ func Xsqlite3WhereExplainOneScan(tls *libc.TLS, pParse uintptr, pTabList uintptr (((flags & U32(WHERE_VIRTUALTABLE)) == U32(0)) && (int32(*(*U16)(unsafe.Pointer((pLoop + 24 /* &.u */ /* &.btree */) /* &.nEq */))) > 0))) || ((int32(wctrlFlags) & (WHERE_ORDERBY_MIN | WHERE_ORDERBY_MAX)) != 0))) - Xsqlite3StrAccumInit(tls, bp+80 /* &str */, db, bp+112 /* &zBuf[0] */, int32(unsafe.Sizeof([100]int8{})), SQLITE_MAX_LENGTH) - (*StrAccum)(unsafe.Pointer(bp + 80 /* &str */)).FprintfFlags = U8(SQLITE_PRINTF_INTERNAL) - Xsqlite3_str_appendf(tls, bp+80 /* &str */, ts+21284 /* "%s %S" */, libc.VaList(bp, func() uintptr { + Xsqlite3StrAccumInit(tls, bp+48 /* &str */, db, bp+80 /* &zBuf[0] */, int32(unsafe.Sizeof([100]int8{})), SQLITE_MAX_LENGTH) + (*StrAccum)(unsafe.Pointer(bp + 48 /* &str */)).FprintfFlags = U8(SQLITE_PRINTF_INTERNAL) + Xsqlite3_str_appendf(tls, bp+48 /* &str */, ts+21284 /* "%s %S" */, libc.VaList(bp, func() uintptr { if isSearch != 0 { return ts + 21290 /* "SEARCH" */ } @@ -171929,9 +171929,9 @@ func Xsqlite3WhereExplainOneScan(tls *libc.TLS, pParse uintptr, pTabList uintptr zFmt = ts + 21378 /* "INDEX %s" */ } if zFmt != 0 { - Xsqlite3_str_append(tls, bp+80 /* &str */, ts+21387 /* " USING " */, 7) - Xsqlite3_str_appendf(tls, bp+80 /* &str */, zFmt, libc.VaList(bp+24, (*Index)(unsafe.Pointer(pIdx)).FzName)) - explainIndexRange(tls, bp+80 /* &str */, pLoop) + Xsqlite3_str_append(tls, bp+48 /* &str */, ts+21387 /* " USING " */, 7) + Xsqlite3_str_appendf(tls, bp+48 /* &str */, zFmt, libc.VaList(bp+16, (*Index)(unsafe.Pointer(pIdx)).FzName)) + explainIndexRange(tls, bp+48 /* &str */, pLoop) } } else if ((flags & U32(WHERE_IPK)) != U32(0)) && ((flags & U32(WHERE_CONSTRAINT)) != U32(0)) { var zRangeOp uintptr @@ -171945,13 +171945,13 @@ func Xsqlite3WhereExplainOneScan(tls *libc.TLS, pParse uintptr, pTabList uintptr zRangeOp = ts + 21282 /* "<" */ } - Xsqlite3_str_appendf(tls, bp+80, /* &str */ - ts+21411 /* " USING INTEGER P..." */, libc.VaList(bp+40, zRangeOp)) + Xsqlite3_str_appendf(tls, bp+48, /* &str */ + ts+21411 /* " USING INTEGER P..." */, libc.VaList(bp+24, zRangeOp)) } else if (flags & U32(WHERE_VIRTUALTABLE)) != U32(0) { - Xsqlite3_str_appendf(tls, bp+80 /* &str */, ts+21449, /* " VIRTUAL TABLE I..." */ - libc.VaList(bp+56, *(*int32)(unsafe.Pointer(pLoop + 24 /* &.u */ /* &.vtab */ /* &.idxNum */)), *(*uintptr)(unsafe.Pointer(pLoop + 24 /* &.u */ /* &.vtab */ + 8 /* &.idxStr */)))) + Xsqlite3_str_appendf(tls, bp+48 /* &str */, ts+21449, /* " VIRTUAL TABLE I..." */ + libc.VaList(bp+32, *(*int32)(unsafe.Pointer(pLoop + 24 /* &.u */ /* &.vtab */ /* &.idxNum */)), *(*uintptr)(unsafe.Pointer(pLoop + 24 /* &.u */ /* &.vtab */ + 8 /* &.idxStr */)))) } - zMsg = Xsqlite3StrAccumFinish(tls, bp+80 /* &str */) + zMsg = Xsqlite3StrAccumFinish(tls, bp+48 /* &str */) ret = Xsqlite3VdbeAddOp4(tls, v, OP_Explain, Xsqlite3VdbeCurrentAddr(tls, v), (*Parse)(unsafe.Pointer(pParse)).FaddrExplain, 0, zMsg, -7) @@ -172711,8 +172711,8 @@ __3: // Generate code for the start of the iLevel-th loop in the WHERE clause // implementation described by pWInfo. func Xsqlite3WhereCodeOneLoopStart(tls *libc.TLS, pParse uintptr, v uintptr, pWInfo uintptr, iLevel int32, pLevel uintptr, notReady Bitmask) Bitmask { /* sqlite3.c:146382:24: */ - bp := tls.Alloc(104) - defer tls.Free(104) + bp := tls.Alloc(96) + defer tls.Free(96) var j int32 var k int32 // Loop counters @@ -172922,13 +172922,13 @@ func Xsqlite3WhereCodeOneLoopStart(tls *libc.TLS, pParse uintptr, v uintptr, pWI if pStart != 0 { var pX uintptr // The expression that defines the start bound var r1 int32 - // var rTemp int32 at bp+20, 4 + // var rTemp int32 at bp+12, 4 // Registers for holding the start boundary var op int32 // Cursor seek operation // The following constant maps TK_xx codes into corresponding // seek opcodes. It depends on a particular ordering of TK_xx - *(*[4]U8)(unsafe.Pointer(bp + 16 /* aMoveOp */)) = [4]U8{ + *(*[4]U8)(unsafe.Pointer(bp + 8 /* aMoveOp */)) = [4]U8{ /* TK_GT */ U8(OP_SeekGT), /* TK_LE */ U8(OP_SeekLE), /* TK_LT */ U8(OP_SeekLT), @@ -172942,19 +172942,19 @@ func Xsqlite3WhereCodeOneLoopStart(tls *libc.TLS, pParse uintptr, v uintptr, pWI // transitive constraints if Xsqlite3ExprIsVector(tls, (*Expr)(unsafe.Pointer(pX)).FpRight) != 0 { - r1 = libc.AssignPtrInt32(bp+20 /* rTemp */, Xsqlite3GetTempReg(tls, pParse)) + r1 = libc.AssignPtrInt32(bp+12 /* rTemp */, Xsqlite3GetTempReg(tls, pParse)) codeExprOrVector(tls, pParse, (*Expr)(unsafe.Pointer(pX)).FpRight, r1, 1) - op = int32(*(*U8)(unsafe.Pointer(bp + 16 /* &aMoveOp[0] */ + uintptr(((((int32((*Expr)(unsafe.Pointer(pX)).Fop) - TK_GT) - 1) & 0x3) | 0x1))))) + op = int32(*(*U8)(unsafe.Pointer(bp + 8 /* &aMoveOp[0] */ + uintptr(((((int32((*Expr)(unsafe.Pointer(pX)).Fop) - TK_GT) - 1) & 0x3) | 0x1))))) } else { - r1 = Xsqlite3ExprCodeTemp(tls, pParse, (*Expr)(unsafe.Pointer(pX)).FpRight, bp+20 /* &rTemp */) + r1 = Xsqlite3ExprCodeTemp(tls, pParse, (*Expr)(unsafe.Pointer(pX)).FpRight, bp+12 /* &rTemp */) disableTerm(tls, pLevel, pStart) - op = int32(*(*U8)(unsafe.Pointer(bp + 16 /* &aMoveOp[0] */ + uintptr((int32((*Expr)(unsafe.Pointer(pX)).Fop) - TK_GT))))) + op = int32(*(*U8)(unsafe.Pointer(bp + 8 /* &aMoveOp[0] */ + uintptr((int32((*Expr)(unsafe.Pointer(pX)).Fop) - TK_GT))))) } Xsqlite3VdbeAddOp3(tls, v, op, iCur, addrBrk, r1) - Xsqlite3ReleaseTempReg(tls, pParse, *(*int32)(unsafe.Pointer(bp + 20 /* rTemp */))) + Xsqlite3ReleaseTempReg(tls, pParse, *(*int32)(unsafe.Pointer(bp + 12 /* rTemp */))) } else { Xsqlite3VdbeAddOp2(tls, v, func() int32 { if bRev != 0 { @@ -173021,7 +173021,7 @@ func Xsqlite3WhereCodeOneLoopStart(tls *libc.TLS, pParse uintptr, v uintptr, pWI var iIdxCur int32 // The VDBE cursor for the index var nExtraReg int32 = 0 // Number of extra registers needed var op int32 // Instruction opcode - // var zStartAff uintptr at bp+24, 8 + // var zStartAff uintptr at bp+16, 8 // Affinity for start of range constraint var zEndAff uintptr = uintptr(0) // Affinity for end of range constraint var bSeekPastNull U8 = U8(0) // True to seek past initial nulls @@ -173115,10 +173115,10 @@ func Xsqlite3WhereCodeOneLoopStart(tls *libc.TLS, pParse uintptr, v uintptr, pWI // and store the values of those terms in an array of registers // starting at regBase. - regBase = codeAllEqualityTerms(tls, pParse, pLevel, bRev, nExtraReg, bp+24 /* &zStartAff */) + regBase = codeAllEqualityTerms(tls, pParse, pLevel, bRev, nExtraReg, bp+16 /* &zStartAff */) - if (*(*uintptr)(unsafe.Pointer(bp + 24 /* zStartAff */)) != 0) && (nTop != 0) { - zEndAff = Xsqlite3DbStrDup(tls, db, (*(*uintptr)(unsafe.Pointer(bp + 24 /* zStartAff */)) + uintptr(nEq))) + if (*(*uintptr)(unsafe.Pointer(bp + 16 /* zStartAff */)) != 0) && (nTop != 0) { + zEndAff = Xsqlite3DbStrDup(tls, db, (*(*uintptr)(unsafe.Pointer(bp + 16 /* zStartAff */)) + uintptr(nEq))) } addrNxt = func() int32 { if regBignull != 0 { @@ -173142,8 +173142,8 @@ func Xsqlite3WhereCodeOneLoopStart(tls *libc.TLS, pParse uintptr, v uintptr, pWI Xsqlite3VdbeAddOp2(tls, v, OP_IsNull, (regBase + int32(nEq)), addrNxt) } - if *(*uintptr)(unsafe.Pointer(bp + 24 /* zStartAff */)) != 0 { - updateRangeAffinityStr(tls, pRight, int32(nBtm), (*(*uintptr)(unsafe.Pointer(bp + 24 /* zStartAff */)) + uintptr(nEq))) + if *(*uintptr)(unsafe.Pointer(bp + 16 /* zStartAff */)) != 0 { + updateRangeAffinityStr(tls, pRight, int32(nBtm), (*(*uintptr)(unsafe.Pointer(bp + 16 /* zStartAff */)) + uintptr(nEq))) } nConstraint = nConstraint + (int32(nBtm)) @@ -173163,7 +173163,7 @@ func Xsqlite3WhereCodeOneLoopStart(tls *libc.TLS, pParse uintptr, v uintptr, pWI start_constraints = 1 nConstraint++ } - codeApplyAffinity(tls, pParse, regBase, (nConstraint - int32(bSeekPastNull)), *(*uintptr)(unsafe.Pointer(bp + 24 /* zStartAff */))) + codeApplyAffinity(tls, pParse, regBase, (nConstraint - int32(bSeekPastNull)), *(*uintptr)(unsafe.Pointer(bp + 16 /* zStartAff */))) if (int32((*WhereLoop)(unsafe.Pointer(pLoop)).FnSkip) > 0) && (nConstraint == int32((*WhereLoop)(unsafe.Pointer(pLoop)).FnSkip)) { // The skip-scan logic inside the call to codeAllEqualityConstraints() // above has already left the cursor sitting on the correct row, @@ -173234,7 +173234,7 @@ func Xsqlite3WhereCodeOneLoopStart(tls *libc.TLS, pParse uintptr, v uintptr, pWI } nConstraint++ } - Xsqlite3DbFree(tls, db, *(*uintptr)(unsafe.Pointer(bp + 24 /* zStartAff */))) + Xsqlite3DbFree(tls, db, *(*uintptr)(unsafe.Pointer(bp + 16 /* zStartAff */))) Xsqlite3DbFree(tls, db, zEndAff) // Top of the loop body @@ -173774,7 +173774,7 @@ __4: } { var pE uintptr - // var sEAlt Expr at bp+32, 72 + // var sEAlt Expr at bp+24, 72 var pAlt uintptr if (int32((*WhereTerm)(unsafe.Pointer(pTerm)).FwtFlags) & (TERM_VIRTUAL | TERM_CODED)) != 0 { @@ -173808,9 +173808,9 @@ __4: goto __5 } - *(*Expr)(unsafe.Pointer(bp + 32 /* sEAlt */)) = *(*Expr)(unsafe.Pointer((*WhereTerm)(unsafe.Pointer(pAlt)).FpExpr)) - (*Expr)(unsafe.Pointer(bp + 32 /* &sEAlt */)).FpLeft = (*Expr)(unsafe.Pointer(pE)).FpLeft - Xsqlite3ExprIfFalse(tls, pParse, bp+32 /* &sEAlt */, addrCont, SQLITE_JUMPIFNULL) + *(*Expr)(unsafe.Pointer(bp + 24 /* sEAlt */)) = *(*Expr)(unsafe.Pointer((*WhereTerm)(unsafe.Pointer(pAlt)).FpExpr)) + (*Expr)(unsafe.Pointer(bp + 24 /* &sEAlt */)).FpLeft = (*Expr)(unsafe.Pointer(pE)).FpLeft + Xsqlite3ExprIfFalse(tls, pParse, bp+24 /* &sEAlt */, addrCont, SQLITE_JUMPIFNULL) *(*U16)(unsafe.Pointer(pAlt + 18 /* &.wtFlags */)) |= U16((TERM_CODED)) } @@ -175431,8 +175431,8 @@ func Xsqlite3WhereExprAnalyze(tls *libc.TLS, pTabList uintptr, pWC uintptr) { /* // Each function argument translates into an equality constraint against // a HIDDEN column in the table. func Xsqlite3WhereTabFuncArgs(tls *libc.TLS, pParse uintptr, pItem uintptr, pWC uintptr) { /* sqlite3.c:149188:21: */ - bp := tls.Alloc(24) - defer tls.Free(24) + bp := tls.Alloc(16) + defer tls.Free(16) var pTab uintptr var j int32 @@ -176195,8 +176195,8 @@ func termCanDriveIndex(tls *libc.TLS, pTerm uintptr, pSrc uintptr, notReady Bitm // and to set up the WhereLevel object pLevel so that the code generator // makes use of the automatic index. func constructAutomaticIndex(tls *libc.TLS, pParse uintptr, pWC uintptr, pSrc uintptr, notReady Bitmask, pLevel uintptr) { /* sqlite3.c:149971:13: */ - bp := tls.Alloc(32) - defer tls.Free(32) + bp := tls.Alloc(24) + defer tls.Free(24) var nKeyCol int32 // Number of columns in the constructed index var pTerm uintptr // A single term of the WHERE clause @@ -176212,7 +176212,7 @@ func constructAutomaticIndex(tls *libc.TLS, pParse uintptr, pWC uintptr, pSrc ui var mxBitCol int32 // Maximum column in pSrc->colUsed var pColl uintptr // Collating sequence to on a column var pLoop uintptr // The Loop object - // var zNotUsed uintptr at bp+24, 8 + // var zNotUsed uintptr at bp+16, 8 // Extra space on the end of pIdx var idxCols Bitmask // Bitmap of columns used for indexing var extraCols Bitmask // Bitmap of additional columns @@ -176351,7 +176351,7 @@ __13: ; // Construct the Index object to describe this index - pIdx = Xsqlite3AllocateIndexObject(tls, (*Parse)(unsafe.Pointer(pParse)).Fdb, (int16(nKeyCol + 1)), 0, bp+24 /* &zNotUsed */) + pIdx = Xsqlite3AllocateIndexObject(tls, (*Parse)(unsafe.Pointer(pParse)).Fdb, (int16(nKeyCol + 1)), 0, bp+16 /* &zNotUsed */) if !(pIdx == uintptr(0)) { goto __14 } @@ -176707,8 +176707,8 @@ __6: // caller to eventually free p->idxStr if p->needToFreeIdxStr indicates // that this is required. func vtabBestIndex(tls *libc.TLS, pParse uintptr, pTab uintptr, p uintptr) int32 { /* sqlite3.c:150333:12: */ - bp := tls.Alloc(32) - defer tls.Free(32) + bp := tls.Alloc(16) + defer tls.Free(16) var pVtab uintptr = (*VTable)(unsafe.Pointer(Xsqlite3GetVTable(tls, (*Parse)(unsafe.Pointer(pParse)).Fdb, pTab))).FpVtab var rc int32 @@ -176721,7 +176721,7 @@ func vtabBestIndex(tls *libc.TLS, pParse uintptr, pTab uintptr, p uintptr) int32 } else if !(int32((*Sqlite3_vtab)(unsafe.Pointer(pVtab)).FzErrMsg) != 0) { Xsqlite3ErrorMsg(tls, pParse, ts+3630 /* "%s" */, libc.VaList(bp, Xsqlite3ErrStr(tls, rc))) } else { - Xsqlite3ErrorMsg(tls, pParse, ts+3630 /* "%s" */, libc.VaList(bp+16, (*Sqlite3_vtab)(unsafe.Pointer(pVtab)).FzErrMsg)) + Xsqlite3ErrorMsg(tls, pParse, ts+3630 /* "%s" */, libc.VaList(bp+8, (*Sqlite3_vtab)(unsafe.Pointer(pVtab)).FzErrMsg)) } } Xsqlite3_free(tls, (*Sqlite3_vtab)(unsafe.Pointer(pVtab)).FzErrMsg) @@ -178682,8 +178682,8 @@ __3: // Output parameter *pbIn is set to true if the plan added to pBuilder // uses one or more WO_IN terms, or false otherwise. func whereLoopAddVirtualOne(tls *libc.TLS, pBuilder uintptr, mPrereq Bitmask, mUsable Bitmask, mExclude U16, pIdxInfo uintptr, mNoOmit U16, pbIn uintptr) int32 { /* sqlite3.c:152472:12: */ - bp := tls.Alloc(32) - defer tls.Free(32) + bp := tls.Alloc(16) + defer tls.Free(16) var pWC uintptr = (*WhereLoopBuilder)(unsafe.Pointer(pBuilder)).FpWC var pIdxCons uintptr @@ -178819,7 +178819,7 @@ __6: if *(*uintptr)(unsafe.Pointer((*WhereLoop)(unsafe.Pointer(pNew)).FaLTerm + uintptr(i)*8)) == uintptr(0) { // The non-zero argvIdx values must be contiguous. Raise an // error if they are not - Xsqlite3ErrorMsg(tls, pParse, ts+21628 /* "%s.xBestIndex ma..." */, libc.VaList(bp+16, (*Table)(unsafe.Pointer((*SrcItem)(unsafe.Pointer(pSrc)).FpTab)).FzName)) + Xsqlite3ErrorMsg(tls, pParse, ts+21628 /* "%s.xBestIndex ma..." */, libc.VaList(bp+8, (*Table)(unsafe.Pointer((*SrcItem)(unsafe.Pointer(pSrc)).FpTab)).FzName)) return SQLITE_ERROR } @@ -180279,15 +180279,15 @@ func exprIsDeterministic(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:153907:1 // be used to compute the appropriate cursor depending on which index is // used. func Xsqlite3WhereBegin(tls *libc.TLS, pParse uintptr, pTabList uintptr, pWhere uintptr, pOrderBy uintptr, pResultSet uintptr, wctrlFlags U16, iAuxArg int32) uintptr { /* sqlite3.c:154027:26: */ - bp := tls.Alloc(80) - defer tls.Free(80) + bp := tls.Alloc(72) + defer tls.Free(72) var nByteWInfo int32 // Num. bytes allocated for WhereInfo struct var nTabList int32 // Number of elements in pTabList var pWInfo uintptr // Will become the return value of this function var v uintptr // The virtual database engine var notReady Bitmask // Cursors that are not yet positioned - // var sWLB WhereLoopBuilder at bp+16, 64 + // var sWLB WhereLoopBuilder at bp+8, 64 // The WhereLoop builder var pMaskSet uintptr // The expression mask set var pLevel uintptr // A single level in pWInfo->a[] @@ -180331,7 +180331,7 @@ func Xsqlite3WhereBegin(tls *libc.TLS, pParse uintptr, pTabList uintptr, pWhere // Variable initialization db = (*Parse)(unsafe.Pointer(pParse)).Fdb - libc.Xmemset(tls, bp+16 /* &sWLB */, 0, uint64(unsafe.Sizeof(WhereLoopBuilder{}))) + libc.Xmemset(tls, bp+8 /* &sWLB */, 0, uint64(unsafe.Sizeof(WhereLoopBuilder{}))) // An ORDER/GROUP BY clause of more than 63 terms cannot be optimized @@ -180341,7 +180341,7 @@ func Xsqlite3WhereBegin(tls *libc.TLS, pParse uintptr, pTabList uintptr, pWhere pOrderBy = uintptr(0) __1: ; - (*WhereLoopBuilder)(unsafe.Pointer(bp + 16 /* &sWLB */)).FpOrderBy = pOrderBy + (*WhereLoopBuilder)(unsafe.Pointer(bp + 8 /* &sWLB */)).FpOrderBy = pOrderBy // Disable the DISTINCT optimization if SQLITE_DistinctOpt is set via // sqlite3_test_ctrl(SQLITE_TESTCTRL_OPTIMIZATIONS,...) @@ -180405,11 +180405,11 @@ __4: libc.Xmemset(tls, (pWInfo + 856 /* &.a */), 0, (uint64(unsafe.Sizeof(WhereLoop{})) + (uint64(nTabList) * uint64(unsafe.Sizeof(WhereLevel{}))))) // ONEPASS defaults to OFF pMaskSet = (pWInfo + 592 /* &.sMaskSet */) - (*WhereLoopBuilder)(unsafe.Pointer(bp + 16 /* &sWLB */)).FpWInfo = pWInfo - (*WhereLoopBuilder)(unsafe.Pointer(bp + 16 /* &sWLB */)).FpWC = (pWInfo + 104 /* &.sWC */) - (*WhereLoopBuilder)(unsafe.Pointer(bp + 16 /* &sWLB */)).FpNew = ((pWInfo) + uintptr(nByteWInfo)) + (*WhereLoopBuilder)(unsafe.Pointer(bp + 8 /* &sWLB */)).FpWInfo = pWInfo + (*WhereLoopBuilder)(unsafe.Pointer(bp + 8 /* &sWLB */)).FpWC = (pWInfo + 104 /* &.sWC */) + (*WhereLoopBuilder)(unsafe.Pointer(bp + 8 /* &sWLB */)).FpNew = ((pWInfo) + uintptr(nByteWInfo)) - whereLoopInit(tls, (*WhereLoopBuilder)(unsafe.Pointer(bp+16 /* &sWLB */)).FpNew) + whereLoopInit(tls, (*WhereLoopBuilder)(unsafe.Pointer(bp+8 /* &sWLB */)).FpNew) // Split the WHERE clause into separate subexpressions where each // subexpression is separated by an AND operator. @@ -180485,10 +180485,10 @@ __12: // FROM ... WHERE (SELECT random())>0; -- eval random() once overall ii = 0 __13: - if !(ii < (*WhereClause)(unsafe.Pointer((*WhereLoopBuilder)(unsafe.Pointer(bp+16 /* &sWLB */)).FpWC)).FnTerm) { + if !(ii < (*WhereClause)(unsafe.Pointer((*WhereLoopBuilder)(unsafe.Pointer(bp+8 /* &sWLB */)).FpWC)).FnTerm) { goto __15 } - pT = ((*WhereClause)(unsafe.Pointer((*WhereLoopBuilder)(unsafe.Pointer(bp+16 /* &sWLB */)).FpWC)).Fa + uintptr(ii)*56) + pT = ((*WhereClause)(unsafe.Pointer((*WhereLoopBuilder)(unsafe.Pointer(bp+8 /* &sWLB */)).FpWC)).Fa + uintptr(ii)*56) if !((int32((*WhereTerm)(unsafe.Pointer(pT)).FwtFlags) & TERM_VIRTUAL) != 0) { goto __16 } @@ -180535,10 +180535,10 @@ __18: // Construct the WhereLoop objects - if !((nTabList != 1) || (whereShortCut(tls, bp+16 /* &sWLB */) == 0)) { + if !((nTabList != 1) || (whereShortCut(tls, bp+8 /* &sWLB */) == 0)) { goto __22 } - rc = whereLoopAddAll(tls, bp+16 /* &sWLB */) + rc = whereLoopAddAll(tls, bp+8 /* &sWLB */) if !(rc != 0) { goto __23 } @@ -180551,7 +180551,7 @@ __23: // changed based on STAT4 information while computing subsequent loops, // then we need to rerun the whole loop building process so that all // loops will be built using the revised truthProb values. - if !((int32((*WhereLoopBuilder)(unsafe.Pointer(bp+16 /* &sWLB */)).FbldFlags2) & SQLITE_BLDF2_2NDPASS) != 0) { + if !((int32((*WhereLoopBuilder)(unsafe.Pointer(bp+8 /* &sWLB */)).FbldFlags2) & SQLITE_BLDF2_2NDPASS) != 0) { goto __24 } @@ -180565,7 +180565,7 @@ __25: goto __25 __26: ; - rc = whereLoopAddAll(tls, bp+16 /* &sWLB */) + rc = whereLoopAddAll(tls, bp+8 /* &sWLB */) if !(rc != 0) { goto __27 } @@ -180645,10 +180645,10 @@ __32: goto __33 } tabUsed = Xsqlite3WhereExprListUsage(tls, pMaskSet, pResultSet) - if !((*WhereLoopBuilder)(unsafe.Pointer(bp+16 /* &sWLB */)).FpOrderBy != 0) { + if !((*WhereLoopBuilder)(unsafe.Pointer(bp+8 /* &sWLB */)).FpOrderBy != 0) { goto __34 } - tabUsed = tabUsed | (Xsqlite3WhereExprListUsage(tls, pMaskSet, (*WhereLoopBuilder)(unsafe.Pointer(bp+16 /* &sWLB */)).FpOrderBy)) + tabUsed = tabUsed | (Xsqlite3WhereExprListUsage(tls, pMaskSet, (*WhereLoopBuilder)(unsafe.Pointer(bp+8 /* &sWLB */)).FpOrderBy)) __34: ; i = (int32((*WhereInfo)(unsafe.Pointer(pWInfo)).FnLevel) - 1) @@ -180677,8 +180677,8 @@ __39: goto __36 __40: ; - pEnd = ((*WhereClause)(unsafe.Pointer((*WhereLoopBuilder)(unsafe.Pointer(bp+16 /* &sWLB */)).FpWC)).Fa + uintptr((*WhereClause)(unsafe.Pointer((*WhereLoopBuilder)(unsafe.Pointer(bp+16 /* &sWLB */)).FpWC)).FnTerm)*56) - pTerm = (*WhereClause)(unsafe.Pointer((*WhereLoopBuilder)(unsafe.Pointer(bp + 16 /* &sWLB */)).FpWC)).Fa + pEnd = ((*WhereClause)(unsafe.Pointer((*WhereLoopBuilder)(unsafe.Pointer(bp+8 /* &sWLB */)).FpWC)).Fa + uintptr((*WhereClause)(unsafe.Pointer((*WhereLoopBuilder)(unsafe.Pointer(bp+8 /* &sWLB */)).FpWC)).FnTerm)*56) + pTerm = (*WhereClause)(unsafe.Pointer((*WhereLoopBuilder)(unsafe.Pointer(bp + 8 /* &sWLB */)).FpWC)).Fa __41: if !(pTerm < pEnd) { goto __43 @@ -180710,7 +180710,7 @@ __46: ; notReady = notReady & (^(*WhereLoop)(unsafe.Pointer(pLoop)).FmaskSelf) - pTerm = (*WhereClause)(unsafe.Pointer((*WhereLoopBuilder)(unsafe.Pointer(bp + 16 /* &sWLB */)).FpWC)).Fa + pTerm = (*WhereClause)(unsafe.Pointer((*WhereLoopBuilder)(unsafe.Pointer(bp + 8 /* &sWLB */)).FpWC)).Fa __47: if !(pTerm < pEnd) { goto __49 @@ -181878,8 +181878,8 @@ var aWindowFuncs = [15]FuncDef{ {FnArg: int8(3), FfuncFlags: (U32((SQLITE_UTF8 | SQLITE_FUNC_WINDOW) | 0)), FxSFunc: 0, FxFinalize: 0, FxValue: 0, FxInverse: 0, FzName: 0}} /* sqlite3.c:155522:18 */ func windowFind(tls *libc.TLS, pParse uintptr, pList uintptr, zName uintptr) uintptr { /* sqlite3.c:155542:15: */ - bp := tls.Alloc(16) - defer tls.Free(16) + bp := tls.Alloc(8) + defer tls.Free(8) var p uintptr for p = pList; p != 0; p = (*Window)(unsafe.Pointer(p)).FpNextWin { @@ -182197,8 +182197,8 @@ func sqlite3WindowExtraAggFuncDepth(tls *libc.TLS, pWalker uintptr, pExpr uintpt } func disallowAggregatesInOrderByCb(tls *libc.TLS, pWalker uintptr, pExpr uintptr) int32 { /* sqlite3.c:155855:12: */ - bp := tls.Alloc(16) - defer tls.Free(16) + bp := tls.Alloc(8) + defer tls.Free(8) if (int32((*Expr)(unsafe.Pointer(pExpr)).Fop) == TK_AGG_FUNCTION) && ((*Expr)(unsafe.Pointer(pExpr)).FpAggInfo == uintptr(0)) { Xsqlite3ErrorMsg(tls, (*Walker)(unsafe.Pointer(pWalker)).FpParse, @@ -182528,8 +182528,8 @@ func Xsqlite3WindowAssemble(tls *libc.TLS, pParse uintptr, pWin uintptr, pPartit // either updates *pWin according to the base specification, or else // leaves an error in pParse. func Xsqlite3WindowChain(tls *libc.TLS, pParse uintptr, pWin uintptr, pList uintptr) { /* sqlite3.c:156179:21: */ - bp := tls.Alloc(24) - defer tls.Free(24) + bp := tls.Alloc(16) + defer tls.Free(16) if (*Window)(unsafe.Pointer(pWin)).FzBase != 0 { var db uintptr = (*Parse)(unsafe.Pointer(pParse)).Fdb @@ -184345,8 +184345,8 @@ func disableLookaside(tls *libc.TLS, pParse uintptr) { /* sqlite3.c:158076:13: * // all elements in the list. And make sure list length does not exceed // SQLITE_LIMIT_COMPOUND_SELECT. func parserDoubleLinkSelect(tls *libc.TLS, pParse uintptr, p uintptr) { /* sqlite3.c:158109:15: */ - bp := tls.Alloc(24) - defer tls.Free(24) + bp := tls.Alloc(16) + defer tls.Free(16) if (*Select)(unsafe.Pointer(p)).FpPrior != 0 { var pNext uintptr = uintptr(0) @@ -184449,8 +184449,8 @@ func binaryToUnaryIfNull(tls *libc.TLS, pParse uintptr, pY uintptr, pA uintptr, // a COLLATE clause or an ASC or DESC keyword, except ignore the // error while parsing a legacy schema. func parserAddExprIdListTerm(tls *libc.TLS, pParse uintptr, pPrior uintptr, pIdToken uintptr, hasCollate int32, sortOrder int32) uintptr { /* sqlite3.c:158204:19: */ - bp := tls.Alloc(24) - defer tls.Free(24) + bp := tls.Alloc(16) + defer tls.Free(16) var p uintptr = Xsqlite3ExprListAppend(tls, pParse, pPrior, uintptr(0)) if ((hasCollate != 0) || (sortOrder != -1)) && @@ -186526,8 +186526,8 @@ var yyRuleInfoNRhs = [398]int8{ // only called from one place, optimizing compilers will in-line it, which // means that the extra parameters have no performance impact. func yy_reduce(tls *libc.TLS, yypParser uintptr, yyruleno uint32, yyLookahead int32, yyLookaheadToken Token, pParse uintptr) uint16 { /* sqlite3.c:161518:21: */ - bp := tls.Alloc(144) - defer tls.Free(144) + bp := tls.Alloc(128) + defer tls.Free(128) var yygoto int32 // The next state var yyact uint16 // The next action @@ -186547,7 +186547,7 @@ func yy_reduce(tls *libc.TLS, yypParser uintptr, yyruleno uint32, yyLookahead in // #line // break; //********* Begin reduce actions ********************************************* - // var yylhsminor YYMINORTYPE at bp+96, 16 + // var yylhsminor YYMINORTYPE at bp+80, 16 case uint32(0): /* explain ::= EXPLAIN */ { @@ -186959,8 +186959,8 @@ func yy_reduce(tls *libc.TLS, yypParser uintptr, yyruleno uint32, yyLookahead in break case uint32(82): /* cmd ::= select */ { - *(*SelectDest)(unsafe.Pointer(bp + 40 /* dest */)) = SelectDest{FeDest: U8(SRT_Output)} - Xsqlite3Select(tls, pParse, *(*uintptr)(unsafe.Pointer(yymsp + 8 /* &.minor */)), bp+40 /* &dest */) + *(*SelectDest)(unsafe.Pointer(bp + 24 /* dest */)) = SelectDest{FeDest: U8(SRT_Output)} + Xsqlite3Select(tls, pParse, *(*uintptr)(unsafe.Pointer(yymsp + 8 /* &.minor */)), bp+24 /* &dest */) Xsqlite3SelectDelete(tls, (*Parse)(unsafe.Pointer(pParse)).Fdb, *(*uintptr)(unsafe.Pointer(yymsp + 8 /* &.minor */))) } break @@ -186989,11 +186989,11 @@ func yy_reduce(tls *libc.TLS, yypParser uintptr, yyruleno uint32, yyLookahead in var pLhs uintptr = *(*uintptr)(unsafe.Pointer(yymsp + libc.UintptrFromInt32(-2)*24 + 8 /* &.minor */)) if (pRhs != 0) && ((*Select)(unsafe.Pointer(pRhs)).FpPrior != 0) { var pFrom uintptr - // var x Token at bp+80, 16 + // var x Token at bp+64, 16 - (*Token)(unsafe.Pointer(bp + 80 /* &x */)).Fn = uint32(0) + (*Token)(unsafe.Pointer(bp + 64 /* &x */)).Fn = uint32(0) parserDoubleLinkSelect(tls, pParse, pRhs) - pFrom = Xsqlite3SrcListAppendFromTerm(tls, pParse, uintptr(0), uintptr(0), uintptr(0), bp+80 /* &x */, pRhs, uintptr(0), uintptr(0)) + pFrom = Xsqlite3SrcListAppendFromTerm(tls, pParse, uintptr(0), uintptr(0), uintptr(0), bp+64 /* &x */, pRhs, uintptr(0), uintptr(0)) pRhs = Xsqlite3SelectNew(tls, pParse, uintptr(0), pFrom, uintptr(0), uintptr(0), uintptr(0), uintptr(0), uint32(0), uintptr(0)) } if pRhs != 0 { @@ -187199,21 +187199,21 @@ func yy_reduce(tls *libc.TLS, yypParser uintptr, yyruleno uint32, yyLookahead in break case uint32(113): /* fullname ::= nm */ { - *(*uintptr)(unsafe.Pointer(bp + 96 /* &yylhsminor */)) = Xsqlite3SrcListAppend(tls, pParse, uintptr(0), (yymsp + 8 /* &.minor */ /* &.yy0 */), uintptr(0)) - if (int32((*Parse)(unsafe.Pointer(pParse)).FeParseMode) >= PARSE_MODE_RENAME) && (*(*uintptr)(unsafe.Pointer(bp + 96 /* &yylhsminor */)) != 0) { - Xsqlite3RenameTokenMap(tls, pParse, (*SrcItem)(unsafe.Pointer((*(*uintptr)(unsafe.Pointer(bp + 96 /* &yylhsminor */)) + 8 /* &.a */))).FzName, (yymsp + 8 /* &.minor */ /* &.yy0 */)) + *(*uintptr)(unsafe.Pointer(bp + 80 /* &yylhsminor */)) = Xsqlite3SrcListAppend(tls, pParse, uintptr(0), (yymsp + 8 /* &.minor */ /* &.yy0 */), uintptr(0)) + if (int32((*Parse)(unsafe.Pointer(pParse)).FeParseMode) >= PARSE_MODE_RENAME) && (*(*uintptr)(unsafe.Pointer(bp + 80 /* &yylhsminor */)) != 0) { + Xsqlite3RenameTokenMap(tls, pParse, (*SrcItem)(unsafe.Pointer((*(*uintptr)(unsafe.Pointer(bp + 80 /* &yylhsminor */)) + 8 /* &.a */))).FzName, (yymsp + 8 /* &.minor */ /* &.yy0 */)) } } - *(*uintptr)(unsafe.Pointer(yymsp + 8 /* &.minor */)) = *(*uintptr)(unsafe.Pointer(bp + 96 /* &yylhsminor */)) + *(*uintptr)(unsafe.Pointer(yymsp + 8 /* &.minor */)) = *(*uintptr)(unsafe.Pointer(bp + 80 /* &yylhsminor */)) break case uint32(114): /* fullname ::= nm DOT nm */ { - *(*uintptr)(unsafe.Pointer(bp + 96 /* &yylhsminor */)) = Xsqlite3SrcListAppend(tls, pParse, uintptr(0), (yymsp + libc.UintptrFromInt32(-2)*24 + 8 /* &.minor */ /* &.yy0 */), (yymsp + 8 /* &.minor */ /* &.yy0 */)) - if (int32((*Parse)(unsafe.Pointer(pParse)).FeParseMode) >= PARSE_MODE_RENAME) && (*(*uintptr)(unsafe.Pointer(bp + 96 /* &yylhsminor */)) != 0) { - Xsqlite3RenameTokenMap(tls, pParse, (*SrcItem)(unsafe.Pointer((*(*uintptr)(unsafe.Pointer(bp + 96 /* &yylhsminor */)) + 8 /* &.a */))).FzName, (yymsp + 8 /* &.minor */ /* &.yy0 */)) + *(*uintptr)(unsafe.Pointer(bp + 80 /* &yylhsminor */)) = Xsqlite3SrcListAppend(tls, pParse, uintptr(0), (yymsp + libc.UintptrFromInt32(-2)*24 + 8 /* &.minor */ /* &.yy0 */), (yymsp + 8 /* &.minor */ /* &.yy0 */)) + if (int32((*Parse)(unsafe.Pointer(pParse)).FeParseMode) >= PARSE_MODE_RENAME) && (*(*uintptr)(unsafe.Pointer(bp + 80 /* &yylhsminor */)) != 0) { + Xsqlite3RenameTokenMap(tls, pParse, (*SrcItem)(unsafe.Pointer((*(*uintptr)(unsafe.Pointer(bp + 80 /* &yylhsminor */)) + 8 /* &.a */))).FzName, (yymsp + 8 /* &.minor */ /* &.yy0 */)) } } - *(*uintptr)(unsafe.Pointer(yymsp + libc.UintptrFromInt32(-2)*24 + 8 /* &.minor */)) = *(*uintptr)(unsafe.Pointer(bp + 96 /* &yylhsminor */)) + *(*uintptr)(unsafe.Pointer(yymsp + libc.UintptrFromInt32(-2)*24 + 8 /* &.minor */)) = *(*uintptr)(unsafe.Pointer(bp + 80 /* &yylhsminor */)) break case uint32(115): /* xfullname ::= nm */ { @@ -187418,10 +187418,10 @@ func yy_reduce(tls *libc.TLS, yypParser uintptr, yyruleno uint32, yyLookahead in break case uint32(158): /* setlist ::= nm EQ expr */ { - *(*uintptr)(unsafe.Pointer(bp + 96 /* &yylhsminor */)) = Xsqlite3ExprListAppend(tls, pParse, uintptr(0), *(*uintptr)(unsafe.Pointer(yymsp + 8 /* &.minor */))) - Xsqlite3ExprListSetName(tls, pParse, *(*uintptr)(unsafe.Pointer(bp + 96 /* &yylhsminor */)), (yymsp + libc.UintptrFromInt32(-2)*24 + 8 /* &.minor */ /* &.yy0 */), 1) + *(*uintptr)(unsafe.Pointer(bp + 80 /* &yylhsminor */)) = Xsqlite3ExprListAppend(tls, pParse, uintptr(0), *(*uintptr)(unsafe.Pointer(yymsp + 8 /* &.minor */))) + Xsqlite3ExprListSetName(tls, pParse, *(*uintptr)(unsafe.Pointer(bp + 80 /* &yylhsminor */)), (yymsp + libc.UintptrFromInt32(-2)*24 + 8 /* &.minor */ /* &.yy0 */), 1) } - *(*uintptr)(unsafe.Pointer(yymsp + libc.UintptrFromInt32(-2)*24 + 8 /* &.minor */)) = *(*uintptr)(unsafe.Pointer(bp + 96 /* &yylhsminor */)) + *(*uintptr)(unsafe.Pointer(yymsp + libc.UintptrFromInt32(-2)*24 + 8 /* &.minor */)) = *(*uintptr)(unsafe.Pointer(bp + 80 /* &yylhsminor */)) break case uint32(159): /* setlist ::= LP idlist RP EQ expr */ { @@ -187509,9 +187509,9 @@ func yy_reduce(tls *libc.TLS, yypParser uintptr, yyruleno uint32, yyLookahead in Xsqlite3RenameTokenMap(tls, pParse, temp2, (yymsp + 8 /* &.minor */ /* &.yy0 */)) Xsqlite3RenameTokenMap(tls, pParse, temp1, (yymsp + libc.UintptrFromInt32(-2)*24 + 8 /* &.minor */ /* &.yy0 */)) } - *(*uintptr)(unsafe.Pointer(bp + 96 /* &yylhsminor */)) = Xsqlite3PExpr(tls, pParse, TK_DOT, temp1, temp2) + *(*uintptr)(unsafe.Pointer(bp + 80 /* &yylhsminor */)) = Xsqlite3PExpr(tls, pParse, TK_DOT, temp1, temp2) } - *(*uintptr)(unsafe.Pointer(yymsp + libc.UintptrFromInt32(-2)*24 + 8 /* &.minor */)) = *(*uintptr)(unsafe.Pointer(bp + 96 /* &yylhsminor */)) + *(*uintptr)(unsafe.Pointer(yymsp + libc.UintptrFromInt32(-2)*24 + 8 /* &.minor */)) = *(*uintptr)(unsafe.Pointer(bp + 80 /* &yylhsminor */)) break case uint32(179): /* expr ::= nm DOT nm DOT nm */ { @@ -187523,9 +187523,9 @@ func yy_reduce(tls *libc.TLS, yypParser uintptr, yyruleno uint32, yyLookahead in Xsqlite3RenameTokenMap(tls, pParse, temp3, (yymsp + 8 /* &.minor */ /* &.yy0 */)) Xsqlite3RenameTokenMap(tls, pParse, temp2, (yymsp + libc.UintptrFromInt32(-2)*24 + 8 /* &.minor */ /* &.yy0 */)) } - *(*uintptr)(unsafe.Pointer(bp + 96 /* &yylhsminor */)) = Xsqlite3PExpr(tls, pParse, TK_DOT, temp1, temp4) + *(*uintptr)(unsafe.Pointer(bp + 80 /* &yylhsminor */)) = Xsqlite3PExpr(tls, pParse, TK_DOT, temp1, temp4) } - *(*uintptr)(unsafe.Pointer(yymsp + libc.UintptrFromInt32(-4)*24 + 8 /* &.minor */)) = *(*uintptr)(unsafe.Pointer(bp + 96 /* &yylhsminor */)) + *(*uintptr)(unsafe.Pointer(yymsp + libc.UintptrFromInt32(-4)*24 + 8 /* &.minor */)) = *(*uintptr)(unsafe.Pointer(bp + 80 /* &yylhsminor */)) break case uint32(180): fallthrough // term ::= NULL|FLOAT|BLOB @@ -187536,9 +187536,9 @@ func yy_reduce(tls *libc.TLS, yypParser uintptr, yyruleno uint32, yyLookahead in break case uint32(182): /* term ::= INTEGER */ { - *(*uintptr)(unsafe.Pointer(bp + 96 /* &yylhsminor */)) = Xsqlite3ExprAlloc(tls, (*Parse)(unsafe.Pointer(pParse)).Fdb, TK_INTEGER, (yymsp + 8 /* &.minor */ /* &.yy0 */), 1) + *(*uintptr)(unsafe.Pointer(bp + 80 /* &yylhsminor */)) = Xsqlite3ExprAlloc(tls, (*Parse)(unsafe.Pointer(pParse)).Fdb, TK_INTEGER, (yymsp + 8 /* &.minor */ /* &.yy0 */), 1) } - *(*uintptr)(unsafe.Pointer(yymsp + 8 /* &.minor */)) = *(*uintptr)(unsafe.Pointer(bp + 96 /* &yylhsminor */)) + *(*uintptr)(unsafe.Pointer(yymsp + 8 /* &.minor */)) = *(*uintptr)(unsafe.Pointer(bp + 80 /* &yylhsminor */)) break case uint32(183): /* expr ::= VARIABLE */ { @@ -187550,15 +187550,15 @@ func yy_reduce(tls *libc.TLS, yypParser uintptr, yyruleno uint32, yyLookahead in // When doing a nested parse, one can include terms in an expression // that look like this: #1 #2 ... These terms refer to registers // in the virtual machine. #N is the N-th register. - *(*Token)(unsafe.Pointer(bp + 112 /* t */)) = *(*Token)(unsafe.Pointer(yymsp + 8 /* &.minor */)) //A-overwrites-X + *(*Token)(unsafe.Pointer(bp + 96 /* t */)) = *(*Token)(unsafe.Pointer(yymsp + 8 /* &.minor */)) //A-overwrites-X if int32((*Parse)(unsafe.Pointer(pParse)).Fnested) == 0 { - Xsqlite3ErrorMsg(tls, pParse, ts+22654 /* "near \"%T\": synta..." */, libc.VaList(bp+24, bp+112 /* &t */)) + Xsqlite3ErrorMsg(tls, pParse, ts+22654 /* "near \"%T\": synta..." */, libc.VaList(bp+16, bp+96 /* &t */)) *(*uintptr)(unsafe.Pointer(yymsp + 8 /* &.minor */)) = uintptr(0) } else { *(*uintptr)(unsafe.Pointer(yymsp + 8 /* &.minor */)) = Xsqlite3PExpr(tls, pParse, TK_REGISTER, uintptr(0), uintptr(0)) if *(*uintptr)(unsafe.Pointer(yymsp + 8 /* &.minor */)) != 0 { - Xsqlite3GetInt32(tls, ((*Token)(unsafe.Pointer(bp+112 /* &t */)).Fz + 1), (*(*uintptr)(unsafe.Pointer(yymsp + 8 /* &.minor */)) + 44 /* &.iTable */)) + Xsqlite3GetInt32(tls, ((*Token)(unsafe.Pointer(bp+96 /* &t */)).Fz + 1), (*(*uintptr)(unsafe.Pointer(yymsp + 8 /* &.minor */)) + 44 /* &.iTable */)) } } } @@ -187577,35 +187577,35 @@ func yy_reduce(tls *libc.TLS, yypParser uintptr, yyruleno uint32, yyLookahead in break case uint32(186): /* expr ::= ID|INDEXED LP distinct exprlist RP */ { - *(*uintptr)(unsafe.Pointer(bp + 96 /* &yylhsminor */)) = Xsqlite3ExprFunction(tls, pParse, *(*uintptr)(unsafe.Pointer(yymsp + libc.UintptrFromInt32(-1)*24 + 8 /* &.minor */)), (yymsp + libc.UintptrFromInt32(-4)*24 + 8 /* &.minor */ /* &.yy0 */), *(*int32)(unsafe.Pointer(yymsp + libc.UintptrFromInt32(-2)*24 + 8 /* &.minor */))) + *(*uintptr)(unsafe.Pointer(bp + 80 /* &yylhsminor */)) = Xsqlite3ExprFunction(tls, pParse, *(*uintptr)(unsafe.Pointer(yymsp + libc.UintptrFromInt32(-1)*24 + 8 /* &.minor */)), (yymsp + libc.UintptrFromInt32(-4)*24 + 8 /* &.minor */ /* &.yy0 */), *(*int32)(unsafe.Pointer(yymsp + libc.UintptrFromInt32(-2)*24 + 8 /* &.minor */))) } - *(*uintptr)(unsafe.Pointer(yymsp + libc.UintptrFromInt32(-4)*24 + 8 /* &.minor */)) = *(*uintptr)(unsafe.Pointer(bp + 96 /* &yylhsminor */)) + *(*uintptr)(unsafe.Pointer(yymsp + libc.UintptrFromInt32(-4)*24 + 8 /* &.minor */)) = *(*uintptr)(unsafe.Pointer(bp + 80 /* &yylhsminor */)) break case uint32(187): /* expr ::= ID|INDEXED LP STAR RP */ { - *(*uintptr)(unsafe.Pointer(bp + 96 /* &yylhsminor */)) = Xsqlite3ExprFunction(tls, pParse, uintptr(0), (yymsp + libc.UintptrFromInt32(-3)*24 + 8 /* &.minor */ /* &.yy0 */), 0) + *(*uintptr)(unsafe.Pointer(bp + 80 /* &yylhsminor */)) = Xsqlite3ExprFunction(tls, pParse, uintptr(0), (yymsp + libc.UintptrFromInt32(-3)*24 + 8 /* &.minor */ /* &.yy0 */), 0) } - *(*uintptr)(unsafe.Pointer(yymsp + libc.UintptrFromInt32(-3)*24 + 8 /* &.minor */)) = *(*uintptr)(unsafe.Pointer(bp + 96 /* &yylhsminor */)) + *(*uintptr)(unsafe.Pointer(yymsp + libc.UintptrFromInt32(-3)*24 + 8 /* &.minor */)) = *(*uintptr)(unsafe.Pointer(bp + 80 /* &yylhsminor */)) break case uint32(188): /* expr ::= ID|INDEXED LP distinct exprlist RP filter_over */ { - *(*uintptr)(unsafe.Pointer(bp + 96 /* &yylhsminor */)) = Xsqlite3ExprFunction(tls, pParse, *(*uintptr)(unsafe.Pointer(yymsp + libc.UintptrFromInt32(-2)*24 + 8 /* &.minor */)), (yymsp + libc.UintptrFromInt32(-5)*24 + 8 /* &.minor */ /* &.yy0 */), *(*int32)(unsafe.Pointer(yymsp + libc.UintptrFromInt32(-3)*24 + 8 /* &.minor */))) - Xsqlite3WindowAttach(tls, pParse, *(*uintptr)(unsafe.Pointer(bp + 96 /* &yylhsminor */)), *(*uintptr)(unsafe.Pointer(yymsp + 8 /* &.minor */))) + *(*uintptr)(unsafe.Pointer(bp + 80 /* &yylhsminor */)) = Xsqlite3ExprFunction(tls, pParse, *(*uintptr)(unsafe.Pointer(yymsp + libc.UintptrFromInt32(-2)*24 + 8 /* &.minor */)), (yymsp + libc.UintptrFromInt32(-5)*24 + 8 /* &.minor */ /* &.yy0 */), *(*int32)(unsafe.Pointer(yymsp + libc.UintptrFromInt32(-3)*24 + 8 /* &.minor */))) + Xsqlite3WindowAttach(tls, pParse, *(*uintptr)(unsafe.Pointer(bp + 80 /* &yylhsminor */)), *(*uintptr)(unsafe.Pointer(yymsp + 8 /* &.minor */))) } - *(*uintptr)(unsafe.Pointer(yymsp + libc.UintptrFromInt32(-5)*24 + 8 /* &.minor */)) = *(*uintptr)(unsafe.Pointer(bp + 96 /* &yylhsminor */)) + *(*uintptr)(unsafe.Pointer(yymsp + libc.UintptrFromInt32(-5)*24 + 8 /* &.minor */)) = *(*uintptr)(unsafe.Pointer(bp + 80 /* &yylhsminor */)) break case uint32(189): /* expr ::= ID|INDEXED LP STAR RP filter_over */ { - *(*uintptr)(unsafe.Pointer(bp + 96 /* &yylhsminor */)) = Xsqlite3ExprFunction(tls, pParse, uintptr(0), (yymsp + libc.UintptrFromInt32(-4)*24 + 8 /* &.minor */ /* &.yy0 */), 0) - Xsqlite3WindowAttach(tls, pParse, *(*uintptr)(unsafe.Pointer(bp + 96 /* &yylhsminor */)), *(*uintptr)(unsafe.Pointer(yymsp + 8 /* &.minor */))) + *(*uintptr)(unsafe.Pointer(bp + 80 /* &yylhsminor */)) = Xsqlite3ExprFunction(tls, pParse, uintptr(0), (yymsp + libc.UintptrFromInt32(-4)*24 + 8 /* &.minor */ /* &.yy0 */), 0) + Xsqlite3WindowAttach(tls, pParse, *(*uintptr)(unsafe.Pointer(bp + 80 /* &yylhsminor */)), *(*uintptr)(unsafe.Pointer(yymsp + 8 /* &.minor */))) } - *(*uintptr)(unsafe.Pointer(yymsp + libc.UintptrFromInt32(-4)*24 + 8 /* &.minor */)) = *(*uintptr)(unsafe.Pointer(bp + 96 /* &yylhsminor */)) + *(*uintptr)(unsafe.Pointer(yymsp + libc.UintptrFromInt32(-4)*24 + 8 /* &.minor */)) = *(*uintptr)(unsafe.Pointer(bp + 80 /* &yylhsminor */)) break case uint32(190): /* term ::= CTIME_KW */ { - *(*uintptr)(unsafe.Pointer(bp + 96 /* &yylhsminor */)) = Xsqlite3ExprFunction(tls, pParse, uintptr(0), (yymsp + 8 /* &.minor */ /* &.yy0 */), 0) + *(*uintptr)(unsafe.Pointer(bp + 80 /* &yylhsminor */)) = Xsqlite3ExprFunction(tls, pParse, uintptr(0), (yymsp + 8 /* &.minor */ /* &.yy0 */), 0) } - *(*uintptr)(unsafe.Pointer(yymsp + 8 /* &.minor */)) = *(*uintptr)(unsafe.Pointer(bp + 96 /* &yylhsminor */)) + *(*uintptr)(unsafe.Pointer(yymsp + 8 /* &.minor */)) = *(*uintptr)(unsafe.Pointer(bp + 80 /* &yylhsminor */)) break case uint32(191): /* expr ::= LP nexprlist COMMA expr RP */ { @@ -187955,11 +187955,11 @@ func yy_reduce(tls *libc.TLS, yypParser uintptr, yyruleno uint32, yyLookahead in break case uint32(253): /* cmd ::= createkw trigger_decl BEGIN trigger_cmd_list END */ { - // var all Token at bp+128, 16 + // var all Token at bp+112, 16 - (*Token)(unsafe.Pointer(bp + 128 /* &all */)).Fz = (*Token)(unsafe.Pointer(yymsp + libc.UintptrFromInt32(-3)*24 + 8 /* &.minor */)).Fz - (*Token)(unsafe.Pointer(bp + 128 /* &all */)).Fn = (uint32((int32((int64((*Token)(unsafe.Pointer(yymsp+8 /* &.minor */)).Fz) - int64((*Token)(unsafe.Pointer(yymsp+libc.UintptrFromInt32(-3)*24+8 /* &.minor */)).Fz)) / 1))) + (*Token)(unsafe.Pointer(yymsp+8 /* &.minor */)).Fn) - Xsqlite3FinishTrigger(tls, pParse, *(*uintptr)(unsafe.Pointer(yymsp + libc.UintptrFromInt32(-1)*24 + 8 /* &.minor */)), bp+128 /* &all */) + (*Token)(unsafe.Pointer(bp + 112 /* &all */)).Fz = (*Token)(unsafe.Pointer(yymsp + libc.UintptrFromInt32(-3)*24 + 8 /* &.minor */)).Fz + (*Token)(unsafe.Pointer(bp + 112 /* &all */)).Fn = (uint32((int32((int64((*Token)(unsafe.Pointer(yymsp+8 /* &.minor */)).Fz) - int64((*Token)(unsafe.Pointer(yymsp+libc.UintptrFromInt32(-3)*24+8 /* &.minor */)).Fz)) / 1))) + (*Token)(unsafe.Pointer(yymsp+8 /* &.minor */)).Fn) + Xsqlite3FinishTrigger(tls, pParse, *(*uintptr)(unsafe.Pointer(yymsp + libc.UintptrFromInt32(-1)*24 + 8 /* &.minor */)), bp+112 /* &all */) } break case uint32(254): /* trigger_decl ::= temp TRIGGER ifnotexists nm dbnm trigger_time trigger_event ON fullname foreach_clause when_clause */ @@ -188053,27 +188053,27 @@ func yy_reduce(tls *libc.TLS, yypParser uintptr, yyruleno uint32, yyLookahead in break case uint32(268): /* trigger_cmd ::= UPDATE orconf trnm tridxby SET setlist from where_opt scanpt */ { - *(*uintptr)(unsafe.Pointer(bp + 96 /* &yylhsminor */)) = Xsqlite3TriggerUpdateStep(tls, pParse, (yymsp + libc.UintptrFromInt32(-6)*24 + 8 /* &.minor */ /* &.yy0 */), *(*uintptr)(unsafe.Pointer(yymsp + libc.UintptrFromInt32(-2)*24 + 8 /* &.minor */)), *(*uintptr)(unsafe.Pointer(yymsp + libc.UintptrFromInt32(-3)*24 + 8 /* &.minor */)), *(*uintptr)(unsafe.Pointer(yymsp + libc.UintptrFromInt32(-1)*24 + 8 /* &.minor */)), uint8(*(*int32)(unsafe.Pointer(yymsp + libc.UintptrFromInt32(-7)*24 + 8 /* &.minor */))), (*Token)(unsafe.Pointer(yymsp+libc.UintptrFromInt32(-8)*24+8 /* &.minor */)).Fz, *(*uintptr)(unsafe.Pointer(yymsp + 8 /* &.minor */))) + *(*uintptr)(unsafe.Pointer(bp + 80 /* &yylhsminor */)) = Xsqlite3TriggerUpdateStep(tls, pParse, (yymsp + libc.UintptrFromInt32(-6)*24 + 8 /* &.minor */ /* &.yy0 */), *(*uintptr)(unsafe.Pointer(yymsp + libc.UintptrFromInt32(-2)*24 + 8 /* &.minor */)), *(*uintptr)(unsafe.Pointer(yymsp + libc.UintptrFromInt32(-3)*24 + 8 /* &.minor */)), *(*uintptr)(unsafe.Pointer(yymsp + libc.UintptrFromInt32(-1)*24 + 8 /* &.minor */)), uint8(*(*int32)(unsafe.Pointer(yymsp + libc.UintptrFromInt32(-7)*24 + 8 /* &.minor */))), (*Token)(unsafe.Pointer(yymsp+libc.UintptrFromInt32(-8)*24+8 /* &.minor */)).Fz, *(*uintptr)(unsafe.Pointer(yymsp + 8 /* &.minor */))) } - *(*uintptr)(unsafe.Pointer(yymsp + libc.UintptrFromInt32(-8)*24 + 8 /* &.minor */)) = *(*uintptr)(unsafe.Pointer(bp + 96 /* &yylhsminor */)) + *(*uintptr)(unsafe.Pointer(yymsp + libc.UintptrFromInt32(-8)*24 + 8 /* &.minor */)) = *(*uintptr)(unsafe.Pointer(bp + 80 /* &yylhsminor */)) break case uint32(269): /* trigger_cmd ::= scanpt insert_cmd INTO trnm idlist_opt select upsert scanpt */ { - *(*uintptr)(unsafe.Pointer(bp + 96 /* &yylhsminor */)) = Xsqlite3TriggerInsertStep(tls, pParse, (yymsp + libc.UintptrFromInt32(-4)*24 + 8 /* &.minor */ /* &.yy0 */), *(*uintptr)(unsafe.Pointer(yymsp + libc.UintptrFromInt32(-3)*24 + 8 /* &.minor */)), *(*uintptr)(unsafe.Pointer(yymsp + libc.UintptrFromInt32(-2)*24 + 8 /* &.minor */)), uint8(*(*int32)(unsafe.Pointer(yymsp + libc.UintptrFromInt32(-6)*24 + 8 /* &.minor */))), *(*uintptr)(unsafe.Pointer(yymsp + libc.UintptrFromInt32(-1)*24 + 8 /* &.minor */)), *(*uintptr)(unsafe.Pointer(yymsp + libc.UintptrFromInt32(-7)*24 + 8 /* &.minor */)), *(*uintptr)(unsafe.Pointer(yymsp + 8 /* &.minor */))) //yylhsminor.yy157-overwrites-yymsp[-6].minor.yy376 + *(*uintptr)(unsafe.Pointer(bp + 80 /* &yylhsminor */)) = Xsqlite3TriggerInsertStep(tls, pParse, (yymsp + libc.UintptrFromInt32(-4)*24 + 8 /* &.minor */ /* &.yy0 */), *(*uintptr)(unsafe.Pointer(yymsp + libc.UintptrFromInt32(-3)*24 + 8 /* &.minor */)), *(*uintptr)(unsafe.Pointer(yymsp + libc.UintptrFromInt32(-2)*24 + 8 /* &.minor */)), uint8(*(*int32)(unsafe.Pointer(yymsp + libc.UintptrFromInt32(-6)*24 + 8 /* &.minor */))), *(*uintptr)(unsafe.Pointer(yymsp + libc.UintptrFromInt32(-1)*24 + 8 /* &.minor */)), *(*uintptr)(unsafe.Pointer(yymsp + libc.UintptrFromInt32(-7)*24 + 8 /* &.minor */)), *(*uintptr)(unsafe.Pointer(yymsp + 8 /* &.minor */))) //yylhsminor.yy157-overwrites-yymsp[-6].minor.yy376 } - *(*uintptr)(unsafe.Pointer(yymsp + libc.UintptrFromInt32(-7)*24 + 8 /* &.minor */)) = *(*uintptr)(unsafe.Pointer(bp + 96 /* &yylhsminor */)) + *(*uintptr)(unsafe.Pointer(yymsp + libc.UintptrFromInt32(-7)*24 + 8 /* &.minor */)) = *(*uintptr)(unsafe.Pointer(bp + 80 /* &yylhsminor */)) break case uint32(270): /* trigger_cmd ::= DELETE FROM trnm tridxby where_opt scanpt */ { - *(*uintptr)(unsafe.Pointer(bp + 96 /* &yylhsminor */)) = Xsqlite3TriggerDeleteStep(tls, pParse, (yymsp + libc.UintptrFromInt32(-3)*24 + 8 /* &.minor */ /* &.yy0 */), *(*uintptr)(unsafe.Pointer(yymsp + libc.UintptrFromInt32(-1)*24 + 8 /* &.minor */)), (*Token)(unsafe.Pointer(yymsp+libc.UintptrFromInt32(-5)*24+8 /* &.minor */)).Fz, *(*uintptr)(unsafe.Pointer(yymsp + 8 /* &.minor */))) + *(*uintptr)(unsafe.Pointer(bp + 80 /* &yylhsminor */)) = Xsqlite3TriggerDeleteStep(tls, pParse, (yymsp + libc.UintptrFromInt32(-3)*24 + 8 /* &.minor */ /* &.yy0 */), *(*uintptr)(unsafe.Pointer(yymsp + libc.UintptrFromInt32(-1)*24 + 8 /* &.minor */)), (*Token)(unsafe.Pointer(yymsp+libc.UintptrFromInt32(-5)*24+8 /* &.minor */)).Fz, *(*uintptr)(unsafe.Pointer(yymsp + 8 /* &.minor */))) } - *(*uintptr)(unsafe.Pointer(yymsp + libc.UintptrFromInt32(-5)*24 + 8 /* &.minor */)) = *(*uintptr)(unsafe.Pointer(bp + 96 /* &yylhsminor */)) + *(*uintptr)(unsafe.Pointer(yymsp + libc.UintptrFromInt32(-5)*24 + 8 /* &.minor */)) = *(*uintptr)(unsafe.Pointer(bp + 80 /* &yylhsminor */)) break case uint32(271): /* trigger_cmd ::= scanpt select scanpt */ { - *(*uintptr)(unsafe.Pointer(bp + 96 /* &yylhsminor */)) = Xsqlite3TriggerSelectStep(tls, (*Parse)(unsafe.Pointer(pParse)).Fdb, *(*uintptr)(unsafe.Pointer(yymsp + libc.UintptrFromInt32(-1)*24 + 8 /* &.minor */)), *(*uintptr)(unsafe.Pointer(yymsp + libc.UintptrFromInt32(-2)*24 + 8 /* &.minor */)), *(*uintptr)(unsafe.Pointer(yymsp + 8 /* &.minor */))) /*yylhsminor.yy157-overwrites-yymsp[-1].minor.yy81*/ + *(*uintptr)(unsafe.Pointer(bp + 80 /* &yylhsminor */)) = Xsqlite3TriggerSelectStep(tls, (*Parse)(unsafe.Pointer(pParse)).Fdb, *(*uintptr)(unsafe.Pointer(yymsp + libc.UintptrFromInt32(-1)*24 + 8 /* &.minor */)), *(*uintptr)(unsafe.Pointer(yymsp + libc.UintptrFromInt32(-2)*24 + 8 /* &.minor */)), *(*uintptr)(unsafe.Pointer(yymsp + 8 /* &.minor */))) /*yylhsminor.yy157-overwrites-yymsp[-1].minor.yy81*/ } - *(*uintptr)(unsafe.Pointer(yymsp + libc.UintptrFromInt32(-2)*24 + 8 /* &.minor */)) = *(*uintptr)(unsafe.Pointer(bp + 96 /* &yylhsminor */)) + *(*uintptr)(unsafe.Pointer(yymsp + libc.UintptrFromInt32(-2)*24 + 8 /* &.minor */)) = *(*uintptr)(unsafe.Pointer(bp + 80 /* &yylhsminor */)) break case uint32(272): /* expr ::= RAISE LP IGNORE RP */ { @@ -188231,27 +188231,27 @@ func yy_reduce(tls *libc.TLS, yypParser uintptr, yyruleno uint32, yyLookahead in break case uint32(306): /* windowdefn_list ::= windowdefn */ { - *(*uintptr)(unsafe.Pointer(bp + 96 /* &yylhsminor */)) = *(*uintptr)(unsafe.Pointer(yymsp + 8 /* &.minor */)) + *(*uintptr)(unsafe.Pointer(bp + 80 /* &yylhsminor */)) = *(*uintptr)(unsafe.Pointer(yymsp + 8 /* &.minor */)) } - *(*uintptr)(unsafe.Pointer(yymsp + 8 /* &.minor */)) = *(*uintptr)(unsafe.Pointer(bp + 96 /* &yylhsminor */)) + *(*uintptr)(unsafe.Pointer(yymsp + 8 /* &.minor */)) = *(*uintptr)(unsafe.Pointer(bp + 80 /* &yylhsminor */)) break case uint32(307): /* windowdefn_list ::= windowdefn_list COMMA windowdefn */ { Xsqlite3WindowChain(tls, pParse, *(*uintptr)(unsafe.Pointer(yymsp + 8 /* &.minor */)), *(*uintptr)(unsafe.Pointer(yymsp + libc.UintptrFromInt32(-2)*24 + 8 /* &.minor */))) (*Window)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(yymsp + 8 /* &.minor */)))).FpNextWin = *(*uintptr)(unsafe.Pointer(yymsp + libc.UintptrFromInt32(-2)*24 + 8 /* &.minor */)) - *(*uintptr)(unsafe.Pointer(bp + 96 /* &yylhsminor */)) = *(*uintptr)(unsafe.Pointer(yymsp + 8 /* &.minor */)) + *(*uintptr)(unsafe.Pointer(bp + 80 /* &yylhsminor */)) = *(*uintptr)(unsafe.Pointer(yymsp + 8 /* &.minor */)) } - *(*uintptr)(unsafe.Pointer(yymsp + libc.UintptrFromInt32(-2)*24 + 8 /* &.minor */)) = *(*uintptr)(unsafe.Pointer(bp + 96 /* &yylhsminor */)) + *(*uintptr)(unsafe.Pointer(yymsp + libc.UintptrFromInt32(-2)*24 + 8 /* &.minor */)) = *(*uintptr)(unsafe.Pointer(bp + 80 /* &yylhsminor */)) break case uint32(308): /* windowdefn ::= nm AS LP window RP */ { if *(*uintptr)(unsafe.Pointer(yymsp + libc.UintptrFromInt32(-1)*24 + 8 /* &.minor */)) != 0 { (*Window)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(yymsp + libc.UintptrFromInt32(-1)*24 + 8 /* &.minor */)))).FzName = Xsqlite3DbStrNDup(tls, (*Parse)(unsafe.Pointer(pParse)).Fdb, (*Token)(unsafe.Pointer(yymsp+libc.UintptrFromInt32(-4)*24+8 /* &.minor */)).Fz, uint64((*Token)(unsafe.Pointer(yymsp+libc.UintptrFromInt32(-4)*24+8 /* &.minor */)).Fn)) } - *(*uintptr)(unsafe.Pointer(bp + 96 /* &yylhsminor */)) = *(*uintptr)(unsafe.Pointer(yymsp + libc.UintptrFromInt32(-1)*24 + 8 /* &.minor */)) + *(*uintptr)(unsafe.Pointer(bp + 80 /* &yylhsminor */)) = *(*uintptr)(unsafe.Pointer(yymsp + libc.UintptrFromInt32(-1)*24 + 8 /* &.minor */)) } - *(*uintptr)(unsafe.Pointer(yymsp + libc.UintptrFromInt32(-4)*24 + 8 /* &.minor */)) = *(*uintptr)(unsafe.Pointer(bp + 96 /* &yylhsminor */)) + *(*uintptr)(unsafe.Pointer(yymsp + libc.UintptrFromInt32(-4)*24 + 8 /* &.minor */)) = *(*uintptr)(unsafe.Pointer(bp + 80 /* &yylhsminor */)) break case uint32(309): /* window ::= PARTITION BY nexprlist orderby_opt frame_opt */ { @@ -188260,9 +188260,9 @@ func yy_reduce(tls *libc.TLS, yypParser uintptr, yyruleno uint32, yyLookahead in break case uint32(310): /* window ::= nm PARTITION BY nexprlist orderby_opt frame_opt */ { - *(*uintptr)(unsafe.Pointer(bp + 96 /* &yylhsminor */)) = Xsqlite3WindowAssemble(tls, pParse, *(*uintptr)(unsafe.Pointer(yymsp + 8 /* &.minor */)), *(*uintptr)(unsafe.Pointer(yymsp + libc.UintptrFromInt32(-2)*24 + 8 /* &.minor */)), *(*uintptr)(unsafe.Pointer(yymsp + libc.UintptrFromInt32(-1)*24 + 8 /* &.minor */)), (yymsp + libc.UintptrFromInt32(-5)*24 + 8 /* &.minor */ /* &.yy0 */)) + *(*uintptr)(unsafe.Pointer(bp + 80 /* &yylhsminor */)) = Xsqlite3WindowAssemble(tls, pParse, *(*uintptr)(unsafe.Pointer(yymsp + 8 /* &.minor */)), *(*uintptr)(unsafe.Pointer(yymsp + libc.UintptrFromInt32(-2)*24 + 8 /* &.minor */)), *(*uintptr)(unsafe.Pointer(yymsp + libc.UintptrFromInt32(-1)*24 + 8 /* &.minor */)), (yymsp + libc.UintptrFromInt32(-5)*24 + 8 /* &.minor */ /* &.yy0 */)) } - *(*uintptr)(unsafe.Pointer(yymsp + libc.UintptrFromInt32(-5)*24 + 8 /* &.minor */)) = *(*uintptr)(unsafe.Pointer(bp + 96 /* &yylhsminor */)) + *(*uintptr)(unsafe.Pointer(yymsp + libc.UintptrFromInt32(-5)*24 + 8 /* &.minor */)) = *(*uintptr)(unsafe.Pointer(bp + 80 /* &yylhsminor */)) break case uint32(311): /* window ::= ORDER BY sortlist frame_opt */ { @@ -188271,23 +188271,23 @@ func yy_reduce(tls *libc.TLS, yypParser uintptr, yyruleno uint32, yyLookahead in break case uint32(312): /* window ::= nm ORDER BY sortlist frame_opt */ { - *(*uintptr)(unsafe.Pointer(bp + 96 /* &yylhsminor */)) = Xsqlite3WindowAssemble(tls, pParse, *(*uintptr)(unsafe.Pointer(yymsp + 8 /* &.minor */)), uintptr(0), *(*uintptr)(unsafe.Pointer(yymsp + libc.UintptrFromInt32(-1)*24 + 8 /* &.minor */)), (yymsp + libc.UintptrFromInt32(-4)*24 + 8 /* &.minor */ /* &.yy0 */)) + *(*uintptr)(unsafe.Pointer(bp + 80 /* &yylhsminor */)) = Xsqlite3WindowAssemble(tls, pParse, *(*uintptr)(unsafe.Pointer(yymsp + 8 /* &.minor */)), uintptr(0), *(*uintptr)(unsafe.Pointer(yymsp + libc.UintptrFromInt32(-1)*24 + 8 /* &.minor */)), (yymsp + libc.UintptrFromInt32(-4)*24 + 8 /* &.minor */ /* &.yy0 */)) } - *(*uintptr)(unsafe.Pointer(yymsp + libc.UintptrFromInt32(-4)*24 + 8 /* &.minor */)) = *(*uintptr)(unsafe.Pointer(bp + 96 /* &yylhsminor */)) + *(*uintptr)(unsafe.Pointer(yymsp + libc.UintptrFromInt32(-4)*24 + 8 /* &.minor */)) = *(*uintptr)(unsafe.Pointer(bp + 80 /* &yylhsminor */)) break case uint32(313): fallthrough // window ::= frame_opt case uint32(332): /* filter_over ::= over_clause */ { - *(*uintptr)(unsafe.Pointer(bp + 96 /* &yylhsminor */)) = *(*uintptr)(unsafe.Pointer(yymsp + 8 /* &.minor */)) + *(*uintptr)(unsafe.Pointer(bp + 80 /* &yylhsminor */)) = *(*uintptr)(unsafe.Pointer(yymsp + 8 /* &.minor */)) } - *(*uintptr)(unsafe.Pointer(yymsp + 8 /* &.minor */)) = *(*uintptr)(unsafe.Pointer(bp + 96 /* &yylhsminor */)) + *(*uintptr)(unsafe.Pointer(yymsp + 8 /* &.minor */)) = *(*uintptr)(unsafe.Pointer(bp + 80 /* &yylhsminor */)) break case uint32(314): /* window ::= nm frame_opt */ { - *(*uintptr)(unsafe.Pointer(bp + 96 /* &yylhsminor */)) = Xsqlite3WindowAssemble(tls, pParse, *(*uintptr)(unsafe.Pointer(yymsp + 8 /* &.minor */)), uintptr(0), uintptr(0), (yymsp + libc.UintptrFromInt32(-1)*24 + 8 /* &.minor */ /* &.yy0 */)) + *(*uintptr)(unsafe.Pointer(bp + 80 /* &yylhsminor */)) = Xsqlite3WindowAssemble(tls, pParse, *(*uintptr)(unsafe.Pointer(yymsp + 8 /* &.minor */)), uintptr(0), uintptr(0), (yymsp + libc.UintptrFromInt32(-1)*24 + 8 /* &.minor */ /* &.yy0 */)) } - *(*uintptr)(unsafe.Pointer(yymsp + libc.UintptrFromInt32(-1)*24 + 8 /* &.minor */)) = *(*uintptr)(unsafe.Pointer(bp + 96 /* &yylhsminor */)) + *(*uintptr)(unsafe.Pointer(yymsp + libc.UintptrFromInt32(-1)*24 + 8 /* &.minor */)) = *(*uintptr)(unsafe.Pointer(bp + 80 /* &yylhsminor */)) break case uint32(315): /* frame_opt ::= */ { @@ -188296,23 +188296,23 @@ func yy_reduce(tls *libc.TLS, yypParser uintptr, yyruleno uint32, yyLookahead in break case uint32(316): /* frame_opt ::= range_or_rows frame_bound_s frame_exclude_opt */ { - *(*uintptr)(unsafe.Pointer(bp + 96 /* &yylhsminor */)) = Xsqlite3WindowAlloc(tls, pParse, *(*int32)(unsafe.Pointer(yymsp + libc.UintptrFromInt32(-2)*24 + 8 /* &.minor */)), (*FrameBound)(unsafe.Pointer(yymsp+libc.UintptrFromInt32(-1)*24+8 /* &.minor */)).FeType, (*FrameBound)(unsafe.Pointer(yymsp+libc.UintptrFromInt32(-1)*24+8 /* &.minor */)).FpExpr, TK_CURRENT, uintptr(0), *(*U8)(unsafe.Pointer(yymsp + 8 /* &.minor */))) + *(*uintptr)(unsafe.Pointer(bp + 80 /* &yylhsminor */)) = Xsqlite3WindowAlloc(tls, pParse, *(*int32)(unsafe.Pointer(yymsp + libc.UintptrFromInt32(-2)*24 + 8 /* &.minor */)), (*FrameBound)(unsafe.Pointer(yymsp+libc.UintptrFromInt32(-1)*24+8 /* &.minor */)).FeType, (*FrameBound)(unsafe.Pointer(yymsp+libc.UintptrFromInt32(-1)*24+8 /* &.minor */)).FpExpr, TK_CURRENT, uintptr(0), *(*U8)(unsafe.Pointer(yymsp + 8 /* &.minor */))) } - *(*uintptr)(unsafe.Pointer(yymsp + libc.UintptrFromInt32(-2)*24 + 8 /* &.minor */)) = *(*uintptr)(unsafe.Pointer(bp + 96 /* &yylhsminor */)) + *(*uintptr)(unsafe.Pointer(yymsp + libc.UintptrFromInt32(-2)*24 + 8 /* &.minor */)) = *(*uintptr)(unsafe.Pointer(bp + 80 /* &yylhsminor */)) break case uint32(317): /* frame_opt ::= range_or_rows BETWEEN frame_bound_s AND frame_bound_e frame_exclude_opt */ { - *(*uintptr)(unsafe.Pointer(bp + 96 /* &yylhsminor */)) = Xsqlite3WindowAlloc(tls, pParse, *(*int32)(unsafe.Pointer(yymsp + libc.UintptrFromInt32(-5)*24 + 8 /* &.minor */)), (*FrameBound)(unsafe.Pointer(yymsp+libc.UintptrFromInt32(-3)*24+8 /* &.minor */)).FeType, (*FrameBound)(unsafe.Pointer(yymsp+libc.UintptrFromInt32(-3)*24+8 /* &.minor */)).FpExpr, (*FrameBound)(unsafe.Pointer(yymsp+libc.UintptrFromInt32(-1)*24+8 /* &.minor */)).FeType, (*FrameBound)(unsafe.Pointer(yymsp+libc.UintptrFromInt32(-1)*24+8 /* &.minor */)).FpExpr, *(*U8)(unsafe.Pointer(yymsp + 8 /* &.minor */))) + *(*uintptr)(unsafe.Pointer(bp + 80 /* &yylhsminor */)) = Xsqlite3WindowAlloc(tls, pParse, *(*int32)(unsafe.Pointer(yymsp + libc.UintptrFromInt32(-5)*24 + 8 /* &.minor */)), (*FrameBound)(unsafe.Pointer(yymsp+libc.UintptrFromInt32(-3)*24+8 /* &.minor */)).FeType, (*FrameBound)(unsafe.Pointer(yymsp+libc.UintptrFromInt32(-3)*24+8 /* &.minor */)).FpExpr, (*FrameBound)(unsafe.Pointer(yymsp+libc.UintptrFromInt32(-1)*24+8 /* &.minor */)).FeType, (*FrameBound)(unsafe.Pointer(yymsp+libc.UintptrFromInt32(-1)*24+8 /* &.minor */)).FpExpr, *(*U8)(unsafe.Pointer(yymsp + 8 /* &.minor */))) } - *(*uintptr)(unsafe.Pointer(yymsp + libc.UintptrFromInt32(-5)*24 + 8 /* &.minor */)) = *(*uintptr)(unsafe.Pointer(bp + 96 /* &yylhsminor */)) + *(*uintptr)(unsafe.Pointer(yymsp + libc.UintptrFromInt32(-5)*24 + 8 /* &.minor */)) = *(*uintptr)(unsafe.Pointer(bp + 80 /* &yylhsminor */)) break case uint32(319): fallthrough // frame_bound_s ::= frame_bound case uint32(321): /* frame_bound_e ::= frame_bound */ { - *(*FrameBound)(unsafe.Pointer(bp + 96 /* &yylhsminor */)) = *(*FrameBound)(unsafe.Pointer(yymsp + 8 /* &.minor */)) + *(*FrameBound)(unsafe.Pointer(bp + 80 /* &yylhsminor */)) = *(*FrameBound)(unsafe.Pointer(yymsp + 8 /* &.minor */)) } - *(*FrameBound)(unsafe.Pointer(yymsp + 8 /* &.minor */)) = *(*FrameBound)(unsafe.Pointer(bp + 96 /* &yylhsminor */)) + *(*FrameBound)(unsafe.Pointer(yymsp + 8 /* &.minor */)) = *(*FrameBound)(unsafe.Pointer(bp + 80 /* &yylhsminor */)) break case uint32(320): fallthrough // frame_bound_s ::= UNBOUNDED PRECEDING @@ -188320,17 +188320,17 @@ func yy_reduce(tls *libc.TLS, yypParser uintptr, yyruleno uint32, yyLookahead in fallthrough case uint32(324): /* frame_bound ::= CURRENT ROW */ { - (*FrameBound)(unsafe.Pointer(bp + 96 /* &yylhsminor */)).FeType = int32((*YyStackEntry)(unsafe.Pointer(yymsp + libc.UintptrFromInt32(-1)*24)).Fmajor) - (*FrameBound)(unsafe.Pointer(bp + 96 /* &yylhsminor */)).FpExpr = uintptr(0) + (*FrameBound)(unsafe.Pointer(bp + 80 /* &yylhsminor */)).FeType = int32((*YyStackEntry)(unsafe.Pointer(yymsp + libc.UintptrFromInt32(-1)*24)).Fmajor) + (*FrameBound)(unsafe.Pointer(bp + 80 /* &yylhsminor */)).FpExpr = uintptr(0) } - *(*FrameBound)(unsafe.Pointer(yymsp + libc.UintptrFromInt32(-1)*24 + 8 /* &.minor */)) = *(*FrameBound)(unsafe.Pointer(bp + 96 /* &yylhsminor */)) + *(*FrameBound)(unsafe.Pointer(yymsp + libc.UintptrFromInt32(-1)*24 + 8 /* &.minor */)) = *(*FrameBound)(unsafe.Pointer(bp + 80 /* &yylhsminor */)) break case uint32(323): /* frame_bound ::= expr PRECEDING|FOLLOWING */ { - (*FrameBound)(unsafe.Pointer(bp + 96 /* &yylhsminor */)).FeType = int32((*YyStackEntry)(unsafe.Pointer(yymsp)).Fmajor) - (*FrameBound)(unsafe.Pointer(bp + 96 /* &yylhsminor */)).FpExpr = *(*uintptr)(unsafe.Pointer(yymsp + libc.UintptrFromInt32(-1)*24 + 8 /* &.minor */)) + (*FrameBound)(unsafe.Pointer(bp + 80 /* &yylhsminor */)).FeType = int32((*YyStackEntry)(unsafe.Pointer(yymsp)).Fmajor) + (*FrameBound)(unsafe.Pointer(bp + 80 /* &yylhsminor */)).FpExpr = *(*uintptr)(unsafe.Pointer(yymsp + libc.UintptrFromInt32(-1)*24 + 8 /* &.minor */)) } - *(*FrameBound)(unsafe.Pointer(yymsp + libc.UintptrFromInt32(-1)*24 + 8 /* &.minor */)) = *(*FrameBound)(unsafe.Pointer(bp + 96 /* &yylhsminor */)) + *(*FrameBound)(unsafe.Pointer(yymsp + libc.UintptrFromInt32(-1)*24 + 8 /* &.minor */)) = *(*FrameBound)(unsafe.Pointer(bp + 80 /* &yylhsminor */)) break case uint32(325): /* frame_exclude_opt ::= */ { @@ -188366,21 +188366,21 @@ func yy_reduce(tls *libc.TLS, yypParser uintptr, yyruleno uint32, yyLookahead in } else { Xsqlite3ExprDelete(tls, (*Parse)(unsafe.Pointer(pParse)).Fdb, *(*uintptr)(unsafe.Pointer(yymsp + libc.UintptrFromInt32(-1)*24 + 8 /* &.minor */))) } - *(*uintptr)(unsafe.Pointer(bp + 96 /* &yylhsminor */)) = *(*uintptr)(unsafe.Pointer(yymsp + 8 /* &.minor */)) + *(*uintptr)(unsafe.Pointer(bp + 80 /* &yylhsminor */)) = *(*uintptr)(unsafe.Pointer(yymsp + 8 /* &.minor */)) } - *(*uintptr)(unsafe.Pointer(yymsp + libc.UintptrFromInt32(-1)*24 + 8 /* &.minor */)) = *(*uintptr)(unsafe.Pointer(bp + 96 /* &yylhsminor */)) + *(*uintptr)(unsafe.Pointer(yymsp + libc.UintptrFromInt32(-1)*24 + 8 /* &.minor */)) = *(*uintptr)(unsafe.Pointer(bp + 80 /* &yylhsminor */)) break case uint32(333): /* filter_over ::= filter_clause */ { - *(*uintptr)(unsafe.Pointer(bp + 96 /* &yylhsminor */)) = Xsqlite3DbMallocZero(tls, (*Parse)(unsafe.Pointer(pParse)).Fdb, uint64(unsafe.Sizeof(Window{}))) - if *(*uintptr)(unsafe.Pointer(bp + 96 /* &yylhsminor */)) != 0 { - (*Window)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp + 96 /* &yylhsminor */)))).FeFrmType = U8(TK_FILTER) - (*Window)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp + 96 /* &yylhsminor */)))).FpFilter = *(*uintptr)(unsafe.Pointer(yymsp + 8 /* &.minor */)) + *(*uintptr)(unsafe.Pointer(bp + 80 /* &yylhsminor */)) = Xsqlite3DbMallocZero(tls, (*Parse)(unsafe.Pointer(pParse)).Fdb, uint64(unsafe.Sizeof(Window{}))) + if *(*uintptr)(unsafe.Pointer(bp + 80 /* &yylhsminor */)) != 0 { + (*Window)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp + 80 /* &yylhsminor */)))).FeFrmType = U8(TK_FILTER) + (*Window)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp + 80 /* &yylhsminor */)))).FpFilter = *(*uintptr)(unsafe.Pointer(yymsp + 8 /* &.minor */)) } else { Xsqlite3ExprDelete(tls, (*Parse)(unsafe.Pointer(pParse)).Fdb, *(*uintptr)(unsafe.Pointer(yymsp + 8 /* &.minor */))) } } - *(*uintptr)(unsafe.Pointer(yymsp + 8 /* &.minor */)) = *(*uintptr)(unsafe.Pointer(bp + 96 /* &yylhsminor */)) + *(*uintptr)(unsafe.Pointer(yymsp + 8 /* &.minor */)) = *(*uintptr)(unsafe.Pointer(bp + 80 /* &yylhsminor */)) break case uint32(334): /* over_clause ::= OVER LP window RP */ { @@ -188488,16 +188488,16 @@ func yy_reduce(tls *libc.TLS, yypParser uintptr, yyruleno uint32, yyLookahead in // The following code executes when a syntax error first occurs. func yy_syntax_error(tls *libc.TLS, yypParser uintptr, yymajor int32, yyminor Token) { /* sqlite3.c:163044:13: */ - bp := tls.Alloc(32) - defer tls.Free(32) - *(*Token)(unsafe.Pointer(bp + 16)) = yyminor + bp := tls.Alloc(24) + defer tls.Free(24) + *(*Token)(unsafe.Pointer(bp + 8)) = yyminor var pParse uintptr = (*YyParser)(unsafe.Pointer(yypParser)).FpParse //*********** Begin %syntax_error code *************************************** _ = yymajor // Silence some compiler warnings - if *(*int8)(unsafe.Pointer((*Token)(unsafe.Pointer(bp + 16 /* &yyminor */)).Fz)) != 0 { - Xsqlite3ErrorMsg(tls, pParse, ts+22654 /* "near \"%T\": synta..." */, libc.VaList(bp, bp+16 /* &yyminor */)) + if *(*int8)(unsafe.Pointer((*Token)(unsafe.Pointer(bp + 8 /* &yyminor */)).Fz)) != 0 { + Xsqlite3ErrorMsg(tls, pParse, ts+22654 /* "near \"%T\": synta..." */, libc.VaList(bp, bp+8 /* &yyminor */)) } else { Xsqlite3ErrorMsg(tls, pParse, ts+22942 /* "incomplete input" */, 0) } @@ -189642,18 +189642,18 @@ func Xsqlite3GetToken(tls *libc.TLS, z uintptr, tokenType uintptr) int32 { /* sq // memory obtained from sqlite3_malloc() and to make *pzErrMsg point to that // error message. func Xsqlite3RunParser(tls *libc.TLS, pParse uintptr, zSql uintptr, pzErrMsg uintptr) int32 { /* sqlite3.c:164392:20: */ - bp := tls.Alloc(2492) - defer tls.Free(2492) + bp := tls.Alloc(2468) + defer tls.Free(2468) var nErr int32 = 0 // Number of errors encountered var pEngine uintptr // The LEMON-generated LALR(1) parser var n int32 = 0 // Length of the next token token - // var tokenType int32 at bp+2488, 4 + // var tokenType int32 at bp+2464, 4 // type of the next token var lastTokenParsed int32 = -1 // type of the previous token var db uintptr = (*Parse)(unsafe.Pointer(pParse)).Fdb // The database connection var mxSqlLen int32 // Max length of an SQL string - // var sEngine YyParser at bp+64, 2424 + // var sEngine YyParser at bp+40, 2424 // Space to hold the Lemon-generated Parser object mxSqlLen = *(*int32)(unsafe.Pointer((db + 128 /* &.aLimit */) + 1*4)) @@ -189663,25 +189663,25 @@ func Xsqlite3RunParser(tls *libc.TLS, pParse uintptr, zSql uintptr, pzErrMsg uin (*Parse)(unsafe.Pointer(pParse)).Frc = SQLITE_OK (*Parse)(unsafe.Pointer(pParse)).FzTail = zSql - pEngine = bp + 64 /* &sEngine */ + pEngine = bp + 40 /* &sEngine */ Xsqlite3ParserInit(tls, pEngine, pParse) (*Parse)(unsafe.Pointer(pParse)).FpParentParse = (*Sqlite3)(unsafe.Pointer(db)).FpParse (*Sqlite3)(unsafe.Pointer(db)).FpParse = pParse for 1 != 0 { - n = Xsqlite3GetToken(tls, zSql, bp+2488 /* &tokenType */) + n = Xsqlite3GetToken(tls, zSql, bp+2464 /* &tokenType */) mxSqlLen = mxSqlLen - (n) if mxSqlLen < 0 { (*Parse)(unsafe.Pointer(pParse)).Frc = SQLITE_TOOBIG break } - if *(*int32)(unsafe.Pointer(bp + 2488 /* tokenType */)) >= TK_WINDOW { + if *(*int32)(unsafe.Pointer(bp + 2464 /* tokenType */)) >= TK_WINDOW { if libc.AtomicLoadNInt32((db+400 /* &.u1 */ /* &.isInterrupted */), 0) != 0 { (*Parse)(unsafe.Pointer(pParse)).Frc = SQLITE_INTERRUPT break } - if *(*int32)(unsafe.Pointer(bp + 2488 /* tokenType */)) == TK_SPACE { + if *(*int32)(unsafe.Pointer(bp + 2464 /* tokenType */)) == TK_SPACE { zSql += uintptr(n) continue } @@ -189689,22 +189689,22 @@ func Xsqlite3RunParser(tls *libc.TLS, pParse uintptr, zSql uintptr, pzErrMsg uin // Upon reaching the end of input, call the parser two more times // with tokens TK_SEMI and 0, in that order. if lastTokenParsed == TK_SEMI { - *(*int32)(unsafe.Pointer(bp + 2488 /* tokenType */)) = 0 + *(*int32)(unsafe.Pointer(bp + 2464 /* tokenType */)) = 0 } else if lastTokenParsed == 0 { break } else { - *(*int32)(unsafe.Pointer(bp + 2488 /* tokenType */)) = TK_SEMI + *(*int32)(unsafe.Pointer(bp + 2464 /* tokenType */)) = TK_SEMI } n = 0 - } else if *(*int32)(unsafe.Pointer(bp + 2488 /* tokenType */)) == TK_WINDOW { + } else if *(*int32)(unsafe.Pointer(bp + 2464 /* tokenType */)) == TK_WINDOW { - *(*int32)(unsafe.Pointer(bp + 2488 /* tokenType */)) = analyzeWindowKeyword(tls, (zSql + 6)) - } else if *(*int32)(unsafe.Pointer(bp + 2488 /* tokenType */)) == TK_OVER { + *(*int32)(unsafe.Pointer(bp + 2464 /* tokenType */)) = analyzeWindowKeyword(tls, (zSql + 6)) + } else if *(*int32)(unsafe.Pointer(bp + 2464 /* tokenType */)) == TK_OVER { - *(*int32)(unsafe.Pointer(bp + 2488 /* tokenType */)) = analyzeOverKeyword(tls, (zSql + 4), lastTokenParsed) - } else if *(*int32)(unsafe.Pointer(bp + 2488 /* tokenType */)) == TK_FILTER { + *(*int32)(unsafe.Pointer(bp + 2464 /* tokenType */)) = analyzeOverKeyword(tls, (zSql + 4), lastTokenParsed) + } else if *(*int32)(unsafe.Pointer(bp + 2464 /* tokenType */)) == TK_FILTER { - *(*int32)(unsafe.Pointer(bp + 2488 /* tokenType */)) = analyzeFilterKeyword(tls, (zSql + 6), lastTokenParsed) + *(*int32)(unsafe.Pointer(bp + 2464 /* tokenType */)) = analyzeFilterKeyword(tls, (zSql + 6), lastTokenParsed) } else { Xsqlite3ErrorMsg(tls, pParse, ts+22959 /* "unrecognized tok..." */, libc.VaList(bp, n, zSql)) break @@ -189712,8 +189712,8 @@ func Xsqlite3RunParser(tls *libc.TLS, pParse uintptr, zSql uintptr, pzErrMsg uin } (*Parse)(unsafe.Pointer(pParse)).FsLastToken.Fz = zSql (*Parse)(unsafe.Pointer(pParse)).FsLastToken.Fn = uint32(n) - Xsqlite3Parser(tls, pEngine, *(*int32)(unsafe.Pointer(bp + 2488 /* tokenType */)), (*Parse)(unsafe.Pointer(pParse)).FsLastToken) - lastTokenParsed = *(*int32)(unsafe.Pointer(bp + 2488 /* tokenType */)) + Xsqlite3Parser(tls, pEngine, *(*int32)(unsafe.Pointer(bp + 2464 /* tokenType */)), (*Parse)(unsafe.Pointer(pParse)).FsLastToken) + lastTokenParsed = *(*int32)(unsafe.Pointer(bp + 2464 /* tokenType */)) zSql += uintptr(n) if (*Parse)(unsafe.Pointer(pParse)).Frc != SQLITE_OK { @@ -189726,13 +189726,13 @@ func Xsqlite3RunParser(tls *libc.TLS, pParse uintptr, zSql uintptr, pzErrMsg uin (*Parse)(unsafe.Pointer(pParse)).Frc = SQLITE_NOMEM } if (((*Parse)(unsafe.Pointer(pParse)).Frc != SQLITE_OK) && ((*Parse)(unsafe.Pointer(pParse)).Frc != SQLITE_DONE)) && ((*Parse)(unsafe.Pointer(pParse)).FzErrMsg == uintptr(0)) { - (*Parse)(unsafe.Pointer(pParse)).FzErrMsg = Xsqlite3MPrintf(tls, db, ts+3630 /* "%s" */, libc.VaList(bp+24, Xsqlite3ErrStr(tls, (*Parse)(unsafe.Pointer(pParse)).Frc))) + (*Parse)(unsafe.Pointer(pParse)).FzErrMsg = Xsqlite3MPrintf(tls, db, ts+3630 /* "%s" */, libc.VaList(bp+16, Xsqlite3ErrStr(tls, (*Parse)(unsafe.Pointer(pParse)).Frc))) } if (*Parse)(unsafe.Pointer(pParse)).FzErrMsg != 0 { *(*uintptr)(unsafe.Pointer(pzErrMsg)) = (*Parse)(unsafe.Pointer(pParse)).FzErrMsg Xsqlite3_log(tls, (*Parse)(unsafe.Pointer(pParse)).Frc, ts+22986, /* "%s in \"%s\"" */ - libc.VaList(bp+40, *(*uintptr)(unsafe.Pointer(pzErrMsg)), (*Parse)(unsafe.Pointer(pParse)).FzTail)) + libc.VaList(bp+24, *(*uintptr)(unsafe.Pointer(pzErrMsg)), (*Parse)(unsafe.Pointer(pParse)).FzTail)) (*Parse)(unsafe.Pointer(pParse)).FzErrMsg = uintptr(0) nErr++ } @@ -191577,8 +191577,8 @@ func Xsqlite3_create_function16(tls *libc.TLS, db uintptr, zFunctionName uintptr // for name resolution but are actually overloaded by the xFindFunction // method of virtual tables. func sqlite3InvalidFunction(tls *libc.TLS, context uintptr, NotUsed int32, NotUsed2 uintptr) { /* sqlite3.c:167136:13: */ - bp := tls.Alloc(16) - defer tls.Free(16) + bp := tls.Alloc(8) + defer tls.Free(8) var zName uintptr = Xsqlite3_user_data(tls, context) var zErr uintptr @@ -191779,8 +191779,8 @@ func Xsqlite3_wal_hook(tls *libc.TLS, db uintptr, xCallback uintptr, pArg uintpt // Checkpoint database zDb. func Xsqlite3_wal_checkpoint_v2(tls *libc.TLS, db uintptr, zDb uintptr, eMode int32, pnLog uintptr, pnCkpt uintptr) int32 { /* sqlite3.c:167449:16: */ - bp := tls.Alloc(16) - defer tls.Free(16) + bp := tls.Alloc(8) + defer tls.Free(8) var rc int32 // Return code var iDb int32 // Schema to checkpoint @@ -192137,8 +192137,8 @@ func Xsqlite3_limit(tls *libc.TLS, db uintptr, limitId int32, newLimit int32) in // message. It is the responsibility of the caller to eventually release // this buffer by calling sqlite3_free(). func Xsqlite3ParseUri(tls *libc.TLS, zDefaultVfs uintptr, zUri uintptr, pFlags uintptr, ppVfs uintptr, pzFile uintptr, pzErrMsg uintptr) int32 { /* sqlite3.c:167922:20: */ - bp := tls.Alloc(88) - defer tls.Free(88) + bp := tls.Alloc(56) + defer tls.Free(56) var rc int32 var flags uint32 @@ -192402,7 +192402,7 @@ __36: if !(mode == 0) { goto __38 } - *(*uintptr)(unsafe.Pointer(pzErrMsg)) = Xsqlite3_mprintf(tls, ts+23924 /* "no such %s mode:..." */, libc.VaList(bp+24, zModeType, zVal)) + *(*uintptr)(unsafe.Pointer(pzErrMsg)) = Xsqlite3_mprintf(tls, ts+23924 /* "no such %s mode:..." */, libc.VaList(bp+16, zModeType, zVal)) rc = SQLITE_ERROR goto parse_uri_out __38: @@ -192411,7 +192411,7 @@ __38: goto __39 } *(*uintptr)(unsafe.Pointer(pzErrMsg)) = Xsqlite3_mprintf(tls, ts+23944, /* "%s mode not allo..." */ - libc.VaList(bp+48, zModeType, zVal)) + libc.VaList(bp+32, zModeType, zVal)) rc = SQLITE_PERM goto parse_uri_out __39: @@ -192453,7 +192453,7 @@ __2: if !(*(*uintptr)(unsafe.Pointer(ppVfs)) == uintptr(0)) { goto __42 } - *(*uintptr)(unsafe.Pointer(pzErrMsg)) = Xsqlite3_mprintf(tls, ts+23968 /* "no such vfs: %s" */, libc.VaList(bp+72, zVfs)) + *(*uintptr)(unsafe.Pointer(pzErrMsg)) = Xsqlite3_mprintf(tls, ts+23968 /* "no such vfs: %s" */, libc.VaList(bp+48, zVfs)) rc = SQLITE_ERROR __42: ; @@ -192508,20 +192508,20 @@ func uriParameter(tls *libc.TLS, zFilename uintptr, zParam uintptr) uintptr { /* // sqlite3_open() and sqlite3_open16(). The database filename "zFilename" // is UTF-8 encoded. func openDatabase(tls *libc.TLS, zFilename uintptr, ppDb uintptr, flags uint32, zVfs uintptr) int32 { /* sqlite3.c:168177:12: */ - bp := tls.Alloc(40) - defer tls.Free(40) - *(*uint32)(unsafe.Pointer(bp + 16)) = flags + bp := tls.Alloc(32) + defer tls.Free(32) + *(*uint32)(unsafe.Pointer(bp + 8)) = flags var db uintptr // Store allocated handle here var rc int32 // Return code var isThreadsafe int32 // True for threadsafe connections - // var zOpen uintptr at bp+24, 8 + // var zOpen uintptr at bp+16, 8 // Filename argument to pass to BtreeOpen() - // var zErrMsg uintptr at bp+32, 8 + // var zErrMsg uintptr at bp+24, 8 // Error message from sqlite3ParseUri() var i int32 - *(*uintptr)(unsafe.Pointer(bp + 24 /* zOpen */)) = uintptr(0) - *(*uintptr)(unsafe.Pointer(bp + 32 /* zErrMsg */)) = uintptr(0) // Loop counter + *(*uintptr)(unsafe.Pointer(bp + 16 /* zOpen */)) = uintptr(0) + *(*uintptr)(unsafe.Pointer(bp + 24 /* zErrMsg */)) = uintptr(0) // Loop counter *(*uintptr)(unsafe.Pointer(ppDb)) = uintptr(0) rc = Xsqlite3_initialize(tls) @@ -192538,13 +192538,13 @@ __1: isThreadsafe = 0 goto __3 __2: - if !((*(*uint32)(unsafe.Pointer(bp + 16 /* flags */)) & uint32(SQLITE_OPEN_NOMUTEX)) != 0) { + if !((*(*uint32)(unsafe.Pointer(bp + 8 /* flags */)) & uint32(SQLITE_OPEN_NOMUTEX)) != 0) { goto __4 } isThreadsafe = 0 goto __5 __4: - if !((*(*uint32)(unsafe.Pointer(bp + 16 /* flags */)) & uint32(SQLITE_OPEN_FULLMUTEX)) != 0) { + if !((*(*uint32)(unsafe.Pointer(bp + 8 /* flags */)) & uint32(SQLITE_OPEN_FULLMUTEX)) != 0) { goto __6 } isThreadsafe = 1 @@ -192558,16 +192558,16 @@ __5: __3: ; - if !((*(*uint32)(unsafe.Pointer(bp + 16 /* flags */)) & uint32(SQLITE_OPEN_PRIVATECACHE)) != 0) { + if !((*(*uint32)(unsafe.Pointer(bp + 8 /* flags */)) & uint32(SQLITE_OPEN_PRIVATECACHE)) != 0) { goto __8 } - *(*uint32)(unsafe.Pointer(bp + 16 /* flags */)) &= libc.Uint32FromInt32(libc.CplInt32(SQLITE_OPEN_SHAREDCACHE)) + *(*uint32)(unsafe.Pointer(bp + 8 /* flags */)) &= libc.Uint32FromInt32(libc.CplInt32(SQLITE_OPEN_SHAREDCACHE)) goto __9 __8: if !(Xsqlite3Config.FsharedCacheEnabled != 0) { goto __10 } - *(*uint32)(unsafe.Pointer(bp + 16 /* flags */)) |= uint32(SQLITE_OPEN_SHAREDCACHE) + *(*uint32)(unsafe.Pointer(bp + 8 /* flags */)) |= uint32(SQLITE_OPEN_SHAREDCACHE) __10: ; __9: @@ -192581,7 +192581,7 @@ __9: // SQLITE_OPEN_READWRITE, SQLITE_OPEN_CREATE, SQLITE_OPEN_SHAREDCACHE, // SQLITE_OPEN_PRIVATECACHE, and some reserved bits. Silently mask // off all other flags. - *(*uint32)(unsafe.Pointer(bp + 16 /* flags */)) &= libc.Uint32FromInt32(libc.CplInt32((((((((((((SQLITE_OPEN_DELETEONCLOSE | SQLITE_OPEN_EXCLUSIVE) | SQLITE_OPEN_MAIN_DB) | SQLITE_OPEN_TEMP_DB) | SQLITE_OPEN_TRANSIENT_DB) | SQLITE_OPEN_MAIN_JOURNAL) | SQLITE_OPEN_TEMP_JOURNAL) | SQLITE_OPEN_SUBJOURNAL) | SQLITE_OPEN_SUPER_JOURNAL) | SQLITE_OPEN_NOMUTEX) | SQLITE_OPEN_FULLMUTEX) | SQLITE_OPEN_WAL))) + *(*uint32)(unsafe.Pointer(bp + 8 /* flags */)) &= libc.Uint32FromInt32(libc.CplInt32((((((((((((SQLITE_OPEN_DELETEONCLOSE | SQLITE_OPEN_EXCLUSIVE) | SQLITE_OPEN_MAIN_DB) | SQLITE_OPEN_TEMP_DB) | SQLITE_OPEN_TRANSIENT_DB) | SQLITE_OPEN_MAIN_JOURNAL) | SQLITE_OPEN_TEMP_JOURNAL) | SQLITE_OPEN_SUBJOURNAL) | SQLITE_OPEN_SUPER_JOURNAL) | SQLITE_OPEN_NOMUTEX) | SQLITE_OPEN_FULLMUTEX) | SQLITE_OPEN_WAL))) // Allocate the sqlite data structure db = Xsqlite3MallocZero(tls, uint64(unsafe.Sizeof(Sqlite3{}))) @@ -192691,18 +192691,18 @@ __15: // 1: SQLITE_OPEN_READONLY // 2: SQLITE_OPEN_READWRITE // 6: SQLITE_OPEN_READWRITE | SQLITE_OPEN_CREATE - (*Sqlite3)(unsafe.Pointer(db)).FopenFlags = *(*uint32)(unsafe.Pointer(bp + 16 /* flags */)) + (*Sqlite3)(unsafe.Pointer(db)).FopenFlags = *(*uint32)(unsafe.Pointer(bp + 8 /* flags */)) // READONLY // READWRITE // READWRITE | CREATE - if !(((int32(1) << (*(*uint32)(unsafe.Pointer(bp + 16 /* flags */)) & uint32(7))) & 0x46) == 0) { + if !(((int32(1) << (*(*uint32)(unsafe.Pointer(bp + 8 /* flags */)) & uint32(7))) & 0x46) == 0) { goto __16 } rc = Xsqlite3MisuseError(tls, 168382) // IMP: R-18321-05872 goto __17 __16: - rc = Xsqlite3ParseUri(tls, zVfs, zFilename, bp+16 /* &flags */, (db /* &.pVfs */), bp+24 /* &zOpen */, bp+32 /* &zErrMsg */) + rc = Xsqlite3ParseUri(tls, zVfs, zFilename, bp+8 /* &flags */, (db /* &.pVfs */), bp+16 /* &zOpen */, bp+24 /* &zErrMsg */) __17: ; if !(rc != SQLITE_OK) { @@ -192715,19 +192715,19 @@ __17: __19: ; Xsqlite3ErrorWithMsg(tls, db, rc, func() uintptr { - if *(*uintptr)(unsafe.Pointer(bp + 32 /* zErrMsg */)) != 0 { + if *(*uintptr)(unsafe.Pointer(bp + 24 /* zErrMsg */)) != 0 { return ts + 3630 /* "%s" */ } return uintptr(0) - }(), libc.VaList(bp, *(*uintptr)(unsafe.Pointer(bp + 32 /* zErrMsg */)))) - Xsqlite3_free(tls, *(*uintptr)(unsafe.Pointer(bp + 32 /* zErrMsg */))) + }(), libc.VaList(bp, *(*uintptr)(unsafe.Pointer(bp + 24 /* zErrMsg */)))) + Xsqlite3_free(tls, *(*uintptr)(unsafe.Pointer(bp + 24 /* zErrMsg */))) goto opendb_out __18: ; // Open the backend database driver - rc = Xsqlite3BtreeOpen(tls, (*Sqlite3)(unsafe.Pointer(db)).FpVfs, *(*uintptr)(unsafe.Pointer(bp + 24 /* zOpen */)), db, ((*Sqlite3)(unsafe.Pointer(db)).FaDb + 8 /* &.pBt */), 0, - (int32(*(*uint32)(unsafe.Pointer(bp + 16 /* flags */)) | uint32(SQLITE_OPEN_MAIN_DB)))) + rc = Xsqlite3BtreeOpen(tls, (*Sqlite3)(unsafe.Pointer(db)).FpVfs, *(*uintptr)(unsafe.Pointer(bp + 16 /* zOpen */)), db, ((*Sqlite3)(unsafe.Pointer(db)).FaDb + 8 /* &.pBt */), 0, + (int32(*(*uint32)(unsafe.Pointer(bp + 8 /* flags */)) | uint32(SQLITE_OPEN_MAIN_DB)))) if !(rc != SQLITE_OK) { goto __20 } @@ -192848,7 +192848,7 @@ __33: __32: ; *(*uintptr)(unsafe.Pointer(ppDb)) = db - Xsqlite3_free_filename(tls, *(*uintptr)(unsafe.Pointer(bp + 24 /* zOpen */))) + Xsqlite3_free_filename(tls, *(*uintptr)(unsafe.Pointer(bp + 16 /* zOpen */))) return (rc & 0xff) } @@ -192974,8 +192974,8 @@ func Xsqlite3_get_autocommit(tls *libc.TLS, db uintptr) int32 { /* sqlite3.c:168 // 2. Invoke sqlite3_log() to provide the source code location where // a low-level error is first detected. func Xsqlite3ReportError(tls *libc.TLS, iErr int32, lineno int32, zType uintptr) int32 { /* sqlite3.c:168706:20: */ - bp := tls.Alloc(32) - defer tls.Free(32) + bp := tls.Alloc(24) + defer tls.Free(24) Xsqlite3_log(tls, iErr, ts+24018, /* "%s at line %d of..." */ libc.VaList(bp, zType, lineno, (uintptr(20)+Xsqlite3_sourceid(tls)))) @@ -193008,11 +193008,11 @@ func Xsqlite3_thread_cleanup(tls *libc.TLS) { /* sqlite3.c:168750:17: */ // Return meta information about a specific column of a database table. // See comment in sqlite3.h (sqlite.h.in) for details. func Xsqlite3_table_column_metadata(tls *libc.TLS, db uintptr, zDbName uintptr, zTableName uintptr, zColumnName uintptr, pzDataType uintptr, pzCollSeq uintptr, pNotNull uintptr, pPrimaryKey uintptr, pAutoinc uintptr) int32 { /* sqlite3.c:168758:16: */ - bp := tls.Alloc(48) - defer tls.Free(48) + bp := tls.Alloc(32) + defer tls.Free(32) var rc int32 - // var zErrMsg uintptr at bp+40, 8 + // var zErrMsg uintptr at bp+24, 8 var pTab uintptr var pCol uintptr @@ -193022,7 +193022,7 @@ func Xsqlite3_table_column_metadata(tls *libc.TLS, db uintptr, zDbName uintptr, var notnull int32 var primarykey int32 var autoinc int32 - *(*uintptr)(unsafe.Pointer(bp + 40 /* zErrMsg */)) = uintptr(0) + *(*uintptr)(unsafe.Pointer(bp + 24 /* zErrMsg */)) = uintptr(0) pTab = uintptr(0) pCol = uintptr(0) iCol = 0 @@ -193035,7 +193035,7 @@ func Xsqlite3_table_column_metadata(tls *libc.TLS, db uintptr, zDbName uintptr, // Ensure the database schema has been loaded Xsqlite3_mutex_enter(tls, (*Sqlite3)(unsafe.Pointer(db)).Fmutex) Xsqlite3BtreeEnterAll(tls, db) - rc = Xsqlite3Init(tls, db, bp+40 /* &zErrMsg */) + rc = Xsqlite3Init(tls, db, bp+24 /* &zErrMsg */) if !(SQLITE_OK != rc) { goto __1 } @@ -193172,19 +193172,19 @@ __19: if !((SQLITE_OK == rc) && !(pTab != 0)) { goto __20 } - Xsqlite3DbFree(tls, db, *(*uintptr)(unsafe.Pointer(bp + 40 /* zErrMsg */))) - *(*uintptr)(unsafe.Pointer(bp + 40 /* zErrMsg */)) = Xsqlite3MPrintf(tls, db, ts+24087 /* "no such table co..." */, libc.VaList(bp, zTableName, + Xsqlite3DbFree(tls, db, *(*uintptr)(unsafe.Pointer(bp + 24 /* zErrMsg */))) + *(*uintptr)(unsafe.Pointer(bp + 24 /* zErrMsg */)) = Xsqlite3MPrintf(tls, db, ts+24087 /* "no such table co..." */, libc.VaList(bp, zTableName, zColumnName)) rc = SQLITE_ERROR __20: ; Xsqlite3ErrorWithMsg(tls, db, rc, func() uintptr { - if *(*uintptr)(unsafe.Pointer(bp + 40 /* zErrMsg */)) != 0 { + if *(*uintptr)(unsafe.Pointer(bp + 24 /* zErrMsg */)) != 0 { return ts + 3630 /* "%s" */ } return uintptr(0) - }(), libc.VaList(bp+24, *(*uintptr)(unsafe.Pointer(bp + 40 /* zErrMsg */)))) - Xsqlite3DbFree(tls, db, *(*uintptr)(unsafe.Pointer(bp + 40 /* zErrMsg */))) + }(), libc.VaList(bp+16, *(*uintptr)(unsafe.Pointer(bp + 24 /* zErrMsg */)))) + Xsqlite3DbFree(tls, db, *(*uintptr)(unsafe.Pointer(bp + 24 /* zErrMsg */))) rc = Xsqlite3ApiExit(tls, db, rc) Xsqlite3_mutex_leave(tls, (*Sqlite3)(unsafe.Pointer(db)).Fmutex) return rc @@ -196284,8 +196284,8 @@ func jsonLookupAppend(tls *libc.TLS, pParse uintptr, zPath uintptr, pApnd uintpt // Return the text of a syntax error message on a JSON path. Space is // obtained from sqlite3_malloc(). func jsonPathSyntaxError(tls *libc.TLS, zErr uintptr) uintptr { /* sqlite3.c:190925:13: */ - bp := tls.Alloc(16) - defer tls.Free(16) + bp := tls.Alloc(8) + defer tls.Free(8) return Xsqlite3_mprintf(tls, ts+24224 /* "JSON path error ..." */, libc.VaList(bp, zErr)) } @@ -196351,8 +196351,8 @@ __5: // Report the wrong number of arguments for json_insert(), json_replace() // or json_set(). func jsonWrongNumArgs(tls *libc.TLS, pCtx uintptr, zFuncName uintptr) { /* sqlite3.c:190976:13: */ - bp := tls.Alloc(16) - defer tls.Free(16) + bp := tls.Alloc(8) + defer tls.Free(8) var zMsg uintptr = Xsqlite3_mprintf(tls, ts+24250, /* "json_%s() needs ..." */ libc.VaList(bp, zFuncName)) @@ -197258,8 +197258,8 @@ func jsonEachNext(tls *libc.TLS, cur uintptr) int32 { /* sqlite3.c:191797:12: */ // Append the name of the path for element i to pStr func jsonEachComputePath(tls *libc.TLS, p uintptr, pStr uintptr, i U32) { /* sqlite3.c:191838:13: */ - bp := tls.Alloc(40) - defer tls.Free(40) + bp := tls.Alloc(24) + defer tls.Free(24) var pNode uintptr var pUp uintptr @@ -197280,14 +197280,14 @@ func jsonEachComputePath(tls *libc.TLS, p uintptr, pStr uintptr, i U32) { /* sql pNode -= 16 } - jsonPrintf(tls, (int32((*JsonNode)(unsafe.Pointer(pNode)).Fn + U32(1))), pStr, ts+24483 /* ".%.*s" */, libc.VaList(bp+16, ((*JsonNode)(unsafe.Pointer(pNode)).Fn-U32(2)), (*(*uintptr)(unsafe.Pointer(pNode + 8 /* &.u */))+uintptr(1)))) + jsonPrintf(tls, (int32((*JsonNode)(unsafe.Pointer(pNode)).Fn + U32(1))), pStr, ts+24483 /* ".%.*s" */, libc.VaList(bp+8, ((*JsonNode)(unsafe.Pointer(pNode)).Fn-U32(2)), (*(*uintptr)(unsafe.Pointer(pNode + 8 /* &.u */))+uintptr(1)))) } } // Return the value of a column func jsonEachColumn(tls *libc.TLS, cur uintptr, ctx uintptr, i int32) int32 { /* sqlite3.c:191865:12: */ - bp := tls.Alloc(312) - defer tls.Free(312) + bp := tls.Alloc(296) + defer tls.Free(296) var p uintptr = cur var pThis uintptr = ((*JsonEachCursor)(unsafe.Pointer(p)).FsParse.FaNode + uintptr((*JsonEachCursor)(unsafe.Pointer(p)).Fi)*16) @@ -197361,35 +197361,35 @@ func jsonEachColumn(tls *libc.TLS, cur uintptr, ctx uintptr, i int32) int32 { /* } case JEACH_FULLKEY: { - // var x JsonString at bp+40, 136 + // var x JsonString at bp+24, 136 - jsonInit(tls, bp+40 /* &x */, ctx) + jsonInit(tls, bp+24 /* &x */, ctx) if (*JsonEachCursor)(unsafe.Pointer(p)).FbRecursive != 0 { - jsonEachComputePath(tls, p, bp+40 /* &x */, (*JsonEachCursor)(unsafe.Pointer(p)).Fi) + jsonEachComputePath(tls, p, bp+24 /* &x */, (*JsonEachCursor)(unsafe.Pointer(p)).Fi) } else { if (*JsonEachCursor)(unsafe.Pointer(p)).FzRoot != 0 { - jsonAppendRaw(tls, bp+40 /* &x */, (*JsonEachCursor)(unsafe.Pointer(p)).FzRoot, uint32(int32(libc.Xstrlen(tls, (*JsonEachCursor)(unsafe.Pointer(p)).FzRoot)))) + jsonAppendRaw(tls, bp+24 /* &x */, (*JsonEachCursor)(unsafe.Pointer(p)).FzRoot, uint32(int32(libc.Xstrlen(tls, (*JsonEachCursor)(unsafe.Pointer(p)).FzRoot)))) } else { - jsonAppendChar(tls, bp+40 /* &x */, int8('$')) + jsonAppendChar(tls, bp+24 /* &x */, int8('$')) } if int32((*JsonEachCursor)(unsafe.Pointer(p)).FeType) == JSON_ARRAY { - jsonPrintf(tls, 30, bp+40 /* &x */, ts+24478 /* "[%d]" */, libc.VaList(bp, (*JsonEachCursor)(unsafe.Pointer(p)).FiRowid)) + jsonPrintf(tls, 30, bp+24 /* &x */, ts+24478 /* "[%d]" */, libc.VaList(bp, (*JsonEachCursor)(unsafe.Pointer(p)).FiRowid)) } else if int32((*JsonEachCursor)(unsafe.Pointer(p)).FeType) == JSON_OBJECT { - jsonPrintf(tls, int32((*JsonNode)(unsafe.Pointer(pThis)).Fn), bp+40 /* &x */, ts+24483 /* ".%.*s" */, libc.VaList(bp+16, ((*JsonNode)(unsafe.Pointer(pThis)).Fn-U32(2)), (*(*uintptr)(unsafe.Pointer(pThis + 8 /* &.u */))+uintptr(1)))) + jsonPrintf(tls, int32((*JsonNode)(unsafe.Pointer(pThis)).Fn), bp+24 /* &x */, ts+24483 /* ".%.*s" */, libc.VaList(bp+8, ((*JsonNode)(unsafe.Pointer(pThis)).Fn-U32(2)), (*(*uintptr)(unsafe.Pointer(pThis + 8 /* &.u */))+uintptr(1)))) } } - jsonResult(tls, bp+40 /* &x */) + jsonResult(tls, bp+24 /* &x */) break } case JEACH_PATH: { if (*JsonEachCursor)(unsafe.Pointer(p)).FbRecursive != 0 { - // var x JsonString at bp+176, 136 + // var x JsonString at bp+160, 136 - jsonInit(tls, bp+176 /* &x */, ctx) - jsonEachComputePath(tls, p, bp+176 /* &x */, *(*U32)(unsafe.Pointer((*JsonEachCursor)(unsafe.Pointer(p)).FsParse.FaUp + uintptr((*JsonEachCursor)(unsafe.Pointer(p)).Fi)*4))) - jsonResult(tls, bp+176 /* &x */) + jsonInit(tls, bp+160 /* &x */, ctx) + jsonEachComputePath(tls, p, bp+160 /* &x */, *(*U32)(unsafe.Pointer((*JsonEachCursor)(unsafe.Pointer(p)).FsParse.FaUp + uintptr((*JsonEachCursor)(unsafe.Pointer(p)).Fi)*4))) + jsonResult(tls, bp+160 /* &x */) break } @@ -198019,8 +198019,8 @@ func nodeInParentChain(tls *libc.TLS, pNode uintptr, pParent uintptr) int32 { /* // Obtain a reference to an r-tree node. func nodeAcquire(tls *libc.TLS, pRtree uintptr, iNode I64, pParent uintptr, ppNode uintptr) int32 { /* sqlite3.c:192953:12: */ - bp := tls.Alloc(16) - defer tls.Free(16) + bp := tls.Alloc(8) + defer tls.Free(8) var rc int32 = SQLITE_OK var pNode uintptr = uintptr(0) @@ -198299,8 +198299,8 @@ func rtreeDisconnect(tls *libc.TLS, pVtab uintptr) int32 { /* sqlite3.c:193300:1 // Rtree virtual table module xDestroy method. func rtreeDestroy(tls *libc.TLS, pVtab uintptr) int32 { /* sqlite3.c:193308:12: */ - bp := tls.Alloc(56) - defer tls.Free(56) + bp := tls.Alloc(48) + defer tls.Free(48) var pRtree uintptr = pVtab var rc int32 @@ -199236,8 +199236,8 @@ func rtreeFilter(tls *libc.TLS, pVtabCursor uintptr, idxNum int32, idxStr uintpt // to which the constraint applies. The leftmost coordinate column // is 'a', the second from the left 'b' etc. func rtreeBestIndex(tls *libc.TLS, tab uintptr, pIdxInfo uintptr) int32 { /* sqlite3.c:194235:12: */ - bp := tls.Alloc(57) - defer tls.Free(57) + bp := tls.Alloc(49) + defer tls.Free(49) var pRtree uintptr = tab var rc int32 = SQLITE_OK @@ -199246,9 +199246,9 @@ func rtreeBestIndex(tls *libc.TLS, tab uintptr, pIdxInfo uintptr) int32 { /* sql var nRow I64 // Estimated rows returned by this scan var iIdx int32 = 0 - // var zIdxStr [41]int8 at bp+16, 41 + // var zIdxStr [41]int8 at bp+8, 41 - libc.Xmemset(tls, bp+16 /* &zIdxStr[0] */, 0, uint64(unsafe.Sizeof([41]int8{}))) + libc.Xmemset(tls, bp+8 /* &zIdxStr[0] */, 0, uint64(unsafe.Sizeof([41]int8{}))) // Check if there exists a MATCH constraint - even an unusable one. If there // is, do not consider the lookup-by-rowid plan as using such a plan would @@ -199320,8 +199320,8 @@ func rtreeBestIndex(tls *libc.TLS, tab uintptr, pIdxInfo uintptr) int32 { /* sql break } if op != 0 { - *(*int8)(unsafe.Pointer(bp + 16 /* &zIdxStr[0] */ + uintptr(libc.PostIncInt32(&iIdx, 1)))) = int8(op) - *(*int8)(unsafe.Pointer(bp + 16 /* &zIdxStr[0] */ + uintptr(libc.PostIncInt32(&iIdx, 1)))) = (int8(((*sqlite3_index_constraint)(unsafe.Pointer(p)).FiColumn - 1) + '0')) + *(*int8)(unsafe.Pointer(bp + 8 /* &zIdxStr[0] */ + uintptr(libc.PostIncInt32(&iIdx, 1)))) = int8(op) + *(*int8)(unsafe.Pointer(bp + 8 /* &zIdxStr[0] */ + uintptr(libc.PostIncInt32(&iIdx, 1)))) = (int8(((*sqlite3_index_constraint)(unsafe.Pointer(p)).FiColumn - 1) + '0')) (*sqlite3_index_constraint_usage)(unsafe.Pointer((*Sqlite3_index_info)(unsafe.Pointer(pIdxInfo)).FaConstraintUsage + uintptr(ii)*8)).FargvIndex = (iIdx / 2) (*sqlite3_index_constraint_usage)(unsafe.Pointer((*Sqlite3_index_info)(unsafe.Pointer(pIdxInfo)).FaConstraintUsage + uintptr(ii)*8)).Fomit = uint8(1) } @@ -199330,7 +199330,7 @@ func rtreeBestIndex(tls *libc.TLS, tab uintptr, pIdxInfo uintptr) int32 { /* sql (*Sqlite3_index_info)(unsafe.Pointer(pIdxInfo)).FidxNum = 2 (*Sqlite3_index_info)(unsafe.Pointer(pIdxInfo)).FneedToFreeIdxStr = 1 - if (iIdx > 0) && (uintptr(0) == (libc.AssignPtrUintptr(pIdxInfo+48 /* &.idxStr */, Xsqlite3_mprintf(tls, ts+3630 /* "%s" */, libc.VaList(bp, bp+16 /* &zIdxStr[0] */))))) { + if (iIdx > 0) && (uintptr(0) == (libc.AssignPtrUintptr(pIdxInfo+48 /* &.idxStr */, Xsqlite3_mprintf(tls, ts+3630 /* "%s" */, libc.VaList(bp, bp+8 /* &zIdxStr[0] */))))) { return SQLITE_NOMEM } @@ -200583,16 +200583,16 @@ func rtreeValueUp(tls *libc.TLS, v uintptr) RtreeValue { /* sqlite3.c:195393:19: // // If an OOM occurs, SQLITE_NOMEM is returned instead of SQLITE_CONSTRAINT. func rtreeConstraintError(tls *libc.TLS, pRtree uintptr, iCol int32) int32 { /* sqlite3.c:195416:12: */ - bp := tls.Alloc(88) - defer tls.Free(88) + bp := tls.Alloc(64) + defer tls.Free(64) - *(*uintptr)(unsafe.Pointer(bp + 80 /* pStmt */)) = uintptr(0) + *(*uintptr)(unsafe.Pointer(bp + 56 /* pStmt */)) = uintptr(0) var zSql uintptr var rc int32 zSql = Xsqlite3_mprintf(tls, ts+24803 /* "SELECT * FROM %Q..." */, libc.VaList(bp, (*Rtree)(unsafe.Pointer(pRtree)).FzDb, (*Rtree)(unsafe.Pointer(pRtree)).FzName)) if zSql != 0 { - rc = Xsqlite3_prepare_v2(tls, (*Rtree)(unsafe.Pointer(pRtree)).Fdb, zSql, -1, bp+80 /* &pStmt */, uintptr(0)) + rc = Xsqlite3_prepare_v2(tls, (*Rtree)(unsafe.Pointer(pRtree)).Fdb, zSql, -1, bp+56 /* &pStmt */, uintptr(0)) } else { rc = SQLITE_NOMEM } @@ -200600,18 +200600,18 @@ func rtreeConstraintError(tls *libc.TLS, pRtree uintptr, iCol int32) int32 { /* if rc == SQLITE_OK { if iCol == 0 { - var zCol uintptr = Xsqlite3_column_name(tls, *(*uintptr)(unsafe.Pointer(bp + 80 /* pStmt */)), 0) + var zCol uintptr = Xsqlite3_column_name(tls, *(*uintptr)(unsafe.Pointer(bp + 56 /* pStmt */)), 0) (*Rtree)(unsafe.Pointer(pRtree)).Fbase.FzErrMsg = Xsqlite3_mprintf(tls, - ts+24823 /* "UNIQUE constrain..." */, libc.VaList(bp+24, (*Rtree)(unsafe.Pointer(pRtree)).FzName, zCol)) + ts+24823 /* "UNIQUE constrain..." */, libc.VaList(bp+16, (*Rtree)(unsafe.Pointer(pRtree)).FzName, zCol)) } else { - var zCol1 uintptr = Xsqlite3_column_name(tls, *(*uintptr)(unsafe.Pointer(bp + 80 /* pStmt */)), iCol) - var zCol2 uintptr = Xsqlite3_column_name(tls, *(*uintptr)(unsafe.Pointer(bp + 80 /* pStmt */)), (iCol + 1)) + var zCol1 uintptr = Xsqlite3_column_name(tls, *(*uintptr)(unsafe.Pointer(bp + 56 /* pStmt */)), iCol) + var zCol2 uintptr = Xsqlite3_column_name(tls, *(*uintptr)(unsafe.Pointer(bp + 56 /* pStmt */)), (iCol + 1)) (*Rtree)(unsafe.Pointer(pRtree)).Fbase.FzErrMsg = Xsqlite3_mprintf(tls, - ts+24855 /* "rtree constraint..." */, libc.VaList(bp+48, (*Rtree)(unsafe.Pointer(pRtree)).FzName, zCol1, zCol2)) + ts+24855 /* "rtree constraint..." */, libc.VaList(bp+32, (*Rtree)(unsafe.Pointer(pRtree)).FzName, zCol1, zCol2)) } } - Xsqlite3_finalize(tls, *(*uintptr)(unsafe.Pointer(bp + 80 /* pStmt */))) + Xsqlite3_finalize(tls, *(*uintptr)(unsafe.Pointer(bp + 56 /* pStmt */))) return func() int32 { if rc == SQLITE_OK { return SQLITE_CONSTRAINT @@ -200868,8 +200868,8 @@ func rtreeEndTransaction(tls *libc.TLS, pVtab uintptr) int32 { /* sqlite3.c:1956 // The xRename method for rtree module virtual tables. func rtreeRename(tls *libc.TLS, pVtab uintptr, zNewName uintptr) int32 { /* sqlite3.c:195623:12: */ - bp := tls.Alloc(80) - defer tls.Free(80) + bp := tls.Alloc(72) + defer tls.Free(72) var pRtree uintptr = pVtab var rc int32 = SQLITE_NOMEM @@ -200910,12 +200910,12 @@ func rtreeSavepoint(tls *libc.TLS, pVtab uintptr, iSavepoint int32) int32 { /* s // of the number of rows in the virtual table. If possible, this is based // on sqlite_stat1 data. Otherwise, use RTREE_DEFAULT_ROWEST. func rtreeQueryStat1(tls *libc.TLS, db uintptr, pRtree uintptr) int32 { /* sqlite3.c:195671:12: */ - bp := tls.Alloc(32) - defer tls.Free(32) + bp := tls.Alloc(24) + defer tls.Free(24) var zFmt uintptr = ts + 25037 /* "SELECT stat FROM..." */ var zSql uintptr - // var p uintptr at bp+24, 8 + // var p uintptr at bp+16, 8 var rc int32 var nRow I64 = int64(0) @@ -200933,12 +200933,12 @@ func rtreeQueryStat1(tls *libc.TLS, db uintptr, pRtree uintptr) int32 { /* sqlit if zSql == uintptr(0) { rc = SQLITE_NOMEM } else { - rc = Xsqlite3_prepare_v2(tls, db, zSql, -1, bp+24 /* &p */, uintptr(0)) + rc = Xsqlite3_prepare_v2(tls, db, zSql, -1, bp+16 /* &p */, uintptr(0)) if rc == SQLITE_OK { - if Xsqlite3_step(tls, *(*uintptr)(unsafe.Pointer(bp + 24 /* p */))) == SQLITE_ROW { - nRow = Xsqlite3_column_int64(tls, *(*uintptr)(unsafe.Pointer(bp + 24 /* p */)), 0) + if Xsqlite3_step(tls, *(*uintptr)(unsafe.Pointer(bp + 16 /* p */))) == SQLITE_ROW { + nRow = Xsqlite3_column_int64(tls, *(*uintptr)(unsafe.Pointer(bp + 16 /* p */)), 0) } - rc = Xsqlite3_finalize(tls, *(*uintptr)(unsafe.Pointer(bp + 24 /* p */))) + rc = Xsqlite3_finalize(tls, *(*uintptr)(unsafe.Pointer(bp + 16 /* p */))) } else if rc != SQLITE_NOMEM { rc = SQLITE_OK } @@ -201002,11 +201002,11 @@ var rtreeModule = Sqlite3_module{ } /* sqlite3.c:195726:23 */ func rtreeSqlInit(tls *libc.TLS, pRtree uintptr, db uintptr, zDb uintptr, zPrefix uintptr, isCreate int32) int32 { /* sqlite3.c:195753:12: */ - bp := tls.Alloc(312) - defer tls.Free(312) + bp := tls.Alloc(232) + defer tls.Free(232) var rc int32 = SQLITE_OK - // var appStmt [8]uintptr at bp+248, 64 + // var appStmt [8]uintptr at bp+168, 64 var i int32 var f int32 = (SQLITE_PREPARE_PERSISTENT | SQLITE_PREPARE_NO_VTAB) @@ -201021,17 +201021,17 @@ func rtreeSqlInit(tls *libc.TLS, pRtree uintptr, db uintptr, zDb uintptr, zPrefi ts+25098, /* "CREATE TABLE \"%w..." */ libc.VaList(bp, zDb, zPrefix)) for ii = 0; ii < int32((*Rtree)(unsafe.Pointer(pRtree)).FnAux); ii++ { - Xsqlite3_str_appendf(tls, p, ts+25160 /* ",a%d" */, libc.VaList(bp+24, ii)) + Xsqlite3_str_appendf(tls, p, ts+25160 /* ",a%d" */, libc.VaList(bp+16, ii)) } Xsqlite3_str_appendf(tls, p, ts+25165, /* ");CREATE TABLE \"..." */ - libc.VaList(bp+40, zDb, zPrefix)) + libc.VaList(bp+24, zDb, zPrefix)) Xsqlite3_str_appendf(tls, p, ts+25229, /* "CREATE TABLE \"%w..." */ - libc.VaList(bp+64, zDb, zPrefix)) + libc.VaList(bp+40, zDb, zPrefix)) Xsqlite3_str_appendf(tls, p, ts+25299, /* "INSERT INTO \"%w\"..." */ - libc.VaList(bp+88, zDb, zPrefix, (*Rtree)(unsafe.Pointer(pRtree)).FiNodeSize)) + libc.VaList(bp+56, zDb, zPrefix, (*Rtree)(unsafe.Pointer(pRtree)).FiNodeSize)) zCreate = Xsqlite3_str_finish(tls, p) if !(zCreate != 0) { return SQLITE_NOMEM @@ -201043,14 +201043,14 @@ func rtreeSqlInit(tls *libc.TLS, pRtree uintptr, db uintptr, zDb uintptr, zPrefi } } - *(*uintptr)(unsafe.Pointer(bp + 248 /* &appStmt[0] */)) = (pRtree + 120 /* &.pWriteNode */) - *(*uintptr)(unsafe.Pointer(bp + 248 /* &appStmt[0] */ + 1*8)) = (pRtree + 128 /* &.pDeleteNode */) - *(*uintptr)(unsafe.Pointer(bp + 248 /* &appStmt[0] */ + 2*8)) = (pRtree + 136 /* &.pReadRowid */) - *(*uintptr)(unsafe.Pointer(bp + 248 /* &appStmt[0] */ + 3*8)) = (pRtree + 144 /* &.pWriteRowid */) - *(*uintptr)(unsafe.Pointer(bp + 248 /* &appStmt[0] */ + 4*8)) = (pRtree + 152 /* &.pDeleteRowid */) - *(*uintptr)(unsafe.Pointer(bp + 248 /* &appStmt[0] */ + 5*8)) = (pRtree + 160 /* &.pReadParent */) - *(*uintptr)(unsafe.Pointer(bp + 248 /* &appStmt[0] */ + 6*8)) = (pRtree + 168 /* &.pWriteParent */) - *(*uintptr)(unsafe.Pointer(bp + 248 /* &appStmt[0] */ + 7*8)) = (pRtree + 176 /* &.pDeleteParent */) + *(*uintptr)(unsafe.Pointer(bp + 168 /* &appStmt[0] */)) = (pRtree + 120 /* &.pWriteNode */) + *(*uintptr)(unsafe.Pointer(bp + 168 /* &appStmt[0] */ + 1*8)) = (pRtree + 128 /* &.pDeleteNode */) + *(*uintptr)(unsafe.Pointer(bp + 168 /* &appStmt[0] */ + 2*8)) = (pRtree + 136 /* &.pReadRowid */) + *(*uintptr)(unsafe.Pointer(bp + 168 /* &appStmt[0] */ + 3*8)) = (pRtree + 144 /* &.pWriteRowid */) + *(*uintptr)(unsafe.Pointer(bp + 168 /* &appStmt[0] */ + 4*8)) = (pRtree + 152 /* &.pDeleteRowid */) + *(*uintptr)(unsafe.Pointer(bp + 168 /* &appStmt[0] */ + 5*8)) = (pRtree + 160 /* &.pReadParent */) + *(*uintptr)(unsafe.Pointer(bp + 168 /* &appStmt[0] */ + 6*8)) = (pRtree + 168 /* &.pWriteParent */) + *(*uintptr)(unsafe.Pointer(bp + 168 /* &appStmt[0] */ + 7*8)) = (pRtree + 176 /* &.pDeleteParent */) rc = rtreeQueryStat1(tls, db, pRtree) for i = 0; (i < N_STATEMENT) && (rc == SQLITE_OK); i++ { @@ -201063,9 +201063,9 @@ func rtreeSqlInit(tls *libc.TLS, pRtree uintptr, db uintptr, zDb uintptr, zPrefi // if there are auxiliary columns zFormat = ts + 25348 /* "INSERT INTO\"%w\"...." */ } - zSql = Xsqlite3_mprintf(tls, zFormat, libc.VaList(bp+120, zDb, zPrefix)) + zSql = Xsqlite3_mprintf(tls, zFormat, libc.VaList(bp+80, zDb, zPrefix)) if zSql != 0 { - rc = Xsqlite3_prepare_v3(tls, db, zSql, -1, uint32(f), *(*uintptr)(unsafe.Pointer(bp + 248 /* &appStmt[0] */ + uintptr(i)*8)), uintptr(0)) + rc = Xsqlite3_prepare_v3(tls, db, zSql, -1, uint32(f), *(*uintptr)(unsafe.Pointer(bp + 168 /* &appStmt[0] */ + uintptr(i)*8)), uintptr(0)) } else { rc = SQLITE_NOMEM } @@ -201074,22 +201074,22 @@ func rtreeSqlInit(tls *libc.TLS, pRtree uintptr, db uintptr, zDb uintptr, zPrefi if (*Rtree)(unsafe.Pointer(pRtree)).FnAux != 0 { (*Rtree)(unsafe.Pointer(pRtree)).FzReadAuxSql = Xsqlite3_mprintf(tls, ts+25456, /* "SELECT * FROM \"%..." */ - libc.VaList(bp+144, zDb, zPrefix)) + libc.VaList(bp+96, zDb, zPrefix)) if (*Rtree)(unsafe.Pointer(pRtree)).FzReadAuxSql == uintptr(0) { rc = SQLITE_NOMEM } else { var p uintptr = Xsqlite3_str_new(tls, db) var ii int32 var zSql uintptr - Xsqlite3_str_appendf(tls, p, ts+25501 /* "UPDATE \"%w\".\"%w_..." */, libc.VaList(bp+168, zDb, zPrefix)) + Xsqlite3_str_appendf(tls, p, ts+25501 /* "UPDATE \"%w\".\"%w_..." */, libc.VaList(bp+112, zDb, zPrefix)) for ii = 0; ii < int32((*Rtree)(unsafe.Pointer(pRtree)).FnAux); ii++ { if ii != 0 { Xsqlite3_str_append(tls, p, ts+12899 /* "," */, 1) } if ii < int32((*Rtree)(unsafe.Pointer(pRtree)).FnAuxNotNull) { - Xsqlite3_str_appendf(tls, p, ts+25528 /* "a%d=coalesce(?%d..." */, libc.VaList(bp+192, ii, (ii+2), ii)) + Xsqlite3_str_appendf(tls, p, ts+25528 /* "a%d=coalesce(?%d..." */, libc.VaList(bp+128, ii, (ii+2), ii)) } else { - Xsqlite3_str_appendf(tls, p, ts+25550 /* "a%d=?%d" */, libc.VaList(bp+224, ii, (ii+2))) + Xsqlite3_str_appendf(tls, p, ts+25550 /* "a%d=?%d" */, libc.VaList(bp+152, ii, (ii+2))) } } Xsqlite3_str_appendf(tls, p, ts+25558 /* " WHERE rowid=?1" */, 0) @@ -201159,35 +201159,35 @@ func getIntFromStmt(tls *libc.TLS, db uintptr, zSql uintptr, piVal uintptr) int3 // database page-size is so large that more than RTREE_MAXCELLS entries // would fit in a single node, use a smaller node-size. func getNodeSize(tls *libc.TLS, db uintptr, pRtree uintptr, isCreate int32, pzErr uintptr) int32 { /* sqlite3.c:195913:12: */ - bp := tls.Alloc(92) - defer tls.Free(92) + bp := tls.Alloc(52) + defer tls.Free(52) var rc int32 var zSql uintptr if isCreate != 0 { - *(*int32)(unsafe.Pointer(bp + 88 /* iPageSize */)) = 0 + *(*int32)(unsafe.Pointer(bp + 48 /* iPageSize */)) = 0 zSql = Xsqlite3_mprintf(tls, ts+25983 /* "PRAGMA %Q.page_s..." */, libc.VaList(bp, (*Rtree)(unsafe.Pointer(pRtree)).FzDb)) - rc = getIntFromStmt(tls, db, zSql, bp+88 /* &iPageSize */) + rc = getIntFromStmt(tls, db, zSql, bp+48 /* &iPageSize */) if rc == SQLITE_OK { - (*Rtree)(unsafe.Pointer(pRtree)).FiNodeSize = (*(*int32)(unsafe.Pointer(bp + 88 /* iPageSize */)) - 64) + (*Rtree)(unsafe.Pointer(pRtree)).FiNodeSize = (*(*int32)(unsafe.Pointer(bp + 48 /* iPageSize */)) - 64) if (4 + (int32((*Rtree)(unsafe.Pointer(pRtree)).FnBytesPerCell) * RTREE_MAXCELLS)) < (*Rtree)(unsafe.Pointer(pRtree)).FiNodeSize { (*Rtree)(unsafe.Pointer(pRtree)).FiNodeSize = (4 + (int32((*Rtree)(unsafe.Pointer(pRtree)).FnBytesPerCell) * RTREE_MAXCELLS)) } } else { - *(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3_mprintf(tls, ts+3630 /* "%s" */, libc.VaList(bp+16, Xsqlite3_errmsg(tls, db))) + *(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3_mprintf(tls, ts+3630 /* "%s" */, libc.VaList(bp+8, Xsqlite3_errmsg(tls, db))) } } else { zSql = Xsqlite3_mprintf(tls, ts+26003, /* "SELECT length(da..." */ - libc.VaList(bp+32, (*Rtree)(unsafe.Pointer(pRtree)).FzDb, (*Rtree)(unsafe.Pointer(pRtree)).FzName)) + libc.VaList(bp+16, (*Rtree)(unsafe.Pointer(pRtree)).FzDb, (*Rtree)(unsafe.Pointer(pRtree)).FzName)) rc = getIntFromStmt(tls, db, zSql, (pRtree + 32 /* &.iNodeSize */)) if rc != SQLITE_OK { - *(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3_mprintf(tls, ts+3630 /* "%s" */, libc.VaList(bp+56, Xsqlite3_errmsg(tls, db))) + *(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3_mprintf(tls, ts+3630 /* "%s" */, libc.VaList(bp+32, Xsqlite3_errmsg(tls, db))) } else if (*Rtree)(unsafe.Pointer(pRtree)).FiNodeSize < (512 - 64) { rc = (SQLITE_CORRUPT | (int32(1) << 8)) *(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3_mprintf(tls, ts+26060, /* "undersize RTree ..." */ - libc.VaList(bp+72, (*Rtree)(unsafe.Pointer(pRtree)).FzName)) + libc.VaList(bp+40, (*Rtree)(unsafe.Pointer(pRtree)).FzName)) } } @@ -201212,8 +201212,8 @@ func rtreeTokenLength(tls *libc.TLS, z uintptr) int32 { /* sqlite3.c:195956:12: // argv[2] -> table name // argv[...] -> column names... func rtreeInit(tls *libc.TLS, db uintptr, pAux uintptr, argc int32, argv uintptr, ppVtab uintptr, pzErr uintptr, isCreate int32) int32 { /* sqlite3.c:195970:12: */ - bp := tls.Alloc(208) - defer tls.Free(208) + bp := tls.Alloc(136) + defer tls.Free(136) var rc int32 var pRtree uintptr @@ -201224,7 +201224,7 @@ func rtreeInit(tls *libc.TLS, db uintptr, pAux uintptr, argc int32, argv uintptr var zSql uintptr var ii int32 var iErr int32 - // var aErrMsg [5]uintptr at bp+168, 40 + // var aErrMsg [5]uintptr at bp+96, 40 var zArg uintptr rc = SQLITE_OK @@ -201235,7 +201235,7 @@ func rtreeInit(tls *libc.TLS, db uintptr, pAux uintptr, argc int32, argv uintptr return RTREE_COORD_REAL32 }() ii = 4 - *(*[5]uintptr)(unsafe.Pointer(bp + 168 /* aErrMsg */)) = [5]uintptr{ + *(*[5]uintptr)(unsafe.Pointer(bp + 96 /* aErrMsg */)) = [5]uintptr{ uintptr(0), // 0 ts + 26095, /* "Wrong number of ..." */ // 1 ts + 26138, /* "Too few columns ..." */ // 2 @@ -201247,12 +201247,12 @@ func rtreeInit(tls *libc.TLS, db uintptr, pAux uintptr, argc int32, argv uintptr if !((argc < 6) || (argc > (RTREE_MAX_AUX_COLUMN + 3))) { goto __1 } - *(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3_mprintf(tls, ts+3630 /* "%s" */, libc.VaList(bp, *(*uintptr)(unsafe.Pointer(bp + 168 /* &aErrMsg[0] */ + uintptr((2+(libc.Bool32(argc >= 6))))*8)))) + *(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3_mprintf(tls, ts+3630 /* "%s" */, libc.VaList(bp, *(*uintptr)(unsafe.Pointer(bp + 96 /* &aErrMsg[0] */ + uintptr((2+(libc.Bool32(argc >= 6))))*8)))) return SQLITE_ERROR __1: ; - Xsqlite3_vtab_config(tls, db, SQLITE_VTAB_CONSTRAINT_SUPPORT, libc.VaList(bp+16, 1)) + Xsqlite3_vtab_config(tls, db, SQLITE_VTAB_CONSTRAINT_SUPPORT, libc.VaList(bp+8, 1)) // Allocate the sqlite3_vtab structure nDb = int32(libc.Xstrlen(tls, *(*uintptr)(unsafe.Pointer(argv + 1*8)))) @@ -201278,7 +201278,7 @@ __2: // the r-tree table schema. pSql = Xsqlite3_str_new(tls, db) Xsqlite3_str_appendf(tls, pSql, ts+26246, /* "CREATE TABLE x(%..." */ - libc.VaList(bp+32, rtreeTokenLength(tls, *(*uintptr)(unsafe.Pointer(argv + 3*8))), *(*uintptr)(unsafe.Pointer(argv + 3*8)))) + libc.VaList(bp+16, rtreeTokenLength(tls, *(*uintptr)(unsafe.Pointer(argv + 3*8))), *(*uintptr)(unsafe.Pointer(argv + 3*8)))) ii = 4 __3: if !(ii < argc) { @@ -201289,7 +201289,7 @@ __3: goto __6 } (*Rtree)(unsafe.Pointer(pRtree)).FnAux++ - Xsqlite3_str_appendf(tls, pSql, ts+26270 /* ",%.*s" */, libc.VaList(bp+56, rtreeTokenLength(tls, (zArg+uintptr(1))), (zArg+uintptr(1)))) + Xsqlite3_str_appendf(tls, pSql, ts+26270 /* ",%.*s" */, libc.VaList(bp+32, rtreeTokenLength(tls, (zArg+uintptr(1))), (zArg+uintptr(1)))) goto __7 __6: if !(int32((*Rtree)(unsafe.Pointer(pRtree)).FnAux) > 0) { @@ -201300,7 +201300,7 @@ __6: __8: (*Rtree)(unsafe.Pointer(pRtree)).FnDim2++ Xsqlite3_str_appendf(tls, pSql, azFormat[eCoordType], - libc.VaList(bp+80, rtreeTokenLength(tls, zArg), zArg)) + libc.VaList(bp+48, rtreeTokenLength(tls, zArg), zArg)) __9: ; __7: @@ -201323,14 +201323,14 @@ __10: if !(ii < argc) { goto __12 } - *(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3_mprintf(tls, ts+3630 /* "%s" */, libc.VaList(bp+104, *(*uintptr)(unsafe.Pointer(bp + 168 /* &aErrMsg[0] */ + 4*8)))) + *(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3_mprintf(tls, ts+3630 /* "%s" */, libc.VaList(bp+64, *(*uintptr)(unsafe.Pointer(bp + 96 /* &aErrMsg[0] */ + 4*8)))) rc = SQLITE_ERROR goto __13 __12: if !(SQLITE_OK != (libc.AssignInt32(&rc, Xsqlite3_declare_vtab(tls, db, zSql)))) { goto __14 } - *(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3_mprintf(tls, ts+3630 /* "%s" */, libc.VaList(bp+120, Xsqlite3_errmsg(tls, db))) + *(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3_mprintf(tls, ts+3630 /* "%s" */, libc.VaList(bp+72, Xsqlite3_errmsg(tls, db))) __14: ; __13: @@ -201373,7 +201373,7 @@ __17: if !(iErr != 0) { goto __22 } - *(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3_mprintf(tls, ts+3630 /* "%s" */, libc.VaList(bp+136, *(*uintptr)(unsafe.Pointer(bp + 168 /* &aErrMsg[0] */ + uintptr(iErr)*8)))) + *(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3_mprintf(tls, ts+3630 /* "%s" */, libc.VaList(bp+80, *(*uintptr)(unsafe.Pointer(bp + 96 /* &aErrMsg[0] */ + uintptr(iErr)*8)))) goto rtreeInit_fail __22: ; @@ -201391,7 +201391,7 @@ __23: if !(rc != 0) { goto __24 } - *(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3_mprintf(tls, ts+3630 /* "%s" */, libc.VaList(bp+152, Xsqlite3_errmsg(tls, db))) + *(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3_mprintf(tls, ts+3630 /* "%s" */, libc.VaList(bp+88, Xsqlite3_errmsg(tls, db))) goto rtreeInit_fail __24: ; @@ -201428,12 +201428,12 @@ var azFormat = [2]uintptr{ts + 26279 /* ",%.*s REAL" */, ts + 26290 /* ",%.*s IN // list, containing the 8-byte rowid/pageno followed by the // *2 coordinates. func rtreenode(tls *libc.TLS, ctx uintptr, nArg int32, apArg uintptr) { /* sqlite3.c:196107:13: */ - bp := tls.Alloc(1088) - defer tls.Free(1088) + bp := tls.Alloc(1072) + defer tls.Free(1072) - // var node RtreeNode at bp+32, 40 + // var node RtreeNode at bp+16, 40 - // var tree Rtree at bp+72, 968 + // var tree Rtree at bp+56, 968 var ii int32 var nData int32 @@ -201441,36 +201441,36 @@ func rtreenode(tls *libc.TLS, ctx uintptr, nArg int32, apArg uintptr) { /* sqlit var pOut uintptr _ = nArg - libc.Xmemset(tls, bp+32 /* &node */, 0, uint64(unsafe.Sizeof(RtreeNode{}))) - libc.Xmemset(tls, bp+72 /* &tree */, 0, uint64(unsafe.Sizeof(Rtree{}))) - (*Rtree)(unsafe.Pointer(bp + 72 /* &tree */)).FnDim = U8(Xsqlite3_value_int(tls, *(*uintptr)(unsafe.Pointer(apArg)))) - if (int32((*Rtree)(unsafe.Pointer(bp+72 /* &tree */)).FnDim) < 1) || (int32((*Rtree)(unsafe.Pointer(bp+72 /* &tree */)).FnDim) > 5) { + libc.Xmemset(tls, bp+16 /* &node */, 0, uint64(unsafe.Sizeof(RtreeNode{}))) + libc.Xmemset(tls, bp+56 /* &tree */, 0, uint64(unsafe.Sizeof(Rtree{}))) + (*Rtree)(unsafe.Pointer(bp + 56 /* &tree */)).FnDim = U8(Xsqlite3_value_int(tls, *(*uintptr)(unsafe.Pointer(apArg)))) + if (int32((*Rtree)(unsafe.Pointer(bp+56 /* &tree */)).FnDim) < 1) || (int32((*Rtree)(unsafe.Pointer(bp+56 /* &tree */)).FnDim) > 5) { return } - (*Rtree)(unsafe.Pointer(bp + 72 /* &tree */)).FnDim2 = (U8(int32((*Rtree)(unsafe.Pointer(bp+72 /* &tree */)).FnDim) * 2)) - (*Rtree)(unsafe.Pointer(bp + 72 /* &tree */)).FnBytesPerCell = (U8(8 + (8 * int32((*Rtree)(unsafe.Pointer(bp+72 /* &tree */)).FnDim)))) - (*RtreeNode)(unsafe.Pointer(bp + 32 /* &node */)).FzData = Xsqlite3_value_blob(tls, *(*uintptr)(unsafe.Pointer(apArg + 1*8))) + (*Rtree)(unsafe.Pointer(bp + 56 /* &tree */)).FnDim2 = (U8(int32((*Rtree)(unsafe.Pointer(bp+56 /* &tree */)).FnDim) * 2)) + (*Rtree)(unsafe.Pointer(bp + 56 /* &tree */)).FnBytesPerCell = (U8(8 + (8 * int32((*Rtree)(unsafe.Pointer(bp+56 /* &tree */)).FnDim)))) + (*RtreeNode)(unsafe.Pointer(bp + 16 /* &node */)).FzData = Xsqlite3_value_blob(tls, *(*uintptr)(unsafe.Pointer(apArg + 1*8))) nData = Xsqlite3_value_bytes(tls, *(*uintptr)(unsafe.Pointer(apArg + 1*8))) if nData < 4 { return } - if nData < (readInt16(tls, ((*RtreeNode)(unsafe.Pointer((bp+32 /* &node */))).FzData+2)) * int32((*Rtree)(unsafe.Pointer(bp+72 /* &tree */)).FnBytesPerCell)) { + if nData < (readInt16(tls, ((*RtreeNode)(unsafe.Pointer((bp+16 /* &node */))).FzData+2)) * int32((*Rtree)(unsafe.Pointer(bp+56 /* &tree */)).FnBytesPerCell)) { return } pOut = Xsqlite3_str_new(tls, uintptr(0)) - for ii = 0; ii < readInt16(tls, ((*RtreeNode)(unsafe.Pointer((bp+32 /* &node */))).FzData+2)); ii++ { - // var cell RtreeCell at bp+1040, 48 + for ii = 0; ii < readInt16(tls, ((*RtreeNode)(unsafe.Pointer((bp+16 /* &node */))).FzData+2)); ii++ { + // var cell RtreeCell at bp+1024, 48 var jj int32 - nodeGetCell(tls, bp+72 /* &tree */, bp+32 /* &node */, ii, bp+1040 /* &cell */) + nodeGetCell(tls, bp+56 /* &tree */, bp+16 /* &node */, ii, bp+1024 /* &cell */) if ii > 0 { Xsqlite3_str_append(tls, pOut, ts+11014 /* " " */, 1) } - Xsqlite3_str_appendf(tls, pOut, ts+26300 /* "{%lld" */, libc.VaList(bp, (*RtreeCell)(unsafe.Pointer(bp+1040 /* &cell */)).FiRowid)) - for jj = 0; jj < int32((*Rtree)(unsafe.Pointer(bp+72 /* &tree */)).FnDim2); jj++ { - Xsqlite3_str_appendf(tls, pOut, ts+26306 /* " %g" */, libc.VaList(bp+16, float64(*(*RtreeValue)(unsafe.Pointer((bp + 1040 /* &cell */ + 8 /* &.aCoord */) + uintptr(jj)*4))))) + Xsqlite3_str_appendf(tls, pOut, ts+26300 /* "{%lld" */, libc.VaList(bp, (*RtreeCell)(unsafe.Pointer(bp+1024 /* &cell */)).FiRowid)) + for jj = 0; jj < int32((*Rtree)(unsafe.Pointer(bp+56 /* &tree */)).FnDim2); jj++ { + Xsqlite3_str_appendf(tls, pOut, ts+26306 /* " %g" */, libc.VaList(bp+8, float64(*(*RtreeValue)(unsafe.Pointer((bp + 1024 /* &cell */ + 8 /* &.aCoord */) + uintptr(jj)*4))))) } Xsqlite3_str_append(tls, pOut, ts+26310 /* "}" */, 1) } @@ -201569,8 +201569,8 @@ func rtreeCheckPrepare(tls *libc.TLS, pCheck uintptr, zFmt uintptr, va uintptr) // style format string and arguments. This function formats the string and // appends it to the report being accumuated in pCheck. func rtreeCheckAppendMsg(tls *libc.TLS, pCheck uintptr, zFmt uintptr, va uintptr) { /* sqlite3.c:196243:13: */ - bp := tls.Alloc(32) - defer tls.Free(32) + bp := tls.Alloc(24) + defer tls.Free(24) var ap Va_list _ = ap @@ -201609,8 +201609,8 @@ func rtreeCheckAppendMsg(tls *libc.TLS, pCheck uintptr, zFmt uintptr, va uintptr // in the RtreeCheck object. The final value of *pnNode is undefined in // this case. func rtreeCheckGetNode(tls *libc.TLS, pCheck uintptr, iNode I64, pnNode uintptr) uintptr { /* sqlite3.c:196277:11: */ - bp := tls.Alloc(40) - defer tls.Free(40) + bp := tls.Alloc(24) + defer tls.Free(24) var pRet uintptr = uintptr(0) // Return value @@ -201635,7 +201635,7 @@ func rtreeCheckGetNode(tls *libc.TLS, pCheck uintptr, iNode I64, pnNode uintptr) } rtreeCheckReset(tls, pCheck, (*RtreeCheck)(unsafe.Pointer(pCheck)).FpGetNode) if ((*RtreeCheck)(unsafe.Pointer(pCheck)).Frc == SQLITE_OK) && (pRet == uintptr(0)) { - rtreeCheckAppendMsg(tls, pCheck, ts+26397 /* "Node %lld missin..." */, libc.VaList(bp+24, iNode)) + rtreeCheckAppendMsg(tls, pCheck, ts+26397 /* "Node %lld missin..." */, libc.VaList(bp+16, iNode)) } } @@ -201653,19 +201653,19 @@ func rtreeCheckGetNode(tls *libc.TLS, pCheck uintptr, iNode I64, pnNode uintptr) // IPK value iKey and the second column set to iVal. // func rtreeCheckMapping(tls *libc.TLS, pCheck uintptr, bLeaf int32, iKey I64, iVal I64) { /* sqlite3.c:196321:13: */ - bp := tls.Alloc(120) - defer tls.Free(120) + bp := tls.Alloc(96) + defer tls.Free(96) var rc int32 var pStmt uintptr - *(*[2]uintptr)(unsafe.Pointer(bp + 104 /* azSql */)) = [2]uintptr{ + *(*[2]uintptr)(unsafe.Pointer(bp + 80 /* azSql */)) = [2]uintptr{ ts + 26429, /* "SELECT parentnod..." */ ts + 26483, /* "SELECT nodeno FR..." */ } if *(*uintptr)(unsafe.Pointer((pCheck + 40 /* &.aCheckMapping */) + uintptr(bLeaf)*8)) == uintptr(0) { *(*uintptr)(unsafe.Pointer((pCheck + 40 /* &.aCheckMapping */) + uintptr(bLeaf)*8)) = rtreeCheckPrepare(tls, pCheck, - *(*uintptr)(unsafe.Pointer(bp + 104 /* &azSql[0] */ + uintptr(bLeaf)*8)), libc.VaList(bp, (*RtreeCheck)(unsafe.Pointer(pCheck)).FzDb, (*RtreeCheck)(unsafe.Pointer(pCheck)).FzTab)) + *(*uintptr)(unsafe.Pointer(bp + 80 /* &azSql[0] */ + uintptr(bLeaf)*8)), libc.VaList(bp, (*RtreeCheck)(unsafe.Pointer(pCheck)).FzDb, (*RtreeCheck)(unsafe.Pointer(pCheck)).FzTab)) } if (*RtreeCheck)(unsafe.Pointer(pCheck)).Frc != SQLITE_OK { return @@ -201676,7 +201676,7 @@ func rtreeCheckMapping(tls *libc.TLS, pCheck uintptr, bLeaf int32, iKey I64, iVa rc = Xsqlite3_step(tls, pStmt) if rc == SQLITE_DONE { rtreeCheckAppendMsg(tls, pCheck, ts+26531, /* "Mapping (%lld ->..." */ - libc.VaList(bp+24, iKey, iVal, func() uintptr { + libc.VaList(bp+16, iKey, iVal, func() uintptr { if bLeaf != 0 { return ts + 26576 /* "%_rowid" */ } @@ -201687,7 +201687,7 @@ func rtreeCheckMapping(tls *libc.TLS, pCheck uintptr, bLeaf int32, iKey I64, iVa if ii != iVal { rtreeCheckAppendMsg(tls, pCheck, ts+26593, /* "Found (%lld -> %..." */ - libc.VaList(bp+56, iKey, ii, func() uintptr { + libc.VaList(bp+40, iKey, ii, func() uintptr { if bLeaf != 0 { return ts + 26576 /* "%_rowid" */ } @@ -201709,52 +201709,52 @@ func rtreeCheckMapping(tls *libc.TLS, pCheck uintptr, bLeaf int32, iKey I64, iVa // sets of coordinates are mutually consistent and an error message added // to the RtreeCheck object if they are not. func rtreeCheckCellCoord(tls *libc.TLS, pCheck uintptr, iNode I64, iCell int32, pCell uintptr, pParent uintptr) { /* sqlite3.c:196373:13: */ - bp := tls.Alloc(80) - defer tls.Free(80) + bp := tls.Alloc(64) + defer tls.Free(64) - // var c1 RtreeCoord at bp+64, 4 + // var c1 RtreeCoord at bp+48, 4 - // var c2 RtreeCoord at bp+68, 4 + // var c2 RtreeCoord at bp+52, 4 - // var p1 RtreeCoord at bp+72, 4 + // var p1 RtreeCoord at bp+56, 4 - // var p2 RtreeCoord at bp+76, 4 + // var p2 RtreeCoord at bp+60, 4 var i int32 for i = 0; i < (*RtreeCheck)(unsafe.Pointer(pCheck)).FnDim; i++ { - readCoord(tls, (pCell + uintptr(((4 * 2) * i))), bp+64 /* &c1 */) - readCoord(tls, (pCell + uintptr((4 * ((2 * i) + 1)))), bp+68 /* &c2 */) + readCoord(tls, (pCell + uintptr(((4 * 2) * i))), bp+48 /* &c1 */) + readCoord(tls, (pCell + uintptr((4 * ((2 * i) + 1)))), bp+52 /* &c2 */) // printf("%e, %e\n", c1.u.f, c2.u.f); if func() int32 { if (*RtreeCheck)(unsafe.Pointer(pCheck)).FbInt != 0 { - return (libc.Bool32(*(*int32)(unsafe.Pointer(bp + 64 /* &c1 */)) > *(*int32)(unsafe.Pointer(bp + 68 /* &c2 */)))) + return (libc.Bool32(*(*int32)(unsafe.Pointer(bp + 48 /* &c1 */)) > *(*int32)(unsafe.Pointer(bp + 52 /* &c2 */)))) } - return (libc.Bool32(*(*RtreeValue)(unsafe.Pointer(bp + 64 /* &c1 */)) > *(*RtreeValue)(unsafe.Pointer(bp + 68 /* &c2 */)))) + return (libc.Bool32(*(*RtreeValue)(unsafe.Pointer(bp + 48 /* &c1 */)) > *(*RtreeValue)(unsafe.Pointer(bp + 52 /* &c2 */)))) }() != 0 { rtreeCheckAppendMsg(tls, pCheck, ts+26651 /* "Dimension %d of ..." */, libc.VaList(bp, i, iCell, iNode)) } if pParent != 0 { - readCoord(tls, (pParent + uintptr(((4 * 2) * i))), bp+72 /* &p1 */) - readCoord(tls, (pParent + uintptr((4 * ((2 * i) + 1)))), bp+76 /* &p2 */) + readCoord(tls, (pParent + uintptr(((4 * 2) * i))), bp+56 /* &p1 */) + readCoord(tls, (pParent + uintptr((4 * ((2 * i) + 1)))), bp+60 /* &p2 */) if (func() int32 { if (*RtreeCheck)(unsafe.Pointer(pCheck)).FbInt != 0 { - return (libc.Bool32(*(*int32)(unsafe.Pointer(bp + 64 /* &c1 */)) < *(*int32)(unsafe.Pointer(bp + 72 /* &p1 */)))) + return (libc.Bool32(*(*int32)(unsafe.Pointer(bp + 48 /* &c1 */)) < *(*int32)(unsafe.Pointer(bp + 56 /* &p1 */)))) } - return (libc.Bool32(*(*RtreeValue)(unsafe.Pointer(bp + 64 /* &c1 */)) < *(*RtreeValue)(unsafe.Pointer(bp + 72 /* &p1 */)))) + return (libc.Bool32(*(*RtreeValue)(unsafe.Pointer(bp + 48 /* &c1 */)) < *(*RtreeValue)(unsafe.Pointer(bp + 56 /* &p1 */)))) }() != 0) || (func() int32 { if (*RtreeCheck)(unsafe.Pointer(pCheck)).FbInt != 0 { - return (libc.Bool32(*(*int32)(unsafe.Pointer(bp + 68 /* &c2 */)) > *(*int32)(unsafe.Pointer(bp + 76 /* &p2 */)))) + return (libc.Bool32(*(*int32)(unsafe.Pointer(bp + 52 /* &c2 */)) > *(*int32)(unsafe.Pointer(bp + 60 /* &p2 */)))) } - return (libc.Bool32(*(*RtreeValue)(unsafe.Pointer(bp + 68 /* &c2 */)) > *(*RtreeValue)(unsafe.Pointer(bp + 76 /* &p2 */)))) + return (libc.Bool32(*(*RtreeValue)(unsafe.Pointer(bp + 52 /* &c2 */)) > *(*RtreeValue)(unsafe.Pointer(bp + 60 /* &p2 */)))) }() != 0) { rtreeCheckAppendMsg(tls, pCheck, - ts+26699 /* "Dimension %d of ..." */, libc.VaList(bp+32, i, iCell, iNode)) + ts+26699 /* "Dimension %d of ..." */, libc.VaList(bp+24, i, iCell, iNode)) } } } @@ -201767,33 +201767,33 @@ func rtreeCheckCellCoord(tls *libc.TLS, pCheck uintptr, iNode I64, iCell int32, // If any problems are discovered, an error message is appended to the // report accumulated in the RtreeCheck object. func rtreeCheckNode(tls *libc.TLS, pCheck uintptr, iDepth int32, aParent uintptr, iNode I64) { /* sqlite3.c:196419:13: */ - bp := tls.Alloc(76) - defer tls.Free(76) + bp := tls.Alloc(52) + defer tls.Free(52) var aNode uintptr = uintptr(0) - *(*int32)(unsafe.Pointer(bp + 72 /* nNode */)) = 0 + *(*int32)(unsafe.Pointer(bp + 48 /* nNode */)) = 0 - aNode = rtreeCheckGetNode(tls, pCheck, iNode, bp+72 /* &nNode */) + aNode = rtreeCheckGetNode(tls, pCheck, iNode, bp+48 /* &nNode */) if aNode != 0 { - if *(*int32)(unsafe.Pointer(bp + 72 /* nNode */)) < 4 { + if *(*int32)(unsafe.Pointer(bp + 48 /* nNode */)) < 4 { rtreeCheckAppendMsg(tls, pCheck, - ts+26766 /* "Node %lld is too..." */, libc.VaList(bp, iNode, *(*int32)(unsafe.Pointer(bp + 72 /* nNode */)))) + ts+26766 /* "Node %lld is too..." */, libc.VaList(bp, iNode, *(*int32)(unsafe.Pointer(bp + 48 /* nNode */)))) } else { var nCell int32 // Number of cells on page var i int32 // Used to iterate through cells if aParent == uintptr(0) { iDepth = readInt16(tls, aNode) if iDepth > RTREE_MAX_DEPTH { - rtreeCheckAppendMsg(tls, pCheck, ts+26800 /* "Rtree depth out ..." */, libc.VaList(bp+24, iDepth)) + rtreeCheckAppendMsg(tls, pCheck, ts+26800 /* "Rtree depth out ..." */, libc.VaList(bp+16, iDepth)) Xsqlite3_free(tls, aNode) return } } nCell = readInt16(tls, (aNode + 2)) - if (4 + (nCell * (8 + (((*RtreeCheck)(unsafe.Pointer(pCheck)).FnDim * 2) * 4)))) > *(*int32)(unsafe.Pointer(bp + 72 /* nNode */)) { + if (4 + (nCell * (8 + (((*RtreeCheck)(unsafe.Pointer(pCheck)).FnDim * 2) * 4)))) > *(*int32)(unsafe.Pointer(bp + 48 /* nNode */)) { rtreeCheckAppendMsg(tls, pCheck, ts+26830, /* "Node %lld is too..." */ - libc.VaList(bp+40, iNode, nCell, *(*int32)(unsafe.Pointer(bp + 72 /* nNode */)))) + libc.VaList(bp+24, iNode, nCell, *(*int32)(unsafe.Pointer(bp + 48 /* nNode */)))) } else { for i = 0; i < nCell; i++ { var pCell uintptr = (aNode + uintptr((4 + (i * (8 + (((*RtreeCheck)(unsafe.Pointer(pCheck)).FnDim * 2) * 4)))))) @@ -201821,8 +201821,8 @@ func rtreeCheckNode(tls *libc.TLS, pCheck uintptr, iDepth int32, aParent uintptr // an error message to the report in the RtreeCheck object indicated // by the first argument. func rtreeCheckCount(tls *libc.TLS, pCheck uintptr, zTbl uintptr, nExpect I64) { /* sqlite3.c:196482:13: */ - bp := tls.Alloc(64) - defer tls.Free(64) + bp := tls.Alloc(48) + defer tls.Free(48) if (*RtreeCheck)(unsafe.Pointer(pCheck)).Frc == SQLITE_OK { var pCount uintptr @@ -201833,7 +201833,7 @@ func rtreeCheckCount(tls *libc.TLS, pCheck uintptr, zTbl uintptr, nExpect I64) { var nActual I64 = Xsqlite3_column_int64(tls, pCount, 0) if nActual != nExpect { rtreeCheckAppendMsg(tls, pCheck, - ts+26916 /* "Wrong number of ..." */, libc.VaList(bp+32, zTbl, nExpect, nActual)) + ts+26916 /* "Wrong number of ..." */, libc.VaList(bp+24, zTbl, nExpect, nActual)) } } (*RtreeCheck)(unsafe.Pointer(pCheck)).Frc = Xsqlite3_finalize(tls, pCount) @@ -201844,78 +201844,78 @@ func rtreeCheckCount(tls *libc.TLS, pCheck uintptr, zTbl uintptr, nExpect I64) { // This function does the bulk of the work for the rtree integrity-check. // It is called by rtreecheck(), which is the SQL function implementation. func rtreeCheckTable(tls *libc.TLS, db uintptr, zDb uintptr, zTab uintptr, pzReport uintptr) int32 { /* sqlite3.c:196506:12: */ - bp := tls.Alloc(136) - defer tls.Free(136) + bp := tls.Alloc(120) + defer tls.Free(120) - // var check RtreeCheck at bp+48, 88 + // var check RtreeCheck at bp+32, 88 // Common context for various routines var pStmt uintptr = uintptr(0) // Used to find column count of rtree table var bEnd int32 = 0 // True if transaction should be closed var nAux int32 = 0 // Number of extra columns. // Initialize the context object - libc.Xmemset(tls, bp+48 /* &check */, 0, uint64(unsafe.Sizeof(RtreeCheck{}))) - (*RtreeCheck)(unsafe.Pointer(bp + 48 /* &check */)).Fdb = db - (*RtreeCheck)(unsafe.Pointer(bp + 48 /* &check */)).FzDb = zDb - (*RtreeCheck)(unsafe.Pointer(bp + 48 /* &check */)).FzTab = zTab + libc.Xmemset(tls, bp+32 /* &check */, 0, uint64(unsafe.Sizeof(RtreeCheck{}))) + (*RtreeCheck)(unsafe.Pointer(bp + 32 /* &check */)).Fdb = db + (*RtreeCheck)(unsafe.Pointer(bp + 32 /* &check */)).FzDb = zDb + (*RtreeCheck)(unsafe.Pointer(bp + 32 /* &check */)).FzTab = zTab // If there is not already an open transaction, open one now. This is // to ensure that the queries run as part of this integrity-check operate // on a consistent snapshot. if Xsqlite3_get_autocommit(tls, db) != 0 { - (*RtreeCheck)(unsafe.Pointer(bp + 48 /* &check */)).Frc = Xsqlite3_exec(tls, db, ts+14580 /* "BEGIN" */, uintptr(0), uintptr(0), uintptr(0)) + (*RtreeCheck)(unsafe.Pointer(bp + 32 /* &check */)).Frc = Xsqlite3_exec(tls, db, ts+14580 /* "BEGIN" */, uintptr(0), uintptr(0), uintptr(0)) bEnd = 1 } // Find the number of auxiliary columns - if (*RtreeCheck)(unsafe.Pointer(bp+48 /* &check */)).Frc == SQLITE_OK { - pStmt = rtreeCheckPrepare(tls, bp+48 /* &check */, ts+26983 /* "SELECT * FROM %Q..." */, libc.VaList(bp, zDb, zTab)) + if (*RtreeCheck)(unsafe.Pointer(bp+32 /* &check */)).Frc == SQLITE_OK { + pStmt = rtreeCheckPrepare(tls, bp+32 /* &check */, ts+26983 /* "SELECT * FROM %Q..." */, libc.VaList(bp, zDb, zTab)) if pStmt != 0 { nAux = (Xsqlite3_column_count(tls, pStmt) - 2) Xsqlite3_finalize(tls, pStmt) } - (*RtreeCheck)(unsafe.Pointer(bp + 48 /* &check */)).Frc = SQLITE_OK + (*RtreeCheck)(unsafe.Pointer(bp + 32 /* &check */)).Frc = SQLITE_OK } // Find number of dimensions in the rtree table. - pStmt = rtreeCheckPrepare(tls, bp+48 /* &check */, ts+24803 /* "SELECT * FROM %Q..." */, libc.VaList(bp+24, zDb, zTab)) + pStmt = rtreeCheckPrepare(tls, bp+32 /* &check */, ts+24803 /* "SELECT * FROM %Q..." */, libc.VaList(bp+16, zDb, zTab)) if pStmt != 0 { var rc int32 - (*RtreeCheck)(unsafe.Pointer(bp + 48 /* &check */)).FnDim = (((Xsqlite3_column_count(tls, pStmt) - 1) - nAux) / 2) - if (*RtreeCheck)(unsafe.Pointer(bp+48 /* &check */)).FnDim < 1 { - rtreeCheckAppendMsg(tls, bp+48 /* &check */, ts+27011 /* "Schema corrupt o..." */, 0) + (*RtreeCheck)(unsafe.Pointer(bp + 32 /* &check */)).FnDim = (((Xsqlite3_column_count(tls, pStmt) - 1) - nAux) / 2) + if (*RtreeCheck)(unsafe.Pointer(bp+32 /* &check */)).FnDim < 1 { + rtreeCheckAppendMsg(tls, bp+32 /* &check */, ts+27011 /* "Schema corrupt o..." */, 0) } else if SQLITE_ROW == Xsqlite3_step(tls, pStmt) { - (*RtreeCheck)(unsafe.Pointer(bp + 48 /* &check */)).FbInt = (libc.Bool32(Xsqlite3_column_type(tls, pStmt, 1) == SQLITE_INTEGER)) + (*RtreeCheck)(unsafe.Pointer(bp + 32 /* &check */)).FbInt = (libc.Bool32(Xsqlite3_column_type(tls, pStmt, 1) == SQLITE_INTEGER)) } rc = Xsqlite3_finalize(tls, pStmt) if rc != SQLITE_CORRUPT { - (*RtreeCheck)(unsafe.Pointer(bp + 48 /* &check */)).Frc = rc + (*RtreeCheck)(unsafe.Pointer(bp + 32 /* &check */)).Frc = rc } } // Do the actual integrity-check - if (*RtreeCheck)(unsafe.Pointer(bp+48 /* &check */)).FnDim >= 1 { - if (*RtreeCheck)(unsafe.Pointer(bp+48 /* &check */)).Frc == SQLITE_OK { - rtreeCheckNode(tls, bp+48 /* &check */, 0, uintptr(0), int64(1)) + if (*RtreeCheck)(unsafe.Pointer(bp+32 /* &check */)).FnDim >= 1 { + if (*RtreeCheck)(unsafe.Pointer(bp+32 /* &check */)).Frc == SQLITE_OK { + rtreeCheckNode(tls, bp+32 /* &check */, 0, uintptr(0), int64(1)) } - rtreeCheckCount(tls, bp+48 /* &check */, ts+27042 /* "_rowid" */, int64((*RtreeCheck)(unsafe.Pointer(bp+48 /* &check */)).FnLeaf)) - rtreeCheckCount(tls, bp+48 /* &check */, ts+27049 /* "_parent" */, int64((*RtreeCheck)(unsafe.Pointer(bp+48 /* &check */)).FnNonLeaf)) + rtreeCheckCount(tls, bp+32 /* &check */, ts+27042 /* "_rowid" */, int64((*RtreeCheck)(unsafe.Pointer(bp+32 /* &check */)).FnLeaf)) + rtreeCheckCount(tls, bp+32 /* &check */, ts+27049 /* "_parent" */, int64((*RtreeCheck)(unsafe.Pointer(bp+32 /* &check */)).FnNonLeaf)) } // Finalize SQL statements used by the integrity-check - Xsqlite3_finalize(tls, (*RtreeCheck)(unsafe.Pointer(bp+48 /* &check */)).FpGetNode) - Xsqlite3_finalize(tls, *(*uintptr)(unsafe.Pointer((bp + 48 /* &check */ + 40 /* &.aCheckMapping */)))) - Xsqlite3_finalize(tls, *(*uintptr)(unsafe.Pointer((bp + 48 /* &check */ + 40 /* &.aCheckMapping */) + 1*8))) + Xsqlite3_finalize(tls, (*RtreeCheck)(unsafe.Pointer(bp+32 /* &check */)).FpGetNode) + Xsqlite3_finalize(tls, *(*uintptr)(unsafe.Pointer((bp + 32 /* &check */ + 40 /* &.aCheckMapping */)))) + Xsqlite3_finalize(tls, *(*uintptr)(unsafe.Pointer((bp + 32 /* &check */ + 40 /* &.aCheckMapping */) + 1*8))) // If one was opened, close the transaction if bEnd != 0 { var rc int32 = Xsqlite3_exec(tls, db, ts+27057 /* "END" */, uintptr(0), uintptr(0), uintptr(0)) - if (*RtreeCheck)(unsafe.Pointer(bp+48 /* &check */)).Frc == SQLITE_OK { - (*RtreeCheck)(unsafe.Pointer(bp + 48 /* &check */)).Frc = rc + if (*RtreeCheck)(unsafe.Pointer(bp+32 /* &check */)).Frc == SQLITE_OK { + (*RtreeCheck)(unsafe.Pointer(bp + 32 /* &check */)).Frc = rc } } - *(*uintptr)(unsafe.Pointer(pzReport)) = (*RtreeCheck)(unsafe.Pointer(bp + 48 /* &check */)).FzReport - return (*RtreeCheck)(unsafe.Pointer(bp + 48 /* &check */)).Frc + *(*uintptr)(unsafe.Pointer(pzReport)) = (*RtreeCheck)(unsafe.Pointer(bp + 32 /* &check */)).FzReport + return (*RtreeCheck)(unsafe.Pointer(bp + 32 /* &check */)).Frc } // Usage: @@ -202402,8 +202402,8 @@ func geopolyBlobFunc(tls *libc.TLS, context uintptr, argc int32, argv uintptr) { // Interpret X as a polygon and render it as a JSON array // of coordinates. Or, if X is not a valid polygon, return NULL. func geopolyJsonFunc(tls *libc.TLS, context uintptr, argc int32, argv uintptr) { /* sqlite3.c:197024:13: */ - bp := tls.Alloc(48) - defer tls.Free(48) + bp := tls.Alloc(32) + defer tls.Free(32) var p uintptr = geopolyFuncParam(tls, context, *(*uintptr)(unsafe.Pointer(argv)), uintptr(0)) if p != 0 { @@ -202414,7 +202414,7 @@ func geopolyJsonFunc(tls *libc.TLS, context uintptr, argc int32, argv uintptr) { for i = 0; i < (*GeoPoly)(unsafe.Pointer(p)).FnVertex; i++ { Xsqlite3_str_appendf(tls, x, ts+27114 /* "[%!g,%!g]," */, libc.VaList(bp, float64(*(*GeoCoord)(unsafe.Pointer((p + 8 /* &.a */) + uintptr(((i)*2))*4))), float64(*(*GeoCoord)(unsafe.Pointer((p + 8 /* &.a */) + uintptr((((i)*2)+1))*4))))) } - Xsqlite3_str_appendf(tls, x, ts+27125 /* "[%!g,%!g]]" */, libc.VaList(bp+24, float64(*(*GeoCoord)(unsafe.Pointer((p + 8 /* &.a */)))), float64(*(*GeoCoord)(unsafe.Pointer((p + 8 /* &.a */) + 1*4))))) + Xsqlite3_str_appendf(tls, x, ts+27125 /* "[%!g,%!g]]" */, libc.VaList(bp+16, float64(*(*GeoCoord)(unsafe.Pointer((p + 8 /* &.a */)))), float64(*(*GeoCoord)(unsafe.Pointer((p + 8 /* &.a */) + 1*4))))) Xsqlite3_result_text(tls, context, Xsqlite3_str_finish(tls, x), -1, *(*uintptr)(unsafe.Pointer(&struct{ f func(*libc.TLS, uintptr) }{Xsqlite3_free}))) Xsqlite3_free(tls, p) } @@ -202425,8 +202425,8 @@ func geopolyJsonFunc(tls *libc.TLS, context uintptr, argc int32, argv uintptr) { // Interpret X as a polygon and render it as a SVG . // Additional arguments are added as attributes to the . func geopolySvgFunc(tls *libc.TLS, context uintptr, argc int32, argv uintptr) { /* sqlite3.c:197050:13: */ - bp := tls.Alloc(72) - defer tls.Free(72) + bp := tls.Alloc(48) + defer tls.Free(48) var p uintptr if argc < 1 { @@ -202443,11 +202443,11 @@ func geopolySvgFunc(tls *libc.TLS, context uintptr, argc int32, argv uintptr) { Xsqlite3_str_appendf(tls, x, ts+27154 /* "%c%g,%g" */, libc.VaList(bp, int32(cSep), float64(*(*GeoCoord)(unsafe.Pointer((p + 8 /* &.a */) + uintptr(((i)*2))*4))), float64(*(*GeoCoord)(unsafe.Pointer((p + 8 /* &.a */) + uintptr((((i)*2)+1))*4))))) cSep = int8(' ') } - Xsqlite3_str_appendf(tls, x, ts+27162 /* " %g,%g'" */, libc.VaList(bp+32, float64(*(*GeoCoord)(unsafe.Pointer((p + 8 /* &.a */)))), float64(*(*GeoCoord)(unsafe.Pointer((p + 8 /* &.a */) + 1*4))))) + Xsqlite3_str_appendf(tls, x, ts+27162 /* " %g,%g'" */, libc.VaList(bp+24, float64(*(*GeoCoord)(unsafe.Pointer((p + 8 /* &.a */)))), float64(*(*GeoCoord)(unsafe.Pointer((p + 8 /* &.a */) + 1*4))))) for i = 1; i < argc; i++ { var z uintptr = Xsqlite3_value_text(tls, *(*uintptr)(unsafe.Pointer(argv + uintptr(i)*8))) if (z != 0) && (*(*int8)(unsafe.Pointer(z)) != 0) { - Xsqlite3_str_appendf(tls, x, ts+27170 /* " %s" */, libc.VaList(bp+56, z)) + Xsqlite3_str_appendf(tls, x, ts+27170 /* " %s" */, libc.VaList(bp+40, z)) } } Xsqlite3_str_appendf(tls, x, ts+27174 /* ">" */, 0) @@ -203427,8 +203427,8 @@ func geopolyDebugFunc(tls *libc.TLS, context uintptr, argc int32, argv uintptr) // argv[2] -> table name // argv[...] -> column names... func geopolyInit(tls *libc.TLS, db uintptr, pAux uintptr, argc int32, argv uintptr, ppVtab uintptr, pzErr uintptr, isCreate int32) int32 { /* sqlite3.c:197867:12: */ - bp := tls.Alloc(64) - defer tls.Free(64) + bp := tls.Alloc(32) + defer tls.Free(32) var rc int32 var pRtree uintptr @@ -203475,7 +203475,7 @@ __2: goto __4 } (*Rtree)(unsafe.Pointer(pRtree)).FnAux++ - Xsqlite3_str_appendf(tls, pSql, ts+27209 /* ",%s" */, libc.VaList(bp+16, *(*uintptr)(unsafe.Pointer(argv + uintptr(ii)*8)))) + Xsqlite3_str_appendf(tls, pSql, ts+27209 /* ",%s" */, libc.VaList(bp+8, *(*uintptr)(unsafe.Pointer(argv + uintptr(ii)*8)))) goto __3 __3: ii++ @@ -203494,7 +203494,7 @@ __5: if !(SQLITE_OK != (libc.AssignInt32(&rc, Xsqlite3_declare_vtab(tls, db, zSql)))) { goto __7 } - *(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3_mprintf(tls, ts+3630 /* "%s" */, libc.VaList(bp+32, Xsqlite3_errmsg(tls, db))) + *(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3_mprintf(tls, ts+3630 /* "%s" */, libc.VaList(bp+16, Xsqlite3_errmsg(tls, db))) __7: ; __6: @@ -203520,7 +203520,7 @@ __9: if !(rc != 0) { goto __10 } - *(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3_mprintf(tls, ts+3630 /* "%s" */, libc.VaList(bp+48, Xsqlite3_errmsg(tls, db))) + *(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3_mprintf(tls, ts+3630 /* "%s" */, libc.VaList(bp+24, Xsqlite3_errmsg(tls, db))) goto geopolyInit_fail __10: ; @@ -205578,8 +205578,8 @@ func rbuFossilDeltaFunc(tls *libc.TLS, context uintptr, argc int32, argv uintptr // point to a buffer containing an error message. It is the responsibility // of the caller to (eventually) free this buffer using sqlite3_free(). func prepareAndCollectError(tls *libc.TLS, db uintptr, ppStmt uintptr, pzErrmsg uintptr, zSql uintptr) int32 { /* sqlite3.c:200791:12: */ - bp := tls.Alloc(16) - defer tls.Free(16) + bp := tls.Alloc(8) + defer tls.Free(8) var rc int32 = Xsqlite3_prepare_v2(tls, db, zSql, -1, ppStmt, uintptr(0)) if rc != SQLITE_OK { @@ -205596,8 +205596,8 @@ func prepareAndCollectError(tls *libc.TLS, db uintptr, ppStmt uintptr, pzErrmsg // containing an error message. It is the responsibility of the caller // to eventually free this buffer using sqlite3_free(). func resetAndCollectError(tls *libc.TLS, pStmt uintptr, pzErrmsg uintptr) int32 { /* sqlite3.c:200813:12: */ - bp := tls.Alloc(16) - defer tls.Free(16) + bp := tls.Alloc(8) + defer tls.Free(8) var rc int32 = Xsqlite3_reset(tls, pStmt) if rc != SQLITE_OK { @@ -205808,8 +205808,8 @@ func rbuTargetNameFunc(tls *libc.TLS, pCtx uintptr, argc int32, argv uintptr) { // left in the RBU handle passed as the first argument. A copy of the // error code is returned. func rbuObjIterFirst(tls *libc.TLS, p uintptr, pIter uintptr) int32 { /* sqlite3.c:201042:12: */ - bp := tls.Alloc(16) - defer tls.Free(16) + bp := tls.Alloc(8) + defer tls.Free(8) var rc int32 libc.Xmemset(tls, pIter, 0, uint64(unsafe.Sizeof(RbuObjIter{}))) @@ -205958,8 +205958,8 @@ func rbuStrndup(tls *libc.TLS, zStr uintptr, pRc uintptr) uintptr { /* sqlite3.c // rbu handle error code is not already set, set the error code and error // message accordingly. func rbuFinalize(tls *libc.TLS, p uintptr, pStmt uintptr) { /* sqlite3.c:201199:13: */ - bp := tls.Alloc(16) - defer tls.Free(16) + bp := tls.Alloc(8) + defer tls.Free(8) var db uintptr = Xsqlite3_db_handle(tls, pStmt) var rc int32 = Xsqlite3_finalize(tls, pStmt) @@ -206008,45 +206008,45 @@ func rbuFinalize(tls *libc.TLS, p uintptr, pStmt uintptr) { /* sqlite3.c:201199: // return RBU_PK_NONE // } func rbuTableType(tls *libc.TLS, p uintptr, zTab uintptr, peType uintptr, piTnum uintptr, piPk uintptr) { /* sqlite3.c:201247:13: */ - bp := tls.Alloc(96) - defer tls.Free(96) + bp := tls.Alloc(64) + defer tls.Free(64) // 0) SELECT count(*) FROM sqlite_schema where name=%Q AND IsVirtual(%Q) // 1) PRAGMA index_list = ? // 2) SELECT count(*) FROM sqlite_schema where name=%Q // 3) PRAGMA table_info = ? - // var aStmt [4]uintptr at bp+64, 32 + // var aStmt [4]uintptr at bp+32, 32 var zOrig uintptr var zIdx uintptr var i uint32 - *(*[4]uintptr)(unsafe.Pointer(bp + 64 /* aStmt */)) = [4]uintptr{uintptr(0), uintptr(0), uintptr(0), uintptr(0)} + *(*[4]uintptr)(unsafe.Pointer(bp + 32 /* aStmt */)) = [4]uintptr{uintptr(0), uintptr(0), uintptr(0), uintptr(0)} *(*int32)(unsafe.Pointer(peType)) = RBU_PK_NOTABLE *(*int32)(unsafe.Pointer(piPk)) = 0 - (*Sqlite3rbu)(unsafe.Pointer(p)).Frc = prepareFreeAndCollectError(tls, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbMain, (bp + 64 /* &aStmt */), (p + 64 /* &.zErrmsg */), + (*Sqlite3rbu)(unsafe.Pointer(p)).Frc = prepareFreeAndCollectError(tls, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbMain, (bp + 32 /* &aStmt */), (p + 64 /* &.zErrmsg */), Xsqlite3_mprintf(tls, ts+28019 /* "SELECT (sql LIKE..." */, libc.VaList(bp, zTab))) - if !(((*Sqlite3rbu)(unsafe.Pointer(p)).Frc != SQLITE_OK) || (Xsqlite3_step(tls, *(*uintptr)(unsafe.Pointer(bp + 64 /* &aStmt[0] */))) != SQLITE_ROW)) { + if !(((*Sqlite3rbu)(unsafe.Pointer(p)).Frc != SQLITE_OK) || (Xsqlite3_step(tls, *(*uintptr)(unsafe.Pointer(bp + 32 /* &aStmt[0] */))) != SQLITE_ROW)) { goto __1 } // Either an error, or no such table. goto rbuTableType_end __1: ; - if !(Xsqlite3_column_int(tls, *(*uintptr)(unsafe.Pointer(bp + 64 /* &aStmt[0] */)), 0) != 0) { + if !(Xsqlite3_column_int(tls, *(*uintptr)(unsafe.Pointer(bp + 32 /* &aStmt[0] */)), 0) != 0) { goto __2 } *(*int32)(unsafe.Pointer(peType)) = RBU_PK_VTAB // virtual table goto rbuTableType_end __2: ; - *(*int32)(unsafe.Pointer(piTnum)) = Xsqlite3_column_int(tls, *(*uintptr)(unsafe.Pointer(bp + 64 /* &aStmt[0] */)), 1) + *(*int32)(unsafe.Pointer(piTnum)) = Xsqlite3_column_int(tls, *(*uintptr)(unsafe.Pointer(bp + 32 /* &aStmt[0] */)), 1) - (*Sqlite3rbu)(unsafe.Pointer(p)).Frc = prepareFreeAndCollectError(tls, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbMain, (bp + 64 /* &aStmt */ + 1*8), (p + 64 /* &.zErrmsg */), - Xsqlite3_mprintf(tls, ts+28100 /* "PRAGMA index_lis..." */, libc.VaList(bp+16, zTab))) + (*Sqlite3rbu)(unsafe.Pointer(p)).Frc = prepareFreeAndCollectError(tls, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbMain, (bp + 32 /* &aStmt */ + 1*8), (p + 64 /* &.zErrmsg */), + Xsqlite3_mprintf(tls, ts+28100 /* "PRAGMA index_lis..." */, libc.VaList(bp+8, zTab))) if !((*Sqlite3rbu)(unsafe.Pointer(p)).Frc != 0) { goto __3 } @@ -206054,24 +206054,24 @@ __2: __3: ; __4: - if !(Xsqlite3_step(tls, *(*uintptr)(unsafe.Pointer(bp + 64 /* &aStmt[0] */ + 1*8))) == SQLITE_ROW) { + if !(Xsqlite3_step(tls, *(*uintptr)(unsafe.Pointer(bp + 32 /* &aStmt[0] */ + 1*8))) == SQLITE_ROW) { goto __5 } - zOrig = Xsqlite3_column_text(tls, *(*uintptr)(unsafe.Pointer(bp + 64 /* &aStmt[0] */ + 1*8)), 3) - zIdx = Xsqlite3_column_text(tls, *(*uintptr)(unsafe.Pointer(bp + 64 /* &aStmt[0] */ + 1*8)), 1) + zOrig = Xsqlite3_column_text(tls, *(*uintptr)(unsafe.Pointer(bp + 32 /* &aStmt[0] */ + 1*8)), 3) + zIdx = Xsqlite3_column_text(tls, *(*uintptr)(unsafe.Pointer(bp + 32 /* &aStmt[0] */ + 1*8)), 1) if !(((zOrig != 0) && (zIdx != 0)) && (int32(*(*U8)(unsafe.Pointer(zOrig))) == 'p')) { goto __6 } - (*Sqlite3rbu)(unsafe.Pointer(p)).Frc = prepareFreeAndCollectError(tls, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbMain, (bp + 64 /* &aStmt */ + 2*8), (p + 64 /* &.zErrmsg */), + (*Sqlite3rbu)(unsafe.Pointer(p)).Frc = prepareFreeAndCollectError(tls, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbMain, (bp + 32 /* &aStmt */ + 2*8), (p + 64 /* &.zErrmsg */), Xsqlite3_mprintf(tls, - ts+28121 /* "SELECT rootpage ..." */, libc.VaList(bp+32, zIdx))) + ts+28121 /* "SELECT rootpage ..." */, libc.VaList(bp+16, zIdx))) if !((*Sqlite3rbu)(unsafe.Pointer(p)).Frc == SQLITE_OK) { goto __7 } - if !(Xsqlite3_step(tls, *(*uintptr)(unsafe.Pointer(bp + 64 /* &aStmt[0] */ + 2*8))) == SQLITE_ROW) { + if !(Xsqlite3_step(tls, *(*uintptr)(unsafe.Pointer(bp + 32 /* &aStmt[0] */ + 2*8))) == SQLITE_ROW) { goto __8 } - *(*int32)(unsafe.Pointer(piPk)) = Xsqlite3_column_int(tls, *(*uintptr)(unsafe.Pointer(bp + 64 /* &aStmt[0] */ + 2*8)), 0) + *(*int32)(unsafe.Pointer(piPk)) = Xsqlite3_column_int(tls, *(*uintptr)(unsafe.Pointer(bp + 32 /* &aStmt[0] */ + 2*8)), 0) *(*int32)(unsafe.Pointer(peType)) = RBU_PK_EXTERNAL goto __9 __8: @@ -206087,16 +206087,16 @@ __6: __5: ; - (*Sqlite3rbu)(unsafe.Pointer(p)).Frc = prepareFreeAndCollectError(tls, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbMain, (bp + 64 /* &aStmt */ + 3*8), (p + 64 /* &.zErrmsg */), - Xsqlite3_mprintf(tls, ts+28172 /* "PRAGMA table_inf..." */, libc.VaList(bp+48, zTab))) + (*Sqlite3rbu)(unsafe.Pointer(p)).Frc = prepareFreeAndCollectError(tls, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbMain, (bp + 32 /* &aStmt */ + 3*8), (p + 64 /* &.zErrmsg */), + Xsqlite3_mprintf(tls, ts+28172 /* "PRAGMA table_inf..." */, libc.VaList(bp+24, zTab))) if !((*Sqlite3rbu)(unsafe.Pointer(p)).Frc == SQLITE_OK) { goto __10 } __11: - if !(Xsqlite3_step(tls, *(*uintptr)(unsafe.Pointer(bp + 64 /* &aStmt[0] */ + 3*8))) == SQLITE_ROW) { + if !(Xsqlite3_step(tls, *(*uintptr)(unsafe.Pointer(bp + 32 /* &aStmt[0] */ + 3*8))) == SQLITE_ROW) { goto __12 } - if !(Xsqlite3_column_int(tls, *(*uintptr)(unsafe.Pointer(bp + 64 /* &aStmt[0] */ + 3*8)), 5) > 0) { + if !(Xsqlite3_column_int(tls, *(*uintptr)(unsafe.Pointer(bp + 32 /* &aStmt[0] */ + 3*8)), 5) > 0) { goto __13 } *(*int32)(unsafe.Pointer(peType)) = RBU_PK_IPK // explicit IPK column @@ -206116,7 +206116,7 @@ __14: if !(uint64(i) < (uint64(unsafe.Sizeof([4]uintptr{})) / uint64(unsafe.Sizeof(uintptr(0))))) { goto __16 } - rbuFinalize(tls, p, *(*uintptr)(unsafe.Pointer(bp + 64 /* &aStmt[0] */ + uintptr(i)*8))) + rbuFinalize(tls, p, *(*uintptr)(unsafe.Pointer(bp + 32 /* &aStmt[0] */ + uintptr(i)*8))) goto __15 __15: i++ @@ -206128,33 +206128,33 @@ __16: // This is a helper function for rbuObjIterCacheTableInfo(). It populates // the pIter->abIndexed[] array. func rbuObjIterCacheIndexedCols(tls *libc.TLS, p uintptr, pIter uintptr) { /* sqlite3.c:201331:13: */ - bp := tls.Alloc(48) - defer tls.Free(48) + bp := tls.Alloc(32) + defer tls.Free(32) - *(*uintptr)(unsafe.Pointer(bp + 32 /* pList */)) = uintptr(0) + *(*uintptr)(unsafe.Pointer(bp + 16 /* pList */)) = uintptr(0) var bIndex int32 = 0 if (*Sqlite3rbu)(unsafe.Pointer(p)).Frc == SQLITE_OK { libc.Xmemcpy(tls, (*RbuObjIter)(unsafe.Pointer(pIter)).FabIndexed, (*RbuObjIter)(unsafe.Pointer(pIter)).FabTblPk, (uint64(unsafe.Sizeof(U8(0))) * uint64((*RbuObjIter)(unsafe.Pointer(pIter)).FnTblCol))) - (*Sqlite3rbu)(unsafe.Pointer(p)).Frc = prepareFreeAndCollectError(tls, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbMain, bp+32 /* &pList */, (p + 64 /* &.zErrmsg */), + (*Sqlite3rbu)(unsafe.Pointer(p)).Frc = prepareFreeAndCollectError(tls, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbMain, bp+16 /* &pList */, (p + 64 /* &.zErrmsg */), Xsqlite3_mprintf(tls, ts+28193 /* "PRAGMA main.inde..." */, libc.VaList(bp, (*RbuObjIter)(unsafe.Pointer(pIter)).FzTbl))) } (*RbuObjIter)(unsafe.Pointer(pIter)).FnIndex = 0 - for ((*Sqlite3rbu)(unsafe.Pointer(p)).Frc == SQLITE_OK) && (SQLITE_ROW == Xsqlite3_step(tls, *(*uintptr)(unsafe.Pointer(bp + 32 /* pList */)))) { - var zIdx uintptr = Xsqlite3_column_text(tls, *(*uintptr)(unsafe.Pointer(bp + 32 /* pList */)), 1) - var bPartial int32 = Xsqlite3_column_int(tls, *(*uintptr)(unsafe.Pointer(bp + 32 /* pList */)), 4) - *(*uintptr)(unsafe.Pointer(bp + 40 /* pXInfo */)) = uintptr(0) + for ((*Sqlite3rbu)(unsafe.Pointer(p)).Frc == SQLITE_OK) && (SQLITE_ROW == Xsqlite3_step(tls, *(*uintptr)(unsafe.Pointer(bp + 16 /* pList */)))) { + var zIdx uintptr = Xsqlite3_column_text(tls, *(*uintptr)(unsafe.Pointer(bp + 16 /* pList */)), 1) + var bPartial int32 = Xsqlite3_column_int(tls, *(*uintptr)(unsafe.Pointer(bp + 16 /* pList */)), 4) + *(*uintptr)(unsafe.Pointer(bp + 24 /* pXInfo */)) = uintptr(0) if zIdx == uintptr(0) { break } if bPartial != 0 { libc.Xmemset(tls, (*RbuObjIter)(unsafe.Pointer(pIter)).FabIndexed, 0x01, (uint64(unsafe.Sizeof(U8(0))) * uint64((*RbuObjIter)(unsafe.Pointer(pIter)).FnTblCol))) } - (*Sqlite3rbu)(unsafe.Pointer(p)).Frc = prepareFreeAndCollectError(tls, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbMain, bp+40 /* &pXInfo */, (p + 64 /* &.zErrmsg */), - Xsqlite3_mprintf(tls, ts+28221 /* "PRAGMA main.inde..." */, libc.VaList(bp+16, zIdx))) - for ((*Sqlite3rbu)(unsafe.Pointer(p)).Frc == SQLITE_OK) && (SQLITE_ROW == Xsqlite3_step(tls, *(*uintptr)(unsafe.Pointer(bp + 40 /* pXInfo */)))) { - var iCid int32 = Xsqlite3_column_int(tls, *(*uintptr)(unsafe.Pointer(bp + 40 /* pXInfo */)), 1) + (*Sqlite3rbu)(unsafe.Pointer(p)).Frc = prepareFreeAndCollectError(tls, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbMain, bp+24 /* &pXInfo */, (p + 64 /* &.zErrmsg */), + Xsqlite3_mprintf(tls, ts+28221 /* "PRAGMA main.inde..." */, libc.VaList(bp+8, zIdx))) + for ((*Sqlite3rbu)(unsafe.Pointer(p)).Frc == SQLITE_OK) && (SQLITE_ROW == Xsqlite3_step(tls, *(*uintptr)(unsafe.Pointer(bp + 24 /* pXInfo */)))) { + var iCid int32 = Xsqlite3_column_int(tls, *(*uintptr)(unsafe.Pointer(bp + 24 /* pXInfo */)), 1) if iCid >= 0 { *(*U8)(unsafe.Pointer((*RbuObjIter)(unsafe.Pointer(pIter)).FabIndexed + uintptr(iCid))) = U8(1) } @@ -206162,7 +206162,7 @@ func rbuObjIterCacheIndexedCols(tls *libc.TLS, p uintptr, pIter uintptr) { /* sq libc.Xmemset(tls, (*RbuObjIter)(unsafe.Pointer(pIter)).FabIndexed, 0x01, (uint64(unsafe.Sizeof(U8(0))) * uint64((*RbuObjIter)(unsafe.Pointer(pIter)).FnTblCol))) } } - rbuFinalize(tls, p, *(*uintptr)(unsafe.Pointer(bp + 40 /* pXInfo */))) + rbuFinalize(tls, p, *(*uintptr)(unsafe.Pointer(bp + 24 /* pXInfo */))) bIndex = 1 (*RbuObjIter)(unsafe.Pointer(pIter)).FnIndex++ } @@ -206172,7 +206172,7 @@ func rbuObjIterCacheIndexedCols(tls *libc.TLS, p uintptr, pIter uintptr) { /* sq (*RbuObjIter)(unsafe.Pointer(pIter)).FnIndex-- } - rbuFinalize(tls, p, *(*uintptr)(unsafe.Pointer(bp + 32 /* pList */))) + rbuFinalize(tls, p, *(*uintptr)(unsafe.Pointer(bp + 16 /* pList */))) if bIndex == 0 { (*RbuObjIter)(unsafe.Pointer(pIter)).FabIndexed = uintptr(0) } @@ -206186,20 +206186,20 @@ func rbuObjIterCacheIndexedCols(tls *libc.TLS, p uintptr, pIter uintptr) { /* sq // an error does occur, an error code and error message are also left in // the RBU handle. func rbuObjIterCacheTableInfo(tls *libc.TLS, p uintptr, pIter uintptr) int32 { /* sqlite3.c:201385:12: */ - bp := tls.Alloc(112) - defer tls.Free(112) + bp := tls.Alloc(72) + defer tls.Free(72) if (*RbuObjIter)(unsafe.Pointer(pIter)).FazTblCol == uintptr(0) { - *(*uintptr)(unsafe.Pointer(bp + 104 /* pStmt */)) = uintptr(0) + *(*uintptr)(unsafe.Pointer(bp + 64 /* pStmt */)) = uintptr(0) var nCol int32 = 0 var i int32 // for() loop iterator variable var bRbuRowid int32 = 0 // If input table has column "rbu_rowid" var iOrder int32 = 0 - *(*int32)(unsafe.Pointer(bp + 96 /* iTnum */)) = 0 + *(*int32)(unsafe.Pointer(bp + 56 /* iTnum */)) = 0 // Figure out the type of table this step will deal with. - rbuTableType(tls, p, (*RbuObjIter)(unsafe.Pointer(pIter)).FzTbl, (pIter + 72 /* &.eType */), bp+96 /* &iTnum */, (pIter + 108 /* &.iPkTnum */)) + rbuTableType(tls, p, (*RbuObjIter)(unsafe.Pointer(pIter)).FzTbl, (pIter + 72 /* &.eType */), bp+56 /* &iTnum */, (pIter + 108 /* &.iPkTnum */)) if ((*Sqlite3rbu)(unsafe.Pointer(p)).Frc == SQLITE_OK) && ((*RbuObjIter)(unsafe.Pointer(pIter)).FeType == RBU_PK_NOTABLE) { (*Sqlite3rbu)(unsafe.Pointer(p)).Frc = SQLITE_ERROR (*Sqlite3rbu)(unsafe.Pointer(p)).FzErrmsg = Xsqlite3_mprintf(tls, ts+19236 /* "no such table: %..." */, libc.VaList(bp, (*RbuObjIter)(unsafe.Pointer(pIter)).FzTbl)) @@ -206208,20 +206208,20 @@ func rbuObjIterCacheTableInfo(tls *libc.TLS, p uintptr, pIter uintptr) int32 { / return (*Sqlite3rbu)(unsafe.Pointer(p)).Frc } if (*RbuObjIter)(unsafe.Pointer(pIter)).FzIdx == uintptr(0) { - (*RbuObjIter)(unsafe.Pointer(pIter)).FiTnum = *(*int32)(unsafe.Pointer(bp + 96 /* iTnum */)) + (*RbuObjIter)(unsafe.Pointer(pIter)).FiTnum = *(*int32)(unsafe.Pointer(bp + 56 /* iTnum */)) } // Populate the azTblCol[] and nTblCol variables based on the columns // of the input table. Ignore any input table columns that begin with // "rbu_". - (*Sqlite3rbu)(unsafe.Pointer(p)).Frc = prepareFreeAndCollectError(tls, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbRbu, bp+104 /* &pStmt */, (p + 64 /* &.zErrmsg */), - Xsqlite3_mprintf(tls, ts+28250 /* "SELECT * FROM '%..." */, libc.VaList(bp+16, (*RbuObjIter)(unsafe.Pointer(pIter)).FzDataTbl))) + (*Sqlite3rbu)(unsafe.Pointer(p)).Frc = prepareFreeAndCollectError(tls, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbRbu, bp+64 /* &pStmt */, (p + 64 /* &.zErrmsg */), + Xsqlite3_mprintf(tls, ts+28250 /* "SELECT * FROM '%..." */, libc.VaList(bp+8, (*RbuObjIter)(unsafe.Pointer(pIter)).FzDataTbl))) if (*Sqlite3rbu)(unsafe.Pointer(p)).Frc == SQLITE_OK { - nCol = Xsqlite3_column_count(tls, *(*uintptr)(unsafe.Pointer(bp + 104 /* pStmt */))) + nCol = Xsqlite3_column_count(tls, *(*uintptr)(unsafe.Pointer(bp + 64 /* pStmt */))) rbuAllocateIterArrays(tls, p, pIter, nCol) } for i = 0; ((*Sqlite3rbu)(unsafe.Pointer(p)).Frc == SQLITE_OK) && (i < nCol); i++ { - var zName uintptr = Xsqlite3_column_name(tls, *(*uintptr)(unsafe.Pointer(bp + 104 /* pStmt */)), i) + var zName uintptr = Xsqlite3_column_name(tls, *(*uintptr)(unsafe.Pointer(bp + 64 /* pStmt */)), i) if Xsqlite3_strnicmp(tls, ts+28269 /* "rbu_" */, zName, 4) != 0 { var zCopy uintptr = rbuStrndup(tls, zName, (p + 56 /* &.rc */)) *(*int32)(unsafe.Pointer((*RbuObjIter)(unsafe.Pointer(pIter)).FaiSrcOrder + uintptr((*RbuObjIter)(unsafe.Pointer(pIter)).FnTblCol)*4)) = (*RbuObjIter)(unsafe.Pointer(pIter)).FnTblCol @@ -206230,15 +206230,15 @@ func rbuObjIterCacheTableInfo(tls *libc.TLS, p uintptr, pIter uintptr) int32 { / bRbuRowid = 1 } } - Xsqlite3_finalize(tls, *(*uintptr)(unsafe.Pointer(bp + 104 /* pStmt */))) - *(*uintptr)(unsafe.Pointer(bp + 104 /* pStmt */)) = uintptr(0) + Xsqlite3_finalize(tls, *(*uintptr)(unsafe.Pointer(bp + 64 /* pStmt */))) + *(*uintptr)(unsafe.Pointer(bp + 64 /* pStmt */)) = uintptr(0) if (((*Sqlite3rbu)(unsafe.Pointer(p)).Frc == SQLITE_OK) && ((libc.Bool32((*Sqlite3rbu)(unsafe.Pointer((p))).FzTarget == uintptr(0))) == 0)) && (bRbuRowid != (libc.Bool32(((*RbuObjIter)(unsafe.Pointer(pIter)).FeType == RBU_PK_VTAB) || ((*RbuObjIter)(unsafe.Pointer(pIter)).FeType == RBU_PK_NONE)))) { (*Sqlite3rbu)(unsafe.Pointer(p)).Frc = SQLITE_ERROR (*Sqlite3rbu)(unsafe.Pointer(p)).FzErrmsg = Xsqlite3_mprintf(tls, - ts+28284 /* "table %q %s rbu_..." */, libc.VaList(bp+32, (*RbuObjIter)(unsafe.Pointer(pIter)).FzDataTbl, + ts+28284 /* "table %q %s rbu_..." */, libc.VaList(bp+16, (*RbuObjIter)(unsafe.Pointer(pIter)).FzDataTbl, func() uintptr { if bRbuRowid != 0 { return ts + 28313 /* "may not have" */ @@ -206251,11 +206251,11 @@ func rbuObjIterCacheTableInfo(tls *libc.TLS, p uintptr, pIter uintptr) int32 { / // present in the input table. Populate the abTblPk[], azTblType[] and // aiTblOrder[] arrays at the same time. if (*Sqlite3rbu)(unsafe.Pointer(p)).Frc == SQLITE_OK { - (*Sqlite3rbu)(unsafe.Pointer(p)).Frc = prepareFreeAndCollectError(tls, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbMain, bp+104 /* &pStmt */, (p + 64 /* &.zErrmsg */), - Xsqlite3_mprintf(tls, ts+28335 /* "PRAGMA table_inf..." */, libc.VaList(bp+56, (*RbuObjIter)(unsafe.Pointer(pIter)).FzTbl))) + (*Sqlite3rbu)(unsafe.Pointer(p)).Frc = prepareFreeAndCollectError(tls, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbMain, bp+64 /* &pStmt */, (p + 64 /* &.zErrmsg */), + Xsqlite3_mprintf(tls, ts+28335 /* "PRAGMA table_inf..." */, libc.VaList(bp+32, (*RbuObjIter)(unsafe.Pointer(pIter)).FzTbl))) } - for ((*Sqlite3rbu)(unsafe.Pointer(p)).Frc == SQLITE_OK) && (SQLITE_ROW == Xsqlite3_step(tls, *(*uintptr)(unsafe.Pointer(bp + 104 /* pStmt */)))) { - var zName uintptr = Xsqlite3_column_text(tls, *(*uintptr)(unsafe.Pointer(bp + 104 /* pStmt */)), 1) + for ((*Sqlite3rbu)(unsafe.Pointer(p)).Frc == SQLITE_OK) && (SQLITE_ROW == Xsqlite3_step(tls, *(*uintptr)(unsafe.Pointer(bp + 64 /* pStmt */)))) { + var zName uintptr = Xsqlite3_column_text(tls, *(*uintptr)(unsafe.Pointer(bp + 64 /* pStmt */)), 1) if zName == uintptr(0) { break } // An OOM - finalize() below returns S_NOMEM @@ -206267,11 +206267,11 @@ func rbuObjIterCacheTableInfo(tls *libc.TLS, p uintptr, pIter uintptr) int32 { / if i == (*RbuObjIter)(unsafe.Pointer(pIter)).FnTblCol { (*Sqlite3rbu)(unsafe.Pointer(p)).Frc = SQLITE_ERROR (*Sqlite3rbu)(unsafe.Pointer(p)).FzErrmsg = Xsqlite3_mprintf(tls, ts+28357, /* "column missing f..." */ - libc.VaList(bp+72, (*RbuObjIter)(unsafe.Pointer(pIter)).FzDataTbl, zName)) + libc.VaList(bp+40, (*RbuObjIter)(unsafe.Pointer(pIter)).FzDataTbl, zName)) } else { - var iPk int32 = Xsqlite3_column_int(tls, *(*uintptr)(unsafe.Pointer(bp + 104 /* pStmt */)), 5) - var bNotNull int32 = Xsqlite3_column_int(tls, *(*uintptr)(unsafe.Pointer(bp + 104 /* pStmt */)), 3) - var zType uintptr = Xsqlite3_column_text(tls, *(*uintptr)(unsafe.Pointer(bp + 104 /* pStmt */)), 2) + var iPk int32 = Xsqlite3_column_int(tls, *(*uintptr)(unsafe.Pointer(bp + 64 /* pStmt */)), 5) + var bNotNull int32 = Xsqlite3_column_int(tls, *(*uintptr)(unsafe.Pointer(bp + 64 /* pStmt */)), 3) + var zType uintptr = Xsqlite3_column_text(tls, *(*uintptr)(unsafe.Pointer(bp + 64 /* pStmt */)), 2) if i != iOrder { { @@ -206296,7 +206296,7 @@ func rbuObjIterCacheTableInfo(tls *libc.TLS, p uintptr, pIter uintptr) int32 { / } } - rbuFinalize(tls, p, *(*uintptr)(unsafe.Pointer(bp + 104 /* pStmt */))) + rbuFinalize(tls, p, *(*uintptr)(unsafe.Pointer(bp + 64 /* pStmt */))) rbuObjIterCacheIndexedCols(tls, p, pIter) } @@ -206308,8 +206308,8 @@ func rbuObjIterCacheTableInfo(tls *libc.TLS, p uintptr, pIter uintptr) int32 { / // string containing some SQL clause or list based on one or more of the // column names currently stored in the pIter->azTblCol[] array. func rbuObjIterGetCollist(tls *libc.TLS, p uintptr, pIter uintptr) uintptr { /* sqlite3.c:201495:13: */ - bp := tls.Alloc(32) - defer tls.Free(32) + bp := tls.Alloc(24) + defer tls.Free(24) var zList uintptr = uintptr(0) var zSep uintptr = ts + 755 /* "" */ @@ -206327,8 +206327,8 @@ func rbuObjIterGetCollist(tls *libc.TLS, p uintptr, pIter uintptr) uintptr { /* // zPre. After each column name, add the zPost text. Use zSeparator as // the separator text (usually ", "). func rbuObjIterGetPkList(tls *libc.TLS, p uintptr, pIter uintptr, zPre uintptr, zSeparator uintptr, zPost uintptr) uintptr { /* sqlite3.c:201516:13: */ - bp := tls.Alloc(48) - defer tls.Free(48) + bp := tls.Alloc(40) + defer tls.Free(40) var iPk int32 = 1 var zRet uintptr = uintptr(0) @@ -206369,35 +206369,35 @@ func rbuObjIterGetPkList(tls *libc.TLS, p uintptr, pIter uintptr, zPre uintptr, // Instead of "?" placeholders, the actual WHERE clauses created by // this function contain literal SQL values. func rbuVacuumTableStart(tls *libc.TLS, p uintptr, pIter uintptr, bRowid int32, zWrite uintptr) uintptr { /* sqlite3.c:201561:13: */ - bp := tls.Alloc(112) - defer tls.Free(112) + bp := tls.Alloc(80) + defer tls.Free(80) - *(*uintptr)(unsafe.Pointer(bp + 104 /* pMax */)) = uintptr(0) + *(*uintptr)(unsafe.Pointer(bp + 72 /* pMax */)) = uintptr(0) var zRet uintptr = uintptr(0) if bRowid != 0 { - (*Sqlite3rbu)(unsafe.Pointer(p)).Frc = prepareFreeAndCollectError(tls, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbMain, bp+104 /* &pMax */, (p + 64 /* &.zErrmsg */), + (*Sqlite3rbu)(unsafe.Pointer(p)).Frc = prepareFreeAndCollectError(tls, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbMain, bp+72 /* &pMax */, (p + 64 /* &.zErrmsg */), Xsqlite3_mprintf(tls, ts+28406 /* "SELECT max(_rowi..." */, libc.VaList(bp, zWrite, (*RbuObjIter)(unsafe.Pointer(pIter)).FzTbl))) - if ((*Sqlite3rbu)(unsafe.Pointer(p)).Frc == SQLITE_OK) && (SQLITE_ROW == Xsqlite3_step(tls, *(*uintptr)(unsafe.Pointer(bp + 104 /* pMax */)))) { - var iMax Sqlite3_int64 = Xsqlite3_column_int64(tls, *(*uintptr)(unsafe.Pointer(bp + 104 /* pMax */)), 0) - zRet = rbuMPrintf(tls, p, ts+28438 /* " WHERE _rowid_ >..." */, libc.VaList(bp+24, iMax)) + if ((*Sqlite3rbu)(unsafe.Pointer(p)).Frc == SQLITE_OK) && (SQLITE_ROW == Xsqlite3_step(tls, *(*uintptr)(unsafe.Pointer(bp + 72 /* pMax */)))) { + var iMax Sqlite3_int64 = Xsqlite3_column_int64(tls, *(*uintptr)(unsafe.Pointer(bp + 72 /* pMax */)), 0) + zRet = rbuMPrintf(tls, p, ts+28438 /* " WHERE _rowid_ >..." */, libc.VaList(bp+16, iMax)) } - rbuFinalize(tls, p, *(*uintptr)(unsafe.Pointer(bp + 104 /* pMax */))) + rbuFinalize(tls, p, *(*uintptr)(unsafe.Pointer(bp + 72 /* pMax */))) } else { var zOrder uintptr = rbuObjIterGetPkList(tls, p, pIter, ts+755 /* "" */, ts+14691 /* ", " */, ts+28461 /* " DESC" */) var zSelect uintptr = rbuObjIterGetPkList(tls, p, pIter, ts+28467 /* "quote(" */, ts+28474 /* "||','||" */, ts+5428 /* ")" */) var zList uintptr = rbuObjIterGetPkList(tls, p, pIter, ts+755 /* "" */, ts+14691 /* ", " */, ts+755 /* "" */) if (*Sqlite3rbu)(unsafe.Pointer(p)).Frc == SQLITE_OK { - (*Sqlite3rbu)(unsafe.Pointer(p)).Frc = prepareFreeAndCollectError(tls, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbMain, bp+104 /* &pMax */, (p + 64 /* &.zErrmsg */), + (*Sqlite3rbu)(unsafe.Pointer(p)).Frc = prepareFreeAndCollectError(tls, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbMain, bp+72 /* &pMax */, (p + 64 /* &.zErrmsg */), Xsqlite3_mprintf(tls, ts+28482, /* "SELECT %s FROM \"..." */ - libc.VaList(bp+40, zSelect, zWrite, (*RbuObjIter)(unsafe.Pointer(pIter)).FzTbl, zOrder))) - if ((*Sqlite3rbu)(unsafe.Pointer(p)).Frc == SQLITE_OK) && (SQLITE_ROW == Xsqlite3_step(tls, *(*uintptr)(unsafe.Pointer(bp + 104 /* pMax */)))) { - var zVal uintptr = Xsqlite3_column_text(tls, *(*uintptr)(unsafe.Pointer(bp + 104 /* pMax */)), 0) - zRet = rbuMPrintf(tls, p, ts+28524 /* " WHERE (%s) > (%..." */, libc.VaList(bp+80, zList, zVal)) + libc.VaList(bp+24, zSelect, zWrite, (*RbuObjIter)(unsafe.Pointer(pIter)).FzTbl, zOrder))) + if ((*Sqlite3rbu)(unsafe.Pointer(p)).Frc == SQLITE_OK) && (SQLITE_ROW == Xsqlite3_step(tls, *(*uintptr)(unsafe.Pointer(bp + 72 /* pMax */)))) { + var zVal uintptr = Xsqlite3_column_text(tls, *(*uintptr)(unsafe.Pointer(bp + 72 /* pMax */)), 0) + zRet = rbuMPrintf(tls, p, ts+28524 /* " WHERE (%s) > (%..." */, libc.VaList(bp+56, zList, zVal)) } - rbuFinalize(tls, p, *(*uintptr)(unsafe.Pointer(bp + 104 /* pMax */))) + rbuFinalize(tls, p, *(*uintptr)(unsafe.Pointer(bp + 72 /* pMax */))) } Xsqlite3_free(tls, zOrder) @@ -206428,8 +206428,8 @@ func rbuVacuumTableStart(tls *libc.TLS, p uintptr, pIter uintptr, bRowid int32, // the caller has to use an OFFSET clause to extract only the required // rows from the sourct table, just as it does for an RBU update operation. func XrbuVacuumIndexStart(tls *libc.TLS, p uintptr, pIter uintptr) uintptr { /* sqlite3.c:201628:6: */ - bp := tls.Alloc(248) - defer tls.Free(248) + bp := tls.Alloc(192) + defer tls.Free(192) var zOrder uintptr var zLhs uintptr @@ -206439,14 +206439,14 @@ func XrbuVacuumIndexStart(tls *libc.TLS, p uintptr, pIter uintptr) uintptr { /* var bFailed int32 var zSep uintptr var iCol int32 - // var pXInfo uintptr at bp+232, 8 + // var pXInfo uintptr at bp+176, 8 var i int32 var iCid int32 var zCollate uintptr var zCol uintptr var zQuoted uintptr - // var pSel uintptr at bp+240, 8 + // var pSel uintptr at bp+184, 8 zOrder = uintptr(0) zLhs = uintptr(0) zSelect = uintptr(0) @@ -206455,17 +206455,17 @@ func XrbuVacuumIndexStart(tls *libc.TLS, p uintptr, pIter uintptr) uintptr { /* bFailed = 0 zSep = ts + 755 /* "" */ iCol = 0 - *(*uintptr)(unsafe.Pointer(bp + 232 /* pXInfo */)) = uintptr(0) + *(*uintptr)(unsafe.Pointer(bp + 176 /* pXInfo */)) = uintptr(0) - (*Sqlite3rbu)(unsafe.Pointer(p)).Frc = prepareFreeAndCollectError(tls, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbMain, bp+232 /* &pXInfo */, (p + 64 /* &.zErrmsg */), + (*Sqlite3rbu)(unsafe.Pointer(p)).Frc = prepareFreeAndCollectError(tls, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbMain, bp+176 /* &pXInfo */, (p + 64 /* &.zErrmsg */), Xsqlite3_mprintf(tls, ts+28221 /* "PRAGMA main.inde..." */, libc.VaList(bp, (*RbuObjIter)(unsafe.Pointer(pIter)).FzIdx))) __1: - if !(((*Sqlite3rbu)(unsafe.Pointer(p)).Frc == SQLITE_OK) && (SQLITE_ROW == Xsqlite3_step(tls, *(*uintptr)(unsafe.Pointer(bp + 232 /* pXInfo */))))) { + if !(((*Sqlite3rbu)(unsafe.Pointer(p)).Frc == SQLITE_OK) && (SQLITE_ROW == Xsqlite3_step(tls, *(*uintptr)(unsafe.Pointer(bp + 176 /* pXInfo */))))) { goto __2 } - iCid = Xsqlite3_column_int(tls, *(*uintptr)(unsafe.Pointer(bp + 232 /* pXInfo */)), 1) - zCollate = Xsqlite3_column_text(tls, *(*uintptr)(unsafe.Pointer(bp + 232 /* pXInfo */)), 4) - if !(Xsqlite3_column_int(tls, *(*uintptr)(unsafe.Pointer(bp + 232 /* pXInfo */)), 3) != 0) { + iCid = Xsqlite3_column_int(tls, *(*uintptr)(unsafe.Pointer(bp + 176 /* pXInfo */)), 1) + zCollate = Xsqlite3_column_text(tls, *(*uintptr)(unsafe.Pointer(bp + 176 /* pXInfo */)), 4) + if !(Xsqlite3_column_int(tls, *(*uintptr)(unsafe.Pointer(bp + 176 /* pXInfo */)), 3) != 0) { goto __3 } bFailed = 1 @@ -206505,17 +206505,17 @@ __5: ; zLhs = rbuMPrintf(tls, p, ts+28552, /* "%z%s \"%w\" COLLAT..." */ - libc.VaList(bp+16, zLhs, zSep, zCol, zCollate)) + libc.VaList(bp+8, zLhs, zSep, zCol, zCollate)) zOrder = rbuMPrintf(tls, p, ts+28573, /* "%z%s \"rbu_imp_%d..." */ - libc.VaList(bp+56, zOrder, zSep, iCol, zCol, zCollate)) + libc.VaList(bp+40, zOrder, zSep, iCol, zCol, zCollate)) zSelect = rbuMPrintf(tls, p, ts+28609, /* "%z%s quote(\"rbu_..." */ - libc.VaList(bp+104, zSelect, zSep, iCol, zCol)) + libc.VaList(bp+80, zSelect, zSep, iCol, zCol)) zSep = ts + 14691 /* ", " */ iCol++ goto __1 __2: ; - rbuFinalize(tls, p, *(*uintptr)(unsafe.Pointer(bp + 232 /* pXInfo */))) + rbuFinalize(tls, p, *(*uintptr)(unsafe.Pointer(bp + 176 /* pXInfo */))) if !(bFailed != 0) { goto __11 } @@ -206526,12 +206526,12 @@ __11: if !((*Sqlite3rbu)(unsafe.Pointer(p)).Frc == SQLITE_OK) { goto __12 } - *(*uintptr)(unsafe.Pointer(bp + 240 /* pSel */)) = uintptr(0) + *(*uintptr)(unsafe.Pointer(bp + 184 /* pSel */)) = uintptr(0) - (*Sqlite3rbu)(unsafe.Pointer(p)).Frc = prepareFreeAndCollectError(tls, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbMain, bp+240 /* &pSel */, (p + 64 /* &.zErrmsg */), + (*Sqlite3rbu)(unsafe.Pointer(p)).Frc = prepareFreeAndCollectError(tls, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbMain, bp+184 /* &pSel */, (p + 64 /* &.zErrmsg */), Xsqlite3_mprintf(tls, ts+28636, /* "SELECT %s FROM \"..." */ - libc.VaList(bp+144, zSelect, (*RbuObjIter)(unsafe.Pointer(pIter)).FzTbl, zOrder))) - if !(((*Sqlite3rbu)(unsafe.Pointer(p)).Frc == SQLITE_OK) && (SQLITE_ROW == Xsqlite3_step(tls, *(*uintptr)(unsafe.Pointer(bp + 240 /* pSel */))))) { + libc.VaList(bp+112, zSelect, (*RbuObjIter)(unsafe.Pointer(pIter)).FzTbl, zOrder))) + if !(((*Sqlite3rbu)(unsafe.Pointer(p)).Frc == SQLITE_OK) && (SQLITE_ROW == Xsqlite3_step(tls, *(*uintptr)(unsafe.Pointer(bp + 184 /* pSel */))))) { goto __13 } zSep = ts + 755 /* "" */ @@ -206540,7 +206540,7 @@ __14: if !(iCol < (*RbuObjIter)(unsafe.Pointer(pIter)).FnCol) { goto __16 } - zQuoted = Xsqlite3_column_text(tls, *(*uintptr)(unsafe.Pointer(bp + 240 /* pSel */)), iCol) + zQuoted = Xsqlite3_column_text(tls, *(*uintptr)(unsafe.Pointer(bp + 184 /* pSel */)), iCol) if !(zQuoted == uintptr(0)) { goto __17 } @@ -206556,7 +206556,7 @@ __19: ; __18: ; - zVector = rbuMPrintf(tls, p, ts+28684 /* "%z%s%s" */, libc.VaList(bp+176, zVector, zSep, zQuoted)) + zVector = rbuMPrintf(tls, p, ts+28684 /* "%z%s%s" */, libc.VaList(bp+136, zVector, zSep, zQuoted)) zSep = ts + 14691 /* ", " */ goto __15 __15: @@ -206569,12 +206569,12 @@ __16: if !(!(bFailed != 0)) { goto __20 } - zRet = rbuMPrintf(tls, p, ts+28691 /* "(%s) > (%s)" */, libc.VaList(bp+208, zLhs, zVector)) + zRet = rbuMPrintf(tls, p, ts+28691 /* "(%s) > (%s)" */, libc.VaList(bp+160, zLhs, zVector)) __20: ; __13: ; - rbuFinalize(tls, p, *(*uintptr)(unsafe.Pointer(bp + 240 /* pSel */))) + rbuFinalize(tls, p, *(*uintptr)(unsafe.Pointer(bp + 184 /* pSel */))) __12: ; @@ -206609,8 +206609,8 @@ index_start_out: // pzImposterPk: ... // pzWhere: ... func rbuObjIterGetIndexCols(tls *libc.TLS, p uintptr, pIter uintptr, pzImposterCols uintptr, pzImposterPk uintptr, pzWhere uintptr, pnBind uintptr) uintptr { /* sqlite3.c:201743:13: */ - bp := tls.Alloc(256) - defer tls.Free(256) + bp := tls.Alloc(208) + defer tls.Free(208) var rc int32 = (*Sqlite3rbu)(unsafe.Pointer(p)).Frc // Error code var rc2 int32 // sqlite3_finalize() return code @@ -206621,24 +206621,24 @@ func rbuObjIterGetIndexCols(tls *libc.TLS, p uintptr, pIter uintptr, pzImposterC var nBind int32 = 0 // Value to return via *pnBind var zCom uintptr = ts + 755 /* "" */ // Set to ", " later on var zAnd uintptr = ts + 755 /* "" */ // Set to " AND " later on - *(*uintptr)(unsafe.Pointer(bp + 248 /* pXInfo */)) = uintptr(0) // PRAGMA index_xinfo = ? + *(*uintptr)(unsafe.Pointer(bp + 200 /* pXInfo */)) = uintptr(0) // PRAGMA index_xinfo = ? if rc == SQLITE_OK { - rc = prepareFreeAndCollectError(tls, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbMain, bp+248 /* &pXInfo */, (p + 64 /* &.zErrmsg */), + rc = prepareFreeAndCollectError(tls, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbMain, bp+200 /* &pXInfo */, (p + 64 /* &.zErrmsg */), Xsqlite3_mprintf(tls, ts+28221 /* "PRAGMA main.inde..." */, libc.VaList(bp, (*RbuObjIter)(unsafe.Pointer(pIter)).FzIdx))) } - for (rc == SQLITE_OK) && (SQLITE_ROW == Xsqlite3_step(tls, *(*uintptr)(unsafe.Pointer(bp + 248 /* pXInfo */)))) { - var iCid int32 = Xsqlite3_column_int(tls, *(*uintptr)(unsafe.Pointer(bp + 248 /* pXInfo */)), 1) - var bDesc int32 = Xsqlite3_column_int(tls, *(*uintptr)(unsafe.Pointer(bp + 248 /* pXInfo */)), 3) - var zCollate uintptr = Xsqlite3_column_text(tls, *(*uintptr)(unsafe.Pointer(bp + 248 /* pXInfo */)), 4) + for (rc == SQLITE_OK) && (SQLITE_ROW == Xsqlite3_step(tls, *(*uintptr)(unsafe.Pointer(bp + 200 /* pXInfo */)))) { + var iCid int32 = Xsqlite3_column_int(tls, *(*uintptr)(unsafe.Pointer(bp + 200 /* pXInfo */)), 1) + var bDesc int32 = Xsqlite3_column_int(tls, *(*uintptr)(unsafe.Pointer(bp + 200 /* pXInfo */)), 3) + var zCollate uintptr = Xsqlite3_column_text(tls, *(*uintptr)(unsafe.Pointer(bp + 200 /* pXInfo */)), 4) var zCol uintptr = uintptr(0) var zType uintptr if iCid == -2 { - var iSeq int32 = Xsqlite3_column_int(tls, *(*uintptr)(unsafe.Pointer(bp + 248 /* pXInfo */)), 0) - zRet = Xsqlite3_mprintf(tls, ts+28703 /* "%z%s(%.*s) COLLA..." */, libc.VaList(bp+16, zRet, zCom, + var iSeq int32 = Xsqlite3_column_int(tls, *(*uintptr)(unsafe.Pointer(bp + 200 /* pXInfo */)), 0) + zRet = Xsqlite3_mprintf(tls, ts+28703 /* "%z%s(%.*s) COLLA..." */, libc.VaList(bp+8, zRet, zCom, (*RbuSpan)(unsafe.Pointer((*RbuObjIter)(unsafe.Pointer(pIter)).FaIdxCol+uintptr(iSeq)*16)).FnSpan, (*RbuSpan)(unsafe.Pointer((*RbuObjIter)(unsafe.Pointer(pIter)).FaIdxCol+uintptr(iSeq)*16)).FzSpan, zCollate)) zType = ts + 755 /* "" */ } else { @@ -206661,10 +206661,10 @@ func rbuObjIterGetIndexCols(tls *libc.TLS, p uintptr, pIter uintptr, pzImposterC zCol = *(*uintptr)(unsafe.Pointer((*RbuObjIter)(unsafe.Pointer(pIter)).FazTblCol + uintptr(iCid)*8)) zType = *(*uintptr)(unsafe.Pointer((*RbuObjIter)(unsafe.Pointer(pIter)).FazTblType + uintptr(iCid)*8)) } - zRet = Xsqlite3_mprintf(tls, ts+28725 /* "%z%s\"%w\" COLLATE..." */, libc.VaList(bp+64, zRet, zCom, zCol, zCollate)) + zRet = Xsqlite3_mprintf(tls, ts+28725 /* "%z%s\"%w\" COLLATE..." */, libc.VaList(bp+48, zRet, zCom, zCol, zCollate)) } - if ((*RbuObjIter)(unsafe.Pointer(pIter)).FbUnique == 0) || (Xsqlite3_column_int(tls, *(*uintptr)(unsafe.Pointer(bp + 248 /* pXInfo */)), 5) != 0) { + if ((*RbuObjIter)(unsafe.Pointer(pIter)).FbUnique == 0) || (Xsqlite3_column_int(tls, *(*uintptr)(unsafe.Pointer(bp + 200 /* pXInfo */)), 5) != 0) { var zOrder uintptr = func() uintptr { if bDesc != 0 { return ts + 28461 /* " DESC" */ @@ -206672,12 +206672,12 @@ func rbuObjIterGetIndexCols(tls *libc.TLS, p uintptr, pIter uintptr, pzImposterC return ts + 755 /* "" */ }() zImpPK = Xsqlite3_mprintf(tls, ts+28745, /* "%z%s\"rbu_imp_%d%..." */ - libc.VaList(bp+104, zImpPK, zCom, nBind, zCol, zOrder)) + libc.VaList(bp+80, zImpPK, zCom, nBind, zCol, zOrder)) } zImpCols = Xsqlite3_mprintf(tls, ts+28766, /* "%z%s\"rbu_imp_%d%..." */ - libc.VaList(bp+152, zImpCols, zCom, nBind, zCol, zType, zCollate)) + libc.VaList(bp+120, zImpCols, zCom, nBind, zCol, zType, zCollate)) zWhere = Xsqlite3_mprintf(tls, - ts+28799 /* "%z%s\"rbu_imp_%d%..." */, libc.VaList(bp+208, zWhere, zAnd, nBind, zCol)) + ts+28799 /* "%z%s\"rbu_imp_%d%..." */, libc.VaList(bp+168, zWhere, zAnd, nBind, zCol)) if (((zRet == uintptr(0)) || (zImpPK == uintptr(0))) || (zImpCols == uintptr(0))) || (zWhere == uintptr(0)) { rc = SQLITE_NOMEM } @@ -206686,7 +206686,7 @@ func rbuObjIterGetIndexCols(tls *libc.TLS, p uintptr, pIter uintptr, pzImposterC nBind++ } - rc2 = Xsqlite3_finalize(tls, *(*uintptr)(unsafe.Pointer(bp + 248 /* pXInfo */))) + rc2 = Xsqlite3_finalize(tls, *(*uintptr)(unsafe.Pointer(bp + 200 /* pXInfo */))) if rc == SQLITE_OK { rc = rc2 } @@ -206720,8 +206720,8 @@ func rbuObjIterGetIndexCols(tls *libc.TLS, p uintptr, pIter uintptr, pzImposterC // For tables with implicit rowids - RBU_PK_EXTERNAL and RBU_PK_NONE, append // the text ", old._rowid_" to the returned value. func rbuObjIterGetOldlist(tls *libc.TLS, p uintptr, pIter uintptr, zObj uintptr) uintptr { /* sqlite3.c:201855:13: */ - bp := tls.Alloc(88) - defer tls.Free(88) + bp := tls.Alloc(64) + defer tls.Free(64) var zList uintptr = uintptr(0) if ((*Sqlite3rbu)(unsafe.Pointer(p)).Frc == SQLITE_OK) && ((*RbuObjIter)(unsafe.Pointer(pIter)).FabIndexed != 0) { @@ -206732,7 +206732,7 @@ func rbuObjIterGetOldlist(tls *libc.TLS, p uintptr, pIter uintptr, zObj uintptr) var zCol uintptr = *(*uintptr)(unsafe.Pointer((*RbuObjIter)(unsafe.Pointer(pIter)).FazTblCol + uintptr(i)*8)) zList = Xsqlite3_mprintf(tls, ts+28823 /* "%z%s%s.\"%w\"" */, libc.VaList(bp, zList, zS, zObj, zCol)) } else { - zList = Xsqlite3_mprintf(tls, ts+28835 /* "%z%sNULL" */, libc.VaList(bp+40, zList, zS)) + zList = Xsqlite3_mprintf(tls, ts+28835 /* "%z%sNULL" */, libc.VaList(bp+32, zList, zS)) } zS = ts + 14691 /* ", " */ if zList == uintptr(0) { @@ -206743,7 +206743,7 @@ func rbuObjIterGetOldlist(tls *libc.TLS, p uintptr, pIter uintptr, zObj uintptr) // For a table with implicit rowids, append "old._rowid_" to the list. if ((*RbuObjIter)(unsafe.Pointer(pIter)).FeType == RBU_PK_EXTERNAL) || ((*RbuObjIter)(unsafe.Pointer(pIter)).FeType == RBU_PK_NONE) { - zList = rbuMPrintf(tls, p, ts+28844 /* "%z, %s._rowid_" */, libc.VaList(bp+64, zList, zObj)) + zList = rbuMPrintf(tls, p, ts+28844 /* "%z, %s._rowid_" */, libc.VaList(bp+48, zList, zObj)) } } return zList @@ -206758,8 +206758,8 @@ func rbuObjIterGetOldlist(tls *libc.TLS, p uintptr, pIter uintptr, zObj uintptr) // // "b = ?1 AND c = ?2" func rbuObjIterGetWhere(tls *libc.TLS, p uintptr, pIter uintptr) uintptr { /* sqlite3.c:201896:13: */ - bp := tls.Alloc(112) - defer tls.Free(112) + bp := tls.Alloc(80) + defer tls.Free(80) var zList uintptr = uintptr(0) if ((*RbuObjIter)(unsafe.Pointer(pIter)).FeType == RBU_PK_VTAB) || ((*RbuObjIter)(unsafe.Pointer(pIter)).FeType == RBU_PK_NONE) { @@ -206769,12 +206769,12 @@ func rbuObjIterGetWhere(tls *libc.TLS, p uintptr, pIter uintptr) uintptr { /* sq var i int32 for i = 0; i < (*RbuObjIter)(unsafe.Pointer(pIter)).FnTblCol; i++ { if *(*U8)(unsafe.Pointer((*RbuObjIter)(unsafe.Pointer(pIter)).FabTblPk + uintptr(i))) != 0 { - zList = rbuMPrintf(tls, p, ts+28873 /* "%z%sc%d=?%d" */, libc.VaList(bp+16, zList, zSep, i, (i+1))) + zList = rbuMPrintf(tls, p, ts+28873 /* "%z%sc%d=?%d" */, libc.VaList(bp+8, zList, zSep, i, (i+1))) zSep = ts + 21256 /* " AND " */ } } zList = rbuMPrintf(tls, p, - ts+28885 /* "_rowid_ = (SELEC..." */, libc.VaList(bp+56, zList)) + ts+28885 /* "_rowid_ = (SELEC..." */, libc.VaList(bp+40, zList)) } else { var zSep uintptr = ts + 755 /* "" */ @@ -206782,7 +206782,7 @@ func rbuObjIterGetWhere(tls *libc.TLS, p uintptr, pIter uintptr) uintptr { /* sq for i = 0; i < (*RbuObjIter)(unsafe.Pointer(pIter)).FnTblCol; i++ { if *(*U8)(unsafe.Pointer((*RbuObjIter)(unsafe.Pointer(pIter)).FabTblPk + uintptr(i))) != 0 { var zCol uintptr = *(*uintptr)(unsafe.Pointer((*RbuObjIter)(unsafe.Pointer(pIter)).FazTblCol + uintptr(i)*8)) - zList = rbuMPrintf(tls, p, ts+28935 /* "%z%s\"%w\"=?%d" */, libc.VaList(bp+72, zList, zSep, zCol, (i+1))) + zList = rbuMPrintf(tls, p, ts+28935 /* "%z%s\"%w\"=?%d" */, libc.VaList(bp+48, zList, zSep, zCol, (i+1))) zSep = ts + 21256 /* " AND " */ } } @@ -206816,8 +206816,8 @@ func rbuBadControlError(tls *libc.TLS, p uintptr) { /* sqlite3.c:201937:13: */ // when this function is called, NULL is returned immediately, without // attempting the allocation or modifying the stored error code. func rbuObjIterGetSetlist(tls *libc.TLS, p uintptr, pIter uintptr, zMask uintptr) uintptr { /* sqlite3.c:201960:13: */ - bp := tls.Alloc(136) - defer tls.Free(136) + bp := tls.Alloc(112) + defer tls.Free(112) var zList uintptr = uintptr(0) if (*Sqlite3rbu)(unsafe.Pointer(p)).Frc == SQLITE_OK { @@ -206835,11 +206835,11 @@ func rbuObjIterGetSetlist(tls *libc.TLS, p uintptr, pIter uintptr, zMask uintptr zSep = ts + 14691 /* ", " */ } else if int32(c) == 'd' { zList = rbuMPrintf(tls, p, ts+28974, /* "%z%s\"%w\"=rbu_del..." */ - libc.VaList(bp+40, zList, zSep, *(*uintptr)(unsafe.Pointer((*RbuObjIter)(unsafe.Pointer(pIter)).FazTblCol + uintptr(i)*8)), *(*uintptr)(unsafe.Pointer((*RbuObjIter)(unsafe.Pointer(pIter)).FazTblCol + uintptr(i)*8)), (i+1))) + libc.VaList(bp+32, zList, zSep, *(*uintptr)(unsafe.Pointer((*RbuObjIter)(unsafe.Pointer(pIter)).FazTblCol + uintptr(i)*8)), *(*uintptr)(unsafe.Pointer((*RbuObjIter)(unsafe.Pointer(pIter)).FazTblCol + uintptr(i)*8)), (i+1))) zSep = ts + 14691 /* ", " */ } else if int32(c) == 'f' { zList = rbuMPrintf(tls, p, ts+29004, /* "%z%s\"%w\"=rbu_fos..." */ - libc.VaList(bp+88, zList, zSep, *(*uintptr)(unsafe.Pointer((*RbuObjIter)(unsafe.Pointer(pIter)).FazTblCol + uintptr(i)*8)), *(*uintptr)(unsafe.Pointer((*RbuObjIter)(unsafe.Pointer(pIter)).FazTblCol + uintptr(i)*8)), (i+1))) + libc.VaList(bp+72, zList, zSep, *(*uintptr)(unsafe.Pointer((*RbuObjIter)(unsafe.Pointer(pIter)).FazTblCol + uintptr(i)*8)), *(*uintptr)(unsafe.Pointer((*RbuObjIter)(unsafe.Pointer(pIter)).FazTblCol + uintptr(i)*8)), (i+1))) zSep = ts + 14691 /* ", " */ } } @@ -206892,47 +206892,47 @@ func rbuObjIterGetBindlist(tls *libc.TLS, p uintptr, nBind int32) uintptr { /* s // // PRIMARY KEY("b", "a" DESC) func rbuWithoutRowidPK(tls *libc.TLS, p uintptr, pIter uintptr) uintptr { /* sqlite3.c:202041:13: */ - bp := tls.Alloc(104) - defer tls.Free(104) + bp := tls.Alloc(72) + defer tls.Free(72) var z uintptr = uintptr(0) if (*Sqlite3rbu)(unsafe.Pointer(p)).Frc == SQLITE_OK { var zSep uintptr = ts + 29041 /* "PRIMARY KEY(" */ - *(*uintptr)(unsafe.Pointer(bp + 88 /* pXList */)) = uintptr(0) // PRAGMA index_list = (pIter->zTbl) - *(*uintptr)(unsafe.Pointer(bp + 96 /* pXInfo */)) = uintptr(0) // PRAGMA index_xinfo = + *(*uintptr)(unsafe.Pointer(bp + 56 /* pXList */)) = uintptr(0) // PRAGMA index_list = (pIter->zTbl) + *(*uintptr)(unsafe.Pointer(bp + 64 /* pXInfo */)) = uintptr(0) // PRAGMA index_xinfo = - (*Sqlite3rbu)(unsafe.Pointer(p)).Frc = prepareFreeAndCollectError(tls, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbMain, bp+88 /* &pXList */, (p + 64 /* &.zErrmsg */), + (*Sqlite3rbu)(unsafe.Pointer(p)).Frc = prepareFreeAndCollectError(tls, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbMain, bp+56 /* &pXList */, (p + 64 /* &.zErrmsg */), Xsqlite3_mprintf(tls, ts+28193 /* "PRAGMA main.inde..." */, libc.VaList(bp, (*RbuObjIter)(unsafe.Pointer(pIter)).FzTbl))) - for ((*Sqlite3rbu)(unsafe.Pointer(p)).Frc == SQLITE_OK) && (SQLITE_ROW == Xsqlite3_step(tls, *(*uintptr)(unsafe.Pointer(bp + 88 /* pXList */)))) { - var zOrig uintptr = Xsqlite3_column_text(tls, *(*uintptr)(unsafe.Pointer(bp + 88 /* pXList */)), 3) + for ((*Sqlite3rbu)(unsafe.Pointer(p)).Frc == SQLITE_OK) && (SQLITE_ROW == Xsqlite3_step(tls, *(*uintptr)(unsafe.Pointer(bp + 56 /* pXList */)))) { + var zOrig uintptr = Xsqlite3_column_text(tls, *(*uintptr)(unsafe.Pointer(bp + 56 /* pXList */)), 3) if (zOrig != 0) && (libc.Xstrcmp(tls, zOrig, ts+16035 /* "pk" */) == 0) { - var zIdx uintptr = Xsqlite3_column_text(tls, *(*uintptr)(unsafe.Pointer(bp + 88 /* pXList */)), 1) + var zIdx uintptr = Xsqlite3_column_text(tls, *(*uintptr)(unsafe.Pointer(bp + 56 /* pXList */)), 1) if zIdx != 0 { - (*Sqlite3rbu)(unsafe.Pointer(p)).Frc = prepareFreeAndCollectError(tls, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbMain, bp+96 /* &pXInfo */, (p + 64 /* &.zErrmsg */), - Xsqlite3_mprintf(tls, ts+28221 /* "PRAGMA main.inde..." */, libc.VaList(bp+16, zIdx))) + (*Sqlite3rbu)(unsafe.Pointer(p)).Frc = prepareFreeAndCollectError(tls, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbMain, bp+64 /* &pXInfo */, (p + 64 /* &.zErrmsg */), + Xsqlite3_mprintf(tls, ts+28221 /* "PRAGMA main.inde..." */, libc.VaList(bp+8, zIdx))) } break } } - rbuFinalize(tls, p, *(*uintptr)(unsafe.Pointer(bp + 88 /* pXList */))) + rbuFinalize(tls, p, *(*uintptr)(unsafe.Pointer(bp + 56 /* pXList */))) - for ((*Sqlite3rbu)(unsafe.Pointer(p)).Frc == SQLITE_OK) && (SQLITE_ROW == Xsqlite3_step(tls, *(*uintptr)(unsafe.Pointer(bp + 96 /* pXInfo */)))) { - if Xsqlite3_column_int(tls, *(*uintptr)(unsafe.Pointer(bp + 96 /* pXInfo */)), 5) != 0 { + for ((*Sqlite3rbu)(unsafe.Pointer(p)).Frc == SQLITE_OK) && (SQLITE_ROW == Xsqlite3_step(tls, *(*uintptr)(unsafe.Pointer(bp + 64 /* pXInfo */)))) { + if Xsqlite3_column_int(tls, *(*uintptr)(unsafe.Pointer(bp + 64 /* pXInfo */)), 5) != 0 { // int iCid = sqlite3_column_int(pXInfo, 0); - var zCol uintptr = Xsqlite3_column_text(tls, *(*uintptr)(unsafe.Pointer(bp + 96 /* pXInfo */)), 2) + var zCol uintptr = Xsqlite3_column_text(tls, *(*uintptr)(unsafe.Pointer(bp + 64 /* pXInfo */)), 2) var zDesc uintptr - if Xsqlite3_column_int(tls, *(*uintptr)(unsafe.Pointer(bp + 96 /* pXInfo */)), 3) != 0 { + if Xsqlite3_column_int(tls, *(*uintptr)(unsafe.Pointer(bp + 64 /* pXInfo */)), 3) != 0 { zDesc = ts + 28461 /* " DESC" */ } else { zDesc = ts + 755 /* "" */ } - z = rbuMPrintf(tls, p, ts+29054 /* "%z%s\"%w\"%s" */, libc.VaList(bp+32, z, zSep, zCol, zDesc)) + z = rbuMPrintf(tls, p, ts+29054 /* "%z%s\"%w\"%s" */, libc.VaList(bp+16, z, zSep, zCol, zDesc)) zSep = ts + 14691 /* ", " */ } } - z = rbuMPrintf(tls, p, ts+29065 /* "%z)" */, libc.VaList(bp+72, z)) - rbuFinalize(tls, p, *(*uintptr)(unsafe.Pointer(bp + 96 /* pXInfo */))) + z = rbuMPrintf(tls, p, ts+29065 /* "%z)" */, libc.VaList(bp+48, z)) + rbuFinalize(tls, p, *(*uintptr)(unsafe.Pointer(bp + 64 /* pXInfo */))) } return z } @@ -206955,14 +206955,14 @@ func rbuWithoutRowidPK(tls *libc.TLS, p uintptr, pIter uintptr) uintptr { /* sql // CREATE TABLE rbu_imposter2(c1 TEXT, c2 REAL, id INTEGER) WITHOUT ROWID; // func rbuCreateImposterTable2(tls *libc.TLS, p uintptr, pIter uintptr) { /* sqlite3.c:202100:13: */ - bp := tls.Alloc(240) - defer tls.Free(240) + bp := tls.Alloc(184) + defer tls.Free(184) if ((*Sqlite3rbu)(unsafe.Pointer(p)).Frc == SQLITE_OK) && ((*RbuObjIter)(unsafe.Pointer(pIter)).FeType == RBU_PK_EXTERNAL) { var tnum int32 = (*RbuObjIter)(unsafe.Pointer(pIter)).FiPkTnum // Root page of PK index - *(*uintptr)(unsafe.Pointer(bp + 224 /* pQuery */)) = uintptr(0) // SELECT name ... WHERE rootpage = $tnum + *(*uintptr)(unsafe.Pointer(bp + 168 /* pQuery */)) = uintptr(0) // SELECT name ... WHERE rootpage = $tnum var zIdx uintptr = uintptr(0) // Name of PK index - *(*uintptr)(unsafe.Pointer(bp + 232 /* pXInfo */)) = uintptr(0) // PRAGMA main.index_xinfo = $zIdx + *(*uintptr)(unsafe.Pointer(bp + 176 /* pXInfo */)) = uintptr(0) // PRAGMA main.index_xinfo = $zIdx var zComma uintptr = ts + 755 /* "" */ var zCols uintptr = uintptr(0) // Used to build up list of table cols var zPk uintptr = uintptr(0) // Used to build up table PK declaration @@ -206970,29 +206970,29 @@ func rbuCreateImposterTable2(tls *libc.TLS, p uintptr, pIter uintptr) { /* sqlit // Figure out the name of the primary key index for the current table. // This is needed for the argument to "PRAGMA index_xinfo". Set // zIdx to point to a nul-terminated string containing this name. - (*Sqlite3rbu)(unsafe.Pointer(p)).Frc = prepareAndCollectError(tls, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbMain, bp+224 /* &pQuery */, (p + 64 /* &.zErrmsg */), + (*Sqlite3rbu)(unsafe.Pointer(p)).Frc = prepareAndCollectError(tls, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbMain, bp+168 /* &pQuery */, (p + 64 /* &.zErrmsg */), ts+29069 /* "SELECT name FROM..." */) if (*Sqlite3rbu)(unsafe.Pointer(p)).Frc == SQLITE_OK { - Xsqlite3_bind_int(tls, *(*uintptr)(unsafe.Pointer(bp + 224 /* pQuery */)), 1, tnum) - if SQLITE_ROW == Xsqlite3_step(tls, *(*uintptr)(unsafe.Pointer(bp + 224 /* pQuery */))) { - zIdx = Xsqlite3_column_text(tls, *(*uintptr)(unsafe.Pointer(bp + 224 /* pQuery */)), 0) + Xsqlite3_bind_int(tls, *(*uintptr)(unsafe.Pointer(bp + 168 /* pQuery */)), 1, tnum) + if SQLITE_ROW == Xsqlite3_step(tls, *(*uintptr)(unsafe.Pointer(bp + 168 /* pQuery */))) { + zIdx = Xsqlite3_column_text(tls, *(*uintptr)(unsafe.Pointer(bp + 168 /* pQuery */)), 0) } } if zIdx != 0 { - (*Sqlite3rbu)(unsafe.Pointer(p)).Frc = prepareFreeAndCollectError(tls, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbMain, bp+232 /* &pXInfo */, (p + 64 /* &.zErrmsg */), + (*Sqlite3rbu)(unsafe.Pointer(p)).Frc = prepareFreeAndCollectError(tls, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbMain, bp+176 /* &pXInfo */, (p + 64 /* &.zErrmsg */), Xsqlite3_mprintf(tls, ts+28221 /* "PRAGMA main.inde..." */, libc.VaList(bp, zIdx))) } - rbuFinalize(tls, p, *(*uintptr)(unsafe.Pointer(bp + 224 /* pQuery */))) + rbuFinalize(tls, p, *(*uintptr)(unsafe.Pointer(bp + 168 /* pQuery */))) - for ((*Sqlite3rbu)(unsafe.Pointer(p)).Frc == SQLITE_OK) && (SQLITE_ROW == Xsqlite3_step(tls, *(*uintptr)(unsafe.Pointer(bp + 232 /* pXInfo */)))) { - var bKey int32 = Xsqlite3_column_int(tls, *(*uintptr)(unsafe.Pointer(bp + 232 /* pXInfo */)), 5) + for ((*Sqlite3rbu)(unsafe.Pointer(p)).Frc == SQLITE_OK) && (SQLITE_ROW == Xsqlite3_step(tls, *(*uintptr)(unsafe.Pointer(bp + 176 /* pXInfo */)))) { + var bKey int32 = Xsqlite3_column_int(tls, *(*uintptr)(unsafe.Pointer(bp + 176 /* pXInfo */)), 5) if bKey != 0 { - var iCid int32 = Xsqlite3_column_int(tls, *(*uintptr)(unsafe.Pointer(bp + 232 /* pXInfo */)), 1) - var bDesc int32 = Xsqlite3_column_int(tls, *(*uintptr)(unsafe.Pointer(bp + 232 /* pXInfo */)), 3) - var zCollate uintptr = Xsqlite3_column_text(tls, *(*uintptr)(unsafe.Pointer(bp + 232 /* pXInfo */)), 4) - zCols = rbuMPrintf(tls, p, ts+29119 /* "%z%sc%d %s COLLA..." */, libc.VaList(bp+16, zCols, zComma, + var iCid int32 = Xsqlite3_column_int(tls, *(*uintptr)(unsafe.Pointer(bp + 176 /* pXInfo */)), 1) + var bDesc int32 = Xsqlite3_column_int(tls, *(*uintptr)(unsafe.Pointer(bp + 176 /* pXInfo */)), 3) + var zCollate uintptr = Xsqlite3_column_text(tls, *(*uintptr)(unsafe.Pointer(bp + 176 /* pXInfo */)), 4) + zCols = rbuMPrintf(tls, p, ts+29119 /* "%z%sc%d %s COLLA..." */, libc.VaList(bp+8, zCols, zComma, iCid, *(*uintptr)(unsafe.Pointer((*RbuObjIter)(unsafe.Pointer(pIter)).FazTblType + uintptr(iCid)*8)), zCollate)) - zPk = rbuMPrintf(tls, p, ts+29141 /* "%z%sc%d%s" */, libc.VaList(bp+64, zPk, zComma, iCid, func() uintptr { + zPk = rbuMPrintf(tls, p, ts+29141 /* "%z%sc%d%s" */, libc.VaList(bp+48, zPk, zComma, iCid, func() uintptr { if bDesc != 0 { return ts + 28461 /* " DESC" */ } @@ -207001,14 +207001,14 @@ func rbuCreateImposterTable2(tls *libc.TLS, p uintptr, pIter uintptr) { /* sqlit zComma = ts + 14691 /* ", " */ } } - zCols = rbuMPrintf(tls, p, ts+29151 /* "%z, id INTEGER" */, libc.VaList(bp+104, zCols)) - rbuFinalize(tls, p, *(*uintptr)(unsafe.Pointer(bp + 232 /* pXInfo */))) + zCols = rbuMPrintf(tls, p, ts+29151 /* "%z, id INTEGER" */, libc.VaList(bp+80, zCols)) + rbuFinalize(tls, p, *(*uintptr)(unsafe.Pointer(bp + 176 /* pXInfo */))) - Xsqlite3_test_control(tls, SQLITE_TESTCTRL_IMPOSTER, libc.VaList(bp+120, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbMain, ts+6820 /* "main" */, 1, tnum)) + Xsqlite3_test_control(tls, SQLITE_TESTCTRL_IMPOSTER, libc.VaList(bp+88, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbMain, ts+6820 /* "main" */, 1, tnum)) rbuMPrintfExec(tls, p, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbMain, ts+29166, /* "CREATE TABLE rbu..." */ - libc.VaList(bp+160, zCols, zPk)) - Xsqlite3_test_control(tls, SQLITE_TESTCTRL_IMPOSTER, libc.VaList(bp+184, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbMain, ts+6820 /* "main" */, 0, 0)) + libc.VaList(bp+120, zCols, zPk)) + Xsqlite3_test_control(tls, SQLITE_TESTCTRL_IMPOSTER, libc.VaList(bp+136, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbMain, ts+6820 /* "main" */, 0, 0)) } } @@ -207031,8 +207031,8 @@ func rbuCreateImposterTable2(tls *libc.TLS, p uintptr, pIter uintptr) { /* sqlit // collation sequences. For tables that do not have an external PRIMARY // KEY, it also means the same PRIMARY KEY declaration. func rbuCreateImposterTable(tls *libc.TLS, p uintptr, pIter uintptr) { /* sqlite3.c:202174:13: */ - bp := tls.Alloc(248) - defer tls.Free(248) + bp := tls.Alloc(200) + defer tls.Free(200) if ((*Sqlite3rbu)(unsafe.Pointer(p)).Frc == SQLITE_OK) && ((*RbuObjIter)(unsafe.Pointer(pIter)).FeType != RBU_PK_VTAB) { var tnum int32 = (*RbuObjIter)(unsafe.Pointer(pIter)).FiTnum @@ -207044,10 +207044,10 @@ func rbuCreateImposterTable(tls *libc.TLS, p uintptr, pIter uintptr) { /* sqlite for iCol = 0; ((*Sqlite3rbu)(unsafe.Pointer(p)).Frc == SQLITE_OK) && (iCol < (*RbuObjIter)(unsafe.Pointer(pIter)).FnTblCol); iCol++ { var zPk uintptr = ts + 755 /* "" */ var zCol uintptr = *(*uintptr)(unsafe.Pointer((*RbuObjIter)(unsafe.Pointer(pIter)).FazTblCol + uintptr(iCol)*8)) - *(*uintptr)(unsafe.Pointer(bp + 240 /* zColl */)) = uintptr(0) + *(*uintptr)(unsafe.Pointer(bp + 192 /* zColl */)) = uintptr(0) (*Sqlite3rbu)(unsafe.Pointer(p)).Frc = Xsqlite3_table_column_metadata(tls, - (*Sqlite3rbu)(unsafe.Pointer(p)).FdbMain, ts+6820 /* "main" */, (*RbuObjIter)(unsafe.Pointer(pIter)).FzTbl, zCol, uintptr(0), bp+240 /* &zColl */, uintptr(0), uintptr(0), uintptr(0)) + (*Sqlite3rbu)(unsafe.Pointer(p)).FdbMain, ts+6820 /* "main" */, (*RbuObjIter)(unsafe.Pointer(pIter)).FzTbl, zCol, uintptr(0), bp+192 /* &zColl */, uintptr(0), uintptr(0), uintptr(0)) if ((*RbuObjIter)(unsafe.Pointer(pIter)).FeType == RBU_PK_IPK) && (*(*U8)(unsafe.Pointer((*RbuObjIter)(unsafe.Pointer(pIter)).FabTblPk + uintptr(iCol))) != 0) { // If the target table column is an "INTEGER PRIMARY KEY", add @@ -207055,7 +207055,7 @@ func rbuCreateImposterTable(tls *libc.TLS, p uintptr, pIter uintptr) { /* sqlite zPk = ts + 29228 /* "PRIMARY KEY " */ } zSql = rbuMPrintf(tls, p, ts+29241, /* "%z%s\"%w\" %s %sCO..." */ - libc.VaList(bp+40, zSql, zComma, zCol, *(*uintptr)(unsafe.Pointer((*RbuObjIter)(unsafe.Pointer(pIter)).FazTblType + uintptr(iCol)*8)), zPk, *(*uintptr)(unsafe.Pointer(bp + 240 /* zColl */)), + libc.VaList(bp+32, zSql, zComma, zCol, *(*uintptr)(unsafe.Pointer((*RbuObjIter)(unsafe.Pointer(pIter)).FazTblType + uintptr(iCol)*8)), zPk, *(*uintptr)(unsafe.Pointer(bp + 192 /* zColl */)), func() uintptr { if *(*U8)(unsafe.Pointer((*RbuObjIter)(unsafe.Pointer(pIter)).FabNotNull + uintptr(iCol))) != 0 { return ts + 29268 /* " NOT NULL" */ @@ -207068,20 +207068,20 @@ func rbuCreateImposterTable(tls *libc.TLS, p uintptr, pIter uintptr) { /* sqlite if (*RbuObjIter)(unsafe.Pointer(pIter)).FeType == RBU_PK_WITHOUT_ROWID { var zPk uintptr = rbuWithoutRowidPK(tls, p, pIter) if zPk != 0 { - zSql = rbuMPrintf(tls, p, ts+29278 /* "%z, %z" */, libc.VaList(bp+104, zSql, zPk)) + zSql = rbuMPrintf(tls, p, ts+29278 /* "%z, %z" */, libc.VaList(bp+88, zSql, zPk)) } } - Xsqlite3_test_control(tls, SQLITE_TESTCTRL_IMPOSTER, libc.VaList(bp+128, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbMain, ts+6820 /* "main" */, 1, tnum)) + Xsqlite3_test_control(tls, SQLITE_TESTCTRL_IMPOSTER, libc.VaList(bp+104, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbMain, ts+6820 /* "main" */, 1, tnum)) rbuMPrintfExec(tls, p, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbMain, ts+29285, /* "CREATE TABLE \"rb..." */ - libc.VaList(bp+168, (*RbuObjIter)(unsafe.Pointer(pIter)).FzTbl, zSql, + libc.VaList(bp+136, (*RbuObjIter)(unsafe.Pointer(pIter)).FzTbl, zSql, func() uintptr { if (*RbuObjIter)(unsafe.Pointer(pIter)).FeType == RBU_PK_WITHOUT_ROWID { return ts + 29317 /* " WITHOUT ROWID" */ } return ts + 755 /* "" */ }())) - Xsqlite3_test_control(tls, SQLITE_TESTCTRL_IMPOSTER, libc.VaList(bp+200, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbMain, ts+6820 /* "main" */, 0, 0)) + Xsqlite3_test_control(tls, SQLITE_TESTCTRL_IMPOSTER, libc.VaList(bp+160, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbMain, ts+6820 /* "main" */, 0, 0)) } } @@ -207095,8 +207095,8 @@ func rbuCreateImposterTable(tls *libc.TLS, p uintptr, pIter uintptr) { /* sqlite // (for the rbu_rowid column) if the target table is an implicit IPK or // virtual table. func rbuObjIterPrepareTmpInsert(tls *libc.TLS, p uintptr, pIter uintptr, zCollist uintptr, zRbuRowid uintptr) { /* sqlite3.c:202230:13: */ - bp := tls.Alloc(48) - defer tls.Free(48) + bp := tls.Alloc(40) + defer tls.Free(40) var bRbuRowid int32 = (libc.Bool32(((*RbuObjIter)(unsafe.Pointer(pIter)).FeType == RBU_PK_EXTERNAL) || ((*RbuObjIter)(unsafe.Pointer(pIter)).FeType == RBU_PK_NONE))) var zBind uintptr = rbuObjIterGetBindlist(tls, p, (((*RbuObjIter)(unsafe.Pointer(pIter)).FnTblCol + 1) + bRbuRowid)) @@ -207240,8 +207240,8 @@ func rbuObjIterGetIndexWhere(tls *libc.TLS, p uintptr, pIter uintptr) uintptr { // target database object currently indicated by the iterator passed // as the second argument are available. func rbuObjIterPrepareAll(tls *libc.TLS, p uintptr, pIter uintptr, nOffset int32) int32 { /* sqlite3.c:202378:12: */ - bp := tls.Alloc(756) - defer tls.Free(756) + bp := tls.Alloc(628) + defer tls.Free(628) if ((*RbuObjIter)(unsafe.Pointer(pIter)).FpSelect == uintptr(0)) && (rbuObjIterCacheTableInfo(tls, p, pIter) == SQLITE_OK) { var tnum int32 = (*RbuObjIter)(unsafe.Pointer(pIter)).FiTnum @@ -207259,39 +207259,39 @@ func rbuObjIterPrepareAll(tls *libc.TLS, p uintptr, pIter uintptr, nOffset int32 if zIdx != 0 { var zTbl uintptr = (*RbuObjIter)(unsafe.Pointer(pIter)).FzTbl - *(*uintptr)(unsafe.Pointer(bp + 728 /* zImposterCols */)) = uintptr(0) // Columns for imposter table - *(*uintptr)(unsafe.Pointer(bp + 736 /* zImposterPK */)) = uintptr(0) // Primary key declaration for imposter - *(*uintptr)(unsafe.Pointer(bp + 744 /* zWhere */)) = uintptr(0) // WHERE clause on PK columns + *(*uintptr)(unsafe.Pointer(bp + 600 /* zImposterCols */)) = uintptr(0) // Columns for imposter table + *(*uintptr)(unsafe.Pointer(bp + 608 /* zImposterPK */)) = uintptr(0) // Primary key declaration for imposter + *(*uintptr)(unsafe.Pointer(bp + 616 /* zWhere */)) = uintptr(0) // WHERE clause on PK columns var zBind uintptr = uintptr(0) var zPart uintptr = uintptr(0) - *(*int32)(unsafe.Pointer(bp + 752 /* nBind */)) = 0 + *(*int32)(unsafe.Pointer(bp + 624 /* nBind */)) = 0 zPart = rbuObjIterGetIndexWhere(tls, p, pIter) zCollist = rbuObjIterGetIndexCols(tls, - p, pIter, bp+728 /* &zImposterCols */, bp+736 /* &zImposterPK */, bp+744 /* &zWhere */, bp+752 /* &nBind */) - zBind = rbuObjIterGetBindlist(tls, p, *(*int32)(unsafe.Pointer(bp + 752 /* nBind */))) + p, pIter, bp+600 /* &zImposterCols */, bp+608 /* &zImposterPK */, bp+616 /* &zWhere */, bp+624 /* &nBind */) + zBind = rbuObjIterGetBindlist(tls, p, *(*int32)(unsafe.Pointer(bp + 624 /* nBind */))) // Create the imposter table used to write to this index. - Xsqlite3_test_control(tls, SQLITE_TESTCTRL_IMPOSTER, libc.VaList(bp+16, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbMain, ts+6820 /* "main" */, 0, 1)) - Xsqlite3_test_control(tls, SQLITE_TESTCTRL_IMPOSTER, libc.VaList(bp+56, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbMain, ts+6820 /* "main" */, 1, tnum)) + Xsqlite3_test_control(tls, SQLITE_TESTCTRL_IMPOSTER, libc.VaList(bp+8, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbMain, ts+6820 /* "main" */, 0, 1)) + Xsqlite3_test_control(tls, SQLITE_TESTCTRL_IMPOSTER, libc.VaList(bp+40, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbMain, ts+6820 /* "main" */, 1, tnum)) rbuMPrintfExec(tls, p, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbMain, ts+29475, /* "CREATE TABLE \"rb..." */ - libc.VaList(bp+96, zTbl, *(*uintptr)(unsafe.Pointer(bp + 728 /* zImposterCols */)), *(*uintptr)(unsafe.Pointer(bp + 736 /* zImposterPK */)))) - Xsqlite3_test_control(tls, SQLITE_TESTCTRL_IMPOSTER, libc.VaList(bp+128, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbMain, ts+6820 /* "main" */, 0, 0)) + libc.VaList(bp+72, zTbl, *(*uintptr)(unsafe.Pointer(bp + 600 /* zImposterCols */)), *(*uintptr)(unsafe.Pointer(bp + 608 /* zImposterPK */)))) + Xsqlite3_test_control(tls, SQLITE_TESTCTRL_IMPOSTER, libc.VaList(bp+96, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbMain, ts+6820 /* "main" */, 0, 0)) // Create the statement to insert index entries - (*RbuObjIter)(unsafe.Pointer(pIter)).FnCol = *(*int32)(unsafe.Pointer(bp + 752 /* nBind */)) + (*RbuObjIter)(unsafe.Pointer(pIter)).FnCol = *(*int32)(unsafe.Pointer(bp + 624 /* nBind */)) if (*Sqlite3rbu)(unsafe.Pointer(p)).Frc == SQLITE_OK { (*Sqlite3rbu)(unsafe.Pointer(p)).Frc = prepareFreeAndCollectError(tls, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbMain, (pIter + 136 /* &.pInsert */), (p + 64 /* &.zErrmsg */), - Xsqlite3_mprintf(tls, ts+29540 /* "INSERT INTO \"rbu..." */, libc.VaList(bp+168, zTbl, zBind))) + Xsqlite3_mprintf(tls, ts+29540 /* "INSERT INTO \"rbu..." */, libc.VaList(bp+128, zTbl, zBind))) } // And to delete index entries if ((libc.Bool32((*Sqlite3rbu)(unsafe.Pointer((p))).FzTarget == uintptr(0))) == 0) && ((*Sqlite3rbu)(unsafe.Pointer(p)).Frc == SQLITE_OK) { (*Sqlite3rbu)(unsafe.Pointer(p)).Frc = prepareFreeAndCollectError(tls, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbMain, (pIter + 144 /* &.pDelete */), (p + 64 /* &.zErrmsg */), - Xsqlite3_mprintf(tls, ts+29576 /* "DELETE FROM \"rbu..." */, libc.VaList(bp+192, zTbl, *(*uintptr)(unsafe.Pointer(bp + 744 /* zWhere */))))) + Xsqlite3_mprintf(tls, ts+29576 /* "DELETE FROM \"rbu..." */, libc.VaList(bp+144, zTbl, *(*uintptr)(unsafe.Pointer(bp + 616 /* zWhere */))))) } // Create the SELECT statement to read keys in sorted order @@ -207309,7 +207309,7 @@ func rbuObjIterPrepareAll(tls *libc.TLS, p uintptr, pIter uintptr, nOffset int32 zSql = Xsqlite3_mprintf(tls, ts+29610, /* "SELECT %s, 0 AS ..." */ - libc.VaList(bp+216, zCollist, + libc.VaList(bp+160, zCollist, (*RbuObjIter)(unsafe.Pointer(pIter)).FzDataTbl, zPart, func() uintptr { @@ -207328,13 +207328,13 @@ func rbuObjIterPrepareAll(tls *libc.TLS, p uintptr, pIter uintptr, nOffset int32 } else if ((*RbuObjIter)(unsafe.Pointer(pIter)).FeType == RBU_PK_EXTERNAL) || ((*RbuObjIter)(unsafe.Pointer(pIter)).FeType == RBU_PK_NONE) { zSql = Xsqlite3_mprintf(tls, ts+29681, /* "SELECT %s, rbu_c..." */ - libc.VaList(bp+280, zCollist, p+48 /* &.zStateDb */, (*RbuObjIter)(unsafe.Pointer(pIter)).FzDataTbl, + libc.VaList(bp+216, zCollist, p+48 /* &.zStateDb */, (*RbuObjIter)(unsafe.Pointer(pIter)).FzDataTbl, zPart, zCollist, zLimit)) } else { zSql = Xsqlite3_mprintf(tls, ts+29742, /* "SELECT %s, rbu_c..." */ - libc.VaList(bp+336, zCollist, p+48 /* &.zStateDb */, (*RbuObjIter)(unsafe.Pointer(pIter)).FzDataTbl, zPart, + libc.VaList(bp+264, zCollist, p+48 /* &.zStateDb */, (*RbuObjIter)(unsafe.Pointer(pIter)).FzDataTbl, zPart, zCollist, (*RbuObjIter)(unsafe.Pointer(pIter)).FzDataTbl, zPart, func() uintptr { @@ -207352,9 +207352,9 @@ func rbuObjIterPrepareAll(tls *libc.TLS, p uintptr, pIter uintptr, nOffset int32 } } - Xsqlite3_free(tls, *(*uintptr)(unsafe.Pointer(bp + 728 /* zImposterCols */))) - Xsqlite3_free(tls, *(*uintptr)(unsafe.Pointer(bp + 736 /* zImposterPK */))) - Xsqlite3_free(tls, *(*uintptr)(unsafe.Pointer(bp + 744 /* zWhere */))) + Xsqlite3_free(tls, *(*uintptr)(unsafe.Pointer(bp + 600 /* zImposterCols */))) + Xsqlite3_free(tls, *(*uintptr)(unsafe.Pointer(bp + 608 /* zImposterPK */))) + Xsqlite3_free(tls, *(*uintptr)(unsafe.Pointer(bp + 616 /* zWhere */))) Xsqlite3_free(tls, zBind) Xsqlite3_free(tls, zPart) } else { @@ -207387,7 +207387,7 @@ func rbuObjIterPrepareAll(tls *libc.TLS, p uintptr, pIter uintptr, nOffset int32 (*Sqlite3rbu)(unsafe.Pointer(p)).Frc = prepareFreeAndCollectError(tls, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbMain, (pIter + 136 /* &.pInsert */), pz, Xsqlite3_mprintf(tls, ts+29910, /* "INSERT INTO \"%s%..." */ - libc.VaList(bp+424, zWrite, zTbl, zCollist, func() uintptr { + libc.VaList(bp+344, zWrite, zTbl, zCollist, func() uintptr { if bRbuRowid != 0 { return ts + 29946 /* ", _rowid_" */ } @@ -207401,7 +207401,7 @@ func rbuObjIterPrepareAll(tls *libc.TLS, p uintptr, pIter uintptr, nOffset int32 if ((libc.Bool32((*Sqlite3rbu)(unsafe.Pointer((p))).FzTarget == uintptr(0))) == 0) && ((*Sqlite3rbu)(unsafe.Pointer(p)).Frc == SQLITE_OK) { (*Sqlite3rbu)(unsafe.Pointer(p)).Frc = prepareFreeAndCollectError(tls, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbMain, (pIter + 144 /* &.pDelete */), pz, Xsqlite3_mprintf(tls, - ts+29956 /* "DELETE FROM \"%s%..." */, libc.VaList(bp+472, zWrite, zTbl, zWhere))) + ts+29956 /* "DELETE FROM \"%s%..." */, libc.VaList(bp+384, zWrite, zTbl, zWhere))) } if ((libc.Bool32((*Sqlite3rbu)(unsafe.Pointer((p))).FzTarget == uintptr(0))) == 0) && ((*RbuObjIter)(unsafe.Pointer(pIter)).FabIndexed != 0) { @@ -207413,7 +207413,7 @@ func rbuObjIterPrepareAll(tls *libc.TLS, p uintptr, pIter uintptr, nOffset int32 // Create the rbu_tmp_xxx table and the triggers to populate it. rbuMPrintfExec(tls, p, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbRbu, - ts+29996 /* "CREATE TABLE IF ..." */, libc.VaList(bp+504, p+48 /* &.zStateDb */, (*RbuObjIter)(unsafe.Pointer(pIter)).FzDataTbl, func() uintptr { + ts+29996 /* "CREATE TABLE IF ..." */, libc.VaList(bp+408, p+48 /* &.zStateDb */, (*RbuObjIter)(unsafe.Pointer(pIter)).FzDataTbl, func() uintptr { if (*RbuObjIter)(unsafe.Pointer(pIter)).FeType == RBU_PK_EXTERNAL { return ts + 30072 /* ", 0 AS rbu_rowid" */ } @@ -207423,7 +207423,7 @@ func rbuObjIterPrepareAll(tls *libc.TLS, p uintptr, pIter uintptr, nOffset int32 rbuMPrintfExec(tls, p, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbMain, ts+30089, /* "CREATE TEMP TRIG..." */ - libc.VaList(bp+544, zWrite, zTbl, zOldlist, + libc.VaList(bp+440, zWrite, zTbl, zOldlist, zWrite, zTbl, zOldlist, zWrite, zTbl, zNewlist)) @@ -207431,7 +207431,7 @@ func rbuObjIterPrepareAll(tls *libc.TLS, p uintptr, pIter uintptr, nOffset int32 rbuMPrintfExec(tls, p, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbMain, ts+30388, /* "CREATE TEMP TRIG..." */ - libc.VaList(bp+624, zWrite, zTbl, zNewlist)) + libc.VaList(bp+512, zWrite, zTbl, zNewlist)) } rbuObjIterPrepareTmpInsert(tls, p, pIter, zCollist, zRbuRowid) @@ -207469,7 +207469,7 @@ func rbuObjIterPrepareAll(tls *libc.TLS, p uintptr, pIter uintptr, nOffset int32 (*Sqlite3rbu)(unsafe.Pointer(p)).Frc = prepareFreeAndCollectError(tls, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbRbu, (pIter + 128 /* &.pSelect */), pz, Xsqlite3_mprintf(tls, ts+30508, /* "SELECT %s,%s rbu..." */ - libc.VaList(bp+656, zCollist, + libc.VaList(bp+536, zCollist, func() uintptr { if (*Sqlite3rbu)(unsafe.Pointer((p))).FzTarget == uintptr(0) { return ts + 30556 /* "0 AS " */ @@ -207515,8 +207515,8 @@ func rbuObjIterPrepareAll(tls *libc.TLS, p uintptr, pIter uintptr, nOffset int32 // If the zMask string does not specify any columns to update, then this // is not an error. Output variable *ppStmt is set to NULL in this case. func rbuGetUpdateStmt(tls *libc.TLS, p uintptr, pIter uintptr, zMask uintptr, ppStmt uintptr) int32 { /* sqlite3.c:202645:12: */ - bp := tls.Alloc(40) - defer tls.Free(40) + bp := tls.Alloc(32) + defer tls.Free(32) var pp uintptr var pUp uintptr = uintptr(0) @@ -207581,25 +207581,25 @@ func rbuGetUpdateStmt(tls *libc.TLS, p uintptr, pIter uintptr, zMask uintptr, pp } func rbuOpenDbhandle(tls *libc.TLS, p uintptr, zName uintptr, bUseVfs int32) uintptr { /* sqlite3.c:202713:16: */ - bp := tls.Alloc(24) - defer tls.Free(24) + bp := tls.Alloc(16) + defer tls.Free(16) - *(*uintptr)(unsafe.Pointer(bp + 16 /* db */)) = uintptr(0) + *(*uintptr)(unsafe.Pointer(bp + 8 /* db */)) = uintptr(0) if (*Sqlite3rbu)(unsafe.Pointer(p)).Frc == SQLITE_OK { var flags int32 = ((SQLITE_OPEN_READWRITE | SQLITE_OPEN_CREATE) | SQLITE_OPEN_URI) - (*Sqlite3rbu)(unsafe.Pointer(p)).Frc = Xsqlite3_open_v2(tls, zName, bp+16 /* &db */, flags, func() uintptr { + (*Sqlite3rbu)(unsafe.Pointer(p)).Frc = Xsqlite3_open_v2(tls, zName, bp+8 /* &db */, flags, func() uintptr { if bUseVfs != 0 { return (*Sqlite3rbu)(unsafe.Pointer(p)).FzVfsName } return uintptr(0) }()) if (*Sqlite3rbu)(unsafe.Pointer(p)).Frc != 0 { - (*Sqlite3rbu)(unsafe.Pointer(p)).FzErrmsg = Xsqlite3_mprintf(tls, ts+3630 /* "%s" */, libc.VaList(bp, Xsqlite3_errmsg(tls, *(*uintptr)(unsafe.Pointer(bp + 16 /* db */))))) - Xsqlite3_close(tls, *(*uintptr)(unsafe.Pointer(bp + 16 /* db */))) - *(*uintptr)(unsafe.Pointer(bp + 16 /* db */)) = uintptr(0) + (*Sqlite3rbu)(unsafe.Pointer(p)).FzErrmsg = Xsqlite3_mprintf(tls, ts+3630 /* "%s" */, libc.VaList(bp, Xsqlite3_errmsg(tls, *(*uintptr)(unsafe.Pointer(bp + 8 /* db */))))) + Xsqlite3_close(tls, *(*uintptr)(unsafe.Pointer(bp + 8 /* db */))) + *(*uintptr)(unsafe.Pointer(bp + 8 /* db */)) = uintptr(0) } } - return *(*uintptr)(unsafe.Pointer(bp + 16 /* db */)) + return *(*uintptr)(unsafe.Pointer(bp + 8 /* db */)) } // Free an RbuState object allocated by rbuLoadState(). @@ -207620,12 +207620,12 @@ func rbuFreeState(tls *libc.TLS, p uintptr) { /* sqlite3.c:202734:13: */ // If an error occurs, leave an error code and message in the rbu handle // and return NULL. func rbuLoadState(tls *libc.TLS, p uintptr) uintptr { /* sqlite3.c:202752:17: */ - bp := tls.Alloc(28) - defer tls.Free(28) + bp := tls.Alloc(20) + defer tls.Free(20) var pRet uintptr = uintptr(0) - *(*uintptr)(unsafe.Pointer(bp + 16 /* pStmt */)) = uintptr(0) - // var rc int32 at bp+24, 4 + *(*uintptr)(unsafe.Pointer(bp + 8 /* pStmt */)) = uintptr(0) + // var rc int32 at bp+16, 4 var rc2 int32 @@ -207634,12 +207634,12 @@ func rbuLoadState(tls *libc.TLS, p uintptr) uintptr { /* sqlite3.c:202752:17: */ return uintptr(0) } - *(*int32)(unsafe.Pointer(bp + 24 /* rc */)) = prepareFreeAndCollectError(tls, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbRbu, bp+16 /* &pStmt */, (p + 64 /* &.zErrmsg */), + *(*int32)(unsafe.Pointer(bp + 16 /* rc */)) = prepareFreeAndCollectError(tls, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbRbu, bp+8 /* &pStmt */, (p + 64 /* &.zErrmsg */), Xsqlite3_mprintf(tls, ts+30592 /* "SELECT k, v FROM..." */, libc.VaList(bp, p+48 /* &.zStateDb */))) - for (*(*int32)(unsafe.Pointer(bp + 24 /* rc */)) == SQLITE_OK) && (SQLITE_ROW == Xsqlite3_step(tls, *(*uintptr)(unsafe.Pointer(bp + 16 /* pStmt */)))) { - switch Xsqlite3_column_int(tls, *(*uintptr)(unsafe.Pointer(bp + 16 /* pStmt */)), 0) { + for (*(*int32)(unsafe.Pointer(bp + 16 /* rc */)) == SQLITE_OK) && (SQLITE_ROW == Xsqlite3_step(tls, *(*uintptr)(unsafe.Pointer(bp + 8 /* pStmt */)))) { + switch Xsqlite3_column_int(tls, *(*uintptr)(unsafe.Pointer(bp + 8 /* pStmt */)), 0) { case RBU_STATE_STAGE: - (*RbuState)(unsafe.Pointer(pRet)).FeStage = Xsqlite3_column_int(tls, *(*uintptr)(unsafe.Pointer(bp + 16 /* pStmt */)), 1) + (*RbuState)(unsafe.Pointer(pRet)).FeStage = Xsqlite3_column_int(tls, *(*uintptr)(unsafe.Pointer(bp + 8 /* pStmt */)), 1) if (((*RbuState)(unsafe.Pointer(pRet)).FeStage != RBU_STAGE_OAL) && ((*RbuState)(unsafe.Pointer(pRet)).FeStage != RBU_STAGE_MOVE)) && ((*RbuState)(unsafe.Pointer(pRet)).FeStage != RBU_STAGE_CKPT) { @@ -207648,60 +207648,60 @@ func rbuLoadState(tls *libc.TLS, p uintptr) uintptr { /* sqlite3.c:202752:17: */ break case RBU_STATE_TBL: - (*RbuState)(unsafe.Pointer(pRet)).FzTbl = rbuStrndup(tls, Xsqlite3_column_text(tls, *(*uintptr)(unsafe.Pointer(bp + 16 /* pStmt */)), 1), bp+24 /* &rc */) + (*RbuState)(unsafe.Pointer(pRet)).FzTbl = rbuStrndup(tls, Xsqlite3_column_text(tls, *(*uintptr)(unsafe.Pointer(bp + 8 /* pStmt */)), 1), bp+16 /* &rc */) break case RBU_STATE_IDX: - (*RbuState)(unsafe.Pointer(pRet)).FzIdx = rbuStrndup(tls, Xsqlite3_column_text(tls, *(*uintptr)(unsafe.Pointer(bp + 16 /* pStmt */)), 1), bp+24 /* &rc */) + (*RbuState)(unsafe.Pointer(pRet)).FzIdx = rbuStrndup(tls, Xsqlite3_column_text(tls, *(*uintptr)(unsafe.Pointer(bp + 8 /* pStmt */)), 1), bp+16 /* &rc */) break case RBU_STATE_ROW: - (*RbuState)(unsafe.Pointer(pRet)).FnRow = Xsqlite3_column_int(tls, *(*uintptr)(unsafe.Pointer(bp + 16 /* pStmt */)), 1) + (*RbuState)(unsafe.Pointer(pRet)).FnRow = Xsqlite3_column_int(tls, *(*uintptr)(unsafe.Pointer(bp + 8 /* pStmt */)), 1) break case RBU_STATE_PROGRESS: - (*RbuState)(unsafe.Pointer(pRet)).FnProgress = Xsqlite3_column_int64(tls, *(*uintptr)(unsafe.Pointer(bp + 16 /* pStmt */)), 1) + (*RbuState)(unsafe.Pointer(pRet)).FnProgress = Xsqlite3_column_int64(tls, *(*uintptr)(unsafe.Pointer(bp + 8 /* pStmt */)), 1) break case RBU_STATE_CKPT: - (*RbuState)(unsafe.Pointer(pRet)).FiWalCksum = Xsqlite3_column_int64(tls, *(*uintptr)(unsafe.Pointer(bp + 16 /* pStmt */)), 1) + (*RbuState)(unsafe.Pointer(pRet)).FiWalCksum = Xsqlite3_column_int64(tls, *(*uintptr)(unsafe.Pointer(bp + 8 /* pStmt */)), 1) break case RBU_STATE_COOKIE: - (*RbuState)(unsafe.Pointer(pRet)).FiCookie = U32(Xsqlite3_column_int64(tls, *(*uintptr)(unsafe.Pointer(bp + 16 /* pStmt */)), 1)) + (*RbuState)(unsafe.Pointer(pRet)).FiCookie = U32(Xsqlite3_column_int64(tls, *(*uintptr)(unsafe.Pointer(bp + 8 /* pStmt */)), 1)) break case RBU_STATE_OALSZ: - (*RbuState)(unsafe.Pointer(pRet)).FiOalSz = I64(U32(Xsqlite3_column_int64(tls, *(*uintptr)(unsafe.Pointer(bp + 16 /* pStmt */)), 1))) + (*RbuState)(unsafe.Pointer(pRet)).FiOalSz = I64(U32(Xsqlite3_column_int64(tls, *(*uintptr)(unsafe.Pointer(bp + 8 /* pStmt */)), 1))) break case RBU_STATE_PHASEONESTEP: - (*RbuState)(unsafe.Pointer(pRet)).FnPhaseOneStep = Xsqlite3_column_int64(tls, *(*uintptr)(unsafe.Pointer(bp + 16 /* pStmt */)), 1) + (*RbuState)(unsafe.Pointer(pRet)).FnPhaseOneStep = Xsqlite3_column_int64(tls, *(*uintptr)(unsafe.Pointer(bp + 8 /* pStmt */)), 1) break case RBU_STATE_DATATBL: - (*RbuState)(unsafe.Pointer(pRet)).FzDataTbl = rbuStrndup(tls, Xsqlite3_column_text(tls, *(*uintptr)(unsafe.Pointer(bp + 16 /* pStmt */)), 1), bp+24 /* &rc */) + (*RbuState)(unsafe.Pointer(pRet)).FzDataTbl = rbuStrndup(tls, Xsqlite3_column_text(tls, *(*uintptr)(unsafe.Pointer(bp + 8 /* pStmt */)), 1), bp+16 /* &rc */) break default: - *(*int32)(unsafe.Pointer(bp + 24 /* rc */)) = SQLITE_CORRUPT + *(*int32)(unsafe.Pointer(bp + 16 /* rc */)) = SQLITE_CORRUPT break } } - rc2 = Xsqlite3_finalize(tls, *(*uintptr)(unsafe.Pointer(bp + 16 /* pStmt */))) - if *(*int32)(unsafe.Pointer(bp + 24 /* rc */)) == SQLITE_OK { - *(*int32)(unsafe.Pointer(bp + 24 /* rc */)) = rc2 + rc2 = Xsqlite3_finalize(tls, *(*uintptr)(unsafe.Pointer(bp + 8 /* pStmt */))) + if *(*int32)(unsafe.Pointer(bp + 16 /* rc */)) == SQLITE_OK { + *(*int32)(unsafe.Pointer(bp + 16 /* rc */)) = rc2 } - (*Sqlite3rbu)(unsafe.Pointer(p)).Frc = *(*int32)(unsafe.Pointer(bp + 24 /* rc */)) + (*Sqlite3rbu)(unsafe.Pointer(p)).Frc = *(*int32)(unsafe.Pointer(bp + 16 /* rc */)) return pRet } // Open the database handle and attach the RBU database as "rbu". If an // error occurs, leave an error code and message in the RBU handle. func rbuOpenDatabase(tls *libc.TLS, p uintptr, pbRetry uintptr) { /* sqlite3.c:202829:13: */ - bp := tls.Alloc(88) - defer tls.Free(88) + bp := tls.Alloc(56) + defer tls.Free(56) // Open the RBU database (*Sqlite3rbu)(unsafe.Pointer(p)).FdbRbu = rbuOpenDbhandle(tls, p, (*Sqlite3rbu)(unsafe.Pointer(p)).FzRbu, 1) @@ -207717,14 +207717,14 @@ func rbuOpenDatabase(tls *libc.TLS, p uintptr, pbRetry uintptr) { /* sqlite3.c:2 // If using separate RBU and state databases, attach the state database to // the RBU db handle now. if (*Sqlite3rbu)(unsafe.Pointer(p)).FzState != 0 { - rbuMPrintfExec(tls, p, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbRbu, ts+30649 /* "ATTACH %Q AS sta..." */, libc.VaList(bp+24, (*Sqlite3rbu)(unsafe.Pointer(p)).FzState)) + rbuMPrintfExec(tls, p, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbRbu, ts+30649 /* "ATTACH %Q AS sta..." */, libc.VaList(bp+16, (*Sqlite3rbu)(unsafe.Pointer(p)).FzState)) libc.Xmemcpy(tls, p+48 /* &.zStateDb */, ts+13549 /* "stat" */, uint64(4)) } else { libc.Xmemcpy(tls, p+48 /* &.zStateDb */, ts+6820 /* "main" */, uint64(4)) } // If it has not already been created, create the rbu_state table - rbuMPrintfExec(tls, p, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbRbu, ts+30667 /* "CREATE TABLE IF ..." */, libc.VaList(bp+40, p+48 /* &.zStateDb */)) + rbuMPrintfExec(tls, p, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbRbu, ts+30667 /* "CREATE TABLE IF ..." */, libc.VaList(bp+24, p+48 /* &.zStateDb */)) if ((*Sqlite3rbu)(unsafe.Pointer(p)).Frc == SQLITE_OK) && ((*Sqlite3rbu)(unsafe.Pointer((p))).FzTarget == uintptr(0)) { var bOpen int32 = 0 @@ -207781,7 +207781,7 @@ func rbuOpenDatabase(tls *libc.TLS, p uintptr, pbRetry uintptr) { /* sqlite3.c:2 } zTarget = Xsqlite3_mprintf(tls, ts+30765, /* "file:%s-vactmp?r..." */ - libc.VaList(bp+56, Xsqlite3_db_filename(tls, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbRbu, ts+6820 /* "main" */), + libc.VaList(bp+32, Xsqlite3_db_filename(tls, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbRbu, ts+6820 /* "main" */), func() uintptr { if zExtra == uintptr(0) { return ts + 755 /* "" */ @@ -208065,8 +208065,8 @@ func rbuLockDatabase(tls *libc.TLS, p uintptr) { /* sqlite3.c:203202:13: */ // If an error occurs, leave an error code and error message in the rbu // handle. func rbuMoveOalFile(tls *libc.TLS, p uintptr) { /* sqlite3.c:203242:13: */ - bp := tls.Alloc(32) - defer tls.Free(32) + bp := tls.Alloc(16) + defer tls.Free(16) var zBase uintptr = Xsqlite3_db_filename(tls, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbMain, ts+6820 /* "main" */) var zMove uintptr = zBase @@ -208077,7 +208077,7 @@ func rbuMoveOalFile(tls *libc.TLS, p uintptr) { /* sqlite3.c:203242:13: */ zMove = Xsqlite3_db_filename(tls, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbRbu, ts+6820 /* "main" */) } zOal = Xsqlite3_mprintf(tls, ts+30928 /* "%s-oal" */, libc.VaList(bp, zMove)) - zWal = Xsqlite3_mprintf(tls, ts+30935 /* "%s-wal" */, libc.VaList(bp+16, zMove)) + zWal = Xsqlite3_mprintf(tls, ts+30935 /* "%s-wal" */, libc.VaList(bp+8, zMove)) if (zWal == uintptr(0)) || (zOal == uintptr(0)) { (*Sqlite3rbu)(unsafe.Pointer(p)).Frc = SQLITE_NOMEM @@ -208321,8 +208321,8 @@ func rbuStep(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:203472:12: */ // opened by p->dbMain to one more than the schema cookie of the main // db opened by p->dbRbu. func rbuIncrSchemaCookie(tls *libc.TLS, p uintptr) { /* sqlite3.c:203537:13: */ - bp := tls.Alloc(24) - defer tls.Free(24) + bp := tls.Alloc(16) + defer tls.Free(16) if (*Sqlite3rbu)(unsafe.Pointer(p)).Frc == SQLITE_OK { var dbread uintptr = func() uintptr { @@ -208332,9 +208332,9 @@ func rbuIncrSchemaCookie(tls *libc.TLS, p uintptr) { /* sqlite3.c:203537:13: */ return (*Sqlite3rbu)(unsafe.Pointer(p)).FdbMain }() var iCookie int32 = 1000000 - // var pStmt uintptr at bp+16, 8 + // var pStmt uintptr at bp+8, 8 - (*Sqlite3rbu)(unsafe.Pointer(p)).Frc = prepareAndCollectError(tls, dbread, bp+16 /* &pStmt */, (p + 64 /* &.zErrmsg */), + (*Sqlite3rbu)(unsafe.Pointer(p)).Frc = prepareAndCollectError(tls, dbread, bp+8 /* &pStmt */, (p + 64 /* &.zErrmsg */), ts+30942 /* "PRAGMA schema_ve..." */) if (*Sqlite3rbu)(unsafe.Pointer(p)).Frc == SQLITE_OK { // Coverage: it may be that this sqlite3_step() cannot fail. There @@ -208342,10 +208342,10 @@ func rbuIncrSchemaCookie(tls *libc.TLS, p uintptr) { /* sqlite3.c:203537:13: */ // throw an SQLITE_SCHEMA exception. The only database page the // statement reads is page 1, which is guaranteed to be in the cache. // And no memory allocations are required. - if SQLITE_ROW == Xsqlite3_step(tls, *(*uintptr)(unsafe.Pointer(bp + 16 /* pStmt */))) { - iCookie = Xsqlite3_column_int(tls, *(*uintptr)(unsafe.Pointer(bp + 16 /* pStmt */)), 0) + if SQLITE_ROW == Xsqlite3_step(tls, *(*uintptr)(unsafe.Pointer(bp + 8 /* pStmt */))) { + iCookie = Xsqlite3_column_int(tls, *(*uintptr)(unsafe.Pointer(bp + 8 /* pStmt */)), 0) } - rbuFinalize(tls, p, *(*uintptr)(unsafe.Pointer(bp + 16 /* pStmt */))) + rbuFinalize(tls, p, *(*uintptr)(unsafe.Pointer(bp + 8 /* pStmt */))) } if (*Sqlite3rbu)(unsafe.Pointer(p)).Frc == SQLITE_OK { rbuMPrintfExec(tls, p, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbMain, ts+30964 /* "PRAGMA schema_ve..." */, libc.VaList(bp, (iCookie+1))) @@ -208357,11 +208357,11 @@ func rbuIncrSchemaCookie(tls *libc.TLS, p uintptr) { /* sqlite3.c:203537:13: */ // value stored in the RBU_STATE_STAGE column is eStage. All other values // are determined by inspecting the rbu handle passed as the first argument. func rbuSaveState(tls *libc.TLS, p uintptr, eStage int32) { /* sqlite3.c:203568:13: */ - bp := tls.Alloc(184) - defer tls.Free(184) + bp := tls.Alloc(176) + defer tls.Free(176) if ((*Sqlite3rbu)(unsafe.Pointer(p)).Frc == SQLITE_OK) || ((*Sqlite3rbu)(unsafe.Pointer(p)).Frc == SQLITE_DONE) { - *(*uintptr)(unsafe.Pointer(bp + 176 /* pInsert */)) = uintptr(0) + *(*uintptr)(unsafe.Pointer(bp + 168 /* pInsert */)) = uintptr(0) var pFd uintptr = func() uintptr { if (*Sqlite3rbu)(unsafe.Pointer((p))).FzTarget == uintptr(0) { return (*Sqlite3rbu)(unsafe.Pointer(p)).FpRbuFd @@ -208370,7 +208370,7 @@ func rbuSaveState(tls *libc.TLS, p uintptr, eStage int32) { /* sqlite3.c:203568: }() var rc int32 - rc = prepareFreeAndCollectError(tls, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbRbu, bp+176 /* &pInsert */, (p + 64 /* &.zErrmsg */), + rc = prepareFreeAndCollectError(tls, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbRbu, bp+168 /* &pInsert */, (p + 64 /* &.zErrmsg */), Xsqlite3_mprintf(tls, ts+30991, /* "INSERT OR REPLAC..." */ @@ -208387,8 +208387,8 @@ func rbuSaveState(tls *libc.TLS, p uintptr, eStage int32) { /* sqlite3.c:203568: RBU_STATE_DATATBL, (*Sqlite3rbu)(unsafe.Pointer(p)).Fobjiter.FzDataTbl))) if rc == SQLITE_OK { - Xsqlite3_step(tls, *(*uintptr)(unsafe.Pointer(bp + 176 /* pInsert */))) - rc = Xsqlite3_finalize(tls, *(*uintptr)(unsafe.Pointer(bp + 176 /* pInsert */))) + Xsqlite3_step(tls, *(*uintptr)(unsafe.Pointer(bp + 168 /* pInsert */))) + rc = Xsqlite3_finalize(tls, *(*uintptr)(unsafe.Pointer(bp + 168 /* pInsert */))) } if rc != SQLITE_OK { (*Sqlite3rbu)(unsafe.Pointer(p)).Frc = rc @@ -208412,18 +208412,18 @@ func rbuSaveState(tls *libc.TLS, p uintptr, eStage int32) { /* sqlite3.c:203568: // In short, it copies the value of the specified PRAGMA setting from // dbRbu to dbMain. func rbuCopyPragma(tls *libc.TLS, p uintptr, zPragma uintptr) { /* sqlite3.c:203629:13: */ - bp := tls.Alloc(48) - defer tls.Free(48) + bp := tls.Alloc(32) + defer tls.Free(32) if (*Sqlite3rbu)(unsafe.Pointer(p)).Frc == SQLITE_OK { - *(*uintptr)(unsafe.Pointer(bp + 40 /* pPragma */)) = uintptr(0) - (*Sqlite3rbu)(unsafe.Pointer(p)).Frc = prepareFreeAndCollectError(tls, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbRbu, bp+40 /* &pPragma */, (p + 64 /* &.zErrmsg */), + *(*uintptr)(unsafe.Pointer(bp + 24 /* pPragma */)) = uintptr(0) + (*Sqlite3rbu)(unsafe.Pointer(p)).Frc = prepareFreeAndCollectError(tls, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbRbu, bp+24 /* &pPragma */, (p + 64 /* &.zErrmsg */), Xsqlite3_mprintf(tls, ts+31149 /* "PRAGMA main.%s" */, libc.VaList(bp, zPragma))) - if ((*Sqlite3rbu)(unsafe.Pointer(p)).Frc == SQLITE_OK) && (SQLITE_ROW == Xsqlite3_step(tls, *(*uintptr)(unsafe.Pointer(bp + 40 /* pPragma */)))) { + if ((*Sqlite3rbu)(unsafe.Pointer(p)).Frc == SQLITE_OK) && (SQLITE_ROW == Xsqlite3_step(tls, *(*uintptr)(unsafe.Pointer(bp + 24 /* pPragma */)))) { (*Sqlite3rbu)(unsafe.Pointer(p)).Frc = rbuMPrintfExec(tls, p, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbMain, ts+31164, /* "PRAGMA main.%s =..." */ - libc.VaList(bp+16, zPragma, Xsqlite3_column_int(tls, *(*uintptr)(unsafe.Pointer(bp + 40 /* pPragma */)), 0))) + libc.VaList(bp+8, zPragma, Xsqlite3_column_int(tls, *(*uintptr)(unsafe.Pointer(bp + 24 /* pPragma */)), 0))) } - rbuFinalize(tls, p, *(*uintptr)(unsafe.Pointer(bp + 40 /* pPragma */))) + rbuFinalize(tls, p, *(*uintptr)(unsafe.Pointer(bp + 24 /* pPragma */))) } } @@ -208481,8 +208481,8 @@ func rbuCreateTargetSchema(tls *libc.TLS, p uintptr) { /* sqlite3.c:203649:13: * // Step the RBU object. func Xsqlite3rbu_step(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:203701:16: */ - bp := tls.Alloc(32) - defer tls.Free(32) + bp := tls.Alloc(24) + defer tls.Free(24) if p != 0 { switch (*Sqlite3rbu)(unsafe.Pointer(p)).FeStage { @@ -208566,11 +208566,11 @@ func Xsqlite3rbu_step(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:203701:16: // Update nBackfill if (*Sqlite3rbu)(unsafe.Pointer(p)).Frc == SQLITE_OK { - // var ptr uintptr at bp+24, 8 + // var ptr uintptr at bp+16, 8 - (*Sqlite3rbu)(unsafe.Pointer(p)).Frc = (*(*func(*libc.TLS, uintptr, int32, int32, int32, uintptr) int32)(unsafe.Pointer(((*Sqlite3_file)(unsafe.Pointer(pDb)).FpMethods + 104 /* &.xShmMap */))))(tls, pDb, 0, (32 * 1024), 0, bp+24 /* &ptr */) + (*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 == SQLITE_OK { - *(*U32)(unsafe.Pointer((libc.AtomicLoadPUintptr(bp + 24 /* ptr */)) + 24*4)) = (*Sqlite3rbu)(unsafe.Pointer(p)).FiMaxFrame + *(*U32)(unsafe.Pointer((libc.AtomicLoadPUintptr(bp + 16 /* ptr */)) + 24*4)) = (*Sqlite3rbu)(unsafe.Pointer(p)).FiMaxFrame } } @@ -208668,8 +208668,8 @@ func rbuSetupOal(tls *libc.TLS, p uintptr, pState uintptr) { /* sqlite3.c:203846 // target database in the file-system, delete it. If an error occurs, // leave an error code and error message in the rbu handle. func rbuDeleteOalFile(tls *libc.TLS, p uintptr) { /* sqlite3.c:203879:13: */ - bp := tls.Alloc(16) - defer tls.Free(16) + bp := tls.Alloc(8) + defer tls.Free(8) var zOal uintptr = rbuMPrintf(tls, p, ts+30928 /* "%s-oal" */, libc.VaList(bp, (*Sqlite3rbu)(unsafe.Pointer(p)).FzTarget)) if zOal != 0 { @@ -208685,18 +208685,18 @@ func rbuDeleteOalFile(tls *libc.TLS, p uintptr) { /* sqlite3.c:203879:13: */ // specified a URI with a vfs=? option in place of a target database // file name. func rbuCreateVfs(tls *libc.TLS, p uintptr) { /* sqlite3.c:203895:13: */ - bp := tls.Alloc(84) - defer tls.Free(84) + bp := tls.Alloc(76) + defer tls.Free(76) - // var rnd int32 at bp+16, 4 + // var rnd int32 at bp+8, 4 - // var zRnd [64]int8 at bp+20, 64 + // var zRnd [64]int8 at bp+12, 64 - Xsqlite3_randomness(tls, int32(unsafe.Sizeof(int32(0))), bp+16 /* &rnd */) - Xsqlite3_snprintf(tls, int32(unsafe.Sizeof([64]int8{})), bp+20 /* &zRnd[0] */, ts+31504 /* "rbu_vfs_%d" */, libc.VaList(bp, *(*int32)(unsafe.Pointer(bp + 16 /* rnd */)))) - (*Sqlite3rbu)(unsafe.Pointer(p)).Frc = Xsqlite3rbu_create_vfs(tls, bp+20 /* &zRnd[0] */, uintptr(0)) + Xsqlite3_randomness(tls, int32(unsafe.Sizeof(int32(0))), bp+8 /* &rnd */) + Xsqlite3_snprintf(tls, int32(unsafe.Sizeof([64]int8{})), bp+12 /* &zRnd[0] */, ts+31504 /* "rbu_vfs_%d" */, libc.VaList(bp, *(*int32)(unsafe.Pointer(bp + 8 /* rnd */)))) + (*Sqlite3rbu)(unsafe.Pointer(p)).Frc = Xsqlite3rbu_create_vfs(tls, bp+12 /* &zRnd[0] */, uintptr(0)) if (*Sqlite3rbu)(unsafe.Pointer(p)).Frc == SQLITE_OK { - var pVfs uintptr = Xsqlite3_vfs_find(tls, bp+20 /* &zRnd[0] */) + var pVfs uintptr = Xsqlite3_vfs_find(tls, bp+12 /* &zRnd[0] */) (*Sqlite3rbu)(unsafe.Pointer(p)).FzVfsName = (*Sqlite3_vfs)(unsafe.Pointer(pVfs)).FzName (*Rbu_vfs)(unsafe.Pointer(pVfs)).FpRbu = p @@ -208716,12 +208716,12 @@ func rbuDeleteVfs(tls *libc.TLS, p uintptr) { /* sqlite3.c:203915:13: */ // name of a table expected to appear in the target database. It returns // the number of auxilliary indexes on the table. func rbuIndexCntFunc(tls *libc.TLS, pCtx uintptr, nVal int32, apVal uintptr) { /* sqlite3.c:203927:13: */ - bp := tls.Alloc(32) - defer tls.Free(32) + bp := tls.Alloc(24) + defer tls.Free(24) var p uintptr = Xsqlite3_user_data(tls, pCtx) - *(*uintptr)(unsafe.Pointer(bp + 16 /* pStmt */)) = uintptr(0) - *(*uintptr)(unsafe.Pointer(bp + 24 /* zErrmsg */)) = uintptr(0) + *(*uintptr)(unsafe.Pointer(bp + 8 /* pStmt */)) = uintptr(0) + *(*uintptr)(unsafe.Pointer(bp + 16 /* zErrmsg */)) = uintptr(0) var rc int32 var db uintptr = func() uintptr { if (*Sqlite3rbu)(unsafe.Pointer((p))).FzTarget == uintptr(0) { @@ -208730,17 +208730,17 @@ func rbuIndexCntFunc(tls *libc.TLS, pCtx uintptr, nVal int32, apVal uintptr) { / return (*Sqlite3rbu)(unsafe.Pointer(p)).FdbMain }() - rc = prepareFreeAndCollectError(tls, db, bp+16 /* &pStmt */, bp+24, /* &zErrmsg */ + rc = prepareFreeAndCollectError(tls, db, bp+8 /* &pStmt */, bp+16, /* &zErrmsg */ Xsqlite3_mprintf(tls, ts+31515 /* "SELECT count(*) ..." */, libc.VaList(bp, Xsqlite3_value_text(tls, *(*uintptr)(unsafe.Pointer(apVal)))))) if rc != SQLITE_OK { - Xsqlite3_result_error(tls, pCtx, *(*uintptr)(unsafe.Pointer(bp + 24 /* zErrmsg */)), -1) + Xsqlite3_result_error(tls, pCtx, *(*uintptr)(unsafe.Pointer(bp + 16 /* zErrmsg */)), -1) } else { var nIndex int32 = 0 - if SQLITE_ROW == Xsqlite3_step(tls, *(*uintptr)(unsafe.Pointer(bp + 16 /* pStmt */))) { - nIndex = Xsqlite3_column_int(tls, *(*uintptr)(unsafe.Pointer(bp + 16 /* pStmt */)), 0) + if SQLITE_ROW == Xsqlite3_step(tls, *(*uintptr)(unsafe.Pointer(bp + 8 /* pStmt */))) { + nIndex = Xsqlite3_column_int(tls, *(*uintptr)(unsafe.Pointer(bp + 8 /* pStmt */)), 0) } - rc = Xsqlite3_finalize(tls, *(*uintptr)(unsafe.Pointer(bp + 16 /* pStmt */))) + rc = Xsqlite3_finalize(tls, *(*uintptr)(unsafe.Pointer(bp + 8 /* pStmt */))) if rc == SQLITE_OK { Xsqlite3_result_int(tls, pCtx, nIndex) } else { @@ -208748,7 +208748,7 @@ func rbuIndexCntFunc(tls *libc.TLS, pCtx uintptr, nVal int32, apVal uintptr) { / } } - Xsqlite3_free(tls, *(*uintptr)(unsafe.Pointer(bp + 24 /* zErrmsg */))) + Xsqlite3_free(tls, *(*uintptr)(unsafe.Pointer(bp + 16 /* zErrmsg */))) } // If the RBU database contains the rbu_count table, use it to initialize @@ -208807,8 +208807,8 @@ func rbuInitPhaseOneSteps(tls *libc.TLS, p uintptr) { /* sqlite3.c:203977:13: */ } func openRbuHandle(tls *libc.TLS, zTarget uintptr, zRbu uintptr, zState uintptr) uintptr { /* sqlite3.c:204018:19: */ - bp := tls.Alloc(36) - defer tls.Free(36) + bp := tls.Alloc(20) + defer tls.Free(20) var p uintptr var nTarget Size_t @@ -208831,7 +208831,7 @@ func openRbuHandle(tls *libc.TLS, zTarget uintptr, zRbu uintptr, zState uintptr) // Open the target, RBU and state databases if (*Sqlite3rbu)(unsafe.Pointer(p)).Frc == SQLITE_OK { var pCsr uintptr = (p + 1*392) - *(*int32)(unsafe.Pointer(bp + 32 /* bRetry */)) = 0 + *(*int32)(unsafe.Pointer(bp + 16 /* bRetry */)) = 0 if zTarget != 0 { (*Sqlite3rbu)(unsafe.Pointer(p)).FzTarget = pCsr libc.Xmemcpy(tls, (*Sqlite3rbu)(unsafe.Pointer(p)).FzTarget, zTarget, (nTarget + uint64(1))) @@ -208851,8 +208851,8 @@ func openRbuHandle(tls *libc.TLS, zTarget uintptr, zRbu uintptr, zState uintptr) // If this is the case, it will have been checkpointed and deleted // when the handle was closed and a second attempt to open the // database may succeed. - rbuOpenDatabase(tls, p, bp+32 /* &bRetry */) - if *(*int32)(unsafe.Pointer(bp + 32 /* bRetry */)) != 0 { + rbuOpenDatabase(tls, p, bp+16 /* &bRetry */) + if *(*int32)(unsafe.Pointer(bp + 16 /* bRetry */)) != 0 { rbuOpenDatabase(tls, p, uintptr(0)) } } @@ -208901,7 +208901,7 @@ func openRbuHandle(tls *libc.TLS, zTarget uintptr, zRbu uintptr, zState uintptr) // page 1 of the database file. (*Sqlite3rbu)(unsafe.Pointer(p)).Frc = SQLITE_BUSY (*Sqlite3rbu)(unsafe.Pointer(p)).FzErrmsg = Xsqlite3_mprintf(tls, ts+31764, /* "database modifie..." */ - libc.VaList(bp+16, func() uintptr { + libc.VaList(bp+8, func() uintptr { if (*Sqlite3rbu)(unsafe.Pointer((p))).FzTarget == uintptr(0) { return ts + 31796 /* "vacuum" */ } @@ -209580,8 +209580,8 @@ func rbuVfsCheckReservedLock(tls *libc.TLS, pFile uintptr, pResOut uintptr) int3 // File control method. For custom operations on an rbuVfs-file. func rbuVfsFileControl(tls *libc.TLS, pFile uintptr, op int32, pArg uintptr) int32 { /* sqlite3.c:204822:12: */ - bp := tls.Alloc(32) - defer tls.Free(32) + bp := tls.Alloc(24) + defer tls.Free(24) var p uintptr = pFile var xControl uintptr = (*sqlite3_io_methods)(unsafe.Pointer((*Sqlite3_file)(unsafe.Pointer((*Rbu_file)(unsafe.Pointer(p)).FpReal)).FpMethods)).FxFileControl @@ -209598,8 +209598,8 @@ func rbuVfsFileControl(tls *libc.TLS, pFile uintptr, op int32, pArg uintptr) int if rc == SQLITE_NOTFOUND { // Now search for a zipvfs instance lower down in the VFS stack. If // one is found, this is an error. - *(*uintptr)(unsafe.Pointer(bp + 24 /* dummy */)) = uintptr(0) - rc = (*(*func(*libc.TLS, uintptr, int32, uintptr) int32)(unsafe.Pointer(&xControl)))(tls, (*Rbu_file)(unsafe.Pointer(p)).FpReal, SQLITE_FCNTL_ZIPVFS, bp+24 /* &dummy */) + *(*uintptr)(unsafe.Pointer(bp + 16 /* dummy */)) = uintptr(0) + rc = (*(*func(*libc.TLS, uintptr, int32, uintptr) int32)(unsafe.Pointer(&xControl)))(tls, (*Rbu_file)(unsafe.Pointer(p)).FpReal, SQLITE_FCNTL_ZIPVFS, bp+16 /* &dummy */) if rc == SQLITE_OK { rc = SQLITE_ERROR (*Sqlite3rbu)(unsafe.Pointer(pRbu)).FzErrmsg = Xsqlite3_mprintf(tls, ts+31885 /* "rbu/zipvfs setup..." */, 0) @@ -210919,11 +210919,11 @@ func sessionGrowHash(tls *libc.TLS, pSession uintptr, bPatchset int32, pTab uint // All returned buffers are part of the same single allocation, which must // be freed using sqlite3_free() by the caller func sessionTableInfo(tls *libc.TLS, pSession uintptr, db uintptr, zDb uintptr, zThis uintptr, pnCol uintptr, pzTab uintptr, pazCol uintptr, pabPK uintptr) int32 { /* sqlite3.c:207635:12: */ - bp := tls.Alloc(32) - defer tls.Free(32) + bp := tls.Alloc(24) + defer tls.Free(24) var zPragma uintptr - // var pStmt uintptr at bp+24, 8 + // var pStmt uintptr at bp+16, 8 var rc int32 var nByte Sqlite3_int64 @@ -210954,18 +210954,18 @@ func sessionTableInfo(tls *libc.TLS, pSession uintptr, db uintptr, zDb uintptr, return SQLITE_NOMEM } - rc = Xsqlite3_prepare_v2(tls, db, zPragma, -1, bp+24 /* &pStmt */, uintptr(0)) + rc = Xsqlite3_prepare_v2(tls, db, zPragma, -1, bp+16 /* &pStmt */, uintptr(0)) Xsqlite3_free(tls, zPragma) if rc != SQLITE_OK { return rc } nByte = (Sqlite3_int64(nThis + 1)) - for SQLITE_ROW == Xsqlite3_step(tls, *(*uintptr)(unsafe.Pointer(bp + 24 /* pStmt */))) { - nByte = nByte + (Sqlite3_int64(Xsqlite3_column_bytes(tls, *(*uintptr)(unsafe.Pointer(bp + 24 /* pStmt */)), 1))) + for SQLITE_ROW == Xsqlite3_step(tls, *(*uintptr)(unsafe.Pointer(bp + 16 /* pStmt */))) { + nByte = nByte + (Sqlite3_int64(Xsqlite3_column_bytes(tls, *(*uintptr)(unsafe.Pointer(bp + 16 /* pStmt */)), 1))) nDbCol++ } - rc = Xsqlite3_reset(tls, *(*uintptr)(unsafe.Pointer(bp + 24 /* pStmt */))) + rc = Xsqlite3_reset(tls, *(*uintptr)(unsafe.Pointer(bp + 16 /* pStmt */))) if rc == SQLITE_OK { nByte = Sqlite3_int64(uint64(nByte) + (uint64(nDbCol) * ((uint64(unsafe.Sizeof(uintptr(0))) + uint64(unsafe.Sizeof(U8(0)))) + uint64(1)))) @@ -210986,19 +210986,19 @@ func sessionTableInfo(tls *libc.TLS, pSession uintptr, db uintptr, zDb uintptr, } i = 0 - for SQLITE_ROW == Xsqlite3_step(tls, *(*uintptr)(unsafe.Pointer(bp + 24 /* pStmt */))) { - var nName int32 = Xsqlite3_column_bytes(tls, *(*uintptr)(unsafe.Pointer(bp + 24 /* pStmt */)), 1) - var zName uintptr = Xsqlite3_column_text(tls, *(*uintptr)(unsafe.Pointer(bp + 24 /* pStmt */)), 1) + for SQLITE_ROW == Xsqlite3_step(tls, *(*uintptr)(unsafe.Pointer(bp + 16 /* pStmt */))) { + var nName int32 = Xsqlite3_column_bytes(tls, *(*uintptr)(unsafe.Pointer(bp + 16 /* pStmt */)), 1) + var zName uintptr = Xsqlite3_column_text(tls, *(*uintptr)(unsafe.Pointer(bp + 16 /* pStmt */)), 1) if zName == uintptr(0) { break } libc.Xmemcpy(tls, pAlloc, zName, (uint64(nName + 1))) *(*uintptr)(unsafe.Pointer(azCol + uintptr(i)*8)) = pAlloc pAlloc += (uintptr(nName + 1)) - *(*U8)(unsafe.Pointer(abPK + uintptr(i))) = U8(Xsqlite3_column_int(tls, *(*uintptr)(unsafe.Pointer(bp + 24 /* pStmt */)), 5)) + *(*U8)(unsafe.Pointer(abPK + uintptr(i))) = U8(Xsqlite3_column_int(tls, *(*uintptr)(unsafe.Pointer(bp + 16 /* pStmt */)), 5)) i++ } - rc = Xsqlite3_reset(tls, *(*uintptr)(unsafe.Pointer(bp + 24 /* pStmt */))) + rc = Xsqlite3_reset(tls, *(*uintptr)(unsafe.Pointer(bp + 16 /* pStmt */))) } @@ -211017,7 +211017,7 @@ func sessionTableInfo(tls *libc.TLS, pSession uintptr, db uintptr, zDb uintptr, } sessionFree(tls, pSession, azCol) } - Xsqlite3_finalize(tls, *(*uintptr)(unsafe.Pointer(bp + 24 /* pStmt */))) + Xsqlite3_finalize(tls, *(*uintptr)(unsafe.Pointer(bp + 16 /* pStmt */))) return rc } @@ -211657,8 +211657,8 @@ func sessionDiffHooks(tls *libc.TLS, pSession uintptr, pDiffCtx uintptr) { /* sq } func sessionExprComparePK(tls *libc.TLS, nCol int32, zDb1 uintptr, zDb2 uintptr, zTab uintptr, azCol uintptr, abPK uintptr) uintptr { /* sqlite3.c:208219:13: */ - bp := tls.Alloc(72) - defer tls.Free(72) + bp := tls.Alloc(64) + defer tls.Free(64) var i int32 var zSep uintptr = ts + 755 /* "" */ @@ -211679,8 +211679,8 @@ func sessionExprComparePK(tls *libc.TLS, nCol int32, zDb1 uintptr, zDb2 uintptr, } func sessionExprCompareOther(tls *libc.TLS, nCol int32, zDb1 uintptr, zDb2 uintptr, zTab uintptr, azCol uintptr, abPK uintptr) uintptr { /* sqlite3.c:208242:13: */ - bp := tls.Alloc(72) - defer tls.Free(72) + bp := tls.Alloc(64) + defer tls.Free(64) var i int32 var zSep uintptr = ts + 755 /* "" */ @@ -211709,8 +211709,8 @@ func sessionExprCompareOther(tls *libc.TLS, nCol int32, zDb1 uintptr, zDb2 uintp } func sessionSelectFindNew(tls *libc.TLS, nCol int32, zDb1 uintptr, zDb2 uintptr, zTbl uintptr, zExpr uintptr) uintptr { /* sqlite3.c:208273:13: */ - bp := tls.Alloc(48) - defer tls.Free(48) + bp := tls.Alloc(40) + defer tls.Free(40) var zRet uintptr = Xsqlite3_mprintf(tls, @@ -211748,8 +211748,8 @@ func sessionDiffFindNew(tls *libc.TLS, op int32, pSession uintptr, pTab uintptr, } func sessionDiffFindModified(tls *libc.TLS, pSession uintptr, pTab uintptr, zFrom uintptr, zExpr uintptr) int32 { /* sqlite3.c:208320:12: */ - bp := tls.Alloc(64) - defer tls.Free(64) + bp := tls.Alloc(56) + defer tls.Free(56) var rc int32 = SQLITE_OK @@ -211764,18 +211764,18 @@ func sessionDiffFindModified(tls *libc.TLS, pSession uintptr, pTab uintptr, zFro if zStmt == uintptr(0) { rc = SQLITE_NOMEM } else { - // var pStmt uintptr at bp+56, 8 + // var pStmt uintptr at bp+48, 8 - rc = Xsqlite3_prepare(tls, (*Sqlite3_session)(unsafe.Pointer(pSession)).Fdb, zStmt, -1, bp+56 /* &pStmt */, uintptr(0)) + rc = Xsqlite3_prepare(tls, (*Sqlite3_session)(unsafe.Pointer(pSession)).Fdb, zStmt, -1, bp+48 /* &pStmt */, uintptr(0)) if rc == SQLITE_OK { var pDiffCtx uintptr = (*Sqlite3_session)(unsafe.Pointer(pSession)).Fhook.FpCtx - (*SessionDiffCtx)(unsafe.Pointer(pDiffCtx)).FpStmt = *(*uintptr)(unsafe.Pointer(bp + 56 /* pStmt */)) + (*SessionDiffCtx)(unsafe.Pointer(pDiffCtx)).FpStmt = *(*uintptr)(unsafe.Pointer(bp + 48 /* pStmt */)) (*SessionDiffCtx)(unsafe.Pointer(pDiffCtx)).FnOldOff = (*SessionTable)(unsafe.Pointer(pTab)).FnCol - for SQLITE_ROW == Xsqlite3_step(tls, *(*uintptr)(unsafe.Pointer(bp + 56 /* pStmt */))) { + for SQLITE_ROW == Xsqlite3_step(tls, *(*uintptr)(unsafe.Pointer(bp + 48 /* pStmt */))) { sessionPreupdateOneChange(tls, SQLITE_UPDATE, pSession, pTab) } - rc = Xsqlite3_finalize(tls, *(*uintptr)(unsafe.Pointer(bp + 56 /* pStmt */))) + rc = Xsqlite3_finalize(tls, *(*uintptr)(unsafe.Pointer(bp + 48 /* pStmt */))) } Xsqlite3_free(tls, zStmt) } @@ -212234,13 +212234,13 @@ func sessionAppendStr(tls *libc.TLS, p uintptr, zStr uintptr, pRc uintptr) { /* // If an OOM condition is encountered, set *pRc to SQLITE_NOMEM before // returning. func sessionAppendInteger(tls *libc.TLS, p uintptr, iVal int32, pRc uintptr) { /* sqlite3.c:208751:13: */ - bp := tls.Alloc(40) - defer tls.Free(40) + bp := tls.Alloc(32) + defer tls.Free(32) - // var aBuf [24]int8 at bp+16, 24 + // var aBuf [24]int8 at bp+8, 24 - Xsqlite3_snprintf(tls, (int32(uint64(unsafe.Sizeof([24]int8{})) - uint64(1))), bp+16 /* &aBuf[0] */, ts+5451 /* "%d" */, libc.VaList(bp, iVal)) - sessionAppendStr(tls, p, bp+16 /* &aBuf[0] */, pRc) + Xsqlite3_snprintf(tls, (int32(uint64(unsafe.Sizeof([24]int8{})) - uint64(1))), bp+8 /* &aBuf[0] */, ts+5451 /* "%d" */, libc.VaList(bp, iVal)) + sessionAppendStr(tls, p, bp+8 /* &aBuf[0] */, pRc) } // This function is a no-op if *pRc is other than SQLITE_OK when it is @@ -212495,10 +212495,10 @@ func sessionAppendDelete(tls *libc.TLS, pBuf uintptr, bPatchset int32, p uintptr // // SELECT * FROM zDb.zTab WHERE pk1 = ? AND pk2 = ? AND ... func sessionSelectStmt(tls *libc.TLS, db uintptr, zDb uintptr, zTab uintptr, nCol int32, azCol uintptr, abPK uintptr, ppStmt uintptr) int32 { /* sqlite3.c:209011:12: */ - bp := tls.Alloc(36) - defer tls.Free(36) + bp := tls.Alloc(28) + defer tls.Free(28) - *(*int32)(unsafe.Pointer(bp + 32 /* rc */)) = SQLITE_OK + *(*int32)(unsafe.Pointer(bp + 24 /* rc */)) = SQLITE_OK var zSql uintptr = uintptr(0) var nSql int32 = -1 @@ -212507,36 +212507,36 @@ func sessionSelectStmt(tls *libc.TLS, db uintptr, zDb uintptr, zTab uintptr, nCo ts+32318 /* "SELECT tbl, ?2, ..." */, libc.VaList(bp, zDb)) if zSql == uintptr(0) { - *(*int32)(unsafe.Pointer(bp + 32 /* rc */)) = SQLITE_NOMEM + *(*int32)(unsafe.Pointer(bp + 24 /* rc */)) = SQLITE_NOMEM } } else { var i int32 var zSep uintptr = ts + 755 /* "" */ - *(*SessionBuffer)(unsafe.Pointer(bp + 16 /* buf */)) = SessionBuffer{} + *(*SessionBuffer)(unsafe.Pointer(bp + 8 /* buf */)) = SessionBuffer{} - sessionAppendStr(tls, bp+16 /* &buf */, ts+32428 /* "SELECT * FROM " */, bp+32 /* &rc */) - sessionAppendIdent(tls, bp+16 /* &buf */, zDb, bp+32 /* &rc */) - sessionAppendStr(tls, bp+16 /* &buf */, ts+768 /* "." */, bp+32 /* &rc */) - sessionAppendIdent(tls, bp+16 /* &buf */, zTab, bp+32 /* &rc */) - sessionAppendStr(tls, bp+16 /* &buf */, ts+32443 /* " WHERE " */, bp+32 /* &rc */) + sessionAppendStr(tls, bp+8 /* &buf */, ts+32428 /* "SELECT * FROM " */, bp+24 /* &rc */) + sessionAppendIdent(tls, bp+8 /* &buf */, zDb, bp+24 /* &rc */) + sessionAppendStr(tls, bp+8 /* &buf */, ts+768 /* "." */, bp+24 /* &rc */) + sessionAppendIdent(tls, bp+8 /* &buf */, zTab, bp+24 /* &rc */) + sessionAppendStr(tls, bp+8 /* &buf */, ts+32443 /* " WHERE " */, bp+24 /* &rc */) for i = 0; i < nCol; i++ { if *(*U8)(unsafe.Pointer(abPK + uintptr(i))) != 0 { - sessionAppendStr(tls, bp+16 /* &buf */, zSep, bp+32 /* &rc */) - sessionAppendIdent(tls, bp+16 /* &buf */, *(*uintptr)(unsafe.Pointer(azCol + uintptr(i)*8)), bp+32 /* &rc */) - sessionAppendStr(tls, bp+16 /* &buf */, ts+32451 /* " IS ?" */, bp+32 /* &rc */) - sessionAppendInteger(tls, bp+16 /* &buf */, (i + 1), bp+32 /* &rc */) + sessionAppendStr(tls, bp+8 /* &buf */, zSep, bp+24 /* &rc */) + sessionAppendIdent(tls, bp+8 /* &buf */, *(*uintptr)(unsafe.Pointer(azCol + uintptr(i)*8)), bp+24 /* &rc */) + sessionAppendStr(tls, bp+8 /* &buf */, ts+32451 /* " IS ?" */, bp+24 /* &rc */) + sessionAppendInteger(tls, bp+8 /* &buf */, (i + 1), bp+24 /* &rc */) zSep = ts + 21256 /* " AND " */ } } - zSql = (*SessionBuffer)(unsafe.Pointer(bp + 16 /* &buf */)).FaBuf - nSql = (*SessionBuffer)(unsafe.Pointer(bp + 16 /* &buf */)).FnBuf + zSql = (*SessionBuffer)(unsafe.Pointer(bp + 8 /* &buf */)).FaBuf + nSql = (*SessionBuffer)(unsafe.Pointer(bp + 8 /* &buf */)).FnBuf } - if *(*int32)(unsafe.Pointer(bp + 32 /* rc */)) == SQLITE_OK { - *(*int32)(unsafe.Pointer(bp + 32 /* rc */)) = Xsqlite3_prepare_v2(tls, db, zSql, nSql, ppStmt, uintptr(0)) + if *(*int32)(unsafe.Pointer(bp + 24 /* rc */)) == SQLITE_OK { + *(*int32)(unsafe.Pointer(bp + 24 /* rc */)) = Xsqlite3_prepare_v2(tls, db, zSql, nSql, ppStmt, uintptr(0)) } Xsqlite3_free(tls, zSql) - return *(*int32)(unsafe.Pointer(bp + 32 /* rc */)) + return *(*int32)(unsafe.Pointer(bp + 24 /* rc */)) } // Bind the PRIMARY KEY values from the change passed in argument pChange @@ -214745,21 +214745,21 @@ func sessionRetryConstraints(tls *libc.TLS, db uintptr, bPatchset int32, zTab ui // conflict handler callback is invoked to resolve any conflicts encountered // while applying the change. func sessionChangesetApply(tls *libc.TLS, db uintptr, pIter uintptr, xFilter uintptr, xConflict uintptr, pCtx uintptr, ppRebase uintptr, pnRebase uintptr, flags int32) int32 { /* sqlite3.c:211241:12: */ - bp := tls.Alloc(400) - defer tls.Free(400) + bp := tls.Alloc(368) + defer tls.Free(368) var schemaMismatch int32 = 0 var rc int32 = SQLITE_OK // Return code - *(*uintptr)(unsafe.Pointer(bp + 232 /* zTab */)) = uintptr(0) // Name of current table + *(*uintptr)(unsafe.Pointer(bp + 200 /* zTab */)) = uintptr(0) // Name of current table var nTab int32 = 0 // Result of sqlite3Strlen30(zTab) - // var sApply SessionApplyCtx at bp+80, 128 + // var sApply SessionApplyCtx at bp+48, 128 // changeset_apply() context object var bPatchset int32 (*Sqlite3_changeset_iter)(unsafe.Pointer(pIter)).Fin.FbNoDiscard = 1 - libc.Xmemset(tls, bp+80 /* &sApply */, 0, uint64(unsafe.Sizeof(SessionApplyCtx{}))) - (*SessionApplyCtx)(unsafe.Pointer(bp + 80 /* &sApply */)).FbRebase = (U8(libc.Bool32((ppRebase != 0) && (pnRebase != 0)))) - (*SessionApplyCtx)(unsafe.Pointer(bp + 80 /* &sApply */)).FbInvertConstraints = libc.BoolInt32(!(!((flags & SQLITE_CHANGESETAPPLY_INVERT) != 0))) + libc.Xmemset(tls, bp+48 /* &sApply */, 0, uint64(unsafe.Sizeof(SessionApplyCtx{}))) + (*SessionApplyCtx)(unsafe.Pointer(bp + 48 /* &sApply */)).FbRebase = (U8(libc.Bool32((ppRebase != 0) && (pnRebase != 0)))) + (*SessionApplyCtx)(unsafe.Pointer(bp + 48 /* &sApply */)).FbInvertConstraints = libc.BoolInt32(!(!((flags & SQLITE_CHANGESETAPPLY_INVERT) != 0))) Xsqlite3_mutex_enter(tls, Xsqlite3_db_mutex(tls, db)) if (flags & SQLITE_CHANGESETAPPLY_NOSAVEPOINT) == 0 { rc = Xsqlite3_exec(tls, db, ts+32955 /* "SAVEPOINT change..." */, uintptr(0), uintptr(0), uintptr(0)) @@ -214768,99 +214768,99 @@ func sessionChangesetApply(tls *libc.TLS, db uintptr, pIter uintptr, xFilter uin rc = Xsqlite3_exec(tls, db, ts+32981 /* "PRAGMA defer_for..." */, uintptr(0), uintptr(0), uintptr(0)) } for (rc == SQLITE_OK) && (SQLITE_ROW == Xsqlite3changeset_next(tls, pIter)) { - // var nCol int32 at bp+216, 4 + // var nCol int32 at bp+184, 4 - // var op int32 at bp+220, 4 + // var op int32 at bp+188, 4 - // var zNew uintptr at bp+208, 8 + // var zNew uintptr at bp+176, 8 - Xsqlite3changeset_op(tls, pIter, bp+208 /* &zNew */, bp+216 /* &nCol */, bp+220 /* &op */, uintptr(0)) + Xsqlite3changeset_op(tls, pIter, bp+176 /* &zNew */, bp+184 /* &nCol */, bp+188 /* &op */, uintptr(0)) - if (*(*uintptr)(unsafe.Pointer(bp + 232 /* zTab */)) == uintptr(0)) || (Xsqlite3_strnicmp(tls, *(*uintptr)(unsafe.Pointer(bp + 208 /* zNew */)), *(*uintptr)(unsafe.Pointer(bp + 232 /* zTab */)), (nTab+1)) != 0) { - // var abPK uintptr at bp+224, 8 + if (*(*uintptr)(unsafe.Pointer(bp + 200 /* zTab */)) == uintptr(0)) || (Xsqlite3_strnicmp(tls, *(*uintptr)(unsafe.Pointer(bp + 176 /* zNew */)), *(*uintptr)(unsafe.Pointer(bp + 200 /* zTab */)), (nTab+1)) != 0) { + // var abPK uintptr at bp+192, 8 rc = sessionRetryConstraints(tls, - db, (*Sqlite3_changeset_iter)(unsafe.Pointer(pIter)).FbPatchset, *(*uintptr)(unsafe.Pointer(bp + 232 /* zTab */)), bp+80 /* &sApply */, xConflict, pCtx) + db, (*Sqlite3_changeset_iter)(unsafe.Pointer(pIter)).FbPatchset, *(*uintptr)(unsafe.Pointer(bp + 200 /* zTab */)), bp+48 /* &sApply */, xConflict, pCtx) if rc != SQLITE_OK { break } - sessionUpdateFree(tls, bp+80 /* &sApply */) - Xsqlite3_free(tls, (*SessionApplyCtx)(unsafe.Pointer(bp+80 /* &sApply */)).FazCol) // cast works around VC++ bug - Xsqlite3_finalize(tls, (*SessionApplyCtx)(unsafe.Pointer(bp+80 /* &sApply */)).FpDelete) - Xsqlite3_finalize(tls, (*SessionApplyCtx)(unsafe.Pointer(bp+80 /* &sApply */)).FpInsert) - Xsqlite3_finalize(tls, (*SessionApplyCtx)(unsafe.Pointer(bp+80 /* &sApply */)).FpSelect) - (*SessionApplyCtx)(unsafe.Pointer(bp + 80 /* &sApply */)).Fdb = db - (*SessionApplyCtx)(unsafe.Pointer(bp + 80 /* &sApply */)).FpDelete = uintptr(0) - (*SessionApplyCtx)(unsafe.Pointer(bp + 80 /* &sApply */)).FpInsert = uintptr(0) - (*SessionApplyCtx)(unsafe.Pointer(bp + 80 /* &sApply */)).FpSelect = uintptr(0) - (*SessionApplyCtx)(unsafe.Pointer(bp + 80 /* &sApply */)).FnCol = 0 - (*SessionApplyCtx)(unsafe.Pointer(bp + 80 /* &sApply */)).FazCol = uintptr(0) - (*SessionApplyCtx)(unsafe.Pointer(bp + 80 /* &sApply */)).FabPK = uintptr(0) - (*SessionApplyCtx)(unsafe.Pointer(bp + 80 /* &sApply */)).FbStat1 = 0 - (*SessionApplyCtx)(unsafe.Pointer(bp + 80 /* &sApply */)).FbDeferConstraints = 1 - (*SessionApplyCtx)(unsafe.Pointer(bp + 80 /* &sApply */)).FbRebaseStarted = U8(0) - libc.Xmemset(tls, (bp + 80 /* &sApply */ + 88 /* &.constraints */), 0, uint64(unsafe.Sizeof(SessionBuffer{}))) + sessionUpdateFree(tls, bp+48 /* &sApply */) + Xsqlite3_free(tls, (*SessionApplyCtx)(unsafe.Pointer(bp+48 /* &sApply */)).FazCol) // cast works around VC++ bug + Xsqlite3_finalize(tls, (*SessionApplyCtx)(unsafe.Pointer(bp+48 /* &sApply */)).FpDelete) + Xsqlite3_finalize(tls, (*SessionApplyCtx)(unsafe.Pointer(bp+48 /* &sApply */)).FpInsert) + Xsqlite3_finalize(tls, (*SessionApplyCtx)(unsafe.Pointer(bp+48 /* &sApply */)).FpSelect) + (*SessionApplyCtx)(unsafe.Pointer(bp + 48 /* &sApply */)).Fdb = db + (*SessionApplyCtx)(unsafe.Pointer(bp + 48 /* &sApply */)).FpDelete = uintptr(0) + (*SessionApplyCtx)(unsafe.Pointer(bp + 48 /* &sApply */)).FpInsert = uintptr(0) + (*SessionApplyCtx)(unsafe.Pointer(bp + 48 /* &sApply */)).FpSelect = uintptr(0) + (*SessionApplyCtx)(unsafe.Pointer(bp + 48 /* &sApply */)).FnCol = 0 + (*SessionApplyCtx)(unsafe.Pointer(bp + 48 /* &sApply */)).FazCol = uintptr(0) + (*SessionApplyCtx)(unsafe.Pointer(bp + 48 /* &sApply */)).FabPK = uintptr(0) + (*SessionApplyCtx)(unsafe.Pointer(bp + 48 /* &sApply */)).FbStat1 = 0 + (*SessionApplyCtx)(unsafe.Pointer(bp + 48 /* &sApply */)).FbDeferConstraints = 1 + (*SessionApplyCtx)(unsafe.Pointer(bp + 48 /* &sApply */)).FbRebaseStarted = U8(0) + libc.Xmemset(tls, (bp + 48 /* &sApply */ + 88 /* &.constraints */), 0, uint64(unsafe.Sizeof(SessionBuffer{}))) // If an xFilter() callback was specified, invoke it now. If the // xFilter callback returns zero, skip this table. If it returns // non-zero, proceed. - schemaMismatch = (libc.Bool32((xFilter != 0) && (0 == (*(*func(*libc.TLS, uintptr, uintptr) int32)(unsafe.Pointer(&xFilter)))(tls, pCtx, *(*uintptr)(unsafe.Pointer(bp + 208 /* zNew */)))))) + schemaMismatch = (libc.Bool32((xFilter != 0) && (0 == (*(*func(*libc.TLS, uintptr, uintptr) int32)(unsafe.Pointer(&xFilter)))(tls, pCtx, *(*uintptr)(unsafe.Pointer(bp + 176 /* zNew */)))))) if schemaMismatch != 0 { - *(*uintptr)(unsafe.Pointer(bp + 232 /* zTab */)) = Xsqlite3_mprintf(tls, ts+3630 /* "%s" */, libc.VaList(bp, *(*uintptr)(unsafe.Pointer(bp + 208 /* zNew */)))) - if *(*uintptr)(unsafe.Pointer(bp + 232 /* zTab */)) == uintptr(0) { + *(*uintptr)(unsafe.Pointer(bp + 200 /* zTab */)) = Xsqlite3_mprintf(tls, ts+3630 /* "%s" */, libc.VaList(bp, *(*uintptr)(unsafe.Pointer(bp + 176 /* zNew */)))) + if *(*uintptr)(unsafe.Pointer(bp + 200 /* zTab */)) == uintptr(0) { rc = SQLITE_NOMEM break } - nTab = int32(libc.Xstrlen(tls, *(*uintptr)(unsafe.Pointer(bp + 232 /* zTab */)))) - (*SessionApplyCtx)(unsafe.Pointer(bp + 80 /* &sApply */)).FazCol = *(*uintptr)(unsafe.Pointer(bp + 232 /* zTab */)) + nTab = int32(libc.Xstrlen(tls, *(*uintptr)(unsafe.Pointer(bp + 200 /* zTab */)))) + (*SessionApplyCtx)(unsafe.Pointer(bp + 48 /* &sApply */)).FazCol = *(*uintptr)(unsafe.Pointer(bp + 200 /* zTab */)) } else { var nMinCol int32 = 0 var i int32 - Xsqlite3changeset_pk(tls, pIter, bp+224 /* &abPK */, uintptr(0)) + Xsqlite3changeset_pk(tls, pIter, bp+192 /* &abPK */, uintptr(0)) rc = sessionTableInfo(tls, uintptr(0), - db, ts+6820 /* "main" */, *(*uintptr)(unsafe.Pointer(bp + 208 /* zNew */)), (bp + 80 /* &sApply */ + 32 /* &.nCol */), bp+232 /* &zTab */, (bp + 80 /* &sApply */ + 40 /* &.azCol */), (bp + 80 /* &sApply */ + 48 /* &.abPK */)) + db, ts+6820 /* "main" */, *(*uintptr)(unsafe.Pointer(bp + 176 /* zNew */)), (bp + 48 /* &sApply */ + 32 /* &.nCol */), bp+200 /* &zTab */, (bp + 48 /* &sApply */ + 40 /* &.azCol */), (bp + 48 /* &sApply */ + 48 /* &.abPK */)) if rc != SQLITE_OK { break } - for i = 0; i < (*SessionApplyCtx)(unsafe.Pointer(bp+80 /* &sApply */)).FnCol; i++ { - if *(*U8)(unsafe.Pointer((*SessionApplyCtx)(unsafe.Pointer(bp+80 /* &sApply */)).FabPK + uintptr(i))) != 0 { + for i = 0; i < (*SessionApplyCtx)(unsafe.Pointer(bp+48 /* &sApply */)).FnCol; i++ { + if *(*U8)(unsafe.Pointer((*SessionApplyCtx)(unsafe.Pointer(bp+48 /* &sApply */)).FabPK + uintptr(i))) != 0 { nMinCol = (i + 1) } } - if (*SessionApplyCtx)(unsafe.Pointer(bp+80 /* &sApply */)).FnCol == 0 { + if (*SessionApplyCtx)(unsafe.Pointer(bp+48 /* &sApply */)).FnCol == 0 { schemaMismatch = 1 Xsqlite3_log(tls, SQLITE_SCHEMA, - ts+33011 /* "sqlite3changeset..." */, libc.VaList(bp+16, *(*uintptr)(unsafe.Pointer(bp + 232 /* zTab */)))) - } else if (*SessionApplyCtx)(unsafe.Pointer(bp+80 /* &sApply */)).FnCol < *(*int32)(unsafe.Pointer(bp + 216 /* nCol */)) { + ts+33011 /* "sqlite3changeset..." */, libc.VaList(bp+8, *(*uintptr)(unsafe.Pointer(bp + 200 /* zTab */)))) + } else if (*SessionApplyCtx)(unsafe.Pointer(bp+48 /* &sApply */)).FnCol < *(*int32)(unsafe.Pointer(bp + 184 /* nCol */)) { schemaMismatch = 1 Xsqlite3_log(tls, SQLITE_SCHEMA, ts+33055, /* "sqlite3changeset..." */ - libc.VaList(bp+32, *(*uintptr)(unsafe.Pointer(bp + 232 /* zTab */)), (*SessionApplyCtx)(unsafe.Pointer(bp+80 /* &sApply */)).FnCol, *(*int32)(unsafe.Pointer(bp + 216 /* nCol */)))) - } else if (*(*int32)(unsafe.Pointer(bp + 216 /* nCol */)) < nMinCol) || (libc.Xmemcmp(tls, (*SessionApplyCtx)(unsafe.Pointer(bp+80 /* &sApply */)).FabPK, *(*uintptr)(unsafe.Pointer(bp + 224 /* abPK */)), uint64(*(*int32)(unsafe.Pointer(bp + 216 /* nCol */)))) != 0) { + libc.VaList(bp+16, *(*uintptr)(unsafe.Pointer(bp + 200 /* zTab */)), (*SessionApplyCtx)(unsafe.Pointer(bp+48 /* &sApply */)).FnCol, *(*int32)(unsafe.Pointer(bp + 184 /* nCol */)))) + } else if (*(*int32)(unsafe.Pointer(bp + 184 /* nCol */)) < nMinCol) || (libc.Xmemcmp(tls, (*SessionApplyCtx)(unsafe.Pointer(bp+48 /* &sApply */)).FabPK, *(*uintptr)(unsafe.Pointer(bp + 192 /* abPK */)), uint64(*(*int32)(unsafe.Pointer(bp + 184 /* nCol */)))) != 0) { schemaMismatch = 1 Xsqlite3_log(tls, SQLITE_SCHEMA, - ts+33126 /* "sqlite3changeset..." */, libc.VaList(bp+64, *(*uintptr)(unsafe.Pointer(bp + 232 /* zTab */)))) + ts+33126 /* "sqlite3changeset..." */, libc.VaList(bp+40, *(*uintptr)(unsafe.Pointer(bp + 200 /* zTab */)))) } else { - (*SessionApplyCtx)(unsafe.Pointer(bp + 80 /* &sApply */)).FnCol = *(*int32)(unsafe.Pointer(bp + 216 /* nCol */)) - if 0 == Xsqlite3_stricmp(tls, *(*uintptr)(unsafe.Pointer(bp + 232 /* zTab */)), ts+11434 /* "sqlite_stat1" */) { - if libc.AssignInt32(&rc, sessionStat1Sql(tls, db, bp+80 /* &sApply */)) != 0 { + (*SessionApplyCtx)(unsafe.Pointer(bp + 48 /* &sApply */)).FnCol = *(*int32)(unsafe.Pointer(bp + 184 /* nCol */)) + if 0 == Xsqlite3_stricmp(tls, *(*uintptr)(unsafe.Pointer(bp + 200 /* zTab */)), ts+11434 /* "sqlite_stat1" */) { + if libc.AssignInt32(&rc, sessionStat1Sql(tls, db, bp+48 /* &sApply */)) != 0 { break } - (*SessionApplyCtx)(unsafe.Pointer(bp + 80 /* &sApply */)).FbStat1 = 1 + (*SessionApplyCtx)(unsafe.Pointer(bp + 48 /* &sApply */)).FbStat1 = 1 } else { - if ((libc.AssignInt32(&rc, sessionSelectRow(tls, db, *(*uintptr)(unsafe.Pointer(bp + 232 /* zTab */)), bp+80 /* &sApply */)) != 0) || - (libc.AssignInt32(&rc, sessionDeleteRow(tls, db, *(*uintptr)(unsafe.Pointer(bp + 232 /* zTab */)), bp+80 /* &sApply */)) != 0)) || - (libc.AssignInt32(&rc, sessionInsertRow(tls, db, *(*uintptr)(unsafe.Pointer(bp + 232 /* zTab */)), bp+80 /* &sApply */)) != 0) { + if ((libc.AssignInt32(&rc, sessionSelectRow(tls, db, *(*uintptr)(unsafe.Pointer(bp + 200 /* zTab */)), bp+48 /* &sApply */)) != 0) || + (libc.AssignInt32(&rc, sessionDeleteRow(tls, db, *(*uintptr)(unsafe.Pointer(bp + 200 /* zTab */)), bp+48 /* &sApply */)) != 0)) || + (libc.AssignInt32(&rc, sessionInsertRow(tls, db, *(*uintptr)(unsafe.Pointer(bp + 200 /* zTab */)), bp+48 /* &sApply */)) != 0) { break } - (*SessionApplyCtx)(unsafe.Pointer(bp + 80 /* &sApply */)).FbStat1 = 0 + (*SessionApplyCtx)(unsafe.Pointer(bp + 48 /* &sApply */)).FbStat1 = 0 } } - nTab = Xsqlite3Strlen30(tls, *(*uintptr)(unsafe.Pointer(bp + 232 /* zTab */))) + nTab = Xsqlite3Strlen30(tls, *(*uintptr)(unsafe.Pointer(bp + 200 /* zTab */))) } } @@ -214870,7 +214870,7 @@ func sessionChangesetApply(tls *libc.TLS, db uintptr, pIter uintptr, xFilter uin continue } - rc = sessionApplyOneWithRetry(tls, db, pIter, bp+80 /* &sApply */, xConflict, pCtx) + rc = sessionApplyOneWithRetry(tls, db, pIter, bp+48 /* &sApply */, xConflict, pCtx) } bPatchset = (*Sqlite3_changeset_iter)(unsafe.Pointer(pIter)).FbPatchset @@ -214881,22 +214881,22 @@ func sessionChangesetApply(tls *libc.TLS, db uintptr, pIter uintptr, xFilter uin } if rc == SQLITE_OK { - rc = sessionRetryConstraints(tls, db, bPatchset, *(*uintptr)(unsafe.Pointer(bp + 232 /* zTab */)), bp+80 /* &sApply */, xConflict, pCtx) + rc = sessionRetryConstraints(tls, db, bPatchset, *(*uintptr)(unsafe.Pointer(bp + 200 /* zTab */)), bp+48 /* &sApply */, xConflict, pCtx) } if rc == SQLITE_OK { - // var nFk int32 at bp+240, 4 + // var nFk int32 at bp+208, 4 - // var notUsed int32 at bp+244, 4 + // var notUsed int32 at bp+212, 4 - Xsqlite3_db_status(tls, db, SQLITE_DBSTATUS_DEFERRED_FKS, bp+240 /* &nFk */, bp+244 /* ¬Used */, 0) - if *(*int32)(unsafe.Pointer(bp + 240 /* nFk */)) != 0 { + Xsqlite3_db_status(tls, db, SQLITE_DBSTATUS_DEFERRED_FKS, bp+208 /* &nFk */, bp+212 /* ¬Used */, 0) + if *(*int32)(unsafe.Pointer(bp + 208 /* nFk */)) != 0 { var res int32 = SQLITE_CHANGESET_ABORT - // var sIter Sqlite3_changeset_iter at bp+248, 152 + // var sIter Sqlite3_changeset_iter at bp+216, 152 - libc.Xmemset(tls, bp+248 /* &sIter */, 0, uint64(unsafe.Sizeof(Sqlite3_changeset_iter{}))) - (*Sqlite3_changeset_iter)(unsafe.Pointer(bp + 248 /* &sIter */)).FnCol = *(*int32)(unsafe.Pointer(bp + 240 /* nFk */)) - res = (*(*func(*libc.TLS, uintptr, int32, uintptr) int32)(unsafe.Pointer(&xConflict)))(tls, pCtx, SQLITE_CHANGESET_FOREIGN_KEY, bp+248 /* &sIter */) + libc.Xmemset(tls, bp+216 /* &sIter */, 0, uint64(unsafe.Sizeof(Sqlite3_changeset_iter{}))) + (*Sqlite3_changeset_iter)(unsafe.Pointer(bp + 216 /* &sIter */)).FnCol = *(*int32)(unsafe.Pointer(bp + 208 /* nFk */)) + res = (*(*func(*libc.TLS, uintptr, int32, uintptr) int32)(unsafe.Pointer(&xConflict)))(tls, pCtx, SQLITE_CHANGESET_FOREIGN_KEY, bp+216 /* &sIter */) if res != SQLITE_CHANGESET_OMIT { rc = SQLITE_CONSTRAINT } @@ -214913,18 +214913,18 @@ func sessionChangesetApply(tls *libc.TLS, db uintptr, pIter uintptr, xFilter uin } } - if ((rc == SQLITE_OK) && (bPatchset == 0)) && ((*SessionApplyCtx)(unsafe.Pointer(bp+80 /* &sApply */)).FbRebase != 0) { - *(*uintptr)(unsafe.Pointer(ppRebase)) = (*SessionApplyCtx)(unsafe.Pointer(bp + 80 /* &sApply */)).Frebase.FaBuf - *(*int32)(unsafe.Pointer(pnRebase)) = (*SessionApplyCtx)(unsafe.Pointer(bp + 80 /* &sApply */)).Frebase.FnBuf - (*SessionApplyCtx)(unsafe.Pointer(bp + 80 /* &sApply */)).Frebase.FaBuf = uintptr(0) + if ((rc == SQLITE_OK) && (bPatchset == 0)) && ((*SessionApplyCtx)(unsafe.Pointer(bp+48 /* &sApply */)).FbRebase != 0) { + *(*uintptr)(unsafe.Pointer(ppRebase)) = (*SessionApplyCtx)(unsafe.Pointer(bp + 48 /* &sApply */)).Frebase.FaBuf + *(*int32)(unsafe.Pointer(pnRebase)) = (*SessionApplyCtx)(unsafe.Pointer(bp + 48 /* &sApply */)).Frebase.FnBuf + (*SessionApplyCtx)(unsafe.Pointer(bp + 48 /* &sApply */)).Frebase.FaBuf = uintptr(0) } - sessionUpdateFree(tls, bp+80 /* &sApply */) - Xsqlite3_finalize(tls, (*SessionApplyCtx)(unsafe.Pointer(bp+80 /* &sApply */)).FpInsert) - Xsqlite3_finalize(tls, (*SessionApplyCtx)(unsafe.Pointer(bp+80 /* &sApply */)).FpDelete) - Xsqlite3_finalize(tls, (*SessionApplyCtx)(unsafe.Pointer(bp+80 /* &sApply */)).FpSelect) - Xsqlite3_free(tls, (*SessionApplyCtx)(unsafe.Pointer(bp+80 /* &sApply */)).FazCol) // cast works around VC++ bug - Xsqlite3_free(tls, (*SessionApplyCtx)(unsafe.Pointer(bp+80 /* &sApply */)).Fconstraints.FaBuf) - Xsqlite3_free(tls, (*SessionApplyCtx)(unsafe.Pointer(bp+80 /* &sApply */)).Frebase.FaBuf) + sessionUpdateFree(tls, bp+48 /* &sApply */) + Xsqlite3_finalize(tls, (*SessionApplyCtx)(unsafe.Pointer(bp+48 /* &sApply */)).FpInsert) + Xsqlite3_finalize(tls, (*SessionApplyCtx)(unsafe.Pointer(bp+48 /* &sApply */)).FpDelete) + Xsqlite3_finalize(tls, (*SessionApplyCtx)(unsafe.Pointer(bp+48 /* &sApply */)).FpSelect) + Xsqlite3_free(tls, (*SessionApplyCtx)(unsafe.Pointer(bp+48 /* &sApply */)).FazCol) // cast works around VC++ bug + Xsqlite3_free(tls, (*SessionApplyCtx)(unsafe.Pointer(bp+48 /* &sApply */)).Fconstraints.FaBuf) + Xsqlite3_free(tls, (*SessionApplyCtx)(unsafe.Pointer(bp+48 /* &sApply */)).Frebase.FaBuf) Xsqlite3_mutex_leave(tls, Xsqlite3_db_mutex(tls, db)) return rc } @@ -216990,8 +216990,8 @@ func fts5yy_reduce(tls *libc.TLS, fts5yypParser uintptr, fts5yyruleno uint32, ft // The following code executes when a syntax error first occurs. func fts5yy_syntax_error(tls *libc.TLS, fts5yypParser uintptr, fts5yymajor int32, fts5yyminor Fts5Token) { /* sqlite3.c:215056:13: */ - bp := tls.Alloc(24) - defer tls.Free(24) + bp := tls.Alloc(16) + defer tls.Free(16) var pParse uintptr = (*Fts5yyParser)(unsafe.Pointer(fts5yypParser)).FpParse @@ -217263,8 +217263,8 @@ type HighlightContext = HighlightContext1 /* sqlite3.c:215457:33 */ // called, it is a no-op. If an error (i.e. an OOM condition) is encountered, // *pRc is set to an error code before returning. func fts5HighlightAppend(tls *libc.TLS, pRc uintptr, p uintptr, z uintptr, n int32) { /* sqlite3.c:215480:13: */ - bp := tls.Alloc(32) - defer tls.Free(32) + bp := tls.Alloc(24) + defer tls.Free(24) if (*(*int32)(unsafe.Pointer(pRc)) == SQLITE_OK) && (z != 0) { if n < 0 { @@ -218554,19 +218554,19 @@ func fts5ConfigSetEnum(tls *libc.TLS, aEnum uintptr, zEnum uintptr, peVal uintpt // may be left in *pzErr. It is the responsibility of the caller to // eventually free any such error message using sqlite3_free(). func fts5ConfigParseSpecial(tls *libc.TLS, pGlobal uintptr, pConfig uintptr, zCmd uintptr, zArg uintptr, pzErr uintptr) int32 { /* sqlite3.c:216705:12: */ - bp := tls.Alloc(136) - defer tls.Free(136) + bp := tls.Alloc(112) + defer tls.Free(112) - *(*int32)(unsafe.Pointer(bp + 64 /* rc */)) = SQLITE_OK + *(*int32)(unsafe.Pointer(bp + 40 /* rc */)) = SQLITE_OK var nCmd int32 = int32(libc.Xstrlen(tls, zCmd)) if Xsqlite3_strnicmp(tls, ts+33455 /* "prefix" */, zCmd, nCmd) == 0 { var nByte int32 = (int32(uint64(unsafe.Sizeof(int32(0))) * uint64(FTS5_MAX_PREFIX_INDEXES))) var p uintptr var bFirst int32 = 1 if (*Fts5Config)(unsafe.Pointer(pConfig)).FaPrefix == uintptr(0) { - (*Fts5Config)(unsafe.Pointer(pConfig)).FaPrefix = sqlite3Fts5MallocZero(tls, bp+64 /* &rc */, int64(nByte)) - if *(*int32)(unsafe.Pointer(bp + 64 /* rc */)) != 0 { - return *(*int32)(unsafe.Pointer(bp + 64 /* rc */)) + (*Fts5Config)(unsafe.Pointer(pConfig)).FaPrefix = sqlite3Fts5MallocZero(tls, bp+40 /* &rc */, int64(nByte)) + if *(*int32)(unsafe.Pointer(bp + 40 /* rc */)) != 0 { + return *(*int32)(unsafe.Pointer(bp + 40 /* rc */)) } } @@ -218587,14 +218587,14 @@ func fts5ConfigParseSpecial(tls *libc.TLS, pGlobal uintptr, pConfig uintptr, zCm } if (int32(*(*int8)(unsafe.Pointer(p))) < '0') || (int32(*(*int8)(unsafe.Pointer(p))) > '9') { *(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3_mprintf(tls, ts+33462 /* "malformed prefix..." */, 0) - *(*int32)(unsafe.Pointer(bp + 64 /* rc */)) = SQLITE_ERROR + *(*int32)(unsafe.Pointer(bp + 40 /* rc */)) = SQLITE_ERROR break } if (*Fts5Config)(unsafe.Pointer(pConfig)).FnPrefix == FTS5_MAX_PREFIX_INDEXES { *(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3_mprintf(tls, ts+33493 /* "too many prefix ..." */, libc.VaList(bp, FTS5_MAX_PREFIX_INDEXES)) - *(*int32)(unsafe.Pointer(bp + 64 /* rc */)) = SQLITE_ERROR + *(*int32)(unsafe.Pointer(bp + 40 /* rc */)) = SQLITE_ERROR break } @@ -218605,7 +218605,7 @@ func fts5ConfigParseSpecial(tls *libc.TLS, pGlobal uintptr, pConfig uintptr, zCm if (nPre <= 0) || (nPre >= 1000) { *(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3_mprintf(tls, ts+33526 /* "prefix length ou..." */, 0) - *(*int32)(unsafe.Pointer(bp + 64 /* rc */)) = SQLITE_ERROR + *(*int32)(unsafe.Pointer(bp + 40 /* rc */)) = SQLITE_ERROR break } @@ -218614,20 +218614,20 @@ func fts5ConfigParseSpecial(tls *libc.TLS, pGlobal uintptr, pConfig uintptr, zCm bFirst = 0 } - return *(*int32)(unsafe.Pointer(bp + 64 /* rc */)) + return *(*int32)(unsafe.Pointer(bp + 40 /* rc */)) } if Xsqlite3_strnicmp(tls, ts+33563 /* "tokenize" */, zCmd, nCmd) == 0 { var p uintptr = zArg var nArg Sqlite3_int64 = (Sqlite3_int64(libc.Xstrlen(tls, zArg) + uint64(1))) - var azArg uintptr = sqlite3Fts5MallocZero(tls, bp+64 /* &rc */, (int64(uint64(unsafe.Sizeof(uintptr(0))) * uint64(nArg)))) - var pDel uintptr = sqlite3Fts5MallocZero(tls, bp+64 /* &rc */, (nArg * int64(2))) + var azArg uintptr = sqlite3Fts5MallocZero(tls, bp+40 /* &rc */, (int64(uint64(unsafe.Sizeof(uintptr(0))) * uint64(nArg)))) + var pDel uintptr = sqlite3Fts5MallocZero(tls, bp+40 /* &rc */, (nArg * int64(2))) var pSpace uintptr = pDel if (azArg != 0) && (pSpace != 0) { if (*Fts5Config)(unsafe.Pointer(pConfig)).FpTok != 0 { *(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3_mprintf(tls, ts+33572 /* "multiple tokeniz..." */, 0) - *(*int32)(unsafe.Pointer(bp + 64 /* rc */)) = SQLITE_ERROR + *(*int32)(unsafe.Pointer(bp + 40 /* rc */)) = SQLITE_ERROR } else { for nArg = int64(0); (p != 0) && (*(*int8)(unsafe.Pointer(p)) != 0); nArg++ { var p2 uintptr = fts5ConfigSkipWhitespace(tls, p) @@ -218646,9 +218646,9 @@ func fts5ConfigParseSpecial(tls *libc.TLS, pGlobal uintptr, pConfig uintptr, zCm } if p == uintptr(0) { *(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3_mprintf(tls, ts+33605 /* "parse error in t..." */, 0) - *(*int32)(unsafe.Pointer(bp + 64 /* rc */)) = SQLITE_ERROR + *(*int32)(unsafe.Pointer(bp + 40 /* rc */)) = SQLITE_ERROR } else { - *(*int32)(unsafe.Pointer(bp + 64 /* rc */)) = sqlite3Fts5GetTokenizer(tls, pGlobal, + *(*int32)(unsafe.Pointer(bp + 40 /* rc */)) = sqlite3Fts5GetTokenizer(tls, pGlobal, azArg, int32(nArg), pConfig, pzErr) } @@ -218657,59 +218657,59 @@ func fts5ConfigParseSpecial(tls *libc.TLS, pGlobal uintptr, pConfig uintptr, zCm Xsqlite3_free(tls, azArg) Xsqlite3_free(tls, pDel) - return *(*int32)(unsafe.Pointer(bp + 64 /* rc */)) + return *(*int32)(unsafe.Pointer(bp + 40 /* rc */)) } if Xsqlite3_strnicmp(tls, ts+33639 /* "content" */, zCmd, nCmd) == 0 { if (*Fts5Config)(unsafe.Pointer(pConfig)).FeContent != FTS5_CONTENT_NORMAL { *(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3_mprintf(tls, ts+33647 /* "multiple content..." */, 0) - *(*int32)(unsafe.Pointer(bp + 64 /* rc */)) = SQLITE_ERROR + *(*int32)(unsafe.Pointer(bp + 40 /* rc */)) = SQLITE_ERROR } else { if *(*int8)(unsafe.Pointer(zArg)) != 0 { (*Fts5Config)(unsafe.Pointer(pConfig)).FeContent = FTS5_CONTENT_EXTERNAL - (*Fts5Config)(unsafe.Pointer(pConfig)).FzContent = sqlite3Fts5Mprintf(tls, bp+64 /* &rc */, ts+33679 /* "%Q.%Q" */, libc.VaList(bp+16, (*Fts5Config)(unsafe.Pointer(pConfig)).FzDb, zArg)) + (*Fts5Config)(unsafe.Pointer(pConfig)).FzContent = sqlite3Fts5Mprintf(tls, bp+40 /* &rc */, ts+33679 /* "%Q.%Q" */, libc.VaList(bp+8, (*Fts5Config)(unsafe.Pointer(pConfig)).FzDb, zArg)) } else { (*Fts5Config)(unsafe.Pointer(pConfig)).FeContent = FTS5_CONTENT_NONE } } - return *(*int32)(unsafe.Pointer(bp + 64 /* rc */)) + return *(*int32)(unsafe.Pointer(bp + 40 /* rc */)) } if Xsqlite3_strnicmp(tls, ts+33685 /* "content_rowid" */, zCmd, nCmd) == 0 { if (*Fts5Config)(unsafe.Pointer(pConfig)).FzContentRowid != 0 { *(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3_mprintf(tls, ts+33699 /* "multiple content..." */, 0) - *(*int32)(unsafe.Pointer(bp + 64 /* rc */)) = SQLITE_ERROR + *(*int32)(unsafe.Pointer(bp + 40 /* rc */)) = SQLITE_ERROR } else { - (*Fts5Config)(unsafe.Pointer(pConfig)).FzContentRowid = sqlite3Fts5Strndup(tls, bp+64 /* &rc */, zArg, -1) + (*Fts5Config)(unsafe.Pointer(pConfig)).FzContentRowid = sqlite3Fts5Strndup(tls, bp+40 /* &rc */, zArg, -1) } - return *(*int32)(unsafe.Pointer(bp + 64 /* rc */)) + return *(*int32)(unsafe.Pointer(bp + 40 /* rc */)) } if Xsqlite3_strnicmp(tls, ts+33737 /* "columnsize" */, zCmd, nCmd) == 0 { if ((int32(*(*int8)(unsafe.Pointer(zArg))) != '0') && (int32(*(*int8)(unsafe.Pointer(zArg))) != '1')) || (int32(*(*int8)(unsafe.Pointer(zArg + 1))) != 0) { *(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3_mprintf(tls, ts+33748 /* "malformed column..." */, 0) - *(*int32)(unsafe.Pointer(bp + 64 /* rc */)) = SQLITE_ERROR + *(*int32)(unsafe.Pointer(bp + 40 /* rc */)) = SQLITE_ERROR } else { (*Fts5Config)(unsafe.Pointer(pConfig)).FbColumnsize = (libc.Bool32(int32(*(*int8)(unsafe.Pointer(zArg))) == '1')) } - return *(*int32)(unsafe.Pointer(bp + 64 /* rc */)) + return *(*int32)(unsafe.Pointer(bp + 40 /* rc */)) } if Xsqlite3_strnicmp(tls, ts+5551 /* "detail" */, zCmd, nCmd) == 0 { - *(*[4]Fts5Enum)(unsafe.Pointer(bp + 72 /* aDetail */)) = [4]Fts5Enum{ + *(*[4]Fts5Enum)(unsafe.Pointer(bp + 48 /* aDetail */)) = [4]Fts5Enum{ {FzName: ts + 17207 /* "none" */, FeVal: FTS5_DETAIL_NONE}, {FzName: ts + 17212 /* "full" */}, {FzName: ts + 33783 /* "columns" */, FeVal: FTS5_DETAIL_COLUMNS}, {}, } - if libc.AssignPtrInt32(bp+64 /* rc */, fts5ConfigSetEnum(tls, bp+72 /* &aDetail[0] */, zArg, (pConfig+92 /* &.eDetail */))) != 0 { + if libc.AssignPtrInt32(bp+40 /* rc */, fts5ConfigSetEnum(tls, bp+48 /* &aDetail[0] */, zArg, (pConfig+92 /* &.eDetail */))) != 0 { *(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3_mprintf(tls, ts+33791 /* "malformed detail..." */, 0) } - return *(*int32)(unsafe.Pointer(bp + 64 /* rc */)) + return *(*int32)(unsafe.Pointer(bp + 40 /* rc */)) } - *(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3_mprintf(tls, ts+33822 /* "unrecognized opt..." */, libc.VaList(bp+40, nCmd, zCmd)) + *(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3_mprintf(tls, ts+33822 /* "unrecognized opt..." */, libc.VaList(bp+24, nCmd, zCmd)) return SQLITE_ERROR } @@ -218769,8 +218769,8 @@ func fts5ConfigGobbleWord(tls *libc.TLS, pRc uintptr, zIn uintptr, pzOut uintptr } func fts5ConfigParseColumn(tls *libc.TLS, p uintptr, zCol uintptr, zArg uintptr, pzErr uintptr) int32 { /* sqlite3.c:216929:12: */ - bp := tls.Alloc(32) - defer tls.Free(32) + bp := tls.Alloc(16) + defer tls.Free(16) var rc int32 = SQLITE_OK if (0 == Xsqlite3_stricmp(tls, zCol, ts+21876 /* "rank" */)) || @@ -218781,7 +218781,7 @@ func fts5ConfigParseColumn(tls *libc.TLS, p uintptr, zCol uintptr, zArg uintptr, if 0 == Xsqlite3_stricmp(tls, zArg, ts+33880 /* "unindexed" */) { *(*U8)(unsafe.Pointer((*Fts5Config)(unsafe.Pointer(p)).FabUnindexed + uintptr((*Fts5Config)(unsafe.Pointer(p)).FnCol))) = U8(1) } else { - *(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3_mprintf(tls, ts+33890 /* "unrecognized col..." */, libc.VaList(bp+16, zArg)) + *(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3_mprintf(tls, ts+33890 /* "unrecognized col..." */, libc.VaList(bp+8, zArg)) rc = SQLITE_ERROR } } @@ -218792,26 +218792,26 @@ func fts5ConfigParseColumn(tls *libc.TLS, p uintptr, zCol uintptr, zArg uintptr, // Populate the Fts5Config.zContentExprlist string. func fts5ConfigMakeExprlist(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:216957:12: */ - bp := tls.Alloc(72) - defer tls.Free(72) + bp := tls.Alloc(48) + defer tls.Free(48) var i int32 - *(*int32)(unsafe.Pointer(bp + 48 /* rc */)) = SQLITE_OK - *(*Fts5Buffer)(unsafe.Pointer(bp + 56 /* buf */)) = Fts5Buffer{} + *(*int32)(unsafe.Pointer(bp + 24 /* rc */)) = SQLITE_OK + *(*Fts5Buffer)(unsafe.Pointer(bp + 32 /* buf */)) = Fts5Buffer{} - sqlite3Fts5BufferAppendPrintf(tls, bp+48 /* &rc */, bp+56 /* &buf */, ts+33921 /* "T.%Q" */, libc.VaList(bp, (*Fts5Config)(unsafe.Pointer(p)).FzContentRowid)) + sqlite3Fts5BufferAppendPrintf(tls, bp+24 /* &rc */, bp+32 /* &buf */, ts+33921 /* "T.%Q" */, libc.VaList(bp, (*Fts5Config)(unsafe.Pointer(p)).FzContentRowid)) if (*Fts5Config)(unsafe.Pointer(p)).FeContent != FTS5_CONTENT_NONE { for i = 0; i < (*Fts5Config)(unsafe.Pointer(p)).FnCol; i++ { if (*Fts5Config)(unsafe.Pointer(p)).FeContent == FTS5_CONTENT_EXTERNAL { - sqlite3Fts5BufferAppendPrintf(tls, bp+48 /* &rc */, bp+56 /* &buf */, ts+33926 /* ", T.%Q" */, libc.VaList(bp+16, *(*uintptr)(unsafe.Pointer((*Fts5Config)(unsafe.Pointer(p)).FazCol + uintptr(i)*8)))) + sqlite3Fts5BufferAppendPrintf(tls, bp+24 /* &rc */, bp+32 /* &buf */, ts+33926 /* ", T.%Q" */, libc.VaList(bp+8, *(*uintptr)(unsafe.Pointer((*Fts5Config)(unsafe.Pointer(p)).FazCol + uintptr(i)*8)))) } else { - sqlite3Fts5BufferAppendPrintf(tls, bp+48 /* &rc */, bp+56 /* &buf */, ts+33933 /* ", T.c%d" */, libc.VaList(bp+32, i)) + sqlite3Fts5BufferAppendPrintf(tls, bp+24 /* &rc */, bp+32 /* &buf */, ts+33933 /* ", T.c%d" */, libc.VaList(bp+16, i)) } } } - (*Fts5Config)(unsafe.Pointer(p)).FzContentExprlist = (*Fts5Buffer)(unsafe.Pointer(bp + 56 /* &buf */)).Fp - return *(*int32)(unsafe.Pointer(bp + 48 /* rc */)) + (*Fts5Config)(unsafe.Pointer(p)).FzContentExprlist = (*Fts5Buffer)(unsafe.Pointer(bp + 32 /* &buf */)).Fp + return *(*int32)(unsafe.Pointer(bp + 24 /* rc */)) } // Arguments nArg/azArg contain the string arguments passed to the xCreate @@ -218825,10 +218825,10 @@ func fts5ConfigMakeExprlist(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:21695 // *pzErr. It is the responsibility of the caller to eventually free any // such error message using sqlite3_free(). func sqlite3Fts5ConfigParse(tls *libc.TLS, pGlobal uintptr, db uintptr, nArg int32, azArg uintptr, ppOut uintptr, pzErr uintptr) int32 { /* sqlite3.c:216990:12: */ - bp := tls.Alloc(100) - defer tls.Free(100) + bp := tls.Alloc(76) + defer tls.Free(76) - *(*int32)(unsafe.Pointer(bp + 64 /* rc */)) = SQLITE_OK // Return code + *(*int32)(unsafe.Pointer(bp + 40 /* rc */)) = SQLITE_OK // Return code var pRet uintptr // New object to return var i int32 var nByte Sqlite3_int64 @@ -218842,81 +218842,81 @@ func sqlite3Fts5ConfigParse(tls *libc.TLS, pGlobal uintptr, db uintptr, nArg int (*Fts5Config)(unsafe.Pointer(pRet)).FiCookie = -1 nByte = (Sqlite3_int64(uint64(nArg) * (uint64(unsafe.Sizeof(uintptr(0))) + uint64(unsafe.Sizeof(U8(0)))))) - (*Fts5Config)(unsafe.Pointer(pRet)).FazCol = sqlite3Fts5MallocZero(tls, bp+64 /* &rc */, nByte) + (*Fts5Config)(unsafe.Pointer(pRet)).FazCol = sqlite3Fts5MallocZero(tls, bp+40 /* &rc */, nByte) (*Fts5Config)(unsafe.Pointer(pRet)).FabUnindexed = func() uintptr { if (*Fts5Config)(unsafe.Pointer(pRet)).FazCol != 0 { return ((*Fts5Config)(unsafe.Pointer(pRet)).FazCol + uintptr(nArg)*8) } return uintptr(0) }() - (*Fts5Config)(unsafe.Pointer(pRet)).FzDb = sqlite3Fts5Strndup(tls, bp+64 /* &rc */, *(*uintptr)(unsafe.Pointer(azArg + 1*8)), -1) - (*Fts5Config)(unsafe.Pointer(pRet)).FzName = sqlite3Fts5Strndup(tls, bp+64 /* &rc */, *(*uintptr)(unsafe.Pointer(azArg + 2*8)), -1) + (*Fts5Config)(unsafe.Pointer(pRet)).FzDb = sqlite3Fts5Strndup(tls, bp+40 /* &rc */, *(*uintptr)(unsafe.Pointer(azArg + 1*8)), -1) + (*Fts5Config)(unsafe.Pointer(pRet)).FzName = sqlite3Fts5Strndup(tls, bp+40 /* &rc */, *(*uintptr)(unsafe.Pointer(azArg + 2*8)), -1) (*Fts5Config)(unsafe.Pointer(pRet)).FbColumnsize = 1 (*Fts5Config)(unsafe.Pointer(pRet)).FeDetail = FTS5_DETAIL_FULL - if (*(*int32)(unsafe.Pointer(bp + 64 /* rc */)) == SQLITE_OK) && (Xsqlite3_stricmp(tls, (*Fts5Config)(unsafe.Pointer(pRet)).FzName, ts+21876 /* "rank" */) == 0) { + if (*(*int32)(unsafe.Pointer(bp + 40 /* rc */)) == SQLITE_OK) && (Xsqlite3_stricmp(tls, (*Fts5Config)(unsafe.Pointer(pRet)).FzName, ts+21876 /* "rank" */) == 0) { *(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3_mprintf(tls, ts+33941 /* "reserved fts5 ta..." */, libc.VaList(bp, (*Fts5Config)(unsafe.Pointer(pRet)).FzName)) - *(*int32)(unsafe.Pointer(bp + 64 /* rc */)) = SQLITE_ERROR + *(*int32)(unsafe.Pointer(bp + 40 /* rc */)) = SQLITE_ERROR } - for i = 3; (*(*int32)(unsafe.Pointer(bp + 64 /* rc */)) == SQLITE_OK) && (i < nArg); i++ { + for i = 3; (*(*int32)(unsafe.Pointer(bp + 40 /* rc */)) == SQLITE_OK) && (i < nArg); i++ { var zOrig uintptr = *(*uintptr)(unsafe.Pointer(azArg + uintptr(i)*8)) var z uintptr - *(*uintptr)(unsafe.Pointer(bp + 72 /* zOne */)) = uintptr(0) - *(*uintptr)(unsafe.Pointer(bp + 88 /* zTwo */)) = uintptr(0) + *(*uintptr)(unsafe.Pointer(bp + 48 /* zOne */)) = uintptr(0) + *(*uintptr)(unsafe.Pointer(bp + 64 /* zTwo */)) = uintptr(0) var bOption int32 = 0 - *(*int32)(unsafe.Pointer(bp + 80 /* bMustBeCol */)) = 0 + *(*int32)(unsafe.Pointer(bp + 56 /* bMustBeCol */)) = 0 - z = fts5ConfigGobbleWord(tls, bp+64 /* &rc */, zOrig, bp+72 /* &zOne */, bp+80 /* &bMustBeCol */) + z = fts5ConfigGobbleWord(tls, bp+40 /* &rc */, zOrig, bp+48 /* &zOne */, bp+56 /* &bMustBeCol */) z = fts5ConfigSkipWhitespace(tls, z) if (z != 0) && (int32(*(*int8)(unsafe.Pointer(z))) == '=') { bOption = 1 z++ - if *(*int32)(unsafe.Pointer(bp + 80 /* bMustBeCol */)) != 0 { + if *(*int32)(unsafe.Pointer(bp + 56 /* bMustBeCol */)) != 0 { z = uintptr(0) } } z = fts5ConfigSkipWhitespace(tls, z) if (z != 0) && (*(*int8)(unsafe.Pointer(z)) != 0) { - // var bDummy int32 at bp+96, 4 + // var bDummy int32 at bp+72, 4 - z = fts5ConfigGobbleWord(tls, bp+64 /* &rc */, z, bp+88 /* &zTwo */, bp+96 /* &bDummy */) + z = fts5ConfigGobbleWord(tls, bp+40 /* &rc */, z, bp+64 /* &zTwo */, bp+72 /* &bDummy */) if (z != 0) && (*(*int8)(unsafe.Pointer(z)) != 0) { z = uintptr(0) } } - if *(*int32)(unsafe.Pointer(bp + 64 /* rc */)) == SQLITE_OK { + if *(*int32)(unsafe.Pointer(bp + 40 /* rc */)) == SQLITE_OK { if z == uintptr(0) { - *(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3_mprintf(tls, ts+33970 /* "parse error in \"..." */, libc.VaList(bp+16, zOrig)) - *(*int32)(unsafe.Pointer(bp + 64 /* rc */)) = SQLITE_ERROR + *(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3_mprintf(tls, ts+33970 /* "parse error in \"..." */, libc.VaList(bp+8, zOrig)) + *(*int32)(unsafe.Pointer(bp + 40 /* rc */)) = SQLITE_ERROR } else { if bOption != 0 { - *(*int32)(unsafe.Pointer(bp + 64 /* rc */)) = fts5ConfigParseSpecial(tls, pGlobal, pRet, *(*uintptr)(unsafe.Pointer(bp + 72 /* zOne */)), func() uintptr { - if *(*uintptr)(unsafe.Pointer(bp + 88 /* zTwo */)) != 0 { - return *(*uintptr)(unsafe.Pointer(bp + 88 /* zTwo */)) + *(*int32)(unsafe.Pointer(bp + 40 /* rc */)) = fts5ConfigParseSpecial(tls, pGlobal, pRet, *(*uintptr)(unsafe.Pointer(bp + 48 /* zOne */)), func() uintptr { + if *(*uintptr)(unsafe.Pointer(bp + 64 /* zTwo */)) != 0 { + return *(*uintptr)(unsafe.Pointer(bp + 64 /* zTwo */)) } return ts + 755 /* "" */ }(), pzErr) } else { - *(*int32)(unsafe.Pointer(bp + 64 /* rc */)) = fts5ConfigParseColumn(tls, pRet, *(*uintptr)(unsafe.Pointer(bp + 72 /* zOne */)), *(*uintptr)(unsafe.Pointer(bp + 88 /* zTwo */)), pzErr) - *(*uintptr)(unsafe.Pointer(bp + 72 /* zOne */)) = uintptr(0) + *(*int32)(unsafe.Pointer(bp + 40 /* rc */)) = fts5ConfigParseColumn(tls, pRet, *(*uintptr)(unsafe.Pointer(bp + 48 /* zOne */)), *(*uintptr)(unsafe.Pointer(bp + 64 /* zTwo */)), pzErr) + *(*uintptr)(unsafe.Pointer(bp + 48 /* zOne */)) = uintptr(0) } } } - Xsqlite3_free(tls, *(*uintptr)(unsafe.Pointer(bp + 72 /* zOne */))) - Xsqlite3_free(tls, *(*uintptr)(unsafe.Pointer(bp + 88 /* zTwo */))) + Xsqlite3_free(tls, *(*uintptr)(unsafe.Pointer(bp + 48 /* zOne */))) + Xsqlite3_free(tls, *(*uintptr)(unsafe.Pointer(bp + 64 /* zTwo */))) } // If a tokenizer= option was successfully parsed, the tokenizer has // already been allocated. Otherwise, allocate an instance of the default // tokenizer (unicode61) now. - if (*(*int32)(unsafe.Pointer(bp + 64 /* rc */)) == SQLITE_OK) && ((*Fts5Config)(unsafe.Pointer(pRet)).FpTok == uintptr(0)) { - *(*int32)(unsafe.Pointer(bp + 64 /* rc */)) = fts5ConfigDefaultTokenizer(tls, pGlobal, pRet) + if (*(*int32)(unsafe.Pointer(bp + 40 /* rc */)) == SQLITE_OK) && ((*Fts5Config)(unsafe.Pointer(pRet)).FpTok == uintptr(0)) { + *(*int32)(unsafe.Pointer(bp + 40 /* rc */)) = fts5ConfigDefaultTokenizer(tls, pGlobal, pRet) } // If no zContent option was specified, fill in the default values. - if (*(*int32)(unsafe.Pointer(bp + 64 /* rc */)) == SQLITE_OK) && ((*Fts5Config)(unsafe.Pointer(pRet)).FzContent == uintptr(0)) { + if (*(*int32)(unsafe.Pointer(bp + 40 /* rc */)) == SQLITE_OK) && ((*Fts5Config)(unsafe.Pointer(pRet)).FzContent == uintptr(0)) { var zTail uintptr = uintptr(0) if (*Fts5Config)(unsafe.Pointer(pRet)).FeContent == FTS5_CONTENT_NORMAL { @@ -218927,24 +218927,24 @@ func sqlite3Fts5ConfigParse(tls *libc.TLS, pGlobal uintptr, db uintptr, nArg int if zTail != 0 { (*Fts5Config)(unsafe.Pointer(pRet)).FzContent = sqlite3Fts5Mprintf(tls, - bp+64 /* &rc */, ts+33998 /* "%Q.'%q_%s'" */, libc.VaList(bp+32, (*Fts5Config)(unsafe.Pointer(pRet)).FzDb, (*Fts5Config)(unsafe.Pointer(pRet)).FzName, zTail)) + bp+40 /* &rc */, ts+33998 /* "%Q.'%q_%s'" */, libc.VaList(bp+16, (*Fts5Config)(unsafe.Pointer(pRet)).FzDb, (*Fts5Config)(unsafe.Pointer(pRet)).FzName, zTail)) } } - if (*(*int32)(unsafe.Pointer(bp + 64 /* rc */)) == SQLITE_OK) && ((*Fts5Config)(unsafe.Pointer(pRet)).FzContentRowid == uintptr(0)) { - (*Fts5Config)(unsafe.Pointer(pRet)).FzContentRowid = sqlite3Fts5Strndup(tls, bp+64 /* &rc */, ts+16125 /* "rowid" */, -1) + if (*(*int32)(unsafe.Pointer(bp + 40 /* rc */)) == SQLITE_OK) && ((*Fts5Config)(unsafe.Pointer(pRet)).FzContentRowid == uintptr(0)) { + (*Fts5Config)(unsafe.Pointer(pRet)).FzContentRowid = sqlite3Fts5Strndup(tls, bp+40 /* &rc */, ts+16125 /* "rowid" */, -1) } // Formulate the zContentExprlist text - if *(*int32)(unsafe.Pointer(bp + 64 /* rc */)) == SQLITE_OK { - *(*int32)(unsafe.Pointer(bp + 64 /* rc */)) = fts5ConfigMakeExprlist(tls, pRet) + if *(*int32)(unsafe.Pointer(bp + 40 /* rc */)) == SQLITE_OK { + *(*int32)(unsafe.Pointer(bp + 40 /* rc */)) = fts5ConfigMakeExprlist(tls, pRet) } - if *(*int32)(unsafe.Pointer(bp + 64 /* rc */)) != SQLITE_OK { + if *(*int32)(unsafe.Pointer(bp + 40 /* rc */)) != SQLITE_OK { sqlite3Fts5ConfigFree(tls, pRet) *(*uintptr)(unsafe.Pointer(ppOut)) = uintptr(0) } - return *(*int32)(unsafe.Pointer(bp + 64 /* rc */)) + return *(*int32)(unsafe.Pointer(bp + 40 /* rc */)) } // Free the configuration object passed as the only argument. @@ -218974,14 +218974,14 @@ func sqlite3Fts5ConfigFree(tls *libc.TLS, pConfig uintptr) { /* sqlite3.c:217109 // object passed as the only argument. Return SQLITE_OK if successful, or // an SQLite error code if an error occurs. func sqlite3Fts5ConfigDeclareVtab(tls *libc.TLS, pConfig uintptr) int32 { /* sqlite3.c:217136:12: */ - bp := tls.Alloc(68) - defer tls.Free(68) + bp := tls.Alloc(52) + defer tls.Free(52) var i int32 - *(*int32)(unsafe.Pointer(bp + 64 /* rc */)) = SQLITE_OK + *(*int32)(unsafe.Pointer(bp + 48 /* rc */)) = SQLITE_OK var zSql uintptr - zSql = sqlite3Fts5Mprintf(tls, bp+64 /* &rc */, ts+34009 /* "CREATE TABLE x(" */, 0) + zSql = sqlite3Fts5Mprintf(tls, bp+48 /* &rc */, ts+34009 /* "CREATE TABLE x(" */, 0) for i = 0; (zSql != 0) && (i < (*Fts5Config)(unsafe.Pointer(pConfig)).FnCol); i++ { var zSep uintptr = func() uintptr { if i == 0 { @@ -218989,17 +218989,17 @@ func sqlite3Fts5ConfigDeclareVtab(tls *libc.TLS, pConfig uintptr) int32 { /* sql } return ts + 14691 /* ", " */ }() - zSql = sqlite3Fts5Mprintf(tls, bp+64 /* &rc */, ts+34025 /* "%z%s%Q" */, libc.VaList(bp, zSql, zSep, *(*uintptr)(unsafe.Pointer((*Fts5Config)(unsafe.Pointer(pConfig)).FazCol + uintptr(i)*8)))) + zSql = sqlite3Fts5Mprintf(tls, bp+48 /* &rc */, ts+34025 /* "%z%s%Q" */, libc.VaList(bp, zSql, zSep, *(*uintptr)(unsafe.Pointer((*Fts5Config)(unsafe.Pointer(pConfig)).FazCol + uintptr(i)*8)))) } - zSql = sqlite3Fts5Mprintf(tls, bp+64 /* &rc */, ts+34032, /* "%z, %Q HIDDEN, %..." */ - libc.VaList(bp+32, zSql, (*Fts5Config)(unsafe.Pointer(pConfig)).FzName, ts+21876 /* "rank" */)) + zSql = sqlite3Fts5Mprintf(tls, bp+48 /* &rc */, ts+34032, /* "%z, %Q HIDDEN, %..." */ + libc.VaList(bp+24, zSql, (*Fts5Config)(unsafe.Pointer(pConfig)).FzName, ts+21876 /* "rank" */)) if zSql != 0 { - *(*int32)(unsafe.Pointer(bp + 64 /* rc */)) = Xsqlite3_declare_vtab(tls, (*Fts5Config)(unsafe.Pointer(pConfig)).Fdb, zSql) + *(*int32)(unsafe.Pointer(bp + 48 /* rc */)) = Xsqlite3_declare_vtab(tls, (*Fts5Config)(unsafe.Pointer(pConfig)).Fdb, zSql) Xsqlite3_free(tls, zSql) } - return *(*int32)(unsafe.Pointer(bp + 64 /* rc */)) + return *(*int32)(unsafe.Pointer(bp + 48 /* rc */)) } // Tokenize the text passed via the second and third arguments. @@ -219215,13 +219215,13 @@ func sqlite3Fts5ConfigSetValue(tls *libc.TLS, pConfig uintptr, zKey uintptr, pVa // Load the contents of the %_config table into memory. func sqlite3Fts5ConfigLoad(tls *libc.TLS, pConfig uintptr, iCookie int32) int32 { /* sqlite3.c:217381:12: */ - bp := tls.Alloc(68) - defer tls.Free(68) + bp := tls.Alloc(52) + defer tls.Free(52) var zSelect uintptr = ts + 34104 /* "SELECT k, v FROM..." */ var zSql uintptr - *(*uintptr)(unsafe.Pointer(bp + 56 /* p */)) = uintptr(0) - *(*int32)(unsafe.Pointer(bp + 48 /* rc */)) = SQLITE_OK + *(*uintptr)(unsafe.Pointer(bp + 40 /* p */)) = uintptr(0) + *(*int32)(unsafe.Pointer(bp + 32 /* rc */)) = SQLITE_OK var iVersion int32 = 0 // Set default values @@ -219231,40 +219231,40 @@ func sqlite3Fts5ConfigLoad(tls *libc.TLS, pConfig uintptr, iCookie int32) int32 (*Fts5Config)(unsafe.Pointer(pConfig)).FnCrisisMerge = FTS5_DEFAULT_CRISISMERGE (*Fts5Config)(unsafe.Pointer(pConfig)).FnHashSize = (1024 * 1024) - zSql = sqlite3Fts5Mprintf(tls, bp+48 /* &rc */, zSelect, libc.VaList(bp, (*Fts5Config)(unsafe.Pointer(pConfig)).FzDb, (*Fts5Config)(unsafe.Pointer(pConfig)).FzName)) + zSql = sqlite3Fts5Mprintf(tls, bp+32 /* &rc */, zSelect, libc.VaList(bp, (*Fts5Config)(unsafe.Pointer(pConfig)).FzDb, (*Fts5Config)(unsafe.Pointer(pConfig)).FzName)) if zSql != 0 { - *(*int32)(unsafe.Pointer(bp + 48 /* rc */)) = Xsqlite3_prepare_v2(tls, (*Fts5Config)(unsafe.Pointer(pConfig)).Fdb, zSql, -1, bp+56 /* &p */, uintptr(0)) + *(*int32)(unsafe.Pointer(bp + 32 /* rc */)) = Xsqlite3_prepare_v2(tls, (*Fts5Config)(unsafe.Pointer(pConfig)).Fdb, zSql, -1, bp+40 /* &p */, uintptr(0)) Xsqlite3_free(tls, zSql) } - if *(*int32)(unsafe.Pointer(bp + 48 /* rc */)) == SQLITE_OK { - for SQLITE_ROW == Xsqlite3_step(tls, *(*uintptr)(unsafe.Pointer(bp + 56 /* p */))) { - var zK uintptr = Xsqlite3_column_text(tls, *(*uintptr)(unsafe.Pointer(bp + 56 /* p */)), 0) - var pVal uintptr = Xsqlite3_column_value(tls, *(*uintptr)(unsafe.Pointer(bp + 56 /* p */)), 1) + if *(*int32)(unsafe.Pointer(bp + 32 /* rc */)) == SQLITE_OK { + for SQLITE_ROW == Xsqlite3_step(tls, *(*uintptr)(unsafe.Pointer(bp + 40 /* p */))) { + var zK uintptr = Xsqlite3_column_text(tls, *(*uintptr)(unsafe.Pointer(bp + 40 /* p */)), 0) + var pVal uintptr = Xsqlite3_column_value(tls, *(*uintptr)(unsafe.Pointer(bp + 40 /* p */)), 1) if 0 == Xsqlite3_stricmp(tls, zK, ts+34136 /* "version" */) { iVersion = Xsqlite3_value_int(tls, pVal) } else { - *(*int32)(unsafe.Pointer(bp + 64 /* bDummy */)) = 0 - sqlite3Fts5ConfigSetValue(tls, pConfig, zK, pVal, bp+64 /* &bDummy */) + *(*int32)(unsafe.Pointer(bp + 48 /* bDummy */)) = 0 + sqlite3Fts5ConfigSetValue(tls, pConfig, zK, pVal, bp+48 /* &bDummy */) } } - *(*int32)(unsafe.Pointer(bp + 48 /* rc */)) = Xsqlite3_finalize(tls, *(*uintptr)(unsafe.Pointer(bp + 56 /* p */))) + *(*int32)(unsafe.Pointer(bp + 32 /* rc */)) = Xsqlite3_finalize(tls, *(*uintptr)(unsafe.Pointer(bp + 40 /* p */))) } - if (*(*int32)(unsafe.Pointer(bp + 48 /* rc */)) == SQLITE_OK) && (iVersion != FTS5_CURRENT_VERSION) { - *(*int32)(unsafe.Pointer(bp + 48 /* rc */)) = SQLITE_ERROR + if (*(*int32)(unsafe.Pointer(bp + 32 /* rc */)) == SQLITE_OK) && (iVersion != FTS5_CURRENT_VERSION) { + *(*int32)(unsafe.Pointer(bp + 32 /* rc */)) = SQLITE_ERROR if (*Fts5Config)(unsafe.Pointer(pConfig)).FpzErrmsg != 0 { *(*uintptr)(unsafe.Pointer((*Fts5Config)(unsafe.Pointer(pConfig)).FpzErrmsg)) = Xsqlite3_mprintf(tls, ts+34144, /* "invalid fts5 fil..." */ - libc.VaList(bp+24, iVersion, FTS5_CURRENT_VERSION)) + libc.VaList(bp+16, iVersion, FTS5_CURRENT_VERSION)) } } - if *(*int32)(unsafe.Pointer(bp + 48 /* rc */)) == SQLITE_OK { + if *(*int32)(unsafe.Pointer(bp + 32 /* rc */)) == SQLITE_OK { (*Fts5Config)(unsafe.Pointer(pConfig)).FiCookie = iCookie } - return *(*int32)(unsafe.Pointer(bp + 48 /* rc */)) + return *(*int32)(unsafe.Pointer(bp + 32 /* rc */)) } // 2014 May 31 @@ -219329,8 +219329,8 @@ func fts5ExprIsspace(tls *libc.TLS, t int8) int32 { /* sqlite3.c:217576:12: */ // Read the first token from the nul-terminated string at *pz. func fts5ExprGetToken(tls *libc.TLS, pParse uintptr, pz uintptr, pToken uintptr) int32 { /* sqlite3.c:217583:12: */ - bp := tls.Alloc(16) - defer tls.Free(16) + bp := tls.Alloc(8) + defer tls.Free(8) var z uintptr = *(*uintptr)(unsafe.Pointer(pz)) var tok int32 @@ -221386,8 +221386,8 @@ func sqlite3Fts5ExprClonePhrase(tls *libc.TLS, pExpr uintptr, iPhrase int32, ppN // is expected. If token pTok does not contain "NEAR", store an error // in the pParse object. func sqlite3Fts5ParseNear(tls *libc.TLS, pParse uintptr, pTok uintptr) { /* sqlite3.c:219344:13: */ - bp := tls.Alloc(24) - defer tls.Free(24) + bp := tls.Alloc(16) + defer tls.Free(16) if ((*Fts5Token)(unsafe.Pointer(pTok)).Fn != 4) || (libc.Xmemcmp(tls, ts+34267 /* "NEAR" */, (*Fts5Token)(unsafe.Pointer(pTok)).Fp, uint64(4)) != 0) { sqlite3Fts5ParseError(tls, @@ -221396,8 +221396,8 @@ func sqlite3Fts5ParseNear(tls *libc.TLS, pParse uintptr, pTok uintptr) { /* sqli } func sqlite3Fts5ParseSetDistance(tls *libc.TLS, pParse uintptr, pNear uintptr, p uintptr) { /* sqlite3.c:219352:13: */ - bp := tls.Alloc(24) - defer tls.Free(24) + bp := tls.Alloc(16) + defer tls.Free(16) if pNear != 0 { var nNear int32 = 0 @@ -221487,8 +221487,8 @@ func sqlite3Fts5ParseColsetInvert(tls *libc.TLS, pParse uintptr, p uintptr) uint } func sqlite3Fts5ParseColset(tls *libc.TLS, pParse uintptr, pColset uintptr, p uintptr) uintptr { /* sqlite3.c:219451:19: */ - bp := tls.Alloc(16) - defer tls.Free(16) + bp := tls.Alloc(8) + defer tls.Free(8) var pRet uintptr = uintptr(0) var iCol int32 @@ -221722,8 +221722,8 @@ func fts5ParsePhraseToAnd(tls *libc.TLS, pParse uintptr, pNear uintptr) uintptr // Allocate and return a new expression object. If anything goes wrong (i.e. // OOM error), leave an error code in pParse and return NULL. func sqlite3Fts5ParseNode(tls *libc.TLS, pParse uintptr, eType int32, pLeft uintptr, pRight uintptr, pNear uintptr) uintptr { /* sqlite3.c:219698:21: */ - bp := tls.Alloc(16) - defer tls.Free(16) + bp := tls.Alloc(8) + defer tls.Free(8) var pRet uintptr = uintptr(0) @@ -223340,8 +223340,8 @@ func fts5IndexPrepareStmt(tls *libc.TLS, p uintptr, ppStmt uintptr, zSql uintptr // INSERT OR REPLACE a record into the %_data table. func fts5DataWrite(tls *libc.TLS, p uintptr, iRowid I64, pData uintptr, nData int32) { /* sqlite3.c:221797:13: */ - bp := tls.Alloc(24) - defer tls.Free(24) + bp := tls.Alloc(16) + defer tls.Free(16) if (*Fts5Index)(unsafe.Pointer(p)).Frc != SQLITE_OK { return @@ -223368,8 +223368,8 @@ func fts5DataWrite(tls *libc.TLS, p uintptr, iRowid I64, pData uintptr, nData in // // DELETE FROM %_data WHERE id BETWEEN $iFirst AND $iLast func fts5DataDelete(tls *libc.TLS, p uintptr, iFirst I64, iLast I64) { /* sqlite3.c:221821:13: */ - bp := tls.Alloc(24) - defer tls.Free(24) + bp := tls.Alloc(16) + defer tls.Free(16) if (*Fts5Index)(unsafe.Pointer(p)).Frc != SQLITE_OK { return @@ -223393,8 +223393,8 @@ func fts5DataDelete(tls *libc.TLS, p uintptr, iFirst I64, iLast I64) { /* sqlite // Remove all records associated with segment iSegid. func fts5DataRemoveSegment(tls *libc.TLS, p uintptr, iSegid int32) { /* sqlite3.c:221842:13: */ - bp := tls.Alloc(24) - defer tls.Free(24) + bp := tls.Alloc(16) + defer tls.Free(16) var iFirst I64 = (((((I64(iSegid)) << ((FTS5_DATA_PAGE_B + FTS5_DATA_HEIGHT_B) + FTS5_DATA_DLI_B)) + (I64((int64(0))) << (FTS5_DATA_PAGE_B + FTS5_DATA_HEIGHT_B))) + (I64((int64(0))) << (FTS5_DATA_PAGE_B))) + (int64(0))) var iLast I64 = ((((((I64(iSegid + 1)) << ((FTS5_DATA_PAGE_B + FTS5_DATA_HEIGHT_B) + FTS5_DATA_DLI_B)) + (I64((int64(0))) << (FTS5_DATA_PAGE_B + FTS5_DATA_HEIGHT_B))) + (I64((int64(0))) << (FTS5_DATA_PAGE_B))) + (int64(0))) - int64(1)) @@ -223602,8 +223602,8 @@ func fts5StructureReadUncached(tls *libc.TLS, p uintptr) uintptr { /* sqlite3.c: } func fts5IndexDataVersion(tls *libc.TLS, p uintptr) I64 { /* sqlite3.c:222059:12: */ - bp := tls.Alloc(16) - defer tls.Free(16) + bp := tls.Alloc(8) + defer tls.Free(8) var iVersion I64 = int64(0) @@ -225038,8 +225038,8 @@ __31: } func fts5IdxSelectStmt(tls *libc.TLS, p uintptr) uintptr { /* sqlite3.c:223398:21: */ - bp := tls.Alloc(24) - defer tls.Free(24) + bp := tls.Alloc(16) + defer tls.Free(16) if (*Fts5Index)(unsafe.Pointer(p)).FpIdxSelect == uintptr(0) { var pConfig uintptr = (*Fts5Index)(unsafe.Pointer(p)).FpConfig @@ -226623,8 +226623,8 @@ func fts5WriteFinish(tls *libc.TLS, p uintptr, pWriter uintptr, pnLeaf uintptr) } func fts5WriteInit(tls *libc.TLS, p uintptr, pWriter uintptr, iSegid int32) { /* sqlite3.c:225137:13: */ - bp := tls.Alloc(24) - defer tls.Free(24) + bp := tls.Alloc(16) + defer tls.Free(16) var nBuffer int32 = ((*Fts5Config)(unsafe.Pointer((*Fts5Index)(unsafe.Pointer(p)).FpConfig)).Fpgsz + FTS5_DATA_PADDING) @@ -227871,36 +227871,36 @@ func sqlite3Fts5IndexReinit(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:22636 // If successful, set *pp to point to the new object and return SQLITE_OK. // Otherwise, set *pp to NULL and return an SQLite error code. func sqlite3Fts5IndexOpen(tls *libc.TLS, pConfig uintptr, bCreate int32, pp uintptr, pzErr uintptr) int32 { /* sqlite3.c:226378:12: */ - bp := tls.Alloc(20) - defer tls.Free(20) + bp := tls.Alloc(12) + defer tls.Free(12) - *(*int32)(unsafe.Pointer(bp + 16 /* rc */)) = SQLITE_OK + *(*int32)(unsafe.Pointer(bp + 8 /* rc */)) = SQLITE_OK var p uintptr // New object - *(*uintptr)(unsafe.Pointer(pp)) = libc.AssignUintptr(&p, sqlite3Fts5MallocZero(tls, bp+16 /* &rc */, int64(unsafe.Sizeof(Fts5Index{})))) - if *(*int32)(unsafe.Pointer(bp + 16 /* rc */)) == SQLITE_OK { + *(*uintptr)(unsafe.Pointer(pp)) = libc.AssignUintptr(&p, sqlite3Fts5MallocZero(tls, bp+8 /* &rc */, int64(unsafe.Sizeof(Fts5Index{})))) + if *(*int32)(unsafe.Pointer(bp + 8 /* rc */)) == SQLITE_OK { (*Fts5Index)(unsafe.Pointer(p)).FpConfig = pConfig (*Fts5Index)(unsafe.Pointer(p)).FnWorkUnit = FTS5_WORK_UNIT - (*Fts5Index)(unsafe.Pointer(p)).FzDataTbl = sqlite3Fts5Mprintf(tls, bp+16 /* &rc */, ts+34721 /* "%s_data" */, libc.VaList(bp, (*Fts5Config)(unsafe.Pointer(pConfig)).FzName)) + (*Fts5Index)(unsafe.Pointer(p)).FzDataTbl = sqlite3Fts5Mprintf(tls, bp+8 /* &rc */, ts+34721 /* "%s_data" */, libc.VaList(bp, (*Fts5Config)(unsafe.Pointer(pConfig)).FzName)) if ((*Fts5Index)(unsafe.Pointer(p)).FzDataTbl != 0) && (bCreate != 0) { - *(*int32)(unsafe.Pointer(bp + 16 /* rc */)) = sqlite3Fts5CreateTable(tls, + *(*int32)(unsafe.Pointer(bp + 8 /* rc */)) = sqlite3Fts5CreateTable(tls, pConfig, ts+24702 /* "data" */, ts+34729 /* "id INTEGER PRIMA..." */, 0, pzErr) - if *(*int32)(unsafe.Pointer(bp + 16 /* rc */)) == SQLITE_OK { - *(*int32)(unsafe.Pointer(bp + 16 /* rc */)) = sqlite3Fts5CreateTable(tls, pConfig, ts+11574, /* "idx" */ + if *(*int32)(unsafe.Pointer(bp + 8 /* rc */)) == SQLITE_OK { + *(*int32)(unsafe.Pointer(bp + 8 /* rc */)) = sqlite3Fts5CreateTable(tls, pConfig, ts+11574, /* "idx" */ ts+34764, /* "segid, term, pgn..." */ 1, pzErr) } - if *(*int32)(unsafe.Pointer(bp + 16 /* rc */)) == SQLITE_OK { - *(*int32)(unsafe.Pointer(bp + 16 /* rc */)) = sqlite3Fts5IndexReinit(tls, p) + if *(*int32)(unsafe.Pointer(bp + 8 /* rc */)) == SQLITE_OK { + *(*int32)(unsafe.Pointer(bp + 8 /* rc */)) = sqlite3Fts5IndexReinit(tls, p) } } } - if *(*int32)(unsafe.Pointer(bp + 16 /* rc */)) != 0 { + if *(*int32)(unsafe.Pointer(bp + 8 /* rc */)) != 0 { sqlite3Fts5IndexClose(tls, p) *(*uintptr)(unsafe.Pointer(pp)) = uintptr(0) } - return *(*int32)(unsafe.Pointer(bp + 16 /* rc */)) + return *(*int32)(unsafe.Pointer(bp + 8 /* rc */)) } // Close a handle opened by an earlier call to sqlite3Fts5IndexOpen(). @@ -228315,11 +228315,11 @@ func fts5IntegrityCheckPgidx(tls *libc.TLS, p uintptr, pLeaf uintptr) { /* sqlit } func fts5IndexIntegrityCheckSegment(tls *libc.TLS, p uintptr, pSeg uintptr) { /* sqlite3.c:227051:13: */ - bp := tls.Alloc(56) - defer tls.Free(56) + bp := tls.Alloc(48) + defer tls.Free(48) var pConfig uintptr = (*Fts5Index)(unsafe.Pointer(p)).FpConfig - *(*uintptr)(unsafe.Pointer(bp + 32 /* pStmt */)) = uintptr(0) + *(*uintptr)(unsafe.Pointer(bp + 24 /* pStmt */)) = uintptr(0) var rc2 int32 var iIdxPrevLeaf int32 = ((*Fts5StructureSegment)(unsafe.Pointer(pSeg)).FpgnoFirst - 1) var iDlidxPrevLeaf int32 = (*Fts5StructureSegment)(unsafe.Pointer(pSeg)).FpgnoLast @@ -228328,20 +228328,20 @@ func fts5IndexIntegrityCheckSegment(tls *libc.TLS, p uintptr, pSeg uintptr) { /* return } - fts5IndexPrepareStmt(tls, p, bp+32 /* &pStmt */, Xsqlite3_mprintf(tls, + fts5IndexPrepareStmt(tls, p, bp+24 /* &pStmt */, Xsqlite3_mprintf(tls, ts+34808, /* "SELECT segid, te..." */ libc.VaList(bp, (*Fts5Config)(unsafe.Pointer(pConfig)).FzDb, (*Fts5Config)(unsafe.Pointer(pConfig)).FzName, (*Fts5StructureSegment)(unsafe.Pointer(pSeg)).FiSegid))) // Iterate through the b-tree hierarchy. - for ((*Fts5Index)(unsafe.Pointer(p)).Frc == SQLITE_OK) && (SQLITE_ROW == Xsqlite3_step(tls, *(*uintptr)(unsafe.Pointer(bp + 32 /* pStmt */)))) { + for ((*Fts5Index)(unsafe.Pointer(p)).Frc == SQLITE_OK) && (SQLITE_ROW == Xsqlite3_step(tls, *(*uintptr)(unsafe.Pointer(bp + 24 /* pStmt */)))) { var iRow I64 // Rowid for this leaf var pLeaf uintptr // Data for this leaf - var zIdxTerm uintptr = Xsqlite3_column_blob(tls, *(*uintptr)(unsafe.Pointer(bp + 32 /* pStmt */)), 1) - var nIdxTerm int32 = Xsqlite3_column_bytes(tls, *(*uintptr)(unsafe.Pointer(bp + 32 /* pStmt */)), 1) - var iIdxLeaf int32 = Xsqlite3_column_int(tls, *(*uintptr)(unsafe.Pointer(bp + 32 /* pStmt */)), 2) - var bIdxDlidx int32 = Xsqlite3_column_int(tls, *(*uintptr)(unsafe.Pointer(bp + 32 /* pStmt */)), 3) + var zIdxTerm uintptr = Xsqlite3_column_blob(tls, *(*uintptr)(unsafe.Pointer(bp + 24 /* pStmt */)), 1) + var nIdxTerm int32 = Xsqlite3_column_bytes(tls, *(*uintptr)(unsafe.Pointer(bp + 24 /* pStmt */)), 1) + var iIdxLeaf int32 = Xsqlite3_column_int(tls, *(*uintptr)(unsafe.Pointer(bp + 24 /* pStmt */)), 2) + var bIdxDlidx int32 = Xsqlite3_column_int(tls, *(*uintptr)(unsafe.Pointer(bp + 24 /* pStmt */)), 3) // If the leaf in question has already been trimmed from the segment, // ignore this b-tree entry. Otherwise, load it into memory. @@ -228363,7 +228363,7 @@ func fts5IndexIntegrityCheckSegment(tls *libc.TLS, p uintptr, pSeg uintptr) { /* } else { var iOff int32 // Offset of first term on leaf var iRowidOff int32 // Offset of first rowid on leaf - // var nTerm int32 at bp+40, 4 + // var nTerm int32 at bp+32, 4 // Size of term on leaf in bytes var res int32 // Comparison of term and split-key @@ -228372,25 +228372,25 @@ func fts5IndexIntegrityCheckSegment(tls *libc.TLS, p uintptr, pSeg uintptr) { /* if (iRowidOff >= iOff) || (iOff >= (*Fts5Data)(unsafe.Pointer(pLeaf)).FszLeaf) { (*Fts5Index)(unsafe.Pointer(p)).Frc = (SQLITE_CORRUPT | (int32(1) << 8)) } else { - iOff = iOff + (sqlite3Fts5GetVarint32(tls, ((*Fts5Data)(unsafe.Pointer(pLeaf)).Fp + uintptr(iOff)), bp+40 /* &nTerm */)) + iOff = iOff + (sqlite3Fts5GetVarint32(tls, ((*Fts5Data)(unsafe.Pointer(pLeaf)).Fp + uintptr(iOff)), bp+32 /* &nTerm */)) res = func() int32 { if (func() int32 { - if (*(*int32)(unsafe.Pointer(bp + 40 /* nTerm */))) < (nIdxTerm) { - return *(*int32)(unsafe.Pointer(bp + 40 /* nTerm */)) + if (*(*int32)(unsafe.Pointer(bp + 32 /* nTerm */))) < (nIdxTerm) { + return *(*int32)(unsafe.Pointer(bp + 32 /* nTerm */)) } return nIdxTerm }()) == 0 { return 0 } return libc.Xmemcmp(tls, ((*Fts5Data)(unsafe.Pointer(pLeaf)).Fp + uintptr(iOff)), zIdxTerm, func() uint64 { - if (*(*int32)(unsafe.Pointer(bp + 40 /* nTerm */))) < (nIdxTerm) { - return uint64(*(*int32)(unsafe.Pointer(bp + 40 /* nTerm */))) + if (*(*int32)(unsafe.Pointer(bp + 32 /* nTerm */))) < (nIdxTerm) { + return uint64(*(*int32)(unsafe.Pointer(bp + 32 /* nTerm */))) } return uint64(nIdxTerm) }()) }() if res == 0 { - res = (*(*int32)(unsafe.Pointer(bp + 40 /* nTerm */)) - nIdxTerm) + res = (*(*int32)(unsafe.Pointer(bp + 32 /* nTerm */)) - nIdxTerm) } if res < 0 { (*Fts5Index)(unsafe.Pointer(p)).Frc = (SQLITE_CORRUPT | (int32(1) << 8)) @@ -228440,15 +228440,15 @@ func fts5IndexIntegrityCheckSegment(tls *libc.TLS, p uintptr, pSeg uintptr) { /* iKey = (((((I64(iSegid)) << ((FTS5_DATA_PAGE_B + FTS5_DATA_HEIGHT_B) + FTS5_DATA_DLI_B)) + (I64((int64(0))) << (FTS5_DATA_PAGE_B + FTS5_DATA_HEIGHT_B))) + (I64((int64(0))) << (FTS5_DATA_PAGE_B))) + (I64(iPrevLeaf))) pLeaf = fts5DataRead(tls, p, iKey) if pLeaf != 0 { - // var iRowid I64 at bp+48, 8 + // var iRowid I64 at bp+40, 8 var iRowidOff int32 = int32(fts5GetU16(tls, (*Fts5Data)(unsafe.Pointer(pLeaf)).Fp)) if iRowidOff >= (*Fts5Data)(unsafe.Pointer(pLeaf)).FszLeaf { (*Fts5Index)(unsafe.Pointer(p)).Frc = (SQLITE_CORRUPT | (int32(1) << 8)) } else { - sqlite3Fts5GetVarint(tls, ((*Fts5Data)(unsafe.Pointer(pLeaf)).Fp + uintptr(iRowidOff)), bp+48 /* &iRowid */) - if *(*I64)(unsafe.Pointer(bp + 48 /* iRowid */)) != fts5DlidxIterRowid(tls, pDlidx) { + sqlite3Fts5GetVarint(tls, ((*Fts5Data)(unsafe.Pointer(pLeaf)).Fp + uintptr(iRowidOff)), bp+40 /* &iRowid */) + if *(*I64)(unsafe.Pointer(bp + 40 /* iRowid */)) != fts5DlidxIterRowid(tls, pDlidx) { (*Fts5Index)(unsafe.Pointer(p)).Frc = (SQLITE_CORRUPT | (int32(1) << 8)) } } @@ -228467,7 +228467,7 @@ func fts5IndexIntegrityCheckSegment(tls *libc.TLS, p uintptr, pSeg uintptr) { /* iIdxPrevLeaf = iIdxLeaf } - rc2 = Xsqlite3_finalize(tls, *(*uintptr)(unsafe.Pointer(bp + 32 /* pStmt */))) + rc2 = Xsqlite3_finalize(tls, *(*uintptr)(unsafe.Pointer(bp + 24 /* pStmt */))) if (*Fts5Index)(unsafe.Pointer(p)).Frc == SQLITE_OK { (*Fts5Index)(unsafe.Pointer(p)).Frc = rc2 } @@ -228931,8 +228931,8 @@ func fts5UsePatternMatch(tls *libc.TLS, pConfig uintptr, p uintptr) int32 { /* s // // Costs are not modified by the ORDER BY clause. func fts5BestIndexMethod(tls *libc.TLS, pVTab uintptr, pInfo uintptr) int32 { /* sqlite3.c:228337:12: */ - bp := tls.Alloc(32) - defer tls.Free(32) + bp := tls.Alloc(16) + defer tls.Free(16) var pTab uintptr = pVTab var pConfig uintptr = (*Fts5Table)(unsafe.Pointer(pTab)).FpConfig @@ -229001,7 +229001,7 @@ func fts5BestIndexMethod(tls *libc.TLS, pVTab uintptr, pInfo uintptr) int32 { /* } return int8('G') }() - Xsqlite3_snprintf(tls, 6, (idxStr + uintptr(iIdxStr)), ts+5451 /* "%d" */, libc.VaList(bp+16, iCol)) + Xsqlite3_snprintf(tls, 6, (idxStr + uintptr(iIdxStr)), ts+5451 /* "%d" */, libc.VaList(bp+8, iCol)) idxStr += uintptr(libc.Xstrlen(tls, (idxStr + uintptr(iIdxStr)))) (*sqlite3_index_constraint_usage)(unsafe.Pointer((*Sqlite3_index_info)(unsafe.Pointer(pInfo)).FaConstraintUsage + uintptr(i)*8)).FargvIndex = libc.PreIncInt32(&iCons, 1) @@ -229300,15 +229300,15 @@ func fts5CursorReseek(tls *libc.TLS, pCsr uintptr, pbSkip uintptr) int32 { /* sq // even if we reach end-of-file. The fts5EofMethod() will be called // subsequently to determine whether or not an EOF was hit. func fts5NextMethod(tls *libc.TLS, pCursor uintptr) int32 { /* sqlite3.c:228688:12: */ - bp := tls.Alloc(20) - defer tls.Free(20) + bp := tls.Alloc(12) + defer tls.Free(12) var pCsr uintptr = pCursor var rc int32 if (*Fts5Cursor)(unsafe.Pointer(pCsr)).FePlan < 3 { - *(*int32)(unsafe.Pointer(bp + 16 /* bSkip */)) = 0 - if (libc.AssignInt32(&rc, fts5CursorReseek(tls, pCsr, bp+16 /* &bSkip */)) != 0) || (*(*int32)(unsafe.Pointer(bp + 16 /* bSkip */)) != 0) { + *(*int32)(unsafe.Pointer(bp + 8 /* bSkip */)) = 0 + if (libc.AssignInt32(&rc, fts5CursorReseek(tls, pCsr, bp+8 /* &bSkip */)) != 0) || (*(*int32)(unsafe.Pointer(bp + 8 /* bSkip */)) != 0) { return rc } rc = sqlite3Fts5ExprNext(tls, (*Fts5Cursor)(unsafe.Pointer(pCsr)).FpExpr, (*Fts5Cursor)(unsafe.Pointer(pCsr)).FiLastRowid) @@ -229359,10 +229359,10 @@ func fts5NextMethod(tls *libc.TLS, pCursor uintptr) int32 { /* sqlite3.c:228688: } func fts5PrepareStatement(tls *libc.TLS, ppStmt uintptr, pConfig uintptr, zFmt uintptr, va uintptr) int32 { /* sqlite3.c:228741:12: */ - bp := tls.Alloc(24) - defer tls.Free(24) + bp := tls.Alloc(16) + defer tls.Free(16) - *(*uintptr)(unsafe.Pointer(bp + 16 /* pRet */)) = uintptr(0) + *(*uintptr)(unsafe.Pointer(bp + 8 /* pRet */)) = uintptr(0) var rc int32 var zSql uintptr var ap Va_list @@ -229374,7 +229374,7 @@ func fts5PrepareStatement(tls *libc.TLS, ppStmt uintptr, pConfig uintptr, zFmt u rc = SQLITE_NOMEM } else { rc = Xsqlite3_prepare_v3(tls, (*Fts5Config)(unsafe.Pointer(pConfig)).Fdb, zSql, -1, - uint32(SQLITE_PREPARE_PERSISTENT), bp+16 /* &pRet */, uintptr(0)) + uint32(SQLITE_PREPARE_PERSISTENT), bp+8 /* &pRet */, uintptr(0)) if rc != SQLITE_OK { *(*uintptr)(unsafe.Pointer((*Fts5Config)(unsafe.Pointer(pConfig)).FpzErrmsg)) = Xsqlite3_mprintf(tls, ts+3630 /* "%s" */, libc.VaList(bp, Xsqlite3_errmsg(tls, (*Fts5Config)(unsafe.Pointer(pConfig)).Fdb))) } @@ -229382,13 +229382,13 @@ func fts5PrepareStatement(tls *libc.TLS, ppStmt uintptr, pConfig uintptr, zFmt u } _ = ap - *(*uintptr)(unsafe.Pointer(ppStmt)) = *(*uintptr)(unsafe.Pointer(bp + 16 /* pRet */)) + *(*uintptr)(unsafe.Pointer(ppStmt)) = *(*uintptr)(unsafe.Pointer(bp + 8 /* pRet */)) return rc } func fts5CursorFirstSorted(tls *libc.TLS, pTab uintptr, pCsr uintptr, bDesc int32) int32 { /* sqlite3.c:228770:12: */ - bp := tls.Alloc(64) - defer tls.Free(64) + bp := tls.Alloc(56) + defer tls.Free(56) var pConfig uintptr = (*Fts5FullTable)(unsafe.Pointer(pTab)).Fp.FpConfig var pSorter uintptr @@ -229469,8 +229469,8 @@ func fts5CursorFirst(tls *libc.TLS, pTab uintptr, pCsr uintptr, bDesc int32) int // the text passed to the MATCH operator are used as the special query // parameters. func fts5SpecialMatch(tls *libc.TLS, pTab uintptr, pCsr uintptr, zQuery uintptr) int32 { /* sqlite3.c:228839:12: */ - bp := tls.Alloc(24) - defer tls.Free(24) + bp := tls.Alloc(16) + defer tls.Free(16) var rc int32 = SQLITE_OK // Return code var z uintptr = zQuery // Special query text @@ -229514,78 +229514,78 @@ func fts5FindAuxiliary(tls *libc.TLS, pTab uintptr, zName uintptr) uintptr { /* } func fts5FindRankFunction(tls *libc.TLS, pCsr uintptr) int32 { /* sqlite3.c:228886:12: */ - bp := tls.Alloc(48) - defer tls.Free(48) + bp := tls.Alloc(32) + defer tls.Free(32) var pTab uintptr = (*Fts5Cursor)(unsafe.Pointer(pCsr)).Fbase.FpVtab var pConfig uintptr = (*Fts5FullTable)(unsafe.Pointer(pTab)).Fp.FpConfig - *(*int32)(unsafe.Pointer(bp + 32 /* rc */)) = SQLITE_OK + *(*int32)(unsafe.Pointer(bp + 16 /* rc */)) = SQLITE_OK var pAux uintptr = uintptr(0) var zRank uintptr = (*Fts5Cursor)(unsafe.Pointer(pCsr)).FzRank var zRankArgs uintptr = (*Fts5Cursor)(unsafe.Pointer(pCsr)).FzRankArgs if zRankArgs != 0 { - var zSql uintptr = sqlite3Fts5Mprintf(tls, bp+32 /* &rc */, ts+35036 /* "SELECT %s" */, libc.VaList(bp, zRankArgs)) + var zSql uintptr = sqlite3Fts5Mprintf(tls, bp+16 /* &rc */, ts+35036 /* "SELECT %s" */, libc.VaList(bp, zRankArgs)) if zSql != 0 { - *(*uintptr)(unsafe.Pointer(bp + 40 /* pStmt */)) = uintptr(0) - *(*int32)(unsafe.Pointer(bp + 32 /* rc */)) = Xsqlite3_prepare_v3(tls, (*Fts5Config)(unsafe.Pointer(pConfig)).Fdb, zSql, -1, - uint32(SQLITE_PREPARE_PERSISTENT), bp+40 /* &pStmt */, uintptr(0)) + *(*uintptr)(unsafe.Pointer(bp + 24 /* pStmt */)) = uintptr(0) + *(*int32)(unsafe.Pointer(bp + 16 /* rc */)) = Xsqlite3_prepare_v3(tls, (*Fts5Config)(unsafe.Pointer(pConfig)).Fdb, zSql, -1, + uint32(SQLITE_PREPARE_PERSISTENT), bp+24 /* &pStmt */, uintptr(0)) Xsqlite3_free(tls, zSql) - if *(*int32)(unsafe.Pointer(bp + 32 /* rc */)) == SQLITE_OK { - if SQLITE_ROW == Xsqlite3_step(tls, *(*uintptr)(unsafe.Pointer(bp + 40 /* pStmt */))) { + if *(*int32)(unsafe.Pointer(bp + 16 /* rc */)) == SQLITE_OK { + if SQLITE_ROW == Xsqlite3_step(tls, *(*uintptr)(unsafe.Pointer(bp + 24 /* pStmt */))) { var nByte Sqlite3_int64 - (*Fts5Cursor)(unsafe.Pointer(pCsr)).FnRankArg = Xsqlite3_column_count(tls, *(*uintptr)(unsafe.Pointer(bp + 40 /* pStmt */))) + (*Fts5Cursor)(unsafe.Pointer(pCsr)).FnRankArg = Xsqlite3_column_count(tls, *(*uintptr)(unsafe.Pointer(bp + 24 /* pStmt */))) nByte = (Sqlite3_int64(uint64(unsafe.Sizeof(uintptr(0))) * uint64((*Fts5Cursor)(unsafe.Pointer(pCsr)).FnRankArg))) - (*Fts5Cursor)(unsafe.Pointer(pCsr)).FapRankArg = sqlite3Fts5MallocZero(tls, bp+32 /* &rc */, nByte) - if *(*int32)(unsafe.Pointer(bp + 32 /* rc */)) == SQLITE_OK { + (*Fts5Cursor)(unsafe.Pointer(pCsr)).FapRankArg = sqlite3Fts5MallocZero(tls, bp+16 /* &rc */, nByte) + if *(*int32)(unsafe.Pointer(bp + 16 /* rc */)) == SQLITE_OK { var i int32 for i = 0; i < (*Fts5Cursor)(unsafe.Pointer(pCsr)).FnRankArg; i++ { - *(*uintptr)(unsafe.Pointer((*Fts5Cursor)(unsafe.Pointer(pCsr)).FapRankArg + uintptr(i)*8)) = Xsqlite3_column_value(tls, *(*uintptr)(unsafe.Pointer(bp + 40 /* pStmt */)), i) + *(*uintptr)(unsafe.Pointer((*Fts5Cursor)(unsafe.Pointer(pCsr)).FapRankArg + uintptr(i)*8)) = Xsqlite3_column_value(tls, *(*uintptr)(unsafe.Pointer(bp + 24 /* pStmt */)), i) } } - (*Fts5Cursor)(unsafe.Pointer(pCsr)).FpRankArgStmt = *(*uintptr)(unsafe.Pointer(bp + 40 /* pStmt */)) + (*Fts5Cursor)(unsafe.Pointer(pCsr)).FpRankArgStmt = *(*uintptr)(unsafe.Pointer(bp + 24 /* pStmt */)) } else { - *(*int32)(unsafe.Pointer(bp + 32 /* rc */)) = Xsqlite3_finalize(tls, *(*uintptr)(unsafe.Pointer(bp + 40 /* pStmt */))) + *(*int32)(unsafe.Pointer(bp + 16 /* rc */)) = Xsqlite3_finalize(tls, *(*uintptr)(unsafe.Pointer(bp + 24 /* pStmt */))) } } } } - if *(*int32)(unsafe.Pointer(bp + 32 /* rc */)) == SQLITE_OK { + if *(*int32)(unsafe.Pointer(bp + 16 /* rc */)) == SQLITE_OK { pAux = fts5FindAuxiliary(tls, pTab, zRank) if pAux == uintptr(0) { - (*Fts5FullTable)(unsafe.Pointer(pTab)).Fp.Fbase.FzErrMsg = Xsqlite3_mprintf(tls, ts+35046 /* "no such function..." */, libc.VaList(bp+16, zRank)) - *(*int32)(unsafe.Pointer(bp + 32 /* rc */)) = SQLITE_ERROR + (*Fts5FullTable)(unsafe.Pointer(pTab)).Fp.Fbase.FzErrMsg = Xsqlite3_mprintf(tls, ts+35046 /* "no such function..." */, libc.VaList(bp+8, zRank)) + *(*int32)(unsafe.Pointer(bp + 16 /* rc */)) = SQLITE_ERROR } } (*Fts5Cursor)(unsafe.Pointer(pCsr)).FpRank = pAux - return *(*int32)(unsafe.Pointer(bp + 32 /* rc */)) + return *(*int32)(unsafe.Pointer(bp + 16 /* rc */)) } func fts5CursorParseRank(tls *libc.TLS, pConfig uintptr, pCsr uintptr, pRank uintptr) int32 { /* sqlite3.c:228937:12: */ - bp := tls.Alloc(32) - defer tls.Free(32) + bp := tls.Alloc(24) + defer tls.Free(24) var rc int32 = SQLITE_OK if pRank != 0 { var z uintptr = Xsqlite3_value_text(tls, pRank) - *(*uintptr)(unsafe.Pointer(bp + 16 /* zRank */)) = uintptr(0) - *(*uintptr)(unsafe.Pointer(bp + 24 /* zRankArgs */)) = uintptr(0) + *(*uintptr)(unsafe.Pointer(bp + 8 /* zRank */)) = uintptr(0) + *(*uintptr)(unsafe.Pointer(bp + 16 /* zRankArgs */)) = uintptr(0) if z == uintptr(0) { if Xsqlite3_value_type(tls, pRank) == SQLITE_NULL { rc = SQLITE_ERROR } } else { - rc = sqlite3Fts5ConfigParseRank(tls, z, bp+16 /* &zRank */, bp+24 /* &zRankArgs */) + rc = sqlite3Fts5ConfigParseRank(tls, z, bp+8 /* &zRank */, bp+16 /* &zRankArgs */) } if rc == SQLITE_OK { - (*Fts5Cursor)(unsafe.Pointer(pCsr)).FzRank = *(*uintptr)(unsafe.Pointer(bp + 16 /* zRank */)) - (*Fts5Cursor)(unsafe.Pointer(pCsr)).FzRankArgs = *(*uintptr)(unsafe.Pointer(bp + 24 /* zRankArgs */)) + (*Fts5Cursor)(unsafe.Pointer(pCsr)).FzRank = *(*uintptr)(unsafe.Pointer(bp + 8 /* zRank */)) + (*Fts5Cursor)(unsafe.Pointer(pCsr)).FzRankArgs = *(*uintptr)(unsafe.Pointer(bp + 16 /* zRankArgs */)) *(*int32)(unsafe.Pointer(pCsr + 80 /* &.csrflags */)) |= (FTS5CSR_FREE_ZRANK) } else if rc == SQLITE_ERROR { (*Sqlite3_vtab)(unsafe.Pointer((*Fts5Cursor)(unsafe.Pointer(pCsr)).Fbase.FpVtab)).FzErrMsg = Xsqlite3_mprintf(tls, @@ -229623,8 +229623,8 @@ func fts5GetRowidLimit(tls *libc.TLS, pVal uintptr, iDefault I64) I64 { /* sqlit // 2. A by-rowid lookup. // 3. A full-table scan. func fts5FilterMethod(tls *libc.TLS, pCursor uintptr, idxNum int32, idxStr uintptr, nVal int32, apVal uintptr) int32 { /* sqlite3.c:228995:12: */ - bp := tls.Alloc(24) - defer tls.Free(24) + bp := tls.Alloc(16) + defer tls.Free(16) var pTab uintptr var pConfig uintptr @@ -229640,7 +229640,7 @@ func fts5FilterMethod(tls *libc.TLS, pCursor uintptr, idxNum int32, idxStr uintp var pzErrmsg uintptr var i int32 var iIdxStr int32 - // var pExpr uintptr at bp+16, 8 + // var pExpr uintptr at bp+8, 8 var pzErr uintptr var zText uintptr @@ -229656,7 +229656,7 @@ func fts5FilterMethod(tls *libc.TLS, pCursor uintptr, idxNum int32, idxStr uintp pRowidGe = uintptr(0) pzErrmsg = (*Fts5Config)(unsafe.Pointer(pConfig)).FpzErrmsg iIdxStr = 0 - *(*uintptr)(unsafe.Pointer(bp + 16 /* pExpr */)) = uintptr(0) + *(*uintptr)(unsafe.Pointer(bp + 8 /* pExpr */)) = uintptr(0) if !((*Fts5Config)(unsafe.Pointer(pConfig)).FbLock != 0) { goto __1 @@ -229735,12 +229735,12 @@ __17: goto __19 __18: pzErr = (pTab /* &.p */ /* &.base */ + 16 /* &.zErrMsg */) - rc = sqlite3Fts5ExprNew(tls, pConfig, 0, iCol, zText, bp+16 /* &pExpr */, pzErr) + rc = sqlite3Fts5ExprNew(tls, pConfig, 0, iCol, zText, bp+8 /* &pExpr */, pzErr) if !(rc == SQLITE_OK) { goto __20 } - rc = sqlite3Fts5ExprAnd(tls, (pCsr + 64 /* &.pExpr */), *(*uintptr)(unsafe.Pointer(bp + 16 /* pExpr */))) - *(*uintptr)(unsafe.Pointer(bp + 16 /* pExpr */)) = uintptr(0) + rc = sqlite3Fts5ExprAnd(tls, (pCsr + 64 /* &.pExpr */), *(*uintptr)(unsafe.Pointer(bp + 8 /* pExpr */))) + *(*uintptr)(unsafe.Pointer(bp + 8 /* pExpr */)) = uintptr(0) __20: ; if !(rc != SQLITE_OK) { @@ -229773,14 +229773,14 @@ __24: if !(zText1 != 0) { goto __25 } - rc = sqlite3Fts5ExprPattern(tls, pConfig, bGlob, iCol, zText1, bp+16 /* &pExpr */) + rc = sqlite3Fts5ExprPattern(tls, pConfig, bGlob, iCol, zText1, bp+8 /* &pExpr */) __25: ; if !(rc == SQLITE_OK) { goto __26 } - rc = sqlite3Fts5ExprAnd(tls, (pCsr + 64 /* &.pExpr */), *(*uintptr)(unsafe.Pointer(bp + 16 /* pExpr */))) - *(*uintptr)(unsafe.Pointer(bp + 16 /* pExpr */)) = uintptr(0) + rc = sqlite3Fts5ExprAnd(tls, (pCsr + 64 /* &.pExpr */), *(*uintptr)(unsafe.Pointer(bp + 8 /* pExpr */))) + *(*uintptr)(unsafe.Pointer(bp + 8 /* pExpr */)) = uintptr(0) __26: ; if !(rc != SQLITE_OK) { @@ -229935,7 +229935,7 @@ __32: ; filter_out: - sqlite3Fts5ExprFree(tls, *(*uintptr)(unsafe.Pointer(bp + 16 /* pExpr */))) + sqlite3Fts5ExprFree(tls, *(*uintptr)(unsafe.Pointer(bp + 8 /* pExpr */))) (*Fts5Config)(unsafe.Pointer(pConfig)).FpzErrmsg = pzErrmsg return rc } @@ -229998,8 +229998,8 @@ func fts5RowidMethod(tls *libc.TLS, pCursor uintptr, pRowid uintptr) int32 { /* // If argument bErrormsg is true and an error occurs, an error message may // be left in sqlite3_vtab.zErrMsg. func fts5SeekCursor(tls *libc.TLS, pCsr uintptr, bErrormsg int32) int32 { /* sqlite3.c:229244:12: */ - bp := tls.Alloc(16) - defer tls.Free(16) + bp := tls.Alloc(8) + defer tls.Free(8) var rc int32 = SQLITE_OK @@ -230146,13 +230146,13 @@ func fts5StorageInsert(tls *libc.TLS, pRc uintptr, pTab uintptr, apVal uintptr, // 3. Values for each of the nCol matchable columns. // 4. Values for the two hidden columns ( and "rank"). func fts5UpdateMethod(tls *libc.TLS, pVtab uintptr, nArg int32, apVal uintptr, pRowid uintptr) int32 { /* sqlite3.c:229405:12: */ - bp := tls.Alloc(28) - defer tls.Free(28) + bp := tls.Alloc(20) + defer tls.Free(20) var pTab uintptr = pVtab var pConfig uintptr = (*Fts5FullTable)(unsafe.Pointer(pTab)).Fp.FpConfig var eType0 int32 // value_type() of apVal[0] - *(*int32)(unsafe.Pointer(bp + 24 /* rc */)) = SQLITE_OK // Return code + *(*int32)(unsafe.Pointer(bp + 16 /* rc */)) = SQLITE_OK // Return code // A transaction must be open when this is called. @@ -230168,9 +230168,9 @@ func fts5UpdateMethod(tls *libc.TLS, pVtab uintptr, nArg int32, apVal uintptr, p var z uintptr = Xsqlite3_value_text(tls, *(*uintptr)(unsafe.Pointer(apVal + uintptr((2+(*Fts5Config)(unsafe.Pointer(pConfig)).FnCol))*8))) if ((*Fts5Config)(unsafe.Pointer(pConfig)).FeContent != FTS5_CONTENT_NORMAL) && (0 == Xsqlite3_stricmp(tls, ts+17346 /* "delete" */, z)) { - *(*int32)(unsafe.Pointer(bp + 24 /* rc */)) = fts5SpecialDelete(tls, pTab, apVal) + *(*int32)(unsafe.Pointer(bp + 16 /* rc */)) = fts5SpecialDelete(tls, pTab, apVal) } else { - *(*int32)(unsafe.Pointer(bp + 24 /* rc */)) = fts5SpecialInsert(tls, pTab, z, *(*uintptr)(unsafe.Pointer(apVal + uintptr(((2+(*Fts5Config)(unsafe.Pointer(pConfig)).FnCol)+1))*8))) + *(*int32)(unsafe.Pointer(bp + 16 /* rc */)) = fts5SpecialInsert(tls, pTab, z, *(*uintptr)(unsafe.Pointer(apVal + uintptr(((2+(*Fts5Config)(unsafe.Pointer(pConfig)).FnCol)+1))*8))) } } else { // A regular INSERT, UPDATE or DELETE statement. The trick here is that @@ -230199,51 +230199,51 @@ func fts5UpdateMethod(tls *libc.TLS, pVtab uintptr, nArg int32, apVal uintptr, p } return ts + 35350 /* "DELETE from" */ }(), (*Fts5Config)(unsafe.Pointer(pConfig)).FzName)) - *(*int32)(unsafe.Pointer(bp + 24 /* rc */)) = SQLITE_ERROR + *(*int32)(unsafe.Pointer(bp + 16 /* rc */)) = SQLITE_ERROR } else if nArg == 1 { var iDel I64 = Xsqlite3_value_int64(tls, *(*uintptr)(unsafe.Pointer(apVal))) // Rowid to delete - *(*int32)(unsafe.Pointer(bp + 24 /* rc */)) = sqlite3Fts5StorageDelete(tls, (*Fts5FullTable)(unsafe.Pointer(pTab)).FpStorage, iDel, uintptr(0)) + *(*int32)(unsafe.Pointer(bp + 16 /* rc */)) = sqlite3Fts5StorageDelete(tls, (*Fts5FullTable)(unsafe.Pointer(pTab)).FpStorage, iDel, uintptr(0)) } else { var eType1 int32 = Xsqlite3_value_numeric_type(tls, *(*uintptr)(unsafe.Pointer(apVal + 1*8))) if (eType1 != SQLITE_INTEGER) && (eType1 != SQLITE_NULL) { - *(*int32)(unsafe.Pointer(bp + 24 /* rc */)) = SQLITE_MISMATCH + *(*int32)(unsafe.Pointer(bp + 16 /* rc */)) = SQLITE_MISMATCH } else if eType0 != SQLITE_INTEGER { // If this is a REPLACE, first remove the current entry (if any) if (eConflict == SQLITE_REPLACE) && (eType1 == SQLITE_INTEGER) { var iNew I64 = Xsqlite3_value_int64(tls, *(*uintptr)(unsafe.Pointer(apVal + 1*8))) // Rowid to delete - *(*int32)(unsafe.Pointer(bp + 24 /* rc */)) = sqlite3Fts5StorageDelete(tls, (*Fts5FullTable)(unsafe.Pointer(pTab)).FpStorage, iNew, uintptr(0)) + *(*int32)(unsafe.Pointer(bp + 16 /* rc */)) = sqlite3Fts5StorageDelete(tls, (*Fts5FullTable)(unsafe.Pointer(pTab)).FpStorage, iNew, uintptr(0)) } - fts5StorageInsert(tls, bp+24 /* &rc */, pTab, apVal, pRowid) + fts5StorageInsert(tls, bp+16 /* &rc */, pTab, apVal, pRowid) } else { var iOld I64 = Xsqlite3_value_int64(tls, *(*uintptr)(unsafe.Pointer(apVal))) // Old rowid var iNew I64 = Xsqlite3_value_int64(tls, *(*uintptr)(unsafe.Pointer(apVal + 1*8))) // New rowid if (eType1 == SQLITE_INTEGER) && (iOld != iNew) { if eConflict == SQLITE_REPLACE { - *(*int32)(unsafe.Pointer(bp + 24 /* rc */)) = sqlite3Fts5StorageDelete(tls, (*Fts5FullTable)(unsafe.Pointer(pTab)).FpStorage, iOld, uintptr(0)) - if *(*int32)(unsafe.Pointer(bp + 24 /* rc */)) == SQLITE_OK { - *(*int32)(unsafe.Pointer(bp + 24 /* rc */)) = sqlite3Fts5StorageDelete(tls, (*Fts5FullTable)(unsafe.Pointer(pTab)).FpStorage, iNew, uintptr(0)) + *(*int32)(unsafe.Pointer(bp + 16 /* rc */)) = sqlite3Fts5StorageDelete(tls, (*Fts5FullTable)(unsafe.Pointer(pTab)).FpStorage, iOld, uintptr(0)) + if *(*int32)(unsafe.Pointer(bp + 16 /* rc */)) == SQLITE_OK { + *(*int32)(unsafe.Pointer(bp + 16 /* rc */)) = sqlite3Fts5StorageDelete(tls, (*Fts5FullTable)(unsafe.Pointer(pTab)).FpStorage, iNew, uintptr(0)) } - fts5StorageInsert(tls, bp+24 /* &rc */, pTab, apVal, pRowid) + fts5StorageInsert(tls, bp+16 /* &rc */, pTab, apVal, pRowid) } else { - *(*int32)(unsafe.Pointer(bp + 24 /* rc */)) = sqlite3Fts5StorageContentInsert(tls, (*Fts5FullTable)(unsafe.Pointer(pTab)).FpStorage, apVal, pRowid) - if *(*int32)(unsafe.Pointer(bp + 24 /* rc */)) == SQLITE_OK { - *(*int32)(unsafe.Pointer(bp + 24 /* rc */)) = sqlite3Fts5StorageDelete(tls, (*Fts5FullTable)(unsafe.Pointer(pTab)).FpStorage, iOld, uintptr(0)) + *(*int32)(unsafe.Pointer(bp + 16 /* rc */)) = sqlite3Fts5StorageContentInsert(tls, (*Fts5FullTable)(unsafe.Pointer(pTab)).FpStorage, apVal, pRowid) + if *(*int32)(unsafe.Pointer(bp + 16 /* rc */)) == SQLITE_OK { + *(*int32)(unsafe.Pointer(bp + 16 /* rc */)) = sqlite3Fts5StorageDelete(tls, (*Fts5FullTable)(unsafe.Pointer(pTab)).FpStorage, iOld, uintptr(0)) } - if *(*int32)(unsafe.Pointer(bp + 24 /* rc */)) == SQLITE_OK { - *(*int32)(unsafe.Pointer(bp + 24 /* rc */)) = sqlite3Fts5StorageIndexInsert(tls, (*Fts5FullTable)(unsafe.Pointer(pTab)).FpStorage, apVal, *(*Sqlite_int64)(unsafe.Pointer(pRowid))) + if *(*int32)(unsafe.Pointer(bp + 16 /* rc */)) == SQLITE_OK { + *(*int32)(unsafe.Pointer(bp + 16 /* rc */)) = sqlite3Fts5StorageIndexInsert(tls, (*Fts5FullTable)(unsafe.Pointer(pTab)).FpStorage, apVal, *(*Sqlite_int64)(unsafe.Pointer(pRowid))) } } } else { - *(*int32)(unsafe.Pointer(bp + 24 /* rc */)) = sqlite3Fts5StorageDelete(tls, (*Fts5FullTable)(unsafe.Pointer(pTab)).FpStorage, iOld, uintptr(0)) - fts5StorageInsert(tls, bp+24 /* &rc */, pTab, apVal, pRowid) + *(*int32)(unsafe.Pointer(bp + 16 /* rc */)) = sqlite3Fts5StorageDelete(tls, (*Fts5FullTable)(unsafe.Pointer(pTab)).FpStorage, iOld, uintptr(0)) + fts5StorageInsert(tls, bp+16 /* &rc */, pTab, apVal, pRowid) } } } } (*Fts5Config)(unsafe.Pointer((*Fts5FullTable)(unsafe.Pointer(pTab)).Fp.FpConfig)).FpzErrmsg = uintptr(0) - return *(*int32)(unsafe.Pointer(bp + 24 /* rc */)) + return *(*int32)(unsafe.Pointer(bp + 16 /* rc */)) } // Implementation of xSync() method. @@ -230855,8 +230855,8 @@ func fts5CursorFromCsrid(tls *libc.TLS, pGlobal uintptr, iCsrId I64) uintptr { / } func fts5ApiCallback(tls *libc.TLS, context uintptr, argc int32, argv uintptr) { /* sqlite3.c:230147:13: */ - bp := tls.Alloc(16) - defer tls.Free(16) + bp := tls.Alloc(8) + defer tls.Free(8) var pAux uintptr var pCsr uintptr @@ -231157,8 +231157,8 @@ func fts5FindTokenizer(tls *libc.TLS, pApi uintptr, zName uintptr, ppUserData ui } func sqlite3Fts5GetTokenizer(tls *libc.TLS, pGlobal uintptr, azArg uintptr, nArg int32, pConfig uintptr, pzErr uintptr) int32 { /* sqlite3.c:230505:12: */ - bp := tls.Alloc(16) - defer tls.Free(16) + bp := tls.Alloc(8) + defer tls.Free(8) var pMod uintptr var rc int32 = SQLITE_OK @@ -231367,8 +231367,8 @@ func Xsqlite3Fts5Init(tls *libc.TLS, db uintptr) int32 { /* sqlite3.c:230712:20: // Return SQLITE_OK if successful, or an SQLite error code if an error // occurs. func fts5StorageGetStmt(tls *libc.TLS, p uintptr, eStmt int32, ppStmt uintptr, pzErrMsg uintptr) int32 { /* sqlite3.c:230770:12: */ - bp := tls.Alloc(264) - defer tls.Free(264) + bp := tls.Alloc(216) + defer tls.Free(216) var rc int32 = SQLITE_OK @@ -231376,7 +231376,7 @@ func fts5StorageGetStmt(tls *libc.TLS, p uintptr, eStmt int32, ppStmt uintptr, p // statements to operate on it. if *(*uintptr)(unsafe.Pointer((p + 40 /* &.aStmt */) + uintptr(eStmt)*8)) == uintptr(0) { - *(*[11]uintptr)(unsafe.Pointer(bp + 176 /* azStmt */)) = [11]uintptr{ + *(*[11]uintptr)(unsafe.Pointer(bp + 128 /* azStmt */)) = [11]uintptr{ ts + 35567, /* "SELECT %s FROM %..." */ ts + 35635, /* "SELECT %s FROM %..." */ ts + 35704, /* "SELECT %s FROM %..." */ // LOOKUP @@ -231397,7 +231397,7 @@ func fts5StorageGetStmt(tls *libc.TLS, p uintptr, eStmt int32, ppStmt uintptr, p switch eStmt { case FTS5_STMT_SCAN: - zSql = Xsqlite3_mprintf(tls, *(*uintptr)(unsafe.Pointer(bp + 176 /* &azStmt[0] */ + uintptr(eStmt)*8)), + zSql = Xsqlite3_mprintf(tls, *(*uintptr)(unsafe.Pointer(bp + 128 /* &azStmt[0] */ + uintptr(eStmt)*8)), libc.VaList(bp, (*Fts5Config)(unsafe.Pointer(pC)).FzContentExprlist, (*Fts5Config)(unsafe.Pointer(pC)).FzContent)) break fallthrough @@ -231405,15 +231405,15 @@ func fts5StorageGetStmt(tls *libc.TLS, p uintptr, eStmt int32, ppStmt uintptr, p case FTS5_STMT_SCAN_ASC: fallthrough case FTS5_STMT_SCAN_DESC: - zSql = Xsqlite3_mprintf(tls, *(*uintptr)(unsafe.Pointer(bp + 176 /* &azStmt[0] */ + uintptr(eStmt)*8)), libc.VaList(bp+24, (*Fts5Config)(unsafe.Pointer(pC)).FzContentExprlist, + zSql = Xsqlite3_mprintf(tls, *(*uintptr)(unsafe.Pointer(bp + 128 /* &azStmt[0] */ + uintptr(eStmt)*8)), libc.VaList(bp+16, (*Fts5Config)(unsafe.Pointer(pC)).FzContentExprlist, (*Fts5Config)(unsafe.Pointer(pC)).FzContent, (*Fts5Config)(unsafe.Pointer(pC)).FzContentRowid, (*Fts5Config)(unsafe.Pointer(pC)).FzContentRowid, (*Fts5Config)(unsafe.Pointer(pC)).FzContentRowid)) break fallthrough case FTS5_STMT_LOOKUP: - zSql = Xsqlite3_mprintf(tls, *(*uintptr)(unsafe.Pointer(bp + 176 /* &azStmt[0] */ + uintptr(eStmt)*8)), - libc.VaList(bp+72, (*Fts5Config)(unsafe.Pointer(pC)).FzContentExprlist, (*Fts5Config)(unsafe.Pointer(pC)).FzContent, (*Fts5Config)(unsafe.Pointer(pC)).FzContentRowid)) + zSql = Xsqlite3_mprintf(tls, *(*uintptr)(unsafe.Pointer(bp + 128 /* &azStmt[0] */ + uintptr(eStmt)*8)), + libc.VaList(bp+56, (*Fts5Config)(unsafe.Pointer(pC)).FzContentExprlist, (*Fts5Config)(unsafe.Pointer(pC)).FzContent, (*Fts5Config)(unsafe.Pointer(pC)).FzContentRowid)) break fallthrough @@ -231432,7 +231432,7 @@ func fts5StorageGetStmt(tls *libc.TLS, p uintptr, eStmt int32, ppStmt uintptr, p *(*int8)(unsafe.Pointer(zBind + uintptr(((i * 2) + 1)))) = int8(',') } *(*int8)(unsafe.Pointer(zBind + uintptr(((i * 2) - 1)))) = int8(0) - zSql = Xsqlite3_mprintf(tls, *(*uintptr)(unsafe.Pointer(bp + 176 /* &azStmt[0] */ + uintptr(eStmt)*8)), libc.VaList(bp+104, (*Fts5Config)(unsafe.Pointer(pC)).FzDb, (*Fts5Config)(unsafe.Pointer(pC)).FzName, zBind)) + zSql = Xsqlite3_mprintf(tls, *(*uintptr)(unsafe.Pointer(bp + 128 /* &azStmt[0] */ + uintptr(eStmt)*8)), libc.VaList(bp+80, (*Fts5Config)(unsafe.Pointer(pC)).FzDb, (*Fts5Config)(unsafe.Pointer(pC)).FzName, zBind)) Xsqlite3_free(tls, zBind) } break @@ -231441,7 +231441,7 @@ func fts5StorageGetStmt(tls *libc.TLS, p uintptr, eStmt int32, ppStmt uintptr, p fallthrough default: - zSql = Xsqlite3_mprintf(tls, *(*uintptr)(unsafe.Pointer(bp + 176 /* &azStmt[0] */ + uintptr(eStmt)*8)), libc.VaList(bp+136, (*Fts5Config)(unsafe.Pointer(pC)).FzDb, (*Fts5Config)(unsafe.Pointer(pC)).FzName)) + zSql = Xsqlite3_mprintf(tls, *(*uintptr)(unsafe.Pointer(bp + 128 /* &azStmt[0] */ + uintptr(eStmt)*8)), libc.VaList(bp+104, (*Fts5Config)(unsafe.Pointer(pC)).FzDb, (*Fts5Config)(unsafe.Pointer(pC)).FzName)) break } @@ -231457,7 +231457,7 @@ func fts5StorageGetStmt(tls *libc.TLS, p uintptr, eStmt int32, ppStmt uintptr, p (*Fts5Config)(unsafe.Pointer((*Fts5Storage)(unsafe.Pointer(p)).FpConfig)).FbLock-- Xsqlite3_free(tls, zSql) if (rc != SQLITE_OK) && (pzErrMsg != 0) { - *(*uintptr)(unsafe.Pointer(pzErrMsg)) = Xsqlite3_mprintf(tls, ts+3630 /* "%s" */, libc.VaList(bp+160, Xsqlite3_errmsg(tls, (*Fts5Config)(unsafe.Pointer(pC)).Fdb))) + *(*uintptr)(unsafe.Pointer(pzErrMsg)) = Xsqlite3_mprintf(tls, ts+3630 /* "%s" */, libc.VaList(bp+120, Xsqlite3_errmsg(tls, (*Fts5Config)(unsafe.Pointer(pC)).Fdb))) } } } @@ -231490,8 +231490,8 @@ func fts5ExecPrintf(tls *libc.TLS, db uintptr, pzErr uintptr, zFormat uintptr, v // Drop all shadow tables. Return SQLITE_OK if successful or an SQLite error // code otherwise. func sqlite3Fts5DropAll(tls *libc.TLS, pConfig uintptr) int32 { /* sqlite3.c:230901:12: */ - bp := tls.Alloc(104) - defer tls.Free(104) + bp := tls.Alloc(80) + defer tls.Free(80) var rc int32 = fts5ExecPrintf(tls, (*Fts5Config)(unsafe.Pointer(pConfig)).Fdb, uintptr(0), @@ -231502,19 +231502,19 @@ func sqlite3Fts5DropAll(tls *libc.TLS, pConfig uintptr) int32 { /* sqlite3.c:230 if (rc == SQLITE_OK) && ((*Fts5Config)(unsafe.Pointer(pConfig)).FbColumnsize != 0) { rc = fts5ExecPrintf(tls, (*Fts5Config)(unsafe.Pointer(pConfig)).Fdb, uintptr(0), ts+36144, /* "DROP TABLE IF EX..." */ - libc.VaList(bp+56, (*Fts5Config)(unsafe.Pointer(pConfig)).FzDb, (*Fts5Config)(unsafe.Pointer(pConfig)).FzName)) + libc.VaList(bp+48, (*Fts5Config)(unsafe.Pointer(pConfig)).FzDb, (*Fts5Config)(unsafe.Pointer(pConfig)).FzName)) } if (rc == SQLITE_OK) && ((*Fts5Config)(unsafe.Pointer(pConfig)).FeContent == FTS5_CONTENT_NORMAL) { rc = fts5ExecPrintf(tls, (*Fts5Config)(unsafe.Pointer(pConfig)).Fdb, uintptr(0), ts+36182, /* "DROP TABLE IF EX..." */ - libc.VaList(bp+80, (*Fts5Config)(unsafe.Pointer(pConfig)).FzDb, (*Fts5Config)(unsafe.Pointer(pConfig)).FzName)) + libc.VaList(bp+64, (*Fts5Config)(unsafe.Pointer(pConfig)).FzDb, (*Fts5Config)(unsafe.Pointer(pConfig)).FzName)) } return rc } func fts5StorageRenameOne(tls *libc.TLS, pConfig uintptr, pRc uintptr, zTail uintptr, zName uintptr) { /* sqlite3.c:230925:13: */ - bp := tls.Alloc(48) - defer tls.Free(48) + bp := tls.Alloc(40) + defer tls.Free(40) if *(*int32)(unsafe.Pointer(pRc)) == SQLITE_OK { *(*int32)(unsafe.Pointer(pRc)) = fts5ExecPrintf(tls, (*Fts5Config)(unsafe.Pointer(pConfig)).Fdb, uintptr(0), @@ -231545,13 +231545,13 @@ func sqlite3Fts5StorageRename(tls *libc.TLS, pStorage uintptr, zName uintptr) in // Create the shadow table named zPost, with definition zDefn. Return // SQLITE_OK if successful, or an SQLite error code otherwise. func sqlite3Fts5CreateTable(tls *libc.TLS, pConfig uintptr, zPost uintptr, zDefn uintptr, bWithout int32, pzErr uintptr) int32 { /* sqlite3.c:230959:12: */ - bp := tls.Alloc(88) - defer tls.Free(88) + bp := tls.Alloc(72) + defer tls.Free(72) var rc int32 - *(*uintptr)(unsafe.Pointer(bp + 80 /* zErr */)) = uintptr(0) + *(*uintptr)(unsafe.Pointer(bp + 64 /* zErr */)) = uintptr(0) - rc = fts5ExecPrintf(tls, (*Fts5Config)(unsafe.Pointer(pConfig)).Fdb, bp+80 /* &zErr */, ts+36262, /* "CREATE TABLE %Q...." */ + rc = fts5ExecPrintf(tls, (*Fts5Config)(unsafe.Pointer(pConfig)).Fdb, bp+64 /* &zErr */, ts+36262, /* "CREATE TABLE %Q...." */ libc.VaList(bp, (*Fts5Config)(unsafe.Pointer(pConfig)).FzDb, (*Fts5Config)(unsafe.Pointer(pConfig)).FzName, zPost, zDefn, func() uintptr { if bWithout != 0 { @@ -231559,11 +231559,11 @@ func sqlite3Fts5CreateTable(tls *libc.TLS, pConfig uintptr, zPost uintptr, zDefn } return ts + 755 /* "" */ }())) - if *(*uintptr)(unsafe.Pointer(bp + 80 /* zErr */)) != 0 { + if *(*uintptr)(unsafe.Pointer(bp + 64 /* zErr */)) != 0 { *(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3_mprintf(tls, ts+36292, /* "fts5: error crea..." */ - libc.VaList(bp+48, (*Fts5Config)(unsafe.Pointer(pConfig)).FzName, zPost, *(*uintptr)(unsafe.Pointer(bp + 80 /* zErr */)))) - Xsqlite3_free(tls, *(*uintptr)(unsafe.Pointer(bp + 80 /* zErr */))) + libc.VaList(bp+40, (*Fts5Config)(unsafe.Pointer(pConfig)).FzName, zPost, *(*uintptr)(unsafe.Pointer(bp + 64 /* zErr */)))) + Xsqlite3_free(tls, *(*uintptr)(unsafe.Pointer(bp + 64 /* zErr */))) } return rc @@ -231575,8 +231575,8 @@ func sqlite3Fts5CreateTable(tls *libc.TLS, pConfig uintptr, zPost uintptr, zDefn // If successful, set *pp to point to the new object and return SQLITE_OK. // Otherwise, set *pp to NULL and return an SQLite error code. func sqlite3Fts5StorageOpen(tls *libc.TLS, pConfig uintptr, pIndex uintptr, bCreate int32, pp uintptr, pzErr uintptr) int32 { /* sqlite3.c:230994:12: */ - bp := tls.Alloc(16) - defer tls.Free(16) + bp := tls.Alloc(8) + defer tls.Free(8) var rc int32 = SQLITE_OK var p uintptr // New object @@ -231849,8 +231849,8 @@ func sqlite3Fts5StorageDelete(tls *libc.TLS, p uintptr, iDel I64, apVal uintptr) // Delete all entries in the FTS5 index. func sqlite3Fts5StorageDeleteAll(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:231282:12: */ - bp := tls.Alloc(64) - defer tls.Free(64) + bp := tls.Alloc(48) + defer tls.Free(48) var pConfig uintptr = (*Fts5Storage)(unsafe.Pointer(p)).FpConfig var rc int32 @@ -231866,7 +231866,7 @@ func sqlite3Fts5StorageDeleteAll(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c: if (rc == SQLITE_OK) && ((*Fts5Config)(unsafe.Pointer(pConfig)).FbColumnsize != 0) { rc = fts5ExecPrintf(tls, (*Fts5Config)(unsafe.Pointer(pConfig)).Fdb, uintptr(0), ts+36464, /* "DELETE FROM %Q.'..." */ - libc.VaList(bp+40, (*Fts5Config)(unsafe.Pointer(pConfig)).FzDb, (*Fts5Config)(unsafe.Pointer(pConfig)).FzName)) + libc.VaList(bp+32, (*Fts5Config)(unsafe.Pointer(pConfig)).FzDb, (*Fts5Config)(unsafe.Pointer(pConfig)).FzName)) } // Reinitialize the %_data table. This call creates the initial structure @@ -232063,8 +232063,8 @@ func sqlite3Fts5StorageIndexInsert(tls *libc.TLS, p uintptr, apVal uintptr, iRow } func fts5StorageCount(tls *libc.TLS, p uintptr, zSuffix uintptr, pnRow uintptr) int32 { /* sqlite3.c:231488:12: */ - bp := tls.Alloc(40) - defer tls.Free(40) + bp := tls.Alloc(32) + defer tls.Free(32) var pConfig uintptr = (*Fts5Storage)(unsafe.Pointer(p)).FpConfig var zSql uintptr @@ -232075,13 +232075,13 @@ func fts5StorageCount(tls *libc.TLS, p uintptr, zSuffix uintptr, pnRow uintptr) if zSql == uintptr(0) { rc = SQLITE_NOMEM } else { - *(*uintptr)(unsafe.Pointer(bp + 32 /* pCnt */)) = uintptr(0) - rc = Xsqlite3_prepare_v2(tls, (*Fts5Config)(unsafe.Pointer(pConfig)).Fdb, zSql, -1, bp+32 /* &pCnt */, uintptr(0)) + *(*uintptr)(unsafe.Pointer(bp + 24 /* pCnt */)) = uintptr(0) + rc = Xsqlite3_prepare_v2(tls, (*Fts5Config)(unsafe.Pointer(pConfig)).Fdb, zSql, -1, bp+24 /* &pCnt */, uintptr(0)) if rc == SQLITE_OK { - if SQLITE_ROW == Xsqlite3_step(tls, *(*uintptr)(unsafe.Pointer(bp + 32 /* pCnt */))) { - *(*I64)(unsafe.Pointer(pnRow)) = Xsqlite3_column_int64(tls, *(*uintptr)(unsafe.Pointer(bp + 32 /* pCnt */)), 0) + if SQLITE_ROW == Xsqlite3_step(tls, *(*uintptr)(unsafe.Pointer(bp + 24 /* pCnt */))) { + *(*I64)(unsafe.Pointer(pnRow)) = Xsqlite3_column_int64(tls, *(*uintptr)(unsafe.Pointer(bp + 24 /* pCnt */)), 0) } - rc = Xsqlite3_finalize(tls, *(*uintptr)(unsafe.Pointer(bp + 32 /* pCnt */))) + rc = Xsqlite3_finalize(tls, *(*uintptr)(unsafe.Pointer(bp + 24 /* pCnt */))) } } @@ -235358,12 +235358,12 @@ type Fts5VocabCursor = Fts5VocabCursor1 /* sqlite3.c:234462:32 */ // value and return SQLITE_OK. Otherwise, set *pzErr to an error message // and return SQLITE_ERROR. func fts5VocabTableType(tls *libc.TLS, zType uintptr, pzErr uintptr, peType uintptr) int32 { /* sqlite3.c:234521:12: */ - bp := tls.Alloc(20) - defer tls.Free(20) + bp := tls.Alloc(12) + defer tls.Free(12) - *(*int32)(unsafe.Pointer(bp + 16 /* rc */)) = SQLITE_OK - var zCopy uintptr = sqlite3Fts5Strndup(tls, bp+16 /* &rc */, zType, -1) - if *(*int32)(unsafe.Pointer(bp + 16 /* rc */)) == SQLITE_OK { + *(*int32)(unsafe.Pointer(bp + 8 /* rc */)) = SQLITE_OK + var zCopy uintptr = sqlite3Fts5Strndup(tls, bp+8 /* &rc */, zType, -1) + if *(*int32)(unsafe.Pointer(bp + 8 /* rc */)) == SQLITE_OK { sqlite3Fts5Dequote(tls, zCopy) if Xsqlite3_stricmp(tls, zCopy, ts+36910 /* "col" */) == 0 { *(*int32)(unsafe.Pointer(peType)) = FTS5_VOCAB_COL @@ -235373,12 +235373,12 @@ func fts5VocabTableType(tls *libc.TLS, zType uintptr, pzErr uintptr, peType uint *(*int32)(unsafe.Pointer(peType)) = FTS5_VOCAB_INSTANCE } else { *(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3_mprintf(tls, ts+36927 /* "fts5vocab: unkno..." */, libc.VaList(bp, zCopy)) - *(*int32)(unsafe.Pointer(bp + 16 /* rc */)) = SQLITE_ERROR + *(*int32)(unsafe.Pointer(bp + 8 /* rc */)) = SQLITE_ERROR } Xsqlite3_free(tls, zCopy) } - return *(*int32)(unsafe.Pointer(bp + 16 /* rc */)) + return *(*int32)(unsafe.Pointer(bp + 8 /* rc */)) } // The xDisconnect() virtual table method. @@ -235571,14 +235571,14 @@ func fts5VocabBestIndexMethod(tls *libc.TLS, pUnused uintptr, pInfo uintptr) int // Implementation of xOpen method. func fts5VocabOpenMethod(tls *libc.TLS, pVTab uintptr, ppCsr uintptr) int32 { /* sqlite3.c:234743:12: */ - bp := tls.Alloc(104) - defer tls.Free(104) + bp := tls.Alloc(80) + defer tls.Free(80) var pTab uintptr = pVTab var pFts5 uintptr = uintptr(0) var pCsr uintptr = uintptr(0) - *(*int32)(unsafe.Pointer(bp + 88 /* rc */)) = SQLITE_OK - *(*uintptr)(unsafe.Pointer(bp + 96 /* pStmt */)) = uintptr(0) + *(*int32)(unsafe.Pointer(bp + 64 /* rc */)) = SQLITE_OK + *(*uintptr)(unsafe.Pointer(bp + 72 /* pStmt */)) = uintptr(0) var zSql uintptr = uintptr(0) if (*Fts5VocabTable)(unsafe.Pointer(pTab)).FbBusy != 0 { @@ -235586,55 +235586,55 @@ func fts5VocabOpenMethod(tls *libc.TLS, pVTab uintptr, ppCsr uintptr) int32 { /* ts+37112 /* "recursive defini..." */, libc.VaList(bp, (*Fts5VocabTable)(unsafe.Pointer(pTab)).FzFts5Db, (*Fts5VocabTable)(unsafe.Pointer(pTab)).FzFts5Tbl)) return SQLITE_ERROR } - zSql = sqlite3Fts5Mprintf(tls, bp+88, /* &rc */ + zSql = sqlite3Fts5Mprintf(tls, bp+64, /* &rc */ ts+37143, /* "SELECT t.%Q FROM..." */ - libc.VaList(bp+24, (*Fts5VocabTable)(unsafe.Pointer(pTab)).FzFts5Tbl, (*Fts5VocabTable)(unsafe.Pointer(pTab)).FzFts5Db, (*Fts5VocabTable)(unsafe.Pointer(pTab)).FzFts5Tbl, (*Fts5VocabTable)(unsafe.Pointer(pTab)).FzFts5Tbl)) + libc.VaList(bp+16, (*Fts5VocabTable)(unsafe.Pointer(pTab)).FzFts5Tbl, (*Fts5VocabTable)(unsafe.Pointer(pTab)).FzFts5Db, (*Fts5VocabTable)(unsafe.Pointer(pTab)).FzFts5Tbl, (*Fts5VocabTable)(unsafe.Pointer(pTab)).FzFts5Tbl)) if zSql != 0 { - *(*int32)(unsafe.Pointer(bp + 88 /* rc */)) = Xsqlite3_prepare_v2(tls, (*Fts5VocabTable)(unsafe.Pointer(pTab)).Fdb, zSql, -1, bp+96 /* &pStmt */, uintptr(0)) + *(*int32)(unsafe.Pointer(bp + 64 /* rc */)) = Xsqlite3_prepare_v2(tls, (*Fts5VocabTable)(unsafe.Pointer(pTab)).Fdb, zSql, -1, bp+72 /* &pStmt */, uintptr(0)) } Xsqlite3_free(tls, zSql) - if *(*int32)(unsafe.Pointer(bp + 88 /* rc */)) == SQLITE_ERROR { - *(*int32)(unsafe.Pointer(bp + 88 /* rc */)) = SQLITE_OK + if *(*int32)(unsafe.Pointer(bp + 64 /* rc */)) == SQLITE_ERROR { + *(*int32)(unsafe.Pointer(bp + 64 /* rc */)) = SQLITE_OK } (*Fts5VocabTable)(unsafe.Pointer(pTab)).FbBusy = uint32(1) - if (*(*uintptr)(unsafe.Pointer(bp + 96 /* pStmt */)) != 0) && (Xsqlite3_step(tls, *(*uintptr)(unsafe.Pointer(bp + 96 /* pStmt */))) == SQLITE_ROW) { - var iId I64 = Xsqlite3_column_int64(tls, *(*uintptr)(unsafe.Pointer(bp + 96 /* pStmt */)), 0) + if (*(*uintptr)(unsafe.Pointer(bp + 72 /* pStmt */)) != 0) && (Xsqlite3_step(tls, *(*uintptr)(unsafe.Pointer(bp + 72 /* pStmt */))) == SQLITE_ROW) { + var iId I64 = Xsqlite3_column_int64(tls, *(*uintptr)(unsafe.Pointer(bp + 72 /* pStmt */)), 0) pFts5 = sqlite3Fts5TableFromCsrid(tls, (*Fts5VocabTable)(unsafe.Pointer(pTab)).FpGlobal, iId) } (*Fts5VocabTable)(unsafe.Pointer(pTab)).FbBusy = uint32(0) - if *(*int32)(unsafe.Pointer(bp + 88 /* rc */)) == SQLITE_OK { + if *(*int32)(unsafe.Pointer(bp + 64 /* rc */)) == SQLITE_OK { if pFts5 == uintptr(0) { - *(*int32)(unsafe.Pointer(bp + 88 /* rc */)) = Xsqlite3_finalize(tls, *(*uintptr)(unsafe.Pointer(bp + 96 /* pStmt */))) - *(*uintptr)(unsafe.Pointer(bp + 96 /* pStmt */)) = uintptr(0) - if *(*int32)(unsafe.Pointer(bp + 88 /* rc */)) == SQLITE_OK { + *(*int32)(unsafe.Pointer(bp + 64 /* rc */)) = Xsqlite3_finalize(tls, *(*uintptr)(unsafe.Pointer(bp + 72 /* pStmt */))) + *(*uintptr)(unsafe.Pointer(bp + 72 /* pStmt */)) = uintptr(0) + if *(*int32)(unsafe.Pointer(bp + 64 /* rc */)) == SQLITE_OK { (*Sqlite3_vtab)(unsafe.Pointer(pVTab)).FzErrMsg = Xsqlite3_mprintf(tls, - ts+37194 /* "no such fts5 tab..." */, libc.VaList(bp+64, (*Fts5VocabTable)(unsafe.Pointer(pTab)).FzFts5Db, (*Fts5VocabTable)(unsafe.Pointer(pTab)).FzFts5Tbl)) - *(*int32)(unsafe.Pointer(bp + 88 /* rc */)) = SQLITE_ERROR + ts+37194 /* "no such fts5 tab..." */, libc.VaList(bp+48, (*Fts5VocabTable)(unsafe.Pointer(pTab)).FzFts5Db, (*Fts5VocabTable)(unsafe.Pointer(pTab)).FzFts5Tbl)) + *(*int32)(unsafe.Pointer(bp + 64 /* rc */)) = SQLITE_ERROR } } else { - *(*int32)(unsafe.Pointer(bp + 88 /* rc */)) = sqlite3Fts5FlushToDisk(tls, pFts5) + *(*int32)(unsafe.Pointer(bp + 64 /* rc */)) = sqlite3Fts5FlushToDisk(tls, pFts5) } } - if *(*int32)(unsafe.Pointer(bp + 88 /* rc */)) == SQLITE_OK { + if *(*int32)(unsafe.Pointer(bp + 64 /* rc */)) == SQLITE_OK { var nByte int32 = (int32(((uint64((*Fts5Config)(unsafe.Pointer((*Fts5Table)(unsafe.Pointer(pFts5)).FpConfig)).FnCol) * uint64(unsafe.Sizeof(I64(0)))) * uint64(2)) + uint64(unsafe.Sizeof(Fts5VocabCursor{})))) - pCsr = sqlite3Fts5MallocZero(tls, bp+88 /* &rc */, int64(nByte)) + pCsr = sqlite3Fts5MallocZero(tls, bp+64 /* &rc */, int64(nByte)) } if pCsr != 0 { (*Fts5VocabCursor)(unsafe.Pointer(pCsr)).FpFts5 = pFts5 - (*Fts5VocabCursor)(unsafe.Pointer(pCsr)).FpStmt = *(*uintptr)(unsafe.Pointer(bp + 96 /* pStmt */)) + (*Fts5VocabCursor)(unsafe.Pointer(pCsr)).FpStmt = *(*uintptr)(unsafe.Pointer(bp + 72 /* pStmt */)) (*Fts5VocabCursor)(unsafe.Pointer(pCsr)).FaCnt = (pCsr + 1*120) (*Fts5VocabCursor)(unsafe.Pointer(pCsr)).FaDoc = ((*Fts5VocabCursor)(unsafe.Pointer(pCsr)).FaCnt + uintptr((*Fts5Config)(unsafe.Pointer((*Fts5Table)(unsafe.Pointer(pFts5)).FpConfig)).FnCol)*8) } else { - Xsqlite3_finalize(tls, *(*uintptr)(unsafe.Pointer(bp + 96 /* pStmt */))) + Xsqlite3_finalize(tls, *(*uintptr)(unsafe.Pointer(bp + 72 /* pStmt */))) } *(*uintptr)(unsafe.Pointer(ppCsr)) = pCsr - return *(*int32)(unsafe.Pointer(bp + 88 /* rc */)) + return *(*int32)(unsafe.Pointer(bp + 64 /* rc */)) } func fts5VocabResetCursor(tls *libc.TLS, pCsr uintptr) { /* sqlite3.c:234811:13: */ diff --git a/libtest/sqlite_darwin_arm64.go b/libtest/sqlite_darwin_arm64.go index 4cc489b..ebd8fc1 100644 --- a/libtest/sqlite_darwin_arm64.go +++ b/libtest/sqlite_darwin_arm64.go @@ -120448,7 +120448,6 @@ func Xsqlite3GenerateConstraintChecks(tls *libc.TLS, pParse uintptr, pTab uintpt goto __4 goto __6 __6: - } } @@ -176356,7 +176355,6 @@ __15: goto __14 goto __16 __16: - } // This is a helper function for rbuObjIterCacheTableInfo(). It populates diff --git a/libtest/sqlite_windows_amd64.go b/libtest/sqlite_windows_amd64.go index c168e04..5f52857 100644 --- a/libtest/sqlite_windows_amd64.go +++ b/libtest/sqlite_windows_amd64.go @@ -29458,13 +29458,13 @@ var aMx = [6]U16{U16(12), U16(14), U16(24), U16(31), U16(59), U16(9999)} /* sqli // // A missing specifier is not considered an error. func parseTimezone(tls *libc.TLS, zDate uintptr, p uintptr) int32 { /* sqlite3.c:22336:12: */ - bp := tls.Alloc(32) - defer tls.Free(32) + bp := tls.Alloc(24) + defer tls.Free(24) var sgn int32 - // var nHr int32 at bp+24, 4 + // var nHr int32 at bp+16, 4 - // var nMn int32 at bp+28, 4 + // var nMn int32 at bp+20, 4 var c int32 sgn = 0 @@ -29505,14 +29505,14 @@ __6: __4: ; zDate++ - if !(getDigits(tls, zDate, ts+485 /* "20b:20e" */, libc.VaList(bp, bp+24 /* &nHr */, bp+28 /* &nMn */)) != 2) { + if !(getDigits(tls, zDate, ts+485 /* "20b:20e" */, libc.VaList(bp, bp+16 /* &nHr */, bp+20 /* &nMn */)) != 2) { goto __9 } return 1 __9: ; zDate += uintptr(5) - (*DateTime)(unsafe.Pointer(p)).Ftz = (sgn * (*(*int32)(unsafe.Pointer(bp + 28 /* nMn */)) + (*(*int32)(unsafe.Pointer(bp + 24 /* nHr */)) * 60))) + (*DateTime)(unsafe.Pointer(p)).Ftz = (sgn * (*(*int32)(unsafe.Pointer(bp + 20 /* nMn */)) + (*(*int32)(unsafe.Pointer(bp + 16 /* nHr */)) * 60))) zulu_time: __10: if !((int32(Xsqlite3CtypeMap[uint8(*(*int8)(unsafe.Pointer(zDate)))]) & 0x01) != 0) { @@ -29532,23 +29532,23 @@ __11: // // Return 1 if there is a parsing error and 0 on success. func parseHhMmSs(tls *libc.TLS, zDate uintptr, p uintptr) int32 { /* sqlite3.c:22372:12: */ - bp := tls.Alloc(52) - defer tls.Free(52) + bp := tls.Alloc(36) + defer tls.Free(36) - // var h int32 at bp+40, 4 + // var h int32 at bp+24, 4 - // var m int32 at bp+44, 4 + // var m int32 at bp+28, 4 - // var s int32 at bp+48, 4 + // var s int32 at bp+32, 4 var ms float64 = 0.0 - if getDigits(tls, zDate, ts+493 /* "20c:20e" */, libc.VaList(bp, bp+40 /* &h */, bp+44 /* &m */)) != 2 { + if getDigits(tls, zDate, ts+493 /* "20c:20e" */, libc.VaList(bp, bp+24 /* &h */, bp+28 /* &m */)) != 2 { return 1 } zDate += uintptr(5) if int32(*(*int8)(unsafe.Pointer(zDate))) == ':' { zDate++ - if getDigits(tls, zDate, ts+501 /* "20e" */, libc.VaList(bp+24, bp+48 /* &s */)) != 1 { + if getDigits(tls, zDate, ts+501 /* "20e" */, libc.VaList(bp+16, bp+32 /* &s */)) != 1 { return 1 } zDate += uintptr(2) @@ -29563,14 +29563,14 @@ func parseHhMmSs(tls *libc.TLS, zDate uintptr, p uintptr) int32 { /* sqlite3.c:2 ms = ms / (rScale) } } else { - *(*int32)(unsafe.Pointer(bp + 48 /* s */)) = 0 + *(*int32)(unsafe.Pointer(bp + 32 /* s */)) = 0 } (*DateTime)(unsafe.Pointer(p)).FvalidJD = int8(0) (*DateTime)(unsafe.Pointer(p)).FrawS = int8(0) (*DateTime)(unsafe.Pointer(p)).FvalidHMS = int8(1) - (*DateTime)(unsafe.Pointer(p)).Fh = *(*int32)(unsafe.Pointer(bp + 40 /* h */)) - (*DateTime)(unsafe.Pointer(p)).Fm = *(*int32)(unsafe.Pointer(bp + 44 /* m */)) - (*DateTime)(unsafe.Pointer(p)).Fs = (float64(*(*int32)(unsafe.Pointer(bp + 48 /* s */))) + ms) + (*DateTime)(unsafe.Pointer(p)).Fh = *(*int32)(unsafe.Pointer(bp + 24 /* h */)) + (*DateTime)(unsafe.Pointer(p)).Fm = *(*int32)(unsafe.Pointer(bp + 28 /* m */)) + (*DateTime)(unsafe.Pointer(p)).Fs = (float64(*(*int32)(unsafe.Pointer(bp + 32 /* s */))) + ms) if parseTimezone(tls, zDate, p) != 0 { return 1 } @@ -29650,14 +29650,14 @@ func computeJD(tls *libc.TLS, p uintptr) { /* sqlite3.c:22423:13: */ // on success and 1 if the input string is not a well-formed // date. func parseYyyyMmDd(tls *libc.TLS, zDate uintptr, p uintptr) int32 { /* sqlite3.c:22473:12: */ - bp := tls.Alloc(44) - defer tls.Free(44) + bp := tls.Alloc(36) + defer tls.Free(36) - // var Y int32 at bp+32, 4 + // var Y int32 at bp+24, 4 - // var M int32 at bp+36, 4 + // var M int32 at bp+28, 4 - // var D int32 at bp+40, 4 + // var D int32 at bp+32, 4 var neg int32 @@ -29667,7 +29667,7 @@ func parseYyyyMmDd(tls *libc.TLS, zDate uintptr, p uintptr) int32 { /* sqlite3.c } else { neg = 0 } - if getDigits(tls, zDate, ts+505 /* "40f-21a-21d" */, libc.VaList(bp, bp+32 /* &Y */, bp+36 /* &M */, bp+40 /* &D */)) != 3 { + if getDigits(tls, zDate, ts+505 /* "40f-21a-21d" */, libc.VaList(bp, bp+24 /* &Y */, bp+28 /* &M */, bp+32 /* &D */)) != 3 { return 1 } zDate += uintptr(10) @@ -29685,12 +29685,12 @@ func parseYyyyMmDd(tls *libc.TLS, zDate uintptr, p uintptr) int32 { /* sqlite3.c (*DateTime)(unsafe.Pointer(p)).FvalidYMD = int8(1) (*DateTime)(unsafe.Pointer(p)).FY = func() int32 { if neg != 0 { - return -*(*int32)(unsafe.Pointer(bp + 32 /* Y */)) + return -*(*int32)(unsafe.Pointer(bp + 24 /* Y */)) } - return *(*int32)(unsafe.Pointer(bp + 32 /* Y */)) + return *(*int32)(unsafe.Pointer(bp + 24 /* Y */)) }() - (*DateTime)(unsafe.Pointer(p)).FM = *(*int32)(unsafe.Pointer(bp + 36 /* M */)) - (*DateTime)(unsafe.Pointer(p)).FD = *(*int32)(unsafe.Pointer(bp + 40 /* D */)) + (*DateTime)(unsafe.Pointer(p)).FM = *(*int32)(unsafe.Pointer(bp + 28 /* M */)) + (*DateTime)(unsafe.Pointer(p)).FD = *(*int32)(unsafe.Pointer(bp + 32 /* D */)) if (*DateTime)(unsafe.Pointer(p)).FvalidTZ != 0 { computeJD(tls, p) } @@ -30315,18 +30315,18 @@ func juliandayFunc(tls *libc.TLS, context uintptr, argc int32, argv uintptr) { / // // Return YYYY-MM-DD HH:MM:SS func datetimeFunc(tls *libc.TLS, context uintptr, argc int32, argv uintptr) { /* sqlite3.c:23106:13: */ - bp := tls.Alloc(204) - defer tls.Free(204) + bp := tls.Alloc(196) + defer tls.Free(196) - // var x DateTime at bp+56, 48 + // var x DateTime at bp+48, 48 - if isDate(tls, context, argc, argv, bp+56 /* &x */) == 0 { - // var zBuf [100]int8 at bp+104, 100 + if isDate(tls, context, argc, argv, bp+48 /* &x */) == 0 { + // var zBuf [100]int8 at bp+96, 100 - computeYMD_HMS(tls, bp+56 /* &x */) - Xsqlite3_snprintf(tls, int32(unsafe.Sizeof([100]int8{})), bp+104 /* &zBuf[0] */, ts+621, /* "%04d-%02d-%02d %..." */ - libc.VaList(bp, (*DateTime)(unsafe.Pointer(bp+56 /* &x */)).FY, (*DateTime)(unsafe.Pointer(bp+56 /* &x */)).FM, (*DateTime)(unsafe.Pointer(bp+56 /* &x */)).FD, (*DateTime)(unsafe.Pointer(bp+56 /* &x */)).Fh, (*DateTime)(unsafe.Pointer(bp+56 /* &x */)).Fm, int32((*DateTime)(unsafe.Pointer(bp+56 /* &x */)).Fs))) - Xsqlite3_result_text(tls, context, bp+104 /* &zBuf[0] */, -1, libc.UintptrFromInt32(-1)) + computeYMD_HMS(tls, bp+48 /* &x */) + Xsqlite3_snprintf(tls, int32(unsafe.Sizeof([100]int8{})), bp+96 /* &zBuf[0] */, ts+621, /* "%04d-%02d-%02d %..." */ + libc.VaList(bp, (*DateTime)(unsafe.Pointer(bp+48 /* &x */)).FY, (*DateTime)(unsafe.Pointer(bp+48 /* &x */)).FM, (*DateTime)(unsafe.Pointer(bp+48 /* &x */)).FD, (*DateTime)(unsafe.Pointer(bp+48 /* &x */)).Fh, (*DateTime)(unsafe.Pointer(bp+48 /* &x */)).Fm, int32((*DateTime)(unsafe.Pointer(bp+48 /* &x */)).Fs))) + Xsqlite3_result_text(tls, context, bp+96 /* &zBuf[0] */, -1, libc.UintptrFromInt32(-1)) } } @@ -30334,17 +30334,17 @@ func datetimeFunc(tls *libc.TLS, context uintptr, argc int32, argv uintptr) { /* // // Return HH:MM:SS func timeFunc(tls *libc.TLS, context uintptr, argc int32, argv uintptr) { /* sqlite3.c:23126:13: */ - bp := tls.Alloc(180) - defer tls.Free(180) + bp := tls.Alloc(172) + defer tls.Free(172) - // var x DateTime at bp+32, 48 + // var x DateTime at bp+24, 48 - if isDate(tls, context, argc, argv, bp+32 /* &x */) == 0 { - // var zBuf [100]int8 at bp+80, 100 + if isDate(tls, context, argc, argv, bp+24 /* &x */) == 0 { + // var zBuf [100]int8 at bp+72, 100 - computeHMS(tls, bp+32 /* &x */) - Xsqlite3_snprintf(tls, int32(unsafe.Sizeof([100]int8{})), bp+80 /* &zBuf[0] */, ts+651 /* "%02d:%02d:%02d" */, libc.VaList(bp, (*DateTime)(unsafe.Pointer(bp+32 /* &x */)).Fh, (*DateTime)(unsafe.Pointer(bp+32 /* &x */)).Fm, int32((*DateTime)(unsafe.Pointer(bp+32 /* &x */)).Fs))) - Xsqlite3_result_text(tls, context, bp+80 /* &zBuf[0] */, -1, libc.UintptrFromInt32(-1)) + computeHMS(tls, bp+24 /* &x */) + Xsqlite3_snprintf(tls, int32(unsafe.Sizeof([100]int8{})), bp+72 /* &zBuf[0] */, ts+651 /* "%02d:%02d:%02d" */, libc.VaList(bp, (*DateTime)(unsafe.Pointer(bp+24 /* &x */)).Fh, (*DateTime)(unsafe.Pointer(bp+24 /* &x */)).Fm, int32((*DateTime)(unsafe.Pointer(bp+24 /* &x */)).Fs))) + Xsqlite3_result_text(tls, context, bp+72 /* &zBuf[0] */, -1, libc.UintptrFromInt32(-1)) } } @@ -30352,17 +30352,17 @@ func timeFunc(tls *libc.TLS, context uintptr, argc int32, argv uintptr) { /* sql // // Return YYYY-MM-DD func dateFunc(tls *libc.TLS, context uintptr, argc int32, argv uintptr) { /* sqlite3.c:23145:13: */ - bp := tls.Alloc(180) - defer tls.Free(180) + bp := tls.Alloc(172) + defer tls.Free(172) - // var x DateTime at bp+32, 48 + // var x DateTime at bp+24, 48 - if isDate(tls, context, argc, argv, bp+32 /* &x */) == 0 { - // var zBuf [100]int8 at bp+80, 100 + if isDate(tls, context, argc, argv, bp+24 /* &x */) == 0 { + // var zBuf [100]int8 at bp+72, 100 - computeYMD(tls, bp+32 /* &x */) - Xsqlite3_snprintf(tls, int32(unsafe.Sizeof([100]int8{})), bp+80 /* &zBuf[0] */, ts+666 /* "%04d-%02d-%02d" */, libc.VaList(bp, (*DateTime)(unsafe.Pointer(bp+32 /* &x */)).FY, (*DateTime)(unsafe.Pointer(bp+32 /* &x */)).FM, (*DateTime)(unsafe.Pointer(bp+32 /* &x */)).FD)) - Xsqlite3_result_text(tls, context, bp+80 /* &zBuf[0] */, -1, libc.UintptrFromInt32(-1)) + computeYMD(tls, bp+24 /* &x */) + Xsqlite3_snprintf(tls, int32(unsafe.Sizeof([100]int8{})), bp+72 /* &zBuf[0] */, ts+666 /* "%04d-%02d-%02d" */, libc.VaList(bp, (*DateTime)(unsafe.Pointer(bp+24 /* &x */)).FY, (*DateTime)(unsafe.Pointer(bp+24 /* &x */)).FM, (*DateTime)(unsafe.Pointer(bp+24 /* &x */)).FD)) + Xsqlite3_result_text(tls, context, bp+72 /* &zBuf[0] */, -1, libc.UintptrFromInt32(-1)) } } @@ -30384,10 +30384,10 @@ func dateFunc(tls *libc.TLS, context uintptr, argc int32, argv uintptr) { /* sql // %Y year 0000-9999 // %% % func strftimeFunc(tls *libc.TLS, context uintptr, argc int32, argv uintptr) { /* sqlite3.c:23178:13: */ - bp := tls.Alloc(360) - defer tls.Free(360) + bp := tls.Alloc(280) + defer tls.Free(280) - // var x DateTime at bp+160, 48 + // var x DateTime at bp+80, 48 var n U64 var i Size_t @@ -30395,13 +30395,13 @@ func strftimeFunc(tls *libc.TLS, context uintptr, argc int32, argv uintptr) { /* var z uintptr var db uintptr var zFmt uintptr - // var zBuf [100]int8 at bp+208, 100 + // var zBuf [100]int8 at bp+128, 100 if argc == 0 { return } zFmt = Xsqlite3_value_text(tls, *(*uintptr)(unsafe.Pointer(argv))) - if (zFmt == uintptr(0)) || (isDate(tls, context, (argc-1), (argv+uintptr(1)*8), bp+160 /* &x */) != 0) { + if (zFmt == uintptr(0)) || (isDate(tls, context, (argc-1), (argv+uintptr(1)*8), bp+80 /* &x */) != 0) { return } db = Xsqlite3_context_db_handle(tls, context) @@ -30468,7 +30468,7 @@ __3: ; if n < U64(unsafe.Sizeof([100]int8{})) { - z = bp + 208 /* &zBuf[0] */ + z = bp + 128 /* &zBuf[0] */ } else if n > U64(*(*int32)(unsafe.Pointer((db + 128 /* &.aLimit */)))) { Xsqlite3_result_error_toobig(tls, context) return @@ -30479,8 +30479,8 @@ __3: return } } - computeJD(tls, bp+160 /* &x */) - computeYMD_HMS(tls, bp+160 /* &x */) + computeJD(tls, bp+80 /* &x */) + computeYMD_HMS(tls, bp+80 /* &x */) for i = libc.AssignUint64(&j, uint64(0)); *(*int8)(unsafe.Pointer(zFmt + uintptr(i))) != 0; i++ { if int32(*(*int8)(unsafe.Pointer(zFmt + uintptr(i)))) != '%' { *(*int8)(unsafe.Pointer(z + uintptr(libc.PostIncUint64(&j, 1)))) = *(*int8)(unsafe.Pointer(zFmt + uintptr(i))) @@ -30488,24 +30488,24 @@ __3: i++ switch int32(*(*int8)(unsafe.Pointer(zFmt + uintptr(i)))) { case 'd': - Xsqlite3_snprintf(tls, 3, (z + uintptr(j)), ts+681 /* "%02d" */, libc.VaList(bp, (*DateTime)(unsafe.Pointer(bp+160 /* &x */)).FD)) + Xsqlite3_snprintf(tls, 3, (z + uintptr(j)), ts+681 /* "%02d" */, libc.VaList(bp, (*DateTime)(unsafe.Pointer(bp+80 /* &x */)).FD)) j = j + (uint64(2)) break fallthrough case 'f': { - var s float64 = (*DateTime)(unsafe.Pointer(bp + 160 /* &x */)).Fs + var s float64 = (*DateTime)(unsafe.Pointer(bp + 80 /* &x */)).Fs if s > 59.999 { s = 59.999 } - Xsqlite3_snprintf(tls, 7, (z + uintptr(j)), ts+686 /* "%06.3f" */, libc.VaList(bp+16, s)) + Xsqlite3_snprintf(tls, 7, (z + uintptr(j)), ts+686 /* "%06.3f" */, libc.VaList(bp+8, s)) j = j + (Size_t(Xsqlite3Strlen30(tls, (z + uintptr(j))))) break } fallthrough case 'H': - Xsqlite3_snprintf(tls, 3, (z + uintptr(j)), ts+681 /* "%02d" */, libc.VaList(bp+32, (*DateTime)(unsafe.Pointer(bp+160 /* &x */)).Fh)) + Xsqlite3_snprintf(tls, 3, (z + uintptr(j)), ts+681 /* "%02d" */, libc.VaList(bp+16, (*DateTime)(unsafe.Pointer(bp+80 /* &x */)).Fh)) j = j + (uint64(2)) break fallthrough @@ -30514,19 +30514,19 @@ __3: case 'j': { var nDay int32 // Number of days since 1st day of year - *(*DateTime)(unsafe.Pointer(bp + 312 /* y */)) = *(*DateTime)(unsafe.Pointer(bp + 160 /* x */)) - (*DateTime)(unsafe.Pointer(bp + 312 /* &y */)).FvalidJD = int8(0) - (*DateTime)(unsafe.Pointer(bp + 312 /* &y */)).FM = 1 - (*DateTime)(unsafe.Pointer(bp + 312 /* &y */)).FD = 1 - computeJD(tls, bp+312 /* &y */) - nDay = (int32((((*DateTime)(unsafe.Pointer(bp+160 /* &x */)).FiJD - (*DateTime)(unsafe.Pointer(bp+312 /* &y */)).FiJD) + int64(43200000)) / int64(86400000))) + *(*DateTime)(unsafe.Pointer(bp + 232 /* y */)) = *(*DateTime)(unsafe.Pointer(bp + 80 /* x */)) + (*DateTime)(unsafe.Pointer(bp + 232 /* &y */)).FvalidJD = int8(0) + (*DateTime)(unsafe.Pointer(bp + 232 /* &y */)).FM = 1 + (*DateTime)(unsafe.Pointer(bp + 232 /* &y */)).FD = 1 + computeJD(tls, bp+232 /* &y */) + nDay = (int32((((*DateTime)(unsafe.Pointer(bp+80 /* &x */)).FiJD - (*DateTime)(unsafe.Pointer(bp+232 /* &y */)).FiJD) + int64(43200000)) / int64(86400000))) if int32(*(*int8)(unsafe.Pointer(zFmt + uintptr(i)))) == 'W' { var wd int32 // 0=Monday, 1=Tuesday, ... 6=Sunday - wd = (int32((((*DateTime)(unsafe.Pointer(bp+160 /* &x */)).FiJD + int64(43200000)) / int64(86400000)) % int64(7))) - Xsqlite3_snprintf(tls, 3, (z + uintptr(j)), ts+681 /* "%02d" */, libc.VaList(bp+48, (((nDay+7)-wd)/7))) + wd = (int32((((*DateTime)(unsafe.Pointer(bp+80 /* &x */)).FiJD + int64(43200000)) / int64(86400000)) % int64(7))) + Xsqlite3_snprintf(tls, 3, (z + uintptr(j)), ts+681 /* "%02d" */, libc.VaList(bp+24, (((nDay+7)-wd)/7))) j = j + (uint64(2)) } else { - Xsqlite3_snprintf(tls, 4, (z + uintptr(j)), ts+693 /* "%03d" */, libc.VaList(bp+64, (nDay+1))) + Xsqlite3_snprintf(tls, 4, (z + uintptr(j)), ts+693 /* "%03d" */, libc.VaList(bp+32, (nDay+1))) j = j + (uint64(3)) } break @@ -30535,25 +30535,25 @@ __3: fallthrough case 'J': { - Xsqlite3_snprintf(tls, 20, (z + uintptr(j)), ts+698 /* "%.16g" */, libc.VaList(bp+80, (float64((*DateTime)(unsafe.Pointer(bp+160 /* &x */)).FiJD)/86400000.0))) + Xsqlite3_snprintf(tls, 20, (z + uintptr(j)), ts+698 /* "%.16g" */, libc.VaList(bp+40, (float64((*DateTime)(unsafe.Pointer(bp+80 /* &x */)).FiJD)/86400000.0))) j = j + (Size_t(Xsqlite3Strlen30(tls, (z + uintptr(j))))) break } fallthrough case 'm': - Xsqlite3_snprintf(tls, 3, (z + uintptr(j)), ts+681 /* "%02d" */, libc.VaList(bp+96, (*DateTime)(unsafe.Pointer(bp+160 /* &x */)).FM)) + Xsqlite3_snprintf(tls, 3, (z + uintptr(j)), ts+681 /* "%02d" */, libc.VaList(bp+48, (*DateTime)(unsafe.Pointer(bp+80 /* &x */)).FM)) j = j + (uint64(2)) break fallthrough case 'M': - Xsqlite3_snprintf(tls, 3, (z + uintptr(j)), ts+681 /* "%02d" */, libc.VaList(bp+112, (*DateTime)(unsafe.Pointer(bp+160 /* &x */)).Fm)) + Xsqlite3_snprintf(tls, 3, (z + uintptr(j)), ts+681 /* "%02d" */, libc.VaList(bp+56, (*DateTime)(unsafe.Pointer(bp+80 /* &x */)).Fm)) j = j + (uint64(2)) break fallthrough case 's': { - var iS I64 = (((*DateTime)(unsafe.Pointer(bp+160 /* &x */)).FiJD / int64(1000)) - (int64(21086676) * int64(10000))) + var iS I64 = (((*DateTime)(unsafe.Pointer(bp+80 /* &x */)).FiJD / int64(1000)) - (int64(21086676) * int64(10000))) Xsqlite3Int64ToText(tls, iS, (z + uintptr(j))) j = j + (Size_t(Xsqlite3Strlen30(tls, (z + uintptr(j))))) break @@ -30561,20 +30561,20 @@ __3: } fallthrough case 'S': - Xsqlite3_snprintf(tls, 3, (z + uintptr(j)), ts+681 /* "%02d" */, libc.VaList(bp+128, int32((*DateTime)(unsafe.Pointer(bp+160 /* &x */)).Fs))) + Xsqlite3_snprintf(tls, 3, (z + uintptr(j)), ts+681 /* "%02d" */, libc.VaList(bp+64, int32((*DateTime)(unsafe.Pointer(bp+80 /* &x */)).Fs))) j = j + (uint64(2)) break fallthrough case 'w': { - *(*int8)(unsafe.Pointer(z + uintptr(libc.PostIncUint64(&j, 1)))) = (int8(int32((int8((((*DateTime)(unsafe.Pointer(bp+160 /* &x */)).FiJD + int64(129600000)) / int64(86400000)) % int64(7)))) + '0')) + *(*int8)(unsafe.Pointer(z + uintptr(libc.PostIncUint64(&j, 1)))) = (int8(int32((int8((((*DateTime)(unsafe.Pointer(bp+80 /* &x */)).FiJD + int64(129600000)) / int64(86400000)) % int64(7)))) + '0')) break } fallthrough case 'Y': { - Xsqlite3_snprintf(tls, 5, (z + uintptr(j)), ts+704 /* "%04d" */, libc.VaList(bp+144, (*DateTime)(unsafe.Pointer(bp+160 /* &x */)).FY)) + Xsqlite3_snprintf(tls, 5, (z + uintptr(j)), ts+704 /* "%04d" */, libc.VaList(bp+72, (*DateTime)(unsafe.Pointer(bp+80 /* &x */)).FY)) j = j + (Size_t(Xsqlite3Strlen30(tls, (z + uintptr(j))))) break @@ -30589,7 +30589,7 @@ __3: *(*int8)(unsafe.Pointer(z + uintptr(j))) = int8(0) Xsqlite3_result_text(tls, context, z, -1, func() uintptr { - if z == bp+208 /* zBuf */ { + if z == bp+128 /* zBuf */ { return libc.UintptrFromInt32(-1) } return *(*uintptr)(unsafe.Pointer(&struct{ f func(*libc.TLS, uintptr) }{Xsqlite3OomFault})) @@ -31328,8 +31328,8 @@ func Xsqlite3EndBenignMalloc(tls *libc.TLS) { /* sqlite3.c:23948:21: */ // cases of nByte<=0 will be intercepted and dealt with by higher level // routines. func sqlite3MemMalloc(tls *libc.TLS, nByte int32) uintptr { /* sqlite3.c:24148:13: */ - bp := tls.Alloc(16) - defer tls.Free(16) + bp := tls.Alloc(8) + defer tls.Free(8) var p uintptr @@ -31367,8 +31367,8 @@ func sqlite3MemSize(tls *libc.TLS, pPrior uintptr) int32 { /* sqlite3.c:24197:12 // cases where nByte<=0 will have been intercepted by higher-level // routines and redirected to xFree. func sqlite3MemRealloc(tls *libc.TLS, pPrior uintptr, nByte int32) uintptr { /* sqlite3.c:24220:13: */ - bp := tls.Alloc(24) - defer tls.Free(24) + bp := tls.Alloc(16) + defer tls.Free(16) var p uintptr = libc.Xrealloc(tls, pPrior, uint64(nByte)) if p == uintptr(0) { @@ -31402,8 +31402,8 @@ func sqlite3MemShutdown(tls *libc.TLS, NotUsed uintptr) { /* sqlite3.c:24286:13: // Populate the low-level memory allocation function pointers in // sqlite3GlobalConfig.m with pointers to the routines in this file. func Xsqlite3MemSetDefault(tls *libc.TLS) { /* sqlite3.c:24297:21: */ - bp := tls.Alloc(16) - defer tls.Free(16) + bp := tls.Alloc(8) + defer tls.Free(8) Xsqlite3_config(tls, SQLITE_CONFIG_MALLOC, libc.VaList(bp, uintptr(unsafe.Pointer(&defaultMethods)))) } @@ -63166,8 +63166,8 @@ func printfTempBuf(tls *libc.TLS, pAccum uintptr, n Sqlite3_int64) uintptr { /* // Render a string given by "fmt" into the StrAccum object. func Xsqlite3_str_vappendf(tls *libc.TLS, pAccum uintptr, fmt uintptr, ap Va_list) { /* sqlite3.c:28828:17: */ - bp := tls.Alloc(116) - defer tls.Free(116) + bp := tls.Alloc(108) + defer tls.Free(108) var c int32 // Next character in the format string var bufpt uintptr // Pointer to the conversion buffer @@ -63187,7 +63187,7 @@ func Xsqlite3_str_vappendf(tls *libc.TLS, pAccum uintptr, fmt uintptr, ap Va_lis var bArgList U8 // True for SQLITE_PRINTF_SQLFUNC var prefix int8 // Prefix character. "+" or "-" or " " or '\0'. var longvalue Sqlite_uint64 // Value for integer types - // var realvalue float64 at bp+104, 8 + // var realvalue float64 at bp+96, 8 // Value for real types var infop uintptr // Pointer to the appropriate info structure var zOut uintptr // Rendering buffer @@ -63195,13 +63195,13 @@ func Xsqlite3_str_vappendf(tls *libc.TLS, pAccum uintptr, fmt uintptr, ap Va_lis var zExtra uintptr // Malloced memory used by some conversion var exp int32 var e2 int32 // exponent of real numbers - // var nsd int32 at bp+112, 4 + // var nsd int32 at bp+104, 4 // Number of significant digits returned var rounder float64 // Used for rounding floating point values var flag_dp EtByte // True if decimal point should be shown var flag_rtz EtByte // True if trailing zeros should be removed var pArgList uintptr // Arguments for SQLITE_PRINTF_SQLFUNC - // var buf [70]int8 at bp+16, 70 + // var buf [70]int8 at bp+8, 70 var wx uint32 var px uint32 @@ -63214,9 +63214,9 @@ func Xsqlite3_str_vappendf(tls *libc.TLS, pAccum uintptr, fmt uintptr, ap Va_lis var ix int32 // Add "0" or "0x" var pre uintptr var x1 int8 - // var rx float64 at bp+96, 8 + // var rx float64 at bp+88, 8 - // var u Sqlite3_uint64 at bp+88, 8 + // var u Sqlite3_uint64 at bp+80, 8 var ex int32 var scale float64 @@ -63684,7 +63684,7 @@ __94: goto __95 } nOut = SQLITE_PRINT_BUF_SIZE - zOut = bp + 16 /* &buf[0] */ + zOut = bp + 8 /* &buf[0] */ goto __96 __95: n = (U64(precision) + uint64(10)) @@ -63806,10 +63806,10 @@ __65: if !(bArgList != 0) { goto __116 } - *(*float64)(unsafe.Pointer(bp + 104 /* realvalue */)) = getDoubleArg(tls, pArgList) + *(*float64)(unsafe.Pointer(bp + 96 /* realvalue */)) = getDoubleArg(tls, pArgList) goto __117 __116: - *(*float64)(unsafe.Pointer(bp + 104 /* realvalue */)) = float64(libc.VaFloat64(&ap)) + *(*float64)(unsafe.Pointer(bp + 96 /* realvalue */)) = float64(libc.VaFloat64(&ap)) __117: ; if !(precision < 0) { @@ -63824,10 +63824,10 @@ __118: precision = SQLITE_FP_PRECISION_LIMIT __119: ; - if !(*(*float64)(unsafe.Pointer(bp + 104 /* realvalue */)) < 0.0) { + if !(*(*float64)(unsafe.Pointer(bp + 96 /* realvalue */)) < 0.0) { goto __120 } - *(*float64)(unsafe.Pointer(bp + 104 /* realvalue */)) = -*(*float64)(unsafe.Pointer(bp + 104 /* realvalue */)) + *(*float64)(unsafe.Pointer(bp + 96 /* realvalue */)) = -*(*float64)(unsafe.Pointer(bp + 96 /* realvalue */)) prefix = int8('-') goto __121 __120: @@ -63855,21 +63855,21 @@ __124: if !(int32(xtype) == EtFLOAT) { goto __125 } - *(*float64)(unsafe.Pointer(bp + 96 /* rx */)) = *(*float64)(unsafe.Pointer(bp + 104 /* realvalue */)) - libc.Xmemcpy(tls, bp+88 /* &u */, bp+96 /* &rx */, uint64(unsafe.Sizeof(Sqlite3_uint64(0)))) - ex = (-1023 + (int32((*(*Sqlite3_uint64)(unsafe.Pointer(bp + 88 /* u */)) >> 52) & uint64(0x7ff)))) + *(*float64)(unsafe.Pointer(bp + 88 /* rx */)) = *(*float64)(unsafe.Pointer(bp + 96 /* realvalue */)) + libc.Xmemcpy(tls, bp+80 /* &u */, bp+88 /* &rx */, uint64(unsafe.Sizeof(Sqlite3_uint64(0)))) + ex = (-1023 + (int32((*(*Sqlite3_uint64)(unsafe.Pointer(bp + 80 /* u */)) >> 52) & uint64(0x7ff)))) if !((precision + (ex / 3)) < 15) { goto __126 } - rounder = rounder + (*(*float64)(unsafe.Pointer(bp + 104 /* realvalue */)) * 3e-16) + rounder = rounder + (*(*float64)(unsafe.Pointer(bp + 96 /* realvalue */)) * 3e-16) __126: ; - *(*float64)(unsafe.Pointer(bp + 104 /* realvalue */)) += rounder + *(*float64)(unsafe.Pointer(bp + 96 /* realvalue */)) += rounder __125: ; // Normalize realvalue to within 10.0 > realvalue >= 1.0 exp = 0 - if !(Xsqlite3IsNaN(tls, *(*float64)(unsafe.Pointer(bp + 104 /* realvalue */))) != 0) { + if !(Xsqlite3IsNaN(tls, *(*float64)(unsafe.Pointer(bp + 96 /* realvalue */))) != 0) { goto __127 } bufpt = ts + 907 /* "NaN" */ @@ -63877,12 +63877,12 @@ __125: goto __58 __127: ; - if !(*(*float64)(unsafe.Pointer(bp + 104 /* realvalue */)) > 0.0) { + if !(*(*float64)(unsafe.Pointer(bp + 96 /* realvalue */)) > 0.0) { goto __128 } scale = 1.0 __129: - if !((*(*float64)(unsafe.Pointer(bp + 104 /* realvalue */)) >= (1e100 * scale)) && (exp <= 350)) { + if !((*(*float64)(unsafe.Pointer(bp + 96 /* realvalue */)) >= (1e100 * scale)) && (exp <= 350)) { goto __130 } scale = scale * (1e100) @@ -63891,7 +63891,7 @@ __129: __130: ; __131: - if !((*(*float64)(unsafe.Pointer(bp + 104 /* realvalue */)) >= (1e10 * scale)) && (exp <= 350)) { + if !((*(*float64)(unsafe.Pointer(bp + 96 /* realvalue */)) >= (1e10 * scale)) && (exp <= 350)) { goto __132 } scale = scale * (1e10) @@ -63900,7 +63900,7 @@ __131: __132: ; __133: - if !((*(*float64)(unsafe.Pointer(bp + 104 /* realvalue */)) >= (10.0 * scale)) && (exp <= 350)) { + if !((*(*float64)(unsafe.Pointer(bp + 96 /* realvalue */)) >= (10.0 * scale)) && (exp <= 350)) { goto __134 } scale = scale * (10.0) @@ -63908,21 +63908,21 @@ __133: goto __133 __134: ; - *(*float64)(unsafe.Pointer(bp + 104 /* realvalue */)) /= scale + *(*float64)(unsafe.Pointer(bp + 96 /* realvalue */)) /= scale __135: - if !(*(*float64)(unsafe.Pointer(bp + 104 /* realvalue */)) < 1e-8) { + if !(*(*float64)(unsafe.Pointer(bp + 96 /* realvalue */)) < 1e-8) { goto __136 } - *(*float64)(unsafe.Pointer(bp + 104 /* realvalue */)) *= 1e8 + *(*float64)(unsafe.Pointer(bp + 96 /* realvalue */)) *= 1e8 exp = exp - (8) goto __135 __136: ; __137: - if !(*(*float64)(unsafe.Pointer(bp + 104 /* realvalue */)) < 1.0) { + if !(*(*float64)(unsafe.Pointer(bp + 96 /* realvalue */)) < 1.0) { goto __138 } - *(*float64)(unsafe.Pointer(bp + 104 /* realvalue */)) *= 10.0 + *(*float64)(unsafe.Pointer(bp + 96 /* realvalue */)) *= 10.0 exp-- goto __137 __138: @@ -63930,26 +63930,26 @@ __138: if !(exp > 350) { goto __139 } - bufpt = bp + 16 /* &buf[0] */ - *(*int8)(unsafe.Pointer(bp + 16 /* &buf[0] */)) = prefix - libc.Xmemcpy(tls, (bp + 16 /* &buf[0] */ + uintptr((libc.Bool32(int32(prefix) != 0)))), ts+911 /* "Inf" */, uint64(4)) + bufpt = bp + 8 /* &buf[0] */ + *(*int8)(unsafe.Pointer(bp + 8 /* &buf[0] */)) = prefix + libc.Xmemcpy(tls, (bp + 8 /* &buf[0] */ + uintptr((libc.Bool32(int32(prefix) != 0)))), ts+911 /* "Inf" */, uint64(4)) length = (3 + (libc.Bool32(int32(prefix) != 0))) goto __58 __139: ; __128: ; - bufpt = bp + 16 /* &buf[0] */ + bufpt = bp + 8 /* &buf[0] */ // If the field type is etGENERIC, then convert to either etEXP // or etFLOAT, as appropriate. if !(int32(xtype) != EtFLOAT) { goto __140 } - *(*float64)(unsafe.Pointer(bp + 104 /* realvalue */)) += rounder - if !(*(*float64)(unsafe.Pointer(bp + 104 /* realvalue */)) >= 10.0) { + *(*float64)(unsafe.Pointer(bp + 96 /* realvalue */)) += rounder + if !(*(*float64)(unsafe.Pointer(bp + 96 /* realvalue */)) >= 10.0) { goto __141 } - *(*float64)(unsafe.Pointer(bp + 104 /* realvalue */)) *= 0.1 + *(*float64)(unsafe.Pointer(bp + 96 /* realvalue */)) *= 0.1 exp++ __141: ; @@ -64004,7 +64004,7 @@ __148: ; zOut = bufpt - *(*int32)(unsafe.Pointer(bp + 112 /* nsd */)) = (16 + (int32(flag_altform2) * 10)) + *(*int32)(unsafe.Pointer(bp + 104 /* nsd */)) = (16 + (int32(flag_altform2) * 10)) flag_dp = (EtByte(((func() int32 { if precision > 0 { return 1 @@ -64030,7 +64030,7 @@ __153: if !(e2 >= 0) { goto __155 } - *(*int8)(unsafe.Pointer(libc.PostIncUintptr(&bufpt, 1))) = et_getdigit(tls, bp+104 /* &realvalue */, bp+112 /* &nsd */) + *(*int8)(unsafe.Pointer(libc.PostIncUintptr(&bufpt, 1))) = et_getdigit(tls, bp+96 /* &realvalue */, bp+104 /* &nsd */) goto __154 __154: e2-- @@ -64069,7 +64069,7 @@ __160: if !((libc.PostDecInt32(&precision, 1)) > 0) { goto __161 } - *(*int8)(unsafe.Pointer(libc.PostIncUintptr(&bufpt, 1))) = et_getdigit(tls, bp+104 /* &realvalue */, bp+112 /* &nsd */) + *(*int8)(unsafe.Pointer(libc.PostIncUintptr(&bufpt, 1))) = et_getdigit(tls, bp+96 /* &realvalue */, bp+104 /* &nsd */) goto __160 __161: ; @@ -64178,8 +64178,8 @@ __178: length = libc.AssignInt32(&width, 0) goto __58 __67: - *(*int8)(unsafe.Pointer(bp + 16 /* &buf[0] */)) = int8('%') - bufpt = bp + 16 /* &buf[0] */ + *(*int8)(unsafe.Pointer(bp + 8 /* &buf[0] */)) = int8('%') + bufpt = bp + 8 /* &buf[0] */ length = 1 goto __58 __68: @@ -64191,7 +64191,7 @@ __68: if !(bufpt != 0) { goto __181 } - *(*int8)(unsafe.Pointer(bp + 16 /* &buf[0] */)) = int8(libc.AssignInt32(&c, int32(*(*int8)(unsafe.Pointer(libc.PostIncUintptr(&bufpt, 1)))))) + *(*int8)(unsafe.Pointer(bp + 8 /* &buf[0] */)) = int8(libc.AssignInt32(&c, int32(*(*int8)(unsafe.Pointer(libc.PostIncUintptr(&bufpt, 1)))))) if !((c & 0xc0) == 0xc0) { goto __183 } @@ -64199,7 +64199,7 @@ __184: if !((length < 4) && ((int32(*(*int8)(unsafe.Pointer(bufpt))) & 0xc0) == 0x80)) { goto __185 } - *(*int8)(unsafe.Pointer(bp + 16 /* &buf[0] */ + uintptr(libc.PostIncInt32(&length, 1)))) = *(*int8)(unsafe.Pointer(libc.PostIncUintptr(&bufpt, 1))) + *(*int8)(unsafe.Pointer(bp + 8 /* &buf[0] */ + uintptr(libc.PostIncInt32(&length, 1)))) = *(*int8)(unsafe.Pointer(libc.PostIncUintptr(&bufpt, 1))) goto __184 __185: ; @@ -64207,7 +64207,7 @@ __183: ; goto __182 __181: - *(*int8)(unsafe.Pointer(bp + 16 /* &buf[0] */)) = int8(0) + *(*int8)(unsafe.Pointer(bp + 8 /* &buf[0] */)) = int8(0) __182: ; goto __180 @@ -64216,31 +64216,31 @@ __179: if !(ch < uint32(0x00080)) { goto __186 } - *(*int8)(unsafe.Pointer(bp + 16 /* &buf[0] */)) = (int8(ch & uint32(0xff))) + *(*int8)(unsafe.Pointer(bp + 8 /* &buf[0] */)) = (int8(ch & uint32(0xff))) length = 1 goto __187 __186: if !(ch < uint32(0x00800)) { goto __188 } - *(*int8)(unsafe.Pointer(bp + 16 /* &buf[0] */)) = (int8(0xc0 + int32((U8((ch >> 6) & uint32(0x1f)))))) - *(*int8)(unsafe.Pointer(bp + 16 /* &buf[0] */ + 1)) = (int8(0x80 + int32((U8(ch & uint32(0x3f)))))) + *(*int8)(unsafe.Pointer(bp + 8 /* &buf[0] */)) = (int8(0xc0 + int32((U8((ch >> 6) & uint32(0x1f)))))) + *(*int8)(unsafe.Pointer(bp + 8 /* &buf[0] */ + 1)) = (int8(0x80 + int32((U8(ch & uint32(0x3f)))))) length = 2 goto __189 __188: if !(ch < uint32(0x10000)) { goto __190 } - *(*int8)(unsafe.Pointer(bp + 16 /* &buf[0] */)) = (int8(0xe0 + int32((U8((ch >> 12) & uint32(0x0f)))))) - *(*int8)(unsafe.Pointer(bp + 16 /* &buf[0] */ + 1)) = (int8(0x80 + int32((U8((ch >> 6) & uint32(0x3f)))))) - *(*int8)(unsafe.Pointer(bp + 16 /* &buf[0] */ + 2)) = (int8(0x80 + int32((U8(ch & uint32(0x3f)))))) + *(*int8)(unsafe.Pointer(bp + 8 /* &buf[0] */)) = (int8(0xe0 + int32((U8((ch >> 12) & uint32(0x0f)))))) + *(*int8)(unsafe.Pointer(bp + 8 /* &buf[0] */ + 1)) = (int8(0x80 + int32((U8((ch >> 6) & uint32(0x3f)))))) + *(*int8)(unsafe.Pointer(bp + 8 /* &buf[0] */ + 2)) = (int8(0x80 + int32((U8(ch & uint32(0x3f)))))) length = 3 goto __191 __190: - *(*int8)(unsafe.Pointer(bp + 16 /* &buf[0] */)) = (int8(0xf0 + int32((U8((ch >> 18) & uint32(0x07)))))) - *(*int8)(unsafe.Pointer(bp + 16 /* &buf[0] */ + 1)) = (int8(0x80 + int32((U8((ch >> 12) & uint32(0x3f)))))) - *(*int8)(unsafe.Pointer(bp + 16 /* &buf[0] */ + 2)) = (int8(0x80 + int32((U8((ch >> 6) & uint32(0x3f)))))) - *(*int8)(unsafe.Pointer(bp + 16 /* &buf[0] */ + 3)) = (int8(0x80 + int32((U8(ch & uint32(0x3f)))))) + *(*int8)(unsafe.Pointer(bp + 8 /* &buf[0] */)) = (int8(0xf0 + int32((U8((ch >> 18) & uint32(0x07)))))) + *(*int8)(unsafe.Pointer(bp + 8 /* &buf[0] */ + 1)) = (int8(0x80 + int32((U8((ch >> 12) & uint32(0x3f)))))) + *(*int8)(unsafe.Pointer(bp + 8 /* &buf[0] */ + 2)) = (int8(0x80 + int32((U8((ch >> 6) & uint32(0x3f)))))) + *(*int8)(unsafe.Pointer(bp + 8 /* &buf[0] */ + 3)) = (int8(0x80 + int32((U8(ch & uint32(0x3f)))))) length = 4 __191: ; @@ -64265,13 +64265,13 @@ __194: if !(libc.PostDecInt32(&precision, 1) > 1) { goto __195 } - Xsqlite3_str_append(tls, pAccum, bp+16 /* &buf[0] */, length) + Xsqlite3_str_append(tls, pAccum, bp+8 /* &buf[0] */, length) goto __194 __195: ; __192: ; - bufpt = bp + 16 /* &buf[0] */ + bufpt = bp + 8 /* &buf[0] */ flag_altform2 = EtByte(1) goto adjust_width_for_utf8 __69: @@ -64475,7 +64475,7 @@ __230: ; goto __229 __228: - bufpt = bp + 16 /* &buf[0] */ + bufpt = bp + 8 /* &buf[0] */ __229: ; j = 0 @@ -65005,21 +65005,21 @@ func Xsqlite3_log(tls *libc.TLS, iErrCode int32, zFormat uintptr, va uintptr) { // The printf() built into some versions of windows does not understand %lld // and segfaults if you give it a long long int. func Xsqlite3DebugPrintf(tls *libc.TLS, zFormat uintptr, va uintptr) { /* sqlite3.c:29903:21: */ - bp := tls.Alloc(748) - defer tls.Free(748) + bp := tls.Alloc(740) + defer tls.Free(740) var ap Va_list _ = ap - // var acc StrAccum at bp+16, 32 + // var acc StrAccum at bp+8, 32 - // var zBuf [700]int8 at bp+48, 700 + // var zBuf [700]int8 at bp+40, 700 - Xsqlite3StrAccumInit(tls, bp+16 /* &acc */, uintptr(0), bp+48 /* &zBuf[0] */, int32(unsafe.Sizeof([700]int8{})), 0) + Xsqlite3StrAccumInit(tls, bp+8 /* &acc */, uintptr(0), bp+40 /* &zBuf[0] */, int32(unsafe.Sizeof([700]int8{})), 0) ap = va - Xsqlite3_str_vappendf(tls, bp+16 /* &acc */, zFormat, ap) + Xsqlite3_str_vappendf(tls, bp+8 /* &acc */, zFormat, ap) _ = ap - Xsqlite3StrAccumFinish(tls, bp+16 /* &acc */) - libc.Xfprintf(tls, libc.X__acrt_iob_func(tls, uint32(1)), ts+951 /* "%s" */, libc.VaList(bp, bp+48 /* &zBuf[0] */)) + Xsqlite3StrAccumFinish(tls, bp+8 /* &acc */) + libc.Xfprintf(tls, libc.X__acrt_iob_func(tls, uint32(1)), ts+951 /* "%s" */, libc.VaList(bp, bp+40 /* &zBuf[0] */)) libc.Xfflush(tls, libc.X__acrt_iob_func(tls, uint32(1))) } @@ -67496,8 +67496,8 @@ func Xsqlite3HexToBlob(tls *libc.TLS, db uintptr, z uintptr, n int32) uintptr { // not have been used. The "type" of connection pointer is given as the // argument. The zType is a word like "NULL" or "closed" or "invalid". func logBadConnection(tls *libc.TLS, zType uintptr) { /* sqlite3.c:33033:13: */ - bp := tls.Alloc(16) - defer tls.Free(16) + bp := tls.Alloc(8) + defer tls.Free(8) Xsqlite3_log(tls, SQLITE_MISUSE, ts+973, /* "API call with %s..." */ @@ -69172,8 +69172,8 @@ func Xsqlite3_win32_utf8_to_mbcs_v2(tls *libc.TLS, zText uintptr, useAnsi int32) // This function is the same as sqlite3_win32_set_directory (below); however, // it accepts a UTF-8 string. func Xsqlite3_win32_set_directory8(tls *libc.TLS, type1 uint32, zValue uintptr) int32 { /* sqlite3.c:44279:16: */ - bp := tls.Alloc(16) - defer tls.Free(16) + bp := tls.Alloc(8) + defer tls.Free(8) var ppDirectory uintptr = uintptr(0) var rc int32 = Xsqlite3_initialize(tls) @@ -69232,8 +69232,8 @@ func Xsqlite3_win32_set_directory(tls *libc.TLS, type1 uint32, zValue uintptr) i // is zero if the error message fits in the buffer, or non-zero // otherwise (if the message was truncated). func winGetLastErrorMsg(tls *libc.TLS, lastErrno DWORD, nBuf int32, zBuf uintptr) int32 { /* sqlite3.c:44350:12: */ - bp := tls.Alloc(56) - defer tls.Free(56) + bp := tls.Alloc(40) + defer tls.Free(40) // FormatMessage returns 0 on failure. Otherwise it // returns the number of TCHARs written to the output @@ -69242,45 +69242,45 @@ func winGetLastErrorMsg(tls *libc.TLS, lastErrno DWORD, nBuf int32, zBuf uintptr var zOut uintptr = uintptr(0) if (Xsqlite3_os_type == 2) || (Xsqlite3_win32_is_nt(tls) != 0) { - *(*LPWSTR)(unsafe.Pointer(bp + 40 /* zTempWide */)) = uintptr(0) + *(*LPWSTR)(unsafe.Pointer(bp + 24 /* zTempWide */)) = uintptr(0) dwLen = (*(*func(*libc.TLS, DWORD, LPCVOID, DWORD, DWORD, LPWSTR, DWORD, uintptr) DWORD)(unsafe.Pointer((uintptr(unsafe.Pointer(&aSyscall)) + 15*24 + 8 /* &.pCurrent */))))(tls, (uint32((FORMAT_MESSAGE_ALLOCATE_BUFFER | FORMAT_MESSAGE_FROM_SYSTEM) | FORMAT_MESSAGE_IGNORE_INSERTS)), uintptr(0), lastErrno, uint32(0), - bp+40, /* &zTempWide */ + bp+24, /* &zTempWide */ uint32(0), uintptr(0)) if dwLen > DWORD(0) { // allocate a buffer and convert to UTF8 Xsqlite3BeginBenignMalloc(tls) - zOut = winUnicodeToUtf8(tls, *(*LPWSTR)(unsafe.Pointer(bp + 40 /* zTempWide */))) + zOut = winUnicodeToUtf8(tls, *(*LPWSTR)(unsafe.Pointer(bp + 24 /* zTempWide */))) Xsqlite3EndBenignMalloc(tls) // free the system buffer allocated by FormatMessage - (*(*func(*libc.TLS, HLOCAL) HLOCAL)(unsafe.Pointer((uintptr(unsafe.Pointer(&aSyscall)) + 46*24 + 8 /* &.pCurrent */))))(tls, *(*LPWSTR)(unsafe.Pointer(bp + 40 /* zTempWide */))) + (*(*func(*libc.TLS, HLOCAL) HLOCAL)(unsafe.Pointer((uintptr(unsafe.Pointer(&aSyscall)) + 46*24 + 8 /* &.pCurrent */))))(tls, *(*LPWSTR)(unsafe.Pointer(bp + 24 /* zTempWide */))) } } else { - *(*uintptr)(unsafe.Pointer(bp + 48 /* zTemp */)) = uintptr(0) + *(*uintptr)(unsafe.Pointer(bp + 32 /* zTemp */)) = uintptr(0) dwLen = (*(*func(*libc.TLS, DWORD, LPCVOID, DWORD, DWORD, LPSTR, DWORD, uintptr) DWORD)(unsafe.Pointer((uintptr(unsafe.Pointer(&aSyscall)) + 14*24 + 8 /* &.pCurrent */))))(tls, (uint32((FORMAT_MESSAGE_ALLOCATE_BUFFER | FORMAT_MESSAGE_FROM_SYSTEM) | FORMAT_MESSAGE_IGNORE_INSERTS)), uintptr(0), lastErrno, uint32(0), - bp+48, /* &zTemp */ + bp+32, /* &zTemp */ uint32(0), uintptr(0)) if dwLen > DWORD(0) { // allocate a buffer and convert to UTF8 Xsqlite3BeginBenignMalloc(tls) - zOut = winMbcsToUtf8(tls, *(*uintptr)(unsafe.Pointer(bp + 48 /* zTemp */)), (*(*func(*libc.TLS) WINBOOL)(unsafe.Pointer((uintptr(unsafe.Pointer(&aSyscall)) + 8 /* &.pCurrent */))))(tls)) + zOut = winMbcsToUtf8(tls, *(*uintptr)(unsafe.Pointer(bp + 32 /* zTemp */)), (*(*func(*libc.TLS) WINBOOL)(unsafe.Pointer((uintptr(unsafe.Pointer(&aSyscall)) + 8 /* &.pCurrent */))))(tls)) Xsqlite3EndBenignMalloc(tls) // free the system buffer allocated by FormatMessage - (*(*func(*libc.TLS, HLOCAL) HLOCAL)(unsafe.Pointer((uintptr(unsafe.Pointer(&aSyscall)) + 46*24 + 8 /* &.pCurrent */))))(tls, *(*uintptr)(unsafe.Pointer(bp + 48 /* zTemp */))) + (*(*func(*libc.TLS, HLOCAL) HLOCAL)(unsafe.Pointer((uintptr(unsafe.Pointer(&aSyscall)) + 46*24 + 8 /* &.pCurrent */))))(tls, *(*uintptr)(unsafe.Pointer(bp + 32 /* zTemp */))) } } if DWORD(0) == dwLen { Xsqlite3_snprintf(tls, nBuf, zBuf, ts+5885 /* "OsError 0x%lx (%..." */, libc.VaList(bp, lastErrno, lastErrno)) } else { // copy a maximum of nBuf chars to output buffer - Xsqlite3_snprintf(tls, nBuf, zBuf, ts+951 /* "%s" */, libc.VaList(bp+24, zOut)) + Xsqlite3_snprintf(tls, nBuf, zBuf, ts+951 /* "%s" */, libc.VaList(bp+16, zOut)) // free the UTF8 buffer Xsqlite3_free(tls, zOut) } @@ -69301,25 +69301,25 @@ func winGetLastErrorMsg(tls *libc.TLS, lastErrno DWORD, nBuf int32, zBuf uintptr // The two subsequent arguments should be the name of the OS function that // failed and the associated file-system path, if any. func winLogErrorAtLine(tls *libc.TLS, errcode int32, lastErrno DWORD, zFunc uintptr, zPath uintptr, iLine int32) int32 { /* sqlite3.c:44441:12: */ - bp := tls.Alloc(548) - defer tls.Free(548) + bp := tls.Alloc(540) + defer tls.Free(540) - // var zMsg [500]int8 at bp+48, 500 + // var zMsg [500]int8 at bp+40, 500 // Human readable error text var i int32 // Loop counter - *(*int8)(unsafe.Pointer(bp + 48 /* &zMsg[0] */)) = int8(0) - winGetLastErrorMsg(tls, lastErrno, int32(unsafe.Sizeof([500]int8{})), bp+48 /* &zMsg[0] */) + *(*int8)(unsafe.Pointer(bp + 40 /* &zMsg[0] */)) = int8(0) + winGetLastErrorMsg(tls, lastErrno, int32(unsafe.Sizeof([500]int8{})), bp+40 /* &zMsg[0] */) if zPath == uintptr(0) { zPath = ts + 915 /* "" */ } - for i = 0; ((*(*int8)(unsafe.Pointer(bp + 48 /* &zMsg[0] */ + uintptr(i))) != 0) && (int32(*(*int8)(unsafe.Pointer(bp + 48 /* &zMsg[0] */ + uintptr(i)))) != '\r')) && (int32(*(*int8)(unsafe.Pointer(bp + 48 /* &zMsg[0] */ + uintptr(i)))) != '\n'); i++ { + for i = 0; ((*(*int8)(unsafe.Pointer(bp + 40 /* &zMsg[0] */ + uintptr(i))) != 0) && (int32(*(*int8)(unsafe.Pointer(bp + 40 /* &zMsg[0] */ + uintptr(i)))) != '\r')) && (int32(*(*int8)(unsafe.Pointer(bp + 40 /* &zMsg[0] */ + uintptr(i)))) != '\n'); i++ { } - *(*int8)(unsafe.Pointer(bp + 48 /* &zMsg[0] */ + uintptr(i))) = int8(0) + *(*int8)(unsafe.Pointer(bp + 40 /* &zMsg[0] */ + uintptr(i))) = int8(0) Xsqlite3_log(tls, errcode, ts+5905, /* "os_win.c:%d: (%l..." */ - libc.VaList(bp, iLine, lastErrno, zFunc, zPath, bp+48 /* &zMsg[0] */)) + libc.VaList(bp, iLine, lastErrno, zFunc, zPath, bp+40 /* &zMsg[0] */)) return errcode } @@ -69370,8 +69370,8 @@ func winRetryIoerr(tls *libc.TLS, pnRetry uintptr, pError uintptr) int32 { /* sq // Log a I/O error retry episode. func winLogIoerr(tls *libc.TLS, nRetry int32, lineno int32) { /* sqlite3.c:44540:13: */ - bp := tls.Alloc(24) - defer tls.Free(24) + bp := tls.Alloc(16) + defer tls.Free(16) if nRetry != 0 { Xsqlite3_log(tls, SQLITE_NOTICE, @@ -69433,10 +69433,10 @@ func winUnlockFile(tls *libc.TLS, phFile LPHANDLE, offsetLow DWORD, offsetHigh D // argument to offset iOffset within the file. If successful, return 0. // Otherwise, set pFile->lastErrno and return non-zero. func winSeekFile(tls *libc.TLS, pFile uintptr, iOffset Sqlite3_int64) int32 { /* sqlite3.c:44947:12: */ - bp := tls.Alloc(60) - defer tls.Free(60) + bp := tls.Alloc(36) + defer tls.Free(36) - // var upperBits LONG at bp+56, 4 + // var upperBits LONG at bp+32, 4 // Most sig. 32 bits of new offset var lowerBits LONG // Least sig. 32 bits of new offset var dwRet DWORD // Value returned by SetFilePointer() @@ -69446,7 +69446,7 @@ func winSeekFile(tls *libc.TLS, pFile uintptr, iOffset Sqlite3_int64) int32 { /* Xsqlite3DebugPrintf(tls, ts+5986 /* "SEEK file=%p, of..." */, libc.VaList(bp, (*WinFile)(unsafe.Pointer(pFile)).Fh, iOffset)) } - *(*LONG)(unsafe.Pointer(bp + 56 /* upperBits */)) = (LONG((iOffset >> 32) & int64(0x7fffffff))) + *(*LONG)(unsafe.Pointer(bp + 32 /* upperBits */)) = (LONG((iOffset >> 32) & int64(0x7fffffff))) lowerBits = (LONG(iOffset & int64(0xffffffff))) // API oddity: If successful, SetFilePointer() returns a dword @@ -69455,20 +69455,20 @@ func winSeekFile(tls *libc.TLS, pFile uintptr, iOffset Sqlite3_int64) int32 { /* // INVALID_SET_FILE_POINTER may also be a valid new offset. So to determine // whether an error has actually occurred, it is also necessary to call // GetLastError(). - dwRet = (*(*func(*libc.TLS, HANDLE, LONG, PLONG, DWORD) DWORD)(unsafe.Pointer((uintptr(unsafe.Pointer(&aSyscall)) + 54*24 + 8 /* &.pCurrent */))))(tls, (*WinFile)(unsafe.Pointer(pFile)).Fh, lowerBits, bp+56 /* &upperBits */, uint32(FILE_BEGIN)) + dwRet = (*(*func(*libc.TLS, HANDLE, LONG, PLONG, DWORD) DWORD)(unsafe.Pointer((uintptr(unsafe.Pointer(&aSyscall)) + 54*24 + 8 /* &.pCurrent */))))(tls, (*WinFile)(unsafe.Pointer(pFile)).Fh, lowerBits, bp+32 /* &upperBits */, uint32(FILE_BEGIN)) if (dwRet == (libc.Uint32(libc.Uint32FromInt32(-1)))) && ((libc.AssignUint32(&lastErrno, (*(*func(*libc.TLS) DWORD)(unsafe.Pointer((uintptr(unsafe.Pointer(&aSyscall)) + 26*24 + 8 /* &.pCurrent */))))(tls))) != DWORD(0)) { (*WinFile)(unsafe.Pointer(pFile)).FlastErrno = lastErrno winLogErrorAtLine(tls, (SQLITE_IOERR | (int32(22) << 8)), (*WinFile)(unsafe.Pointer(pFile)).FlastErrno, ts+6013 /* "winSeekFile" */, (*WinFile)(unsafe.Pointer(pFile)).FzPath, 44971) if Xsqlite3OSTrace != 0 { - Xsqlite3DebugPrintf(tls, ts+6025 /* "SEEK file=%p, rc..." */, libc.VaList(bp+24, (*WinFile)(unsafe.Pointer(pFile)).Fh)) + Xsqlite3DebugPrintf(tls, ts+6025 /* "SEEK file=%p, rc..." */, libc.VaList(bp+16, (*WinFile)(unsafe.Pointer(pFile)).Fh)) } return 1 } if Xsqlite3OSTrace != 0 { - Xsqlite3DebugPrintf(tls, ts+6061 /* "SEEK file=%p, rc..." */, libc.VaList(bp+40, (*WinFile)(unsafe.Pointer(pFile)).Fh)) + Xsqlite3DebugPrintf(tls, ts+6061 /* "SEEK file=%p, rc..." */, libc.VaList(bp+24, (*WinFile)(unsafe.Pointer(pFile)).Fh)) } return 0 } @@ -69482,8 +69482,8 @@ func winSeekFile(tls *libc.TLS, pFile uintptr, iOffset Sqlite3_int64) int32 { /* // many as MX_CLOSE_ATTEMPT attempts to close the handle are made before // giving up and returning an error. func winClose(tls *libc.TLS, id uintptr) int32 { /* sqlite3.c:45020:12: */ - bp := tls.Alloc(72) - defer tls.Free(72) + bp := tls.Alloc(56) + defer tls.Free(56) var rc int32 var cnt int32 = 0 @@ -69504,7 +69504,7 @@ func winClose(tls *libc.TLS, id uintptr) int32 { /* sqlite3.c:45020:12: */ } libc.AtomicAddInt32(&Xsqlite3_open_file_count, int32(-1)) if Xsqlite3OSTrace != 0 { - Xsqlite3DebugPrintf(tls, ts+6123 /* "CLOSE pid=%lu, p..." */, libc.VaList(bp+32, (*(*func(*libc.TLS) DWORD)(unsafe.Pointer((uintptr(unsafe.Pointer(&aSyscall)) + 17*24 + 8 /* &.pCurrent */))))(tls), pFile, (*WinFile)(unsafe.Pointer(pFile)).Fh, func() uintptr { + Xsqlite3DebugPrintf(tls, ts+6123 /* "CLOSE pid=%lu, p..." */, libc.VaList(bp+24, (*(*func(*libc.TLS) DWORD)(unsafe.Pointer((uintptr(unsafe.Pointer(&aSyscall)) + 17*24 + 8 /* &.pCurrent */))))(tls), pFile, (*WinFile)(unsafe.Pointer(pFile)).Fh, func() uintptr { if rc != 0 { return ts + 6164 /* "ok" */ } @@ -69521,15 +69521,15 @@ func winClose(tls *libc.TLS, id uintptr) int32 { /* sqlite3.c:45020:12: */ // bytes were read successfully and SQLITE_IOERR if anything goes // wrong. func winRead(tls *libc.TLS, id uintptr, pBuf uintptr, amt int32, offset Sqlite3_int64) int32 { /* sqlite3.c:45076:12: */ - bp := tls.Alloc(236) - defer tls.Free(236) + bp := tls.Alloc(196) + defer tls.Free(196) - // var overlapped OVERLAPPED at bp+192, 32 + // var overlapped OVERLAPPED at bp+152, 32 // The offset for ReadFile. var pFile uintptr = id // file handle - // var nRead DWORD at bp+224, 4 + // var nRead DWORD at bp+184, 4 // Number of bytes actually read from file - *(*int32)(unsafe.Pointer(bp + 228 /* nRetry */)) = 0 // Number of retrys + *(*int32)(unsafe.Pointer(bp + 188 /* nRetry */)) = 0 // Number of retrys if ((Xsqlite3_io_error_persist != 0) && (Xsqlite3_io_error_hit != 0)) || (libc.PostDecAtomicInt32(&Xsqlite3_io_error_pending, 1) == 1) { local_ioerr(tls) @@ -69546,7 +69546,7 @@ func winRead(tls *libc.TLS, id uintptr, pBuf uintptr, amt int32, offset Sqlite3_ if (offset + Sqlite3_int64(amt)) <= (*WinFile)(unsafe.Pointer(pFile)).FmmapSize { libc.Xmemcpy(tls, pBuf, (((*WinFile)(unsafe.Pointer(pFile)).FpMapRegion) + uintptr(offset)), uint64(amt)) if Xsqlite3OSTrace != 0 { - Xsqlite3DebugPrintf(tls, ts+6260 /* "READ-MMAP pid=%l..." */, libc.VaList(bp+64, (*(*func(*libc.TLS) DWORD)(unsafe.Pointer((uintptr(unsafe.Pointer(&aSyscall)) + 17*24 + 8 /* &.pCurrent */))))(tls), pFile, (*WinFile)(unsafe.Pointer(pFile)).Fh)) + Xsqlite3DebugPrintf(tls, ts+6260 /* "READ-MMAP pid=%l..." */, libc.VaList(bp+56, (*(*func(*libc.TLS) DWORD)(unsafe.Pointer((uintptr(unsafe.Pointer(&aSyscall)) + 17*24 + 8 /* &.pCurrent */))))(tls), pFile, (*WinFile)(unsafe.Pointer(pFile)).Fh)) } return SQLITE_OK } else { @@ -69558,33 +69558,33 @@ func winRead(tls *libc.TLS, id uintptr, pBuf uintptr, amt int32, offset Sqlite3_ } } - libc.Xmemset(tls, bp+192 /* &overlapped */, 0, uint64(unsafe.Sizeof(OVERLAPPED{}))) - *(*DWORD)(unsafe.Pointer(bp + 192 /* &overlapped */ + 16 /* &.Offset */)) = DWORD((LONG(offset & int64(0xffffffff)))) - *(*DWORD)(unsafe.Pointer(bp + 192 /* &overlapped */ + 20 /* &.OffsetHigh */)) = DWORD((LONG((offset >> 32) & int64(0x7fffffff)))) - for !((*(*func(*libc.TLS, HANDLE, LPVOID, DWORD, LPDWORD, LPOVERLAPPED) WINBOOL)(unsafe.Pointer((uintptr(unsafe.Pointer(&aSyscall)) + 52*24 + 8 /* &.pCurrent */))))(tls, (*WinFile)(unsafe.Pointer(pFile)).Fh, pBuf, uint32(amt), bp+224 /* &nRead */, bp+192 /* &overlapped */) != 0) && ((*(*func(*libc.TLS) DWORD)(unsafe.Pointer((uintptr(unsafe.Pointer(&aSyscall)) + 26*24 + 8 /* &.pCurrent */))))(tls) != DWORD(38)) { - // var lastErrno DWORD at bp+232, 4 + libc.Xmemset(tls, bp+152 /* &overlapped */, 0, uint64(unsafe.Sizeof(OVERLAPPED{}))) + *(*DWORD)(unsafe.Pointer(bp + 152 /* &overlapped */ + 16 /* &.Offset */)) = DWORD((LONG(offset & int64(0xffffffff)))) + *(*DWORD)(unsafe.Pointer(bp + 152 /* &overlapped */ + 20 /* &.OffsetHigh */)) = DWORD((LONG((offset >> 32) & int64(0x7fffffff)))) + for !((*(*func(*libc.TLS, HANDLE, LPVOID, DWORD, LPDWORD, LPOVERLAPPED) WINBOOL)(unsafe.Pointer((uintptr(unsafe.Pointer(&aSyscall)) + 52*24 + 8 /* &.pCurrent */))))(tls, (*WinFile)(unsafe.Pointer(pFile)).Fh, pBuf, uint32(amt), bp+184 /* &nRead */, bp+152 /* &overlapped */) != 0) && ((*(*func(*libc.TLS) DWORD)(unsafe.Pointer((uintptr(unsafe.Pointer(&aSyscall)) + 26*24 + 8 /* &.pCurrent */))))(tls) != DWORD(38)) { + // var lastErrno DWORD at bp+192, 4 - if winRetryIoerr(tls, bp+228 /* &nRetry */, bp+232 /* &lastErrno */) != 0 { + if winRetryIoerr(tls, bp+188 /* &nRetry */, bp+192 /* &lastErrno */) != 0 { continue } - (*WinFile)(unsafe.Pointer(pFile)).FlastErrno = *(*DWORD)(unsafe.Pointer(bp + 232 /* lastErrno */)) + (*WinFile)(unsafe.Pointer(pFile)).FlastErrno = *(*DWORD)(unsafe.Pointer(bp + 192 /* lastErrno */)) if Xsqlite3OSTrace != 0 { - Xsqlite3DebugPrintf(tls, ts+6312 /* "READ pid=%lu, pF..." */, libc.VaList(bp+96, (*(*func(*libc.TLS) DWORD)(unsafe.Pointer((uintptr(unsafe.Pointer(&aSyscall)) + 17*24 + 8 /* &.pCurrent */))))(tls), pFile, (*WinFile)(unsafe.Pointer(pFile)).Fh)) + Xsqlite3DebugPrintf(tls, ts+6312 /* "READ pid=%lu, pF..." */, libc.VaList(bp+80, (*(*func(*libc.TLS) DWORD)(unsafe.Pointer((uintptr(unsafe.Pointer(&aSyscall)) + 17*24 + 8 /* &.pCurrent */))))(tls), pFile, (*WinFile)(unsafe.Pointer(pFile)).Fh)) } return winLogErrorAtLine(tls, (SQLITE_IOERR | (int32(1) << 8)), (*WinFile)(unsafe.Pointer(pFile)).FlastErrno, ts+6367 /* "winRead" */, (*WinFile)(unsafe.Pointer(pFile)).FzPath, 45135) } - winLogIoerr(tls, *(*int32)(unsafe.Pointer(bp + 228 /* nRetry */)), 45138) - if *(*DWORD)(unsafe.Pointer(bp + 224 /* nRead */)) < DWORD(amt) { + winLogIoerr(tls, *(*int32)(unsafe.Pointer(bp + 188 /* nRetry */)), 45138) + if *(*DWORD)(unsafe.Pointer(bp + 184 /* nRead */)) < DWORD(amt) { // Unread parts of the buffer must be zero-filled - libc.Xmemset(tls, ((pBuf) + uintptr(*(*DWORD)(unsafe.Pointer(bp + 224 /* nRead */)))), 0, (uint64(DWORD(amt) - *(*DWORD)(unsafe.Pointer(bp + 224 /* nRead */))))) + libc.Xmemset(tls, ((pBuf) + uintptr(*(*DWORD)(unsafe.Pointer(bp + 184 /* nRead */)))), 0, (uint64(DWORD(amt) - *(*DWORD)(unsafe.Pointer(bp + 184 /* nRead */))))) if Xsqlite3OSTrace != 0 { - Xsqlite3DebugPrintf(tls, ts+6375 /* "READ pid=%lu, pF..." */, libc.VaList(bp+128, (*(*func(*libc.TLS) DWORD)(unsafe.Pointer((uintptr(unsafe.Pointer(&aSyscall)) + 17*24 + 8 /* &.pCurrent */))))(tls), pFile, (*WinFile)(unsafe.Pointer(pFile)).Fh)) + Xsqlite3DebugPrintf(tls, ts+6375 /* "READ pid=%lu, pF..." */, libc.VaList(bp+104, (*(*func(*libc.TLS) DWORD)(unsafe.Pointer((uintptr(unsafe.Pointer(&aSyscall)) + 17*24 + 8 /* &.pCurrent */))))(tls), pFile, (*WinFile)(unsafe.Pointer(pFile)).Fh)) } return (SQLITE_IOERR | (int32(2) << 8)) } if Xsqlite3OSTrace != 0 { - Xsqlite3DebugPrintf(tls, ts+6436 /* "READ pid=%lu, pF..." */, libc.VaList(bp+160, (*(*func(*libc.TLS) DWORD)(unsafe.Pointer((uintptr(unsafe.Pointer(&aSyscall)) + 17*24 + 8 /* &.pCurrent */))))(tls), pFile, (*WinFile)(unsafe.Pointer(pFile)).Fh)) + Xsqlite3DebugPrintf(tls, ts+6436 /* "READ pid=%lu, pF..." */, libc.VaList(bp+128, (*(*func(*libc.TLS) DWORD)(unsafe.Pointer((uintptr(unsafe.Pointer(&aSyscall)) + 17*24 + 8 /* &.pCurrent */))))(tls), pFile, (*WinFile)(unsafe.Pointer(pFile)).Fh)) } return SQLITE_OK } @@ -69592,12 +69592,12 @@ func winRead(tls *libc.TLS, id uintptr, pBuf uintptr, amt int32, offset Sqlite3_ // Write data from a buffer into a file. Return SQLITE_OK on success // or some other error code on failure. func winWrite(tls *libc.TLS, id uintptr, pBuf uintptr, amt int32, offset Sqlite3_int64) int32 { /* sqlite3.c:45156:12: */ - bp := tls.Alloc(204) - defer tls.Free(204) + bp := tls.Alloc(172) + defer tls.Free(172) var rc int32 = 0 // True if error has occurred, else false var pFile uintptr = id // File handle - *(*int32)(unsafe.Pointer(bp + 196 /* nRetry */)) = 0 // Number of retries + *(*int32)(unsafe.Pointer(bp + 164 /* nRetry */)) = 0 // Number of retries if ((Xsqlite3_io_error_persist != 0) && (Xsqlite3_io_error_hit != 0)) || (libc.PostDecAtomicInt32(&Xsqlite3_io_error_pending, 1) == 1) { local_ioerr(tls) @@ -69620,38 +69620,38 @@ func winWrite(tls *libc.TLS, id uintptr, pBuf uintptr, amt int32, offset Sqlite3 } { - // var overlapped OVERLAPPED at bp+160, 32 + // var overlapped OVERLAPPED at bp+128, 32 // The offset for WriteFile. var aRem uintptr = pBuf // Data yet to be written var nRem int32 = amt // Number of bytes yet to be written - // var nWrite DWORD at bp+192, 4 + // var nWrite DWORD at bp+160, 4 // Bytes written by each WriteFile() call - *(*DWORD)(unsafe.Pointer(bp + 200 /* lastErrno */)) = DWORD(0) // Value returned by GetLastError() + *(*DWORD)(unsafe.Pointer(bp + 168 /* lastErrno */)) = DWORD(0) // Value returned by GetLastError() - libc.Xmemset(tls, bp+160 /* &overlapped */, 0, uint64(unsafe.Sizeof(OVERLAPPED{}))) - *(*DWORD)(unsafe.Pointer(bp + 160 /* &overlapped */ + 16 /* &.Offset */)) = DWORD((LONG(offset & int64(0xffffffff)))) - *(*DWORD)(unsafe.Pointer(bp + 160 /* &overlapped */ + 20 /* &.OffsetHigh */)) = DWORD((LONG((offset >> 32) & int64(0x7fffffff)))) + libc.Xmemset(tls, bp+128 /* &overlapped */, 0, uint64(unsafe.Sizeof(OVERLAPPED{}))) + *(*DWORD)(unsafe.Pointer(bp + 128 /* &overlapped */ + 16 /* &.Offset */)) = DWORD((LONG(offset & int64(0xffffffff)))) + *(*DWORD)(unsafe.Pointer(bp + 128 /* &overlapped */ + 20 /* &.OffsetHigh */)) = DWORD((LONG((offset >> 32) & int64(0x7fffffff)))) for nRem > 0 { - if !((*(*func(*libc.TLS, HANDLE, LPCVOID, DWORD, LPDWORD, LPOVERLAPPED) WINBOOL)(unsafe.Pointer((uintptr(unsafe.Pointer(&aSyscall)) + 61*24 + 8 /* &.pCurrent */))))(tls, (*WinFile)(unsafe.Pointer(pFile)).Fh, aRem, uint32(nRem), bp+192 /* &nWrite */, bp+160 /* &overlapped */) != 0) { - if winRetryIoerr(tls, bp+196 /* &nRetry */, bp+200 /* &lastErrno */) != 0 { + if !((*(*func(*libc.TLS, HANDLE, LPCVOID, DWORD, LPDWORD, LPOVERLAPPED) WINBOOL)(unsafe.Pointer((uintptr(unsafe.Pointer(&aSyscall)) + 61*24 + 8 /* &.pCurrent */))))(tls, (*WinFile)(unsafe.Pointer(pFile)).Fh, aRem, uint32(nRem), bp+160 /* &nWrite */, bp+128 /* &overlapped */) != 0) { + if winRetryIoerr(tls, bp+164 /* &nRetry */, bp+168 /* &lastErrno */) != 0 { continue } break } - if (*(*DWORD)(unsafe.Pointer(bp + 192 /* nWrite */)) == DWORD(0)) || (*(*DWORD)(unsafe.Pointer(bp + 192 /* nWrite */)) > DWORD(nRem)) { - *(*DWORD)(unsafe.Pointer(bp + 200 /* lastErrno */)) = (*(*func(*libc.TLS) DWORD)(unsafe.Pointer((uintptr(unsafe.Pointer(&aSyscall)) + 26*24 + 8 /* &.pCurrent */))))(tls) + if (*(*DWORD)(unsafe.Pointer(bp + 160 /* nWrite */)) == DWORD(0)) || (*(*DWORD)(unsafe.Pointer(bp + 160 /* nWrite */)) > DWORD(nRem)) { + *(*DWORD)(unsafe.Pointer(bp + 168 /* lastErrno */)) = (*(*func(*libc.TLS) DWORD)(unsafe.Pointer((uintptr(unsafe.Pointer(&aSyscall)) + 26*24 + 8 /* &.pCurrent */))))(tls) break } - offset = offset + (Sqlite3_int64(*(*DWORD)(unsafe.Pointer(bp + 192 /* nWrite */)))) - *(*DWORD)(unsafe.Pointer(bp + 160 /* &overlapped */ + 16 /* &.Offset */)) = DWORD((LONG(offset & int64(0xffffffff)))) - *(*DWORD)(unsafe.Pointer(bp + 160 /* &overlapped */ + 20 /* &.OffsetHigh */)) = DWORD((LONG((offset >> 32) & int64(0x7fffffff)))) - aRem += uintptr(*(*DWORD)(unsafe.Pointer(bp + 192 /* nWrite */))) - nRem = int32(DWORD(nRem) - (*(*DWORD)(unsafe.Pointer(bp + 192 /* nWrite */)))) + offset = offset + (Sqlite3_int64(*(*DWORD)(unsafe.Pointer(bp + 160 /* nWrite */)))) + *(*DWORD)(unsafe.Pointer(bp + 128 /* &overlapped */ + 16 /* &.Offset */)) = DWORD((LONG(offset & int64(0xffffffff)))) + *(*DWORD)(unsafe.Pointer(bp + 128 /* &overlapped */ + 20 /* &.OffsetHigh */)) = DWORD((LONG((offset >> 32) & int64(0x7fffffff)))) + aRem += uintptr(*(*DWORD)(unsafe.Pointer(bp + 160 /* nWrite */))) + nRem = int32(DWORD(nRem) - (*(*DWORD)(unsafe.Pointer(bp + 160 /* nWrite */)))) } if nRem > 0 { - (*WinFile)(unsafe.Pointer(pFile)).FlastErrno = *(*DWORD)(unsafe.Pointer(bp + 200 /* lastErrno */)) + (*WinFile)(unsafe.Pointer(pFile)).FlastErrno = *(*DWORD)(unsafe.Pointer(bp + 168 /* lastErrno */)) rc = 1 } @@ -69661,27 +69661,27 @@ func winWrite(tls *libc.TLS, id uintptr, pBuf uintptr, amt int32, offset Sqlite3 if ((*WinFile)(unsafe.Pointer(pFile)).FlastErrno == DWORD(39)) || ((*WinFile)(unsafe.Pointer(pFile)).FlastErrno == DWORD(112)) { if Xsqlite3OSTrace != 0 { - Xsqlite3DebugPrintf(tls, ts+6561 /* "WRITE pid=%lu, p..." */, libc.VaList(bp+64, (*(*func(*libc.TLS) DWORD)(unsafe.Pointer((uintptr(unsafe.Pointer(&aSyscall)) + 17*24 + 8 /* &.pCurrent */))))(tls), pFile, (*WinFile)(unsafe.Pointer(pFile)).Fh)) + Xsqlite3DebugPrintf(tls, ts+6561 /* "WRITE pid=%lu, p..." */, libc.VaList(bp+56, (*(*func(*libc.TLS) DWORD)(unsafe.Pointer((uintptr(unsafe.Pointer(&aSyscall)) + 17*24 + 8 /* &.pCurrent */))))(tls), pFile, (*WinFile)(unsafe.Pointer(pFile)).Fh)) } return winLogErrorAtLine(tls, SQLITE_FULL, (*WinFile)(unsafe.Pointer(pFile)).FlastErrno, ts+6611 /* "winWrite1" */, (*WinFile)(unsafe.Pointer(pFile)).FzPath, 45247) } if Xsqlite3OSTrace != 0 { - Xsqlite3DebugPrintf(tls, ts+6621 /* "WRITE pid=%lu, p..." */, libc.VaList(bp+96, (*(*func(*libc.TLS) DWORD)(unsafe.Pointer((uintptr(unsafe.Pointer(&aSyscall)) + 17*24 + 8 /* &.pCurrent */))))(tls), pFile, (*WinFile)(unsafe.Pointer(pFile)).Fh)) + Xsqlite3DebugPrintf(tls, ts+6621 /* "WRITE pid=%lu, p..." */, libc.VaList(bp+80, (*(*func(*libc.TLS) DWORD)(unsafe.Pointer((uintptr(unsafe.Pointer(&aSyscall)) + 17*24 + 8 /* &.pCurrent */))))(tls), pFile, (*WinFile)(unsafe.Pointer(pFile)).Fh)) } return winLogErrorAtLine(tls, (SQLITE_IOERR | (int32(3) << 8)), (*WinFile)(unsafe.Pointer(pFile)).FlastErrno, ts+6678 /* "winWrite2" */, (*WinFile)(unsafe.Pointer(pFile)).FzPath, 45252) } else { - winLogIoerr(tls, *(*int32)(unsafe.Pointer(bp + 196 /* nRetry */)), 45255) + winLogIoerr(tls, *(*int32)(unsafe.Pointer(bp + 164 /* nRetry */)), 45255) } if Xsqlite3OSTrace != 0 { - Xsqlite3DebugPrintf(tls, ts+6688 /* "WRITE pid=%lu, p..." */, libc.VaList(bp+128, (*(*func(*libc.TLS) DWORD)(unsafe.Pointer((uintptr(unsafe.Pointer(&aSyscall)) + 17*24 + 8 /* &.pCurrent */))))(tls), pFile, (*WinFile)(unsafe.Pointer(pFile)).Fh)) + Xsqlite3DebugPrintf(tls, ts+6688 /* "WRITE pid=%lu, p..." */, libc.VaList(bp+104, (*(*func(*libc.TLS) DWORD)(unsafe.Pointer((uintptr(unsafe.Pointer(&aSyscall)) + 17*24 + 8 /* &.pCurrent */))))(tls), pFile, (*WinFile)(unsafe.Pointer(pFile)).Fh)) } return SQLITE_OK } // Truncate an open file to a specified size func winTruncate(tls *libc.TLS, id uintptr, nByte Sqlite3_int64) int32 { /* sqlite3.c:45265:12: */ - bp := tls.Alloc(88) - defer tls.Free(88) + bp := tls.Alloc(72) + defer tls.Free(72) var pFile uintptr = id // File handle object var rc int32 = SQLITE_OK // Return code for this function @@ -69748,7 +69748,7 @@ func winTruncate(tls *libc.TLS, id uintptr, nByte Sqlite3_int64) int32 { /* sqli } if Xsqlite3OSTrace != 0 { - Xsqlite3DebugPrintf(tls, ts+6819 /* "TRUNCATE pid=%lu..." */, libc.VaList(bp+48, (*(*func(*libc.TLS) DWORD)(unsafe.Pointer((uintptr(unsafe.Pointer(&aSyscall)) + 17*24 + 8 /* &.pCurrent */))))(tls), pFile, (*WinFile)(unsafe.Pointer(pFile)).Fh, Xsqlite3ErrName(tls, rc))) + Xsqlite3DebugPrintf(tls, ts+6819 /* "TRUNCATE pid=%lu..." */, libc.VaList(bp+40, (*(*func(*libc.TLS) DWORD)(unsafe.Pointer((uintptr(unsafe.Pointer(&aSyscall)) + 17*24 + 8 /* &.pCurrent */))))(tls), pFile, (*WinFile)(unsafe.Pointer(pFile)).Fh, Xsqlite3ErrName(tls, rc))) } return rc } @@ -69760,8 +69760,8 @@ var Xsqlite3_fullsync_count int32 = 0 /* sqlite3.c:45348:16 */ // Make sure all writes to a particular file are committed to disk. func winSync(tls *libc.TLS, id uintptr, flags int32) int32 { /* sqlite3.c:45354:12: */ - bp := tls.Alloc(176) - defer tls.Free(176) + bp := tls.Alloc(136) + defer tls.Free(136) // Used only when SQLITE_NO_SYNC is not defined. var rc WINBOOL @@ -69798,12 +69798,12 @@ func winSync(tls *libc.TLS, id uintptr, flags int32) int32 { /* sqlite3.c:45354: if (*WinFile)(unsafe.Pointer(pFile)).FpMapRegion != 0 { if (*(*func(*libc.TLS, LPCVOID, SIZE_T) WINBOOL)(unsafe.Pointer((uintptr(unsafe.Pointer(&aSyscall)) + 79*24 + 8 /* &.pCurrent */))))(tls, (*WinFile)(unsafe.Pointer(pFile)).FpMapRegion, uint64(0)) != 0 { if Xsqlite3OSTrace != 0 { - Xsqlite3DebugPrintf(tls, ts+6915 /* "SYNC-MMAP pid=%l..." */, libc.VaList(bp+48, (*(*func(*libc.TLS) DWORD)(unsafe.Pointer((uintptr(unsafe.Pointer(&aSyscall)) + 17*24 + 8 /* &.pCurrent */))))(tls), pFile, (*WinFile)(unsafe.Pointer(pFile)).FpMapRegion)) + Xsqlite3DebugPrintf(tls, ts+6915 /* "SYNC-MMAP pid=%l..." */, libc.VaList(bp+40, (*(*func(*libc.TLS) DWORD)(unsafe.Pointer((uintptr(unsafe.Pointer(&aSyscall)) + 17*24 + 8 /* &.pCurrent */))))(tls), pFile, (*WinFile)(unsafe.Pointer(pFile)).FpMapRegion)) } } else { (*WinFile)(unsafe.Pointer(pFile)).FlastErrno = (*(*func(*libc.TLS) DWORD)(unsafe.Pointer((uintptr(unsafe.Pointer(&aSyscall)) + 26*24 + 8 /* &.pCurrent */))))(tls) if Xsqlite3OSTrace != 0 { - Xsqlite3DebugPrintf(tls, ts+6973 /* "SYNC-MMAP pid=%l..." */, libc.VaList(bp+80, (*(*func(*libc.TLS) DWORD)(unsafe.Pointer((uintptr(unsafe.Pointer(&aSyscall)) + 17*24 + 8 /* &.pCurrent */))))(tls), pFile, (*WinFile)(unsafe.Pointer(pFile)).FpMapRegion)) + Xsqlite3DebugPrintf(tls, ts+6973 /* "SYNC-MMAP pid=%l..." */, libc.VaList(bp+64, (*(*func(*libc.TLS) DWORD)(unsafe.Pointer((uintptr(unsafe.Pointer(&aSyscall)) + 17*24 + 8 /* &.pCurrent */))))(tls), pFile, (*WinFile)(unsafe.Pointer(pFile)).FpMapRegion)) } return winLogErrorAtLine(tls, (SQLITE_IOERR | (int32(24) << 8)), (*WinFile)(unsafe.Pointer(pFile)).FlastErrno, ts+7039 /* "winSync1" */, (*WinFile)(unsafe.Pointer(pFile)).FzPath, 45415) } @@ -69816,13 +69816,13 @@ func winSync(tls *libc.TLS, id uintptr, flags int32) int32 { /* sqlite3.c:45354: if rc != 0 { if Xsqlite3OSTrace != 0 { - Xsqlite3DebugPrintf(tls, ts+7048 /* "SYNC pid=%lu, pF..." */, libc.VaList(bp+112, (*(*func(*libc.TLS) DWORD)(unsafe.Pointer((uintptr(unsafe.Pointer(&aSyscall)) + 17*24 + 8 /* &.pCurrent */))))(tls), pFile, (*WinFile)(unsafe.Pointer(pFile)).Fh)) + Xsqlite3DebugPrintf(tls, ts+7048 /* "SYNC pid=%lu, pF..." */, libc.VaList(bp+88, (*(*func(*libc.TLS) DWORD)(unsafe.Pointer((uintptr(unsafe.Pointer(&aSyscall)) + 17*24 + 8 /* &.pCurrent */))))(tls), pFile, (*WinFile)(unsafe.Pointer(pFile)).Fh)) } return SQLITE_OK } else { (*WinFile)(unsafe.Pointer(pFile)).FlastErrno = (*(*func(*libc.TLS) DWORD)(unsafe.Pointer((uintptr(unsafe.Pointer(&aSyscall)) + 26*24 + 8 /* &.pCurrent */))))(tls) if Xsqlite3OSTrace != 0 { - Xsqlite3DebugPrintf(tls, ts+7095 /* "SYNC pid=%lu, pF..." */, libc.VaList(bp+144, (*(*func(*libc.TLS) DWORD)(unsafe.Pointer((uintptr(unsafe.Pointer(&aSyscall)) + 17*24 + 8 /* &.pCurrent */))))(tls), pFile, (*WinFile)(unsafe.Pointer(pFile)).Fh)) + Xsqlite3DebugPrintf(tls, ts+7095 /* "SYNC pid=%lu, pF..." */, libc.VaList(bp+112, (*(*func(*libc.TLS) DWORD)(unsafe.Pointer((uintptr(unsafe.Pointer(&aSyscall)) + 17*24 + 8 /* &.pCurrent */))))(tls), pFile, (*WinFile)(unsafe.Pointer(pFile)).Fh)) } return winLogErrorAtLine(tls, (SQLITE_IOERR | (int32(4) << 8)), (*WinFile)(unsafe.Pointer(pFile)).FlastErrno, ts+7151 /* "winSync2" */, (*WinFile)(unsafe.Pointer(pFile)).FzPath, 45430) } @@ -69831,8 +69831,8 @@ func winSync(tls *libc.TLS, id uintptr, flags int32) int32 { /* sqlite3.c:45354: // Determine the current size of a file in bytes func winFileSize(tls *libc.TLS, id uintptr, pSize uintptr) int32 { /* sqlite3.c:45439:12: */ - bp := tls.Alloc(68) - defer tls.Free(68) + bp := tls.Alloc(52) + defer tls.Free(52) var pFile uintptr = id var rc int32 = SQLITE_OK @@ -69847,13 +69847,13 @@ func winFileSize(tls *libc.TLS, id uintptr, pSize uintptr) int32 { /* sqlite3.c: } { - // var upperBits DWORD at bp+64, 4 + // var upperBits DWORD at bp+48, 4 var lowerBits DWORD var lastErrno DWORD - lowerBits = (*(*func(*libc.TLS, HANDLE, LPDWORD) DWORD)(unsafe.Pointer((uintptr(unsafe.Pointer(&aSyscall)) + 23*24 + 8 /* &.pCurrent */))))(tls, (*WinFile)(unsafe.Pointer(pFile)).Fh, bp+64 /* &upperBits */) - *(*Sqlite3_int64)(unsafe.Pointer(pSize)) = (((Sqlite3_int64(*(*DWORD)(unsafe.Pointer(bp + 64 /* upperBits */)))) << 32) + Sqlite3_int64(lowerBits)) + lowerBits = (*(*func(*libc.TLS, HANDLE, LPDWORD) DWORD)(unsafe.Pointer((uintptr(unsafe.Pointer(&aSyscall)) + 23*24 + 8 /* &.pCurrent */))))(tls, (*WinFile)(unsafe.Pointer(pFile)).Fh, bp+48 /* &upperBits */) + *(*Sqlite3_int64)(unsafe.Pointer(pSize)) = (((Sqlite3_int64(*(*DWORD)(unsafe.Pointer(bp + 48 /* upperBits */)))) << 32) + Sqlite3_int64(lowerBits)) if (lowerBits == (0xffffffff)) && ((libc.AssignUint32(&lastErrno, (*(*func(*libc.TLS) DWORD)(unsafe.Pointer((uintptr(unsafe.Pointer(&aSyscall)) + 26*24 + 8 /* &.pCurrent */))))(tls))) != DWORD(0)) { (*WinFile)(unsafe.Pointer(pFile)).FlastErrno = lastErrno @@ -69862,7 +69862,7 @@ func winFileSize(tls *libc.TLS, id uintptr, pSize uintptr) int32 { /* sqlite3.c: } if Xsqlite3OSTrace != 0 { - Xsqlite3DebugPrintf(tls, ts+7196 /* "SIZE file=%p, pS..." */, libc.VaList(bp+24, (*WinFile)(unsafe.Pointer(pFile)).Fh, pSize, *(*Sqlite3_int64)(unsafe.Pointer(pSize)), Xsqlite3ErrName(tls, rc))) + Xsqlite3DebugPrintf(tls, ts+7196 /* "SIZE file=%p, pS..." */, libc.VaList(bp+16, (*WinFile)(unsafe.Pointer(pFile)).Fh, pSize, *(*Sqlite3_int64)(unsafe.Pointer(pSize)), Xsqlite3ErrName(tls, rc))) } return rc } @@ -69882,8 +69882,8 @@ func winFileSize(tls *libc.TLS, id uintptr, pSize uintptr) int32 { /* sqlite3.c: // Different API routines are called depending on whether or not this // is Win9x or WinNT. func winGetReadLock(tls *libc.TLS, pFile uintptr) int32 { /* sqlite3.c:45517:12: */ - bp := tls.Alloc(52) - defer tls.Free(52) + bp := tls.Alloc(36) + defer tls.Free(36) var res int32 if Xsqlite3OSTrace != 0 { @@ -69893,10 +69893,10 @@ func winGetReadLock(tls *libc.TLS, pFile uintptr) int32 { /* sqlite3.c:45517:12: res = winLockFile(tls, (pFile + 16 /* &.h */), uint32(LOCKFILE_FAIL_IMMEDIATELY), (uint32(Xsqlite3PendingByte + 2)), uint32(0), uint32(SHARED_SIZE), uint32(0)) } else { - // var lk int32 at bp+48, 4 + // var lk int32 at bp+32, 4 - Xsqlite3_randomness(tls, int32(unsafe.Sizeof(int32(0))), bp+48 /* &lk */) - (*WinFile)(unsafe.Pointer(pFile)).FsharedLockByte = (int16((*(*int32)(unsafe.Pointer(bp + 48 /* lk */)) & 0x7fffffff) % (SHARED_SIZE - 1))) + Xsqlite3_randomness(tls, int32(unsafe.Sizeof(int32(0))), bp+32 /* &lk */) + (*WinFile)(unsafe.Pointer(pFile)).FsharedLockByte = (int16((*(*int32)(unsafe.Pointer(bp + 32 /* lk */)) & 0x7fffffff) % (SHARED_SIZE - 1))) res = winLockFile(tls, (pFile + 16 /* &.h */), (uint32(LOCKFILE_FAIL_IMMEDIATELY | LOCKFILE_EXCLUSIVE_LOCK)), (uint32((Xsqlite3PendingByte + 2) + int32((*WinFile)(unsafe.Pointer(pFile)).FsharedLockByte))), uint32(0), uint32(1), uint32(0)) } @@ -69905,15 +69905,15 @@ func winGetReadLock(tls *libc.TLS, pFile uintptr) int32 { /* sqlite3.c:45517:12: // No need to log a failure to lock } if Xsqlite3OSTrace != 0 { - Xsqlite3DebugPrintf(tls, ts+7268 /* "READ-LOCK file=%..." */, libc.VaList(bp+24, (*WinFile)(unsafe.Pointer(pFile)).Fh, res)) + Xsqlite3DebugPrintf(tls, ts+7268 /* "READ-LOCK file=%..." */, libc.VaList(bp+16, (*WinFile)(unsafe.Pointer(pFile)).Fh, res)) } return res } // Undo a readlock func winUnlockReadLock(tls *libc.TLS, pFile uintptr) int32 { /* sqlite3.c:45552:12: */ - bp := tls.Alloc(48) - defer tls.Free(48) + bp := tls.Alloc(32) + defer tls.Free(32) var res int32 var lastErrno DWORD @@ -69930,7 +69930,7 @@ func winUnlockReadLock(tls *libc.TLS, pFile uintptr) int32 { /* sqlite3.c:45552: winLogErrorAtLine(tls, (SQLITE_IOERR | (int32(8) << 8)), (*WinFile)(unsafe.Pointer(pFile)).FlastErrno, ts+7328 /* "winUnlockReadLoc..." */, (*WinFile)(unsafe.Pointer(pFile)).FzPath, 45566) } if Xsqlite3OSTrace != 0 { - Xsqlite3DebugPrintf(tls, ts+7346 /* "READ-UNLOCK file..." */, libc.VaList(bp+24, (*WinFile)(unsafe.Pointer(pFile)).Fh, res)) + Xsqlite3DebugPrintf(tls, ts+7346 /* "READ-UNLOCK file..." */, libc.VaList(bp+16, (*WinFile)(unsafe.Pointer(pFile)).Fh, res)) } return res } @@ -69960,8 +69960,8 @@ func winUnlockReadLock(tls *libc.TLS, pFile uintptr) int32 { /* sqlite3.c:45552: // It is not possible to lower the locking level one step at a time. You // must go straight to locking level 0. func winLock(tls *libc.TLS, id uintptr, locktype int32) int32 { /* sqlite3.c:45599:12: */ - bp := tls.Alloc(184) - defer tls.Free(184) + bp := tls.Alloc(136) + defer tls.Free(136) var rc int32 = SQLITE_OK // Return code from subroutines var res int32 = 1 // Result of a Windows lock call @@ -69979,7 +69979,7 @@ func winLock(tls *libc.TLS, id uintptr, locktype int32) int32 { /* sqlite3.c:455 // sqlite3OsEnterMutex() hasn't been called yet. if int32((*WinFile)(unsafe.Pointer(pFile)).Flocktype) >= locktype { if Xsqlite3OSTrace != 0 { - Xsqlite3DebugPrintf(tls, ts+7420 /* "LOCK-HELD file=%..." */, libc.VaList(bp+40, (*WinFile)(unsafe.Pointer(pFile)).Fh)) + Xsqlite3DebugPrintf(tls, ts+7420 /* "LOCK-HELD file=%..." */, libc.VaList(bp+32, (*WinFile)(unsafe.Pointer(pFile)).Fh)) } return SQLITE_OK } @@ -70007,13 +70007,13 @@ func winLock(tls *libc.TLS, id uintptr, locktype int32) int32 { /* sqlite3.c:455 // copy this retry logic. It is a hack intended for Windows only. lastErrno = (*(*func(*libc.TLS) DWORD)(unsafe.Pointer((uintptr(unsafe.Pointer(&aSyscall)) + 26*24 + 8 /* &.pCurrent */))))(tls) if Xsqlite3OSTrace != 0 { - Xsqlite3DebugPrintf(tls, ts+7453 /* "LOCK-PENDING-FAI..." */, libc.VaList(bp+56, (*WinFile)(unsafe.Pointer(pFile)).Fh, cnt, res)) + Xsqlite3DebugPrintf(tls, ts+7453 /* "LOCK-PENDING-FAI..." */, libc.VaList(bp+40, (*WinFile)(unsafe.Pointer(pFile)).Fh, cnt, res)) } if lastErrno == DWORD(6) { (*WinFile)(unsafe.Pointer(pFile)).FlastErrno = lastErrno rc = (SQLITE_IOERR | (int32(15) << 8)) if Xsqlite3OSTrace != 0 { - Xsqlite3DebugPrintf(tls, ts+7501 /* "LOCK-FAIL file=%..." */, libc.VaList(bp+88, (*WinFile)(unsafe.Pointer(pFile)).Fh, cnt, Xsqlite3ErrName(tls, rc))) + Xsqlite3DebugPrintf(tls, ts+7501 /* "LOCK-FAIL file=%..." */, libc.VaList(bp+64, (*WinFile)(unsafe.Pointer(pFile)).Fh, cnt, Xsqlite3ErrName(tls, rc))) } return rc } @@ -70083,12 +70083,12 @@ func winLock(tls *libc.TLS, id uintptr, locktype int32) int32 { /* sqlite3.c:455 (*WinFile)(unsafe.Pointer(pFile)).FlastErrno = lastErrno rc = SQLITE_BUSY if Xsqlite3OSTrace != 0 { - Xsqlite3DebugPrintf(tls, ts+7537 /* "LOCK-FAIL file=%..." */, libc.VaList(bp+120, (*WinFile)(unsafe.Pointer(pFile)).Fh, locktype, newLocktype)) + Xsqlite3DebugPrintf(tls, ts+7537 /* "LOCK-FAIL file=%..." */, libc.VaList(bp+88, (*WinFile)(unsafe.Pointer(pFile)).Fh, locktype, newLocktype)) } } (*WinFile)(unsafe.Pointer(pFile)).Flocktype = U8(newLocktype) if Xsqlite3OSTrace != 0 { - Xsqlite3DebugPrintf(tls, ts+7575 /* "LOCK file=%p, lo..." */, libc.VaList(bp+152, (*WinFile)(unsafe.Pointer(pFile)).Fh, int32((*WinFile)(unsafe.Pointer(pFile)).Flocktype), Xsqlite3ErrName(tls, rc))) + Xsqlite3DebugPrintf(tls, ts+7575 /* "LOCK file=%p, lo..." */, libc.VaList(bp+112, (*WinFile)(unsafe.Pointer(pFile)).Fh, int32((*WinFile)(unsafe.Pointer(pFile)).Flocktype), Xsqlite3ErrName(tls, rc))) } return rc } @@ -70097,8 +70097,8 @@ func winLock(tls *libc.TLS, id uintptr, locktype int32) int32 { /* sqlite3.c:455 // file by this or any other process. If such a lock is held, return // non-zero, otherwise zero. func winCheckReservedLock(tls *libc.TLS, id uintptr, pResOut uintptr) int32 { /* sqlite3.c:45742:12: */ - bp := tls.Alloc(104) - defer tls.Free(104) + bp := tls.Alloc(72) + defer tls.Free(72) var res int32 var pFile uintptr = id @@ -70115,7 +70115,7 @@ func winCheckReservedLock(tls *libc.TLS, id uintptr, pResOut uintptr) int32 { /* if int32((*WinFile)(unsafe.Pointer(pFile)).Flocktype) >= RESERVED_LOCK { res = 1 if Xsqlite3OSTrace != 0 { - Xsqlite3DebugPrintf(tls, ts+7639 /* "TEST-WR-LOCK fil..." */, libc.VaList(bp+24, (*WinFile)(unsafe.Pointer(pFile)).Fh, res)) + Xsqlite3DebugPrintf(tls, ts+7639 /* "TEST-WR-LOCK fil..." */, libc.VaList(bp+16, (*WinFile)(unsafe.Pointer(pFile)).Fh, res)) } } else { res = winLockFile(tls, (pFile + 16 /* &.h */), uint32(LOCKFILE_FAIL_IMMEDIATELY), (uint32(Xsqlite3PendingByte + 1)), uint32(0), uint32(1), uint32(0)) @@ -70124,12 +70124,12 @@ func winCheckReservedLock(tls *libc.TLS, id uintptr, pResOut uintptr) int32 { /* } res = libc.BoolInt32(!(res != 0)) if Xsqlite3OSTrace != 0 { - Xsqlite3DebugPrintf(tls, ts+7680 /* "TEST-WR-LOCK fil..." */, libc.VaList(bp+48, (*WinFile)(unsafe.Pointer(pFile)).Fh, res)) + Xsqlite3DebugPrintf(tls, ts+7680 /* "TEST-WR-LOCK fil..." */, libc.VaList(bp+32, (*WinFile)(unsafe.Pointer(pFile)).Fh, res)) } } *(*int32)(unsafe.Pointer(pResOut)) = res if Xsqlite3OSTrace != 0 { - Xsqlite3DebugPrintf(tls, ts+7722 /* "TEST-WR-LOCK fil..." */, libc.VaList(bp+72, (*WinFile)(unsafe.Pointer(pFile)).Fh, pResOut, *(*int32)(unsafe.Pointer(pResOut)))) + Xsqlite3DebugPrintf(tls, ts+7722 /* "TEST-WR-LOCK fil..." */, libc.VaList(bp+48, (*WinFile)(unsafe.Pointer(pFile)).Fh, pResOut, *(*int32)(unsafe.Pointer(pResOut)))) } return SQLITE_OK } @@ -70144,8 +70144,8 @@ func winCheckReservedLock(tls *libc.TLS, id uintptr, pResOut uintptr) int32 { /* // is NO_LOCK. If the second argument is SHARED_LOCK then this routine // might return SQLITE_IOERR; func winUnlock(tls *libc.TLS, id uintptr, locktype int32) int32 { /* sqlite3.c:45778:12: */ - bp := tls.Alloc(72) - defer tls.Free(72) + bp := tls.Alloc(56) + defer tls.Free(56) var type1 int32 var pFile uintptr = id @@ -70174,7 +70174,7 @@ func winUnlock(tls *libc.TLS, id uintptr, locktype int32) int32 { /* sqlite3.c:4 } (*WinFile)(unsafe.Pointer(pFile)).Flocktype = U8(locktype) if Xsqlite3OSTrace != 0 { - Xsqlite3DebugPrintf(tls, ts+7837 /* "UNLOCK file=%p, ..." */, libc.VaList(bp+40, (*WinFile)(unsafe.Pointer(pFile)).Fh, int32((*WinFile)(unsafe.Pointer(pFile)).Flocktype), Xsqlite3ErrName(tls, rc))) + Xsqlite3DebugPrintf(tls, ts+7837 /* "UNLOCK file=%p, ..." */, libc.VaList(bp+32, (*WinFile)(unsafe.Pointer(pFile)).Fh, int32((*WinFile)(unsafe.Pointer(pFile)).Flocktype), Xsqlite3ErrName(tls, rc))) } return rc } @@ -70234,8 +70234,8 @@ func winModeBit(tls *libc.TLS, pFile uintptr, mask uint8, pArg uintptr) { /* sql // Control and query of the open file handle. func winFileControl(tls *libc.TLS, id uintptr, op int32, pArg uintptr) int32 { /* sqlite3.c:45874:12: */ - bp := tls.Alloc(320) - defer tls.Free(320) + bp := tls.Alloc(192) + defer tls.Free(192) var pFile uintptr = id if Xsqlite3OSTrace != 0 { @@ -70246,7 +70246,7 @@ func winFileControl(tls *libc.TLS, id uintptr, op int32, pArg uintptr) int32 { / { *(*int32)(unsafe.Pointer(pArg)) = int32((*WinFile)(unsafe.Pointer(pFile)).Flocktype) if Xsqlite3OSTrace != 0 { - Xsqlite3DebugPrintf(tls, ts+7900 /* "FCNTL file=%p, r..." */, libc.VaList(bp+32, (*WinFile)(unsafe.Pointer(pFile)).Fh)) + Xsqlite3DebugPrintf(tls, ts+7900 /* "FCNTL file=%p, r..." */, libc.VaList(bp+24, (*WinFile)(unsafe.Pointer(pFile)).Fh)) } return SQLITE_OK @@ -70255,7 +70255,7 @@ func winFileControl(tls *libc.TLS, id uintptr, op int32, pArg uintptr) int32 { / { *(*int32)(unsafe.Pointer(pArg)) = int32((*WinFile)(unsafe.Pointer(pFile)).FlastErrno) if Xsqlite3OSTrace != 0 { - Xsqlite3DebugPrintf(tls, ts+7900 /* "FCNTL file=%p, r..." */, libc.VaList(bp+48, (*WinFile)(unsafe.Pointer(pFile)).Fh)) + Xsqlite3DebugPrintf(tls, ts+7900 /* "FCNTL file=%p, r..." */, libc.VaList(bp+32, (*WinFile)(unsafe.Pointer(pFile)).Fh)) } return SQLITE_OK @@ -70264,7 +70264,7 @@ func winFileControl(tls *libc.TLS, id uintptr, op int32, pArg uintptr) int32 { / { (*WinFile)(unsafe.Pointer(pFile)).FszChunk = *(*int32)(unsafe.Pointer(pArg)) if Xsqlite3OSTrace != 0 { - Xsqlite3DebugPrintf(tls, ts+7900 /* "FCNTL file=%p, r..." */, libc.VaList(bp+64, (*WinFile)(unsafe.Pointer(pFile)).Fh)) + Xsqlite3DebugPrintf(tls, ts+7900 /* "FCNTL file=%p, r..." */, libc.VaList(bp+40, (*WinFile)(unsafe.Pointer(pFile)).Fh)) } return SQLITE_OK @@ -70272,24 +70272,24 @@ func winFileControl(tls *libc.TLS, id uintptr, op int32, pArg uintptr) int32 { / case SQLITE_FCNTL_SIZE_HINT: { if (*WinFile)(unsafe.Pointer(pFile)).FszChunk > 0 { - // var oldSz Sqlite3_int64 at bp+304, 8 + // var oldSz Sqlite3_int64 at bp+176, 8 - var rc int32 = winFileSize(tls, id, bp+304 /* &oldSz */) + var rc int32 = winFileSize(tls, id, bp+176 /* &oldSz */) if rc == SQLITE_OK { var newSz Sqlite3_int64 = *(*Sqlite3_int64)(unsafe.Pointer(pArg)) - if newSz > *(*Sqlite3_int64)(unsafe.Pointer(bp + 304 /* oldSz */)) { + if newSz > *(*Sqlite3_int64)(unsafe.Pointer(bp + 176 /* oldSz */)) { Xsqlite3_io_error_benign = 1 rc = winTruncate(tls, id, newSz) Xsqlite3_io_error_benign = 0 } } if Xsqlite3OSTrace != 0 { - Xsqlite3DebugPrintf(tls, ts+7929 /* "FCNTL file=%p, r..." */, libc.VaList(bp+80, (*WinFile)(unsafe.Pointer(pFile)).Fh, Xsqlite3ErrName(tls, rc))) + Xsqlite3DebugPrintf(tls, ts+7929 /* "FCNTL file=%p, r..." */, libc.VaList(bp+48, (*WinFile)(unsafe.Pointer(pFile)).Fh, Xsqlite3ErrName(tls, rc))) } return rc } if Xsqlite3OSTrace != 0 { - Xsqlite3DebugPrintf(tls, ts+7900 /* "FCNTL file=%p, r..." */, libc.VaList(bp+104, (*WinFile)(unsafe.Pointer(pFile)).Fh)) + Xsqlite3DebugPrintf(tls, ts+7900 /* "FCNTL file=%p, r..." */, libc.VaList(bp+64, (*WinFile)(unsafe.Pointer(pFile)).Fh)) } return SQLITE_OK @@ -70298,7 +70298,7 @@ func winFileControl(tls *libc.TLS, id uintptr, op int32, pArg uintptr) int32 { / { winModeBit(tls, pFile, uint8(WINFILE_PERSIST_WAL), pArg) if Xsqlite3OSTrace != 0 { - Xsqlite3DebugPrintf(tls, ts+7900 /* "FCNTL file=%p, r..." */, libc.VaList(bp+120, (*WinFile)(unsafe.Pointer(pFile)).Fh)) + Xsqlite3DebugPrintf(tls, ts+7900 /* "FCNTL file=%p, r..." */, libc.VaList(bp+72, (*WinFile)(unsafe.Pointer(pFile)).Fh)) } return SQLITE_OK @@ -70307,16 +70307,16 @@ func winFileControl(tls *libc.TLS, id uintptr, op int32, pArg uintptr) int32 { / { winModeBit(tls, pFile, uint8(WINFILE_PSOW), pArg) if Xsqlite3OSTrace != 0 { - Xsqlite3DebugPrintf(tls, ts+7900 /* "FCNTL file=%p, r..." */, libc.VaList(bp+136, (*WinFile)(unsafe.Pointer(pFile)).Fh)) + Xsqlite3DebugPrintf(tls, ts+7900 /* "FCNTL file=%p, r..." */, libc.VaList(bp+80, (*WinFile)(unsafe.Pointer(pFile)).Fh)) } return SQLITE_OK } case SQLITE_FCNTL_VFSNAME: { - *(*uintptr)(unsafe.Pointer(pArg)) = Xsqlite3_mprintf(tls, ts+951 /* "%s" */, libc.VaList(bp+152, (*Sqlite3_vfs)(unsafe.Pointer((*WinFile)(unsafe.Pointer(pFile)).FpVfs)).FzName)) + *(*uintptr)(unsafe.Pointer(pArg)) = Xsqlite3_mprintf(tls, ts+951 /* "%s" */, libc.VaList(bp+88, (*Sqlite3_vfs)(unsafe.Pointer((*WinFile)(unsafe.Pointer(pFile)).FpVfs)).FzName)) if Xsqlite3OSTrace != 0 { - Xsqlite3DebugPrintf(tls, ts+7900 /* "FCNTL file=%p, r..." */, libc.VaList(bp+168, (*WinFile)(unsafe.Pointer(pFile)).Fh)) + Xsqlite3DebugPrintf(tls, ts+7900 /* "FCNTL file=%p, r..." */, libc.VaList(bp+96, (*WinFile)(unsafe.Pointer(pFile)).Fh)) } return SQLITE_OK @@ -70335,7 +70335,7 @@ func winFileControl(tls *libc.TLS, id uintptr, op int32, pArg uintptr) int32 { / *(*int32)(unsafe.Pointer(a + 1*4)) = winIoerrRetryDelay } if Xsqlite3OSTrace != 0 { - Xsqlite3DebugPrintf(tls, ts+7900 /* "FCNTL file=%p, r..." */, libc.VaList(bp+184, (*WinFile)(unsafe.Pointer(pFile)).Fh)) + Xsqlite3DebugPrintf(tls, ts+7900 /* "FCNTL file=%p, r..." */, libc.VaList(bp+104, (*WinFile)(unsafe.Pointer(pFile)).Fh)) } return SQLITE_OK @@ -70345,7 +70345,7 @@ func winFileControl(tls *libc.TLS, id uintptr, op int32, pArg uintptr) int32 { / var phFile LPHANDLE = pArg *(*HANDLE)(unsafe.Pointer(phFile)) = (*WinFile)(unsafe.Pointer(pFile)).Fh if Xsqlite3OSTrace != 0 { - Xsqlite3DebugPrintf(tls, ts+7900 /* "FCNTL file=%p, r..." */, libc.VaList(bp+200, (*WinFile)(unsafe.Pointer(pFile)).Fh)) + Xsqlite3DebugPrintf(tls, ts+7900 /* "FCNTL file=%p, r..." */, libc.VaList(bp+112, (*WinFile)(unsafe.Pointer(pFile)).Fh)) } return SQLITE_OK @@ -70357,20 +70357,20 @@ func winFileControl(tls *libc.TLS, id uintptr, op int32, pArg uintptr) int32 { / (*WinFile)(unsafe.Pointer(pFile)).Fh = *(*HANDLE)(unsafe.Pointer(phFile)) *(*HANDLE)(unsafe.Pointer(phFile)) = hOldFile if Xsqlite3OSTrace != 0 { - Xsqlite3DebugPrintf(tls, ts+7951 /* "FCNTL oldFile=%p..." */, libc.VaList(bp+216, hOldFile, (*WinFile)(unsafe.Pointer(pFile)).Fh)) + Xsqlite3DebugPrintf(tls, ts+7951 /* "FCNTL oldFile=%p..." */, libc.VaList(bp+120, hOldFile, (*WinFile)(unsafe.Pointer(pFile)).Fh)) } return SQLITE_OK } case SQLITE_FCNTL_TEMPFILENAME: { - *(*uintptr)(unsafe.Pointer(bp + 312 /* zTFile */)) = uintptr(0) - var rc int32 = winGetTempname(tls, (*WinFile)(unsafe.Pointer(pFile)).FpVfs, bp+312 /* &zTFile */) + *(*uintptr)(unsafe.Pointer(bp + 184 /* zTFile */)) = uintptr(0) + var rc int32 = winGetTempname(tls, (*WinFile)(unsafe.Pointer(pFile)).FpVfs, bp+184 /* &zTFile */) if rc == SQLITE_OK { - *(*uintptr)(unsafe.Pointer(pArg)) = *(*uintptr)(unsafe.Pointer(bp + 312 /* zTFile */)) + *(*uintptr)(unsafe.Pointer(pArg)) = *(*uintptr)(unsafe.Pointer(bp + 184 /* zTFile */)) } if Xsqlite3OSTrace != 0 { - Xsqlite3DebugPrintf(tls, ts+7929 /* "FCNTL file=%p, r..." */, libc.VaList(bp+240, (*WinFile)(unsafe.Pointer(pFile)).Fh, Xsqlite3ErrName(tls, rc))) + Xsqlite3DebugPrintf(tls, ts+7929 /* "FCNTL file=%p, r..." */, libc.VaList(bp+136, (*WinFile)(unsafe.Pointer(pFile)).Fh, Xsqlite3ErrName(tls, rc))) } return rc @@ -70399,14 +70399,14 @@ func winFileControl(tls *libc.TLS, id uintptr, op int32, pArg uintptr) int32 { / } } if Xsqlite3OSTrace != 0 { - Xsqlite3DebugPrintf(tls, ts+7929 /* "FCNTL file=%p, r..." */, libc.VaList(bp+264, (*WinFile)(unsafe.Pointer(pFile)).Fh, Xsqlite3ErrName(tls, rc))) + Xsqlite3DebugPrintf(tls, ts+7929 /* "FCNTL file=%p, r..." */, libc.VaList(bp+152, (*WinFile)(unsafe.Pointer(pFile)).Fh, Xsqlite3ErrName(tls, rc))) } return rc } } if Xsqlite3OSTrace != 0 { - Xsqlite3DebugPrintf(tls, ts+7995 /* "FCNTL file=%p, r..." */, libc.VaList(bp+288, (*WinFile)(unsafe.Pointer(pFile)).Fh)) + Xsqlite3DebugPrintf(tls, ts+7995 /* "FCNTL file=%p, r..." */, libc.VaList(bp+168, (*WinFile)(unsafe.Pointer(pFile)).Fh)) } return SQLITE_NOTFOUND } @@ -70497,8 +70497,8 @@ var winShmNodeList uintptr = uintptr(0) /* sqlite3.c:46111:19 */ // Apply advisory locks for all n bytes beginning at ofst. func winShmSystemLock(tls *libc.TLS, pFile uintptr, lockType int32, ofst int32, nByte int32) int32 { /* sqlite3.c:46149:12: */ - bp := tls.Alloc(80) - defer tls.Free(80) + bp := tls.Alloc(64) + defer tls.Free(64) var rc int32 = 0 // Result code form Lock/UnlockFileEx() @@ -70528,7 +70528,7 @@ func winShmSystemLock(tls *libc.TLS, pFile uintptr, lockType int32, ofst int32, } if Xsqlite3OSTrace != 0 { - Xsqlite3DebugPrintf(tls, ts+8077 /* "SHM-LOCK file=%p..." */, libc.VaList(bp+40, (*WinShmNode)(unsafe.Pointer(pFile)).FhFile.Fh, func() uintptr { + Xsqlite3DebugPrintf(tls, ts+8077 /* "SHM-LOCK file=%p..." */, libc.VaList(bp+32, (*WinShmNode)(unsafe.Pointer(pFile)).FhFile.Fh, func() uintptr { if lockType == WINSHM_UNLCK { return ts + 8122 /* "winUnlockFile" */ } @@ -70544,8 +70544,8 @@ func winShmSystemLock(tls *libc.TLS, pFile uintptr, lockType int32, ofst int32, // This is not a VFS shared-memory method; it is a utility function called // by VFS shared-memory methods. func winShmPurge(tls *libc.TLS, pVfs uintptr, deleteFlag int32) { /* sqlite3.c:46197:13: */ - bp := tls.Alloc(88) - defer tls.Free(88) + bp := tls.Alloc(64) + defer tls.Free(64) var pp uintptr var p uintptr @@ -70564,7 +70564,7 @@ func winShmPurge(tls *libc.TLS, pVfs uintptr, deleteFlag int32) { /* sqlite3.c:4 var bRc WINBOOL = (*(*func(*libc.TLS, LPCVOID) WINBOOL)(unsafe.Pointer((uintptr(unsafe.Pointer(&aSyscall)) + 59*24 + 8 /* &.pCurrent */))))(tls, (*ShmRegion)(unsafe.Pointer((*WinShmNode)(unsafe.Pointer(p)).FaRegion+uintptr(i)*16)).FpMap) _ = bRc if Xsqlite3OSTrace != 0 { - Xsqlite3DebugPrintf(tls, ts+8182 /* "SHM-PURGE-UNMAP ..." */, libc.VaList(bp+24, (*(*func(*libc.TLS) DWORD)(unsafe.Pointer((uintptr(unsafe.Pointer(&aSyscall)) + 17*24 + 8 /* &.pCurrent */))))(tls), i, func() uintptr { + Xsqlite3DebugPrintf(tls, ts+8182 /* "SHM-PURGE-UNMAP ..." */, libc.VaList(bp+16, (*(*func(*libc.TLS) DWORD)(unsafe.Pointer((uintptr(unsafe.Pointer(&aSyscall)) + 17*24 + 8 /* &.pCurrent */))))(tls), i, func() uintptr { if bRc != 0 { return ts + 6164 /* "ok" */ } @@ -70574,7 +70574,7 @@ func winShmPurge(tls *libc.TLS, pVfs uintptr, deleteFlag int32) { /* sqlite3.c:4 _ = bRc bRc = (*(*func(*libc.TLS, HANDLE) WINBOOL)(unsafe.Pointer((uintptr(unsafe.Pointer(&aSyscall)) + 3*24 + 8 /* &.pCurrent */))))(tls, (*ShmRegion)(unsafe.Pointer((*WinShmNode)(unsafe.Pointer(p)).FaRegion+uintptr(i)*16)).FhMap) if Xsqlite3OSTrace != 0 { - Xsqlite3DebugPrintf(tls, ts+8225 /* "SHM-PURGE-CLOSE ..." */, libc.VaList(bp+56, (*(*func(*libc.TLS) DWORD)(unsafe.Pointer((uintptr(unsafe.Pointer(&aSyscall)) + 17*24 + 8 /* &.pCurrent */))))(tls), i, func() uintptr { + Xsqlite3DebugPrintf(tls, ts+8225 /* "SHM-PURGE-CLOSE ..." */, libc.VaList(bp+40, (*(*func(*libc.TLS) DWORD)(unsafe.Pointer((uintptr(unsafe.Pointer(&aSyscall)) + 17*24 + 8 /* &.pCurrent */))))(tls), i, func() uintptr { if bRc != 0 { return ts + 6164 /* "ok" */ } @@ -70638,8 +70638,8 @@ func winLockSharedMemory(tls *libc.TLS, pShmNode uintptr) int32 { /* sqlite3.c:4 // file are currently open, in this process or in other processes, then // the file must be truncated to zero length or have its header cleared. func winOpenSharedMemory(tls *libc.TLS, pDbFd uintptr) int32 { /* sqlite3.c:46277:12: */ - bp := tls.Alloc(20) - defer tls.Free(20) + bp := tls.Alloc(12) + defer tls.Free(12) var p uintptr // The connection to be opened var pShmNode uintptr // The underlying mmapped file @@ -70647,7 +70647,7 @@ func winOpenSharedMemory(tls *libc.TLS, pDbFd uintptr) int32 { /* sqlite3.c:4627 var pNew uintptr // Newly allocated winShmNode var nName int32 var inFlags int32 - // var outFlags int32 at bp+16, 4 + // var outFlags int32 at bp+8, 4 pShmNode = uintptr(0) rc = SQLITE_OK // Size of zName in bytes @@ -70704,7 +70704,7 @@ __5: goto __8 __7: inFlags = SQLITE_OPEN_WAL - *(*int32)(unsafe.Pointer(bp + 16 /* outFlags */)) = 0 + *(*int32)(unsafe.Pointer(bp + 8 /* outFlags */)) = 0 pShmNode = pNew pNew = uintptr(0) @@ -70737,7 +70737,7 @@ __12: ; rc = winOpen(tls, (*WinFile)(unsafe.Pointer(pDbFd)).FpVfs, (*WinShmNode)(unsafe.Pointer(pShmNode)).FzFilename, (pShmNode + 16 /* &.hFile */), - inFlags, bp+16 /* &outFlags */) + inFlags, bp+8 /* &outFlags */) if !(rc != SQLITE_OK) { goto __13 } @@ -70745,7 +70745,7 @@ __12: goto shm_open_err __13: ; - if !(*(*int32)(unsafe.Pointer(bp + 16 /* outFlags */)) == SQLITE_OPEN_READONLY) { + if !(*(*int32)(unsafe.Pointer(bp + 8 /* outFlags */)) == SQLITE_OPEN_READONLY) { goto __14 } (*WinShmNode)(unsafe.Pointer(pShmNode)).FisReadonly = U8(1) @@ -70833,8 +70833,8 @@ func winShmUnmap(tls *libc.TLS, fd uintptr, deleteFlag int32) int32 { /* sqlite3 // Change the lock state for a shared-memory segment. func winShmLock(tls *libc.TLS, fd uintptr, ofst int32, n int32, flags int32) int32 { /* sqlite3.c:46427:12: */ - bp := tls.Alloc(48) - defer tls.Free(48) + bp := tls.Alloc(40) + defer tls.Free(40) var pDbFd uintptr = fd // Connection holding shared memory var p uintptr = (*WinFile)(unsafe.Pointer(pDbFd)).FpShm // The shared memory being locked @@ -70953,8 +70953,8 @@ func winShmBarrier(tls *libc.TLS, fd uintptr) { /* sqlite3.c:46536:13: */ // address space (if it is not already), *pp is set to point to the mapped // memory and SQLITE_OK returned. func winShmMap(tls *libc.TLS, fd uintptr, iRegion int32, szRegion int32, isWrite int32, pp uintptr) int32 { /* sqlite3.c:46564:12: */ - bp := tls.Alloc(96) - defer tls.Free(96) + bp := tls.Alloc(80) + defer tls.Free(80) var pDbFd uintptr var pShm uintptr @@ -70968,7 +70968,7 @@ func winShmMap(tls *libc.TLS, fd uintptr, iRegion int32, szRegion int32, isWrite var pMap uintptr var apNew uintptr // New aRegion[] array var nByte int32 // Minimum required file size - // var sz Sqlite3_int64 at bp+88, 8 + // var sz Sqlite3_int64 at bp+72, 8 var iOffset1 int32 var iOffsetShift1 int32 @@ -71020,7 +71020,7 @@ __3: // The requested region is not mapped into this processes address space. // Check to see if it has been allocated (i.e. if the wal-index file is // large enough to contain the requested region). - rc = winFileSize(tls, (pShmNode + 16 /* &.hFile */), bp+88 /* &sz */) + rc = winFileSize(tls, (pShmNode + 16 /* &.hFile */), bp+72 /* &sz */) if !(rc != SQLITE_OK) { goto __6 } @@ -71029,7 +71029,7 @@ __3: __6: ; - if !(*(*Sqlite3_int64)(unsafe.Pointer(bp + 88 /* sz */)) < Sqlite3_int64(nByte)) { + if !(*(*Sqlite3_int64)(unsafe.Pointer(bp + 72 /* sz */)) < Sqlite3_int64(nByte)) { goto __7 } // The requested memory region does not exist. If isWrite is set to @@ -71104,7 +71104,7 @@ __14: if !(Xsqlite3OSTrace != 0) { goto __16 } - Xsqlite3DebugPrintf(tls, ts+8456 /* "SHM-MAP-MAP pid=..." */, libc.VaList(bp+40, (*(*func(*libc.TLS) DWORD)(unsafe.Pointer((uintptr(unsafe.Pointer(&aSyscall)) + 17*24 + 8 /* &.pCurrent */))))(tls), (*WinShmNode)(unsafe.Pointer(pShmNode)).FnRegion, iOffset, szRegion, func() uintptr { + Xsqlite3DebugPrintf(tls, ts+8456 /* "SHM-MAP-MAP pid=..." */, libc.VaList(bp+32, (*(*func(*libc.TLS) DWORD)(unsafe.Pointer((uintptr(unsafe.Pointer(&aSyscall)) + 17*24 + 8 /* &.pCurrent */))))(tls), (*WinShmNode)(unsafe.Pointer(pShmNode)).FnRegion, iOffset, szRegion, func() uintptr { if pMap != 0 { return ts + 6164 /* "ok" */ } @@ -71163,8 +71163,8 @@ __21: // Cleans up the mapped region of the specified file, if any. func winUnmapfile(tls *libc.TLS, pFile uintptr) int32 { /* sqlite3.c:46718:12: */ - bp := tls.Alloc(144) - defer tls.Free(144) + bp := tls.Alloc(112) + defer tls.Free(112) if Xsqlite3OSTrace != 0 { Xsqlite3DebugPrintf(tls, ts+8526 /* "UNMAP-FILE pid=%..." */, libc.VaList(bp, (*(*func(*libc.TLS) DWORD)(unsafe.Pointer((uintptr(unsafe.Pointer(&aSyscall)) + 17*24 + 8 /* &.pCurrent */))))(tls), pFile, (*WinFile)(unsafe.Pointer(pFile)).FhMap, (*WinFile)(unsafe.Pointer(pFile)).FpMapRegion, (*WinFile)(unsafe.Pointer(pFile)).FmmapSize, (*WinFile)(unsafe.Pointer(pFile)).FmmapSizeMax)) @@ -71173,7 +71173,7 @@ func winUnmapfile(tls *libc.TLS, pFile uintptr) int32 { /* sqlite3.c:46718:12: * if !((*(*func(*libc.TLS, LPCVOID) WINBOOL)(unsafe.Pointer((uintptr(unsafe.Pointer(&aSyscall)) + 59*24 + 8 /* &.pCurrent */))))(tls, (*WinFile)(unsafe.Pointer(pFile)).FpMapRegion) != 0) { (*WinFile)(unsafe.Pointer(pFile)).FlastErrno = (*(*func(*libc.TLS) DWORD)(unsafe.Pointer((uintptr(unsafe.Pointer(&aSyscall)) + 26*24 + 8 /* &.pCurrent */))))(tls) if Xsqlite3OSTrace != 0 { - Xsqlite3DebugPrintf(tls, ts+8613 /* "UNMAP-FILE pid=%..." */, libc.VaList(bp+56, (*(*func(*libc.TLS) DWORD)(unsafe.Pointer((uintptr(unsafe.Pointer(&aSyscall)) + 17*24 + 8 /* &.pCurrent */))))(tls), pFile, (*WinFile)(unsafe.Pointer(pFile)).FpMapRegion)) + Xsqlite3DebugPrintf(tls, ts+8613 /* "UNMAP-FILE pid=%..." */, libc.VaList(bp+48, (*(*func(*libc.TLS) DWORD)(unsafe.Pointer((uintptr(unsafe.Pointer(&aSyscall)) + 17*24 + 8 /* &.pCurrent */))))(tls), pFile, (*WinFile)(unsafe.Pointer(pFile)).FpMapRegion)) } return winLogErrorAtLine(tls, (SQLITE_IOERR | (int32(24) << 8)), (*WinFile)(unsafe.Pointer(pFile)).FlastErrno, ts+8680 /* "winUnmapfile1" */, (*WinFile)(unsafe.Pointer(pFile)).FzPath, 46730) } @@ -71184,14 +71184,14 @@ func winUnmapfile(tls *libc.TLS, pFile uintptr) int32 { /* sqlite3.c:46718:12: * if !((*(*func(*libc.TLS, HANDLE) WINBOOL)(unsafe.Pointer((uintptr(unsafe.Pointer(&aSyscall)) + 3*24 + 8 /* &.pCurrent */))))(tls, (*WinFile)(unsafe.Pointer(pFile)).FhMap) != 0) { (*WinFile)(unsafe.Pointer(pFile)).FlastErrno = (*(*func(*libc.TLS) DWORD)(unsafe.Pointer((uintptr(unsafe.Pointer(&aSyscall)) + 26*24 + 8 /* &.pCurrent */))))(tls) if Xsqlite3OSTrace != 0 { - Xsqlite3DebugPrintf(tls, ts+8694 /* "UNMAP-FILE pid=%..." */, libc.VaList(bp+88, (*(*func(*libc.TLS) DWORD)(unsafe.Pointer((uintptr(unsafe.Pointer(&aSyscall)) + 17*24 + 8 /* &.pCurrent */))))(tls), pFile, (*WinFile)(unsafe.Pointer(pFile)).FhMap)) + Xsqlite3DebugPrintf(tls, ts+8694 /* "UNMAP-FILE pid=%..." */, libc.VaList(bp+72, (*(*func(*libc.TLS) DWORD)(unsafe.Pointer((uintptr(unsafe.Pointer(&aSyscall)) + 17*24 + 8 /* &.pCurrent */))))(tls), pFile, (*WinFile)(unsafe.Pointer(pFile)).FhMap)) } return winLogErrorAtLine(tls, (SQLITE_IOERR | (int32(24) << 8)), (*WinFile)(unsafe.Pointer(pFile)).FlastErrno, ts+8755 /* "winUnmapfile2" */, (*WinFile)(unsafe.Pointer(pFile)).FzPath, 46741) } (*WinFile)(unsafe.Pointer(pFile)).FhMap = uintptr(0) } if Xsqlite3OSTrace != 0 { - Xsqlite3DebugPrintf(tls, ts+8769 /* "UNMAP-FILE pid=%..." */, libc.VaList(bp+120, (*(*func(*libc.TLS) DWORD)(unsafe.Pointer((uintptr(unsafe.Pointer(&aSyscall)) + 17*24 + 8 /* &.pCurrent */))))(tls), pFile)) + Xsqlite3DebugPrintf(tls, ts+8769 /* "UNMAP-FILE pid=%..." */, libc.VaList(bp+96, (*(*func(*libc.TLS) DWORD)(unsafe.Pointer((uintptr(unsafe.Pointer(&aSyscall)) + 17*24 + 8 /* &.pCurrent */))))(tls), pFile)) } return SQLITE_OK } @@ -71211,10 +71211,10 @@ func winUnmapfile(tls *libc.TLS, pFile uintptr) int32 { /* sqlite3.c:46718:12: * // recreated as a result of outstanding references) or an SQLite error // code otherwise. func winMapfile(tls *libc.TLS, pFd uintptr, nByte Sqlite3_int64) int32 { /* sqlite3.c:46767:12: */ - bp := tls.Alloc(152) - defer tls.Free(152) + bp := tls.Alloc(112) + defer tls.Free(112) - *(*Sqlite3_int64)(unsafe.Pointer(bp + 144 /* nMap */)) = nByte + *(*Sqlite3_int64)(unsafe.Pointer(bp + 104 /* nMap */)) = nByte var rc int32 if Xsqlite3OSTrace != 0 { @@ -71225,43 +71225,43 @@ func winMapfile(tls *libc.TLS, pFd uintptr, nByte Sqlite3_int64) int32 { /* sqli return SQLITE_OK } - if *(*Sqlite3_int64)(unsafe.Pointer(bp + 144 /* nMap */)) < int64(0) { - rc = winFileSize(tls, pFd, bp+144 /* &nMap */) + if *(*Sqlite3_int64)(unsafe.Pointer(bp + 104 /* nMap */)) < int64(0) { + rc = winFileSize(tls, pFd, bp+104 /* &nMap */) if rc != 0 { if Xsqlite3OSTrace != 0 { - Xsqlite3DebugPrintf(tls, ts+8852 /* "MAP-FILE pid=%lu..." */, libc.VaList(bp+32, (*(*func(*libc.TLS) DWORD)(unsafe.Pointer((uintptr(unsafe.Pointer(&aSyscall)) + 17*24 + 8 /* &.pCurrent */))))(tls), pFd)) + Xsqlite3DebugPrintf(tls, ts+8852 /* "MAP-FILE pid=%lu..." */, libc.VaList(bp+24, (*(*func(*libc.TLS) DWORD)(unsafe.Pointer((uintptr(unsafe.Pointer(&aSyscall)) + 17*24 + 8 /* &.pCurrent */))))(tls), pFd)) } return (SQLITE_IOERR | (int32(7) << 8)) } } - if *(*Sqlite3_int64)(unsafe.Pointer(bp + 144 /* nMap */)) > (*WinFile)(unsafe.Pointer(pFd)).FmmapSizeMax { - *(*Sqlite3_int64)(unsafe.Pointer(bp + 144 /* nMap */)) = (*WinFile)(unsafe.Pointer(pFd)).FmmapSizeMax + if *(*Sqlite3_int64)(unsafe.Pointer(bp + 104 /* nMap */)) > (*WinFile)(unsafe.Pointer(pFd)).FmmapSizeMax { + *(*Sqlite3_int64)(unsafe.Pointer(bp + 104 /* nMap */)) = (*WinFile)(unsafe.Pointer(pFd)).FmmapSizeMax } - *(*Sqlite3_int64)(unsafe.Pointer(bp + 144 /* nMap */)) &= ^(Sqlite3_int64(winSysInfo.FdwPageSize - DWORD(1))) + *(*Sqlite3_int64)(unsafe.Pointer(bp + 104 /* nMap */)) &= ^(Sqlite3_int64(winSysInfo.FdwPageSize - DWORD(1))) - if (*(*Sqlite3_int64)(unsafe.Pointer(bp + 144 /* nMap */)) == int64(0)) && ((*WinFile)(unsafe.Pointer(pFd)).FmmapSize > int64(0)) { + if (*(*Sqlite3_int64)(unsafe.Pointer(bp + 104 /* nMap */)) == int64(0)) && ((*WinFile)(unsafe.Pointer(pFd)).FmmapSize > int64(0)) { winUnmapfile(tls, pFd) } - if *(*Sqlite3_int64)(unsafe.Pointer(bp + 144 /* nMap */)) != (*WinFile)(unsafe.Pointer(pFd)).FmmapSize { + if *(*Sqlite3_int64)(unsafe.Pointer(bp + 104 /* nMap */)) != (*WinFile)(unsafe.Pointer(pFd)).FmmapSize { var pNew uintptr = uintptr(0) var protect DWORD = DWORD(PAGE_READONLY) var flags DWORD = DWORD(SECTION_MAP_READ) winUnmapfile(tls, pFd) (*WinFile)(unsafe.Pointer(pFd)).FhMap = (*(*func(*libc.TLS, HANDLE, LPSECURITY_ATTRIBUTES, DWORD, DWORD, DWORD, LPCWSTR) HANDLE)(unsafe.Pointer((uintptr(unsafe.Pointer(&aSyscall)) + 7*24 + 8 /* &.pCurrent */))))(tls, (*WinFile)(unsafe.Pointer(pFd)).Fh, uintptr(0), protect, - (DWORD((*(*Sqlite3_int64)(unsafe.Pointer(bp + 144 /* nMap */)) >> 32) & int64(0xffffffff))), - (DWORD(*(*Sqlite3_int64)(unsafe.Pointer(bp + 144 /* nMap */)) & int64(0xffffffff))), uintptr(0)) + (DWORD((*(*Sqlite3_int64)(unsafe.Pointer(bp + 104 /* nMap */)) >> 32) & int64(0xffffffff))), + (DWORD(*(*Sqlite3_int64)(unsafe.Pointer(bp + 104 /* nMap */)) & int64(0xffffffff))), uintptr(0)) if (*WinFile)(unsafe.Pointer(pFd)).FhMap == (uintptr(0)) { (*WinFile)(unsafe.Pointer(pFd)).FlastErrno = (*(*func(*libc.TLS) DWORD)(unsafe.Pointer((uintptr(unsafe.Pointer(&aSyscall)) + 26*24 + 8 /* &.pCurrent */))))(tls) rc = winLogErrorAtLine(tls, (SQLITE_IOERR | (int32(24) << 8)), (*WinFile)(unsafe.Pointer(pFd)).FlastErrno, ts+8903 /* "winMapfile1" */, (*WinFile)(unsafe.Pointer(pFd)).FzPath, 46818) // Log the error, but continue normal operation using xRead/xWrite if Xsqlite3OSTrace != 0 { - Xsqlite3DebugPrintf(tls, ts+8915 /* "MAP-FILE-CREATE ..." */, libc.VaList(bp+56, (*(*func(*libc.TLS) DWORD)(unsafe.Pointer((uintptr(unsafe.Pointer(&aSyscall)) + 17*24 + 8 /* &.pCurrent */))))(tls), pFd, Xsqlite3ErrName(tls, rc))) + Xsqlite3DebugPrintf(tls, ts+8915 /* "MAP-FILE-CREATE ..." */, libc.VaList(bp+40, (*(*func(*libc.TLS) DWORD)(unsafe.Pointer((uintptr(unsafe.Pointer(&aSyscall)) + 17*24 + 8 /* &.pCurrent */))))(tls), pFd, Xsqlite3ErrName(tls, rc))) } return SQLITE_OK } - pNew = (*(*func(*libc.TLS, HANDLE, DWORD, DWORD, DWORD, SIZE_T) LPVOID)(unsafe.Pointer((uintptr(unsafe.Pointer(&aSyscall)) + 49*24 + 8 /* &.pCurrent */))))(tls, (*WinFile)(unsafe.Pointer(pFd)).FhMap, flags, uint32(0), uint32(0), SIZE_T(*(*Sqlite3_int64)(unsafe.Pointer(bp + 144 /* nMap */)))) + pNew = (*(*func(*libc.TLS, HANDLE, DWORD, DWORD, DWORD, SIZE_T) LPVOID)(unsafe.Pointer((uintptr(unsafe.Pointer(&aSyscall)) + 49*24 + 8 /* &.pCurrent */))))(tls, (*WinFile)(unsafe.Pointer(pFd)).FhMap, flags, uint32(0), uint32(0), SIZE_T(*(*Sqlite3_int64)(unsafe.Pointer(bp + 104 /* nMap */)))) if pNew == (uintptr(0)) { (*(*func(*libc.TLS, HANDLE) WINBOOL)(unsafe.Pointer((uintptr(unsafe.Pointer(&aSyscall)) + 3*24 + 8 /* &.pCurrent */))))(tls, (*WinFile)(unsafe.Pointer(pFd)).FhMap) (*WinFile)(unsafe.Pointer(pFd)).FhMap = uintptr(0) @@ -71269,16 +71269,16 @@ func winMapfile(tls *libc.TLS, pFd uintptr, nByte Sqlite3_int64) int32 { /* sqli rc = winLogErrorAtLine(tls, (SQLITE_IOERR | (int32(24) << 8)), (*WinFile)(unsafe.Pointer(pFd)).FlastErrno, ts+8957 /* "winMapfile2" */, (*WinFile)(unsafe.Pointer(pFd)).FzPath, 46836) // Log the error, but continue normal operation using xRead/xWrite if Xsqlite3OSTrace != 0 { - Xsqlite3DebugPrintf(tls, ts+8969 /* "MAP-FILE-MAP pid..." */, libc.VaList(bp+88, (*(*func(*libc.TLS) DWORD)(unsafe.Pointer((uintptr(unsafe.Pointer(&aSyscall)) + 17*24 + 8 /* &.pCurrent */))))(tls), pFd, Xsqlite3ErrName(tls, rc))) + Xsqlite3DebugPrintf(tls, ts+8969 /* "MAP-FILE-MAP pid..." */, libc.VaList(bp+64, (*(*func(*libc.TLS) DWORD)(unsafe.Pointer((uintptr(unsafe.Pointer(&aSyscall)) + 17*24 + 8 /* &.pCurrent */))))(tls), pFd, Xsqlite3ErrName(tls, rc))) } return SQLITE_OK } (*WinFile)(unsafe.Pointer(pFd)).FpMapRegion = pNew - (*WinFile)(unsafe.Pointer(pFd)).FmmapSize = *(*Sqlite3_int64)(unsafe.Pointer(bp + 144 /* nMap */)) + (*WinFile)(unsafe.Pointer(pFd)).FmmapSize = *(*Sqlite3_int64)(unsafe.Pointer(bp + 104 /* nMap */)) } if Xsqlite3OSTrace != 0 { - Xsqlite3DebugPrintf(tls, ts+9008 /* "MAP-FILE pid=%lu..." */, libc.VaList(bp+120, (*(*func(*libc.TLS) DWORD)(unsafe.Pointer((uintptr(unsafe.Pointer(&aSyscall)) + 17*24 + 8 /* &.pCurrent */))))(tls), pFd)) + Xsqlite3DebugPrintf(tls, ts+9008 /* "MAP-FILE pid=%lu..." */, libc.VaList(bp+88, (*(*func(*libc.TLS) DWORD)(unsafe.Pointer((uintptr(unsafe.Pointer(&aSyscall)) + 17*24 + 8 /* &.pCurrent */))))(tls), pFd)) } return SQLITE_OK } @@ -71294,8 +71294,8 @@ func winMapfile(tls *libc.TLS, pFd uintptr, nByte Sqlite3_int64) int32 { /* sqli // If this function does return a pointer, the caller must eventually // release the reference by calling winUnfetch(). func winFetch(tls *libc.TLS, fd uintptr, iOff I64, nAmt int32, pp uintptr) int32 { /* sqlite3.c:46865:12: */ - bp := tls.Alloc(120) - defer tls.Free(120) + bp := tls.Alloc(96) + defer tls.Free(96) var pFd uintptr = fd // The underlying database file *(*uintptr)(unsafe.Pointer(pp)) = uintptr(0) @@ -71309,7 +71309,7 @@ func winFetch(tls *libc.TLS, fd uintptr, iOff I64, nAmt int32, pp uintptr) int32 var rc int32 = winMapfile(tls, pFd, int64(-1)) if rc != SQLITE_OK { if Xsqlite3OSTrace != 0 { - Xsqlite3DebugPrintf(tls, ts+9106 /* "FETCH pid=%lu, p..." */, libc.VaList(bp+48, (*(*func(*libc.TLS) DWORD)(unsafe.Pointer((uintptr(unsafe.Pointer(&aSyscall)) + 17*24 + 8 /* &.pCurrent */))))(tls), pFd, Xsqlite3ErrName(tls, rc))) + Xsqlite3DebugPrintf(tls, ts+9106 /* "FETCH pid=%lu, p..." */, libc.VaList(bp+40, (*(*func(*libc.TLS) DWORD)(unsafe.Pointer((uintptr(unsafe.Pointer(&aSyscall)) + 17*24 + 8 /* &.pCurrent */))))(tls), pFd, Xsqlite3ErrName(tls, rc))) } return rc } @@ -71322,7 +71322,7 @@ func winFetch(tls *libc.TLS, fd uintptr, iOff I64, nAmt int32, pp uintptr) int32 } if Xsqlite3OSTrace != 0 { - Xsqlite3DebugPrintf(tls, ts+9138 /* "FETCH pid=%lu, p..." */, libc.VaList(bp+80, (*(*func(*libc.TLS) DWORD)(unsafe.Pointer((uintptr(unsafe.Pointer(&aSyscall)) + 17*24 + 8 /* &.pCurrent */))))(tls), fd, pp, *(*uintptr)(unsafe.Pointer(pp)))) + Xsqlite3DebugPrintf(tls, ts+9138 /* "FETCH pid=%lu, p..." */, libc.VaList(bp+64, (*(*func(*libc.TLS) DWORD)(unsafe.Pointer((uintptr(unsafe.Pointer(&aSyscall)) + 17*24 + 8 /* &.pCurrent */))))(tls), fd, pp, *(*uintptr)(unsafe.Pointer(pp)))) } return SQLITE_OK } @@ -71336,8 +71336,8 @@ func winFetch(tls *libc.TLS, fd uintptr, iOff I64, nAmt int32, pp uintptr) int32 // to inform the VFS layer that, according to POSIX, any existing mapping // may now be invalid and should be unmapped. func winUnfetch(tls *libc.TLS, fd uintptr, iOff I64, p uintptr) int32 { /* sqlite3.c:46907:12: */ - bp := tls.Alloc(64) - defer tls.Free(64) + bp := tls.Alloc(48) + defer tls.Free(48) var pFd uintptr = fd // The underlying database file @@ -71362,7 +71362,7 @@ func winUnfetch(tls *libc.TLS, fd uintptr, iOff I64, p uintptr) int32 { /* sqlit } if Xsqlite3OSTrace != 0 { - Xsqlite3DebugPrintf(tls, ts+9238 /* "UNFETCH pid=%lu,..." */, libc.VaList(bp+40, (*(*func(*libc.TLS) DWORD)(unsafe.Pointer((uintptr(unsafe.Pointer(&aSyscall)) + 17*24 + 8 /* &.pCurrent */))))(tls), fd)) + Xsqlite3DebugPrintf(tls, ts+9238 /* "UNFETCH pid=%lu,..." */, libc.VaList(bp+32, (*(*func(*libc.TLS) DWORD)(unsafe.Pointer((uintptr(unsafe.Pointer(&aSyscall)) + 17*24 + 8 /* &.pCurrent */))))(tls), fd)) } return SQLITE_OK } @@ -71474,8 +71474,8 @@ func winMakeEndInDirSep(tls *libc.TLS, nBuf int32, zBuf uintptr) int32 { /* sqli // Create a temporary file name and store the resulting pointer into pzBuf. // The pointer returned in pzBuf must be freed via sqlite3_free(). func winGetTempname(tls *libc.TLS, pVfs uintptr, pzBuf uintptr) int32 { /* sqlite3.c:47083:12: */ - bp := tls.Alloc(64) - defer tls.Free(64) + bp := tls.Alloc(32) + defer tls.Free(32) var i Size_t var j Size_t @@ -71546,7 +71546,7 @@ func winGetTempname(tls *libc.TLS, pVfs uintptr, pzBuf uintptr) int32 { /* sqlit } zMulti = winUnicodeToUtf8(tls, zWidePath) if zMulti != 0 { - Xsqlite3_snprintf(tls, nMax, zBuf, ts+951 /* "%s" */, libc.VaList(bp+16, zMulti)) + Xsqlite3_snprintf(tls, nMax, zBuf, ts+951 /* "%s" */, libc.VaList(bp+8, zMulti)) Xsqlite3_free(tls, zMulti) Xsqlite3_free(tls, zWidePath) } else { @@ -71576,7 +71576,7 @@ func winGetTempname(tls *libc.TLS, pVfs uintptr, pzBuf uintptr) int32 { /* sqlit } zUtf8 = winMbcsToUtf8(tls, zMbcsPath, (*(*func(*libc.TLS) WINBOOL)(unsafe.Pointer((uintptr(unsafe.Pointer(&aSyscall)) + 8 /* &.pCurrent */))))(tls)) if zUtf8 != 0 { - Xsqlite3_snprintf(tls, nMax, zBuf, ts+951 /* "%s" */, libc.VaList(bp+32, zUtf8)) + Xsqlite3_snprintf(tls, nMax, zBuf, ts+951 /* "%s" */, libc.VaList(bp+16, zUtf8)) Xsqlite3_free(tls, zUtf8) } else { Xsqlite3_free(tls, zBuf) @@ -71642,7 +71642,7 @@ __3: *(*uintptr)(unsafe.Pointer(pzBuf)) = zBuf if Xsqlite3OSTrace != 0 { - Xsqlite3DebugPrintf(tls, ts+9478 /* "TEMP-FILENAME na..." */, libc.VaList(bp+48, zBuf)) + Xsqlite3DebugPrintf(tls, ts+9478 /* "TEMP-FILENAME na..." */, libc.VaList(bp+24, zBuf)) } return SQLITE_OK } @@ -71681,11 +71681,11 @@ func winIsDir(tls *libc.TLS, zConverted uintptr) int32 { /* sqlite3.c:47314:12: // Open a file. func winOpen(tls *libc.TLS, pVfs uintptr, zName uintptr, id uintptr, flags int32, pOutFlags uintptr) int32 { /* sqlite3.c:47349:12: */ - bp := tls.Alloc(216) - defer tls.Free(216) + bp := tls.Alloc(168) + defer tls.Free(168) var h HANDLE - *(*DWORD)(unsafe.Pointer(bp + 204 /* lastErrno */)) = DWORD(0) + *(*DWORD)(unsafe.Pointer(bp + 156 /* lastErrno */)) = DWORD(0) var dwDesiredAccess DWORD var dwShareMode DWORD var dwCreationDisposition DWORD @@ -71694,11 +71694,11 @@ func winOpen(tls *libc.TLS, pVfs uintptr, zName uintptr, id uintptr, flags int32 var pFile uintptr = id var zConverted uintptr // Filename in OS encoding var zUtf8Name uintptr = zName // Filename in UTF-8 encoding - *(*int32)(unsafe.Pointer(bp + 200 /* cnt */)) = 0 + *(*int32)(unsafe.Pointer(bp + 152 /* cnt */)) = 0 // If argument zPath is a NULL pointer, this function is required to open // a temporary file. Use this buffer to store the file name in. - *(*uintptr)(unsafe.Pointer(bp + 192 /* zTmpname */)) = uintptr(0) // For temporary filename, if necessary. + *(*uintptr)(unsafe.Pointer(bp + 144 /* zTmpname */)) = uintptr(0) // For temporary filename, if necessary. var rc int32 = SQLITE_OK // Function Return Code @@ -71731,14 +71731,14 @@ func winOpen(tls *libc.TLS, pVfs uintptr, zName uintptr, id uintptr, flags int32 // temporary file name to use if !(zUtf8Name != 0) { - rc = winGetTempname(tls, pVfs, bp+192 /* &zTmpname */) + rc = winGetTempname(tls, pVfs, bp+144 /* &zTmpname */) if rc != SQLITE_OK { if Xsqlite3OSTrace != 0 { - Xsqlite3DebugPrintf(tls, ts+9626 /* "OPEN name=%s, rc..." */, libc.VaList(bp+40, zUtf8Name, Xsqlite3ErrName(tls, rc))) + Xsqlite3DebugPrintf(tls, ts+9626 /* "OPEN name=%s, rc..." */, libc.VaList(bp+32, zUtf8Name, Xsqlite3ErrName(tls, rc))) } return rc } - zUtf8Name = *(*uintptr)(unsafe.Pointer(bp + 192 /* zTmpname */)) + zUtf8Name = *(*uintptr)(unsafe.Pointer(bp + 144 /* zTmpname */)) } // Database filenames are double-zero terminated if they are not @@ -71748,18 +71748,18 @@ func winOpen(tls *libc.TLS, pVfs uintptr, zName uintptr, id uintptr, flags int32 // Convert the filename to the system encoding. zConverted = winConvertFromUtf8Filename(tls, zUtf8Name) if zConverted == uintptr(0) { - Xsqlite3_free(tls, *(*uintptr)(unsafe.Pointer(bp + 192 /* zTmpname */))) + Xsqlite3_free(tls, *(*uintptr)(unsafe.Pointer(bp + 144 /* zTmpname */))) if Xsqlite3OSTrace != 0 { - Xsqlite3DebugPrintf(tls, ts+9646 /* "OPEN name=%s, rc..." */, libc.VaList(bp+64, zUtf8Name)) + Xsqlite3DebugPrintf(tls, ts+9646 /* "OPEN name=%s, rc..." */, libc.VaList(bp+48, zUtf8Name)) } return (SQLITE_IOERR | (int32(12) << 8)) } if winIsDir(tls, zConverted) != 0 { Xsqlite3_free(tls, zConverted) - Xsqlite3_free(tls, *(*uintptr)(unsafe.Pointer(bp + 192 /* zTmpname */))) + Xsqlite3_free(tls, *(*uintptr)(unsafe.Pointer(bp + 144 /* zTmpname */))) if Xsqlite3OSTrace != 0 { - Xsqlite3DebugPrintf(tls, ts+9682 /* "OPEN name=%s, rc..." */, libc.VaList(bp+80, zUtf8Name)) + Xsqlite3DebugPrintf(tls, ts+9682 /* "OPEN name=%s, rc..." */, libc.VaList(bp+56, zUtf8Name)) } return (SQLITE_CANTOPEN | (int32(2) << 8)) } @@ -71802,7 +71802,7 @@ func winOpen(tls *libc.TLS, pVfs uintptr, zName uintptr, id uintptr, flags int32 // better if FILE_FLAG_RANDOM_ACCESS is used. Ticket #2699. if (Xsqlite3_os_type == 2) || (Xsqlite3_win32_is_nt(tls) != 0) { - for ok := true; ok; ok = winRetryIoerr(tls, bp+200 /* &cnt */, bp+204 /* &lastErrno */) != 0 { + for ok := true; ok; ok = winRetryIoerr(tls, bp+152 /* &cnt */, bp+156 /* &lastErrno */) != 0 { h = (*(*func(*libc.TLS, LPCWSTR, DWORD, DWORD, LPSECURITY_ATTRIBUTES, DWORD, DWORD, HANDLE) HANDLE)(unsafe.Pointer((uintptr(unsafe.Pointer(&aSyscall)) + 5*24 + 8 /* &.pCurrent */))))(tls, zConverted, dwDesiredAccess, dwShareMode, uintptr(0), @@ -71814,17 +71814,17 @@ func winOpen(tls *libc.TLS, pVfs uintptr, zName uintptr, id uintptr, flags int32 } if isReadWrite != 0 { var rc2 int32 - *(*int32)(unsafe.Pointer(bp + 208 /* isRO */)) = 0 + *(*int32)(unsafe.Pointer(bp + 160 /* isRO */)) = 0 Xsqlite3BeginBenignMalloc(tls) - rc2 = winAccess(tls, pVfs, zName, SQLITE_ACCESS_READ, bp+208 /* &isRO */) + rc2 = winAccess(tls, pVfs, zName, SQLITE_ACCESS_READ, bp+160 /* &isRO */) Xsqlite3EndBenignMalloc(tls) - if (rc2 == SQLITE_OK) && (*(*int32)(unsafe.Pointer(bp + 208 /* isRO */)) != 0) { + if (rc2 == SQLITE_OK) && (*(*int32)(unsafe.Pointer(bp + 160 /* isRO */)) != 0) { break } } } } else { - for ok1 := true; ok1; ok1 = winRetryIoerr(tls, bp+200 /* &cnt */, bp+204 /* &lastErrno */) != 0 { + for ok1 := true; ok1; ok1 = winRetryIoerr(tls, bp+152 /* &cnt */, bp+156 /* &lastErrno */) != 0 { h = (*(*func(*libc.TLS, LPCSTR, DWORD, DWORD, LPSECURITY_ATTRIBUTES, DWORD, DWORD, HANDLE) HANDLE)(unsafe.Pointer((uintptr(unsafe.Pointer(&aSyscall)) + 4*24 + 8 /* &.pCurrent */))))(tls, zConverted, dwDesiredAccess, dwShareMode, uintptr(0), @@ -71836,20 +71836,20 @@ func winOpen(tls *libc.TLS, pVfs uintptr, zName uintptr, id uintptr, flags int32 } if isReadWrite != 0 { var rc2 int32 - *(*int32)(unsafe.Pointer(bp + 212 /* isRO */)) = 0 + *(*int32)(unsafe.Pointer(bp + 164 /* isRO */)) = 0 Xsqlite3BeginBenignMalloc(tls) - rc2 = winAccess(tls, pVfs, zName, SQLITE_ACCESS_READ, bp+212 /* &isRO */) + rc2 = winAccess(tls, pVfs, zName, SQLITE_ACCESS_READ, bp+164 /* &isRO */) Xsqlite3EndBenignMalloc(tls) - if (rc2 == SQLITE_OK) && (*(*int32)(unsafe.Pointer(bp + 212 /* isRO */)) != 0) { + if (rc2 == SQLITE_OK) && (*(*int32)(unsafe.Pointer(bp + 164 /* isRO */)) != 0) { break } } } } - winLogIoerr(tls, *(*int32)(unsafe.Pointer(bp + 200 /* cnt */)), 47580) + winLogIoerr(tls, *(*int32)(unsafe.Pointer(bp + 152 /* cnt */)), 47580) if Xsqlite3OSTrace != 0 { - Xsqlite3DebugPrintf(tls, ts+9731 /* "OPEN file=%p, na..." */, libc.VaList(bp+96, h, zUtf8Name, dwDesiredAccess, func() uintptr { + Xsqlite3DebugPrintf(tls, ts+9731 /* "OPEN file=%p, na..." */, libc.VaList(bp+64, h, zUtf8Name, dwDesiredAccess, func() uintptr { if h == (libc.UintptrFromInt64(int64(-1))) { return ts + 6167 /* "failed" */ } @@ -71859,13 +71859,13 @@ func winOpen(tls *libc.TLS, pVfs uintptr, zName uintptr, id uintptr, flags int32 if h == (libc.UintptrFromInt64(int64(-1))) { Xsqlite3_free(tls, zConverted) - Xsqlite3_free(tls, *(*uintptr)(unsafe.Pointer(bp + 192 /* zTmpname */))) + Xsqlite3_free(tls, *(*uintptr)(unsafe.Pointer(bp + 144 /* zTmpname */))) if (isReadWrite != 0) && !(isExclusive != 0) { return winOpen(tls, pVfs, zName, id, ((flags | SQLITE_OPEN_READONLY) & libc.CplInt32((SQLITE_OPEN_CREATE | SQLITE_OPEN_READWRITE))), pOutFlags) } else { - (*WinFile)(unsafe.Pointer(pFile)).FlastErrno = *(*DWORD)(unsafe.Pointer(bp + 204 /* lastErrno */)) + (*WinFile)(unsafe.Pointer(pFile)).FlastErrno = *(*DWORD)(unsafe.Pointer(bp + 156 /* lastErrno */)) winLogErrorAtLine(tls, SQLITE_CANTOPEN, (*WinFile)(unsafe.Pointer(pFile)).FlastErrno, ts+9773 /* "winOpen" */, zUtf8Name, 47595) return Xsqlite3CantopenError(tls, 47596) } @@ -71880,7 +71880,7 @@ func winOpen(tls *libc.TLS, pVfs uintptr, zName uintptr, id uintptr, flags int32 } if Xsqlite3OSTrace != 0 { - Xsqlite3DebugPrintf(tls, ts+9781 /* "OPEN file=%p, na..." */, libc.VaList(bp+136, h, zUtf8Name, dwDesiredAccess, pOutFlags, func() int32 { + Xsqlite3DebugPrintf(tls, ts+9781 /* "OPEN file=%p, na..." */, libc.VaList(bp+96, h, zUtf8Name, dwDesiredAccess, pOutFlags, func() int32 { if pOutFlags != 0 { return *(*int32)(unsafe.Pointer(pOutFlags)) } @@ -71900,7 +71900,7 @@ func winOpen(tls *libc.TLS, pVfs uintptr, zName uintptr, id uintptr, flags int32 } - Xsqlite3_free(tls, *(*uintptr)(unsafe.Pointer(bp + 192 /* zTmpname */))) + Xsqlite3_free(tls, *(*uintptr)(unsafe.Pointer(bp + 144 /* zTmpname */))) (*Sqlite3_file)(unsafe.Pointer(id)).FpMethods = func() uintptr { if pAppData != 0 { return (*WinVfsAppData)(unsafe.Pointer(pAppData)).FpMethod @@ -71938,13 +71938,13 @@ func winOpen(tls *libc.TLS, pVfs uintptr, zName uintptr, id uintptr, flags int32 // to MX_DELETION_ATTEMPTs deletion attempts are run before giving // up and returning an error. func winDelete(tls *libc.TLS, pVfs uintptr, zFilename uintptr, syncDir int32) int32 { /* sqlite3.c:47672:12: */ - bp := tls.Alloc(72) - defer tls.Free(72) + bp := tls.Alloc(48) + defer tls.Free(48) - *(*int32)(unsafe.Pointer(bp + 64 /* cnt */)) = 0 + *(*int32)(unsafe.Pointer(bp + 40 /* cnt */)) = 0 var rc int32 var attr DWORD - *(*DWORD)(unsafe.Pointer(bp + 68 /* lastErrno */)) = DWORD(0) + *(*DWORD)(unsafe.Pointer(bp + 44 /* lastErrno */)) = DWORD(0) var zConverted uintptr _ = pVfs _ = syncDir @@ -71961,7 +71961,7 @@ func winDelete(tls *libc.TLS, pVfs uintptr, zFilename uintptr, syncDir int32) in zConverted = winConvertFromUtf8Filename(tls, zFilename) if zConverted == uintptr(0) { if Xsqlite3OSTrace != 0 { - Xsqlite3DebugPrintf(tls, ts+9885 /* "DELETE name=%s, ..." */, libc.VaList(bp+24, zFilename)) + Xsqlite3DebugPrintf(tls, ts+9885 /* "DELETE name=%s, ..." */, libc.VaList(bp+16, zFilename)) } return (SQLITE_IOERR | (int32(12) << 8)) } @@ -71969,9 +71969,9 @@ func winDelete(tls *libc.TLS, pVfs uintptr, zFilename uintptr, syncDir int32) in for ok := true; ok; ok = 1 != 0 { attr = (*(*func(*libc.TLS, LPCWSTR) DWORD)(unsafe.Pointer((uintptr(unsafe.Pointer(&aSyscall)) + 21*24 + 8 /* &.pCurrent */))))(tls, zConverted) if attr == (libc.Uint32(libc.Uint32FromInt32(-1))) { - *(*DWORD)(unsafe.Pointer(bp + 68 /* lastErrno */)) = (*(*func(*libc.TLS) DWORD)(unsafe.Pointer((uintptr(unsafe.Pointer(&aSyscall)) + 26*24 + 8 /* &.pCurrent */))))(tls) - if (*(*DWORD)(unsafe.Pointer(bp + 68 /* lastErrno */)) == DWORD(2)) || - (*(*DWORD)(unsafe.Pointer(bp + 68 /* lastErrno */)) == DWORD(3)) { + *(*DWORD)(unsafe.Pointer(bp + 44 /* lastErrno */)) = (*(*func(*libc.TLS) DWORD)(unsafe.Pointer((uintptr(unsafe.Pointer(&aSyscall)) + 26*24 + 8 /* &.pCurrent */))))(tls) + if (*(*DWORD)(unsafe.Pointer(bp + 44 /* lastErrno */)) == DWORD(2)) || + (*(*DWORD)(unsafe.Pointer(bp + 44 /* lastErrno */)) == DWORD(3)) { rc = (SQLITE_IOERR | (int32(23) << 8)) // Already gone? } else { rc = SQLITE_ERROR @@ -71986,7 +71986,7 @@ func winDelete(tls *libc.TLS, pVfs uintptr, zFilename uintptr, syncDir int32) in rc = SQLITE_OK // Deleted OK. break } - if !(winRetryIoerr(tls, bp+64 /* &cnt */, bp+68 /* &lastErrno */) != 0) { + if !(winRetryIoerr(tls, bp+40 /* &cnt */, bp+44 /* &lastErrno */) != 0) { rc = SQLITE_ERROR // No more retries. break } @@ -71995,9 +71995,9 @@ func winDelete(tls *libc.TLS, pVfs uintptr, zFilename uintptr, syncDir int32) in for ok1 := true; ok1; ok1 = 1 != 0 { attr = (*(*func(*libc.TLS, LPCSTR) DWORD)(unsafe.Pointer((uintptr(unsafe.Pointer(&aSyscall)) + 20*24 + 8 /* &.pCurrent */))))(tls, zConverted) if attr == (libc.Uint32(libc.Uint32FromInt32(-1))) { - *(*DWORD)(unsafe.Pointer(bp + 68 /* lastErrno */)) = (*(*func(*libc.TLS) DWORD)(unsafe.Pointer((uintptr(unsafe.Pointer(&aSyscall)) + 26*24 + 8 /* &.pCurrent */))))(tls) - if (*(*DWORD)(unsafe.Pointer(bp + 68 /* lastErrno */)) == DWORD(2)) || - (*(*DWORD)(unsafe.Pointer(bp + 68 /* lastErrno */)) == DWORD(3)) { + *(*DWORD)(unsafe.Pointer(bp + 44 /* lastErrno */)) = (*(*func(*libc.TLS) DWORD)(unsafe.Pointer((uintptr(unsafe.Pointer(&aSyscall)) + 26*24 + 8 /* &.pCurrent */))))(tls) + if (*(*DWORD)(unsafe.Pointer(bp + 44 /* lastErrno */)) == DWORD(2)) || + (*(*DWORD)(unsafe.Pointer(bp + 44 /* lastErrno */)) == DWORD(3)) { rc = (SQLITE_IOERR | (int32(23) << 8)) // Already gone? } else { rc = SQLITE_ERROR @@ -72012,32 +72012,32 @@ func winDelete(tls *libc.TLS, pVfs uintptr, zFilename uintptr, syncDir int32) in rc = SQLITE_OK // Deleted OK. break } - if !(winRetryIoerr(tls, bp+64 /* &cnt */, bp+68 /* &lastErrno */) != 0) { + if !(winRetryIoerr(tls, bp+40 /* &cnt */, bp+44 /* &lastErrno */) != 0) { rc = SQLITE_ERROR // No more retries. break } } } if (rc != 0) && (rc != (SQLITE_IOERR | (int32(23) << 8))) { - rc = winLogErrorAtLine(tls, (SQLITE_IOERR | (int32(10) << 8)), *(*DWORD)(unsafe.Pointer(bp + 68 /* lastErrno */)), ts+9924 /* "winDelete" */, zFilename, 47768) + rc = winLogErrorAtLine(tls, (SQLITE_IOERR | (int32(10) << 8)), *(*DWORD)(unsafe.Pointer(bp + 44 /* lastErrno */)), ts+9924 /* "winDelete" */, zFilename, 47768) } else { - winLogIoerr(tls, *(*int32)(unsafe.Pointer(bp + 64 /* cnt */)), 47770) + winLogIoerr(tls, *(*int32)(unsafe.Pointer(bp + 40 /* cnt */)), 47770) } Xsqlite3_free(tls, zConverted) if Xsqlite3OSTrace != 0 { - Xsqlite3DebugPrintf(tls, ts+9934 /* "DELETE name=%s, ..." */, libc.VaList(bp+40, zFilename, Xsqlite3ErrName(tls, rc))) + Xsqlite3DebugPrintf(tls, ts+9934 /* "DELETE name=%s, ..." */, libc.VaList(bp+24, zFilename, Xsqlite3ErrName(tls, rc))) } return rc } // Check the existence and status of a file. func winAccess(tls *libc.TLS, pVfs uintptr, zFilename uintptr, flags int32, pResOut uintptr) int32 { /* sqlite3.c:47780:12: */ - bp := tls.Alloc(124) - defer tls.Free(124) + bp := tls.Alloc(100) + defer tls.Free(100) var attr DWORD var rc int32 = 0 - *(*DWORD)(unsafe.Pointer(bp + 120 /* lastErrno */)) = DWORD(0) + *(*DWORD)(unsafe.Pointer(bp + 96 /* lastErrno */)) = DWORD(0) var zConverted uintptr _ = pVfs @@ -72053,34 +72053,34 @@ func winAccess(tls *libc.TLS, pVfs uintptr, zFilename uintptr, flags int32, pRes zConverted = winConvertFromUtf8Filename(tls, zFilename) if zConverted == uintptr(0) { if Xsqlite3OSTrace != 0 { - Xsqlite3DebugPrintf(tls, ts+9995 /* "ACCESS name=%s, ..." */, libc.VaList(bp+32, zFilename)) + Xsqlite3DebugPrintf(tls, ts+9995 /* "ACCESS name=%s, ..." */, libc.VaList(bp+24, zFilename)) } return (SQLITE_IOERR | (int32(12) << 8)) } if (Xsqlite3_os_type == 2) || (Xsqlite3_win32_is_nt(tls) != 0) { - *(*int32)(unsafe.Pointer(bp + 116 /* cnt */)) = 0 - // var sAttrData WIN32_FILE_ATTRIBUTE_DATA at bp+80, 36 + *(*int32)(unsafe.Pointer(bp + 92 /* cnt */)) = 0 + // var sAttrData WIN32_FILE_ATTRIBUTE_DATA at bp+56, 36 - libc.Xmemset(tls, bp+80 /* &sAttrData */, 0, uint64(unsafe.Sizeof(WIN32_FILE_ATTRIBUTE_DATA{}))) + libc.Xmemset(tls, bp+56 /* &sAttrData */, 0, uint64(unsafe.Sizeof(WIN32_FILE_ATTRIBUTE_DATA{}))) for !(libc.AssignInt32(&rc, (*(*func(*libc.TLS, LPCWSTR, GET_FILEEX_INFO_LEVELS, LPVOID) WINBOOL)(unsafe.Pointer((uintptr(unsafe.Pointer(&aSyscall)) + 22*24 + 8 /* &.pCurrent */))))(tls, zConverted, GetFileExInfoStandard, - bp+80 /* &sAttrData */)) != 0) && (winRetryIoerr(tls, bp+116 /* &cnt */, bp+120 /* &lastErrno */) != 0) { + bp+56 /* &sAttrData */)) != 0) && (winRetryIoerr(tls, bp+92 /* &cnt */, bp+96 /* &lastErrno */) != 0) { } if rc != 0 { // For an SQLITE_ACCESS_EXISTS query, treat a zero-length file // as if it does not exist. if ((flags == SQLITE_ACCESS_EXISTS) && - ((*WIN32_FILE_ATTRIBUTE_DATA)(unsafe.Pointer(bp+80 /* &sAttrData */)).FnFileSizeHigh == DWORD(0))) && - ((*WIN32_FILE_ATTRIBUTE_DATA)(unsafe.Pointer(bp+80 /* &sAttrData */)).FnFileSizeLow == DWORD(0)) { + ((*WIN32_FILE_ATTRIBUTE_DATA)(unsafe.Pointer(bp+56 /* &sAttrData */)).FnFileSizeHigh == DWORD(0))) && + ((*WIN32_FILE_ATTRIBUTE_DATA)(unsafe.Pointer(bp+56 /* &sAttrData */)).FnFileSizeLow == DWORD(0)) { attr = libc.Uint32(libc.Uint32FromInt32(-1)) } else { - attr = (*WIN32_FILE_ATTRIBUTE_DATA)(unsafe.Pointer(bp + 80 /* &sAttrData */)).FdwFileAttributes + attr = (*WIN32_FILE_ATTRIBUTE_DATA)(unsafe.Pointer(bp + 56 /* &sAttrData */)).FdwFileAttributes } } else { - winLogIoerr(tls, *(*int32)(unsafe.Pointer(bp + 116 /* cnt */)), 47820) - if (*(*DWORD)(unsafe.Pointer(bp + 120 /* lastErrno */)) != DWORD(2)) && (*(*DWORD)(unsafe.Pointer(bp + 120 /* lastErrno */)) != DWORD(3)) { + winLogIoerr(tls, *(*int32)(unsafe.Pointer(bp + 92 /* cnt */)), 47820) + if (*(*DWORD)(unsafe.Pointer(bp + 96 /* lastErrno */)) != DWORD(2)) && (*(*DWORD)(unsafe.Pointer(bp + 96 /* lastErrno */)) != DWORD(3)) { Xsqlite3_free(tls, zConverted) - return winLogErrorAtLine(tls, (SQLITE_IOERR | (int32(13) << 8)), *(*DWORD)(unsafe.Pointer(bp + 120 /* lastErrno */)), ts+10034 /* "winAccess" */, zFilename, 47823) + return winLogErrorAtLine(tls, (SQLITE_IOERR | (int32(13) << 8)), *(*DWORD)(unsafe.Pointer(bp + 96 /* lastErrno */)), ts+10034 /* "winAccess" */, zFilename, 47823) } else { attr = libc.Uint32(libc.Uint32FromInt32(-1)) } @@ -72103,7 +72103,7 @@ func winAccess(tls *libc.TLS, pVfs uintptr, zFilename uintptr, flags int32, pRes } *(*int32)(unsafe.Pointer(pResOut)) = rc if Xsqlite3OSTrace != 0 { - Xsqlite3DebugPrintf(tls, ts+10044 /* "ACCESS name=%s, ..." */, libc.VaList(bp+48, zFilename, pResOut, *(*int32)(unsafe.Pointer(pResOut)))) + Xsqlite3DebugPrintf(tls, ts+10044 /* "ACCESS name=%s, ..." */, libc.VaList(bp+32, zFilename, pResOut, *(*int32)(unsafe.Pointer(pResOut)))) } return SQLITE_OK } @@ -72152,8 +72152,8 @@ func winIsVerbatimPathname(tls *libc.TLS, zPathname uintptr) WINBOOL { /* sqlite // pathname into zOut[]. zOut[] will be at least pVfs->mxPathname // bytes in size. func winFullPathname(tls *libc.TLS, pVfs uintptr, zRelative uintptr, nFull int32, zFull uintptr) int32 { /* sqlite3.c:47917:12: */ - bp := tls.Alloc(48) - defer tls.Free(48) + bp := tls.Alloc(32) + defer tls.Free(32) var nByte DWORD var zConverted uintptr @@ -72244,7 +72244,7 @@ func winFullPathname(tls *libc.TLS, pVfs uintptr, zRelative uintptr, nFull int32 return nFull } return (*Sqlite3_vfs)(unsafe.Pointer(pVfs)).FmxPathname - }(), zFull, ts+951 /* "%s" */, libc.VaList(bp+32, zOut)) + }(), zFull, ts+951 /* "%s" */, libc.VaList(bp+24, zOut)) Xsqlite3_free(tls, zOut) return SQLITE_OK } else { @@ -72256,8 +72256,8 @@ func winFullPathname(tls *libc.TLS, pVfs uintptr, zRelative uintptr, nFull int32 // Interfaces for opening a shared library, finding entry points // within the shared library, and closing the shared library. func winDlOpen(tls *libc.TLS, pVfs uintptr, zFilename uintptr) uintptr { /* sqlite3.c:48102:13: */ - bp := tls.Alloc(48) - defer tls.Free(48) + bp := tls.Alloc(32) + defer tls.Free(32) var h HANDLE var zConverted uintptr = winConvertFromUtf8Filename(tls, zFilename) @@ -72274,7 +72274,7 @@ func winDlOpen(tls *libc.TLS, pVfs uintptr, zFilename uintptr) uintptr { /* sqli h = (*(*func(*libc.TLS, LPCSTR) HMODULE)(unsafe.Pointer((uintptr(unsafe.Pointer(&aSyscall)) + 44*24 + 8 /* &.pCurrent */))))(tls, zConverted) } if Xsqlite3OSTrace != 0 { - Xsqlite3DebugPrintf(tls, ts+10174 /* "DLOPEN name=%s, ..." */, libc.VaList(bp+24, zFilename, h)) + Xsqlite3DebugPrintf(tls, ts+10174 /* "DLOPEN name=%s, ..." */, libc.VaList(bp+16, zFilename, h)) } Xsqlite3_free(tls, zConverted) return h @@ -72286,8 +72286,8 @@ func winDlError(tls *libc.TLS, pVfs uintptr, nBuf int32, zBufOut uintptr) { /* s } func winDlSym(tls *libc.TLS, pVfs uintptr, pH uintptr, zSym uintptr) uintptr { /* sqlite3.c:48147:13: */ - bp := tls.Alloc(32) - defer tls.Free(32) + bp := tls.Alloc(24) + defer tls.Free(24) var proc FARPROC _ = pVfs @@ -72299,8 +72299,8 @@ func winDlSym(tls *libc.TLS, pVfs uintptr, pH uintptr, zSym uintptr) uintptr { / } func winDlClose(tls *libc.TLS, pVfs uintptr, pHandle uintptr) { /* sqlite3.c:48155:13: */ - bp := tls.Alloc(16) - defer tls.Free(16) + bp := tls.Alloc(8) + defer tls.Free(8) _ = pVfs (*(*func(*libc.TLS, HMODULE) WINBOOL)(unsafe.Pointer((uintptr(unsafe.Pointer(&aSyscall)) + 16*24 + 8 /* &.pCurrent */))))(tls, pHandle) @@ -72842,8 +72842,8 @@ func memdbLock(tls *libc.TLS, pFile uintptr, eLock int32) int32 { /* sqlite3.c:4 // File control method. For custom operations on an memdb-file. func memdbFileControl(tls *libc.TLS, pFile uintptr, op int32, pArg uintptr) int32 { /* sqlite3.c:48940:12: */ - bp := tls.Alloc(24) - defer tls.Free(24) + bp := tls.Alloc(16) + defer tls.Free(16) var p uintptr = (*MemFile)(unsafe.Pointer(pFile)).FpStore var rc int32 = SQLITE_NOTFOUND @@ -72988,8 +72988,8 @@ func memdbAccess(tls *libc.TLS, pVfs uintptr, zPath uintptr, flags int32, pResOu // to the pathname in zPath. zOut is guaranteed to point to a buffer // of at least (INST_MAX_PATHNAME+1) bytes. func memdbFullPathname(tls *libc.TLS, pVfs uintptr, zPath uintptr, nOut int32, zOut uintptr) int32 { /* sqlite3.c:49133:12: */ - bp := tls.Alloc(16) - defer tls.Free(16) + bp := tls.Alloc(8) + defer tls.Free(8) _ = pVfs Xsqlite3_snprintf(tls, nOut, zOut, ts+951 /* "%s" */, libc.VaList(bp, zPath)) @@ -73064,15 +73064,15 @@ func memdbFromDbSchema(tls *libc.TLS, db uintptr, zSchema uintptr) uintptr { /* // Return the serialization of a database func Xsqlite3_serialize(tls *libc.TLS, db uintptr, zSchema uintptr, piSize uintptr, mFlags uint32) uintptr { /* sqlite3.c:49226:26: */ - bp := tls.Alloc(32) - defer tls.Free(32) + bp := tls.Alloc(24) + defer tls.Free(24) var p uintptr var iDb int32 var pBt uintptr var sz Sqlite3_int64 var szPage int32 = 0 - *(*uintptr)(unsafe.Pointer(bp + 16 /* pStmt */)) = uintptr(0) + *(*uintptr)(unsafe.Pointer(bp + 8 /* pStmt */)) = uintptr(0) var pOut uintptr var zSql uintptr var rc int32 @@ -73111,7 +73111,7 @@ func Xsqlite3_serialize(tls *libc.TLS, db uintptr, zSchema uintptr, piSize uintp szPage = Xsqlite3BtreeGetPageSize(tls, pBt) zSql = Xsqlite3_mprintf(tls, ts+10333 /* "PRAGMA \"%w\".page..." */, libc.VaList(bp, zSchema)) if zSql != 0 { - rc = Xsqlite3_prepare_v2(tls, db, zSql, -1, bp+16 /* &pStmt */, uintptr(0)) + rc = Xsqlite3_prepare_v2(tls, db, zSql, -1, bp+8 /* &pStmt */, uintptr(0)) } else { rc = SQLITE_NOMEM } @@ -73119,11 +73119,11 @@ func Xsqlite3_serialize(tls *libc.TLS, db uintptr, zSchema uintptr, piSize uintp if rc != 0 { return uintptr(0) } - rc = Xsqlite3_step(tls, *(*uintptr)(unsafe.Pointer(bp + 16 /* pStmt */))) + rc = Xsqlite3_step(tls, *(*uintptr)(unsafe.Pointer(bp + 8 /* pStmt */))) if rc != SQLITE_ROW { pOut = uintptr(0) } else { - sz = (Xsqlite3_column_int64(tls, *(*uintptr)(unsafe.Pointer(bp + 16 /* pStmt */)), 0) * Sqlite_int64(szPage)) + sz = (Xsqlite3_column_int64(tls, *(*uintptr)(unsafe.Pointer(bp + 8 /* pStmt */)), 0) * Sqlite_int64(szPage)) if piSize != 0 { *(*Sqlite3_int64)(unsafe.Pointer(piSize)) = sz } @@ -73132,40 +73132,40 @@ func Xsqlite3_serialize(tls *libc.TLS, db uintptr, zSchema uintptr, piSize uintp } else { pOut = Xsqlite3_malloc64(tls, uint64(sz)) if pOut != 0 { - var nPage int32 = Xsqlite3_column_int(tls, *(*uintptr)(unsafe.Pointer(bp + 16 /* pStmt */)), 0) + var nPage int32 = Xsqlite3_column_int(tls, *(*uintptr)(unsafe.Pointer(bp + 8 /* pStmt */)), 0) var pPager uintptr = Xsqlite3BtreePager(tls, pBt) var pgno int32 for pgno = 1; pgno <= nPage; pgno++ { - *(*uintptr)(unsafe.Pointer(bp + 24 /* pPage */)) = uintptr(0) + *(*uintptr)(unsafe.Pointer(bp + 16 /* pPage */)) = uintptr(0) var pTo uintptr = (pOut + uintptr((Sqlite3_int64(szPage) * (Sqlite3_int64(pgno - 1))))) - rc = Xsqlite3PagerGet(tls, pPager, uint32(pgno), bp+24 /* &pPage */, 0) + rc = Xsqlite3PagerGet(tls, pPager, uint32(pgno), bp+16 /* &pPage */, 0) if rc == SQLITE_OK { - libc.Xmemcpy(tls, pTo, Xsqlite3PagerGetData(tls, *(*uintptr)(unsafe.Pointer(bp + 24 /* pPage */))), uint64(szPage)) + libc.Xmemcpy(tls, pTo, Xsqlite3PagerGetData(tls, *(*uintptr)(unsafe.Pointer(bp + 16 /* pPage */))), uint64(szPage)) } else { libc.Xmemset(tls, pTo, 0, uint64(szPage)) } - Xsqlite3PagerUnref(tls, *(*uintptr)(unsafe.Pointer(bp + 24 /* pPage */))) + Xsqlite3PagerUnref(tls, *(*uintptr)(unsafe.Pointer(bp + 16 /* pPage */))) } } } } - Xsqlite3_finalize(tls, *(*uintptr)(unsafe.Pointer(bp + 16 /* pStmt */))) + Xsqlite3_finalize(tls, *(*uintptr)(unsafe.Pointer(bp + 8 /* pStmt */))) return pOut } // Convert zSchema to a MemDB and initialize its content. func Xsqlite3_deserialize(tls *libc.TLS, db uintptr, zSchema uintptr, pData uintptr, szDb Sqlite3_int64, szBuf Sqlite3_int64, mFlags uint32) int32 { /* sqlite3.c:49307:16: */ - bp := tls.Alloc(24) - defer tls.Free(24) + bp := tls.Alloc(16) + defer tls.Free(16) var p uintptr var zSql uintptr - // var pStmt uintptr at bp+16, 8 + // var pStmt uintptr at bp+8, 8 var rc int32 var iDb int32 var pStore uintptr - *(*uintptr)(unsafe.Pointer(bp + 16 /* pStmt */)) = uintptr(0) + *(*uintptr)(unsafe.Pointer(bp + 8 /* pStmt */)) = uintptr(0) Xsqlite3_mutex_enter(tls, (*Sqlite3)(unsafe.Pointer(db)).Fmutex) if !(zSchema == uintptr(0)) { @@ -73189,7 +73189,7 @@ __2: rc = SQLITE_NOMEM goto __4 __3: - rc = Xsqlite3_prepare_v2(tls, db, zSql, -1, bp+16 /* &pStmt */, uintptr(0)) + rc = Xsqlite3_prepare_v2(tls, db, zSql, -1, bp+8 /* &pStmt */, uintptr(0)) Xsqlite3_free(tls, zSql) __4: ; @@ -73201,7 +73201,7 @@ __5: ; (*Sqlite3)(unsafe.Pointer(db)).Finit.FiDb = U8(iDb) libc.SetBitFieldPtr8Uint32(db+184 /* &.init */ +8 /* &.reopenMemdb */, uint32(1), 2, 0x4) - rc = Xsqlite3_step(tls, *(*uintptr)(unsafe.Pointer(bp + 16 /* pStmt */))) + rc = Xsqlite3_step(tls, *(*uintptr)(unsafe.Pointer(bp + 8 /* pStmt */))) libc.SetBitFieldPtr8Uint32(db+184 /* &.init */ +8 /* &.reopenMemdb */, uint32(0), 2, 0x4) if !(rc != SQLITE_DONE) { goto __6 @@ -73235,7 +73235,7 @@ __8: ; end_deserialize: - Xsqlite3_finalize(tls, *(*uintptr)(unsafe.Pointer(bp + 16 /* pStmt */))) + Xsqlite3_finalize(tls, *(*uintptr)(unsafe.Pointer(bp + 8 /* pStmt */))) if !((pData != 0) && ((mFlags & uint32(SQLITE_DESERIALIZE_FREEONCLOSE)) != uint32(0))) { goto __10 } @@ -75381,8 +75381,8 @@ func pcache1Destroy(tls *libc.TLS, p uintptr) { /* sqlite3.c:51864:13: */ // install the default pluggable cache module, assuming the user has not // already provided an alternative. func Xsqlite3PCacheSetDefault(tls *libc.TLS) { /* sqlite3.c:51887:21: */ - bp := tls.Alloc(16) - defer tls.Free(16) + bp := tls.Alloc(8) + defer tls.Free(8) Xsqlite3_config(tls, SQLITE_CONFIG_PCACHE2, libc.VaList(bp, uintptr(unsafe.Pointer(&defaultMethods1)))) } @@ -78421,35 +78421,35 @@ func setSectorSize(tls *libc.TLS, pPager uintptr) { /* sqlite3.c:55315:13: */ // back any content. If the journal is merely persistent, no reset is // needed. func pager_playback(tls *libc.TLS, pPager uintptr, isHot int32) int32 { /* sqlite3.c:55388:12: */ - bp := tls.Alloc(48) - defer tls.Free(48) + bp := tls.Alloc(40) + defer tls.Free(40) var pVfs uintptr - // var szJ I64 at bp+24, 8 + // var szJ I64 at bp+16, 8 // Size of the journal file in bytes - // var nRec U32 at bp+36, 4 + // var nRec U32 at bp+28, 4 // Number of Records in the journal var u U32 // Unsigned loop counter - // var mxPg Pgno at bp+40, 4 + // var mxPg Pgno at bp+32, 4 // Size of the original file in pages var rc int32 // Result code of a subroutine - // var res int32 at bp+32, 4 + // var res int32 at bp+24, 4 // Value returned by sqlite3OsAccess() var zSuper uintptr // Name of super-journal file if any var needPagerReset int32 // True to reset page prior to first page rollback var nPlayback int32 // Total number of pages restored from journal - // var savedPageSize U32 at bp+44, 4 + // var savedPageSize U32 at bp+36, 4 pVfs = (*Pager)(unsafe.Pointer(pPager)).FpVfs - *(*Pgno)(unsafe.Pointer(bp + 40 /* mxPg */)) = Pgno(0) - *(*int32)(unsafe.Pointer(bp + 32 /* res */)) = 1 + *(*Pgno)(unsafe.Pointer(bp + 32 /* mxPg */)) = Pgno(0) + *(*int32)(unsafe.Pointer(bp + 24 /* res */)) = 1 zSuper = uintptr(0) nPlayback = 0 - *(*U32)(unsafe.Pointer(bp + 44 /* savedPageSize */)) = U32((*Pager)(unsafe.Pointer(pPager)).FpageSize) + *(*U32)(unsafe.Pointer(bp + 36 /* savedPageSize */)) = U32((*Pager)(unsafe.Pointer(pPager)).FpageSize) // Figure out how many records are in the journal. Abort early if // the journal is empty. - rc = Xsqlite3OsFileSize(tls, (*Pager)(unsafe.Pointer(pPager)).Fjfd, bp+24 /* &szJ */) + rc = Xsqlite3OsFileSize(tls, (*Pager)(unsafe.Pointer(pPager)).Fjfd, bp+16 /* &szJ */) if !(rc != SQLITE_OK) { goto __1 } @@ -78472,11 +78472,11 @@ __1: if !((rc == SQLITE_OK) && (*(*int8)(unsafe.Pointer(zSuper)) != 0)) { goto __2 } - rc = Xsqlite3OsAccess(tls, pVfs, zSuper, SQLITE_ACCESS_EXISTS, bp+32 /* &res */) + rc = Xsqlite3OsAccess(tls, pVfs, zSuper, SQLITE_ACCESS_EXISTS, bp+24 /* &res */) __2: ; zSuper = uintptr(0) - if !((rc != SQLITE_OK) || !(*(*int32)(unsafe.Pointer(bp + 32 /* res */)) != 0)) { + if !((rc != SQLITE_OK) || !(*(*int32)(unsafe.Pointer(bp + 24 /* res */)) != 0)) { goto __3 } goto end_playback @@ -78496,7 +78496,7 @@ __4: // not enough bytes left in the journal file for a complete header, or // it is corrupted, then a process must have failed while writing it. // This indicates nothing more needs to be rolled back. - rc = readJournalHdr(tls, pPager, isHot, *(*I64)(unsafe.Pointer(bp + 24 /* szJ */)), bp+36 /* &nRec */, bp+40 /* &mxPg */) + rc = readJournalHdr(tls, pPager, isHot, *(*I64)(unsafe.Pointer(bp + 16 /* szJ */)), bp+28 /* &nRec */, bp+32 /* &mxPg */) if !(rc != SQLITE_OK) { goto __6 } @@ -78514,11 +78514,11 @@ __6: // working in no-sync mode. This means that the rest of the journal // file consists of pages, there are no more journal headers. Compute // the value of nRec based on this assumption. - if !(*(*U32)(unsafe.Pointer(bp + 36 /* nRec */)) == 0xffffffff) { + if !(*(*U32)(unsafe.Pointer(bp + 28 /* nRec */)) == 0xffffffff) { goto __8 } - *(*U32)(unsafe.Pointer(bp + 36 /* nRec */)) = U32((int32((*(*I64)(unsafe.Pointer(bp + 24 /* szJ */)) - (I64((*Pager)(unsafe.Pointer(pPager)).FsectorSize))) / (I64(((*Pager)(unsafe.Pointer(pPager)).FpageSize) + 8))))) + *(*U32)(unsafe.Pointer(bp + 28 /* nRec */)) = U32((int32((*(*I64)(unsafe.Pointer(bp + 16 /* szJ */)) - (I64((*Pager)(unsafe.Pointer(pPager)).FsectorSize))) / (I64(((*Pager)(unsafe.Pointer(pPager)).FpageSize) + 8))))) __8: ; @@ -78535,10 +78535,10 @@ __8: // the journal, it means that the journal might contain additional // pages that need to be rolled back and that the number of pages // should be computed based on the journal file size. - if !(((*(*U32)(unsafe.Pointer(bp + 36 /* nRec */)) == U32(0)) && !(isHot != 0)) && (((*Pager)(unsafe.Pointer(pPager)).FjournalHdr + (I64((*Pager)(unsafe.Pointer(pPager)).FsectorSize))) == (*Pager)(unsafe.Pointer(pPager)).FjournalOff)) { + if !(((*(*U32)(unsafe.Pointer(bp + 28 /* nRec */)) == U32(0)) && !(isHot != 0)) && (((*Pager)(unsafe.Pointer(pPager)).FjournalHdr + (I64((*Pager)(unsafe.Pointer(pPager)).FsectorSize))) == (*Pager)(unsafe.Pointer(pPager)).FjournalOff)) { goto __9 } - *(*U32)(unsafe.Pointer(bp + 36 /* nRec */)) = U32((int32((*(*I64)(unsafe.Pointer(bp + 24 /* szJ */)) - (*Pager)(unsafe.Pointer(pPager)).FjournalOff) / (I64(((*Pager)(unsafe.Pointer(pPager)).FpageSize) + 8))))) + *(*U32)(unsafe.Pointer(bp + 28 /* nRec */)) = U32((int32((*(*I64)(unsafe.Pointer(bp + 16 /* szJ */)) - (*Pager)(unsafe.Pointer(pPager)).FjournalOff) / (I64(((*Pager)(unsafe.Pointer(pPager)).FpageSize) + 8))))) __9: ; @@ -78547,14 +78547,14 @@ __9: if !((*Pager)(unsafe.Pointer(pPager)).FjournalOff == (I64((*Pager)(unsafe.Pointer(pPager)).FsectorSize))) { goto __10 } - rc = pager_truncate(tls, pPager, *(*Pgno)(unsafe.Pointer(bp + 40 /* mxPg */))) + rc = pager_truncate(tls, pPager, *(*Pgno)(unsafe.Pointer(bp + 32 /* mxPg */))) if !(rc != SQLITE_OK) { goto __11 } goto end_playback __11: ; - (*Pager)(unsafe.Pointer(pPager)).FdbSize = *(*Pgno)(unsafe.Pointer(bp + 40 /* mxPg */)) + (*Pager)(unsafe.Pointer(pPager)).FdbSize = *(*Pgno)(unsafe.Pointer(bp + 32 /* mxPg */)) __10: ; @@ -78562,7 +78562,7 @@ __10: // database file and/or page cache. u = U32(0) __12: - if !(u < *(*U32)(unsafe.Pointer(bp + 36 /* nRec */))) { + if !(u < *(*U32)(unsafe.Pointer(bp + 28 /* nRec */))) { goto __14 } if !(needPagerReset != 0) { @@ -78582,7 +78582,7 @@ __16: if !(rc == SQLITE_DONE) { goto __18 } - (*Pager)(unsafe.Pointer(pPager)).FjournalOff = *(*I64)(unsafe.Pointer(bp + 24 /* szJ */)) + (*Pager)(unsafe.Pointer(pPager)).FjournalOff = *(*I64)(unsafe.Pointer(bp + 16 /* szJ */)) goto __14 goto __19 __18: @@ -78625,7 +78625,7 @@ end_playback: if !(rc == SQLITE_OK) { goto __22 } - rc = Xsqlite3PagerSetPagesize(tls, pPager, bp+44 /* &savedPageSize */, -1) + rc = Xsqlite3PagerSetPagesize(tls, pPager, bp+36 /* &savedPageSize */, -1) __22: ; // Following a rollback, the database file should be back in its original @@ -78669,7 +78669,7 @@ __24: __25: ; - if !(((rc == SQLITE_OK) && (*(*int8)(unsafe.Pointer(zSuper)) != 0)) && (*(*int32)(unsafe.Pointer(bp + 32 /* res */)) != 0)) { + if !(((rc == SQLITE_OK) && (*(*int8)(unsafe.Pointer(zSuper)) != 0)) && (*(*int32)(unsafe.Pointer(bp + 24 /* res */)) != 0)) { goto __26 } // If there was a super-journal and this routine will return success, @@ -84147,28 +84147,28 @@ func walIndexAppend(tls *libc.TLS, pWal uintptr, iFrame U32, iPage U32) int32 { // that this thread is running recovery. If unable to establish // the necessary locks, this routine returns SQLITE_BUSY. func walIndexRecover(tls *libc.TLS, pWal uintptr) int32 { /* sqlite3.c:61503:12: */ - bp := tls.Alloc(88) - defer tls.Free(88) + bp := tls.Alloc(80) + defer tls.Free(80) var rc int32 // Return Code - // var nSize I64 at bp+24, 8 + // var nSize I64 at bp+16, 8 // Size of log file - // var aFrameCksum [2]U32 at bp+80, 8 + // var aFrameCksum [2]U32 at bp+72, 8 var iLock int32 var iOffset I64 - // var pgno U32 at bp+72, 4 + // var pgno U32 at bp+64, 4 // Database page number for frame - // var nTruncate U32 at bp+76, 4 + // var nTruncate U32 at bp+68, 4 - // var aShare uintptr at bp+64, 8 + // var aShare uintptr at bp+56, 8 var iFrame U32 // Index of last frame read var iLast U32 var iFirst U32 var nHdr U32 var nHdr32 U32 - // var aBuf [32]U8 at bp+32, 32 + // var aBuf [32]U8 at bp+24, 32 // Buffer to load WAL header into var aPrivate uintptr // Heap copy of *-shm hash being populated var aFrame uintptr // Malloc'd buffer to load entire frame @@ -84182,7 +84182,7 @@ func walIndexRecover(tls *libc.TLS, pWal uintptr) int32 { /* sqlite3.c:61503:12: var iLastFrame U32 var pInfo uintptr var i int32 - *(*[2]U32)(unsafe.Pointer(bp + 80 /* aFrameCksum */)) = [2]U32{U32(0), U32(0)} // Lock offset to lock for checkpoint + *(*[2]U32)(unsafe.Pointer(bp + 72 /* aFrameCksum */)) = [2]U32{U32(0), U32(0)} // Lock offset to lock for checkpoint // Obtain an exclusive lock on all byte in the locking range not already // locked by the caller. The caller is guaranteed to have locked the @@ -84201,7 +84201,7 @@ __1: libc.Xmemset(tls, (pWal + 72 /* &.hdr */), 0, uint64(unsafe.Sizeof(WalIndexHdr{}))) - rc = Xsqlite3OsFileSize(tls, (*Wal)(unsafe.Pointer(pWal)).FpWalFd, bp+24 /* &nSize */) + rc = Xsqlite3OsFileSize(tls, (*Wal)(unsafe.Pointer(pWal)).FpWalFd, bp+16 /* &nSize */) if !(rc != SQLITE_OK) { goto __2 } @@ -84209,14 +84209,14 @@ __1: __2: ; - if !(*(*I64)(unsafe.Pointer(bp + 24 /* nSize */)) > int64(WAL_HDRSIZE)) { + if !(*(*I64)(unsafe.Pointer(bp + 16 /* nSize */)) > int64(WAL_HDRSIZE)) { goto __3 } // Buffer to load WAL header into aPrivate = uintptr(0) // Heap copy of *-shm hash being populated aFrame = uintptr(0) // Last frame in wal, based on nSize alone // Read in the WAL header. - rc = Xsqlite3OsRead(tls, (*Wal)(unsafe.Pointer(pWal)).FpWalFd, bp+32 /* &aBuf[0] */, WAL_HDRSIZE, int64(0)) + rc = Xsqlite3OsRead(tls, (*Wal)(unsafe.Pointer(pWal)).FpWalFd, bp+24 /* &aBuf[0] */, WAL_HDRSIZE, int64(0)) if !(rc != SQLITE_OK) { goto __4 } @@ -84228,8 +84228,8 @@ __4: // SQLITE_MAX_PAGE_SIZE, conclude that the WAL file contains no valid // data. Similarly, if the 'magic' value is invalid, ignore the whole // WAL file. - magic = Xsqlite3Get4byte(tls, (bp + 32 /* &aBuf */)) - szPage = int32(Xsqlite3Get4byte(tls, (bp + 32 /* &aBuf */ + 8))) + magic = Xsqlite3Get4byte(tls, (bp + 24 /* &aBuf */)) + szPage = int32(Xsqlite3Get4byte(tls, (bp + 24 /* &aBuf */ + 8))) if !(((((magic & 0xFFFFFFFE) != U32(WAL_MAGIC)) || ((szPage & (szPage - 1)) != 0)) || (szPage > SQLITE_MAX_PAGE_SIZE)) || @@ -84241,14 +84241,14 @@ __5: ; (*Wal)(unsafe.Pointer(pWal)).Fhdr.FbigEndCksum = (U8(magic & U32(0x00000001))) (*Wal)(unsafe.Pointer(pWal)).FszPage = U32(szPage) - (*Wal)(unsafe.Pointer(pWal)).FnCkpt = Xsqlite3Get4byte(tls, (bp + 32 /* &aBuf */ + 12)) - libc.Xmemcpy(tls, (pWal + 72 /* &.hdr */ + 32 /* &.aSalt */), (bp + 32 /* &aBuf */ + 16), uint64(8)) + (*Wal)(unsafe.Pointer(pWal)).FnCkpt = Xsqlite3Get4byte(tls, (bp + 24 /* &aBuf */ + 12)) + libc.Xmemcpy(tls, (pWal + 72 /* &.hdr */ + 32 /* &.aSalt */), (bp + 24 /* &aBuf */ + 16), uint64(8)) // Verify that the WAL header checksum is correct walChecksumBytes(tls, (libc.Bool32(int32((*Wal)(unsafe.Pointer(pWal)).Fhdr.FbigEndCksum) == SQLITE_BIGENDIAN)), - bp+32 /* &aBuf[0] */, (WAL_HDRSIZE - (2 * 4)), uintptr(0), pWal+72 /* &.hdr */ +24 /* &.aFrameCksum */) - if !((*(*U32)(unsafe.Pointer((pWal + 72 /* &.hdr */ + 24 /* &.aFrameCksum */))) != Xsqlite3Get4byte(tls, (bp+32 /* &aBuf */ +24))) || - (*(*U32)(unsafe.Pointer((pWal + 72 /* &.hdr */ + 24 /* &.aFrameCksum */) + 1*4)) != Xsqlite3Get4byte(tls, (bp+32 /* &aBuf */ +28)))) { + bp+24 /* &aBuf[0] */, (WAL_HDRSIZE - (2 * 4)), uintptr(0), pWal+72 /* &.hdr */ +24 /* &.aFrameCksum */) + if !((*(*U32)(unsafe.Pointer((pWal + 72 /* &.hdr */ + 24 /* &.aFrameCksum */))) != Xsqlite3Get4byte(tls, (bp+24 /* &aBuf */ +24))) || + (*(*U32)(unsafe.Pointer((pWal + 72 /* &.hdr */ + 24 /* &.aFrameCksum */) + 1*4)) != Xsqlite3Get4byte(tls, (bp+24 /* &aBuf */ +28)))) { goto __6 } goto finished @@ -84257,7 +84257,7 @@ __6: // Verify that the version number on the WAL format is one that // are able to understand - version = Xsqlite3Get4byte(tls, (bp + 32 /* &aBuf */ + 4)) + version = Xsqlite3Get4byte(tls, (bp + 24 /* &aBuf */ + 4)) if !(version != U32(WAL_MAX_VERSION)) { goto __7 } @@ -84280,7 +84280,7 @@ __8: aPrivate = (aData + uintptr(szPage)) // Read all frames from the log file. - iLastFrame = (U32((*(*I64)(unsafe.Pointer(bp + 24 /* nSize */)) - int64(WAL_HDRSIZE)) / I64(szFrame))) + iLastFrame = (U32((*(*I64)(unsafe.Pointer(bp + 16 /* nSize */)) - int64(WAL_HDRSIZE)) / I64(szFrame))) iPg = U32(0) __9: if !(iPg <= U32(walFramePage(tls, iLastFrame))) { @@ -84298,7 +84298,7 @@ __9: } return ((uint64(HASHTABLE_NPAGE) - (((uint64(unsafe.Sizeof(WalIndexHdr{})) * uint64(2)) + uint64(unsafe.Sizeof(WalCkptInfo{}))) / uint64(unsafe.Sizeof(U32(0))))) + (uint64((iPg - U32(1)) * U32(HASHTABLE_NPAGE)))) }()))) - rc = walIndexPage(tls, pWal, int32(iPg), bp+64 /* &aShare */) + rc = walIndexPage(tls, pWal, int32(iPg), bp+56 /* &aShare */) if !(rc != 0) { goto __12 } @@ -84322,14 +84322,14 @@ __13: goto __15 __16: ; - isValid = walDecodeFrame(tls, pWal, bp+72 /* &pgno */, bp+76 /* &nTruncate */, aData, aFrame) + isValid = walDecodeFrame(tls, pWal, bp+64 /* &pgno */, bp+68 /* &nTruncate */, aData, aFrame) if !(!(isValid != 0)) { goto __17 } goto __15 __17: ; - rc = walIndexAppend(tls, pWal, iFrame, *(*U32)(unsafe.Pointer(bp + 72 /* pgno */))) + rc = walIndexAppend(tls, pWal, iFrame, *(*U32)(unsafe.Pointer(bp + 64 /* pgno */))) if !(rc != SQLITE_OK) { goto __18 } @@ -84338,15 +84338,15 @@ __18: ; // If nTruncate is non-zero, this is a commit record. - if !(*(*U32)(unsafe.Pointer(bp + 76 /* nTruncate */)) != 0) { + if !(*(*U32)(unsafe.Pointer(bp + 68 /* nTruncate */)) != 0) { goto __19 } (*Wal)(unsafe.Pointer(pWal)).Fhdr.FmxFrame = iFrame - (*Wal)(unsafe.Pointer(pWal)).Fhdr.FnPage = *(*U32)(unsafe.Pointer(bp + 76 /* nTruncate */)) + (*Wal)(unsafe.Pointer(pWal)).Fhdr.FnPage = *(*U32)(unsafe.Pointer(bp + 68 /* nTruncate */)) (*Wal)(unsafe.Pointer(pWal)).Fhdr.FszPage = (U16((szPage & 0xff00) | (szPage >> 16))) - *(*U32)(unsafe.Pointer(bp + 80 /* &aFrameCksum[0] */)) = *(*U32)(unsafe.Pointer((pWal + 72 /* &.hdr */ + 24 /* &.aFrameCksum */))) - *(*U32)(unsafe.Pointer(bp + 80 /* &aFrameCksum[0] */ + 1*4)) = *(*U32)(unsafe.Pointer((pWal + 72 /* &.hdr */ + 24 /* &.aFrameCksum */) + 1*4)) + *(*U32)(unsafe.Pointer(bp + 72 /* &aFrameCksum[0] */)) = *(*U32)(unsafe.Pointer((pWal + 72 /* &.hdr */ + 24 /* &.aFrameCksum */))) + *(*U32)(unsafe.Pointer(bp + 72 /* &aFrameCksum[0] */ + 1*4)) = *(*U32)(unsafe.Pointer((pWal + 72 /* &.hdr */ + 24 /* &.aFrameCksum */) + 1*4)) __19: ; goto __14 @@ -84356,7 +84356,7 @@ __14: goto __15 __15: ; - *(*uintptr)(unsafe.Pointer((*Wal)(unsafe.Pointer(pWal)).FapWiData + uintptr(iPg)*8)) = *(*uintptr)(unsafe.Pointer(bp + 64 /* aShare */)) + *(*uintptr)(unsafe.Pointer((*Wal)(unsafe.Pointer(pWal)).FapWiData + uintptr(iPg)*8)) = *(*uintptr)(unsafe.Pointer(bp + 56 /* aShare */)) nHdr = func() uint32 { if iPg == U32(0) { return (uint32((uint64(unsafe.Sizeof(WalIndexHdr{})) * uint64(2)) + uint64(unsafe.Sizeof(WalCkptInfo{})))) @@ -84371,7 +84371,7 @@ __15: // do that, according to the spec, but no memcpy() implementation that // we know of actually does that, which is why we say that memcpy() // is safe for this. Memcpy() is certainly a lot faster. - libc.Xmemcpy(tls, (*(*uintptr)(unsafe.Pointer(bp + 64 /* aShare */)) + uintptr(nHdr32)*4), (aPrivate + uintptr(nHdr32)*4), (((uint64(unsafe.Sizeof(Ht_slot(0))) * (uint64(HASHTABLE_NPAGE * 2))) + (uint64(HASHTABLE_NPAGE) * uint64(unsafe.Sizeof(U32(0))))) - uint64(nHdr))) + libc.Xmemcpy(tls, (*(*uintptr)(unsafe.Pointer(bp + 56 /* aShare */)) + uintptr(nHdr32)*4), (aPrivate + uintptr(nHdr32)*4), (((uint64(unsafe.Sizeof(Ht_slot(0))) * (uint64(HASHTABLE_NPAGE * 2))) + (uint64(HASHTABLE_NPAGE) * uint64(unsafe.Sizeof(U32(0))))) - uint64(nHdr))) if !(iFrame <= iLast) { goto __20 } @@ -84394,8 +84394,8 @@ finished: if !(rc == SQLITE_OK) { goto __21 } - *(*U32)(unsafe.Pointer((pWal + 72 /* &.hdr */ + 24 /* &.aFrameCksum */))) = *(*U32)(unsafe.Pointer(bp + 80 /* &aFrameCksum[0] */)) - *(*U32)(unsafe.Pointer((pWal + 72 /* &.hdr */ + 24 /* &.aFrameCksum */) + 1*4)) = *(*U32)(unsafe.Pointer(bp + 80 /* &aFrameCksum[0] */ + 1*4)) + *(*U32)(unsafe.Pointer((pWal + 72 /* &.hdr */ + 24 /* &.aFrameCksum */))) = *(*U32)(unsafe.Pointer(bp + 72 /* &aFrameCksum[0] */)) + *(*U32)(unsafe.Pointer((pWal + 72 /* &.hdr */ + 24 /* &.aFrameCksum */) + 1*4)) = *(*U32)(unsafe.Pointer(bp + 72 /* &aFrameCksum[0] */ + 1*4)) walIndexWriteHdr(tls, pWal) // Reset the checkpoint-header. This is safe because this thread is @@ -85182,15 +85182,15 @@ walcheckpoint_out: // If the WAL file is currently larger than nMax bytes in size, truncate // it to exactly nMax bytes. If an error occurs while doing so, ignore it. func walLimitSize(tls *libc.TLS, pWal uintptr, nMax I64) { /* sqlite3.c:62473:13: */ - bp := tls.Alloc(24) - defer tls.Free(24) + bp := tls.Alloc(16) + defer tls.Free(16) - // var sz I64 at bp+16, 8 + // var sz I64 at bp+8, 8 var rx int32 Xsqlite3BeginBenignMalloc(tls) - rx = Xsqlite3OsFileSize(tls, (*Wal)(unsafe.Pointer(pWal)).FpWalFd, bp+16 /* &sz */) - if (rx == SQLITE_OK) && (*(*I64)(unsafe.Pointer(bp + 16 /* sz */)) > nMax) { + rx = Xsqlite3OsFileSize(tls, (*Wal)(unsafe.Pointer(pWal)).FpWalFd, bp+8 /* &sz */) + if (rx == SQLITE_OK) && (*(*I64)(unsafe.Pointer(bp + 8 /* sz */)) > nMax) { rx = Xsqlite3OsTruncate(tls, (*Wal)(unsafe.Pointer(pWal)).FpWalFd, nMax) } Xsqlite3EndBenignMalloc(tls) @@ -98393,8 +98393,8 @@ func Xsqlite3BtreePager(tls *libc.TLS, p uintptr) uintptr { /* sqlite3.c:75273:2 // Append a message to the error message string. func checkAppendMsg(tls *libc.TLS, pCheck uintptr, zFormat uintptr, va uintptr) { /* sqlite3.c:75281:13: */ - bp := tls.Alloc(24) - defer tls.Free(24) + bp := tls.Alloc(16) + defer tls.Free(16) var ap Va_list _ = ap @@ -98437,15 +98437,15 @@ func setPageReferenced(tls *libc.TLS, pCheck uintptr, iPg Pgno) { /* sqlite3.c:7 // // Also check that the page number is in bounds. func checkRef(tls *libc.TLS, pCheck uintptr, iPage Pgno) int32 { /* sqlite3.c:75333:12: */ - bp := tls.Alloc(32) - defer tls.Free(32) + bp := tls.Alloc(16) + defer tls.Free(16) if (iPage > (*IntegrityCk)(unsafe.Pointer(pCheck)).FnPage) || (iPage == Pgno(0)) { checkAppendMsg(tls, pCheck, ts+10523 /* "invalid page num..." */, libc.VaList(bp, iPage)) return 1 } if getPageReferenced(tls, pCheck, iPage) != 0 { - checkAppendMsg(tls, pCheck, ts+10546 /* "2nd reference to..." */, libc.VaList(bp+16, iPage)) + checkAppendMsg(tls, pCheck, ts+10546 /* "2nd reference to..." */, libc.VaList(bp+8, iPage)) return 1 } if libc.AtomicLoadNInt32(((*IntegrityCk)(unsafe.Pointer(pCheck)).Fdb+400 /* &.u1 */ /* &.isInterrupted */), 0) != 0 { @@ -98459,15 +98459,15 @@ func checkRef(tls *libc.TLS, pCheck uintptr, iPage Pgno) int32 { /* sqlite3.c:75 // page iParent, pointer type ptrType. If not, append an error message // to pCheck. func checkPtrmap(tls *libc.TLS, pCheck uintptr, iChild Pgno, eType U8, iParent Pgno) { /* sqlite3.c:75353:13: */ - bp := tls.Alloc(72) - defer tls.Free(72) + bp := tls.Alloc(56) + defer tls.Free(56) var rc int32 - // var ePtrmapType U8 at bp+64, 1 + // var ePtrmapType U8 at bp+48, 1 - // var iPtrmapParent Pgno at bp+68, 4 + // var iPtrmapParent Pgno at bp+52, 4 - rc = ptrmapGet(tls, (*IntegrityCk)(unsafe.Pointer(pCheck)).FpBt, iChild, bp+64 /* &ePtrmapType */, bp+68 /* &iPtrmapParent */) + rc = ptrmapGet(tls, (*IntegrityCk)(unsafe.Pointer(pCheck)).FpBt, iChild, bp+48 /* &ePtrmapType */, bp+52 /* &iPtrmapParent */) if rc != SQLITE_OK { if (rc == SQLITE_NOMEM) || (rc == (SQLITE_IOERR | (int32(12) << 8))) { (*IntegrityCk)(unsafe.Pointer(pCheck)).FbOomFault = 1 @@ -98476,35 +98476,35 @@ func checkPtrmap(tls *libc.TLS, pCheck uintptr, iChild Pgno, eType U8, iParent P return } - if (int32(*(*U8)(unsafe.Pointer(bp + 64 /* ePtrmapType */))) != int32(eType)) || (*(*Pgno)(unsafe.Pointer(bp + 68 /* iPtrmapParent */)) != iParent) { + if (int32(*(*U8)(unsafe.Pointer(bp + 48 /* ePtrmapType */))) != int32(eType)) || (*(*Pgno)(unsafe.Pointer(bp + 52 /* iPtrmapParent */)) != iParent) { checkAppendMsg(tls, pCheck, ts+10600, /* "Bad ptr map entr..." */ - libc.VaList(bp+16, iChild, int32(eType), iParent, int32(*(*U8)(unsafe.Pointer(bp + 64 /* ePtrmapType */))), *(*Pgno)(unsafe.Pointer(bp + 68 /* iPtrmapParent */)))) + libc.VaList(bp+8, iChild, int32(eType), iParent, int32(*(*U8)(unsafe.Pointer(bp + 48 /* ePtrmapType */))), *(*Pgno)(unsafe.Pointer(bp + 52 /* iPtrmapParent */)))) } } // Check the integrity of the freelist or of an overflow page list. // Verify that the number of pages on the list is N. func checkList(tls *libc.TLS, pCheck uintptr, isFreeList int32, iPage Pgno, N U32) { /* sqlite3.c:75382:13: */ - bp := tls.Alloc(72) - defer tls.Free(72) + bp := tls.Alloc(48) + defer tls.Free(48) var i int32 var expected U32 = N var nErrAtStart int32 = (*IntegrityCk)(unsafe.Pointer(pCheck)).FnErr for (iPage != Pgno(0)) && ((*IntegrityCk)(unsafe.Pointer(pCheck)).FmxErr != 0) { - // var pOvflPage uintptr at bp+64, 8 + // var pOvflPage uintptr at bp+40, 8 var pOvflData uintptr if checkRef(tls, pCheck, iPage) != 0 { break } N-- - if Xsqlite3PagerGet(tls, (*IntegrityCk)(unsafe.Pointer(pCheck)).FpPager, iPage, bp+64 /* &pOvflPage */, 0) != 0 { + if Xsqlite3PagerGet(tls, (*IntegrityCk)(unsafe.Pointer(pCheck)).FpPager, iPage, bp+40 /* &pOvflPage */, 0) != 0 { checkAppendMsg(tls, pCheck, ts+10654 /* "failed to get pa..." */, libc.VaList(bp, iPage)) break } - pOvflData = Xsqlite3PagerGetData(tls, *(*uintptr)(unsafe.Pointer(bp + 64 /* pOvflPage */))) + pOvflData = Xsqlite3PagerGetData(tls, *(*uintptr)(unsafe.Pointer(bp + 40 /* pOvflPage */))) if isFreeList != 0 { var n U32 = Xsqlite3Get4byte(tls, (pOvflData + 4)) if (*BtShared)(unsafe.Pointer((*IntegrityCk)(unsafe.Pointer(pCheck)).FpBt)).FautoVacuum != 0 { @@ -98512,7 +98512,7 @@ func checkList(tls *libc.TLS, pCheck uintptr, isFreeList int32, iPage Pgno, N U3 } if n > (((*BtShared)(unsafe.Pointer((*IntegrityCk)(unsafe.Pointer(pCheck)).FpBt)).FusableSize / U32(4)) - U32(2)) { checkAppendMsg(tls, pCheck, - ts+10676 /* "freelist leaf co..." */, libc.VaList(bp+16, iPage)) + ts+10676 /* "freelist leaf co..." */, libc.VaList(bp+8, iPage)) N-- } else { for i = 0; i < int32(n); i++ { @@ -98534,12 +98534,12 @@ func checkList(tls *libc.TLS, pCheck uintptr, isFreeList int32, iPage Pgno, N U3 } } iPage = Xsqlite3Get4byte(tls, pOvflData) - Xsqlite3PagerUnref(tls, *(*uintptr)(unsafe.Pointer(bp + 64 /* pOvflPage */))) + Xsqlite3PagerUnref(tls, *(*uintptr)(unsafe.Pointer(bp + 40 /* pOvflPage */))) } if (N != 0) && (nErrAtStart == (*IntegrityCk)(unsafe.Pointer(pCheck)).FnErr) { checkAppendMsg(tls, pCheck, ts+10715, /* "%s is %d but sho..." */ - libc.VaList(bp+32, func() uintptr { + libc.VaList(bp+16, func() uintptr { if isFreeList != 0 { return ts + 10741 /* "size" */ } @@ -98621,11 +98621,11 @@ func btreeHeapPull(tls *libc.TLS, aHeap uintptr, pOut uintptr) int32 { /* sqlite // 4. Recursively call checkTreePage on all children. // 5. Verify that the depth of all children is the same. func checkTreePage(tls *libc.TLS, pCheck uintptr, iPage Pgno, piMinKey uintptr, maxKey I64) int32 { /* sqlite3.c:75515:12: */ - bp := tls.Alloc(196) - defer tls.Free(196) - *(*I64)(unsafe.Pointer(bp + 160)) = maxKey + bp := tls.Alloc(140) + defer tls.Free(140) + *(*I64)(unsafe.Pointer(bp + 104)) = maxKey - // var pPage uintptr at bp+152, 8 + // var pPage uintptr at bp+96, 8 // The page being analyzed var i int32 // Loop counter var rc int32 // Result code from subroutine call @@ -98647,7 +98647,7 @@ func checkTreePage(tls *libc.TLS, pCheck uintptr, iPage Pgno, piMinKey uintptr, var usableSize U32 // Usable size of the page var contentOffset U32 // Offset to the start of the cell content area var heap uintptr // Min-heap used for checking cell coverage - // var x U32 at bp+192, 4 + // var x U32 at bp+136, 4 var prev U32 // Next and previous entry on the min-heap var saved_zPfx uintptr @@ -98656,12 +98656,12 @@ func checkTreePage(tls *libc.TLS, pCheck uintptr, iPage Pgno, piMinKey uintptr, var savedIsInit U8 var nPage U32 // Number of pages on the overflow chain var pgnoOvfl Pgno - // var info CellInfo at bp+168, 24 + // var info CellInfo at bp+112, 24 var size U32 var size1 int32 var j int32 - *(*uintptr)(unsafe.Pointer(bp + 152 /* pPage */)) = uintptr(0) + *(*uintptr)(unsafe.Pointer(bp + 96 /* pPage */)) = uintptr(0) depth = -1 doCoverageCheck = 1 keyCanBeEqual = 1 @@ -98689,7 +98689,7 @@ __2: ; (*IntegrityCk)(unsafe.Pointer(pCheck)).FzPfx = ts + 10767 /* "Page %u: " */ (*IntegrityCk)(unsafe.Pointer(pCheck)).Fv1 = iPage - if !((libc.AssignInt32(&rc, btreeGetPage(tls, pBt, iPage, bp+152 /* &pPage */, 0))) != 0) { + if !((libc.AssignInt32(&rc, btreeGetPage(tls, pBt, iPage, bp+96 /* &pPage */, 0))) != 0) { goto __3 } checkAppendMsg(tls, pCheck, @@ -98700,27 +98700,27 @@ __3: // Clear MemPage.isInit to make sure the corruption detection code in // btreeInitPage() is executed. - savedIsInit = (*MemPage)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp + 152 /* pPage */)))).FisInit - (*MemPage)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp + 152 /* pPage */)))).FisInit = U8(0) - if !((libc.AssignInt32(&rc, btreeInitPage(tls, *(*uintptr)(unsafe.Pointer(bp + 152 /* pPage */))))) != 0) { + savedIsInit = (*MemPage)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp + 96 /* pPage */)))).FisInit + (*MemPage)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp + 96 /* pPage */)))).FisInit = U8(0) + if !((libc.AssignInt32(&rc, btreeInitPage(tls, *(*uintptr)(unsafe.Pointer(bp + 96 /* pPage */))))) != 0) { goto __4 } // The only possible error from InitPage checkAppendMsg(tls, pCheck, - ts+10815 /* "btreeInitPage() ..." */, libc.VaList(bp+16, rc)) + ts+10815 /* "btreeInitPage() ..." */, libc.VaList(bp+8, rc)) goto end_of_check __4: ; - if !((libc.AssignInt32(&rc, btreeComputeFreeSpace(tls, *(*uintptr)(unsafe.Pointer(bp + 152 /* pPage */))))) != 0) { + if !((libc.AssignInt32(&rc, btreeComputeFreeSpace(tls, *(*uintptr)(unsafe.Pointer(bp + 96 /* pPage */))))) != 0) { goto __5 } - checkAppendMsg(tls, pCheck, ts+10853 /* "free space corru..." */, libc.VaList(bp+32, rc)) + checkAppendMsg(tls, pCheck, ts+10853 /* "free space corru..." */, libc.VaList(bp+16, rc)) goto end_of_check __5: ; - data = (*MemPage)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp + 152 /* pPage */)))).FaData - hdr = int32((*MemPage)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp + 152 /* pPage */)))).FhdrOffset) + data = (*MemPage)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp + 96 /* pPage */)))).FaData + hdr = int32((*MemPage)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp + 96 /* pPage */)))).FhdrOffset) // Set up for cell analysis (*IntegrityCk)(unsafe.Pointer(pCheck)).FzPfx = ts + 10875 /* "On tree page %u ..." */ @@ -98733,11 +98733,11 @@ __5: // EVIDENCE-OF: R-23882-45353 The cell pointer array of a b-tree page // immediately follows the b-tree page header. - cellStart = ((hdr + 12) - (4 * int32((*MemPage)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp + 152 /* pPage */)))).Fleaf))) + cellStart = ((hdr + 12) - (4 * int32((*MemPage)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp + 96 /* pPage */)))).Fleaf))) pCellIdx = (data + uintptr((cellStart + (2 * (nCell - 1))))) - if !(!(int32((*MemPage)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp + 152 /* pPage */)))).Fleaf) != 0)) { + if !(!(int32((*MemPage)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp + 96 /* pPage */)))).Fleaf) != 0)) { goto __6 } // Analyze the right-child page of internal pages @@ -98749,7 +98749,7 @@ __5: checkPtrmap(tls, pCheck, uint32(pgno), uint8(PTRMAP_BTREE), iPage) __8: ; - depth = checkTreePage(tls, pCheck, uint32(pgno), bp+160 /* &maxKey */, *(*I64)(unsafe.Pointer(bp + 160 /* maxKey */))) + depth = checkTreePage(tls, pCheck, uint32(pgno), bp+104 /* &maxKey */, *(*I64)(unsafe.Pointer(bp + 104 /* maxKey */))) keyCanBeEqual = 0 goto __7 __6: @@ -98777,14 +98777,14 @@ __9: goto __12 } checkAppendMsg(tls, pCheck, ts+10929, /* "Offset %d out of..." */ - libc.VaList(bp+48, pc, contentOffset, (usableSize-U32(4)))) + libc.VaList(bp+24, pc, contentOffset, (usableSize-U32(4)))) doCoverageCheck = 0 goto __10 __12: ; pCell = (data + uintptr(pc)) - (*(*func(*libc.TLS, uintptr, uintptr, uintptr))(unsafe.Pointer((*(*uintptr)(unsafe.Pointer(bp + 152 /* pPage */)) + 128 /* &.xParseCell */))))(tls, *(*uintptr)(unsafe.Pointer(bp + 152 /* pPage */)), pCell, bp+168 /* &info */) - if !((pc + U32((*CellInfo)(unsafe.Pointer(bp+168 /* &info */)).FnSize)) > usableSize) { + (*(*func(*libc.TLS, uintptr, uintptr, uintptr))(unsafe.Pointer((*(*uintptr)(unsafe.Pointer(bp + 96 /* pPage */)) + 128 /* &.xParseCell */))))(tls, *(*uintptr)(unsafe.Pointer(bp + 96 /* pPage */)), pCell, bp+112 /* &info */) + if !((pc + U32((*CellInfo)(unsafe.Pointer(bp+112 /* &info */)).FnSize)) > usableSize) { goto __13 } checkAppendMsg(tls, pCheck, ts+10959 /* "Extends off end ..." */, 0) @@ -98794,32 +98794,32 @@ __13: ; // Check for integer primary key out of range - if !((*MemPage)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp + 152 /* pPage */)))).FintKey != 0) { + if !((*MemPage)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp + 96 /* pPage */)))).FintKey != 0) { goto __14 } if !(func() int32 { if keyCanBeEqual != 0 { - return (libc.Bool32((*CellInfo)(unsafe.Pointer(bp+168 /* &info */)).FnKey > *(*I64)(unsafe.Pointer(bp + 160 /* maxKey */)))) + return (libc.Bool32((*CellInfo)(unsafe.Pointer(bp+112 /* &info */)).FnKey > *(*I64)(unsafe.Pointer(bp + 104 /* maxKey */)))) } - return (libc.Bool32((*CellInfo)(unsafe.Pointer(bp+168 /* &info */)).FnKey >= *(*I64)(unsafe.Pointer(bp + 160 /* maxKey */)))) + return (libc.Bool32((*CellInfo)(unsafe.Pointer(bp+112 /* &info */)).FnKey >= *(*I64)(unsafe.Pointer(bp + 104 /* maxKey */)))) }() != 0) { goto __15 } - checkAppendMsg(tls, pCheck, ts+10983 /* "Rowid %lld out o..." */, libc.VaList(bp+80, (*CellInfo)(unsafe.Pointer(bp+168 /* &info */)).FnKey)) + checkAppendMsg(tls, pCheck, ts+10983 /* "Rowid %lld out o..." */, libc.VaList(bp+48, (*CellInfo)(unsafe.Pointer(bp+112 /* &info */)).FnKey)) __15: ; - *(*I64)(unsafe.Pointer(bp + 160 /* maxKey */)) = (*CellInfo)(unsafe.Pointer(bp + 168 /* &info */)).FnKey + *(*I64)(unsafe.Pointer(bp + 104 /* maxKey */)) = (*CellInfo)(unsafe.Pointer(bp + 112 /* &info */)).FnKey keyCanBeEqual = 0 // Only the first key on the page may ==maxKey __14: ; // Check the content overflow list - if !((*CellInfo)(unsafe.Pointer(bp+168 /* &info */)).FnPayload > U32((*CellInfo)(unsafe.Pointer(bp+168 /* &info */)).FnLocal)) { + if !((*CellInfo)(unsafe.Pointer(bp+112 /* &info */)).FnPayload > U32((*CellInfo)(unsafe.Pointer(bp+112 /* &info */)).FnLocal)) { goto __16 } // First page of the overflow chain - nPage = (((((*CellInfo)(unsafe.Pointer(bp+168 /* &info */)).FnPayload - U32((*CellInfo)(unsafe.Pointer(bp+168 /* &info */)).FnLocal)) + usableSize) - U32(5)) / (usableSize - U32(4))) - pgnoOvfl = Xsqlite3Get4byte(tls, (pCell + uintptr((int32((*CellInfo)(unsafe.Pointer(bp+168 /* &info */)).FnSize) - 4)))) + nPage = (((((*CellInfo)(unsafe.Pointer(bp+112 /* &info */)).FnPayload - U32((*CellInfo)(unsafe.Pointer(bp+112 /* &info */)).FnLocal)) + usableSize) - U32(5)) / (usableSize - U32(4))) + pgnoOvfl = Xsqlite3Get4byte(tls, (pCell + uintptr((int32((*CellInfo)(unsafe.Pointer(bp+112 /* &info */)).FnSize) - 4)))) if !((*BtShared)(unsafe.Pointer(pBt)).FautoVacuum != 0) { goto __17 } @@ -98830,7 +98830,7 @@ __17: __16: ; - if !(!(int32((*MemPage)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp + 152 /* pPage */)))).Fleaf) != 0)) { + if !(!(int32((*MemPage)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp + 96 /* pPage */)))).Fleaf) != 0)) { goto __18 } // Check sanity of left child page for internal pages @@ -98841,7 +98841,7 @@ __16: checkPtrmap(tls, pCheck, uint32(pgno), uint8(PTRMAP_BTREE), iPage) __20: ; - d2 = checkTreePage(tls, pCheck, uint32(pgno), bp+160 /* &maxKey */, *(*I64)(unsafe.Pointer(bp + 160 /* maxKey */))) + d2 = checkTreePage(tls, pCheck, uint32(pgno), bp+104 /* &maxKey */, *(*I64)(unsafe.Pointer(bp + 104 /* maxKey */))) keyCanBeEqual = 0 if !(d2 != depth) { goto __21 @@ -98853,7 +98853,7 @@ __21: goto __19 __18: // Populate the coverage-checking heap for leaf pages - btreeHeapInsert(tls, heap, ((pc << 16) | ((pc + U32((*CellInfo)(unsafe.Pointer(bp+168 /* &info */)).FnSize)) - U32(1)))) + btreeHeapInsert(tls, heap, ((pc << 16) | ((pc + U32((*CellInfo)(unsafe.Pointer(bp+112 /* &info */)).FnSize)) - U32(1)))) __19: ; goto __10 @@ -98863,7 +98863,7 @@ __10: goto __11 __11: ; - *(*I64)(unsafe.Pointer(piMinKey)) = *(*I64)(unsafe.Pointer(bp + 160 /* maxKey */)) + *(*I64)(unsafe.Pointer(piMinKey)) = *(*I64)(unsafe.Pointer(bp + 104 /* maxKey */)) // Check for complete coverage of the page (*IntegrityCk)(unsafe.Pointer(pCheck)).FzPfx = uintptr(0) @@ -98873,7 +98873,7 @@ __11: // For leaf pages, the min-heap has already been initialized and the // cells have already been inserted. But for internal pages, that has // not yet been done, so do it now - if !(!(int32((*MemPage)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp + 152 /* pPage */)))).Fleaf) != 0)) { + if !(!(int32((*MemPage)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp + 96 /* pPage */)))).Fleaf) != 0)) { goto __23 } heap = (*IntegrityCk)(unsafe.Pointer(pCheck)).Fheap @@ -98884,7 +98884,7 @@ __24: goto __26 } pc = U32(libc.X__builtin_bswap16(tls, *(*U16)(unsafe.Pointer((data + uintptr((cellStart + (i * 2)))))))) - size = U32((*(*func(*libc.TLS, uintptr, uintptr) U16)(unsafe.Pointer((*(*uintptr)(unsafe.Pointer(bp + 152 /* pPage */)) + 120 /* &.xCellSize */))))(tls, *(*uintptr)(unsafe.Pointer(bp + 152 /* pPage */)), (data + uintptr(pc)))) + size = U32((*(*func(*libc.TLS, uintptr, uintptr) U16)(unsafe.Pointer((*(*uintptr)(unsafe.Pointer(bp + 96 /* pPage */)) + 120 /* &.xCellSize */))))(tls, *(*uintptr)(unsafe.Pointer(bp + 96 /* pPage */)), (data + uintptr(pc)))) btreeHeapInsert(tls, heap, ((pc << 16) | ((pc + size) - U32(1)))) goto __25 __25: @@ -98937,19 +98937,19 @@ __28: nFrag = 0 prev = (contentOffset - U32(1)) // Implied first min-heap entry __29: - if !(btreeHeapPull(tls, heap, bp+192 /* &x */) != 0) { + if !(btreeHeapPull(tls, heap, bp+136 /* &x */) != 0) { goto __30 } - if !((prev & U32(0xffff)) >= (*(*U32)(unsafe.Pointer(bp + 192 /* x */)) >> 16)) { + if !((prev & U32(0xffff)) >= (*(*U32)(unsafe.Pointer(bp + 136 /* x */)) >> 16)) { goto __31 } checkAppendMsg(tls, pCheck, - ts+11032 /* "Multiple uses fo..." */, libc.VaList(bp+96, (*(*U32)(unsafe.Pointer(bp + 192 /* x */))>>16), iPage)) + ts+11032 /* "Multiple uses fo..." */, libc.VaList(bp+56, (*(*U32)(unsafe.Pointer(bp + 136 /* x */))>>16), iPage)) goto __30 goto __32 __31: - nFrag = int32(U32(nFrag) + (((*(*U32)(unsafe.Pointer(bp + 192 /* x */)) >> 16) - (prev & U32(0xffff))) - U32(1))) - prev = *(*U32)(unsafe.Pointer(bp + 192 /* x */)) + nFrag = int32(U32(nFrag) + (((*(*U32)(unsafe.Pointer(bp + 136 /* x */)) >> 16) - (prev & U32(0xffff))) - U32(1))) + prev = *(*U32)(unsafe.Pointer(bp + 136 /* x */)) __32: ; goto __29 @@ -98965,7 +98965,7 @@ __30: } checkAppendMsg(tls, pCheck, ts+11069, /* "Fragmentation of..." */ - libc.VaList(bp+120, nFrag, int32(*(*U8)(unsafe.Pointer(data + uintptr((hdr + 7))))), iPage)) + libc.VaList(bp+72, nFrag, int32(*(*U8)(unsafe.Pointer(data + uintptr((hdr + 7))))), iPage)) __33: ; __22: @@ -98975,10 +98975,10 @@ end_of_check: if !(!(doCoverageCheck != 0)) { goto __34 } - (*MemPage)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp + 152 /* pPage */)))).FisInit = savedIsInit + (*MemPage)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp + 96 /* pPage */)))).FisInit = savedIsInit __34: ; - releasePage(tls, *(*uintptr)(unsafe.Pointer(bp + 152 /* pPage */))) + releasePage(tls, *(*uintptr)(unsafe.Pointer(bp + 96 /* pPage */))) (*IntegrityCk)(unsafe.Pointer(pCheck)).FzPfx = saved_zPfx (*IntegrityCk)(unsafe.Pointer(pCheck)).Fv1 = Pgno(saved_v1) (*IntegrityCk)(unsafe.Pointer(pCheck)).Fv2 = saved_v2 @@ -99006,21 +99006,21 @@ __34: // the unverified btrees. Except, if aRoot[1] is 1, then the freelist // checks are still performed. func Xsqlite3BtreeIntegrityCheck(tls *libc.TLS, db uintptr, p uintptr, aRoot uintptr, nRoot int32, mxErr int32, pnErr uintptr) uintptr { /* sqlite3.c:75794:21: */ - bp := tls.Alloc(272) - defer tls.Free(272) + bp := tls.Alloc(248) + defer tls.Free(248) var i Pgno - // var sCheck IntegrityCk at bp+56, 104 + // var sCheck IntegrityCk at bp+32, 104 var pBt uintptr var savedDbFlags U64 - // var zErr [100]int8 at bp+160, 100 + // var zErr [100]int8 at bp+136, 100 var bPartial int32 // True if not checking all btrees var bCkFreelist int32 var mx Pgno var mxInHdr Pgno - // var notUsed I64 at bp+264, 8 + // var notUsed I64 at bp+240, 8 pBt = (*Btree)(unsafe.Pointer(p)).FpBt savedDbFlags = (*Sqlite3)(unsafe.Pointer((*BtShared)(unsafe.Pointer(pBt)).Fdb)).Fflags bPartial = 0 @@ -99043,49 +99043,49 @@ __1: Xsqlite3BtreeEnter(tls, p) - (*IntegrityCk)(unsafe.Pointer(bp + 56 /* &sCheck */)).Fdb = db - (*IntegrityCk)(unsafe.Pointer(bp + 56 /* &sCheck */)).FpBt = pBt - (*IntegrityCk)(unsafe.Pointer(bp + 56 /* &sCheck */)).FpPager = (*BtShared)(unsafe.Pointer(pBt)).FpPager - (*IntegrityCk)(unsafe.Pointer(bp + 56 /* &sCheck */)).FnPage = btreePagecount(tls, (*IntegrityCk)(unsafe.Pointer(bp+56 /* &sCheck */)).FpBt) - (*IntegrityCk)(unsafe.Pointer(bp + 56 /* &sCheck */)).FmxErr = mxErr - (*IntegrityCk)(unsafe.Pointer(bp + 56 /* &sCheck */)).FnErr = 0 - (*IntegrityCk)(unsafe.Pointer(bp + 56 /* &sCheck */)).FbOomFault = 0 - (*IntegrityCk)(unsafe.Pointer(bp + 56 /* &sCheck */)).FzPfx = uintptr(0) - (*IntegrityCk)(unsafe.Pointer(bp + 56 /* &sCheck */)).Fv1 = Pgno(0) - (*IntegrityCk)(unsafe.Pointer(bp + 56 /* &sCheck */)).Fv2 = 0 - (*IntegrityCk)(unsafe.Pointer(bp + 56 /* &sCheck */)).FaPgRef = uintptr(0) - (*IntegrityCk)(unsafe.Pointer(bp + 56 /* &sCheck */)).Fheap = uintptr(0) - Xsqlite3StrAccumInit(tls, (bp + 56 /* &sCheck */ + 56 /* &.errMsg */), uintptr(0), bp+160 /* &zErr[0] */, int32(unsafe.Sizeof([100]int8{})), SQLITE_MAX_LENGTH) - (*IntegrityCk)(unsafe.Pointer(bp + 56 /* &sCheck */)).FerrMsg.FprintfFlags = U8(SQLITE_PRINTF_INTERNAL) - if !((*IntegrityCk)(unsafe.Pointer(bp+56 /* &sCheck */)).FnPage == Pgno(0)) { + (*IntegrityCk)(unsafe.Pointer(bp + 32 /* &sCheck */)).Fdb = db + (*IntegrityCk)(unsafe.Pointer(bp + 32 /* &sCheck */)).FpBt = pBt + (*IntegrityCk)(unsafe.Pointer(bp + 32 /* &sCheck */)).FpPager = (*BtShared)(unsafe.Pointer(pBt)).FpPager + (*IntegrityCk)(unsafe.Pointer(bp + 32 /* &sCheck */)).FnPage = btreePagecount(tls, (*IntegrityCk)(unsafe.Pointer(bp+32 /* &sCheck */)).FpBt) + (*IntegrityCk)(unsafe.Pointer(bp + 32 /* &sCheck */)).FmxErr = mxErr + (*IntegrityCk)(unsafe.Pointer(bp + 32 /* &sCheck */)).FnErr = 0 + (*IntegrityCk)(unsafe.Pointer(bp + 32 /* &sCheck */)).FbOomFault = 0 + (*IntegrityCk)(unsafe.Pointer(bp + 32 /* &sCheck */)).FzPfx = uintptr(0) + (*IntegrityCk)(unsafe.Pointer(bp + 32 /* &sCheck */)).Fv1 = Pgno(0) + (*IntegrityCk)(unsafe.Pointer(bp + 32 /* &sCheck */)).Fv2 = 0 + (*IntegrityCk)(unsafe.Pointer(bp + 32 /* &sCheck */)).FaPgRef = uintptr(0) + (*IntegrityCk)(unsafe.Pointer(bp + 32 /* &sCheck */)).Fheap = uintptr(0) + Xsqlite3StrAccumInit(tls, (bp + 32 /* &sCheck */ + 56 /* &.errMsg */), uintptr(0), bp+136 /* &zErr[0] */, int32(unsafe.Sizeof([100]int8{})), SQLITE_MAX_LENGTH) + (*IntegrityCk)(unsafe.Pointer(bp + 32 /* &sCheck */)).FerrMsg.FprintfFlags = U8(SQLITE_PRINTF_INTERNAL) + if !((*IntegrityCk)(unsafe.Pointer(bp+32 /* &sCheck */)).FnPage == Pgno(0)) { goto __3 } goto integrity_ck_cleanup __3: ; - (*IntegrityCk)(unsafe.Pointer(bp + 56 /* &sCheck */)).FaPgRef = Xsqlite3MallocZero(tls, (uint64(((*IntegrityCk)(unsafe.Pointer(bp+56 /* &sCheck */)).FnPage / Pgno(8)) + Pgno(1)))) - if !(!(int32((*IntegrityCk)(unsafe.Pointer(bp+56 /* &sCheck */)).FaPgRef) != 0)) { + (*IntegrityCk)(unsafe.Pointer(bp + 32 /* &sCheck */)).FaPgRef = Xsqlite3MallocZero(tls, (uint64(((*IntegrityCk)(unsafe.Pointer(bp+32 /* &sCheck */)).FnPage / Pgno(8)) + Pgno(1)))) + if !(!(int32((*IntegrityCk)(unsafe.Pointer(bp+32 /* &sCheck */)).FaPgRef) != 0)) { goto __4 } - (*IntegrityCk)(unsafe.Pointer(bp + 56 /* &sCheck */)).FbOomFault = 1 + (*IntegrityCk)(unsafe.Pointer(bp + 32 /* &sCheck */)).FbOomFault = 1 goto integrity_ck_cleanup __4: ; - (*IntegrityCk)(unsafe.Pointer(bp + 56 /* &sCheck */)).Fheap = Xsqlite3PageMalloc(tls, int32((*BtShared)(unsafe.Pointer(pBt)).FpageSize)) - if !((*IntegrityCk)(unsafe.Pointer(bp+56 /* &sCheck */)).Fheap == uintptr(0)) { + (*IntegrityCk)(unsafe.Pointer(bp + 32 /* &sCheck */)).Fheap = Xsqlite3PageMalloc(tls, int32((*BtShared)(unsafe.Pointer(pBt)).FpageSize)) + if !((*IntegrityCk)(unsafe.Pointer(bp+32 /* &sCheck */)).Fheap == uintptr(0)) { goto __5 } - (*IntegrityCk)(unsafe.Pointer(bp + 56 /* &sCheck */)).FbOomFault = 1 + (*IntegrityCk)(unsafe.Pointer(bp + 32 /* &sCheck */)).FbOomFault = 1 goto integrity_ck_cleanup __5: ; i = ((U32(Xsqlite3PendingByte) / ((*BtShared)(unsafe.Pointer(pBt)).FpageSize)) + U32(1)) - if !(i <= (*IntegrityCk)(unsafe.Pointer(bp+56 /* &sCheck */)).FnPage) { + if !(i <= (*IntegrityCk)(unsafe.Pointer(bp+32 /* &sCheck */)).FnPage) { goto __6 } - setPageReferenced(tls, bp+56 /* &sCheck */, i) + setPageReferenced(tls, bp+32 /* &sCheck */, i) __6: ; @@ -99093,10 +99093,10 @@ __6: if !(bCkFreelist != 0) { goto __7 } - (*IntegrityCk)(unsafe.Pointer(bp + 56 /* &sCheck */)).FzPfx = ts + 11121 /* "Main freelist: " */ - checkList(tls, bp+56 /* &sCheck */, 1, Xsqlite3Get4byte(tls, ((*MemPage)(unsafe.Pointer((*BtShared)(unsafe.Pointer(pBt)).FpPage1)).FaData+32)), + (*IntegrityCk)(unsafe.Pointer(bp + 32 /* &sCheck */)).FzPfx = ts + 11121 /* "Main freelist: " */ + checkList(tls, bp+32 /* &sCheck */, 1, Xsqlite3Get4byte(tls, ((*MemPage)(unsafe.Pointer((*BtShared)(unsafe.Pointer(pBt)).FpPage1)).FaData+32)), Xsqlite3Get4byte(tls, ((*MemPage)(unsafe.Pointer((*BtShared)(unsafe.Pointer(pBt)).FpPage1)).FaData+36))) - (*IntegrityCk)(unsafe.Pointer(bp + 56 /* &sCheck */)).FzPfx = uintptr(0) + (*IntegrityCk)(unsafe.Pointer(bp + 32 /* &sCheck */)).FzPfx = uintptr(0) __7: ; @@ -99130,7 +99130,7 @@ __13: if !(mx != mxInHdr) { goto __15 } - checkAppendMsg(tls, bp+56, /* &sCheck */ + checkAppendMsg(tls, bp+32, /* &sCheck */ ts+11137, /* "max rootpage (%d..." */ libc.VaList(bp, mx, mxInHdr)) __15: @@ -99140,7 +99140,7 @@ __9: if !(Xsqlite3Get4byte(tls, ((*MemPage)(unsafe.Pointer((*BtShared)(unsafe.Pointer(pBt)).FpPage1)).FaData+64)) != U32(0)) { goto __16 } - checkAppendMsg(tls, bp+56, /* &sCheck */ + checkAppendMsg(tls, bp+32, /* &sCheck */ ts+11182 /* "incremental_vacu..." */, 0) __16: ; @@ -99152,7 +99152,7 @@ __8: *(*U64)(unsafe.Pointer((*BtShared)(unsafe.Pointer(pBt)).Fdb + 48 /* &.flags */)) &= (libc.CplUint64(uint64(SQLITE_CellSizeCk))) i = Pgno(0) __17: - if !((int32(i) < nRoot) && ((*IntegrityCk)(unsafe.Pointer(bp+56 /* &sCheck */)).FmxErr != 0)) { + if !((int32(i) < nRoot) && ((*IntegrityCk)(unsafe.Pointer(bp+32 /* &sCheck */)).FmxErr != 0)) { goto __19 } if !(*(*Pgno)(unsafe.Pointer(aRoot + uintptr(i)*4)) == Pgno(0)) { @@ -99164,10 +99164,10 @@ __20: if !((((*BtShared)(unsafe.Pointer(pBt)).FautoVacuum != 0) && (*(*Pgno)(unsafe.Pointer(aRoot + uintptr(i)*4)) > Pgno(1))) && !(bPartial != 0)) { goto __21 } - checkPtrmap(tls, bp+56 /* &sCheck */, *(*Pgno)(unsafe.Pointer(aRoot + uintptr(i)*4)), uint8(PTRMAP_ROOTPAGE), uint32(0)) + checkPtrmap(tls, bp+32 /* &sCheck */, *(*Pgno)(unsafe.Pointer(aRoot + uintptr(i)*4)), uint8(PTRMAP_ROOTPAGE), uint32(0)) __21: ; - checkTreePage(tls, bp+56 /* &sCheck */, *(*Pgno)(unsafe.Pointer(aRoot + uintptr(i)*4)), bp+264 /* ¬Used */, (int64(0xffffffff) | (I64((int64(0x7fffffff))) << 32))) + checkTreePage(tls, bp+32 /* &sCheck */, *(*Pgno)(unsafe.Pointer(aRoot + uintptr(i)*4)), bp+240 /* ¬Used */, (int64(0xffffffff) | (I64((int64(0x7fffffff))) << 32))) goto __18 __18: i++ @@ -99183,21 +99183,21 @@ __19: } i = Pgno(1) __23: - if !((i <= (*IntegrityCk)(unsafe.Pointer(bp+56 /* &sCheck */)).FnPage) && ((*IntegrityCk)(unsafe.Pointer(bp+56 /* &sCheck */)).FmxErr != 0)) { + if !((i <= (*IntegrityCk)(unsafe.Pointer(bp+32 /* &sCheck */)).FnPage) && ((*IntegrityCk)(unsafe.Pointer(bp+32 /* &sCheck */)).FmxErr != 0)) { goto __25 } // If the database supports auto-vacuum, make sure no tables contain // references to pointer-map pages. - if !((getPageReferenced(tls, bp+56 /* &sCheck */, i) == 0) && ((ptrmapPageno(tls, pBt, i) != i) || !(int32((*BtShared)(unsafe.Pointer(pBt)).FautoVacuum) != 0))) { + if !((getPageReferenced(tls, bp+32 /* &sCheck */, i) == 0) && ((ptrmapPageno(tls, pBt, i) != i) || !(int32((*BtShared)(unsafe.Pointer(pBt)).FautoVacuum) != 0))) { goto __26 } - checkAppendMsg(tls, bp+56 /* &sCheck */, ts+11237 /* "Page %d is never..." */, libc.VaList(bp+24, i)) + checkAppendMsg(tls, bp+32 /* &sCheck */, ts+11237 /* "Page %d is never..." */, libc.VaList(bp+16, i)) __26: ; - if !((getPageReferenced(tls, bp+56 /* &sCheck */, i) != 0) && ((ptrmapPageno(tls, pBt, i) == i) && ((*BtShared)(unsafe.Pointer(pBt)).FautoVacuum != 0))) { + if !((getPageReferenced(tls, bp+32 /* &sCheck */, i) != 0) && ((ptrmapPageno(tls, pBt, i) == i) && ((*BtShared)(unsafe.Pointer(pBt)).FautoVacuum != 0))) { goto __27 } - checkAppendMsg(tls, bp+56 /* &sCheck */, ts+11259 /* "Pointer map page..." */, libc.VaList(bp+40, i)) + checkAppendMsg(tls, bp+32 /* &sCheck */, ts+11259 /* "Pointer map page..." */, libc.VaList(bp+24, i)) __27: ; goto __24 @@ -99212,26 +99212,26 @@ __22: // Clean up and report errors. integrity_ck_cleanup: - Xsqlite3PageFree(tls, (*IntegrityCk)(unsafe.Pointer(bp+56 /* &sCheck */)).Fheap) - Xsqlite3_free(tls, (*IntegrityCk)(unsafe.Pointer(bp+56 /* &sCheck */)).FaPgRef) - if !((*IntegrityCk)(unsafe.Pointer(bp+56 /* &sCheck */)).FbOomFault != 0) { + Xsqlite3PageFree(tls, (*IntegrityCk)(unsafe.Pointer(bp+32 /* &sCheck */)).Fheap) + Xsqlite3_free(tls, (*IntegrityCk)(unsafe.Pointer(bp+32 /* &sCheck */)).FaPgRef) + if !((*IntegrityCk)(unsafe.Pointer(bp+32 /* &sCheck */)).FbOomFault != 0) { goto __28 } - Xsqlite3_str_reset(tls, (bp + 56 /* &sCheck */ + 56 /* &.errMsg */)) - (*IntegrityCk)(unsafe.Pointer(bp+56 /* &sCheck */)).FnErr++ + Xsqlite3_str_reset(tls, (bp + 32 /* &sCheck */ + 56 /* &.errMsg */)) + (*IntegrityCk)(unsafe.Pointer(bp+32 /* &sCheck */)).FnErr++ __28: ; - *(*int32)(unsafe.Pointer(pnErr)) = (*IntegrityCk)(unsafe.Pointer(bp + 56 /* &sCheck */)).FnErr - if !((*IntegrityCk)(unsafe.Pointer(bp+56 /* &sCheck */)).FnErr == 0) { + *(*int32)(unsafe.Pointer(pnErr)) = (*IntegrityCk)(unsafe.Pointer(bp + 32 /* &sCheck */)).FnErr + if !((*IntegrityCk)(unsafe.Pointer(bp+32 /* &sCheck */)).FnErr == 0) { goto __29 } - Xsqlite3_str_reset(tls, (bp + 56 /* &sCheck */ + 56 /* &.errMsg */)) + Xsqlite3_str_reset(tls, (bp + 32 /* &sCheck */ + 56 /* &.errMsg */)) __29: ; // Make sure this analysis did not leave any unref() pages. Xsqlite3BtreeLeave(tls, p) - return Xsqlite3StrAccumFinish(tls, (bp + 56 /* &sCheck */ + 56 /* &.errMsg */)) + return Xsqlite3StrAccumFinish(tls, (bp + 32 /* &sCheck */ + 56 /* &.errMsg */)) } // Return the full pathname of the underlying database file. Return @@ -99504,30 +99504,30 @@ func Xsqlite3BtreeConnectionCount(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c // function. If an error occurs while doing so, return 0 and write an // error message to pErrorDb. func findBtree(tls *libc.TLS, pErrorDb uintptr, pDb uintptr, zDb uintptr) uintptr { /* sqlite3.c:76305:14: */ - bp := tls.Alloc(440) - defer tls.Free(440) + bp := tls.Alloc(424) + defer tls.Free(424) var i int32 = Xsqlite3FindDbName(tls, pDb, zDb) if i == 1 { - // var sParse Parse at bp+32, 408 + // var sParse Parse at bp+16, 408 var rc int32 = 0 - libc.Xmemset(tls, bp+32 /* &sParse */, 0, uint64(unsafe.Sizeof(Parse{}))) - (*Parse)(unsafe.Pointer(bp + 32 /* &sParse */)).Fdb = pDb - if Xsqlite3OpenTempDatabase(tls, bp+32 /* &sParse */) != 0 { - Xsqlite3ErrorWithMsg(tls, pErrorDb, (*Parse)(unsafe.Pointer(bp+32 /* &sParse */)).Frc, ts+951 /* "%s" */, libc.VaList(bp, (*Parse)(unsafe.Pointer(bp+32 /* &sParse */)).FzErrMsg)) + libc.Xmemset(tls, bp+16 /* &sParse */, 0, uint64(unsafe.Sizeof(Parse{}))) + (*Parse)(unsafe.Pointer(bp + 16 /* &sParse */)).Fdb = pDb + if Xsqlite3OpenTempDatabase(tls, bp+16 /* &sParse */) != 0 { + Xsqlite3ErrorWithMsg(tls, pErrorDb, (*Parse)(unsafe.Pointer(bp+16 /* &sParse */)).Frc, ts+951 /* "%s" */, libc.VaList(bp, (*Parse)(unsafe.Pointer(bp+16 /* &sParse */)).FzErrMsg)) rc = SQLITE_ERROR } - Xsqlite3DbFree(tls, pErrorDb, (*Parse)(unsafe.Pointer(bp+32 /* &sParse */)).FzErrMsg) - Xsqlite3ParserReset(tls, bp+32 /* &sParse */) + Xsqlite3DbFree(tls, pErrorDb, (*Parse)(unsafe.Pointer(bp+16 /* &sParse */)).FzErrMsg) + Xsqlite3ParserReset(tls, bp+16 /* &sParse */) if rc != 0 { return uintptr(0) } } if i < 0 { - Xsqlite3ErrorWithMsg(tls, pErrorDb, SQLITE_ERROR, ts+11293 /* "unknown database..." */, libc.VaList(bp+16, zDb)) + Xsqlite3ErrorWithMsg(tls, pErrorDb, SQLITE_ERROR, ts+11293 /* "unknown database..." */, libc.VaList(bp+8, zDb)) return uintptr(0) } @@ -100175,21 +100175,21 @@ copy_finished: // Render a Mem object which is one of MEM_Int, MEM_Real, or MEM_IntReal // into a buffer. func vdbeMemRenderNum(tls *libc.TLS, sz int32, zBuf uintptr, p uintptr) { /* sqlite3.c:77103:13: */ - bp := tls.Alloc(56) - defer tls.Free(56) + bp := tls.Alloc(48) + defer tls.Free(48) - // var acc StrAccum at bp+24, 32 + // var acc StrAccum at bp+16, 32 if (int32((*Mem)(unsafe.Pointer(p)).Fflags) & MEM_Int) != 0 { // Work-around for GCC bug // https://gcc.gnu.org/bugzilla/show_bug.cgi?id=96270 - // var x I64 at bp+16, 8 + // var x I64 at bp+8, 8 - libc.Xmemcpy(tls, bp+16 /* &x */, (p /* &.u */), (uint64((int32((*Mem)(unsafe.Pointer(p)).Fflags) & MEM_Int) * 2))) - Xsqlite3Int64ToText(tls, *(*I64)(unsafe.Pointer(bp + 16 /* x */)), zBuf) + libc.Xmemcpy(tls, bp+8 /* &x */, (p /* &.u */), (uint64((int32((*Mem)(unsafe.Pointer(p)).Fflags) & MEM_Int) * 2))) + Xsqlite3Int64ToText(tls, *(*I64)(unsafe.Pointer(bp + 8 /* x */)), zBuf) } else { - Xsqlite3StrAccumInit(tls, bp+24 /* &acc */, uintptr(0), zBuf, sz, 0) - Xsqlite3_str_appendf(tls, bp+24 /* &acc */, ts+11384, /* "%!.15g" */ + Xsqlite3StrAccumInit(tls, bp+16 /* &acc */, uintptr(0), zBuf, sz, 0) + Xsqlite3_str_appendf(tls, bp+16 /* &acc */, ts+11384, /* "%!.15g" */ libc.VaList(bp, func() float64 { if (int32((*Mem)(unsafe.Pointer(p)).Fflags) & MEM_IntReal) != 0 { return float64(*(*I64)(unsafe.Pointer(p /* &.u */))) @@ -100197,7 +100197,7 @@ func vdbeMemRenderNum(tls *libc.TLS, sz int32, zBuf uintptr, p uintptr) { /* sql return *(*float64)(unsafe.Pointer(p /* &.u */)) }())) - *(*int8)(unsafe.Pointer(zBuf + uintptr((*StrAccum)(unsafe.Pointer(bp+24 /* &acc */)).FnChar))) = int8(0) // Fast version of sqlite3StrAccumFinish(&acc) + *(*int8)(unsafe.Pointer(zBuf + uintptr((*StrAccum)(unsafe.Pointer(bp+16 /* &acc */)).FnChar))) = int8(0) // Fast version of sqlite3StrAccumFinish(&acc) } } @@ -101257,10 +101257,10 @@ func valueNew(tls *libc.TLS, db uintptr, p uintptr) uintptr { /* sqlite3.c:78324 // and sets (*ppVal) to NULL. Or, if an error occurs, (*ppVal) is set to // NULL and an SQLite error code returned. func valueFromFunction(tls *libc.TLS, db uintptr, p uintptr, enc U8, aff U8, ppVal uintptr, pCtx uintptr) int32 { /* sqlite3.c:78386:12: */ - bp := tls.Alloc(72) - defer tls.Free(72) + bp := tls.Alloc(64) + defer tls.Free(64) - // var ctx Sqlite3_context at bp+16, 56 + // var ctx Sqlite3_context at bp+8, 56 // Context object for function invocation var apVal uintptr // Function arguments var nVal int32 // Size of apVal[] array @@ -101335,14 +101335,14 @@ __3: __9: ; - libc.Xmemset(tls, bp+16 /* &ctx */, 0, uint64(unsafe.Sizeof(Sqlite3_context{}))) - (*Sqlite3_context)(unsafe.Pointer(bp + 16 /* &ctx */)).FpOut = pVal - (*Sqlite3_context)(unsafe.Pointer(bp + 16 /* &ctx */)).FpFunc = pFunc - (*(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer((pFunc + 24 /* &.xSFunc */))))(tls, bp+16 /* &ctx */, nVal, apVal) - if !((*Sqlite3_context)(unsafe.Pointer(bp+16 /* &ctx */)).FisError != 0) { + libc.Xmemset(tls, bp+8 /* &ctx */, 0, uint64(unsafe.Sizeof(Sqlite3_context{}))) + (*Sqlite3_context)(unsafe.Pointer(bp + 8 /* &ctx */)).FpOut = pVal + (*Sqlite3_context)(unsafe.Pointer(bp + 8 /* &ctx */)).FpFunc = pFunc + (*(*func(*libc.TLS, uintptr, int32, uintptr))(unsafe.Pointer((pFunc + 24 /* &.xSFunc */))))(tls, bp+8 /* &ctx */, nVal, apVal) + if !((*Sqlite3_context)(unsafe.Pointer(bp+8 /* &ctx */)).FisError != 0) { goto __10 } - rc = (*Sqlite3_context)(unsafe.Pointer(bp + 16 /* &ctx */)).FisError + rc = (*Sqlite3_context)(unsafe.Pointer(bp + 8 /* &ctx */)).FisError Xsqlite3ErrorMsg(tls, (*ValueNewStat4Ctx)(unsafe.Pointer(pCtx)).FpParse, ts+951 /* "%s" */, libc.VaList(bp, Xsqlite3_value_text(tls, pVal))) goto __11 __10: @@ -101400,12 +101400,12 @@ __14: // NULL, it is assumed that the caller will free any allocated object // in all cases. func valueFromExpr(tls *libc.TLS, db uintptr, pExpr uintptr, enc U8, affinity U8, ppVal uintptr, pCtx uintptr) int32 { /* sqlite3.c:78480:12: */ - bp := tls.Alloc(32) - defer tls.Free(32) + bp := tls.Alloc(24) + defer tls.Free(24) var op int32 var zVal uintptr - // var pVal uintptr at bp+24, 8 + // var pVal uintptr at bp+16, 8 var negInt int32 var zNeg uintptr @@ -101413,7 +101413,7 @@ func valueFromExpr(tls *libc.TLS, db uintptr, pExpr uintptr, enc U8, affinity U8 var aff U8 var nVal int32 zVal = uintptr(0) - *(*uintptr)(unsafe.Pointer(bp + 24 /* pVal */)) = uintptr(0) + *(*uintptr)(unsafe.Pointer(bp + 16 /* pVal */)) = uintptr(0) negInt = 1 zNeg = ts + 915 /* "" */ rc = SQLITE_OK @@ -101471,8 +101471,8 @@ __6: if !(((op == TK_STRING) || (op == TK_FLOAT)) || (op == TK_INTEGER)) { goto __7 } - *(*uintptr)(unsafe.Pointer(bp + 24 /* pVal */)) = valueNew(tls, db, pCtx) - if !(*(*uintptr)(unsafe.Pointer(bp + 24 /* pVal */)) == uintptr(0)) { + *(*uintptr)(unsafe.Pointer(bp + 16 /* pVal */)) = valueNew(tls, db, pCtx) + if !(*(*uintptr)(unsafe.Pointer(bp + 16 /* pVal */)) == uintptr(0)) { goto __9 } goto no_mem @@ -101481,7 +101481,7 @@ __9: if !(((*Expr)(unsafe.Pointer((pExpr))).Fflags & (U32(EP_IntValue))) != U32(0)) { goto __10 } - Xsqlite3VdbeMemSetInt64(tls, *(*uintptr)(unsafe.Pointer(bp + 24 /* pVal */)), (I64(*(*int32)(unsafe.Pointer(pExpr + 8 /* &.u */))) * I64(negInt))) + Xsqlite3VdbeMemSetInt64(tls, *(*uintptr)(unsafe.Pointer(bp + 16 /* pVal */)), (I64(*(*int32)(unsafe.Pointer(pExpr + 8 /* &.u */))) * I64(negInt))) goto __11 __10: zVal = Xsqlite3MPrintf(tls, db, ts+11393 /* "%s%s" */, libc.VaList(bp, zNeg, *(*uintptr)(unsafe.Pointer(pExpr + 8 /* &.u */)))) @@ -101491,30 +101491,30 @@ __10: goto no_mem __12: ; - Xsqlite3ValueSetStr(tls, *(*uintptr)(unsafe.Pointer(bp + 24 /* pVal */)), -1, zVal, uint8(SQLITE_UTF8), *(*uintptr)(unsafe.Pointer(&struct{ f func(*libc.TLS, uintptr) }{Xsqlite3OomFault}))) + Xsqlite3ValueSetStr(tls, *(*uintptr)(unsafe.Pointer(bp + 16 /* pVal */)), -1, zVal, uint8(SQLITE_UTF8), *(*uintptr)(unsafe.Pointer(&struct{ f func(*libc.TLS, uintptr) }{Xsqlite3OomFault}))) __11: ; if !(((op == TK_INTEGER) || (op == TK_FLOAT)) && (int32(affinity) == SQLITE_AFF_BLOB)) { goto __13 } - Xsqlite3ValueApplyAffinity(tls, *(*uintptr)(unsafe.Pointer(bp + 24 /* pVal */)), uint8(SQLITE_AFF_NUMERIC), uint8(SQLITE_UTF8)) + Xsqlite3ValueApplyAffinity(tls, *(*uintptr)(unsafe.Pointer(bp + 16 /* pVal */)), uint8(SQLITE_AFF_NUMERIC), uint8(SQLITE_UTF8)) goto __14 __13: - Xsqlite3ValueApplyAffinity(tls, *(*uintptr)(unsafe.Pointer(bp + 24 /* pVal */)), affinity, uint8(SQLITE_UTF8)) + Xsqlite3ValueApplyAffinity(tls, *(*uintptr)(unsafe.Pointer(bp + 16 /* pVal */)), affinity, uint8(SQLITE_UTF8)) __14: ; - if !((int32((*Sqlite3_value)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp + 24 /* pVal */)))).Fflags) & ((MEM_Int | MEM_IntReal) | MEM_Real)) != 0) { + if !((int32((*Sqlite3_value)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp + 16 /* pVal */)))).Fflags) & ((MEM_Int | MEM_IntReal) | MEM_Real)) != 0) { goto __15 } - *(*U16)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp + 24 /* pVal */)) + 8 /* &.flags */)) &= libc.Uint16FromInt32((libc.CplInt32(MEM_Str))) + *(*U16)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp + 16 /* pVal */)) + 8 /* &.flags */)) &= libc.Uint16FromInt32((libc.CplInt32(MEM_Str))) __15: ; if !(int32(enc) != SQLITE_UTF8) { goto __16 } - rc = Xsqlite3VdbeChangeEncoding(tls, *(*uintptr)(unsafe.Pointer(bp + 24 /* pVal */)), int32(enc)) + rc = Xsqlite3VdbeChangeEncoding(tls, *(*uintptr)(unsafe.Pointer(bp + 16 /* pVal */)), int32(enc)) __16: ; goto __8 @@ -101523,30 +101523,30 @@ __7: goto __17 } // This branch happens for multiple negative signs. Ex: -(-5) - if !((SQLITE_OK == valueFromExpr(tls, db, (*Expr)(unsafe.Pointer(pExpr)).FpLeft, enc, affinity, bp+24 /* &pVal */, pCtx)) && - (*(*uintptr)(unsafe.Pointer(bp + 24 /* pVal */)) != uintptr(0))) { + if !((SQLITE_OK == valueFromExpr(tls, db, (*Expr)(unsafe.Pointer(pExpr)).FpLeft, enc, affinity, bp+16 /* &pVal */, pCtx)) && + (*(*uintptr)(unsafe.Pointer(bp + 16 /* pVal */)) != uintptr(0))) { goto __19 } - Xsqlite3VdbeMemNumerify(tls, *(*uintptr)(unsafe.Pointer(bp + 24 /* pVal */))) - if !((int32((*Sqlite3_value)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp + 24 /* pVal */)))).Fflags) & MEM_Real) != 0) { + Xsqlite3VdbeMemNumerify(tls, *(*uintptr)(unsafe.Pointer(bp + 16 /* pVal */))) + if !((int32((*Sqlite3_value)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp + 16 /* pVal */)))).Fflags) & MEM_Real) != 0) { goto __20 } - *(*float64)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp + 24 /* pVal */)) /* &.u */)) = -*(*float64)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp + 24 /* pVal */)) /* &.u */)) + *(*float64)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp + 16 /* pVal */)) /* &.u */)) = -*(*float64)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp + 16 /* pVal */)) /* &.u */)) goto __21 __20: - if !(*(*I64)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp + 24 /* pVal */)) /* &.u */)) == ((int64(-1)) - (int64(0xffffffff) | (I64((int64(0x7fffffff))) << 32)))) { + if !(*(*I64)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp + 16 /* pVal */)) /* &.u */)) == ((int64(-1)) - (int64(0xffffffff) | (I64((int64(0x7fffffff))) << 32)))) { goto __22 } - *(*float64)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp + 24 /* pVal */)) /* &.u */)) = -(float64((int64(-1)) - (int64(0xffffffff) | (I64((int64(0x7fffffff))) << 32)))) - (*Sqlite3_value)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp + 24 /* pVal */)))).Fflags = (U16((int32((*Sqlite3_value)(unsafe.Pointer((*(*uintptr)(unsafe.Pointer(bp + 24 /* pVal */))))).Fflags) & libc.CplInt32((MEM_TypeMask | MEM_Zero))) | MEM_Real)) + *(*float64)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp + 16 /* pVal */)) /* &.u */)) = -(float64((int64(-1)) - (int64(0xffffffff) | (I64((int64(0x7fffffff))) << 32)))) + (*Sqlite3_value)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp + 16 /* pVal */)))).Fflags = (U16((int32((*Sqlite3_value)(unsafe.Pointer((*(*uintptr)(unsafe.Pointer(bp + 16 /* pVal */))))).Fflags) & libc.CplInt32((MEM_TypeMask | MEM_Zero))) | MEM_Real)) goto __23 __22: - *(*I64)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp + 24 /* pVal */)) /* &.u */)) = -*(*I64)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp + 24 /* pVal */)) /* &.u */)) + *(*I64)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp + 16 /* pVal */)) /* &.u */)) = -*(*I64)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp + 16 /* pVal */)) /* &.u */)) __23: ; __21: ; - Xsqlite3ValueApplyAffinity(tls, *(*uintptr)(unsafe.Pointer(bp + 24 /* pVal */)), affinity, enc) + Xsqlite3ValueApplyAffinity(tls, *(*uintptr)(unsafe.Pointer(bp + 16 /* pVal */)), affinity, enc) __19: ; goto __18 @@ -101554,22 +101554,22 @@ __17: if !(op == TK_NULL) { goto __24 } - *(*uintptr)(unsafe.Pointer(bp + 24 /* pVal */)) = valueNew(tls, db, pCtx) - if !(*(*uintptr)(unsafe.Pointer(bp + 24 /* pVal */)) == uintptr(0)) { + *(*uintptr)(unsafe.Pointer(bp + 16 /* pVal */)) = valueNew(tls, db, pCtx) + if !(*(*uintptr)(unsafe.Pointer(bp + 16 /* pVal */)) == uintptr(0)) { goto __26 } goto no_mem __26: ; - Xsqlite3VdbeMemSetNull(tls, *(*uintptr)(unsafe.Pointer(bp + 24 /* pVal */))) + Xsqlite3VdbeMemSetNull(tls, *(*uintptr)(unsafe.Pointer(bp + 16 /* pVal */))) goto __25 __24: if !(op == TK_BLOB) { goto __27 } - *(*uintptr)(unsafe.Pointer(bp + 24 /* pVal */)) = valueNew(tls, db, pCtx) - if !(!(*(*uintptr)(unsafe.Pointer(bp + 24 /* pVal */)) != 0)) { + *(*uintptr)(unsafe.Pointer(bp + 16 /* pVal */)) = valueNew(tls, db, pCtx) + if !(!(*(*uintptr)(unsafe.Pointer(bp + 16 /* pVal */)) != 0)) { goto __29 } goto no_mem @@ -101578,25 +101578,25 @@ __29: zVal = (*(*uintptr)(unsafe.Pointer(pExpr + 8 /* &.u */)) + 2) nVal = (Xsqlite3Strlen30(tls, zVal) - 1) - Xsqlite3VdbeMemSetStr(tls, *(*uintptr)(unsafe.Pointer(bp + 24 /* pVal */)), Xsqlite3HexToBlob(tls, db, zVal, nVal), (int64(nVal / 2)), + Xsqlite3VdbeMemSetStr(tls, *(*uintptr)(unsafe.Pointer(bp + 16 /* pVal */)), Xsqlite3HexToBlob(tls, db, zVal, nVal), (int64(nVal / 2)), uint8(0), *(*uintptr)(unsafe.Pointer(&struct{ f func(*libc.TLS, uintptr) }{Xsqlite3OomFault}))) goto __28 __27: if !((op == TK_FUNCTION) && (pCtx != uintptr(0))) { goto __30 } - rc = valueFromFunction(tls, db, pExpr, enc, affinity, bp+24 /* &pVal */, pCtx) + rc = valueFromFunction(tls, db, pExpr, enc, affinity, bp+16 /* &pVal */, pCtx) goto __31 __30: if !(op == TK_TRUEFALSE) { goto __32 } - *(*uintptr)(unsafe.Pointer(bp + 24 /* pVal */)) = valueNew(tls, db, pCtx) - if !(*(*uintptr)(unsafe.Pointer(bp + 24 /* pVal */)) != 0) { + *(*uintptr)(unsafe.Pointer(bp + 16 /* pVal */)) = valueNew(tls, db, pCtx) + if !(*(*uintptr)(unsafe.Pointer(bp + 16 /* pVal */)) != 0) { goto __33 } - (*Sqlite3_value)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp + 24 /* pVal */)))).Fflags = U16(MEM_Int) - *(*I64)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp + 24 /* pVal */)) /* &.u */)) = (I64(libc.Bool32(int32(*(*int8)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(pExpr + 8 /* &.u */)) + 4))) == 0))) + (*Sqlite3_value)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp + 16 /* pVal */)))).Fflags = U16(MEM_Int) + *(*I64)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp + 16 /* pVal */)) /* &.u */)) = (I64(libc.Bool32(int32(*(*int8)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(pExpr + 8 /* &.u */)) + 4))) == 0))) __33: ; __32: @@ -101612,7 +101612,7 @@ __18: __8: ; - *(*uintptr)(unsafe.Pointer(ppVal)) = *(*uintptr)(unsafe.Pointer(bp + 24 /* pVal */)) + *(*uintptr)(unsafe.Pointer(ppVal)) = *(*uintptr)(unsafe.Pointer(bp + 16 /* pVal */)) return rc no_mem: @@ -101627,7 +101627,7 @@ __34: if !(pCtx == uintptr(0)) { goto __35 } - Xsqlite3ValueFree(tls, *(*uintptr)(unsafe.Pointer(bp + 24 /* pVal */))) + Xsqlite3ValueFree(tls, *(*uintptr)(unsafe.Pointer(bp + 16 /* pVal */))) __35: ; return SQLITE_NOMEM @@ -102980,18 +102980,18 @@ func translateP(tls *libc.TLS, c int8, pOp uintptr) int32 { /* sqlite3.c:80358:1 // "PX@PY+1" -> "r[X..X+Y]" or "r[x]" if y is 0 // "PY..PY" -> "r[X..Y]" or "r[x]" if y<=x func Xsqlite3VdbeDisplayComment(tls *libc.TLS, db uintptr, pOp uintptr, zP4 uintptr) uintptr { /* sqlite3.c:80379:21: */ - bp := tls.Alloc(210) - defer tls.Free(210) + bp := tls.Alloc(154) + defer tls.Free(154) var zOpName uintptr var zSynopsis uintptr var nOpName int32 var ii int32 - // var zAlt [50]int8 at bp+160, 50 + // var zAlt [50]int8 at bp+104, 50 - // var x StrAccum at bp+128, 32 + // var x StrAccum at bp+72, 32 - Xsqlite3StrAccumInit(tls, bp+128 /* &x */, uintptr(0), uintptr(0), 0, SQLITE_MAX_LENGTH) + Xsqlite3StrAccumInit(tls, bp+72 /* &x */, uintptr(0), uintptr(0), 0, SQLITE_MAX_LENGTH) zOpName = Xsqlite3OpcodeName(tls, int32((*Op)(unsafe.Pointer(pOp)).Fopcode)) nOpName = Xsqlite3Strlen30(tls, zOpName) if *(*int8)(unsafe.Pointer(zOpName + uintptr((nOpName + 1)))) != 0 { @@ -102999,16 +102999,16 @@ func Xsqlite3VdbeDisplayComment(tls *libc.TLS, db uintptr, pOp uintptr, zP4 uint var c int8 zSynopsis = libc.AssignAddUintptr(&zOpName, (uintptr(nOpName + 1))) if libc.Xstrncmp(tls, zSynopsis, ts+11398 /* "IF " */, uint64(3)) == 0 { - Xsqlite3_snprintf(tls, int32(unsafe.Sizeof([50]int8{})), bp+160 /* &zAlt[0] */, ts+11402 /* "if %s goto P2" */, libc.VaList(bp, (zSynopsis+uintptr(3)))) - zSynopsis = bp + 160 /* &zAlt[0] */ + Xsqlite3_snprintf(tls, int32(unsafe.Sizeof([50]int8{})), bp+104 /* &zAlt[0] */, ts+11402 /* "if %s goto P2" */, libc.VaList(bp, (zSynopsis+uintptr(3)))) + zSynopsis = bp + 104 /* &zAlt[0] */ } for ii = 0; (int32(libc.AssignInt8(&c, *(*int8)(unsafe.Pointer(zSynopsis + uintptr(ii)))))) != 0; ii++ { if int32(c) == 'P' { c = *(*int8)(unsafe.Pointer(zSynopsis + uintptr(libc.PreIncInt32(&ii, 1)))) if int32(c) == '4' { - Xsqlite3_str_appendall(tls, bp+128 /* &x */, zP4) + Xsqlite3_str_appendall(tls, bp+72 /* &x */, zP4) } else if int32(c) == 'X' { - Xsqlite3_str_appendall(tls, bp+128 /* &x */, (*Op)(unsafe.Pointer(pOp)).FzComment) + Xsqlite3_str_appendall(tls, bp+72 /* &x */, (*Op)(unsafe.Pointer(pOp)).FzComment) seenCom = 1 } else { var v1 int32 = translateP(tls, c, pOp) @@ -103021,62 +103021,62 @@ func Xsqlite3VdbeDisplayComment(tls *libc.TLS, db uintptr, pOp uintptr, zP4 uint v2++ } if v2 < 2 { - Xsqlite3_str_appendf(tls, bp+128 /* &x */, ts+11422 /* "%d" */, libc.VaList(bp+16, v1)) + Xsqlite3_str_appendf(tls, bp+72 /* &x */, ts+11422 /* "%d" */, libc.VaList(bp+8, v1)) } else { - Xsqlite3_str_appendf(tls, bp+128 /* &x */, ts+11425 /* "%d..%d" */, libc.VaList(bp+32, v1, ((v1+v2)-1))) + Xsqlite3_str_appendf(tls, bp+72 /* &x */, ts+11425 /* "%d..%d" */, libc.VaList(bp+16, v1, ((v1+v2)-1))) } } else if libc.Xstrncmp(tls, ((zSynopsis+uintptr(ii))+uintptr(1)), ts+11432 /* "@NP" */, uint64(3)) == 0 { var pCtx uintptr = *(*uintptr)(unsafe.Pointer(pOp + 16 /* &.p4 */)) if (int32((*Op)(unsafe.Pointer(pOp)).Fp4type) != (-16)) || (int32((*Sqlite3_context)(unsafe.Pointer(pCtx)).Fargc) == 1) { - Xsqlite3_str_appendf(tls, bp+128 /* &x */, ts+11422 /* "%d" */, libc.VaList(bp+56, v1)) + Xsqlite3_str_appendf(tls, bp+72 /* &x */, ts+11422 /* "%d" */, libc.VaList(bp+32, v1)) } else if int32((*Sqlite3_context)(unsafe.Pointer(pCtx)).Fargc) > 1 { - Xsqlite3_str_appendf(tls, bp+128 /* &x */, ts+11425 /* "%d..%d" */, libc.VaList(bp+72, v1, ((v1+int32((*Sqlite3_context)(unsafe.Pointer(pCtx)).Fargc))-1))) - } else if int32((*StrAccum)(unsafe.Pointer(bp+128 /* &x */)).FaccError) == 0 { + Xsqlite3_str_appendf(tls, bp+72 /* &x */, ts+11425 /* "%d..%d" */, libc.VaList(bp+40, v1, ((v1+int32((*Sqlite3_context)(unsafe.Pointer(pCtx)).Fargc))-1))) + } else if int32((*StrAccum)(unsafe.Pointer(bp+72 /* &x */)).FaccError) == 0 { - *(*U32)(unsafe.Pointer(bp + 128 /* &x */ + 24 /* &.nChar */)) -= (U32(2)) + *(*U32)(unsafe.Pointer(bp + 72 /* &x */ + 24 /* &.nChar */)) -= (U32(2)) ii++ } ii = ii + (3) } else { - Xsqlite3_str_appendf(tls, bp+128 /* &x */, ts+11422 /* "%d" */, libc.VaList(bp+96, v1)) + Xsqlite3_str_appendf(tls, bp+72 /* &x */, ts+11422 /* "%d" */, libc.VaList(bp+56, v1)) if (libc.Xstrncmp(tls, ((zSynopsis+uintptr(ii))+uintptr(1)), ts+11436 /* "..P3" */, uint64(4)) == 0) && ((*Op)(unsafe.Pointer(pOp)).Fp3 == 0) { ii = ii + (4) } } } } else { - Xsqlite3_str_appendchar(tls, bp+128 /* &x */, 1, c) + Xsqlite3_str_appendchar(tls, bp+72 /* &x */, 1, c) } } if !(seenCom != 0) && ((*Op)(unsafe.Pointer(pOp)).FzComment != 0) { - Xsqlite3_str_appendf(tls, bp+128 /* &x */, ts+11441 /* "; %s" */, libc.VaList(bp+112, (*Op)(unsafe.Pointer(pOp)).FzComment)) + Xsqlite3_str_appendf(tls, bp+72 /* &x */, ts+11441 /* "; %s" */, libc.VaList(bp+64, (*Op)(unsafe.Pointer(pOp)).FzComment)) } } else if (*Op)(unsafe.Pointer(pOp)).FzComment != 0 { - Xsqlite3_str_appendall(tls, bp+128 /* &x */, (*Op)(unsafe.Pointer(pOp)).FzComment) + Xsqlite3_str_appendall(tls, bp+72 /* &x */, (*Op)(unsafe.Pointer(pOp)).FzComment) } - if ((int32((*StrAccum)(unsafe.Pointer(bp+128 /* &x */)).FaccError) & SQLITE_NOMEM) != 0) && (db != uintptr(0)) { + if ((int32((*StrAccum)(unsafe.Pointer(bp+72 /* &x */)).FaccError) & SQLITE_NOMEM) != 0) && (db != uintptr(0)) { Xsqlite3OomFault(tls, db) } - return Xsqlite3StrAccumFinish(tls, bp+128 /* &x */) + return Xsqlite3StrAccumFinish(tls, bp+72 /* &x */) } // Compute a string that describes the P4 parameter for an opcode. // Use zTemp for any required temporary buffer space. func Xsqlite3VdbeDisplayP4(tls *libc.TLS, db uintptr, pOp uintptr) uintptr { /* sqlite3.c:80540:21: */ - bp := tls.Alloc(272) - defer tls.Free(272) + bp := tls.Alloc(176) + defer tls.Free(176) var zP4 uintptr = uintptr(0) - // var x StrAccum at bp+240, 32 + // var x StrAccum at bp+144, 32 - Xsqlite3StrAccumInit(tls, bp+240 /* &x */, uintptr(0), uintptr(0), 0, SQLITE_MAX_LENGTH) + Xsqlite3StrAccumInit(tls, bp+144 /* &x */, uintptr(0), uintptr(0), 0, SQLITE_MAX_LENGTH) switch int32((*Op)(unsafe.Pointer(pOp)).Fp4type) { case -9: { var j int32 var pKeyInfo uintptr = *(*uintptr)(unsafe.Pointer(pOp + 16 /* &.p4 */)) - Xsqlite3_str_appendf(tls, bp+240 /* &x */, ts+11446 /* "k(%d" */, libc.VaList(bp, int32((*KeyInfo)(unsafe.Pointer(pKeyInfo)).FnKeyField))) + Xsqlite3_str_appendf(tls, bp+144 /* &x */, ts+11446 /* "k(%d" */, libc.VaList(bp, int32((*KeyInfo)(unsafe.Pointer(pKeyInfo)).FnKeyField))) for j = 0; j < int32((*KeyInfo)(unsafe.Pointer(pKeyInfo)).FnKeyField); j++ { var pColl uintptr = *(*uintptr)(unsafe.Pointer((pKeyInfo + 32 /* &.aColl */) + uintptr(j)*8)) var zColl uintptr @@ -103088,8 +103088,8 @@ func Xsqlite3VdbeDisplayP4(tls *libc.TLS, db uintptr, pOp uintptr) uintptr { /* if libc.Xstrcmp(tls, zColl, ts+478 /* "BINARY" */) == 0 { zColl = ts + 11451 /* "B" */ } - Xsqlite3_str_appendf(tls, bp+240 /* &x */, ts+11453, /* ",%s%s%s" */ - libc.VaList(bp+16, func() uintptr { + Xsqlite3_str_appendf(tls, bp+144 /* &x */, ts+11453, /* ",%s%s%s" */ + libc.VaList(bp+8, func() uintptr { if (int32(*(*U8)(unsafe.Pointer((*KeyInfo)(unsafe.Pointer(pKeyInfo)).FaSortFlags + uintptr(j)))) & KEYINFO_ORDER_DESC) != 0 { return ts + 11391 /* "-" */ } @@ -103103,7 +103103,7 @@ func Xsqlite3VdbeDisplayP4(tls *libc.TLS, db uintptr, pOp uintptr) uintptr { /* }(), zColl)) } - Xsqlite3_str_append(tls, bp+240 /* &x */, ts+11464 /* ")" */, 1) + Xsqlite3_str_append(tls, bp+144 /* &x */, ts+11464 /* ")" */, 1) break } @@ -103111,7 +103111,7 @@ func Xsqlite3VdbeDisplayP4(tls *libc.TLS, db uintptr, pOp uintptr) uintptr { /* { var pColl uintptr = *(*uintptr)(unsafe.Pointer(pOp + 16 /* &.p4 */)) - Xsqlite3_str_appendf(tls, bp+240 /* &x */, ts+11466 /* "%.18s-%s" */, libc.VaList(bp+48, (*CollSeq)(unsafe.Pointer(pColl)).FzName, + Xsqlite3_str_appendf(tls, bp+144 /* &x */, ts+11466 /* "%.18s-%s" */, libc.VaList(bp+32, (*CollSeq)(unsafe.Pointer(pColl)).FzName, encnames[(*CollSeq)(unsafe.Pointer(pColl)).Fenc])) break @@ -103119,32 +103119,32 @@ func Xsqlite3VdbeDisplayP4(tls *libc.TLS, db uintptr, pOp uintptr) uintptr { /* case -8: { var pDef uintptr = *(*uintptr)(unsafe.Pointer(pOp + 16 /* &.p4 */)) - Xsqlite3_str_appendf(tls, bp+240 /* &x */, ts+11475 /* "%s(%d)" */, libc.VaList(bp+72, (*FuncDef)(unsafe.Pointer(pDef)).FzName, int32((*FuncDef)(unsafe.Pointer(pDef)).FnArg))) + Xsqlite3_str_appendf(tls, bp+144 /* &x */, ts+11475 /* "%s(%d)" */, libc.VaList(bp+48, (*FuncDef)(unsafe.Pointer(pDef)).FzName, int32((*FuncDef)(unsafe.Pointer(pDef)).FnArg))) break } case -16: { var pDef uintptr = (*Sqlite3_context)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(pOp + 16 /* &.p4 */)))).FpFunc - Xsqlite3_str_appendf(tls, bp+240 /* &x */, ts+11475 /* "%s(%d)" */, libc.VaList(bp+96, (*FuncDef)(unsafe.Pointer(pDef)).FzName, int32((*FuncDef)(unsafe.Pointer(pDef)).FnArg))) + Xsqlite3_str_appendf(tls, bp+144 /* &x */, ts+11475 /* "%s(%d)" */, libc.VaList(bp+64, (*FuncDef)(unsafe.Pointer(pDef)).FzName, int32((*FuncDef)(unsafe.Pointer(pDef)).FnArg))) break } case -14: { - Xsqlite3_str_appendf(tls, bp+240 /* &x */, ts+11482 /* "%lld" */, libc.VaList(bp+120, *(*I64)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(pOp + 16 /* &.p4 */)))))) + Xsqlite3_str_appendf(tls, bp+144 /* &x */, ts+11482 /* "%lld" */, libc.VaList(bp+80, *(*I64)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(pOp + 16 /* &.p4 */)))))) break } case -3: { - Xsqlite3_str_appendf(tls, bp+240 /* &x */, ts+11422 /* "%d" */, libc.VaList(bp+136, *(*int32)(unsafe.Pointer(pOp + 16 /* &.p4 */)))) + Xsqlite3_str_appendf(tls, bp+144 /* &x */, ts+11422 /* "%d" */, libc.VaList(bp+88, *(*int32)(unsafe.Pointer(pOp + 16 /* &.p4 */)))) break } case -13: { - Xsqlite3_str_appendf(tls, bp+240 /* &x */, ts+698 /* "%.16g" */, libc.VaList(bp+152, *(*float64)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(pOp + 16 /* &.p4 */)))))) + Xsqlite3_str_appendf(tls, bp+144 /* &x */, ts+698 /* "%.16g" */, libc.VaList(bp+96, *(*float64)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(pOp + 16 /* &.p4 */)))))) break } @@ -103154,9 +103154,9 @@ func Xsqlite3VdbeDisplayP4(tls *libc.TLS, db uintptr, pOp uintptr) uintptr { /* if (int32((*Mem)(unsafe.Pointer(pMem)).Fflags) & MEM_Str) != 0 { zP4 = (*Mem)(unsafe.Pointer(pMem)).Fz } else if (int32((*Mem)(unsafe.Pointer(pMem)).Fflags) & (MEM_Int | MEM_IntReal)) != 0 { - Xsqlite3_str_appendf(tls, bp+240 /* &x */, ts+11482 /* "%lld" */, libc.VaList(bp+168, *(*I64)(unsafe.Pointer(pMem /* &.u */)))) + Xsqlite3_str_appendf(tls, bp+144 /* &x */, ts+11482 /* "%lld" */, libc.VaList(bp+104, *(*I64)(unsafe.Pointer(pMem /* &.u */)))) } else if (int32((*Mem)(unsafe.Pointer(pMem)).Fflags) & MEM_Real) != 0 { - Xsqlite3_str_appendf(tls, bp+240 /* &x */, ts+698 /* "%.16g" */, libc.VaList(bp+184, *(*float64)(unsafe.Pointer(pMem /* &.u */)))) + Xsqlite3_str_appendf(tls, bp+144 /* &x */, ts+698 /* "%.16g" */, libc.VaList(bp+112, *(*float64)(unsafe.Pointer(pMem /* &.u */)))) } else if (int32((*Mem)(unsafe.Pointer(pMem)).Fflags) & MEM_Null) != 0 { zP4 = ts + 916 /* "NULL" */ } else { @@ -103169,7 +103169,7 @@ func Xsqlite3VdbeDisplayP4(tls *libc.TLS, db uintptr, pOp uintptr) uintptr { /* case -12: { var pVtab uintptr = (*VTable)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(pOp + 16 /* &.p4 */)))).FpVtab - Xsqlite3_str_appendf(tls, bp+240 /* &x */, ts+11494 /* "vtab:%p" */, libc.VaList(bp+200, pVtab)) + Xsqlite3_str_appendf(tls, bp+144 /* &x */, ts+11494 /* "vtab:%p" */, libc.VaList(bp+120, pVtab)) break } @@ -103180,14 +103180,14 @@ func Xsqlite3VdbeDisplayP4(tls *libc.TLS, db uintptr, pOp uintptr) uintptr { /* var n U32 = *(*U32)(unsafe.Pointer(ai)) // The first element of an INTARRAY is always the // count of the number of elements to follow for i = U32(1); i <= n; i++ { - Xsqlite3_str_appendf(tls, bp+240 /* &x */, ts+11502 /* "%c%u" */, libc.VaList(bp+216, func() int32 { + Xsqlite3_str_appendf(tls, bp+144 /* &x */, ts+11502 /* "%c%u" */, libc.VaList(bp+128, func() int32 { if i == U32(1) { return '[' } return ',' }(), *(*U32)(unsafe.Pointer(ai + uintptr(i)*4)))) } - Xsqlite3_str_append(tls, bp+240 /* &x */, ts+11507 /* "]" */, 1) + Xsqlite3_str_append(tls, bp+144 /* &x */, ts+11507 /* "]" */, 1) break } @@ -103217,12 +103217,12 @@ func Xsqlite3VdbeDisplayP4(tls *libc.TLS, db uintptr, pOp uintptr) uintptr { /* } } if zP4 != 0 { - Xsqlite3_str_appendall(tls, bp+240 /* &x */, zP4) + Xsqlite3_str_appendall(tls, bp+144 /* &x */, zP4) } - if (int32((*StrAccum)(unsafe.Pointer(bp+240 /* &x */)).FaccError) & SQLITE_NOMEM) != 0 { + if (int32((*StrAccum)(unsafe.Pointer(bp+144 /* &x */)).FaccError) & SQLITE_NOMEM) != 0 { Xsqlite3OomFault(tls, db) } - return Xsqlite3StrAccumFinish(tls, bp+240 /* &x */) + return Xsqlite3StrAccumFinish(tls, bp+144 /* &x */) } var encnames = [4]uintptr{ts + 11517 /* "?" */, ts + 11519 /* "8" */, ts + 11521 /* "16LE" */, ts + 11526 /* "16BE" */} /* sqlite3.c:80570:25 */ @@ -103925,8 +103925,8 @@ func Xsqlite3VdbeSetColName(tls *libc.TLS, p uintptr, idx int32, var1 int32, zNa // write-transaction spanning more than one database file, this routine // takes care of the super-journal trickery. func vdbeCommit(tls *libc.TLS, db uintptr, p uintptr) int32 { /* sqlite3.c:81537:12: */ - bp := tls.Alloc(104) - defer tls.Free(104) + bp := tls.Alloc(72) + defer tls.Free(72) var i int32 var nTrans int32 = 0 // Number of databases with an active write-transaction @@ -104010,9 +104010,9 @@ func vdbeCommit(tls *libc.TLS, db uintptr, p uintptr) int32 { /* sqlite3.c:81537 var pVfs uintptr = (*Sqlite3)(unsafe.Pointer(db)).FpVfs var zSuper uintptr = uintptr(0) // File-name for the super-journal var zMainFile uintptr = Xsqlite3BtreeGetFilename(tls, (*Db)(unsafe.Pointer((*Sqlite3)(unsafe.Pointer(db)).FaDb)).FpBt) - *(*uintptr)(unsafe.Pointer(bp + 96 /* pSuperJrnl */)) = uintptr(0) + *(*uintptr)(unsafe.Pointer(bp + 64 /* pSuperJrnl */)) = uintptr(0) var offset I64 = int64(0) - // var res int32 at bp+92, 4 + // var res int32 at bp+60, 4 var retryCount int32 = 0 var nMainFile int32 @@ -104024,30 +104024,30 @@ func vdbeCommit(tls *libc.TLS, db uintptr, p uintptr) int32 { /* sqlite3.c:81537 return SQLITE_NOMEM } zSuper += uintptr(4) - for ok := true; ok; ok = ((rc == SQLITE_OK) && (*(*int32)(unsafe.Pointer(bp + 92 /* res */)) != 0)) { - // var iRandom U32 at bp+88, 4 + for ok := true; ok; ok = ((rc == SQLITE_OK) && (*(*int32)(unsafe.Pointer(bp + 60 /* res */)) != 0)) { + // var iRandom U32 at bp+56, 4 if retryCount != 0 { if retryCount > 100 { - Xsqlite3_log(tls, SQLITE_FULL, ts+11603 /* "MJ delete: %s" */, libc.VaList(bp+32, zSuper)) + Xsqlite3_log(tls, SQLITE_FULL, ts+11603 /* "MJ delete: %s" */, libc.VaList(bp+24, zSuper)) Xsqlite3OsDelete(tls, pVfs, zSuper, 0) break } else if retryCount == 1 { - Xsqlite3_log(tls, SQLITE_FULL, ts+11617 /* "MJ collide: %s" */, libc.VaList(bp+48, zSuper)) + Xsqlite3_log(tls, SQLITE_FULL, ts+11617 /* "MJ collide: %s" */, libc.VaList(bp+32, zSuper)) } } retryCount++ - Xsqlite3_randomness(tls, int32(unsafe.Sizeof(U32(0))), bp+88 /* &iRandom */) + Xsqlite3_randomness(tls, int32(unsafe.Sizeof(U32(0))), bp+56 /* &iRandom */) Xsqlite3_snprintf(tls, 13, (zSuper + uintptr(nMainFile)), ts+11632, /* "-mj%06X9%02X" */ - libc.VaList(bp+64, ((*(*U32)(unsafe.Pointer(bp + 88 /* iRandom */))>>8)&U32(0xffffff)), (*(*U32)(unsafe.Pointer(bp + 88 /* iRandom */))&U32(0xff)))) + libc.VaList(bp+40, ((*(*U32)(unsafe.Pointer(bp + 56 /* iRandom */))>>8)&U32(0xffffff)), (*(*U32)(unsafe.Pointer(bp + 56 /* iRandom */))&U32(0xff)))) // The antipenultimate character of the super-journal name must // be "9" to avoid name collisions when using 8+3 filenames. - rc = Xsqlite3OsAccess(tls, pVfs, zSuper, SQLITE_ACCESS_EXISTS, bp+92 /* &res */) + rc = Xsqlite3OsAccess(tls, pVfs, zSuper, SQLITE_ACCESS_EXISTS, bp+60 /* &res */) } if rc == SQLITE_OK { // Open the super-journal. - rc = Xsqlite3OsOpenMalloc(tls, pVfs, zSuper, bp+96, /* &pSuperJrnl */ + rc = Xsqlite3OsOpenMalloc(tls, pVfs, zSuper, bp+64, /* &pSuperJrnl */ (((SQLITE_OPEN_READWRITE | SQLITE_OPEN_CREATE) | SQLITE_OPEN_EXCLUSIVE) | SQLITE_OPEN_SUPER_JOURNAL), uintptr(0)) } if rc != SQLITE_OK { @@ -104068,10 +104068,10 @@ func vdbeCommit(tls *libc.TLS, db uintptr, p uintptr) int32 { /* sqlite3.c:81537 continue // Ignore TEMP and :memory: databases } - rc = Xsqlite3OsWrite(tls, *(*uintptr)(unsafe.Pointer(bp + 96 /* pSuperJrnl */)), zFile, (Xsqlite3Strlen30(tls, zFile) + 1), offset) + rc = Xsqlite3OsWrite(tls, *(*uintptr)(unsafe.Pointer(bp + 64 /* pSuperJrnl */)), zFile, (Xsqlite3Strlen30(tls, zFile) + 1), offset) offset = offset + (I64(Xsqlite3Strlen30(tls, zFile) + 1)) if rc != SQLITE_OK { - Xsqlite3OsCloseFree(tls, *(*uintptr)(unsafe.Pointer(bp + 96 /* pSuperJrnl */))) + Xsqlite3OsCloseFree(tls, *(*uintptr)(unsafe.Pointer(bp + 64 /* pSuperJrnl */))) Xsqlite3OsDelete(tls, pVfs, zSuper, 0) Xsqlite3DbFree(tls, db, (zSuper - uintptr(4))) return rc @@ -104081,9 +104081,9 @@ func vdbeCommit(tls *libc.TLS, db uintptr, p uintptr) int32 { /* sqlite3.c:81537 // Sync the super-journal file. If the IOCAP_SEQUENTIAL device // flag is set this is not required. - if (0 == (Xsqlite3OsDeviceCharacteristics(tls, *(*uintptr)(unsafe.Pointer(bp + 96 /* pSuperJrnl */))) & SQLITE_IOCAP_SEQUENTIAL)) && - (SQLITE_OK != (libc.AssignInt32(&rc, Xsqlite3OsSync(tls, *(*uintptr)(unsafe.Pointer(bp + 96 /* pSuperJrnl */)), SQLITE_SYNC_NORMAL)))) { - Xsqlite3OsCloseFree(tls, *(*uintptr)(unsafe.Pointer(bp + 96 /* pSuperJrnl */))) + if (0 == (Xsqlite3OsDeviceCharacteristics(tls, *(*uintptr)(unsafe.Pointer(bp + 64 /* pSuperJrnl */))) & SQLITE_IOCAP_SEQUENTIAL)) && + (SQLITE_OK != (libc.AssignInt32(&rc, Xsqlite3OsSync(tls, *(*uintptr)(unsafe.Pointer(bp + 64 /* pSuperJrnl */)), SQLITE_SYNC_NORMAL)))) { + Xsqlite3OsCloseFree(tls, *(*uintptr)(unsafe.Pointer(bp + 64 /* pSuperJrnl */))) Xsqlite3OsDelete(tls, pVfs, zSuper, 0) Xsqlite3DbFree(tls, db, (zSuper - uintptr(4))) return rc @@ -104104,7 +104104,7 @@ func vdbeCommit(tls *libc.TLS, db uintptr, p uintptr) int32 { /* sqlite3.c:81537 rc = Xsqlite3BtreeCommitPhaseOne(tls, pBt, zSuper) } } - Xsqlite3OsCloseFree(tls, *(*uintptr)(unsafe.Pointer(bp + 96 /* pSuperJrnl */))) + Xsqlite3OsCloseFree(tls, *(*uintptr)(unsafe.Pointer(bp + 64 /* pSuperJrnl */))) if rc != SQLITE_OK { Xsqlite3DbFree(tls, db, (zSuper - uintptr(4))) @@ -104484,8 +104484,8 @@ func Xsqlite3VdbeTransferError(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:82 // virtual machine from VDBE_MAGIC_RUN or VDBE_MAGIC_HALT back to // VDBE_MAGIC_INIT. func Xsqlite3VdbeReset(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:82187:20: */ - bp := tls.Alloc(16) - defer tls.Free(16) + bp := tls.Alloc(8) + defer tls.Free(8) var db uintptr db = (*Vdbe)(unsafe.Pointer(p)).Fdb @@ -106055,8 +106055,8 @@ func Xsqlite3VdbeSetVarmask(tls *libc.TLS, v uintptr, iVar int32) { /* sqlite3.c // This routine is invoked by date/time functions that use non-deterministic // features such as 'now'. func Xsqlite3NotPureFunc(tls *libc.TLS, pCtx uintptr) int32 { /* sqlite3.c:84023:20: */ - bp := tls.Alloc(24) - defer tls.Free(24) + bp := tls.Alloc(16) + defer tls.Free(16) var pOp uintptr if (*Sqlite3_context)(unsafe.Pointer(pCtx)).FpVdbe == uintptr(0) { @@ -107423,8 +107423,8 @@ func Xsqlite3_column_origin_name16(tls *libc.TLS, pStmt uintptr, N int32) uintpt // The error code stored in database p->db is overwritten with the return // value in any case. func vdbeUnbind(tls *libc.TLS, p uintptr, i int32) int32 { /* sqlite3.c:85487:12: */ - bp := tls.Alloc(16) - defer tls.Free(16) + bp := tls.Alloc(8) + defer tls.Free(8) var pVar uintptr if vdbeSafetyNotNull(tls, p) != 0 { @@ -108186,111 +108186,111 @@ func findNextHostParameter(tls *libc.TLS, zSql uintptr, pnToken uintptr) int32 { // parameter index is known, locate the value in p->aVar[]. Then render // the value as a literal in place of the host parameter name. func Xsqlite3VdbeExpandSql(tls *libc.TLS, p uintptr, zRawSql uintptr) uintptr { /* sqlite3.c:86286:21: */ - bp := tls.Alloc(288) - defer tls.Free(288) + bp := tls.Alloc(248) + defer tls.Free(248) var db uintptr // The database connection - *(*int32)(unsafe.Pointer(bp + 224 /* idx */)) = 0 // Index of a host parameter + *(*int32)(unsafe.Pointer(bp + 184 /* idx */)) = 0 // Index of a host parameter var nextIndex int32 = 1 // Index of next ? host parameter var n int32 // Length of a token prefix - // var nToken int32 at bp+220, 4 + // var nToken int32 at bp+180, 4 // Length of the parameter token var i int32 // Loop counter var pVar uintptr // Value of a host parameter - // var out StrAccum at bp+88, 32 + // var out StrAccum at bp+48, 32 // Accumulate the output here - // var utf8 Mem at bp+232, 56 + // var utf8 Mem at bp+192, 56 // Used to convert UTF16 into UTF8 for display - // var zBase [100]int8 at bp+120, 100 + // var zBase [100]int8 at bp+80, 100 // Initial working space db = (*Vdbe)(unsafe.Pointer(p)).Fdb - Xsqlite3StrAccumInit(tls, bp+88 /* &out */, uintptr(0), bp+120 /* &zBase[0] */, int32(unsafe.Sizeof([100]int8{})), + Xsqlite3StrAccumInit(tls, bp+48 /* &out */, uintptr(0), bp+80 /* &zBase[0] */, int32(unsafe.Sizeof([100]int8{})), *(*int32)(unsafe.Pointer((db + 128 /* &.aLimit */)))) if (*Sqlite3)(unsafe.Pointer(db)).FnVdbeExec > 1 { for *(*int8)(unsafe.Pointer(zRawSql)) != 0 { var zStart uintptr = zRawSql for (int32(*(*int8)(unsafe.Pointer(libc.PostIncUintptr(&zRawSql, 1)))) != '\n') && (*(*int8)(unsafe.Pointer(zRawSql)) != 0) { } - Xsqlite3_str_append(tls, bp+88 /* &out */, ts+11906 /* "-- " */, 3) + Xsqlite3_str_append(tls, bp+48 /* &out */, ts+11906 /* "-- " */, 3) - Xsqlite3_str_append(tls, bp+88 /* &out */, zStart, (int32((int64(zRawSql) - int64(zStart)) / 1))) + Xsqlite3_str_append(tls, bp+48 /* &out */, zStart, (int32((int64(zRawSql) - int64(zStart)) / 1))) } } else if int32((*Vdbe)(unsafe.Pointer(p)).FnVar) == 0 { - Xsqlite3_str_append(tls, bp+88 /* &out */, zRawSql, Xsqlite3Strlen30(tls, zRawSql)) + Xsqlite3_str_append(tls, bp+48 /* &out */, zRawSql, Xsqlite3Strlen30(tls, zRawSql)) } else { for *(*int8)(unsafe.Pointer(zRawSql)) != 0 { - n = findNextHostParameter(tls, zRawSql, bp+220 /* &nToken */) + n = findNextHostParameter(tls, zRawSql, bp+180 /* &nToken */) - Xsqlite3_str_append(tls, bp+88 /* &out */, zRawSql, n) + Xsqlite3_str_append(tls, bp+48 /* &out */, zRawSql, n) zRawSql += uintptr(n) - if *(*int32)(unsafe.Pointer(bp + 220 /* nToken */)) == 0 { + if *(*int32)(unsafe.Pointer(bp + 180 /* nToken */)) == 0 { break } if int32(*(*int8)(unsafe.Pointer(zRawSql))) == '?' { - if *(*int32)(unsafe.Pointer(bp + 220 /* nToken */)) > 1 { + if *(*int32)(unsafe.Pointer(bp + 180 /* nToken */)) > 1 { - Xsqlite3GetInt32(tls, (zRawSql + 1), bp+224 /* &idx */) + Xsqlite3GetInt32(tls, (zRawSql + 1), bp+184 /* &idx */) } else { - *(*int32)(unsafe.Pointer(bp + 224 /* idx */)) = nextIndex + *(*int32)(unsafe.Pointer(bp + 184 /* idx */)) = nextIndex } } else { - *(*int32)(unsafe.Pointer(bp + 224 /* idx */)) = Xsqlite3VdbeParameterIndex(tls, p, zRawSql, *(*int32)(unsafe.Pointer(bp + 220 /* nToken */))) + *(*int32)(unsafe.Pointer(bp + 184 /* idx */)) = Xsqlite3VdbeParameterIndex(tls, p, zRawSql, *(*int32)(unsafe.Pointer(bp + 180 /* nToken */))) } - zRawSql += uintptr(*(*int32)(unsafe.Pointer(bp + 220 /* nToken */))) + zRawSql += uintptr(*(*int32)(unsafe.Pointer(bp + 180 /* nToken */))) nextIndex = func() int32 { - if (*(*int32)(unsafe.Pointer(bp + 224 /* idx */)) + 1) > (nextIndex) { - return (*(*int32)(unsafe.Pointer(bp + 224 /* idx */)) + 1) + if (*(*int32)(unsafe.Pointer(bp + 184 /* idx */)) + 1) > (nextIndex) { + return (*(*int32)(unsafe.Pointer(bp + 184 /* idx */)) + 1) } return nextIndex }() - pVar = ((*Vdbe)(unsafe.Pointer(p)).FaVar + uintptr((*(*int32)(unsafe.Pointer(bp + 224 /* idx */))-1))*56) + pVar = ((*Vdbe)(unsafe.Pointer(p)).FaVar + uintptr((*(*int32)(unsafe.Pointer(bp + 184 /* idx */))-1))*56) if (int32((*Mem)(unsafe.Pointer(pVar)).Fflags) & MEM_Null) != 0 { - Xsqlite3_str_append(tls, bp+88 /* &out */, ts+916 /* "NULL" */, 4) + Xsqlite3_str_append(tls, bp+48 /* &out */, ts+916 /* "NULL" */, 4) } else if (int32((*Mem)(unsafe.Pointer(pVar)).Fflags) & (MEM_Int | MEM_IntReal)) != 0 { - Xsqlite3_str_appendf(tls, bp+88 /* &out */, ts+11482 /* "%lld" */, libc.VaList(bp, *(*I64)(unsafe.Pointer(pVar /* &.u */)))) + Xsqlite3_str_appendf(tls, bp+48 /* &out */, ts+11482 /* "%lld" */, libc.VaList(bp, *(*I64)(unsafe.Pointer(pVar /* &.u */)))) } else if (int32((*Mem)(unsafe.Pointer(pVar)).Fflags) & MEM_Real) != 0 { - Xsqlite3_str_appendf(tls, bp+88 /* &out */, ts+11384 /* "%!.15g" */, libc.VaList(bp+16, *(*float64)(unsafe.Pointer(pVar /* &.u */)))) + Xsqlite3_str_appendf(tls, bp+48 /* &out */, ts+11384 /* "%!.15g" */, libc.VaList(bp+8, *(*float64)(unsafe.Pointer(pVar /* &.u */)))) } else if (int32((*Mem)(unsafe.Pointer(pVar)).Fflags) & MEM_Str) != 0 { var nOut int32 // Number of bytes of the string text to include in output var enc U8 = (*Sqlite3)(unsafe.Pointer(db)).Fenc if int32(enc) != SQLITE_UTF8 { - libc.Xmemset(tls, bp+232 /* &utf8 */, 0, uint64(unsafe.Sizeof(Mem{}))) - (*Mem)(unsafe.Pointer(bp + 232 /* &utf8 */)).Fdb = db - Xsqlite3VdbeMemSetStr(tls, bp+232 /* &utf8 */, (*Mem)(unsafe.Pointer(pVar)).Fz, int64((*Mem)(unsafe.Pointer(pVar)).Fn), enc, uintptr(0)) - if SQLITE_NOMEM == Xsqlite3VdbeChangeEncoding(tls, bp+232 /* &utf8 */, SQLITE_UTF8) { - (*StrAccum)(unsafe.Pointer(bp + 88 /* &out */)).FaccError = U8(SQLITE_NOMEM) - (*StrAccum)(unsafe.Pointer(bp + 88 /* &out */)).FnAlloc = U32(0) + libc.Xmemset(tls, bp+192 /* &utf8 */, 0, uint64(unsafe.Sizeof(Mem{}))) + (*Mem)(unsafe.Pointer(bp + 192 /* &utf8 */)).Fdb = db + Xsqlite3VdbeMemSetStr(tls, bp+192 /* &utf8 */, (*Mem)(unsafe.Pointer(pVar)).Fz, int64((*Mem)(unsafe.Pointer(pVar)).Fn), enc, uintptr(0)) + if SQLITE_NOMEM == Xsqlite3VdbeChangeEncoding(tls, bp+192 /* &utf8 */, SQLITE_UTF8) { + (*StrAccum)(unsafe.Pointer(bp + 48 /* &out */)).FaccError = U8(SQLITE_NOMEM) + (*StrAccum)(unsafe.Pointer(bp + 48 /* &out */)).FnAlloc = U32(0) } - pVar = bp + 232 /* &utf8 */ + pVar = bp + 192 /* &utf8 */ } nOut = (*Mem)(unsafe.Pointer(pVar)).Fn - Xsqlite3_str_appendf(tls, bp+88 /* &out */, ts+11910 /* "'%.*q'" */, libc.VaList(bp+32, nOut, (*Mem)(unsafe.Pointer(pVar)).Fz)) + Xsqlite3_str_appendf(tls, bp+48 /* &out */, ts+11910 /* "'%.*q'" */, libc.VaList(bp+16, nOut, (*Mem)(unsafe.Pointer(pVar)).Fz)) if int32(enc) != SQLITE_UTF8 { - Xsqlite3VdbeMemRelease(tls, bp+232 /* &utf8 */) + Xsqlite3VdbeMemRelease(tls, bp+192 /* &utf8 */) } } else if (int32((*Mem)(unsafe.Pointer(pVar)).Fflags) & MEM_Zero) != 0 { - Xsqlite3_str_appendf(tls, bp+88 /* &out */, ts+11917 /* "zeroblob(%d)" */, libc.VaList(bp+56, *(*int32)(unsafe.Pointer(pVar /* &.u */)))) + Xsqlite3_str_appendf(tls, bp+48 /* &out */, ts+11917 /* "zeroblob(%d)" */, libc.VaList(bp+32, *(*int32)(unsafe.Pointer(pVar /* &.u */)))) } else { var nOut int32 // Number of bytes of the blob to include in output - Xsqlite3_str_append(tls, bp+88 /* &out */, ts+11930 /* "x'" */, 2) + Xsqlite3_str_append(tls, bp+48 /* &out */, ts+11930 /* "x'" */, 2) nOut = (*Mem)(unsafe.Pointer(pVar)).Fn for i = 0; i < nOut; i++ { - Xsqlite3_str_appendf(tls, bp+88 /* &out */, ts+11933 /* "%02x" */, libc.VaList(bp+72, (int32(*(*int8)(unsafe.Pointer((*Mem)(unsafe.Pointer(pVar)).Fz + uintptr(i))))&0xff))) + Xsqlite3_str_appendf(tls, bp+48 /* &out */, ts+11933 /* "%02x" */, libc.VaList(bp+40, (int32(*(*int8)(unsafe.Pointer((*Mem)(unsafe.Pointer(pVar)).Fz + uintptr(i))))&0xff))) } - Xsqlite3_str_append(tls, bp+88 /* &out */, ts+11938 /* "'" */, 1) + Xsqlite3_str_append(tls, bp+48 /* &out */, ts+11938 /* "'" */, 1) } } } - if (*StrAccum)(unsafe.Pointer(bp+88 /* &out */)).FaccError != 0 { - Xsqlite3_str_reset(tls, bp+88 /* &out */) + if (*StrAccum)(unsafe.Pointer(bp+48 /* &out */)).FaccError != 0 { + Xsqlite3_str_reset(tls, bp+48 /* &out */) } - return Xsqlite3StrAccumFinish(tls, bp+88 /* &out */) + return Xsqlite3StrAccumFinish(tls, bp+48 /* &out */) } //************* End of vdbetrace.c ****************************************** @@ -108687,8 +108687,8 @@ func out2Prerelease(tls *libc.TLS, p uintptr, pOp uintptr) uintptr { /* sqlite3. // Execute as much of a VDBE program as we can. // This is the core of sqlite3_step(). func Xsqlite3VdbeExec(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:87179:20: */ - bp := tls.Alloc(1056) - defer tls.Free(1056) + bp := tls.Alloc(936) + defer tls.Free(936) var aOp uintptr // Copy of p->aOp var pOp uintptr // Current operation @@ -108725,13 +108725,13 @@ func Xsqlite3VdbeExec(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:87179:20: * var type1 U16 // Numeric type of left operand var type2 U16 // Numeric type of right operand var iA I64 // Integer value of left operand - // var iB I64 at bp+296, 8 + // var iB I64 at bp+176, 8 // Integer value of right operand var rA float64 // Real value of left operand var rB float64 // same as TK_RSHIFT, in1, in2, out3 - // var iA1 I64 at bp+312, 8 + // var iA1 I64 at bp+192, 8 - // var uA U64 at bp+304, 8 + // var uA U64 at bp+184, 8 var iB1 I64 var op U8 // same as TK_GE, jump, in1, in3 @@ -108755,22 +108755,22 @@ func Xsqlite3VdbeExec(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:87179:20: * var c int32 // jump, in1 var c1 int32 // out3 var pC uintptr - // var p22 U32 at bp+328, 4 + // var p22 U32 at bp+208, 4 // column number to retrieve - // var pC1 uintptr at bp+320, 8 + // var pC1 uintptr at bp+200, 8 // The VDBE cursor var pCrsr uintptr // The BTree cursor var aOffset uintptr // aOffset[i] is offset to start of data for i-th column var len int32 // The length of the serialized data for the column var i2 int32 // Loop counter var pDest uintptr // Where to write the extracted value - // var sMem Mem at bp+336, 56 + // var sMem Mem at bp+216, 56 // For storing the record being decoded var zData uintptr // Part of the record being decoded var zHdr uintptr // Next unparsed byte of the header var zEndHdr uintptr // Pointer to first byte after the header var offset64 U64 // 64-bit offset - // var t U32 at bp+392, 4 + // var t U32 at bp+272, 4 // A type code from the record header var pReg uintptr var zAffinity uintptr @@ -108792,7 +108792,7 @@ func Xsqlite3VdbeExec(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:87179:20: * var len1 U32 // Length of a field var zHdr1 uintptr // Where to write next byte of the header var zPayload uintptr // out2 - // var nEntry I64 at bp+400, 8 + // var nEntry I64 at bp+280, 8 var pCrsr1 uintptr var isSchemaChange int32 @@ -108812,9 +108812,9 @@ func Xsqlite3VdbeExec(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:87179:20: * var desiredAutoCommit int32 var iRollback int32 var pBt uintptr - // var iMeta int32 at bp+408, 4 + // var iMeta int32 at bp+288, 4 // out2 - // var iMeta1 int32 at bp+412, 4 + // var iMeta1 int32 at bp+292, 4 var iDb int32 var iCookie int32 @@ -108836,20 +108836,20 @@ func Xsqlite3VdbeExec(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:87179:20: * var pCx3 uintptr var flags31 U16 var newType U16 // jump, in3, group - // var res1 int32 at bp+416, 4 + // var res1 int32 at bp+296, 4 // Comparison result var oc int32 // Opcode var pC3 uintptr // The cursor to seek - // var r UnpackedRecord at bp+424, 24 + // var r UnpackedRecord at bp+304, 24 // The key to seek for var nField2 int32 // Number of columns or fields in the key var iKey I64 // The rowid we are to seek to var eqOnly int32 var pC4 uintptr - // var res3 int32 at bp+472, 4 + // var res3 int32 at bp+352, 4 var nStep int32 - // var r1 UnpackedRecord at bp+448, 24 + // var r1 UnpackedRecord at bp+328, 24 var pC5 uintptr // jump, in3 var pC6 uintptr // jump, in3 @@ -108857,28 +108857,28 @@ func Xsqlite3VdbeExec(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:87179:20: * var takeJump int32 var ii1 int32 var pC7 uintptr - // var res4 int32 at bp+504, 4 + // var res4 int32 at bp+384, 4 var pFree uintptr var pIdxKey uintptr - // var r2 UnpackedRecord at bp+480, 24 + // var r2 UnpackedRecord at bp+360, 24 // If pIn3->u.i does not contain an integer, compute iKey as the // integer value of pIn3. Jump to P2 if pIn3 cannot be converted // into an integer without loss of information. Take care to avoid // changing the datatype of pIn3, however, as it is used by other // parts of the prepared statement. - // var x Mem at bp+512, 56 + // var x Mem at bp+392, 56 // jump, in3 var pC8 uintptr var pCrsr2 uintptr - // var res5 int32 at bp+568, 4 + // var res5 int32 at bp+448, 4 var iKey1 U64 // out2 - // var v I64 at bp+576, 8 + // var v I64 at bp+456, 8 // The new rowid var pC9 uintptr // Cursor of table to get the new rowid - // var res6 int32 at bp+572, 4 + // var res6 int32 at bp+452, 4 // Result of an sqlite3BtreeLast() var cnt1 int32 // Counter to limit the number of searches var pMem1 uintptr // Register holding largest rowid for AUTOINCREMENT @@ -108889,7 +108889,7 @@ func Xsqlite3VdbeExec(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:87179:20: * var seekResult int32 // Result of prior seek or 0 if no USESEEKRESULT flag var zDb uintptr // database name - used by the update hook var pTab uintptr // Table structure - used by update and pre-update hooks - // var x1 BtreePayload at bp+584, 48 + // var x1 BtreePayload at bp+464, 48 var pDest1 uintptr // Cursor to write to var pSrc uintptr // Cursor to read from @@ -108899,7 +108899,7 @@ func Xsqlite3VdbeExec(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:87179:20: * var pTab1 uintptr var opflags int32 var pC12 uintptr - // var res7 int32 at bp+632, 4 + // var res7 int32 at bp+512, 4 var nKeyCol int32 var pC13 uintptr @@ -108907,69 +108907,69 @@ func Xsqlite3VdbeExec(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:87179:20: * var pCrsr3 uintptr var n3 U32 // out2 var pC15 uintptr - // var v3 I64 at bp+640, 8 + // var v3 I64 at bp+520, 8 var pVtab uintptr var pModule uintptr var pC16 uintptr // jump var pC17 uintptr var pCrsr4 uintptr - // var res8 int32 at bp+648, 4 + // var res8 int32 at bp+528, 4 // jump var pC18 uintptr var pCrsr5 uintptr - // var res9 int32 at bp+652, 4 + // var res9 int32 at bp+532, 4 var sz I64 // jump var pC19 uintptr var pCrsr6 uintptr - // var res10 int32 at bp+656, 4 + // var res10 int32 at bp+536, 4 // jump var pC20 uintptr // in2 var pC21 uintptr - // var x2 BtreePayload at bp+664, 48 + // var x2 BtreePayload at bp+544, 48 // in2 var pC22 uintptr var pC23 uintptr var pCrsr7 uintptr - // var res11 int32 at bp+736, 4 + // var res11 int32 at bp+616, 4 - // var r3 UnpackedRecord at bp+712, 24 + // var r3 UnpackedRecord at bp+592, 24 // out2 var pC24 uintptr // The P1 index cursor var pTabCur uintptr // The P2 table cursor (OP_DeferredSeek only) - // var rowid I64 at bp+744, 8 + // var rowid I64 at bp+624, 8 var pC25 uintptr var nCellKey I64 var pCur1 uintptr - // var m Mem at bp+752, 56 + // var m Mem at bp+632, 56 // jump var pC26 uintptr var res12 int32 - // var r4 UnpackedRecord at bp+808, 24 + // var r4 UnpackedRecord at bp+688, 24 // out2 - // var iMoved int32 at bp+832, 4 + // var iMoved int32 at bp+712, 4 var iDb2 int32 - // var nChange int32 at bp+836, 4 + // var nChange int32 at bp+716, 4 var pC27 uintptr // out2 - // var pgno Pgno at bp+840, 4 + // var pgno Pgno at bp+720, 4 var pDb2 uintptr var iDb3 int32 var zSchema uintptr var zSql uintptr - // var initData InitData at bp+848, 40 + // var initData InitData at bp+728, 40 var nRoot int32 // Number of tables to check. (Number of root pages.) var aRoot uintptr // Array of rootpage numbers for tables to be checked - // var nErr int32 at bp+888, 4 + // var nErr int32 at bp+768, 4 // Number of errors reported var z uintptr // Text of the error report var pnErr uintptr // jump, in1, out3 - // var val I64 at bp+896, 8 + // var val I64 at bp+776, 8 // jump, in1, in3 var iSet int32 var exists int32 // jump @@ -108984,7 +108984,7 @@ func Xsqlite3VdbeExec(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:87179:20: * var pFrame3 uintptr var pIn uintptr // in2 var pFrame4 uintptr // in1, out2, in3 - // var x3 I64 at bp+904, 8 + // var x3 I64 at bp+784, 8 var n4 int32 var pCtx uintptr @@ -108993,7 +108993,7 @@ func Xsqlite3VdbeExec(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:87179:20: * var pMem3 uintptr var pMem4 uintptr var i5 int32 // Loop counter - // var aRes [3]int32 at bp+912, 12 + // var aRes [3]int32 at bp+792, 12 // Results var pMem5 uintptr // out2 var pBt1 uintptr // Btree to change journal mode of @@ -109008,11 +109008,11 @@ func Xsqlite3VdbeExec(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:87179:20: * var p13 int32 var isWriteLock U8 var pVTab uintptr - // var sMem1 Mem at bp+928, 56 + // var sMem1 Mem at bp+808, 56 // For storing the record being decoded var zTab uintptr var pCur2 uintptr - // var pVCur uintptr at bp+984, 8 + // var pVCur uintptr at bp+864, 8 var pVtab1 uintptr var pModule1 uintptr // jump @@ -109030,7 +109030,7 @@ func Xsqlite3VdbeExec(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:87179:20: * var pVtab3 uintptr var pModule3 uintptr var pDest2 uintptr - // var sContext Sqlite3_context at bp+992, 56 + // var sContext Sqlite3_context at bp+872, 56 var pCur4 uintptr // jump var pVtab4 uintptr @@ -109045,7 +109045,7 @@ func Xsqlite3VdbeExec(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:87179:20: * var pModule5 uintptr var nArg1 int32 var i7 int32 - // var rowid1 Sqlite_int64 at bp+1048, 8 + // var rowid1 Sqlite_int64 at bp+928, 8 var apArg1 uintptr var pX1 uintptr // out2 @@ -112009,15 +112009,15 @@ __192: if !(*(*uintptr)(unsafe.Pointer(pOp + 16 /* &.p4 */)) != 0) { goto __197 } - (*Vdbe)(unsafe.Pointer(p)).FzErrMsg = Xsqlite3MPrintf(tls, db, ts+11961 /* "%z: %s" */, libc.VaList(bp+16, (*Vdbe)(unsafe.Pointer(p)).FzErrMsg, *(*uintptr)(unsafe.Pointer(pOp + 16 /* &.p4 */)))) + (*Vdbe)(unsafe.Pointer(p)).FzErrMsg = Xsqlite3MPrintf(tls, db, ts+11961 /* "%z: %s" */, libc.VaList(bp+8, (*Vdbe)(unsafe.Pointer(p)).FzErrMsg, *(*uintptr)(unsafe.Pointer(pOp + 16 /* &.p4 */)))) __197: ; goto __196 __195: - Xsqlite3VdbeError(tls, p, ts+951 /* "%s" */, libc.VaList(bp+40, *(*uintptr)(unsafe.Pointer(pOp + 16 /* &.p4 */)))) + Xsqlite3VdbeError(tls, p, ts+951 /* "%s" */, libc.VaList(bp+24, *(*uintptr)(unsafe.Pointer(pOp + 16 /* &.p4 */)))) __196: ; - Xsqlite3_log(tls, (*Op)(unsafe.Pointer(pOp)).Fp1, ts+11968 /* "abort at %d in [..." */, libc.VaList(bp+56, pcx, (*Vdbe)(unsafe.Pointer(p)).FzSql, (*Vdbe)(unsafe.Pointer(p)).FzErrMsg)) + Xsqlite3_log(tls, (*Op)(unsafe.Pointer(pOp)).Fp1, ts+11968 /* "abort at %d in [..." */, libc.VaList(bp+32, pcx, (*Vdbe)(unsafe.Pointer(p)).FzSql, (*Vdbe)(unsafe.Pointer(p)).FzErrMsg)) __194: ; rc = Xsqlite3VdbeHalt(tls, p) @@ -112589,7 +112589,7 @@ __39: // Real value of right operand goto __238 } iA = *(*I64)(unsafe.Pointer(pIn1 /* &.u */)) - *(*I64)(unsafe.Pointer(bp + 296 /* iB */)) = *(*I64)(unsafe.Pointer(pIn2 /* &.u */)) + *(*I64)(unsafe.Pointer(bp + 176 /* iB */)) = *(*I64)(unsafe.Pointer(pIn2 /* &.u */)) switch int32((*Op)(unsafe.Pointer(pOp)).Fopcode) { case OP_Add: goto __241 @@ -112604,7 +112604,7 @@ __39: // Real value of right operand } goto __240 __241: - if !(Xsqlite3AddInt64(tls, bp+296 /* &iB */, iA) != 0) { + if !(Xsqlite3AddInt64(tls, bp+176 /* &iB */, iA) != 0) { goto __246 } goto fp_math @@ -112612,7 +112612,7 @@ __246: ; goto __240 __242: - if !(Xsqlite3SubInt64(tls, bp+296 /* &iB */, iA) != 0) { + if !(Xsqlite3SubInt64(tls, bp+176 /* &iB */, iA) != 0) { goto __247 } goto fp_math @@ -112620,7 +112620,7 @@ __247: ; goto __240 __243: - if !(Xsqlite3MulInt64(tls, bp+296 /* &iB */, iA) != 0) { + if !(Xsqlite3MulInt64(tls, bp+176 /* &iB */, iA) != 0) { goto __248 } goto fp_math @@ -112634,13 +112634,13 @@ __244: goto arithmetic_result_is_null __249: ; - if !((iA == int64(-1)) && (*(*I64)(unsafe.Pointer(bp + 296 /* iB */)) == ((int64(-1)) - (int64(0xffffffff) | (I64((int64(0x7fffffff))) << 32))))) { + if !((iA == int64(-1)) && (*(*I64)(unsafe.Pointer(bp + 176 /* iB */)) == ((int64(-1)) - (int64(0xffffffff) | (I64((int64(0x7fffffff))) << 32))))) { goto __250 } goto fp_math __250: ; - *(*I64)(unsafe.Pointer(bp + 296 /* iB */)) /= iA + *(*I64)(unsafe.Pointer(bp + 176 /* iB */)) /= iA goto __240 __245: @@ -112656,12 +112656,12 @@ __251: iA = int64(1) __252: ; - *(*I64)(unsafe.Pointer(bp + 296 /* iB */)) %= iA + *(*I64)(unsafe.Pointer(bp + 176 /* iB */)) %= iA goto __240 __240: ; - *(*I64)(unsafe.Pointer(pOut /* &.u */)) = *(*I64)(unsafe.Pointer(bp + 296 /* iB */)) + *(*I64)(unsafe.Pointer(pOut /* &.u */)) = *(*I64)(unsafe.Pointer(bp + 176 /* iB */)) (*Mem)(unsafe.Pointer(pOut)).Fflags = (U16((int32((*Mem)(unsafe.Pointer((pOut))).Fflags) & libc.CplInt32((MEM_TypeMask | MEM_Zero))) | MEM_Int)) goto __239 __238: @@ -112709,7 +112709,7 @@ __261: __260: iA = Xsqlite3VdbeIntValue(tls, pIn1) - *(*I64)(unsafe.Pointer(bp + 296 /* iB */)) = Xsqlite3VdbeIntValue(tls, pIn2) + *(*I64)(unsafe.Pointer(bp + 176 /* iB */)) = Xsqlite3VdbeIntValue(tls, pIn2) if !(iA == int64(0)) { goto __262 } @@ -112722,7 +112722,7 @@ __262: iA = int64(1) __263: ; - rB = (float64(*(*I64)(unsafe.Pointer(bp + 296 /* iB */)) % iA)) + rB = (float64(*(*I64)(unsafe.Pointer(bp + 176 /* iB */)) % iA)) goto __255 __255: @@ -112810,19 +112810,19 @@ __44: goto __10 __266: ; - *(*I64)(unsafe.Pointer(bp + 312 /* iA1 */)) = Xsqlite3VdbeIntValue(tls, pIn2) + *(*I64)(unsafe.Pointer(bp + 192 /* iA1 */)) = Xsqlite3VdbeIntValue(tls, pIn2) iB1 = Xsqlite3VdbeIntValue(tls, pIn1) op = (*Op)(unsafe.Pointer(pOp)).Fopcode if !(int32(op) == OP_BitAnd) { goto __267 } - *(*I64)(unsafe.Pointer(bp + 312 /* iA1 */)) &= iB1 + *(*I64)(unsafe.Pointer(bp + 192 /* iA1 */)) &= iB1 goto __268 __267: if !(int32(op) == OP_BitOr) { goto __269 } - *(*I64)(unsafe.Pointer(bp + 312 /* iA1 */)) |= iB1 + *(*I64)(unsafe.Pointer(bp + 192 /* iA1 */)) |= iB1 goto __270 __269: if !(iB1 != int64(0)) { @@ -112846,31 +112846,31 @@ __272: if !(iB1 >= int64(64)) { goto __273 } - if (*(*I64)(unsafe.Pointer(bp + 312 /* iA1 */)) >= int64(0)) || (int32(op) == OP_ShiftLeft) { - *(*I64)(unsafe.Pointer(bp + 312 /* iA1 */)) = int64(0) + if (*(*I64)(unsafe.Pointer(bp + 192 /* iA1 */)) >= int64(0)) || (int32(op) == OP_ShiftLeft) { + *(*I64)(unsafe.Pointer(bp + 192 /* iA1 */)) = int64(0) } else { - *(*I64)(unsafe.Pointer(bp + 312 /* iA1 */)) = int64(-1) + *(*I64)(unsafe.Pointer(bp + 192 /* iA1 */)) = int64(-1) } goto __274 __273: - libc.Xmemcpy(tls, bp+304 /* &uA */, bp+312 /* &iA1 */, uint64(unsafe.Sizeof(U64(0)))) + libc.Xmemcpy(tls, bp+184 /* &uA */, bp+192 /* &iA1 */, uint64(unsafe.Sizeof(U64(0)))) if !(int32(op) == OP_ShiftLeft) { goto __275 } - *(*U64)(unsafe.Pointer(bp + 304 /* uA */)) <<= iB1 + *(*U64)(unsafe.Pointer(bp + 184 /* uA */)) <<= iB1 goto __276 __275: - *(*U64)(unsafe.Pointer(bp + 304 /* uA */)) >>= iB1 + *(*U64)(unsafe.Pointer(bp + 184 /* uA */)) >>= iB1 // Sign-extend on a right shift of a negative number - if !(*(*I64)(unsafe.Pointer(bp + 312 /* iA1 */)) < int64(0)) { + if !(*(*I64)(unsafe.Pointer(bp + 192 /* iA1 */)) < int64(0)) { goto __277 } - *(*U64)(unsafe.Pointer(bp + 304 /* uA */)) |= (U64(((U64((uint64(0xffffffff))) << 32) | uint64(0xffffffff))) << (int64(64) - iB1)) + *(*U64)(unsafe.Pointer(bp + 184 /* uA */)) |= (U64(((U64((uint64(0xffffffff))) << 32) | uint64(0xffffffff))) << (int64(64) - iB1)) __277: ; __276: ; - libc.Xmemcpy(tls, bp+312 /* &iA1 */, bp+304 /* &uA */, uint64(unsafe.Sizeof(I64(0)))) + libc.Xmemcpy(tls, bp+192 /* &iA1 */, bp+184 /* &uA */, uint64(unsafe.Sizeof(I64(0)))) __274: ; __271: @@ -112879,7 +112879,7 @@ __270: ; __268: ; - *(*I64)(unsafe.Pointer(pOut /* &.u */)) = *(*I64)(unsafe.Pointer(bp + 312 /* iA1 */)) + *(*I64)(unsafe.Pointer(pOut /* &.u */)) = *(*I64)(unsafe.Pointer(bp + 192 /* iA1 */)) (*Mem)(unsafe.Pointer(pOut)).Fflags = (U16((int32((*Mem)(unsafe.Pointer((pOut))).Fflags) & libc.CplInt32((MEM_TypeMask | MEM_Zero))) | MEM_Int)) goto __10 @@ -113734,14 +113734,14 @@ __346: __72: // PseudoTable input register ; - *(*uintptr)(unsafe.Pointer(bp + 320 /* pC1 */)) = *(*uintptr)(unsafe.Pointer((*Vdbe)(unsafe.Pointer(p)).FapCsr + uintptr((*Op)(unsafe.Pointer(pOp)).Fp1)*8)) + *(*uintptr)(unsafe.Pointer(bp + 200 /* pC1 */)) = *(*uintptr)(unsafe.Pointer((*Vdbe)(unsafe.Pointer(p)).FapCsr + uintptr((*Op)(unsafe.Pointer(pOp)).Fp1)*8)) - *(*U32)(unsafe.Pointer(bp + 328 /* p22 */)) = U32((*Op)(unsafe.Pointer(pOp)).Fp2) + *(*U32)(unsafe.Pointer(bp + 208 /* p22 */)) = U32((*Op)(unsafe.Pointer(pOp)).Fp2) // If the cursor cache is stale (meaning it is not currently point at // the correct row) then bring it up-to-date by doing the necessary // B-Tree seek. - rc = Xsqlite3VdbeCursorMoveto(tls, bp+320 /* &pC1 */, bp+328 /* &p22 */) + rc = Xsqlite3VdbeCursorMoveto(tls, bp+200 /* &pC1 */, bp+208 /* &p22 */) if !(rc != 0) { goto __347 } @@ -113751,24 +113751,24 @@ __347: pDest = (aMem + uintptr((*Op)(unsafe.Pointer(pOp)).Fp3)*56) - aOffset = (*VdbeCursor)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp + 320 /* pC1 */)))).FaOffset + aOffset = (*VdbeCursor)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp + 200 /* pC1 */)))).FaOffset - if !((*VdbeCursor)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp + 320 /* pC1 */)))).FcacheStatus != (*Vdbe)(unsafe.Pointer(p)).FcacheCtr) { + if !((*VdbeCursor)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp + 200 /* pC1 */)))).FcacheStatus != (*Vdbe)(unsafe.Pointer(p)).FcacheCtr) { goto __348 } //OPTIMIZATION-IF-FALSE - if !((*VdbeCursor)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp + 320 /* pC1 */)))).FnullRow != 0) { + if !((*VdbeCursor)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp + 200 /* pC1 */)))).FnullRow != 0) { goto __349 } - if !(int32((*VdbeCursor)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp + 320 /* pC1 */)))).FeCurType) == CURTYPE_PSEUDO) { + if !(int32((*VdbeCursor)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp + 200 /* pC1 */)))).FeCurType) == CURTYPE_PSEUDO) { goto __351 } // For the special case of as pseudo-cursor, the seekResult field // identifies the register that holds the record - pReg = (aMem + uintptr((*VdbeCursor)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp + 320 /* pC1 */)))).FseekResult)*56) + pReg = (aMem + uintptr((*VdbeCursor)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp + 200 /* pC1 */)))).FseekResult)*56) - (*VdbeCursor)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp + 320 /* pC1 */)))).FpayloadSize = libc.AssignPtrUint32(*(*uintptr)(unsafe.Pointer(bp + 320 /* pC1 */))+116 /* &.szRow */, U32((*Mem)(unsafe.Pointer(pReg)).Fn)) - (*VdbeCursor)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp + 320 /* pC1 */)))).FaRow = (*Mem)(unsafe.Pointer(pReg)).Fz + (*VdbeCursor)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp + 200 /* pC1 */)))).FpayloadSize = libc.AssignPtrUint32(*(*uintptr)(unsafe.Pointer(bp + 200 /* pC1 */))+116 /* &.szRow */, U32((*Mem)(unsafe.Pointer(pReg)).Fn)) + (*VdbeCursor)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp + 200 /* pC1 */)))).FaRow = (*Mem)(unsafe.Pointer(pReg)).Fz goto __352 __351: Xsqlite3VdbeMemSetNull(tls, pDest) @@ -113777,13 +113777,13 @@ __352: ; goto __350 __349: - pCrsr = *(*uintptr)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp + 320 /* pC1 */)) + 56 /* &.uc */)) + pCrsr = *(*uintptr)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp + 200 /* pC1 */)) + 56 /* &.uc */)) - (*VdbeCursor)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp + 320 /* pC1 */)))).FpayloadSize = Xsqlite3BtreePayloadSize(tls, pCrsr) - (*VdbeCursor)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp + 320 /* pC1 */)))).FaRow = Xsqlite3BtreePayloadFetch(tls, pCrsr, (*(*uintptr)(unsafe.Pointer(bp + 320 /* pC1 */)) + 116 /* &.szRow */)) + (*VdbeCursor)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp + 200 /* pC1 */)))).FpayloadSize = Xsqlite3BtreePayloadSize(tls, pCrsr) + (*VdbeCursor)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp + 200 /* pC1 */)))).FaRow = Xsqlite3BtreePayloadFetch(tls, pCrsr, (*(*uintptr)(unsafe.Pointer(bp + 200 /* pC1 */)) + 116 /* &.szRow */)) // Maximum page size is 64KiB - if !((*VdbeCursor)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp + 320 /* pC1 */)))).FpayloadSize > U32(*(*int32)(unsafe.Pointer((db + 128 /* &.aLimit */))))) { + if !((*VdbeCursor)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp + 200 /* pC1 */)))).FpayloadSize > U32(*(*int32)(unsafe.Pointer((db + 128 /* &.aLimit */))))) { goto __353 } goto too_big @@ -113791,27 +113791,27 @@ __353: ; __350: ; - (*VdbeCursor)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp + 320 /* pC1 */)))).FcacheStatus = (*Vdbe)(unsafe.Pointer(p)).FcacheCtr - (*VdbeCursor)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp + 320 /* pC1 */)))).FiHdrOffset = U32(func() uint8 { - if int32(*(*U8)(unsafe.Pointer((*VdbeCursor)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp + 320 /* pC1 */)))).FaRow))) < int32(U8(0x80)) { + (*VdbeCursor)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp + 200 /* pC1 */)))).FcacheStatus = (*Vdbe)(unsafe.Pointer(p)).FcacheCtr + (*VdbeCursor)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp + 200 /* pC1 */)))).FiHdrOffset = U32(func() uint8 { + if int32(*(*U8)(unsafe.Pointer((*VdbeCursor)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp + 200 /* pC1 */)))).FaRow))) < int32(U8(0x80)) { return uint8(func() int32 { - (*(*U32)(unsafe.Pointer(aOffset))) = U32(*(*U8)(unsafe.Pointer((*VdbeCursor)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp + 320 /* pC1 */)))).FaRow))) + (*(*U32)(unsafe.Pointer(aOffset))) = U32(*(*U8)(unsafe.Pointer((*VdbeCursor)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp + 200 /* pC1 */)))).FaRow))) return 1 }()) } - return Xsqlite3GetVarint32(tls, (*VdbeCursor)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp + 320 /* pC1 */)))).FaRow, (aOffset)) + return Xsqlite3GetVarint32(tls, (*VdbeCursor)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp + 200 /* pC1 */)))).FaRow, (aOffset)) }()) - (*VdbeCursor)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp + 320 /* pC1 */)))).FnHdrParsed = U16(0) + (*VdbeCursor)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp + 200 /* pC1 */)))).FnHdrParsed = U16(0) - if !((*VdbeCursor)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp + 320 /* pC1 */)))).FszRow < *(*U32)(unsafe.Pointer(aOffset))) { + if !((*VdbeCursor)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp + 200 /* pC1 */)))).FszRow < *(*U32)(unsafe.Pointer(aOffset))) { goto __354 } //OPTIMIZATION-IF-FALSE // pC->aRow does not have to hold the entire row, but it does at least // need to cover the header of the record. If pC->aRow does not contain // the complete header, then set it to zero, forcing the header to be // dynamically allocated. - (*VdbeCursor)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp + 320 /* pC1 */)))).FaRow = uintptr(0) - (*VdbeCursor)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp + 320 /* pC1 */)))).FszRow = U32(0) + (*VdbeCursor)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp + 200 /* pC1 */)))).FaRow = uintptr(0) + (*VdbeCursor)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp + 200 /* pC1 */)))).FszRow = U32(0) // Make sure a corrupt database has not given us an oversize header. // Do this now to avoid an oversize memory allocation. @@ -113821,7 +113821,7 @@ __350: // them, respectively. So the maximum header length results from a // 3-byte type for each of the maximum of 32768 columns plus three // extra bytes for the header length itself. 32768*3 + 3 = 98307. - if !((*(*U32)(unsafe.Pointer(aOffset)) > U32(98307)) || (*(*U32)(unsafe.Pointer(aOffset)) > (*VdbeCursor)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp + 320 /* pC1 */)))).FpayloadSize)) { + if !((*(*U32)(unsafe.Pointer(aOffset)) > U32(98307)) || (*(*U32)(unsafe.Pointer(aOffset)) > (*VdbeCursor)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp + 200 /* pC1 */)))).FpayloadSize)) { goto __356 } goto op_column_corrupt @@ -113841,7 +113841,7 @@ __354: // content area, the "page header" comes after the page content and so // this overread is harmless. Similar overreads can occur for a corrupt // database file. - zData = (*VdbeCursor)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp + 320 /* pC1 */)))).FaRow + zData = (*VdbeCursor)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp + 200 /* pC1 */)))).FaRow // Conditional skipped goto op_column_read_header @@ -113852,57 +113852,57 @@ __348: // Make sure at least the first p2+1 entries of the header have been // parsed and valid information is in aOffset[] and pC->aType[]. - if !(U32((*VdbeCursor)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp + 320 /* pC1 */)))).FnHdrParsed) <= *(*U32)(unsafe.Pointer(bp + 328 /* p22 */))) { + if !(U32((*VdbeCursor)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp + 200 /* pC1 */)))).FnHdrParsed) <= *(*U32)(unsafe.Pointer(bp + 208 /* p22 */))) { goto __357 } // If there is more header available for parsing in the record, try // to extract additional fields up through the p2+1-th field - if !((*VdbeCursor)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp + 320 /* pC1 */)))).FiHdrOffset < *(*U32)(unsafe.Pointer(aOffset))) { + if !((*VdbeCursor)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp + 200 /* pC1 */)))).FiHdrOffset < *(*U32)(unsafe.Pointer(aOffset))) { goto __359 } // Make sure zData points to enough of the record to cover the header. - if !((*VdbeCursor)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp + 320 /* pC1 */)))).FaRow == uintptr(0)) { + if !((*VdbeCursor)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp + 200 /* pC1 */)))).FaRow == uintptr(0)) { goto __361 } - libc.Xmemset(tls, bp+336 /* &sMem */, 0, uint64(unsafe.Sizeof(Mem{}))) - rc = Xsqlite3VdbeMemFromBtreeZeroOffset(tls, *(*uintptr)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp + 320 /* pC1 */)) + 56 /* &.uc */)), *(*U32)(unsafe.Pointer(aOffset)), bp+336 /* &sMem */) + libc.Xmemset(tls, bp+216 /* &sMem */, 0, uint64(unsafe.Sizeof(Mem{}))) + rc = Xsqlite3VdbeMemFromBtreeZeroOffset(tls, *(*uintptr)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp + 200 /* pC1 */)) + 56 /* &.uc */)), *(*U32)(unsafe.Pointer(aOffset)), bp+216 /* &sMem */) if !(rc != SQLITE_OK) { goto __363 } goto abort_due_to_error __363: ; - zData = (*Mem)(unsafe.Pointer(bp + 336 /* &sMem */)).Fz + zData = (*Mem)(unsafe.Pointer(bp + 216 /* &sMem */)).Fz goto __362 __361: - zData = (*VdbeCursor)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp + 320 /* pC1 */)))).FaRow + zData = (*VdbeCursor)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp + 200 /* pC1 */)))).FaRow __362: ; // Fill in pC->aType[i] and aOffset[i] values through the p2-th field. op_column_read_header: - i2 = int32((*VdbeCursor)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp + 320 /* pC1 */)))).FnHdrParsed) + i2 = int32((*VdbeCursor)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp + 200 /* pC1 */)))).FnHdrParsed) offset64 = U64(*(*U32)(unsafe.Pointer(aOffset + uintptr(i2)*4))) - zHdr = (zData + uintptr((*VdbeCursor)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp + 320 /* pC1 */)))).FiHdrOffset)) + zHdr = (zData + uintptr((*VdbeCursor)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp + 200 /* pC1 */)))).FiHdrOffset)) zEndHdr = (zData + uintptr(*(*U32)(unsafe.Pointer(aOffset)))) __364: - if !((libc.AssignPtrUint32((*(*uintptr)(unsafe.Pointer(bp + 320 /* pC1 */))+120 /* &.aType */)+uintptr(i2)*4, libc.AssignPtrUint32(bp+392 /* t */, U32(*(*U8)(unsafe.Pointer(zHdr)))))) < U32(0x80)) { + if !((libc.AssignPtrUint32((*(*uintptr)(unsafe.Pointer(bp + 200 /* pC1 */))+120 /* &.aType */)+uintptr(i2)*4, libc.AssignPtrUint32(bp+272 /* t */, U32(*(*U8)(unsafe.Pointer(zHdr)))))) < U32(0x80)) { goto __367 } zHdr++ - offset64 = offset64 + (U64(Xsqlite3VdbeOneByteSerialTypeLen(tls, uint8(*(*U32)(unsafe.Pointer(bp + 392 /* t */)))))) + offset64 = offset64 + (U64(Xsqlite3VdbeOneByteSerialTypeLen(tls, uint8(*(*U32)(unsafe.Pointer(bp + 272 /* t */)))))) goto __368 __367: - zHdr += uintptr(Xsqlite3GetVarint32(tls, zHdr, bp+392 /* &t */)) - *(*U32)(unsafe.Pointer((*(*uintptr)(unsafe.Pointer(bp + 320 /* pC1 */)) + 120 /* &.aType */) + uintptr(i2)*4)) = *(*U32)(unsafe.Pointer(bp + 392 /* t */)) - offset64 = offset64 + (U64(Xsqlite3VdbeSerialTypeLen(tls, *(*U32)(unsafe.Pointer(bp + 392 /* t */))))) + zHdr += uintptr(Xsqlite3GetVarint32(tls, zHdr, bp+272 /* &t */)) + *(*U32)(unsafe.Pointer((*(*uintptr)(unsafe.Pointer(bp + 200 /* pC1 */)) + 120 /* &.aType */) + uintptr(i2)*4)) = *(*U32)(unsafe.Pointer(bp + 272 /* t */)) + offset64 = offset64 + (U64(Xsqlite3VdbeSerialTypeLen(tls, *(*U32)(unsafe.Pointer(bp + 272 /* t */))))) __368: ; *(*U32)(unsafe.Pointer(aOffset + uintptr(libc.PreIncInt32(&i2, 1))*4)) = (U32(offset64 & uint64(0xffffffff))) goto __365 __365: - if (U32(i2) <= *(*U32)(unsafe.Pointer(bp + 328 /* p22 */))) && (zHdr < zEndHdr) { + if (U32(i2) <= *(*U32)(unsafe.Pointer(bp + 208 /* p22 */))) && (zHdr < zEndHdr) { goto __364 } goto __366 @@ -113913,8 +113913,8 @@ __366: // (1) the bytes of the header extend past the declared header size // (2) the entire header was used but not all data was used // (3) the end of the data extends beyond the end of the record. - if !(((zHdr >= zEndHdr) && ((zHdr > zEndHdr) || (offset64 != U64((*VdbeCursor)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp + 320 /* pC1 */)))).FpayloadSize)))) || - (offset64 > U64((*VdbeCursor)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp + 320 /* pC1 */)))).FpayloadSize))) { + if !(((zHdr >= zEndHdr) && ((zHdr > zEndHdr) || (offset64 != U64((*VdbeCursor)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp + 200 /* pC1 */)))).FpayloadSize)))) || + (offset64 > U64((*VdbeCursor)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp + 200 /* pC1 */)))).FpayloadSize))) { goto __369 } if !(*(*U32)(unsafe.Pointer(aOffset)) == U32(0)) { @@ -113924,10 +113924,10 @@ __366: zHdr = zEndHdr goto __371 __370: - if !((*VdbeCursor)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp + 320 /* pC1 */)))).FaRow == uintptr(0)) { + if !((*VdbeCursor)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp + 200 /* pC1 */)))).FaRow == uintptr(0)) { goto __372 } - Xsqlite3VdbeMemRelease(tls, bp+336 /* &sMem */) + Xsqlite3VdbeMemRelease(tls, bp+216 /* &sMem */) __372: ; goto op_column_corrupt @@ -113936,24 +113936,24 @@ __371: __369: ; - (*VdbeCursor)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp + 320 /* pC1 */)))).FnHdrParsed = U16(i2) - (*VdbeCursor)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp + 320 /* pC1 */)))).FiHdrOffset = (U32((int64(zHdr) - int64(zData)) / 1)) - if !((*VdbeCursor)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp + 320 /* pC1 */)))).FaRow == uintptr(0)) { + (*VdbeCursor)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp + 200 /* pC1 */)))).FnHdrParsed = U16(i2) + (*VdbeCursor)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp + 200 /* pC1 */)))).FiHdrOffset = (U32((int64(zHdr) - int64(zData)) / 1)) + if !((*VdbeCursor)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp + 200 /* pC1 */)))).FaRow == uintptr(0)) { goto __373 } - Xsqlite3VdbeMemRelease(tls, bp+336 /* &sMem */) + Xsqlite3VdbeMemRelease(tls, bp+216 /* &sMem */) __373: ; goto __360 __359: - *(*U32)(unsafe.Pointer(bp + 392 /* t */)) = U32(0) + *(*U32)(unsafe.Pointer(bp + 272 /* t */)) = U32(0) __360: ; // If after trying to extract new entries from the header, nHdrParsed is // still not up to p2, that means that the record has fewer than p2 // columns. So the result will be either the default value or a NULL. - if !(U32((*VdbeCursor)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp + 320 /* pC1 */)))).FnHdrParsed) <= *(*U32)(unsafe.Pointer(bp + 328 /* p22 */))) { + if !(U32((*VdbeCursor)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp + 200 /* pC1 */)))).FnHdrParsed) <= *(*U32)(unsafe.Pointer(bp + 208 /* p22 */))) { goto __374 } if !(int32((*Op)(unsafe.Pointer(pOp)).Fp4type) == (-11)) { @@ -113970,7 +113970,7 @@ __374: ; goto __358 __357: - *(*U32)(unsafe.Pointer(bp + 392 /* t */)) = *(*U32)(unsafe.Pointer((*(*uintptr)(unsafe.Pointer(bp + 320 /* pC1 */)) + 120 /* &.aType */) + uintptr(*(*U32)(unsafe.Pointer(bp + 328 /* p22 */)))*4)) + *(*U32)(unsafe.Pointer(bp + 272 /* t */)) = *(*U32)(unsafe.Pointer((*(*uintptr)(unsafe.Pointer(bp + 200 /* pC1 */)) + 120 /* &.aType */) + uintptr(*(*U32)(unsafe.Pointer(bp + 208 /* p22 */)))*4)) __358: ; @@ -113985,19 +113985,19 @@ __358: __377: ; - if !((*VdbeCursor)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp + 320 /* pC1 */)))).FszRow >= *(*U32)(unsafe.Pointer(aOffset + uintptr((*(*U32)(unsafe.Pointer(bp + 328 /* p22 */))+U32(1)))*4))) { + if !((*VdbeCursor)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp + 200 /* pC1 */)))).FszRow >= *(*U32)(unsafe.Pointer(aOffset + uintptr((*(*U32)(unsafe.Pointer(bp + 208 /* p22 */))+U32(1)))*4))) { goto __378 } // This is the common case where the desired content fits on the original // page - where the content is not on an overflow page - zData = ((*VdbeCursor)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp + 320 /* pC1 */)))).FaRow + uintptr(*(*U32)(unsafe.Pointer(aOffset + uintptr(*(*U32)(unsafe.Pointer(bp + 328 /* p22 */)))*4)))) - if !(*(*U32)(unsafe.Pointer(bp + 392 /* t */)) < U32(12)) { + zData = ((*VdbeCursor)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp + 200 /* pC1 */)))).FaRow + uintptr(*(*U32)(unsafe.Pointer(aOffset + uintptr(*(*U32)(unsafe.Pointer(bp + 208 /* p22 */)))*4)))) + if !(*(*U32)(unsafe.Pointer(bp + 272 /* t */)) < U32(12)) { goto __380 } - Xsqlite3VdbeSerialGet(tls, zData, *(*U32)(unsafe.Pointer(bp + 392 /* t */)), pDest) + Xsqlite3VdbeSerialGet(tls, zData, *(*U32)(unsafe.Pointer(bp + 272 /* t */)), pDest) goto __381 __380: - (*Mem)(unsafe.Pointer(pDest)).Fn = libc.AssignInt32(&len, (int32((*(*U32)(unsafe.Pointer(bp + 392 /* t */)) - U32(12)) / U32(2)))) + (*Mem)(unsafe.Pointer(pDest)).Fn = libc.AssignInt32(&len, (int32((*(*U32)(unsafe.Pointer(bp + 272 /* t */)) - U32(12)) / U32(2)))) (*Mem)(unsafe.Pointer(pDest)).Fenc = encoding if !((*Mem)(unsafe.Pointer(pDest)).FszMalloc < (len + 2)) { goto __382 @@ -114017,7 +114017,7 @@ __383: libc.Xmemcpy(tls, (*Mem)(unsafe.Pointer(pDest)).Fz, zData, uint64(len)) *(*int8)(unsafe.Pointer((*Mem)(unsafe.Pointer(pDest)).Fz + uintptr(len))) = int8(0) *(*int8)(unsafe.Pointer((*Mem)(unsafe.Pointer(pDest)).Fz + uintptr((len + 1)))) = int8(0) - (*Mem)(unsafe.Pointer(pDest)).Fflags = aFlag1[(*(*U32)(unsafe.Pointer(bp + 392 /* t */)) & U32(1))] + (*Mem)(unsafe.Pointer(pDest)).Fflags = aFlag1[(*(*U32)(unsafe.Pointer(bp + 272 /* t */)) & U32(1))] __381: ; goto __379 @@ -114025,8 +114025,8 @@ __378: (*Mem)(unsafe.Pointer(pDest)).Fenc = encoding // This branch happens only when content is on overflow pages if !((((int32((*Op)(unsafe.Pointer(pOp)).Fp5) & (OPFLAG_LENGTHARG | OPFLAG_TYPEOFARG)) != 0) && - (((*(*U32)(unsafe.Pointer(bp + 392 /* t */)) >= U32(12)) && ((*(*U32)(unsafe.Pointer(bp + 392 /* t */)) & U32(1)) == U32(0))) || ((int32((*Op)(unsafe.Pointer(pOp)).Fp5) & OPFLAG_TYPEOFARG) != 0))) || - ((libc.AssignInt32(&len, int32(Xsqlite3VdbeSerialTypeLen(tls, *(*U32)(unsafe.Pointer(bp + 392 /* t */)))))) == 0)) { + (((*(*U32)(unsafe.Pointer(bp + 272 /* t */)) >= U32(12)) && ((*(*U32)(unsafe.Pointer(bp + 272 /* t */)) & U32(1)) == U32(0))) || ((int32((*Op)(unsafe.Pointer(pOp)).Fp5) & OPFLAG_TYPEOFARG) != 0))) || + ((libc.AssignInt32(&len, int32(Xsqlite3VdbeSerialTypeLen(tls, *(*U32)(unsafe.Pointer(bp + 272 /* t */)))))) == 0)) { goto __385 } // Content is irrelevant for @@ -114041,17 +114041,17 @@ __378: // read more. Use the global constant sqlite3CtypeMap[] as the array, // as that array is 256 bytes long (plenty for VdbeMemPrettyPrint()) // and it begins with a bunch of zeros. - Xsqlite3VdbeSerialGet(tls, uintptr(uintptr(unsafe.Pointer(&Xsqlite3CtypeMap))), *(*U32)(unsafe.Pointer(bp + 392 /* t */)), pDest) + Xsqlite3VdbeSerialGet(tls, uintptr(uintptr(unsafe.Pointer(&Xsqlite3CtypeMap))), *(*U32)(unsafe.Pointer(bp + 272 /* t */)), pDest) goto __386 __385: - rc = Xsqlite3VdbeMemFromBtree(tls, *(*uintptr)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp + 320 /* pC1 */)) + 56 /* &.uc */)), *(*U32)(unsafe.Pointer(aOffset + uintptr(*(*U32)(unsafe.Pointer(bp + 328 /* p22 */)))*4)), uint32(len), pDest) + rc = Xsqlite3VdbeMemFromBtree(tls, *(*uintptr)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp + 200 /* pC1 */)) + 56 /* &.uc */)), *(*U32)(unsafe.Pointer(aOffset + uintptr(*(*U32)(unsafe.Pointer(bp + 208 /* p22 */)))*4)), uint32(len), pDest) if !(rc != SQLITE_OK) { goto __387 } goto abort_due_to_error __387: ; - Xsqlite3VdbeSerialGet(tls, (*Mem)(unsafe.Pointer(pDest)).Fz, *(*U32)(unsafe.Pointer(bp + 392 /* t */)), pDest) + Xsqlite3VdbeSerialGet(tls, (*Mem)(unsafe.Pointer(pDest)).Fz, *(*U32)(unsafe.Pointer(bp + 272 /* t */)), pDest) *(*U16)(unsafe.Pointer(pDest + 8 /* &.flags */)) &= libc.Uint16FromInt32((libc.CplInt32(MEM_Ephem))) __386: ; @@ -114529,11 +114529,11 @@ __75: if !((*Op)(unsafe.Pointer(pOp)).Fp3 != 0) { goto __444 } - *(*I64)(unsafe.Pointer(bp + 400 /* nEntry */)) = Xsqlite3BtreeRowCountEst(tls, pCrsr1) + *(*I64)(unsafe.Pointer(bp + 280 /* nEntry */)) = Xsqlite3BtreeRowCountEst(tls, pCrsr1) goto __445 __444: - *(*I64)(unsafe.Pointer(bp + 400 /* nEntry */)) = int64(0) // Not needed. Only used to silence a warning. - rc = Xsqlite3BtreeCount(tls, db, pCrsr1, bp+400 /* &nEntry */) + *(*I64)(unsafe.Pointer(bp + 280 /* nEntry */)) = int64(0) // Not needed. Only used to silence a warning. + rc = Xsqlite3BtreeCount(tls, db, pCrsr1, bp+280 /* &nEntry */) if !(rc != 0) { goto __446 } @@ -114543,7 +114543,7 @@ __446: __445: ; pOut = out2Prerelease(tls, p, pOp) - *(*I64)(unsafe.Pointer(pOut /* &.u */)) = *(*I64)(unsafe.Pointer(bp + 400 /* nEntry */)) + *(*I64)(unsafe.Pointer(pOut /* &.u */)) = *(*I64)(unsafe.Pointer(bp + 280 /* nEntry */)) goto check_for_interrupt // Opcode: Savepoint P1 * * P4 * @@ -114641,7 +114641,7 @@ __457: if !(!(pSavepoint != 0)) { goto __458 } - Xsqlite3VdbeError(tls, p, ts+12043 /* "no such savepoin..." */, libc.VaList(bp+88, zName)) + Xsqlite3VdbeError(tls, p, ts+12043 /* "no such savepoin..." */, libc.VaList(bp+56, zName)) rc = SQLITE_ERROR goto __459 __458: @@ -114950,7 +114950,7 @@ __489: // halts. The sqlite3_step() wrapper function might then reprepare the // statement and rerun it from the beginning. __78: - *(*int32)(unsafe.Pointer(bp + 408 /* iMeta */)) = 0 + *(*int32)(unsafe.Pointer(bp + 288 /* iMeta */)) = 0 if !(((*Op)(unsafe.Pointer(pOp)).Fp2 != 0) && (((*Sqlite3)(unsafe.Pointer(db)).Fflags & uint64(SQLITE_QueryOnly)) != uint64(0))) { goto __499 @@ -114964,7 +114964,7 @@ __499: if !(pBt != 0) { goto __500 } - rc = Xsqlite3BtreeBeginTrans(tls, pBt, (*Op)(unsafe.Pointer(pOp)).Fp2, bp+408 /* &iMeta */) + rc = Xsqlite3BtreeBeginTrans(tls, pBt, (*Op)(unsafe.Pointer(pOp)).Fp2, bp+288 /* &iMeta */) if !(rc != SQLITE_OK) { goto __501 @@ -115015,7 +115015,7 @@ __500: ; if !(((*Op)(unsafe.Pointer(pOp)).Fp5 != 0) && - ((*(*int32)(unsafe.Pointer(bp + 408 /* iMeta */)) != (*Op)(unsafe.Pointer(pOp)).Fp3) || + ((*(*int32)(unsafe.Pointer(bp + 288 /* iMeta */)) != (*Op)(unsafe.Pointer(pOp)).Fp3) || ((*Schema)(unsafe.Pointer((*Db)(unsafe.Pointer((*Sqlite3)(unsafe.Pointer(db)).FaDb+uintptr((*Op)(unsafe.Pointer(pOp)).Fp1)*32)).FpSchema)).FiGeneration != *(*int32)(unsafe.Pointer(pOp + 16 /* &.p4 */))))) { goto __506 } @@ -115036,7 +115036,7 @@ __500: // v-table would have to be ready for the sqlite3_vtab structure itself // to be invalidated whenever sqlite3_step() is called from within // a v-table method. - if !((*Schema)(unsafe.Pointer((*Db)(unsafe.Pointer((*Sqlite3)(unsafe.Pointer(db)).FaDb+uintptr((*Op)(unsafe.Pointer(pOp)).Fp1)*32)).FpSchema)).Fschema_cookie != *(*int32)(unsafe.Pointer(bp + 408 /* iMeta */))) { + if !((*Schema)(unsafe.Pointer((*Db)(unsafe.Pointer((*Sqlite3)(unsafe.Pointer(db)).FaDb+uintptr((*Op)(unsafe.Pointer(pOp)).Fp1)*32)).FpSchema)).Fschema_cookie != *(*int32)(unsafe.Pointer(bp + 288 /* iMeta */))) { goto __507 } Xsqlite3ResetOneSchema(tls, db, (*Op)(unsafe.Pointer(pOp)).Fp1) @@ -115070,9 +115070,9 @@ __79: iDb = (*Op)(unsafe.Pointer(pOp)).Fp1 iCookie = (*Op)(unsafe.Pointer(pOp)).Fp3 - Xsqlite3BtreeGetMeta(tls, (*Db)(unsafe.Pointer((*Sqlite3)(unsafe.Pointer(db)).FaDb+uintptr(iDb)*32)).FpBt, iCookie, bp+412 /* &iMeta1 */) + Xsqlite3BtreeGetMeta(tls, (*Db)(unsafe.Pointer((*Sqlite3)(unsafe.Pointer(db)).FaDb+uintptr(iDb)*32)).FpBt, iCookie, bp+292 /* &iMeta1 */) pOut = out2Prerelease(tls, p, pOp) - *(*I64)(unsafe.Pointer(pOut /* &.u */)) = I64(*(*int32)(unsafe.Pointer(bp + 412 /* iMeta1 */))) + *(*I64)(unsafe.Pointer(pOut /* &.u */)) = I64(*(*int32)(unsafe.Pointer(bp + 292 /* iMeta1 */))) goto __10 // Opcode: SetCookie P1 P2 P3 * P5 @@ -115718,7 +115718,7 @@ __543: goto jump_to_p2 goto __548 __547: - rc = Xsqlite3BtreeLast(tls, *(*uintptr)(unsafe.Pointer(pC3 + 56 /* &.uc */)), bp+416 /* &res1 */) + rc = Xsqlite3BtreeLast(tls, *(*uintptr)(unsafe.Pointer(pC3 + 56 /* &.uc */)), bp+296 /* &res1 */) if !(rc != SQLITE_OK) { goto __549 } @@ -115767,7 +115767,7 @@ __546: ; __544: ; - rc = Xsqlite3BtreeMovetoUnpacked(tls, *(*uintptr)(unsafe.Pointer(pC3 + 56 /* &.uc */)), uintptr(0), int64(U64(iKey)), 0, bp+416 /* &res1 */) + rc = Xsqlite3BtreeMovetoUnpacked(tls, *(*uintptr)(unsafe.Pointer(pC3 + 56 /* &.uc */)), uintptr(0), int64(U64(iKey)), 0, bp+296 /* &res1 */) (*VdbeCursor)(unsafe.Pointer(pC3)).FmovetoTarget = iKey // Used by OP_Delete if !(rc != SQLITE_OK) { goto __555 @@ -115791,8 +115791,8 @@ __556: nField2 = *(*int32)(unsafe.Pointer(pOp + 16 /* &.p4 */)) - (*UnpackedRecord)(unsafe.Pointer(bp + 424 /* &r */)).FpKeyInfo = (*VdbeCursor)(unsafe.Pointer(pC3)).FpKeyInfo - (*UnpackedRecord)(unsafe.Pointer(bp + 424 /* &r */)).FnField = U16(nField2) + (*UnpackedRecord)(unsafe.Pointer(bp + 304 /* &r */)).FpKeyInfo = (*VdbeCursor)(unsafe.Pointer(pC3)).FpKeyInfo + (*UnpackedRecord)(unsafe.Pointer(bp + 304 /* &r */)).FnField = U16(nField2) // The next line of code computes as follows, only faster: // if( oc==OP_SeekGT || oc==OP_SeekLE ){ @@ -115800,23 +115800,23 @@ __556: // }else{ // r.default_rc = +1; // } - (*UnpackedRecord)(unsafe.Pointer(bp + 424 /* &r */)).Fdefault_rc = func() int8 { + (*UnpackedRecord)(unsafe.Pointer(bp + 304 /* &r */)).Fdefault_rc = func() int8 { if (1 & (oc - OP_SeekLT)) != 0 { return int8(-1) } return +int8(1) }() - (*UnpackedRecord)(unsafe.Pointer(bp + 424 /* &r */)).FaMem = (aMem + uintptr((*Op)(unsafe.Pointer(pOp)).Fp3)*56) - (*UnpackedRecord)(unsafe.Pointer(bp + 424 /* &r */)).FeqSeen = U8(0) - rc = Xsqlite3BtreeMovetoUnpacked(tls, *(*uintptr)(unsafe.Pointer(pC3 + 56 /* &.uc */)), bp+424 /* &r */, int64(0), 0, bp+416 /* &res1 */) + (*UnpackedRecord)(unsafe.Pointer(bp + 304 /* &r */)).FaMem = (aMem + uintptr((*Op)(unsafe.Pointer(pOp)).Fp3)*56) + (*UnpackedRecord)(unsafe.Pointer(bp + 304 /* &r */)).FeqSeen = U8(0) + rc = Xsqlite3BtreeMovetoUnpacked(tls, *(*uintptr)(unsafe.Pointer(pC3 + 56 /* &.uc */)), bp+304 /* &r */, int64(0), 0, bp+296 /* &res1 */) if !(rc != SQLITE_OK) { goto __557 } goto abort_due_to_error __557: ; - if !((eqOnly != 0) && (int32((*UnpackedRecord)(unsafe.Pointer(bp+424 /* &r */)).FeqSeen) == 0)) { + if !((eqOnly != 0) && (int32((*UnpackedRecord)(unsafe.Pointer(bp+304 /* &r */)).FeqSeen) == 0)) { goto __558 } @@ -115829,10 +115829,10 @@ __542: if !(oc >= OP_SeekGE) { goto __559 } - if !((*(*int32)(unsafe.Pointer(bp + 416 /* res1 */)) < 0) || ((*(*int32)(unsafe.Pointer(bp + 416 /* res1 */)) == 0) && (oc == OP_SeekGT))) { + if !((*(*int32)(unsafe.Pointer(bp + 296 /* res1 */)) < 0) || ((*(*int32)(unsafe.Pointer(bp + 296 /* res1 */)) == 0) && (oc == OP_SeekGT))) { goto __561 } - *(*int32)(unsafe.Pointer(bp + 416 /* res1 */)) = 0 + *(*int32)(unsafe.Pointer(bp + 296 /* res1 */)) = 0 rc = Xsqlite3BtreeNext(tls, *(*uintptr)(unsafe.Pointer(pC3 + 56 /* &.uc */)), 0) if !(rc != SQLITE_OK) { goto __563 @@ -115841,7 +115841,7 @@ __542: goto __564 } rc = SQLITE_OK - *(*int32)(unsafe.Pointer(bp + 416 /* res1 */)) = 1 + *(*int32)(unsafe.Pointer(bp + 296 /* res1 */)) = 1 goto __565 __564: goto abort_due_to_error @@ -115851,16 +115851,16 @@ __563: ; goto __562 __561: - *(*int32)(unsafe.Pointer(bp + 416 /* res1 */)) = 0 + *(*int32)(unsafe.Pointer(bp + 296 /* res1 */)) = 0 __562: ; goto __560 __559: ; - if !((*(*int32)(unsafe.Pointer(bp + 416 /* res1 */)) > 0) || ((*(*int32)(unsafe.Pointer(bp + 416 /* res1 */)) == 0) && (oc == OP_SeekLT))) { + if !((*(*int32)(unsafe.Pointer(bp + 296 /* res1 */)) > 0) || ((*(*int32)(unsafe.Pointer(bp + 296 /* res1 */)) == 0) && (oc == OP_SeekLT))) { goto __566 } - *(*int32)(unsafe.Pointer(bp + 416 /* res1 */)) = 0 + *(*int32)(unsafe.Pointer(bp + 296 /* res1 */)) = 0 rc = Xsqlite3BtreePrevious(tls, *(*uintptr)(unsafe.Pointer(pC3 + 56 /* &.uc */)), 0) if !(rc != SQLITE_OK) { goto __568 @@ -115869,7 +115869,7 @@ __559: goto __569 } rc = SQLITE_OK - *(*int32)(unsafe.Pointer(bp + 416 /* res1 */)) = 1 + *(*int32)(unsafe.Pointer(bp + 296 /* res1 */)) = 1 goto __570 __569: goto abort_due_to_error @@ -115881,7 +115881,7 @@ __568: __566: // res might be negative because the table is empty. Check to // see if this is the case. - *(*int32)(unsafe.Pointer(bp + 416 /* res1 */)) = Xsqlite3BtreeEof(tls, *(*uintptr)(unsafe.Pointer(pC3 + 56 /* &.uc */))) + *(*int32)(unsafe.Pointer(bp + 296 /* res1 */)) = Xsqlite3BtreeEof(tls, *(*uintptr)(unsafe.Pointer(pC3 + 56 /* &.uc */))) __567: ; __560: @@ -115889,7 +115889,7 @@ __560: seek_not_found: ; - if !(*(*int32)(unsafe.Pointer(bp + 416 /* res1 */)) != 0) { + if !(*(*int32)(unsafe.Pointer(bp + 296 /* res1 */)) != 0) { goto __571 } goto jump_to_p2 @@ -115967,23 +115967,23 @@ __574: ; nStep = (*Op)(unsafe.Pointer(pOp)).Fp1 - (*UnpackedRecord)(unsafe.Pointer(bp + 448 /* &r1 */)).FpKeyInfo = (*VdbeCursor)(unsafe.Pointer(pC4)).FpKeyInfo - (*UnpackedRecord)(unsafe.Pointer(bp + 448 /* &r1 */)).FnField = U16(*(*int32)(unsafe.Pointer(pOp + 1*32 + 16 /* &.p4 */))) - (*UnpackedRecord)(unsafe.Pointer(bp + 448 /* &r1 */)).Fdefault_rc = int8(0) - (*UnpackedRecord)(unsafe.Pointer(bp + 448 /* &r1 */)).FaMem = (aMem + uintptr((*Op)(unsafe.Pointer(pOp+1*32)).Fp3)*56) - *(*int32)(unsafe.Pointer(bp + 472 /* res3 */)) = 0 // Not needed. Only used to silence a warning. + (*UnpackedRecord)(unsafe.Pointer(bp + 328 /* &r1 */)).FpKeyInfo = (*VdbeCursor)(unsafe.Pointer(pC4)).FpKeyInfo + (*UnpackedRecord)(unsafe.Pointer(bp + 328 /* &r1 */)).FnField = U16(*(*int32)(unsafe.Pointer(pOp + 1*32 + 16 /* &.p4 */))) + (*UnpackedRecord)(unsafe.Pointer(bp + 328 /* &r1 */)).Fdefault_rc = int8(0) + (*UnpackedRecord)(unsafe.Pointer(bp + 328 /* &r1 */)).FaMem = (aMem + uintptr((*Op)(unsafe.Pointer(pOp+1*32)).Fp3)*56) + *(*int32)(unsafe.Pointer(bp + 352 /* res3 */)) = 0 // Not needed. Only used to silence a warning. __575: if !(1 != 0) { goto __576 } - rc = Xsqlite3VdbeIdxKeyCompare(tls, db, pC4, bp+448 /* &r1 */, bp+472 /* &res3 */) + rc = Xsqlite3VdbeIdxKeyCompare(tls, db, pC4, bp+328 /* &r1 */, bp+352 /* &res3 */) if !(rc != 0) { goto __577 } goto abort_due_to_error __577: ; - if !(*(*int32)(unsafe.Pointer(bp + 472 /* res3 */)) > 0) { + if !(*(*int32)(unsafe.Pointer(bp + 352 /* res3 */)) > 0) { goto __578 } seekscan_search_fail: @@ -115992,7 +115992,7 @@ seekscan_search_fail: goto jump_to_p2 __578: ; - if !(*(*int32)(unsafe.Pointer(bp + 472 /* res3 */)) == 0) { + if !(*(*int32)(unsafe.Pointer(bp + 352 /* res3 */)) == 0) { goto __579 } @@ -116193,10 +116193,10 @@ __589: if !(*(*int32)(unsafe.Pointer(pOp + 16 /* &.p4 */)) > 0) { goto __590 } - (*UnpackedRecord)(unsafe.Pointer(bp + 480 /* &r2 */)).FpKeyInfo = (*VdbeCursor)(unsafe.Pointer(pC7)).FpKeyInfo - (*UnpackedRecord)(unsafe.Pointer(bp + 480 /* &r2 */)).FnField = U16(*(*int32)(unsafe.Pointer(pOp + 16 /* &.p4 */))) - (*UnpackedRecord)(unsafe.Pointer(bp + 480 /* &r2 */)).FaMem = pIn3 - pIdxKey = bp + 480 /* &r2 */ + (*UnpackedRecord)(unsafe.Pointer(bp + 360 /* &r2 */)).FpKeyInfo = (*VdbeCursor)(unsafe.Pointer(pC7)).FpKeyInfo + (*UnpackedRecord)(unsafe.Pointer(bp + 360 /* &r2 */)).FnField = U16(*(*int32)(unsafe.Pointer(pOp + 16 /* &.p4 */))) + (*UnpackedRecord)(unsafe.Pointer(bp + 360 /* &r2 */)).FaMem = pIn3 + pIdxKey = bp + 360 /* &r2 */ pFree = uintptr(0) goto __591 __590: @@ -116253,7 +116253,7 @@ __597: ; __594: ; - rc = Xsqlite3BtreeMovetoUnpacked(tls, *(*uintptr)(unsafe.Pointer(pC7 + 56 /* &.uc */)), pIdxKey, int64(0), 0, bp+504 /* &res4 */) + rc = Xsqlite3BtreeMovetoUnpacked(tls, *(*uintptr)(unsafe.Pointer(pC7 + 56 /* &.uc */)), pIdxKey, int64(0), 0, bp+384 /* &res4 */) if !(pFree != 0) { goto __599 } @@ -116266,8 +116266,8 @@ __599: goto abort_due_to_error __600: ; - (*VdbeCursor)(unsafe.Pointer(pC7)).FseekResult = *(*int32)(unsafe.Pointer(bp + 504 /* res4 */)) - alreadyExists = (libc.Bool32(*(*int32)(unsafe.Pointer(bp + 504 /* res4 */)) == 0)) + (*VdbeCursor)(unsafe.Pointer(pC7)).FseekResult = *(*int32)(unsafe.Pointer(bp + 384 /* res4 */)) + alreadyExists = (libc.Bool32(*(*int32)(unsafe.Pointer(bp + 384 /* res4 */)) == 0)) (*VdbeCursor)(unsafe.Pointer(pC7)).FnullRow = (U8(1 - alreadyExists)) (*VdbeCursor)(unsafe.Pointer(pC7)).FdeferredMoveto = U8(0) (*VdbeCursor)(unsafe.Pointer(pC7)).FcacheStatus = U32(CACHE_STALE) @@ -116357,15 +116357,15 @@ __102: // into an integer without loss of information. Take care to avoid // changing the datatype of pIn3, however, as it is used by other // parts of the prepared statement. - *(*Mem)(unsafe.Pointer(bp + 512 /* x */)) = *(*Mem)(unsafe.Pointer(pIn3)) - applyAffinity(tls, bp+512 /* &x */, int8(SQLITE_AFF_NUMERIC), encoding) - if !((int32((*Mem)(unsafe.Pointer(bp+512 /* &x */)).Fflags) & MEM_Int) == 0) { + *(*Mem)(unsafe.Pointer(bp + 392 /* x */)) = *(*Mem)(unsafe.Pointer(pIn3)) + applyAffinity(tls, bp+392 /* &x */, int8(SQLITE_AFF_NUMERIC), encoding) + if !((int32((*Mem)(unsafe.Pointer(bp+392 /* &x */)).Fflags) & MEM_Int) == 0) { goto __607 } goto jump_to_p2 __607: ; - iKey1 = U64(*(*I64)(unsafe.Pointer(bp + 512 /* &x */ /* &.u */))) + iKey1 = U64(*(*I64)(unsafe.Pointer(bp + 392 /* &x */ /* &.u */))) goto notExistsWithKey __606: ; @@ -116378,16 +116378,16 @@ notExistsWithKey: pCrsr2 = *(*uintptr)(unsafe.Pointer(pC8 + 56 /* &.uc */)) - *(*int32)(unsafe.Pointer(bp + 568 /* res5 */)) = 0 - rc = Xsqlite3BtreeMovetoUnpacked(tls, pCrsr2, uintptr(0), int64(iKey1), 0, bp+568 /* &res5 */) + *(*int32)(unsafe.Pointer(bp + 448 /* res5 */)) = 0 + rc = Xsqlite3BtreeMovetoUnpacked(tls, pCrsr2, uintptr(0), int64(iKey1), 0, bp+448 /* &res5 */) (*VdbeCursor)(unsafe.Pointer(pC8)).FmovetoTarget = I64(iKey1) // Used by OP_Delete (*VdbeCursor)(unsafe.Pointer(pC8)).FnullRow = U8(0) (*VdbeCursor)(unsafe.Pointer(pC8)).FcacheStatus = U32(CACHE_STALE) (*VdbeCursor)(unsafe.Pointer(pC8)).FdeferredMoveto = U8(0) - (*VdbeCursor)(unsafe.Pointer(pC8)).FseekResult = *(*int32)(unsafe.Pointer(bp + 568 /* res5 */)) - if !(*(*int32)(unsafe.Pointer(bp + 568 /* res5 */)) != 0) { + (*VdbeCursor)(unsafe.Pointer(pC8)).FseekResult = *(*int32)(unsafe.Pointer(bp + 448 /* res5 */)) + if !(*(*int32)(unsafe.Pointer(bp + 448 /* res5 */)) != 0) { goto __608 } @@ -116440,8 +116440,8 @@ __104: // out2 // AUTOINCREMENT feature. __105: // Root frame of VDBE - *(*I64)(unsafe.Pointer(bp + 576 /* v */)) = int64(0) - *(*int32)(unsafe.Pointer(bp + 572 /* res6 */)) = 0 + *(*I64)(unsafe.Pointer(bp + 456 /* v */)) = int64(0) + *(*int32)(unsafe.Pointer(bp + 452 /* res6 */)) = 0 pOut = out2Prerelease(tls, p, pOp) pC9 = *(*uintptr)(unsafe.Pointer((*Vdbe)(unsafe.Pointer(p)).FapCsr + uintptr((*Op)(unsafe.Pointer(pOp)).Fp1)*8)) @@ -116466,28 +116466,28 @@ __105: // Root frame of VDBE if !(!((int32(*(*uint8)(unsafe.Pointer(pC9 + 8 /* &.useRandomRowid */)) & 0x2 >> 1)) != 0)) { goto __612 } - rc = Xsqlite3BtreeLast(tls, *(*uintptr)(unsafe.Pointer(pC9 + 56 /* &.uc */)), bp+572 /* &res6 */) + rc = Xsqlite3BtreeLast(tls, *(*uintptr)(unsafe.Pointer(pC9 + 56 /* &.uc */)), bp+452 /* &res6 */) if !(rc != SQLITE_OK) { goto __613 } goto abort_due_to_error __613: ; - if !(*(*int32)(unsafe.Pointer(bp + 572 /* res6 */)) != 0) { + if !(*(*int32)(unsafe.Pointer(bp + 452 /* res6 */)) != 0) { goto __614 } - *(*I64)(unsafe.Pointer(bp + 576 /* v */)) = int64(1) // IMP: R-61914-48074 + *(*I64)(unsafe.Pointer(bp + 456 /* v */)) = int64(1) // IMP: R-61914-48074 goto __615 __614: ; - *(*I64)(unsafe.Pointer(bp + 576 /* v */)) = Xsqlite3BtreeIntegerKey(tls, *(*uintptr)(unsafe.Pointer(pC9 + 56 /* &.uc */))) - if !(*(*I64)(unsafe.Pointer(bp + 576 /* v */)) >= (int64((U64((uint64(0x7fffffff))) << 32) | uint64(0xffffffff)))) { + *(*I64)(unsafe.Pointer(bp + 456 /* v */)) = Xsqlite3BtreeIntegerKey(tls, *(*uintptr)(unsafe.Pointer(pC9 + 56 /* &.uc */))) + if !(*(*I64)(unsafe.Pointer(bp + 456 /* v */)) >= (int64((U64((uint64(0x7fffffff))) << 32) | uint64(0xffffffff)))) { goto __616 } libc.SetBitFieldPtr8Uint32(pC9+8 /* &.useRandomRowid */, Bool(1), 1, 0x2) goto __617 __616: - *(*I64)(unsafe.Pointer(bp + 576 /* v */))++ // IMP: R-29538-34987 + *(*I64)(unsafe.Pointer(bp + 456 /* v */))++ // IMP: R-29538-34987 __617: ; __615: @@ -116536,13 +116536,13 @@ __620: goto abort_due_to_error __624: ; - if !(*(*I64)(unsafe.Pointer(bp + 576 /* v */)) < (*(*I64)(unsafe.Pointer(pMem1 /* &.u */)) + int64(1))) { + if !(*(*I64)(unsafe.Pointer(bp + 456 /* v */)) < (*(*I64)(unsafe.Pointer(pMem1 /* &.u */)) + int64(1))) { goto __625 } - *(*I64)(unsafe.Pointer(bp + 576 /* v */)) = (*(*I64)(unsafe.Pointer(pMem1 /* &.u */)) + int64(1)) + *(*I64)(unsafe.Pointer(bp + 456 /* v */)) = (*(*I64)(unsafe.Pointer(pMem1 /* &.u */)) + int64(1)) __625: ; - *(*I64)(unsafe.Pointer(pMem1 /* &.u */)) = *(*I64)(unsafe.Pointer(bp + 576 /* v */)) + *(*I64)(unsafe.Pointer(pMem1 /* &.u */)) = *(*I64)(unsafe.Pointer(bp + 456 /* v */)) __618: ; if !((Bool(int32(*(*uint8)(unsafe.Pointer(pC9 + 8 /* &.useRandomRowid */)) & 0x2 >> 1))) != 0) { @@ -116556,14 +116556,14 @@ __618: // an AUTOINCREMENT table. cnt1 = 0 __627: - Xsqlite3_randomness(tls, int32(unsafe.Sizeof(I64(0))), bp+576 /* &v */) - *(*I64)(unsafe.Pointer(bp + 576 /* v */)) &= (I64((int64((U64((uint64(0x7fffffff))) << 32) | uint64(0xffffffff)))) >> 1) - *(*I64)(unsafe.Pointer(bp + 576 /* v */))++ // Ensure that v is greater than zero + Xsqlite3_randomness(tls, int32(unsafe.Sizeof(I64(0))), bp+456 /* &v */) + *(*I64)(unsafe.Pointer(bp + 456 /* v */)) &= (I64((int64((U64((uint64(0x7fffffff))) << 32) | uint64(0xffffffff)))) >> 1) + *(*I64)(unsafe.Pointer(bp + 456 /* v */))++ // Ensure that v is greater than zero goto __628 __628: - if (((libc.AssignInt32(&rc, Xsqlite3BtreeMovetoUnpacked(tls, *(*uintptr)(unsafe.Pointer(pC9 + 56 /* &.uc */)), uintptr(0), int64(U64(*(*I64)(unsafe.Pointer(bp + 576 /* v */)))), - 0, bp+572 /* &res6 */))) == SQLITE_OK) && - (*(*int32)(unsafe.Pointer(bp + 572 /* res6 */)) == 0)) && + if (((libc.AssignInt32(&rc, Xsqlite3BtreeMovetoUnpacked(tls, *(*uintptr)(unsafe.Pointer(pC9 + 56 /* &.uc */)), uintptr(0), int64(U64(*(*I64)(unsafe.Pointer(bp + 456 /* v */)))), + 0, bp+452 /* &res6 */))) == SQLITE_OK) && + (*(*int32)(unsafe.Pointer(bp + 452 /* res6 */)) == 0)) && (libc.PreIncInt32(&cnt1, 1) < 100) { goto __627 } @@ -116576,7 +116576,7 @@ __629: goto abort_due_to_error __630: ; - if !(*(*int32)(unsafe.Pointer(bp + 572 /* res6 */)) == 0) { + if !(*(*int32)(unsafe.Pointer(bp + 452 /* res6 */)) == 0) { goto __631 } rc = SQLITE_FULL // IMP: R-38219-53002 @@ -116589,7 +116589,7 @@ __626: (*VdbeCursor)(unsafe.Pointer(pC9)).FdeferredMoveto = U8(0) (*VdbeCursor)(unsafe.Pointer(pC9)).FcacheStatus = U32(CACHE_STALE) - *(*I64)(unsafe.Pointer(pOut /* &.u */)) = *(*I64)(unsafe.Pointer(bp + 576 /* v */)) + *(*I64)(unsafe.Pointer(pOut /* &.u */)) = *(*I64)(unsafe.Pointer(bp + 456 /* v */)) goto __10 // Opcode: Insert P1 P2 P3 P4 P5 @@ -116636,7 +116636,7 @@ __106: // Payload to be inserted pKey = (aMem + uintptr((*Op)(unsafe.Pointer(pOp)).Fp3)*56) - (*BtreePayload)(unsafe.Pointer(bp + 584 /* &x1 */)).FnKey = *(*I64)(unsafe.Pointer(pKey /* &.u */)) + (*BtreePayload)(unsafe.Pointer(bp + 464 /* &x1 */)).FnKey = *(*I64)(unsafe.Pointer(pKey /* &.u */)) if !((int32((*Op)(unsafe.Pointer(pOp)).Fp4type) == (-6)) && (((*Sqlite3)(unsafe.Pointer((db))).FxPreUpdateCallback != 0) || ((*Sqlite3)(unsafe.Pointer((db))).FxUpdateCallback != 0))) { goto __632 @@ -116659,7 +116659,7 @@ __633: if !(((*Sqlite3)(unsafe.Pointer(db)).FxPreUpdateCallback != 0) && !((int32((*Op)(unsafe.Pointer(pOp)).Fp5) & OPFLAG_ISUPDATE) != 0)) { goto __635 } - Xsqlite3VdbePreUpdateHook(tls, p, pC10, SQLITE_INSERT, zDb, pTab, (*BtreePayload)(unsafe.Pointer(bp+584 /* &x1 */)).FnKey, (*Op)(unsafe.Pointer(pOp)).Fp2, -1) + Xsqlite3VdbePreUpdateHook(tls, p, pC10, SQLITE_INSERT, zDb, pTab, (*BtreePayload)(unsafe.Pointer(bp+464 /* &x1 */)).FnKey, (*Op)(unsafe.Pointer(pOp)).Fp2, -1) __635: ; if !(((*Sqlite3)(unsafe.Pointer(db)).FxUpdateCallback == uintptr(0)) || ((*Table)(unsafe.Pointer(pTab)).FaCol == uintptr(0))) { @@ -116687,12 +116687,12 @@ __638: if !((int32((*Op)(unsafe.Pointer(pOp)).Fp5) & OPFLAG_LASTROWID) != 0) { goto __639 } - (*Sqlite3)(unsafe.Pointer(db)).FlastRowid = (*BtreePayload)(unsafe.Pointer(bp + 584 /* &x1 */)).FnKey + (*Sqlite3)(unsafe.Pointer(db)).FlastRowid = (*BtreePayload)(unsafe.Pointer(bp + 464 /* &x1 */)).FnKey __639: ; - (*BtreePayload)(unsafe.Pointer(bp + 584 /* &x1 */)).FpData = (*Mem)(unsafe.Pointer(pData)).Fz - (*BtreePayload)(unsafe.Pointer(bp + 584 /* &x1 */)).FnData = (*Mem)(unsafe.Pointer(pData)).Fn + (*BtreePayload)(unsafe.Pointer(bp + 464 /* &x1 */)).FpData = (*Mem)(unsafe.Pointer(pData)).Fz + (*BtreePayload)(unsafe.Pointer(bp + 464 /* &x1 */)).FnData = (*Mem)(unsafe.Pointer(pData)).Fn seekResult = func() int32 { if (int32((*Op)(unsafe.Pointer(pOp)).Fp5) & OPFLAG_USESEEKRESULT) != 0 { return (*VdbeCursor)(unsafe.Pointer(pC10)).FseekResult @@ -116702,14 +116702,14 @@ __639: if !((int32((*Mem)(unsafe.Pointer(pData)).Fflags) & MEM_Zero) != 0) { goto __640 } - (*BtreePayload)(unsafe.Pointer(bp + 584 /* &x1 */)).FnZero = *(*int32)(unsafe.Pointer(pData /* &.u */)) + (*BtreePayload)(unsafe.Pointer(bp + 464 /* &x1 */)).FnZero = *(*int32)(unsafe.Pointer(pData /* &.u */)) goto __641 __640: - (*BtreePayload)(unsafe.Pointer(bp + 584 /* &x1 */)).FnZero = 0 + (*BtreePayload)(unsafe.Pointer(bp + 464 /* &x1 */)).FnZero = 0 __641: ; - (*BtreePayload)(unsafe.Pointer(bp + 584 /* &x1 */)).FpKey = uintptr(0) - rc = Xsqlite3BtreeInsert(tls, *(*uintptr)(unsafe.Pointer(pC10 + 56 /* &.uc */)), bp+584, /* &x1 */ + (*BtreePayload)(unsafe.Pointer(bp + 464 /* &x1 */)).FpKey = uintptr(0) + rc = Xsqlite3BtreeInsert(tls, *(*uintptr)(unsafe.Pointer(pC10 + 56 /* &.uc */)), bp+464, /* &x1 */ (int32((*Op)(unsafe.Pointer(pOp)).Fp5) & ((OPFLAG_APPEND | OPFLAG_SAVEPOSITION) | OPFLAG_PREFORMAT)), seekResult) (*VdbeCursor)(unsafe.Pointer(pC10)).FdeferredMoveto = U8(0) @@ -116733,7 +116733,7 @@ __642: } return SQLITE_INSERT }(), - zDb, (*Table)(unsafe.Pointer(pTab)).FzName, (*BtreePayload)(unsafe.Pointer(bp+584 /* &x1 */)).FnKey) + zDb, (*Table)(unsafe.Pointer(pTab)).FzName, (*BtreePayload)(unsafe.Pointer(bp+464 /* &x1 */)).FnKey) __643: ; goto __10 @@ -116915,8 +116915,8 @@ __110: pIn3 = (aMem + uintptr((*Op)(unsafe.Pointer(pOp)).Fp3)*56) nKeyCol = *(*int32)(unsafe.Pointer(pOp + 16 /* &.p4 */)) - *(*int32)(unsafe.Pointer(bp + 632 /* res7 */)) = 0 - rc = Xsqlite3VdbeSorterCompare(tls, pC12, pIn3, nKeyCol, bp+632 /* &res7 */) + *(*int32)(unsafe.Pointer(bp + 512 /* res7 */)) = 0 + rc = Xsqlite3VdbeSorterCompare(tls, pC12, pIn3, nKeyCol, bp+512 /* &res7 */) if !(rc != 0) { goto __653 @@ -116924,7 +116924,7 @@ __110: goto abort_due_to_error __653: ; - if !(*(*int32)(unsafe.Pointer(bp + 632 /* res7 */)) != 0) { + if !(*(*int32)(unsafe.Pointer(bp + 512 /* res7 */)) != 0) { goto __654 } goto jump_to_p2 @@ -117058,7 +117058,7 @@ __660: if !((*VdbeCursor)(unsafe.Pointer(pC15)).FdeferredMoveto != 0) { goto __662 } - *(*I64)(unsafe.Pointer(bp + 640 /* v3 */)) = (*VdbeCursor)(unsafe.Pointer(pC15)).FmovetoTarget + *(*I64)(unsafe.Pointer(bp + 520 /* v3 */)) = (*VdbeCursor)(unsafe.Pointer(pC15)).FmovetoTarget goto __663 __662: if !(int32((*VdbeCursor)(unsafe.Pointer(pC15)).FeCurType) == CURTYPE_VTAB) { @@ -117068,7 +117068,7 @@ __662: pVtab = (*Sqlite3_vtab_cursor)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(pC15 + 56 /* &.uc */)))).FpVtab pModule = (*Sqlite3_vtab)(unsafe.Pointer(pVtab)).FpModule - rc = (*(*func(*libc.TLS, uintptr, uintptr) int32)(unsafe.Pointer((pModule + 96 /* &.xRowid */))))(tls, *(*uintptr)(unsafe.Pointer(pC15 + 56 /* &.uc */)), bp+640 /* &v3 */) + rc = (*(*func(*libc.TLS, uintptr, uintptr) int32)(unsafe.Pointer((pModule + 96 /* &.xRowid */))))(tls, *(*uintptr)(unsafe.Pointer(pC15 + 56 /* &.uc */)), bp+520 /* &v3 */) Xsqlite3VtabImportErrmsg(tls, p, pVtab) if !(rc != 0) { goto __666 @@ -117094,14 +117094,14 @@ __667: goto __10 __668: ; - *(*I64)(unsafe.Pointer(bp + 640 /* v3 */)) = Xsqlite3BtreeIntegerKey(tls, *(*uintptr)(unsafe.Pointer(pC15 + 56 /* &.uc */))) + *(*I64)(unsafe.Pointer(bp + 520 /* v3 */)) = Xsqlite3BtreeIntegerKey(tls, *(*uintptr)(unsafe.Pointer(pC15 + 56 /* &.uc */))) __665: ; __663: ; __661: ; - *(*I64)(unsafe.Pointer(pOut /* &.u */)) = *(*I64)(unsafe.Pointer(bp + 640 /* v3 */)) + *(*I64)(unsafe.Pointer(pOut /* &.u */)) = *(*I64)(unsafe.Pointer(bp + 520 /* v3 */)) goto __10 // Opcode: NullRow P1 * * * * @@ -117150,7 +117150,7 @@ __116: pC17 = *(*uintptr)(unsafe.Pointer((*Vdbe)(unsafe.Pointer(p)).FapCsr + uintptr((*Op)(unsafe.Pointer(pOp)).Fp1)*8)) pCrsr4 = *(*uintptr)(unsafe.Pointer(pC17 + 56 /* &.uc */)) - *(*int32)(unsafe.Pointer(bp + 648 /* res8 */)) = 0 + *(*int32)(unsafe.Pointer(bp + 528 /* res8 */)) = 0 if !(int32((*Op)(unsafe.Pointer(pOp)).Fopcode) == OP_SeekEnd) { goto __670 @@ -117165,8 +117165,8 @@ __671: ; __670: ; - rc = Xsqlite3BtreeLast(tls, pCrsr4, bp+648 /* &res8 */) - (*VdbeCursor)(unsafe.Pointer(pC17)).FnullRow = U8(*(*int32)(unsafe.Pointer(bp + 648 /* res8 */))) + rc = Xsqlite3BtreeLast(tls, pCrsr4, bp+528 /* &res8 */) + (*VdbeCursor)(unsafe.Pointer(pC17)).FnullRow = U8(*(*int32)(unsafe.Pointer(bp + 528 /* res8 */))) (*VdbeCursor)(unsafe.Pointer(pC17)).FdeferredMoveto = U8(0) (*VdbeCursor)(unsafe.Pointer(pC17)).FcacheStatus = U32(CACHE_STALE) if !(rc != 0) { @@ -117179,7 +117179,7 @@ __672: goto __673 } - if !(*(*int32)(unsafe.Pointer(bp + 648 /* res8 */)) != 0) { + if !(*(*int32)(unsafe.Pointer(bp + 528 /* res8 */)) != 0) { goto __674 } goto jump_to_p2 @@ -117199,27 +117199,27 @@ __117: pCrsr5 = *(*uintptr)(unsafe.Pointer(pC18 + 56 /* &.uc */)) - rc = Xsqlite3BtreeFirst(tls, pCrsr5, bp+652 /* &res9 */) + rc = Xsqlite3BtreeFirst(tls, pCrsr5, bp+532 /* &res9 */) if !(rc != 0) { goto __675 } goto abort_due_to_error __675: ; - if !(*(*int32)(unsafe.Pointer(bp + 652 /* res9 */)) == 0) { + if !(*(*int32)(unsafe.Pointer(bp + 532 /* res9 */)) == 0) { goto __676 } sz = Xsqlite3BtreeRowCountEst(tls, pCrsr5) if !((sz >= int64(0)) && (int32(Xsqlite3LogEst(tls, U64(sz))) < (*Op)(unsafe.Pointer(pOp)).Fp3)) { goto __677 } - *(*int32)(unsafe.Pointer(bp + 652 /* res9 */)) = 1 + *(*int32)(unsafe.Pointer(bp + 532 /* res9 */)) = 1 __677: ; __676: ; - if !(*(*int32)(unsafe.Pointer(bp + 652 /* res9 */)) != 0) { + if !(*(*int32)(unsafe.Pointer(bp + 532 /* res9 */)) != 0) { goto __678 } goto jump_to_p2 @@ -117268,17 +117268,17 @@ __120: pC19 = *(*uintptr)(unsafe.Pointer((*Vdbe)(unsafe.Pointer(p)).FapCsr + uintptr((*Op)(unsafe.Pointer(pOp)).Fp1)*8)) - *(*int32)(unsafe.Pointer(bp + 656 /* res10 */)) = 1 + *(*int32)(unsafe.Pointer(bp + 536 /* res10 */)) = 1 if !(int32((*VdbeCursor)(unsafe.Pointer((pC19))).FeCurType) == CURTYPE_SORTER) { goto __679 } - rc = Xsqlite3VdbeSorterRewind(tls, pC19, bp+656 /* &res10 */) + rc = Xsqlite3VdbeSorterRewind(tls, pC19, bp+536 /* &res10 */) goto __680 __679: ; pCrsr6 = *(*uintptr)(unsafe.Pointer(pC19 + 56 /* &.uc */)) - rc = Xsqlite3BtreeFirst(tls, pCrsr6, bp+656 /* &res10 */) + rc = Xsqlite3BtreeFirst(tls, pCrsr6, bp+536 /* &res10 */) (*VdbeCursor)(unsafe.Pointer(pC19)).FdeferredMoveto = U8(0) (*VdbeCursor)(unsafe.Pointer(pC19)).FcacheStatus = U32(CACHE_STALE) __680: @@ -117289,9 +117289,9 @@ __680: goto abort_due_to_error __681: ; - (*VdbeCursor)(unsafe.Pointer(pC19)).FnullRow = U8(*(*int32)(unsafe.Pointer(bp + 656 /* res10 */))) + (*VdbeCursor)(unsafe.Pointer(pC19)).FnullRow = U8(*(*int32)(unsafe.Pointer(bp + 536 /* res10 */))) - if !(*(*int32)(unsafe.Pointer(bp + 656 /* res10 */)) != 0) { + if !(*(*int32)(unsafe.Pointer(bp + 536 /* res10 */)) != 0) { goto __682 } goto jump_to_p2 @@ -117446,11 +117446,11 @@ __685: goto abort_due_to_error __686: ; - (*BtreePayload)(unsafe.Pointer(bp + 664 /* &x2 */)).FnKey = Sqlite3_int64((*Mem)(unsafe.Pointer(pIn2)).Fn) - (*BtreePayload)(unsafe.Pointer(bp + 664 /* &x2 */)).FpKey = (*Mem)(unsafe.Pointer(pIn2)).Fz - (*BtreePayload)(unsafe.Pointer(bp + 664 /* &x2 */)).FaMem = (aMem + uintptr((*Op)(unsafe.Pointer(pOp)).Fp3)*56) - (*BtreePayload)(unsafe.Pointer(bp + 664 /* &x2 */)).FnMem = U16(*(*int32)(unsafe.Pointer(pOp + 16 /* &.p4 */))) - rc = Xsqlite3BtreeInsert(tls, *(*uintptr)(unsafe.Pointer(pC21 + 56 /* &.uc */)), bp+664, /* &x2 */ + (*BtreePayload)(unsafe.Pointer(bp + 544 /* &x2 */)).FnKey = Sqlite3_int64((*Mem)(unsafe.Pointer(pIn2)).Fn) + (*BtreePayload)(unsafe.Pointer(bp + 544 /* &x2 */)).FpKey = (*Mem)(unsafe.Pointer(pIn2)).Fz + (*BtreePayload)(unsafe.Pointer(bp + 544 /* &x2 */)).FaMem = (aMem + uintptr((*Op)(unsafe.Pointer(pOp)).Fp3)*56) + (*BtreePayload)(unsafe.Pointer(bp + 544 /* &x2 */)).FnMem = U16(*(*int32)(unsafe.Pointer(pOp + 16 /* &.p4 */))) + rc = Xsqlite3BtreeInsert(tls, *(*uintptr)(unsafe.Pointer(pC21 + 56 /* &.uc */)), bp+544, /* &x2 */ (int32((*Op)(unsafe.Pointer(pOp)).Fp5) & ((OPFLAG_APPEND | OPFLAG_SAVEPOSITION) | OPFLAG_PREFORMAT)), func() int32 { if (int32((*Op)(unsafe.Pointer(pOp)).Fp5) & OPFLAG_USESEEKRESULT) != 0 { @@ -117521,18 +117521,18 @@ __126: pCrsr7 = *(*uintptr)(unsafe.Pointer(pC23 + 56 /* &.uc */)) - (*UnpackedRecord)(unsafe.Pointer(bp + 712 /* &r3 */)).FpKeyInfo = (*VdbeCursor)(unsafe.Pointer(pC23)).FpKeyInfo - (*UnpackedRecord)(unsafe.Pointer(bp + 712 /* &r3 */)).FnField = U16((*Op)(unsafe.Pointer(pOp)).Fp3) - (*UnpackedRecord)(unsafe.Pointer(bp + 712 /* &r3 */)).Fdefault_rc = int8(0) - (*UnpackedRecord)(unsafe.Pointer(bp + 712 /* &r3 */)).FaMem = (aMem + uintptr((*Op)(unsafe.Pointer(pOp)).Fp2)*56) - rc = Xsqlite3BtreeMovetoUnpacked(tls, pCrsr7, bp+712 /* &r3 */, int64(0), 0, bp+736 /* &res11 */) + (*UnpackedRecord)(unsafe.Pointer(bp + 592 /* &r3 */)).FpKeyInfo = (*VdbeCursor)(unsafe.Pointer(pC23)).FpKeyInfo + (*UnpackedRecord)(unsafe.Pointer(bp + 592 /* &r3 */)).FnField = U16((*Op)(unsafe.Pointer(pOp)).Fp3) + (*UnpackedRecord)(unsafe.Pointer(bp + 592 /* &r3 */)).Fdefault_rc = int8(0) + (*UnpackedRecord)(unsafe.Pointer(bp + 592 /* &r3 */)).FaMem = (aMem + uintptr((*Op)(unsafe.Pointer(pOp)).Fp2)*56) + rc = Xsqlite3BtreeMovetoUnpacked(tls, pCrsr7, bp+592 /* &r3 */, int64(0), 0, bp+616 /* &res11 */) if !(rc != 0) { goto __690 } goto abort_due_to_error __690: ; - if !(*(*int32)(unsafe.Pointer(bp + 736 /* res11 */)) == 0) { + if !(*(*int32)(unsafe.Pointer(bp + 616 /* res11 */)) == 0) { goto __691 } rc = Xsqlite3BtreeDelete(tls, pCrsr7, uint8(BTREE_AUXDELETE)) @@ -117607,8 +117607,8 @@ __695: if !(!(int32((*VdbeCursor)(unsafe.Pointer(pC24)).FnullRow) != 0)) { goto __696 } - *(*I64)(unsafe.Pointer(bp + 744 /* rowid */)) = int64(0) // Not needed. Only used to silence a warning. - rc = Xsqlite3VdbeIdxRowid(tls, db, *(*uintptr)(unsafe.Pointer(pC24 + 56 /* &.uc */)), bp+744 /* &rowid */) + *(*I64)(unsafe.Pointer(bp + 624 /* rowid */)) = int64(0) // Not needed. Only used to silence a warning. + rc = Xsqlite3VdbeIdxRowid(tls, db, *(*uintptr)(unsafe.Pointer(pC24 + 56 /* &.uc */)), bp+624 /* &rowid */) if !(rc != SQLITE_OK) { goto __698 } @@ -117622,7 +117622,7 @@ __698: pTabCur = *(*uintptr)(unsafe.Pointer((*Vdbe)(unsafe.Pointer(p)).FapCsr + uintptr((*Op)(unsafe.Pointer(pOp)).Fp3)*8)) (*VdbeCursor)(unsafe.Pointer(pTabCur)).FnullRow = U8(0) - (*VdbeCursor)(unsafe.Pointer(pTabCur)).FmovetoTarget = *(*I64)(unsafe.Pointer(bp + 744 /* rowid */)) + (*VdbeCursor)(unsafe.Pointer(pTabCur)).FmovetoTarget = *(*I64)(unsafe.Pointer(bp + 624 /* rowid */)) (*VdbeCursor)(unsafe.Pointer(pTabCur)).FdeferredMoveto = U8(1) (*VdbeCursor)(unsafe.Pointer(pTabCur)).FaAltMap = *(*uintptr)(unsafe.Pointer(pOp + 16 /* &.p4 */)) @@ -117631,7 +117631,7 @@ __698: goto __700 __699: pOut = out2Prerelease(tls, p, pOp) - *(*I64)(unsafe.Pointer(pOut /* &.u */)) = *(*I64)(unsafe.Pointer(bp + 744 /* rowid */)) + *(*I64)(unsafe.Pointer(pOut /* &.u */)) = *(*I64)(unsafe.Pointer(bp + 624 /* rowid */)) __700: ; goto __697 @@ -117712,20 +117712,20 @@ __133: ; pC26 = *(*uintptr)(unsafe.Pointer((*Vdbe)(unsafe.Pointer(p)).FapCsr + uintptr((*Op)(unsafe.Pointer(pOp)).Fp1)*8)) - (*UnpackedRecord)(unsafe.Pointer(bp + 808 /* &r4 */)).FpKeyInfo = (*VdbeCursor)(unsafe.Pointer(pC26)).FpKeyInfo - (*UnpackedRecord)(unsafe.Pointer(bp + 808 /* &r4 */)).FnField = U16(*(*int32)(unsafe.Pointer(pOp + 16 /* &.p4 */))) + (*UnpackedRecord)(unsafe.Pointer(bp + 688 /* &r4 */)).FpKeyInfo = (*VdbeCursor)(unsafe.Pointer(pC26)).FpKeyInfo + (*UnpackedRecord)(unsafe.Pointer(bp + 688 /* &r4 */)).FnField = U16(*(*int32)(unsafe.Pointer(pOp + 16 /* &.p4 */))) if !(int32((*Op)(unsafe.Pointer(pOp)).Fopcode) < OP_IdxLT) { goto __703 } - (*UnpackedRecord)(unsafe.Pointer(bp + 808 /* &r4 */)).Fdefault_rc = int8(-1) + (*UnpackedRecord)(unsafe.Pointer(bp + 688 /* &r4 */)).Fdefault_rc = int8(-1) goto __704 __703: ; - (*UnpackedRecord)(unsafe.Pointer(bp + 808 /* &r4 */)).Fdefault_rc = int8(0) + (*UnpackedRecord)(unsafe.Pointer(bp + 688 /* &r4 */)).Fdefault_rc = int8(0) __704: ; - (*UnpackedRecord)(unsafe.Pointer(bp + 808 /* &r4 */)).FaMem = (aMem + uintptr((*Op)(unsafe.Pointer(pOp)).Fp3)*56) + (*UnpackedRecord)(unsafe.Pointer(bp + 688 /* &r4 */)).FaMem = (aMem + uintptr((*Op)(unsafe.Pointer(pOp)).Fp3)*56) /* Inlined version of sqlite3VdbeIdxKeyCompare() */ @@ -117743,16 +117743,16 @@ __704: goto abort_due_to_error __705: ; - Xsqlite3VdbeMemInit(tls, bp+752 /* &m */, db, uint16(0)) - rc = Xsqlite3VdbeMemFromBtreeZeroOffset(tls, pCur1, U32(nCellKey), bp+752 /* &m */) + Xsqlite3VdbeMemInit(tls, bp+632 /* &m */, db, uint16(0)) + rc = Xsqlite3VdbeMemFromBtreeZeroOffset(tls, pCur1, U32(nCellKey), bp+632 /* &m */) if !(rc != 0) { goto __706 } goto abort_due_to_error __706: ; - res12 = Xsqlite3VdbeRecordCompareWithSkip(tls, (*Mem)(unsafe.Pointer(bp+752 /* &m */)).Fn, (*Mem)(unsafe.Pointer(bp+752 /* &m */)).Fz, bp+808 /* &r4 */, 0) - Xsqlite3VdbeMemRelease(tls, bp+752 /* &m */) + res12 = Xsqlite3VdbeRecordCompareWithSkip(tls, (*Mem)(unsafe.Pointer(bp+632 /* &m */)).Fn, (*Mem)(unsafe.Pointer(bp+632 /* &m */)).Fz, bp+688 /* &r4 */, 0) + Xsqlite3VdbeMemRelease(tls, bp+632 /* &m */) // End of inlined sqlite3VdbeIdxKeyCompare() @@ -117817,20 +117817,20 @@ __134: __710: iDb2 = (*Op)(unsafe.Pointer(pOp)).Fp3 - *(*int32)(unsafe.Pointer(bp + 832 /* iMoved */)) = 0 // Not needed. Only to silence a warning. - rc = Xsqlite3BtreeDropTable(tls, (*Db)(unsafe.Pointer((*Sqlite3)(unsafe.Pointer(db)).FaDb+uintptr(iDb2)*32)).FpBt, (*Op)(unsafe.Pointer(pOp)).Fp1, bp+832 /* &iMoved */) + *(*int32)(unsafe.Pointer(bp + 712 /* iMoved */)) = 0 // Not needed. Only to silence a warning. + rc = Xsqlite3BtreeDropTable(tls, (*Db)(unsafe.Pointer((*Sqlite3)(unsafe.Pointer(db)).FaDb+uintptr(iDb2)*32)).FpBt, (*Op)(unsafe.Pointer(pOp)).Fp1, bp+712 /* &iMoved */) (*Mem)(unsafe.Pointer(pOut)).Fflags = U16(MEM_Int) - *(*I64)(unsafe.Pointer(pOut /* &.u */)) = I64(*(*int32)(unsafe.Pointer(bp + 832 /* iMoved */))) + *(*I64)(unsafe.Pointer(pOut /* &.u */)) = I64(*(*int32)(unsafe.Pointer(bp + 712 /* iMoved */))) if !(rc != 0) { goto __712 } goto abort_due_to_error __712: ; - if !(*(*int32)(unsafe.Pointer(bp + 832 /* iMoved */)) != 0) { + if !(*(*int32)(unsafe.Pointer(bp + 712 /* iMoved */)) != 0) { goto __713 } - Xsqlite3RootPageMoved(tls, db, iDb2, uint32(*(*int32)(unsafe.Pointer(bp + 832 /* iMoved */))), uint32((*Op)(unsafe.Pointer(pOp)).Fp1)) + Xsqlite3RootPageMoved(tls, db, iDb2, uint32(*(*int32)(unsafe.Pointer(bp + 712 /* iMoved */))), uint32((*Op)(unsafe.Pointer(pOp)).Fp1)) // All OP_Destroy operations occur on the same btree resetSchemaOnFault = (U8(iDb2 + 1)) @@ -117858,18 +117858,18 @@ __711: // See also: Destroy __135: ; - *(*int32)(unsafe.Pointer(bp + 836 /* nChange */)) = 0 + *(*int32)(unsafe.Pointer(bp + 716 /* nChange */)) = 0 - rc = Xsqlite3BtreeClearTable(tls, (*Db)(unsafe.Pointer((*Sqlite3)(unsafe.Pointer(db)).FaDb+uintptr((*Op)(unsafe.Pointer(pOp)).Fp2)*32)).FpBt, int32(U32((*Op)(unsafe.Pointer(pOp)).Fp1)), bp+836 /* &nChange */) + rc = Xsqlite3BtreeClearTable(tls, (*Db)(unsafe.Pointer((*Sqlite3)(unsafe.Pointer(db)).FaDb+uintptr((*Op)(unsafe.Pointer(pOp)).Fp2)*32)).FpBt, int32(U32((*Op)(unsafe.Pointer(pOp)).Fp1)), bp+716 /* &nChange */) if !((*Op)(unsafe.Pointer(pOp)).Fp3 != 0) { goto __714 } - *(*int32)(unsafe.Pointer(p + 60 /* &.nChange */)) += (*(*int32)(unsafe.Pointer(bp + 836 /* nChange */))) + *(*int32)(unsafe.Pointer(p + 60 /* &.nChange */)) += (*(*int32)(unsafe.Pointer(bp + 716 /* nChange */))) if !((*Op)(unsafe.Pointer(pOp)).Fp3 > 0) { goto __715 } - *(*I64)(unsafe.Pointer(aMem + uintptr((*Op)(unsafe.Pointer(pOp)).Fp3)*56 /* &.u */ /* &.i */)) += (I64(*(*int32)(unsafe.Pointer(bp + 836 /* nChange */)))) + *(*I64)(unsafe.Pointer(aMem + uintptr((*Op)(unsafe.Pointer(pOp)).Fp3)*56 /* &.u */ /* &.i */)) += (I64(*(*int32)(unsafe.Pointer(bp + 716 /* nChange */)))) __715: ; __714: @@ -117923,18 +117923,18 @@ __718: __137: ; pOut = out2Prerelease(tls, p, pOp) - *(*Pgno)(unsafe.Pointer(bp + 840 /* pgno */)) = Pgno(0) + *(*Pgno)(unsafe.Pointer(bp + 720 /* pgno */)) = Pgno(0) pDb2 = ((*Sqlite3)(unsafe.Pointer(db)).FaDb + uintptr((*Op)(unsafe.Pointer(pOp)).Fp1)*32) - rc = Xsqlite3BtreeCreateTable(tls, (*Db)(unsafe.Pointer(pDb2)).FpBt, bp+840 /* &pgno */, (*Op)(unsafe.Pointer(pOp)).Fp3) + rc = Xsqlite3BtreeCreateTable(tls, (*Db)(unsafe.Pointer(pDb2)).FpBt, bp+720 /* &pgno */, (*Op)(unsafe.Pointer(pOp)).Fp3) if !(rc != 0) { goto __720 } goto abort_due_to_error __720: ; - *(*I64)(unsafe.Pointer(pOut /* &.u */)) = I64(*(*Pgno)(unsafe.Pointer(bp + 840 /* pgno */))) + *(*I64)(unsafe.Pointer(pOut /* &.u */)) = I64(*(*Pgno)(unsafe.Pointer(bp + 720 /* pgno */))) goto __10 // Opcode: SqlExec * * * P4 * @@ -117981,14 +117981,14 @@ __139: __722: zSchema = ts + 12351 /* "sqlite_master" */ - (*InitData)(unsafe.Pointer(bp + 848 /* &initData */)).Fdb = db - (*InitData)(unsafe.Pointer(bp + 848 /* &initData */)).FiDb = iDb3 - (*InitData)(unsafe.Pointer(bp + 848 /* &initData */)).FpzErrMsg = (p + 168 /* &.zErrMsg */) - (*InitData)(unsafe.Pointer(bp + 848 /* &initData */)).FmInitFlags = U32(0) - (*InitData)(unsafe.Pointer(bp + 848 /* &initData */)).FmxPage = Xsqlite3BtreeLastPage(tls, (*Db)(unsafe.Pointer((*Sqlite3)(unsafe.Pointer(db)).FaDb+uintptr(iDb3)*32)).FpBt) + (*InitData)(unsafe.Pointer(bp + 728 /* &initData */)).Fdb = db + (*InitData)(unsafe.Pointer(bp + 728 /* &initData */)).FiDb = iDb3 + (*InitData)(unsafe.Pointer(bp + 728 /* &initData */)).FpzErrMsg = (p + 168 /* &.zErrMsg */) + (*InitData)(unsafe.Pointer(bp + 728 /* &initData */)).FmInitFlags = U32(0) + (*InitData)(unsafe.Pointer(bp + 728 /* &initData */)).FmxPage = Xsqlite3BtreeLastPage(tls, (*Db)(unsafe.Pointer((*Sqlite3)(unsafe.Pointer(db)).FaDb+uintptr(iDb3)*32)).FpBt) zSql = Xsqlite3MPrintf(tls, db, ts+12365, /* "SELECT*FROM\"%w\"...." */ - libc.VaList(bp+104, (*Db)(unsafe.Pointer((*Sqlite3)(unsafe.Pointer(db)).FaDb+uintptr(iDb3)*32)).FzDbSName, zSchema, *(*uintptr)(unsafe.Pointer(pOp + 16 /* &.p4 */)))) + libc.VaList(bp+64, (*Db)(unsafe.Pointer((*Sqlite3)(unsafe.Pointer(db)).FaDb+uintptr(iDb3)*32)).FzDbSName, zSchema, *(*uintptr)(unsafe.Pointer(pOp + 16 /* &.p4 */)))) if !(zSql == uintptr(0)) { goto __724 } @@ -117997,19 +117997,19 @@ __722: __724: ; (*Sqlite3)(unsafe.Pointer(db)).Finit.Fbusy = U8(1) - (*InitData)(unsafe.Pointer(bp + 848 /* &initData */)).Frc = SQLITE_OK - (*InitData)(unsafe.Pointer(bp + 848 /* &initData */)).FnInitRow = U32(0) + (*InitData)(unsafe.Pointer(bp + 728 /* &initData */)).Frc = SQLITE_OK + (*InitData)(unsafe.Pointer(bp + 728 /* &initData */)).FnInitRow = U32(0) rc = Xsqlite3_exec(tls, db, zSql, *(*uintptr)(unsafe.Pointer(&struct { f func(*libc.TLS, uintptr, int32, uintptr, uintptr) int32 - }{Xsqlite3InitCallback})), bp+848 /* &initData */, uintptr(0)) + }{Xsqlite3InitCallback})), bp+728 /* &initData */, uintptr(0)) if !(rc == SQLITE_OK) { goto __726 } - rc = (*InitData)(unsafe.Pointer(bp + 848 /* &initData */)).Frc + rc = (*InitData)(unsafe.Pointer(bp + 728 /* &initData */)).Frc __726: ; - if !((rc == SQLITE_OK) && ((*InitData)(unsafe.Pointer(bp+848 /* &initData */)).FnInitRow == U32(0))) { + if !((rc == SQLITE_OK) && ((*InitData)(unsafe.Pointer(bp+728 /* &initData */)).FnInitRow == U32(0))) { goto __727 } // The OP_ParseSchema opcode with a non-NULL P4 argument should parse @@ -118120,9 +118120,9 @@ __144: // Register keeping track of errors remaining pIn1 = (aMem + uintptr((*Op)(unsafe.Pointer(pOp)).Fp1)*56) z = Xsqlite3BtreeIntegrityCheck(tls, db, (*Db)(unsafe.Pointer((*Sqlite3)(unsafe.Pointer(db)).FaDb+uintptr((*Op)(unsafe.Pointer(pOp)).Fp5)*32)).FpBt, (aRoot + 1*4), nRoot, - (int32(*(*I64)(unsafe.Pointer(pnErr /* &.u */))) + 1), bp+888 /* &nErr */) + (int32(*(*I64)(unsafe.Pointer(pnErr /* &.u */))) + 1), bp+768 /* &nErr */) Xsqlite3VdbeMemSetNull(tls, pIn1) - if !(*(*int32)(unsafe.Pointer(bp + 888 /* nErr */)) == 0) { + if !(*(*int32)(unsafe.Pointer(bp + 768 /* nErr */)) == 0) { goto __731 } @@ -118134,7 +118134,7 @@ __731: goto no_mem goto __734 __733: - *(*I64)(unsafe.Pointer(pnErr /* &.u */ /* &.i */)) -= (I64(*(*int32)(unsafe.Pointer(bp + 888 /* nErr */)) - 1)) + *(*I64)(unsafe.Pointer(pnErr /* &.u */ /* &.i */)) -= (I64(*(*int32)(unsafe.Pointer(bp + 768 /* nErr */)) - 1)) Xsqlite3VdbeMemSetStr(tls, pIn1, z, int64(-1), uint8(SQLITE_UTF8), *(*uintptr)(unsafe.Pointer(&struct{ f func(*libc.TLS, uintptr) }{Xsqlite3_free}))) __734: ; @@ -118182,7 +118182,7 @@ __146: pIn1 = (aMem + uintptr((*Op)(unsafe.Pointer(pOp)).Fp1)*56) if !(((int32((*Mem)(unsafe.Pointer(pIn1)).Fflags) & MEM_Blob) == 0) || - (Xsqlite3RowSetNext(tls, (*Mem)(unsafe.Pointer(pIn1)).Fz, bp+896 /* &val */) == 0)) { + (Xsqlite3RowSetNext(tls, (*Mem)(unsafe.Pointer(pIn1)).Fz, bp+776 /* &val */) == 0)) { goto __737 } // The boolean index is empty @@ -118193,7 +118193,7 @@ __146: __737: // A value was pulled from the index ; - Xsqlite3VdbeMemSetInt64(tls, (aMem + uintptr((*Op)(unsafe.Pointer(pOp)).Fp3)*56), *(*I64)(unsafe.Pointer(bp + 896 /* val */))) + Xsqlite3VdbeMemSetInt64(tls, (aMem + uintptr((*Op)(unsafe.Pointer(pOp)).Fp3)*56), *(*I64)(unsafe.Pointer(bp + 776 /* val */))) __738: ; goto check_for_interrupt @@ -118583,8 +118583,8 @@ __154: pIn3 = (aMem + uintptr((*Op)(unsafe.Pointer(pOp)).Fp3)*56) pOut = out2Prerelease(tls, p, pOp) - *(*I64)(unsafe.Pointer(bp + 904 /* x3 */)) = *(*I64)(unsafe.Pointer(pIn1 /* &.u */)) - if !((*(*I64)(unsafe.Pointer(bp + 904 /* x3 */)) <= int64(0)) || (Xsqlite3AddInt64(tls, bp+904 /* &x3 */, func() int64 { + *(*I64)(unsafe.Pointer(bp + 784 /* x3 */)) = *(*I64)(unsafe.Pointer(pIn1 /* &.u */)) + if !((*(*I64)(unsafe.Pointer(bp + 784 /* x3 */)) <= int64(0)) || (Xsqlite3AddInt64(tls, bp+784 /* &x3 */, func() int64 { if *(*I64)(unsafe.Pointer(pIn3 /* &.u */)) > int64(0) { return *(*I64)(unsafe.Pointer(pIn3 /* &.u */)) } @@ -118602,7 +118602,7 @@ __154: *(*I64)(unsafe.Pointer(pOut /* &.u */)) = int64(-1) goto __773 __772: - *(*I64)(unsafe.Pointer(pOut /* &.u */)) = *(*I64)(unsafe.Pointer(bp + 904 /* x3 */)) + *(*I64)(unsafe.Pointer(pOut /* &.u */)) = *(*I64)(unsafe.Pointer(bp + 784 /* x3 */)) __773: ; goto __10 @@ -118765,7 +118765,7 @@ __784: if !((*Sqlite3_context)(unsafe.Pointer(pCtx1)).FisError > 0) { goto __786 } - Xsqlite3VdbeError(tls, p, ts+951 /* "%s" */, libc.VaList(bp+136, Xsqlite3_value_text(tls, (*Sqlite3_context)(unsafe.Pointer(pCtx1)).FpOut))) + Xsqlite3VdbeError(tls, p, ts+951 /* "%s" */, libc.VaList(bp+88, Xsqlite3_value_text(tls, (*Sqlite3_context)(unsafe.Pointer(pCtx1)).FpOut))) rc = (*Sqlite3_context)(unsafe.Pointer(pCtx1)).FisError __786: ; @@ -118843,7 +118843,7 @@ __791: if !(rc != 0) { goto __792 } - Xsqlite3VdbeError(tls, p, ts+951 /* "%s" */, libc.VaList(bp+152, Xsqlite3_value_text(tls, pMem4))) + Xsqlite3VdbeError(tls, p, ts+951 /* "%s" */, libc.VaList(bp+96, Xsqlite3_value_text(tls, pMem4))) goto abort_due_to_error __792: ; @@ -118870,10 +118870,10 @@ __793: __162: // Write results here ; - *(*int32)(unsafe.Pointer(bp + 912 /* &aRes[0] */)) = 0 - *(*int32)(unsafe.Pointer(bp + 912 /* &aRes[0] */ + 1*4)) = libc.AssignPtrInt32(bp+912 /* &aRes */ +2*4, -1) + *(*int32)(unsafe.Pointer(bp + 792 /* &aRes[0] */)) = 0 + *(*int32)(unsafe.Pointer(bp + 792 /* &aRes[0] */ + 1*4)) = libc.AssignPtrInt32(bp+792 /* &aRes */ +2*4, -1) - rc = Xsqlite3Checkpoint(tls, db, (*Op)(unsafe.Pointer(pOp)).Fp1, (*Op)(unsafe.Pointer(pOp)).Fp2, (bp + 912 /* &aRes */ + 1*4), (bp + 912 /* &aRes */ + 2*4)) + rc = Xsqlite3Checkpoint(tls, db, (*Op)(unsafe.Pointer(pOp)).Fp1, (*Op)(unsafe.Pointer(pOp)).Fp2, (bp + 792 /* &aRes */ + 1*4), (bp + 792 /* &aRes */ + 2*4)) if !(rc != 0) { goto __794 } @@ -118884,7 +118884,7 @@ __162: // Write results here __795: ; rc = SQLITE_OK - *(*int32)(unsafe.Pointer(bp + 912 /* &aRes[0] */)) = 1 + *(*int32)(unsafe.Pointer(bp + 792 /* &aRes[0] */)) = 1 __794: ; i5 = 0 @@ -118893,7 +118893,7 @@ __796: if !(i5 < 3) { goto __798 } - Xsqlite3VdbeMemSetInt64(tls, pMem5, I64(*(*int32)(unsafe.Pointer(bp + 912 /* &aRes[0] */ + uintptr(i5)*4)))) + Xsqlite3VdbeMemSetInt64(tls, pMem5, I64(*(*int32)(unsafe.Pointer(bp + 792 /* &aRes[0] */ + uintptr(i5)*4)))) goto __797 __797: i5++ @@ -118959,7 +118959,7 @@ __801: rc = SQLITE_ERROR Xsqlite3VdbeError(tls, p, ts+12445, /* "cannot change %s..." */ - libc.VaList(bp+168, func() uintptr { + libc.VaList(bp+104, func() uintptr { if eNew == PAGER_JOURNALMODE_WAL { return ts + 12497 /* "into" */ } @@ -119166,7 +119166,7 @@ __169: goto __819 } z1 = *(*uintptr)(unsafe.Pointer(pOp + 16 /* &.p4 */)) - Xsqlite3VdbeError(tls, p, ts+12509 /* "database table i..." */, libc.VaList(bp+184, z1)) + Xsqlite3VdbeError(tls, p, ts+12509 /* "database table i..." */, libc.VaList(bp+112, z1)) __819: ; goto abort_due_to_error @@ -119207,14 +119207,14 @@ __821: // P1. Call the xCreate method for that table. __171: // Name of the virtual table - libc.Xmemset(tls, bp+928 /* &sMem1 */, 0, uint64(unsafe.Sizeof(Mem{}))) - (*Mem)(unsafe.Pointer(bp + 928 /* &sMem1 */)).Fdb = db + libc.Xmemset(tls, bp+808 /* &sMem1 */, 0, uint64(unsafe.Sizeof(Mem{}))) + (*Mem)(unsafe.Pointer(bp + 808 /* &sMem1 */)).Fdb = db // Because P2 is always a static string, it is impossible for the // sqlite3VdbeMemCopy() to fail - rc = Xsqlite3VdbeMemCopy(tls, bp+928 /* &sMem1 */, (aMem + uintptr((*Op)(unsafe.Pointer(pOp)).Fp2)*56)) + rc = Xsqlite3VdbeMemCopy(tls, bp+808 /* &sMem1 */, (aMem + uintptr((*Op)(unsafe.Pointer(pOp)).Fp2)*56)) - zTab = Xsqlite3_value_text(tls, bp+928 /* &sMem1 */) + zTab = Xsqlite3_value_text(tls, bp+808 /* &sMem1 */) if !(zTab != 0) { goto __822 @@ -119222,7 +119222,7 @@ __171: // Name of the virtual table rc = Xsqlite3VtabCallCreate(tls, db, (*Op)(unsafe.Pointer(pOp)).Fp1, zTab, (p + 168 /* &.zErrMsg */)) __822: ; - Xsqlite3VdbeMemRelease(tls, bp+928 /* &sMem1 */) + Xsqlite3VdbeMemRelease(tls, bp+808 /* &sMem1 */) if !(rc != 0) { goto __823 } @@ -119256,7 +119256,7 @@ __824: __173: ; pCur2 = uintptr(0) - *(*uintptr)(unsafe.Pointer(bp + 984 /* pVCur */)) = uintptr(0) + *(*uintptr)(unsafe.Pointer(bp + 864 /* pVCur */)) = uintptr(0) pVtab1 = (*VTable)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(pOp + 16 /* &.p4 */)))).FpVtab if !((pVtab1 == uintptr(0)) || ((*Sqlite3_vtab)(unsafe.Pointer(pVtab1)).FpModule == uintptr(0))) { goto __825 @@ -119266,7 +119266,7 @@ __173: __825: ; pModule1 = (*Sqlite3_vtab)(unsafe.Pointer(pVtab1)).FpModule - rc = (*(*func(*libc.TLS, uintptr, uintptr) int32)(unsafe.Pointer((pModule1 + 48 /* &.xOpen */))))(tls, pVtab1, bp+984 /* &pVCur */) + rc = (*(*func(*libc.TLS, uintptr, uintptr) int32)(unsafe.Pointer((pModule1 + 48 /* &.xOpen */))))(tls, pVtab1, bp+864 /* &pVCur */) Xsqlite3VtabImportErrmsg(tls, p, pVtab1) if !(rc != 0) { goto __826 @@ -119276,19 +119276,19 @@ __826: ; // Initialize sqlite3_vtab_cursor base class - (*Sqlite3_vtab_cursor)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp + 984 /* pVCur */)))).FpVtab = pVtab1 + (*Sqlite3_vtab_cursor)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp + 864 /* pVCur */)))).FpVtab = pVtab1 // Initialize vdbe cursor object pCur2 = allocateCursor(tls, p, (*Op)(unsafe.Pointer(pOp)).Fp1, 0, -1, uint8(CURTYPE_VTAB)) if !(pCur2 != 0) { goto __827 } - *(*uintptr)(unsafe.Pointer(pCur2 + 56 /* &.uc */)) = *(*uintptr)(unsafe.Pointer(bp + 984 /* pVCur */)) + *(*uintptr)(unsafe.Pointer(pCur2 + 56 /* &.uc */)) = *(*uintptr)(unsafe.Pointer(bp + 864 /* pVCur */)) (*Sqlite3_vtab)(unsafe.Pointer(pVtab1)).FnRef++ goto __828 __827: ; - (*(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer((pModule1 + 56 /* &.xClose */))))(tls, *(*uintptr)(unsafe.Pointer(bp + 984 /* pVCur */))) + (*(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer((pModule1 + 56 /* &.xClose */))))(tls, *(*uintptr)(unsafe.Pointer(bp + 864 /* pVCur */))) goto no_mem __828: ; @@ -119391,8 +119391,8 @@ __834: pVtab3 = (*Sqlite3_vtab_cursor)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(pCur4 + 56 /* &.uc */)))).FpVtab pModule3 = (*Sqlite3_vtab)(unsafe.Pointer(pVtab3)).FpModule - libc.Xmemset(tls, bp+992 /* &sContext */, 0, uint64(unsafe.Sizeof(Sqlite3_context{}))) - (*Sqlite3_context)(unsafe.Pointer(bp + 992 /* &sContext */)).FpOut = pDest2 + libc.Xmemset(tls, bp+872 /* &sContext */, 0, uint64(unsafe.Sizeof(Sqlite3_context{}))) + (*Sqlite3_context)(unsafe.Pointer(bp + 872 /* &sContext */)).FpOut = pDest2 if !((int32((*Op)(unsafe.Pointer(pOp)).Fp5) & OPFLAG_NOCHNG) != 0) { goto __835 @@ -119405,13 +119405,13 @@ __835: (*Mem)(unsafe.Pointer(pDest2)).Fflags = (U16((int32((*Mem)(unsafe.Pointer((pDest2))).Fflags) & libc.CplInt32((MEM_TypeMask | MEM_Zero))) | MEM_Null)) __836: ; - rc = (*(*func(*libc.TLS, uintptr, uintptr, int32) int32)(unsafe.Pointer((pModule3 + 88 /* &.xColumn */))))(tls, *(*uintptr)(unsafe.Pointer(pCur4 + 56 /* &.uc */)), bp+992 /* &sContext */, (*Op)(unsafe.Pointer(pOp)).Fp2) + rc = (*(*func(*libc.TLS, uintptr, uintptr, int32) int32)(unsafe.Pointer((pModule3 + 88 /* &.xColumn */))))(tls, *(*uintptr)(unsafe.Pointer(pCur4 + 56 /* &.uc */)), bp+872 /* &sContext */, (*Op)(unsafe.Pointer(pOp)).Fp2) Xsqlite3VtabImportErrmsg(tls, p, pVtab3) - if !((*Sqlite3_context)(unsafe.Pointer(bp+992 /* &sContext */)).FisError > 0) { + if !((*Sqlite3_context)(unsafe.Pointer(bp+872 /* &sContext */)).FisError > 0) { goto __837 } - Xsqlite3VdbeError(tls, p, ts+951 /* "%s" */, libc.VaList(bp+200, Xsqlite3_value_text(tls, pDest2))) - rc = (*Sqlite3_context)(unsafe.Pointer(bp + 992 /* &sContext */)).FisError + Xsqlite3VdbeError(tls, p, ts+951 /* "%s" */, libc.VaList(bp+120, Xsqlite3_value_text(tls, pDest2))) + rc = (*Sqlite3_context)(unsafe.Pointer(bp + 872 /* &sContext */)).FisError __837: ; Xsqlite3VdbeChangeEncoding(tls, pDest2, int32(encoding)) @@ -119580,14 +119580,14 @@ __850: __851: ; (*Sqlite3)(unsafe.Pointer(db)).FvtabOnConflict = U8((*Op)(unsafe.Pointer(pOp)).Fp5) - rc = (*(*func(*libc.TLS, uintptr, int32, uintptr, uintptr) int32)(unsafe.Pointer((pModule5 + 104 /* &.xUpdate */))))(tls, pVtab6, nArg1, apArg1, bp+1048 /* &rowid1 */) + rc = (*(*func(*libc.TLS, uintptr, int32, uintptr, uintptr) int32)(unsafe.Pointer((pModule5 + 104 /* &.xUpdate */))))(tls, pVtab6, nArg1, apArg1, bp+928 /* &rowid1 */) (*Sqlite3)(unsafe.Pointer(db)).FvtabOnConflict = vtabOnConflict Xsqlite3VtabImportErrmsg(tls, p, pVtab6) if !((rc == SQLITE_OK) && ((*Op)(unsafe.Pointer(pOp)).Fp1 != 0)) { goto __852 } - (*Sqlite3)(unsafe.Pointer(db)).FlastRowid = *(*Sqlite_int64)(unsafe.Pointer(bp + 1048 /* rowid1 */)) + (*Sqlite3)(unsafe.Pointer(db)).FlastRowid = *(*Sqlite_int64)(unsafe.Pointer(bp + 928 /* rowid1 */)) __852: ; if !(((rc & 0xff) == SQLITE_CONSTRAINT) && ((*VTable)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(pOp + 16 /* &.p4 */)))).FbConstraint != 0)) { @@ -119743,7 +119743,7 @@ __860: if !((*Sqlite3_context)(unsafe.Pointer(pCtx2)).FisError > 0) { goto __865 } - Xsqlite3VdbeError(tls, p, ts+951 /* "%s" */, libc.VaList(bp+216, Xsqlite3_value_text(tls, pOut))) + Xsqlite3VdbeError(tls, p, ts+951 /* "%s" */, libc.VaList(bp+128, Xsqlite3_value_text(tls, pOut))) rc = (*Sqlite3_context)(unsafe.Pointer(pCtx2)).FisError __865: ; @@ -119834,7 +119834,7 @@ __870: if !((*Sqlite3)(unsafe.Pointer(db)).FnVdbeExec > 1) { goto __872 } - z3 = Xsqlite3MPrintf(tls, db, ts+12538 /* "-- %s" */, libc.VaList(bp+232, zTrace)) + z3 = Xsqlite3MPrintf(tls, db, ts+12538 /* "-- %s" */, libc.VaList(bp+136, zTrace)) (*(*func(*libc.TLS, U32, uintptr, uintptr, uintptr) int32)(unsafe.Pointer((db + 240 /* &.trace */ /* &.xV2 */))))(tls, uint32(SQLITE_TRACE_STMT), (*Sqlite3)(unsafe.Pointer(db)).FpTraceArg, p, z3) Xsqlite3DbFree(tls, db, z3) goto __873 @@ -119937,14 +119937,14 @@ __881: if !(((*Vdbe)(unsafe.Pointer(p)).FzErrMsg == uintptr(0)) && (rc != (SQLITE_IOERR | (int32(12) << 8)))) { goto __883 } - Xsqlite3VdbeError(tls, p, ts+951 /* "%s" */, libc.VaList(bp+248, Xsqlite3ErrStr(tls, rc))) + Xsqlite3VdbeError(tls, p, ts+951 /* "%s" */, libc.VaList(bp+144, Xsqlite3ErrStr(tls, rc))) __883: ; (*Vdbe)(unsafe.Pointer(p)).Frc = rc Xsqlite3SystemError(tls, db, rc) Xsqlite3_log(tls, rc, ts+12544, /* "statement aborts..." */ - libc.VaList(bp+264, (int32((int64(pOp)-int64(aOp))/32)), (*Vdbe)(unsafe.Pointer(p)).FzSql, (*Vdbe)(unsafe.Pointer(p)).FzErrMsg)) + libc.VaList(bp+152, (int32((int64(pOp)-int64(aOp))/32)), (*Vdbe)(unsafe.Pointer(p)).FzSql, (*Vdbe)(unsafe.Pointer(p)).FzErrMsg)) Xsqlite3VdbeHalt(tls, p) if !(rc == (SQLITE_IOERR | (int32(12) << 8))) { goto __884 @@ -120083,8 +120083,8 @@ type Incrblob = Incrblob1 /* sqlite3.c:94829:25 */ // calls to sqlite3_blob_read(), blob_write() or blob_reopen() will // immediately return SQLITE_ABORT. func blobSeekToRow(tls *libc.TLS, p uintptr, iRow Sqlite3_int64, pzErr uintptr) int32 { /* sqlite3.c:94859:12: */ - bp := tls.Alloc(48) - defer tls.Free(48) + bp := tls.Alloc(24) + defer tls.Free(24) var rc int32 // Error code var zErr uintptr = uintptr(0) // Error message @@ -120145,10 +120145,10 @@ func blobSeekToRow(tls *libc.TLS, p uintptr, iRow Sqlite3_int64, pzErr uintptr) rc = Xsqlite3_finalize(tls, (*Incrblob)(unsafe.Pointer(p)).FpStmt) (*Incrblob)(unsafe.Pointer(p)).FpStmt = uintptr(0) if rc == SQLITE_OK { - zErr = Xsqlite3MPrintf(tls, (*Incrblob)(unsafe.Pointer(p)).Fdb, ts+12671 /* "no such rowid: %..." */, libc.VaList(bp+16, iRow)) + zErr = Xsqlite3MPrintf(tls, (*Incrblob)(unsafe.Pointer(p)).Fdb, ts+12671 /* "no such rowid: %..." */, libc.VaList(bp+8, iRow)) rc = SQLITE_ERROR } else { - zErr = Xsqlite3MPrintf(tls, (*Incrblob)(unsafe.Pointer(p)).Fdb, ts+951 /* "%s" */, libc.VaList(bp+32, Xsqlite3_errmsg(tls, (*Incrblob)(unsafe.Pointer(p)).Fdb))) + zErr = Xsqlite3MPrintf(tls, (*Incrblob)(unsafe.Pointer(p)).Fdb, ts+951 /* "%s" */, libc.VaList(bp+16, Xsqlite3_errmsg(tls, (*Incrblob)(unsafe.Pointer(p)).Fdb))) } } @@ -120158,17 +120158,17 @@ func blobSeekToRow(tls *libc.TLS, p uintptr, iRow Sqlite3_int64, pzErr uintptr) // Open a blob handle. func Xsqlite3_blob_open(tls *libc.TLS, db uintptr, zDb uintptr, zTable uintptr, zColumn uintptr, iRow Sqlite_int64, wrFlag int32, ppBlob uintptr) int32 { /* sqlite3.c:94924:16: */ - bp := tls.Alloc(512) - defer tls.Free(512) + bp := tls.Alloc(464) + defer tls.Free(464) var nAttempt int32 var iCol int32 // Index of zColumn in row-record var rc int32 - // var zErr uintptr at bp+504, 8 + // var zErr uintptr at bp+456, 8 var pTab uintptr var pBlob uintptr - // var sParse Parse at bp+96, 408 + // var sParse Parse at bp+48, 408 var j int32 // Check that the column is not part of an FK child key definition. It @@ -120184,7 +120184,7 @@ func Xsqlite3_blob_open(tls *libc.TLS, db uintptr, zDb uintptr, zTable uintptr, var aOp uintptr nAttempt = 0 rc = SQLITE_OK - *(*uintptr)(unsafe.Pointer(bp + 504 /* zErr */)) = uintptr(0) + *(*uintptr)(unsafe.Pointer(bp + 456 /* zErr */)) = uintptr(0) pBlob = uintptr(0) *(*uintptr)(unsafe.Pointer(ppBlob)) = uintptr(0) @@ -120194,49 +120194,49 @@ func Xsqlite3_blob_open(tls *libc.TLS, db uintptr, zDb uintptr, zTable uintptr, pBlob = Xsqlite3DbMallocZero(tls, db, uint64(unsafe.Sizeof(Incrblob{}))) __1: - libc.Xmemset(tls, bp+96 /* &sParse */, 0, uint64(unsafe.Sizeof(Parse{}))) + libc.Xmemset(tls, bp+48 /* &sParse */, 0, uint64(unsafe.Sizeof(Parse{}))) if !(!(pBlob != 0)) { goto __4 } goto blob_open_out __4: ; - (*Parse)(unsafe.Pointer(bp + 96 /* &sParse */)).Fdb = db - Xsqlite3DbFree(tls, db, *(*uintptr)(unsafe.Pointer(bp + 504 /* zErr */))) - *(*uintptr)(unsafe.Pointer(bp + 504 /* zErr */)) = uintptr(0) + (*Parse)(unsafe.Pointer(bp + 48 /* &sParse */)).Fdb = db + Xsqlite3DbFree(tls, db, *(*uintptr)(unsafe.Pointer(bp + 456 /* zErr */))) + *(*uintptr)(unsafe.Pointer(bp + 456 /* zErr */)) = uintptr(0) Xsqlite3BtreeEnterAll(tls, db) - pTab = Xsqlite3LocateTable(tls, bp+96 /* &sParse */, uint32(0), zTable, zDb) + pTab = Xsqlite3LocateTable(tls, bp+48 /* &sParse */, uint32(0), zTable, zDb) if !((pTab != 0) && ((*Table)(unsafe.Pointer(pTab)).FnModuleArg != 0)) { goto __5 } pTab = uintptr(0) - Xsqlite3ErrorMsg(tls, bp+96 /* &sParse */, ts+12691 /* "cannot open virt..." */, libc.VaList(bp, zTable)) + Xsqlite3ErrorMsg(tls, bp+48 /* &sParse */, ts+12691 /* "cannot open virt..." */, libc.VaList(bp, zTable)) __5: ; if !((pTab != 0) && !(((*Table)(unsafe.Pointer((pTab))).FtabFlags & U32(TF_WithoutRowid)) == U32(0))) { goto __6 } pTab = uintptr(0) - Xsqlite3ErrorMsg(tls, bp+96 /* &sParse */, ts+12721 /* "cannot open tabl..." */, libc.VaList(bp+16, zTable)) + Xsqlite3ErrorMsg(tls, bp+48 /* &sParse */, ts+12721 /* "cannot open tabl..." */, libc.VaList(bp+8, zTable)) __6: ; if !((pTab != 0) && ((*Table)(unsafe.Pointer(pTab)).FpSelect != 0)) { goto __7 } pTab = uintptr(0) - Xsqlite3ErrorMsg(tls, bp+96 /* &sParse */, ts+12757 /* "cannot open view..." */, libc.VaList(bp+32, zTable)) + Xsqlite3ErrorMsg(tls, bp+48 /* &sParse */, ts+12757 /* "cannot open view..." */, libc.VaList(bp+16, zTable)) __7: ; if !(!(pTab != 0)) { goto __8 } - if !((*Parse)(unsafe.Pointer(bp+96 /* &sParse */)).FzErrMsg != 0) { + if !((*Parse)(unsafe.Pointer(bp+48 /* &sParse */)).FzErrMsg != 0) { goto __9 } - Xsqlite3DbFree(tls, db, *(*uintptr)(unsafe.Pointer(bp + 504 /* zErr */))) - *(*uintptr)(unsafe.Pointer(bp + 504 /* zErr */)) = (*Parse)(unsafe.Pointer(bp + 96 /* &sParse */)).FzErrMsg - (*Parse)(unsafe.Pointer(bp + 96 /* &sParse */)).FzErrMsg = uintptr(0) + Xsqlite3DbFree(tls, db, *(*uintptr)(unsafe.Pointer(bp + 456 /* zErr */))) + *(*uintptr)(unsafe.Pointer(bp + 456 /* zErr */)) = (*Parse)(unsafe.Pointer(bp + 48 /* &sParse */)).FzErrMsg + (*Parse)(unsafe.Pointer(bp + 48 /* &sParse */)).FzErrMsg = uintptr(0) __9: ; rc = SQLITE_ERROR @@ -120269,8 +120269,8 @@ __12: if !(iCol == int32((*Table)(unsafe.Pointer(pTab)).FnCol)) { goto __14 } - Xsqlite3DbFree(tls, db, *(*uintptr)(unsafe.Pointer(bp + 504 /* zErr */))) - *(*uintptr)(unsafe.Pointer(bp + 504 /* zErr */)) = Xsqlite3MPrintf(tls, db, ts+12778 /* "no such column: ..." */, libc.VaList(bp+48, zColumn)) + Xsqlite3DbFree(tls, db, *(*uintptr)(unsafe.Pointer(bp + 456 /* zErr */))) + *(*uintptr)(unsafe.Pointer(bp + 456 /* zErr */)) = Xsqlite3MPrintf(tls, db, ts+12778 /* "no such column: ..." */, libc.VaList(bp+24, zColumn)) rc = SQLITE_ERROR Xsqlite3BtreeLeaveAll(tls, db) goto blob_open_out @@ -120352,8 +120352,8 @@ __26: if !(zFault != 0) { goto __31 } - Xsqlite3DbFree(tls, db, *(*uintptr)(unsafe.Pointer(bp + 504 /* zErr */))) - *(*uintptr)(unsafe.Pointer(bp + 504 /* zErr */)) = Xsqlite3MPrintf(tls, db, ts+12819 /* "cannot open %s c..." */, libc.VaList(bp+64, zFault)) + Xsqlite3DbFree(tls, db, *(*uintptr)(unsafe.Pointer(bp + 456 /* zErr */))) + *(*uintptr)(unsafe.Pointer(bp + 456 /* zErr */)) = Xsqlite3MPrintf(tls, db, ts+12819 /* "cannot open %s c..." */, libc.VaList(bp+32, zFault)) rc = SQLITE_ERROR Xsqlite3BtreeLeaveAll(tls, db) goto blob_open_out @@ -120362,7 +120362,7 @@ __31: __15: ; - (*Incrblob)(unsafe.Pointer(pBlob)).FpStmt = Xsqlite3VdbeCreate(tls, bp+96 /* &sParse */) + (*Incrblob)(unsafe.Pointer(pBlob)).FpStmt = Xsqlite3VdbeCreate(tls, bp+48 /* &sParse */) if !((*Incrblob)(unsafe.Pointer(pBlob)).FpStmt != 0) { goto __32 @@ -120416,10 +120416,10 @@ __35: *(*int32)(unsafe.Pointer(aOp + 1*32 + 16 /* &.p4 */)) = (int32((*Table)(unsafe.Pointer(pTab)).FnCol) + 1) (*VdbeOp)(unsafe.Pointer(aOp + 3*32)).Fp2 = int32((*Table)(unsafe.Pointer(pTab)).FnCol) - (*Parse)(unsafe.Pointer(bp + 96 /* &sParse */)).FnVar = int16(0) - (*Parse)(unsafe.Pointer(bp + 96 /* &sParse */)).FnMem = 1 - (*Parse)(unsafe.Pointer(bp + 96 /* &sParse */)).FnTab = 1 - Xsqlite3VdbeMakeReady(tls, v, bp+96 /* &sParse */) + (*Parse)(unsafe.Pointer(bp + 48 /* &sParse */)).FnVar = int16(0) + (*Parse)(unsafe.Pointer(bp + 48 /* &sParse */)).FnMem = 1 + (*Parse)(unsafe.Pointer(bp + 48 /* &sParse */)).FnTab = 1 + Xsqlite3VdbeMakeReady(tls, v, bp+48 /* &sParse */) __34: ; __32: @@ -120434,7 +120434,7 @@ __32: goto blob_open_out __36: ; - rc = blobSeekToRow(tls, pBlob, iRow, bp+504 /* &zErr */) + rc = blobSeekToRow(tls, pBlob, iRow, bp+456 /* &zErr */) goto __2 __2: if ((libc.PreIncInt32(&nAttempt, 1)) < SQLITE_MAX_SCHEMA_RETRY) && (rc == SQLITE_SCHEMA) { @@ -120461,13 +120461,13 @@ __39: __38: ; Xsqlite3ErrorWithMsg(tls, db, rc, func() uintptr { - if *(*uintptr)(unsafe.Pointer(bp + 504 /* zErr */)) != 0 { + if *(*uintptr)(unsafe.Pointer(bp + 456 /* zErr */)) != 0 { return ts + 951 /* "%s" */ } return uintptr(0) - }(), libc.VaList(bp+80, *(*uintptr)(unsafe.Pointer(bp + 504 /* zErr */)))) - Xsqlite3DbFree(tls, db, *(*uintptr)(unsafe.Pointer(bp + 504 /* zErr */))) - Xsqlite3ParserReset(tls, bp+96 /* &sParse */) + }(), libc.VaList(bp+40, *(*uintptr)(unsafe.Pointer(bp + 456 /* zErr */)))) + Xsqlite3DbFree(tls, db, *(*uintptr)(unsafe.Pointer(bp + 456 /* zErr */))) + Xsqlite3ParserReset(tls, bp+48 /* &sParse */) rc = Xsqlite3ApiExit(tls, db, rc) Xsqlite3_mutex_leave(tls, (*Sqlite3)(unsafe.Pointer(db)).Fmutex) return rc @@ -120602,8 +120602,8 @@ func Xsqlite3_blob_bytes(tls *libc.TLS, pBlob uintptr) int32 { /* sqlite3.c:9526 // subsequent calls to sqlite3_blob_xxx() functions (except blob_close()) // immediately return SQLITE_ABORT. func Xsqlite3_blob_reopen(tls *libc.TLS, pBlob uintptr, iRow Sqlite3_int64) int32 { /* sqlite3.c:95283:16: */ - bp := tls.Alloc(24) - defer tls.Free(24) + bp := tls.Alloc(16) + defer tls.Free(16) var rc int32 var p uintptr = pBlob @@ -120620,18 +120620,18 @@ func Xsqlite3_blob_reopen(tls *libc.TLS, pBlob uintptr, iRow Sqlite3_int64) int3 // already been invalidated. Return SQLITE_ABORT in this case. rc = SQLITE_ABORT } else { - // var zErr uintptr at bp+16, 8 + // var zErr uintptr at bp+8, 8 (*Vdbe)(unsafe.Pointer((*Incrblob)(unsafe.Pointer(p)).FpStmt)).Frc = SQLITE_OK - rc = blobSeekToRow(tls, p, iRow, bp+16 /* &zErr */) + rc = blobSeekToRow(tls, p, iRow, bp+8 /* &zErr */) if rc != SQLITE_OK { Xsqlite3ErrorWithMsg(tls, db, rc, func() uintptr { - if *(*uintptr)(unsafe.Pointer(bp + 16 /* zErr */)) != 0 { + if *(*uintptr)(unsafe.Pointer(bp + 8 /* zErr */)) != 0 { return ts + 951 /* "%s" */ } return uintptr(0) - }(), libc.VaList(bp, *(*uintptr)(unsafe.Pointer(bp + 16 /* zErr */)))) - Xsqlite3DbFree(tls, db, *(*uintptr)(unsafe.Pointer(bp + 16 /* zErr */))) + }(), libc.VaList(bp, *(*uintptr)(unsafe.Pointer(bp + 8 /* zErr */)))) + Xsqlite3DbFree(tls, db, *(*uintptr)(unsafe.Pointer(bp + 8 /* zErr */))) } } @@ -123473,8 +123473,8 @@ func bytecodevtabRowid(tls *libc.TLS, cur uintptr, pRowid uintptr) int32 { /* sq // idxNum==0 means show all subprograms // idxNum==1 means show only the main bytecode and omit subprograms. func bytecodevtabFilter(tls *libc.TLS, pVtabCursor uintptr, idxNum int32, idxStr uintptr, argc int32, argv uintptr) int32 { /* sqlite3.c:98397:12: */ - bp := tls.Alloc(16) - defer tls.Free(16) + bp := tls.Alloc(8) + defer tls.Free(8) var pCur uintptr = pVtabCursor var pVTab uintptr = (*Sqlite3_vtab_cursor)(unsafe.Pointer(pVtabCursor)).FpVtab @@ -124484,8 +124484,8 @@ func Xsqlite3ExprColUsed(tls *libc.TLS, pExpr uintptr) Bitmask { /* sqlite3.c:99 // If the name cannot be resolved unambiguously, leave an error message // in pParse and return WRC_Abort. Return WRC_Prune on success. func lookupName(tls *libc.TLS, pParse uintptr, zDb uintptr, zTab uintptr, zCol uintptr, pNC uintptr, pExpr uintptr) int32 { /* sqlite3.c:99446:12: */ - bp := tls.Alloc(144) - defer tls.Free(144) + bp := tls.Alloc(96) + defer tls.Free(96) var i int32 var j int32 // Loop counters @@ -124977,7 +124977,7 @@ __70: ((((*NameContext)(unsafe.Pointer(pNC)).FncFlags & NC_AllowWin) == 0) || (pNC != pTopNC))) { goto __71 } - Xsqlite3ErrorMsg(tls, pParse, ts+13196 /* "misuse of aliase..." */, libc.VaList(bp+16, zAs)) + Xsqlite3ErrorMsg(tls, pParse, ts+13196 /* "misuse of aliase..." */, libc.VaList(bp+8, zAs)) return WRC_Abort __71: ; @@ -125060,7 +125060,7 @@ __11: // a huge amount of legacy SQL that uses it. So for now, we just // issue a warning. Xsqlite3_log(tls, SQLITE_WARNING, - ts+13251 /* "double-quoted st..." */, libc.VaList(bp+32, zCol)) + ts+13251 /* "double-quoted st..." */, libc.VaList(bp+16, zCol)) (*Expr)(unsafe.Pointer(pExpr)).Fop = U8(TK_STRING) *(*uintptr)(unsafe.Pointer(pExpr + 64 /* &.y */)) = uintptr(0) return WRC_Prune @@ -125088,16 +125088,16 @@ __75: if !(zDb != 0) { goto __79 } - Xsqlite3ErrorMsg(tls, pParse, ts+13323 /* "%s: %s.%s.%s" */, libc.VaList(bp+48, zErr, zDb, zTab, zCol)) + Xsqlite3ErrorMsg(tls, pParse, ts+13323 /* "%s: %s.%s.%s" */, libc.VaList(bp+24, zErr, zDb, zTab, zCol)) goto __80 __79: if !(zTab != 0) { goto __81 } - Xsqlite3ErrorMsg(tls, pParse, ts+13336 /* "%s: %s.%s" */, libc.VaList(bp+88, zErr, zTab, zCol)) + Xsqlite3ErrorMsg(tls, pParse, ts+13336 /* "%s: %s.%s" */, libc.VaList(bp+56, zErr, zTab, zCol)) goto __82 __81: - Xsqlite3ErrorMsg(tls, pParse, ts+13346 /* "%s: %s" */, libc.VaList(bp+120, zErr, zCol)) + Xsqlite3ErrorMsg(tls, pParse, ts+13346 /* "%s: %s" */, libc.VaList(bp+80, zErr, zCol)) __82: ; __80: @@ -125228,8 +125228,8 @@ func Xsqlite3CreateColumnExpr(tls *libc.TLS, db uintptr, pSrc uintptr, iSrc int3 // (because errors are rare), the conditional is moved outside of the // function call using a macro. func notValidImpl(tls *libc.TLS, pParse uintptr, pNC uintptr, zMsg uintptr, pExpr uintptr) { /* sqlite3.c:99922:13: */ - bp := tls.Alloc(24) - defer tls.Free(24) + bp := tls.Alloc(16) + defer tls.Free(16) var zIn uintptr = ts + 13353 /* "partial index WH..." */ if ((*NameContext)(unsafe.Pointer(pNC)).FncFlags & NC_IdxExpr) != 0 { @@ -125274,8 +125274,8 @@ func exprProbability(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:99948:12: */ // function names. The operator for aggregate functions is changed // to TK_AGG_FUNCTION. func resolveExprStep(tls *libc.TLS, pWalker uintptr, pExpr uintptr) int32 { /* sqlite3.c:99968:12: */ - bp := tls.Alloc(176) - defer tls.Free(176) + bp := tls.Alloc(128) + defer tls.Free(128) var pNC uintptr var pParse uintptr @@ -125322,7 +125322,7 @@ func resolveExprStep(tls *libc.TLS, pWalker uintptr, pExpr uintptr) int32 { /* s fallthrough case TK_ISNULL: { - // var anRef [8]int32 at bp+144, 32 + // var anRef [8]int32 at bp+96, 32 var p uintptr var i int32 @@ -125333,7 +125333,7 @@ func resolveExprStep(tls *libc.TLS, pWalker uintptr, pExpr uintptr) int32 { /* s goto __3 } { - *(*int32)(unsafe.Pointer(bp + 144 /* &anRef[0] */ + uintptr(i)*4)) = (*NameContext)(unsafe.Pointer(p)).FnRef + *(*int32)(unsafe.Pointer(bp + 96 /* &anRef[0] */ + uintptr(i)*4)) = (*NameContext)(unsafe.Pointer(p)).FnRef } goto __2 @@ -125361,7 +125361,7 @@ func resolveExprStep(tls *libc.TLS, pWalker uintptr, pExpr uintptr) int32 { /* s goto __6 } { - (*NameContext)(unsafe.Pointer(p)).FnRef = *(*int32)(unsafe.Pointer(bp + 144 /* &anRef[0] */ + uintptr(i)*4)) + (*NameContext)(unsafe.Pointer(p)).FnRef = *(*int32)(unsafe.Pointer(bp + 96 /* &anRef[0] */ + uintptr(i)*4)) } goto __5 @@ -125548,7 +125548,7 @@ func resolveExprStep(tls *libc.TLS, pWalker uintptr, pExpr uintptr) int32 { /* s if ((pDef != 0) && ((*FuncDef)(unsafe.Pointer(pDef)).FxValue == uintptr(0))) && (pWin != 0) { Xsqlite3ErrorMsg(tls, pParse, - ts+13617 /* "%.*s() may not b..." */, libc.VaList(bp+16, nId, zId)) + ts+13617 /* "%.*s() may not b..." */, libc.VaList(bp+8, nId, zId)) (*NameContext)(unsafe.Pointer(pNC)).FnNcErr++ } else if (((is_agg != 0) && (((*NameContext)(unsafe.Pointer(pNC)).FncFlags & NC_AllowAgg) == 0)) || (((is_agg != 0) && (((*FuncDef)(unsafe.Pointer(pDef)).FfuncFlags & U32(SQLITE_FUNC_WINDOW)) != 0)) && !(pWin != 0))) || @@ -125559,20 +125559,20 @@ func resolveExprStep(tls *libc.TLS, pWalker uintptr, pExpr uintptr) int32 { /* s } else { zType = ts + 13668 /* "aggregate" */ } - Xsqlite3ErrorMsg(tls, pParse, ts+13678 /* "misuse of %s fun..." */, libc.VaList(bp+40, zType, nId, zId)) + Xsqlite3ErrorMsg(tls, pParse, ts+13678 /* "misuse of %s fun..." */, libc.VaList(bp+24, zType, nId, zId)) (*NameContext)(unsafe.Pointer(pNC)).FnNcErr++ is_agg = 0 } else if (no_such_func != 0) && (int32((*Sqlite3)(unsafe.Pointer((*Parse)(unsafe.Pointer(pParse)).Fdb)).Finit.Fbusy) == 0) { - Xsqlite3ErrorMsg(tls, pParse, ts+13707 /* "no such function..." */, libc.VaList(bp+72, nId, zId)) + Xsqlite3ErrorMsg(tls, pParse, ts+13707 /* "no such function..." */, libc.VaList(bp+48, nId, zId)) (*NameContext)(unsafe.Pointer(pNC)).FnNcErr++ } else if wrong_num_args != 0 { Xsqlite3ErrorMsg(tls, pParse, ts+13730, /* "wrong number of ..." */ - libc.VaList(bp+96, nId, zId)) + libc.VaList(bp+64, nId, zId)) (*NameContext)(unsafe.Pointer(pNC)).FnNcErr++ } else if (is_agg == 0) && (((*Expr)(unsafe.Pointer((pExpr))).Fflags & (U32(EP_WinFunc))) != U32(0)) { Xsqlite3ErrorMsg(tls, pParse, ts+13775, /* "FILTER may not b..." */ - libc.VaList(bp+120, nId, zId)) + libc.VaList(bp+80, nId, zId)) (*NameContext)(unsafe.Pointer(pNC)).FnNcErr++ } if is_agg != 0 { @@ -125823,8 +125823,8 @@ func resolveOrderByTermToExprList(tls *libc.TLS, pParse uintptr, pSelect uintptr // Generate an ORDER BY or GROUP BY term out-of-range error. func resolveOutOfRangeError(tls *libc.TLS, pParse uintptr, zType uintptr, i int32, mx int32) { /* sqlite3.c:100497:13: */ - bp := tls.Alloc(32) - defer tls.Free(32) + bp := tls.Alloc(24) + defer tls.Free(24) Xsqlite3ErrorMsg(tls, pParse, @@ -125845,8 +125845,8 @@ func resolveOutOfRangeError(tls *libc.TLS, pParse uintptr, zType uintptr, i int3 // // Return the number of errors seen. func resolveCompoundOrderBy(tls *libc.TLS, pParse uintptr, pSelect uintptr) int32 { /* sqlite3.c:100523:12: */ - bp := tls.Alloc(20) - defer tls.Free(20) + bp := tls.Alloc(12) + defer tls.Free(12) var i int32 var pOrderBy uintptr @@ -125883,7 +125883,7 @@ func resolveCompoundOrderBy(tls *libc.TLS, pParse uintptr, pSelect uintptr) int3 goto __3 } { - *(*int32)(unsafe.Pointer(bp + 16 /* iCol */)) = -1 + *(*int32)(unsafe.Pointer(bp + 8 /* iCol */)) = -1 var pE uintptr var pDup uintptr if (uint32(int32(*(*uint8)(unsafe.Pointer(pItem + 20 /* &.done */)) & 0x4 >> 2))) != 0 { @@ -125893,14 +125893,14 @@ func resolveCompoundOrderBy(tls *libc.TLS, pParse uintptr, pSelect uintptr) int3 if pE == uintptr(0) { goto __2 } - if Xsqlite3ExprIsInteger(tls, pE, bp+16 /* &iCol */) != 0 { - if (*(*int32)(unsafe.Pointer(bp + 16 /* iCol */)) <= 0) || (*(*int32)(unsafe.Pointer(bp + 16 /* iCol */)) > (*ExprList)(unsafe.Pointer(pEList)).FnExpr) { + if Xsqlite3ExprIsInteger(tls, pE, bp+8 /* &iCol */) != 0 { + if (*(*int32)(unsafe.Pointer(bp + 8 /* iCol */)) <= 0) || (*(*int32)(unsafe.Pointer(bp + 8 /* iCol */)) > (*ExprList)(unsafe.Pointer(pEList)).FnExpr) { resolveOutOfRangeError(tls, pParse, ts+13936 /* "ORDER" */, (i + 1), (*ExprList)(unsafe.Pointer(pEList)).FnExpr) return 1 } } else { - *(*int32)(unsafe.Pointer(bp + 16 /* iCol */)) = resolveAsName(tls, pParse, pEList, pE) - if *(*int32)(unsafe.Pointer(bp + 16 /* iCol */)) == 0 { + *(*int32)(unsafe.Pointer(bp + 8 /* iCol */)) = resolveAsName(tls, pParse, pEList, pE) + if *(*int32)(unsafe.Pointer(bp + 8 /* iCol */)) == 0 { // Now test if expression pE matches one of the values returned // by pSelect. In the usual case this is done by duplicating the // expression, resolving any symbols in it, and then comparing @@ -125915,15 +125915,15 @@ func resolveCompoundOrderBy(tls *libc.TLS, pParse uintptr, pSelect uintptr) int3 pDup = Xsqlite3ExprDup(tls, db, pE, 0) if !(int32((*Sqlite3)(unsafe.Pointer(db)).FmallocFailed) != 0) { - *(*int32)(unsafe.Pointer(bp + 16 /* iCol */)) = resolveOrderByTermToExprList(tls, pParse, pSelect, pDup) - if (int32((*Parse)(unsafe.Pointer(pParse)).FeParseMode) >= PARSE_MODE_RENAME) && (*(*int32)(unsafe.Pointer(bp + 16 /* iCol */)) > 0) { + *(*int32)(unsafe.Pointer(bp + 8 /* iCol */)) = resolveOrderByTermToExprList(tls, pParse, pSelect, pDup) + if (int32((*Parse)(unsafe.Pointer(pParse)).FeParseMode) >= PARSE_MODE_RENAME) && (*(*int32)(unsafe.Pointer(bp + 8 /* iCol */)) > 0) { resolveOrderByTermToExprList(tls, pParse, pSelect, pE) } } Xsqlite3ExprDelete(tls, db, pDup) } } - if *(*int32)(unsafe.Pointer(bp + 16 /* iCol */)) > 0 { + if *(*int32)(unsafe.Pointer(bp + 8 /* iCol */)) > 0 { // Convert the ORDER BY term into an integer column number iCol, // taking care to preserve the COLLATE clause if it exists. if !(int32((*Parse)(unsafe.Pointer(pParse)).FeParseMode) >= PARSE_MODE_RENAME) { @@ -125932,7 +125932,7 @@ func resolveCompoundOrderBy(tls *libc.TLS, pParse uintptr, pSelect uintptr) int3 return 1 } *(*U32)(unsafe.Pointer(pNew + 4 /* &.flags */)) |= (U32(EP_IntValue)) - *(*int32)(unsafe.Pointer(pNew + 8 /* &.u */)) = *(*int32)(unsafe.Pointer(bp + 16 /* iCol */)) + *(*int32)(unsafe.Pointer(pNew + 8 /* &.u */)) = *(*int32)(unsafe.Pointer(bp + 8 /* iCol */)) if (*ExprList_item)(unsafe.Pointer(pItem)).FpExpr == pE { (*ExprList_item)(unsafe.Pointer(pItem)).FpExpr = pNew } else { @@ -125945,7 +125945,7 @@ func resolveCompoundOrderBy(tls *libc.TLS, pParse uintptr, pSelect uintptr) int3 (*Expr)(unsafe.Pointer(pParent)).FpLeft = pNew } Xsqlite3ExprDelete(tls, db, pE) - *(*U16)(unsafe.Pointer(pItem + 24 /* &.u */ /* &.x */ /* &.iOrderByCol */)) = U16(*(*int32)(unsafe.Pointer(bp + 16 /* iCol */))) + *(*U16)(unsafe.Pointer(pItem + 24 /* &.u */ /* &.x */ /* &.iOrderByCol */)) = U16(*(*int32)(unsafe.Pointer(bp + 8 /* iCol */))) } libc.SetBitFieldPtr8Uint32(pItem+20 /* &.done */, uint32(1), 2, 0x4) } else { @@ -125982,8 +125982,8 @@ func resolveCompoundOrderBy(tls *libc.TLS, pParse uintptr, pSelect uintptr) int3 // If any errors are detected, add an error message to pParse and // return non-zero. Return zero if no errors are seen. func Xsqlite3ResolveOrderGroupBy(tls *libc.TLS, pParse uintptr, pSelect uintptr, pOrderBy uintptr, zType uintptr) int32 { /* sqlite3.c:100636:20: */ - bp := tls.Alloc(16) - defer tls.Free(16) + bp := tls.Alloc(8) + defer tls.Free(8) var i int32 var db uintptr = (*Parse)(unsafe.Pointer(pParse)).Fdb @@ -127204,8 +127204,8 @@ func codeVectorCompare(tls *libc.TLS, pParse uintptr, pExpr uintptr, dest int32, // expression depth allowed. If it is not, leave an error message in // pParse. func Xsqlite3ExprCheckHeight(tls *libc.TLS, pParse uintptr, nHeight int32) int32 { /* sqlite3.c:101913:20: */ - bp := tls.Alloc(16) - defer tls.Free(16) + bp := tls.Alloc(8) + defer tls.Free(8) var rc int32 = SQLITE_OK var mxHeight int32 = *(*int32)(unsafe.Pointer(((*Parse)(unsafe.Pointer(pParse)).Fdb + 128 /* &.aLimit */) + 3*4)) @@ -127462,8 +127462,8 @@ func Xsqlite3ExprAnd(tls *libc.TLS, pParse uintptr, pLeft uintptr, pRight uintpt // Construct a new expression node for a function with multiple // arguments. func Xsqlite3ExprFunction(tls *libc.TLS, pParse uintptr, pList uintptr, pToken uintptr, eDistinct int32) uintptr { /* sqlite3.c:102202:21: */ - bp := tls.Alloc(16) - defer tls.Free(16) + bp := tls.Alloc(8) + defer tls.Free(8) var pNew uintptr var db uintptr = (*Parse)(unsafe.Pointer(pParse)).Fdb @@ -127496,8 +127496,8 @@ func Xsqlite3ExprFunction(tls *libc.TLS, pParse uintptr, pList uintptr, pToken u // // If the function is not usable, create an error. func Xsqlite3ExprFunctionUsable(tls *libc.TLS, pParse uintptr, pExpr uintptr, pDef uintptr) { /* sqlite3.c:102238:21: */ - bp := tls.Alloc(16) - defer tls.Free(16) + bp := tls.Alloc(8) + defer tls.Free(8) if ((*Expr)(unsafe.Pointer((pExpr))).Fflags & (U32(EP_FromDDL))) != U32(0) { if (((*FuncDef)(unsafe.Pointer(pDef)).FfuncFlags & U32(SQLITE_FUNC_DIRECT)) != U32(0)) || @@ -127528,8 +127528,8 @@ func Xsqlite3ExprFunctionUsable(tls *libc.TLS, pParse uintptr, pExpr uintptr, pD // instance of the wildcard, the next sequential variable number is // assigned. func Xsqlite3ExprAssignVarNumber(tls *libc.TLS, pParse uintptr, pExpr uintptr, n U32) { /* sqlite3.c:102277:21: */ - bp := tls.Alloc(24) - defer tls.Free(24) + bp := tls.Alloc(16) + defer tls.Free(16) var db uintptr = (*Parse)(unsafe.Pointer(pParse)).Fdb var z uintptr @@ -127550,22 +127550,22 @@ func Xsqlite3ExprAssignVarNumber(tls *libc.TLS, pParse uintptr, pExpr uintptr, n if int32(*(*int8)(unsafe.Pointer(z))) == '?' { // Wildcard of the form "?nnn". Convert "nnn" to an integer and // use it as the variable number - // var i I64 at bp+16, 8 + // var i I64 at bp+8, 8 var bOk int32 if n == U32(2) { //OPTIMIZATION-IF-TRUE - *(*I64)(unsafe.Pointer(bp + 16 /* i */)) = (I64(int32(*(*int8)(unsafe.Pointer(z + 1))) - '0')) // The common case of ?N for a single digit N + *(*I64)(unsafe.Pointer(bp + 8 /* i */)) = (I64(int32(*(*int8)(unsafe.Pointer(z + 1))) - '0')) // The common case of ?N for a single digit N bOk = 1 } else { - bOk = (libc.Bool32(0 == Xsqlite3Atoi64(tls, (z+1), bp+16 /* &i */, (int32(n-U32(1))), uint8(SQLITE_UTF8)))) + bOk = (libc.Bool32(0 == Xsqlite3Atoi64(tls, (z+1), bp+8 /* &i */, (int32(n-U32(1))), uint8(SQLITE_UTF8)))) } - if ((bOk == 0) || (*(*I64)(unsafe.Pointer(bp + 16 /* i */)) < int64(1))) || (*(*I64)(unsafe.Pointer(bp + 16 /* i */)) > I64(*(*int32)(unsafe.Pointer((db + 128 /* &.aLimit */) + 9*4)))) { + if ((bOk == 0) || (*(*I64)(unsafe.Pointer(bp + 8 /* i */)) < int64(1))) || (*(*I64)(unsafe.Pointer(bp + 8 /* i */)) > I64(*(*int32)(unsafe.Pointer((db + 128 /* &.aLimit */) + 9*4)))) { Xsqlite3ErrorMsg(tls, pParse, ts+14246, /* "variable number ..." */ libc.VaList(bp, *(*int32)(unsafe.Pointer((db + 128 /* &.aLimit */) + 9*4)))) return } - x = YnVar(*(*I64)(unsafe.Pointer(bp + 16 /* i */))) + x = YnVar(*(*I64)(unsafe.Pointer(bp + 8 /* i */))) if int32(x) > int32((*Parse)(unsafe.Pointer(pParse)).FnVar) { (*Parse)(unsafe.Pointer(pParse)).FnVar = YnVar(int32(x)) doAdd = 1 @@ -128220,8 +128220,8 @@ func Xsqlite3ExprListAppend(tls *libc.TLS, pParse uintptr, pList uintptr, pExpr // expression list pList. In the case of a subquery on the RHS, append // TK_SELECT_COLUMN expressions. func Xsqlite3ExprListAppendVector(tls *libc.TLS, pParse uintptr, pList uintptr, pColumns uintptr, pExpr uintptr) uintptr { /* sqlite3.c:102981:25: */ - bp := tls.Alloc(24) - defer tls.Free(24) + bp := tls.Alloc(16) + defer tls.Free(16) var db uintptr var n int32 @@ -128386,8 +128386,8 @@ func Xsqlite3ExprListSetSpan(tls *libc.TLS, pParse uintptr, pList uintptr, zStar // If the expression list pEList contains more than iLimit elements, // leave an error message in pParse. func Xsqlite3ExprListCheckLength(tls *libc.TLS, pParse uintptr, pEList uintptr, zObject uintptr) { /* sqlite3.c:103140:21: */ - bp := tls.Alloc(16) - defer tls.Free(16) + bp := tls.Alloc(8) + defer tls.Free(8) var mx int32 = *(*int32)(unsafe.Pointer(((*Parse)(unsafe.Pointer(pParse)).Fdb + 128 /* &.aLimit */) + 2*4)) @@ -128971,8 +128971,8 @@ func isCandidateForInOpt(tls *libc.TLS, pX uintptr) uintptr { /* sqlite3.c:10366 // to a non-NULL value if iCur contains no NULLs. Cause register regHasNull // to be set to NULL if iCur contains one or more NULL values. func sqlite3SetHasNullFlag(tls *libc.TLS, v uintptr, iCur int32, regHasNull int32) { /* sqlite3.c:103710:13: */ - bp := tls.Alloc(16) - defer tls.Free(16) + bp := tls.Alloc(8) + defer tls.Free(8) var addr1 int32 Xsqlite3VdbeAddOp2(tls, v, OP_Integer, 0, regHasNull) @@ -129075,8 +129075,8 @@ func sqlite3InRhsIsConstant(tls *libc.TLS, pIn uintptr) int32 { /* sqlite3.c:103 // // then aiMap[] is populated with {2, 0, 1}. func Xsqlite3FindInIndex(tls *libc.TLS, pParse uintptr, pX uintptr, inFlags U32, prRhsHasNull uintptr, aiMap uintptr, piTab uintptr) int32 { /* sqlite3.c:103820:20: */ - bp := tls.Alloc(48) - defer tls.Free(48) + bp := tls.Alloc(24) + defer tls.Free(24) var p uintptr // SELECT to the right of IN operator var eType int32 = 0 // Type of RHS table. IN_INDEX_* @@ -129223,10 +129223,10 @@ func Xsqlite3FindInIndex(tls *libc.TLS, pParse uintptr, pX uintptr, inFlags U32, if colUsed == ((Bitmask((uint64(1))) << (nExpr)) - uint64(1)) { // If we reach this point, that means the index pIdx is usable var iAddr int32 = Xsqlite3VdbeAddOp0(tls, v, OP_Once) - Xsqlite3VdbeExplain(tls, pParse, uint8(0), ts+14449 /* "USING INDEX %s F..." */, libc.VaList(bp+16, (*Index)(unsafe.Pointer(pIdx)).FzName)) + Xsqlite3VdbeExplain(tls, pParse, uint8(0), ts+14449 /* "USING INDEX %s F..." */, libc.VaList(bp+8, (*Index)(unsafe.Pointer(pIdx)).FzName)) Xsqlite3VdbeAddOp3(tls, v, OP_OpenRead, iTab, int32((*Index)(unsafe.Pointer(pIdx)).Ftnum), iDb) Xsqlite3VdbeSetP4KeyInfo(tls, pParse, pIdx) - Xsqlite3VdbeComment(tls, v, ts+951 /* "%s" */, libc.VaList(bp+32, (*Index)(unsafe.Pointer(pIdx)).FzName)) + Xsqlite3VdbeComment(tls, v, ts+951 /* "%s" */, libc.VaList(bp+16, (*Index)(unsafe.Pointer(pIdx)).FzName)) eType = (IN_INDEX_INDEX_ASC + int32(*(*U8)(unsafe.Pointer((*Index)(unsafe.Pointer(pIdx)).FaSortOrder)))) @@ -129326,8 +129326,8 @@ func exprINAffinity(tls *libc.TLS, pParse uintptr, pExpr uintptr) uintptr { /* s // // "sub-select returns N columns - expected M" func Xsqlite3SubselectError(tls *libc.TLS, pParse uintptr, nActual int32, nExpect int32) { /* sqlite3.c:104075:21: */ - bp := tls.Alloc(24) - defer tls.Free(24) + bp := tls.Alloc(16) + defer tls.Free(16) if (*Parse)(unsafe.Pointer(pParse)).FnErr == 0 { var zFmt uintptr = ts + 14480 /* "sub-select retur..." */ @@ -129373,8 +129373,8 @@ func Xsqlite3VectorErrorMsg(tls *libc.TLS, pParse uintptr, pExpr uintptr) { /* s // 'x' nor the SELECT... statement are columns, then numeric affinity // is used. func Xsqlite3CodeRhsOfIN(tls *libc.TLS, pParse uintptr, pExpr uintptr, iTab int32) { /* sqlite3.c:104128:21: */ - bp := tls.Alloc(97) - defer tls.Free(97) + bp := tls.Alloc(73) + defer tls.Free(73) var addrOnce int32 = 0 // Address of the OP_Once instruction at top var addr int32 // Address of OP_OpenEphemeral instruction @@ -129429,7 +129429,7 @@ func Xsqlite3CodeRhsOfIN(tls *libc.TLS, pParse uintptr, pExpr uintptr, iTab int3 (*Expr)(unsafe.Pointer(pExpr)).FiTable = iTab addr = Xsqlite3VdbeAddOp2(tls, v, OP_OpenEphemeral, (*Expr)(unsafe.Pointer(pExpr)).FiTable, nVal) if ((*Expr)(unsafe.Pointer((pExpr))).Fflags & (U32(EP_xIsSelect))) != U32(0) { - Xsqlite3VdbeComment(tls, v, ts+14562 /* "Result of SELECT..." */, libc.VaList(bp+16, (*Select)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(pExpr + 32 /* &.x */)))).FselId)) + Xsqlite3VdbeComment(tls, v, ts+14562 /* "Result of SELECT..." */, libc.VaList(bp+8, (*Select)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(pExpr + 32 /* &.x */)))).FselId)) } else { Xsqlite3VdbeComment(tls, v, ts+14582 /* "RHS of IN operat..." */, 0) } @@ -129443,7 +129443,7 @@ func Xsqlite3CodeRhsOfIN(tls *libc.TLS, pParse uintptr, pExpr uintptr, iTab int3 var pSelect uintptr = *(*uintptr)(unsafe.Pointer(pExpr + 32 /* &.x */)) var pEList uintptr = (*Select)(unsafe.Pointer(pSelect)).FpEList - Xsqlite3VdbeExplain(tls, pParse, uint8(1), ts+14601 /* "%sLIST SUBQUERY ..." */, libc.VaList(bp+32, func() uintptr { + Xsqlite3VdbeExplain(tls, pParse, uint8(1), ts+14601 /* "%sLIST SUBQUERY ..." */, libc.VaList(bp+16, func() uintptr { if addrOnce != 0 { return ts + 915 /* "" */ } @@ -129453,12 +129453,12 @@ func Xsqlite3CodeRhsOfIN(tls *libc.TLS, pParse uintptr, pExpr uintptr, iTab int3 // error will have been caught long before we reach this point. if (*ExprList)(unsafe.Pointer(pEList)).FnExpr == nVal { var pCopy uintptr - // var dest SelectDest at bp+56, 40 + // var dest SelectDest at bp+32, 40 var i int32 var rc int32 - Xsqlite3SelectDestInit(tls, bp+56 /* &dest */, SRT_Set, iTab) - (*SelectDest)(unsafe.Pointer(bp + 56 /* &dest */)).FzAffSdst = exprINAffinity(tls, pParse, pExpr) + Xsqlite3SelectDestInit(tls, bp+32 /* &dest */, SRT_Set, iTab) + (*SelectDest)(unsafe.Pointer(bp + 32 /* &dest */)).FzAffSdst = exprINAffinity(tls, pParse, pExpr) (*Select)(unsafe.Pointer(pSelect)).FiLimit = 0 // Caused by OOM in sqlite3KeyInfoAlloc() @@ -129466,10 +129466,10 @@ func Xsqlite3CodeRhsOfIN(tls *libc.TLS, pParse uintptr, pExpr uintptr, iTab int3 if (*Sqlite3)(unsafe.Pointer((*Parse)(unsafe.Pointer(pParse)).Fdb)).FmallocFailed != 0 { rc = 1 } else { - rc = Xsqlite3Select(tls, pParse, pCopy, bp+56 /* &dest */) + rc = Xsqlite3Select(tls, pParse, pCopy, bp+32 /* &dest */) } Xsqlite3SelectDelete(tls, (*Parse)(unsafe.Pointer(pParse)).Fdb, pCopy) - Xsqlite3DbFree(tls, (*Parse)(unsafe.Pointer(pParse)).Fdb, (*SelectDest)(unsafe.Pointer(bp+56 /* &dest */)).FzAffSdst) + Xsqlite3DbFree(tls, (*Parse)(unsafe.Pointer(pParse)).Fdb, (*SelectDest)(unsafe.Pointer(bp+32 /* &dest */)).FzAffSdst) if rc != 0 { Xsqlite3KeyInfoUnref(tls, pKeyInfo) return @@ -129489,18 +129489,18 @@ func Xsqlite3CodeRhsOfIN(tls *libc.TLS, pParse uintptr, pExpr uintptr, iTab int3 // store it in the temporary table. If is a column, then use // that columns affinity when building index keys. If is not // a column, use numeric affinity. - // var affinity int8 at bp+96, 1 + // var affinity int8 at bp+72, 1 // Affinity of the LHS of the IN var i int32 var pList uintptr = *(*uintptr)(unsafe.Pointer(pExpr + 32 /* &.x */)) var pItem uintptr var r1 int32 var r2 int32 - *(*int8)(unsafe.Pointer(bp + 96 /* affinity */)) = Xsqlite3ExprAffinity(tls, pLeft) - if int32(*(*int8)(unsafe.Pointer(bp + 96 /* affinity */))) <= SQLITE_AFF_NONE { - *(*int8)(unsafe.Pointer(bp + 96 /* affinity */)) = int8(SQLITE_AFF_BLOB) - } else if int32(*(*int8)(unsafe.Pointer(bp + 96 /* affinity */))) == SQLITE_AFF_REAL { - *(*int8)(unsafe.Pointer(bp + 96 /* affinity */)) = int8(SQLITE_AFF_NUMERIC) + *(*int8)(unsafe.Pointer(bp + 72 /* affinity */)) = Xsqlite3ExprAffinity(tls, pLeft) + if int32(*(*int8)(unsafe.Pointer(bp + 72 /* affinity */))) <= SQLITE_AFF_NONE { + *(*int8)(unsafe.Pointer(bp + 72 /* affinity */)) = int8(SQLITE_AFF_BLOB) + } else if int32(*(*int8)(unsafe.Pointer(bp + 72 /* affinity */))) == SQLITE_AFF_REAL { + *(*int8)(unsafe.Pointer(bp + 72 /* affinity */)) = int8(SQLITE_AFF_NUMERIC) } if pKeyInfo != 0 { @@ -129531,7 +129531,7 @@ func Xsqlite3CodeRhsOfIN(tls *libc.TLS, pParse uintptr, pExpr uintptr, iTab int3 // Evaluate the expression and insert it into the temp table Xsqlite3ExprCode(tls, pParse, pE2, r1) - Xsqlite3VdbeAddOp4(tls, v, OP_MakeRecord, r1, 1, r2, bp+96 /* &affinity */, 1) + Xsqlite3VdbeAddOp4(tls, v, OP_MakeRecord, r1, 1, r2, bp+72 /* &affinity */, 1) Xsqlite3VdbeAddOp4Int(tls, v, OP_IdxInsert, iTab, r2, r1, 1) } @@ -129571,13 +129571,13 @@ func Xsqlite3CodeRhsOfIN(tls *libc.TLS, pParse uintptr, pExpr uintptr, iTab int3 // return value is the register of the left-most result column. // Return 0 if an error occurs. func Xsqlite3CodeSubselect(tls *libc.TLS, pParse uintptr, pExpr uintptr) int32 { /* sqlite3.c:104320:20: */ - bp := tls.Alloc(80) - defer tls.Free(80) + bp := tls.Alloc(64) + defer tls.Free(64) var addrOnce int32 = 0 // Address of OP_Once at top of subroutine var rReg int32 = 0 // Register storing resulting var pSel uintptr // SELECT statement to encode - // var dest SelectDest at bp+40, 40 + // var dest SelectDest at bp+24, 40 // How to deal with SELECT result var nReg int32 // Registers to allocate var pLimit uintptr // New limit expression @@ -129627,7 +129627,7 @@ func Xsqlite3CodeSubselect(tls *libc.TLS, pParse uintptr, pExpr uintptr) int32 { // // In both cases, the query is augmented with "LIMIT 1". Any // preexisting limit is discarded in place of the new LIMIT 1. - Xsqlite3VdbeExplain(tls, pParse, uint8(1), ts+14650 /* "%sSCALAR SUBQUER..." */, libc.VaList(bp+16, func() uintptr { + Xsqlite3VdbeExplain(tls, pParse, uint8(1), ts+14650 /* "%sSCALAR SUBQUER..." */, libc.VaList(bp+8, func() uintptr { if addrOnce != 0 { return ts + 915 /* "" */ } @@ -129638,17 +129638,17 @@ func Xsqlite3CodeSubselect(tls *libc.TLS, pParse uintptr, pExpr uintptr) int32 { } else { nReg = 1 } - Xsqlite3SelectDestInit(tls, bp+40 /* &dest */, 0, ((*Parse)(unsafe.Pointer(pParse)).FnMem + 1)) + Xsqlite3SelectDestInit(tls, bp+24 /* &dest */, 0, ((*Parse)(unsafe.Pointer(pParse)).FnMem + 1)) *(*int32)(unsafe.Pointer(pParse + 56 /* &.nMem */)) += (nReg) if int32((*Expr)(unsafe.Pointer(pExpr)).Fop) == TK_SELECT { - (*SelectDest)(unsafe.Pointer(bp + 40 /* &dest */)).FeDest = U8(SRT_Mem) - (*SelectDest)(unsafe.Pointer(bp + 40 /* &dest */)).FiSdst = (*SelectDest)(unsafe.Pointer(bp + 40 /* &dest */)).FiSDParm - (*SelectDest)(unsafe.Pointer(bp + 40 /* &dest */)).FnSdst = nReg - Xsqlite3VdbeAddOp3(tls, v, OP_Null, 0, (*SelectDest)(unsafe.Pointer(bp+40 /* &dest */)).FiSDParm, (((*SelectDest)(unsafe.Pointer(bp+40 /* &dest */)).FiSDParm + nReg) - 1)) + (*SelectDest)(unsafe.Pointer(bp + 24 /* &dest */)).FeDest = U8(SRT_Mem) + (*SelectDest)(unsafe.Pointer(bp + 24 /* &dest */)).FiSdst = (*SelectDest)(unsafe.Pointer(bp + 24 /* &dest */)).FiSDParm + (*SelectDest)(unsafe.Pointer(bp + 24 /* &dest */)).FnSdst = nReg + Xsqlite3VdbeAddOp3(tls, v, OP_Null, 0, (*SelectDest)(unsafe.Pointer(bp+24 /* &dest */)).FiSDParm, (((*SelectDest)(unsafe.Pointer(bp+24 /* &dest */)).FiSDParm + nReg) - 1)) Xsqlite3VdbeComment(tls, v, ts+14671 /* "Init subquery re..." */, 0) } else { - (*SelectDest)(unsafe.Pointer(bp + 40 /* &dest */)).FeDest = U8(SRT_Exists) - Xsqlite3VdbeAddOp2(tls, v, OP_Integer, 0, (*SelectDest)(unsafe.Pointer(bp+40 /* &dest */)).FiSDParm) + (*SelectDest)(unsafe.Pointer(bp + 24 /* &dest */)).FeDest = U8(SRT_Exists) + Xsqlite3VdbeAddOp2(tls, v, OP_Integer, 0, (*SelectDest)(unsafe.Pointer(bp+24 /* &dest */)).FiSDParm) Xsqlite3VdbeComment(tls, v, ts+14692 /* "Init EXISTS resu..." */, 0) } if (*Select)(unsafe.Pointer(pSel)).FpLimit != 0 { @@ -129669,14 +129669,14 @@ func Xsqlite3CodeSubselect(tls *libc.TLS, pParse uintptr, pExpr uintptr) int32 { (*Select)(unsafe.Pointer(pSel)).FpLimit = Xsqlite3PExpr(tls, pParse, TK_LIMIT, pLimit, uintptr(0)) } (*Select)(unsafe.Pointer(pSel)).FiLimit = 0 - if Xsqlite3Select(tls, pParse, pSel, bp+40 /* &dest */) != 0 { + if Xsqlite3Select(tls, pParse, pSel, bp+24 /* &dest */) != 0 { if (*Parse)(unsafe.Pointer(pParse)).FnErr != 0 { (*Expr)(unsafe.Pointer(pExpr)).Fop2 = (*Expr)(unsafe.Pointer(pExpr)).Fop (*Expr)(unsafe.Pointer(pExpr)).Fop = U8(TK_ERROR) } return 0 } - (*Expr)(unsafe.Pointer(pExpr)).FiTable = libc.AssignInt32(&rReg, (*SelectDest)(unsafe.Pointer(bp+40 /* &dest */)).FiSDParm) + (*Expr)(unsafe.Pointer(pExpr)).FiTable = libc.AssignInt32(&rReg, (*SelectDest)(unsafe.Pointer(bp+24 /* &dest */)).FiSDParm) if addrOnce != 0 { Xsqlite3VdbeJumpHere(tls, v, addrOnce) @@ -130138,8 +130138,8 @@ func codeReal(tls *libc.TLS, v uintptr, z uintptr, negateFlag int32, iMem int32) // // Expr.u.zToken is always UTF8 and zero-terminated. func codeInteger(tls *libc.TLS, pParse uintptr, pExpr uintptr, negFlag int32, iMem int32) { /* sqlite3.c:104756:13: */ - bp := tls.Alloc(32) - defer tls.Free(32) + bp := tls.Alloc(24) + defer tls.Free(24) var v uintptr = (*Parse)(unsafe.Pointer(pParse)).FpVdbe if ((*Expr)(unsafe.Pointer(pExpr)).Fflags & U32(EP_IntValue)) != 0 { @@ -130151,12 +130151,12 @@ func codeInteger(tls *libc.TLS, pParse uintptr, pExpr uintptr, negFlag int32, iM Xsqlite3VdbeAddOp2(tls, v, OP_Integer, i, iMem) } else { var c int32 - // var value I64 at bp+24, 8 + // var value I64 at bp+16, 8 var z uintptr = *(*uintptr)(unsafe.Pointer(pExpr + 8 /* &.u */)) - c = Xsqlite3DecOrHexToI64(tls, z, bp+24 /* &value */) - if (((c == 3) && !(negFlag != 0)) || (c == 2)) || ((negFlag != 0) && (*(*I64)(unsafe.Pointer(bp + 24 /* value */)) == ((int64(-1)) - (int64(0xffffffff) | (I64((int64(0x7fffffff))) << 32))))) { + c = Xsqlite3DecOrHexToI64(tls, z, bp+16 /* &value */) + if (((c == 3) && !(negFlag != 0)) || (c == 2)) || ((negFlag != 0) && (*(*I64)(unsafe.Pointer(bp + 16 /* value */)) == ((int64(-1)) - (int64(0xffffffff) | (I64((int64(0x7fffffff))) << 32))))) { if Xsqlite3_strnicmp(tls, z, ts+14739 /* "0x" */, 2) == 0 { Xsqlite3ErrorMsg(tls, pParse, ts+14742 /* "hex literal too ..." */, libc.VaList(bp, func() uintptr { if negFlag != 0 { @@ -130170,12 +130170,12 @@ func codeInteger(tls *libc.TLS, pParse uintptr, pExpr uintptr, negFlag int32, iM } else { if negFlag != 0 { if c == 3 { - *(*I64)(unsafe.Pointer(bp + 24 /* value */)) = ((int64(-1)) - (int64(0xffffffff) | (I64((int64(0x7fffffff))) << 32))) + *(*I64)(unsafe.Pointer(bp + 16 /* value */)) = ((int64(-1)) - (int64(0xffffffff) | (I64((int64(0x7fffffff))) << 32))) } else { - *(*I64)(unsafe.Pointer(bp + 24 /* value */)) = -*(*I64)(unsafe.Pointer(bp + 24 /* value */)) + *(*I64)(unsafe.Pointer(bp + 16 /* value */)) = -*(*I64)(unsafe.Pointer(bp + 16 /* value */)) } } - Xsqlite3VdbeAddOp4Dup8(tls, v, OP_Int64, 0, iMem, 0, bp+24 /* &value */, -14) + Xsqlite3VdbeAddOp4Dup8(tls, v, OP_Int64, 0, iMem, 0, bp+16 /* &value */, -14) } } } @@ -130217,8 +130217,8 @@ func Xsqlite3ExprCodeGeneratedColumn(tls *libc.TLS, pParse uintptr, pCol uintptr // Generate code to extract the value of the iCol-th column of a table. func Xsqlite3ExprCodeGetColumnOfTable(tls *libc.TLS, v uintptr, pTab uintptr, iTabCur int32, iCol int32, regOut int32) { /* sqlite3.c:104843:21: */ - bp := tls.Alloc(16) - defer tls.Free(16) + bp := tls.Alloc(8) + defer tls.Free(8) var pCol uintptr @@ -130444,19 +130444,19 @@ func exprCodeInlineFunction(tls *libc.TLS, pParse uintptr, pFarg uintptr, iFuncI // must check the return code and move the results to the desired // register. func Xsqlite3ExprCodeTarget(tls *libc.TLS, pParse uintptr, pExpr uintptr, target int32) int32 { /* sqlite3.c:105104:20: */ - bp := tls.Alloc(296) - defer tls.Free(296) + bp := tls.Alloc(240) + defer tls.Free(240) var v uintptr // The VM under construction var op int32 // The opcode being coded var inReg int32 // Results stored in register inReg - // var regFree1 int32 at bp+144, 4 + // var regFree1 int32 at bp+88, 4 // If non-zero free this temporary register - // var regFree2 int32 at bp+148, 4 + // var regFree2 int32 at bp+92, 4 // If non-zero free this temporary register var r1 int32 var r2 int32 // Various register numbers - // var tempX Expr at bp+152, 72 + // var tempX Expr at bp+96, 72 // Temporary expression node var p5 int32 var pTab uintptr @@ -130539,7 +130539,7 @@ func Xsqlite3ExprCodeTarget(tls *libc.TLS, pParse uintptr, pExpr uintptr, target var i1 int32 // Loop counter var pEList uintptr // List of WHEN terms var aListelem uintptr // Array of WHEN terms - // var opCompare Expr at bp+224, 72 + // var opCompare Expr at bp+168, 72 // The X==Ei expression var pX uintptr // The X expression var pTest uintptr // X==Ei (form A) or just Ei (form B) @@ -130547,8 +130547,8 @@ func Xsqlite3ExprCodeTarget(tls *libc.TLS, pParse uintptr, pExpr uintptr, target var db1 uintptr v = (*Parse)(unsafe.Pointer(pParse)).FpVdbe inReg = target - *(*int32)(unsafe.Pointer(bp + 144 /* regFree1 */)) = 0 - *(*int32)(unsafe.Pointer(bp + 148 /* regFree2 */)) = 0 + *(*int32)(unsafe.Pointer(bp + 88 /* regFree1 */)) = 0 + *(*int32)(unsafe.Pointer(bp + 92 /* regFree2 */)) = 0 p5 = 0 expr_code_doover: @@ -130731,7 +130731,7 @@ __56: Xsqlite3VdbeComment(tls, v, ts+14798 /* "%s.rowid" */, libc.VaList(bp, (*Table)(unsafe.Pointer(pTab)).FzName)) goto __60 __59: - Xsqlite3VdbeComment(tls, v, ts+14807 /* "%s.%s" */, libc.VaList(bp+16, (*Table)(unsafe.Pointer(pTab)).FzName, (*Column)(unsafe.Pointer((*Table)(unsafe.Pointer(pTab)).FaCol+uintptr((*AggInfo_col)(unsafe.Pointer(pCol)).FiColumn)*32)).FzName)) + Xsqlite3VdbeComment(tls, v, ts+14807 /* "%s.%s" */, libc.VaList(bp+8, (*Table)(unsafe.Pointer(pTab)).FzName, (*Column)(unsafe.Pointer((*Table)(unsafe.Pointer(pTab)).FaCol+uintptr((*AggInfo_col)(unsafe.Pointer(pCol)).FiColumn)*32)).FzName)) if !(int32((*Column)(unsafe.Pointer((*Table)(unsafe.Pointer(pTab)).FaCol+uintptr((*AggInfo_col)(unsafe.Pointer(pCol)).FiColumn)*32)).Faffinity) == SQLITE_AFF_REAL) { goto __61 } @@ -130797,7 +130797,7 @@ __69: goto __72 } Xsqlite3ErrorMsg(tls, pParse, ts+14768, /* "generated column..." */ - libc.VaList(bp+40, (*Column)(unsafe.Pointer(pCol1)).FzName)) + libc.VaList(bp+24, (*Column)(unsafe.Pointer(pCol1)).FzName)) return 0 __72: ; @@ -130936,8 +130936,8 @@ __22: codeVectorCompare(tls, pParse, pExpr, target, uint8(op), uint8(p5)) goto __80 __79: - r1 = Xsqlite3ExprCodeTemp(tls, pParse, pLeft, bp+144 /* ®Free1 */) - r2 = Xsqlite3ExprCodeTemp(tls, pParse, (*Expr)(unsafe.Pointer(pExpr)).FpRight, bp+148 /* ®Free2 */) + r1 = Xsqlite3ExprCodeTemp(tls, pParse, pLeft, bp+88 /* ®Free1 */) + r2 = Xsqlite3ExprCodeTemp(tls, pParse, (*Expr)(unsafe.Pointer(pExpr)).FpRight, bp+92 /* ®Free2 */) Xsqlite3VdbeAddOp2(tls, v, OP_Integer, 1, inReg) codeCompare(tls, pParse, pLeft, (*Expr)(unsafe.Pointer(pExpr)).FpRight, op, r1, r2, (Xsqlite3VdbeCurrentAddr(tls, v) + 2), p5, @@ -130971,8 +130971,8 @@ __33: __34: ; - r1 = Xsqlite3ExprCodeTemp(tls, pParse, (*Expr)(unsafe.Pointer(pExpr)).FpLeft, bp+144 /* ®Free1 */) - r2 = Xsqlite3ExprCodeTemp(tls, pParse, (*Expr)(unsafe.Pointer(pExpr)).FpRight, bp+148 /* ®Free2 */) + r1 = Xsqlite3ExprCodeTemp(tls, pParse, (*Expr)(unsafe.Pointer(pExpr)).FpLeft, bp+88 /* ®Free1 */) + r2 = Xsqlite3ExprCodeTemp(tls, pParse, (*Expr)(unsafe.Pointer(pExpr)).FpRight, bp+92 /* ®Free2 */) Xsqlite3VdbeAddOp3(tls, v, op, r2, r1, target) goto __3 @@ -130995,12 +130995,12 @@ __83: return target goto __86 __85: - (*Expr)(unsafe.Pointer(bp + 152 /* &tempX */)).Fop = U8(TK_INTEGER) - (*Expr)(unsafe.Pointer(bp + 152 /* &tempX */)).Fflags = (U32(EP_IntValue | EP_TokenOnly)) - *(*int32)(unsafe.Pointer(bp + 152 /* &tempX */ + 8 /* &.u */)) = 0 + (*Expr)(unsafe.Pointer(bp + 96 /* &tempX */)).Fop = U8(TK_INTEGER) + (*Expr)(unsafe.Pointer(bp + 96 /* &tempX */)).Fflags = (U32(EP_IntValue | EP_TokenOnly)) + *(*int32)(unsafe.Pointer(bp + 96 /* &tempX */ + 8 /* &.u */)) = 0 - r1 = Xsqlite3ExprCodeTemp(tls, pParse, bp+152 /* &tempX */, bp+144 /* ®Free1 */) - r2 = Xsqlite3ExprCodeTemp(tls, pParse, (*Expr)(unsafe.Pointer(pExpr)).FpLeft, bp+148 /* ®Free2 */) + r1 = Xsqlite3ExprCodeTemp(tls, pParse, bp+96 /* &tempX */, bp+88 /* ®Free1 */) + r2 = Xsqlite3ExprCodeTemp(tls, pParse, (*Expr)(unsafe.Pointer(pExpr)).FpLeft, bp+92 /* ®Free2 */) Xsqlite3VdbeAddOp3(tls, v, OP_Subtract, r2, r1, target) __86: @@ -131013,13 +131013,13 @@ __36: __37: ; - r1 = Xsqlite3ExprCodeTemp(tls, pParse, (*Expr)(unsafe.Pointer(pExpr)).FpLeft, bp+144 /* ®Free1 */) + r1 = Xsqlite3ExprCodeTemp(tls, pParse, (*Expr)(unsafe.Pointer(pExpr)).FpLeft, bp+88 /* ®Free1 */) Xsqlite3VdbeAddOp2(tls, v, op, r1, inReg) goto __3 __38: // IS TRUE or IS FALSE - r1 = Xsqlite3ExprCodeTemp(tls, pParse, (*Expr)(unsafe.Pointer(pExpr)).FpLeft, bp+144 /* ®Free1 */) + r1 = Xsqlite3ExprCodeTemp(tls, pParse, (*Expr)(unsafe.Pointer(pExpr)).FpLeft, bp+88 /* ®Free1 */) isTrue = Xsqlite3ExprTruthValue(tls, (*Expr)(unsafe.Pointer(pExpr)).FpRight) bNormal = (libc.Bool32(int32((*Expr)(unsafe.Pointer(pExpr)).Fop2) == TK_IS)) @@ -131032,7 +131032,7 @@ __40: ; Xsqlite3VdbeAddOp2(tls, v, OP_Integer, 1, target) - r1 = Xsqlite3ExprCodeTemp(tls, pParse, (*Expr)(unsafe.Pointer(pExpr)).FpLeft, bp+144 /* ®Free1 */) + r1 = Xsqlite3ExprCodeTemp(tls, pParse, (*Expr)(unsafe.Pointer(pExpr)).FpLeft, bp+88 /* ®Free1 */) addr = Xsqlite3VdbeAddOp1(tls, v, op, r1) @@ -131048,7 +131048,7 @@ __41: goto __87 } - Xsqlite3ErrorMsg(tls, pParse, ts+14813 /* "misuse of aggreg..." */, libc.VaList(bp+56, *(*uintptr)(unsafe.Pointer(pExpr + 8 /* &.u */)))) + Xsqlite3ErrorMsg(tls, pParse, ts+14813 /* "misuse of aggreg..." */, libc.VaList(bp+32, *(*uintptr)(unsafe.Pointer(pExpr + 8 /* &.u */)))) goto __88 __87: return (*AggInfo_func)(unsafe.Pointer((*AggInfo)(unsafe.Pointer(pInfo)).FaFunc + uintptr((*Expr)(unsafe.Pointer(pExpr)).FiAgg)*32)).FiMem @@ -131090,7 +131090,7 @@ __90: if !((pDef == uintptr(0)) || ((*FuncDef)(unsafe.Pointer(pDef)).FxFinalize != uintptr(0))) { goto __91 } - Xsqlite3ErrorMsg(tls, pParse, ts+14839 /* "unknown function..." */, libc.VaList(bp+72, zId)) + Xsqlite3ErrorMsg(tls, pParse, ts+14839 /* "unknown function..." */, libc.VaList(bp+40, zId)) goto __3 __91: ; @@ -131285,7 +131285,7 @@ __122: goto __123 } Xsqlite3ErrorMsg(tls, pParse, ts+14312, /* "%d columns assig..." */ - libc.VaList(bp+88, (*Expr)(unsafe.Pointer(pExpr)).FiTable, n1)) + libc.VaList(bp+48, (*Expr)(unsafe.Pointer(pExpr)).FiTable, n1)) __123: ; return ((*Expr)(unsafe.Pointer((*Expr)(unsafe.Pointer(pExpr)).FpLeft)).FiTable + int32((*Expr)(unsafe.Pointer(pExpr)).FiColumn)) @@ -131351,7 +131351,7 @@ __51: int32(Xsqlite3TableColumnToStorage(tls, pTab2, int16(iCol1)))) Xsqlite3VdbeAddOp2(tls, v, OP_Param, p1, target) - Xsqlite3VdbeComment(tls, v, ts+14862 /* "r[%d]=%s.%s" */, libc.VaList(bp+112, target, func() uintptr { + Xsqlite3VdbeComment(tls, v, ts+14862 /* "r[%d]=%s.%s" */, libc.VaList(bp+64, target, func() uintptr { if (*Expr)(unsafe.Pointer(pExpr)).FiTable != 0 { return ts + 13148 /* "new" */ } @@ -131439,17 +131439,17 @@ __54: // The X expression __126: ; - exprToRegister(tls, pDel, exprCodeVector(tls, pParse, pDel, bp+144 /* ®Free1 */)) + exprToRegister(tls, pDel, exprCodeVector(tls, pParse, pDel, bp+88 /* ®Free1 */)) - libc.Xmemset(tls, bp+224 /* &opCompare */, 0, uint64(unsafe.Sizeof(Expr{}))) - (*Expr)(unsafe.Pointer(bp + 224 /* &opCompare */)).Fop = U8(TK_EQ) - (*Expr)(unsafe.Pointer(bp + 224 /* &opCompare */)).FpLeft = pDel - pTest = bp + 224 /* &opCompare */ + libc.Xmemset(tls, bp+168 /* &opCompare */, 0, uint64(unsafe.Sizeof(Expr{}))) + (*Expr)(unsafe.Pointer(bp + 168 /* &opCompare */)).Fop = U8(TK_EQ) + (*Expr)(unsafe.Pointer(bp + 168 /* &opCompare */)).FpLeft = pDel + pTest = bp + 168 /* &opCompare */ // Ticket b351d95f9cd5ef17e9d9dbae18f5ca8611190001: // The value in regFree1 might get SCopy-ed into the file result. // So make sure that the regFree1 register is not reused for other // purposes and possibly overwritten. - *(*int32)(unsafe.Pointer(bp + 144 /* regFree1 */)) = 0 + *(*int32)(unsafe.Pointer(bp + 88 /* regFree1 */)) = 0 __125: ; i1 = 0 @@ -131461,7 +131461,7 @@ __127: goto __130 } - (*Expr)(unsafe.Pointer(bp + 224 /* &opCompare */)).FpRight = (*ExprList_item)(unsafe.Pointer(aListelem + uintptr(i1)*32)).FpExpr + (*Expr)(unsafe.Pointer(bp + 168 /* &opCompare */)).FpRight = (*ExprList_item)(unsafe.Pointer(aListelem + uintptr(i1)*32)).FpExpr goto __131 __130: pTest = (*ExprList_item)(unsafe.Pointer(aListelem + uintptr(i1)*32)).FpExpr @@ -131535,8 +131535,8 @@ __137: __3: ; - Xsqlite3ReleaseTempReg(tls, pParse, *(*int32)(unsafe.Pointer(bp + 144 /* regFree1 */))) - Xsqlite3ReleaseTempReg(tls, pParse, *(*int32)(unsafe.Pointer(bp + 148 /* regFree2 */))) + Xsqlite3ReleaseTempReg(tls, pParse, *(*int32)(unsafe.Pointer(bp + 88 /* regFree1 */))) + Xsqlite3ReleaseTempReg(tls, pParse, *(*int32)(unsafe.Pointer(bp + 92 /* regFree2 */))) return inReg } @@ -133374,8 +133374,8 @@ func Xsqlite3ClearTempRegCache(tls *libc.TLS, pParse uintptr) { /* sqlite3.c:107 // // Or, if zName is not a system table, zero is returned. func isAlterableTable(tls *libc.TLS, pParse uintptr, pTab uintptr) int32 { /* sqlite3.c:107433:12: */ - bp := tls.Alloc(16) - defer tls.Free(16) + bp := tls.Alloc(8) + defer tls.Free(8) if ((0 == Xsqlite3_strnicmp(tls, (*Table)(unsafe.Pointer(pTab)).FzName, ts+14938 /* "sqlite_" */, 7)) || (((*Table)(unsafe.Pointer(pTab)).FtabFlags & U32(TF_Eponymous)) != U32(0))) || @@ -133393,8 +133393,8 @@ func isAlterableTable(tls *libc.TLS, pParse uintptr, pTab uintptr) int32 { /* sq // statement to ensure that the operation has not rendered any schema // objects unusable. func renameTestSchema(tls *libc.TLS, pParse uintptr, zDb uintptr, bTemp int32, zWhen uintptr, bNoDQS int32) { /* sqlite3.c:107455:13: */ - bp := tls.Alloc(80) - defer tls.Free(80) + bp := tls.Alloc(64) + defer tls.Free(64) (*Parse)(unsafe.Pointer(pParse)).FcolNamesSet = U8(1) Xsqlite3NestedParse(tls, pParse, @@ -133407,7 +133407,7 @@ func renameTestSchema(tls *libc.TLS, pParse uintptr, zDb uintptr, bTemp int32, z Xsqlite3NestedParse(tls, pParse, ts+15149, /* "SELECT 1 FROM te..." */ - libc.VaList(bp+48, zDb, zWhen, bNoDQS)) + libc.VaList(bp+40, zDb, zWhen, bNoDQS)) } } @@ -133417,8 +133417,8 @@ func renameTestSchema(tls *libc.TLS, pParse uintptr, zDb uintptr, bTemp int32, z // not true, similarly update all SQL statements in the sqlite_schema table // of the temp db. func renameFixQuotes(tls *libc.TLS, pParse uintptr, zDb uintptr, bTemp int32) { /* sqlite3.c:107492:13: */ - bp := tls.Alloc(24) - defer tls.Free(24) + bp := tls.Alloc(16) + defer tls.Free(16) Xsqlite3NestedParse(tls, pParse, @@ -133446,8 +133446,8 @@ func renameReloadSchema(tls *libc.TLS, pParse uintptr, iDb int32, p5 U16) { /* s // Generate code to implement the "ALTER TABLE xxx RENAME TO yyy" // command. func Xsqlite3AlterRenameTable(tls *libc.TLS, pParse uintptr, pSrc uintptr, pName uintptr) { /* sqlite3.c:107526:21: */ - bp := tls.Alloc(232) - defer tls.Free(232) + bp := tls.Alloc(184) + defer tls.Free(184) var iDb int32 // Database that contains the table var zDb uintptr // Name of database iDb @@ -133523,7 +133523,7 @@ __6: if !((*Table)(unsafe.Pointer(pTab)).FpSelect != 0) { goto __7 } - Xsqlite3ErrorMsg(tls, pParse, ts+15680 /* "view %s may not ..." */, libc.VaList(bp+16, (*Table)(unsafe.Pointer(pTab)).FzName)) + Xsqlite3ErrorMsg(tls, pParse, ts+15680 /* "view %s may not ..." */, libc.VaList(bp+8, (*Table)(unsafe.Pointer(pTab)).FzName)) goto exit_rename_table __7: ; @@ -133576,14 +133576,14 @@ __12: // the schema to use the new table name. Xsqlite3NestedParse(tls, pParse, - ts+15707 /* "UPDATE \"%w\".sqli..." */, libc.VaList(bp+32, zDb, zDb, zTabName, zName, (libc.Bool32(iDb == 1)), zTabName)) + ts+15707 /* "UPDATE \"%w\".sqli..." */, libc.VaList(bp+16, zDb, zDb, zTabName, zName, (libc.Bool32(iDb == 1)), zTabName)) // Update the tbl_name and name columns of the sqlite_schema table // as required. Xsqlite3NestedParse(tls, pParse, ts+15891, /* "UPDATE %Q.sqlite..." */ - libc.VaList(bp+88, zDb, + libc.VaList(bp+64, zDb, zName, zName, zName, nTabName, zTabName)) @@ -133594,7 +133594,7 @@ __12: } Xsqlite3NestedParse(tls, pParse, ts+16212, /* "UPDATE \"%w\".sqli..." */ - libc.VaList(bp+144, zDb, zName, (*Table)(unsafe.Pointer(pTab)).FzName)) + libc.VaList(bp+112, zDb, zName, (*Table)(unsafe.Pointer(pTab)).FzName)) __13: ; @@ -133606,7 +133606,7 @@ __13: } Xsqlite3NestedParse(tls, pParse, - ts+16270 /* "UPDATE sqlite_te..." */, libc.VaList(bp+176, zDb, zTabName, zName, zTabName, zDb, zName)) + ts+16270 /* "UPDATE sqlite_te..." */, libc.VaList(bp+136, zDb, zTabName, zName, zTabName, zDb, zName)) __14: ; @@ -133635,8 +133635,8 @@ exit_rename_table: // Write code that will raise an error if the table described by // zDb and zTab is not empty. func sqlite3ErrorIfNotEmpty(tls *libc.TLS, pParse uintptr, zDb uintptr, zTab uintptr, zErr uintptr) { /* sqlite3.c:107699:13: */ - bp := tls.Alloc(32) - defer tls.Free(32) + bp := tls.Alloc(24) + defer tls.Free(24) Xsqlite3NestedParse(tls, pParse, ts+16548, /* "SELECT raise(ABO..." */ @@ -133650,8 +133650,8 @@ func sqlite3ErrorIfNotEmpty(tls *libc.TLS, pParse uintptr, zDb uintptr, zTab uin // The Table structure pParse->pNewTable was extended to include // the new column during parsing. func Xsqlite3AlterFinishAddColumn(tls *libc.TLS, pParse uintptr, pColDef uintptr) { /* sqlite3.c:107719:21: */ - bp := tls.Alloc(56) - defer tls.Free(56) + bp := tls.Alloc(48) + defer tls.Free(48) var pNew uintptr // Copy of pParse->pNewTable var pTab uintptr // Table being altered @@ -133715,19 +133715,19 @@ func Xsqlite3AlterFinishAddColumn(tls *libc.TLS, pParse uintptr, pColDef uintptr // Ensure the default expression is something that sqlite3ValueFromExpr() // can handle (i.e. not CURRENT_TIME etc.) if pDflt != 0 { - *(*uintptr)(unsafe.Pointer(bp + 48 /* pVal */)) = uintptr(0) + *(*uintptr)(unsafe.Pointer(bp + 40 /* pVal */)) = uintptr(0) var rc int32 - rc = Xsqlite3ValueFromExpr(tls, db, pDflt, uint8(SQLITE_UTF8), uint8(SQLITE_AFF_BLOB), bp+48 /* &pVal */) + rc = Xsqlite3ValueFromExpr(tls, db, pDflt, uint8(SQLITE_UTF8), uint8(SQLITE_AFF_BLOB), bp+40 /* &pVal */) if rc != SQLITE_OK { return } - if !(*(*uintptr)(unsafe.Pointer(bp + 48 /* pVal */)) != 0) { + if !(*(*uintptr)(unsafe.Pointer(bp + 40 /* pVal */)) != 0) { sqlite3ErrorIfNotEmpty(tls, pParse, zDb, zTab, ts+16757 /* "Cannot add a col..." */) } - Xsqlite3ValueFree(tls, *(*uintptr)(unsafe.Pointer(bp + 48 /* pVal */))) + Xsqlite3ValueFree(tls, *(*uintptr)(unsafe.Pointer(bp + 40 /* pVal */))) } } else if (int32((*Column)(unsafe.Pointer(pCol)).FcolFlags) & COLFLAG_STORED) != 0 { sqlite3ErrorIfNotEmpty(tls, pParse, zDb, zTab, ts+16803 /* "cannot add a STO..." */) @@ -133786,8 +133786,8 @@ func Xsqlite3AlterFinishAddColumn(tls *libc.TLS, pParse uintptr, pColDef uintptr // Routine sqlite3AlterFinishAddColumn() will be called to complete // coding the "ALTER TABLE ... ADD" statement. func Xsqlite3AlterBeginAddColumn(tls *libc.TLS, pParse uintptr, pSrc uintptr) { /* sqlite3.c:107867:21: */ - bp := tls.Alloc(16) - defer tls.Free(16) + bp := tls.Alloc(8) + defer tls.Free(8) var pNew uintptr var pTab uintptr @@ -133903,8 +133903,8 @@ exit_begin_add_column: // // Or, if pTab is not a view or virtual table, zero is returned. func isRealTable(tls *libc.TLS, pParse uintptr, pTab uintptr, bDrop int32) int32 { /* sqlite3.c:107949:12: */ - bp := tls.Alloc(32) - defer tls.Free(32) + bp := tls.Alloc(24) + defer tls.Free(24) var zType uintptr = uintptr(0) if (*Table)(unsafe.Pointer(pTab)).FpSelect != 0 { @@ -133931,8 +133931,8 @@ func isRealTable(tls *libc.TLS, pParse uintptr, pTab uintptr, bDrop int32) int32 // // cmd ::= ALTER TABLE pSrc RENAME COLUMN pOld TO pNew func Xsqlite3AlterRenameColumn(tls *libc.TLS, pParse uintptr, pSrc uintptr, pOld uintptr, pNew uintptr) { /* sqlite3.c:107979:21: */ - bp := tls.Alloc(136) - defer tls.Free(136) + bp := tls.Alloc(112) + defer tls.Free(112) var db uintptr // Database connection var pTab uintptr // Table being updated @@ -134037,14 +134037,14 @@ __11: Xsqlite3NestedParse(tls, pParse, ts+17131, /* "UPDATE \"%w\".sqli..." */ - libc.VaList(bp+16, zDb, + libc.VaList(bp+8, zDb, zDb, (*Table)(unsafe.Pointer(pTab)).FzName, iCol, zNew, bQuote, (libc.Bool32(iSchema == 1)), (*Table)(unsafe.Pointer(pTab)).FzName)) Xsqlite3NestedParse(tls, pParse, ts+17349, /* "UPDATE temp.sqli..." */ - libc.VaList(bp+88, zDb, (*Table)(unsafe.Pointer(pTab)).FzName, iCol, zNew, bQuote)) + libc.VaList(bp+72, zDb, (*Table)(unsafe.Pointer(pTab)).FzName, iCol, zNew, bQuote)) // Drop and reload the database schema. renameReloadSchema(tls, pParse, iSchema, uint16(INITFLAG_AlterRename)) @@ -134336,8 +134336,8 @@ func renameColumnTokenNext(tls *libc.TLS, pCtx uintptr) uintptr { /* sqlite3.c:1 // sub-routine is currently stored in pParse->zErrMsg. This function // adds context to the error message and then stores it in pCtx. func renameColumnParseError(tls *libc.TLS, pCtx uintptr, zWhen uintptr, pType uintptr, pObject uintptr, pParse uintptr) { /* sqlite3.c:108431:13: */ - bp := tls.Alloc(48) - defer tls.Free(48) + bp := tls.Alloc(40) + defer tls.Free(40) var zT uintptr = Xsqlite3_value_text(tls, pType) var zN uintptr = Xsqlite3_value_text(tls, pObject) @@ -134438,8 +134438,8 @@ func renameParseSql(tls *libc.TLS, p uintptr, zDb uintptr, db uintptr, zSql uint // Or, if an error occurs (i.e. an OOM condition), an error is left in // pCtx and an SQLite error code returned. func renameEditSql(tls *libc.TLS, pCtx uintptr, pRename uintptr, zSql uintptr, zNew uintptr, bQuote int32) int32 { /* sqlite3.c:108558:12: */ - bp := tls.Alloc(40) - defer tls.Free(40) + bp := tls.Alloc(24) + defer tls.Free(24) var nNew I64 = I64(Xsqlite3Strlen30(tls, zNew)) var nSql I64 = I64(Xsqlite3Strlen30(tls, zSql)) @@ -134507,7 +134507,7 @@ func renameEditSql(tls *libc.TLS, pCtx uintptr, pRename uintptr, zSql uintptr, z libc.Xmemcpy(tls, zBuf1, (*RenameToken)(unsafe.Pointer(pBest)).Ft.Fz, uint64((*RenameToken)(unsafe.Pointer(pBest)).Ft.Fn)) *(*int8)(unsafe.Pointer(zBuf1 + uintptr((*RenameToken)(unsafe.Pointer(pBest)).Ft.Fn))) = int8(0) Xsqlite3Dequote(tls, zBuf1) - Xsqlite3_snprintf(tls, (int32(nSql * int64(2))), zBuf2, ts+17511 /* "%Q%s" */, libc.VaList(bp+16, zBuf1, + Xsqlite3_snprintf(tls, (int32(nSql * int64(2))), zBuf2, ts+17511 /* "%Q%s" */, libc.VaList(bp+8, zBuf1, func() uintptr { if int32(*(*int8)(unsafe.Pointer((*RenameToken)(unsafe.Pointer(pBest)).Ft.Fz + uintptr((*RenameToken)(unsafe.Pointer(pBest)).Ft.Fn)))) == '\'' { return ts + 17503 /* " " */ @@ -135415,8 +135415,8 @@ func renameTableTest(tls *libc.TLS, context uintptr, NotUsed int32, argv uintptr // The value returned is a string containing the CREATE TABLE statement // with column argv[2] removed. func dropColumnFunc(tls *libc.TLS, context uintptr, NotUsed int32, argv uintptr) { /* sqlite3.c:109390:13: */ - bp := tls.Alloc(440) - defer tls.Free(440) + bp := tls.Alloc(432) + defer tls.Free(432) var db uintptr var iSchema int32 @@ -135424,7 +135424,7 @@ func dropColumnFunc(tls *libc.TLS, context uintptr, NotUsed int32, argv uintptr) var iCol int32 var zDb uintptr var rc int32 - // var sParse Parse at bp+32, 408 + // var sParse Parse at bp+24, 408 var pCol uintptr var pTab uintptr @@ -135442,14 +135442,14 @@ func dropColumnFunc(tls *libc.TLS, context uintptr, NotUsed int32, argv uintptr) (*Sqlite3)(unsafe.Pointer(db)).FxAuth = uintptr(0) _ = NotUsed - rc = renameParseSql(tls, bp+32 /* &sParse */, zDb, db, zSql, (libc.Bool32(iSchema == 1))) + rc = renameParseSql(tls, bp+24 /* &sParse */, zDb, db, zSql, (libc.Bool32(iSchema == 1))) if !(rc != SQLITE_OK) { goto __1 } goto drop_column_done __1: ; - pTab = (*Parse)(unsafe.Pointer(bp + 32 /* &sParse */)).FpNewTable + pTab = (*Parse)(unsafe.Pointer(bp + 24 /* &sParse */)).FpNewTable if !(((pTab == uintptr(0)) || (int32((*Table)(unsafe.Pointer(pTab)).FnCol) == 1)) || (iCol >= int32((*Table)(unsafe.Pointer(pTab)).FnCol))) { goto __2 } @@ -135459,11 +135459,11 @@ __1: __2: ; - pCol = renameTokenFind(tls, bp+32 /* &sParse */, uintptr(0), (*Column)(unsafe.Pointer((*Table)(unsafe.Pointer(pTab)).FaCol+uintptr(iCol)*32)).FzName) + pCol = renameTokenFind(tls, bp+24 /* &sParse */, uintptr(0), (*Column)(unsafe.Pointer((*Table)(unsafe.Pointer(pTab)).FaCol+uintptr(iCol)*32)).FzName) if !(iCol < (int32((*Table)(unsafe.Pointer(pTab)).FnCol) - 1)) { goto __3 } - pEnd = renameTokenFind(tls, bp+32 /* &sParse */, uintptr(0), (*Column)(unsafe.Pointer((*Table)(unsafe.Pointer(pTab)).FaCol+uintptr((iCol+1))*32)).FzName) + pEnd = renameTokenFind(tls, bp+24 /* &sParse */, uintptr(0), (*Column)(unsafe.Pointer((*Table)(unsafe.Pointer(pTab)).FaCol+uintptr((iCol+1))*32)).FzName) zEnd = (*RenameToken)(unsafe.Pointer(pEnd)).Ft.Fz goto __4 __3: @@ -135484,7 +135484,7 @@ __4: Xsqlite3_free(tls, zNew) drop_column_done: - renameParseCleanup(tls, bp+32 /* &sParse */) + renameParseCleanup(tls, bp+24 /* &sParse */) (*Sqlite3)(unsafe.Pointer(db)).FxAuth = xAuth if !(rc != SQLITE_OK) { goto __7 @@ -135500,8 +135500,8 @@ __7: // statement. Argument pSrc contains the possibly qualified name of the // table being edited, and token pName the name of the column to drop. func Xsqlite3AlterDropColumn(tls *libc.TLS, pParse uintptr, pSrc uintptr, pName uintptr) { /* sqlite3.c:109454:21: */ - bp := tls.Alloc(96) - defer tls.Free(96) + bp := tls.Alloc(64) + defer tls.Free(64) var db uintptr // Database handle var pTab uintptr // Table to modify @@ -135578,7 +135578,7 @@ __6: goto __7 } Xsqlite3ErrorMsg(tls, pParse, ts+17523, /* "cannot drop %s c..." */ - libc.VaList(bp+16, func() uintptr { + libc.VaList(bp+8, func() uintptr { if (int32((*Column)(unsafe.Pointer((*Table)(unsafe.Pointer(pTab)).FaCol+uintptr(iCol)*32)).FcolFlags) & COLFLAG_PRIMKEY) != 0 { return ts + 17551 /* "PRIMARY KEY" */ } @@ -135593,7 +135593,7 @@ __7: if !(int32((*Table)(unsafe.Pointer(pTab)).FnCol) <= 1) { goto __8 } - Xsqlite3ErrorMsg(tls, pParse, ts+17563 /* "cannot drop colu..." */, libc.VaList(bp+40, zCol)) + Xsqlite3ErrorMsg(tls, pParse, ts+17563 /* "cannot drop colu..." */, libc.VaList(bp+24, zCol)) goto exit_drop_column __8: ; @@ -135606,7 +135606,7 @@ __8: renameFixQuotes(tls, pParse, zDb, (libc.Bool32(iDb == 1))) Xsqlite3NestedParse(tls, pParse, - ts+17611 /* "UPDATE \"%w\".sqli..." */, libc.VaList(bp+56, zDb, iDb, iCol, (*Table)(unsafe.Pointer(pTab)).FzName)) + ts+17611 /* "UPDATE \"%w\".sqli..." */, libc.VaList(bp+32, zDb, iDb, iCol, (*Table)(unsafe.Pointer(pTab)).FzName)) // Drop and reload the database schema. renameReloadSchema(tls, pParse, iDb, uint16(INITFLAG_AlterDrop)) @@ -135882,16 +135882,16 @@ var aAlterTableFuncs = [5]FuncDef{ // the sqlite_statN tables associated with the named table are deleted. // If zWhere==0, then code is generated to delete all stat table entries. func openStatTable(tls *libc.TLS, pParse uintptr, iDb int32, iStatCur int32, zWhere uintptr, zWhereType uintptr) { /* sqlite3.c:109763:13: */ - bp := tls.Alloc(112) - defer tls.Free(112) + bp := tls.Alloc(88) + defer tls.Free(88) var i int32 var db uintptr = (*Parse)(unsafe.Pointer(pParse)).Fdb var pDb uintptr var v uintptr = Xsqlite3GetVdbe(tls, pParse) - // var aRoot [3]U32 at bp+100, 12 + // var aRoot [3]U32 at bp+76, 12 - // var aCreateTbl [3]U8 at bp+96, 3 + // var aCreateTbl [3]U8 at bp+72, 3 var nToOpen int32 if ((*Sqlite3)(unsafe.Pointer((db))).FdbOptFlags & (U32(SQLITE_Stat4))) == U32(0) { @@ -135914,7 +135914,7 @@ func openStatTable(tls *libc.TLS, pParse uintptr, iDb int32, iStatCur int32, zWh }{})))); i++ { var zTab uintptr = aTable[i].FzName var pStat uintptr - *(*U8)(unsafe.Pointer(bp + 96 /* &aCreateTbl[0] */ + uintptr(i))) = U8(0) + *(*U8)(unsafe.Pointer(bp + 72 /* &aCreateTbl[0] */ + uintptr(i))) = U8(0) if (libc.AssignUintptr(&pStat, Xsqlite3FindTable(tls, db, zTab, (*Db)(unsafe.Pointer(pDb)).FzDbSName))) == uintptr(0) { if i < nToOpen { // The sqlite_statN table does not exist. Create it. Note that a @@ -135923,24 +135923,24 @@ func openStatTable(tls *libc.TLS, pParse uintptr, iDb int32, iStatCur int32, zWh // because the OpenWrite opcode below will be needing it. Xsqlite3NestedParse(tls, pParse, ts+17852 /* "CREATE TABLE %Q...." */, libc.VaList(bp, (*Db)(unsafe.Pointer(pDb)).FzDbSName, zTab, aTable[i].FzCols)) - *(*U32)(unsafe.Pointer(bp + 100 /* &aRoot[0] */ + uintptr(i)*4)) = U32((*Parse)(unsafe.Pointer(pParse)).FregRoot) - *(*U8)(unsafe.Pointer(bp + 96 /* &aCreateTbl[0] */ + uintptr(i))) = U8(OPFLAG_P2ISREG) + *(*U32)(unsafe.Pointer(bp + 76 /* &aRoot[0] */ + uintptr(i)*4)) = U32((*Parse)(unsafe.Pointer(pParse)).FregRoot) + *(*U8)(unsafe.Pointer(bp + 72 /* &aCreateTbl[0] */ + uintptr(i))) = U8(OPFLAG_P2ISREG) } } else { // The table already exists. If zWhere is not NULL, delete all entries // associated with the table zWhere. If zWhere is NULL, delete the // entire contents of the table. - *(*U32)(unsafe.Pointer(bp + 100 /* &aRoot[0] */ + uintptr(i)*4)) = (*Table)(unsafe.Pointer(pStat)).Ftnum - Xsqlite3TableLock(tls, pParse, iDb, *(*U32)(unsafe.Pointer(bp + 100 /* &aRoot[0] */ + uintptr(i)*4)), uint8(1), zTab) + *(*U32)(unsafe.Pointer(bp + 76 /* &aRoot[0] */ + uintptr(i)*4)) = (*Table)(unsafe.Pointer(pStat)).Ftnum + Xsqlite3TableLock(tls, pParse, iDb, *(*U32)(unsafe.Pointer(bp + 76 /* &aRoot[0] */ + uintptr(i)*4)), uint8(1), zTab) if zWhere != 0 { Xsqlite3NestedParse(tls, pParse, ts+17875, /* "DELETE FROM %Q.%..." */ - libc.VaList(bp+32, (*Db)(unsafe.Pointer(pDb)).FzDbSName, zTab, zWhereType, zWhere)) + libc.VaList(bp+24, (*Db)(unsafe.Pointer(pDb)).FzDbSName, zTab, zWhereType, zWhere)) } else if (*Sqlite3)(unsafe.Pointer(db)).FxPreUpdateCallback != 0 { - Xsqlite3NestedParse(tls, pParse, ts+17905 /* "DELETE FROM %Q.%..." */, libc.VaList(bp+72, (*Db)(unsafe.Pointer(pDb)).FzDbSName, zTab)) + Xsqlite3NestedParse(tls, pParse, ts+17905 /* "DELETE FROM %Q.%..." */, libc.VaList(bp+56, (*Db)(unsafe.Pointer(pDb)).FzDbSName, zTab)) } else { // The sqlite_stat[134] table already exists. Delete all rows. - Xsqlite3VdbeAddOp2(tls, v, OP_Clear, int32(*(*U32)(unsafe.Pointer(bp + 100 /* &aRoot[0] */ + uintptr(i)*4))), iDb) + Xsqlite3VdbeAddOp2(tls, v, OP_Clear, int32(*(*U32)(unsafe.Pointer(bp + 76 /* &aRoot[0] */ + uintptr(i)*4))), iDb) } } } @@ -135948,8 +135948,8 @@ func openStatTable(tls *libc.TLS, pParse uintptr, iDb int32, iStatCur int32, zWh // Open the sqlite_stat[134] tables for writing. for i = 0; i < nToOpen; i++ { - Xsqlite3VdbeAddOp4Int(tls, v, OP_OpenWrite, (iStatCur + i), int32(*(*U32)(unsafe.Pointer(bp + 100 /* &aRoot[0] */ + uintptr(i)*4))), iDb, 3) - Xsqlite3VdbeChangeP5(tls, v, uint16(*(*U8)(unsafe.Pointer(bp + 96 /* &aCreateTbl[0] */ + uintptr(i))))) + Xsqlite3VdbeAddOp4Int(tls, v, OP_OpenWrite, (iStatCur + i), int32(*(*U32)(unsafe.Pointer(bp + 76 /* &aRoot[0] */ + uintptr(i)*4))), iDb, 3) + Xsqlite3VdbeChangeP5(tls, v, uint16(*(*U8)(unsafe.Pointer(bp + 72 /* &aCreateTbl[0] */ + uintptr(i))))) Xsqlite3VdbeComment(tls, v, aTable[i].FzName, 0) } } @@ -136529,8 +136529,8 @@ var statPushFuncdef = FuncDef{ // a one-parameter function, stat_get(P), that always returns the // stat1 table entry information. func statGet(tls *libc.TLS, context uintptr, argc int32, argv uintptr) { /* sqlite3.c:110411:13: */ - bp := tls.Alloc(48) - defer tls.Free(48) + bp := tls.Alloc(24) + defer tls.Free(24) var p uintptr = Xsqlite3_value_blob(tls, *(*uintptr)(unsafe.Pointer(argv))) // STAT4 has a parameter on this routine. @@ -136577,7 +136577,7 @@ func statGet(tls *libc.TLS, context uintptr, argc int32, argv uintptr) { /* sqli for i = 0; i < (*StatAccum)(unsafe.Pointer(p)).FnKeyCol; i++ { var nDistinct U64 = (U64(*(*TRowcnt)(unsafe.Pointer((*StatAccum)(unsafe.Pointer(p)).Fcurrent.FanDLt + uintptr(i)*4)) + TRowcnt(1))) var iVal U64 = (((U64((*StatAccum)(unsafe.Pointer(p)).FnRow) + nDistinct) - uint64(1)) / nDistinct) - Xsqlite3_snprintf(tls, 24, z, ts+18028 /* " %llu" */, libc.VaList(bp+16, iVal)) + Xsqlite3_snprintf(tls, 24, z, ts+18028 /* " %llu" */, libc.VaList(bp+8, iVal)) z += uintptr(Xsqlite3Strlen30(tls, z)) } @@ -136626,7 +136626,7 @@ func statGet(tls *libc.TLS, context uintptr, argc int32, argv uintptr) { /* sqli var i int32 var z uintptr = zRet for i = 0; i < (*StatAccum)(unsafe.Pointer(p)).FnCol; i++ { - Xsqlite3_snprintf(tls, 24, z, ts+18034 /* "%llu " */, libc.VaList(bp+32, U64(*(*TRowcnt)(unsafe.Pointer(aCnt + uintptr(i)*4))))) + Xsqlite3_snprintf(tls, 24, z, ts+18034 /* "%llu " */, libc.VaList(bp+16, U64(*(*TRowcnt)(unsafe.Pointer(aCnt + uintptr(i)*4))))) z += uintptr(Xsqlite3Strlen30(tls, z)) } @@ -136655,8 +136655,8 @@ func callStatGet(tls *libc.TLS, pParse uintptr, regStat int32, iParam int32, reg // Add a comment to the most recent VDBE opcode that is the name // of the k-th column of the pIdx index. func analyzeVdbeCommentIndexWithColumnName(tls *libc.TLS, v uintptr, pIdx uintptr, k int32) { /* sqlite3.c:110555:13: */ - bp := tls.Alloc(64) - defer tls.Free(64) + bp := tls.Alloc(40) + defer tls.Free(40) var i int32 // Index of column in the table @@ -136664,17 +136664,17 @@ func analyzeVdbeCommentIndexWithColumnName(tls *libc.TLS, v uintptr, pIdx uintpt if i == (-1) { Xsqlite3VdbeComment(tls, v, ts+14798 /* "%s.rowid" */, libc.VaList(bp, (*Index)(unsafe.Pointer(pIdx)).FzName)) } else if i == (-2) { - Xsqlite3VdbeComment(tls, v, ts+18049 /* "%s.expr(%d)" */, libc.VaList(bp+16, (*Index)(unsafe.Pointer(pIdx)).FzName, k)) + Xsqlite3VdbeComment(tls, v, ts+18049 /* "%s.expr(%d)" */, libc.VaList(bp+8, (*Index)(unsafe.Pointer(pIdx)).FzName, k)) } else { - Xsqlite3VdbeComment(tls, v, ts+14807 /* "%s.%s" */, libc.VaList(bp+40, (*Index)(unsafe.Pointer(pIdx)).FzName, (*Column)(unsafe.Pointer((*Table)(unsafe.Pointer((*Index)(unsafe.Pointer(pIdx)).FpTable)).FaCol+uintptr(i)*32)).FzName)) + Xsqlite3VdbeComment(tls, v, ts+14807 /* "%s.%s" */, libc.VaList(bp+24, (*Index)(unsafe.Pointer(pIdx)).FzName, (*Column)(unsafe.Pointer((*Table)(unsafe.Pointer((*Index)(unsafe.Pointer(pIdx)).FpTable)).FaCol+uintptr(i)*32)).FzName)) } } // Generate code to do an analysis of all indices associated with // a single table. func analyzeOneTable(tls *libc.TLS, pParse uintptr, pTab uintptr, pOnlyIdx uintptr, iStatCur int32, iMem int32, iTab int32) { /* sqlite3.c:110579:13: */ - bp := tls.Alloc(56) - defer tls.Free(56) + bp := tls.Alloc(32) + defer tls.Free(32) var db uintptr = (*Parse)(unsafe.Pointer(pParse)).Fdb // Database handle var pIdx uintptr // An index to being analyzed @@ -136827,7 +136827,7 @@ func analyzeOneTable(tls *libc.TLS, pParse uintptr, pTab uintptr, pOnlyIdx uintp Xsqlite3VdbeAddOp3(tls, v, OP_OpenRead, iIdxCur, int32((*Index)(unsafe.Pointer(pIdx)).Ftnum), iDb) Xsqlite3VdbeSetP4KeyInfo(tls, pParse, pIdx) - Xsqlite3VdbeComment(tls, v, ts+951 /* "%s" */, libc.VaList(bp+24, (*Index)(unsafe.Pointer(pIdx)).FzName)) + Xsqlite3VdbeComment(tls, v, ts+951 /* "%s" */, libc.VaList(bp+16, (*Index)(unsafe.Pointer(pIdx)).FzName)) // Invoke the stat_init() function. The arguments are: // @@ -137021,7 +137021,7 @@ func analyzeOneTable(tls *libc.TLS, pParse uintptr, pTab uintptr, pOnlyIdx uintp // Create a single sqlite_stat1 entry containing NULL as the index // name and the row count as the content. if (pOnlyIdx == uintptr(0)) && (needTableCnt != 0) { - Xsqlite3VdbeComment(tls, v, ts+951 /* "%s" */, libc.VaList(bp+40, (*Table)(unsafe.Pointer(pTab)).FzName)) + Xsqlite3VdbeComment(tls, v, ts+951 /* "%s" */, libc.VaList(bp+24, (*Table)(unsafe.Pointer(pTab)).FzName)) Xsqlite3VdbeAddOp2(tls, v, OP_Count, iTabCur, regStat1) jZeroRows = Xsqlite3VdbeAddOp1(tls, v, OP_IfNot, regStat1) Xsqlite3VdbeAddOp2(tls, v, OP_Null, 0, regIdxname) @@ -137387,11 +137387,11 @@ func findIndexOrPrimaryKey(tls *libc.TLS, db uintptr, zName uintptr, zDb uintptr // // where %Q is replaced with the database name before the SQL is executed. func loadStatTbl(tls *libc.TLS, db uintptr, zSql1 uintptr, zSql2 uintptr, zDb uintptr) int32 { /* sqlite3.c:111317:12: */ - bp := tls.Alloc(40) - defer tls.Free(40) + bp := tls.Alloc(24) + defer tls.Free(24) var rc int32 // Result codes from subroutines - *(*uintptr)(unsafe.Pointer(bp + 32 /* pStmt */)) = uintptr(0) // An SQL statement being run + *(*uintptr)(unsafe.Pointer(bp + 16 /* pStmt */)) = uintptr(0) // An SQL statement being run var zSql uintptr // Text of the SQL statement var pPrevIdx uintptr = uintptr(0) // Previous index in the loop var pSample uintptr // A slot in pIdx->aSample[] @@ -137400,13 +137400,13 @@ func loadStatTbl(tls *libc.TLS, db uintptr, zSql1 uintptr, zSql2 uintptr, zDb ui if !(zSql != 0) { return SQLITE_NOMEM } - rc = Xsqlite3_prepare(tls, db, zSql, -1, bp+32 /* &pStmt */, uintptr(0)) + rc = Xsqlite3_prepare(tls, db, zSql, -1, bp+16 /* &pStmt */, uintptr(0)) Xsqlite3DbFree(tls, db, zSql) if rc != 0 { return rc } - for Xsqlite3_step(tls, *(*uintptr)(unsafe.Pointer(bp + 32 /* pStmt */))) == SQLITE_ROW { + for Xsqlite3_step(tls, *(*uintptr)(unsafe.Pointer(bp + 16 /* pStmt */))) == SQLITE_ROW { var nIdxCol int32 = 1 // Number of columns in stat4 records var zIndex uintptr // Index name @@ -137416,11 +137416,11 @@ func loadStatTbl(tls *libc.TLS, db uintptr, zSql1 uintptr, zSql2 uintptr, zDb ui var i int32 // Bytes of space required var pSpace uintptr - zIndex = Xsqlite3_column_text(tls, *(*uintptr)(unsafe.Pointer(bp + 32 /* pStmt */)), 0) + zIndex = Xsqlite3_column_text(tls, *(*uintptr)(unsafe.Pointer(bp + 16 /* pStmt */)), 0) if zIndex == uintptr(0) { continue } - nSample = Xsqlite3_column_int(tls, *(*uintptr)(unsafe.Pointer(bp + 32 /* pStmt */)), 1) + nSample = Xsqlite3_column_int(tls, *(*uintptr)(unsafe.Pointer(bp + 16 /* pStmt */)), 1) pIdx = findIndexOrPrimaryKey(tls, db, zIndex, zDb) if pIdx == uintptr(0) { @@ -137439,7 +137439,7 @@ func loadStatTbl(tls *libc.TLS, db uintptr, zSql1 uintptr, zSql2 uintptr, zDb ui (*Index)(unsafe.Pointer(pIdx)).FaSample = Xsqlite3DbMallocZero(tls, db, uint64(nByte)) if (*Index)(unsafe.Pointer(pIdx)).FaSample == uintptr(0) { - Xsqlite3_finalize(tls, *(*uintptr)(unsafe.Pointer(bp + 32 /* pStmt */))) + Xsqlite3_finalize(tls, *(*uintptr)(unsafe.Pointer(bp + 16 /* pStmt */))) return SQLITE_NOMEM } pSpace = ((*Index)(unsafe.Pointer(pIdx)).FaSample + uintptr(nSample)*40) @@ -137456,27 +137456,27 @@ func loadStatTbl(tls *libc.TLS, db uintptr, zSql1 uintptr, zSql2 uintptr, zDb ui } } - rc = Xsqlite3_finalize(tls, *(*uintptr)(unsafe.Pointer(bp + 32 /* pStmt */))) + rc = Xsqlite3_finalize(tls, *(*uintptr)(unsafe.Pointer(bp + 16 /* pStmt */))) if rc != 0 { return rc } - zSql = Xsqlite3MPrintf(tls, db, zSql2, libc.VaList(bp+16, zDb)) + zSql = Xsqlite3MPrintf(tls, db, zSql2, libc.VaList(bp+8, zDb)) if !(zSql != 0) { return SQLITE_NOMEM } - rc = Xsqlite3_prepare(tls, db, zSql, -1, bp+32 /* &pStmt */, uintptr(0)) + rc = Xsqlite3_prepare(tls, db, zSql, -1, bp+16 /* &pStmt */, uintptr(0)) Xsqlite3DbFree(tls, db, zSql) if rc != 0 { return rc } - for Xsqlite3_step(tls, *(*uintptr)(unsafe.Pointer(bp + 32 /* pStmt */))) == SQLITE_ROW { + for Xsqlite3_step(tls, *(*uintptr)(unsafe.Pointer(bp + 16 /* pStmt */))) == SQLITE_ROW { var zIndex uintptr // Index name var pIdx uintptr // Pointer to the index object var nCol int32 = 1 // Number of columns in index - zIndex = Xsqlite3_column_text(tls, *(*uintptr)(unsafe.Pointer(bp + 32 /* pStmt */)), 0) + zIndex = Xsqlite3_column_text(tls, *(*uintptr)(unsafe.Pointer(bp + 16 /* pStmt */)), 0) if zIndex == uintptr(0) { continue } @@ -137492,9 +137492,9 @@ func loadStatTbl(tls *libc.TLS, db uintptr, zSql1 uintptr, zSql2 uintptr, zDb ui pPrevIdx = pIdx } pSample = ((*Index)(unsafe.Pointer(pIdx)).FaSample + uintptr((*Index)(unsafe.Pointer(pIdx)).FnSample)*40) - decodeIntArray(tls, Xsqlite3_column_text(tls, *(*uintptr)(unsafe.Pointer(bp + 32 /* pStmt */)), 1), nCol, (*IndexSample)(unsafe.Pointer(pSample)).FanEq, uintptr(0), uintptr(0)) - decodeIntArray(tls, Xsqlite3_column_text(tls, *(*uintptr)(unsafe.Pointer(bp + 32 /* pStmt */)), 2), nCol, (*IndexSample)(unsafe.Pointer(pSample)).FanLt, uintptr(0), uintptr(0)) - decodeIntArray(tls, Xsqlite3_column_text(tls, *(*uintptr)(unsafe.Pointer(bp + 32 /* pStmt */)), 3), nCol, (*IndexSample)(unsafe.Pointer(pSample)).FanDLt, uintptr(0), uintptr(0)) + decodeIntArray(tls, Xsqlite3_column_text(tls, *(*uintptr)(unsafe.Pointer(bp + 16 /* pStmt */)), 1), nCol, (*IndexSample)(unsafe.Pointer(pSample)).FanEq, uintptr(0), uintptr(0)) + decodeIntArray(tls, Xsqlite3_column_text(tls, *(*uintptr)(unsafe.Pointer(bp + 16 /* pStmt */)), 2), nCol, (*IndexSample)(unsafe.Pointer(pSample)).FanLt, uintptr(0), uintptr(0)) + decodeIntArray(tls, Xsqlite3_column_text(tls, *(*uintptr)(unsafe.Pointer(bp + 16 /* pStmt */)), 3), nCol, (*IndexSample)(unsafe.Pointer(pSample)).FanDLt, uintptr(0), uintptr(0)) // Take a copy of the sample. Add two 0x00 bytes the end of the buffer. // This is in case the sample record is corrupted. In that case, the @@ -137502,18 +137502,18 @@ func loadStatTbl(tls *libc.TLS, db uintptr, zSql1 uintptr, zSql2 uintptr, zDb ui // end of the allocated buffer before it realizes it is dealing with // a corrupt record. Adding the two 0x00 bytes prevents this from causing // a buffer overread. - (*IndexSample)(unsafe.Pointer(pSample)).Fn = Xsqlite3_column_bytes(tls, *(*uintptr)(unsafe.Pointer(bp + 32 /* pStmt */)), 4) + (*IndexSample)(unsafe.Pointer(pSample)).Fn = Xsqlite3_column_bytes(tls, *(*uintptr)(unsafe.Pointer(bp + 16 /* pStmt */)), 4) (*IndexSample)(unsafe.Pointer(pSample)).Fp = Xsqlite3DbMallocZero(tls, db, (uint64((*IndexSample)(unsafe.Pointer(pSample)).Fn + 2))) if (*IndexSample)(unsafe.Pointer(pSample)).Fp == uintptr(0) { - Xsqlite3_finalize(tls, *(*uintptr)(unsafe.Pointer(bp + 32 /* pStmt */))) + Xsqlite3_finalize(tls, *(*uintptr)(unsafe.Pointer(bp + 16 /* pStmt */))) return SQLITE_NOMEM } if (*IndexSample)(unsafe.Pointer(pSample)).Fn != 0 { - libc.Xmemcpy(tls, (*IndexSample)(unsafe.Pointer(pSample)).Fp, Xsqlite3_column_blob(tls, *(*uintptr)(unsafe.Pointer(bp + 32 /* pStmt */)), 4), uint64((*IndexSample)(unsafe.Pointer(pSample)).Fn)) + libc.Xmemcpy(tls, (*IndexSample)(unsafe.Pointer(pSample)).Fp, Xsqlite3_column_blob(tls, *(*uintptr)(unsafe.Pointer(bp + 16 /* pStmt */)), 4), uint64((*IndexSample)(unsafe.Pointer(pSample)).Fn)) } (*Index)(unsafe.Pointer(pIdx)).FnSample++ } - rc = Xsqlite3_finalize(tls, *(*uintptr)(unsafe.Pointer(bp + 32 /* pStmt */))) + rc = Xsqlite3_finalize(tls, *(*uintptr)(unsafe.Pointer(bp + 16 /* pStmt */))) if rc == SQLITE_OK { initAvgEq(tls, pPrevIdx) } @@ -137553,10 +137553,10 @@ func loadStat4(tls *libc.TLS, db uintptr, zDb uintptr) int32 { /* sqlite3.c:1114 // This means if the caller does not care about other errors, the return // code may be ignored. func Xsqlite3AnalysisLoad(tls *libc.TLS, db uintptr, iDb int32) int32 { /* sqlite3.c:111473:20: */ - bp := tls.Alloc(32) - defer tls.Free(32) + bp := tls.Alloc(24) + defer tls.Free(24) - // var sInfo AnalysisInfo at bp+16, 16 + // var sInfo AnalysisInfo at bp+8, 16 var i uintptr var zSql uintptr @@ -137577,17 +137577,17 @@ func Xsqlite3AnalysisLoad(tls *libc.TLS, db uintptr, iDb int32) int32 { /* sqlit } // Load new statistics out of the sqlite_stat1 table - (*AnalysisInfo)(unsafe.Pointer(bp + 16 /* &sInfo */)).Fdb = db - (*AnalysisInfo)(unsafe.Pointer(bp + 16 /* &sInfo */)).FzDatabase = (*Db)(unsafe.Pointer((*Sqlite3)(unsafe.Pointer(db)).FaDb + uintptr(iDb)*32)).FzDbSName - if Xsqlite3FindTable(tls, db, ts+17923 /* "sqlite_stat1" */, (*AnalysisInfo)(unsafe.Pointer(bp+16 /* &sInfo */)).FzDatabase) != uintptr(0) { + (*AnalysisInfo)(unsafe.Pointer(bp + 8 /* &sInfo */)).Fdb = db + (*AnalysisInfo)(unsafe.Pointer(bp + 8 /* &sInfo */)).FzDatabase = (*Db)(unsafe.Pointer((*Sqlite3)(unsafe.Pointer(db)).FaDb + uintptr(iDb)*32)).FzDbSName + if Xsqlite3FindTable(tls, db, ts+17923 /* "sqlite_stat1" */, (*AnalysisInfo)(unsafe.Pointer(bp+8 /* &sInfo */)).FzDatabase) != uintptr(0) { zSql = Xsqlite3MPrintf(tls, db, - ts+18241 /* "SELECT tbl,idx,s..." */, libc.VaList(bp, (*AnalysisInfo)(unsafe.Pointer(bp+16 /* &sInfo */)).FzDatabase)) + ts+18241 /* "SELECT tbl,idx,s..." */, libc.VaList(bp, (*AnalysisInfo)(unsafe.Pointer(bp+8 /* &sInfo */)).FzDatabase)) if zSql == uintptr(0) { rc = SQLITE_NOMEM } else { rc = Xsqlite3_exec(tls, db, zSql, *(*uintptr)(unsafe.Pointer(&struct { f func(*libc.TLS, uintptr, int32, uintptr, uintptr) int32 - }{analysisLoader})), bp+16 /* &sInfo */, uintptr(0)) + }{analysisLoader})), bp+8 /* &sInfo */, uintptr(0)) Xsqlite3DbFree(tls, db, zSql) } } @@ -137605,7 +137605,7 @@ func Xsqlite3AnalysisLoad(tls *libc.TLS, db uintptr, iDb int32) int32 { /* sqlit if rc == SQLITE_OK { (*Sqlite3)(unsafe.Pointer(db)).Flookaside.FbDisable++ (*Sqlite3)(unsafe.Pointer(db)).Flookaside.Fsz = U16(0) - rc = loadStat4(tls, db, (*AnalysisInfo)(unsafe.Pointer(bp+16 /* &sInfo */)).FzDatabase) + rc = loadStat4(tls, db, (*AnalysisInfo)(unsafe.Pointer(bp+8 /* &sInfo */)).FzDatabase) (*Sqlite3)(unsafe.Pointer(db)).Flookaside.FbDisable-- (*Sqlite3)(unsafe.Pointer(db)).Flookaside.Fsz = func() uint16 { if (*Sqlite3)(unsafe.Pointer(db)).Flookaside.FbDisable != 0 { @@ -137690,33 +137690,33 @@ func Xsqlite3DbIsNamed(tls *libc.TLS, db uintptr, iDb int32, zName uintptr) int3 // new database, close the database on db->init.iDb and reopen it as an // empty MemDB. func attachFunc(tls *libc.TLS, context uintptr, NotUsed int32, argv uintptr) { /* sqlite3.c:111617:13: */ - bp := tls.Alloc(88) - defer tls.Free(88) + bp := tls.Alloc(64) + defer tls.Free(64) var i int32 var rc int32 var db uintptr var zName uintptr var zFile uintptr - // var zPath uintptr at bp+64, 8 + // var zPath uintptr at bp+40, 8 - // var zErr uintptr at bp+72, 8 + // var zErr uintptr at bp+48, 8 - // var flags uint32 at bp+48, 4 + // var flags uint32 at bp+24, 4 var aNew uintptr // New array of Db pointers var pNew uintptr // Db object for the newly attached database - // var zErrDyn uintptr at bp+80, 8 + // var zErrDyn uintptr at bp+56, 8 - // var pVfs uintptr at bp+56, 8 + // var pVfs uintptr at bp+32, 8 var pPager uintptr var iDb int32 rc = 0 db = Xsqlite3_context_db_handle(tls, context) - *(*uintptr)(unsafe.Pointer(bp + 64 /* zPath */)) = uintptr(0) - *(*uintptr)(unsafe.Pointer(bp + 72 /* zErr */)) = uintptr(0) - *(*uintptr)(unsafe.Pointer(bp + 80 /* zErrDyn */)) = uintptr(0) + *(*uintptr)(unsafe.Pointer(bp + 40 /* zPath */)) = uintptr(0) + *(*uintptr)(unsafe.Pointer(bp + 48 /* zErr */)) = uintptr(0) + *(*uintptr)(unsafe.Pointer(bp + 56 /* zErrDyn */)) = uintptr(0) _ = NotUsed zFile = Xsqlite3_value_text(tls, *(*uintptr)(unsafe.Pointer(argv))) @@ -137740,8 +137740,8 @@ __2: // This is not a real ATTACH. Instead, this routine is being called // from sqlite3_deserialize() to close database db->init.iDb and // reopen it as a MemDB - *(*uintptr)(unsafe.Pointer(bp + 56 /* pVfs */)) = Xsqlite3_vfs_find(tls, ts+10312 /* "memdb" */) - if !(*(*uintptr)(unsafe.Pointer(bp + 56 /* pVfs */)) == uintptr(0)) { + *(*uintptr)(unsafe.Pointer(bp + 32 /* pVfs */)) = Xsqlite3_vfs_find(tls, ts+10312 /* "memdb" */) + if !(*(*uintptr)(unsafe.Pointer(bp + 32 /* pVfs */)) == uintptr(0)) { goto __5 } return @@ -137756,7 +137756,7 @@ __6: ; (*Db)(unsafe.Pointer(pNew)).FpBt = uintptr(0) (*Db)(unsafe.Pointer(pNew)).FpSchema = uintptr(0) - rc = Xsqlite3BtreeOpen(tls, *(*uintptr)(unsafe.Pointer(bp + 56 /* pVfs */)), ts+18282 /* "x\x00" */, db, (pNew + 8 /* &.pBt */), 0, SQLITE_OPEN_MAIN_DB) + rc = Xsqlite3BtreeOpen(tls, *(*uintptr)(unsafe.Pointer(bp + 32 /* pVfs */)), ts+18282 /* "x\x00" */, db, (pNew + 8 /* &.pBt */), 0, SQLITE_OPEN_MAIN_DB) goto __4 __3: // This is a real ATTACH @@ -137769,7 +137769,7 @@ __3: if !((*Sqlite3)(unsafe.Pointer(db)).FnDb >= (*(*int32)(unsafe.Pointer((db + 128 /* &.aLimit */) + 7*4)) + 2)) { goto __7 } - *(*uintptr)(unsafe.Pointer(bp + 80 /* zErrDyn */)) = Xsqlite3MPrintf(tls, db, ts+18285, /* "too many attache..." */ + *(*uintptr)(unsafe.Pointer(bp + 56 /* zErrDyn */)) = Xsqlite3MPrintf(tls, db, ts+18285, /* "too many attache..." */ libc.VaList(bp, *(*int32)(unsafe.Pointer((db + 128 /* &.aLimit */) + 7*4)))) goto attach_error __7: @@ -137783,7 +137783,7 @@ __8: if !(Xsqlite3DbIsNamed(tls, db, i, zName) != 0) { goto __11 } - *(*uintptr)(unsafe.Pointer(bp + 80 /* zErrDyn */)) = Xsqlite3MPrintf(tls, db, ts+18322 /* "database %s is a..." */, libc.VaList(bp+16, zName)) + *(*uintptr)(unsafe.Pointer(bp + 56 /* zErrDyn */)) = Xsqlite3MPrintf(tls, db, ts+18322 /* "database %s is a..." */, libc.VaList(bp+8, zName)) goto attach_error __11: ; @@ -137826,8 +137826,8 @@ __13: // Open the database file. If the btree is successfully opened, use // it to obtain the database schema. At this point the schema may // or may not be initialized. - *(*uint32)(unsafe.Pointer(bp + 48 /* flags */)) = (*Sqlite3)(unsafe.Pointer(db)).FopenFlags - rc = Xsqlite3ParseUri(tls, (*Sqlite3_vfs)(unsafe.Pointer((*Sqlite3)(unsafe.Pointer(db)).FpVfs)).FzName, zFile, bp+48 /* &flags */, bp+56 /* &pVfs */, bp+64 /* &zPath */, bp+72 /* &zErr */) + *(*uint32)(unsafe.Pointer(bp + 24 /* flags */)) = (*Sqlite3)(unsafe.Pointer(db)).FopenFlags + rc = Xsqlite3ParseUri(tls, (*Sqlite3_vfs)(unsafe.Pointer((*Sqlite3)(unsafe.Pointer(db)).FpVfs)).FzName, zFile, bp+24 /* &flags */, bp+32 /* &pVfs */, bp+40 /* &zPath */, bp+48 /* &zErr */) if !(rc != SQLITE_OK) { goto __16 } @@ -137837,14 +137837,14 @@ __13: Xsqlite3OomFault(tls, db) __17: ; - Xsqlite3_result_error(tls, context, *(*uintptr)(unsafe.Pointer(bp + 72 /* zErr */)), -1) - Xsqlite3_free(tls, *(*uintptr)(unsafe.Pointer(bp + 72 /* zErr */))) + Xsqlite3_result_error(tls, context, *(*uintptr)(unsafe.Pointer(bp + 48 /* zErr */)), -1) + Xsqlite3_free(tls, *(*uintptr)(unsafe.Pointer(bp + 48 /* zErr */))) return __16: ; - *(*uint32)(unsafe.Pointer(bp + 48 /* flags */)) |= uint32(SQLITE_OPEN_MAIN_DB) - rc = Xsqlite3BtreeOpen(tls, *(*uintptr)(unsafe.Pointer(bp + 56 /* pVfs */)), *(*uintptr)(unsafe.Pointer(bp + 64 /* zPath */)), db, (pNew + 8 /* &.pBt */), 0, int32(*(*uint32)(unsafe.Pointer(bp + 48 /* flags */)))) + *(*uint32)(unsafe.Pointer(bp + 24 /* flags */)) |= uint32(SQLITE_OPEN_MAIN_DB) + rc = Xsqlite3BtreeOpen(tls, *(*uintptr)(unsafe.Pointer(bp + 32 /* pVfs */)), *(*uintptr)(unsafe.Pointer(bp + 40 /* zPath */)), db, (pNew + 8 /* &.pBt */), 0, int32(*(*uint32)(unsafe.Pointer(bp + 24 /* flags */)))) (*Sqlite3)(unsafe.Pointer(db)).FnDb++ (*Db)(unsafe.Pointer(pNew)).FzDbSName = Xsqlite3DbStrDup(tls, db, zName) __4: @@ -137854,7 +137854,7 @@ __4: goto __18 } rc = SQLITE_ERROR - *(*uintptr)(unsafe.Pointer(bp + 80 /* zErrDyn */)) = Xsqlite3MPrintf(tls, db, ts+18352 /* "database is alre..." */, 0) + *(*uintptr)(unsafe.Pointer(bp + 56 /* zErrDyn */)) = Xsqlite3MPrintf(tls, db, ts+18352 /* "database is alre..." */, 0) goto __19 __18: if !(rc == SQLITE_OK) { @@ -137870,7 +137870,7 @@ __21: if !(((*Schema)(unsafe.Pointer((*Db)(unsafe.Pointer(pNew)).FpSchema)).Ffile_format != 0) && (int32((*Schema)(unsafe.Pointer((*Db)(unsafe.Pointer(pNew)).FpSchema)).Fenc) != (int32((*Sqlite3)(unsafe.Pointer(db)).Fenc)))) { goto __23 } - *(*uintptr)(unsafe.Pointer(bp + 80 /* zErrDyn */)) = Xsqlite3MPrintf(tls, db, + *(*uintptr)(unsafe.Pointer(bp + 56 /* zErrDyn */)) = Xsqlite3MPrintf(tls, db, ts+18381 /* "attached databas..." */, 0) rc = SQLITE_ERROR __23: @@ -137896,7 +137896,7 @@ __19: rc = SQLITE_NOMEM __24: ; - Xsqlite3_free_filename(tls, *(*uintptr)(unsafe.Pointer(bp + 64 /* zPath */))) + Xsqlite3_free_filename(tls, *(*uintptr)(unsafe.Pointer(bp + 40 /* zPath */))) // If the file was opened successfully, read the schema for the new database. // If this fails, or if opening the file failed, then close the file and @@ -137911,7 +137911,7 @@ __24: if !(!((int32(*(*uint8)(unsafe.Pointer(db + 184 /* &.init */ + 8 /* &.reopenMemdb */)) & 0x4 >> 2)) != 0)) { goto __26 } - rc = Xsqlite3Init(tls, db, bp+80 /* &zErrDyn */) + rc = Xsqlite3Init(tls, db, bp+56 /* &zErrDyn */) __26: ; Xsqlite3BtreeLeaveAll(tls, db) @@ -137940,14 +137940,14 @@ __29: goto __30 } Xsqlite3OomFault(tls, db) - Xsqlite3DbFree(tls, db, *(*uintptr)(unsafe.Pointer(bp + 80 /* zErrDyn */))) - *(*uintptr)(unsafe.Pointer(bp + 80 /* zErrDyn */)) = Xsqlite3MPrintf(tls, db, ts+12576 /* "out of memory" */, 0) + Xsqlite3DbFree(tls, db, *(*uintptr)(unsafe.Pointer(bp + 56 /* zErrDyn */))) + *(*uintptr)(unsafe.Pointer(bp + 56 /* zErrDyn */)) = Xsqlite3MPrintf(tls, db, ts+12576 /* "out of memory" */, 0) goto __31 __30: - if !(*(*uintptr)(unsafe.Pointer(bp + 80 /* zErrDyn */)) == uintptr(0)) { + if !(*(*uintptr)(unsafe.Pointer(bp + 56 /* zErrDyn */)) == uintptr(0)) { goto __32 } - *(*uintptr)(unsafe.Pointer(bp + 80 /* zErrDyn */)) = Xsqlite3MPrintf(tls, db, ts+18449 /* "unable to open d..." */, libc.VaList(bp+32, zFile)) + *(*uintptr)(unsafe.Pointer(bp + 56 /* zErrDyn */)) = Xsqlite3MPrintf(tls, db, ts+18449 /* "unable to open d..." */, libc.VaList(bp+16, zFile)) __32: ; __31: @@ -137962,11 +137962,11 @@ __27: attach_error: // Return an error if we get here - if !(*(*uintptr)(unsafe.Pointer(bp + 80 /* zErrDyn */)) != 0) { + if !(*(*uintptr)(unsafe.Pointer(bp + 56 /* zErrDyn */)) != 0) { goto __33 } - Xsqlite3_result_error(tls, context, *(*uintptr)(unsafe.Pointer(bp + 80 /* zErrDyn */)), -1) - Xsqlite3DbFree(tls, db, *(*uintptr)(unsafe.Pointer(bp + 80 /* zErrDyn */))) + Xsqlite3_result_error(tls, context, *(*uintptr)(unsafe.Pointer(bp + 56 /* zErrDyn */)), -1) + Xsqlite3DbFree(tls, db, *(*uintptr)(unsafe.Pointer(bp + 56 /* zErrDyn */))) __33: ; if !(rc != 0) { @@ -137983,15 +137983,15 @@ __34: // // SELECT sqlite_detach(x) func detachFunc(tls *libc.TLS, context uintptr, NotUsed int32, argv uintptr) { /* sqlite3.c:111810:13: */ - bp := tls.Alloc(176) - defer tls.Free(176) + bp := tls.Alloc(152) + defer tls.Free(152) var zName uintptr var db uintptr var i int32 var pDb uintptr var pEntry uintptr - // var zErr [128]int8 at bp+48, 128 + // var zErr [128]int8 at bp+24, 128 var pTrig uintptr zName = Xsqlite3_value_text(tls, *(*uintptr)(unsafe.Pointer(argv))) @@ -138035,14 +138035,14 @@ __4: if !(i >= (*Sqlite3)(unsafe.Pointer(db)).FnDb) { goto __7 } - Xsqlite3_snprintf(tls, int32(unsafe.Sizeof([128]int8{})), bp+48 /* &zErr[0] */, ts+18477 /* "no such database..." */, libc.VaList(bp, zName)) + Xsqlite3_snprintf(tls, int32(unsafe.Sizeof([128]int8{})), bp+24 /* &zErr[0] */, ts+18477 /* "no such database..." */, libc.VaList(bp, zName)) goto detach_error __7: ; if !(i < 2) { goto __8 } - Xsqlite3_snprintf(tls, int32(unsafe.Sizeof([128]int8{})), bp+48 /* &zErr[0] */, ts+18498 /* "cannot detach da..." */, libc.VaList(bp+16, zName)) + Xsqlite3_snprintf(tls, int32(unsafe.Sizeof([128]int8{})), bp+24 /* &zErr[0] */, ts+18498 /* "cannot detach da..." */, libc.VaList(bp+8, zName)) goto detach_error __8: ; @@ -138050,7 +138050,7 @@ __8: (Xsqlite3BtreeIsInBackup(tls, (*Db)(unsafe.Pointer(pDb)).FpBt) != 0)) { goto __9 } - Xsqlite3_snprintf(tls, int32(unsafe.Sizeof([128]int8{})), bp+48 /* &zErr[0] */, ts+18524 /* "database %s is l..." */, libc.VaList(bp+32, zName)) + Xsqlite3_snprintf(tls, int32(unsafe.Sizeof([128]int8{})), bp+24 /* &zErr[0] */, ts+18524 /* "database %s is l..." */, libc.VaList(bp+16, zName)) goto detach_error __9: ; @@ -138082,7 +138082,7 @@ __11: return detach_error: - Xsqlite3_result_error(tls, context, bp+48 /* &zErr[0] */, -1) + Xsqlite3_result_error(tls, context, bp+24 /* &zErr[0] */, -1) } // This procedure generates VDBE code for a single invocation of either the @@ -138190,8 +138190,8 @@ var attach_func = FuncDef{ // Expression callback used by sqlite3FixAAAA() routines. func fixExprCb(tls *libc.TLS, p uintptr, pExpr uintptr) int32 { /* sqlite3.c:111982:12: */ - bp := tls.Alloc(16) - defer tls.Free(16) + bp := tls.Alloc(8) + defer tls.Free(8) var pFix uintptr = *(*uintptr)(unsafe.Pointer(p + 40 /* &.u */)) if !(int32((*DbFixer)(unsafe.Pointer(pFix)).FbTemp) != 0) { @@ -138210,8 +138210,8 @@ func fixExprCb(tls *libc.TLS, p uintptr, pExpr uintptr) int32 { /* sqlite3.c:111 // Select callback used by sqlite3FixAAAA() routines. func fixSelectCb(tls *libc.TLS, p uintptr, pSelect uintptr) int32 { /* sqlite3.c:111999:12: */ - bp := tls.Alloc(32) - defer tls.Free(32) + bp := tls.Alloc(24) + defer tls.Free(24) var pFix uintptr = *(*uintptr)(unsafe.Pointer(p + 40 /* &.u */)) var i int32 @@ -138445,8 +138445,8 @@ func sqliteAuthBadReturnCode(tls *libc.TLS, pParse uintptr) { /* sqlite3.c:11223 // to an SQL NULL expression. Otherwise, if pExpr is NULL, then SQLITE_IGNORE // is treated as SQLITE_DENY. In this case an error is left in pParse. func Xsqlite3AuthReadCol(tls *libc.TLS, pParse uintptr, zTab uintptr, zCol uintptr, iDb int32) int32 { /* sqlite3.c:112247:20: */ - bp := tls.Alloc(64) - defer tls.Free(64) + bp := tls.Alloc(40) + defer tls.Free(40) var db uintptr = (*Parse)(unsafe.Pointer(pParse)).Fdb // Database handle var zDb uintptr = (*Db)(unsafe.Pointer((*Sqlite3)(unsafe.Pointer(db)).FaDb + uintptr(iDb)*32)).FzDbSName // Schema name of attached database @@ -138459,9 +138459,9 @@ func Xsqlite3AuthReadCol(tls *libc.TLS, pParse uintptr, zTab uintptr, zCol uintp if rc == SQLITE_DENY { var z uintptr = Xsqlite3_mprintf(tls, ts+14807 /* "%s.%s" */, libc.VaList(bp, zTab, zCol)) if ((*Sqlite3)(unsafe.Pointer(db)).FnDb > 2) || (iDb != 0) { - z = Xsqlite3_mprintf(tls, ts+18667 /* "%s.%z" */, libc.VaList(bp+24, zDb, z)) + z = Xsqlite3_mprintf(tls, ts+18667 /* "%s.%z" */, libc.VaList(bp+16, zDb, z)) } - Xsqlite3ErrorMsg(tls, pParse, ts+18673 /* "access to %z is ..." */, libc.VaList(bp+48, z)) + Xsqlite3ErrorMsg(tls, pParse, ts+18673 /* "access to %z is ..." */, libc.VaList(bp+32, z)) (*Parse)(unsafe.Pointer(pParse)).Frc = SQLITE_AUTH } else if (rc != SQLITE_IGNORE) && (rc != SQLITE_OK) { sqliteAuthBadReturnCode(tls, pParse) @@ -138652,8 +138652,8 @@ func codeTableLocks(tls *libc.TLS, pParse uintptr) { /* sqlite3.c:112515:13: */ // Note that if an error occurred, it might be the case that // no VDBE code was generated. func Xsqlite3FinishCoding(tls *libc.TLS, pParse uintptr) { /* sqlite3.c:112554:21: */ - bp := tls.Alloc(16) - defer tls.Free(16) + bp := tls.Alloc(8) + defer tls.Free(8) var db uintptr var v uintptr @@ -138920,8 +138920,8 @@ func Xsqlite3FindTable(tls *libc.TLS, db uintptr, zName uintptr, zDatabase uintp // routine leaves an error message in pParse->zErrMsg where // sqlite3FindTable() does not. func Xsqlite3LocateTable(tls *libc.TLS, pParse uintptr, flags U32, zName uintptr, zDbase uintptr) uintptr { /* sqlite3.c:112841:22: */ - bp := tls.Alloc(56) - defer tls.Free(56) + bp := tls.Alloc(40) + defer tls.Free(40) var p uintptr var db uintptr = (*Parse)(unsafe.Pointer(pParse)).Fdb @@ -138965,7 +138965,7 @@ func Xsqlite3LocateTable(tls *libc.TLS, pParse uintptr, flags U32, zName uintptr if zDbase != 0 { Xsqlite3ErrorMsg(tls, pParse, ts+13336 /* "%s: %s.%s" */, libc.VaList(bp, zMsg, zDbase, zName)) } else { - Xsqlite3ErrorMsg(tls, pParse, ts+13346 /* "%s: %s" */, libc.VaList(bp+32, zMsg, zName)) + Xsqlite3ErrorMsg(tls, pParse, ts+13346 /* "%s: %s" */, libc.VaList(bp+24, zMsg, zName)) } } else { @@ -139350,8 +139350,8 @@ func Xsqlite3FindDb(tls *libc.TLS, db uintptr, pName uintptr) int32 { /* sqlite3 // pName2) that stores the unqualified table name. The index of the // database "xxx" is returned. func Xsqlite3TwoPartName(tls *libc.TLS, pParse uintptr, pName1 uintptr, pName2 uintptr, pUnqual uintptr) int32 { /* sqlite3.c:113283:20: */ - bp := tls.Alloc(16) - defer tls.Free(16) + bp := tls.Alloc(8) + defer tls.Free(8) var iDb int32 // Database holding the object var db uintptr = (*Parse)(unsafe.Pointer(pParse)).Fdb @@ -139391,8 +139391,8 @@ func Xsqlite3WritableSchema(tls *libc.TLS, db uintptr) int32 { /* sqlite3.c:1133 // make sure the "type", "name", and "tbl_name" columns are consistent // with the SQL. func Xsqlite3CheckObjectName(tls *libc.TLS, pParse uintptr, zName uintptr, zType uintptr, zTblName uintptr) int32 { /* sqlite3.c:113338:20: */ - bp := tls.Alloc(16) - defer tls.Free(16) + bp := tls.Alloc(8) + defer tls.Free(8) var db uintptr = (*Parse)(unsafe.Pointer(pParse)).Fdb if ((Xsqlite3WritableSchema(tls, db) != 0) || @@ -139553,15 +139553,15 @@ func sqlite3ForceNotReadOnly(tls *libc.TLS, pParse uintptr) { /* sqlite3.c:11348 // At the end of the CREATE TABLE statement, the sqlite3EndTable() routine // is called to complete the construction of the new table record. func Xsqlite3StartTable(tls *libc.TLS, pParse uintptr, pName1 uintptr, pName2 uintptr, isTemp int32, isView int32, isVirtual int32, noErr int32) { /* sqlite3.c:113507:21: */ - bp := tls.Alloc(40) - defer tls.Free(40) + bp := tls.Alloc(24) + defer tls.Free(24) var pTable uintptr var zName uintptr // The name of the new table var db uintptr var v uintptr var iDb int32 // Database number to create the table in - // var pName uintptr at bp+32, 8 + // var pName uintptr at bp+16, 8 var zDb uintptr var zDb1 uintptr @@ -139584,11 +139584,11 @@ func Xsqlite3StartTable(tls *libc.TLS, pParse uintptr, pName1 uintptr, pName2 ui } return ts + 12351 /* "sqlite_master" */ }()) - *(*uintptr)(unsafe.Pointer(bp + 32 /* pName */)) = pName1 + *(*uintptr)(unsafe.Pointer(bp + 16 /* pName */)) = pName1 goto __2 __1: // The common case - iDb = Xsqlite3TwoPartName(tls, pParse, pName1, pName2, bp+32 /* &pName */) + iDb = Xsqlite3TwoPartName(tls, pParse, pName1, pName2, bp+16 /* &pName */) if !(iDb < 0) { goto __3 } @@ -139610,16 +139610,16 @@ __4: iDb = 1 __5: ; - zName = Xsqlite3NameFromToken(tls, db, *(*uintptr)(unsafe.Pointer(bp + 32 /* pName */))) + zName = Xsqlite3NameFromToken(tls, db, *(*uintptr)(unsafe.Pointer(bp + 16 /* pName */))) if !(int32((*Parse)(unsafe.Pointer(pParse)).FeParseMode) >= PARSE_MODE_RENAME) { goto __6 } - Xsqlite3RenameTokenMap(tls, pParse, zName, *(*uintptr)(unsafe.Pointer(bp + 32 /* pName */))) + Xsqlite3RenameTokenMap(tls, pParse, zName, *(*uintptr)(unsafe.Pointer(bp + 16 /* pName */))) __6: ; __2: ; - (*Parse)(unsafe.Pointer(pParse)).FsNameToken = *(*Token)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp + 32 /* pName */)))) + (*Parse)(unsafe.Pointer(pParse)).FsNameToken = *(*Token)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp + 16 /* pName */)))) if !(zName == uintptr(0)) { goto __7 } @@ -139687,7 +139687,7 @@ __13: if !(!(noErr != 0)) { goto __15 } - Xsqlite3ErrorMsg(tls, pParse, ts+18941 /* "table %T already..." */, libc.VaList(bp, *(*uintptr)(unsafe.Pointer(bp + 32 /* pName */)))) + Xsqlite3ErrorMsg(tls, pParse, ts+18941 /* "table %T already..." */, libc.VaList(bp, *(*uintptr)(unsafe.Pointer(bp + 16 /* pName */)))) goto __16 __15: ; @@ -139701,7 +139701,7 @@ __14: if !(Xsqlite3FindIndex(tls, db, zName, zDb1) != uintptr(0)) { goto __17 } - Xsqlite3ErrorMsg(tls, pParse, ts+18965 /* "there is already..." */, libc.VaList(bp+16, zName)) + Xsqlite3ErrorMsg(tls, pParse, ts+18965 /* "there is already..." */, libc.VaList(bp+8, zName)) goto begin_table_error __17: ; @@ -139887,8 +139887,8 @@ func Xsqlite3AddReturning(tls *libc.TLS, pParse uintptr, pList uintptr) { /* sql // first to get things going. Then this routine is called for each // column. func Xsqlite3AddColumn(tls *libc.TLS, pParse uintptr, pName uintptr, pType uintptr) { /* sqlite3.c:113788:21: */ - bp := tls.Alloc(32) - defer tls.Free(32) + bp := tls.Alloc(16) + defer tls.Free(16) var p uintptr var i int32 @@ -139918,7 +139918,7 @@ func Xsqlite3AddColumn(tls *libc.TLS, pParse uintptr, pName uintptr, pType uintp hName = Xsqlite3StrIHash(tls, z) for i = 0; i < int32((*Table)(unsafe.Pointer(p)).FnCol); i++ { if (int32((*Column)(unsafe.Pointer((*Table)(unsafe.Pointer(p)).FaCol+uintptr(i)*32)).FhName) == int32(hName)) && (Xsqlite3StrICmp(tls, z, (*Column)(unsafe.Pointer((*Table)(unsafe.Pointer(p)).FaCol+uintptr(i)*32)).FzName) == 0) { - Xsqlite3ErrorMsg(tls, pParse, ts+19074 /* "duplicate column..." */, libc.VaList(bp+16, z)) + Xsqlite3ErrorMsg(tls, pParse, ts+19074 /* "duplicate column..." */, libc.VaList(bp+8, z)) Xsqlite3DbFree(tls, db, z) return } @@ -140081,8 +140081,8 @@ func Xsqlite3AffinityType(tls *libc.TLS, zIn uintptr, pCol uintptr) int8 { /* sq // This routine is called by the parser while in the middle of // parsing a CREATE TABLE statement. func Xsqlite3AddDefaultValue(tls *libc.TLS, pParse uintptr, pExpr uintptr, zStart uintptr, zEnd uintptr) { /* sqlite3.c:113984:21: */ - bp := tls.Alloc(88) - defer tls.Free(88) + bp := tls.Alloc(80) + defer tls.Free(80) var p uintptr var pCol uintptr @@ -140100,16 +140100,16 @@ func Xsqlite3AddDefaultValue(tls *libc.TLS, pParse uintptr, pExpr uintptr, zStar } else { // A copy of pExpr is used instead of the original, as pExpr contains // tokens that point to volatile memory. - // var x Expr at bp+16, 72 + // var x Expr at bp+8, 72 Xsqlite3ExprDelete(tls, db, (*Column)(unsafe.Pointer(pCol)).FpDflt) - libc.Xmemset(tls, bp+16 /* &x */, 0, uint64(unsafe.Sizeof(Expr{}))) - (*Expr)(unsafe.Pointer(bp + 16 /* &x */)).Fop = U8(TK_SPAN) - *(*uintptr)(unsafe.Pointer(bp + 16 /* &x */ + 8 /* &.u */)) = Xsqlite3DbSpanDup(tls, db, zStart, zEnd) - (*Expr)(unsafe.Pointer(bp + 16 /* &x */)).FpLeft = pExpr - (*Expr)(unsafe.Pointer(bp + 16 /* &x */)).Fflags = U32(EP_Skip) - (*Column)(unsafe.Pointer(pCol)).FpDflt = Xsqlite3ExprDup(tls, db, bp+16 /* &x */, EXPRDUP_REDUCE) - Xsqlite3DbFree(tls, db, *(*uintptr)(unsafe.Pointer(bp + 16 /* &x */ + 8 /* &.u */))) + libc.Xmemset(tls, bp+8 /* &x */, 0, uint64(unsafe.Sizeof(Expr{}))) + (*Expr)(unsafe.Pointer(bp + 8 /* &x */)).Fop = U8(TK_SPAN) + *(*uintptr)(unsafe.Pointer(bp + 8 /* &x */ + 8 /* &.u */)) = Xsqlite3DbSpanDup(tls, db, zStart, zEnd) + (*Expr)(unsafe.Pointer(bp + 8 /* &x */)).FpLeft = pExpr + (*Expr)(unsafe.Pointer(bp + 8 /* &x */)).Fflags = U32(EP_Skip) + (*Column)(unsafe.Pointer(pCol)).FpDflt = Xsqlite3ExprDup(tls, db, bp+8 /* &x */, EXPRDUP_REDUCE) + Xsqlite3DbFree(tls, db, *(*uintptr)(unsafe.Pointer(bp + 8 /* &x */ + 8 /* &.u */))) } } if int32((*Parse)(unsafe.Pointer(pParse)).FeParseMode) >= PARSE_MODE_RENAME { @@ -140167,8 +140167,8 @@ func makeColumnPartOfPrimaryKey(tls *libc.TLS, pParse uintptr, pCol uintptr) { / // If the key is not an INTEGER PRIMARY KEY, then create a unique // index for the key. No index is created for INTEGER PRIMARY KEYs. func Xsqlite3AddPrimaryKey(tls *libc.TLS, pParse uintptr, pList uintptr, onError int32, autoInc int32, sortOrder int32) { /* sqlite3.c:114084:21: */ - bp := tls.Alloc(16) - defer tls.Free(16) + bp := tls.Alloc(8) + defer tls.Free(8) var pTab uintptr var pCol uintptr @@ -140364,8 +140364,8 @@ func Xsqlite3AddCollateType(tls *libc.TLS, pParse uintptr, pToken uintptr) { /* // Change the most recently parsed column to be a GENERATED ALWAYS AS // column. func Xsqlite3AddGenerated(tls *libc.TLS, pParse uintptr, pExpr uintptr, pType uintptr) { /* sqlite3.c:114228:21: */ - bp := tls.Alloc(16) - defer tls.Free(16) + bp := tls.Alloc(8) + defer tls.Free(8) var eType U8 var pTab uintptr @@ -140544,11 +140544,11 @@ func identPut(tls *libc.TLS, z uintptr, pIdx uintptr, zSignedIdent uintptr) { /* // table. Memory to hold the text of the statement is obtained // from sqliteMalloc() and must be freed by the calling function. func createTableStmt(tls *libc.TLS, db uintptr, p uintptr) uintptr { /* sqlite3.c:114361:13: */ - bp := tls.Alloc(20) - defer tls.Free(20) + bp := tls.Alloc(12) + defer tls.Free(12) var i int32 - // var k int32 at bp+16, 4 + // var k int32 at bp+8, 4 var n int32 var zStmt uintptr @@ -140592,9 +140592,9 @@ __3: return uintptr(0) } Xsqlite3_snprintf(tls, n, zStmt, ts+19446 /* "CREATE TABLE " */, 0) - *(*int32)(unsafe.Pointer(bp + 16 /* k */)) = Xsqlite3Strlen30(tls, zStmt) - identPut(tls, zStmt, bp+16 /* &k */, (*Table)(unsafe.Pointer(p)).FzName) - *(*int8)(unsafe.Pointer(zStmt + uintptr(libc.PostIncInt32(&*(*int32)(unsafe.Pointer(bp + 16 /* k */)), 1)))) = int8('(') + *(*int32)(unsafe.Pointer(bp + 8 /* k */)) = Xsqlite3Strlen30(tls, zStmt) + identPut(tls, zStmt, bp+8 /* &k */, (*Table)(unsafe.Pointer(p)).FzName) + *(*int8)(unsafe.Pointer(zStmt + uintptr(libc.PostIncInt32(&*(*int32)(unsafe.Pointer(bp + 8 /* k */)), 1)))) = int8('(') pCol = (*Table)(unsafe.Pointer(p)).FaCol i = 0 __4: @@ -140605,16 +140605,16 @@ __4: var len int32 var zType uintptr - Xsqlite3_snprintf(tls, (n - *(*int32)(unsafe.Pointer(bp + 16 /* k */))), (zStmt + uintptr(*(*int32)(unsafe.Pointer(bp + 16 /* k */)))), zSep, 0) - *(*int32)(unsafe.Pointer(bp + 16 /* k */)) += Xsqlite3Strlen30(tls, (zStmt + uintptr(*(*int32)(unsafe.Pointer(bp + 16 /* k */))))) + Xsqlite3_snprintf(tls, (n - *(*int32)(unsafe.Pointer(bp + 8 /* k */))), (zStmt + uintptr(*(*int32)(unsafe.Pointer(bp + 8 /* k */)))), zSep, 0) + *(*int32)(unsafe.Pointer(bp + 8 /* k */)) += Xsqlite3Strlen30(tls, (zStmt + uintptr(*(*int32)(unsafe.Pointer(bp + 8 /* k */))))) zSep = zSep2 - identPut(tls, zStmt, bp+16 /* &k */, (*Column)(unsafe.Pointer(pCol)).FzName) + identPut(tls, zStmt, bp+8 /* &k */, (*Column)(unsafe.Pointer(pCol)).FzName) zType = azType1[(int32((*Column)(unsafe.Pointer(pCol)).Faffinity) - SQLITE_AFF_BLOB)] len = Xsqlite3Strlen30(tls, zType) - libc.Xmemcpy(tls, (zStmt + uintptr(*(*int32)(unsafe.Pointer(bp + 16 /* k */)))), zType, uint64(len)) - *(*int32)(unsafe.Pointer(bp + 16 /* k */)) += len + libc.Xmemcpy(tls, (zStmt + uintptr(*(*int32)(unsafe.Pointer(bp + 8 /* k */)))), zType, uint64(len)) + *(*int32)(unsafe.Pointer(bp + 8 /* k */)) += len } goto __5 @@ -140625,7 +140625,7 @@ __5: goto __6 __6: ; - Xsqlite3_snprintf(tls, (n - *(*int32)(unsafe.Pointer(bp + 16 /* k */))), (zStmt + uintptr(*(*int32)(unsafe.Pointer(bp + 16 /* k */)))), ts+951 /* "%s" */, libc.VaList(bp, zEnd)) + Xsqlite3_snprintf(tls, (n - *(*int32)(unsafe.Pointer(bp + 8 /* k */))), (zStmt + uintptr(*(*int32)(unsafe.Pointer(bp + 8 /* k */)))), ts+951 /* "%s" */, libc.VaList(bp, zEnd)) return zStmt } @@ -141041,8 +141041,8 @@ func Xsqlite3ShadowTableName(tls *libc.TLS, db uintptr, zName uintptr) int32 { / // "CREATE TABLE ... AS SELECT ..." statement. The column names of // the new table will match the result set of the SELECT. func Xsqlite3EndTable(tls *libc.TLS, pParse uintptr, pCons uintptr, pEnd uintptr, tabOpts U8, pSelect uintptr) { /* sqlite3.c:114830:21: */ - bp := tls.Alloc(184) - defer tls.Free(184) + bp := tls.Alloc(144) + defer tls.Free(144) var p uintptr // The new table var db uintptr = (*Parse)(unsafe.Pointer(pParse)).Fdb // The database connection @@ -141186,7 +141186,7 @@ func Xsqlite3EndTable(tls *libc.TLS, pParse uintptr, pCons uintptr, pEnd uintptr // a schema-lock excludes all other database users, the write-lock would // be redundant. if pSelect != 0 { - // var dest SelectDest at bp+144, 40 + // var dest SelectDest at bp+104, 40 // Where the SELECT should store results var regYield int32 // Register holding co-routine entry-point var addrTop int32 // Top of the co-routine @@ -141218,16 +141218,16 @@ func Xsqlite3EndTable(tls *libc.TLS, pParse uintptr, pCons uintptr, pEnd uintptr (*Table)(unsafe.Pointer(pSelTab)).FnCol = int16(0) (*Table)(unsafe.Pointer(pSelTab)).FaCol = uintptr(0) Xsqlite3DeleteTable(tls, db, pSelTab) - Xsqlite3SelectDestInit(tls, bp+144 /* &dest */, SRT_Coroutine, regYield) - Xsqlite3Select(tls, pParse, pSelect, bp+144 /* &dest */) + Xsqlite3SelectDestInit(tls, bp+104 /* &dest */, SRT_Coroutine, regYield) + Xsqlite3Select(tls, pParse, pSelect, bp+104 /* &dest */) if (*Parse)(unsafe.Pointer(pParse)).FnErr != 0 { return } Xsqlite3VdbeEndCoroutine(tls, v, regYield) Xsqlite3VdbeJumpHere(tls, v, (addrTop - 1)) - addrInsLoop = Xsqlite3VdbeAddOp1(tls, v, OP_Yield, (*SelectDest)(unsafe.Pointer(bp+144 /* &dest */)).FiSDParm) + addrInsLoop = Xsqlite3VdbeAddOp1(tls, v, OP_Yield, (*SelectDest)(unsafe.Pointer(bp+104 /* &dest */)).FiSDParm) - Xsqlite3VdbeAddOp3(tls, v, OP_MakeRecord, (*SelectDest)(unsafe.Pointer(bp+144 /* &dest */)).FiSdst, (*SelectDest)(unsafe.Pointer(bp+144 /* &dest */)).FnSdst, regRec) + Xsqlite3VdbeAddOp3(tls, v, OP_MakeRecord, (*SelectDest)(unsafe.Pointer(bp+104 /* &dest */)).FiSdst, (*SelectDest)(unsafe.Pointer(bp+104 /* &dest */)).FnSdst, regRec) Xsqlite3TableAffinity(tls, v, p, 0) Xsqlite3VdbeAddOp2(tls, v, OP_NewRowid, 1, regRowid) Xsqlite3VdbeAddOp3(tls, v, OP_Insert, 1, regRec, regRowid) @@ -141251,7 +141251,7 @@ func Xsqlite3EndTable(tls *libc.TLS, pParse uintptr, pCons uintptr, pEnd uintptr n = int32(uint32(n) + ((*Token)(unsafe.Pointer(pEnd2)).Fn)) } zStmt = Xsqlite3MPrintf(tls, db, - ts+19619 /* "CREATE %s %.*s" */, libc.VaList(bp+16, zType2, n, (*Parse)(unsafe.Pointer(pParse)).FsNameToken.Fz)) + ts+19619 /* "CREATE %s %.*s" */, libc.VaList(bp+8, zType2, n, (*Parse)(unsafe.Pointer(pParse)).FsNameToken.Fz)) } // A slot for the record has already been allocated in the @@ -141260,7 +141260,7 @@ func Xsqlite3EndTable(tls *libc.TLS, pParse uintptr, pCons uintptr, pEnd uintptr Xsqlite3NestedParse(tls, pParse, ts+19634, /* "UPDATE %Q.sqlite..." */ - libc.VaList(bp+48, (*Db)(unsafe.Pointer((*Sqlite3)(unsafe.Pointer(db)).FaDb+uintptr(iDb)*32)).FzDbSName, + libc.VaList(bp+32, (*Db)(unsafe.Pointer((*Sqlite3)(unsafe.Pointer(db)).FaDb+uintptr(iDb)*32)).FzDbSName, zType, (*Table)(unsafe.Pointer(p)).FzName, (*Table)(unsafe.Pointer(p)).FzName, @@ -141278,13 +141278,13 @@ func Xsqlite3EndTable(tls *libc.TLS, pParse uintptr, pCons uintptr, pEnd uintptr if (*Schema)(unsafe.Pointer((*Db)(unsafe.Pointer(pDb)).FpSchema)).FpSeqTab == uintptr(0) { Xsqlite3NestedParse(tls, pParse, ts+19732, /* "CREATE TABLE %Q...." */ - libc.VaList(bp+112, (*Db)(unsafe.Pointer(pDb)).FzDbSName)) + libc.VaList(bp+88, (*Db)(unsafe.Pointer(pDb)).FzDbSName)) } } // Reparse everything to update our internal data structures Xsqlite3VdbeAddParseSchemaOp(tls, v, iDb, - Xsqlite3MPrintf(tls, db, ts+19774 /* "tbl_name='%q' AN..." */, libc.VaList(bp+128, (*Table)(unsafe.Pointer(p)).FzName)), uint16(0)) + Xsqlite3MPrintf(tls, db, ts+19774 /* "tbl_name='%q' AN..." */, libc.VaList(bp+96, (*Table)(unsafe.Pointer(p)).FzName)), uint16(0)) } // Add the table to the in-memory representation of the database. @@ -141439,8 +141439,8 @@ __10: // the columns of the view in the pTable structure. Return the number // of errors. If an error is seen leave an error message in pParse->zErrMsg. func Xsqlite3ViewGetColumnNames(tls *libc.TLS, pParse uintptr, pTable uintptr) int32 { /* sqlite3.c:115220:20: */ - bp := tls.Alloc(16) - defer tls.Free(16) + bp := tls.Alloc(8) + defer tls.Free(8) var pSelTab uintptr // A fake table from which we get the result set var pSel uintptr // Copy of the SELECT that implements the view @@ -141617,8 +141617,8 @@ func Xsqlite3RootPageMoved(tls *libc.TLS, db uintptr, iDb int32, iFrom Pgno, iTo // if a root-page of another table is moved by the btree-layer whilst // erasing iTable (this can happen with an auto-vacuum database). func destroyRootPage(tls *libc.TLS, pParse uintptr, iTable int32, iDb int32) { /* sqlite3.c:115417:13: */ - bp := tls.Alloc(40) - defer tls.Free(40) + bp := tls.Alloc(32) + defer tls.Free(32) var v uintptr = Xsqlite3GetVdbe(tls, pParse) var r1 int32 = Xsqlite3GetTempReg(tls, pParse) @@ -141693,27 +141693,27 @@ func destroyTable(tls *libc.TLS, pParse uintptr, pTab uintptr) { /* sqlite3.c:11 // Remove entries from the sqlite_statN tables (for N in (1,2,3)) // after a DROP INDEX or DROP TABLE command. func sqlite3ClearStatTables(tls *libc.TLS, pParse uintptr, iDb int32, zType uintptr, zName uintptr) { /* sqlite3.c:115496:13: */ - bp := tls.Alloc(80) - defer tls.Free(80) + bp := tls.Alloc(64) + defer tls.Free(64) var i int32 var zDbName uintptr = (*Db)(unsafe.Pointer((*Sqlite3)(unsafe.Pointer((*Parse)(unsafe.Pointer(pParse)).Fdb)).FaDb + uintptr(iDb)*32)).FzDbSName for i = 1; i <= 4; i++ { - // var zTab [24]int8 at bp+56, 24 + // var zTab [24]int8 at bp+40, 24 - Xsqlite3_snprintf(tls, int32(unsafe.Sizeof([24]int8{})), bp+56 /* &zTab[0] */, ts+19956 /* "sqlite_stat%d" */, libc.VaList(bp, i)) - if Xsqlite3FindTable(tls, (*Parse)(unsafe.Pointer(pParse)).Fdb, bp+56 /* &zTab[0] */, zDbName) != 0 { + Xsqlite3_snprintf(tls, int32(unsafe.Sizeof([24]int8{})), bp+40 /* &zTab[0] */, ts+19956 /* "sqlite_stat%d" */, libc.VaList(bp, i)) + if Xsqlite3FindTable(tls, (*Parse)(unsafe.Pointer(pParse)).Fdb, bp+40 /* &zTab[0] */, zDbName) != 0 { Xsqlite3NestedParse(tls, pParse, ts+17875, /* "DELETE FROM %Q.%..." */ - libc.VaList(bp+16, zDbName, bp+56 /* &zTab[0] */, zType, zName)) + libc.VaList(bp+8, zDbName, bp+40 /* &zTab[0] */, zType, zName)) } } } // Generate code to drop a table. func Xsqlite3CodeDropTable(tls *libc.TLS, pParse uintptr, pTab uintptr, iDb int32, isView int32) { /* sqlite3.c:115519:21: */ - bp := tls.Alloc(48) - defer tls.Free(48) + bp := tls.Alloc(32) + defer tls.Free(32) var v uintptr var db uintptr = (*Parse)(unsafe.Pointer(pParse)).Fdb @@ -141757,7 +141757,7 @@ func Xsqlite3CodeDropTable(tls *libc.TLS, pParse uintptr, pTab uintptr, iDb int3 Xsqlite3NestedParse(tls, pParse, ts+20015, /* "DELETE FROM %Q.s..." */ - libc.VaList(bp+24, (*Db)(unsafe.Pointer(pDb)).FzDbSName, (*Table)(unsafe.Pointer(pTab)).FzName)) + libc.VaList(bp+16, (*Db)(unsafe.Pointer(pDb)).FzDbSName, (*Table)(unsafe.Pointer(pTab)).FzName)) if !(isView != 0) && !((*Table)(unsafe.Pointer(pTab)).FnModuleArg != 0) { destroyTable(tls, pParse, pTab) } @@ -141804,8 +141804,8 @@ func tableMayNotBeDropped(tls *libc.TLS, db uintptr, pTab uintptr) int32 { /* sq // This routine is called to do the work of a DROP TABLE statement. // pName is the name of the table to be dropped. func Xsqlite3DropTable(tls *libc.TLS, pParse uintptr, pName uintptr, isView int32, noErr int32) { /* sqlite3.c:115623:21: */ - bp := tls.Alloc(48) - defer tls.Free(48) + bp := tls.Alloc(24) + defer tls.Free(24) var pTab uintptr var v uintptr @@ -141943,14 +141943,14 @@ __19: if !((isView != 0) && ((*Table)(unsafe.Pointer(pTab)).FpSelect == uintptr(0))) { goto __20 } - Xsqlite3ErrorMsg(tls, pParse, ts+20115 /* "use DROP TABLE t..." */, libc.VaList(bp+16, (*Table)(unsafe.Pointer(pTab)).FzName)) + Xsqlite3ErrorMsg(tls, pParse, ts+20115 /* "use DROP TABLE t..." */, libc.VaList(bp+8, (*Table)(unsafe.Pointer(pTab)).FzName)) goto exit_drop_table __20: ; if !(!(isView != 0) && ((*Table)(unsafe.Pointer(pTab)).FpSelect != 0)) { goto __21 } - Xsqlite3ErrorMsg(tls, pParse, ts+20149 /* "use DROP VIEW to..." */, libc.VaList(bp+32, (*Table)(unsafe.Pointer(pTab)).FzName)) + Xsqlite3ErrorMsg(tls, pParse, ts+20149 /* "use DROP VIEW to..." */, libc.VaList(bp+16, (*Table)(unsafe.Pointer(pTab)).FzName)) goto exit_drop_table __21: ; @@ -141992,8 +141992,8 @@ exit_drop_table: // The foreign key is set for IMMEDIATE processing. A subsequent call // to sqlite3DeferForeignKey() might change this to DEFERRED. func Xsqlite3CreateForeignKey(tls *libc.TLS, pParse uintptr, pFromCol uintptr, pTo uintptr, pToCol uintptr, flags int32) { /* sqlite3.c:115743:21: */ - bp := tls.Alloc(40) - defer tls.Free(40) + bp := tls.Alloc(24) + defer tls.Free(24) var db uintptr var pFKey uintptr @@ -142128,7 +142128,7 @@ __21: } Xsqlite3ErrorMsg(tls, pParse, ts+20338, /* "unknown column \"..." */ - libc.VaList(bp+24, (*ExprList_item)(unsafe.Pointer((pFromCol+8 /* &.a */)+uintptr(i)*32)).FzEName)) + libc.VaList(bp+16, (*ExprList_item)(unsafe.Pointer((pFromCol+8 /* &.a */)+uintptr(i)*32)).FzEName)) goto fk_end __23: ; @@ -142369,8 +142369,8 @@ func Xsqlite3AllocateIndexObject(tls *libc.TLS, db uintptr, nCol I16, nExtra int // an explicit "NULLS FIRST" or "NULLS LAST" clause, leave an error in // pParse and return non-zero. Otherwise, return zero. func Xsqlite3HasExplicitNulls(tls *libc.TLS, pParse uintptr, pList uintptr) int32 { /* sqlite3.c:116033:20: */ - bp := tls.Alloc(16) - defer tls.Free(16) + bp := tls.Alloc(8) + defer tls.Free(8) if pList != 0 { var i int32 @@ -142402,8 +142402,8 @@ func Xsqlite3HasExplicitNulls(tls *libc.TLS, pParse uintptr, pList uintptr) int3 // is a primary key or unique-constraint on the most recent column added // to the table currently under construction. func Xsqlite3CreateIndex(tls *libc.TLS, pParse uintptr, pName1 uintptr, pName2 uintptr, pTblName uintptr, pList uintptr, onError int32, pStart uintptr, pPIWhere uintptr, sortOrder int32, ifNotExist int32, idxType U8) { /* sqlite3.c:116061:21: */ - bp := tls.Alloc(328) - defer tls.Free(328) + bp := tls.Alloc(256) + defer tls.Free(256) var pTab uintptr // Table to be indexed var pIndex uintptr // The index to be created @@ -142411,24 +142411,24 @@ func Xsqlite3CreateIndex(tls *libc.TLS, pParse uintptr, pName1 uintptr, pName2 u var nName int32 // Number of characters in zName var i int32 var j int32 - // var sFix DbFixer at bp+208, 96 + // var sFix DbFixer at bp+136, 96 // For assigning database names to pTable var sortOrderMask int32 // 1 to honor DESC in index. 0 to ignore. var db uintptr var pDb uintptr // The specific table containing the indexed database var iDb int32 // Index of the database that is being written - // var pName uintptr at bp+200, 8 + // var pName uintptr at bp+128, 8 // Unqualified name of the index to create var pListItem uintptr // For looping over pList var nExtra int32 // Space allocated for zExtra[] var nExtraCol int32 // Number of extra columns needed - // var zExtra uintptr at bp+320, 8 + // var zExtra uintptr at bp+248, 8 // Extra space after the Index object var pPk uintptr var n int32 var pLoop uintptr var zDb uintptr - // var prevCol Token at bp+304, 16 + // var prevCol Token at bp+232, 16 var pCol uintptr var pExpr uintptr @@ -142477,9 +142477,9 @@ func Xsqlite3CreateIndex(tls *libc.TLS, pParse uintptr, pName1 uintptr, pName2 u pIndex = uintptr(0) zName = uintptr(0) db = (*Parse)(unsafe.Pointer(pParse)).Fdb - *(*uintptr)(unsafe.Pointer(bp + 200 /* pName */)) = uintptr(0) + *(*uintptr)(unsafe.Pointer(bp + 128 /* pName */)) = uintptr(0) nExtra = 0 - *(*uintptr)(unsafe.Pointer(bp + 320 /* zExtra */)) = uintptr(0) + *(*uintptr)(unsafe.Pointer(bp + 248 /* zExtra */)) = uintptr(0) pPk = uintptr(0) // PRIMARY KEY index for WITHOUT ROWID tables if !(((*Sqlite3)(unsafe.Pointer(db)).FmallocFailed != 0) || ((*Parse)(unsafe.Pointer(pParse)).FnErr > 0)) { @@ -142516,7 +142516,7 @@ __4: // to search for the table. 'Fix' the table name to this db // before looking up the table. - iDb = Xsqlite3TwoPartName(tls, pParse, pName1, pName2, bp+200 /* &pName */) + iDb = Xsqlite3TwoPartName(tls, pParse, pName1, pName2, bp+128 /* &pName */) if !(iDb < 0) { goto __7 } @@ -142540,8 +142540,8 @@ __9: __8: ; - Xsqlite3FixInit(tls, bp+208 /* &sFix */, pParse, iDb, ts+13052 /* "index" */, *(*uintptr)(unsafe.Pointer(bp + 200 /* pName */))) - if !(Xsqlite3FixSrcList(tls, bp+208 /* &sFix */, pTblName) != 0) { + Xsqlite3FixInit(tls, bp+136 /* &sFix */, pParse, iDb, ts+13052 /* "index" */, *(*uintptr)(unsafe.Pointer(bp + 128 /* pName */))) + if !(Xsqlite3FixSrcList(tls, bp+136 /* &sFix */, pTblName) != 0) { goto __10 } // Because the parser constructs pTblName from a single identifier, @@ -142593,7 +142593,7 @@ __6: (pTblName != uintptr(0))) { goto __15 } - Xsqlite3ErrorMsg(tls, pParse, ts+20473 /* "table %s may not..." */, libc.VaList(bp+16, (*Table)(unsafe.Pointer(pTab)).FzName)) + Xsqlite3ErrorMsg(tls, pParse, ts+20473 /* "table %s may not..." */, libc.VaList(bp+8, (*Table)(unsafe.Pointer(pTab)).FzName)) goto exit_create_index __15: ; @@ -142623,10 +142623,10 @@ __17: // If pName==0 it means that we are // dealing with a primary key or UNIQUE constraint. We have to invent our // own name. - if !(*(*uintptr)(unsafe.Pointer(bp + 200 /* pName */)) != 0) { + if !(*(*uintptr)(unsafe.Pointer(bp + 128 /* pName */)) != 0) { goto __18 } - zName = Xsqlite3NameFromToken(tls, db, *(*uintptr)(unsafe.Pointer(bp + 200 /* pName */))) + zName = Xsqlite3NameFromToken(tls, db, *(*uintptr)(unsafe.Pointer(bp + 128 /* pName */))) if !(zName == uintptr(0)) { goto __20 } @@ -142649,7 +142649,7 @@ __21: if !(Xsqlite3FindTable(tls, db, zName, uintptr(0)) != uintptr(0)) { goto __24 } - Xsqlite3ErrorMsg(tls, pParse, ts+20560 /* "there is already..." */, libc.VaList(bp+32, zName)) + Xsqlite3ErrorMsg(tls, pParse, ts+20560 /* "there is already..." */, libc.VaList(bp+16, zName)) goto exit_create_index __24: ; @@ -142661,7 +142661,7 @@ __23: if !(!(ifNotExist != 0)) { goto __26 } - Xsqlite3ErrorMsg(tls, pParse, ts+20594 /* "index %s already..." */, libc.VaList(bp+48, zName)) + Xsqlite3ErrorMsg(tls, pParse, ts+20594 /* "index %s already..." */, libc.VaList(bp+24, zName)) goto __27 __26: ; @@ -142690,7 +142690,7 @@ __29: goto __30 __30: ; - zName = Xsqlite3MPrintf(tls, db, ts+20618 /* "sqlite_autoindex..." */, libc.VaList(bp+64, (*Table)(unsafe.Pointer(pTab)).FzName, n)) + zName = Xsqlite3MPrintf(tls, db, ts+20618 /* "sqlite_autoindex..." */, libc.VaList(bp+32, (*Table)(unsafe.Pointer(pTab)).FzName, n)) if !(zName == uintptr(0)) { goto __31 } @@ -142752,9 +142752,9 @@ __33: } pCol = ((*Table)(unsafe.Pointer(pTab)).FaCol + uintptr((int32((*Table)(unsafe.Pointer(pTab)).FnCol)-1))*32) *(*U16)(unsafe.Pointer(pCol + 28 /* &.colFlags */)) |= U16((COLFLAG_UNIQUE)) - Xsqlite3TokenInit(tls, bp+304 /* &prevCol */, (*Column)(unsafe.Pointer(pCol)).FzName) + Xsqlite3TokenInit(tls, bp+232 /* &prevCol */, (*Column)(unsafe.Pointer(pCol)).FzName) pList = Xsqlite3ExprListAppend(tls, pParse, uintptr(0), - Xsqlite3ExprAlloc(tls, db, TK_ID, bp+304 /* &prevCol */, 0)) + Xsqlite3ExprAlloc(tls, db, TK_ID, bp+232 /* &prevCol */, 0)) if !(pList == uintptr(0)) { goto __39 } @@ -142807,7 +142807,7 @@ __43: } pIndex = Xsqlite3AllocateIndexObject(tls, db, (int16((*ExprList)(unsafe.Pointer(pList)).FnExpr + nExtraCol)), - ((nName + nExtra) + 1), bp+320 /* &zExtra */) + ((nName + nExtra) + 1), bp+248 /* &zExtra */) if !((*Sqlite3)(unsafe.Pointer(db)).FmallocFailed != 0) { goto __45 } @@ -142815,8 +142815,8 @@ __43: __45: ; - (*Index)(unsafe.Pointer(pIndex)).FzName = *(*uintptr)(unsafe.Pointer(bp + 320 /* zExtra */)) - *(*uintptr)(unsafe.Pointer(bp + 320 /* zExtra */)) += (uintptr(nName + 1)) + (*Index)(unsafe.Pointer(pIndex)).FzName = *(*uintptr)(unsafe.Pointer(bp + 248 /* zExtra */)) + *(*uintptr)(unsafe.Pointer(bp + 248 /* zExtra */)) += (uintptr(nName + 1)) libc.Xmemcpy(tls, (*Index)(unsafe.Pointer(pIndex)).FzName, zName, (uint64(nName + 1))) (*Index)(unsafe.Pointer(pIndex)).FpTable = pTab (*Index)(unsafe.Pointer(pIndex)).FonError = U8(onError) @@ -142930,9 +142930,9 @@ __55: zColl = *(*uintptr)(unsafe.Pointer((*ExprList_item)(unsafe.Pointer(pListItem)).FpExpr + 8 /* &.u */)) nColl = (Xsqlite3Strlen30(tls, zColl) + 1) - libc.Xmemcpy(tls, *(*uintptr)(unsafe.Pointer(bp + 320 /* zExtra */)), zColl, uint64(nColl)) - zColl = *(*uintptr)(unsafe.Pointer(bp + 320 /* zExtra */)) - *(*uintptr)(unsafe.Pointer(bp + 320 /* zExtra */)) += uintptr(nColl) + libc.Xmemcpy(tls, *(*uintptr)(unsafe.Pointer(bp + 248 /* zExtra */)), zColl, uint64(nColl)) + zColl = *(*uintptr)(unsafe.Pointer(bp + 248 /* zExtra */)) + *(*uintptr)(unsafe.Pointer(bp + 248 /* zExtra */)) += uintptr(nColl) nExtra = nExtra - (nColl) goto __63 __62: @@ -143111,7 +143111,7 @@ __88: goto __93 } Xsqlite3ErrorMsg(tls, pParse, - ts+20702 /* "conflicting ON C..." */, libc.VaList(bp+88, 0)) + ts+20702 /* "conflicting ON C..." */, libc.VaList(bp+48, 0)) __93: ; if !(int32((*Index)(unsafe.Pointer(pIdx)).FonError) == OE_Default) { @@ -143217,8 +143217,8 @@ __104: if !(pStart != 0) { goto __105 } - n1 = (int32(uint32((int32((int64((*Parse)(unsafe.Pointer(pParse)).FsLastToken.Fz) - int64((*Token)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp + 200 /* pName */)))).Fz)) / 1))) + (*Parse)(unsafe.Pointer(pParse)).FsLastToken.Fn)) - if !(int32(*(*int8)(unsafe.Pointer((*Token)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp + 200 /* pName */)))).Fz + uintptr((n1 - 1))))) == ';') { + n1 = (int32(uint32((int32((int64((*Parse)(unsafe.Pointer(pParse)).FsLastToken.Fz) - int64((*Token)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp + 128 /* pName */)))).Fz)) / 1))) + (*Parse)(unsafe.Pointer(pParse)).FsLastToken.Fn)) + if !(int32(*(*int8)(unsafe.Pointer((*Token)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp + 128 /* pName */)))).Fz + uintptr((n1 - 1))))) == ';') { goto __107 } n1-- @@ -143226,12 +143226,12 @@ __107: ; // A named index with an explicit CREATE INDEX statement zStmt = Xsqlite3MPrintf(tls, db, ts+20761, /* "CREATE%s INDEX %..." */ - libc.VaList(bp+104, func() uintptr { + libc.VaList(bp+56, func() uintptr { if onError == OE_None { return ts + 915 /* "" */ } return ts + 20781 /* " UNIQUE" */ - }(), n1, (*Token)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp + 200 /* pName */)))).Fz)) + }(), n1, (*Token)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp + 128 /* pName */)))).Fz)) goto __106 __105: // An automatic index created by a PRIMARY KEY or UNIQUE constraint @@ -143243,7 +143243,7 @@ __106: // Add an entry in sqlite_schema for this index Xsqlite3NestedParse(tls, pParse, ts+20789, /* "INSERT INTO %Q.s..." */ - libc.VaList(bp+136, (*Db)(unsafe.Pointer((*Sqlite3)(unsafe.Pointer(db)).FaDb+uintptr(iDb)*32)).FzDbSName, + libc.VaList(bp+80, (*Db)(unsafe.Pointer((*Sqlite3)(unsafe.Pointer(db)).FaDb+uintptr(iDb)*32)).FzDbSName, (*Index)(unsafe.Pointer(pIndex)).FzName, (*Table)(unsafe.Pointer(pTab)).FzName, iMem, @@ -143258,7 +143258,7 @@ __106: sqlite3RefillIndex(tls, pParse, pIndex, iMem) Xsqlite3ChangeCookie(tls, pParse, iDb) Xsqlite3VdbeAddParseSchemaOp(tls, v, iDb, - Xsqlite3MPrintf(tls, db, ts+20848 /* "name='%q' AND ty..." */, libc.VaList(bp+184, (*Index)(unsafe.Pointer(pIndex)).FzName)), uint16(0)) + Xsqlite3MPrintf(tls, db, ts+20848 /* "name='%q' AND ty..." */, libc.VaList(bp+120, (*Index)(unsafe.Pointer(pIndex)).FzName)), uint16(0)) Xsqlite3VdbeAddOp2(tls, v, OP_Expire, 0, 1) __108: ; @@ -143408,8 +143408,8 @@ var aVal = [5]LogEst{int16(33), int16(32), int16(30), int16(28), int16(26)} /* s // This routine will drop an existing named index. This routine // implements the DROP INDEX statement. func Xsqlite3DropIndex(tls *libc.TLS, pParse uintptr, pName uintptr, ifExists int32) { /* sqlite3.c:116713:21: */ - bp := tls.Alloc(56) - defer tls.Free(56) + bp := tls.Alloc(32) + defer tls.Free(32) var pIndex uintptr var v uintptr @@ -143457,7 +143457,7 @@ __3: goto __6 } Xsqlite3ErrorMsg(tls, pParse, - ts+20893 /* "index associated..." */, libc.VaList(bp+16, 0)) + ts+20893 /* "index associated..." */, libc.VaList(bp+8, 0)) goto exit_drop_index __6: ; @@ -143499,7 +143499,7 @@ __9: Xsqlite3BeginWriteOperation(tls, pParse, 1, iDb) Xsqlite3NestedParse(tls, pParse, ts+20966, /* "DELETE FROM %Q.s..." */ - libc.VaList(bp+32, (*Db)(unsafe.Pointer((*Sqlite3)(unsafe.Pointer(db)).FaDb+uintptr(iDb)*32)).FzDbSName, (*Index)(unsafe.Pointer(pIndex)).FzName)) + libc.VaList(bp+16, (*Db)(unsafe.Pointer((*Sqlite3)(unsafe.Pointer(db)).FaDb+uintptr(iDb)*32)).FzDbSName, (*Index)(unsafe.Pointer(pIndex)).FzName)) sqlite3ClearStatTables(tls, pParse, iDb, ts+18094 /* "idx" */, (*Index)(unsafe.Pointer(pIndex)).FzName) Xsqlite3ChangeCookie(tls, pParse, iDb) destroyRootPage(tls, pParse, int32((*Index)(unsafe.Pointer(pIndex)).Ftnum), iDb) @@ -143637,8 +143637,8 @@ func Xsqlite3IdListIndex(tls *libc.TLS, pList uintptr, zName uintptr) int32 { /* // the original SrcList unchanged, return NULL, and leave an error message // in pParse. func Xsqlite3SrcListEnlarge(tls *libc.TLS, pParse uintptr, pSrc uintptr, nExtra int32, iStart int32) uintptr { /* sqlite3.c:116908:24: */ - bp := tls.Alloc(16) - defer tls.Free(16) + bp := tls.Alloc(8) + defer tls.Free(8) var i int32 @@ -143853,8 +143853,8 @@ __3: // Return a new SrcList which encodes is the FROM with the new // term added. func Xsqlite3SrcListAppendFromTerm(tls *libc.TLS, pParse uintptr, p uintptr, pTable uintptr, pDatabase uintptr, pAlias uintptr, pSubquery uintptr, pOn uintptr, pUsing uintptr) uintptr { /* sqlite3.c:117094:24: */ - bp := tls.Alloc(16) - defer tls.Free(16) + bp := tls.Alloc(8) + defer tls.Free(8) var pItem uintptr var db uintptr @@ -144206,33 +144206,33 @@ func Xsqlite3HaltConstraint(tls *libc.TLS, pParse uintptr, errCode int32, onErro // Code an OP_Halt due to UNIQUE or PRIMARY KEY constraint violation. func Xsqlite3UniqueConstraint(tls *libc.TLS, pParse uintptr, onError int32, pIdx uintptr) { /* sqlite3.c:117455:21: */ - bp := tls.Alloc(48) - defer tls.Free(48) + bp := tls.Alloc(40) + defer tls.Free(40) var zErr uintptr var j int32 - // var errMsg StrAccum at bp+16, 32 + // var errMsg StrAccum at bp+8, 32 var pTab uintptr = (*Index)(unsafe.Pointer(pIdx)).FpTable - Xsqlite3StrAccumInit(tls, bp+16 /* &errMsg */, (*Parse)(unsafe.Pointer(pParse)).Fdb, uintptr(0), 0, + Xsqlite3StrAccumInit(tls, bp+8 /* &errMsg */, (*Parse)(unsafe.Pointer(pParse)).Fdb, uintptr(0), 0, *(*int32)(unsafe.Pointer(((*Parse)(unsafe.Pointer(pParse)).Fdb + 128 /* &.aLimit */)))) if (*Index)(unsafe.Pointer(pIdx)).FaColExpr != 0 { - Xsqlite3_str_appendf(tls, bp+16 /* &errMsg */, ts+21207 /* "index '%q'" */, libc.VaList(bp, (*Index)(unsafe.Pointer(pIdx)).FzName)) + Xsqlite3_str_appendf(tls, bp+8 /* &errMsg */, ts+21207 /* "index '%q'" */, libc.VaList(bp, (*Index)(unsafe.Pointer(pIdx)).FzName)) } else { for j = 0; j < int32((*Index)(unsafe.Pointer(pIdx)).FnKeyCol); j++ { var zCol uintptr zCol = (*Column)(unsafe.Pointer((*Table)(unsafe.Pointer(pTab)).FaCol + uintptr(*(*I16)(unsafe.Pointer((*Index)(unsafe.Pointer(pIdx)).FaiColumn + uintptr(j)*2)))*32)).FzName if j != 0 { - Xsqlite3_str_append(tls, bp+16 /* &errMsg */, ts+21218 /* ", " */, 2) + Xsqlite3_str_append(tls, bp+8 /* &errMsg */, ts+21218 /* ", " */, 2) } - Xsqlite3_str_appendall(tls, bp+16 /* &errMsg */, (*Table)(unsafe.Pointer(pTab)).FzName) - Xsqlite3_str_append(tls, bp+16 /* &errMsg */, ts+928 /* "." */, 1) - Xsqlite3_str_appendall(tls, bp+16 /* &errMsg */, zCol) + Xsqlite3_str_appendall(tls, bp+8 /* &errMsg */, (*Table)(unsafe.Pointer(pTab)).FzName) + Xsqlite3_str_append(tls, bp+8 /* &errMsg */, ts+928 /* "." */, 1) + Xsqlite3_str_appendall(tls, bp+8 /* &errMsg */, zCol) } } - zErr = Xsqlite3StrAccumFinish(tls, bp+16 /* &errMsg */) + zErr = Xsqlite3StrAccumFinish(tls, bp+8 /* &errMsg */) Xsqlite3HaltConstraint(tls, pParse, func() int32 { if (int32(*(*uint16)(unsafe.Pointer((pIdx) + 100 /* &.idxType */)) & 0x3 >> 0)) == SQLITE_IDXTYPE_PRIMARYKEY { @@ -144245,8 +144245,8 @@ func Xsqlite3UniqueConstraint(tls *libc.TLS, pParse uintptr, onError int32, pIdx // Code an OP_Halt due to non-unique rowid. func Xsqlite3RowidConstraint(tls *libc.TLS, pParse uintptr, onError int32, pTab uintptr) { /* sqlite3.c:117491:21: */ - bp := tls.Alloc(40) - defer tls.Free(40) + bp := tls.Alloc(24) + defer tls.Free(24) var zMsg uintptr var rc int32 @@ -144255,7 +144255,7 @@ func Xsqlite3RowidConstraint(tls *libc.TLS, pParse uintptr, onError int32, pTab (*Column)(unsafe.Pointer((*Table)(unsafe.Pointer(pTab)).FaCol+uintptr((*Table)(unsafe.Pointer(pTab)).FiPKey)*32)).FzName)) rc = (SQLITE_CONSTRAINT | (int32(6) << 8)) } else { - zMsg = Xsqlite3MPrintf(tls, (*Parse)(unsafe.Pointer(pParse)).Fdb, ts+14798 /* "%s.rowid" */, libc.VaList(bp+24, (*Table)(unsafe.Pointer(pTab)).FzName)) + zMsg = Xsqlite3MPrintf(tls, (*Parse)(unsafe.Pointer(pParse)).Fdb, ts+14798 /* "%s.rowid" */, libc.VaList(bp+16, (*Table)(unsafe.Pointer(pTab)).FzName)) rc = (SQLITE_CONSTRAINT | (int32(10) << 8)) } Xsqlite3HaltConstraint(tls, pParse, rc, onError, zMsg, int8(-7), @@ -144490,8 +144490,8 @@ func Xsqlite3CteDelete(tls *libc.TLS, db uintptr, pCte uintptr) { /* sqlite3.c:1 // the WITH clause of the second argument. If the second argument is // NULL, then a new WITH argument is created. func Xsqlite3WithAdd(tls *libc.TLS, pParse uintptr, pWith uintptr, pCte uintptr) uintptr { /* sqlite3.c:117742:21: */ - bp := tls.Alloc(16) - defer tls.Free(16) + bp := tls.Alloc(8) + defer tls.Free(8) var db uintptr = (*Parse)(unsafe.Pointer(pParse)).Fdb var pNew uintptr @@ -144721,8 +144721,8 @@ func Xsqlite3SetTextEncoding(tls *libc.TLS, db uintptr, enc U8) { /* sqlite3.c:1 // // See also: sqlite3LocateCollSeq(), sqlite3FindCollSeq() func Xsqlite3GetCollSeq(tls *libc.TLS, pParse uintptr, enc U8, pColl uintptr, zName uintptr) uintptr { /* sqlite3.c:118005:24: */ - bp := tls.Alloc(16) - defer tls.Free(16) + bp := tls.Alloc(8) + defer tls.Free(8) var p uintptr var db uintptr = (*Parse)(unsafe.Pointer(pParse)).Fdb @@ -145104,15 +145104,15 @@ func tabIsReadOnly(tls *libc.TLS, pParse uintptr, pTab uintptr) int32 { /* sqlit // writable, generate an error message and return 1. If it is // writable return 0; func Xsqlite3IsReadOnly(tls *libc.TLS, pParse uintptr, pTab uintptr, viewOk int32) int32 { /* sqlite3.c:118421:20: */ - bp := tls.Alloc(32) - defer tls.Free(32) + bp := tls.Alloc(16) + defer tls.Free(16) if tabIsReadOnly(tls, pParse, pTab) != 0 { Xsqlite3ErrorMsg(tls, pParse, ts+21328 /* "table %s may not..." */, libc.VaList(bp, (*Table)(unsafe.Pointer(pTab)).FzName)) return 1 } if !(viewOk != 0) && ((*Table)(unsafe.Pointer(pTab)).FpSelect != 0) { - Xsqlite3ErrorMsg(tls, pParse, ts+21357 /* "cannot modify %s..." */, libc.VaList(bp+16, (*Table)(unsafe.Pointer(pTab)).FzName)) + Xsqlite3ErrorMsg(tls, pParse, ts+21357 /* "cannot modify %s..." */, libc.VaList(bp+8, (*Table)(unsafe.Pointer(pTab)).FzName)) return 1 } return 0 @@ -146350,26 +146350,26 @@ endInstrOOM: // Implementation of the printf() function. func printfFunc(tls *libc.TLS, context uintptr, argc int32, argv uintptr) { /* sqlite3.c:119577:13: */ - bp := tls.Alloc(64) - defer tls.Free(64) + bp := tls.Alloc(56) + defer tls.Free(56) - // var x PrintfArguments at bp+48, 16 + // var x PrintfArguments at bp+40, 16 - // var str StrAccum at bp+16, 32 + // var str StrAccum at bp+8, 32 var zFormat uintptr var n int32 var db uintptr = Xsqlite3_context_db_handle(tls, context) if (argc >= 1) && ((libc.AssignUintptr(&zFormat, Xsqlite3_value_text(tls, *(*uintptr)(unsafe.Pointer(argv))))) != uintptr(0)) { - (*PrintfArguments)(unsafe.Pointer(bp + 48 /* &x */)).FnArg = (argc - 1) - (*PrintfArguments)(unsafe.Pointer(bp + 48 /* &x */)).FnUsed = 0 - (*PrintfArguments)(unsafe.Pointer(bp + 48 /* &x */)).FapArg = (argv + uintptr(1)*8) - Xsqlite3StrAccumInit(tls, bp+16 /* &str */, db, uintptr(0), 0, *(*int32)(unsafe.Pointer((db + 128 /* &.aLimit */)))) - (*StrAccum)(unsafe.Pointer(bp + 16 /* &str */)).FprintfFlags = U8(SQLITE_PRINTF_SQLFUNC) - Xsqlite3_str_appendf(tls, bp+16 /* &str */, zFormat, libc.VaList(bp, bp+48 /* &x */)) - n = int32((*StrAccum)(unsafe.Pointer(bp + 16 /* &str */)).FnChar) - Xsqlite3_result_text(tls, context, Xsqlite3StrAccumFinish(tls, bp+16 /* &str */), n, + (*PrintfArguments)(unsafe.Pointer(bp + 40 /* &x */)).FnArg = (argc - 1) + (*PrintfArguments)(unsafe.Pointer(bp + 40 /* &x */)).FnUsed = 0 + (*PrintfArguments)(unsafe.Pointer(bp + 40 /* &x */)).FapArg = (argv + uintptr(1)*8) + Xsqlite3StrAccumInit(tls, bp+8 /* &str */, db, uintptr(0), 0, *(*int32)(unsafe.Pointer((db + 128 /* &.aLimit */)))) + (*StrAccum)(unsafe.Pointer(bp + 8 /* &str */)).FprintfFlags = U8(SQLITE_PRINTF_SQLFUNC) + Xsqlite3_str_appendf(tls, bp+8 /* &str */, zFormat, libc.VaList(bp, bp+40 /* &x */)) + n = int32((*StrAccum)(unsafe.Pointer(bp + 8 /* &str */)).FnChar) + Xsqlite3_result_text(tls, context, Xsqlite3StrAccumFinish(tls, bp+8 /* &str */), n, *(*uintptr)(unsafe.Pointer(&struct{ f func(*libc.TLS, uintptr) }{Xsqlite3OomFault}))) } } @@ -146493,11 +146493,11 @@ func substrFunc(tls *libc.TLS, context uintptr, argc int32, argv uintptr) { /* s // Implementation of the round() function func roundFunc(tls *libc.TLS, context uintptr, argc int32, argv uintptr) { /* sqlite3.c:119708:13: */ - bp := tls.Alloc(32) - defer tls.Free(32) + bp := tls.Alloc(24) + defer tls.Free(24) var n int32 = 0 - // var r float64 at bp+24, 8 + // var r float64 at bp+16, 8 var zBuf uintptr @@ -146516,29 +146516,29 @@ func roundFunc(tls *libc.TLS, context uintptr, argc int32, argv uintptr) { /* sq if Xsqlite3_value_type(tls, *(*uintptr)(unsafe.Pointer(argv))) == SQLITE_NULL { return } - *(*float64)(unsafe.Pointer(bp + 24 /* r */)) = Xsqlite3_value_double(tls, *(*uintptr)(unsafe.Pointer(argv))) + *(*float64)(unsafe.Pointer(bp + 16 /* r */)) = Xsqlite3_value_double(tls, *(*uintptr)(unsafe.Pointer(argv))) // If Y==0 and X will fit in a 64-bit int, // handle the rounding directly, // otherwise use printf. - if (*(*float64)(unsafe.Pointer(bp + 24 /* r */)) < -4503599627370496.0) || (*(*float64)(unsafe.Pointer(bp + 24 /* r */)) > +4503599627370496.0) { + if (*(*float64)(unsafe.Pointer(bp + 16 /* r */)) < -4503599627370496.0) || (*(*float64)(unsafe.Pointer(bp + 16 /* r */)) > +4503599627370496.0) { // The value has no fractional part so there is nothing to round } else if n == 0 { - *(*float64)(unsafe.Pointer(bp + 24 /* r */)) = float64((Sqlite_int64(*(*float64)(unsafe.Pointer(bp + 24 /* r */)) + (func() float64 { - if *(*float64)(unsafe.Pointer(bp + 24 /* r */)) < float64(0) { + *(*float64)(unsafe.Pointer(bp + 16 /* r */)) = float64((Sqlite_int64(*(*float64)(unsafe.Pointer(bp + 16 /* r */)) + (func() float64 { + if *(*float64)(unsafe.Pointer(bp + 16 /* r */)) < float64(0) { return -0.5 } return +0.5 }())))) } else { - zBuf = Xsqlite3_mprintf(tls, ts+21435 /* "%.*f" */, libc.VaList(bp, n, *(*float64)(unsafe.Pointer(bp + 24 /* r */)))) + zBuf = Xsqlite3_mprintf(tls, ts+21435 /* "%.*f" */, libc.VaList(bp, n, *(*float64)(unsafe.Pointer(bp + 16 /* r */)))) if zBuf == uintptr(0) { Xsqlite3_result_error_nomem(tls, context) return } - Xsqlite3AtoF(tls, zBuf, bp+24 /* &r */, Xsqlite3Strlen30(tls, zBuf), uint8(SQLITE_UTF8)) + Xsqlite3AtoF(tls, zBuf, bp+16 /* &r */, Xsqlite3Strlen30(tls, zBuf), uint8(SQLITE_UTF8)) Xsqlite3_free(tls, zBuf) } - Xsqlite3_result_double(tls, context, *(*float64)(unsafe.Pointer(bp + 24 /* r */))) + Xsqlite3_result_double(tls, context, *(*float64)(unsafe.Pointer(bp + 16 /* r */))) } // Allocate nByte bytes of space using sqlite3Malloc(). If the @@ -147056,8 +147056,8 @@ func sourceidFunc(tls *libc.TLS, context uintptr, NotUsed int32, NotUsed2 uintpt // sqlite3_log(). The return value is NULL. The function exists purely for // its side-effects. func errlogFunc(tls *libc.TLS, context uintptr, argc int32, argv uintptr) { /* sqlite3.c:120280:13: */ - bp := tls.Alloc(16) - defer tls.Free(16) + bp := tls.Alloc(8) + defer tls.Free(8) _ = argc _ = context @@ -147105,25 +147105,25 @@ var hexdigits = [16]int8{ // "NULL". Otherwise, the argument is enclosed in single quotes with // single-quote escapes. func quoteFunc(tls *libc.TLS, context uintptr, argc int32, argv uintptr) { /* sqlite3.c:120350:13: */ - bp := tls.Alloc(96) - defer tls.Free(96) + bp := tls.Alloc(80) + defer tls.Free(80) _ = argc switch Xsqlite3_value_type(tls, *(*uintptr)(unsafe.Pointer(argv))) { case SQLITE_FLOAT: { var r1 float64 - // var r2 float64 at bp+88, 8 + // var r2 float64 at bp+72, 8 - // var zBuf [50]int8 at bp+32, 50 + // var zBuf [50]int8 at bp+16, 50 r1 = Xsqlite3_value_double(tls, *(*uintptr)(unsafe.Pointer(argv))) - Xsqlite3_snprintf(tls, int32(unsafe.Sizeof([50]int8{})), bp+32 /* &zBuf[0] */, ts+11384 /* "%!.15g" */, libc.VaList(bp, r1)) - Xsqlite3AtoF(tls, bp+32 /* &zBuf[0] */, bp+88 /* &r2 */, 20, uint8(SQLITE_UTF8)) - if r1 != *(*float64)(unsafe.Pointer(bp + 88 /* r2 */)) { - Xsqlite3_snprintf(tls, int32(unsafe.Sizeof([50]int8{})), bp+32 /* &zBuf[0] */, ts+21518 /* "%!.20e" */, libc.VaList(bp+16, r1)) + Xsqlite3_snprintf(tls, int32(unsafe.Sizeof([50]int8{})), bp+16 /* &zBuf[0] */, ts+11384 /* "%!.15g" */, libc.VaList(bp, r1)) + Xsqlite3AtoF(tls, bp+16 /* &zBuf[0] */, bp+72 /* &r2 */, 20, uint8(SQLITE_UTF8)) + if r1 != *(*float64)(unsafe.Pointer(bp + 72 /* r2 */)) { + Xsqlite3_snprintf(tls, int32(unsafe.Sizeof([50]int8{})), bp+16 /* &zBuf[0] */, ts+21518 /* "%!.20e" */, libc.VaList(bp+8, r1)) } - Xsqlite3_result_text(tls, context, bp+32 /* &zBuf[0] */, -1, libc.UintptrFromInt32(-1)) + Xsqlite3_result_text(tls, context, bp+16 /* &zBuf[0] */, -1, libc.UintptrFromInt32(-1)) break } @@ -148278,8 +148278,8 @@ var aBuiltinFunc = [68]FuncDef{ // into pParse. If an OOM error occurs, non-zero is returned and the // pParse->db->mallocFailed flag is set. func Xsqlite3FkLocateIndex(tls *libc.TLS, pParse uintptr, pParent uintptr, pFKey uintptr, ppIdx uintptr, paiCol uintptr) int32 { /* sqlite3.c:121786:20: */ - bp := tls.Alloc(24) - defer tls.Free(24) + bp := tls.Alloc(16) + defer tls.Free(16) var pIdx uintptr = uintptr(0) // Value to return via *ppIdx var aiCol uintptr = uintptr(0) // Value to return via *paiCol @@ -149536,8 +149536,8 @@ func Xsqlite3FkDelete(tls *libc.TLS, db uintptr, pTab uintptr) { /* sqlite3.c:12 // If pTab is a WITHOUT ROWID table, then it is the PRIMARY KEY index // for that table that is actually opened. func Xsqlite3OpenTable(tls *libc.TLS, pParse uintptr, iCur int32, iDb int32, pTab uintptr, opcode int32) { /* sqlite3.c:123084:21: */ - bp := tls.Alloc(32) - defer tls.Free(32) + bp := tls.Alloc(16) + defer tls.Free(16) var v uintptr @@ -149558,7 +149558,7 @@ func Xsqlite3OpenTable(tls *libc.TLS, pParse uintptr, iCur int32, iDb int32, pTa Xsqlite3VdbeAddOp3(tls, v, opcode, iCur, int32((*Index)(unsafe.Pointer(pPk)).Ftnum), iDb) Xsqlite3VdbeSetP4KeyInfo(tls, pParse, pPk) - Xsqlite3VdbeComment(tls, v, ts+951 /* "%s" */, libc.VaList(bp+16, (*Table)(unsafe.Pointer(pTab)).FzName)) + Xsqlite3VdbeComment(tls, v, ts+951 /* "%s" */, libc.VaList(bp+8, (*Table)(unsafe.Pointer(pTab)).FzName)) } } @@ -149727,11 +149727,11 @@ func exprColumnFlagUnion(tls *libc.TLS, pWalker uintptr, pExpr uintptr) int32 { // back and computes the values for those columns based on the previously // computed normal columns. func Xsqlite3ComputeGeneratedColumns(tls *libc.TLS, pParse uintptr, iRegStore int32, pTab uintptr) { /* sqlite3.c:123282:21: */ - bp := tls.Alloc(64) - defer tls.Free(64) + bp := tls.Alloc(56) + defer tls.Free(56) var i int32 - // var w Walker at bp+16, 48 + // var w Walker at bp+8, 48 var pRedo uintptr var eProgress int32 @@ -149770,12 +149770,12 @@ func Xsqlite3ComputeGeneratedColumns(tls *libc.TLS, pParse uintptr, iRegStore in } } - *(*uintptr)(unsafe.Pointer(bp + 16 /* &w */ + 40 /* &.u */)) = pTab - (*Walker)(unsafe.Pointer(bp + 16 /* &w */)).FxExprCallback = *(*uintptr)(unsafe.Pointer(&struct { + *(*uintptr)(unsafe.Pointer(bp + 8 /* &w */ + 40 /* &.u */)) = pTab + (*Walker)(unsafe.Pointer(bp + 8 /* &w */)).FxExprCallback = *(*uintptr)(unsafe.Pointer(&struct { f func(*libc.TLS, uintptr, uintptr) int32 }{exprColumnFlagUnion})) - (*Walker)(unsafe.Pointer(bp + 16 /* &w */)).FxSelectCallback = uintptr(0) - (*Walker)(unsafe.Pointer(bp + 16 /* &w */)).FxSelectCallback2 = uintptr(0) + (*Walker)(unsafe.Pointer(bp + 8 /* &w */)).FxSelectCallback = uintptr(0) + (*Walker)(unsafe.Pointer(bp + 8 /* &w */)).FxSelectCallback2 = uintptr(0) // On the second pass, compute the value of each NOT-AVAILABLE column. // Companion code in the TK_COLUMN case of sqlite3ExprCodeTarget() will @@ -149790,10 +149790,10 @@ func Xsqlite3ComputeGeneratedColumns(tls *libc.TLS, pParse uintptr, iRegStore in if (int32((*Column)(unsafe.Pointer(pCol)).FcolFlags) & COLFLAG_NOTAVAIL) != 0 { var x int32 *(*U16)(unsafe.Pointer(pCol + 28 /* &.colFlags */)) |= U16((COLFLAG_BUSY)) - (*Walker)(unsafe.Pointer(bp + 16 /* &w */)).FeCode = U16(0) - Xsqlite3WalkExpr(tls, bp+16 /* &w */, (*Column)(unsafe.Pointer(pCol)).FpDflt) + (*Walker)(unsafe.Pointer(bp + 8 /* &w */)).FeCode = U16(0) + Xsqlite3WalkExpr(tls, bp+8 /* &w */, (*Column)(unsafe.Pointer(pCol)).FpDflt) *(*U16)(unsafe.Pointer(pCol + 28 /* &.colFlags */)) &= libc.Uint16FromInt32((libc.CplInt32(COLFLAG_BUSY))) - if (int32((*Walker)(unsafe.Pointer(bp+16 /* &w */)).FeCode) & COLFLAG_NOTAVAIL) != 0 { + if (int32((*Walker)(unsafe.Pointer(bp+8 /* &w */)).FeCode) & COLFLAG_NOTAVAIL) != 0 { pRedo = pCol continue } @@ -150101,8 +150101,8 @@ func Xsqlite3AutoincrementEnd(tls *libc.TLS, pParse uintptr) { /* sqlite3.c:1235 // end loop // D: cleanup func Xsqlite3Insert(tls *libc.TLS, pParse uintptr, pTabList uintptr, pSelect uintptr, pColumn uintptr, onError int32, pUpsert uintptr) { /* sqlite3.c:123681:21: */ - bp := tls.Alloc(228) - defer tls.Free(228) + bp := tls.Alloc(188) + defer tls.Free(188) var db uintptr // The main database structure var pTab uintptr // The table to insert into. aka TABLE @@ -150112,16 +150112,16 @@ func Xsqlite3Insert(tls *libc.TLS, pParse uintptr, pTabList uintptr, pSelect uin var pIdx uintptr // For looping over indices of the table var nColumn int32 // Number of columns in the data var nHidden int32 // Number of hidden columns if TABLE is virtual - // var iDataCur int32 at bp+216, 4 + // var iDataCur int32 at bp+176, 4 // VDBE cursor that is the main data repository - // var iIdxCur int32 at bp+220, 4 + // var iIdxCur int32 at bp+180, 4 // First index cursor var ipkColumn int32 // Column that is the INTEGER PRIMARY KEY var endOfLoop int32 // Label for the end of the insertion loop var srcTab int32 // Data comes from this temporary cursor if >=0 var addrInsTop int32 // Jump to label "D" var addrCont int32 // Top of insert loop. Label "C" in templates 3 and 4 - // var dest SelectDest at bp+120, 40 + // var dest SelectDest at bp+80, 40 // Destination for SELECT on rhs of INSERT var iDb int32 // Index of database holding TABLE var useTempTable U8 // Store SELECT results in intermediate table @@ -150142,7 +150142,7 @@ func Xsqlite3Insert(tls *libc.TLS, pParse uintptr, pTabList uintptr, pSelect uin var isView int32 // True if attempting to insert into a view var pTrigger uintptr // List of triggers on pTab, if required - // var tmask int32 at bp+112, 4 + // var tmask int32 at bp+72, 4 // Invoke the coroutine to extract information from the SELECT // and add it to a transient table srcTab. The code generated @@ -150163,7 +150163,7 @@ func Xsqlite3Insert(tls *libc.TLS, pParse uintptr, pTabList uintptr, pSelect uin var rc int32 // This is the case if the data for the INSERT is coming from a // single-row VALUES clause - // var sNC NameContext at bp+160, 56 + // var sNC NameContext at bp+120, 56 var nIdx int32 var pNx uintptr @@ -150174,12 +150174,12 @@ func Xsqlite3Insert(tls *libc.TLS, pParse uintptr, pTabList uintptr, pSelect uin var pIpk uintptr var addr11 int32 var pVTab uintptr - // var isReplace int32 at bp+224, 4 + // var isReplace int32 at bp+184, 4 // Set to true if constraints may cause a replace var bUseSeek int32 nHidden = 0 - *(*int32)(unsafe.Pointer(bp + 216 /* iDataCur */)) = 0 - *(*int32)(unsafe.Pointer(bp + 220 /* iIdxCur */)) = 0 + *(*int32)(unsafe.Pointer(bp + 176 /* iDataCur */)) = 0 + *(*int32)(unsafe.Pointer(bp + 180 /* iIdxCur */)) = 0 ipkColumn = -1 srcTab = 0 addrInsTop = 0 @@ -150199,7 +150199,7 @@ func Xsqlite3Insert(tls *libc.TLS, pParse uintptr, pTabList uintptr, pSelect uin goto insert_cleanup __1: ; - (*SelectDest)(unsafe.Pointer(bp + 120 /* &dest */)).FiSDParm = 0 // Suppress a harmless compiler warning + (*SelectDest)(unsafe.Pointer(bp + 80 /* &dest */)).FiSDParm = 0 // Suppress a harmless compiler warning // If the Select object is really just a simple VALUES() list with a // single row (the common case) then keep that one row of values @@ -150236,7 +150236,7 @@ __4: // Figure out if we have any triggers and if the table being // inserted into is a view - pTrigger = Xsqlite3TriggersExist(tls, pParse, pTab, TK_INSERT, uintptr(0), bp+112 /* &tmask */) + pTrigger = Xsqlite3TriggersExist(tls, pParse, pTab, TK_INSERT, uintptr(0), bp+72 /* &tmask */) isView = (libc.Bool32((*Table)(unsafe.Pointer(pTab)).FpSelect != uintptr(0))) // If pTab is really a view, make sure it has been initialized. @@ -150249,7 +150249,7 @@ __5: ; // Cannot insert into a read-only table. - if !(Xsqlite3IsReadOnly(tls, pParse, pTab, *(*int32)(unsafe.Pointer(bp + 112 /* tmask */))) != 0) { + if !(Xsqlite3IsReadOnly(tls, pParse, pTab, *(*int32)(unsafe.Pointer(bp + 72 /* tmask */))) != 0) { goto __6 } goto insert_cleanup @@ -150396,7 +150396,7 @@ __20: goto __27 __26: Xsqlite3ErrorMsg(tls, pParse, ts+22095, /* "table %S has no ..." */ - libc.VaList(bp+16, pTabList+8 /* &.a */, (*IdList_item)(unsafe.Pointer((*IdList)(unsafe.Pointer(pColumn)).Fa+uintptr(i)*16)).FzName)) + libc.VaList(bp+8, pTabList+8 /* &.a */, (*IdList_item)(unsafe.Pointer((*IdList)(unsafe.Pointer(pColumn)).Fa+uintptr(i)*16)).FzName)) (*Parse)(unsafe.Pointer(pParse)).FcheckSchema = U8(1) goto insert_cleanup __27: @@ -150424,16 +150424,16 @@ __11: regYield = libc.PreIncInt32(&(*Parse)(unsafe.Pointer(pParse)).FnMem, 1) addrTop = (Xsqlite3VdbeCurrentAddr(tls, v) + 1) Xsqlite3VdbeAddOp3(tls, v, OP_InitCoroutine, regYield, 0, addrTop) - Xsqlite3SelectDestInit(tls, bp+120 /* &dest */, SRT_Coroutine, regYield) - (*SelectDest)(unsafe.Pointer(bp + 120 /* &dest */)).FiSdst = func() int32 { + Xsqlite3SelectDestInit(tls, bp+80 /* &dest */, SRT_Coroutine, regYield) + (*SelectDest)(unsafe.Pointer(bp + 80 /* &dest */)).FiSdst = func() int32 { if bIdListInOrder != 0 { return regData } return 0 }() - (*SelectDest)(unsafe.Pointer(bp + 120 /* &dest */)).FnSdst = int32((*Table)(unsafe.Pointer(pTab)).FnCol) - rc = Xsqlite3Select(tls, pParse, pSelect, bp+120 /* &dest */) - regFromSelect = (*SelectDest)(unsafe.Pointer(bp + 120 /* &dest */)).FiSdst + (*SelectDest)(unsafe.Pointer(bp + 80 /* &dest */)).FnSdst = int32((*Table)(unsafe.Pointer(pTab)).FnCol) + rc = Xsqlite3Select(tls, pParse, pSelect, bp+80 /* &dest */) + regFromSelect = (*SelectDest)(unsafe.Pointer(bp + 80 /* &dest */)).FiSdst if !(((rc != 0) || ((*Sqlite3)(unsafe.Pointer(db)).FmallocFailed != 0)) || ((*Parse)(unsafe.Pointer(pParse)).FnErr != 0)) { goto __30 } @@ -150468,7 +150468,7 @@ __31: regRec = Xsqlite3GetTempReg(tls, pParse) regTempRowid = Xsqlite3GetTempReg(tls, pParse) Xsqlite3VdbeAddOp2(tls, v, OP_OpenEphemeral, srcTab, nColumn) - addrL = Xsqlite3VdbeAddOp1(tls, v, OP_Yield, (*SelectDest)(unsafe.Pointer(bp+120 /* &dest */)).FiSDParm) + addrL = Xsqlite3VdbeAddOp1(tls, v, OP_Yield, (*SelectDest)(unsafe.Pointer(bp+80 /* &dest */)).FiSDParm) Xsqlite3VdbeAddOp3(tls, v, OP_MakeRecord, regFromSelect, nColumn, regRec) Xsqlite3VdbeAddOp2(tls, v, OP_NewRowid, srcTab, regTempRowid) Xsqlite3VdbeAddOp3(tls, v, OP_Insert, srcTab, regRec, regTempRowid) @@ -150480,15 +150480,15 @@ __32: ; goto __29 __28: - libc.Xmemset(tls, bp+160 /* &sNC */, 0, uint64(unsafe.Sizeof(NameContext{}))) - (*NameContext)(unsafe.Pointer(bp + 160 /* &sNC */)).FpParse = pParse + libc.Xmemset(tls, bp+120 /* &sNC */, 0, uint64(unsafe.Sizeof(NameContext{}))) + (*NameContext)(unsafe.Pointer(bp + 120 /* &sNC */)).FpParse = pParse srcTab = -1 if !(pList != 0) { goto __33 } nColumn = (*ExprList)(unsafe.Pointer(pList)).FnExpr - if !(Xsqlite3ResolveExprListNames(tls, bp+160 /* &sNC */, pList) != 0) { + if !(Xsqlite3ResolveExprListNames(tls, bp+120 /* &sNC */, pList) != 0) { goto __35 } goto insert_cleanup @@ -150566,7 +150566,7 @@ __42: } Xsqlite3ErrorMsg(tls, pParse, ts+22127, /* "table %S has %d ..." */ - libc.VaList(bp+40, pTabList+8 /* &.a */, (int32((*Table)(unsafe.Pointer(pTab)).FnCol)-nHidden), nColumn)) + libc.VaList(bp+24, pTabList+8 /* &.a */, (int32((*Table)(unsafe.Pointer(pTab)).FnCol)-nHidden), nColumn)) goto insert_cleanup __47: ; @@ -150575,7 +150575,7 @@ __36: if !((pColumn != uintptr(0)) && (nColumn != (*IdList)(unsafe.Pointer(pColumn)).FnId)) { goto __48 } - Xsqlite3ErrorMsg(tls, pParse, ts+22179 /* "%d values for %d..." */, libc.VaList(bp+72, nColumn, (*IdList)(unsafe.Pointer(pColumn)).FnId)) + Xsqlite3ErrorMsg(tls, pParse, ts+22179 /* "%d values for %d..." */, libc.VaList(bp+48, nColumn, (*IdList)(unsafe.Pointer(pColumn)).FnId)) goto insert_cleanup __48: ; @@ -150597,7 +150597,7 @@ __49: goto __50 } nIdx = Xsqlite3OpenTableAndIndices(tls, pParse, pTab, OP_OpenWrite, uint8(0), -1, uintptr(0), - bp+216 /* &iDataCur */, bp+220 /* &iIdxCur */) + bp+176 /* &iDataCur */, bp+180 /* &iIdxCur */) aRegIdx = Xsqlite3DbMallocRawNN(tls, db, (uint64(unsafe.Sizeof(int32(0))) * (uint64(nIdx + 2)))) if !(aRegIdx == uintptr(0)) { goto __51 @@ -150632,7 +150632,7 @@ __50: goto __56 } Xsqlite3ErrorMsg(tls, pParse, ts+22204, /* "UPSERT not imple..." */ - libc.VaList(bp+96, (*Table)(unsafe.Pointer(pTab)).FzName)) + libc.VaList(bp+64, (*Table)(unsafe.Pointer(pTab)).FzName)) goto insert_cleanup __56: ; @@ -150649,13 +150649,13 @@ __57: goto insert_cleanup __58: ; - (*SrcItem)(unsafe.Pointer((pTabList + 8 /* &.a */))).FiCursor = *(*int32)(unsafe.Pointer(bp + 216 /* iDataCur */)) + (*SrcItem)(unsafe.Pointer((pTabList + 8 /* &.a */))).FiCursor = *(*int32)(unsafe.Pointer(bp + 176 /* iDataCur */)) pNx = pUpsert __59: (*Upsert)(unsafe.Pointer(pNx)).FpUpsertSrc = pTabList (*Upsert)(unsafe.Pointer(pNx)).FregData = regData - (*Upsert)(unsafe.Pointer(pNx)).FiDataCur = *(*int32)(unsafe.Pointer(bp + 216 /* iDataCur */)) - (*Upsert)(unsafe.Pointer(pNx)).FiIdxCur = *(*int32)(unsafe.Pointer(bp + 220 /* iIdxCur */)) + (*Upsert)(unsafe.Pointer(pNx)).FiDataCur = *(*int32)(unsafe.Pointer(bp + 176 /* iDataCur */)) + (*Upsert)(unsafe.Pointer(pNx)).FiIdxCur = *(*int32)(unsafe.Pointer(bp + 180 /* iIdxCur */)) if !((*Upsert)(unsafe.Pointer(pNx)).FpUpsertTarget != 0) { goto __62 } @@ -150706,7 +150706,7 @@ __64: // goto C // D: ... - addrInsTop = libc.AssignInt32(&addrCont, Xsqlite3VdbeAddOp1(tls, v, OP_Yield, (*SelectDest)(unsafe.Pointer(bp+120 /* &dest */)).FiSDParm)) + addrInsTop = libc.AssignInt32(&addrCont, Xsqlite3VdbeAddOp1(tls, v, OP_Yield, (*SelectDest)(unsafe.Pointer(bp+80 /* &dest */)).FiSDParm)) if !(ipkColumn >= 0) { goto __67 @@ -150768,7 +150768,7 @@ __73: // triggers, the slots used for stored columns will be OP_Copy-ed // to a second block of registers, so the register needs to be // initialized to NULL to avoid an uninitialized register read - if !((*(*int32)(unsafe.Pointer(bp + 112 /* tmask */)) & TRIGGER_BEFORE) != 0) { + if !((*(*int32)(unsafe.Pointer(bp + 72 /* tmask */)) & TRIGGER_BEFORE) != 0) { goto __77 } Xsqlite3VdbeAddOp1(tls, v, OP_SoftNull, iRegStore) @@ -150866,7 +150866,7 @@ __70: // Run the BEFORE and INSTEAD OF triggers, if there are any endOfLoop = Xsqlite3VdbeMakeLabel(tls, pParse) - if !((*(*int32)(unsafe.Pointer(bp + 112 /* tmask */)) & TRIGGER_BEFORE) != 0) { + if !((*(*int32)(unsafe.Pointer(bp + 72 /* tmask */)) & TRIGGER_BEFORE) != 0) { goto __92 } regCols = Xsqlite3GetTempRange(tls, pParse, (int32((*Table)(unsafe.Pointer(pTab)).FnCol) + 1)) @@ -150965,7 +150965,7 @@ __105: if !((int32((*Expr)(unsafe.Pointer(pIpk)).Fop) == TK_NULL) && !((*Table)(unsafe.Pointer(pTab)).FnModuleArg != 0)) { goto __107 } - Xsqlite3VdbeAddOp3(tls, v, OP_NewRowid, *(*int32)(unsafe.Pointer(bp + 216 /* iDataCur */)), regRowid, regAutoinc) + Xsqlite3VdbeAddOp3(tls, v, OP_NewRowid, *(*int32)(unsafe.Pointer(bp + 176 /* iDataCur */)), regRowid, regAutoinc) appendFlag = U8(1) goto __108 __107: @@ -150985,7 +150985,7 @@ __104: goto __110 } addr11 = Xsqlite3VdbeAddOp1(tls, v, OP_NotNull, regRowid) - Xsqlite3VdbeAddOp3(tls, v, OP_NewRowid, *(*int32)(unsafe.Pointer(bp + 216 /* iDataCur */)), regRowid, regAutoinc) + Xsqlite3VdbeAddOp3(tls, v, OP_NewRowid, *(*int32)(unsafe.Pointer(bp + 176 /* iDataCur */)), regRowid, regAutoinc) Xsqlite3VdbeJumpHere(tls, v, addr11) goto __111 __110: @@ -151004,7 +151004,7 @@ __101: Xsqlite3VdbeAddOp2(tls, v, OP_Null, 0, regRowid) goto __113 __112: - Xsqlite3VdbeAddOp3(tls, v, OP_NewRowid, *(*int32)(unsafe.Pointer(bp + 216 /* iDataCur */)), regRowid, regAutoinc) + Xsqlite3VdbeAddOp3(tls, v, OP_NewRowid, *(*int32)(unsafe.Pointer(bp + 176 /* iDataCur */)), regRowid, regAutoinc) appendFlag = U8(1) __113: ; @@ -151041,9 +151041,9 @@ __114: goto __116 __115: - *(*int32)(unsafe.Pointer(bp + 224 /* isReplace */)) = 0 // True to use OPFLAG_SEEKRESULT - Xsqlite3GenerateConstraintChecks(tls, pParse, pTab, aRegIdx, *(*int32)(unsafe.Pointer(bp + 216 /* iDataCur */)), *(*int32)(unsafe.Pointer(bp + 220 /* iIdxCur */)), - regIns, 0, (uint8(libc.Bool32(ipkColumn >= 0))), uint8(onError), endOfLoop, bp+224 /* &isReplace */, uintptr(0), pUpsert) + *(*int32)(unsafe.Pointer(bp + 184 /* isReplace */)) = 0 // True to use OPFLAG_SEEKRESULT + Xsqlite3GenerateConstraintChecks(tls, pParse, pTab, aRegIdx, *(*int32)(unsafe.Pointer(bp + 176 /* iDataCur */)), *(*int32)(unsafe.Pointer(bp + 180 /* iIdxCur */)), + regIns, 0, (uint8(libc.Bool32(ipkColumn >= 0))), uint8(onError), endOfLoop, bp+184 /* &isReplace */, uintptr(0), pUpsert) Xsqlite3FkCheck(tls, pParse, pTab, 0, regIns, uintptr(0), 0) // Set the OPFLAG_USESEEKRESULT flag if either (a) there are no REPLACE @@ -151054,8 +151054,8 @@ __115: // cursor that is disturbed. And these instructions both clear the // VdbeCursor.seekResult variable, disabling the OPFLAG_USESEEKRESULT // functionality. - bUseSeek = (libc.Bool32((*(*int32)(unsafe.Pointer(bp + 224 /* isReplace */)) == 0) || !(Xsqlite3VdbeHasSubProgram(tls, v) != 0))) - Xsqlite3CompleteInsertion(tls, pParse, pTab, *(*int32)(unsafe.Pointer(bp + 216 /* iDataCur */)), *(*int32)(unsafe.Pointer(bp + 220 /* iIdxCur */)), + bUseSeek = (libc.Bool32((*(*int32)(unsafe.Pointer(bp + 184 /* isReplace */)) == 0) || !(Xsqlite3VdbeHasSubProgram(tls, v) != 0))) + Xsqlite3CompleteInsertion(tls, pParse, pTab, *(*int32)(unsafe.Pointer(bp + 176 /* iDataCur */)), *(*int32)(unsafe.Pointer(bp + 180 /* iIdxCur */)), regIns, aRegIdx, 0, int32(appendFlag), bUseSeek) __116: ; @@ -151348,15 +151348,15 @@ func indexIteratorNext(tls *libc.TLS, pIter uintptr, pIx uintptr) uintptr { /* s // is used. Or if pParse->onError==OE_Default then the onError value // for the constraint is used. func Xsqlite3GenerateConstraintChecks(tls *libc.TLS, pParse uintptr, pTab uintptr, aRegIdx uintptr, iDataCur int32, iIdxCur int32, regNewData int32, regOldData int32, pkChng U8, overrideError U8, ignoreDest int32, pbMayReplace uintptr, aiChng uintptr, pUpsert uintptr) { /* sqlite3.c:124634:21: */ - bp := tls.Alloc(184) - defer tls.Free(184) + bp := tls.Alloc(136) + defer tls.Free(136) var v uintptr // VDBE under constrution var pIdx uintptr // Pointer to one of the indices var pPk uintptr = uintptr(0) // The PRIMARY KEY index for WITHOUT ROWID tables var db uintptr // Database connection var i int32 // loop counter - // var ix int32 at bp+144, 4 + // var ix int32 at bp+96, 4 // Index loop counter var nCol int32 // Number of columns var onError int32 // Conflict resolution strategy @@ -151376,7 +151376,7 @@ func Xsqlite3GenerateConstraintChecks(tls *libc.TLS, pParse uintptr, pTab uintpt var lblRecheckOk int32 = 0 // Each recheck jumps to this label if it passes var pTrigger uintptr // List of DELETE triggers on the table pTab var nReplaceTrig int32 = 0 // Number of replace triggers coded - // var sIdxIter IndexIterator at bp+120, 24 + // var sIdxIter IndexIterator at bp+72, 24 // Index iterator isUpdate = (U8(libc.Bool32(regOldData != 0))) @@ -151577,10 +151577,10 @@ func Xsqlite3GenerateConstraintChecks(tls *libc.TLS, pParse uintptr, pTab uintpt // The ordering of (2) and (3) is accomplished by making sure the linked // list of indexes attached to a table puts all OE_Replace indexes last // in the list. See sqlite3CreateIndex() for where that happens. - (*IndexIterator)(unsafe.Pointer(bp + 120 /* &sIdxIter */)).FeType = 0 - (*IndexIterator)(unsafe.Pointer(bp + 120 /* &sIdxIter */)).Fi = 0 - *(*uintptr)(unsafe.Pointer(bp + 120 /* &sIdxIter */ + 8 /* &.u */ /* &.ax */ + 8 /* &.aIdx */)) = uintptr(0) // Silence harmless compiler warning - *(*uintptr)(unsafe.Pointer(bp + 120 /* &sIdxIter */ + 8 /* &.u */ /* &.lx */ /* &.pIdx */)) = (*Table)(unsafe.Pointer(pTab)).FpIndex + (*IndexIterator)(unsafe.Pointer(bp + 72 /* &sIdxIter */)).FeType = 0 + (*IndexIterator)(unsafe.Pointer(bp + 72 /* &sIdxIter */)).Fi = 0 + *(*uintptr)(unsafe.Pointer(bp + 72 /* &sIdxIter */ + 8 /* &.u */ /* &.ax */ + 8 /* &.aIdx */)) = uintptr(0) // Silence harmless compiler warning + *(*uintptr)(unsafe.Pointer(bp + 72 /* &sIdxIter */ + 8 /* &.u */ /* &.lx */ /* &.pIdx */)) = (*Table)(unsafe.Pointer(pTab)).FpIndex if pUpsert != 0 { if (*Upsert)(unsafe.Pointer(pUpsert)).FpUpsertTarget == uintptr(0) { // There is just on ON CONFLICT clause and it has no constraint-target @@ -151620,15 +151620,15 @@ func Xsqlite3GenerateConstraintChecks(tls *libc.TLS, pParse uintptr, pTab uintpt goto __3 __3: ; - (*IndexIterator)(unsafe.Pointer(bp + 120 /* &sIdxIter */)).FeType = 1 - *(*int32)(unsafe.Pointer(bp + 120 /* &sIdxIter */ + 8 /* &.u */ /* &.ax */ /* &.nIdx */)) = nIdx + (*IndexIterator)(unsafe.Pointer(bp + 72 /* &sIdxIter */)).FeType = 1 + *(*int32)(unsafe.Pointer(bp + 72 /* &sIdxIter */ + 8 /* &.u */ /* &.ax */ /* &.nIdx */)) = nIdx nByte = (((uint64(unsafe.Sizeof(IndexListTerm{})) + uint64(1)) * uint64(nIdx)) + uint64(nIdx)) - *(*uintptr)(unsafe.Pointer(bp + 120 /* &sIdxIter */ + 8 /* &.u */ /* &.ax */ + 8 /* &.aIdx */)) = Xsqlite3DbMallocZero(tls, db, nByte) - if *(*uintptr)(unsafe.Pointer((bp + 120 /* &sIdxIter */ + 8 /* &.u */ /* &.ax */) + 8 /* &.aIdx */)) == uintptr(0) { + *(*uintptr)(unsafe.Pointer(bp + 72 /* &sIdxIter */ + 8 /* &.u */ /* &.ax */ + 8 /* &.aIdx */)) = Xsqlite3DbMallocZero(tls, db, nByte) + if *(*uintptr)(unsafe.Pointer((bp + 72 /* &sIdxIter */ + 8 /* &.u */ /* &.ax */) + 8 /* &.aIdx */)) == uintptr(0) { return } // OOM - bUsed = (*(*uintptr)(unsafe.Pointer((bp + 120 /* &sIdxIter */ + 8 /* &.u */ /* &.ax */) + 8 /* &.aIdx */)) + uintptr(nIdx)*16) - (*Upsert)(unsafe.Pointer(pUpsert)).FpToFree = *(*uintptr)(unsafe.Pointer(bp + 120 /* &sIdxIter */ + 8 /* &.u */ /* &.ax */ + 8 /* &.aIdx */)) + bUsed = (*(*uintptr)(unsafe.Pointer((bp + 72 /* &sIdxIter */ + 8 /* &.u */ /* &.ax */) + 8 /* &.aIdx */)) + uintptr(nIdx)*16) + (*Upsert)(unsafe.Pointer(pUpsert)).FpToFree = *(*uintptr)(unsafe.Pointer(bp + 72 /* &sIdxIter */ + 8 /* &.u */ /* &.ax */ + 8 /* &.aIdx */)) i = 0 pTerm = pUpsert for ; pTerm != 0; pTerm = (*Upsert)(unsafe.Pointer(pTerm)).FpNextUpsert { @@ -151648,8 +151648,8 @@ func Xsqlite3GenerateConstraintChecks(tls *libc.TLS, pParse uintptr, pTab uintpt continue } // Duplicate ON CONFLICT clause ignored *(*U8)(unsafe.Pointer(bUsed + uintptr(jj))) = U8(1) - (*IndexListTerm)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer((bp + 120 /* &sIdxIter */ + 8 /* &.u */ /* &.ax */) + 8 /* &.aIdx */)) + uintptr(i)*16)).Fp = pIdx - (*IndexListTerm)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer((bp + 120 /* &sIdxIter */ + 8 /* &.u */ /* &.ax */) + 8 /* &.aIdx */)) + uintptr(i)*16)).Fix = jj + (*IndexListTerm)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer((bp + 72 /* &sIdxIter */ + 8 /* &.u */ /* &.ax */) + 8 /* &.aIdx */)) + uintptr(i)*16)).Fp = pIdx + (*IndexListTerm)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer((bp + 72 /* &sIdxIter */ + 8 /* &.u */ /* &.ax */) + 8 /* &.aIdx */)) + uintptr(i)*16)).Fix = jj i++ } jj = 0 @@ -151662,8 +151662,8 @@ func Xsqlite3GenerateConstraintChecks(tls *libc.TLS, pParse uintptr, pTab uintpt if *(*U8)(unsafe.Pointer(bUsed + uintptr(jj))) != 0 { goto __5 } - (*IndexListTerm)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer((bp + 120 /* &sIdxIter */ + 8 /* &.u */ /* &.ax */) + 8 /* &.aIdx */)) + uintptr(i)*16)).Fp = pIdx - (*IndexListTerm)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer((bp + 120 /* &sIdxIter */ + 8 /* &.u */ /* &.ax */) + 8 /* &.aIdx */)) + uintptr(i)*16)).Fix = jj + (*IndexListTerm)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer((bp + 72 /* &sIdxIter */ + 8 /* &.u */ /* &.ax */) + 8 /* &.aIdx */)) + uintptr(i)*16)).Fp = pIdx + (*IndexListTerm)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer((bp + 72 /* &sIdxIter */ + 8 /* &.u */ /* &.ax */) + 8 /* &.aIdx */)) + uintptr(i)*16)).Fix = jj i++ } @@ -151872,14 +151872,14 @@ func Xsqlite3GenerateConstraintChecks(tls *libc.TLS, pParse uintptr, pTab uintpt // // This loop also handles the case of the PRIMARY KEY index for a // WITHOUT ROWID table. - for pIdx = indexIteratorFirst(tls, bp+120 /* &sIdxIter */, bp+144 /* &ix */); pIdx != 0; pIdx = indexIteratorNext(tls, bp+120 /* &sIdxIter */, bp+144 /* &ix */) { + for pIdx = indexIteratorFirst(tls, bp+72 /* &sIdxIter */, bp+96 /* &ix */); pIdx != 0; pIdx = indexIteratorNext(tls, bp+72 /* &sIdxIter */, bp+96 /* &ix */) { var regIdx int32 // Range of registers hold conent for pIdx var regR int32 // Range of registers holding conflicting PK var iThisCur int32 // Cursor for this UNIQUE index var addrUniqueOk int32 // Jump here if the UNIQUE constraint is satisfied var addrConflictCk int32 // First opcode in the conflict check logic - if *(*int32)(unsafe.Pointer(aRegIdx + uintptr(*(*int32)(unsafe.Pointer(bp + 144 /* ix */)))*4)) == 0 { + if *(*int32)(unsafe.Pointer(aRegIdx + uintptr(*(*int32)(unsafe.Pointer(bp + 96 /* ix */)))*4)) == 0 { continue } // Skip indices that do not change if pUpsert != 0 { @@ -151893,12 +151893,12 @@ func Xsqlite3GenerateConstraintChecks(tls *libc.TLS, pParse uintptr, pTab uintpt Xsqlite3TableAffinity(tls, v, pTab, (regNewData + 1)) bAffinityDone = U8(1) } - Xsqlite3VdbeNoopComment(tls, v, ts+22355 /* "prep index %s" */, libc.VaList(bp+24, (*Index)(unsafe.Pointer(pIdx)).FzName)) - iThisCur = (iIdxCur + *(*int32)(unsafe.Pointer(bp + 144 /* ix */))) + Xsqlite3VdbeNoopComment(tls, v, ts+22355 /* "prep index %s" */, libc.VaList(bp+16, (*Index)(unsafe.Pointer(pIdx)).FzName)) + iThisCur = (iIdxCur + *(*int32)(unsafe.Pointer(bp + 96 /* ix */))) // Skip partial indices for which the WHERE clause is not true if (*Index)(unsafe.Pointer(pIdx)).FpPartIdxWhere != 0 { - Xsqlite3VdbeAddOp2(tls, v, OP_Null, 0, *(*int32)(unsafe.Pointer(aRegIdx + uintptr(*(*int32)(unsafe.Pointer(bp + 144 /* ix */)))*4))) + Xsqlite3VdbeAddOp2(tls, v, OP_Null, 0, *(*int32)(unsafe.Pointer(aRegIdx + uintptr(*(*int32)(unsafe.Pointer(bp + 96 /* ix */)))*4))) (*Parse)(unsafe.Pointer(pParse)).FiSelfTab = -(regNewData + 1) Xsqlite3ExprIfFalseDup(tls, pParse, (*Index)(unsafe.Pointer(pIdx)).FpPartIdxWhere, addrUniqueOk, SQLITE_JUMPIFNULL) @@ -151907,7 +151907,7 @@ func Xsqlite3GenerateConstraintChecks(tls *libc.TLS, pParse uintptr, pTab uintpt // Create a record for this index entry as it should appear after // the insert or update. Store that record in the aRegIdx[ix] register - regIdx = (*(*int32)(unsafe.Pointer(aRegIdx + uintptr(*(*int32)(unsafe.Pointer(bp + 144 /* ix */)))*4)) + 1) + regIdx = (*(*int32)(unsafe.Pointer(aRegIdx + uintptr(*(*int32)(unsafe.Pointer(bp + 96 /* ix */)))*4)) + 1) for i = 0; i < int32((*Index)(unsafe.Pointer(pIdx)).FnColumn); i++ { var iField int32 = int32(*(*I16)(unsafe.Pointer((*Index)(unsafe.Pointer(pIdx)).FaiColumn + uintptr(i)*2))) var x int32 @@ -151915,7 +151915,7 @@ func Xsqlite3GenerateConstraintChecks(tls *libc.TLS, pParse uintptr, pTab uintpt (*Parse)(unsafe.Pointer(pParse)).FiSelfTab = -(regNewData + 1) Xsqlite3ExprCodeCopy(tls, pParse, (*ExprList_item)(unsafe.Pointer(((*Index)(unsafe.Pointer(pIdx)).FaColExpr+8 /* &.a */)+uintptr(i)*32)).FpExpr, (regIdx + i)) (*Parse)(unsafe.Pointer(pParse)).FiSelfTab = 0 - Xsqlite3VdbeComment(tls, v, ts+22369 /* "%s column %d" */, libc.VaList(bp+40, (*Index)(unsafe.Pointer(pIdx)).FzName, i)) + Xsqlite3VdbeComment(tls, v, ts+22369 /* "%s column %d" */, libc.VaList(bp+24, (*Index)(unsafe.Pointer(pIdx)).FzName, i)) } else if (iField == (-1)) || (iField == int32((*Table)(unsafe.Pointer(pTab)).FiPKey)) { x = regNewData Xsqlite3VdbeAddOp2(tls, v, OP_IntCopy, x, (regIdx + i)) @@ -151924,11 +151924,11 @@ func Xsqlite3GenerateConstraintChecks(tls *libc.TLS, pParse uintptr, pTab uintpt x = ((int32(Xsqlite3TableColumnToStorage(tls, pTab, int16(iField))) + regNewData) + 1) Xsqlite3VdbeAddOp2(tls, v, OP_SCopy, x, (regIdx + i)) - Xsqlite3VdbeComment(tls, v, ts+951 /* "%s" */, libc.VaList(bp+64, (*Column)(unsafe.Pointer((*Table)(unsafe.Pointer(pTab)).FaCol+uintptr(iField)*32)).FzName)) + Xsqlite3VdbeComment(tls, v, ts+951 /* "%s" */, libc.VaList(bp+40, (*Column)(unsafe.Pointer((*Table)(unsafe.Pointer(pTab)).FaCol+uintptr(iField)*32)).FzName)) } } - Xsqlite3VdbeAddOp3(tls, v, OP_MakeRecord, regIdx, int32((*Index)(unsafe.Pointer(pIdx)).FnColumn), *(*int32)(unsafe.Pointer(aRegIdx + uintptr(*(*int32)(unsafe.Pointer(bp + 144 /* ix */)))*4))) - Xsqlite3VdbeComment(tls, v, ts+22382 /* "for %s" */, libc.VaList(bp+80, (*Index)(unsafe.Pointer(pIdx)).FzName)) + Xsqlite3VdbeAddOp3(tls, v, OP_MakeRecord, regIdx, int32((*Index)(unsafe.Pointer(pIdx)).FnColumn), *(*int32)(unsafe.Pointer(aRegIdx + uintptr(*(*int32)(unsafe.Pointer(bp + 96 /* ix */)))*4))) + Xsqlite3VdbeComment(tls, v, ts+22382 /* "for %s" */, libc.VaList(bp+48, (*Index)(unsafe.Pointer(pIdx)).FzName)) // In an UPDATE operation, if this index is the PRIMARY KEY index // of a WITHOUT ROWID table and there has been no change the @@ -152001,7 +152001,7 @@ func Xsqlite3GenerateConstraintChecks(tls *libc.TLS, pParse uintptr, pTab uintpt x = int32(Xsqlite3TableColumnToIndex(tls, pIdx, *(*I16)(unsafe.Pointer((*Index)(unsafe.Pointer(pPk)).FaiColumn + uintptr(i)*2)))) Xsqlite3VdbeAddOp3(tls, v, OP_Column, iThisCur, x, (regR + i)) - Xsqlite3VdbeComment(tls, v, ts+14807 /* "%s.%s" */, libc.VaList(bp+96, (*Table)(unsafe.Pointer(pTab)).FzName, (*Column)(unsafe.Pointer((*Table)(unsafe.Pointer(pTab)).FaCol+uintptr(*(*I16)(unsafe.Pointer((*Index)(unsafe.Pointer(pPk)).FaiColumn + uintptr(i)*2)))*32)).FzName)) + Xsqlite3VdbeComment(tls, v, ts+14807 /* "%s.%s" */, libc.VaList(bp+56, (*Table)(unsafe.Pointer(pTab)).FzName, (*Column)(unsafe.Pointer((*Table)(unsafe.Pointer(pTab)).FaCol+uintptr(*(*I16)(unsafe.Pointer((*Index)(unsafe.Pointer(pPk)).FaiColumn + uintptr(i)*2)))*32)).FzName)) } } if isUpdate != 0 { @@ -152055,7 +152055,7 @@ func Xsqlite3GenerateConstraintChecks(tls *libc.TLS, pParse uintptr, pTab uintpt } case OE_Update: { - Xsqlite3UpsertDoUpdate(tls, pParse, pUpsert, pTab, pIdx, (iIdxCur + *(*int32)(unsafe.Pointer(bp + 144 /* ix */)))) + Xsqlite3UpsertDoUpdate(tls, pParse, pUpsert, pTab, pIdx, (iIdxCur + *(*int32)(unsafe.Pointer(bp + 96 /* ix */)))) } fallthrough @@ -152112,27 +152112,27 @@ func Xsqlite3GenerateConstraintChecks(tls *libc.TLS, pParse uintptr, pTab uintpt // the constraint-ok jump destination to be the address of // the next retest block for nConflictCk > 0 { - // var x VdbeOp at bp+152, 32 + // var x VdbeOp at bp+104, 32 // Conflict check opcode to copy // The sqlite3VdbeAddOp4() call might reallocate the opcode array. // Hence, make a complete copy of the opcode, rather than using // a pointer to the opcode. - *(*VdbeOp)(unsafe.Pointer(bp + 152 /* x */)) = *(*VdbeOp)(unsafe.Pointer(Xsqlite3VdbeGetOp(tls, v, addrConflictCk))) - if int32((*VdbeOp)(unsafe.Pointer(bp+152 /* &x */)).Fopcode) != OP_IdxRowid { + *(*VdbeOp)(unsafe.Pointer(bp + 104 /* x */)) = *(*VdbeOp)(unsafe.Pointer(Xsqlite3VdbeGetOp(tls, v, addrConflictCk))) + if int32((*VdbeOp)(unsafe.Pointer(bp+104 /* &x */)).Fopcode) != OP_IdxRowid { var p2 int32 // New P2 value for copied conflict check opcode var zP4 uintptr - if (int32(Xsqlite3OpcodeProperty[(*VdbeOp)(unsafe.Pointer(bp+152 /* &x */)).Fopcode]) & OPFLG_JUMP) != 0 { + if (int32(Xsqlite3OpcodeProperty[(*VdbeOp)(unsafe.Pointer(bp+104 /* &x */)).Fopcode]) & OPFLG_JUMP) != 0 { p2 = lblRecheckOk } else { - p2 = (*VdbeOp)(unsafe.Pointer(bp + 152 /* &x */)).Fp2 + p2 = (*VdbeOp)(unsafe.Pointer(bp + 104 /* &x */)).Fp2 } - if int32((*VdbeOp)(unsafe.Pointer(bp+152 /* &x */)).Fp4type) == (-3) { - zP4 = uintptr(int64(*(*int32)(unsafe.Pointer(bp + 152 /* &x */ + 16 /* &.p4 */)))) + if int32((*VdbeOp)(unsafe.Pointer(bp+104 /* &x */)).Fp4type) == (-3) { + zP4 = uintptr(int64(*(*int32)(unsafe.Pointer(bp + 104 /* &x */ + 16 /* &.p4 */)))) } else { - zP4 = *(*uintptr)(unsafe.Pointer(bp + 152 /* &x */ + 16 /* &.p4 */)) + zP4 = *(*uintptr)(unsafe.Pointer(bp + 104 /* &x */ + 16 /* &.p4 */)) } - Xsqlite3VdbeAddOp4(tls, v, int32((*VdbeOp)(unsafe.Pointer(bp+152 /* &x */)).Fopcode), (*VdbeOp)(unsafe.Pointer(bp+152 /* &x */)).Fp1, p2, (*VdbeOp)(unsafe.Pointer(bp+152 /* &x */)).Fp3, zP4, int32((*VdbeOp)(unsafe.Pointer(bp+152 /* &x */)).Fp4type)) - Xsqlite3VdbeChangeP5(tls, v, (*VdbeOp)(unsafe.Pointer(bp+152 /* &x */)).Fp5) + Xsqlite3VdbeAddOp4(tls, v, int32((*VdbeOp)(unsafe.Pointer(bp+104 /* &x */)).Fopcode), (*VdbeOp)(unsafe.Pointer(bp+104 /* &x */)).Fp1, p2, (*VdbeOp)(unsafe.Pointer(bp+104 /* &x */)).Fp3, zP4, int32((*VdbeOp)(unsafe.Pointer(bp+104 /* &x */)).Fp4type)) + Xsqlite3VdbeChangeP5(tls, v, (*VdbeOp)(unsafe.Pointer(bp+104 /* &x */)).Fp5) } nConflictCk-- @@ -152190,7 +152190,7 @@ func Xsqlite3GenerateConstraintChecks(tls *libc.TLS, pParse uintptr, pTab uintpt // Generate the table record if ((*Table)(unsafe.Pointer((pTab))).FtabFlags & U32(TF_WithoutRowid)) == U32(0) { - var regRec int32 = *(*int32)(unsafe.Pointer(aRegIdx + uintptr(*(*int32)(unsafe.Pointer(bp + 144 /* ix */)))*4)) + var regRec int32 = *(*int32)(unsafe.Pointer(aRegIdx + uintptr(*(*int32)(unsafe.Pointer(bp + 96 /* ix */)))*4)) Xsqlite3VdbeAddOp3(tls, v, OP_MakeRecord, (regNewData + 1), int32((*Table)(unsafe.Pointer(pTab)).FnNVCol), regRec) if !(bAffinityDone != 0) { @@ -152328,8 +152328,8 @@ __3: // If pTab is a virtual table, then this routine is a no-op and the // *piDataCur and *piIdxCur values are left uninitialized. func Xsqlite3OpenTableAndIndices(tls *libc.TLS, pParse uintptr, pTab uintptr, op int32, p5 U8, iBase int32, aToOpen uintptr, piDataCur uintptr, piIdxCur uintptr) int32 { /* sqlite3.c:125604:20: */ - bp := tls.Alloc(16) - defer tls.Free(16) + bp := tls.Alloc(8) + defer tls.Free(8) var i int32 var iDb int32 @@ -152472,8 +152472,8 @@ func xferCompatibleIndex(tls *libc.TLS, pDest uintptr, pSrc uintptr) int32 { /* // // This optimization is particularly useful at making VACUUM run faster. func xferOptimization(tls *libc.TLS, pParse uintptr, pDest uintptr, pSelect uintptr, onError int32, iDbDest int32) int32 { /* sqlite3.c:125743:12: */ - bp := tls.Alloc(32) - defer tls.Free(32) + bp := tls.Alloc(16) + defer tls.Free(16) var db uintptr = (*Parse)(unsafe.Pointer(pParse)).Fdb var pEList uintptr // The result set of the SELECT @@ -152765,7 +152765,7 @@ func xferOptimization(tls *libc.TLS, pParse uintptr, pDest uintptr, pSelect uint Xsqlite3VdbeAddOp3(tls, v, OP_OpenWrite, iDest, int32((*Index)(unsafe.Pointer(pDestIdx)).Ftnum), iDbDest) Xsqlite3VdbeSetP4KeyInfo(tls, pParse, pDestIdx) Xsqlite3VdbeChangeP5(tls, v, uint16(OPFLAG_BULKCSR)) - Xsqlite3VdbeComment(tls, v, ts+951 /* "%s" */, libc.VaList(bp+16, (*Index)(unsafe.Pointer(pDestIdx)).FzName)) + Xsqlite3VdbeComment(tls, v, ts+951 /* "%s" */, libc.VaList(bp+8, (*Index)(unsafe.Pointer(pDestIdx)).FzName)) addr1 = Xsqlite3VdbeAddOp2(tls, v, OP_Rewind, iSrc, 0) if ((*Sqlite3)(unsafe.Pointer(db)).FmDbFlags & U32(DBFLAG_Vacuum)) != 0 { // This INSERT command is part of a VACUUM operation, which guarantees @@ -153400,13 +153400,13 @@ var sqlite3Apis = Sqlite3_api_routines{ // error message text. The calling function should free this memory // by calling sqlite3DbFree(db, ). func sqlite3LoadExtension(tls *libc.TLS, db uintptr, zFile uintptr, zProc uintptr, pzErrMsg uintptr) int32 { /* sqlite3.c:127439:12: */ - bp := tls.Alloc(96) - defer tls.Free(96) + bp := tls.Alloc(64) + defer tls.Free(64) var pVfs uintptr var handle uintptr var xInit Sqlite3_loadext_entry - // var zErrmsg uintptr at bp+88, 8 + // var zErrmsg uintptr at bp+56, 8 var zEntry uintptr var zAltEntry uintptr @@ -153420,7 +153420,7 @@ func sqlite3LoadExtension(tls *libc.TLS, db uintptr, zFile uintptr, zProc uintpt var c int32 var ncFile int32 pVfs = (*Sqlite3)(unsafe.Pointer(db)).FpVfs - *(*uintptr)(unsafe.Pointer(bp + 88 /* zErrmsg */)) = uintptr(0) + *(*uintptr)(unsafe.Pointer(bp + 56 /* zErrmsg */)) = uintptr(0) zAltEntry = uintptr(0) nMsg = libc.Xstrlen(tls, zFile) @@ -153569,14 +153569,14 @@ __10: goto __21 } nMsg = nMsg + (libc.Xstrlen(tls, zEntry) + uint64(300)) - *(*uintptr)(unsafe.Pointer(pzErrMsg)) = libc.AssignPtrUintptr(bp+88 /* zErrmsg */, Xsqlite3_malloc64(tls, nMsg)) - if !(*(*uintptr)(unsafe.Pointer(bp + 88 /* zErrmsg */)) != 0) { + *(*uintptr)(unsafe.Pointer(pzErrMsg)) = libc.AssignPtrUintptr(bp+56 /* zErrmsg */, Xsqlite3_malloc64(tls, nMsg)) + if !(*(*uintptr)(unsafe.Pointer(bp + 56 /* zErrmsg */)) != 0) { goto __22 } // zErrmsg would be NULL if not so - Xsqlite3_snprintf(tls, int32(nMsg), *(*uintptr)(unsafe.Pointer(bp + 88 /* zErrmsg */)), - ts+22461 /* "no entry point [..." */, libc.VaList(bp+24, zEntry, zFile)) - Xsqlite3OsDlError(tls, pVfs, (int32(nMsg - uint64(1))), *(*uintptr)(unsafe.Pointer(bp + 88 /* zErrmsg */))) + Xsqlite3_snprintf(tls, int32(nMsg), *(*uintptr)(unsafe.Pointer(bp + 56 /* zErrmsg */)), + ts+22461 /* "no entry point [..." */, libc.VaList(bp+16, zEntry, zFile)) + Xsqlite3OsDlError(tls, pVfs, (int32(nMsg - uint64(1))), *(*uintptr)(unsafe.Pointer(bp + 56 /* zErrmsg */))) __22: ; __21: @@ -153587,7 +153587,7 @@ __21: __20: ; Xsqlite3_free(tls, zAltEntry) - rc = (*(*func(*libc.TLS, uintptr, uintptr, uintptr) int32)(unsafe.Pointer(&xInit)))(tls, db, bp+88 /* &zErrmsg */, uintptr(unsafe.Pointer(&sqlite3Apis))) + rc = (*(*func(*libc.TLS, uintptr, uintptr, uintptr) int32)(unsafe.Pointer(&xInit)))(tls, db, bp+56 /* &zErrmsg */, uintptr(unsafe.Pointer(&sqlite3Apis))) if !(rc != 0) { goto __23 } @@ -153600,10 +153600,10 @@ __24: if !(pzErrMsg != 0) { goto __25 } - *(*uintptr)(unsafe.Pointer(pzErrMsg)) = Xsqlite3_mprintf(tls, ts+22504 /* "error during ini..." */, libc.VaList(bp+48, *(*uintptr)(unsafe.Pointer(bp + 88 /* zErrmsg */)))) + *(*uintptr)(unsafe.Pointer(pzErrMsg)) = Xsqlite3_mprintf(tls, ts+22504 /* "error during ini..." */, libc.VaList(bp+32, *(*uintptr)(unsafe.Pointer(bp + 56 /* zErrmsg */)))) __25: ; - Xsqlite3_free(tls, *(*uintptr)(unsafe.Pointer(bp + 88 /* zErrmsg */))) + Xsqlite3_free(tls, *(*uintptr)(unsafe.Pointer(bp + 56 /* zErrmsg */))) Xsqlite3OsDlClose(tls, pVfs, handle) return SQLITE_ERROR __23: @@ -153634,14 +153634,14 @@ extension_not_found: goto __28 } nMsg = nMsg + (uint64(300)) - *(*uintptr)(unsafe.Pointer(pzErrMsg)) = libc.AssignPtrUintptr(bp+88 /* zErrmsg */, Xsqlite3_malloc64(tls, nMsg)) - if !(*(*uintptr)(unsafe.Pointer(bp + 88 /* zErrmsg */)) != 0) { + *(*uintptr)(unsafe.Pointer(pzErrMsg)) = libc.AssignPtrUintptr(bp+56 /* zErrmsg */, Xsqlite3_malloc64(tls, nMsg)) + if !(*(*uintptr)(unsafe.Pointer(bp + 56 /* zErrmsg */)) != 0) { goto __29 } // zErrmsg would be NULL if not so - Xsqlite3_snprintf(tls, int32(nMsg), *(*uintptr)(unsafe.Pointer(bp + 88 /* zErrmsg */)), - ts+22536 /* "unable to open s..." */, libc.VaList(bp+64, FILENAME_MAX, zFile)) - Xsqlite3OsDlError(tls, pVfs, (int32(nMsg - uint64(1))), *(*uintptr)(unsafe.Pointer(bp + 88 /* zErrmsg */))) + Xsqlite3_snprintf(tls, int32(nMsg), *(*uintptr)(unsafe.Pointer(bp + 56 /* zErrmsg */)), + ts+22536 /* "unable to open s..." */, libc.VaList(bp+40, FILENAME_MAX, zFile)) + Xsqlite3OsDlError(tls, pVfs, (int32(nMsg - uint64(1))), *(*uintptr)(unsafe.Pointer(bp + 56 /* zErrmsg */))) __29: ; __28: @@ -153789,8 +153789,8 @@ func Xsqlite3_reset_auto_extension(tls *libc.TLS) { /* sqlite3.c:127739:17: */ // // If anything goes wrong, set an error in the database connection. func Xsqlite3AutoLoadExtensions(tls *libc.TLS, db uintptr) { /* sqlite3.c:127761:21: */ - bp := tls.Alloc(24) - defer tls.Free(24) + bp := tls.Alloc(16) + defer tls.Free(16) var i U32 var go1 int32 = 1 @@ -153802,7 +153802,7 @@ func Xsqlite3AutoLoadExtensions(tls *libc.TLS, db uintptr) { /* sqlite3.c:127761 return } for i = U32(0); go1 != 0; i++ { - // var zErrmsg uintptr at bp+16, 8 + // var zErrmsg uintptr at bp+8, 8 var mutex uintptr = Xsqlite3MutexAlloc(tls, SQLITE_MUTEX_STATIC_MAIN) var pThunk uintptr = uintptr(unsafe.Pointer(&sqlite3Apis)) @@ -153814,13 +153814,13 @@ func Xsqlite3AutoLoadExtensions(tls *libc.TLS, db uintptr) { /* sqlite3.c:127761 xInit = *(*uintptr)(unsafe.Pointer(sqlite3Autoext.FaExt + uintptr(i)*8)) } Xsqlite3_mutex_leave(tls, mutex) - *(*uintptr)(unsafe.Pointer(bp + 16 /* zErrmsg */)) = uintptr(0) - if (xInit != 0) && ((libc.AssignInt32(&rc, (*(*func(*libc.TLS, uintptr, uintptr, uintptr) int32)(unsafe.Pointer(&xInit)))(tls, db, bp+16 /* &zErrmsg */, pThunk))) != 0) { + *(*uintptr)(unsafe.Pointer(bp + 8 /* zErrmsg */)) = uintptr(0) + if (xInit != 0) && ((libc.AssignInt32(&rc, (*(*func(*libc.TLS, uintptr, uintptr, uintptr) int32)(unsafe.Pointer(&xInit)))(tls, db, bp+8 /* &zErrmsg */, pThunk))) != 0) { Xsqlite3ErrorWithMsg(tls, db, rc, - ts+22577 /* "automatic extens..." */, libc.VaList(bp, *(*uintptr)(unsafe.Pointer(bp + 16 /* zErrmsg */)))) + ts+22577 /* "automatic extens..." */, libc.VaList(bp, *(*uintptr)(unsafe.Pointer(bp + 8 /* zErrmsg */)))) go1 = 0 } - Xsqlite3_free(tls, *(*uintptr)(unsafe.Pointer(bp + 16 /* zErrmsg */))) + Xsqlite3_free(tls, *(*uintptr)(unsafe.Pointer(bp + 8 /* zErrmsg */))) } } @@ -154441,8 +154441,8 @@ func pragmaLocate(tls *libc.TLS, zName uintptr) uintptr { /* sqlite3.c:128736:25 // Create zero or more entries in the output for the SQL functions // defined by FuncDef p. func pragmaFunclistLine(tls *libc.TLS, v uintptr, p uintptr, isBuiltin int32, showInternFuncs int32) { /* sqlite3.c:128757:13: */ - bp := tls.Alloc(56) - defer tls.Free(56) + bp := tls.Alloc(48) + defer tls.Free(48) for ; p != 0; p = (*FuncDef)(unsafe.Pointer(p)).FpNext { var zType uintptr @@ -154500,15 +154500,15 @@ func integrityCheckResultRow(tls *libc.TLS, v uintptr) int32 { /* sqlite3.c:1288 // and pId2 is the id. If the left side is just "id" then pId1 is the // id and pId2 is any empty string. func Xsqlite3Pragma(tls *libc.TLS, pParse uintptr, pId1 uintptr, pId2 uintptr, pValue uintptr, minusFlag int32) { /* sqlite3.c:128833:21: */ - bp := tls.Alloc(716) - defer tls.Free(716) + bp := tls.Alloc(556) + defer tls.Free(556) var zLeft uintptr // Nul-terminated UTF-8 string var zRight uintptr // Nul-terminated UTF-8 string , or NULL var zDb uintptr // The database name - // var pId uintptr at bp+544, 8 + // var pId uintptr at bp+384, 8 // Pointer to token - // var aFcntl [4]uintptr at bp+552, 32 + // var aFcntl [4]uintptr at bp+392, 32 // Argument to SQLITE_FCNTL_PRAGMA var iDb int32 // Database index for var rc int32 // return value form SQLITE_FCNTL_PRAGMA @@ -154524,7 +154524,7 @@ func Xsqlite3Pragma(tls *libc.TLS, pParse uintptr, pId1 uintptr, pId2 uintptr, p var pBt1 uintptr var b int32 var iReg int32 - // var x I64 at bp+584, 8 + // var x I64 at bp+424, 8 // This indicates that no database name was specified as part // of the PRAGMA command. In this case the locking-mode must be @@ -154542,24 +154542,24 @@ func Xsqlite3Pragma(tls *libc.TLS, pParse uintptr, pId1 uintptr, pId2 uintptr, p var eMode1 int32 // One of the PAGER_JOURNALMODE_XXX symbols var ii2 int32 var pPager1 uintptr - // var iLimit I64 at bp+592, 8 + // var iLimit I64 at bp+432, 8 var aOp1 uintptr var iAddr int32 var eAuto int32 var pBt2 uintptr - // var iLimit1 int32 at bp+600, 4 + // var iLimit1 int32 at bp+440, 4 var addr int32 var size2 int32 - // var size3 int32 at bp+604, 4 + // var size3 int32 at bp+444, 4 var ii3 int32 - // var sz Sqlite3_int64 at bp+608, 8 + // var sz Sqlite3_int64 at bp+448, 8 - // var res int32 at bp+616, 4 + // var res int32 at bp+456, 4 - // var res1 int32 at bp+620, 4 + // var res1 int32 at bp+460, 4 var iLevel int32 var mask U64 @@ -154576,7 +154576,7 @@ func Xsqlite3Pragma(tls *libc.TLS, pParse uintptr, pId1 uintptr, pId2 uintptr, p var mx int32 var pIdx uintptr var pTab1 uintptr - // var azOrigin [3]uintptr at bp+624, 24 + // var azOrigin [3]uintptr at bp+464, 24 var iTabDb int32 var pIdx1 uintptr @@ -154603,7 +154603,7 @@ func Xsqlite3Pragma(tls *libc.TLS, pParse uintptr, pId1 uintptr, pId2 uintptr, p var pFK1 uintptr // A foreign key constraint var pTab4 uintptr // Child table contain "REFERENCES" keyword var pParent uintptr // Parent table that child points to - // var pIdx2 uintptr at bp+648, 8 + // var pIdx2 uintptr at bp+488, 8 // Index in the parent table var i8 int32 // Loop counter: Foreign key number for pTab var j3 int32 // Loop counter: Field of the foreign key @@ -154614,7 +154614,7 @@ func Xsqlite3Pragma(tls *libc.TLS, pParse uintptr, pId1 uintptr, pId2 uintptr, p var regRow int32 // Registers to hold a row from pTab var addrTop int32 // Top of a loop checking foreign keys var addrOk int32 // Jump here if the key is OK - // var aiCols uintptr at bp+656, 8 + // var aiCols uintptr at bp+496, 8 var pTab5 uintptr // Current table var pIdx3 uintptr // An index on pTab @@ -154633,7 +154633,7 @@ func Xsqlite3Pragma(tls *libc.TLS, pParse uintptr, pId1 uintptr, pId2 uintptr, p var jmp6 int32 var kk int32 var jmp21 int32 - // var jmp3 int32 at bp+676, 4 + // var jmp3 int32 at bp+516, 4 var jmp4 int32 var jmp5 int32 @@ -154643,9 +154643,9 @@ func Xsqlite3Pragma(tls *libc.TLS, pParse uintptr, pId1 uintptr, pId2 uintptr, p var pPk1 uintptr var pPrior uintptr var loopTop int32 - // var iDataCur int32 at bp+668, 4 + // var iDataCur int32 at bp+508, 4 - // var iIdxCur int32 at bp+672, 4 + // var iIdxCur int32 at bp+512, 4 var r1 int32 var x2 uintptr // For looping over tables in the schema @@ -154657,7 +154657,7 @@ func Xsqlite3Pragma(tls *libc.TLS, pParse uintptr, pId1 uintptr, pId2 uintptr, p var i9 int32 var j4 int32 var addr1 int32 - // var mxErr int32 at bp+664, 4 + // var mxErr int32 at bp+504, 4 var pObjTab uintptr // Check only this one table, if not NULL @@ -154681,18 +154681,18 @@ func Xsqlite3Pragma(tls *libc.TLS, pParse uintptr, pId1 uintptr, pId2 uintptr, p var szThreshold LogEst // Size threshold above which reanalysis is needd var zSubSql uintptr // SQL statement for the OP_SqlExec opcode var opMask U32 - // var N Sqlite3_int64 at bp+680, 8 + // var N Sqlite3_int64 at bp+520, 8 var iPrior Sqlite3_int64 - // var N1 Sqlite3_int64 at bp+688, 8 + // var N1 Sqlite3_int64 at bp+528, 8 - // var N2 Sqlite3_int64 at bp+696, 8 + // var N2 Sqlite3_int64 at bp+536, 8 - // var N3 Sqlite3_int64 at bp+704, 8 + // var N3 Sqlite3_int64 at bp+544, 8 var pBt3 uintptr var zState uintptr - // var j5 int32 at bp+712, 4 + // var j5 int32 at bp+552, 4 var i11 int32 zLeft = uintptr(0) @@ -154712,7 +154712,7 @@ __1: // Interpret the [schema.] part of the pragma statement. iDb is the // index of the database this pragma is being applied to in db.aDb[]. - iDb = Xsqlite3TwoPartName(tls, pParse, pId1, pId2, bp+544 /* &pId */) + iDb = Xsqlite3TwoPartName(tls, pParse, pId1, pId2, bp+384 /* &pId */) if !(iDb < 0) { goto __2 } @@ -154730,7 +154730,7 @@ __2: __3: ; - zLeft = Xsqlite3NameFromToken(tls, db, *(*uintptr)(unsafe.Pointer(bp + 544 /* pId */))) + zLeft = Xsqlite3NameFromToken(tls, db, *(*uintptr)(unsafe.Pointer(bp + 384 /* pId */))) if !(!(zLeft != 0)) { goto __4 } @@ -154773,30 +154773,30 @@ __7: // second element of the array is the name of the pragma and the third // element is the argument to the pragma or NULL if the pragma has no // argument. - *(*uintptr)(unsafe.Pointer(bp + 552 /* &aFcntl[0] */)) = uintptr(0) - *(*uintptr)(unsafe.Pointer(bp + 552 /* &aFcntl[0] */ + 1*8)) = zLeft - *(*uintptr)(unsafe.Pointer(bp + 552 /* &aFcntl[0] */ + 2*8)) = zRight - *(*uintptr)(unsafe.Pointer(bp + 552 /* &aFcntl[0] */ + 3*8)) = uintptr(0) + *(*uintptr)(unsafe.Pointer(bp + 392 /* &aFcntl[0] */)) = uintptr(0) + *(*uintptr)(unsafe.Pointer(bp + 392 /* &aFcntl[0] */ + 1*8)) = zLeft + *(*uintptr)(unsafe.Pointer(bp + 392 /* &aFcntl[0] */ + 2*8)) = zRight + *(*uintptr)(unsafe.Pointer(bp + 392 /* &aFcntl[0] */ + 3*8)) = uintptr(0) (*Sqlite3)(unsafe.Pointer(db)).FbusyHandler.FnBusy = 0 - rc = Xsqlite3_file_control(tls, db, zDb, SQLITE_FCNTL_PRAGMA, bp+552 /* aFcntl */) + rc = Xsqlite3_file_control(tls, db, zDb, SQLITE_FCNTL_PRAGMA, bp+392 /* aFcntl */) if !(rc == SQLITE_OK) { goto __8 } Xsqlite3VdbeSetNumCols(tls, v, 1) - Xsqlite3VdbeSetColName(tls, v, 0, COLNAME_NAME, *(*uintptr)(unsafe.Pointer(bp + 552 /* &aFcntl[0] */)), libc.UintptrFromInt32(-1)) - returnSingleText(tls, v, *(*uintptr)(unsafe.Pointer(bp + 552 /* &aFcntl[0] */))) - Xsqlite3_free(tls, *(*uintptr)(unsafe.Pointer(bp + 552 /* &aFcntl[0] */))) + Xsqlite3VdbeSetColName(tls, v, 0, COLNAME_NAME, *(*uintptr)(unsafe.Pointer(bp + 392 /* &aFcntl[0] */)), libc.UintptrFromInt32(-1)) + returnSingleText(tls, v, *(*uintptr)(unsafe.Pointer(bp + 392 /* &aFcntl[0] */))) + Xsqlite3_free(tls, *(*uintptr)(unsafe.Pointer(bp + 392 /* &aFcntl[0] */))) goto pragma_out __8: ; if !(rc != SQLITE_NOTFOUND) { goto __9 } - if !(*(*uintptr)(unsafe.Pointer(bp + 552 /* &aFcntl[0] */)) != 0) { + if !(*(*uintptr)(unsafe.Pointer(bp + 392 /* &aFcntl[0] */)) != 0) { goto __10 } - Xsqlite3ErrorMsg(tls, pParse, ts+951 /* "%s" */, libc.VaList(bp+16, *(*uintptr)(unsafe.Pointer(bp + 552 /* &aFcntl[0] */)))) - Xsqlite3_free(tls, *(*uintptr)(unsafe.Pointer(bp + 552 /* &aFcntl[0] */))) + Xsqlite3ErrorMsg(tls, pParse, ts+951 /* "%s" */, libc.VaList(bp+8, *(*uintptr)(unsafe.Pointer(bp + 392 /* &aFcntl[0] */)))) + Xsqlite3_free(tls, *(*uintptr)(unsafe.Pointer(bp + 392 /* &aFcntl[0] */))) __10: ; (*Parse)(unsafe.Pointer(pParse)).FnErr++ @@ -155434,7 +155434,7 @@ __67: // // Return the number of pages in the specified database. __19: - *(*I64)(unsafe.Pointer(bp + 584 /* x */)) = int64(0) + *(*I64)(unsafe.Pointer(bp + 424 /* x */)) = int64(0) Xsqlite3CodeVerifySchema(tls, pParse, iDb) iReg = libc.PreIncInt32(&(*Parse)(unsafe.Pointer(pParse)).FnMem, 1) if !((int32(Xsqlite3UpperToLower[uint8(*(*int8)(unsafe.Pointer(zLeft)))])) == 'p') { @@ -155443,29 +155443,29 @@ __19: Xsqlite3VdbeAddOp2(tls, v, OP_Pagecount, iDb, iReg) goto __72 __71: - if !((zRight != 0) && (Xsqlite3DecOrHexToI64(tls, zRight, bp+584 /* &x */) == 0)) { + if !((zRight != 0) && (Xsqlite3DecOrHexToI64(tls, zRight, bp+424 /* &x */) == 0)) { goto __73 } - if !(*(*I64)(unsafe.Pointer(bp + 584 /* x */)) < int64(0)) { + if !(*(*I64)(unsafe.Pointer(bp + 424 /* x */)) < int64(0)) { goto __75 } - *(*I64)(unsafe.Pointer(bp + 584 /* x */)) = int64(0) + *(*I64)(unsafe.Pointer(bp + 424 /* x */)) = int64(0) goto __76 __75: - if !(*(*I64)(unsafe.Pointer(bp + 584 /* x */)) > int64(0xfffffffe)) { + if !(*(*I64)(unsafe.Pointer(bp + 424 /* x */)) > int64(0xfffffffe)) { goto __77 } - *(*I64)(unsafe.Pointer(bp + 584 /* x */)) = int64(0xfffffffe) + *(*I64)(unsafe.Pointer(bp + 424 /* x */)) = int64(0xfffffffe) __77: ; __76: ; goto __74 __73: - *(*I64)(unsafe.Pointer(bp + 584 /* x */)) = int64(0) + *(*I64)(unsafe.Pointer(bp + 424 /* x */)) = int64(0) __74: ; - Xsqlite3VdbeAddOp3(tls, v, OP_MaxPgcnt, iDb, iReg, int32(*(*I64)(unsafe.Pointer(bp + 584 /* x */)))) + Xsqlite3VdbeAddOp3(tls, v, OP_MaxPgcnt, iDb, iReg, int32(*(*I64)(unsafe.Pointer(bp + 424 /* x */)))) __72: ; Xsqlite3VdbeAddOp2(tls, v, OP_ResultRow, iReg, 1) @@ -155607,21 +155607,21 @@ __96: // Get or set the size limit on rollback journal files. __22: pPager1 = Xsqlite3BtreePager(tls, (*Db)(unsafe.Pointer(pDb)).FpBt) - *(*I64)(unsafe.Pointer(bp + 592 /* iLimit */)) = int64(-2) + *(*I64)(unsafe.Pointer(bp + 432 /* iLimit */)) = int64(-2) if !(zRight != 0) { goto __98 } - Xsqlite3DecOrHexToI64(tls, zRight, bp+592 /* &iLimit */) - if !(*(*I64)(unsafe.Pointer(bp + 592 /* iLimit */)) < int64(-1)) { + Xsqlite3DecOrHexToI64(tls, zRight, bp+432 /* &iLimit */) + if !(*(*I64)(unsafe.Pointer(bp + 432 /* iLimit */)) < int64(-1)) { goto __99 } - *(*I64)(unsafe.Pointer(bp + 592 /* iLimit */)) = int64(-1) + *(*I64)(unsafe.Pointer(bp + 432 /* iLimit */)) = int64(-1) __99: ; __98: ; - *(*I64)(unsafe.Pointer(bp + 592 /* iLimit */)) = Xsqlite3PagerJournalSizeLimit(tls, pPager1, *(*I64)(unsafe.Pointer(bp + 592 /* iLimit */))) - returnSingleInt(tls, v, *(*I64)(unsafe.Pointer(bp + 592 /* iLimit */))) + *(*I64)(unsafe.Pointer(bp + 432 /* iLimit */)) = Xsqlite3PagerJournalSizeLimit(tls, pPager1, *(*I64)(unsafe.Pointer(bp + 432 /* iLimit */))) + returnSingleInt(tls, v, *(*I64)(unsafe.Pointer(bp + 432 /* iLimit */))) goto __15 // PRAGMA [schema.]auto_vacuum @@ -155674,14 +155674,14 @@ __101: // // Do N steps of incremental vacuuming on a database. __24: - if !(((zRight == uintptr(0)) || !(Xsqlite3GetInt32(tls, zRight, bp+600 /* &iLimit1 */) != 0)) || (*(*int32)(unsafe.Pointer(bp + 600 /* iLimit1 */)) <= 0)) { + if !(((zRight == uintptr(0)) || !(Xsqlite3GetInt32(tls, zRight, bp+440 /* &iLimit1 */) != 0)) || (*(*int32)(unsafe.Pointer(bp + 440 /* iLimit1 */)) <= 0)) { goto __104 } - *(*int32)(unsafe.Pointer(bp + 600 /* iLimit1 */)) = 0x7fffffff + *(*int32)(unsafe.Pointer(bp + 440 /* iLimit1 */)) = 0x7fffffff __104: ; Xsqlite3BeginWriteOperation(tls, pParse, 0, iDb) - Xsqlite3VdbeAddOp2(tls, v, OP_Integer, *(*int32)(unsafe.Pointer(bp + 600 /* iLimit1 */)), 1) + Xsqlite3VdbeAddOp2(tls, v, OP_Integer, *(*int32)(unsafe.Pointer(bp + 440 /* iLimit1 */)), 1) addr = Xsqlite3VdbeAddOp1(tls, v, OP_IncrVacuum, iDb) Xsqlite3VdbeAddOp1(tls, v, OP_ResultRow, 1) Xsqlite3VdbeAddOp2(tls, v, OP_AddImm, 1, -1) @@ -155747,14 +155747,14 @@ __26: }()) goto __108 __107: - *(*int32)(unsafe.Pointer(bp + 604 /* size3 */)) = 1 - if !(Xsqlite3GetInt32(tls, zRight, bp+604 /* &size3 */) != 0) { + *(*int32)(unsafe.Pointer(bp + 444 /* size3 */)) = 1 + if !(Xsqlite3GetInt32(tls, zRight, bp+444 /* &size3 */) != 0) { goto __109 } - Xsqlite3BtreeSetSpillSize(tls, (*Db)(unsafe.Pointer(pDb)).FpBt, *(*int32)(unsafe.Pointer(bp + 604 /* size3 */))) + Xsqlite3BtreeSetSpillSize(tls, (*Db)(unsafe.Pointer(pDb)).FpBt, *(*int32)(unsafe.Pointer(bp + 444 /* size3 */))) __109: ; - if !(Xsqlite3GetBoolean(tls, zRight, (uint8(libc.Bool32(*(*int32)(unsafe.Pointer(bp + 604 /* size3 */)) != 0)))) != 0) { + if !(Xsqlite3GetBoolean(tls, zRight, (uint8(libc.Bool32(*(*int32)(unsafe.Pointer(bp + 444 /* size3 */)) != 0)))) != 0) { goto __110 } *(*U64)(unsafe.Pointer(db + 48 /* &.flags */)) |= (uint64(SQLITE_CacheSpill)) @@ -155785,17 +155785,17 @@ __27: if !(zRight != 0) { goto __112 } - Xsqlite3DecOrHexToI64(tls, zRight, bp+608 /* &sz */) - if !(*(*Sqlite3_int64)(unsafe.Pointer(bp + 608 /* sz */)) < int64(0)) { + Xsqlite3DecOrHexToI64(tls, zRight, bp+448 /* &sz */) + if !(*(*Sqlite3_int64)(unsafe.Pointer(bp + 448 /* sz */)) < int64(0)) { goto __113 } - *(*Sqlite3_int64)(unsafe.Pointer(bp + 608 /* sz */)) = Xsqlite3Config.FszMmap + *(*Sqlite3_int64)(unsafe.Pointer(bp + 448 /* sz */)) = Xsqlite3Config.FszMmap __113: ; if !((*Token)(unsafe.Pointer(pId2)).Fn == uint32(0)) { goto __114 } - (*Sqlite3)(unsafe.Pointer(db)).FszMmap = *(*Sqlite3_int64)(unsafe.Pointer(bp + 608 /* sz */)) + (*Sqlite3)(unsafe.Pointer(db)).FszMmap = *(*Sqlite3_int64)(unsafe.Pointer(bp + 448 /* sz */)) __114: ; ii3 = ((*Sqlite3)(unsafe.Pointer(db)).FnDb - 1) @@ -155806,7 +155806,7 @@ __115: if !(((*Db)(unsafe.Pointer((*Sqlite3)(unsafe.Pointer(db)).FaDb+uintptr(ii3)*32)).FpBt != 0) && ((ii3 == iDb) || ((*Token)(unsafe.Pointer(pId2)).Fn == uint32(0)))) { goto __118 } - Xsqlite3BtreeSetMmapLimit(tls, (*Db)(unsafe.Pointer((*Sqlite3)(unsafe.Pointer(db)).FaDb+uintptr(ii3)*32)).FpBt, *(*Sqlite3_int64)(unsafe.Pointer(bp + 608 /* sz */))) + Xsqlite3BtreeSetMmapLimit(tls, (*Db)(unsafe.Pointer((*Sqlite3)(unsafe.Pointer(db)).FaDb+uintptr(ii3)*32)).FpBt, *(*Sqlite3_int64)(unsafe.Pointer(bp + 448 /* sz */))) __118: ; goto __116 @@ -155818,12 +155818,12 @@ __117: ; __112: ; - *(*Sqlite3_int64)(unsafe.Pointer(bp + 608 /* sz */)) = int64(-1) - rc = Xsqlite3_file_control(tls, db, zDb, SQLITE_FCNTL_MMAP_SIZE, bp+608 /* &sz */) + *(*Sqlite3_int64)(unsafe.Pointer(bp + 448 /* sz */)) = int64(-1) + rc = Xsqlite3_file_control(tls, db, zDb, SQLITE_FCNTL_MMAP_SIZE, bp+448 /* &sz */) if !(rc == SQLITE_OK) { goto __119 } - returnSingleInt(tls, v, *(*Sqlite3_int64)(unsafe.Pointer(bp + 608 /* sz */))) + returnSingleInt(tls, v, *(*Sqlite3_int64)(unsafe.Pointer(bp + 448 /* sz */))) goto __120 __119: if !(rc != SQLITE_NOTFOUND) { @@ -155876,8 +155876,8 @@ __124: if !(*(*int8)(unsafe.Pointer(zRight)) != 0) { goto __126 } - rc = Xsqlite3OsAccess(tls, (*Sqlite3)(unsafe.Pointer(db)).FpVfs, zRight, SQLITE_ACCESS_READWRITE, bp+616 /* &res */) - if !((rc != SQLITE_OK) || (*(*int32)(unsafe.Pointer(bp + 616 /* res */)) == 0)) { + rc = Xsqlite3OsAccess(tls, (*Sqlite3)(unsafe.Pointer(db)).FpVfs, zRight, SQLITE_ACCESS_READWRITE, bp+456 /* &res */) + if !((rc != SQLITE_OK) || (*(*int32)(unsafe.Pointer(bp + 456 /* res */)) == 0)) { goto __127 } Xsqlite3ErrorMsg(tls, pParse, ts+24079 /* "not a writable d..." */, 0) @@ -155898,7 +155898,7 @@ __128: if !(*(*int8)(unsafe.Pointer(zRight)) != 0) { goto __129 } - Xsqlite3_temp_directory = Xsqlite3_mprintf(tls, ts+951 /* "%s" */, libc.VaList(bp+32, zRight)) + Xsqlite3_temp_directory = Xsqlite3_mprintf(tls, ts+951 /* "%s" */, libc.VaList(bp+16, zRight)) goto __130 __129: Xsqlite3_temp_directory = uintptr(0) @@ -155929,8 +155929,8 @@ __131: if !(*(*int8)(unsafe.Pointer(zRight)) != 0) { goto __133 } - rc = Xsqlite3OsAccess(tls, (*Sqlite3)(unsafe.Pointer(db)).FpVfs, zRight, SQLITE_ACCESS_READWRITE, bp+620 /* &res1 */) - if !((rc != SQLITE_OK) || (*(*int32)(unsafe.Pointer(bp + 620 /* res1 */)) == 0)) { + rc = Xsqlite3OsAccess(tls, (*Sqlite3)(unsafe.Pointer(db)).FpVfs, zRight, SQLITE_ACCESS_READWRITE, bp+460 /* &res1 */) + if !((rc != SQLITE_OK) || (*(*int32)(unsafe.Pointer(bp + 460 /* res1 */)) == 0)) { goto __134 } Xsqlite3ErrorMsg(tls, pParse, ts+24079 /* "not a writable d..." */, 0) @@ -155943,7 +155943,7 @@ __133: if !(*(*int8)(unsafe.Pointer(zRight)) != 0) { goto __135 } - Xsqlite3_data_directory = Xsqlite3_mprintf(tls, ts+951 /* "%s" */, libc.VaList(bp+48, zRight)) + Xsqlite3_data_directory = Xsqlite3_mprintf(tls, ts+951 /* "%s" */, libc.VaList(bp+24, zRight)) goto __136 __135: Xsqlite3_data_directory = uintptr(0) @@ -156134,7 +156134,7 @@ __161: } return ts + 24165 /* "issisi" */ }(), - libc.VaList(bp+64, (i-nHidden), + libc.VaList(bp+32, (i-nHidden), (*Column)(unsafe.Pointer(pCol)).FzName, Xsqlite3ColumnType(tls, pCol, ts+915 /* "" */), func() int32 { @@ -156211,7 +156211,7 @@ __173: goto __175 } cnum = *(*I16)(unsafe.Pointer((*Index)(unsafe.Pointer(pIdx)).FaiColumn + uintptr(i1)*2)) - Xsqlite3VdbeMultiLoad(tls, v, 1, ts+24172 /* "iisX" */, libc.VaList(bp+128, i1, int32(cnum), + Xsqlite3VdbeMultiLoad(tls, v, 1, ts+24172 /* "iisX" */, libc.VaList(bp+88, i1, int32(cnum), func() uintptr { if int32(cnum) < 0 { return uintptr(0) @@ -156222,7 +156222,7 @@ __173: goto __176 } Xsqlite3VdbeMultiLoad(tls, v, 4, ts+24177, /* "isiX" */ - libc.VaList(bp+160, int32(*(*U8)(unsafe.Pointer((*Index)(unsafe.Pointer(pIdx)).FaSortOrder + uintptr(i1)))), + libc.VaList(bp+112, int32(*(*U8)(unsafe.Pointer((*Index)(unsafe.Pointer(pIdx)).FaSortOrder + uintptr(i1)))), *(*uintptr)(unsafe.Pointer((*Index)(unsafe.Pointer(pIdx)).FazColl + uintptr(i1)*8)), (libc.Bool32(i1 < int32((*Index)(unsafe.Pointer(pIdx)).FnKeyCol))))) __176: @@ -156258,12 +156258,12 @@ __179: if !(pIdx1 != 0) { goto __181 } - *(*[3]uintptr)(unsafe.Pointer(bp + 624 /* azOrigin */)) = [3]uintptr{ts + 24182 /* "c" */, ts + 24184 /* "u" */, ts + 22687 /* "pk" */} + *(*[3]uintptr)(unsafe.Pointer(bp + 464 /* azOrigin */)) = [3]uintptr{ts + 24182 /* "c" */, ts + 24184 /* "u" */, ts + 22687 /* "pk" */} Xsqlite3VdbeMultiLoad(tls, v, 1, ts+24186, /* "isisi" */ - libc.VaList(bp+192, i2, + libc.VaList(bp+136, i2, (*Index)(unsafe.Pointer(pIdx1)).FzName, (libc.Bool32(int32((*Index)(unsafe.Pointer((pIdx1))).FonError) != OE_None)), - *(*uintptr)(unsafe.Pointer(bp + 624 /* &azOrigin[0] */ + uintptr((uint32(int32(*(*uint16)(unsafe.Pointer(pIdx1 + 100 /* &.idxType */))&0x3>>0))))*8)), + *(*uintptr)(unsafe.Pointer(bp + 464 /* &azOrigin[0] */ + uintptr((uint32(int32(*(*uint16)(unsafe.Pointer(pIdx1 + 100 /* &.idxType */))&0x3>>0))))*8)), (libc.Bool32((*Index)(unsafe.Pointer(pIdx1)).FpPartIdxWhere != uintptr(0))))) goto __180 __180: @@ -156294,7 +156294,7 @@ __185: ; Xsqlite3VdbeMultiLoad(tls, v, 1, ts+24192, /* "iss" */ - libc.VaList(bp+240, i3, + libc.VaList(bp+176, i3, (*Db)(unsafe.Pointer((*Sqlite3)(unsafe.Pointer(db)).FaDb+uintptr(i3)*32)).FzDbSName, Xsqlite3BtreeGetFilename(tls, (*Db)(unsafe.Pointer((*Sqlite3)(unsafe.Pointer(db)).FaDb+uintptr(i3)*32)).FpBt))) goto __183 @@ -156316,7 +156316,7 @@ __186: goto __188 } pColl = (*HashElem)(unsafe.Pointer(p)).Fdata - Xsqlite3VdbeMultiLoad(tls, v, 1, ts+24196 /* "is" */, libc.VaList(bp+272, libc.PostIncInt32(&i4, 1), (*CollSeq)(unsafe.Pointer(pColl)).FzName)) + Xsqlite3VdbeMultiLoad(tls, v, 1, ts+24196 /* "is" */, libc.VaList(bp+200, libc.PostIncInt32(&i4, 1), (*CollSeq)(unsafe.Pointer(pColl)).FzName)) goto __187 __187: p = (*HashElem)(unsafe.Pointer(p)).Fnext @@ -156380,7 +156380,7 @@ __198: goto __200 } pMod = (*HashElem)(unsafe.Pointer(j1)).Fdata - Xsqlite3VdbeMultiLoad(tls, v, 1, ts+24040 /* "s" */, libc.VaList(bp+296, (*Module)(unsafe.Pointer(pMod)).FzName)) + Xsqlite3VdbeMultiLoad(tls, v, 1, ts+24040 /* "s" */, libc.VaList(bp+216, (*Module)(unsafe.Pointer(pMod)).FzName)) goto __199 __199: j1 = (*HashElem)(unsafe.Pointer(j1)).Fnext @@ -156397,7 +156397,7 @@ __201: if !(i6 < (int32(uint64(unsafe.Sizeof(aPragmaName)) / uint64(unsafe.Sizeof(PragmaName{}))))) { goto __203 } - Xsqlite3VdbeMultiLoad(tls, v, 1, ts+24040 /* "s" */, libc.VaList(bp+312, aPragmaName[i6].FzName)) + Xsqlite3VdbeMultiLoad(tls, v, 1, ts+24040 /* "s" */, libc.VaList(bp+224, aPragmaName[i6].FzName)) goto __202 __202: i6++ @@ -156434,7 +156434,7 @@ __209: goto __211 } Xsqlite3VdbeMultiLoad(tls, v, 1, ts+24199, /* "iissssss" */ - libc.VaList(bp+328, i7, + libc.VaList(bp+232, i7, j2, (*FKey)(unsafe.Pointer(pFK)).FzTo, (*Column)(unsafe.Pointer((*Table)(unsafe.Pointer(pTab3)).FaCol+uintptr((*sColMap)(unsafe.Pointer((pFK+64 /* &.aCol */)+uintptr(j2)*16)).FiFrom)*32)).FzName, @@ -156515,20 +156515,20 @@ __218: goto __219 __221: ; - *(*uintptr)(unsafe.Pointer(bp + 648 /* pIdx2 */)) = uintptr(0) + *(*uintptr)(unsafe.Pointer(bp + 488 /* pIdx2 */)) = uintptr(0) Xsqlite3TableLock(tls, pParse, iDb, (*Table)(unsafe.Pointer(pParent)).Ftnum, uint8(0), (*Table)(unsafe.Pointer(pParent)).FzName) - x1 = Xsqlite3FkLocateIndex(tls, pParse, pParent, pFK1, bp+648 /* &pIdx2 */, uintptr(0)) + x1 = Xsqlite3FkLocateIndex(tls, pParse, pParent, pFK1, bp+488 /* &pIdx2 */, uintptr(0)) if !(x1 == 0) { goto __222 } - if !(*(*uintptr)(unsafe.Pointer(bp + 648 /* pIdx2 */)) == uintptr(0)) { + if !(*(*uintptr)(unsafe.Pointer(bp + 488 /* pIdx2 */)) == uintptr(0)) { goto __224 } Xsqlite3OpenTable(tls, pParse, i8, iDb, pParent, OP_OpenRead) goto __225 __224: - Xsqlite3VdbeAddOp3(tls, v, OP_OpenRead, i8, int32((*Index)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp + 648 /* pIdx2 */)))).Ftnum), iDb) - Xsqlite3VdbeSetP4KeyInfo(tls, pParse, *(*uintptr)(unsafe.Pointer(bp + 648 /* pIdx2 */))) + Xsqlite3VdbeAddOp3(tls, v, OP_OpenRead, i8, int32((*Index)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp + 488 /* pIdx2 */)))).Ftnum), iDb) + Xsqlite3VdbeSetP4KeyInfo(tls, pParse, *(*uintptr)(unsafe.Pointer(bp + 488 /* pIdx2 */))) __225: ; goto __223 @@ -156566,12 +156566,12 @@ __228: goto __230 } pParent = Xsqlite3FindTable(tls, db, (*FKey)(unsafe.Pointer(pFK1)).FzTo, zDb) - *(*uintptr)(unsafe.Pointer(bp + 648 /* pIdx2 */)) = uintptr(0) - *(*uintptr)(unsafe.Pointer(bp + 656 /* aiCols */)) = uintptr(0) + *(*uintptr)(unsafe.Pointer(bp + 488 /* pIdx2 */)) = uintptr(0) + *(*uintptr)(unsafe.Pointer(bp + 496 /* aiCols */)) = uintptr(0) if !(pParent != 0) { goto __231 } - x1 = Xsqlite3FkLocateIndex(tls, pParse, pParent, pFK1, bp+648 /* &pIdx2 */, bp+656 /* &aiCols */) + x1 = Xsqlite3FkLocateIndex(tls, pParse, pParent, pFK1, bp+488 /* &pIdx2 */, bp+496 /* &aiCols */) __231: ; @@ -156586,8 +156586,8 @@ __232: if !(j3 < (*FKey)(unsafe.Pointer(pFK1)).FnCol) { goto __234 } - if *(*uintptr)(unsafe.Pointer(bp + 656 /* aiCols */)) != 0 { - iCol = *(*int32)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp + 656 /* aiCols */)) + uintptr(j3)*4)) + if *(*uintptr)(unsafe.Pointer(bp + 496 /* aiCols */)) != 0 { + iCol = *(*int32)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp + 496 /* aiCols */)) + uintptr(j3)*4)) } else { iCol = (*sColMap)(unsafe.Pointer((pFK1 + 64 /* &.aCol */) + uintptr(j3)*16)).FiFrom } @@ -156603,11 +156603,11 @@ __234: // Generate code to query the parent index for a matching parent // key. If a match is found, jump to addrOk. - if !(*(*uintptr)(unsafe.Pointer(bp + 648 /* pIdx2 */)) != 0) { + if !(*(*uintptr)(unsafe.Pointer(bp + 488 /* pIdx2 */)) != 0) { goto __235 } Xsqlite3VdbeAddOp4(tls, v, OP_MakeRecord, regRow, (*FKey)(unsafe.Pointer(pFK1)).FnCol, regKey, - Xsqlite3IndexAffinityStr(tls, db, *(*uintptr)(unsafe.Pointer(bp + 648 /* pIdx2 */))), (*FKey)(unsafe.Pointer(pFK1)).FnCol) + Xsqlite3IndexAffinityStr(tls, db, *(*uintptr)(unsafe.Pointer(bp + 488 /* pIdx2 */))), (*FKey)(unsafe.Pointer(pFK1)).FnCol) Xsqlite3VdbeAddOp4Int(tls, v, OP_Found, i8, addrOk, regKey, 0) goto __236 @@ -156634,10 +156634,10 @@ __238: Xsqlite3VdbeAddOp2(tls, v, OP_Null, 0, (regResult + 1)) __239: ; - Xsqlite3VdbeMultiLoad(tls, v, (regResult + 2), ts+24213 /* "siX" */, libc.VaList(bp+400, (*FKey)(unsafe.Pointer(pFK1)).FzTo, (i8-1))) + Xsqlite3VdbeMultiLoad(tls, v, (regResult + 2), ts+24213 /* "siX" */, libc.VaList(bp+296, (*FKey)(unsafe.Pointer(pFK1)).FzTo, (i8-1))) Xsqlite3VdbeAddOp2(tls, v, OP_ResultRow, regResult, 4) Xsqlite3VdbeResolveLabel(tls, v, addrOk) - Xsqlite3DbFree(tls, db, *(*uintptr)(unsafe.Pointer(bp + 656 /* aiCols */))) + Xsqlite3DbFree(tls, db, *(*uintptr)(unsafe.Pointer(bp + 496 /* aiCols */))) goto __229 __229: i8++ @@ -156715,17 +156715,17 @@ __241: (*Parse)(unsafe.Pointer(pParse)).FnMem = 6 // Set the maximum error count - *(*int32)(unsafe.Pointer(bp + 664 /* mxErr */)) = SQLITE_INTEGRITY_CHECK_ERROR_MAX + *(*int32)(unsafe.Pointer(bp + 504 /* mxErr */)) = SQLITE_INTEGRITY_CHECK_ERROR_MAX if !(zRight != 0) { goto __242 } - if !(Xsqlite3GetInt32(tls, zRight, bp+664 /* &mxErr */) != 0) { + if !(Xsqlite3GetInt32(tls, zRight, bp+504 /* &mxErr */) != 0) { goto __243 } - if !(*(*int32)(unsafe.Pointer(bp + 664 /* mxErr */)) <= 0) { + if !(*(*int32)(unsafe.Pointer(bp + 504 /* mxErr */)) <= 0) { goto __245 } - *(*int32)(unsafe.Pointer(bp + 664 /* mxErr */)) = SQLITE_INTEGRITY_CHECK_ERROR_MAX + *(*int32)(unsafe.Pointer(bp + 504 /* mxErr */)) = SQLITE_INTEGRITY_CHECK_ERROR_MAX __245: ; goto __244 @@ -156741,7 +156741,7 @@ __244: ; __242: ; - Xsqlite3VdbeAddOp2(tls, v, OP_Integer, (*(*int32)(unsafe.Pointer(bp + 664 /* mxErr */)) - 1), 1) // reg[1] holds errors left + Xsqlite3VdbeAddOp2(tls, v, OP_Integer, (*(*int32)(unsafe.Pointer(bp + 504 /* mxErr */)) - 1), 1) // reg[1] holds errors left // Do an integrity check on each database file i9 = 0 @@ -156900,7 +156900,7 @@ __266: Xsqlite3VdbeChangeP5(tls, v, uint16(U8(i9))) addr1 = Xsqlite3VdbeAddOp1(tls, v, OP_IsNull, 2) Xsqlite3VdbeAddOp4(tls, v, OP_String8, 0, 3, 0, - Xsqlite3MPrintf(tls, db, ts+24217 /* "*** in database ..." */, libc.VaList(bp+424, (*Db)(unsafe.Pointer((*Sqlite3)(unsafe.Pointer(db)).FaDb+uintptr(i9)*32)).FzDbSName)), + Xsqlite3MPrintf(tls, db, ts+24217 /* "*** in database ..." */, libc.VaList(bp+312, (*Db)(unsafe.Pointer((*Sqlite3)(unsafe.Pointer(db)).FaDb+uintptr(i9)*32)).FzDbSName)), -7) Xsqlite3VdbeAddOp3(tls, v, OP_Concat, 2, 3, 3) integrityCheckResultRow(tls, v) @@ -156934,7 +156934,7 @@ __276: pPk1 = Xsqlite3PrimaryKeyIndex(tls, pTab7) } Xsqlite3OpenTableAndIndices(tls, pParse, pTab7, OP_OpenRead, uint8(0), - 1, uintptr(0), bp+668 /* &iDataCur */, bp+672 /* &iIdxCur */) + 1, uintptr(0), bp+508 /* &iDataCur */, bp+512 /* &iIdxCur */) // reg[7] counts the number of entries in the table. // reg[8+i] counts the number of entries in the i-th index Xsqlite3VdbeAddOp2(tls, v, OP_Integer, 0, 7) @@ -156954,13 +156954,13 @@ __278: __279: ; - Xsqlite3VdbeAddOp2(tls, v, OP_Rewind, *(*int32)(unsafe.Pointer(bp + 668 /* iDataCur */)), 0) + Xsqlite3VdbeAddOp2(tls, v, OP_Rewind, *(*int32)(unsafe.Pointer(bp + 508 /* iDataCur */)), 0) loopTop = Xsqlite3VdbeAddOp2(tls, v, OP_AddImm, 7, 1) if !(!(isQuick != 0)) { goto __280 } // Sanity check on record header decoding - Xsqlite3VdbeAddOp3(tls, v, OP_Column, *(*int32)(unsafe.Pointer(bp + 668 /* iDataCur */)), (int32((*Table)(unsafe.Pointer(pTab7)).FnNVCol) - 1), 3) + Xsqlite3VdbeAddOp3(tls, v, OP_Column, *(*int32)(unsafe.Pointer(bp + 508 /* iDataCur */)), (int32((*Table)(unsafe.Pointer(pTab7)).FnNVCol) - 1), 3) Xsqlite3VdbeChangeP5(tls, v, uint16(OPFLAG_TYPEOFARG)) __280: ; @@ -156982,7 +156982,7 @@ __284: goto __282 __285: ; - Xsqlite3ExprCodeGetColumnOfTable(tls, v, pTab7, *(*int32)(unsafe.Pointer(bp + 668 /* iDataCur */)), j4, 3) + Xsqlite3ExprCodeGetColumnOfTable(tls, v, pTab7, *(*int32)(unsafe.Pointer(bp + 508 /* iDataCur */)), j4, 3) if !(int32((*VdbeOp)(unsafe.Pointer(Xsqlite3VdbeGetOp(tls, v, -1))).Fopcode) == OP_Column) { goto __286 } @@ -156990,7 +156990,7 @@ __285: __286: ; jmp2 = Xsqlite3VdbeAddOp1(tls, v, OP_NotNull, 3) - zErr = Xsqlite3MPrintf(tls, db, ts+24241 /* "NULL value in %s..." */, libc.VaList(bp+440, (*Table)(unsafe.Pointer(pTab7)).FzName, + zErr = Xsqlite3MPrintf(tls, db, ts+24241 /* "NULL value in %s..." */, libc.VaList(bp+320, (*Table)(unsafe.Pointer(pTab7)).FzName, (*Column)(unsafe.Pointer((*Table)(unsafe.Pointer(pTab7)).FaCol+uintptr(j4)*32)).FzName)) Xsqlite3VdbeAddOp4(tls, v, OP_String8, 0, 3, 0, zErr, -7) integrityCheckResultRow(tls, v) @@ -157012,7 +157012,7 @@ __283: } addrCkFault = Xsqlite3VdbeMakeLabel(tls, pParse) addrCkOk = Xsqlite3VdbeMakeLabel(tls, pParse) - (*Parse)(unsafe.Pointer(pParse)).FiSelfTab = (*(*int32)(unsafe.Pointer(bp + 668 /* iDataCur */)) + 1) + (*Parse)(unsafe.Pointer(pParse)).FiSelfTab = (*(*int32)(unsafe.Pointer(bp + 508 /* iDataCur */)) + 1) k2 = ((*ExprList)(unsafe.Pointer(pCheck)).FnExpr - 1) __289: if !(k2 > 0) { @@ -157031,7 +157031,7 @@ __291: Xsqlite3VdbeResolveLabel(tls, v, addrCkFault) (*Parse)(unsafe.Pointer(pParse)).FiSelfTab = 0 zErr1 = Xsqlite3MPrintf(tls, db, ts+24261, /* "CHECK constraint..." */ - libc.VaList(bp+464, (*Table)(unsafe.Pointer(pTab7)).FzName)) + libc.VaList(bp+336, (*Table)(unsafe.Pointer(pTab7)).FzName)) Xsqlite3VdbeAddOp4(tls, v, OP_String8, 0, 3, 0, zErr1, -7) integrityCheckResultRow(tls, v) Xsqlite3VdbeResolveLabel(tls, v, addrCkOk) @@ -157057,12 +157057,12 @@ __293: goto __294 __296: ; - r1 = Xsqlite3GenerateIndexKey(tls, pParse, pIdx5, *(*int32)(unsafe.Pointer(bp + 668 /* iDataCur */)), 0, 0, bp+676, /* &jmp3 */ + r1 = Xsqlite3GenerateIndexKey(tls, pParse, pIdx5, *(*int32)(unsafe.Pointer(bp + 508 /* iDataCur */)), 0, 0, bp+516, /* &jmp3 */ pPrior, r1) pPrior = pIdx5 Xsqlite3VdbeAddOp2(tls, v, OP_AddImm, (8 + j4), 1) // increment entry count // Verify that an index entry exists for the current table row - jmp21 = Xsqlite3VdbeAddOp4Int(tls, v, OP_Found, (*(*int32)(unsafe.Pointer(bp + 672 /* iIdxCur */)) + j4), ckUniq, r1, + jmp21 = Xsqlite3VdbeAddOp4Int(tls, v, OP_Found, (*(*int32)(unsafe.Pointer(bp + 512 /* iIdxCur */)) + j4), ckUniq, r1, int32((*Index)(unsafe.Pointer(pIdx5)).FnColumn)) Xsqlite3VdbeLoadString(tls, v, 3, ts+24291 /* "row " */) Xsqlite3VdbeAddOp3(tls, v, OP_Concat, 7, 3, 3) @@ -157101,10 +157101,10 @@ __299: goto __300 __300: ; - jmp6 = Xsqlite3VdbeAddOp1(tls, v, OP_Next, (*(*int32)(unsafe.Pointer(bp + 672 /* iIdxCur */)) + j4)) + jmp6 = Xsqlite3VdbeAddOp1(tls, v, OP_Next, (*(*int32)(unsafe.Pointer(bp + 512 /* iIdxCur */)) + j4)) Xsqlite3VdbeGoto(tls, v, uniqOk) Xsqlite3VdbeJumpHere(tls, v, jmp6) - Xsqlite3VdbeAddOp4Int(tls, v, OP_IdxGT, (*(*int32)(unsafe.Pointer(bp + 672 /* iIdxCur */)) + j4), uniqOk, r1, + Xsqlite3VdbeAddOp4Int(tls, v, OP_IdxGT, (*(*int32)(unsafe.Pointer(bp + 512 /* iIdxCur */)) + j4), uniqOk, r1, int32((*Index)(unsafe.Pointer(pIdx5)).FnKeyCol)) Xsqlite3VdbeLoadString(tls, v, 3, ts+24317 /* "non-unique entry..." */) Xsqlite3VdbeGoto(tls, v, jmp5) @@ -157112,7 +157112,7 @@ __300: __297: ; Xsqlite3VdbeJumpHere(tls, v, jmp4) - Xsqlite3ResolvePartIdxLabel(tls, pParse, *(*int32)(unsafe.Pointer(bp + 676 /* jmp3 */))) + Xsqlite3ResolvePartIdxLabel(tls, pParse, *(*int32)(unsafe.Pointer(bp + 516 /* jmp3 */))) goto __294 __294: pIdx5 = (*Index)(unsafe.Pointer(pIdx5)).FpNext @@ -157123,7 +157123,7 @@ __295: ; __292: ; - Xsqlite3VdbeAddOp2(tls, v, OP_Next, *(*int32)(unsafe.Pointer(bp + 668 /* iDataCur */)), loopTop) + Xsqlite3VdbeAddOp2(tls, v, OP_Next, *(*int32)(unsafe.Pointer(bp + 508 /* iDataCur */)), loopTop) Xsqlite3VdbeJumpHere(tls, v, (loopTop - 1)) if !(!(isQuick != 0)) { goto __302 @@ -157141,7 +157141,7 @@ __303: goto __304 __306: ; - Xsqlite3VdbeAddOp2(tls, v, OP_Count, (*(*int32)(unsafe.Pointer(bp + 672 /* iIdxCur */)) + j4), 3) + Xsqlite3VdbeAddOp2(tls, v, OP_Count, (*(*int32)(unsafe.Pointer(bp + 512 /* iIdxCur */)) + j4), 3) addr1 = Xsqlite3VdbeAddOp3(tls, v, OP_Eq, (8 + j4), 0, 3) Xsqlite3VdbeChangeP5(tls, v, uint16(SQLITE_NOTNULL)) Xsqlite3VdbeLoadString(tls, v, 4, (*Index)(unsafe.Pointer(pIdx5)).FzName) @@ -157177,7 +157177,7 @@ __248: if !(aOp2 != 0) { goto __307 } - (*VdbeOp)(unsafe.Pointer(aOp2)).Fp2 = (1 - *(*int32)(unsafe.Pointer(bp + 664 /* mxErr */))) + (*VdbeOp)(unsafe.Pointer(aOp2)).Fp2 = (1 - *(*int32)(unsafe.Pointer(bp + 504 /* mxErr */))) (*VdbeOp)(unsafe.Pointer(aOp2 + 2*32)).Fp4type = int8(-1) *(*uintptr)(unsafe.Pointer(aOp2 + 2*32 + 16 /* &.p4 */)) = ts + 6164 /* "ok" */ (*VdbeOp)(unsafe.Pointer(aOp2 + 5*32)).Fp4type = int8(-1) @@ -157257,7 +157257,7 @@ __314: if !(!(int32((*EncName)(unsafe.Pointer(pEnc)).FzName) != 0)) { goto __316 } - Xsqlite3ErrorMsg(tls, pParse, ts+24373 /* "unsupported enco..." */, libc.VaList(bp+480, zRight)) + Xsqlite3ErrorMsg(tls, pParse, ts+24373 /* "unsupported enco..." */, libc.VaList(bp+344, zRight)) __316: ; __311: @@ -157569,7 +157569,7 @@ __343: __345: ; zSubSql = Xsqlite3MPrintf(tls, db, ts+24406, /* "ANALYZE \"%w\".\"%w..." */ - libc.VaList(bp+496, (*Db)(unsafe.Pointer((*Sqlite3)(unsafe.Pointer(db)).FaDb+uintptr(iDb)*32)).FzDbSName, (*Table)(unsafe.Pointer(pTab8)).FzName)) + libc.VaList(bp+352, (*Db)(unsafe.Pointer((*Sqlite3)(unsafe.Pointer(db)).FaDb+uintptr(iDb)*32)).FzDbSName, (*Table)(unsafe.Pointer(pTab8)).FzName)) if !((opMask & U32(0x01)) != 0) { goto __346 } @@ -157627,10 +157627,10 @@ __348: // returns the same integer that would be returned by the // sqlite3_soft_heap_limit64(-1) C-language function. __53: - if !((zRight != 0) && (Xsqlite3DecOrHexToI64(tls, zRight, bp+680 /* &N */) == SQLITE_OK)) { + if !((zRight != 0) && (Xsqlite3DecOrHexToI64(tls, zRight, bp+520 /* &N */) == SQLITE_OK)) { goto __349 } - Xsqlite3_soft_heap_limit64(tls, *(*Sqlite3_int64)(unsafe.Pointer(bp + 680 /* N */))) + Xsqlite3_soft_heap_limit64(tls, *(*Sqlite3_int64)(unsafe.Pointer(bp + 520 /* N */))) __349: ; returnSingleInt(tls, v, Xsqlite3_soft_heap_limit64(tls, int64(-1))) @@ -157646,14 +157646,14 @@ __349: // the hard heap limit. This allows an application to set a heap limit // constraint that cannot be relaxed by an untrusted SQL script. __54: - if !((zRight != 0) && (Xsqlite3DecOrHexToI64(tls, zRight, bp+688 /* &N1 */) == SQLITE_OK)) { + if !((zRight != 0) && (Xsqlite3DecOrHexToI64(tls, zRight, bp+528 /* &N1 */) == SQLITE_OK)) { goto __350 } iPrior = Xsqlite3_hard_heap_limit64(tls, int64(-1)) - if !((*(*Sqlite3_int64)(unsafe.Pointer(bp + 688 /* N1 */)) > int64(0)) && ((iPrior == int64(0)) || (iPrior > *(*Sqlite3_int64)(unsafe.Pointer(bp + 688 /* N1 */))))) { + if !((*(*Sqlite3_int64)(unsafe.Pointer(bp + 528 /* N1 */)) > int64(0)) && ((iPrior == int64(0)) || (iPrior > *(*Sqlite3_int64)(unsafe.Pointer(bp + 528 /* N1 */))))) { goto __351 } - Xsqlite3_hard_heap_limit64(tls, *(*Sqlite3_int64)(unsafe.Pointer(bp + 688 /* N1 */))) + Xsqlite3_hard_heap_limit64(tls, *(*Sqlite3_int64)(unsafe.Pointer(bp + 528 /* N1 */))) __351: ; __350: @@ -157668,11 +157668,11 @@ __350: // maximum, which might be less than requested. __55: if !(((zRight != 0) && - (Xsqlite3DecOrHexToI64(tls, zRight, bp+696 /* &N2 */) == SQLITE_OK)) && - (*(*Sqlite3_int64)(unsafe.Pointer(bp + 696 /* N2 */)) >= int64(0))) { + (Xsqlite3DecOrHexToI64(tls, zRight, bp+536 /* &N2 */) == SQLITE_OK)) && + (*(*Sqlite3_int64)(unsafe.Pointer(bp + 536 /* N2 */)) >= int64(0))) { goto __352 } - Xsqlite3_limit(tls, db, SQLITE_LIMIT_WORKER_THREADS, (int32(*(*Sqlite3_int64)(unsafe.Pointer(bp + 696 /* N2 */)) & int64(0x7fffffff)))) + Xsqlite3_limit(tls, db, SQLITE_LIMIT_WORKER_THREADS, (int32(*(*Sqlite3_int64)(unsafe.Pointer(bp + 536 /* N2 */)) & int64(0x7fffffff)))) __352: ; returnSingleInt(tls, v, int64(Xsqlite3_limit(tls, db, SQLITE_LIMIT_WORKER_THREADS, -1))) @@ -157685,11 +157685,11 @@ __352: // in each index that it looks at. Return the new limit. __56: if !(((zRight != 0) && - (Xsqlite3DecOrHexToI64(tls, zRight, bp+704 /* &N3 */) == SQLITE_OK)) && - (*(*Sqlite3_int64)(unsafe.Pointer(bp + 704 /* N3 */)) >= int64(0))) { + (Xsqlite3DecOrHexToI64(tls, zRight, bp+544 /* &N3 */) == SQLITE_OK)) && + (*(*Sqlite3_int64)(unsafe.Pointer(bp + 544 /* N3 */)) >= int64(0))) { goto __353 } - (*Sqlite3)(unsafe.Pointer(db)).FnAnalysisLimit = (int32(*(*Sqlite3_int64)(unsafe.Pointer(bp + 704 /* N3 */)) & int64(0x7fffffff))) + (*Sqlite3)(unsafe.Pointer(db)).FnAnalysisLimit = (int32(*(*Sqlite3_int64)(unsafe.Pointer(bp + 544 /* N3 */)) & int64(0x7fffffff))) __353: ; returnSingleInt(tls, v, int64((*Sqlite3)(unsafe.Pointer(db)).FnAnalysisLimit)) @@ -157723,15 +157723,15 @@ __358: } return uintptr(0) }(), - SQLITE_FCNTL_LOCKSTATE, bp+712 /* &j5 */) == SQLITE_OK) { + SQLITE_FCNTL_LOCKSTATE, bp+552 /* &j5 */) == SQLITE_OK) { goto __360 } - zState = azLockName[*(*int32)(unsafe.Pointer(bp + 712 /* j5 */))] + zState = azLockName[*(*int32)(unsafe.Pointer(bp + 552 /* j5 */))] __360: ; __359: ; - Xsqlite3VdbeMultiLoad(tls, v, 1, ts+24439 /* "ss" */, libc.VaList(bp+520, (*Db)(unsafe.Pointer((*Sqlite3)(unsafe.Pointer(db)).FaDb+uintptr(i11)*32)).FzDbSName, zState)) + Xsqlite3VdbeMultiLoad(tls, v, 1, ts+24439 /* "ss" */, libc.VaList(bp+368, (*Db)(unsafe.Pointer((*Sqlite3)(unsafe.Pointer(db)).FaDb+uintptr(i11)*32)).FzDbSName, zState)) goto __355 __355: i11++ @@ -157849,8 +157849,8 @@ type PragmaVtabCursor = PragmaVtabCursor1 /* sqlite3.c:130741:33 */ // Pragma virtual table module xConnect method. func pragmaVtabConnect(tls *libc.TLS, db uintptr, pAux uintptr, argc int32, argv uintptr, ppVtab uintptr, pzErr uintptr) int32 { /* sqlite3.c:130759:12: */ - bp := tls.Alloc(288) - defer tls.Free(288) + bp := tls.Alloc(264) + defer tls.Free(264) var pPragma uintptr = pAux var pTab uintptr = uintptr(0) @@ -157858,14 +157858,14 @@ func pragmaVtabConnect(tls *libc.TLS, db uintptr, pAux uintptr, argc int32, argv var i int32 var j int32 var cSep int8 = int8('(') - // var acc StrAccum at bp+56, 32 + // var acc StrAccum at bp+32, 32 - // var zBuf [200]int8 at bp+88, 200 + // var zBuf [200]int8 at bp+64, 200 _ = argc _ = argv - Xsqlite3StrAccumInit(tls, bp+56 /* &acc */, uintptr(0), bp+88 /* &zBuf[0] */, int32(unsafe.Sizeof([200]int8{})), 0) - Xsqlite3_str_appendall(tls, bp+56 /* &acc */, ts+24533 /* "CREATE TABLE x" */) + Xsqlite3StrAccumInit(tls, bp+32 /* &acc */, uintptr(0), bp+64 /* &zBuf[0] */, int32(unsafe.Sizeof([200]int8{})), 0) + Xsqlite3_str_appendall(tls, bp+32 /* &acc */, ts+24533 /* "CREATE TABLE x" */) i = 0 j = int32((*PragmaName)(unsafe.Pointer(pPragma)).FiPragCName) __1: @@ -157873,7 +157873,7 @@ __1: goto __3 } { - Xsqlite3_str_appendf(tls, bp+56 /* &acc */, ts+24548 /* "%c\"%s\"" */, libc.VaList(bp, int32(cSep), pragCName[j])) + Xsqlite3_str_appendf(tls, bp+32 /* &acc */, ts+24548 /* "%c\"%s\"" */, libc.VaList(bp, int32(cSep), pragCName[j])) cSep = int8(',') } @@ -157886,22 +157886,22 @@ __2: __3: ; if i == 0 { - Xsqlite3_str_appendf(tls, bp+56 /* &acc */, ts+24555 /* "(\"%s\"" */, libc.VaList(bp+24, (*PragmaName)(unsafe.Pointer(pPragma)).FzName)) + Xsqlite3_str_appendf(tls, bp+32 /* &acc */, ts+24555 /* "(\"%s\"" */, libc.VaList(bp+16, (*PragmaName)(unsafe.Pointer(pPragma)).FzName)) i++ } j = 0 if (int32((*PragmaName)(unsafe.Pointer(pPragma)).FmPragFlg) & PragFlg_Result1) != 0 { - Xsqlite3_str_appendall(tls, bp+56 /* &acc */, ts+24561 /* ",arg HIDDEN" */) + Xsqlite3_str_appendall(tls, bp+32 /* &acc */, ts+24561 /* ",arg HIDDEN" */) j++ } if (int32((*PragmaName)(unsafe.Pointer(pPragma)).FmPragFlg) & (PragFlg_SchemaOpt | PragFlg_SchemaReq)) != 0 { - Xsqlite3_str_appendall(tls, bp+56 /* &acc */, ts+24573 /* ",schema HIDDEN" */) + Xsqlite3_str_appendall(tls, bp+32 /* &acc */, ts+24573 /* ",schema HIDDEN" */) j++ } - Xsqlite3_str_append(tls, bp+56 /* &acc */, ts+11464 /* ")" */, 1) - Xsqlite3StrAccumFinish(tls, bp+56 /* &acc */) + Xsqlite3_str_append(tls, bp+32 /* &acc */, ts+11464 /* ")" */, 1) + Xsqlite3StrAccumFinish(tls, bp+32 /* &acc */) - rc = Xsqlite3_declare_vtab(tls, db, bp+88 /* &zBuf[0] */) + rc = Xsqlite3_declare_vtab(tls, db, bp+64 /* &zBuf[0] */) if rc == SQLITE_OK { pTab = Xsqlite3_malloc(tls, int32(unsafe.Sizeof(PragmaVtab{}))) if pTab == uintptr(0) { @@ -157914,7 +157914,7 @@ __3: (*PragmaVtab)(unsafe.Pointer(pTab)).FnHidden = U8(j) } } else { - *(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3_mprintf(tls, ts+951 /* "%s" */, libc.VaList(bp+40, Xsqlite3_errmsg(tls, db))) + *(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3_mprintf(tls, ts+951 /* "%s" */, libc.VaList(bp+24, Xsqlite3_errmsg(tls, db))) } *(*uintptr)(unsafe.Pointer(ppVtab)) = pTab @@ -158048,15 +158048,15 @@ func pragmaVtabNext(tls *libc.TLS, pVtabCursor uintptr) int32 { /* sqlite3.c:130 // Pragma virtual table module xFilter method. func pragmaVtabFilter(tls *libc.TLS, pVtabCursor uintptr, idxNum int32, idxStr uintptr, argc int32, argv uintptr) int32 { /* sqlite3.c:130919:12: */ - bp := tls.Alloc(96) - defer tls.Free(96) + bp := tls.Alloc(64) + defer tls.Free(64) var pCsr uintptr = pVtabCursor var pTab uintptr = (*Sqlite3_vtab_cursor)(unsafe.Pointer(pVtabCursor)).FpVtab var rc int32 var i int32 var j int32 - // var acc StrAccum at bp+64, 32 + // var acc StrAccum at bp+32, 32 var zSql uintptr @@ -158092,23 +158092,23 @@ __2: goto __3 __3: ; - Xsqlite3StrAccumInit(tls, bp+64 /* &acc */, uintptr(0), uintptr(0), 0, *(*int32)(unsafe.Pointer(((*PragmaVtab)(unsafe.Pointer(pTab)).Fdb + 128 /* &.aLimit */) + 1*4))) - Xsqlite3_str_appendall(tls, bp+64 /* &acc */, ts+24588 /* "PRAGMA " */) + Xsqlite3StrAccumInit(tls, bp+32 /* &acc */, uintptr(0), uintptr(0), 0, *(*int32)(unsafe.Pointer(((*PragmaVtab)(unsafe.Pointer(pTab)).Fdb + 128 /* &.aLimit */) + 1*4))) + Xsqlite3_str_appendall(tls, bp+32 /* &acc */, ts+24588 /* "PRAGMA " */) if *(*uintptr)(unsafe.Pointer((pCsr + 24 /* &.azArg */) + 1*8)) != 0 { - Xsqlite3_str_appendf(tls, bp+64 /* &acc */, ts+24596 /* "%Q." */, libc.VaList(bp+16, *(*uintptr)(unsafe.Pointer((pCsr + 24 /* &.azArg */) + 1*8)))) + Xsqlite3_str_appendf(tls, bp+32 /* &acc */, ts+24596 /* "%Q." */, libc.VaList(bp+8, *(*uintptr)(unsafe.Pointer((pCsr + 24 /* &.azArg */) + 1*8)))) } - Xsqlite3_str_appendall(tls, bp+64 /* &acc */, (*PragmaName)(unsafe.Pointer((*PragmaVtab)(unsafe.Pointer(pTab)).FpName)).FzName) + Xsqlite3_str_appendall(tls, bp+32 /* &acc */, (*PragmaName)(unsafe.Pointer((*PragmaVtab)(unsafe.Pointer(pTab)).FpName)).FzName) if *(*uintptr)(unsafe.Pointer((pCsr + 24 /* &.azArg */))) != 0 { - Xsqlite3_str_appendf(tls, bp+64 /* &acc */, ts+24600 /* "=%Q" */, libc.VaList(bp+32, *(*uintptr)(unsafe.Pointer((pCsr + 24 /* &.azArg */))))) + Xsqlite3_str_appendf(tls, bp+32 /* &acc */, ts+24600 /* "=%Q" */, libc.VaList(bp+16, *(*uintptr)(unsafe.Pointer((pCsr + 24 /* &.azArg */))))) } - zSql = Xsqlite3StrAccumFinish(tls, bp+64 /* &acc */) + zSql = Xsqlite3StrAccumFinish(tls, bp+32 /* &acc */) if zSql == uintptr(0) { return SQLITE_NOMEM } rc = Xsqlite3_prepare_v2(tls, (*PragmaVtab)(unsafe.Pointer(pTab)).Fdb, zSql, -1, (pCsr + 8 /* &.pPragma */), uintptr(0)) Xsqlite3_free(tls, zSql) if rc != SQLITE_OK { - (*PragmaVtab)(unsafe.Pointer(pTab)).Fbase.FzErrMsg = Xsqlite3_mprintf(tls, ts+951 /* "%s" */, libc.VaList(bp+48, Xsqlite3_errmsg(tls, (*PragmaVtab)(unsafe.Pointer(pTab)).Fdb))) + (*PragmaVtab)(unsafe.Pointer(pTab)).Fbase.FzErrMsg = Xsqlite3_mprintf(tls, ts+951 /* "%s" */, libc.VaList(bp+24, Xsqlite3_errmsg(tls, (*PragmaVtab)(unsafe.Pointer(pTab)).Fdb))) return rc } return pragmaVtabNext(tls, pVtabCursor) @@ -158191,8 +158191,8 @@ func Xsqlite3PragmaVtabRegister(tls *libc.TLS, db uintptr, zName uintptr) uintpt // Fill the InitData structure with an error message that indicates // that the database is corrupt. func corruptSchema(tls *libc.TLS, pData uintptr, azObj uintptr, zExtra uintptr) { /* sqlite3.c:131071:13: */ - bp := tls.Alloc(80) - defer tls.Free(80) + bp := tls.Alloc(56) + defer tls.Free(56) var db uintptr = (*InitData)(unsafe.Pointer(pData)).Fdb if (*Sqlite3)(unsafe.Pointer(db)).FmallocFailed != 0 { @@ -158220,9 +158220,9 @@ func corruptSchema(tls *libc.TLS, pData uintptr, azObj uintptr, zExtra uintptr) } else { zObj = ts + 11517 /* "?" */ } - z = Xsqlite3MPrintf(tls, db, ts+24651 /* "malformed databa..." */, libc.VaList(bp+40, zObj)) + z = Xsqlite3MPrintf(tls, db, ts+24651 /* "malformed databa..." */, libc.VaList(bp+32, zObj)) if (zExtra != 0) && (*(*int8)(unsafe.Pointer(zExtra)) != 0) { - z = Xsqlite3MPrintf(tls, db, ts+24682 /* "%z - %s" */, libc.VaList(bp+56, z, zExtra)) + z = Xsqlite3MPrintf(tls, db, ts+24682 /* "%z - %s" */, libc.VaList(bp+40, z, zExtra)) } *(*uintptr)(unsafe.Pointer((*InitData)(unsafe.Pointer(pData)).FpzErrMsg)) = z (*InitData)(unsafe.Pointer(pData)).Frc = Xsqlite3CorruptError(tls, 131096) @@ -158356,18 +158356,18 @@ func Xsqlite3InitCallback(tls *libc.TLS, pInit uintptr, argc int32, argv uintptr // auxiliary databases. Return one of the SQLITE_ error codes to // indicate success or failure. func Xsqlite3InitOne(tls *libc.TLS, db uintptr, iDb int32, pzErrMsg uintptr, mFlags U32) int32 { /* sqlite3.c:131241:20: */ - bp := tls.Alloc(132) - defer tls.Free(132) + bp := tls.Alloc(124) + defer tls.Free(124) var rc int32 var i int32 var size int32 var pDb uintptr - // var azArg [6]uintptr at bp+24, 48 + // var azArg [6]uintptr at bp+16, 48 - // var meta [5]int32 at bp+112, 20 + // var meta [5]int32 at bp+104, 20 - // var initData InitData at bp+72, 40 + // var initData InitData at bp+64, 40 var zSchemaTabName uintptr var openedTransaction int32 @@ -158385,30 +158385,30 @@ func Xsqlite3InitOne(tls *libc.TLS, db uintptr, iDb int32, pzErrMsg uintptr, mFl // table name will be inserted automatically by the parser so we can just // use the abbreviation "x" here. The parser will also automatically tag // the schema table as read-only. - *(*uintptr)(unsafe.Pointer(bp + 24 /* &azArg[0] */)) = ts + 13046 /* "table" */ - *(*uintptr)(unsafe.Pointer(bp + 24 /* &azArg[0] */ + 1*8)) = libc.AssignUintptr(&zSchemaTabName, func() uintptr { + *(*uintptr)(unsafe.Pointer(bp + 16 /* &azArg[0] */)) = ts + 13046 /* "table" */ + *(*uintptr)(unsafe.Pointer(bp + 16 /* &azArg[0] */ + 1*8)) = libc.AssignUintptr(&zSchemaTabName, func() uintptr { if (!(0 != 0)) && (iDb == 1) { return ts + 18767 /* "sqlite_temp_mast..." */ } return ts + 12351 /* "sqlite_master" */ }()) - *(*uintptr)(unsafe.Pointer(bp + 24 /* &azArg[0] */ + 2*8)) = *(*uintptr)(unsafe.Pointer(bp + 24 /* &azArg[0] */ + 1*8)) - *(*uintptr)(unsafe.Pointer(bp + 24 /* &azArg[0] */ + 3*8)) = ts + 14711 /* "1" */ - *(*uintptr)(unsafe.Pointer(bp + 24 /* &azArg[0] */ + 4*8)) = ts + 24703 /* "CREATE TABLE x(t..." */ - *(*uintptr)(unsafe.Pointer(bp + 24 /* &azArg[0] */ + 5*8)) = uintptr(0) - (*InitData)(unsafe.Pointer(bp + 72 /* &initData */)).Fdb = db - (*InitData)(unsafe.Pointer(bp + 72 /* &initData */)).FiDb = iDb - (*InitData)(unsafe.Pointer(bp + 72 /* &initData */)).Frc = SQLITE_OK - (*InitData)(unsafe.Pointer(bp + 72 /* &initData */)).FpzErrMsg = pzErrMsg - (*InitData)(unsafe.Pointer(bp + 72 /* &initData */)).FmInitFlags = mFlags - (*InitData)(unsafe.Pointer(bp + 72 /* &initData */)).FnInitRow = U32(0) - (*InitData)(unsafe.Pointer(bp + 72 /* &initData */)).FmxPage = Pgno(0) - Xsqlite3InitCallback(tls, bp+72 /* &initData */, 5, bp+24 /* azArg */, uintptr(0)) + *(*uintptr)(unsafe.Pointer(bp + 16 /* &azArg[0] */ + 2*8)) = *(*uintptr)(unsafe.Pointer(bp + 16 /* &azArg[0] */ + 1*8)) + *(*uintptr)(unsafe.Pointer(bp + 16 /* &azArg[0] */ + 3*8)) = ts + 14711 /* "1" */ + *(*uintptr)(unsafe.Pointer(bp + 16 /* &azArg[0] */ + 4*8)) = ts + 24703 /* "CREATE TABLE x(t..." */ + *(*uintptr)(unsafe.Pointer(bp + 16 /* &azArg[0] */ + 5*8)) = uintptr(0) + (*InitData)(unsafe.Pointer(bp + 64 /* &initData */)).Fdb = db + (*InitData)(unsafe.Pointer(bp + 64 /* &initData */)).FiDb = iDb + (*InitData)(unsafe.Pointer(bp + 64 /* &initData */)).Frc = SQLITE_OK + (*InitData)(unsafe.Pointer(bp + 64 /* &initData */)).FpzErrMsg = pzErrMsg + (*InitData)(unsafe.Pointer(bp + 64 /* &initData */)).FmInitFlags = mFlags + (*InitData)(unsafe.Pointer(bp + 64 /* &initData */)).FnInitRow = U32(0) + (*InitData)(unsafe.Pointer(bp + 64 /* &initData */)).FmxPage = Pgno(0) + Xsqlite3InitCallback(tls, bp+64 /* &initData */, 5, bp+16 /* azArg */, uintptr(0)) *(*U32)(unsafe.Pointer(db + 44 /* &.mDbFlags */)) &= (U32(mask)) - if !((*InitData)(unsafe.Pointer(bp+72 /* &initData */)).Frc != 0) { + if !((*InitData)(unsafe.Pointer(bp+64 /* &initData */)).Frc != 0) { goto __1 } - rc = (*InitData)(unsafe.Pointer(bp + 72 /* &initData */)).Frc + rc = (*InitData)(unsafe.Pointer(bp + 64 /* &initData */)).Frc goto error_out __1: ; @@ -158465,7 +158465,7 @@ __5: if !(i < (int32(uint64(unsafe.Sizeof([5]int32{})) / uint64(unsafe.Sizeof(int32(0)))))) { goto __7 } - Xsqlite3BtreeGetMeta(tls, (*Db)(unsafe.Pointer(pDb)).FpBt, (i + 1), (bp + 112 /* &meta */ + uintptr(i)*4)) + Xsqlite3BtreeGetMeta(tls, (*Db)(unsafe.Pointer(pDb)).FpBt, (i + 1), (bp + 104 /* &meta */ + uintptr(i)*4)) goto __6 __6: i++ @@ -158476,23 +158476,23 @@ __7: if !(((*Sqlite3)(unsafe.Pointer(db)).Fflags & uint64(SQLITE_ResetDatabase)) != uint64(0)) { goto __8 } - libc.Xmemset(tls, bp+112 /* &meta[0] */, 0, uint64(unsafe.Sizeof([5]int32{}))) + libc.Xmemset(tls, bp+104 /* &meta[0] */, 0, uint64(unsafe.Sizeof([5]int32{}))) __8: ; - (*Schema)(unsafe.Pointer((*Db)(unsafe.Pointer(pDb)).FpSchema)).Fschema_cookie = *(*int32)(unsafe.Pointer(bp + 112 /* &meta[0] */)) + (*Schema)(unsafe.Pointer((*Db)(unsafe.Pointer(pDb)).FpSchema)).Fschema_cookie = *(*int32)(unsafe.Pointer(bp + 104 /* &meta[0] */)) // If opening a non-empty database, check the text encoding. For the // main database, set sqlite3.enc to the encoding of the main database. // For an attached db, it is an error if the encoding is not the same // as sqlite3.enc. - if !(*(*int32)(unsafe.Pointer(bp + 112 /* &meta[0] */ + 4*4)) != 0) { + if !(*(*int32)(unsafe.Pointer(bp + 104 /* &meta[0] */ + 4*4)) != 0) { goto __9 } // text encoding if !((iDb == 0) && (((*Sqlite3)(unsafe.Pointer(db)).FmDbFlags & U32(DBFLAG_EncodingFixed)) == U32(0))) { goto __10 } // If opening the main database, set ENC(db). - encoding = (U8(int32(U8(*(*int32)(unsafe.Pointer(bp + 112 /* &meta[0] */ + 4*4)))) & 3)) + encoding = (U8(int32(U8(*(*int32)(unsafe.Pointer(bp + 104 /* &meta[0] */ + 4*4)))) & 3)) if !(int32(encoding) == 0) { goto __12 } @@ -158503,7 +158503,7 @@ __12: goto __11 __10: // If opening an attached database, the encoding much match ENC(db) - if !((*(*int32)(unsafe.Pointer(bp + 112 /* &meta[0] */ + 4*4)) & 3) != (int32((*Sqlite3)(unsafe.Pointer(db)).Fenc))) { + if !((*(*int32)(unsafe.Pointer(bp + 104 /* &meta[0] */ + 4*4)) & 3) != (int32((*Sqlite3)(unsafe.Pointer(db)).Fenc))) { goto __13 } Xsqlite3SetString(tls, pzErrMsg, db, @@ -158521,7 +158521,7 @@ __9: if !((*Schema)(unsafe.Pointer((*Db)(unsafe.Pointer(pDb)).FpSchema)).Fcache_size == 0) { goto __14 } - size = Xsqlite3AbsInt32(tls, *(*int32)(unsafe.Pointer(bp + 112 /* &meta[0] */ + 2*4))) + size = Xsqlite3AbsInt32(tls, *(*int32)(unsafe.Pointer(bp + 104 /* &meta[0] */ + 2*4))) if !(size == 0) { goto __15 } @@ -158537,7 +158537,7 @@ __14: // file_format==2 Version 3.1.3. // ALTER TABLE ADD COLUMN // file_format==3 Version 3.1.4. // ditto but with non-NULL defaults // file_format==4 Version 3.3.0. // DESC indices. Boolean constants - (*Schema)(unsafe.Pointer((*Db)(unsafe.Pointer(pDb)).FpSchema)).Ffile_format = U8(*(*int32)(unsafe.Pointer(bp + 112 /* &meta[0] */ + 1*4))) + (*Schema)(unsafe.Pointer((*Db)(unsafe.Pointer(pDb)).FpSchema)).Ffile_format = U8(*(*int32)(unsafe.Pointer(bp + 104 /* &meta[0] */ + 1*4))) if !(int32((*Schema)(unsafe.Pointer((*Db)(unsafe.Pointer(pDb)).FpSchema)).Ffile_format) == 0) { goto __16 } @@ -158557,7 +158557,7 @@ __17: // clear the legacy_file_format pragma flag so that a VACUUM will // not downgrade the database and thus invalidate any descending // indices that the user might have created. - if !((iDb == 0) && (*(*int32)(unsafe.Pointer(bp + 112 /* &meta[0] */ + 1*4)) >= 4)) { + if !((iDb == 0) && (*(*int32)(unsafe.Pointer(bp + 104 /* &meta[0] */ + 1*4)) >= 4)) { goto __18 } *(*U64)(unsafe.Pointer(db + 48 /* &.flags */)) &= (libc.CplUint64(uint64(SQLITE_LegacyFileFmt))) @@ -158566,7 +158566,7 @@ __18: // Read the schema information out of the schema tables - (*InitData)(unsafe.Pointer(bp + 72 /* &initData */)).FmxPage = Xsqlite3BtreeLastPage(tls, (*Db)(unsafe.Pointer(pDb)).FpBt) + (*InitData)(unsafe.Pointer(bp + 64 /* &initData */)).FmxPage = Xsqlite3BtreeLastPage(tls, (*Db)(unsafe.Pointer(pDb)).FpBt) zSql = Xsqlite3MPrintf(tls, db, ts+24799, /* "SELECT*FROM\"%w\"...." */ @@ -158576,13 +158576,13 @@ __18: (*Sqlite3)(unsafe.Pointer(db)).FxAuth = uintptr(0) rc = Xsqlite3_exec(tls, db, zSql, *(*uintptr)(unsafe.Pointer(&struct { f func(*libc.TLS, uintptr, int32, uintptr, uintptr) int32 - }{Xsqlite3InitCallback})), bp+72 /* &initData */, uintptr(0)) + }{Xsqlite3InitCallback})), bp+64 /* &initData */, uintptr(0)) (*Sqlite3)(unsafe.Pointer(db)).FxAuth = xAuth if !(rc == SQLITE_OK) { goto __19 } - rc = (*InitData)(unsafe.Pointer(bp + 72 /* &initData */)).Frc + rc = (*InitData)(unsafe.Pointer(bp + 64 /* &initData */)).Frc __19: ; Xsqlite3DbFree(tls, db, zSql) @@ -158854,26 +158854,26 @@ func Xsqlite3ParserAddCleanup(tls *libc.TLS, pParse uintptr, xCleanup uintptr, p // Compile the UTF-8 encoded SQL statement zSql into a statement handle. func sqlite3Prepare(tls *libc.TLS, db uintptr, zSql uintptr, nBytes int32, prepFlags U32, pReprepare uintptr, ppStmt uintptr, pzTail uintptr) int32 { /* sqlite3.c:131686:12: */ - bp := tls.Alloc(448) - defer tls.Free(448) + bp := tls.Alloc(432) + defer tls.Free(432) - // var zErrMsg uintptr at bp+440, 8 + // var zErrMsg uintptr at bp+424, 8 // Error message var rc int32 // Result code var i int32 // Loop counter - // var sParse Parse at bp+32, 408 + // var sParse Parse at bp+16, 408 var zDb uintptr var pBt uintptr var zSqlCopy uintptr var mxLen int32 var pT uintptr - *(*uintptr)(unsafe.Pointer(bp + 440 /* zErrMsg */)) = uintptr(0) + *(*uintptr)(unsafe.Pointer(bp + 424 /* zErrMsg */)) = uintptr(0) rc = SQLITE_OK // Parsing context - libc.Xmemset(tls, bp+32 /* &sParse */, 0, uint64((uintptr(0) + 208 /* &.aTempReg */))) - libc.Xmemset(tls, ((bp + 32 /* &sParse */) + uintptr((uint64((uintptr(0) + 256 /* &.sLastToken */))))), 0, (uint64(unsafe.Sizeof(Parse{})) - (uint64((uintptr(0) + 256 /* &.sLastToken */))))) - (*Parse)(unsafe.Pointer(bp + 32 /* &sParse */)).FpReprepare = pReprepare + libc.Xmemset(tls, bp+16 /* &sParse */, 0, uint64((uintptr(0) + 208 /* &.aTempReg */))) + libc.Xmemset(tls, ((bp + 16 /* &sParse */) + uintptr((uint64((uintptr(0) + 256 /* &.sLastToken */))))), 0, (uint64(unsafe.Sizeof(Parse{})) - (uint64((uintptr(0) + 256 /* &.sLastToken */))))) + (*Parse)(unsafe.Pointer(bp + 16 /* &sParse */)).FpReprepare = pReprepare // assert( !db->mallocFailed ); // not true with SQLITE_USE_ALLOCA @@ -158882,12 +158882,12 @@ func sqlite3Prepare(tls *libc.TLS, db uintptr, zSql uintptr, nBytes int32, prepF if !((prepFlags & U32(SQLITE_PREPARE_PERSISTENT)) != 0) { goto __1 } - (*Parse)(unsafe.Pointer(bp+32 /* &sParse */)).FdisableLookaside++ + (*Parse)(unsafe.Pointer(bp+16 /* &sParse */)).FdisableLookaside++ (*Sqlite3)(unsafe.Pointer(db)).Flookaside.FbDisable++ (*Sqlite3)(unsafe.Pointer(db)).Flookaside.Fsz = U16(0) __1: ; - (*Parse)(unsafe.Pointer(bp + 32 /* &sParse */)).FdisableVtab = (U8(libc.Bool32((prepFlags & U32(SQLITE_PREPARE_NO_VTAB)) != U32(0)))) + (*Parse)(unsafe.Pointer(bp + 16 /* &sParse */)).FdisableVtab = (U8(libc.Bool32((prepFlags & U32(SQLITE_PREPARE_NO_VTAB)) != U32(0)))) // Check to verify that it is possible to get a read lock on all // database schemas. The inability to get a read lock indicates that @@ -158948,7 +158948,7 @@ __2: Xsqlite3VtabUnlockList(tls, db) - (*Parse)(unsafe.Pointer(bp + 32 /* &sParse */)).Fdb = db + (*Parse)(unsafe.Pointer(bp + 16 /* &sParse */)).Fdb = db if !((nBytes >= 0) && ((nBytes == 0) || (int32(*(*int8)(unsafe.Pointer(zSql + uintptr((nBytes - 1))))) != 0))) { goto __8 } @@ -158966,62 +158966,62 @@ __10: if !(zSqlCopy != 0) { goto __11 } - Xsqlite3RunParser(tls, bp+32 /* &sParse */, zSqlCopy, bp+440 /* &zErrMsg */) - (*Parse)(unsafe.Pointer(bp + 32 /* &sParse */)).FzTail = (zSql + uintptr(((int64((*Parse)(unsafe.Pointer(bp+32 /* &sParse */)).FzTail) - int64(zSqlCopy)) / 1))) + Xsqlite3RunParser(tls, bp+16 /* &sParse */, zSqlCopy, bp+424 /* &zErrMsg */) + (*Parse)(unsafe.Pointer(bp + 16 /* &sParse */)).FzTail = (zSql + uintptr(((int64((*Parse)(unsafe.Pointer(bp+16 /* &sParse */)).FzTail) - int64(zSqlCopy)) / 1))) Xsqlite3DbFree(tls, db, zSqlCopy) goto __12 __11: - (*Parse)(unsafe.Pointer(bp + 32 /* &sParse */)).FzTail = (zSql + uintptr(nBytes)) + (*Parse)(unsafe.Pointer(bp + 16 /* &sParse */)).FzTail = (zSql + uintptr(nBytes)) __12: ; goto __9 __8: - Xsqlite3RunParser(tls, bp+32 /* &sParse */, zSql, bp+440 /* &zErrMsg */) + Xsqlite3RunParser(tls, bp+16 /* &sParse */, zSql, bp+424 /* &zErrMsg */) __9: ; if !(pzTail != 0) { goto __13 } - *(*uintptr)(unsafe.Pointer(pzTail)) = (*Parse)(unsafe.Pointer(bp + 32 /* &sParse */)).FzTail + *(*uintptr)(unsafe.Pointer(pzTail)) = (*Parse)(unsafe.Pointer(bp + 16 /* &sParse */)).FzTail __13: ; if !(int32((*Sqlite3)(unsafe.Pointer(db)).Finit.Fbusy) == 0) { goto __14 } - Xsqlite3VdbeSetSql(tls, (*Parse)(unsafe.Pointer(bp+32 /* &sParse */)).FpVdbe, zSql, (int32((int64((*Parse)(unsafe.Pointer(bp+32 /* &sParse */)).FzTail) - int64(zSql)) / 1)), uint8(prepFlags)) + Xsqlite3VdbeSetSql(tls, (*Parse)(unsafe.Pointer(bp+16 /* &sParse */)).FpVdbe, zSql, (int32((int64((*Parse)(unsafe.Pointer(bp+16 /* &sParse */)).FzTail) - int64(zSql)) / 1)), uint8(prepFlags)) __14: ; if !((*Sqlite3)(unsafe.Pointer(db)).FmallocFailed != 0) { goto __15 } - (*Parse)(unsafe.Pointer(bp + 32 /* &sParse */)).Frc = SQLITE_NOMEM - (*Parse)(unsafe.Pointer(bp + 32 /* &sParse */)).FcheckSchema = U8(0) + (*Parse)(unsafe.Pointer(bp + 16 /* &sParse */)).Frc = SQLITE_NOMEM + (*Parse)(unsafe.Pointer(bp + 16 /* &sParse */)).FcheckSchema = U8(0) __15: ; - if !(((*Parse)(unsafe.Pointer(bp+32 /* &sParse */)).Frc != SQLITE_OK) && ((*Parse)(unsafe.Pointer(bp+32 /* &sParse */)).Frc != SQLITE_DONE)) { + if !(((*Parse)(unsafe.Pointer(bp+16 /* &sParse */)).Frc != SQLITE_OK) && ((*Parse)(unsafe.Pointer(bp+16 /* &sParse */)).Frc != SQLITE_DONE)) { goto __16 } - if !((*Parse)(unsafe.Pointer(bp+32 /* &sParse */)).FcheckSchema != 0) { + if !((*Parse)(unsafe.Pointer(bp+16 /* &sParse */)).FcheckSchema != 0) { goto __18 } - schemaIsValid(tls, bp+32 /* &sParse */) + schemaIsValid(tls, bp+16 /* &sParse */) __18: ; - if !((*Parse)(unsafe.Pointer(bp+32 /* &sParse */)).FpVdbe != 0) { + if !((*Parse)(unsafe.Pointer(bp+16 /* &sParse */)).FpVdbe != 0) { goto __19 } - Xsqlite3VdbeFinalize(tls, (*Parse)(unsafe.Pointer(bp+32 /* &sParse */)).FpVdbe) + Xsqlite3VdbeFinalize(tls, (*Parse)(unsafe.Pointer(bp+16 /* &sParse */)).FpVdbe) __19: ; - rc = (*Parse)(unsafe.Pointer(bp + 32 /* &sParse */)).Frc - if !(*(*uintptr)(unsafe.Pointer(bp + 440 /* zErrMsg */)) != 0) { + rc = (*Parse)(unsafe.Pointer(bp + 16 /* &sParse */)).Frc + if !(*(*uintptr)(unsafe.Pointer(bp + 424 /* zErrMsg */)) != 0) { goto __20 } - Xsqlite3ErrorWithMsg(tls, db, rc, ts+951 /* "%s" */, libc.VaList(bp+16, *(*uintptr)(unsafe.Pointer(bp + 440 /* zErrMsg */)))) - Xsqlite3DbFree(tls, db, *(*uintptr)(unsafe.Pointer(bp + 440 /* zErrMsg */))) + Xsqlite3ErrorWithMsg(tls, db, rc, ts+951 /* "%s" */, libc.VaList(bp+8, *(*uintptr)(unsafe.Pointer(bp + 424 /* zErrMsg */)))) + Xsqlite3DbFree(tls, db, *(*uintptr)(unsafe.Pointer(bp + 424 /* zErrMsg */))) goto __21 __20: Xsqlite3Error(tls, db, rc) @@ -159030,7 +159030,7 @@ __21: goto __17 __16: ; - *(*uintptr)(unsafe.Pointer(ppStmt)) = (*Parse)(unsafe.Pointer(bp + 32 /* &sParse */)).FpVdbe + *(*uintptr)(unsafe.Pointer(ppStmt)) = (*Parse)(unsafe.Pointer(bp + 16 /* &sParse */)).FpVdbe rc = SQLITE_OK Xsqlite3ErrorClear(tls, db) __17: @@ -159038,11 +159038,11 @@ __17: // Delete any TriggerPrg structures allocated while parsing this statement. __22: - if !((*Parse)(unsafe.Pointer(bp+32 /* &sParse */)).FpTriggerPrg != 0) { + if !((*Parse)(unsafe.Pointer(bp+16 /* &sParse */)).FpTriggerPrg != 0) { goto __23 } - pT = (*Parse)(unsafe.Pointer(bp + 32 /* &sParse */)).FpTriggerPrg - (*Parse)(unsafe.Pointer(bp + 32 /* &sParse */)).FpTriggerPrg = (*TriggerPrg)(unsafe.Pointer(pT)).FpNext + pT = (*Parse)(unsafe.Pointer(bp + 16 /* &sParse */)).FpTriggerPrg + (*Parse)(unsafe.Pointer(bp + 16 /* &sParse */)).FpTriggerPrg = (*TriggerPrg)(unsafe.Pointer(pT)).FpNext Xsqlite3DbFree(tls, db, pT) goto __22 __23: @@ -159050,7 +159050,7 @@ __23: end_prepare: - Xsqlite3ParserReset(tls, bp+32 /* &sParse */) + Xsqlite3ParserReset(tls, bp+16 /* &sParse */) return rc } @@ -159459,20 +159459,20 @@ func findRightmost(tls *libc.TLS, p uintptr) uintptr { /* sqlite3.c:132257:15: * // If an illegal or unsupported join type is seen, then still return // a join type, but put an error in the pParse structure. func Xsqlite3JoinType(tls *libc.TLS, pParse uintptr, pA uintptr, pB uintptr, pC uintptr) int32 { /* sqlite3.c:132279:20: */ - bp := tls.Alloc(64) - defer tls.Free(64) + bp := tls.Alloc(56) + defer tls.Free(56) var jointype int32 = 0 - // var apAll [3]uintptr at bp+40, 24 + // var apAll [3]uintptr at bp+32, 24 var p uintptr var i int32 var j int32 - *(*uintptr)(unsafe.Pointer(bp + 40 /* &apAll[0] */)) = pA - *(*uintptr)(unsafe.Pointer(bp + 40 /* &apAll[0] */ + 1*8)) = pB - *(*uintptr)(unsafe.Pointer(bp + 40 /* &apAll[0] */ + 2*8)) = pC - for i = 0; (i < 3) && (*(*uintptr)(unsafe.Pointer(bp + 40 /* &apAll[0] */ + uintptr(i)*8)) != 0); i++ { - p = *(*uintptr)(unsafe.Pointer(bp + 40 /* &apAll[0] */ + uintptr(i)*8)) + *(*uintptr)(unsafe.Pointer(bp + 32 /* &apAll[0] */)) = pA + *(*uintptr)(unsafe.Pointer(bp + 32 /* &apAll[0] */ + 1*8)) = pB + *(*uintptr)(unsafe.Pointer(bp + 32 /* &apAll[0] */ + 2*8)) = pC + for i = 0; (i < 3) && (*(*uintptr)(unsafe.Pointer(bp + 32 /* &apAll[0] */ + uintptr(i)*8)) != 0); i++ { + p = *(*uintptr)(unsafe.Pointer(bp + 32 /* &apAll[0] */ + uintptr(i)*8)) for j = 0; j < (int32(uint64(unsafe.Sizeof(aKeyword)) / uint64(unsafe.Sizeof(struct { Fi U8 FnChar U8 @@ -159687,8 +159687,8 @@ func unsetJoinExpr(tls *libc.TLS, p uintptr, iTable int32) { /* sqlite3.c:132479 // // This routine returns the number of errors encountered. func sqliteProcessJoin(tls *libc.TLS, pParse uintptr, p uintptr) int32 { /* sqlite3.c:132513:12: */ - bp := tls.Alloc(48) - defer tls.Free(48) + bp := tls.Alloc(32) + defer tls.Free(32) var pSrc uintptr // All tables in the FROM clause var i int32 @@ -159723,17 +159723,17 @@ __1: } for j = 0; j < int32((*Table)(unsafe.Pointer(pRightTab)).FnCol); j++ { var zName uintptr // Name of column in the right table - // var iLeft int32 at bp+32, 4 + // var iLeft int32 at bp+16, 4 // Matching left table - // var iLeftCol int32 at bp+36, 4 + // var iLeftCol int32 at bp+20, 4 // Matching column in the left table if (int32((*Column)(unsafe.Pointer(((*Table)(unsafe.Pointer(pRightTab)).FaCol + uintptr(j)*32))).FcolFlags) & COLFLAG_HIDDEN) != 0 { continue } zName = (*Column)(unsafe.Pointer((*Table)(unsafe.Pointer(pRightTab)).FaCol + uintptr(j)*32)).FzName - if tableAndColumnIndex(tls, pSrc, (i+1), zName, bp+32 /* &iLeft */, bp+36 /* &iLeftCol */, 1) != 0 { - addWhereTerm(tls, pParse, pSrc, *(*int32)(unsafe.Pointer(bp + 32 /* iLeft */)), *(*int32)(unsafe.Pointer(bp + 36 /* iLeftCol */)), (i + 1), j, + if tableAndColumnIndex(tls, pSrc, (i+1), zName, bp+16 /* &iLeft */, bp+20 /* &iLeftCol */, 1) != 0 { + addWhereTerm(tls, pParse, pSrc, *(*int32)(unsafe.Pointer(bp + 16 /* iLeft */)), *(*int32)(unsafe.Pointer(bp + 20 /* iLeftCol */)), (i + 1), j, isOuter, (p + 48 /* &.pWhere */)) } } @@ -159766,21 +159766,21 @@ __1: var pList uintptr = (*SrcItem)(unsafe.Pointer(pRight)).FpUsing for j = 0; j < (*IdList)(unsafe.Pointer(pList)).FnId; j++ { var zName uintptr // Name of the term in the USING clause - // var iLeft int32 at bp+40, 4 + // var iLeft int32 at bp+24, 4 // Table on the left with matching column name - // var iLeftCol int32 at bp+44, 4 + // var iLeftCol int32 at bp+28, 4 // Column number of matching column on the left var iRightCol int32 // Column number of matching column on the right zName = (*IdList_item)(unsafe.Pointer((*IdList)(unsafe.Pointer(pList)).Fa + uintptr(j)*16)).FzName iRightCol = Xsqlite3ColumnIndex(tls, pRightTab, zName) if (iRightCol < 0) || - !(tableAndColumnIndex(tls, pSrc, (i+1), zName, bp+40 /* &iLeft */, bp+44 /* &iLeftCol */, 0) != 0) { + !(tableAndColumnIndex(tls, pSrc, (i+1), zName, bp+24 /* &iLeft */, bp+28 /* &iLeftCol */, 0) != 0) { Xsqlite3ErrorMsg(tls, pParse, - ts+25120 /* "cannot join usin..." */, libc.VaList(bp+16, zName)) + ts+25120 /* "cannot join usin..." */, libc.VaList(bp+8, zName)) return 1 } - addWhereTerm(tls, pParse, pSrc, *(*int32)(unsafe.Pointer(bp + 40 /* iLeft */)), *(*int32)(unsafe.Pointer(bp + 44 /* iLeftCol */)), (i + 1), iRightCol, + addWhereTerm(tls, pParse, pSrc, *(*int32)(unsafe.Pointer(bp + 24 /* iLeft */)), *(*int32)(unsafe.Pointer(bp + 28 /* iLeftCol */)), (i + 1), iRightCol, isOuter, (p + 48 /* &.pWhere */)) } } @@ -160126,8 +160126,8 @@ func fixDistinctOpenEph(tls *libc.TLS, pParse uintptr, eTnctType int32, iVal int // zero or more, then data is pulled from srcTab and p->pEList is used only // to get the number of columns and the collation sequence for each column. func selectInnerLoop(tls *libc.TLS, pParse uintptr, p uintptr, srcTab int32, pSort uintptr, pDistinct uintptr, pDest uintptr, iContinue int32, iBreak int32) { /* sqlite3.c:133056:13: */ - bp := tls.Alloc(24) - defer tls.Free(24) + bp := tls.Alloc(16) + defer tls.Free(16) var v uintptr = (*Parse)(unsafe.Pointer(pParse)).FpVdbe var i int32 @@ -160136,7 +160136,7 @@ func selectInnerLoop(tls *libc.TLS, pParse uintptr, p uintptr, srcTab int32, pSo var iParm int32 = (*SelectDest)(unsafe.Pointer(pDest)).FiSDParm // First argument to disposal method var nResultCol int32 // Number of result columns var nPrefixReg int32 = 0 // Number of extra registers before regResult - // var sRowLoadInfo RowLoadInfo at bp+16, 8 + // var sRowLoadInfo RowLoadInfo at bp+8, 8 // Info for deferred row loading // Usually, regResult is the first cell in an array of memory cells @@ -160225,16 +160225,16 @@ func selectInnerLoop(tls *libc.TLS, pParse uintptr, p uintptr, srcTab int32, pSo } } - (*RowLoadInfo)(unsafe.Pointer(bp + 16 /* &sRowLoadInfo */)).FregResult = regResult - (*RowLoadInfo)(unsafe.Pointer(bp + 16 /* &sRowLoadInfo */)).FecelFlags = ecelFlags + (*RowLoadInfo)(unsafe.Pointer(bp + 8 /* &sRowLoadInfo */)).FregResult = regResult + (*RowLoadInfo)(unsafe.Pointer(bp + 8 /* &sRowLoadInfo */)).FecelFlags = ecelFlags if (((*Select)(unsafe.Pointer(p)).FiLimit != 0) && ((int32(ecelFlags) & SQLITE_ECEL_OMITREF) != 0)) && (nPrefixReg > 0) { - (*SortCtx)(unsafe.Pointer(pSort)).FpDeferredRowLoad = bp + 16 /* &sRowLoadInfo */ + (*SortCtx)(unsafe.Pointer(pSort)).FpDeferredRowLoad = bp + 8 /* &sRowLoadInfo */ regOrig = 0 } else { - innerLoopLoadRow(tls, pParse, p, bp+16 /* &sRowLoadInfo */) + innerLoopLoadRow(tls, pParse, p, bp+8 /* &sRowLoadInfo */) } } @@ -160592,8 +160592,8 @@ func Xsqlite3SelectOpName(tls *libc.TLS, id int32) uintptr { /* sqlite3.c:133540 // where xxx is one of "DISTINCT", "ORDER BY" or "GROUP BY". Exactly which // is determined by the zUsage argument. func explainTempTable(tls *libc.TLS, pParse uintptr, zUsage uintptr) { /* sqlite3.c:133562:13: */ - bp := tls.Alloc(16) - defer tls.Free(16) + bp := tls.Alloc(8) + defer tls.Free(8) Xsqlite3VdbeExplain(tls, pParse, uint8(0), ts+25224 /* "USE TEMP B-TREE ..." */, libc.VaList(bp, zUsage)) } @@ -160609,8 +160609,8 @@ func explainTempTable(tls *libc.TLS, pParse uintptr, zUsage uintptr) { /* sqlite // we need to run the sorter and output the results. The following // routine generates the code needed to do that. func generateSortTail(tls *libc.TLS, pParse uintptr, p uintptr, pSort uintptr, nColumn int32, pDest uintptr) { /* sqlite3.c:133588:13: */ - bp := tls.Alloc(16) - defer tls.Free(16) + bp := tls.Alloc(8) + defer tls.Free(8) var v uintptr = (*Parse)(unsafe.Pointer(pParse)).FpVdbe // The prepared statement var addrBreak int32 = (*SortCtx)(unsafe.Pointer(pSort)).FlabelDone // Jump here to exit loop @@ -160968,8 +160968,8 @@ func generateColumnTypes(tls *libc.TLS, pParse uintptr, pTabList uintptr, pEList // then the result column name with the table name // prefix, ex: TABLE.COLUMN. Otherwise use zSpan. func Xsqlite3GenerateColumnNames(tls *libc.TLS, pParse uintptr, pSelect uintptr) { /* sqlite3.c:134029:21: */ - bp := tls.Alloc(40) - defer tls.Free(40) + bp := tls.Alloc(24) + defer tls.Free(24) var v uintptr = (*Parse)(unsafe.Pointer(pParse)).FpVdbe var i int32 @@ -161033,7 +161033,7 @@ func Xsqlite3GenerateColumnNames(tls *libc.TLS, pParse uintptr, pSelect uintptr) } else { var z uintptr = (*ExprList_item)(unsafe.Pointer((pEList + 8 /* &.a */) + uintptr(i)*32)).FzEName if z == uintptr(0) { - z = Xsqlite3MPrintf(tls, db, ts+25247 /* "column%d" */, libc.VaList(bp+24, (i+1))) + z = Xsqlite3MPrintf(tls, db, ts+25247 /* "column%d" */, libc.VaList(bp+16, (i+1))) } else { z = Xsqlite3DbStrDup(tls, db, z) } @@ -161064,24 +161064,24 @@ func Xsqlite3GenerateColumnNames(tls *libc.TLS, pParse uintptr, pSelect uintptr) // // See Also: sqlite3GenerateColumnNames() func Xsqlite3ColumnsFromExprList(tls *libc.TLS, pParse uintptr, pEList uintptr, pnCol uintptr, paCol uintptr) int32 { /* sqlite3.c:134121:20: */ - bp := tls.Alloc(76) - defer tls.Free(76) + bp := tls.Alloc(60) + defer tls.Free(60) var db uintptr = (*Parse)(unsafe.Pointer(pParse)).Fdb // Database connection var i int32 var j int32 // Loop counters - // var cnt U32 at bp+72, 4 + // var cnt U32 at bp+56, 4 // Index added to make the name unique var aCol uintptr var pCol uintptr // For looping over result columns var nCol int32 // Number of columns in the result set var zName uintptr // Column name var nName int32 // Size of name in zName[] - // var ht Hash at bp+48, 24 + // var ht Hash at bp+32, 24 // Hash table of column names var pTab uintptr - Xsqlite3HashInit(tls, bp+48 /* &ht */) + Xsqlite3HashInit(tls, bp+32 /* &ht */) if pEList != 0 { nCol = (*ExprList)(unsafe.Pointer(pEList)).FnExpr aCol = Xsqlite3DbMallocZero(tls, db, (uint64(unsafe.Sizeof(Column{})) * uint64(nCol))) @@ -161140,8 +161140,8 @@ __1: // Make sure the column name is unique. If the name is not unique, // append an integer to the name so that it becomes unique. - *(*U32)(unsafe.Pointer(bp + 72 /* cnt */)) = U32(0) - for (zName != 0) && (Xsqlite3HashFind(tls, bp+48 /* &ht */, zName) != uintptr(0)) { + *(*U32)(unsafe.Pointer(bp + 56 /* cnt */)) = U32(0) + for (zName != 0) && (Xsqlite3HashFind(tls, bp+32 /* &ht */, zName) != uintptr(0)) { nName = Xsqlite3Strlen30(tls, zName) if nName > 0 { for j = (nName - 1); (j > 0) && ((int32(Xsqlite3CtypeMap[uint8(*(*int8)(unsafe.Pointer(zName + uintptr(j))))]) & 0x04) != 0); j-- { @@ -161150,15 +161150,15 @@ __1: nName = j } } - zName = Xsqlite3MPrintf(tls, db, ts+25256 /* "%.*z:%u" */, libc.VaList(bp+16, nName, zName, libc.PreIncUint32(&*(*U32)(unsafe.Pointer(bp + 72 /* cnt */)), 1))) - if *(*U32)(unsafe.Pointer(bp + 72 /* cnt */)) > U32(3) { - Xsqlite3_randomness(tls, int32(unsafe.Sizeof(U32(0))), bp+72 /* &cnt */) + zName = Xsqlite3MPrintf(tls, db, ts+25256 /* "%.*z:%u" */, libc.VaList(bp+8, nName, zName, libc.PreIncUint32(&*(*U32)(unsafe.Pointer(bp + 56 /* cnt */)), 1))) + if *(*U32)(unsafe.Pointer(bp + 56 /* cnt */)) > U32(3) { + Xsqlite3_randomness(tls, int32(unsafe.Sizeof(U32(0))), bp+56 /* &cnt */) } } (*Column)(unsafe.Pointer(pCol)).FzName = zName (*Column)(unsafe.Pointer(pCol)).FhName = Xsqlite3StrIHash(tls, zName) - if (zName != 0) && (Xsqlite3HashInsert(tls, bp+48 /* &ht */, zName, pCol) == pCol) { + if (zName != 0) && (Xsqlite3HashInsert(tls, bp+32 /* &ht */, zName, pCol) == pCol) { Xsqlite3OomFault(tls, db) } @@ -161171,7 +161171,7 @@ __2: goto __3 __3: ; - Xsqlite3HashClear(tls, bp+48 /* &ht */) + Xsqlite3HashClear(tls, bp+32 /* &ht */) if (*Sqlite3)(unsafe.Pointer(db)).FmallocFailed != 0 { for j = 0; j < i; j++ { Xsqlite3DbFree(tls, db, (*Column)(unsafe.Pointer(aCol+uintptr(j)*32)).FzName) @@ -161714,8 +161714,8 @@ end_of_recursive_query: // The sqlite3CodeSubselect will have added the LIMIT 1 clause in tht case. // Since the limit is exactly 1, we only need to evalutes the left-most VALUES. func multiSelectValues(tls *libc.TLS, pParse uintptr, p uintptr, pDest uintptr) int32 { /* sqlite3.c:134671:12: */ - bp := tls.Alloc(24) - defer tls.Free(24) + bp := tls.Alloc(16) + defer tls.Free(16) var nRow int32 = 1 var rc int32 = 0 @@ -161790,18 +161790,18 @@ func hasAnchor(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:134708:12: */ // Notice that because of the way SQLite parses compound SELECTs, the // individual selects always group from left to right. func multiSelect(tls *libc.TLS, pParse uintptr, p uintptr, pDest uintptr) int32 { /* sqlite3.c:134744:12: */ - bp := tls.Alloc(160) - defer tls.Free(160) + bp := tls.Alloc(144) + defer tls.Free(144) var rc int32 // Success code from a subroutine var pPrior uintptr // Another SELECT immediately to our left var v uintptr // Generate code to this VDBE - // var dest SelectDest at bp+32, 40 + // var dest SelectDest at bp+16, 40 // Alternative data destination var pDelete uintptr // Chain of simple selects to delete var db uintptr var addr int32 - // var nLimit int32 at bp+72, 4 + // var nLimit int32 at bp+56, 4 var iCont int32 var iBreak int32 @@ -161811,7 +161811,7 @@ func multiSelect(tls *libc.TLS, pParse uintptr, p uintptr, pDest uintptr) int32 var priorOp int32 // The SRT_ operation to apply to prior selects var pLimit uintptr // Saved values of p->nLimit var addr1 int32 - // var uniondest SelectDest at bp+80, 40 + // var uniondest SelectDest at bp+64, 40 var tab1 int32 var tab2 int32 @@ -161820,7 +161820,7 @@ func multiSelect(tls *libc.TLS, pParse uintptr, p uintptr, pDest uintptr) int32 var iStart1 int32 var pLimit1 uintptr var addr2 int32 - // var intersectdest SelectDest at bp+120, 40 + // var intersectdest SelectDest at bp+104, 40 var r1 int32 var addr3 int32 @@ -161838,18 +161838,18 @@ func multiSelect(tls *libc.TLS, pParse uintptr, p uintptr, pDest uintptr) int32 db = (*Parse)(unsafe.Pointer(pParse)).Fdb pPrior = (*Select)(unsafe.Pointer(p)).FpPrior - *(*SelectDest)(unsafe.Pointer(bp + 32 /* dest */)) = *(*SelectDest)(unsafe.Pointer(pDest)) + *(*SelectDest)(unsafe.Pointer(bp + 16 /* dest */)) = *(*SelectDest)(unsafe.Pointer(pDest)) v = Xsqlite3GetVdbe(tls, pParse) // The VDBE already created by calling function // Create the destination temporary table if necessary - if !(int32((*SelectDest)(unsafe.Pointer(bp+32 /* &dest */)).FeDest) == SRT_EphemTab) { + if !(int32((*SelectDest)(unsafe.Pointer(bp+16 /* &dest */)).FeDest) == SRT_EphemTab) { goto __1 } - Xsqlite3VdbeAddOp2(tls, v, OP_OpenEphemeral, (*SelectDest)(unsafe.Pointer(bp+32 /* &dest */)).FiSDParm, (*ExprList)(unsafe.Pointer((*Select)(unsafe.Pointer(p)).FpEList)).FnExpr) - (*SelectDest)(unsafe.Pointer(bp + 32 /* &dest */)).FeDest = U8(SRT_Table) + Xsqlite3VdbeAddOp2(tls, v, OP_OpenEphemeral, (*SelectDest)(unsafe.Pointer(bp+16 /* &dest */)).FiSDParm, (*ExprList)(unsafe.Pointer((*Select)(unsafe.Pointer(p)).FpEList)).FnExpr) + (*SelectDest)(unsafe.Pointer(bp + 16 /* &dest */)).FeDest = U8(SRT_Table) __1: ; @@ -161857,7 +161857,7 @@ __1: if !(((*Select)(unsafe.Pointer(p)).FselFlags & U32(SF_MultiValue)) != 0) { goto __2 } - rc = multiSelectValues(tls, pParse, p, bp+32 /* &dest */) + rc = multiSelectValues(tls, pParse, p, bp+16 /* &dest */) if !(rc >= 0) { goto __3 } @@ -161874,7 +161874,7 @@ __2: if !((((*Select)(unsafe.Pointer(p)).FselFlags & U32(SF_Recursive)) != U32(0)) && (hasAnchor(tls, p) != 0)) { goto __4 } - generateWithRecursiveQuery(tls, pParse, p, bp+32 /* &dest */) + generateWithRecursiveQuery(tls, pParse, p, bp+16 /* &dest */) goto __5 __4: @@ -161908,13 +161908,13 @@ __8: goto __9 __10: addr = 0 - *(*int32)(unsafe.Pointer(bp + 72 /* nLimit */)) = 0 // Initialize to suppress harmless compiler warning + *(*int32)(unsafe.Pointer(bp + 56 /* nLimit */)) = 0 // Initialize to suppress harmless compiler warning (*Select)(unsafe.Pointer(pPrior)).FiLimit = (*Select)(unsafe.Pointer(p)).FiLimit (*Select)(unsafe.Pointer(pPrior)).FiOffset = (*Select)(unsafe.Pointer(p)).FiOffset (*Select)(unsafe.Pointer(pPrior)).FpLimit = (*Select)(unsafe.Pointer(p)).FpLimit - rc = Xsqlite3Select(tls, pParse, pPrior, bp+32 /* &dest */) + rc = Xsqlite3Select(tls, pParse, pPrior, bp+16 /* &dest */) (*Select)(unsafe.Pointer(pPrior)).FpLimit = uintptr(0) if !(rc != 0) { goto __14 @@ -161941,17 +161941,17 @@ __15: ; Xsqlite3VdbeExplain(tls, pParse, uint8(1), ts+25191 /* "UNION ALL" */, 0) - rc = Xsqlite3Select(tls, pParse, p, bp+32 /* &dest */) + rc = Xsqlite3Select(tls, pParse, p, bp+16 /* &dest */) pDelete = (*Select)(unsafe.Pointer(p)).FpPrior (*Select)(unsafe.Pointer(p)).FpPrior = pPrior (*Select)(unsafe.Pointer(p)).FnSelectRow = Xsqlite3LogEstAdd(tls, (*Select)(unsafe.Pointer(p)).FnSelectRow, (*Select)(unsafe.Pointer(pPrior)).FnSelectRow) if !(((((*Select)(unsafe.Pointer(p)).FpLimit != 0) && - (Xsqlite3ExprIsInteger(tls, (*Expr)(unsafe.Pointer((*Select)(unsafe.Pointer(p)).FpLimit)).FpLeft, bp+72 /* &nLimit */) != 0)) && - (*(*int32)(unsafe.Pointer(bp + 72 /* nLimit */)) > 0)) && (int32((*Select)(unsafe.Pointer(p)).FnSelectRow) > int32(Xsqlite3LogEst(tls, U64(*(*int32)(unsafe.Pointer(bp + 72 /* nLimit */))))))) { + (Xsqlite3ExprIsInteger(tls, (*Expr)(unsafe.Pointer((*Select)(unsafe.Pointer(p)).FpLimit)).FpLeft, bp+56 /* &nLimit */) != 0)) && + (*(*int32)(unsafe.Pointer(bp + 56 /* nLimit */)) > 0)) && (int32((*Select)(unsafe.Pointer(p)).FnSelectRow) > int32(Xsqlite3LogEst(tls, U64(*(*int32)(unsafe.Pointer(bp + 56 /* nLimit */))))))) { goto __17 } - (*Select)(unsafe.Pointer(p)).FnSelectRow = Xsqlite3LogEst(tls, U64(*(*int32)(unsafe.Pointer(bp + 72 /* nLimit */)))) + (*Select)(unsafe.Pointer(p)).FnSelectRow = Xsqlite3LogEst(tls, U64(*(*int32)(unsafe.Pointer(bp + 56 /* nLimit */)))) __17: ; if !(addr != 0) { @@ -161967,13 +161967,13 @@ __12: // Cursor number of the temp table holding result op = U8(0) priorOp = SRT_Union - if !(int32((*SelectDest)(unsafe.Pointer(bp+32 /* &dest */)).FeDest) == priorOp) { + if !(int32((*SelectDest)(unsafe.Pointer(bp+16 /* &dest */)).FeDest) == priorOp) { goto __19 } // We can reuse a temporary table generated by a SELECT to our // right. // Not allowed on leftward elements - unionTab = (*SelectDest)(unsafe.Pointer(bp + 32 /* &dest */)).FiSDParm + unionTab = (*SelectDest)(unsafe.Pointer(bp + 16 /* &dest */)).FiSDParm goto __20 __19: // We will need to create our own temporary table to hold the @@ -161990,9 +161990,9 @@ __20: // Code the SELECT statements to our left - Xsqlite3SelectDestInit(tls, bp+80 /* &uniondest */, priorOp, unionTab) + Xsqlite3SelectDestInit(tls, bp+64 /* &uniondest */, priorOp, unionTab) - rc = Xsqlite3Select(tls, pParse, pPrior, bp+80 /* &uniondest */) + rc = Xsqlite3Select(tls, pParse, pPrior, bp+64 /* &uniondest */) if !(rc != 0) { goto __21 } @@ -162014,10 +162014,10 @@ __23: (*Select)(unsafe.Pointer(p)).FpPrior = uintptr(0) pLimit = (*Select)(unsafe.Pointer(p)).FpLimit (*Select)(unsafe.Pointer(p)).FpLimit = uintptr(0) - (*SelectDest)(unsafe.Pointer(bp + 80 /* &uniondest */)).FeDest = op + (*SelectDest)(unsafe.Pointer(bp + 64 /* &uniondest */)).FeDest = op Xsqlite3VdbeExplain(tls, pParse, uint8(1), ts+25517 /* "%s USING TEMP B-..." */, libc.VaList(bp, Xsqlite3SelectOpName(tls, int32((*Select)(unsafe.Pointer(p)).Fop)))) - rc = Xsqlite3Select(tls, pParse, p, bp+80 /* &uniondest */) + rc = Xsqlite3Select(tls, pParse, p, bp+64 /* &uniondest */) pDelete = (*Select)(unsafe.Pointer(p)).FpPrior (*Select)(unsafe.Pointer(p)).FpPrior = pPrior @@ -162036,7 +162036,7 @@ __24: // Convert the data in the temporary table into whatever form // it is that we currently need. - if !((int32((*SelectDest)(unsafe.Pointer(bp+32 /* &dest */)).FeDest) != priorOp) && (int32((*Sqlite3)(unsafe.Pointer(db)).FmallocFailed) == 0)) { + if !((int32((*SelectDest)(unsafe.Pointer(bp+16 /* &dest */)).FeDest) != priorOp) && (int32((*Sqlite3)(unsafe.Pointer(db)).FmallocFailed) == 0)) { goto __25 } iBreak = Xsqlite3VdbeMakeLabel(tls, pParse) @@ -162045,7 +162045,7 @@ __24: Xsqlite3VdbeAddOp2(tls, v, OP_Rewind, unionTab, iBreak) iStart = Xsqlite3VdbeCurrentAddr(tls, v) selectInnerLoop(tls, pParse, p, unionTab, - uintptr(0), uintptr(0), bp+32 /* &dest */, iCont, iBreak) + uintptr(0), uintptr(0), bp+16 /* &dest */, iCont, iBreak) Xsqlite3VdbeResolveLabel(tls, v, iCont) Xsqlite3VdbeAddOp2(tls, v, OP_Next, unionTab, iStart) Xsqlite3VdbeResolveLabel(tls, v, iBreak) @@ -162069,9 +162069,9 @@ __13: *(*U32)(unsafe.Pointer(findRightmost(tls, p) + 4 /* &.selFlags */)) |= (U32(SF_UsesEphemeral)) // Code the SELECTs to our left into temporary table "tab1". - Xsqlite3SelectDestInit(tls, bp+120 /* &intersectdest */, SRT_Union, tab1) + Xsqlite3SelectDestInit(tls, bp+104 /* &intersectdest */, SRT_Union, tab1) - rc = Xsqlite3Select(tls, pParse, pPrior, bp+120 /* &intersectdest */) + rc = Xsqlite3Select(tls, pParse, pPrior, bp+104 /* &intersectdest */) if !(rc != 0) { goto __26 } @@ -162086,10 +162086,10 @@ __26: (*Select)(unsafe.Pointer(p)).FpPrior = uintptr(0) pLimit1 = (*Select)(unsafe.Pointer(p)).FpLimit (*Select)(unsafe.Pointer(p)).FpLimit = uintptr(0) - (*SelectDest)(unsafe.Pointer(bp + 120 /* &intersectdest */)).FiSDParm = tab2 - Xsqlite3VdbeExplain(tls, pParse, uint8(1), ts+25517 /* "%s USING TEMP B-..." */, libc.VaList(bp+16, Xsqlite3SelectOpName(tls, int32((*Select)(unsafe.Pointer(p)).Fop)))) + (*SelectDest)(unsafe.Pointer(bp + 104 /* &intersectdest */)).FiSDParm = tab2 + Xsqlite3VdbeExplain(tls, pParse, uint8(1), ts+25517 /* "%s USING TEMP B-..." */, libc.VaList(bp+8, Xsqlite3SelectOpName(tls, int32((*Select)(unsafe.Pointer(p)).Fop)))) - rc = Xsqlite3Select(tls, pParse, p, bp+120 /* &intersectdest */) + rc = Xsqlite3Select(tls, pParse, p, bp+104 /* &intersectdest */) pDelete = (*Select)(unsafe.Pointer(p)).FpPrior (*Select)(unsafe.Pointer(p)).FpPrior = pPrior @@ -162121,7 +162121,7 @@ __28: Xsqlite3ReleaseTempReg(tls, pParse, r1) selectInnerLoop(tls, pParse, p, tab1, - uintptr(0), uintptr(0), bp+32 /* &dest */, iCont1, iBreak1) + uintptr(0), uintptr(0), bp+16 /* &dest */, iCont1, iBreak1) Xsqlite3VdbeResolveLabel(tls, v, iCont1) Xsqlite3VdbeAddOp2(tls, v, OP_Next, tab1, iStart1) Xsqlite3VdbeResolveLabel(tls, v, iBreak1) @@ -162235,8 +162235,8 @@ __31: ; multi_select_end: - (*SelectDest)(unsafe.Pointer(pDest)).FiSdst = (*SelectDest)(unsafe.Pointer(bp + 32 /* &dest */)).FiSdst - (*SelectDest)(unsafe.Pointer(pDest)).FnSdst = (*SelectDest)(unsafe.Pointer(bp + 32 /* &dest */)).FnSdst + (*SelectDest)(unsafe.Pointer(pDest)).FiSdst = (*SelectDest)(unsafe.Pointer(bp + 16 /* &dest */)).FiSdst + (*SelectDest)(unsafe.Pointer(pDest)).FnSdst = (*SelectDest)(unsafe.Pointer(bp + 16 /* &dest */)).FnSdst Xsqlite3SelectDelete(tls, db, pDelete) return rc } @@ -162244,8 +162244,8 @@ multi_select_end: // Error message for when two or more terms of a compound select have different // size result sets. func Xsqlite3SelectWrongNumTermsError(tls *libc.TLS, pParse uintptr, p uintptr) { /* sqlite3.c:135095:21: */ - bp := tls.Alloc(16) - defer tls.Free(16) + bp := tls.Alloc(8) + defer tls.Free(8) if ((*Select)(unsafe.Pointer(p)).FselFlags & U32(SF_Values)) != 0 { Xsqlite3ErrorMsg(tls, pParse, ts+25538 /* "all VALUES must ..." */, 0) @@ -162471,16 +162471,16 @@ func generateOutputSubroutine(tls *libc.TLS, pParse uintptr, p uintptr, pIn uint // until all data is exhausted then jump to the "end" labe. AltB, AeqB, // and AgtB jump to either L2 or to one of EofA or EofB. func multiSelectOrderBy(tls *libc.TLS, pParse uintptr, p uintptr, pDest uintptr) int32 { /* sqlite3.c:135333:12: */ - bp := tls.Alloc(96) - defer tls.Free(96) + bp := tls.Alloc(88) + defer tls.Free(88) var i int32 var j int32 // Loop counters var pPrior uintptr // Another SELECT immediately to our left var v uintptr // Generate code to this VDBE - // var destA SelectDest at bp+16, 40 + // var destA SelectDest at bp+8, 40 // Destination for coroutine A - // var destB SelectDest at bp+56, 40 + // var destB SelectDest at bp+48, 40 // Destination for coroutine B var regAddrA int32 // Address register for select-A coroutine var regAddrB int32 // Address register for select-B coroutine @@ -162659,8 +162659,8 @@ func multiSelectOrderBy(tls *libc.TLS, pParse uintptr, p uintptr, pDest uintptr) regAddrB = libc.PreIncInt32(&(*Parse)(unsafe.Pointer(pParse)).FnMem, 1) regOutA = libc.PreIncInt32(&(*Parse)(unsafe.Pointer(pParse)).FnMem, 1) regOutB = libc.PreIncInt32(&(*Parse)(unsafe.Pointer(pParse)).FnMem, 1) - Xsqlite3SelectDestInit(tls, bp+16 /* &destA */, SRT_Coroutine, regAddrA) - Xsqlite3SelectDestInit(tls, bp+56 /* &destB */, SRT_Coroutine, regAddrB) + Xsqlite3SelectDestInit(tls, bp+8 /* &destA */, SRT_Coroutine, regAddrA) + Xsqlite3SelectDestInit(tls, bp+48 /* &destB */, SRT_Coroutine, regAddrB) Xsqlite3VdbeExplain(tls, pParse, uint8(1), ts+25666 /* "MERGE (%s)" */, libc.VaList(bp, Xsqlite3SelectOpName(tls, int32((*Select)(unsafe.Pointer(p)).Fop)))) @@ -162671,7 +162671,7 @@ func multiSelectOrderBy(tls *libc.TLS, pParse uintptr, p uintptr, pDest uintptr) Xsqlite3VdbeComment(tls, v, ts+25677 /* "left SELECT" */, 0) (*Select)(unsafe.Pointer(pPrior)).FiLimit = regLimitA Xsqlite3VdbeExplain(tls, pParse, uint8(1), ts+25689 /* "LEFT" */, 0) - Xsqlite3Select(tls, pParse, pPrior, bp+16 /* &destA */) + Xsqlite3Select(tls, pParse, pPrior, bp+8 /* &destA */) Xsqlite3VdbeEndCoroutine(tls, v, regAddrA) Xsqlite3VdbeJumpHere(tls, v, addr1) @@ -162685,7 +162685,7 @@ func multiSelectOrderBy(tls *libc.TLS, pParse uintptr, p uintptr, pDest uintptr) (*Select)(unsafe.Pointer(p)).FiLimit = regLimitB (*Select)(unsafe.Pointer(p)).FiOffset = 0 Xsqlite3VdbeExplain(tls, pParse, uint8(1), ts+25707 /* "RIGHT" */, 0) - Xsqlite3Select(tls, pParse, p, bp+56 /* &destB */) + Xsqlite3Select(tls, pParse, p, bp+48 /* &destB */) (*Select)(unsafe.Pointer(p)).FiLimit = savedLimit (*Select)(unsafe.Pointer(p)).FiOffset = savedOffset Xsqlite3VdbeEndCoroutine(tls, v, regAddrB) @@ -162694,7 +162694,7 @@ func multiSelectOrderBy(tls *libc.TLS, pParse uintptr, p uintptr, pDest uintptr) // select as the next output row of the compound select. Xsqlite3VdbeNoopComment(tls, v, ts+25713 /* "Output routine f..." */, 0) addrOutA = generateOutputSubroutine(tls, pParse, - p, bp+16 /* &destA */, pDest, regOutA, + p, bp+8 /* &destA */, pDest, regOutA, regPrev, pKeyDup, labelEnd) // Generate a subroutine that outputs the current row of the B @@ -162702,7 +162702,7 @@ func multiSelectOrderBy(tls *libc.TLS, pParse uintptr, p uintptr, pDest uintptr) if (op == TK_ALL) || (op == TK_UNION) { Xsqlite3VdbeNoopComment(tls, v, ts+25734 /* "Output routine f..." */, 0) addrOutB = generateOutputSubroutine(tls, pParse, - p, bp+56 /* &destB */, pDest, regOutB, + p, bp+48 /* &destB */, pDest, regOutB, regPrev, pKeyDup, labelEnd) } Xsqlite3KeyInfoUnref(tls, pKeyDup) @@ -162769,7 +162769,7 @@ func multiSelectOrderBy(tls *libc.TLS, pParse uintptr, p uintptr, pDest uintptr) // Implement the main merge loop Xsqlite3VdbeResolveLabel(tls, v, labelCmpr) Xsqlite3VdbeAddOp4(tls, v, OP_Permutation, 0, 0, 0, aPermute, -15) - Xsqlite3VdbeAddOp4(tls, v, OP_Compare, (*SelectDest)(unsafe.Pointer(bp+16 /* &destA */)).FiSdst, (*SelectDest)(unsafe.Pointer(bp+56 /* &destB */)).FiSdst, nOrderBy, + Xsqlite3VdbeAddOp4(tls, v, OP_Compare, (*SelectDest)(unsafe.Pointer(bp+8 /* &destA */)).FiSdst, (*SelectDest)(unsafe.Pointer(bp+48 /* &destB */)).FiSdst, nOrderBy, pKeyMerge, -9) Xsqlite3VdbeChangeP5(tls, v, uint16(OPFLAG_PERMUTE)) Xsqlite3VdbeAddOp3(tls, v, OP_Jump, addrAltB, addrAeqB, addrAgtB) @@ -164158,8 +164158,8 @@ func isSimpleCount(tls *libc.TLS, p uintptr, pAggInfo uintptr) uintptr { /* sqli // SQLITE_ERROR and leave an error in pParse. Otherwise, populate // pFrom->pIndex and return SQLITE_OK. func Xsqlite3IndexedByLookup(tls *libc.TLS, pParse uintptr, pFrom uintptr) int32 { /* sqlite3.c:137011:20: */ - bp := tls.Alloc(24) - defer tls.Free(24) + bp := tls.Alloc(16) + defer tls.Free(16) var pTab uintptr = (*SrcItem)(unsafe.Pointer(pFrom)).FpTab var zIndexedBy uintptr = *(*uintptr)(unsafe.Pointer(pFrom + 96 /* &.u1 */)) @@ -164275,8 +164275,8 @@ func convertCompoundSelectToSubquery(tls *libc.TLS, pWalker uintptr, p uintptr) // arguments. If it does, leave an error message in pParse and return // non-zero, since pFrom is not allowed to be a table-valued function. func cannotBeFunction(tls *libc.TLS, pParse uintptr, pFrom uintptr) int32 { /* sqlite3.c:137117:12: */ - bp := tls.Alloc(16) - defer tls.Free(16) + bp := tls.Alloc(8) + defer tls.Free(8) if (uint32(int32(*(*uint16)(unsafe.Pointer(pFrom + 60 /* &.fg */ + 4 /* &.isTabFunc */)) & 0x4 >> 2))) != 0 { Xsqlite3ErrorMsg(tls, pParse, ts+25861 /* "'%s' is not a fu..." */, libc.VaList(bp, (*SrcItem)(unsafe.Pointer(pFrom)).FzName)) @@ -164362,11 +164362,11 @@ func Xsqlite3WithPush(tls *libc.TLS, pParse uintptr, pWith uintptr, bFree U8) ui // Return 1 if a match is found. // Return 2 if an error condition is detected. func resolveFromTermToCte(tls *libc.TLS, pParse uintptr, pWalker uintptr, pFrom uintptr) int32 { /* sqlite3.c:137206:12: */ - bp := tls.Alloc(72) - defer tls.Free(72) + bp := tls.Alloc(48) + defer tls.Free(48) var pCte uintptr // Matched CTE (or NULL if no match) - // var pWith uintptr at bp+64, 8 + // var pWith uintptr at bp+40, 8 // The matching WITH if (*Parse)(unsafe.Pointer(pParse)).FpWith == uintptr(0) { @@ -164390,7 +164390,7 @@ func resolveFromTermToCte(tls *libc.TLS, pParse uintptr, pWalker uintptr, pFrom // (2) This is the first term in the FROM clause of an UPDATE. return 0 } - pCte = searchWith(tls, (*Parse)(unsafe.Pointer(pParse)).FpWith, pFrom, bp+64 /* &pWith */) + pCte = searchWith(tls, (*Parse)(unsafe.Pointer(pParse)).FpWith, pFrom, bp+40 /* &pWith */) if pCte != 0 { var db uintptr = (*Parse)(unsafe.Pointer(pParse)).Fdb var pTab uintptr @@ -164467,7 +164467,7 @@ func resolveFromTermToCte(tls *libc.TLS, pParse uintptr, pWalker uintptr, pFrom libc.SetBitFieldPtr16Uint32(pItem+60 /* &.fg */ +4 /* &.isRecursive */, uint32(1), 5, 0x20) if ((*Select)(unsafe.Pointer(pRecTerm)).FselFlags & U32(SF_Recursive)) != 0 { Xsqlite3ErrorMsg(tls, pParse, - ts+25884 /* "multiple referen..." */, libc.VaList(bp+16, (*Cte)(unsafe.Pointer(pCte)).FzName)) + ts+25884 /* "multiple referen..." */, libc.VaList(bp+8, (*Cte)(unsafe.Pointer(pCte)).FzName)) return 2 } *(*U32)(unsafe.Pointer(pRecTerm + 4 /* &.selFlags */)) |= (U32(SF_Recursive)) @@ -164485,7 +164485,7 @@ func resolveFromTermToCte(tls *libc.TLS, pParse uintptr, pWalker uintptr, pFrom (*Cte)(unsafe.Pointer(pCte)).FzCteErr = ts + 25927 /* "circular referen..." */ pSavedWith = (*Parse)(unsafe.Pointer(pParse)).FpWith - (*Parse)(unsafe.Pointer(pParse)).FpWith = *(*uintptr)(unsafe.Pointer(bp + 64 /* pWith */)) + (*Parse)(unsafe.Pointer(pParse)).FpWith = *(*uintptr)(unsafe.Pointer(bp + 40 /* pWith */)) if ((*Select)(unsafe.Pointer(pSel)).FselFlags & U32(SF_Recursive)) != 0 { var rc int32 @@ -164502,7 +164502,7 @@ func resolveFromTermToCte(tls *libc.TLS, pParse uintptr, pWalker uintptr, pFrom return 2 } } - (*Parse)(unsafe.Pointer(pParse)).FpWith = *(*uintptr)(unsafe.Pointer(bp + 64 /* pWith */)) + (*Parse)(unsafe.Pointer(pParse)).FpWith = *(*uintptr)(unsafe.Pointer(bp + 40 /* pWith */)) for pLeft = pSel; (*Select)(unsafe.Pointer(pLeft)).FpPrior != 0; pLeft = (*Select)(unsafe.Pointer(pLeft)).FpPrior { } @@ -164510,7 +164510,7 @@ func resolveFromTermToCte(tls *libc.TLS, pParse uintptr, pWalker uintptr, pFrom if (*Cte)(unsafe.Pointer(pCte)).FpCols != 0 { if (pEList != 0) && ((*ExprList)(unsafe.Pointer(pEList)).FnExpr != (*ExprList)(unsafe.Pointer((*Cte)(unsafe.Pointer(pCte)).FpCols)).FnExpr) { Xsqlite3ErrorMsg(tls, pParse, ts+25950, /* "table %s has %d ..." */ - libc.VaList(bp+32, (*Cte)(unsafe.Pointer(pCte)).FzName, (*ExprList)(unsafe.Pointer(pEList)).FnExpr, (*ExprList)(unsafe.Pointer((*Cte)(unsafe.Pointer(pCte)).FpCols)).FnExpr)) + libc.VaList(bp+16, (*Cte)(unsafe.Pointer(pCte)).FzName, (*ExprList)(unsafe.Pointer(pEList)).FnExpr, (*ExprList)(unsafe.Pointer((*Cte)(unsafe.Pointer(pCte)).FpCols)).FnExpr)) (*Parse)(unsafe.Pointer(pParse)).FpWith = pSavedWith return 2 } @@ -164556,8 +164556,8 @@ func Xsqlite3SelectPopWith(tls *libc.TLS, pWalker uintptr, p uintptr) { /* sqlit // SQLITE_OK is returned. Otherwise, if an OOM error is encountered, // SQLITE_NOMEM. func Xsqlite3ExpandSubquery(tls *libc.TLS, pParse uintptr, pFrom uintptr) int32 { /* sqlite3.c:137405:20: */ - bp := tls.Alloc(16) - defer tls.Free(16) + bp := tls.Alloc(8) + defer tls.Free(8) var pSel uintptr = (*SrcItem)(unsafe.Pointer(pFrom)).FpSelect var pTab uintptr @@ -164610,8 +164610,8 @@ func Xsqlite3ExpandSubquery(tls *libc.TLS, pParse uintptr, pFrom uintptr) int32 // and TABLE.* to be every column in TABLE. // func selectExpander(tls *libc.TLS, pWalker uintptr, p uintptr) int32 { /* sqlite3.c:137457:12: */ - bp := tls.Alloc(136) - defer tls.Free(136) + bp := tls.Alloc(88) + defer tls.Free(88) var pParse uintptr = (*Walker)(unsafe.Pointer(pWalker)).FpParse var i int32 @@ -164717,7 +164717,7 @@ __1: (((*Sqlite3)(unsafe.Pointer(db)).Fflags & uint64(SQLITE_EnableView)) == uint64(0))) && ((*Table)(unsafe.Pointer(pTab)).FpSchema != (*Db)(unsafe.Pointer((*Sqlite3)(unsafe.Pointer(db)).FaDb+1*32)).FpSchema) { Xsqlite3ErrorMsg(tls, pParse, ts+26111, /* "access to view \"..." */ - libc.VaList(bp+16, (*Table)(unsafe.Pointer(pTab)).FzName)) + libc.VaList(bp+8, (*Table)(unsafe.Pointer(pTab)).FzName)) } if ((((*Table)(unsafe.Pointer(pTab)).FnModuleArg != 0) && @@ -164725,7 +164725,7 @@ __1: ((*Table)(unsafe.Pointer(pTab)).FpVTable != uintptr(0))) && (int32((*VTable)(unsafe.Pointer((*Table)(unsafe.Pointer(pTab)).FpVTable)).FeVtabRisk) > (libc.Bool32(((*Sqlite3)(unsafe.Pointer(db)).Fflags & uint64(SQLITE_TrustedSchema)) != uint64(0)))) { Xsqlite3ErrorMsg(tls, pParse, ts+26142, /* "unsafe use of vi..." */ - libc.VaList(bp+32, (*Table)(unsafe.Pointer(pTab)).FzName)) + libc.VaList(bp+16, (*Table)(unsafe.Pointer(pTab)).FzName)) } (*SrcItem)(unsafe.Pointer(pFrom)).FpSelect = Xsqlite3SelectDup(tls, db, (*Table)(unsafe.Pointer(pTab)).FpSelect, 0) nCol = (*Table)(unsafe.Pointer(pTab)).FnCol @@ -164846,7 +164846,7 @@ __3: var zName uintptr = (*Column)(unsafe.Pointer((*Table)(unsafe.Pointer(pTab)).FaCol + uintptr(j)*32)).FzName var zColname uintptr // The computed column name var zToFree uintptr // Malloced string that needs to be freed - // var sColname Token at bp+120, 16 + // var sColname Token at bp+72, 16 // Computed column name as a token if ((zTName != 0) && (pSub != 0)) && @@ -164888,15 +164888,15 @@ __3: pExpr = Xsqlite3PExpr(tls, pParse, TK_DOT, pLeft, pExpr) } if longNames != 0 { - zColname = Xsqlite3MPrintf(tls, db, ts+14807 /* "%s.%s" */, libc.VaList(bp+48, zTabName, zName)) + zColname = Xsqlite3MPrintf(tls, db, ts+14807 /* "%s.%s" */, libc.VaList(bp+24, zTabName, zName)) zToFree = zColname } } else { pExpr = pRight } pNew = Xsqlite3ExprListAppend(tls, pParse, pNew, pExpr) - Xsqlite3TokenInit(tls, bp+120 /* &sColname */, zColname) - Xsqlite3ExprListSetName(tls, pParse, pNew, bp+120 /* &sColname */, 0) + Xsqlite3TokenInit(tls, bp+72 /* &sColname */, zColname) + Xsqlite3ExprListSetName(tls, pParse, pNew, bp+72 /* &sColname */, 0) if ((pNew != 0) && (((*Select)(unsafe.Pointer(p)).FselFlags & U32(SF_NestedFrom)) != U32(0))) && !(int32((*Parse)(unsafe.Pointer(pParse)).FeParseMode) >= PARSE_MODE_RENAME) { var pX uintptr = ((pNew + 8 /* &.a */) + uintptr(((*ExprList)(unsafe.Pointer(pNew)).FnExpr-1))*32) Xsqlite3DbFree(tls, db, (*ExprList_item)(unsafe.Pointer(pX)).FzEName) @@ -164905,7 +164905,7 @@ __3: } else { (*ExprList_item)(unsafe.Pointer(pX)).FzEName = Xsqlite3MPrintf(tls, db, ts+26177, /* "%s.%s.%s" */ - libc.VaList(bp+72, zSchemaName, zTabName, zColname)) + libc.VaList(bp+40, zSchemaName, zTabName, zColname)) } libc.SetBitFieldPtr8Uint32(pX+20 /* &.eEName */, uint32(ENAME_TAB), 0, 0x3) @@ -164924,7 +164924,7 @@ __3: ; if !(tableSeen != 0) { if zTName != 0 { - Xsqlite3ErrorMsg(tls, pParse, ts+26186 /* "no such table: %..." */, libc.VaList(bp+104, zTName)) + Xsqlite3ErrorMsg(tls, pParse, ts+26186 /* "no such table: %..." */, libc.VaList(bp+64, zTName)) } else { Xsqlite3ErrorMsg(tls, pParse, ts+26204 /* "no tables specif..." */, 0) } @@ -165098,8 +165098,8 @@ func Xsqlite3SelectPrep(tls *libc.TLS, pParse uintptr, p uintptr, pOuterNC uintp // routine generates code that stores NULLs in all of those memory // cells. func resetAccumulator(tls *libc.TLS, pParse uintptr, pAggInfo uintptr) { /* sqlite3.c:137894:13: */ - bp := tls.Alloc(16) - defer tls.Free(16) + bp := tls.Alloc(8) + defer tls.Free(8) var v uintptr = (*Parse)(unsafe.Pointer(pParse)).FpVdbe var i int32 @@ -165325,8 +165325,8 @@ __9: // Add a single OP_Explain instruction to the VDBE to explain a simple // count(*) query ("SELECT count(*) FROM pTab"). func explainSimpleCount(tls *libc.TLS, pParse uintptr, pTab uintptr, pIdx uintptr) { /* sqlite3.c:138061:13: */ - bp := tls.Alloc(32) - defer tls.Free(32) + bp := tls.Alloc(24) + defer tls.Free(24) if int32((*Parse)(unsafe.Pointer(pParse)).Fexplain) == 2 { var bCover int32 = (libc.Bool32((pIdx != uintptr(0)) && ((((*Table)(unsafe.Pointer((pTab))).FtabFlags & U32(TF_WithoutRowid)) == U32(0)) || !((int32(*(*uint16)(unsafe.Pointer((pIdx) + 100 /* &.idxType */)) & 0x3 >> 0)) == SQLITE_IDXTYPE_PRIMARYKEY)))) @@ -165471,8 +165471,8 @@ func agginfoFree(tls *libc.TLS, db uintptr, p uintptr) { /* sqlite3.c:138181:13: // This routine does NOT free the Select structure passed in. The // calling function needs to do that. func Xsqlite3Select(tls *libc.TLS, pParse uintptr, p uintptr, pDest uintptr) int32 { /* sqlite3.c:138287:20: */ - bp := tls.Alloc(312) - defer tls.Free(312) + bp := tls.Alloc(248) + defer tls.Free(248) var i int32 var j int32 // Loop counters @@ -165486,13 +165486,13 @@ func Xsqlite3Select(tls *libc.TLS, pParse uintptr, p uintptr, pDest uintptr) int var pHaving uintptr // The HAVING clause. May be NULL var pAggInfo uintptr // Aggregate information var rc int32 // Value to return from this function - // var sDistinct DistinctCtx at bp+232, 12 + // var sDistinct DistinctCtx at bp+168, 12 // Info on how to code the DISTINCT keyword - // var sSort SortCtx at bp+144, 48 + // var sSort SortCtx at bp+80, 48 // Info on how to code the ORDER BY clause var iEnd int32 // Address of the end of the query var db uintptr // The database connection - // var pMinMaxOrderBy uintptr at bp+304, 8 + // var pMinMaxOrderBy uintptr at bp+240, 8 // Added ORDER BY for min/max queries var minMaxFlag U8 var p1 uintptr @@ -165517,7 +165517,7 @@ func Xsqlite3Select(tls *libc.TLS, pParse uintptr, p uintptr, pDest uintptr) int var retAddr int32 var pItem1 uintptr var pPrior uintptr - // var dest SelectDest at bp+192, 40 + // var dest SelectDest at bp+128, 40 var pSub1 uintptr var zSavedAuthContext uintptr @@ -165584,7 +165584,7 @@ func Xsqlite3Select(tls *libc.TLS, pParse uintptr, p uintptr, pDest uintptr) int var pTab1 uintptr // This case when there exist aggregate functions or a GROUP BY clause // or both - // var sNC NameContext at bp+248, 56 + // var sNC NameContext at bp+184, 56 // Name context for processing aggregate information var iAMem int32 // First Mem address for storing current GROUP BY var iBMem int32 // First Mem address for previous GROUP BY @@ -165600,7 +165600,7 @@ func Xsqlite3Select(tls *libc.TLS, pParse uintptr, p uintptr, pDest uintptr) int pEList = uintptr(0) pAggInfo = uintptr(0) rc = 1 - *(*uintptr)(unsafe.Pointer(bp + 304 /* pMinMaxOrderBy */)) = uintptr(0) // Flag for min/max queries + *(*uintptr)(unsafe.Pointer(bp + 240 /* pMinMaxOrderBy */)) = uintptr(0) // Flag for min/max queries db = (*Parse)(unsafe.Pointer(pParse)).Fdb v = Xsqlite3GetVdbe(tls, pParse) @@ -165700,8 +165700,8 @@ __12: ; pTabList = (*Select)(unsafe.Pointer(p)).FpSrc isAgg = (libc.Bool32(((*Select)(unsafe.Pointer(p)).FselFlags & U32(SF_Aggregate)) != U32(0))) - libc.Xmemset(tls, bp+144 /* &sSort */, 0, uint64(unsafe.Sizeof(SortCtx{}))) - (*SortCtx)(unsafe.Pointer(bp + 144 /* &sSort */)).FpOrderBy = (*Select)(unsafe.Pointer(p)).FpOrderBy + libc.Xmemset(tls, bp+80 /* &sSort */, 0, uint64(unsafe.Sizeof(SortCtx{}))) + (*SortCtx)(unsafe.Pointer(bp + 80 /* &sSort */)).FpOrderBy = (*Select)(unsafe.Pointer(p)).FpOrderBy // Try to do various optimizations (flattening subqueries, and strength // reduction of join operators) in the FROM clause up into the main query @@ -165745,7 +165745,7 @@ __17: goto __18 } Xsqlite3ErrorMsg(tls, pParse, ts+26428, /* "expected %d colu..." */ - libc.VaList(bp+16, int32((*Table)(unsafe.Pointer(pTab)).FnCol), (*Table)(unsafe.Pointer(pTab)).FzName, (*ExprList)(unsafe.Pointer((*Select)(unsafe.Pointer(pSub)).FpEList)).FnExpr)) + libc.VaList(bp+8, int32((*Table)(unsafe.Pointer(pTab)).FnCol), (*Table)(unsafe.Pointer(pTab)).FzName, (*ExprList)(unsafe.Pointer((*Select)(unsafe.Pointer(pSub)).FpEList)).FnExpr)) goto select_end __18: ; @@ -165814,7 +165814,7 @@ __23: if !(!((int32((*SelectDest)(unsafe.Pointer(pDest)).FeDest)) <= SRT_Fifo)) { goto __24 } - (*SortCtx)(unsafe.Pointer(bp + 144 /* &sSort */)).FpOrderBy = (*Select)(unsafe.Pointer(p)).FpOrderBy + (*SortCtx)(unsafe.Pointer(bp + 80 /* &sSort */)).FpOrderBy = (*Select)(unsafe.Pointer(p)).FpOrderBy __24: ; goto __14 @@ -165947,14 +165947,14 @@ __35: (*SrcItem)(unsafe.Pointer(pItem1)).FregReturn = libc.PreIncInt32(&(*Parse)(unsafe.Pointer(pParse)).FnMem, 1) Xsqlite3VdbeAddOp3(tls, v, OP_InitCoroutine, (*SrcItem)(unsafe.Pointer(pItem1)).FregReturn, 0, addrTop) - Xsqlite3VdbeComment(tls, v, ts+26468 /* "%!S" */, libc.VaList(bp+48, pItem1)) + Xsqlite3VdbeComment(tls, v, ts+26468 /* "%!S" */, libc.VaList(bp+32, pItem1)) (*SrcItem)(unsafe.Pointer(pItem1)).FaddrFillSub = addrTop - Xsqlite3SelectDestInit(tls, bp+192 /* &dest */, SRT_Coroutine, (*SrcItem)(unsafe.Pointer(pItem1)).FregReturn) - Xsqlite3VdbeExplain(tls, pParse, uint8(1), ts+26472 /* "CO-ROUTINE %!S" */, libc.VaList(bp+64, pItem1)) - Xsqlite3Select(tls, pParse, pSub1, bp+192 /* &dest */) + Xsqlite3SelectDestInit(tls, bp+128 /* &dest */, SRT_Coroutine, (*SrcItem)(unsafe.Pointer(pItem1)).FregReturn) + Xsqlite3VdbeExplain(tls, pParse, uint8(1), ts+26472 /* "CO-ROUTINE %!S" */, libc.VaList(bp+40, pItem1)) + Xsqlite3Select(tls, pParse, pSub1, bp+128 /* &dest */) (*Table)(unsafe.Pointer((*SrcItem)(unsafe.Pointer(pItem1)).FpTab)).FnRowLogEst = (*Select)(unsafe.Pointer(pSub1)).FnSelectRow libc.SetBitFieldPtr16Uint32(pItem1+60 /* &.fg */ +4 /* &.viaCoroutine */, uint32(1), 4, 0x10) - (*SrcItem)(unsafe.Pointer(pItem1)).FregResult = (*SelectDest)(unsafe.Pointer(bp + 192 /* &dest */)).FiSdst + (*SrcItem)(unsafe.Pointer(pItem1)).FregResult = (*SelectDest)(unsafe.Pointer(bp + 128 /* &dest */)).FiSdst Xsqlite3VdbeEndCoroutine(tls, v, (*SrcItem)(unsafe.Pointer(pItem1)).FregReturn) Xsqlite3VdbeJumpHere(tls, v, (addrTop - 1)) Xsqlite3ClearTempRegCache(tls, pParse) @@ -166005,15 +166005,15 @@ __41: // a trigger, then we only need to compute the value of the subquery // once. onceAddr = Xsqlite3VdbeAddOp0(tls, v, OP_Once) - Xsqlite3VdbeComment(tls, v, ts+26487 /* "materialize %!S" */, libc.VaList(bp+80, pItem1)) + Xsqlite3VdbeComment(tls, v, ts+26487 /* "materialize %!S" */, libc.VaList(bp+48, pItem1)) goto __45 __44: - Xsqlite3VdbeNoopComment(tls, v, ts+26487 /* "materialize %!S" */, libc.VaList(bp+96, pItem1)) + Xsqlite3VdbeNoopComment(tls, v, ts+26487 /* "materialize %!S" */, libc.VaList(bp+56, pItem1)) __45: ; - Xsqlite3SelectDestInit(tls, bp+192 /* &dest */, SRT_EphemTab, (*SrcItem)(unsafe.Pointer(pItem1)).FiCursor) - Xsqlite3VdbeExplain(tls, pParse, uint8(1), ts+26503 /* "MATERIALIZE %!S" */, libc.VaList(bp+112, pItem1)) - Xsqlite3Select(tls, pParse, pSub1, bp+192 /* &dest */) + Xsqlite3SelectDestInit(tls, bp+128 /* &dest */, SRT_EphemTab, (*SrcItem)(unsafe.Pointer(pItem1)).FiCursor) + Xsqlite3VdbeExplain(tls, pParse, uint8(1), ts+26503 /* "MATERIALIZE %!S" */, libc.VaList(bp+64, pItem1)) + Xsqlite3Select(tls, pParse, pSub1, bp+128 /* &dest */) (*Table)(unsafe.Pointer((*SrcItem)(unsafe.Pointer(pItem1)).FpTab)).FnRowLogEst = (*Select)(unsafe.Pointer(pSub1)).FnSelectRow if !(onceAddr != 0) { goto __46 @@ -166022,7 +166022,7 @@ __45: __46: ; retAddr = Xsqlite3VdbeAddOp1(tls, v, OP_Return, (*SrcItem)(unsafe.Pointer(pItem1)).FregReturn) - Xsqlite3VdbeComment(tls, v, ts+26519 /* "end %!S" */, libc.VaList(bp+128, pItem1)) + Xsqlite3VdbeComment(tls, v, ts+26519 /* "end %!S" */, libc.VaList(bp+72, pItem1)) Xsqlite3VdbeChangeP1(tls, v, topAddr, retAddr) Xsqlite3ClearTempRegCache(tls, pParse) if !(((uint32(int32(*(*uint16)(unsafe.Pointer((pItem1 + 60 /* &.fg */) + 4 /* &.isCte */)) & 0x80 >> 7))) != 0) && ((int32(*(*uint16)(unsafe.Pointer((pItem1 + 60 /* &.fg */) + 4 /* &.isCorrelated */)) & 0x8 >> 3)) == 0)) { @@ -166063,7 +166063,7 @@ __31: pWhere = (*Select)(unsafe.Pointer(p)).FpWhere pGroupBy = (*Select)(unsafe.Pointer(p)).FpGroupBy pHaving = (*Select)(unsafe.Pointer(p)).FpHaving - (*DistinctCtx)(unsafe.Pointer(bp + 232 /* &sDistinct */)).FisTnct = (U8(libc.Bool32(((*Select)(unsafe.Pointer(p)).FselFlags & U32(SF_Distinct)) != U32(0)))) + (*DistinctCtx)(unsafe.Pointer(bp + 168 /* &sDistinct */)).FisTnct = (U8(libc.Bool32(((*Select)(unsafe.Pointer(p)).FselFlags & U32(SF_Distinct)) != U32(0)))) // If the query is DISTINCT with an ORDER BY but is not an aggregate, and // if the select-list is the same as the ORDER BY list, then this query @@ -166080,7 +166080,7 @@ __31: // written the query must use a temp-table for at least one of the ORDER // BY and DISTINCT, and an index or separate temp-table for the other. if !(((((*Select)(unsafe.Pointer(p)).FselFlags & (U32(SF_Distinct | SF_Aggregate))) == U32(SF_Distinct)) && - (Xsqlite3ExprListCompare(tls, (*SortCtx)(unsafe.Pointer(bp+144 /* &sSort */)).FpOrderBy, pEList, -1) == 0)) && + (Xsqlite3ExprListCompare(tls, (*SortCtx)(unsafe.Pointer(bp+80 /* &sSort */)).FpOrderBy, pEList, -1) == 0)) && ((*Select)(unsafe.Pointer(p)).FpWin == uintptr(0))) { goto __49 } @@ -166101,18 +166101,18 @@ __49: // changed to an OP_Noop once we figure out that the sorting index is // not needed. The sSort.addrSortIndex variable is used to facilitate // that change. - if !((*SortCtx)(unsafe.Pointer(bp+144 /* &sSort */)).FpOrderBy != 0) { + if !((*SortCtx)(unsafe.Pointer(bp+80 /* &sSort */)).FpOrderBy != 0) { goto __50 } pKeyInfo = Xsqlite3KeyInfoFromExprList(tls, - pParse, (*SortCtx)(unsafe.Pointer(bp+144 /* &sSort */)).FpOrderBy, 0, (*ExprList)(unsafe.Pointer(pEList)).FnExpr) - (*SortCtx)(unsafe.Pointer(bp + 144 /* &sSort */)).FiECursor = libc.PostIncInt32(&(*Parse)(unsafe.Pointer(pParse)).FnTab, 1) - (*SortCtx)(unsafe.Pointer(bp + 144 /* &sSort */)).FaddrSortIndex = Xsqlite3VdbeAddOp4(tls, v, OP_OpenEphemeral, - (*SortCtx)(unsafe.Pointer(bp+144 /* &sSort */)).FiECursor, (((*ExprList)(unsafe.Pointer((*SortCtx)(unsafe.Pointer(bp+144 /* &sSort */)).FpOrderBy)).FnExpr + 1) + (*ExprList)(unsafe.Pointer(pEList)).FnExpr), 0, + pParse, (*SortCtx)(unsafe.Pointer(bp+80 /* &sSort */)).FpOrderBy, 0, (*ExprList)(unsafe.Pointer(pEList)).FnExpr) + (*SortCtx)(unsafe.Pointer(bp + 80 /* &sSort */)).FiECursor = libc.PostIncInt32(&(*Parse)(unsafe.Pointer(pParse)).FnTab, 1) + (*SortCtx)(unsafe.Pointer(bp + 80 /* &sSort */)).FaddrSortIndex = Xsqlite3VdbeAddOp4(tls, v, OP_OpenEphemeral, + (*SortCtx)(unsafe.Pointer(bp+80 /* &sSort */)).FiECursor, (((*ExprList)(unsafe.Pointer((*SortCtx)(unsafe.Pointer(bp+80 /* &sSort */)).FpOrderBy)).FnExpr + 1) + (*ExprList)(unsafe.Pointer(pEList)).FnExpr), 0, pKeyInfo, -9) goto __51 __50: - (*SortCtx)(unsafe.Pointer(bp + 144 /* &sSort */)).FaddrSortIndex = -1 + (*SortCtx)(unsafe.Pointer(bp + 80 /* &sSort */)).FaddrSortIndex = -1 __51: ; @@ -166133,11 +166133,11 @@ __52: __53: ; computeLimitRegisters(tls, pParse, p, iEnd) - if !(((*Select)(unsafe.Pointer(p)).FiLimit == 0) && ((*SortCtx)(unsafe.Pointer(bp+144 /* &sSort */)).FaddrSortIndex >= 0)) { + if !(((*Select)(unsafe.Pointer(p)).FiLimit == 0) && ((*SortCtx)(unsafe.Pointer(bp+80 /* &sSort */)).FaddrSortIndex >= 0)) { goto __54 } - Xsqlite3VdbeChangeOpcode(tls, v, (*SortCtx)(unsafe.Pointer(bp+144 /* &sSort */)).FaddrSortIndex, uint8(OP_SorterOpen)) - *(*U8)(unsafe.Pointer(bp + 144 /* &sSort */ + 36 /* &.sortFlags */)) |= U8((SORTFLAG_UseSorter)) + Xsqlite3VdbeChangeOpcode(tls, v, (*SortCtx)(unsafe.Pointer(bp+80 /* &sSort */)).FaddrSortIndex, uint8(OP_SorterOpen)) + *(*U8)(unsafe.Pointer(bp + 80 /* &sSort */ + 36 /* &.sortFlags */)) |= U8((SORTFLAG_UseSorter)) __54: ; @@ -166145,16 +166145,16 @@ __54: if !(((*Select)(unsafe.Pointer(p)).FselFlags & U32(SF_Distinct)) != 0) { goto __55 } - (*DistinctCtx)(unsafe.Pointer(bp + 232 /* &sDistinct */)).FtabTnct = libc.PostIncInt32(&(*Parse)(unsafe.Pointer(pParse)).FnTab, 1) - (*DistinctCtx)(unsafe.Pointer(bp + 232 /* &sDistinct */)).FaddrTnct = Xsqlite3VdbeAddOp4(tls, v, OP_OpenEphemeral, - (*DistinctCtx)(unsafe.Pointer(bp+232 /* &sDistinct */)).FtabTnct, 0, 0, + (*DistinctCtx)(unsafe.Pointer(bp + 168 /* &sDistinct */)).FtabTnct = libc.PostIncInt32(&(*Parse)(unsafe.Pointer(pParse)).FnTab, 1) + (*DistinctCtx)(unsafe.Pointer(bp + 168 /* &sDistinct */)).FaddrTnct = Xsqlite3VdbeAddOp4(tls, v, OP_OpenEphemeral, + (*DistinctCtx)(unsafe.Pointer(bp+168 /* &sDistinct */)).FtabTnct, 0, 0, Xsqlite3KeyInfoFromExprList(tls, pParse, (*Select)(unsafe.Pointer(p)).FpEList, 0, 0), -9) Xsqlite3VdbeChangeP5(tls, v, uint16(BTREE_UNORDERED)) - (*DistinctCtx)(unsafe.Pointer(bp + 232 /* &sDistinct */)).FeTnctType = U8(WHERE_DISTINCT_UNORDERED) + (*DistinctCtx)(unsafe.Pointer(bp + 168 /* &sDistinct */)).FeTnctType = U8(WHERE_DISTINCT_UNORDERED) goto __56 __55: - (*DistinctCtx)(unsafe.Pointer(bp + 232 /* &sDistinct */)).FeTnctType = U8(WHERE_DISTINCT_NOOP) + (*DistinctCtx)(unsafe.Pointer(bp + 168 /* &sDistinct */)).FeTnctType = U8(WHERE_DISTINCT_NOOP) __56: ; @@ -166163,7 +166163,7 @@ __56: } // No aggregate functions and no GROUP BY clause wctrlFlags = (U16((func() uint32 { - if (*DistinctCtx)(unsafe.Pointer(bp+232 /* &sDistinct */)).FisTnct != 0 { + if (*DistinctCtx)(unsafe.Pointer(bp+168 /* &sDistinct */)).FisTnct != 0 { return uint32(WHERE_WANT_DISTINCT) } return uint32(0) @@ -166179,7 +166179,7 @@ __59: // Begin the database scan. - pWInfo = Xsqlite3WhereBegin(tls, pParse, pTabList, pWhere, (*SortCtx)(unsafe.Pointer(bp+144 /* &sSort */)).FpOrderBy, + pWInfo = Xsqlite3WhereBegin(tls, pParse, pTabList, pWhere, (*SortCtx)(unsafe.Pointer(bp+80 /* &sSort */)).FpOrderBy, (*Select)(unsafe.Pointer(p)).FpEList, wctrlFlags, int32((*Select)(unsafe.Pointer(p)).FnSelectRow)) if !(pWInfo == uintptr(0)) { goto __60 @@ -166193,21 +166193,21 @@ __60: (*Select)(unsafe.Pointer(p)).FnSelectRow = Xsqlite3WhereOutputRowCount(tls, pWInfo) __61: ; - if !(((*DistinctCtx)(unsafe.Pointer(bp+232 /* &sDistinct */)).FisTnct != 0) && (Xsqlite3WhereIsDistinct(tls, pWInfo) != 0)) { + if !(((*DistinctCtx)(unsafe.Pointer(bp+168 /* &sDistinct */)).FisTnct != 0) && (Xsqlite3WhereIsDistinct(tls, pWInfo) != 0)) { goto __62 } - (*DistinctCtx)(unsafe.Pointer(bp + 232 /* &sDistinct */)).FeTnctType = U8(Xsqlite3WhereIsDistinct(tls, pWInfo)) + (*DistinctCtx)(unsafe.Pointer(bp + 168 /* &sDistinct */)).FeTnctType = U8(Xsqlite3WhereIsDistinct(tls, pWInfo)) __62: ; - if !((*SortCtx)(unsafe.Pointer(bp+144 /* &sSort */)).FpOrderBy != 0) { + if !((*SortCtx)(unsafe.Pointer(bp+80 /* &sSort */)).FpOrderBy != 0) { goto __63 } - (*SortCtx)(unsafe.Pointer(bp + 144 /* &sSort */)).FnOBSat = Xsqlite3WhereIsOrdered(tls, pWInfo) - (*SortCtx)(unsafe.Pointer(bp + 144 /* &sSort */)).FlabelOBLopt = Xsqlite3WhereOrderByLimitOptLabel(tls, pWInfo) - if !((*SortCtx)(unsafe.Pointer(bp+144 /* &sSort */)).FnOBSat == (*ExprList)(unsafe.Pointer((*SortCtx)(unsafe.Pointer(bp+144 /* &sSort */)).FpOrderBy)).FnExpr) { + (*SortCtx)(unsafe.Pointer(bp + 80 /* &sSort */)).FnOBSat = Xsqlite3WhereIsOrdered(tls, pWInfo) + (*SortCtx)(unsafe.Pointer(bp + 80 /* &sSort */)).FlabelOBLopt = Xsqlite3WhereOrderByLimitOptLabel(tls, pWInfo) + if !((*SortCtx)(unsafe.Pointer(bp+80 /* &sSort */)).FnOBSat == (*ExprList)(unsafe.Pointer((*SortCtx)(unsafe.Pointer(bp+80 /* &sSort */)).FpOrderBy)).FnExpr) { goto __64 } - (*SortCtx)(unsafe.Pointer(bp + 144 /* &sSort */)).FpOrderBy = uintptr(0) + (*SortCtx)(unsafe.Pointer(bp + 80 /* &sSort */)).FpOrderBy = uintptr(0) __64: ; __63: @@ -166216,10 +166216,10 @@ __63: // If sorting index that was created by a prior OP_OpenEphemeral // instruction ended up not being needed, then change the OP_OpenEphemeral // into an OP_Noop. - if !(((*SortCtx)(unsafe.Pointer(bp+144 /* &sSort */)).FaddrSortIndex >= 0) && ((*SortCtx)(unsafe.Pointer(bp+144 /* &sSort */)).FpOrderBy == uintptr(0))) { + if !(((*SortCtx)(unsafe.Pointer(bp+80 /* &sSort */)).FaddrSortIndex >= 0) && ((*SortCtx)(unsafe.Pointer(bp+80 /* &sSort */)).FpOrderBy == uintptr(0))) { goto __65 } - Xsqlite3VdbeChangeToNoop(tls, v, (*SortCtx)(unsafe.Pointer(bp+144 /* &sSort */)).FaddrSortIndex) + Xsqlite3VdbeChangeToNoop(tls, v, (*SortCtx)(unsafe.Pointer(bp+80 /* &sSort */)).FaddrSortIndex) __65: ; @@ -166236,8 +166236,8 @@ __65: Xsqlite3VdbeAddOp2(tls, v, OP_Goto, 0, iBreak) Xsqlite3VdbeResolveLabel(tls, v, addrGosub) Xsqlite3VdbeNoopComment(tls, v, ts+26527 /* "inner-loop subro..." */, 0) - (*SortCtx)(unsafe.Pointer(bp + 144 /* &sSort */)).FlabelOBLopt = 0 - selectInnerLoop(tls, pParse, p, -1, bp+144 /* &sSort */, bp+232 /* &sDistinct */, pDest, iCont, iBreak) + (*SortCtx)(unsafe.Pointer(bp + 80 /* &sSort */)).FlabelOBLopt = 0 + selectInnerLoop(tls, pParse, p, -1, bp+80 /* &sSort */, bp+168 /* &sDistinct */, pDest, iCont, iBreak) Xsqlite3VdbeResolveLabel(tls, v, iCont) Xsqlite3VdbeAddOp1(tls, v, OP_Return, regGosub) Xsqlite3VdbeComment(tls, v, ts+26549 /* "end inner-loop s..." */, 0) @@ -166246,7 +166246,7 @@ __65: __66: // Use the standard inner loop. - selectInnerLoop(tls, pParse, p, -1, bp+144 /* &sSort */, bp+232 /* &sDistinct */, pDest, + selectInnerLoop(tls, pParse, p, -1, bp+80 /* &sSort */, bp+168 /* &sDistinct */, pDest, Xsqlite3WhereContinueLabel(tls, pWInfo), Xsqlite3WhereBreakLabel(tls, pWInfo)) @@ -166313,7 +166313,7 @@ __76: // but not actually sorted. Either way, record the fact that the // ORDER BY and GROUP BY clauses are the same by setting the orderByGrp // variable. - if !(((*SortCtx)(unsafe.Pointer(bp+144 /* &sSort */)).FpOrderBy != 0) && ((*ExprList)(unsafe.Pointer(pGroupBy)).FnExpr == (*ExprList)(unsafe.Pointer((*SortCtx)(unsafe.Pointer(bp+144 /* &sSort */)).FpOrderBy)).FnExpr)) { + if !(((*SortCtx)(unsafe.Pointer(bp+80 /* &sSort */)).FpOrderBy != 0) && ((*ExprList)(unsafe.Pointer(pGroupBy)).FnExpr == (*ExprList)(unsafe.Pointer((*SortCtx)(unsafe.Pointer(bp+80 /* &sSort */)).FpOrderBy)).FnExpr)) { goto __77 } // The GROUP BY processing doesn't care whether rows are delivered in @@ -166326,7 +166326,7 @@ __78: if !(ii < (*ExprList)(unsafe.Pointer(pGroupBy)).FnExpr) { goto __80 } - sortFlags = (U8(int32((*ExprList_item)(unsafe.Pointer(((*SortCtx)(unsafe.Pointer(bp+144 /* &sSort */)).FpOrderBy+8 /* &.a */)+uintptr(ii)*32)).FsortFlags) & KEYINFO_ORDER_DESC)) + sortFlags = (U8(int32((*ExprList_item)(unsafe.Pointer(((*SortCtx)(unsafe.Pointer(bp+80 /* &sSort */)).FpOrderBy+8 /* &.a */)+uintptr(ii)*32)).FsortFlags) & KEYINFO_ORDER_DESC)) (*ExprList_item)(unsafe.Pointer((pGroupBy + 8 /* &.a */) + uintptr(ii)*32)).FsortFlags = sortFlags goto __79 __79: @@ -166335,7 +166335,7 @@ __79: goto __80 __80: ; - if !(Xsqlite3ExprListCompare(tls, pGroupBy, (*SortCtx)(unsafe.Pointer(bp+144 /* &sSort */)).FpOrderBy, -1) == 0) { + if !(Xsqlite3ExprListCompare(tls, pGroupBy, (*SortCtx)(unsafe.Pointer(bp+80 /* &sSort */)).FpOrderBy, -1) == 0) { goto __81 } orderByGrp = 1 @@ -166374,10 +166374,10 @@ __82: __83: ; (*AggInfo)(unsafe.Pointer(pAggInfo)).FselId = (*Select)(unsafe.Pointer(p)).FselId - libc.Xmemset(tls, bp+248 /* &sNC */, 0, uint64(unsafe.Sizeof(NameContext{}))) - (*NameContext)(unsafe.Pointer(bp + 248 /* &sNC */)).FpParse = pParse - (*NameContext)(unsafe.Pointer(bp + 248 /* &sNC */)).FpSrcList = pTabList - *(*uintptr)(unsafe.Pointer(bp + 248 /* &sNC */ + 16 /* &.uNC */)) = pAggInfo + libc.Xmemset(tls, bp+184 /* &sNC */, 0, uint64(unsafe.Sizeof(NameContext{}))) + (*NameContext)(unsafe.Pointer(bp + 184 /* &sNC */)).FpParse = pParse + (*NameContext)(unsafe.Pointer(bp + 184 /* &sNC */)).FpSrcList = pTabList + *(*uintptr)(unsafe.Pointer(bp + 184 /* &sNC */ + 16 /* &.uNC */)) = pAggInfo (*AggInfo)(unsafe.Pointer(pAggInfo)).FmnReg = ((*Parse)(unsafe.Pointer(pParse)).FnMem + 1) (*AggInfo)(unsafe.Pointer(pAggInfo)).FnSortingColumn = func() int32 { @@ -166387,8 +166387,8 @@ __83: return 0 }() (*AggInfo)(unsafe.Pointer(pAggInfo)).FpGroupBy = pGroupBy - Xsqlite3ExprAnalyzeAggList(tls, bp+248 /* &sNC */, pEList) - Xsqlite3ExprAnalyzeAggList(tls, bp+248 /* &sNC */, (*SortCtx)(unsafe.Pointer(bp+144 /* &sSort */)).FpOrderBy) + Xsqlite3ExprAnalyzeAggList(tls, bp+184 /* &sNC */, pEList) + Xsqlite3ExprAnalyzeAggList(tls, bp+184 /* &sNC */, (*SortCtx)(unsafe.Pointer(bp+80 /* &sSort */)).FpOrderBy) if !(pHaving != 0) { goto __84 } @@ -166400,14 +166400,14 @@ __83: pWhere = (*Select)(unsafe.Pointer(p)).FpWhere __85: ; - Xsqlite3ExprAnalyzeAggregates(tls, bp+248 /* &sNC */, pHaving) + Xsqlite3ExprAnalyzeAggregates(tls, bp+184 /* &sNC */, pHaving) __84: ; (*AggInfo)(unsafe.Pointer(pAggInfo)).FnAccumulator = (*AggInfo)(unsafe.Pointer(pAggInfo)).FnColumn if !((((*Select)(unsafe.Pointer(p)).FpGroupBy == uintptr(0)) && ((*Select)(unsafe.Pointer(p)).FpHaving == uintptr(0))) && ((*AggInfo)(unsafe.Pointer(pAggInfo)).FnFunc == 1)) { goto __86 } - minMaxFlag = minMaxQuery(tls, db, (*AggInfo_func)(unsafe.Pointer((*AggInfo)(unsafe.Pointer(pAggInfo)).FaFunc)).FpFExpr, bp+304 /* &pMinMaxOrderBy */) + minMaxFlag = minMaxQuery(tls, db, (*AggInfo_func)(unsafe.Pointer((*AggInfo)(unsafe.Pointer(pAggInfo)).FaFunc)).FpFExpr, bp+240 /* &pMinMaxOrderBy */) goto __87 __86: minMaxFlag = U8(WHERE_ORDERBY_NORMAL) @@ -166420,16 +166420,16 @@ __88: } pExpr = (*AggInfo_func)(unsafe.Pointer((*AggInfo)(unsafe.Pointer(pAggInfo)).FaFunc + uintptr(i)*32)).FpFExpr - *(*int32)(unsafe.Pointer(bp + 248 /* &sNC */ + 40 /* &.ncFlags */)) |= (NC_InAggFunc) - Xsqlite3ExprAnalyzeAggList(tls, bp+248 /* &sNC */, *(*uintptr)(unsafe.Pointer(pExpr + 32 /* &.x */))) + *(*int32)(unsafe.Pointer(bp + 184 /* &sNC */ + 40 /* &.ncFlags */)) |= (NC_InAggFunc) + Xsqlite3ExprAnalyzeAggList(tls, bp+184 /* &sNC */, *(*uintptr)(unsafe.Pointer(pExpr + 32 /* &.x */))) if !(((*Expr)(unsafe.Pointer((pExpr))).Fflags & (U32(EP_WinFunc))) != U32(0)) { goto __91 } - Xsqlite3ExprAnalyzeAggregates(tls, bp+248 /* &sNC */, (*Window)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(pExpr + 64 /* &.y */)))).FpFilter) + Xsqlite3ExprAnalyzeAggregates(tls, bp+184 /* &sNC */, (*Window)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(pExpr + 64 /* &.y */)))).FpFilter) __91: ; - *(*int32)(unsafe.Pointer(bp + 248 /* &sNC */ + 40 /* &.ncFlags */)) &= (libc.CplInt32(NC_InAggFunc)) + *(*int32)(unsafe.Pointer(bp + 184 /* &sNC */ + 40 /* &.ncFlags */)) &= (libc.CplInt32(NC_InAggFunc)) goto __89 __89: i++ @@ -166531,7 +166531,7 @@ __97: explainTempTable(tls, pParse, func() uintptr { - if ((*DistinctCtx)(unsafe.Pointer(bp+232 /* &sDistinct */)).FisTnct != 0) && (((*Select)(unsafe.Pointer(p)).FselFlags & U32(SF_Distinct)) == U32(0)) { + if ((*DistinctCtx)(unsafe.Pointer(bp+168 /* &sDistinct */)).FisTnct != 0) && (((*Select)(unsafe.Pointer(p)).FselFlags & U32(SF_Distinct)) == U32(0)) { return ts + 26592 /* "DISTINCT" */ } return ts + 26601 /* "GROUP BY" */ @@ -166612,8 +166612,8 @@ __98: ((groupBySort != 0) || (Xsqlite3WhereIsSorted(tls, pWInfo) != 0))) { goto __107 } - (*SortCtx)(unsafe.Pointer(bp + 144 /* &sSort */)).FpOrderBy = uintptr(0) - Xsqlite3VdbeChangeToNoop(tls, v, (*SortCtx)(unsafe.Pointer(bp+144 /* &sSort */)).FaddrSortIndex) + (*SortCtx)(unsafe.Pointer(bp + 80 /* &sSort */)).FpOrderBy = uintptr(0) + Xsqlite3VdbeChangeToNoop(tls, v, (*SortCtx)(unsafe.Pointer(bp+80 /* &sSort */)).FaddrSortIndex) __107: ; @@ -166719,8 +166719,8 @@ __115: Xsqlite3VdbeAddOp1(tls, v, OP_Return, regOutputRow) finalizeAggFunctions(tls, pParse, pAggInfo) Xsqlite3ExprIfFalse(tls, pParse, pHaving, (addrOutputRow + 1), SQLITE_JUMPIFNULL) - selectInnerLoop(tls, pParse, p, -1, bp+144, /* &sSort */ - bp+232 /* &sDistinct */, pDest, + selectInnerLoop(tls, pParse, p, -1, bp+80, /* &sSort */ + bp+168 /* &sDistinct */, pDest, (addrOutputRow + 1), addrSetAbort) Xsqlite3VdbeAddOp1(tls, v, OP_Return, regOutputRow) Xsqlite3VdbeComment(tls, v, ts+26772 /* "end groupby resu..." */, 0) @@ -166900,7 +166900,7 @@ __128: // WHERE_ORDERBY_MIN or WHERE_ORDERBY_MAX and pMinMaxOrderBy will // be an appropriate ORDER BY expression for the optimization. - pWInfo = Xsqlite3WhereBegin(tls, pParse, pTabList, pWhere, *(*uintptr)(unsafe.Pointer(bp + 304 /* pMinMaxOrderBy */)), + pWInfo = Xsqlite3WhereBegin(tls, pParse, pTabList, pWhere, *(*uintptr)(unsafe.Pointer(bp + 240 /* pMinMaxOrderBy */)), pDistinct1, (uint16(int32(minMaxFlag) | int32(distFlag1))), 0) if !(pWInfo == uintptr(0)) { goto __136 @@ -166937,7 +166937,7 @@ __139: __118: ; - (*SortCtx)(unsafe.Pointer(bp + 144 /* &sSort */)).FpOrderBy = uintptr(0) + (*SortCtx)(unsafe.Pointer(bp + 80 /* &sSort */)).FpOrderBy = uintptr(0) Xsqlite3ExprIfFalse(tls, pParse, pHaving, addrEnd, SQLITE_JUMPIFNULL) selectInnerLoop(tls, pParse, p, -1, uintptr(0), uintptr(0), pDest, addrEnd, addrEnd) @@ -166948,7 +166948,7 @@ __94: __58: ; // endif aggregate query - if !(int32((*DistinctCtx)(unsafe.Pointer(bp+232 /* &sDistinct */)).FeTnctType) == WHERE_DISTINCT_UNORDERED) { + if !(int32((*DistinctCtx)(unsafe.Pointer(bp+168 /* &sDistinct */)).FeTnctType) == WHERE_DISTINCT_UNORDERED) { goto __140 } explainTempTable(tls, pParse, ts+26592 /* "DISTINCT" */) @@ -166957,18 +166957,18 @@ __140: // If there is an ORDER BY clause, then we need to sort the results // and send them to the callback one by one. - if !((*SortCtx)(unsafe.Pointer(bp+144 /* &sSort */)).FpOrderBy != 0) { + if !((*SortCtx)(unsafe.Pointer(bp+80 /* &sSort */)).FpOrderBy != 0) { goto __141 } explainTempTable(tls, pParse, func() uintptr { - if (*SortCtx)(unsafe.Pointer(bp+144 /* &sSort */)).FnOBSat > 0 { + if (*SortCtx)(unsafe.Pointer(bp+80 /* &sSort */)).FnOBSat > 0 { return ts + 26828 /* "RIGHT PART OF OR..." */ } return ts + 26851 /* "ORDER BY" */ }()) - generateSortTail(tls, pParse, p, bp+144 /* &sSort */, (*ExprList)(unsafe.Pointer(pEList)).FnExpr, pDest) + generateSortTail(tls, pParse, p, bp+80 /* &sSort */, (*ExprList)(unsafe.Pointer(pEList)).FnExpr, pDest) __141: ; @@ -166984,7 +166984,7 @@ __141: select_end: ; *(*int32)(unsafe.Pointer(pParse + 48 /* &.nErr */)) += (int32((*Sqlite3)(unsafe.Pointer(db)).FmallocFailed)) - Xsqlite3ExprListDelete(tls, db, *(*uintptr)(unsafe.Pointer(bp + 304 /* pMinMaxOrderBy */))) + Xsqlite3ExprListDelete(tls, db, *(*uintptr)(unsafe.Pointer(bp + 240 /* pMinMaxOrderBy */))) Xsqlite3VdbeExplainPop(tls, pParse) return rc @@ -167051,8 +167051,8 @@ type TabResult = TabResult1 /* sqlite3.c:139506:3 */ // is to fill in the TabResult structure appropriately, allocating new // memory as necessary. func sqlite3_get_table_cb(tls *libc.TLS, pArg uintptr, nCol int32, argv uintptr, colv uintptr) int32 { /* sqlite3.c:139513:12: */ - bp := tls.Alloc(16) - defer tls.Free(16) + bp := tls.Alloc(8) + defer tls.Free(8) var p uintptr // Result accumulator var need int32 // Slots needed in p->azResult[] @@ -167182,11 +167182,11 @@ malloc_failed: // Instead, the entire table should be passed to sqlite3_free_table() when // the calling procedure is finished using it. func Xsqlite3_get_table(tls *libc.TLS, db uintptr, zSql uintptr, pazResult uintptr, pnRow uintptr, pnColumn uintptr, pzErrMsg uintptr) int32 { /* sqlite3.c:139587:16: */ - bp := tls.Alloc(56) - defer tls.Free(56) + bp := tls.Alloc(48) + defer tls.Free(48) var rc int32 - // var res TabResult at bp+16, 40 + // var res TabResult at bp+8, 40 *(*uintptr)(unsafe.Pointer(pazResult)) = uintptr(0) if pnColumn != 0 { @@ -167198,56 +167198,56 @@ func Xsqlite3_get_table(tls *libc.TLS, db uintptr, zSql uintptr, pazResult uintp if pzErrMsg != 0 { *(*uintptr)(unsafe.Pointer(pzErrMsg)) = uintptr(0) } - (*TabResult)(unsafe.Pointer(bp + 16 /* &res */)).FzErrMsg = uintptr(0) - (*TabResult)(unsafe.Pointer(bp + 16 /* &res */)).FnRow = U32(0) - (*TabResult)(unsafe.Pointer(bp + 16 /* &res */)).FnColumn = U32(0) - (*TabResult)(unsafe.Pointer(bp + 16 /* &res */)).FnData = U32(1) - (*TabResult)(unsafe.Pointer(bp + 16 /* &res */)).FnAlloc = U32(20) - (*TabResult)(unsafe.Pointer(bp + 16 /* &res */)).Frc = SQLITE_OK - (*TabResult)(unsafe.Pointer(bp + 16 /* &res */)).FazResult = Xsqlite3_malloc64(tls, (uint64(unsafe.Sizeof(uintptr(0))) * uint64((*TabResult)(unsafe.Pointer(bp+16 /* &res */)).FnAlloc))) - if (*TabResult)(unsafe.Pointer(bp+16 /* &res */)).FazResult == uintptr(0) { + (*TabResult)(unsafe.Pointer(bp + 8 /* &res */)).FzErrMsg = uintptr(0) + (*TabResult)(unsafe.Pointer(bp + 8 /* &res */)).FnRow = U32(0) + (*TabResult)(unsafe.Pointer(bp + 8 /* &res */)).FnColumn = U32(0) + (*TabResult)(unsafe.Pointer(bp + 8 /* &res */)).FnData = U32(1) + (*TabResult)(unsafe.Pointer(bp + 8 /* &res */)).FnAlloc = U32(20) + (*TabResult)(unsafe.Pointer(bp + 8 /* &res */)).Frc = SQLITE_OK + (*TabResult)(unsafe.Pointer(bp + 8 /* &res */)).FazResult = Xsqlite3_malloc64(tls, (uint64(unsafe.Sizeof(uintptr(0))) * uint64((*TabResult)(unsafe.Pointer(bp+8 /* &res */)).FnAlloc))) + if (*TabResult)(unsafe.Pointer(bp+8 /* &res */)).FazResult == uintptr(0) { (*Sqlite3)(unsafe.Pointer(db)).FerrCode = SQLITE_NOMEM return SQLITE_NOMEM } - *(*uintptr)(unsafe.Pointer((*TabResult)(unsafe.Pointer(bp + 16 /* &res */)).FazResult)) = uintptr(0) + *(*uintptr)(unsafe.Pointer((*TabResult)(unsafe.Pointer(bp + 8 /* &res */)).FazResult)) = uintptr(0) rc = Xsqlite3_exec(tls, db, zSql, *(*uintptr)(unsafe.Pointer(&struct { f func(*libc.TLS, uintptr, int32, uintptr, uintptr) int32 - }{sqlite3_get_table_cb})), bp+16 /* &res */, pzErrMsg) + }{sqlite3_get_table_cb})), bp+8 /* &res */, pzErrMsg) - *(*uintptr)(unsafe.Pointer((*TabResult)(unsafe.Pointer(bp + 16 /* &res */)).FazResult)) = uintptr(int64((*TabResult)(unsafe.Pointer(bp + 16 /* &res */)).FnData)) + *(*uintptr)(unsafe.Pointer((*TabResult)(unsafe.Pointer(bp + 8 /* &res */)).FazResult)) = uintptr(int64((*TabResult)(unsafe.Pointer(bp + 8 /* &res */)).FnData)) if (rc & 0xff) == SQLITE_ABORT { - Xsqlite3_free_table(tls, ((*TabResult)(unsafe.Pointer(bp+16 /* &res */)).FazResult + 1*8)) - if (*TabResult)(unsafe.Pointer(bp+16 /* &res */)).FzErrMsg != 0 { + Xsqlite3_free_table(tls, ((*TabResult)(unsafe.Pointer(bp+8 /* &res */)).FazResult + 1*8)) + if (*TabResult)(unsafe.Pointer(bp+8 /* &res */)).FzErrMsg != 0 { if pzErrMsg != 0 { Xsqlite3_free(tls, *(*uintptr)(unsafe.Pointer(pzErrMsg))) - *(*uintptr)(unsafe.Pointer(pzErrMsg)) = Xsqlite3_mprintf(tls, ts+951 /* "%s" */, libc.VaList(bp, (*TabResult)(unsafe.Pointer(bp+16 /* &res */)).FzErrMsg)) + *(*uintptr)(unsafe.Pointer(pzErrMsg)) = Xsqlite3_mprintf(tls, ts+951 /* "%s" */, libc.VaList(bp, (*TabResult)(unsafe.Pointer(bp+8 /* &res */)).FzErrMsg)) } - Xsqlite3_free(tls, (*TabResult)(unsafe.Pointer(bp+16 /* &res */)).FzErrMsg) + Xsqlite3_free(tls, (*TabResult)(unsafe.Pointer(bp+8 /* &res */)).FzErrMsg) } - (*Sqlite3)(unsafe.Pointer(db)).FerrCode = (*TabResult)(unsafe.Pointer(bp + 16 /* &res */)).Frc // Assume 32-bit assignment is atomic - return (*TabResult)(unsafe.Pointer(bp + 16 /* &res */)).Frc + (*Sqlite3)(unsafe.Pointer(db)).FerrCode = (*TabResult)(unsafe.Pointer(bp + 8 /* &res */)).Frc // Assume 32-bit assignment is atomic + return (*TabResult)(unsafe.Pointer(bp + 8 /* &res */)).Frc } - Xsqlite3_free(tls, (*TabResult)(unsafe.Pointer(bp+16 /* &res */)).FzErrMsg) + Xsqlite3_free(tls, (*TabResult)(unsafe.Pointer(bp+8 /* &res */)).FzErrMsg) if rc != SQLITE_OK { - Xsqlite3_free_table(tls, ((*TabResult)(unsafe.Pointer(bp+16 /* &res */)).FazResult + 1*8)) + Xsqlite3_free_table(tls, ((*TabResult)(unsafe.Pointer(bp+8 /* &res */)).FazResult + 1*8)) return rc } - if (*TabResult)(unsafe.Pointer(bp+16 /* &res */)).FnAlloc > (*TabResult)(unsafe.Pointer(bp+16 /* &res */)).FnData { + if (*TabResult)(unsafe.Pointer(bp+8 /* &res */)).FnAlloc > (*TabResult)(unsafe.Pointer(bp+8 /* &res */)).FnData { var azNew uintptr - azNew = Xsqlite3Realloc(tls, (*TabResult)(unsafe.Pointer(bp+16 /* &res */)).FazResult, (uint64(unsafe.Sizeof(uintptr(0))) * uint64((*TabResult)(unsafe.Pointer(bp+16 /* &res */)).FnData))) + azNew = Xsqlite3Realloc(tls, (*TabResult)(unsafe.Pointer(bp+8 /* &res */)).FazResult, (uint64(unsafe.Sizeof(uintptr(0))) * uint64((*TabResult)(unsafe.Pointer(bp+8 /* &res */)).FnData))) if azNew == uintptr(0) { - Xsqlite3_free_table(tls, ((*TabResult)(unsafe.Pointer(bp+16 /* &res */)).FazResult + 1*8)) + Xsqlite3_free_table(tls, ((*TabResult)(unsafe.Pointer(bp+8 /* &res */)).FazResult + 1*8)) (*Sqlite3)(unsafe.Pointer(db)).FerrCode = SQLITE_NOMEM return SQLITE_NOMEM } - (*TabResult)(unsafe.Pointer(bp + 16 /* &res */)).FazResult = azNew + (*TabResult)(unsafe.Pointer(bp + 8 /* &res */)).FazResult = azNew } - *(*uintptr)(unsafe.Pointer(pazResult)) = ((*TabResult)(unsafe.Pointer(bp+16 /* &res */)).FazResult + 1*8) + *(*uintptr)(unsafe.Pointer(pazResult)) = ((*TabResult)(unsafe.Pointer(bp+8 /* &res */)).FazResult + 1*8) if pnColumn != 0 { - *(*int32)(unsafe.Pointer(pnColumn)) = int32((*TabResult)(unsafe.Pointer(bp + 16 /* &res */)).FnColumn) + *(*int32)(unsafe.Pointer(pnColumn)) = int32((*TabResult)(unsafe.Pointer(bp + 8 /* &res */)).FnColumn) } if pnRow != 0 { - *(*int32)(unsafe.Pointer(pnRow)) = int32((*TabResult)(unsafe.Pointer(bp + 16 /* &res */)).FnRow) + *(*int32)(unsafe.Pointer(pnRow)) = int32((*TabResult)(unsafe.Pointer(bp + 8 /* &res */)).FnRow) } return rc } @@ -167352,17 +167352,17 @@ func Xsqlite3TriggerList(tls *libc.TLS, pParse uintptr, pTab uintptr) uintptr { // sqlite3FinishTrigger() function is called to complete the trigger // construction process. func Xsqlite3BeginTrigger(tls *libc.TLS, pParse uintptr, pName1 uintptr, pName2 uintptr, tr_tm int32, op int32, pColumns uintptr, pTableName uintptr, pWhen uintptr, isTemp int32, noErr int32) { /* sqlite3.c:139778:21: */ - bp := tls.Alloc(160) - defer tls.Free(160) + bp := tls.Alloc(136) + defer tls.Free(136) var pTrigger uintptr // The new trigger var pTab uintptr // Table that the trigger fires off of var zName uintptr // Name of the trigger var db uintptr // The database connection var iDb int32 // The database to store the trigger in - // var pName uintptr at bp+56, 8 + // var pName uintptr at bp+32, 8 // The unqualified db name - // var sFix DbFixer at bp+64, 96 + // var sFix DbFixer at bp+40, 96 var iTabDb int32 var code int32 @@ -167386,11 +167386,11 @@ func Xsqlite3BeginTrigger(tls *libc.TLS, pParse uintptr, pName1 uintptr, pName2 __3: ; iDb = 1 - *(*uintptr)(unsafe.Pointer(bp + 56 /* pName */)) = pName1 + *(*uintptr)(unsafe.Pointer(bp + 32 /* pName */)) = pName1 goto __2 __1: // Figure out the db that the trigger will be created in - iDb = Xsqlite3TwoPartName(tls, pParse, pName1, pName2, bp+56 /* &pName */) + iDb = Xsqlite3TwoPartName(tls, pParse, pName1, pName2, bp+32 /* &pName */) if !(iDb < 0) { goto __4 } @@ -167442,8 +167442,8 @@ __7: __8: ; - Xsqlite3FixInit(tls, bp+64 /* &sFix */, pParse, iDb, ts+26971 /* "trigger" */, *(*uintptr)(unsafe.Pointer(bp + 56 /* pName */))) - if !(Xsqlite3FixSrcList(tls, bp+64 /* &sFix */, pTableName) != 0) { + Xsqlite3FixInit(tls, bp+40 /* &sFix */, pParse, iDb, ts+26971 /* "trigger" */, *(*uintptr)(unsafe.Pointer(bp + 32 /* pName */))) + if !(Xsqlite3FixSrcList(tls, bp+40 /* &sFix */, pTableName) != 0) { goto __9 } goto trigger_cleanup @@ -167467,7 +167467,7 @@ __11: // Check that the trigger name is not reserved and that no trigger of the // specified name exists - zName = Xsqlite3NameFromToken(tls, db, *(*uintptr)(unsafe.Pointer(bp + 56 /* pName */))) + zName = Xsqlite3NameFromToken(tls, db, *(*uintptr)(unsafe.Pointer(bp + 32 /* pName */))) if !(zName == uintptr(0)) { goto __12 } @@ -167491,7 +167491,7 @@ __13: if !(!(noErr != 0)) { goto __16 } - Xsqlite3ErrorMsg(tls, pParse, ts+27020 /* "trigger %T alrea..." */, libc.VaList(bp, *(*uintptr)(unsafe.Pointer(bp + 56 /* pName */)))) + Xsqlite3ErrorMsg(tls, pParse, ts+27020 /* "trigger %T alrea..." */, libc.VaList(bp, *(*uintptr)(unsafe.Pointer(bp + 32 /* pName */)))) goto __17 __16: ; @@ -167519,7 +167519,7 @@ __18: goto __19 } Xsqlite3ErrorMsg(tls, pParse, ts+27084, /* "cannot create %s..." */ - libc.VaList(bp+16, func() uintptr { + libc.VaList(bp+8, func() uintptr { if tr_tm == TK_BEFORE { return ts + 27121 /* "BEFORE" */ } @@ -167532,7 +167532,7 @@ __19: goto __20 } Xsqlite3ErrorMsg(tls, pParse, - ts+27134 /* "cannot create IN..." */, libc.VaList(bp+40, pTableName+8 /* &.a */)) + ts+27134 /* "cannot create IN..." */, libc.VaList(bp+24, pTableName+8 /* &.a */)) goto trigger_orphan_error __20: ; @@ -167659,16 +167659,16 @@ __31: // This routine is called after all of the trigger actions have been parsed // in order to complete the process of building the trigger. func Xsqlite3FinishTrigger(tls *libc.TLS, pParse uintptr, pStepList uintptr, pAll uintptr) { /* sqlite3.c:139985:21: */ - bp := tls.Alloc(168) - defer tls.Free(168) + bp := tls.Alloc(152) + defer tls.Free(152) var pTrig uintptr // Trigger being finished var zName uintptr // Name of trigger var db uintptr // The database - // var sFix DbFixer at bp+72, 96 + // var sFix DbFixer at bp+56, 96 // Fixer object var iDb int32 // Database containing the trigger - // var nameToken Token at bp+56, 16 + // var nameToken Token at bp+40, 16 var v uintptr var z uintptr @@ -167697,10 +167697,10 @@ __2: goto __2 __3: ; - Xsqlite3TokenInit(tls, bp+56 /* &nameToken */, (*Trigger)(unsafe.Pointer(pTrig)).FzName) - Xsqlite3FixInit(tls, bp+72 /* &sFix */, pParse, iDb, ts+26971 /* "trigger" */, bp+56 /* &nameToken */) - if !((Xsqlite3FixTriggerStep(tls, bp+72 /* &sFix */, (*Trigger)(unsafe.Pointer(pTrig)).Fstep_list) != 0) || - (Xsqlite3FixExpr(tls, bp+72 /* &sFix */, (*Trigger)(unsafe.Pointer(pTrig)).FpWhen) != 0)) { + Xsqlite3TokenInit(tls, bp+40 /* &nameToken */, (*Trigger)(unsafe.Pointer(pTrig)).FzName) + Xsqlite3FixInit(tls, bp+56 /* &sFix */, pParse, iDb, ts+26971 /* "trigger" */, bp+40 /* &nameToken */) + if !((Xsqlite3FixTriggerStep(tls, bp+56 /* &sFix */, (*Trigger)(unsafe.Pointer(pTrig)).Fstep_list) != 0) || + (Xsqlite3FixExpr(tls, bp+56 /* &sFix */, (*Trigger)(unsafe.Pointer(pTrig)).FpWhen) != 0)) { goto __4 } goto triggerfinish_cleanup @@ -167741,7 +167741,7 @@ __8: Xsqlite3DbFree(tls, db, z) Xsqlite3ChangeCookie(tls, pParse, iDb) Xsqlite3VdbeAddParseSchemaOp(tls, v, iDb, - Xsqlite3MPrintf(tls, db, ts+27255 /* "type='trigger' A..." */, libc.VaList(bp+40, zName)), uint16(0)) + Xsqlite3MPrintf(tls, db, ts+27255 /* "type='trigger' A..." */, libc.VaList(bp+32, zName)), uint16(0)) __7: ; __6: @@ -167942,8 +167942,8 @@ func Xsqlite3DeleteTrigger(tls *libc.TLS, db uintptr, pTrigger uintptr) { /* sql // instead of the trigger name. // func Xsqlite3DropTrigger(tls *libc.TLS, pParse uintptr, pName uintptr, noErr int32) { /* sqlite3.c:140273:21: */ - bp := tls.Alloc(16) - defer tls.Free(16) + bp := tls.Alloc(8) + defer tls.Free(8) var pTrigger uintptr var i int32 @@ -168031,8 +168031,8 @@ func tableOfTrigger(tls *libc.TLS, pTrigger uintptr) uintptr { /* sqlite3.c:1403 // Drop a trigger given a pointer to that trigger. func Xsqlite3DropTriggerPtr(tls *libc.TLS, pParse uintptr, pTrigger uintptr) { /* sqlite3.c:140323:21: */ - bp := tls.Alloc(24) - defer tls.Free(24) + bp := tls.Alloc(16) + defer tls.Free(16) var pTable uintptr var v uintptr @@ -168120,8 +168120,8 @@ func checkColumnOverlap(tls *libc.TLS, pIdList uintptr, pEList uintptr) int32 { // performed on the table, and, if that operation is an UPDATE, if at // least one of the columns in pChanges is being modified. func Xsqlite3TriggersExist(tls *libc.TLS, pParse uintptr, pTab uintptr, op int32, pChanges uintptr, pMask uintptr) uintptr { /* sqlite3.c:140410:24: */ - bp := tls.Alloc(16) - defer tls.Free(16) + bp := tls.Alloc(8) + defer tls.Free(8) var mask int32 var pList uintptr @@ -168395,8 +168395,8 @@ func codeReturningTrigger(tls *libc.TLS, pParse uintptr, pTrigger uintptr, pTab // Generate VDBE code for the statements inside the body of a single // trigger. func codeTriggerProgram(tls *libc.TLS, pParse uintptr, pStepList uintptr, orconf int32) int32 { /* sqlite3.c:140645:12: */ - bp := tls.Alloc(56) - defer tls.Free(56) + bp := tls.Alloc(48) + defer tls.Free(48) var pStep uintptr var v uintptr = (*Parse)(unsafe.Pointer(pParse)).FpVdbe @@ -168463,11 +168463,11 @@ func codeTriggerProgram(tls *libc.TLS, pParse uintptr, pStepList uintptr, orconf } default: { - // var sDest SelectDest at bp+16, 40 + // var sDest SelectDest at bp+8, 40 var pSelect uintptr = Xsqlite3SelectDup(tls, db, (*TriggerStep)(unsafe.Pointer(pStep)).FpSelect, 0) - Xsqlite3SelectDestInit(tls, bp+16 /* &sDest */, SRT_Discard, 0) - Xsqlite3Select(tls, pParse, pSelect, bp+16 /* &sDest */) + Xsqlite3SelectDestInit(tls, bp+8 /* &sDest */, SRT_Discard, 0) + Xsqlite3Select(tls, pParse, pSelect, bp+8 /* &sDest */) Xsqlite3SelectDelete(tls, db, pSelect) break @@ -168515,8 +168515,8 @@ func transferParseError(tls *libc.TLS, pTo uintptr, pFrom uintptr) { /* sqlite3. // Create and populate a new TriggerPrg object with a sub-program // implementing trigger pTrigger with ON CONFLICT policy orconf. func codeRowTrigger(tls *libc.TLS, pParse uintptr, pTrigger uintptr, pTab uintptr, orconf int32) uintptr { /* sqlite3.c:140765:19: */ - bp := tls.Alloc(160) - defer tls.Free(160) + bp := tls.Alloc(136) + defer tls.Free(136) var pTop uintptr = func() uintptr { if (*Parse)(unsafe.Pointer(pParse)).FpToplevel != 0 { @@ -168528,7 +168528,7 @@ func codeRowTrigger(tls *libc.TLS, pParse uintptr, pTrigger uintptr, pTab uintpt var pPrg uintptr // Value to return var pWhen uintptr = uintptr(0) // Duplicate of trigger WHEN expression var v uintptr // Temporary VM - // var sNC NameContext at bp+104, 56 + // var sNC NameContext at bp+80, 56 // Name context for sub-vdbe var pProgram uintptr = uintptr(0) // Sub-vdbe for trigger program var pSubParse uintptr // Parse context for sub-vdbe @@ -168559,8 +168559,8 @@ func codeRowTrigger(tls *libc.TLS, pParse uintptr, pTrigger uintptr, pTab uintpt if !(pSubParse != 0) { return uintptr(0) } - libc.Xmemset(tls, bp+104 /* &sNC */, 0, uint64(unsafe.Sizeof(NameContext{}))) - (*NameContext)(unsafe.Pointer(bp + 104 /* &sNC */)).FpParse = pSubParse + libc.Xmemset(tls, bp+80 /* &sNC */, 0, uint64(unsafe.Sizeof(NameContext{}))) + (*NameContext)(unsafe.Pointer(bp + 80 /* &sNC */)).FpParse = pSubParse (*Parse)(unsafe.Pointer(pSubParse)).Fdb = db (*Parse)(unsafe.Pointer(pSubParse)).FpTriggerTab = pTab (*Parse)(unsafe.Pointer(pSubParse)).FpToplevel = pTop @@ -168594,7 +168594,7 @@ func codeRowTrigger(tls *libc.TLS, pParse uintptr, pTrigger uintptr, pTab uintpt }(), (*Table)(unsafe.Pointer(pTab)).FzName)) if (*Trigger)(unsafe.Pointer(pTrigger)).FzName != 0 { Xsqlite3VdbeChangeP4(tls, v, -1, - Xsqlite3MPrintf(tls, db, ts+27547 /* "-- TRIGGER %s" */, libc.VaList(bp+64, (*Trigger)(unsafe.Pointer(pTrigger)).FzName)), -7) + Xsqlite3MPrintf(tls, db, ts+27547 /* "-- TRIGGER %s" */, libc.VaList(bp+56, (*Trigger)(unsafe.Pointer(pTrigger)).FzName)), -7) } // If one was specified, code the WHEN clause. If it evaluates to false @@ -168603,7 +168603,7 @@ func codeRowTrigger(tls *libc.TLS, pParse uintptr, pTrigger uintptr, pTab uintpt if (*Trigger)(unsafe.Pointer(pTrigger)).FpWhen != 0 { pWhen = Xsqlite3ExprDup(tls, db, (*Trigger)(unsafe.Pointer(pTrigger)).FpWhen, 0) if (int32((*Sqlite3)(unsafe.Pointer(db)).FmallocFailed) == 0) && - (SQLITE_OK == Xsqlite3ResolveExprNames(tls, bp+104 /* &sNC */, pWhen)) { + (SQLITE_OK == Xsqlite3ResolveExprNames(tls, bp+80 /* &sNC */, pWhen)) { iEndTrigger = Xsqlite3VdbeMakeLabel(tls, pSubParse) Xsqlite3ExprIfFalse(tls, pSubParse, pWhen, iEndTrigger, SQLITE_JUMPIFNULL) } @@ -168618,7 +168618,7 @@ func codeRowTrigger(tls *libc.TLS, pParse uintptr, pTrigger uintptr, pTab uintpt Xsqlite3VdbeResolveLabel(tls, v, iEndTrigger) } Xsqlite3VdbeAddOp0(tls, v, OP_Halt) - Xsqlite3VdbeComment(tls, v, ts+27561 /* "End: %s.%s" */, libc.VaList(bp+80, (*Trigger)(unsafe.Pointer(pTrigger)).FzName, onErrorText(tls, orconf))) + Xsqlite3VdbeComment(tls, v, ts+27561 /* "End: %s.%s" */, libc.VaList(bp+64, (*Trigger)(unsafe.Pointer(pTrigger)).FzName, onErrorText(tls, orconf))) transferParseError(tls, pParse, pSubParse) if (int32((*Sqlite3)(unsafe.Pointer(db)).FmallocFailed) == 0) && ((*Parse)(unsafe.Pointer(pParse)).FnErr == 0) { @@ -168671,8 +168671,8 @@ func getRowTrigger(tls *libc.TLS, pParse uintptr, pTrigger uintptr, pTab uintptr // function are the same as those described in the header function for // sqlite3CodeRowTrigger() func Xsqlite3CodeRowTriggerDirect(tls *libc.TLS, pParse uintptr, p uintptr, pTab uintptr, reg int32, orconf int32, ignoreJump int32) { /* sqlite3.c:140914:21: */ - bp := tls.Alloc(24) - defer tls.Free(24) + bp := tls.Alloc(16) + defer tls.Free(16) var v uintptr = Xsqlite3GetVdbe(tls, pParse) // Main VM var pPrg uintptr @@ -168845,19 +168845,19 @@ func Xsqlite3TriggerColmask(tls *libc.TLS, pParse uintptr, pTrigger uintptr, pCh // integer. In that case, add an OP_RealAffinity opcode to make sure // it has been converted into REAL. func Xsqlite3ColumnDefault(tls *libc.TLS, v uintptr, pTab uintptr, i int32, iReg int32) { /* sqlite3.c:141154:21: */ - bp := tls.Alloc(32) - defer tls.Free(32) + bp := tls.Alloc(24) + defer tls.Free(24) if !(int32((*Table)(unsafe.Pointer(pTab)).FpSelect) != 0) { - *(*uintptr)(unsafe.Pointer(bp + 24 /* pValue */)) = uintptr(0) + *(*uintptr)(unsafe.Pointer(bp + 16 /* pValue */)) = uintptr(0) var enc U8 = (*Sqlite3)(unsafe.Pointer(Xsqlite3VdbeDb(tls, v))).Fenc var pCol uintptr = ((*Table)(unsafe.Pointer(pTab)).FaCol + uintptr(i)*32) Xsqlite3VdbeComment(tls, v, ts+14807 /* "%s.%s" */, libc.VaList(bp, (*Table)(unsafe.Pointer(pTab)).FzName, (*Column)(unsafe.Pointer(pCol)).FzName)) Xsqlite3ValueFromExpr(tls, Xsqlite3VdbeDb(tls, v), (*Column)(unsafe.Pointer(pCol)).FpDflt, enc, - uint8((*Column)(unsafe.Pointer(pCol)).Faffinity), bp+24 /* &pValue */) - if *(*uintptr)(unsafe.Pointer(bp + 24 /* pValue */)) != 0 { - Xsqlite3VdbeAppendP4(tls, v, *(*uintptr)(unsafe.Pointer(bp + 24 /* pValue */)), -11) + uint8((*Column)(unsafe.Pointer(pCol)).Faffinity), bp+16 /* &pValue */) + if *(*uintptr)(unsafe.Pointer(bp + 16 /* pValue */)) != 0 { + Xsqlite3VdbeAppendP4(tls, v, *(*uintptr)(unsafe.Pointer(bp + 16 /* pValue */)), -11) } } if (int32((*Column)(unsafe.Pointer((*Table)(unsafe.Pointer(pTab)).FaCol+uintptr(i)*32)).Faffinity) == SQLITE_AFF_REAL) && !((*Table)(unsafe.Pointer(pTab)).FnModuleArg != 0) { @@ -169032,8 +169032,8 @@ func updateFromSelect(tls *libc.TLS, pParse uintptr, iEph int32, pPk uintptr, pC // \_______________________/ // pTabList func Xsqlite3Update(tls *libc.TLS, pParse uintptr, pTabList uintptr, pChanges uintptr, pWhere uintptr, onError int32, pOrderBy uintptr, pLimit uintptr, pUpsert uintptr) { /* sqlite3.c:141372:21: */ - bp := tls.Alloc(124) - defer tls.Free(124) + bp := tls.Alloc(108) + defer tls.Free(108) var i int32 var j int32 @@ -169060,9 +169060,9 @@ func Xsqlite3Update(tls *libc.TLS, pParse uintptr, pTabList uintptr, pChanges ui var chngKey U8 // Either chngPk or chngRowid var pRowidExpr uintptr // Expression defining the new record number var iRowidExpr int32 // Index of "rowid=" (or IPK) assignment in pChanges - // var sContext AuthContext at bp+32, 16 + // var sContext AuthContext at bp+16, 16 // The authorization context - // var sNC NameContext at bp+56, 56 + // var sNC NameContext at bp+40, 56 // The name-context to resolve expressions in var iDb int32 // Database containing the table being updated var eOnePass int32 // ONEPASS_XXX value from where.c @@ -169073,17 +169073,17 @@ func Xsqlite3Update(tls *libc.TLS, pParse uintptr, pTabList uintptr, pChanges ui var isView int32 // True when updating a view (INSTEAD OF trigger) var pTrigger uintptr // List of triggers on pTab, if required - // var tmask int32 at bp+48, 4 + // var tmask int32 at bp+32, 4 // Mask of TRIGGER_BEFORE|TRIGGER_AFTER var newmask int32 // Mask of NEW.* columns accessed by BEFORE triggers var iEph int32 // Ephemeral table holding all primary key values var nKey int32 // Number of elements in regKey for WITHOUT ROWID - // var aiCurOnePass [2]int32 at bp+112, 8 + // var aiCurOnePass [2]int32 at bp+96, 8 // The write cursors opened by WHERE_ONEPASS var addrOpen int32 // Address of OP_OpenEphemeral var iPk int32 // First of nPk cells holding PRIMARY KEY value var nPk I16 // Number of components of the PRIMARY KEY - // var bReplace int32 at bp+120, 4 + // var bReplace int32 at bp+104, 4 // True if REPLACE conflict resolution might happen var bFinishSeek int32 // The OP_FinishSeek opcode is needed var nChangeFrom int32 // If there is a FROM, pChanges->nExpr, else 0 @@ -169117,7 +169117,7 @@ func Xsqlite3Update(tls *libc.TLS, pParse uintptr, pTabList uintptr, pChanges ui addrOpen = 0 iPk = 0 nPk = int16(0) - *(*int32)(unsafe.Pointer(bp + 120 /* bReplace */)) = 0 + *(*int32)(unsafe.Pointer(bp + 104 /* bReplace */)) = 0 bFinishSeek = 1 nChangeFrom = 0 regRowCount = 0 @@ -169128,7 +169128,7 @@ func Xsqlite3Update(tls *libc.TLS, pParse uintptr, pTabList uintptr, pChanges ui regRowSet = 0 regKey = 0 // composite PRIMARY KEY value - libc.Xmemset(tls, bp+32 /* &sContext */, 0, uint64(unsafe.Sizeof(AuthContext{}))) + libc.Xmemset(tls, bp+16 /* &sContext */, 0, uint64(unsafe.Sizeof(AuthContext{}))) db = (*Parse)(unsafe.Pointer(pParse)).Fdb if !(((*Parse)(unsafe.Pointer(pParse)).FnErr != 0) || ((*Sqlite3)(unsafe.Pointer(db)).FmallocFailed != 0)) { goto __1 @@ -169149,7 +169149,7 @@ __2: // Figure out if we have any triggers and if the table being // updated is a view. - pTrigger = Xsqlite3TriggersExist(tls, pParse, pTab, TK_UPDATE, pChanges, bp+48 /* &tmask */) + pTrigger = Xsqlite3TriggersExist(tls, pParse, pTab, TK_UPDATE, pChanges, bp+32 /* &tmask */) isView = (libc.Bool32((*Table)(unsafe.Pointer(pTab)).FpSelect != uintptr(0))) // If there was a FROM clause, set nChangeFrom to the number of expressions @@ -169168,7 +169168,7 @@ __2: goto update_cleanup __3: ; - if !(Xsqlite3IsReadOnly(tls, pParse, pTab, *(*int32)(unsafe.Pointer(bp + 48 /* tmask */))) != 0) { + if !(Xsqlite3IsReadOnly(tls, pParse, pTab, *(*int32)(unsafe.Pointer(bp + 32 /* tmask */))) != 0) { goto __4 } goto update_cleanup @@ -169247,11 +169247,11 @@ __13: ; // Initialize the name-context - libc.Xmemset(tls, bp+56 /* &sNC */, 0, uint64(unsafe.Sizeof(NameContext{}))) - (*NameContext)(unsafe.Pointer(bp + 56 /* &sNC */)).FpParse = pParse - (*NameContext)(unsafe.Pointer(bp + 56 /* &sNC */)).FpSrcList = pTabList - *(*uintptr)(unsafe.Pointer(bp + 56 /* &sNC */ + 16 /* &.uNC */)) = pUpsert - (*NameContext)(unsafe.Pointer(bp + 56 /* &sNC */)).FncFlags = NC_UUpsert + libc.Xmemset(tls, bp+40 /* &sNC */, 0, uint64(unsafe.Sizeof(NameContext{}))) + (*NameContext)(unsafe.Pointer(bp + 40 /* &sNC */)).FpParse = pParse + (*NameContext)(unsafe.Pointer(bp + 40 /* &sNC */)).FpSrcList = pTabList + *(*uintptr)(unsafe.Pointer(bp + 40 /* &sNC */ + 16 /* &.uNC */)) = pUpsert + (*NameContext)(unsafe.Pointer(bp + 40 /* &sNC */)).FncFlags = NC_UUpsert // Begin generating code. v = Xsqlite3GetVdbe(tls, pParse) @@ -169275,7 +169275,7 @@ __15: } // If this is an UPDATE with a FROM clause, do not resolve expressions // here. The call to sqlite3Select() below will do that. - if !((nChangeFrom == 0) && (Xsqlite3ResolveExprNames(tls, bp+56 /* &sNC */, (*ExprList_item)(unsafe.Pointer((pChanges+8 /* &.a */)+uintptr(i)*32)).FpExpr) != 0)) { + if !((nChangeFrom == 0) && (Xsqlite3ResolveExprNames(tls, bp+40 /* &sNC */, (*ExprList_item)(unsafe.Pointer((pChanges+8 /* &.a */)+uintptr(i)*32)).FpExpr) != 0)) { goto __18 } goto update_cleanup @@ -169340,7 +169340,7 @@ __21: iRowidExpr = i goto __30 __29: - Xsqlite3ErrorMsg(tls, pParse, ts+27625 /* "no such column: ..." */, libc.VaList(bp+16, (*ExprList_item)(unsafe.Pointer((pChanges+8 /* &.a */)+uintptr(i)*32)).FzEName)) + Xsqlite3ErrorMsg(tls, pParse, ts+27625 /* "no such column: ..." */, libc.VaList(bp+8, (*ExprList_item)(unsafe.Pointer((pChanges+8 /* &.a */)+uintptr(i)*32)).FzEName)) (*Parse)(unsafe.Pointer(pParse)).FcheckSchema = U8(1) goto update_cleanup __30: @@ -169455,7 +169455,7 @@ __34: if !(onError == OE_Replace) { goto __44 } - *(*int32)(unsafe.Pointer(bp + 120 /* bReplace */)) = 1 + *(*int32)(unsafe.Pointer(bp + 104 /* bReplace */)) = 1 __44: ; nAllIdx = 0 @@ -169486,7 +169486,7 @@ __50: if !((onError == OE_Default) && (int32((*Index)(unsafe.Pointer(pIdx)).FonError) == OE_Replace)) { goto __54 } - *(*int32)(unsafe.Pointer(bp + 120 /* bReplace */)) = 1 + *(*int32)(unsafe.Pointer(bp + 104 /* bReplace */)) = 1 __54: ; goto __52 @@ -169517,7 +169517,7 @@ __46: __47: ; *(*int32)(unsafe.Pointer(aRegIdx + uintptr(nAllIdx)*4)) = libc.PreIncInt32(&(*Parse)(unsafe.Pointer(pParse)).FnMem, 1) // Register storing the table record - if !(*(*int32)(unsafe.Pointer(bp + 120 /* bReplace */)) != 0) { + if !(*(*int32)(unsafe.Pointer(bp + 104 /* bReplace */)) != 0) { goto __56 } // If REPLACE conflict resolution might be invoked, open cursors on all @@ -169568,7 +169568,7 @@ __58: if !(isView != 0) { goto __61 } - Xsqlite3AuthContextPush(tls, pParse, bp+32 /* &sContext */, (*Table)(unsafe.Pointer(pTab)).FzName) + Xsqlite3AuthContextPush(tls, pParse, bp+16 /* &sContext */, (*Table)(unsafe.Pointer(pTab)).FzName) __61: ; @@ -169586,7 +169586,7 @@ __62: // Resolve the column names in all the expressions in the // WHERE clause. - if !((nChangeFrom == 0) && (Xsqlite3ResolveExprNames(tls, bp+56 /* &sNC */, pWhere) != 0)) { + if !((nChangeFrom == 0) && (Xsqlite3ResolveExprNames(tls, bp+40 /* &sNC */, pWhere) != 0)) { goto __63 } goto update_cleanup @@ -169716,7 +169716,7 @@ __76: // things might disturb a cursor being used to scan through the table // or index, causing a single-pass approach to malfunction. flags = WHERE_ONEPASS_DESIRED - if !((((!(int32((*Parse)(unsafe.Pointer(pParse)).Fnested) != 0) && !(pTrigger != 0)) && !(hasFK != 0)) && !(chngKey != 0)) && !(*(*int32)(unsafe.Pointer(bp + 120 /* bReplace */)) != 0)) { + if !((((!(int32((*Parse)(unsafe.Pointer(pParse)).Fnested) != 0) && !(pTrigger != 0)) && !(hasFK != 0)) && !(chngKey != 0)) && !(*(*int32)(unsafe.Pointer(bp + 104 /* bReplace */)) != 0)) { goto __78 } flags = flags | (WHERE_ONEPASS_MULTIROW) @@ -169740,7 +169740,7 @@ __79: // Fall back to ONEPASS_OFF if where.c has selected a ONEPASS_MULTI // strategy that uses an index for which one or more columns are being // updated. - eOnePass = Xsqlite3WhereOkOnePass(tls, pWInfo, bp+112 /* &aiCurOnePass[0] */) + eOnePass = Xsqlite3WhereOkOnePass(tls, pWInfo, bp+96 /* &aiCurOnePass[0] */) bFinishSeek = Xsqlite3WhereUsesDeferredSeek(tls, pWInfo) if !(eOnePass != ONEPASS_SINGLE) { goto __80 @@ -169749,7 +169749,7 @@ __79: if !(eOnePass == ONEPASS_MULTI) { goto __81 } - iCur = *(*int32)(unsafe.Pointer(bp + 112 /* &aiCurOnePass[0] */ + 1*4)) + iCur = *(*int32)(unsafe.Pointer(bp + 96 /* &aiCurOnePass[0] */ + 1*4)) if !(((iCur >= 0) && (iCur != iDataCur)) && (*(*U8)(unsafe.Pointer(aToOpen + uintptr((iCur - iBaseCur)))) != 0)) { goto __82 } @@ -169850,22 +169850,22 @@ __95: if !(eOnePass != ONEPASS_OFF) { goto __97 } - if !(*(*int32)(unsafe.Pointer(bp + 112 /* &aiCurOnePass[0] */)) >= 0) { + if !(*(*int32)(unsafe.Pointer(bp + 96 /* &aiCurOnePass[0] */)) >= 0) { goto __98 } - *(*U8)(unsafe.Pointer(aToOpen + uintptr((*(*int32)(unsafe.Pointer(bp + 112 /* &aiCurOnePass[0] */)) - iBaseCur)))) = U8(0) + *(*U8)(unsafe.Pointer(aToOpen + uintptr((*(*int32)(unsafe.Pointer(bp + 96 /* &aiCurOnePass[0] */)) - iBaseCur)))) = U8(0) __98: ; - if !(*(*int32)(unsafe.Pointer(bp + 112 /* &aiCurOnePass[0] */ + 1*4)) >= 0) { + if !(*(*int32)(unsafe.Pointer(bp + 96 /* &aiCurOnePass[0] */ + 1*4)) >= 0) { goto __99 } - *(*U8)(unsafe.Pointer(aToOpen + uintptr((*(*int32)(unsafe.Pointer(bp + 112 /* &aiCurOnePass[0] */ + 1*4)) - iBaseCur)))) = U8(0) + *(*U8)(unsafe.Pointer(aToOpen + uintptr((*(*int32)(unsafe.Pointer(bp + 96 /* &aiCurOnePass[0] */ + 1*4)) - iBaseCur)))) = U8(0) __99: ; __97: ; - if !((eOnePass == ONEPASS_MULTI) && ((nIdx - (libc.Bool32(*(*int32)(unsafe.Pointer(bp + 112 /* &aiCurOnePass[0] */ + 1*4)) >= 0))) > 0)) { + if !((eOnePass == ONEPASS_MULTI) && ((nIdx - (libc.Bool32(*(*int32)(unsafe.Pointer(bp + 96 /* &aiCurOnePass[0] */ + 1*4)) >= 0))) > 0)) { goto __100 } addrOnce = Xsqlite3VdbeAddOp0(tls, v, OP_Once) @@ -169886,8 +169886,8 @@ __96: if !(eOnePass != ONEPASS_OFF) { goto __102 } - if !((*(*int32)(unsafe.Pointer(bp + 112 /* &aiCurOnePass[0] */)) != iDataCur) && - (*(*int32)(unsafe.Pointer(bp + 112 /* &aiCurOnePass[0] */ + 1*4)) != iDataCur)) { + if !((*(*int32)(unsafe.Pointer(bp + 96 /* &aiCurOnePass[0] */)) != iDataCur) && + (*(*int32)(unsafe.Pointer(bp + 96 /* &aiCurOnePass[0] */ + 1*4)) != iDataCur)) { goto __104 } @@ -170100,7 +170100,7 @@ __137: ; goto __135 __134: - if !(((0 == (*(*int32)(unsafe.Pointer(bp + 48 /* tmask */)) & TRIGGER_BEFORE)) || (i > 31)) || ((uint32(newmask) & (uint32((uint32(1))) << (i))) != 0)) { + if !(((0 == (*(*int32)(unsafe.Pointer(bp + 32 /* tmask */)) & TRIGGER_BEFORE)) || (i > 31)) || ((uint32(newmask) & (uint32((uint32(1))) << (i))) != 0)) { goto __138 } // This branch loads the value of a column that will not be changed @@ -170139,7 +170139,7 @@ __140: // Fire any BEFORE UPDATE triggers. This happens before constraints are // verified. One could argue that this is wrong. - if !((*(*int32)(unsafe.Pointer(bp + 48 /* tmask */)) & TRIGGER_BEFORE) != 0) { + if !((*(*int32)(unsafe.Pointer(bp + 32 /* tmask */)) & TRIGGER_BEFORE) != 0) { goto __141 } Xsqlite3TableAffinity(tls, v, pTab, regNew) @@ -170225,13 +170225,13 @@ __141: // Do constraint checks. Xsqlite3GenerateConstraintChecks(tls, pParse, pTab, aRegIdx, iDataCur, iIdxCur, - regNewRowid, regOldRowid, chngKey, uint8(onError), labelContinue, bp+120, /* &bReplace */ + regNewRowid, regOldRowid, chngKey, uint8(onError), labelContinue, bp+104, /* &bReplace */ aXRef, uintptr(0)) // If REPLACE conflict handling may have been used, or if the PK of the // row is changing, then the GenerateConstraintChecks() above may have // moved cursor iDataCur. Reseek it. - if !((*(*int32)(unsafe.Pointer(bp + 120 /* bReplace */)) != 0) || (chngKey != 0)) { + if !((*(*int32)(unsafe.Pointer(bp + 104 /* bReplace */)) != 0) || (chngKey != 0)) { goto __154 } if !(pPk != 0) { @@ -170387,7 +170387,7 @@ __169: ; update_cleanup: - Xsqlite3AuthContextPop(tls, bp+32 /* &sContext */) + Xsqlite3AuthContextPop(tls, bp+16 /* &sContext */) Xsqlite3DbFree(tls, db, aXRef) // Also frees aRegIdx[] and aToOpen[] Xsqlite3SrcListDelete(tls, db, pTabList) Xsqlite3ExprListDelete(tls, db, pChanges) @@ -170650,8 +170650,8 @@ func Xsqlite3UpsertNew(tls *libc.TLS, db uintptr, pTarget uintptr, pTargetWhere // Return SQLITE_OK if everything works, or an error code is something // is wrong. func Xsqlite3UpsertAnalyzeTarget(tls *libc.TLS, pParse uintptr, pTabList uintptr, pUpsert uintptr) int32 { /* sqlite3.c:142514:20: */ - bp := tls.Alloc(248) - defer tls.Free(248) + bp := tls.Alloc(232) + defer tls.Free(232) var pTab uintptr // That table into which we are inserting var rc int32 // Result code @@ -170659,28 +170659,28 @@ func Xsqlite3UpsertAnalyzeTarget(tls *libc.TLS, pParse uintptr, pTabList uintptr var pIdx uintptr // One of the indexes of pTab var pTarget uintptr // The conflict-target clause var pTerm uintptr // One term of the conflict-target clause - // var sNC NameContext at bp+32, 56 + // var sNC NameContext at bp+16, 56 // Context for resolving symbolic names - // var sCol [2]Expr at bp+88, 144 + // var sCol [2]Expr at bp+72, 144 // Index column converted into an Expr var nClause int32 = 0 // Counter of ON CONFLICT clauses // Resolve all symbolic names in the conflict-target clause, which // includes both the list of columns and the optional partial-index // WHERE clause. - libc.Xmemset(tls, bp+32 /* &sNC */, 0, uint64(unsafe.Sizeof(NameContext{}))) - (*NameContext)(unsafe.Pointer(bp + 32 /* &sNC */)).FpParse = pParse - (*NameContext)(unsafe.Pointer(bp + 32 /* &sNC */)).FpSrcList = pTabList + libc.Xmemset(tls, bp+16 /* &sNC */, 0, uint64(unsafe.Sizeof(NameContext{}))) + (*NameContext)(unsafe.Pointer(bp + 16 /* &sNC */)).FpParse = pParse + (*NameContext)(unsafe.Pointer(bp + 16 /* &sNC */)).FpSrcList = pTabList __1: if !((pUpsert != 0) && ((*Upsert)(unsafe.Pointer(pUpsert)).FpUpsertTarget != 0)) { goto __3 } { - rc = Xsqlite3ResolveExprListNames(tls, bp+32 /* &sNC */, (*Upsert)(unsafe.Pointer(pUpsert)).FpUpsertTarget) + rc = Xsqlite3ResolveExprListNames(tls, bp+16 /* &sNC */, (*Upsert)(unsafe.Pointer(pUpsert)).FpUpsertTarget) if rc != 0 { return rc } - rc = Xsqlite3ResolveExprNames(tls, bp+32 /* &sNC */, (*Upsert)(unsafe.Pointer(pUpsert)).FpUpsertTargetWhere) + rc = Xsqlite3ResolveExprNames(tls, bp+16 /* &sNC */, (*Upsert)(unsafe.Pointer(pUpsert)).FpUpsertTargetWhere) if rc != 0 { return rc } @@ -170703,11 +170703,11 @@ __1: // operator and sCol[1] will be the TK_COLUMN operator. Code below // will populate the specific collation and column number values // prior to comparing against the conflict-target expression. - libc.Xmemset(tls, bp+88 /* &sCol[0] */, 0, uint64(unsafe.Sizeof([2]Expr{}))) - (*Expr)(unsafe.Pointer(bp + 88 /* &sCol */)).Fop = U8(TK_COLLATE) - (*Expr)(unsafe.Pointer(bp + 88 /* &sCol */)).FpLeft = (bp + 88 /* &sCol */ + 1*72) - (*Expr)(unsafe.Pointer(bp + 88 /* &sCol */ + 1*72)).Fop = U8(TK_COLUMN) - (*Expr)(unsafe.Pointer(bp + 88 /* &sCol */ + 1*72)).FiTable = (*SrcItem)(unsafe.Pointer((pTabList + 8 /* &.a */))).FiCursor + libc.Xmemset(tls, bp+72 /* &sCol[0] */, 0, uint64(unsafe.Sizeof([2]Expr{}))) + (*Expr)(unsafe.Pointer(bp + 72 /* &sCol */)).Fop = U8(TK_COLLATE) + (*Expr)(unsafe.Pointer(bp + 72 /* &sCol */)).FpLeft = (bp + 72 /* &sCol */ + 1*72) + (*Expr)(unsafe.Pointer(bp + 72 /* &sCol */ + 1*72)).Fop = U8(TK_COLUMN) + (*Expr)(unsafe.Pointer(bp + 72 /* &sCol */ + 1*72)).FiTable = (*SrcItem)(unsafe.Pointer((pTabList + 8 /* &.a */))).FiCursor // Check for matches against other indexes for pIdx = (*Table)(unsafe.Pointer(pTab)).FpIndex; pIdx != 0; pIdx = (*Index)(unsafe.Pointer(pIdx)).FpNext { @@ -170732,18 +170732,18 @@ __1: nn = int32((*Index)(unsafe.Pointer(pIdx)).FnKeyCol) for ii = 0; ii < nn; ii++ { var pExpr uintptr - *(*uintptr)(unsafe.Pointer(bp + 88 /* &sCol */ + 8 /* &.u */)) = *(*uintptr)(unsafe.Pointer((*Index)(unsafe.Pointer(pIdx)).FazColl + uintptr(ii)*8)) + *(*uintptr)(unsafe.Pointer(bp + 72 /* &sCol */ + 8 /* &.u */)) = *(*uintptr)(unsafe.Pointer((*Index)(unsafe.Pointer(pIdx)).FazColl + uintptr(ii)*8)) if int32(*(*I16)(unsafe.Pointer((*Index)(unsafe.Pointer(pIdx)).FaiColumn + uintptr(ii)*2))) == (-2) { pExpr = (*ExprList_item)(unsafe.Pointer(((*Index)(unsafe.Pointer(pIdx)).FaColExpr + 8 /* &.a */) + uintptr(ii)*32)).FpExpr if int32((*Expr)(unsafe.Pointer(pExpr)).Fop) != TK_COLLATE { - (*Expr)(unsafe.Pointer(bp + 88 /* &sCol */)).FpLeft = pExpr - pExpr = (bp + 88 /* &sCol */) + (*Expr)(unsafe.Pointer(bp + 72 /* &sCol */)).FpLeft = pExpr + pExpr = (bp + 72 /* &sCol */) } } else { - (*Expr)(unsafe.Pointer(bp + 88 /* &sCol */)).FpLeft = (bp + 88 /* &sCol */ + 1*72) - (*Expr)(unsafe.Pointer(bp + 88 /* &sCol */ + 1*72)).FiColumn = *(*I16)(unsafe.Pointer((*Index)(unsafe.Pointer(pIdx)).FaiColumn + uintptr(ii)*2)) - pExpr = (bp + 88 /* &sCol */) + (*Expr)(unsafe.Pointer(bp + 72 /* &sCol */)).FpLeft = (bp + 72 /* &sCol */ + 1*72) + (*Expr)(unsafe.Pointer(bp + 72 /* &sCol */ + 1*72)).FiColumn = *(*I16)(unsafe.Pointer((*Index)(unsafe.Pointer(pIdx)).FaiColumn + uintptr(ii)*2)) + pExpr = (bp + 72 /* &sCol */) } for jj = 0; jj < nn; jj++ { if Xsqlite3ExprCompare(tls, pParse, (*ExprList_item)(unsafe.Pointer((pTarget+8 /* &.a */)+uintptr(jj)*32)).FpExpr, pExpr, iCursor) < 2 { @@ -170764,15 +170764,15 @@ __1: break } if (*Upsert)(unsafe.Pointer(pUpsert)).FpUpsertIdx == uintptr(0) { - // var zWhich [16]int8 at bp+232, 16 + // var zWhich [16]int8 at bp+216, 16 if (nClause == 0) && ((*Upsert)(unsafe.Pointer(pUpsert)).FpNextUpsert == uintptr(0)) { - *(*int8)(unsafe.Pointer(bp + 232 /* &zWhich[0] */)) = int8(0) + *(*int8)(unsafe.Pointer(bp + 216 /* &zWhich[0] */)) = int8(0) } else { - Xsqlite3_snprintf(tls, int32(unsafe.Sizeof([16]int8{})), bp+232 /* &zWhich[0] */, ts+27657 /* "%r " */, libc.VaList(bp, (nClause+1))) + Xsqlite3_snprintf(tls, int32(unsafe.Sizeof([16]int8{})), bp+216 /* &zWhich[0] */, ts+27657 /* "%r " */, libc.VaList(bp, (nClause+1))) } Xsqlite3ErrorMsg(tls, pParse, - ts+27661 /* "%sON CONFLICT cl..." */, libc.VaList(bp+16, bp+232 /* &zWhich[0] */)) + ts+27661 /* "%sON CONFLICT cl..." */, libc.VaList(bp+8, bp+216 /* &zWhich[0] */)) return SQLITE_ERROR } @@ -170830,8 +170830,8 @@ func Xsqlite3UpsertOfIndex(tls *libc.TLS, pUpsert uintptr, pIdx uintptr) uintptr // is not NULL, then pIdx is the constraint that failed and iCur is a // cursor points to the conflicting row. func Xsqlite3UpsertDoUpdate(tls *libc.TLS, pParse uintptr, pUpsert uintptr, pTab uintptr, pIdx uintptr, iCur int32) { /* sqlite3.c:142677:21: */ - bp := tls.Alloc(24) - defer tls.Free(24) + bp := tls.Alloc(16) + defer tls.Free(16) var v uintptr = (*Parse)(unsafe.Pointer(pParse)).FpVdbe var db uintptr = (*Parse)(unsafe.Pointer(pParse)).Fdb @@ -171054,8 +171054,8 @@ build_vacuum_end: // This routine implements the OP_Vacuum opcode of the VDBE. func Xsqlite3RunVacuum(tls *libc.TLS, pzErrMsg uintptr, db uintptr, iDb int32, pOut uintptr) int32 { /* sqlite3.c:142885:36: */ - bp := tls.Alloc(92) - defer tls.Free(92) + bp := tls.Alloc(52) + defer tls.Free(52) var rc int32 // Return code from service routines var pMain uintptr // The database being vacuumed @@ -171073,9 +171073,9 @@ func Xsqlite3RunVacuum(tls *libc.TLS, pzErrMsg uintptr, db uintptr, iDb int32, p var zDbMain uintptr // Schema name of database to vacuum var zOut uintptr var id uintptr - // var sz I64 at bp+80, 8 + // var sz I64 at bp+40, 8 - // var meta U32 at bp+88, 4 + // var meta U32 at bp+48, 4 var i int32 rc = SQLITE_OK @@ -171163,8 +171163,8 @@ __6: goto __7 } id = Xsqlite3PagerFile(tls, Xsqlite3BtreePager(tls, pTemp)) - *(*I64)(unsafe.Pointer(bp + 80 /* sz */)) = int64(0) - if !(((*Sqlite3_file)(unsafe.Pointer(id)).FpMethods != uintptr(0)) && ((Xsqlite3OsFileSize(tls, id, bp+80 /* &sz */) != SQLITE_OK) || (*(*I64)(unsafe.Pointer(bp + 80 /* sz */)) > int64(0)))) { + *(*I64)(unsafe.Pointer(bp + 40 /* sz */)) = int64(0) + if !(((*Sqlite3_file)(unsafe.Pointer(id)).FpMethods != uintptr(0)) && ((Xsqlite3OsFileSize(tls, id, bp+40 /* &sz */) != SQLITE_OK) || (*(*I64)(unsafe.Pointer(bp + 40 /* sz */)) > int64(0)))) { goto __8 } rc = SQLITE_ERROR @@ -171236,7 +171236,7 @@ __12: rc = execSqlF(tls, db, pzErrMsg, ts+27943, /* "SELECT sql FROM ..." */ - libc.VaList(bp+16, zDbMain)) + libc.VaList(bp+8, zDbMain)) if !(rc != SQLITE_OK) { goto __13 } @@ -171246,7 +171246,7 @@ __13: rc = execSqlF(tls, db, pzErrMsg, ts+28051, /* "SELECT sql FROM ..." */ - libc.VaList(bp+32, zDbMain)) + libc.VaList(bp+16, zDbMain)) if !(rc != SQLITE_OK) { goto __14 } @@ -171261,7 +171261,7 @@ __14: rc = execSqlF(tls, db, pzErrMsg, ts+28105, /* "SELECT'INSERT IN..." */ - libc.VaList(bp+48, zDbMain)) + libc.VaList(bp+24, zDbMain)) *(*U32)(unsafe.Pointer(db + 44 /* &.mDbFlags */)) &= (libc.Uint32FromInt32(libc.CplInt32(DBFLAG_Vacuum))) if !(rc != SQLITE_OK) { @@ -171278,7 +171278,7 @@ __15: rc = execSqlF(tls, db, pzErrMsg, ts+28256, /* "INSERT INTO vacu..." */ - libc.VaList(bp+64, zDbMain)) + libc.VaList(bp+32, zDbMain)) if !(rc != 0) { goto __16 } @@ -171301,8 +171301,8 @@ __17: } // GetMeta() and UpdateMeta() cannot fail in this context because // we already have page 1 loaded into cache and marked dirty. - Xsqlite3BtreeGetMeta(tls, pMain, int32(aCopy[i]), bp+88 /* &meta */) - rc = Xsqlite3BtreeUpdateMeta(tls, pTemp, int32(aCopy[i]), (*(*U32)(unsafe.Pointer(bp + 88 /* meta */)) + U32(aCopy[(i+1)]))) + Xsqlite3BtreeGetMeta(tls, pMain, int32(aCopy[i]), bp+48 /* &meta */) + rc = Xsqlite3BtreeUpdateMeta(tls, pTemp, int32(aCopy[i]), (*(*U32)(unsafe.Pointer(bp + 48 /* meta */)) + U32(aCopy[(i+1)]))) if !(rc != SQLITE_OK) { goto __20 } @@ -171650,8 +171650,8 @@ func Xsqlite3VtabClear(tls *libc.TLS, db uintptr, p uintptr) { /* sqlite3.c:1434 // string will be freed automatically when the table is // deleted. func addModuleArgument(tls *libc.TLS, pParse uintptr, pTable uintptr, zArg uintptr) { /* sqlite3.c:143503:13: */ - bp := tls.Alloc(16) - defer tls.Free(16) + bp := tls.Alloc(8) + defer tls.Free(8) var nBytes Sqlite3_int64 = (Sqlite3_int64(uint64(unsafe.Sizeof(uintptr(0))) * (uint64(2 + (*Table)(unsafe.Pointer(pTable)).FnModuleArg)))) var azModuleArg uintptr @@ -171718,8 +171718,8 @@ func addArgumentToVtab(tls *libc.TLS, pParse uintptr) { /* sqlite3.c:143574:13: // The parser calls this routine after the CREATE VIRTUAL TABLE statement // has been completely parsed. func Xsqlite3VtabFinishParse(tls *libc.TLS, pParse uintptr, pEnd uintptr) { /* sqlite3.c:143587:21: */ - bp := tls.Alloc(88) - defer tls.Free(88) + bp := tls.Alloc(64) + defer tls.Free(64) var pTab uintptr = (*Parse)(unsafe.Pointer(pParse)).FpNewTable // The table being constructed var db uintptr = (*Parse)(unsafe.Pointer(pParse)).Fdb // The database connection @@ -171764,7 +171764,7 @@ func Xsqlite3VtabFinishParse(tls *libc.TLS, pParse uintptr, pEnd uintptr) { /* s Xsqlite3NestedParse(tls, pParse, ts+28410, /* "UPDATE %Q.sqlite..." */ - libc.VaList(bp+16, (*Db)(unsafe.Pointer((*Sqlite3)(unsafe.Pointer(db)).FaDb+uintptr(iDb)*32)).FzDbSName, + libc.VaList(bp+8, (*Db)(unsafe.Pointer((*Sqlite3)(unsafe.Pointer(db)).FaDb+uintptr(iDb)*32)).FzDbSName, (*Table)(unsafe.Pointer(pTab)).FzName, (*Table)(unsafe.Pointer(pTab)).FzName, zStmt, @@ -171773,7 +171773,7 @@ func Xsqlite3VtabFinishParse(tls *libc.TLS, pParse uintptr, pEnd uintptr) { /* s Xsqlite3ChangeCookie(tls, pParse, iDb) Xsqlite3VdbeAddOp0(tls, v, OP_Expire) - zWhere = Xsqlite3MPrintf(tls, db, ts+28509 /* "name=%Q AND sql=..." */, libc.VaList(bp+64, (*Table)(unsafe.Pointer(pTab)).FzName, zStmt)) + zWhere = Xsqlite3MPrintf(tls, db, ts+28509 /* "name=%Q AND sql=..." */, libc.VaList(bp+48, (*Table)(unsafe.Pointer(pTab)).FzName, zStmt)) Xsqlite3VdbeAddParseSchemaOp(tls, v, iDb, zWhere, uint16(0)) Xsqlite3DbFree(tls, db, zStmt) @@ -171820,16 +171820,16 @@ func Xsqlite3VtabArgExtend(tls *libc.TLS, pParse uintptr, p uintptr) { /* sqlite // pointer to the function to invoke is passed as the fourth parameter // to this procedure. func vtabCallConstructor(tls *libc.TLS, db uintptr, pTab uintptr, pMod uintptr, xConstruct uintptr, pzErr uintptr) int32 { /* sqlite3.c:143699:12: */ - bp := tls.Alloc(104) - defer tls.Free(104) + bp := tls.Alloc(72) + defer tls.Free(72) - // var sCtx VtabCtx at bp+64, 32 + // var sCtx VtabCtx at bp+32, 32 var pVTable uintptr var rc int32 var azArg uintptr = (*Table)(unsafe.Pointer(pTab)).FazModuleArg var nArg int32 = (*Table)(unsafe.Pointer(pTab)).FnModuleArg - *(*uintptr)(unsafe.Pointer(bp + 96 /* zErr */)) = uintptr(0) + *(*uintptr)(unsafe.Pointer(bp + 64 /* zErr */)) = uintptr(0) var zModuleName uintptr var iDb int32 var pCtx uintptr @@ -171863,23 +171863,23 @@ func vtabCallConstructor(tls *libc.TLS, db uintptr, pTab uintptr, pMod uintptr, // Invoke the virtual table constructor - (*VtabCtx)(unsafe.Pointer(bp + 64 /* &sCtx */)).FpTab = pTab - (*VtabCtx)(unsafe.Pointer(bp + 64 /* &sCtx */)).FpVTable = pVTable - (*VtabCtx)(unsafe.Pointer(bp + 64 /* &sCtx */)).FpPrior = (*Sqlite3)(unsafe.Pointer(db)).FpVtabCtx - (*VtabCtx)(unsafe.Pointer(bp + 64 /* &sCtx */)).FbDeclared = 0 - (*Sqlite3)(unsafe.Pointer(db)).FpVtabCtx = bp + 64 /* &sCtx */ - rc = (*(*func(*libc.TLS, uintptr, uintptr, int32, uintptr, uintptr, uintptr) int32)(unsafe.Pointer(&xConstruct)))(tls, db, (*Module)(unsafe.Pointer(pMod)).FpAux, nArg, azArg, (pVTable + 16 /* &.pVtab */), bp+96 /* &zErr */) - (*Sqlite3)(unsafe.Pointer(db)).FpVtabCtx = (*VtabCtx)(unsafe.Pointer(bp + 64 /* &sCtx */)).FpPrior + (*VtabCtx)(unsafe.Pointer(bp + 32 /* &sCtx */)).FpTab = pTab + (*VtabCtx)(unsafe.Pointer(bp + 32 /* &sCtx */)).FpVTable = pVTable + (*VtabCtx)(unsafe.Pointer(bp + 32 /* &sCtx */)).FpPrior = (*Sqlite3)(unsafe.Pointer(db)).FpVtabCtx + (*VtabCtx)(unsafe.Pointer(bp + 32 /* &sCtx */)).FbDeclared = 0 + (*Sqlite3)(unsafe.Pointer(db)).FpVtabCtx = bp + 32 /* &sCtx */ + rc = (*(*func(*libc.TLS, uintptr, uintptr, int32, uintptr, uintptr, uintptr) int32)(unsafe.Pointer(&xConstruct)))(tls, db, (*Module)(unsafe.Pointer(pMod)).FpAux, nArg, azArg, (pVTable + 16 /* &.pVtab */), bp+64 /* &zErr */) + (*Sqlite3)(unsafe.Pointer(db)).FpVtabCtx = (*VtabCtx)(unsafe.Pointer(bp + 32 /* &sCtx */)).FpPrior if rc == SQLITE_NOMEM { Xsqlite3OomFault(tls, db) } if SQLITE_OK != rc { - if *(*uintptr)(unsafe.Pointer(bp + 96 /* zErr */)) == uintptr(0) { - *(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3MPrintf(tls, db, ts+28570 /* "vtable construct..." */, libc.VaList(bp+16, zModuleName)) + if *(*uintptr)(unsafe.Pointer(bp + 64 /* zErr */)) == uintptr(0) { + *(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3MPrintf(tls, db, ts+28570 /* "vtable construct..." */, libc.VaList(bp+8, zModuleName)) } else { - *(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3MPrintf(tls, db, ts+951 /* "%s" */, libc.VaList(bp+32, *(*uintptr)(unsafe.Pointer(bp + 96 /* zErr */)))) - Xsqlite3_free(tls, *(*uintptr)(unsafe.Pointer(bp + 96 /* zErr */))) + *(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3MPrintf(tls, db, ts+951 /* "%s" */, libc.VaList(bp+16, *(*uintptr)(unsafe.Pointer(bp + 64 /* zErr */)))) + Xsqlite3_free(tls, *(*uintptr)(unsafe.Pointer(bp + 64 /* zErr */))) } Xsqlite3DbFree(tls, db, pVTable) } else if (*VTable)(unsafe.Pointer(pVTable)).FpVtab != 0 { @@ -171889,9 +171889,9 @@ func vtabCallConstructor(tls *libc.TLS, db uintptr, pTab uintptr, pMod uintptr, (*Sqlite3_vtab)(unsafe.Pointer((*VTable)(unsafe.Pointer(pVTable)).FpVtab)).FpModule = (*Module)(unsafe.Pointer(pMod)).FpModule (*Module)(unsafe.Pointer(pMod)).FnRefModule++ (*VTable)(unsafe.Pointer(pVTable)).FnRef = 1 - if (*VtabCtx)(unsafe.Pointer(bp+64 /* &sCtx */)).FbDeclared == 0 { + if (*VtabCtx)(unsafe.Pointer(bp+32 /* &sCtx */)).FbDeclared == 0 { var zFormat uintptr = ts + 28600 /* "vtable construct..." */ - *(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3MPrintf(tls, db, zFormat, libc.VaList(bp+48, (*Table)(unsafe.Pointer(pTab)).FzName)) + *(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3MPrintf(tls, db, zFormat, libc.VaList(bp+24, (*Table)(unsafe.Pointer(pTab)).FzName)) Xsqlite3VtabUnlock(tls, pVTable) rc = SQLITE_ERROR } else { @@ -171952,8 +171952,8 @@ func vtabCallConstructor(tls *libc.TLS, db uintptr, pTab uintptr, pMod uintptr, // // This call is a no-op if table pTab is not a virtual table. func Xsqlite3VtabCallConnect(tls *libc.TLS, pParse uintptr, pTab uintptr) int32 { /* sqlite3.c:143832:20: */ - bp := tls.Alloc(40) - defer tls.Free(40) + bp := tls.Alloc(24) + defer tls.Free(24) var db uintptr = (*Parse)(unsafe.Pointer(pParse)).Fdb var zMod uintptr @@ -171973,13 +171973,13 @@ func Xsqlite3VtabCallConnect(tls *libc.TLS, pParse uintptr, pTab uintptr) int32 Xsqlite3ErrorMsg(tls, pParse, ts+28646 /* "no such module: ..." */, libc.VaList(bp, zModule)) rc = SQLITE_ERROR } else { - *(*uintptr)(unsafe.Pointer(bp + 32 /* zErr */)) = uintptr(0) - rc = vtabCallConstructor(tls, db, pTab, pMod, (*Sqlite3_module)(unsafe.Pointer((*Module)(unsafe.Pointer(pMod)).FpModule)).FxConnect, bp+32 /* &zErr */) + *(*uintptr)(unsafe.Pointer(bp + 16 /* zErr */)) = uintptr(0) + rc = vtabCallConstructor(tls, db, pTab, pMod, (*Sqlite3_module)(unsafe.Pointer((*Module)(unsafe.Pointer(pMod)).FpModule)).FxConnect, bp+16 /* &zErr */) if rc != SQLITE_OK { - Xsqlite3ErrorMsg(tls, pParse, ts+951 /* "%s" */, libc.VaList(bp+16, *(*uintptr)(unsafe.Pointer(bp + 32 /* zErr */)))) + Xsqlite3ErrorMsg(tls, pParse, ts+951 /* "%s" */, libc.VaList(bp+8, *(*uintptr)(unsafe.Pointer(bp + 16 /* zErr */)))) (*Parse)(unsafe.Pointer(pParse)).Frc = rc } - Xsqlite3DbFree(tls, db, *(*uintptr)(unsafe.Pointer(bp + 32 /* zErr */))) + Xsqlite3DbFree(tls, db, *(*uintptr)(unsafe.Pointer(bp + 16 /* zErr */))) } return rc @@ -172020,8 +172020,8 @@ func addToVTrans(tls *libc.TLS, db uintptr, pVTab uintptr) { /* sqlite3.c:143890 // description of the error and an SQLITE_XXX error code is returned. // In this case the caller must call sqlite3DbFree(db, ) on *pzErr. func Xsqlite3VtabCallCreate(tls *libc.TLS, db uintptr, iDb int32, zTab uintptr, pzErr uintptr) int32 { /* sqlite3.c:143904:20: */ - bp := tls.Alloc(16) - defer tls.Free(16) + bp := tls.Alloc(8) + defer tls.Free(8) var rc int32 = SQLITE_OK var pTab uintptr @@ -172060,14 +172060,14 @@ func Xsqlite3VtabCallCreate(tls *libc.TLS, db uintptr, iDb int32, zTab uintptr, // valid to call this function from within the xCreate() or xConnect() of a // virtual table module. func Xsqlite3_declare_vtab(tls *libc.TLS, db uintptr, zCreateTable uintptr) int32 { /* sqlite3.c:143945:16: */ - bp := tls.Alloc(432) - defer tls.Free(432) + bp := tls.Alloc(424) + defer tls.Free(424) var pCtx uintptr var rc int32 = SQLITE_OK var pTab uintptr - *(*uintptr)(unsafe.Pointer(bp + 424 /* zErr */)) = uintptr(0) - // var sParse Parse at bp+16, 408 + *(*uintptr)(unsafe.Pointer(bp + 416 /* zErr */)) = uintptr(0) + // var sParse Parse at bp+8, 408 Xsqlite3_mutex_enter(tls, (*Sqlite3)(unsafe.Pointer(db)).Fmutex) pCtx = (*Sqlite3)(unsafe.Pointer(db)).FpVtabCtx @@ -172078,17 +172078,17 @@ func Xsqlite3_declare_vtab(tls *libc.TLS, db uintptr, zCreateTable uintptr) int3 } pTab = (*VtabCtx)(unsafe.Pointer(pCtx)).FpTab - libc.Xmemset(tls, bp+16 /* &sParse */, 0, uint64(unsafe.Sizeof(Parse{}))) - (*Parse)(unsafe.Pointer(bp + 16 /* &sParse */)).FeParseMode = U8(PARSE_MODE_DECLARE_VTAB) - (*Parse)(unsafe.Pointer(bp + 16 /* &sParse */)).Fdb = db - (*Parse)(unsafe.Pointer(bp + 16 /* &sParse */)).FnQueryLoop = U32(1) - if ((((SQLITE_OK == Xsqlite3RunParser(tls, bp+16 /* &sParse */, zCreateTable, bp+424 /* &zErr */)) && - ((*Parse)(unsafe.Pointer(bp+16 /* &sParse */)).FpNewTable != 0)) && + libc.Xmemset(tls, bp+8 /* &sParse */, 0, uint64(unsafe.Sizeof(Parse{}))) + (*Parse)(unsafe.Pointer(bp + 8 /* &sParse */)).FeParseMode = U8(PARSE_MODE_DECLARE_VTAB) + (*Parse)(unsafe.Pointer(bp + 8 /* &sParse */)).Fdb = db + (*Parse)(unsafe.Pointer(bp + 8 /* &sParse */)).FnQueryLoop = U32(1) + if ((((SQLITE_OK == Xsqlite3RunParser(tls, bp+8 /* &sParse */, zCreateTable, bp+416 /* &zErr */)) && + ((*Parse)(unsafe.Pointer(bp+8 /* &sParse */)).FpNewTable != 0)) && !(int32((*Sqlite3)(unsafe.Pointer(db)).FmallocFailed) != 0)) && - !(int32((*Table)(unsafe.Pointer((*Parse)(unsafe.Pointer(bp+16 /* &sParse */)).FpNewTable)).FpSelect) != 0)) && - !((*Table)(unsafe.Pointer((*Parse)(unsafe.Pointer(bp+16 /* &sParse */)).FpNewTable)).FnModuleArg != 0) { + !(int32((*Table)(unsafe.Pointer((*Parse)(unsafe.Pointer(bp+8 /* &sParse */)).FpNewTable)).FpSelect) != 0)) && + !((*Table)(unsafe.Pointer((*Parse)(unsafe.Pointer(bp+8 /* &sParse */)).FpNewTable)).FnModuleArg != 0) { if !(int32((*Table)(unsafe.Pointer(pTab)).FaCol) != 0) { - var pNew uintptr = (*Parse)(unsafe.Pointer(bp + 16 /* &sParse */)).FpNewTable + var pNew uintptr = (*Parse)(unsafe.Pointer(bp + 8 /* &sParse */)).FpNewTable var pIdx uintptr (*Table)(unsafe.Pointer(pTab)).FaCol = (*Table)(unsafe.Pointer(pNew)).FaCol (*Table)(unsafe.Pointer(pTab)).FnNVCol = libc.AssignPtrInt16(pTab+70 /* &.nCol */, (*Table)(unsafe.Pointer(pNew)).FnCol) @@ -172114,21 +172114,21 @@ func Xsqlite3_declare_vtab(tls *libc.TLS, db uintptr, zCreateTable uintptr) int3 (*VtabCtx)(unsafe.Pointer(pCtx)).FbDeclared = 1 } else { Xsqlite3ErrorWithMsg(tls, db, SQLITE_ERROR, func() uintptr { - if *(*uintptr)(unsafe.Pointer(bp + 424 /* zErr */)) != 0 { + if *(*uintptr)(unsafe.Pointer(bp + 416 /* zErr */)) != 0 { return ts + 951 /* "%s" */ } return uintptr(0) - }(), libc.VaList(bp, *(*uintptr)(unsafe.Pointer(bp + 424 /* zErr */)))) - Xsqlite3DbFree(tls, db, *(*uintptr)(unsafe.Pointer(bp + 424 /* zErr */))) + }(), libc.VaList(bp, *(*uintptr)(unsafe.Pointer(bp + 416 /* zErr */)))) + Xsqlite3DbFree(tls, db, *(*uintptr)(unsafe.Pointer(bp + 416 /* zErr */))) rc = SQLITE_ERROR } - (*Parse)(unsafe.Pointer(bp + 16 /* &sParse */)).FeParseMode = U8(PARSE_MODE_NORMAL) + (*Parse)(unsafe.Pointer(bp + 8 /* &sParse */)).FeParseMode = U8(PARSE_MODE_NORMAL) - if (*Parse)(unsafe.Pointer(bp+16 /* &sParse */)).FpVdbe != 0 { - Xsqlite3VdbeFinalize(tls, (*Parse)(unsafe.Pointer(bp+16 /* &sParse */)).FpVdbe) + if (*Parse)(unsafe.Pointer(bp+8 /* &sParse */)).FpVdbe != 0 { + Xsqlite3VdbeFinalize(tls, (*Parse)(unsafe.Pointer(bp+8 /* &sParse */)).FpVdbe) } - Xsqlite3DeleteTable(tls, db, (*Parse)(unsafe.Pointer(bp+16 /* &sParse */)).FpNewTable) - Xsqlite3ParserReset(tls, bp+16 /* &sParse */) + Xsqlite3DeleteTable(tls, db, (*Parse)(unsafe.Pointer(bp+8 /* &sParse */)).FpNewTable) + Xsqlite3ParserReset(tls, bp+8 /* &sParse */) rc = Xsqlite3ApiExit(tls, db, rc) Xsqlite3_mutex_leave(tls, (*Sqlite3)(unsafe.Pointer(db)).Fmutex) @@ -172453,12 +172453,12 @@ func Xsqlite3VtabMakeWritable(tls *libc.TLS, pParse uintptr, pTab uintptr) { /* // Any virtual table module for which xConnect and xCreate are the same // method can have an eponymous virtual table instance. func Xsqlite3VtabEponymousTableInit(tls *libc.TLS, pParse uintptr, pMod uintptr) int32 { /* sqlite3.c:144353:20: */ - bp := tls.Alloc(24) - defer tls.Free(24) + bp := tls.Alloc(16) + defer tls.Free(16) var pModule uintptr = (*Module)(unsafe.Pointer(pMod)).FpModule var pTab uintptr - *(*uintptr)(unsafe.Pointer(bp + 16 /* zErr */)) = uintptr(0) + *(*uintptr)(unsafe.Pointer(bp + 8 /* zErr */)) = uintptr(0) var rc int32 var db uintptr = (*Parse)(unsafe.Pointer(pParse)).Fdb if (*Module)(unsafe.Pointer(pMod)).FpEpoTab != 0 { @@ -172485,10 +172485,10 @@ func Xsqlite3VtabEponymousTableInit(tls *libc.TLS, pParse uintptr, pMod uintptr) addModuleArgument(tls, pParse, pTab, Xsqlite3DbStrDup(tls, db, (*Table)(unsafe.Pointer(pTab)).FzName)) addModuleArgument(tls, pParse, pTab, uintptr(0)) addModuleArgument(tls, pParse, pTab, Xsqlite3DbStrDup(tls, db, (*Table)(unsafe.Pointer(pTab)).FzName)) - rc = vtabCallConstructor(tls, db, pTab, pMod, (*Sqlite3_module)(unsafe.Pointer(pModule)).FxConnect, bp+16 /* &zErr */) + rc = vtabCallConstructor(tls, db, pTab, pMod, (*Sqlite3_module)(unsafe.Pointer(pModule)).FxConnect, bp+8 /* &zErr */) if rc != 0 { - Xsqlite3ErrorMsg(tls, pParse, ts+951 /* "%s" */, libc.VaList(bp, *(*uintptr)(unsafe.Pointer(bp + 16 /* zErr */)))) - Xsqlite3DbFree(tls, db, *(*uintptr)(unsafe.Pointer(bp + 16 /* zErr */))) + Xsqlite3ErrorMsg(tls, pParse, ts+951 /* "%s" */, libc.VaList(bp, *(*uintptr)(unsafe.Pointer(bp + 8 /* zErr */)))) + Xsqlite3DbFree(tls, db, *(*uintptr)(unsafe.Pointer(bp + 8 /* zErr */))) Xsqlite3VtabEponymousTableClear(tls, db, pMod) return 0 } @@ -172981,8 +172981,8 @@ func explainAppendTerm(tls *libc.TLS, pStr uintptr, pIdx uintptr, nTerm int32, i // // "a=? AND b>?" func explainIndexRange(tls *libc.TLS, pStr uintptr, pLoop uintptr) { /* sqlite3.c:145171:13: */ - bp := tls.Alloc(16) - defer tls.Free(16) + bp := tls.Alloc(8) + defer tls.Free(8) var pIndex uintptr = *(*uintptr)(unsafe.Pointer(pLoop + 24 /* &.u */ /* &.btree */ + 8 /* &.pIndex */)) var nEq U16 = *(*U16)(unsafe.Pointer(pLoop + 24 /* &.u */ /* &.btree */ /* &.nEq */)) @@ -173026,8 +173026,8 @@ func explainIndexRange(tls *libc.TLS, pStr uintptr, pLoop uintptr) { /* sqlite3. // If an OP_Explain opcode is added to the VM, its address is returned. // Otherwise, if no OP_Explain is coded, zero is returned. func Xsqlite3WhereExplainOneScan(tls *libc.TLS, pParse uintptr, pTabList uintptr, pLevel uintptr, wctrlFlags U16) int32 { /* sqlite3.c:145205:20: */ - bp := tls.Alloc(212) - defer tls.Free(212) + bp := tls.Alloc(180) + defer tls.Free(180) var ret int32 = 0 if int32((*Parse)(unsafe.Pointer((func() uintptr { @@ -173043,9 +173043,9 @@ func Xsqlite3WhereExplainOneScan(tls *libc.TLS, pParse uintptr, pTabList uintptr var pLoop uintptr // The controlling WhereLoop object var flags U32 // Flags that describe this loop var zMsg uintptr // Text to add to EQP output - // var str StrAccum at bp+80, 32 + // var str StrAccum at bp+48, 32 // EQP output string - // var zBuf [100]int8 at bp+112, 100 + // var zBuf [100]int8 at bp+80, 100 // Initial space for EQP output string pLoop = (*WhereLevel)(unsafe.Pointer(pLevel)).FpWLoop @@ -173058,9 +173058,9 @@ func Xsqlite3WhereExplainOneScan(tls *libc.TLS, pParse uintptr, pTabList uintptr (((flags & U32(WHERE_VIRTUALTABLE)) == U32(0)) && (int32(*(*U16)(unsafe.Pointer((pLoop + 24 /* &.u */ /* &.btree */) /* &.nEq */))) > 0))) || ((int32(wctrlFlags) & (WHERE_ORDERBY_MIN | WHERE_ORDERBY_MAX)) != 0))) - Xsqlite3StrAccumInit(tls, bp+80 /* &str */, db, bp+112 /* &zBuf[0] */, int32(unsafe.Sizeof([100]int8{})), SQLITE_MAX_LENGTH) - (*StrAccum)(unsafe.Pointer(bp + 80 /* &str */)).FprintfFlags = U8(SQLITE_PRINTF_INTERNAL) - Xsqlite3_str_appendf(tls, bp+80 /* &str */, ts+28700 /* "%s %S" */, libc.VaList(bp, func() uintptr { + Xsqlite3StrAccumInit(tls, bp+48 /* &str */, db, bp+80 /* &zBuf[0] */, int32(unsafe.Sizeof([100]int8{})), SQLITE_MAX_LENGTH) + (*StrAccum)(unsafe.Pointer(bp + 48 /* &str */)).FprintfFlags = U8(SQLITE_PRINTF_INTERNAL) + Xsqlite3_str_appendf(tls, bp+48 /* &str */, ts+28700 /* "%s %S" */, libc.VaList(bp, func() uintptr { if isSearch != 0 { return ts + 28706 /* "SEARCH" */ } @@ -173086,9 +173086,9 @@ func Xsqlite3WhereExplainOneScan(tls *libc.TLS, pParse uintptr, pTabList uintptr zFmt = ts + 28794 /* "INDEX %s" */ } if zFmt != 0 { - Xsqlite3_str_append(tls, bp+80 /* &str */, ts+28803 /* " USING " */, 7) - Xsqlite3_str_appendf(tls, bp+80 /* &str */, zFmt, libc.VaList(bp+24, (*Index)(unsafe.Pointer(pIdx)).FzName)) - explainIndexRange(tls, bp+80 /* &str */, pLoop) + Xsqlite3_str_append(tls, bp+48 /* &str */, ts+28803 /* " USING " */, 7) + Xsqlite3_str_appendf(tls, bp+48 /* &str */, zFmt, libc.VaList(bp+16, (*Index)(unsafe.Pointer(pIdx)).FzName)) + explainIndexRange(tls, bp+48 /* &str */, pLoop) } } else if ((flags & U32(WHERE_IPK)) != U32(0)) && ((flags & U32(WHERE_CONSTRAINT)) != U32(0)) { var zRangeOp uintptr @@ -173102,13 +173102,13 @@ func Xsqlite3WhereExplainOneScan(tls *libc.TLS, pParse uintptr, pTabList uintptr zRangeOp = ts + 28698 /* "<" */ } - Xsqlite3_str_appendf(tls, bp+80, /* &str */ - ts+28827 /* " USING INTEGER P..." */, libc.VaList(bp+40, zRangeOp)) + Xsqlite3_str_appendf(tls, bp+48, /* &str */ + ts+28827 /* " USING INTEGER P..." */, libc.VaList(bp+24, zRangeOp)) } else if (flags & U32(WHERE_VIRTUALTABLE)) != U32(0) { - Xsqlite3_str_appendf(tls, bp+80 /* &str */, ts+28865, /* " VIRTUAL TABLE I..." */ - libc.VaList(bp+56, *(*int32)(unsafe.Pointer(pLoop + 24 /* &.u */ /* &.vtab */ /* &.idxNum */)), *(*uintptr)(unsafe.Pointer(pLoop + 24 /* &.u */ /* &.vtab */ + 8 /* &.idxStr */)))) + Xsqlite3_str_appendf(tls, bp+48 /* &str */, ts+28865, /* " VIRTUAL TABLE I..." */ + libc.VaList(bp+32, *(*int32)(unsafe.Pointer(pLoop + 24 /* &.u */ /* &.vtab */ /* &.idxNum */)), *(*uintptr)(unsafe.Pointer(pLoop + 24 /* &.u */ /* &.vtab */ + 8 /* &.idxStr */)))) } - zMsg = Xsqlite3StrAccumFinish(tls, bp+80 /* &str */) + zMsg = Xsqlite3StrAccumFinish(tls, bp+48 /* &str */) ret = Xsqlite3VdbeAddOp4(tls, v, OP_Explain, Xsqlite3VdbeCurrentAddr(tls, v), (*Parse)(unsafe.Pointer(pParse)).FaddrExplain, 0, zMsg, -7) @@ -173524,8 +173524,8 @@ func codeEqualityTerm(tls *libc.TLS, pParse uintptr, pTerm uintptr, pLevel uintp // a key to search the index. Hence the first byte in the returned affinity // string in this example would be set to SQLITE_AFF_BLOB. func codeAllEqualityTerms(tls *libc.TLS, pParse uintptr, pLevel uintptr, bRev int32, nExtraReg int32, pzAff uintptr) int32 { /* sqlite3.c:145771:12: */ - bp := tls.Alloc(32) - defer tls.Free(32) + bp := tls.Alloc(16) + defer tls.Free(16) var nEq U16 // The number of == or IN constraints to code var nSkip U16 // Number of left-most columns to skip @@ -173576,7 +173576,7 @@ func codeAllEqualityTerms(tls *libc.TLS, pParse uintptr, pLevel uintptr, bRev in for j = 0; j < int32(nSkip); j++ { Xsqlite3VdbeAddOp3(tls, v, OP_Column, iIdxCur, j, (regBase + j)) - Xsqlite3VdbeComment(tls, v, ts+951 /* "%s" */, libc.VaList(bp+16, explainIndexColumnName(tls, pIdx, j))) + Xsqlite3VdbeComment(tls, v, ts+951 /* "%s" */, libc.VaList(bp+8, explainIndexColumnName(tls, pIdx, j))) } } @@ -173873,8 +173873,8 @@ __3: // Generate code for the start of the iLevel-th loop in the WHERE clause // implementation described by pWInfo. func Xsqlite3WhereCodeOneLoopStart(tls *libc.TLS, pParse uintptr, v uintptr, pWInfo uintptr, iLevel int32, pLevel uintptr, notReady Bitmask) Bitmask { /* sqlite3.c:146382:24: */ - bp := tls.Alloc(120) - defer tls.Free(120) + bp := tls.Alloc(104) + defer tls.Free(104) var j int32 var k int32 // Loop counters @@ -174085,13 +174085,13 @@ func Xsqlite3WhereCodeOneLoopStart(tls *libc.TLS, pParse uintptr, v uintptr, pWI if pStart != 0 { var pX uintptr // The expression that defines the start bound var r1 int32 - // var rTemp int32 at bp+36, 4 + // var rTemp int32 at bp+20, 4 // Registers for holding the start boundary var op int32 // Cursor seek operation // The following constant maps TK_xx codes into corresponding // seek opcodes. It depends on a particular ordering of TK_xx - *(*[4]U8)(unsafe.Pointer(bp + 32 /* aMoveOp */)) = [4]U8{ + *(*[4]U8)(unsafe.Pointer(bp + 16 /* aMoveOp */)) = [4]U8{ /* TK_GT */ U8(OP_SeekGT), /* TK_LE */ U8(OP_SeekLE), /* TK_LT */ U8(OP_SeekLT), @@ -174105,20 +174105,20 @@ func Xsqlite3WhereCodeOneLoopStart(tls *libc.TLS, pParse uintptr, v uintptr, pWI // transitive constraints if Xsqlite3ExprIsVector(tls, (*Expr)(unsafe.Pointer(pX)).FpRight) != 0 { - r1 = libc.AssignPtrInt32(bp+36 /* rTemp */, Xsqlite3GetTempReg(tls, pParse)) + r1 = libc.AssignPtrInt32(bp+20 /* rTemp */, Xsqlite3GetTempReg(tls, pParse)) codeExprOrVector(tls, pParse, (*Expr)(unsafe.Pointer(pX)).FpRight, r1, 1) - op = int32(*(*U8)(unsafe.Pointer(bp + 32 /* &aMoveOp[0] */ + uintptr(((((int32((*Expr)(unsafe.Pointer(pX)).Fop) - TK_GT) - 1) & 0x3) | 0x1))))) + op = int32(*(*U8)(unsafe.Pointer(bp + 16 /* &aMoveOp[0] */ + uintptr(((((int32((*Expr)(unsafe.Pointer(pX)).Fop) - TK_GT) - 1) & 0x3) | 0x1))))) } else { - r1 = Xsqlite3ExprCodeTemp(tls, pParse, (*Expr)(unsafe.Pointer(pX)).FpRight, bp+36 /* &rTemp */) + r1 = Xsqlite3ExprCodeTemp(tls, pParse, (*Expr)(unsafe.Pointer(pX)).FpRight, bp+20 /* &rTemp */) disableTerm(tls, pLevel, pStart) - op = int32(*(*U8)(unsafe.Pointer(bp + 32 /* &aMoveOp[0] */ + uintptr((int32((*Expr)(unsafe.Pointer(pX)).Fop) - TK_GT))))) + op = int32(*(*U8)(unsafe.Pointer(bp + 16 /* &aMoveOp[0] */ + uintptr((int32((*Expr)(unsafe.Pointer(pX)).Fop) - TK_GT))))) } Xsqlite3VdbeAddOp3(tls, v, op, iCur, addrBrk, r1) Xsqlite3VdbeComment(tls, v, ts+22687 /* "pk" */, 0) - Xsqlite3ReleaseTempReg(tls, pParse, *(*int32)(unsafe.Pointer(bp + 36 /* rTemp */))) + Xsqlite3ReleaseTempReg(tls, pParse, *(*int32)(unsafe.Pointer(bp + 20 /* rTemp */))) } else { Xsqlite3VdbeAddOp2(tls, v, func() int32 { if bRev != 0 { @@ -174185,7 +174185,7 @@ func Xsqlite3WhereCodeOneLoopStart(tls *libc.TLS, pParse uintptr, v uintptr, pWI var iIdxCur int32 // The VDBE cursor for the index var nExtraReg int32 = 0 // Number of extra registers needed var op int32 // Instruction opcode - // var zStartAff uintptr at bp+40, 8 + // var zStartAff uintptr at bp+24, 8 // Affinity for start of range constraint var zEndAff uintptr = uintptr(0) // Affinity for end of range constraint var bSeekPastNull U8 = U8(0) // True to seek past initial nulls @@ -174279,10 +174279,10 @@ func Xsqlite3WhereCodeOneLoopStart(tls *libc.TLS, pParse uintptr, v uintptr, pWI // and store the values of those terms in an array of registers // starting at regBase. - regBase = codeAllEqualityTerms(tls, pParse, pLevel, bRev, nExtraReg, bp+40 /* &zStartAff */) + regBase = codeAllEqualityTerms(tls, pParse, pLevel, bRev, nExtraReg, bp+24 /* &zStartAff */) - if (*(*uintptr)(unsafe.Pointer(bp + 40 /* zStartAff */)) != 0) && (nTop != 0) { - zEndAff = Xsqlite3DbStrDup(tls, db, (*(*uintptr)(unsafe.Pointer(bp + 40 /* zStartAff */)) + uintptr(nEq))) + if (*(*uintptr)(unsafe.Pointer(bp + 24 /* zStartAff */)) != 0) && (nTop != 0) { + zEndAff = Xsqlite3DbStrDup(tls, db, (*(*uintptr)(unsafe.Pointer(bp + 24 /* zStartAff */)) + uintptr(nEq))) } addrNxt = func() int32 { if regBignull != 0 { @@ -174306,8 +174306,8 @@ func Xsqlite3WhereCodeOneLoopStart(tls *libc.TLS, pParse uintptr, v uintptr, pWI Xsqlite3VdbeAddOp2(tls, v, OP_IsNull, (regBase + int32(nEq)), addrNxt) } - if *(*uintptr)(unsafe.Pointer(bp + 40 /* zStartAff */)) != 0 { - updateRangeAffinityStr(tls, pRight, int32(nBtm), (*(*uintptr)(unsafe.Pointer(bp + 40 /* zStartAff */)) + uintptr(nEq))) + if *(*uintptr)(unsafe.Pointer(bp + 24 /* zStartAff */)) != 0 { + updateRangeAffinityStr(tls, pRight, int32(nBtm), (*(*uintptr)(unsafe.Pointer(bp + 24 /* zStartAff */)) + uintptr(nEq))) } nConstraint = nConstraint + (int32(nBtm)) @@ -174327,7 +174327,7 @@ func Xsqlite3WhereCodeOneLoopStart(tls *libc.TLS, pParse uintptr, v uintptr, pWI start_constraints = 1 nConstraint++ } - codeApplyAffinity(tls, pParse, regBase, (nConstraint - int32(bSeekPastNull)), *(*uintptr)(unsafe.Pointer(bp + 40 /* zStartAff */))) + codeApplyAffinity(tls, pParse, regBase, (nConstraint - int32(bSeekPastNull)), *(*uintptr)(unsafe.Pointer(bp + 24 /* zStartAff */))) if (int32((*WhereLoop)(unsafe.Pointer(pLoop)).FnSkip) > 0) && (nConstraint == int32((*WhereLoop)(unsafe.Pointer(pLoop)).FnSkip)) { // The skip-scan logic inside the call to codeAllEqualityConstraints() // above has already left the cursor sitting on the correct row, @@ -174398,7 +174398,7 @@ func Xsqlite3WhereCodeOneLoopStart(tls *libc.TLS, pParse uintptr, v uintptr, pWI } nConstraint++ } - Xsqlite3DbFree(tls, db, *(*uintptr)(unsafe.Pointer(bp + 40 /* zStartAff */))) + Xsqlite3DbFree(tls, db, *(*uintptr)(unsafe.Pointer(bp + 24 /* zStartAff */))) Xsqlite3DbFree(tls, db, zEndAff) // Top of the loop body @@ -174689,7 +174689,7 @@ func Xsqlite3WhereCodeOneLoopStart(tls *libc.TLS, pParse uintptr, v uintptr, pWI pOrExpr = pAndExpr } // Loop through table entries that match term pOrTerm. - Xsqlite3VdbeExplain(tls, pParse, uint8(1), ts+29036 /* "INDEX %d" */, libc.VaList(bp+16, (ii+1))) + Xsqlite3VdbeExplain(tls, pParse, uint8(1), ts+29036 /* "INDEX %d" */, libc.VaList(bp+8, (ii+1))) pSubWInfo = Xsqlite3WhereBegin(tls, pParse, pOrTab, pOrExpr, uintptr(0), uintptr(0), uint16(WHERE_OR_SUBCLAUSE), iCovCur) @@ -174940,7 +174940,7 @@ __4: } { var pE uintptr - // var sEAlt Expr at bp+48, 72 + // var sEAlt Expr at bp+32, 72 var pAlt uintptr if (int32((*WhereTerm)(unsafe.Pointer(pTerm)).FwtFlags) & (TERM_VIRTUAL | TERM_CODED)) != 0 { @@ -174974,9 +174974,9 @@ __4: goto __5 } - *(*Expr)(unsafe.Pointer(bp + 48 /* sEAlt */)) = *(*Expr)(unsafe.Pointer((*WhereTerm)(unsafe.Pointer(pAlt)).FpExpr)) - (*Expr)(unsafe.Pointer(bp + 48 /* &sEAlt */)).FpLeft = (*Expr)(unsafe.Pointer(pE)).FpLeft - Xsqlite3ExprIfFalse(tls, pParse, bp+48 /* &sEAlt */, addrCont, SQLITE_JUMPIFNULL) + *(*Expr)(unsafe.Pointer(bp + 32 /* sEAlt */)) = *(*Expr)(unsafe.Pointer((*WhereTerm)(unsafe.Pointer(pAlt)).FpExpr)) + (*Expr)(unsafe.Pointer(bp + 32 /* &sEAlt */)).FpLeft = (*Expr)(unsafe.Pointer(pE)).FpLeft + Xsqlite3ExprIfFalse(tls, pParse, bp+32 /* &sEAlt */, addrCont, SQLITE_JUMPIFNULL) *(*U16)(unsafe.Pointer(pAlt + 18 /* &.wtFlags */)) |= U16((TERM_CODED)) } @@ -176597,8 +176597,8 @@ func Xsqlite3WhereExprAnalyze(tls *libc.TLS, pTabList uintptr, pWC uintptr) { /* // Each function argument translates into an equality constraint against // a HIDDEN column in the table. func Xsqlite3WhereTabFuncArgs(tls *libc.TLS, pParse uintptr, pItem uintptr, pWC uintptr) { /* sqlite3.c:149188:21: */ - bp := tls.Alloc(24) - defer tls.Free(24) + bp := tls.Alloc(16) + defer tls.Free(16) var pTab uintptr var j int32 @@ -177361,8 +177361,8 @@ func termCanDriveIndex(tls *libc.TLS, pTerm uintptr, pSrc uintptr, notReady Bitm // and to set up the WhereLevel object pLevel so that the code generator // makes use of the automatic index. func constructAutomaticIndex(tls *libc.TLS, pParse uintptr, pWC uintptr, pSrc uintptr, notReady Bitmask, pLevel uintptr) { /* sqlite3.c:149971:13: */ - bp := tls.Alloc(64) - defer tls.Free(64) + bp := tls.Alloc(40) + defer tls.Free(40) var nKeyCol int32 // Number of columns in the constructed index var pTerm uintptr // A single term of the WHERE clause @@ -177378,7 +177378,7 @@ func constructAutomaticIndex(tls *libc.TLS, pParse uintptr, pWC uintptr, pSrc ui var mxBitCol int32 // Maximum column in pSrc->colUsed var pColl uintptr // Collating sequence to on a column var pLoop uintptr // The Loop object - // var zNotUsed uintptr at bp+56, 8 + // var zNotUsed uintptr at bp+32, 8 // Extra space on the end of pIdx var idxCols Bitmask // Bitmap of columns used for indexing var extraCols Bitmask // Bitmap of additional columns @@ -177517,7 +177517,7 @@ __13: ; // Construct the Index object to describe this index - pIdx = Xsqlite3AllocateIndexObject(tls, (*Parse)(unsafe.Pointer(pParse)).Fdb, (int16(nKeyCol + 1)), 0, bp+56 /* &zNotUsed */) + pIdx = Xsqlite3AllocateIndexObject(tls, (*Parse)(unsafe.Pointer(pParse)).Fdb, (int16(nKeyCol + 1)), 0, bp+32 /* &zNotUsed */) if !(pIdx == uintptr(0)) { goto __14 } @@ -177622,7 +177622,7 @@ __24: (*WhereLevel)(unsafe.Pointer(pLevel)).FiIdxCur = libc.PostIncInt32(&(*Parse)(unsafe.Pointer(pParse)).FnTab, 1) Xsqlite3VdbeAddOp2(tls, v, OP_OpenAutoindex, (*WhereLevel)(unsafe.Pointer(pLevel)).FiIdxCur, (nKeyCol + 1)) Xsqlite3VdbeSetP4KeyInfo(tls, pParse, pIdx) - Xsqlite3VdbeComment(tls, v, ts+22382 /* "for %s" */, libc.VaList(bp+24, (*Table)(unsafe.Pointer(pTable)).FzName)) + Xsqlite3VdbeComment(tls, v, ts+22382 /* "for %s" */, libc.VaList(bp+16, (*Table)(unsafe.Pointer(pTable)).FzName)) // Fill the automatic index with content pTabItem = (((*WhereInfo)(unsafe.Pointer((*WhereClause)(unsafe.Pointer(pWC)).FpWInfo)).FpTabList + 8 /* &.a */) + uintptr((*WhereLevel)(unsafe.Pointer(pLevel)).FiFrom)*112) @@ -177634,7 +177634,7 @@ __24: Xsqlite3VdbeAddOp3(tls, v, OP_InitCoroutine, regYield, 0, (*SrcItem)(unsafe.Pointer(pTabItem)).FaddrFillSub) addrTop = Xsqlite3VdbeAddOp1(tls, v, OP_Yield, regYield) - Xsqlite3VdbeComment(tls, v, ts+28943 /* "next row of %s" */, libc.VaList(bp+40, (*Table)(unsafe.Pointer((*SrcItem)(unsafe.Pointer(pTabItem)).FpTab)).FzName)) + Xsqlite3VdbeComment(tls, v, ts+28943 /* "next row of %s" */, libc.VaList(bp+24, (*Table)(unsafe.Pointer((*SrcItem)(unsafe.Pointer(pTabItem)).FpTab)).FzName)) goto __29 __28: addrTop = Xsqlite3VdbeAddOp1(tls, v, OP_Rewind, (*WhereLevel)(unsafe.Pointer(pLevel)).FiTabCur) @@ -177875,8 +177875,8 @@ __6: // caller to eventually free p->idxStr if p->needToFreeIdxStr indicates // that this is required. func vtabBestIndex(tls *libc.TLS, pParse uintptr, pTab uintptr, p uintptr) int32 { /* sqlite3.c:150333:12: */ - bp := tls.Alloc(32) - defer tls.Free(32) + bp := tls.Alloc(16) + defer tls.Free(16) var pVtab uintptr = (*VTable)(unsafe.Pointer(Xsqlite3GetVTable(tls, (*Parse)(unsafe.Pointer(pParse)).Fdb, pTab))).FpVtab var rc int32 @@ -177889,7 +177889,7 @@ func vtabBestIndex(tls *libc.TLS, pParse uintptr, pTab uintptr, p uintptr) int32 } else if !(int32((*Sqlite3_vtab)(unsafe.Pointer(pVtab)).FzErrMsg) != 0) { Xsqlite3ErrorMsg(tls, pParse, ts+951 /* "%s" */, libc.VaList(bp, Xsqlite3ErrStr(tls, rc))) } else { - Xsqlite3ErrorMsg(tls, pParse, ts+951 /* "%s" */, libc.VaList(bp+16, (*Sqlite3_vtab)(unsafe.Pointer(pVtab)).FzErrMsg)) + Xsqlite3ErrorMsg(tls, pParse, ts+951 /* "%s" */, libc.VaList(bp+8, (*Sqlite3_vtab)(unsafe.Pointer(pVtab)).FzErrMsg)) } } Xsqlite3_free(tls, (*Sqlite3_vtab)(unsafe.Pointer(pVtab)).FzErrMsg) @@ -179850,8 +179850,8 @@ __3: // Output parameter *pbIn is set to true if the plan added to pBuilder // uses one or more WO_IN terms, or false otherwise. func whereLoopAddVirtualOne(tls *libc.TLS, pBuilder uintptr, mPrereq Bitmask, mUsable Bitmask, mExclude U16, pIdxInfo uintptr, mNoOmit U16, pbIn uintptr) int32 { /* sqlite3.c:152472:12: */ - bp := tls.Alloc(32) - defer tls.Free(32) + bp := tls.Alloc(16) + defer tls.Free(16) var pWC uintptr = (*WhereLoopBuilder)(unsafe.Pointer(pBuilder)).FpWC var pIdxCons uintptr @@ -179987,7 +179987,7 @@ __6: if *(*uintptr)(unsafe.Pointer((*WhereLoop)(unsafe.Pointer(pNew)).FaLTerm + uintptr(i)*8)) == uintptr(0) { // The non-zero argvIdx values must be contiguous. Raise an // error if they are not - Xsqlite3ErrorMsg(tls, pParse, ts+29194 /* "%s.xBestIndex ma..." */, libc.VaList(bp+16, (*Table)(unsafe.Pointer((*SrcItem)(unsafe.Pointer(pSrc)).FpTab)).FzName)) + Xsqlite3ErrorMsg(tls, pParse, ts+29194 /* "%s.xBestIndex ma..." */, libc.VaList(bp+8, (*Table)(unsafe.Pointer((*SrcItem)(unsafe.Pointer(pSrc)).FpTab)).FzName)) return SQLITE_ERROR } @@ -181447,15 +181447,15 @@ func exprIsDeterministic(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:153907:1 // be used to compute the appropriate cursor depending on which index is // used. func Xsqlite3WhereBegin(tls *libc.TLS, pParse uintptr, pTabList uintptr, pWhere uintptr, pOrderBy uintptr, pResultSet uintptr, wctrlFlags U16, iAuxArg int32) uintptr { /* sqlite3.c:154027:26: */ - bp := tls.Alloc(96) - defer tls.Free(96) + bp := tls.Alloc(80) + defer tls.Free(80) var nByteWInfo int32 // Num. bytes allocated for WhereInfo struct var nTabList int32 // Number of elements in pTabList var pWInfo uintptr // Will become the return value of this function var v uintptr // The virtual database engine var notReady Bitmask // Cursors that are not yet positioned - // var sWLB WhereLoopBuilder at bp+32, 64 + // var sWLB WhereLoopBuilder at bp+16, 64 // The WhereLoop builder var pMaskSet uintptr // The expression mask set var pLevel uintptr // A single level in pWInfo->a[] @@ -181499,7 +181499,7 @@ func Xsqlite3WhereBegin(tls *libc.TLS, pParse uintptr, pTabList uintptr, pWhere // Variable initialization db = (*Parse)(unsafe.Pointer(pParse)).Fdb - libc.Xmemset(tls, bp+32 /* &sWLB */, 0, uint64(unsafe.Sizeof(WhereLoopBuilder{}))) + libc.Xmemset(tls, bp+16 /* &sWLB */, 0, uint64(unsafe.Sizeof(WhereLoopBuilder{}))) // An ORDER/GROUP BY clause of more than 63 terms cannot be optimized @@ -181509,7 +181509,7 @@ func Xsqlite3WhereBegin(tls *libc.TLS, pParse uintptr, pTabList uintptr, pWhere pOrderBy = uintptr(0) __1: ; - (*WhereLoopBuilder)(unsafe.Pointer(bp + 32 /* &sWLB */)).FpOrderBy = pOrderBy + (*WhereLoopBuilder)(unsafe.Pointer(bp + 16 /* &sWLB */)).FpOrderBy = pOrderBy // Disable the DISTINCT optimization if SQLITE_DistinctOpt is set via // sqlite3_test_ctrl(SQLITE_TESTCTRL_OPTIMIZATIONS,...) @@ -181573,11 +181573,11 @@ __4: libc.Xmemset(tls, (pWInfo + 856 /* &.a */), 0, (uint64(unsafe.Sizeof(WhereLoop{})) + (uint64(nTabList) * uint64(unsafe.Sizeof(WhereLevel{}))))) // ONEPASS defaults to OFF pMaskSet = (pWInfo + 592 /* &.sMaskSet */) - (*WhereLoopBuilder)(unsafe.Pointer(bp + 32 /* &sWLB */)).FpWInfo = pWInfo - (*WhereLoopBuilder)(unsafe.Pointer(bp + 32 /* &sWLB */)).FpWC = (pWInfo + 104 /* &.sWC */) - (*WhereLoopBuilder)(unsafe.Pointer(bp + 32 /* &sWLB */)).FpNew = ((pWInfo) + uintptr(nByteWInfo)) + (*WhereLoopBuilder)(unsafe.Pointer(bp + 16 /* &sWLB */)).FpWInfo = pWInfo + (*WhereLoopBuilder)(unsafe.Pointer(bp + 16 /* &sWLB */)).FpWC = (pWInfo + 104 /* &.sWC */) + (*WhereLoopBuilder)(unsafe.Pointer(bp + 16 /* &sWLB */)).FpNew = ((pWInfo) + uintptr(nByteWInfo)) - whereLoopInit(tls, (*WhereLoopBuilder)(unsafe.Pointer(bp+32 /* &sWLB */)).FpNew) + whereLoopInit(tls, (*WhereLoopBuilder)(unsafe.Pointer(bp+16 /* &sWLB */)).FpNew) // Split the WHERE clause into separate subexpressions where each // subexpression is separated by an AND operator. @@ -181653,10 +181653,10 @@ __12: // FROM ... WHERE (SELECT random())>0; -- eval random() once overall ii = 0 __13: - if !(ii < (*WhereClause)(unsafe.Pointer((*WhereLoopBuilder)(unsafe.Pointer(bp+32 /* &sWLB */)).FpWC)).FnTerm) { + if !(ii < (*WhereClause)(unsafe.Pointer((*WhereLoopBuilder)(unsafe.Pointer(bp+16 /* &sWLB */)).FpWC)).FnTerm) { goto __15 } - pT = ((*WhereClause)(unsafe.Pointer((*WhereLoopBuilder)(unsafe.Pointer(bp+32 /* &sWLB */)).FpWC)).Fa + uintptr(ii)*56) + pT = ((*WhereClause)(unsafe.Pointer((*WhereLoopBuilder)(unsafe.Pointer(bp+16 /* &sWLB */)).FpWC)).Fa + uintptr(ii)*56) if !((int32((*WhereTerm)(unsafe.Pointer(pT)).FwtFlags) & TERM_VIRTUAL) != 0) { goto __16 } @@ -181703,10 +181703,10 @@ __18: // Construct the WhereLoop objects - if !((nTabList != 1) || (whereShortCut(tls, bp+32 /* &sWLB */) == 0)) { + if !((nTabList != 1) || (whereShortCut(tls, bp+16 /* &sWLB */) == 0)) { goto __22 } - rc = whereLoopAddAll(tls, bp+32 /* &sWLB */) + rc = whereLoopAddAll(tls, bp+16 /* &sWLB */) if !(rc != 0) { goto __23 } @@ -181719,7 +181719,7 @@ __23: // changed based on STAT4 information while computing subsequent loops, // then we need to rerun the whole loop building process so that all // loops will be built using the revised truthProb values. - if !((int32((*WhereLoopBuilder)(unsafe.Pointer(bp+32 /* &sWLB */)).FbldFlags2) & SQLITE_BLDF2_2NDPASS) != 0) { + if !((int32((*WhereLoopBuilder)(unsafe.Pointer(bp+16 /* &sWLB */)).FbldFlags2) & SQLITE_BLDF2_2NDPASS) != 0) { goto __24 } @@ -181733,7 +181733,7 @@ __25: goto __25 __26: ; - rc = whereLoopAddAll(tls, bp+32 /* &sWLB */) + rc = whereLoopAddAll(tls, bp+16 /* &sWLB */) if !(rc != 0) { goto __27 } @@ -181813,10 +181813,10 @@ __32: goto __33 } tabUsed = Xsqlite3WhereExprListUsage(tls, pMaskSet, pResultSet) - if !((*WhereLoopBuilder)(unsafe.Pointer(bp+32 /* &sWLB */)).FpOrderBy != 0) { + if !((*WhereLoopBuilder)(unsafe.Pointer(bp+16 /* &sWLB */)).FpOrderBy != 0) { goto __34 } - tabUsed = tabUsed | (Xsqlite3WhereExprListUsage(tls, pMaskSet, (*WhereLoopBuilder)(unsafe.Pointer(bp+32 /* &sWLB */)).FpOrderBy)) + tabUsed = tabUsed | (Xsqlite3WhereExprListUsage(tls, pMaskSet, (*WhereLoopBuilder)(unsafe.Pointer(bp+16 /* &sWLB */)).FpOrderBy)) __34: ; i = (int32((*WhereInfo)(unsafe.Pointer(pWInfo)).FnLevel) - 1) @@ -181845,8 +181845,8 @@ __39: goto __36 __40: ; - pEnd = ((*WhereClause)(unsafe.Pointer((*WhereLoopBuilder)(unsafe.Pointer(bp+32 /* &sWLB */)).FpWC)).Fa + uintptr((*WhereClause)(unsafe.Pointer((*WhereLoopBuilder)(unsafe.Pointer(bp+32 /* &sWLB */)).FpWC)).FnTerm)*56) - pTerm = (*WhereClause)(unsafe.Pointer((*WhereLoopBuilder)(unsafe.Pointer(bp + 32 /* &sWLB */)).FpWC)).Fa + pEnd = ((*WhereClause)(unsafe.Pointer((*WhereLoopBuilder)(unsafe.Pointer(bp+16 /* &sWLB */)).FpWC)).Fa + uintptr((*WhereClause)(unsafe.Pointer((*WhereLoopBuilder)(unsafe.Pointer(bp+16 /* &sWLB */)).FpWC)).FnTerm)*56) + pTerm = (*WhereClause)(unsafe.Pointer((*WhereLoopBuilder)(unsafe.Pointer(bp + 16 /* &sWLB */)).FpWC)).Fa __41: if !(pTerm < pEnd) { goto __43 @@ -181878,7 +181878,7 @@ __46: ; notReady = notReady & (^(*WhereLoop)(unsafe.Pointer(pLoop)).FmaskSelf) - pTerm = (*WhereClause)(unsafe.Pointer((*WhereLoopBuilder)(unsafe.Pointer(bp + 32 /* &sWLB */)).FpWC)).Fa + pTerm = (*WhereClause)(unsafe.Pointer((*WhereLoopBuilder)(unsafe.Pointer(bp + 16 /* &sWLB */)).FpWC)).Fa __47: if !(pTerm < pEnd) { goto __49 @@ -182125,7 +182125,7 @@ __74: Xsqlite3VdbeChangeP5(tls, v, uint16(OPFLAG_SEEKEQ)) __82: ; - Xsqlite3VdbeComment(tls, v, ts+951 /* "%s" */, libc.VaList(bp+16, (*Index)(unsafe.Pointer(pIx)).FzName)) + Xsqlite3VdbeComment(tls, v, ts+951 /* "%s" */, libc.VaList(bp+8, (*Index)(unsafe.Pointer(pIx)).FzName)) __81: ; __72: @@ -182221,8 +182221,8 @@ __91: // Generate the end of the WHERE loop. See comments on // sqlite3WhereBegin() for additional information. func Xsqlite3WhereEnd(tls *libc.TLS, pWInfo uintptr) { /* sqlite3.c:154626:21: */ - bp := tls.Alloc(16) - defer tls.Free(16) + bp := tls.Alloc(8) + defer tls.Free(8) var pParse uintptr = (*WhereInfo)(unsafe.Pointer(pWInfo)).FpParse var v uintptr = (*Parse)(unsafe.Pointer(pParse)).FpVdbe @@ -183049,8 +183049,8 @@ var aWindowFuncs = [15]FuncDef{ {FnArg: int8(3), FfuncFlags: (U32((SQLITE_UTF8 | SQLITE_FUNC_WINDOW) | 0)), FxSFunc: 0, FxFinalize: 0, FxValue: 0, FxInverse: 0, FzName: 0}} /* sqlite3.c:155522:18 */ func windowFind(tls *libc.TLS, pParse uintptr, pList uintptr, zName uintptr) uintptr { /* sqlite3.c:155542:15: */ - bp := tls.Alloc(16) - defer tls.Free(16) + bp := tls.Alloc(8) + defer tls.Free(8) var p uintptr for p = pList; p != 0; p = (*Window)(unsafe.Pointer(p)).FpNextWin { @@ -183368,8 +183368,8 @@ func sqlite3WindowExtraAggFuncDepth(tls *libc.TLS, pWalker uintptr, pExpr uintpt } func disallowAggregatesInOrderByCb(tls *libc.TLS, pWalker uintptr, pExpr uintptr) int32 { /* sqlite3.c:155855:12: */ - bp := tls.Alloc(16) - defer tls.Free(16) + bp := tls.Alloc(8) + defer tls.Free(8) if (int32((*Expr)(unsafe.Pointer(pExpr)).Fop) == TK_AGG_FUNCTION) && ((*Expr)(unsafe.Pointer(pExpr)).FpAggInfo == uintptr(0)) { Xsqlite3ErrorMsg(tls, (*Walker)(unsafe.Pointer(pWalker)).FpParse, @@ -183699,8 +183699,8 @@ func Xsqlite3WindowAssemble(tls *libc.TLS, pParse uintptr, pWin uintptr, pPartit // either updates *pWin according to the base specification, or else // leaves an error in pParse. func Xsqlite3WindowChain(tls *libc.TLS, pParse uintptr, pWin uintptr, pList uintptr) { /* sqlite3.c:156179:21: */ - bp := tls.Alloc(24) - defer tls.Free(24) + bp := tls.Alloc(16) + defer tls.Free(16) if (*Window)(unsafe.Pointer(pWin)).FzBase != 0 { var db uintptr = (*Parse)(unsafe.Pointer(pParse)).Fdb @@ -185516,8 +185516,8 @@ func disableLookaside(tls *libc.TLS, pParse uintptr) { /* sqlite3.c:158076:13: * // all elements in the list. And make sure list length does not exceed // SQLITE_LIMIT_COMPOUND_SELECT. func parserDoubleLinkSelect(tls *libc.TLS, pParse uintptr, p uintptr) { /* sqlite3.c:158109:15: */ - bp := tls.Alloc(24) - defer tls.Free(24) + bp := tls.Alloc(16) + defer tls.Free(16) if (*Select)(unsafe.Pointer(p)).FpPrior != 0 { var pNext uintptr = uintptr(0) @@ -185620,8 +185620,8 @@ func binaryToUnaryIfNull(tls *libc.TLS, pParse uintptr, pY uintptr, pA uintptr, // a COLLATE clause or an ASC or DESC keyword, except ignore the // error while parsing a legacy schema. func parserAddExprIdListTerm(tls *libc.TLS, pParse uintptr, pPrior uintptr, pIdToken uintptr, hasCollate int32, sortOrder int32) uintptr { /* sqlite3.c:158204:19: */ - bp := tls.Alloc(24) - defer tls.Free(24) + bp := tls.Alloc(16) + defer tls.Free(16) var p uintptr = Xsqlite3ExprListAppend(tls, pParse, pPrior, uintptr(0)) if ((hasCollate != 0) || (sortOrder != -1)) && @@ -187697,8 +187697,8 @@ var yyRuleInfoNRhs = [398]int8{ // only called from one place, optimizing compilers will in-line it, which // means that the extra parameters have no performance impact. func yy_reduce(tls *libc.TLS, yypParser uintptr, yyruleno uint32, yyLookahead int32, yyLookaheadToken Token, pParse uintptr) uint16 { /* sqlite3.c:161518:21: */ - bp := tls.Alloc(144) - defer tls.Free(144) + bp := tls.Alloc(128) + defer tls.Free(128) var yygoto int32 // The next state var yyact uint16 // The next action @@ -187718,7 +187718,7 @@ func yy_reduce(tls *libc.TLS, yypParser uintptr, yyruleno uint32, yyLookahead in // #line // break; //********* Begin reduce actions ********************************************* - // var yylhsminor YYMINORTYPE at bp+96, 16 + // var yylhsminor YYMINORTYPE at bp+80, 16 case uint32(0): /* explain ::= EXPLAIN */ { @@ -188130,8 +188130,8 @@ func yy_reduce(tls *libc.TLS, yypParser uintptr, yyruleno uint32, yyLookahead in break case uint32(82): /* cmd ::= select */ { - *(*SelectDest)(unsafe.Pointer(bp + 40 /* dest */)) = SelectDest{FeDest: U8(SRT_Output)} - Xsqlite3Select(tls, pParse, *(*uintptr)(unsafe.Pointer(yymsp + 8 /* &.minor */)), bp+40 /* &dest */) + *(*SelectDest)(unsafe.Pointer(bp + 24 /* dest */)) = SelectDest{FeDest: U8(SRT_Output)} + Xsqlite3Select(tls, pParse, *(*uintptr)(unsafe.Pointer(yymsp + 8 /* &.minor */)), bp+24 /* &dest */) Xsqlite3SelectDelete(tls, (*Parse)(unsafe.Pointer(pParse)).Fdb, *(*uintptr)(unsafe.Pointer(yymsp + 8 /* &.minor */))) } break @@ -188160,11 +188160,11 @@ func yy_reduce(tls *libc.TLS, yypParser uintptr, yyruleno uint32, yyLookahead in var pLhs uintptr = *(*uintptr)(unsafe.Pointer(yymsp + libc.UintptrFromInt32(-2)*24 + 8 /* &.minor */)) if (pRhs != 0) && ((*Select)(unsafe.Pointer(pRhs)).FpPrior != 0) { var pFrom uintptr - // var x Token at bp+80, 16 + // var x Token at bp+64, 16 - (*Token)(unsafe.Pointer(bp + 80 /* &x */)).Fn = uint32(0) + (*Token)(unsafe.Pointer(bp + 64 /* &x */)).Fn = uint32(0) parserDoubleLinkSelect(tls, pParse, pRhs) - pFrom = Xsqlite3SrcListAppendFromTerm(tls, pParse, uintptr(0), uintptr(0), uintptr(0), bp+80 /* &x */, pRhs, uintptr(0), uintptr(0)) + pFrom = Xsqlite3SrcListAppendFromTerm(tls, pParse, uintptr(0), uintptr(0), uintptr(0), bp+64 /* &x */, pRhs, uintptr(0), uintptr(0)) pRhs = Xsqlite3SelectNew(tls, pParse, uintptr(0), pFrom, uintptr(0), uintptr(0), uintptr(0), uintptr(0), uint32(0), uintptr(0)) } if pRhs != 0 { @@ -188370,21 +188370,21 @@ func yy_reduce(tls *libc.TLS, yypParser uintptr, yyruleno uint32, yyLookahead in break case uint32(113): /* fullname ::= nm */ { - *(*uintptr)(unsafe.Pointer(bp + 96 /* &yylhsminor */)) = Xsqlite3SrcListAppend(tls, pParse, uintptr(0), (yymsp + 8 /* &.minor */ /* &.yy0 */), uintptr(0)) - if (int32((*Parse)(unsafe.Pointer(pParse)).FeParseMode) >= PARSE_MODE_RENAME) && (*(*uintptr)(unsafe.Pointer(bp + 96 /* &yylhsminor */)) != 0) { - Xsqlite3RenameTokenMap(tls, pParse, (*SrcItem)(unsafe.Pointer((*(*uintptr)(unsafe.Pointer(bp + 96 /* &yylhsminor */)) + 8 /* &.a */))).FzName, (yymsp + 8 /* &.minor */ /* &.yy0 */)) + *(*uintptr)(unsafe.Pointer(bp + 80 /* &yylhsminor */)) = Xsqlite3SrcListAppend(tls, pParse, uintptr(0), (yymsp + 8 /* &.minor */ /* &.yy0 */), uintptr(0)) + if (int32((*Parse)(unsafe.Pointer(pParse)).FeParseMode) >= PARSE_MODE_RENAME) && (*(*uintptr)(unsafe.Pointer(bp + 80 /* &yylhsminor */)) != 0) { + Xsqlite3RenameTokenMap(tls, pParse, (*SrcItem)(unsafe.Pointer((*(*uintptr)(unsafe.Pointer(bp + 80 /* &yylhsminor */)) + 8 /* &.a */))).FzName, (yymsp + 8 /* &.minor */ /* &.yy0 */)) } } - *(*uintptr)(unsafe.Pointer(yymsp + 8 /* &.minor */)) = *(*uintptr)(unsafe.Pointer(bp + 96 /* &yylhsminor */)) + *(*uintptr)(unsafe.Pointer(yymsp + 8 /* &.minor */)) = *(*uintptr)(unsafe.Pointer(bp + 80 /* &yylhsminor */)) break case uint32(114): /* fullname ::= nm DOT nm */ { - *(*uintptr)(unsafe.Pointer(bp + 96 /* &yylhsminor */)) = Xsqlite3SrcListAppend(tls, pParse, uintptr(0), (yymsp + libc.UintptrFromInt32(-2)*24 + 8 /* &.minor */ /* &.yy0 */), (yymsp + 8 /* &.minor */ /* &.yy0 */)) - if (int32((*Parse)(unsafe.Pointer(pParse)).FeParseMode) >= PARSE_MODE_RENAME) && (*(*uintptr)(unsafe.Pointer(bp + 96 /* &yylhsminor */)) != 0) { - Xsqlite3RenameTokenMap(tls, pParse, (*SrcItem)(unsafe.Pointer((*(*uintptr)(unsafe.Pointer(bp + 96 /* &yylhsminor */)) + 8 /* &.a */))).FzName, (yymsp + 8 /* &.minor */ /* &.yy0 */)) + *(*uintptr)(unsafe.Pointer(bp + 80 /* &yylhsminor */)) = Xsqlite3SrcListAppend(tls, pParse, uintptr(0), (yymsp + libc.UintptrFromInt32(-2)*24 + 8 /* &.minor */ /* &.yy0 */), (yymsp + 8 /* &.minor */ /* &.yy0 */)) + if (int32((*Parse)(unsafe.Pointer(pParse)).FeParseMode) >= PARSE_MODE_RENAME) && (*(*uintptr)(unsafe.Pointer(bp + 80 /* &yylhsminor */)) != 0) { + Xsqlite3RenameTokenMap(tls, pParse, (*SrcItem)(unsafe.Pointer((*(*uintptr)(unsafe.Pointer(bp + 80 /* &yylhsminor */)) + 8 /* &.a */))).FzName, (yymsp + 8 /* &.minor */ /* &.yy0 */)) } } - *(*uintptr)(unsafe.Pointer(yymsp + libc.UintptrFromInt32(-2)*24 + 8 /* &.minor */)) = *(*uintptr)(unsafe.Pointer(bp + 96 /* &yylhsminor */)) + *(*uintptr)(unsafe.Pointer(yymsp + libc.UintptrFromInt32(-2)*24 + 8 /* &.minor */)) = *(*uintptr)(unsafe.Pointer(bp + 80 /* &yylhsminor */)) break case uint32(115): /* xfullname ::= nm */ { @@ -188589,10 +188589,10 @@ func yy_reduce(tls *libc.TLS, yypParser uintptr, yyruleno uint32, yyLookahead in break case uint32(158): /* setlist ::= nm EQ expr */ { - *(*uintptr)(unsafe.Pointer(bp + 96 /* &yylhsminor */)) = Xsqlite3ExprListAppend(tls, pParse, uintptr(0), *(*uintptr)(unsafe.Pointer(yymsp + 8 /* &.minor */))) - Xsqlite3ExprListSetName(tls, pParse, *(*uintptr)(unsafe.Pointer(bp + 96 /* &yylhsminor */)), (yymsp + libc.UintptrFromInt32(-2)*24 + 8 /* &.minor */ /* &.yy0 */), 1) + *(*uintptr)(unsafe.Pointer(bp + 80 /* &yylhsminor */)) = Xsqlite3ExprListAppend(tls, pParse, uintptr(0), *(*uintptr)(unsafe.Pointer(yymsp + 8 /* &.minor */))) + Xsqlite3ExprListSetName(tls, pParse, *(*uintptr)(unsafe.Pointer(bp + 80 /* &yylhsminor */)), (yymsp + libc.UintptrFromInt32(-2)*24 + 8 /* &.minor */ /* &.yy0 */), 1) } - *(*uintptr)(unsafe.Pointer(yymsp + libc.UintptrFromInt32(-2)*24 + 8 /* &.minor */)) = *(*uintptr)(unsafe.Pointer(bp + 96 /* &yylhsminor */)) + *(*uintptr)(unsafe.Pointer(yymsp + libc.UintptrFromInt32(-2)*24 + 8 /* &.minor */)) = *(*uintptr)(unsafe.Pointer(bp + 80 /* &yylhsminor */)) break case uint32(159): /* setlist ::= LP idlist RP EQ expr */ { @@ -188680,9 +188680,9 @@ func yy_reduce(tls *libc.TLS, yypParser uintptr, yyruleno uint32, yyLookahead in Xsqlite3RenameTokenMap(tls, pParse, temp2, (yymsp + 8 /* &.minor */ /* &.yy0 */)) Xsqlite3RenameTokenMap(tls, pParse, temp1, (yymsp + libc.UintptrFromInt32(-2)*24 + 8 /* &.minor */ /* &.yy0 */)) } - *(*uintptr)(unsafe.Pointer(bp + 96 /* &yylhsminor */)) = Xsqlite3PExpr(tls, pParse, TK_DOT, temp1, temp2) + *(*uintptr)(unsafe.Pointer(bp + 80 /* &yylhsminor */)) = Xsqlite3PExpr(tls, pParse, TK_DOT, temp1, temp2) } - *(*uintptr)(unsafe.Pointer(yymsp + libc.UintptrFromInt32(-2)*24 + 8 /* &.minor */)) = *(*uintptr)(unsafe.Pointer(bp + 96 /* &yylhsminor */)) + *(*uintptr)(unsafe.Pointer(yymsp + libc.UintptrFromInt32(-2)*24 + 8 /* &.minor */)) = *(*uintptr)(unsafe.Pointer(bp + 80 /* &yylhsminor */)) break case uint32(179): /* expr ::= nm DOT nm DOT nm */ { @@ -188694,9 +188694,9 @@ func yy_reduce(tls *libc.TLS, yypParser uintptr, yyruleno uint32, yyLookahead in Xsqlite3RenameTokenMap(tls, pParse, temp3, (yymsp + 8 /* &.minor */ /* &.yy0 */)) Xsqlite3RenameTokenMap(tls, pParse, temp2, (yymsp + libc.UintptrFromInt32(-2)*24 + 8 /* &.minor */ /* &.yy0 */)) } - *(*uintptr)(unsafe.Pointer(bp + 96 /* &yylhsminor */)) = Xsqlite3PExpr(tls, pParse, TK_DOT, temp1, temp4) + *(*uintptr)(unsafe.Pointer(bp + 80 /* &yylhsminor */)) = Xsqlite3PExpr(tls, pParse, TK_DOT, temp1, temp4) } - *(*uintptr)(unsafe.Pointer(yymsp + libc.UintptrFromInt32(-4)*24 + 8 /* &.minor */)) = *(*uintptr)(unsafe.Pointer(bp + 96 /* &yylhsminor */)) + *(*uintptr)(unsafe.Pointer(yymsp + libc.UintptrFromInt32(-4)*24 + 8 /* &.minor */)) = *(*uintptr)(unsafe.Pointer(bp + 80 /* &yylhsminor */)) break case uint32(180): fallthrough // term ::= NULL|FLOAT|BLOB @@ -188707,9 +188707,9 @@ func yy_reduce(tls *libc.TLS, yypParser uintptr, yyruleno uint32, yyLookahead in break case uint32(182): /* term ::= INTEGER */ { - *(*uintptr)(unsafe.Pointer(bp + 96 /* &yylhsminor */)) = Xsqlite3ExprAlloc(tls, (*Parse)(unsafe.Pointer(pParse)).Fdb, TK_INTEGER, (yymsp + 8 /* &.minor */ /* &.yy0 */), 1) + *(*uintptr)(unsafe.Pointer(bp + 80 /* &yylhsminor */)) = Xsqlite3ExprAlloc(tls, (*Parse)(unsafe.Pointer(pParse)).Fdb, TK_INTEGER, (yymsp + 8 /* &.minor */ /* &.yy0 */), 1) } - *(*uintptr)(unsafe.Pointer(yymsp + 8 /* &.minor */)) = *(*uintptr)(unsafe.Pointer(bp + 96 /* &yylhsminor */)) + *(*uintptr)(unsafe.Pointer(yymsp + 8 /* &.minor */)) = *(*uintptr)(unsafe.Pointer(bp + 80 /* &yylhsminor */)) break case uint32(183): /* expr ::= VARIABLE */ { @@ -188721,15 +188721,15 @@ func yy_reduce(tls *libc.TLS, yypParser uintptr, yyruleno uint32, yyLookahead in // When doing a nested parse, one can include terms in an expression // that look like this: #1 #2 ... These terms refer to registers // in the virtual machine. #N is the N-th register. - *(*Token)(unsafe.Pointer(bp + 112 /* t */)) = *(*Token)(unsafe.Pointer(yymsp + 8 /* &.minor */)) //A-overwrites-X + *(*Token)(unsafe.Pointer(bp + 96 /* t */)) = *(*Token)(unsafe.Pointer(yymsp + 8 /* &.minor */)) //A-overwrites-X if int32((*Parse)(unsafe.Pointer(pParse)).Fnested) == 0 { - Xsqlite3ErrorMsg(tls, pParse, ts+30262 /* "near \"%T\": synta..." */, libc.VaList(bp+24, bp+112 /* &t */)) + Xsqlite3ErrorMsg(tls, pParse, ts+30262 /* "near \"%T\": synta..." */, libc.VaList(bp+16, bp+96 /* &t */)) *(*uintptr)(unsafe.Pointer(yymsp + 8 /* &.minor */)) = uintptr(0) } else { *(*uintptr)(unsafe.Pointer(yymsp + 8 /* &.minor */)) = Xsqlite3PExpr(tls, pParse, TK_REGISTER, uintptr(0), uintptr(0)) if *(*uintptr)(unsafe.Pointer(yymsp + 8 /* &.minor */)) != 0 { - Xsqlite3GetInt32(tls, ((*Token)(unsafe.Pointer(bp+112 /* &t */)).Fz + 1), (*(*uintptr)(unsafe.Pointer(yymsp + 8 /* &.minor */)) + 44 /* &.iTable */)) + Xsqlite3GetInt32(tls, ((*Token)(unsafe.Pointer(bp+96 /* &t */)).Fz + 1), (*(*uintptr)(unsafe.Pointer(yymsp + 8 /* &.minor */)) + 44 /* &.iTable */)) } } } @@ -188748,35 +188748,35 @@ func yy_reduce(tls *libc.TLS, yypParser uintptr, yyruleno uint32, yyLookahead in break case uint32(186): /* expr ::= ID|INDEXED LP distinct exprlist RP */ { - *(*uintptr)(unsafe.Pointer(bp + 96 /* &yylhsminor */)) = Xsqlite3ExprFunction(tls, pParse, *(*uintptr)(unsafe.Pointer(yymsp + libc.UintptrFromInt32(-1)*24 + 8 /* &.minor */)), (yymsp + libc.UintptrFromInt32(-4)*24 + 8 /* &.minor */ /* &.yy0 */), *(*int32)(unsafe.Pointer(yymsp + libc.UintptrFromInt32(-2)*24 + 8 /* &.minor */))) + *(*uintptr)(unsafe.Pointer(bp + 80 /* &yylhsminor */)) = Xsqlite3ExprFunction(tls, pParse, *(*uintptr)(unsafe.Pointer(yymsp + libc.UintptrFromInt32(-1)*24 + 8 /* &.minor */)), (yymsp + libc.UintptrFromInt32(-4)*24 + 8 /* &.minor */ /* &.yy0 */), *(*int32)(unsafe.Pointer(yymsp + libc.UintptrFromInt32(-2)*24 + 8 /* &.minor */))) } - *(*uintptr)(unsafe.Pointer(yymsp + libc.UintptrFromInt32(-4)*24 + 8 /* &.minor */)) = *(*uintptr)(unsafe.Pointer(bp + 96 /* &yylhsminor */)) + *(*uintptr)(unsafe.Pointer(yymsp + libc.UintptrFromInt32(-4)*24 + 8 /* &.minor */)) = *(*uintptr)(unsafe.Pointer(bp + 80 /* &yylhsminor */)) break case uint32(187): /* expr ::= ID|INDEXED LP STAR RP */ { - *(*uintptr)(unsafe.Pointer(bp + 96 /* &yylhsminor */)) = Xsqlite3ExprFunction(tls, pParse, uintptr(0), (yymsp + libc.UintptrFromInt32(-3)*24 + 8 /* &.minor */ /* &.yy0 */), 0) + *(*uintptr)(unsafe.Pointer(bp + 80 /* &yylhsminor */)) = Xsqlite3ExprFunction(tls, pParse, uintptr(0), (yymsp + libc.UintptrFromInt32(-3)*24 + 8 /* &.minor */ /* &.yy0 */), 0) } - *(*uintptr)(unsafe.Pointer(yymsp + libc.UintptrFromInt32(-3)*24 + 8 /* &.minor */)) = *(*uintptr)(unsafe.Pointer(bp + 96 /* &yylhsminor */)) + *(*uintptr)(unsafe.Pointer(yymsp + libc.UintptrFromInt32(-3)*24 + 8 /* &.minor */)) = *(*uintptr)(unsafe.Pointer(bp + 80 /* &yylhsminor */)) break case uint32(188): /* expr ::= ID|INDEXED LP distinct exprlist RP filter_over */ { - *(*uintptr)(unsafe.Pointer(bp + 96 /* &yylhsminor */)) = Xsqlite3ExprFunction(tls, pParse, *(*uintptr)(unsafe.Pointer(yymsp + libc.UintptrFromInt32(-2)*24 + 8 /* &.minor */)), (yymsp + libc.UintptrFromInt32(-5)*24 + 8 /* &.minor */ /* &.yy0 */), *(*int32)(unsafe.Pointer(yymsp + libc.UintptrFromInt32(-3)*24 + 8 /* &.minor */))) - Xsqlite3WindowAttach(tls, pParse, *(*uintptr)(unsafe.Pointer(bp + 96 /* &yylhsminor */)), *(*uintptr)(unsafe.Pointer(yymsp + 8 /* &.minor */))) + *(*uintptr)(unsafe.Pointer(bp + 80 /* &yylhsminor */)) = Xsqlite3ExprFunction(tls, pParse, *(*uintptr)(unsafe.Pointer(yymsp + libc.UintptrFromInt32(-2)*24 + 8 /* &.minor */)), (yymsp + libc.UintptrFromInt32(-5)*24 + 8 /* &.minor */ /* &.yy0 */), *(*int32)(unsafe.Pointer(yymsp + libc.UintptrFromInt32(-3)*24 + 8 /* &.minor */))) + Xsqlite3WindowAttach(tls, pParse, *(*uintptr)(unsafe.Pointer(bp + 80 /* &yylhsminor */)), *(*uintptr)(unsafe.Pointer(yymsp + 8 /* &.minor */))) } - *(*uintptr)(unsafe.Pointer(yymsp + libc.UintptrFromInt32(-5)*24 + 8 /* &.minor */)) = *(*uintptr)(unsafe.Pointer(bp + 96 /* &yylhsminor */)) + *(*uintptr)(unsafe.Pointer(yymsp + libc.UintptrFromInt32(-5)*24 + 8 /* &.minor */)) = *(*uintptr)(unsafe.Pointer(bp + 80 /* &yylhsminor */)) break case uint32(189): /* expr ::= ID|INDEXED LP STAR RP filter_over */ { - *(*uintptr)(unsafe.Pointer(bp + 96 /* &yylhsminor */)) = Xsqlite3ExprFunction(tls, pParse, uintptr(0), (yymsp + libc.UintptrFromInt32(-4)*24 + 8 /* &.minor */ /* &.yy0 */), 0) - Xsqlite3WindowAttach(tls, pParse, *(*uintptr)(unsafe.Pointer(bp + 96 /* &yylhsminor */)), *(*uintptr)(unsafe.Pointer(yymsp + 8 /* &.minor */))) + *(*uintptr)(unsafe.Pointer(bp + 80 /* &yylhsminor */)) = Xsqlite3ExprFunction(tls, pParse, uintptr(0), (yymsp + libc.UintptrFromInt32(-4)*24 + 8 /* &.minor */ /* &.yy0 */), 0) + Xsqlite3WindowAttach(tls, pParse, *(*uintptr)(unsafe.Pointer(bp + 80 /* &yylhsminor */)), *(*uintptr)(unsafe.Pointer(yymsp + 8 /* &.minor */))) } - *(*uintptr)(unsafe.Pointer(yymsp + libc.UintptrFromInt32(-4)*24 + 8 /* &.minor */)) = *(*uintptr)(unsafe.Pointer(bp + 96 /* &yylhsminor */)) + *(*uintptr)(unsafe.Pointer(yymsp + libc.UintptrFromInt32(-4)*24 + 8 /* &.minor */)) = *(*uintptr)(unsafe.Pointer(bp + 80 /* &yylhsminor */)) break case uint32(190): /* term ::= CTIME_KW */ { - *(*uintptr)(unsafe.Pointer(bp + 96 /* &yylhsminor */)) = Xsqlite3ExprFunction(tls, pParse, uintptr(0), (yymsp + 8 /* &.minor */ /* &.yy0 */), 0) + *(*uintptr)(unsafe.Pointer(bp + 80 /* &yylhsminor */)) = Xsqlite3ExprFunction(tls, pParse, uintptr(0), (yymsp + 8 /* &.minor */ /* &.yy0 */), 0) } - *(*uintptr)(unsafe.Pointer(yymsp + 8 /* &.minor */)) = *(*uintptr)(unsafe.Pointer(bp + 96 /* &yylhsminor */)) + *(*uintptr)(unsafe.Pointer(yymsp + 8 /* &.minor */)) = *(*uintptr)(unsafe.Pointer(bp + 80 /* &yylhsminor */)) break case uint32(191): /* expr ::= LP nexprlist COMMA expr RP */ { @@ -189126,11 +189126,11 @@ func yy_reduce(tls *libc.TLS, yypParser uintptr, yyruleno uint32, yyLookahead in break case uint32(253): /* cmd ::= createkw trigger_decl BEGIN trigger_cmd_list END */ { - // var all Token at bp+128, 16 + // var all Token at bp+112, 16 - (*Token)(unsafe.Pointer(bp + 128 /* &all */)).Fz = (*Token)(unsafe.Pointer(yymsp + libc.UintptrFromInt32(-3)*24 + 8 /* &.minor */)).Fz - (*Token)(unsafe.Pointer(bp + 128 /* &all */)).Fn = (uint32((int32((int64((*Token)(unsafe.Pointer(yymsp+8 /* &.minor */)).Fz) - int64((*Token)(unsafe.Pointer(yymsp+libc.UintptrFromInt32(-3)*24+8 /* &.minor */)).Fz)) / 1))) + (*Token)(unsafe.Pointer(yymsp+8 /* &.minor */)).Fn) - Xsqlite3FinishTrigger(tls, pParse, *(*uintptr)(unsafe.Pointer(yymsp + libc.UintptrFromInt32(-1)*24 + 8 /* &.minor */)), bp+128 /* &all */) + (*Token)(unsafe.Pointer(bp + 112 /* &all */)).Fz = (*Token)(unsafe.Pointer(yymsp + libc.UintptrFromInt32(-3)*24 + 8 /* &.minor */)).Fz + (*Token)(unsafe.Pointer(bp + 112 /* &all */)).Fn = (uint32((int32((int64((*Token)(unsafe.Pointer(yymsp+8 /* &.minor */)).Fz) - int64((*Token)(unsafe.Pointer(yymsp+libc.UintptrFromInt32(-3)*24+8 /* &.minor */)).Fz)) / 1))) + (*Token)(unsafe.Pointer(yymsp+8 /* &.minor */)).Fn) + Xsqlite3FinishTrigger(tls, pParse, *(*uintptr)(unsafe.Pointer(yymsp + libc.UintptrFromInt32(-1)*24 + 8 /* &.minor */)), bp+112 /* &all */) } break case uint32(254): /* trigger_decl ::= temp TRIGGER ifnotexists nm dbnm trigger_time trigger_event ON fullname foreach_clause when_clause */ @@ -189224,27 +189224,27 @@ func yy_reduce(tls *libc.TLS, yypParser uintptr, yyruleno uint32, yyLookahead in break case uint32(268): /* trigger_cmd ::= UPDATE orconf trnm tridxby SET setlist from where_opt scanpt */ { - *(*uintptr)(unsafe.Pointer(bp + 96 /* &yylhsminor */)) = Xsqlite3TriggerUpdateStep(tls, pParse, (yymsp + libc.UintptrFromInt32(-6)*24 + 8 /* &.minor */ /* &.yy0 */), *(*uintptr)(unsafe.Pointer(yymsp + libc.UintptrFromInt32(-2)*24 + 8 /* &.minor */)), *(*uintptr)(unsafe.Pointer(yymsp + libc.UintptrFromInt32(-3)*24 + 8 /* &.minor */)), *(*uintptr)(unsafe.Pointer(yymsp + libc.UintptrFromInt32(-1)*24 + 8 /* &.minor */)), uint8(*(*int32)(unsafe.Pointer(yymsp + libc.UintptrFromInt32(-7)*24 + 8 /* &.minor */))), (*Token)(unsafe.Pointer(yymsp+libc.UintptrFromInt32(-8)*24+8 /* &.minor */)).Fz, *(*uintptr)(unsafe.Pointer(yymsp + 8 /* &.minor */))) + *(*uintptr)(unsafe.Pointer(bp + 80 /* &yylhsminor */)) = Xsqlite3TriggerUpdateStep(tls, pParse, (yymsp + libc.UintptrFromInt32(-6)*24 + 8 /* &.minor */ /* &.yy0 */), *(*uintptr)(unsafe.Pointer(yymsp + libc.UintptrFromInt32(-2)*24 + 8 /* &.minor */)), *(*uintptr)(unsafe.Pointer(yymsp + libc.UintptrFromInt32(-3)*24 + 8 /* &.minor */)), *(*uintptr)(unsafe.Pointer(yymsp + libc.UintptrFromInt32(-1)*24 + 8 /* &.minor */)), uint8(*(*int32)(unsafe.Pointer(yymsp + libc.UintptrFromInt32(-7)*24 + 8 /* &.minor */))), (*Token)(unsafe.Pointer(yymsp+libc.UintptrFromInt32(-8)*24+8 /* &.minor */)).Fz, *(*uintptr)(unsafe.Pointer(yymsp + 8 /* &.minor */))) } - *(*uintptr)(unsafe.Pointer(yymsp + libc.UintptrFromInt32(-8)*24 + 8 /* &.minor */)) = *(*uintptr)(unsafe.Pointer(bp + 96 /* &yylhsminor */)) + *(*uintptr)(unsafe.Pointer(yymsp + libc.UintptrFromInt32(-8)*24 + 8 /* &.minor */)) = *(*uintptr)(unsafe.Pointer(bp + 80 /* &yylhsminor */)) break case uint32(269): /* trigger_cmd ::= scanpt insert_cmd INTO trnm idlist_opt select upsert scanpt */ { - *(*uintptr)(unsafe.Pointer(bp + 96 /* &yylhsminor */)) = Xsqlite3TriggerInsertStep(tls, pParse, (yymsp + libc.UintptrFromInt32(-4)*24 + 8 /* &.minor */ /* &.yy0 */), *(*uintptr)(unsafe.Pointer(yymsp + libc.UintptrFromInt32(-3)*24 + 8 /* &.minor */)), *(*uintptr)(unsafe.Pointer(yymsp + libc.UintptrFromInt32(-2)*24 + 8 /* &.minor */)), uint8(*(*int32)(unsafe.Pointer(yymsp + libc.UintptrFromInt32(-6)*24 + 8 /* &.minor */))), *(*uintptr)(unsafe.Pointer(yymsp + libc.UintptrFromInt32(-1)*24 + 8 /* &.minor */)), *(*uintptr)(unsafe.Pointer(yymsp + libc.UintptrFromInt32(-7)*24 + 8 /* &.minor */)), *(*uintptr)(unsafe.Pointer(yymsp + 8 /* &.minor */))) //yylhsminor.yy157-overwrites-yymsp[-6].minor.yy376 + *(*uintptr)(unsafe.Pointer(bp + 80 /* &yylhsminor */)) = Xsqlite3TriggerInsertStep(tls, pParse, (yymsp + libc.UintptrFromInt32(-4)*24 + 8 /* &.minor */ /* &.yy0 */), *(*uintptr)(unsafe.Pointer(yymsp + libc.UintptrFromInt32(-3)*24 + 8 /* &.minor */)), *(*uintptr)(unsafe.Pointer(yymsp + libc.UintptrFromInt32(-2)*24 + 8 /* &.minor */)), uint8(*(*int32)(unsafe.Pointer(yymsp + libc.UintptrFromInt32(-6)*24 + 8 /* &.minor */))), *(*uintptr)(unsafe.Pointer(yymsp + libc.UintptrFromInt32(-1)*24 + 8 /* &.minor */)), *(*uintptr)(unsafe.Pointer(yymsp + libc.UintptrFromInt32(-7)*24 + 8 /* &.minor */)), *(*uintptr)(unsafe.Pointer(yymsp + 8 /* &.minor */))) //yylhsminor.yy157-overwrites-yymsp[-6].minor.yy376 } - *(*uintptr)(unsafe.Pointer(yymsp + libc.UintptrFromInt32(-7)*24 + 8 /* &.minor */)) = *(*uintptr)(unsafe.Pointer(bp + 96 /* &yylhsminor */)) + *(*uintptr)(unsafe.Pointer(yymsp + libc.UintptrFromInt32(-7)*24 + 8 /* &.minor */)) = *(*uintptr)(unsafe.Pointer(bp + 80 /* &yylhsminor */)) break case uint32(270): /* trigger_cmd ::= DELETE FROM trnm tridxby where_opt scanpt */ { - *(*uintptr)(unsafe.Pointer(bp + 96 /* &yylhsminor */)) = Xsqlite3TriggerDeleteStep(tls, pParse, (yymsp + libc.UintptrFromInt32(-3)*24 + 8 /* &.minor */ /* &.yy0 */), *(*uintptr)(unsafe.Pointer(yymsp + libc.UintptrFromInt32(-1)*24 + 8 /* &.minor */)), (*Token)(unsafe.Pointer(yymsp+libc.UintptrFromInt32(-5)*24+8 /* &.minor */)).Fz, *(*uintptr)(unsafe.Pointer(yymsp + 8 /* &.minor */))) + *(*uintptr)(unsafe.Pointer(bp + 80 /* &yylhsminor */)) = Xsqlite3TriggerDeleteStep(tls, pParse, (yymsp + libc.UintptrFromInt32(-3)*24 + 8 /* &.minor */ /* &.yy0 */), *(*uintptr)(unsafe.Pointer(yymsp + libc.UintptrFromInt32(-1)*24 + 8 /* &.minor */)), (*Token)(unsafe.Pointer(yymsp+libc.UintptrFromInt32(-5)*24+8 /* &.minor */)).Fz, *(*uintptr)(unsafe.Pointer(yymsp + 8 /* &.minor */))) } - *(*uintptr)(unsafe.Pointer(yymsp + libc.UintptrFromInt32(-5)*24 + 8 /* &.minor */)) = *(*uintptr)(unsafe.Pointer(bp + 96 /* &yylhsminor */)) + *(*uintptr)(unsafe.Pointer(yymsp + libc.UintptrFromInt32(-5)*24 + 8 /* &.minor */)) = *(*uintptr)(unsafe.Pointer(bp + 80 /* &yylhsminor */)) break case uint32(271): /* trigger_cmd ::= scanpt select scanpt */ { - *(*uintptr)(unsafe.Pointer(bp + 96 /* &yylhsminor */)) = Xsqlite3TriggerSelectStep(tls, (*Parse)(unsafe.Pointer(pParse)).Fdb, *(*uintptr)(unsafe.Pointer(yymsp + libc.UintptrFromInt32(-1)*24 + 8 /* &.minor */)), *(*uintptr)(unsafe.Pointer(yymsp + libc.UintptrFromInt32(-2)*24 + 8 /* &.minor */)), *(*uintptr)(unsafe.Pointer(yymsp + 8 /* &.minor */))) /*yylhsminor.yy157-overwrites-yymsp[-1].minor.yy81*/ + *(*uintptr)(unsafe.Pointer(bp + 80 /* &yylhsminor */)) = Xsqlite3TriggerSelectStep(tls, (*Parse)(unsafe.Pointer(pParse)).Fdb, *(*uintptr)(unsafe.Pointer(yymsp + libc.UintptrFromInt32(-1)*24 + 8 /* &.minor */)), *(*uintptr)(unsafe.Pointer(yymsp + libc.UintptrFromInt32(-2)*24 + 8 /* &.minor */)), *(*uintptr)(unsafe.Pointer(yymsp + 8 /* &.minor */))) /*yylhsminor.yy157-overwrites-yymsp[-1].minor.yy81*/ } - *(*uintptr)(unsafe.Pointer(yymsp + libc.UintptrFromInt32(-2)*24 + 8 /* &.minor */)) = *(*uintptr)(unsafe.Pointer(bp + 96 /* &yylhsminor */)) + *(*uintptr)(unsafe.Pointer(yymsp + libc.UintptrFromInt32(-2)*24 + 8 /* &.minor */)) = *(*uintptr)(unsafe.Pointer(bp + 80 /* &yylhsminor */)) break case uint32(272): /* expr ::= RAISE LP IGNORE RP */ { @@ -189402,27 +189402,27 @@ func yy_reduce(tls *libc.TLS, yypParser uintptr, yyruleno uint32, yyLookahead in break case uint32(306): /* windowdefn_list ::= windowdefn */ { - *(*uintptr)(unsafe.Pointer(bp + 96 /* &yylhsminor */)) = *(*uintptr)(unsafe.Pointer(yymsp + 8 /* &.minor */)) + *(*uintptr)(unsafe.Pointer(bp + 80 /* &yylhsminor */)) = *(*uintptr)(unsafe.Pointer(yymsp + 8 /* &.minor */)) } - *(*uintptr)(unsafe.Pointer(yymsp + 8 /* &.minor */)) = *(*uintptr)(unsafe.Pointer(bp + 96 /* &yylhsminor */)) + *(*uintptr)(unsafe.Pointer(yymsp + 8 /* &.minor */)) = *(*uintptr)(unsafe.Pointer(bp + 80 /* &yylhsminor */)) break case uint32(307): /* windowdefn_list ::= windowdefn_list COMMA windowdefn */ { Xsqlite3WindowChain(tls, pParse, *(*uintptr)(unsafe.Pointer(yymsp + 8 /* &.minor */)), *(*uintptr)(unsafe.Pointer(yymsp + libc.UintptrFromInt32(-2)*24 + 8 /* &.minor */))) (*Window)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(yymsp + 8 /* &.minor */)))).FpNextWin = *(*uintptr)(unsafe.Pointer(yymsp + libc.UintptrFromInt32(-2)*24 + 8 /* &.minor */)) - *(*uintptr)(unsafe.Pointer(bp + 96 /* &yylhsminor */)) = *(*uintptr)(unsafe.Pointer(yymsp + 8 /* &.minor */)) + *(*uintptr)(unsafe.Pointer(bp + 80 /* &yylhsminor */)) = *(*uintptr)(unsafe.Pointer(yymsp + 8 /* &.minor */)) } - *(*uintptr)(unsafe.Pointer(yymsp + libc.UintptrFromInt32(-2)*24 + 8 /* &.minor */)) = *(*uintptr)(unsafe.Pointer(bp + 96 /* &yylhsminor */)) + *(*uintptr)(unsafe.Pointer(yymsp + libc.UintptrFromInt32(-2)*24 + 8 /* &.minor */)) = *(*uintptr)(unsafe.Pointer(bp + 80 /* &yylhsminor */)) break case uint32(308): /* windowdefn ::= nm AS LP window RP */ { if *(*uintptr)(unsafe.Pointer(yymsp + libc.UintptrFromInt32(-1)*24 + 8 /* &.minor */)) != 0 { (*Window)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(yymsp + libc.UintptrFromInt32(-1)*24 + 8 /* &.minor */)))).FzName = Xsqlite3DbStrNDup(tls, (*Parse)(unsafe.Pointer(pParse)).Fdb, (*Token)(unsafe.Pointer(yymsp+libc.UintptrFromInt32(-4)*24+8 /* &.minor */)).Fz, uint64((*Token)(unsafe.Pointer(yymsp+libc.UintptrFromInt32(-4)*24+8 /* &.minor */)).Fn)) } - *(*uintptr)(unsafe.Pointer(bp + 96 /* &yylhsminor */)) = *(*uintptr)(unsafe.Pointer(yymsp + libc.UintptrFromInt32(-1)*24 + 8 /* &.minor */)) + *(*uintptr)(unsafe.Pointer(bp + 80 /* &yylhsminor */)) = *(*uintptr)(unsafe.Pointer(yymsp + libc.UintptrFromInt32(-1)*24 + 8 /* &.minor */)) } - *(*uintptr)(unsafe.Pointer(yymsp + libc.UintptrFromInt32(-4)*24 + 8 /* &.minor */)) = *(*uintptr)(unsafe.Pointer(bp + 96 /* &yylhsminor */)) + *(*uintptr)(unsafe.Pointer(yymsp + libc.UintptrFromInt32(-4)*24 + 8 /* &.minor */)) = *(*uintptr)(unsafe.Pointer(bp + 80 /* &yylhsminor */)) break case uint32(309): /* window ::= PARTITION BY nexprlist orderby_opt frame_opt */ { @@ -189431,9 +189431,9 @@ func yy_reduce(tls *libc.TLS, yypParser uintptr, yyruleno uint32, yyLookahead in break case uint32(310): /* window ::= nm PARTITION BY nexprlist orderby_opt frame_opt */ { - *(*uintptr)(unsafe.Pointer(bp + 96 /* &yylhsminor */)) = Xsqlite3WindowAssemble(tls, pParse, *(*uintptr)(unsafe.Pointer(yymsp + 8 /* &.minor */)), *(*uintptr)(unsafe.Pointer(yymsp + libc.UintptrFromInt32(-2)*24 + 8 /* &.minor */)), *(*uintptr)(unsafe.Pointer(yymsp + libc.UintptrFromInt32(-1)*24 + 8 /* &.minor */)), (yymsp + libc.UintptrFromInt32(-5)*24 + 8 /* &.minor */ /* &.yy0 */)) + *(*uintptr)(unsafe.Pointer(bp + 80 /* &yylhsminor */)) = Xsqlite3WindowAssemble(tls, pParse, *(*uintptr)(unsafe.Pointer(yymsp + 8 /* &.minor */)), *(*uintptr)(unsafe.Pointer(yymsp + libc.UintptrFromInt32(-2)*24 + 8 /* &.minor */)), *(*uintptr)(unsafe.Pointer(yymsp + libc.UintptrFromInt32(-1)*24 + 8 /* &.minor */)), (yymsp + libc.UintptrFromInt32(-5)*24 + 8 /* &.minor */ /* &.yy0 */)) } - *(*uintptr)(unsafe.Pointer(yymsp + libc.UintptrFromInt32(-5)*24 + 8 /* &.minor */)) = *(*uintptr)(unsafe.Pointer(bp + 96 /* &yylhsminor */)) + *(*uintptr)(unsafe.Pointer(yymsp + libc.UintptrFromInt32(-5)*24 + 8 /* &.minor */)) = *(*uintptr)(unsafe.Pointer(bp + 80 /* &yylhsminor */)) break case uint32(311): /* window ::= ORDER BY sortlist frame_opt */ { @@ -189442,23 +189442,23 @@ func yy_reduce(tls *libc.TLS, yypParser uintptr, yyruleno uint32, yyLookahead in break case uint32(312): /* window ::= nm ORDER BY sortlist frame_opt */ { - *(*uintptr)(unsafe.Pointer(bp + 96 /* &yylhsminor */)) = Xsqlite3WindowAssemble(tls, pParse, *(*uintptr)(unsafe.Pointer(yymsp + 8 /* &.minor */)), uintptr(0), *(*uintptr)(unsafe.Pointer(yymsp + libc.UintptrFromInt32(-1)*24 + 8 /* &.minor */)), (yymsp + libc.UintptrFromInt32(-4)*24 + 8 /* &.minor */ /* &.yy0 */)) + *(*uintptr)(unsafe.Pointer(bp + 80 /* &yylhsminor */)) = Xsqlite3WindowAssemble(tls, pParse, *(*uintptr)(unsafe.Pointer(yymsp + 8 /* &.minor */)), uintptr(0), *(*uintptr)(unsafe.Pointer(yymsp + libc.UintptrFromInt32(-1)*24 + 8 /* &.minor */)), (yymsp + libc.UintptrFromInt32(-4)*24 + 8 /* &.minor */ /* &.yy0 */)) } - *(*uintptr)(unsafe.Pointer(yymsp + libc.UintptrFromInt32(-4)*24 + 8 /* &.minor */)) = *(*uintptr)(unsafe.Pointer(bp + 96 /* &yylhsminor */)) + *(*uintptr)(unsafe.Pointer(yymsp + libc.UintptrFromInt32(-4)*24 + 8 /* &.minor */)) = *(*uintptr)(unsafe.Pointer(bp + 80 /* &yylhsminor */)) break case uint32(313): fallthrough // window ::= frame_opt case uint32(332): /* filter_over ::= over_clause */ { - *(*uintptr)(unsafe.Pointer(bp + 96 /* &yylhsminor */)) = *(*uintptr)(unsafe.Pointer(yymsp + 8 /* &.minor */)) + *(*uintptr)(unsafe.Pointer(bp + 80 /* &yylhsminor */)) = *(*uintptr)(unsafe.Pointer(yymsp + 8 /* &.minor */)) } - *(*uintptr)(unsafe.Pointer(yymsp + 8 /* &.minor */)) = *(*uintptr)(unsafe.Pointer(bp + 96 /* &yylhsminor */)) + *(*uintptr)(unsafe.Pointer(yymsp + 8 /* &.minor */)) = *(*uintptr)(unsafe.Pointer(bp + 80 /* &yylhsminor */)) break case uint32(314): /* window ::= nm frame_opt */ { - *(*uintptr)(unsafe.Pointer(bp + 96 /* &yylhsminor */)) = Xsqlite3WindowAssemble(tls, pParse, *(*uintptr)(unsafe.Pointer(yymsp + 8 /* &.minor */)), uintptr(0), uintptr(0), (yymsp + libc.UintptrFromInt32(-1)*24 + 8 /* &.minor */ /* &.yy0 */)) + *(*uintptr)(unsafe.Pointer(bp + 80 /* &yylhsminor */)) = Xsqlite3WindowAssemble(tls, pParse, *(*uintptr)(unsafe.Pointer(yymsp + 8 /* &.minor */)), uintptr(0), uintptr(0), (yymsp + libc.UintptrFromInt32(-1)*24 + 8 /* &.minor */ /* &.yy0 */)) } - *(*uintptr)(unsafe.Pointer(yymsp + libc.UintptrFromInt32(-1)*24 + 8 /* &.minor */)) = *(*uintptr)(unsafe.Pointer(bp + 96 /* &yylhsminor */)) + *(*uintptr)(unsafe.Pointer(yymsp + libc.UintptrFromInt32(-1)*24 + 8 /* &.minor */)) = *(*uintptr)(unsafe.Pointer(bp + 80 /* &yylhsminor */)) break case uint32(315): /* frame_opt ::= */ { @@ -189467,23 +189467,23 @@ func yy_reduce(tls *libc.TLS, yypParser uintptr, yyruleno uint32, yyLookahead in break case uint32(316): /* frame_opt ::= range_or_rows frame_bound_s frame_exclude_opt */ { - *(*uintptr)(unsafe.Pointer(bp + 96 /* &yylhsminor */)) = Xsqlite3WindowAlloc(tls, pParse, *(*int32)(unsafe.Pointer(yymsp + libc.UintptrFromInt32(-2)*24 + 8 /* &.minor */)), (*FrameBound)(unsafe.Pointer(yymsp+libc.UintptrFromInt32(-1)*24+8 /* &.minor */)).FeType, (*FrameBound)(unsafe.Pointer(yymsp+libc.UintptrFromInt32(-1)*24+8 /* &.minor */)).FpExpr, TK_CURRENT, uintptr(0), *(*U8)(unsafe.Pointer(yymsp + 8 /* &.minor */))) + *(*uintptr)(unsafe.Pointer(bp + 80 /* &yylhsminor */)) = Xsqlite3WindowAlloc(tls, pParse, *(*int32)(unsafe.Pointer(yymsp + libc.UintptrFromInt32(-2)*24 + 8 /* &.minor */)), (*FrameBound)(unsafe.Pointer(yymsp+libc.UintptrFromInt32(-1)*24+8 /* &.minor */)).FeType, (*FrameBound)(unsafe.Pointer(yymsp+libc.UintptrFromInt32(-1)*24+8 /* &.minor */)).FpExpr, TK_CURRENT, uintptr(0), *(*U8)(unsafe.Pointer(yymsp + 8 /* &.minor */))) } - *(*uintptr)(unsafe.Pointer(yymsp + libc.UintptrFromInt32(-2)*24 + 8 /* &.minor */)) = *(*uintptr)(unsafe.Pointer(bp + 96 /* &yylhsminor */)) + *(*uintptr)(unsafe.Pointer(yymsp + libc.UintptrFromInt32(-2)*24 + 8 /* &.minor */)) = *(*uintptr)(unsafe.Pointer(bp + 80 /* &yylhsminor */)) break case uint32(317): /* frame_opt ::= range_or_rows BETWEEN frame_bound_s AND frame_bound_e frame_exclude_opt */ { - *(*uintptr)(unsafe.Pointer(bp + 96 /* &yylhsminor */)) = Xsqlite3WindowAlloc(tls, pParse, *(*int32)(unsafe.Pointer(yymsp + libc.UintptrFromInt32(-5)*24 + 8 /* &.minor */)), (*FrameBound)(unsafe.Pointer(yymsp+libc.UintptrFromInt32(-3)*24+8 /* &.minor */)).FeType, (*FrameBound)(unsafe.Pointer(yymsp+libc.UintptrFromInt32(-3)*24+8 /* &.minor */)).FpExpr, (*FrameBound)(unsafe.Pointer(yymsp+libc.UintptrFromInt32(-1)*24+8 /* &.minor */)).FeType, (*FrameBound)(unsafe.Pointer(yymsp+libc.UintptrFromInt32(-1)*24+8 /* &.minor */)).FpExpr, *(*U8)(unsafe.Pointer(yymsp + 8 /* &.minor */))) + *(*uintptr)(unsafe.Pointer(bp + 80 /* &yylhsminor */)) = Xsqlite3WindowAlloc(tls, pParse, *(*int32)(unsafe.Pointer(yymsp + libc.UintptrFromInt32(-5)*24 + 8 /* &.minor */)), (*FrameBound)(unsafe.Pointer(yymsp+libc.UintptrFromInt32(-3)*24+8 /* &.minor */)).FeType, (*FrameBound)(unsafe.Pointer(yymsp+libc.UintptrFromInt32(-3)*24+8 /* &.minor */)).FpExpr, (*FrameBound)(unsafe.Pointer(yymsp+libc.UintptrFromInt32(-1)*24+8 /* &.minor */)).FeType, (*FrameBound)(unsafe.Pointer(yymsp+libc.UintptrFromInt32(-1)*24+8 /* &.minor */)).FpExpr, *(*U8)(unsafe.Pointer(yymsp + 8 /* &.minor */))) } - *(*uintptr)(unsafe.Pointer(yymsp + libc.UintptrFromInt32(-5)*24 + 8 /* &.minor */)) = *(*uintptr)(unsafe.Pointer(bp + 96 /* &yylhsminor */)) + *(*uintptr)(unsafe.Pointer(yymsp + libc.UintptrFromInt32(-5)*24 + 8 /* &.minor */)) = *(*uintptr)(unsafe.Pointer(bp + 80 /* &yylhsminor */)) break case uint32(319): fallthrough // frame_bound_s ::= frame_bound case uint32(321): /* frame_bound_e ::= frame_bound */ { - *(*FrameBound)(unsafe.Pointer(bp + 96 /* &yylhsminor */)) = *(*FrameBound)(unsafe.Pointer(yymsp + 8 /* &.minor */)) + *(*FrameBound)(unsafe.Pointer(bp + 80 /* &yylhsminor */)) = *(*FrameBound)(unsafe.Pointer(yymsp + 8 /* &.minor */)) } - *(*FrameBound)(unsafe.Pointer(yymsp + 8 /* &.minor */)) = *(*FrameBound)(unsafe.Pointer(bp + 96 /* &yylhsminor */)) + *(*FrameBound)(unsafe.Pointer(yymsp + 8 /* &.minor */)) = *(*FrameBound)(unsafe.Pointer(bp + 80 /* &yylhsminor */)) break case uint32(320): fallthrough // frame_bound_s ::= UNBOUNDED PRECEDING @@ -189491,17 +189491,17 @@ func yy_reduce(tls *libc.TLS, yypParser uintptr, yyruleno uint32, yyLookahead in fallthrough case uint32(324): /* frame_bound ::= CURRENT ROW */ { - (*FrameBound)(unsafe.Pointer(bp + 96 /* &yylhsminor */)).FeType = int32((*YyStackEntry)(unsafe.Pointer(yymsp + libc.UintptrFromInt32(-1)*24)).Fmajor) - (*FrameBound)(unsafe.Pointer(bp + 96 /* &yylhsminor */)).FpExpr = uintptr(0) + (*FrameBound)(unsafe.Pointer(bp + 80 /* &yylhsminor */)).FeType = int32((*YyStackEntry)(unsafe.Pointer(yymsp + libc.UintptrFromInt32(-1)*24)).Fmajor) + (*FrameBound)(unsafe.Pointer(bp + 80 /* &yylhsminor */)).FpExpr = uintptr(0) } - *(*FrameBound)(unsafe.Pointer(yymsp + libc.UintptrFromInt32(-1)*24 + 8 /* &.minor */)) = *(*FrameBound)(unsafe.Pointer(bp + 96 /* &yylhsminor */)) + *(*FrameBound)(unsafe.Pointer(yymsp + libc.UintptrFromInt32(-1)*24 + 8 /* &.minor */)) = *(*FrameBound)(unsafe.Pointer(bp + 80 /* &yylhsminor */)) break case uint32(323): /* frame_bound ::= expr PRECEDING|FOLLOWING */ { - (*FrameBound)(unsafe.Pointer(bp + 96 /* &yylhsminor */)).FeType = int32((*YyStackEntry)(unsafe.Pointer(yymsp)).Fmajor) - (*FrameBound)(unsafe.Pointer(bp + 96 /* &yylhsminor */)).FpExpr = *(*uintptr)(unsafe.Pointer(yymsp + libc.UintptrFromInt32(-1)*24 + 8 /* &.minor */)) + (*FrameBound)(unsafe.Pointer(bp + 80 /* &yylhsminor */)).FeType = int32((*YyStackEntry)(unsafe.Pointer(yymsp)).Fmajor) + (*FrameBound)(unsafe.Pointer(bp + 80 /* &yylhsminor */)).FpExpr = *(*uintptr)(unsafe.Pointer(yymsp + libc.UintptrFromInt32(-1)*24 + 8 /* &.minor */)) } - *(*FrameBound)(unsafe.Pointer(yymsp + libc.UintptrFromInt32(-1)*24 + 8 /* &.minor */)) = *(*FrameBound)(unsafe.Pointer(bp + 96 /* &yylhsminor */)) + *(*FrameBound)(unsafe.Pointer(yymsp + libc.UintptrFromInt32(-1)*24 + 8 /* &.minor */)) = *(*FrameBound)(unsafe.Pointer(bp + 80 /* &yylhsminor */)) break case uint32(325): /* frame_exclude_opt ::= */ { @@ -189537,21 +189537,21 @@ func yy_reduce(tls *libc.TLS, yypParser uintptr, yyruleno uint32, yyLookahead in } else { Xsqlite3ExprDelete(tls, (*Parse)(unsafe.Pointer(pParse)).Fdb, *(*uintptr)(unsafe.Pointer(yymsp + libc.UintptrFromInt32(-1)*24 + 8 /* &.minor */))) } - *(*uintptr)(unsafe.Pointer(bp + 96 /* &yylhsminor */)) = *(*uintptr)(unsafe.Pointer(yymsp + 8 /* &.minor */)) + *(*uintptr)(unsafe.Pointer(bp + 80 /* &yylhsminor */)) = *(*uintptr)(unsafe.Pointer(yymsp + 8 /* &.minor */)) } - *(*uintptr)(unsafe.Pointer(yymsp + libc.UintptrFromInt32(-1)*24 + 8 /* &.minor */)) = *(*uintptr)(unsafe.Pointer(bp + 96 /* &yylhsminor */)) + *(*uintptr)(unsafe.Pointer(yymsp + libc.UintptrFromInt32(-1)*24 + 8 /* &.minor */)) = *(*uintptr)(unsafe.Pointer(bp + 80 /* &yylhsminor */)) break case uint32(333): /* filter_over ::= filter_clause */ { - *(*uintptr)(unsafe.Pointer(bp + 96 /* &yylhsminor */)) = Xsqlite3DbMallocZero(tls, (*Parse)(unsafe.Pointer(pParse)).Fdb, uint64(unsafe.Sizeof(Window{}))) - if *(*uintptr)(unsafe.Pointer(bp + 96 /* &yylhsminor */)) != 0 { - (*Window)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp + 96 /* &yylhsminor */)))).FeFrmType = U8(TK_FILTER) - (*Window)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp + 96 /* &yylhsminor */)))).FpFilter = *(*uintptr)(unsafe.Pointer(yymsp + 8 /* &.minor */)) + *(*uintptr)(unsafe.Pointer(bp + 80 /* &yylhsminor */)) = Xsqlite3DbMallocZero(tls, (*Parse)(unsafe.Pointer(pParse)).Fdb, uint64(unsafe.Sizeof(Window{}))) + if *(*uintptr)(unsafe.Pointer(bp + 80 /* &yylhsminor */)) != 0 { + (*Window)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp + 80 /* &yylhsminor */)))).FeFrmType = U8(TK_FILTER) + (*Window)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp + 80 /* &yylhsminor */)))).FpFilter = *(*uintptr)(unsafe.Pointer(yymsp + 8 /* &.minor */)) } else { Xsqlite3ExprDelete(tls, (*Parse)(unsafe.Pointer(pParse)).Fdb, *(*uintptr)(unsafe.Pointer(yymsp + 8 /* &.minor */))) } } - *(*uintptr)(unsafe.Pointer(yymsp + 8 /* &.minor */)) = *(*uintptr)(unsafe.Pointer(bp + 96 /* &yylhsminor */)) + *(*uintptr)(unsafe.Pointer(yymsp + 8 /* &.minor */)) = *(*uintptr)(unsafe.Pointer(bp + 80 /* &yylhsminor */)) break case uint32(334): /* over_clause ::= OVER LP window RP */ { @@ -189659,16 +189659,16 @@ func yy_reduce(tls *libc.TLS, yypParser uintptr, yyruleno uint32, yyLookahead in // The following code executes when a syntax error first occurs. func yy_syntax_error(tls *libc.TLS, yypParser uintptr, yymajor int32, yyminor Token) { /* sqlite3.c:163044:13: */ - bp := tls.Alloc(32) - defer tls.Free(32) - *(*Token)(unsafe.Pointer(bp + 16)) = yyminor + bp := tls.Alloc(24) + defer tls.Free(24) + *(*Token)(unsafe.Pointer(bp + 8)) = yyminor var pParse uintptr = (*YyParser)(unsafe.Pointer(yypParser)).FpParse //*********** Begin %syntax_error code *************************************** _ = yymajor // Silence some compiler warnings - if *(*int8)(unsafe.Pointer((*Token)(unsafe.Pointer(bp + 16 /* &yyminor */)).Fz)) != 0 { - Xsqlite3ErrorMsg(tls, pParse, ts+30262 /* "near \"%T\": synta..." */, libc.VaList(bp, bp+16 /* &yyminor */)) + if *(*int8)(unsafe.Pointer((*Token)(unsafe.Pointer(bp + 8 /* &yyminor */)).Fz)) != 0 { + Xsqlite3ErrorMsg(tls, pParse, ts+30262 /* "near \"%T\": synta..." */, libc.VaList(bp, bp+8 /* &yyminor */)) } else { Xsqlite3ErrorMsg(tls, pParse, ts+30550 /* "incomplete input" */, 0) } @@ -190813,18 +190813,18 @@ func Xsqlite3GetToken(tls *libc.TLS, z uintptr, tokenType uintptr) int32 { /* sq // memory obtained from sqlite3_malloc() and to make *pzErrMsg point to that // error message. func Xsqlite3RunParser(tls *libc.TLS, pParse uintptr, zSql uintptr, pzErrMsg uintptr) int32 { /* sqlite3.c:164392:20: */ - bp := tls.Alloc(2492) - defer tls.Free(2492) + bp := tls.Alloc(2468) + defer tls.Free(2468) var nErr int32 = 0 // Number of errors encountered var pEngine uintptr // The LEMON-generated LALR(1) parser var n int32 = 0 // Length of the next token token - // var tokenType int32 at bp+2488, 4 + // var tokenType int32 at bp+2464, 4 // type of the next token var lastTokenParsed int32 = -1 // type of the previous token var db uintptr = (*Parse)(unsafe.Pointer(pParse)).Fdb // The database connection var mxSqlLen int32 // Max length of an SQL string - // var sEngine YyParser at bp+64, 2424 + // var sEngine YyParser at bp+40, 2424 // Space to hold the Lemon-generated Parser object mxSqlLen = *(*int32)(unsafe.Pointer((db + 128 /* &.aLimit */) + 1*4)) @@ -190834,25 +190834,25 @@ func Xsqlite3RunParser(tls *libc.TLS, pParse uintptr, zSql uintptr, pzErrMsg uin (*Parse)(unsafe.Pointer(pParse)).Frc = SQLITE_OK (*Parse)(unsafe.Pointer(pParse)).FzTail = zSql - pEngine = bp + 64 /* &sEngine */ + pEngine = bp + 40 /* &sEngine */ Xsqlite3ParserInit(tls, pEngine, pParse) (*Parse)(unsafe.Pointer(pParse)).FpParentParse = (*Sqlite3)(unsafe.Pointer(db)).FpParse (*Sqlite3)(unsafe.Pointer(db)).FpParse = pParse for 1 != 0 { - n = Xsqlite3GetToken(tls, zSql, bp+2488 /* &tokenType */) + n = Xsqlite3GetToken(tls, zSql, bp+2464 /* &tokenType */) mxSqlLen = mxSqlLen - (n) if mxSqlLen < 0 { (*Parse)(unsafe.Pointer(pParse)).Frc = SQLITE_TOOBIG break } - if *(*int32)(unsafe.Pointer(bp + 2488 /* tokenType */)) >= TK_WINDOW { + if *(*int32)(unsafe.Pointer(bp + 2464 /* tokenType */)) >= TK_WINDOW { if libc.AtomicLoadNInt32((db+400 /* &.u1 */ /* &.isInterrupted */), 0) != 0 { (*Parse)(unsafe.Pointer(pParse)).Frc = SQLITE_INTERRUPT break } - if *(*int32)(unsafe.Pointer(bp + 2488 /* tokenType */)) == TK_SPACE { + if *(*int32)(unsafe.Pointer(bp + 2464 /* tokenType */)) == TK_SPACE { zSql += uintptr(n) continue } @@ -190860,22 +190860,22 @@ func Xsqlite3RunParser(tls *libc.TLS, pParse uintptr, zSql uintptr, pzErrMsg uin // Upon reaching the end of input, call the parser two more times // with tokens TK_SEMI and 0, in that order. if lastTokenParsed == TK_SEMI { - *(*int32)(unsafe.Pointer(bp + 2488 /* tokenType */)) = 0 + *(*int32)(unsafe.Pointer(bp + 2464 /* tokenType */)) = 0 } else if lastTokenParsed == 0 { break } else { - *(*int32)(unsafe.Pointer(bp + 2488 /* tokenType */)) = TK_SEMI + *(*int32)(unsafe.Pointer(bp + 2464 /* tokenType */)) = TK_SEMI } n = 0 - } else if *(*int32)(unsafe.Pointer(bp + 2488 /* tokenType */)) == TK_WINDOW { + } else if *(*int32)(unsafe.Pointer(bp + 2464 /* tokenType */)) == TK_WINDOW { - *(*int32)(unsafe.Pointer(bp + 2488 /* tokenType */)) = analyzeWindowKeyword(tls, (zSql + 6)) - } else if *(*int32)(unsafe.Pointer(bp + 2488 /* tokenType */)) == TK_OVER { + *(*int32)(unsafe.Pointer(bp + 2464 /* tokenType */)) = analyzeWindowKeyword(tls, (zSql + 6)) + } else if *(*int32)(unsafe.Pointer(bp + 2464 /* tokenType */)) == TK_OVER { - *(*int32)(unsafe.Pointer(bp + 2488 /* tokenType */)) = analyzeOverKeyword(tls, (zSql + 4), lastTokenParsed) - } else if *(*int32)(unsafe.Pointer(bp + 2488 /* tokenType */)) == TK_FILTER { + *(*int32)(unsafe.Pointer(bp + 2464 /* tokenType */)) = analyzeOverKeyword(tls, (zSql + 4), lastTokenParsed) + } else if *(*int32)(unsafe.Pointer(bp + 2464 /* tokenType */)) == TK_FILTER { - *(*int32)(unsafe.Pointer(bp + 2488 /* tokenType */)) = analyzeFilterKeyword(tls, (zSql + 6), lastTokenParsed) + *(*int32)(unsafe.Pointer(bp + 2464 /* tokenType */)) = analyzeFilterKeyword(tls, (zSql + 6), lastTokenParsed) } else { Xsqlite3ErrorMsg(tls, pParse, ts+30567 /* "unrecognized tok..." */, libc.VaList(bp, n, zSql)) break @@ -190883,8 +190883,8 @@ func Xsqlite3RunParser(tls *libc.TLS, pParse uintptr, zSql uintptr, pzErrMsg uin } (*Parse)(unsafe.Pointer(pParse)).FsLastToken.Fz = zSql (*Parse)(unsafe.Pointer(pParse)).FsLastToken.Fn = uint32(n) - Xsqlite3Parser(tls, pEngine, *(*int32)(unsafe.Pointer(bp + 2488 /* tokenType */)), (*Parse)(unsafe.Pointer(pParse)).FsLastToken) - lastTokenParsed = *(*int32)(unsafe.Pointer(bp + 2488 /* tokenType */)) + Xsqlite3Parser(tls, pEngine, *(*int32)(unsafe.Pointer(bp + 2464 /* tokenType */)), (*Parse)(unsafe.Pointer(pParse)).FsLastToken) + lastTokenParsed = *(*int32)(unsafe.Pointer(bp + 2464 /* tokenType */)) zSql += uintptr(n) if (*Parse)(unsafe.Pointer(pParse)).Frc != SQLITE_OK { @@ -190897,13 +190897,13 @@ func Xsqlite3RunParser(tls *libc.TLS, pParse uintptr, zSql uintptr, pzErrMsg uin (*Parse)(unsafe.Pointer(pParse)).Frc = SQLITE_NOMEM } if (((*Parse)(unsafe.Pointer(pParse)).Frc != SQLITE_OK) && ((*Parse)(unsafe.Pointer(pParse)).Frc != SQLITE_DONE)) && ((*Parse)(unsafe.Pointer(pParse)).FzErrMsg == uintptr(0)) { - (*Parse)(unsafe.Pointer(pParse)).FzErrMsg = Xsqlite3MPrintf(tls, db, ts+951 /* "%s" */, libc.VaList(bp+24, Xsqlite3ErrStr(tls, (*Parse)(unsafe.Pointer(pParse)).Frc))) + (*Parse)(unsafe.Pointer(pParse)).FzErrMsg = Xsqlite3MPrintf(tls, db, ts+951 /* "%s" */, libc.VaList(bp+16, Xsqlite3ErrStr(tls, (*Parse)(unsafe.Pointer(pParse)).Frc))) } if (*Parse)(unsafe.Pointer(pParse)).FzErrMsg != 0 { *(*uintptr)(unsafe.Pointer(pzErrMsg)) = (*Parse)(unsafe.Pointer(pParse)).FzErrMsg Xsqlite3_log(tls, (*Parse)(unsafe.Pointer(pParse)).Frc, ts+30594, /* "%s in \"%s\"" */ - libc.VaList(bp+40, *(*uintptr)(unsafe.Pointer(pzErrMsg)), (*Parse)(unsafe.Pointer(pParse)).FzTail)) + libc.VaList(bp+24, *(*uintptr)(unsafe.Pointer(pzErrMsg)), (*Parse)(unsafe.Pointer(pParse)).FzTail)) (*Parse)(unsafe.Pointer(pParse)).FzErrMsg = uintptr(0) nErr++ } @@ -192398,8 +192398,8 @@ func Xsqlite3RollbackAll(tls *libc.TLS, db uintptr, tripCode int32) { /* sqlite3 // Return a static string containing the name corresponding to the error code // specified in the argument. func Xsqlite3ErrName(tls *libc.TLS, rc int32) uintptr { /* sqlite3.c:166544:27: */ - bp := tls.Alloc(16) - defer tls.Free(16) + bp := tls.Alloc(8) + defer tls.Free(8) var zName uintptr = uintptr(0) var i int32 @@ -193041,8 +193041,8 @@ func Xsqlite3_create_function16(tls *libc.TLS, db uintptr, zFunctionName uintptr // for name resolution but are actually overloaded by the xFindFunction // method of virtual tables. func sqlite3InvalidFunction(tls *libc.TLS, context uintptr, NotUsed int32, NotUsed2 uintptr) { /* sqlite3.c:167136:13: */ - bp := tls.Alloc(16) - defer tls.Free(16) + bp := tls.Alloc(8) + defer tls.Free(8) var zName uintptr = Xsqlite3_user_data(tls, context) var zErr uintptr @@ -193243,8 +193243,8 @@ func Xsqlite3_wal_hook(tls *libc.TLS, db uintptr, xCallback uintptr, pArg uintpt // Checkpoint database zDb. func Xsqlite3_wal_checkpoint_v2(tls *libc.TLS, db uintptr, zDb uintptr, eMode int32, pnLog uintptr, pnCkpt uintptr) int32 { /* sqlite3.c:167449:16: */ - bp := tls.Alloc(16) - defer tls.Free(16) + bp := tls.Alloc(8) + defer tls.Free(8) var rc int32 // Return code var iDb int32 // Schema to checkpoint @@ -193601,8 +193601,8 @@ func Xsqlite3_limit(tls *libc.TLS, db uintptr, limitId int32, newLimit int32) in // message. It is the responsibility of the caller to eventually release // this buffer by calling sqlite3_free(). func Xsqlite3ParseUri(tls *libc.TLS, zDefaultVfs uintptr, zUri uintptr, pFlags uintptr, ppVfs uintptr, pzFile uintptr, pzErrMsg uintptr) int32 { /* sqlite3.c:167922:20: */ - bp := tls.Alloc(88) - defer tls.Free(88) + bp := tls.Alloc(56) + defer tls.Free(56) var rc int32 var flags uint32 @@ -193866,7 +193866,7 @@ __36: if !(mode == 0) { goto __38 } - *(*uintptr)(unsafe.Pointer(pzErrMsg)) = Xsqlite3_mprintf(tls, ts+33231 /* "no such %s mode:..." */, libc.VaList(bp+24, zModeType, zVal)) + *(*uintptr)(unsafe.Pointer(pzErrMsg)) = Xsqlite3_mprintf(tls, ts+33231 /* "no such %s mode:..." */, libc.VaList(bp+16, zModeType, zVal)) rc = SQLITE_ERROR goto parse_uri_out __38: @@ -193875,7 +193875,7 @@ __38: goto __39 } *(*uintptr)(unsafe.Pointer(pzErrMsg)) = Xsqlite3_mprintf(tls, ts+33251, /* "%s mode not allo..." */ - libc.VaList(bp+48, zModeType, zVal)) + libc.VaList(bp+32, zModeType, zVal)) rc = SQLITE_PERM goto parse_uri_out __39: @@ -193917,7 +193917,7 @@ __2: if !(*(*uintptr)(unsafe.Pointer(ppVfs)) == uintptr(0)) { goto __42 } - *(*uintptr)(unsafe.Pointer(pzErrMsg)) = Xsqlite3_mprintf(tls, ts+33275 /* "no such vfs: %s" */, libc.VaList(bp+72, zVfs)) + *(*uintptr)(unsafe.Pointer(pzErrMsg)) = Xsqlite3_mprintf(tls, ts+33275 /* "no such vfs: %s" */, libc.VaList(bp+48, zVfs)) rc = SQLITE_ERROR __42: ; @@ -193972,20 +193972,20 @@ func uriParameter(tls *libc.TLS, zFilename uintptr, zParam uintptr) uintptr { /* // sqlite3_open() and sqlite3_open16(). The database filename "zFilename" // is UTF-8 encoded. func openDatabase(tls *libc.TLS, zFilename uintptr, ppDb uintptr, flags uint32, zVfs uintptr) int32 { /* sqlite3.c:168177:12: */ - bp := tls.Alloc(40) - defer tls.Free(40) - *(*uint32)(unsafe.Pointer(bp + 16)) = flags + bp := tls.Alloc(32) + defer tls.Free(32) + *(*uint32)(unsafe.Pointer(bp + 8)) = flags var db uintptr // Store allocated handle here var rc int32 // Return code var isThreadsafe int32 // True for threadsafe connections - // var zOpen uintptr at bp+24, 8 + // var zOpen uintptr at bp+16, 8 // Filename argument to pass to BtreeOpen() - // var zErrMsg uintptr at bp+32, 8 + // var zErrMsg uintptr at bp+24, 8 // Error message from sqlite3ParseUri() var i int32 - *(*uintptr)(unsafe.Pointer(bp + 24 /* zOpen */)) = uintptr(0) - *(*uintptr)(unsafe.Pointer(bp + 32 /* zErrMsg */)) = uintptr(0) // Loop counter + *(*uintptr)(unsafe.Pointer(bp + 16 /* zOpen */)) = uintptr(0) + *(*uintptr)(unsafe.Pointer(bp + 24 /* zErrMsg */)) = uintptr(0) // Loop counter *(*uintptr)(unsafe.Pointer(ppDb)) = uintptr(0) rc = Xsqlite3_initialize(tls) @@ -194002,13 +194002,13 @@ __1: isThreadsafe = 0 goto __3 __2: - if !((*(*uint32)(unsafe.Pointer(bp + 16 /* flags */)) & uint32(SQLITE_OPEN_NOMUTEX)) != 0) { + if !((*(*uint32)(unsafe.Pointer(bp + 8 /* flags */)) & uint32(SQLITE_OPEN_NOMUTEX)) != 0) { goto __4 } isThreadsafe = 0 goto __5 __4: - if !((*(*uint32)(unsafe.Pointer(bp + 16 /* flags */)) & uint32(SQLITE_OPEN_FULLMUTEX)) != 0) { + if !((*(*uint32)(unsafe.Pointer(bp + 8 /* flags */)) & uint32(SQLITE_OPEN_FULLMUTEX)) != 0) { goto __6 } isThreadsafe = 1 @@ -194022,16 +194022,16 @@ __5: __3: ; - if !((*(*uint32)(unsafe.Pointer(bp + 16 /* flags */)) & uint32(SQLITE_OPEN_PRIVATECACHE)) != 0) { + if !((*(*uint32)(unsafe.Pointer(bp + 8 /* flags */)) & uint32(SQLITE_OPEN_PRIVATECACHE)) != 0) { goto __8 } - *(*uint32)(unsafe.Pointer(bp + 16 /* flags */)) &= libc.Uint32FromInt32(libc.CplInt32(SQLITE_OPEN_SHAREDCACHE)) + *(*uint32)(unsafe.Pointer(bp + 8 /* flags */)) &= libc.Uint32FromInt32(libc.CplInt32(SQLITE_OPEN_SHAREDCACHE)) goto __9 __8: if !(Xsqlite3Config.FsharedCacheEnabled != 0) { goto __10 } - *(*uint32)(unsafe.Pointer(bp + 16 /* flags */)) |= uint32(SQLITE_OPEN_SHAREDCACHE) + *(*uint32)(unsafe.Pointer(bp + 8 /* flags */)) |= uint32(SQLITE_OPEN_SHAREDCACHE) __10: ; __9: @@ -194045,7 +194045,7 @@ __9: // SQLITE_OPEN_READWRITE, SQLITE_OPEN_CREATE, SQLITE_OPEN_SHAREDCACHE, // SQLITE_OPEN_PRIVATECACHE, and some reserved bits. Silently mask // off all other flags. - *(*uint32)(unsafe.Pointer(bp + 16 /* flags */)) &= libc.Uint32FromInt32(libc.CplInt32((((((((((((SQLITE_OPEN_DELETEONCLOSE | SQLITE_OPEN_EXCLUSIVE) | SQLITE_OPEN_MAIN_DB) | SQLITE_OPEN_TEMP_DB) | SQLITE_OPEN_TRANSIENT_DB) | SQLITE_OPEN_MAIN_JOURNAL) | SQLITE_OPEN_TEMP_JOURNAL) | SQLITE_OPEN_SUBJOURNAL) | SQLITE_OPEN_SUPER_JOURNAL) | SQLITE_OPEN_NOMUTEX) | SQLITE_OPEN_FULLMUTEX) | SQLITE_OPEN_WAL))) + *(*uint32)(unsafe.Pointer(bp + 8 /* flags */)) &= libc.Uint32FromInt32(libc.CplInt32((((((((((((SQLITE_OPEN_DELETEONCLOSE | SQLITE_OPEN_EXCLUSIVE) | SQLITE_OPEN_MAIN_DB) | SQLITE_OPEN_TEMP_DB) | SQLITE_OPEN_TRANSIENT_DB) | SQLITE_OPEN_MAIN_JOURNAL) | SQLITE_OPEN_TEMP_JOURNAL) | SQLITE_OPEN_SUBJOURNAL) | SQLITE_OPEN_SUPER_JOURNAL) | SQLITE_OPEN_NOMUTEX) | SQLITE_OPEN_FULLMUTEX) | SQLITE_OPEN_WAL))) // Allocate the sqlite data structure db = Xsqlite3MallocZero(tls, uint64(unsafe.Sizeof(Sqlite3{}))) @@ -194155,18 +194155,18 @@ __15: // 1: SQLITE_OPEN_READONLY // 2: SQLITE_OPEN_READWRITE // 6: SQLITE_OPEN_READWRITE | SQLITE_OPEN_CREATE - (*Sqlite3)(unsafe.Pointer(db)).FopenFlags = *(*uint32)(unsafe.Pointer(bp + 16 /* flags */)) + (*Sqlite3)(unsafe.Pointer(db)).FopenFlags = *(*uint32)(unsafe.Pointer(bp + 8 /* flags */)) // READONLY // READWRITE // READWRITE | CREATE - if !(((int32(1) << (*(*uint32)(unsafe.Pointer(bp + 16 /* flags */)) & uint32(7))) & 0x46) == 0) { + if !(((int32(1) << (*(*uint32)(unsafe.Pointer(bp + 8 /* flags */)) & uint32(7))) & 0x46) == 0) { goto __16 } rc = Xsqlite3MisuseError(tls, 168382) // IMP: R-18321-05872 goto __17 __16: - rc = Xsqlite3ParseUri(tls, zVfs, zFilename, bp+16 /* &flags */, (db /* &.pVfs */), bp+24 /* &zOpen */, bp+32 /* &zErrMsg */) + rc = Xsqlite3ParseUri(tls, zVfs, zFilename, bp+8 /* &flags */, (db /* &.pVfs */), bp+16 /* &zOpen */, bp+24 /* &zErrMsg */) __17: ; if !(rc != SQLITE_OK) { @@ -194179,19 +194179,19 @@ __17: __19: ; Xsqlite3ErrorWithMsg(tls, db, rc, func() uintptr { - if *(*uintptr)(unsafe.Pointer(bp + 32 /* zErrMsg */)) != 0 { + if *(*uintptr)(unsafe.Pointer(bp + 24 /* zErrMsg */)) != 0 { return ts + 951 /* "%s" */ } return uintptr(0) - }(), libc.VaList(bp, *(*uintptr)(unsafe.Pointer(bp + 32 /* zErrMsg */)))) - Xsqlite3_free(tls, *(*uintptr)(unsafe.Pointer(bp + 32 /* zErrMsg */))) + }(), libc.VaList(bp, *(*uintptr)(unsafe.Pointer(bp + 24 /* zErrMsg */)))) + Xsqlite3_free(tls, *(*uintptr)(unsafe.Pointer(bp + 24 /* zErrMsg */))) goto opendb_out __18: ; // Open the backend database driver - rc = Xsqlite3BtreeOpen(tls, (*Sqlite3)(unsafe.Pointer(db)).FpVfs, *(*uintptr)(unsafe.Pointer(bp + 24 /* zOpen */)), db, ((*Sqlite3)(unsafe.Pointer(db)).FaDb + 8 /* &.pBt */), 0, - (int32(*(*uint32)(unsafe.Pointer(bp + 16 /* flags */)) | uint32(SQLITE_OPEN_MAIN_DB)))) + rc = Xsqlite3BtreeOpen(tls, (*Sqlite3)(unsafe.Pointer(db)).FpVfs, *(*uintptr)(unsafe.Pointer(bp + 16 /* zOpen */)), db, ((*Sqlite3)(unsafe.Pointer(db)).FaDb + 8 /* &.pBt */), 0, + (int32(*(*uint32)(unsafe.Pointer(bp + 8 /* flags */)) | uint32(SQLITE_OPEN_MAIN_DB)))) if !(rc != SQLITE_OK) { goto __20 } @@ -194312,7 +194312,7 @@ __33: __32: ; *(*uintptr)(unsafe.Pointer(ppDb)) = db - Xsqlite3_free_filename(tls, *(*uintptr)(unsafe.Pointer(bp + 24 /* zOpen */))) + Xsqlite3_free_filename(tls, *(*uintptr)(unsafe.Pointer(bp + 16 /* zOpen */))) return (rc & 0xff) } @@ -194438,8 +194438,8 @@ func Xsqlite3_get_autocommit(tls *libc.TLS, db uintptr) int32 { /* sqlite3.c:168 // 2. Invoke sqlite3_log() to provide the source code location where // a low-level error is first detected. func Xsqlite3ReportError(tls *libc.TLS, iErr int32, lineno int32, zType uintptr) int32 { /* sqlite3.c:168706:20: */ - bp := tls.Alloc(32) - defer tls.Free(32) + bp := tls.Alloc(24) + defer tls.Free(24) Xsqlite3_log(tls, iErr, ts+33318, /* "%s at line %d of..." */ libc.VaList(bp, zType, lineno, (uintptr(20)+Xsqlite3_sourceid(tls)))) @@ -194472,11 +194472,11 @@ func Xsqlite3_thread_cleanup(tls *libc.TLS) { /* sqlite3.c:168750:17: */ // Return meta information about a specific column of a database table. // See comment in sqlite3.h (sqlite.h.in) for details. func Xsqlite3_table_column_metadata(tls *libc.TLS, db uintptr, zDbName uintptr, zTableName uintptr, zColumnName uintptr, pzDataType uintptr, pzCollSeq uintptr, pNotNull uintptr, pPrimaryKey uintptr, pAutoinc uintptr) int32 { /* sqlite3.c:168758:16: */ - bp := tls.Alloc(48) - defer tls.Free(48) + bp := tls.Alloc(32) + defer tls.Free(32) var rc int32 - // var zErrMsg uintptr at bp+40, 8 + // var zErrMsg uintptr at bp+24, 8 var pTab uintptr var pCol uintptr @@ -194486,7 +194486,7 @@ func Xsqlite3_table_column_metadata(tls *libc.TLS, db uintptr, zDbName uintptr, var notnull int32 var primarykey int32 var autoinc int32 - *(*uintptr)(unsafe.Pointer(bp + 40 /* zErrMsg */)) = uintptr(0) + *(*uintptr)(unsafe.Pointer(bp + 24 /* zErrMsg */)) = uintptr(0) pTab = uintptr(0) pCol = uintptr(0) iCol = 0 @@ -194499,7 +194499,7 @@ func Xsqlite3_table_column_metadata(tls *libc.TLS, db uintptr, zDbName uintptr, // Ensure the database schema has been loaded Xsqlite3_mutex_enter(tls, (*Sqlite3)(unsafe.Pointer(db)).Fmutex) Xsqlite3BtreeEnterAll(tls, db) - rc = Xsqlite3Init(tls, db, bp+40 /* &zErrMsg */) + rc = Xsqlite3Init(tls, db, bp+24 /* &zErrMsg */) if !(SQLITE_OK != rc) { goto __1 } @@ -194636,19 +194636,19 @@ __19: if !((SQLITE_OK == rc) && !(pTab != 0)) { goto __20 } - Xsqlite3DbFree(tls, db, *(*uintptr)(unsafe.Pointer(bp + 40 /* zErrMsg */))) - *(*uintptr)(unsafe.Pointer(bp + 40 /* zErrMsg */)) = Xsqlite3MPrintf(tls, db, ts+33387 /* "no such table co..." */, libc.VaList(bp, zTableName, + Xsqlite3DbFree(tls, db, *(*uintptr)(unsafe.Pointer(bp + 24 /* zErrMsg */))) + *(*uintptr)(unsafe.Pointer(bp + 24 /* zErrMsg */)) = Xsqlite3MPrintf(tls, db, ts+33387 /* "no such table co..." */, libc.VaList(bp, zTableName, zColumnName)) rc = SQLITE_ERROR __20: ; Xsqlite3ErrorWithMsg(tls, db, rc, func() uintptr { - if *(*uintptr)(unsafe.Pointer(bp + 40 /* zErrMsg */)) != 0 { + if *(*uintptr)(unsafe.Pointer(bp + 24 /* zErrMsg */)) != 0 { return ts + 951 /* "%s" */ } return uintptr(0) - }(), libc.VaList(bp+24, *(*uintptr)(unsafe.Pointer(bp + 40 /* zErrMsg */)))) - Xsqlite3DbFree(tls, db, *(*uintptr)(unsafe.Pointer(bp + 40 /* zErrMsg */))) + }(), libc.VaList(bp+16, *(*uintptr)(unsafe.Pointer(bp + 24 /* zErrMsg */)))) + Xsqlite3DbFree(tls, db, *(*uintptr)(unsafe.Pointer(bp + 24 /* zErrMsg */))) rc = Xsqlite3ApiExit(tls, db, rc) Xsqlite3_mutex_leave(tls, (*Sqlite3)(unsafe.Pointer(db)).Fmutex) return rc @@ -197748,8 +197748,8 @@ func jsonLookupAppend(tls *libc.TLS, pParse uintptr, zPath uintptr, pApnd uintpt // Return the text of a syntax error message on a JSON path. Space is // obtained from sqlite3_malloc(). func jsonPathSyntaxError(tls *libc.TLS, zErr uintptr) uintptr { /* sqlite3.c:190925:13: */ - bp := tls.Alloc(16) - defer tls.Free(16) + bp := tls.Alloc(8) + defer tls.Free(8) return Xsqlite3_mprintf(tls, ts+33524 /* "JSON path error ..." */, libc.VaList(bp, zErr)) } @@ -197815,8 +197815,8 @@ __5: // Report the wrong number of arguments for json_insert(), json_replace() // or json_set(). func jsonWrongNumArgs(tls *libc.TLS, pCtx uintptr, zFuncName uintptr) { /* sqlite3.c:190976:13: */ - bp := tls.Alloc(16) - defer tls.Free(16) + bp := tls.Alloc(8) + defer tls.Free(8) var zMsg uintptr = Xsqlite3_mprintf(tls, ts+33550, /* "json_%s() needs ..." */ libc.VaList(bp, zFuncName)) @@ -198722,8 +198722,8 @@ func jsonEachNext(tls *libc.TLS, cur uintptr) int32 { /* sqlite3.c:191797:12: */ // Append the name of the path for element i to pStr func jsonEachComputePath(tls *libc.TLS, p uintptr, pStr uintptr, i U32) { /* sqlite3.c:191838:13: */ - bp := tls.Alloc(40) - defer tls.Free(40) + bp := tls.Alloc(24) + defer tls.Free(24) var pNode uintptr var pUp uintptr @@ -198744,14 +198744,14 @@ func jsonEachComputePath(tls *libc.TLS, p uintptr, pStr uintptr, i U32) { /* sql pNode -= 16 } - jsonPrintf(tls, (int32((*JsonNode)(unsafe.Pointer(pNode)).Fn + U32(1))), pStr, ts+33783 /* ".%.*s" */, libc.VaList(bp+16, ((*JsonNode)(unsafe.Pointer(pNode)).Fn-U32(2)), (*(*uintptr)(unsafe.Pointer(pNode + 8 /* &.u */))+uintptr(1)))) + jsonPrintf(tls, (int32((*JsonNode)(unsafe.Pointer(pNode)).Fn + U32(1))), pStr, ts+33783 /* ".%.*s" */, libc.VaList(bp+8, ((*JsonNode)(unsafe.Pointer(pNode)).Fn-U32(2)), (*(*uintptr)(unsafe.Pointer(pNode + 8 /* &.u */))+uintptr(1)))) } } // Return the value of a column func jsonEachColumn(tls *libc.TLS, cur uintptr, ctx uintptr, i int32) int32 { /* sqlite3.c:191865:12: */ - bp := tls.Alloc(312) - defer tls.Free(312) + bp := tls.Alloc(296) + defer tls.Free(296) var p uintptr = cur var pThis uintptr = ((*JsonEachCursor)(unsafe.Pointer(p)).FsParse.FaNode + uintptr((*JsonEachCursor)(unsafe.Pointer(p)).Fi)*16) @@ -198825,35 +198825,35 @@ func jsonEachColumn(tls *libc.TLS, cur uintptr, ctx uintptr, i int32) int32 { /* } case JEACH_FULLKEY: { - // var x JsonString at bp+40, 136 + // var x JsonString at bp+24, 136 - jsonInit(tls, bp+40 /* &x */, ctx) + jsonInit(tls, bp+24 /* &x */, ctx) if (*JsonEachCursor)(unsafe.Pointer(p)).FbRecursive != 0 { - jsonEachComputePath(tls, p, bp+40 /* &x */, (*JsonEachCursor)(unsafe.Pointer(p)).Fi) + jsonEachComputePath(tls, p, bp+24 /* &x */, (*JsonEachCursor)(unsafe.Pointer(p)).Fi) } else { if (*JsonEachCursor)(unsafe.Pointer(p)).FzRoot != 0 { - jsonAppendRaw(tls, bp+40 /* &x */, (*JsonEachCursor)(unsafe.Pointer(p)).FzRoot, uint32(int32(libc.Xstrlen(tls, (*JsonEachCursor)(unsafe.Pointer(p)).FzRoot)))) + jsonAppendRaw(tls, bp+24 /* &x */, (*JsonEachCursor)(unsafe.Pointer(p)).FzRoot, uint32(int32(libc.Xstrlen(tls, (*JsonEachCursor)(unsafe.Pointer(p)).FzRoot)))) } else { - jsonAppendChar(tls, bp+40 /* &x */, int8('$')) + jsonAppendChar(tls, bp+24 /* &x */, int8('$')) } if int32((*JsonEachCursor)(unsafe.Pointer(p)).FeType) == JSON_ARRAY { - jsonPrintf(tls, 30, bp+40 /* &x */, ts+33778 /* "[%d]" */, libc.VaList(bp, (*JsonEachCursor)(unsafe.Pointer(p)).FiRowid)) + jsonPrintf(tls, 30, bp+24 /* &x */, ts+33778 /* "[%d]" */, libc.VaList(bp, (*JsonEachCursor)(unsafe.Pointer(p)).FiRowid)) } else if int32((*JsonEachCursor)(unsafe.Pointer(p)).FeType) == JSON_OBJECT { - jsonPrintf(tls, int32((*JsonNode)(unsafe.Pointer(pThis)).Fn), bp+40 /* &x */, ts+33783 /* ".%.*s" */, libc.VaList(bp+16, ((*JsonNode)(unsafe.Pointer(pThis)).Fn-U32(2)), (*(*uintptr)(unsafe.Pointer(pThis + 8 /* &.u */))+uintptr(1)))) + jsonPrintf(tls, int32((*JsonNode)(unsafe.Pointer(pThis)).Fn), bp+24 /* &x */, ts+33783 /* ".%.*s" */, libc.VaList(bp+8, ((*JsonNode)(unsafe.Pointer(pThis)).Fn-U32(2)), (*(*uintptr)(unsafe.Pointer(pThis + 8 /* &.u */))+uintptr(1)))) } } - jsonResult(tls, bp+40 /* &x */) + jsonResult(tls, bp+24 /* &x */) break } case JEACH_PATH: { if (*JsonEachCursor)(unsafe.Pointer(p)).FbRecursive != 0 { - // var x JsonString at bp+176, 136 + // var x JsonString at bp+160, 136 - jsonInit(tls, bp+176 /* &x */, ctx) - jsonEachComputePath(tls, p, bp+176 /* &x */, *(*U32)(unsafe.Pointer((*JsonEachCursor)(unsafe.Pointer(p)).FsParse.FaUp + uintptr((*JsonEachCursor)(unsafe.Pointer(p)).Fi)*4))) - jsonResult(tls, bp+176 /* &x */) + jsonInit(tls, bp+160 /* &x */, ctx) + jsonEachComputePath(tls, p, bp+160 /* &x */, *(*U32)(unsafe.Pointer((*JsonEachCursor)(unsafe.Pointer(p)).FsParse.FaUp + uintptr((*JsonEachCursor)(unsafe.Pointer(p)).Fi)*4))) + jsonResult(tls, bp+160 /* &x */) break } @@ -199483,8 +199483,8 @@ func nodeInParentChain(tls *libc.TLS, pNode uintptr, pParent uintptr) int32 { /* // Obtain a reference to an r-tree node. func nodeAcquire(tls *libc.TLS, pRtree uintptr, iNode I64, pParent uintptr, ppNode uintptr) int32 { /* sqlite3.c:192953:12: */ - bp := tls.Alloc(16) - defer tls.Free(16) + bp := tls.Alloc(8) + defer tls.Free(8) var rc int32 = SQLITE_OK var pNode uintptr = uintptr(0) @@ -199763,8 +199763,8 @@ func rtreeDisconnect(tls *libc.TLS, pVtab uintptr) int32 { /* sqlite3.c:193300:1 // Rtree virtual table module xDestroy method. func rtreeDestroy(tls *libc.TLS, pVtab uintptr) int32 { /* sqlite3.c:193308:12: */ - bp := tls.Alloc(56) - defer tls.Free(56) + bp := tls.Alloc(48) + defer tls.Free(48) var pRtree uintptr = pVtab var rc int32 @@ -200700,8 +200700,8 @@ func rtreeFilter(tls *libc.TLS, pVtabCursor uintptr, idxNum int32, idxStr uintpt // to which the constraint applies. The leftmost coordinate column // is 'a', the second from the left 'b' etc. func rtreeBestIndex(tls *libc.TLS, tab uintptr, pIdxInfo uintptr) int32 { /* sqlite3.c:194235:12: */ - bp := tls.Alloc(57) - defer tls.Free(57) + bp := tls.Alloc(49) + defer tls.Free(49) var pRtree uintptr = tab var rc int32 = SQLITE_OK @@ -200710,9 +200710,9 @@ func rtreeBestIndex(tls *libc.TLS, tab uintptr, pIdxInfo uintptr) int32 { /* sql var nRow I64 // Estimated rows returned by this scan var iIdx int32 = 0 - // var zIdxStr [41]int8 at bp+16, 41 + // var zIdxStr [41]int8 at bp+8, 41 - libc.Xmemset(tls, bp+16 /* &zIdxStr[0] */, 0, uint64(unsafe.Sizeof([41]int8{}))) + libc.Xmemset(tls, bp+8 /* &zIdxStr[0] */, 0, uint64(unsafe.Sizeof([41]int8{}))) // Check if there exists a MATCH constraint - even an unusable one. If there // is, do not consider the lookup-by-rowid plan as using such a plan would @@ -200784,8 +200784,8 @@ func rtreeBestIndex(tls *libc.TLS, tab uintptr, pIdxInfo uintptr) int32 { /* sql break } if op != 0 { - *(*int8)(unsafe.Pointer(bp + 16 /* &zIdxStr[0] */ + uintptr(libc.PostIncInt32(&iIdx, 1)))) = int8(op) - *(*int8)(unsafe.Pointer(bp + 16 /* &zIdxStr[0] */ + uintptr(libc.PostIncInt32(&iIdx, 1)))) = (int8(((*sqlite3_index_constraint)(unsafe.Pointer(p)).FiColumn - 1) + '0')) + *(*int8)(unsafe.Pointer(bp + 8 /* &zIdxStr[0] */ + uintptr(libc.PostIncInt32(&iIdx, 1)))) = int8(op) + *(*int8)(unsafe.Pointer(bp + 8 /* &zIdxStr[0] */ + uintptr(libc.PostIncInt32(&iIdx, 1)))) = (int8(((*sqlite3_index_constraint)(unsafe.Pointer(p)).FiColumn - 1) + '0')) (*sqlite3_index_constraint_usage)(unsafe.Pointer((*Sqlite3_index_info)(unsafe.Pointer(pIdxInfo)).FaConstraintUsage + uintptr(ii)*8)).FargvIndex = (iIdx / 2) (*sqlite3_index_constraint_usage)(unsafe.Pointer((*Sqlite3_index_info)(unsafe.Pointer(pIdxInfo)).FaConstraintUsage + uintptr(ii)*8)).Fomit = uint8(1) } @@ -200794,7 +200794,7 @@ func rtreeBestIndex(tls *libc.TLS, tab uintptr, pIdxInfo uintptr) int32 { /* sql (*Sqlite3_index_info)(unsafe.Pointer(pIdxInfo)).FidxNum = 2 (*Sqlite3_index_info)(unsafe.Pointer(pIdxInfo)).FneedToFreeIdxStr = 1 - if (iIdx > 0) && (uintptr(0) == (libc.AssignPtrUintptr(pIdxInfo+48 /* &.idxStr */, Xsqlite3_mprintf(tls, ts+951 /* "%s" */, libc.VaList(bp, bp+16 /* &zIdxStr[0] */))))) { + if (iIdx > 0) && (uintptr(0) == (libc.AssignPtrUintptr(pIdxInfo+48 /* &.idxStr */, Xsqlite3_mprintf(tls, ts+951 /* "%s" */, libc.VaList(bp, bp+8 /* &zIdxStr[0] */))))) { return SQLITE_NOMEM } @@ -202047,16 +202047,16 @@ func rtreeValueUp(tls *libc.TLS, v uintptr) RtreeValue { /* sqlite3.c:195393:19: // // If an OOM occurs, SQLITE_NOMEM is returned instead of SQLITE_CONSTRAINT. func rtreeConstraintError(tls *libc.TLS, pRtree uintptr, iCol int32) int32 { /* sqlite3.c:195416:12: */ - bp := tls.Alloc(88) - defer tls.Free(88) + bp := tls.Alloc(64) + defer tls.Free(64) - *(*uintptr)(unsafe.Pointer(bp + 80 /* pStmt */)) = uintptr(0) + *(*uintptr)(unsafe.Pointer(bp + 56 /* pStmt */)) = uintptr(0) var zSql uintptr var rc int32 zSql = Xsqlite3_mprintf(tls, ts+34103 /* "SELECT * FROM %Q..." */, libc.VaList(bp, (*Rtree)(unsafe.Pointer(pRtree)).FzDb, (*Rtree)(unsafe.Pointer(pRtree)).FzName)) if zSql != 0 { - rc = Xsqlite3_prepare_v2(tls, (*Rtree)(unsafe.Pointer(pRtree)).Fdb, zSql, -1, bp+80 /* &pStmt */, uintptr(0)) + rc = Xsqlite3_prepare_v2(tls, (*Rtree)(unsafe.Pointer(pRtree)).Fdb, zSql, -1, bp+56 /* &pStmt */, uintptr(0)) } else { rc = SQLITE_NOMEM } @@ -202064,18 +202064,18 @@ func rtreeConstraintError(tls *libc.TLS, pRtree uintptr, iCol int32) int32 { /* if rc == SQLITE_OK { if iCol == 0 { - var zCol uintptr = Xsqlite3_column_name(tls, *(*uintptr)(unsafe.Pointer(bp + 80 /* pStmt */)), 0) + var zCol uintptr = Xsqlite3_column_name(tls, *(*uintptr)(unsafe.Pointer(bp + 56 /* pStmt */)), 0) (*Rtree)(unsafe.Pointer(pRtree)).Fbase.FzErrMsg = Xsqlite3_mprintf(tls, - ts+34123 /* "UNIQUE constrain..." */, libc.VaList(bp+24, (*Rtree)(unsafe.Pointer(pRtree)).FzName, zCol)) + ts+34123 /* "UNIQUE constrain..." */, libc.VaList(bp+16, (*Rtree)(unsafe.Pointer(pRtree)).FzName, zCol)) } else { - var zCol1 uintptr = Xsqlite3_column_name(tls, *(*uintptr)(unsafe.Pointer(bp + 80 /* pStmt */)), iCol) - var zCol2 uintptr = Xsqlite3_column_name(tls, *(*uintptr)(unsafe.Pointer(bp + 80 /* pStmt */)), (iCol + 1)) + var zCol1 uintptr = Xsqlite3_column_name(tls, *(*uintptr)(unsafe.Pointer(bp + 56 /* pStmt */)), iCol) + var zCol2 uintptr = Xsqlite3_column_name(tls, *(*uintptr)(unsafe.Pointer(bp + 56 /* pStmt */)), (iCol + 1)) (*Rtree)(unsafe.Pointer(pRtree)).Fbase.FzErrMsg = Xsqlite3_mprintf(tls, - ts+34155 /* "rtree constraint..." */, libc.VaList(bp+48, (*Rtree)(unsafe.Pointer(pRtree)).FzName, zCol1, zCol2)) + ts+34155 /* "rtree constraint..." */, libc.VaList(bp+32, (*Rtree)(unsafe.Pointer(pRtree)).FzName, zCol1, zCol2)) } } - Xsqlite3_finalize(tls, *(*uintptr)(unsafe.Pointer(bp + 80 /* pStmt */))) + Xsqlite3_finalize(tls, *(*uintptr)(unsafe.Pointer(bp + 56 /* pStmt */))) return func() int32 { if rc == SQLITE_OK { return SQLITE_CONSTRAINT @@ -202332,8 +202332,8 @@ func rtreeEndTransaction(tls *libc.TLS, pVtab uintptr) int32 { /* sqlite3.c:1956 // The xRename method for rtree module virtual tables. func rtreeRename(tls *libc.TLS, pVtab uintptr, zNewName uintptr) int32 { /* sqlite3.c:195623:12: */ - bp := tls.Alloc(80) - defer tls.Free(80) + bp := tls.Alloc(72) + defer tls.Free(72) var pRtree uintptr = pVtab var rc int32 = SQLITE_NOMEM @@ -202374,12 +202374,12 @@ func rtreeSavepoint(tls *libc.TLS, pVtab uintptr, iSavepoint int32) int32 { /* s // of the number of rows in the virtual table. If possible, this is based // on sqlite_stat1 data. Otherwise, use RTREE_DEFAULT_ROWEST. func rtreeQueryStat1(tls *libc.TLS, db uintptr, pRtree uintptr) int32 { /* sqlite3.c:195671:12: */ - bp := tls.Alloc(32) - defer tls.Free(32) + bp := tls.Alloc(24) + defer tls.Free(24) var zFmt uintptr = ts + 34337 /* "SELECT stat FROM..." */ var zSql uintptr - // var p uintptr at bp+24, 8 + // var p uintptr at bp+16, 8 var rc int32 var nRow I64 = int64(0) @@ -202397,12 +202397,12 @@ func rtreeQueryStat1(tls *libc.TLS, db uintptr, pRtree uintptr) int32 { /* sqlit if zSql == uintptr(0) { rc = SQLITE_NOMEM } else { - rc = Xsqlite3_prepare_v2(tls, db, zSql, -1, bp+24 /* &p */, uintptr(0)) + rc = Xsqlite3_prepare_v2(tls, db, zSql, -1, bp+16 /* &p */, uintptr(0)) if rc == SQLITE_OK { - if Xsqlite3_step(tls, *(*uintptr)(unsafe.Pointer(bp + 24 /* p */))) == SQLITE_ROW { - nRow = Xsqlite3_column_int64(tls, *(*uintptr)(unsafe.Pointer(bp + 24 /* p */)), 0) + if Xsqlite3_step(tls, *(*uintptr)(unsafe.Pointer(bp + 16 /* p */))) == SQLITE_ROW { + nRow = Xsqlite3_column_int64(tls, *(*uintptr)(unsafe.Pointer(bp + 16 /* p */)), 0) } - rc = Xsqlite3_finalize(tls, *(*uintptr)(unsafe.Pointer(bp + 24 /* p */))) + rc = Xsqlite3_finalize(tls, *(*uintptr)(unsafe.Pointer(bp + 16 /* p */))) } else if rc != SQLITE_NOMEM { rc = SQLITE_OK } @@ -202466,11 +202466,11 @@ var rtreeModule = Sqlite3_module{ } /* sqlite3.c:195726:23 */ func rtreeSqlInit(tls *libc.TLS, pRtree uintptr, db uintptr, zDb uintptr, zPrefix uintptr, isCreate int32) int32 { /* sqlite3.c:195753:12: */ - bp := tls.Alloc(312) - defer tls.Free(312) + bp := tls.Alloc(232) + defer tls.Free(232) var rc int32 = SQLITE_OK - // var appStmt [8]uintptr at bp+248, 64 + // var appStmt [8]uintptr at bp+168, 64 var i int32 var f int32 = (SQLITE_PREPARE_PERSISTENT | SQLITE_PREPARE_NO_VTAB) @@ -202485,17 +202485,17 @@ func rtreeSqlInit(tls *libc.TLS, pRtree uintptr, db uintptr, zDb uintptr, zPrefi ts+34398, /* "CREATE TABLE \"%w..." */ libc.VaList(bp, zDb, zPrefix)) for ii = 0; ii < int32((*Rtree)(unsafe.Pointer(pRtree)).FnAux); ii++ { - Xsqlite3_str_appendf(tls, p, ts+34460 /* ",a%d" */, libc.VaList(bp+24, ii)) + Xsqlite3_str_appendf(tls, p, ts+34460 /* ",a%d" */, libc.VaList(bp+16, ii)) } Xsqlite3_str_appendf(tls, p, ts+34465, /* ");CREATE TABLE \"..." */ - libc.VaList(bp+40, zDb, zPrefix)) + libc.VaList(bp+24, zDb, zPrefix)) Xsqlite3_str_appendf(tls, p, ts+34529, /* "CREATE TABLE \"%w..." */ - libc.VaList(bp+64, zDb, zPrefix)) + libc.VaList(bp+40, zDb, zPrefix)) Xsqlite3_str_appendf(tls, p, ts+34599, /* "INSERT INTO \"%w\"..." */ - libc.VaList(bp+88, zDb, zPrefix, (*Rtree)(unsafe.Pointer(pRtree)).FiNodeSize)) + libc.VaList(bp+56, zDb, zPrefix, (*Rtree)(unsafe.Pointer(pRtree)).FiNodeSize)) zCreate = Xsqlite3_str_finish(tls, p) if !(zCreate != 0) { return SQLITE_NOMEM @@ -202507,14 +202507,14 @@ func rtreeSqlInit(tls *libc.TLS, pRtree uintptr, db uintptr, zDb uintptr, zPrefi } } - *(*uintptr)(unsafe.Pointer(bp + 248 /* &appStmt[0] */)) = (pRtree + 120 /* &.pWriteNode */) - *(*uintptr)(unsafe.Pointer(bp + 248 /* &appStmt[0] */ + 1*8)) = (pRtree + 128 /* &.pDeleteNode */) - *(*uintptr)(unsafe.Pointer(bp + 248 /* &appStmt[0] */ + 2*8)) = (pRtree + 136 /* &.pReadRowid */) - *(*uintptr)(unsafe.Pointer(bp + 248 /* &appStmt[0] */ + 3*8)) = (pRtree + 144 /* &.pWriteRowid */) - *(*uintptr)(unsafe.Pointer(bp + 248 /* &appStmt[0] */ + 4*8)) = (pRtree + 152 /* &.pDeleteRowid */) - *(*uintptr)(unsafe.Pointer(bp + 248 /* &appStmt[0] */ + 5*8)) = (pRtree + 160 /* &.pReadParent */) - *(*uintptr)(unsafe.Pointer(bp + 248 /* &appStmt[0] */ + 6*8)) = (pRtree + 168 /* &.pWriteParent */) - *(*uintptr)(unsafe.Pointer(bp + 248 /* &appStmt[0] */ + 7*8)) = (pRtree + 176 /* &.pDeleteParent */) + *(*uintptr)(unsafe.Pointer(bp + 168 /* &appStmt[0] */)) = (pRtree + 120 /* &.pWriteNode */) + *(*uintptr)(unsafe.Pointer(bp + 168 /* &appStmt[0] */ + 1*8)) = (pRtree + 128 /* &.pDeleteNode */) + *(*uintptr)(unsafe.Pointer(bp + 168 /* &appStmt[0] */ + 2*8)) = (pRtree + 136 /* &.pReadRowid */) + *(*uintptr)(unsafe.Pointer(bp + 168 /* &appStmt[0] */ + 3*8)) = (pRtree + 144 /* &.pWriteRowid */) + *(*uintptr)(unsafe.Pointer(bp + 168 /* &appStmt[0] */ + 4*8)) = (pRtree + 152 /* &.pDeleteRowid */) + *(*uintptr)(unsafe.Pointer(bp + 168 /* &appStmt[0] */ + 5*8)) = (pRtree + 160 /* &.pReadParent */) + *(*uintptr)(unsafe.Pointer(bp + 168 /* &appStmt[0] */ + 6*8)) = (pRtree + 168 /* &.pWriteParent */) + *(*uintptr)(unsafe.Pointer(bp + 168 /* &appStmt[0] */ + 7*8)) = (pRtree + 176 /* &.pDeleteParent */) rc = rtreeQueryStat1(tls, db, pRtree) for i = 0; (i < N_STATEMENT) && (rc == SQLITE_OK); i++ { @@ -202527,9 +202527,9 @@ func rtreeSqlInit(tls *libc.TLS, pRtree uintptr, db uintptr, zDb uintptr, zPrefi // if there are auxiliary columns zFormat = ts + 34648 /* "INSERT INTO\"%w\"...." */ } - zSql = Xsqlite3_mprintf(tls, zFormat, libc.VaList(bp+120, zDb, zPrefix)) + zSql = Xsqlite3_mprintf(tls, zFormat, libc.VaList(bp+80, zDb, zPrefix)) if zSql != 0 { - rc = Xsqlite3_prepare_v3(tls, db, zSql, -1, uint32(f), *(*uintptr)(unsafe.Pointer(bp + 248 /* &appStmt[0] */ + uintptr(i)*8)), uintptr(0)) + rc = Xsqlite3_prepare_v3(tls, db, zSql, -1, uint32(f), *(*uintptr)(unsafe.Pointer(bp + 168 /* &appStmt[0] */ + uintptr(i)*8)), uintptr(0)) } else { rc = SQLITE_NOMEM } @@ -202538,22 +202538,22 @@ func rtreeSqlInit(tls *libc.TLS, pRtree uintptr, db uintptr, zDb uintptr, zPrefi if (*Rtree)(unsafe.Pointer(pRtree)).FnAux != 0 { (*Rtree)(unsafe.Pointer(pRtree)).FzReadAuxSql = Xsqlite3_mprintf(tls, ts+34756, /* "SELECT * FROM \"%..." */ - libc.VaList(bp+144, zDb, zPrefix)) + libc.VaList(bp+96, zDb, zPrefix)) if (*Rtree)(unsafe.Pointer(pRtree)).FzReadAuxSql == uintptr(0) { rc = SQLITE_NOMEM } else { var p uintptr = Xsqlite3_str_new(tls, db) var ii int32 var zSql uintptr - Xsqlite3_str_appendf(tls, p, ts+34801 /* "UPDATE \"%w\".\"%w_..." */, libc.VaList(bp+168, zDb, zPrefix)) + Xsqlite3_str_appendf(tls, p, ts+34801 /* "UPDATE \"%w\".\"%w_..." */, libc.VaList(bp+112, zDb, zPrefix)) for ii = 0; ii < int32((*Rtree)(unsafe.Pointer(pRtree)).FnAux); ii++ { if ii != 0 { Xsqlite3_str_append(tls, p, ts+19432 /* "," */, 1) } if ii < int32((*Rtree)(unsafe.Pointer(pRtree)).FnAuxNotNull) { - Xsqlite3_str_appendf(tls, p, ts+34828 /* "a%d=coalesce(?%d..." */, libc.VaList(bp+192, ii, (ii+2), ii)) + Xsqlite3_str_appendf(tls, p, ts+34828 /* "a%d=coalesce(?%d..." */, libc.VaList(bp+128, ii, (ii+2), ii)) } else { - Xsqlite3_str_appendf(tls, p, ts+34850 /* "a%d=?%d" */, libc.VaList(bp+224, ii, (ii+2))) + Xsqlite3_str_appendf(tls, p, ts+34850 /* "a%d=?%d" */, libc.VaList(bp+152, ii, (ii+2))) } } Xsqlite3_str_appendf(tls, p, ts+34858 /* " WHERE rowid=?1" */, 0) @@ -202623,35 +202623,35 @@ func getIntFromStmt(tls *libc.TLS, db uintptr, zSql uintptr, piVal uintptr) int3 // database page-size is so large that more than RTREE_MAXCELLS entries // would fit in a single node, use a smaller node-size. func getNodeSize(tls *libc.TLS, db uintptr, pRtree uintptr, isCreate int32, pzErr uintptr) int32 { /* sqlite3.c:195913:12: */ - bp := tls.Alloc(92) - defer tls.Free(92) + bp := tls.Alloc(52) + defer tls.Free(52) var rc int32 var zSql uintptr if isCreate != 0 { - *(*int32)(unsafe.Pointer(bp + 88 /* iPageSize */)) = 0 + *(*int32)(unsafe.Pointer(bp + 48 /* iPageSize */)) = 0 zSql = Xsqlite3_mprintf(tls, ts+35283 /* "PRAGMA %Q.page_s..." */, libc.VaList(bp, (*Rtree)(unsafe.Pointer(pRtree)).FzDb)) - rc = getIntFromStmt(tls, db, zSql, bp+88 /* &iPageSize */) + rc = getIntFromStmt(tls, db, zSql, bp+48 /* &iPageSize */) if rc == SQLITE_OK { - (*Rtree)(unsafe.Pointer(pRtree)).FiNodeSize = (*(*int32)(unsafe.Pointer(bp + 88 /* iPageSize */)) - 64) + (*Rtree)(unsafe.Pointer(pRtree)).FiNodeSize = (*(*int32)(unsafe.Pointer(bp + 48 /* iPageSize */)) - 64) if (4 + (int32((*Rtree)(unsafe.Pointer(pRtree)).FnBytesPerCell) * RTREE_MAXCELLS)) < (*Rtree)(unsafe.Pointer(pRtree)).FiNodeSize { (*Rtree)(unsafe.Pointer(pRtree)).FiNodeSize = (4 + (int32((*Rtree)(unsafe.Pointer(pRtree)).FnBytesPerCell) * RTREE_MAXCELLS)) } } else { - *(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3_mprintf(tls, ts+951 /* "%s" */, libc.VaList(bp+16, Xsqlite3_errmsg(tls, db))) + *(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3_mprintf(tls, ts+951 /* "%s" */, libc.VaList(bp+8, Xsqlite3_errmsg(tls, db))) } } else { zSql = Xsqlite3_mprintf(tls, ts+35303, /* "SELECT length(da..." */ - libc.VaList(bp+32, (*Rtree)(unsafe.Pointer(pRtree)).FzDb, (*Rtree)(unsafe.Pointer(pRtree)).FzName)) + libc.VaList(bp+16, (*Rtree)(unsafe.Pointer(pRtree)).FzDb, (*Rtree)(unsafe.Pointer(pRtree)).FzName)) rc = getIntFromStmt(tls, db, zSql, (pRtree + 32 /* &.iNodeSize */)) if rc != SQLITE_OK { - *(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3_mprintf(tls, ts+951 /* "%s" */, libc.VaList(bp+56, Xsqlite3_errmsg(tls, db))) + *(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3_mprintf(tls, ts+951 /* "%s" */, libc.VaList(bp+32, Xsqlite3_errmsg(tls, db))) } else if (*Rtree)(unsafe.Pointer(pRtree)).FiNodeSize < (512 - 64) { rc = (SQLITE_CORRUPT | (int32(1) << 8)) *(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3_mprintf(tls, ts+35360, /* "undersize RTree ..." */ - libc.VaList(bp+72, (*Rtree)(unsafe.Pointer(pRtree)).FzName)) + libc.VaList(bp+40, (*Rtree)(unsafe.Pointer(pRtree)).FzName)) } } @@ -202676,8 +202676,8 @@ func rtreeTokenLength(tls *libc.TLS, z uintptr) int32 { /* sqlite3.c:195956:12: // argv[2] -> table name // argv[...] -> column names... func rtreeInit(tls *libc.TLS, db uintptr, pAux uintptr, argc int32, argv uintptr, ppVtab uintptr, pzErr uintptr, isCreate int32) int32 { /* sqlite3.c:195970:12: */ - bp := tls.Alloc(208) - defer tls.Free(208) + bp := tls.Alloc(136) + defer tls.Free(136) var rc int32 var pRtree uintptr @@ -202688,7 +202688,7 @@ func rtreeInit(tls *libc.TLS, db uintptr, pAux uintptr, argc int32, argv uintptr var zSql uintptr var ii int32 var iErr int32 - // var aErrMsg [5]uintptr at bp+168, 40 + // var aErrMsg [5]uintptr at bp+96, 40 var zArg uintptr rc = SQLITE_OK @@ -202699,7 +202699,7 @@ func rtreeInit(tls *libc.TLS, db uintptr, pAux uintptr, argc int32, argv uintptr return RTREE_COORD_REAL32 }() ii = 4 - *(*[5]uintptr)(unsafe.Pointer(bp + 168 /* aErrMsg */)) = [5]uintptr{ + *(*[5]uintptr)(unsafe.Pointer(bp + 96 /* aErrMsg */)) = [5]uintptr{ uintptr(0), // 0 ts + 35395, /* "Wrong number of ..." */ // 1 ts + 35438, /* "Too few columns ..." */ // 2 @@ -202711,12 +202711,12 @@ func rtreeInit(tls *libc.TLS, db uintptr, pAux uintptr, argc int32, argv uintptr if !((argc < 6) || (argc > (RTREE_MAX_AUX_COLUMN + 3))) { goto __1 } - *(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3_mprintf(tls, ts+951 /* "%s" */, libc.VaList(bp, *(*uintptr)(unsafe.Pointer(bp + 168 /* &aErrMsg[0] */ + uintptr((2+(libc.Bool32(argc >= 6))))*8)))) + *(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3_mprintf(tls, ts+951 /* "%s" */, libc.VaList(bp, *(*uintptr)(unsafe.Pointer(bp + 96 /* &aErrMsg[0] */ + uintptr((2+(libc.Bool32(argc >= 6))))*8)))) return SQLITE_ERROR __1: ; - Xsqlite3_vtab_config(tls, db, SQLITE_VTAB_CONSTRAINT_SUPPORT, libc.VaList(bp+16, 1)) + Xsqlite3_vtab_config(tls, db, SQLITE_VTAB_CONSTRAINT_SUPPORT, libc.VaList(bp+8, 1)) // Allocate the sqlite3_vtab structure nDb = int32(libc.Xstrlen(tls, *(*uintptr)(unsafe.Pointer(argv + 1*8)))) @@ -202742,7 +202742,7 @@ __2: // the r-tree table schema. pSql = Xsqlite3_str_new(tls, db) Xsqlite3_str_appendf(tls, pSql, ts+35546, /* "CREATE TABLE x(%..." */ - libc.VaList(bp+32, rtreeTokenLength(tls, *(*uintptr)(unsafe.Pointer(argv + 3*8))), *(*uintptr)(unsafe.Pointer(argv + 3*8)))) + libc.VaList(bp+16, rtreeTokenLength(tls, *(*uintptr)(unsafe.Pointer(argv + 3*8))), *(*uintptr)(unsafe.Pointer(argv + 3*8)))) ii = 4 __3: if !(ii < argc) { @@ -202753,7 +202753,7 @@ __3: goto __6 } (*Rtree)(unsafe.Pointer(pRtree)).FnAux++ - Xsqlite3_str_appendf(tls, pSql, ts+35570 /* ",%.*s" */, libc.VaList(bp+56, rtreeTokenLength(tls, (zArg+uintptr(1))), (zArg+uintptr(1)))) + Xsqlite3_str_appendf(tls, pSql, ts+35570 /* ",%.*s" */, libc.VaList(bp+32, rtreeTokenLength(tls, (zArg+uintptr(1))), (zArg+uintptr(1)))) goto __7 __6: if !(int32((*Rtree)(unsafe.Pointer(pRtree)).FnAux) > 0) { @@ -202764,7 +202764,7 @@ __6: __8: (*Rtree)(unsafe.Pointer(pRtree)).FnDim2++ Xsqlite3_str_appendf(tls, pSql, azFormat[eCoordType], - libc.VaList(bp+80, rtreeTokenLength(tls, zArg), zArg)) + libc.VaList(bp+48, rtreeTokenLength(tls, zArg), zArg)) __9: ; __7: @@ -202787,14 +202787,14 @@ __10: if !(ii < argc) { goto __12 } - *(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3_mprintf(tls, ts+951 /* "%s" */, libc.VaList(bp+104, *(*uintptr)(unsafe.Pointer(bp + 168 /* &aErrMsg[0] */ + 4*8)))) + *(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3_mprintf(tls, ts+951 /* "%s" */, libc.VaList(bp+64, *(*uintptr)(unsafe.Pointer(bp + 96 /* &aErrMsg[0] */ + 4*8)))) rc = SQLITE_ERROR goto __13 __12: if !(SQLITE_OK != (libc.AssignInt32(&rc, Xsqlite3_declare_vtab(tls, db, zSql)))) { goto __14 } - *(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3_mprintf(tls, ts+951 /* "%s" */, libc.VaList(bp+120, Xsqlite3_errmsg(tls, db))) + *(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3_mprintf(tls, ts+951 /* "%s" */, libc.VaList(bp+72, Xsqlite3_errmsg(tls, db))) __14: ; __13: @@ -202837,7 +202837,7 @@ __17: if !(iErr != 0) { goto __22 } - *(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3_mprintf(tls, ts+951 /* "%s" */, libc.VaList(bp+136, *(*uintptr)(unsafe.Pointer(bp + 168 /* &aErrMsg[0] */ + uintptr(iErr)*8)))) + *(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3_mprintf(tls, ts+951 /* "%s" */, libc.VaList(bp+80, *(*uintptr)(unsafe.Pointer(bp + 96 /* &aErrMsg[0] */ + uintptr(iErr)*8)))) goto rtreeInit_fail __22: ; @@ -202855,7 +202855,7 @@ __23: if !(rc != 0) { goto __24 } - *(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3_mprintf(tls, ts+951 /* "%s" */, libc.VaList(bp+152, Xsqlite3_errmsg(tls, db))) + *(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3_mprintf(tls, ts+951 /* "%s" */, libc.VaList(bp+88, Xsqlite3_errmsg(tls, db))) goto rtreeInit_fail __24: ; @@ -202892,12 +202892,12 @@ var azFormat = [2]uintptr{ts + 35579 /* ",%.*s REAL" */, ts + 35590 /* ",%.*s IN // list, containing the 8-byte rowid/pageno followed by the // *2 coordinates. func rtreenode(tls *libc.TLS, ctx uintptr, nArg int32, apArg uintptr) { /* sqlite3.c:196107:13: */ - bp := tls.Alloc(1088) - defer tls.Free(1088) + bp := tls.Alloc(1072) + defer tls.Free(1072) - // var node RtreeNode at bp+32, 40 + // var node RtreeNode at bp+16, 40 - // var tree Rtree at bp+72, 968 + // var tree Rtree at bp+56, 968 var ii int32 var nData int32 @@ -202905,36 +202905,36 @@ func rtreenode(tls *libc.TLS, ctx uintptr, nArg int32, apArg uintptr) { /* sqlit var pOut uintptr _ = nArg - libc.Xmemset(tls, bp+32 /* &node */, 0, uint64(unsafe.Sizeof(RtreeNode{}))) - libc.Xmemset(tls, bp+72 /* &tree */, 0, uint64(unsafe.Sizeof(Rtree{}))) - (*Rtree)(unsafe.Pointer(bp + 72 /* &tree */)).FnDim = U8(Xsqlite3_value_int(tls, *(*uintptr)(unsafe.Pointer(apArg)))) - if (int32((*Rtree)(unsafe.Pointer(bp+72 /* &tree */)).FnDim) < 1) || (int32((*Rtree)(unsafe.Pointer(bp+72 /* &tree */)).FnDim) > 5) { + libc.Xmemset(tls, bp+16 /* &node */, 0, uint64(unsafe.Sizeof(RtreeNode{}))) + libc.Xmemset(tls, bp+56 /* &tree */, 0, uint64(unsafe.Sizeof(Rtree{}))) + (*Rtree)(unsafe.Pointer(bp + 56 /* &tree */)).FnDim = U8(Xsqlite3_value_int(tls, *(*uintptr)(unsafe.Pointer(apArg)))) + if (int32((*Rtree)(unsafe.Pointer(bp+56 /* &tree */)).FnDim) < 1) || (int32((*Rtree)(unsafe.Pointer(bp+56 /* &tree */)).FnDim) > 5) { return } - (*Rtree)(unsafe.Pointer(bp + 72 /* &tree */)).FnDim2 = (U8(int32((*Rtree)(unsafe.Pointer(bp+72 /* &tree */)).FnDim) * 2)) - (*Rtree)(unsafe.Pointer(bp + 72 /* &tree */)).FnBytesPerCell = (U8(8 + (8 * int32((*Rtree)(unsafe.Pointer(bp+72 /* &tree */)).FnDim)))) - (*RtreeNode)(unsafe.Pointer(bp + 32 /* &node */)).FzData = Xsqlite3_value_blob(tls, *(*uintptr)(unsafe.Pointer(apArg + 1*8))) + (*Rtree)(unsafe.Pointer(bp + 56 /* &tree */)).FnDim2 = (U8(int32((*Rtree)(unsafe.Pointer(bp+56 /* &tree */)).FnDim) * 2)) + (*Rtree)(unsafe.Pointer(bp + 56 /* &tree */)).FnBytesPerCell = (U8(8 + (8 * int32((*Rtree)(unsafe.Pointer(bp+56 /* &tree */)).FnDim)))) + (*RtreeNode)(unsafe.Pointer(bp + 16 /* &node */)).FzData = Xsqlite3_value_blob(tls, *(*uintptr)(unsafe.Pointer(apArg + 1*8))) nData = Xsqlite3_value_bytes(tls, *(*uintptr)(unsafe.Pointer(apArg + 1*8))) if nData < 4 { return } - if nData < (readInt16(tls, ((*RtreeNode)(unsafe.Pointer((bp+32 /* &node */))).FzData+2)) * int32((*Rtree)(unsafe.Pointer(bp+72 /* &tree */)).FnBytesPerCell)) { + if nData < (readInt16(tls, ((*RtreeNode)(unsafe.Pointer((bp+16 /* &node */))).FzData+2)) * int32((*Rtree)(unsafe.Pointer(bp+56 /* &tree */)).FnBytesPerCell)) { return } pOut = Xsqlite3_str_new(tls, uintptr(0)) - for ii = 0; ii < readInt16(tls, ((*RtreeNode)(unsafe.Pointer((bp+32 /* &node */))).FzData+2)); ii++ { - // var cell RtreeCell at bp+1040, 48 + for ii = 0; ii < readInt16(tls, ((*RtreeNode)(unsafe.Pointer((bp+16 /* &node */))).FzData+2)); ii++ { + // var cell RtreeCell at bp+1024, 48 var jj int32 - nodeGetCell(tls, bp+72 /* &tree */, bp+32 /* &node */, ii, bp+1040 /* &cell */) + nodeGetCell(tls, bp+56 /* &tree */, bp+16 /* &node */, ii, bp+1024 /* &cell */) if ii > 0 { Xsqlite3_str_append(tls, pOut, ts+17503 /* " " */, 1) } - Xsqlite3_str_appendf(tls, pOut, ts+35600 /* "{%lld" */, libc.VaList(bp, (*RtreeCell)(unsafe.Pointer(bp+1040 /* &cell */)).FiRowid)) - for jj = 0; jj < int32((*Rtree)(unsafe.Pointer(bp+72 /* &tree */)).FnDim2); jj++ { - Xsqlite3_str_appendf(tls, pOut, ts+35606 /* " %g" */, libc.VaList(bp+16, float64(*(*RtreeValue)(unsafe.Pointer((bp + 1040 /* &cell */ + 8 /* &.aCoord */) + uintptr(jj)*4))))) + Xsqlite3_str_appendf(tls, pOut, ts+35600 /* "{%lld" */, libc.VaList(bp, (*RtreeCell)(unsafe.Pointer(bp+1024 /* &cell */)).FiRowid)) + for jj = 0; jj < int32((*Rtree)(unsafe.Pointer(bp+56 /* &tree */)).FnDim2); jj++ { + Xsqlite3_str_appendf(tls, pOut, ts+35606 /* " %g" */, libc.VaList(bp+8, float64(*(*RtreeValue)(unsafe.Pointer((bp + 1024 /* &cell */ + 8 /* &.aCoord */) + uintptr(jj)*4))))) } Xsqlite3_str_append(tls, pOut, ts+35610 /* "}" */, 1) } @@ -203033,8 +203033,8 @@ func rtreeCheckPrepare(tls *libc.TLS, pCheck uintptr, zFmt uintptr, va uintptr) // style format string and arguments. This function formats the string and // appends it to the report being accumuated in pCheck. func rtreeCheckAppendMsg(tls *libc.TLS, pCheck uintptr, zFmt uintptr, va uintptr) { /* sqlite3.c:196243:13: */ - bp := tls.Alloc(32) - defer tls.Free(32) + bp := tls.Alloc(24) + defer tls.Free(24) var ap Va_list _ = ap @@ -203073,8 +203073,8 @@ func rtreeCheckAppendMsg(tls *libc.TLS, pCheck uintptr, zFmt uintptr, va uintptr // in the RtreeCheck object. The final value of *pnNode is undefined in // this case. func rtreeCheckGetNode(tls *libc.TLS, pCheck uintptr, iNode I64, pnNode uintptr) uintptr { /* sqlite3.c:196277:11: */ - bp := tls.Alloc(40) - defer tls.Free(40) + bp := tls.Alloc(24) + defer tls.Free(24) var pRet uintptr = uintptr(0) // Return value @@ -203099,7 +203099,7 @@ func rtreeCheckGetNode(tls *libc.TLS, pCheck uintptr, iNode I64, pnNode uintptr) } rtreeCheckReset(tls, pCheck, (*RtreeCheck)(unsafe.Pointer(pCheck)).FpGetNode) if ((*RtreeCheck)(unsafe.Pointer(pCheck)).Frc == SQLITE_OK) && (pRet == uintptr(0)) { - rtreeCheckAppendMsg(tls, pCheck, ts+35697 /* "Node %lld missin..." */, libc.VaList(bp+24, iNode)) + rtreeCheckAppendMsg(tls, pCheck, ts+35697 /* "Node %lld missin..." */, libc.VaList(bp+16, iNode)) } } @@ -203117,19 +203117,19 @@ func rtreeCheckGetNode(tls *libc.TLS, pCheck uintptr, iNode I64, pnNode uintptr) // IPK value iKey and the second column set to iVal. // func rtreeCheckMapping(tls *libc.TLS, pCheck uintptr, bLeaf int32, iKey I64, iVal I64) { /* sqlite3.c:196321:13: */ - bp := tls.Alloc(120) - defer tls.Free(120) + bp := tls.Alloc(96) + defer tls.Free(96) var rc int32 var pStmt uintptr - *(*[2]uintptr)(unsafe.Pointer(bp + 104 /* azSql */)) = [2]uintptr{ + *(*[2]uintptr)(unsafe.Pointer(bp + 80 /* azSql */)) = [2]uintptr{ ts + 35729, /* "SELECT parentnod..." */ ts + 35783, /* "SELECT nodeno FR..." */ } if *(*uintptr)(unsafe.Pointer((pCheck + 40 /* &.aCheckMapping */) + uintptr(bLeaf)*8)) == uintptr(0) { *(*uintptr)(unsafe.Pointer((pCheck + 40 /* &.aCheckMapping */) + uintptr(bLeaf)*8)) = rtreeCheckPrepare(tls, pCheck, - *(*uintptr)(unsafe.Pointer(bp + 104 /* &azSql[0] */ + uintptr(bLeaf)*8)), libc.VaList(bp, (*RtreeCheck)(unsafe.Pointer(pCheck)).FzDb, (*RtreeCheck)(unsafe.Pointer(pCheck)).FzTab)) + *(*uintptr)(unsafe.Pointer(bp + 80 /* &azSql[0] */ + uintptr(bLeaf)*8)), libc.VaList(bp, (*RtreeCheck)(unsafe.Pointer(pCheck)).FzDb, (*RtreeCheck)(unsafe.Pointer(pCheck)).FzTab)) } if (*RtreeCheck)(unsafe.Pointer(pCheck)).Frc != SQLITE_OK { return @@ -203140,7 +203140,7 @@ func rtreeCheckMapping(tls *libc.TLS, pCheck uintptr, bLeaf int32, iKey I64, iVa rc = Xsqlite3_step(tls, pStmt) if rc == SQLITE_DONE { rtreeCheckAppendMsg(tls, pCheck, ts+35831, /* "Mapping (%lld ->..." */ - libc.VaList(bp+24, iKey, iVal, func() uintptr { + libc.VaList(bp+16, iKey, iVal, func() uintptr { if bLeaf != 0 { return ts + 35876 /* "%_rowid" */ } @@ -203151,7 +203151,7 @@ func rtreeCheckMapping(tls *libc.TLS, pCheck uintptr, bLeaf int32, iKey I64, iVa if ii != iVal { rtreeCheckAppendMsg(tls, pCheck, ts+35893, /* "Found (%lld -> %..." */ - libc.VaList(bp+56, iKey, ii, func() uintptr { + libc.VaList(bp+40, iKey, ii, func() uintptr { if bLeaf != 0 { return ts + 35876 /* "%_rowid" */ } @@ -203173,52 +203173,52 @@ func rtreeCheckMapping(tls *libc.TLS, pCheck uintptr, bLeaf int32, iKey I64, iVa // sets of coordinates are mutually consistent and an error message added // to the RtreeCheck object if they are not. func rtreeCheckCellCoord(tls *libc.TLS, pCheck uintptr, iNode I64, iCell int32, pCell uintptr, pParent uintptr) { /* sqlite3.c:196373:13: */ - bp := tls.Alloc(80) - defer tls.Free(80) + bp := tls.Alloc(64) + defer tls.Free(64) - // var c1 RtreeCoord at bp+64, 4 + // var c1 RtreeCoord at bp+48, 4 - // var c2 RtreeCoord at bp+68, 4 + // var c2 RtreeCoord at bp+52, 4 - // var p1 RtreeCoord at bp+72, 4 + // var p1 RtreeCoord at bp+56, 4 - // var p2 RtreeCoord at bp+76, 4 + // var p2 RtreeCoord at bp+60, 4 var i int32 for i = 0; i < (*RtreeCheck)(unsafe.Pointer(pCheck)).FnDim; i++ { - readCoord(tls, (pCell + uintptr(((4 * 2) * i))), bp+64 /* &c1 */) - readCoord(tls, (pCell + uintptr((4 * ((2 * i) + 1)))), bp+68 /* &c2 */) + readCoord(tls, (pCell + uintptr(((4 * 2) * i))), bp+48 /* &c1 */) + readCoord(tls, (pCell + uintptr((4 * ((2 * i) + 1)))), bp+52 /* &c2 */) // printf("%e, %e\n", c1.u.f, c2.u.f); if func() int32 { if (*RtreeCheck)(unsafe.Pointer(pCheck)).FbInt != 0 { - return (libc.Bool32(*(*int32)(unsafe.Pointer(bp + 64 /* &c1 */)) > *(*int32)(unsafe.Pointer(bp + 68 /* &c2 */)))) + return (libc.Bool32(*(*int32)(unsafe.Pointer(bp + 48 /* &c1 */)) > *(*int32)(unsafe.Pointer(bp + 52 /* &c2 */)))) } - return (libc.Bool32(*(*RtreeValue)(unsafe.Pointer(bp + 64 /* &c1 */)) > *(*RtreeValue)(unsafe.Pointer(bp + 68 /* &c2 */)))) + return (libc.Bool32(*(*RtreeValue)(unsafe.Pointer(bp + 48 /* &c1 */)) > *(*RtreeValue)(unsafe.Pointer(bp + 52 /* &c2 */)))) }() != 0 { rtreeCheckAppendMsg(tls, pCheck, ts+35951 /* "Dimension %d of ..." */, libc.VaList(bp, i, iCell, iNode)) } if pParent != 0 { - readCoord(tls, (pParent + uintptr(((4 * 2) * i))), bp+72 /* &p1 */) - readCoord(tls, (pParent + uintptr((4 * ((2 * i) + 1)))), bp+76 /* &p2 */) + readCoord(tls, (pParent + uintptr(((4 * 2) * i))), bp+56 /* &p1 */) + readCoord(tls, (pParent + uintptr((4 * ((2 * i) + 1)))), bp+60 /* &p2 */) if (func() int32 { if (*RtreeCheck)(unsafe.Pointer(pCheck)).FbInt != 0 { - return (libc.Bool32(*(*int32)(unsafe.Pointer(bp + 64 /* &c1 */)) < *(*int32)(unsafe.Pointer(bp + 72 /* &p1 */)))) + return (libc.Bool32(*(*int32)(unsafe.Pointer(bp + 48 /* &c1 */)) < *(*int32)(unsafe.Pointer(bp + 56 /* &p1 */)))) } - return (libc.Bool32(*(*RtreeValue)(unsafe.Pointer(bp + 64 /* &c1 */)) < *(*RtreeValue)(unsafe.Pointer(bp + 72 /* &p1 */)))) + return (libc.Bool32(*(*RtreeValue)(unsafe.Pointer(bp + 48 /* &c1 */)) < *(*RtreeValue)(unsafe.Pointer(bp + 56 /* &p1 */)))) }() != 0) || (func() int32 { if (*RtreeCheck)(unsafe.Pointer(pCheck)).FbInt != 0 { - return (libc.Bool32(*(*int32)(unsafe.Pointer(bp + 68 /* &c2 */)) > *(*int32)(unsafe.Pointer(bp + 76 /* &p2 */)))) + return (libc.Bool32(*(*int32)(unsafe.Pointer(bp + 52 /* &c2 */)) > *(*int32)(unsafe.Pointer(bp + 60 /* &p2 */)))) } - return (libc.Bool32(*(*RtreeValue)(unsafe.Pointer(bp + 68 /* &c2 */)) > *(*RtreeValue)(unsafe.Pointer(bp + 76 /* &p2 */)))) + return (libc.Bool32(*(*RtreeValue)(unsafe.Pointer(bp + 52 /* &c2 */)) > *(*RtreeValue)(unsafe.Pointer(bp + 60 /* &p2 */)))) }() != 0) { rtreeCheckAppendMsg(tls, pCheck, - ts+35999 /* "Dimension %d of ..." */, libc.VaList(bp+32, i, iCell, iNode)) + ts+35999 /* "Dimension %d of ..." */, libc.VaList(bp+24, i, iCell, iNode)) } } } @@ -203231,33 +203231,33 @@ func rtreeCheckCellCoord(tls *libc.TLS, pCheck uintptr, iNode I64, iCell int32, // If any problems are discovered, an error message is appended to the // report accumulated in the RtreeCheck object. func rtreeCheckNode(tls *libc.TLS, pCheck uintptr, iDepth int32, aParent uintptr, iNode I64) { /* sqlite3.c:196419:13: */ - bp := tls.Alloc(76) - defer tls.Free(76) + bp := tls.Alloc(52) + defer tls.Free(52) var aNode uintptr = uintptr(0) - *(*int32)(unsafe.Pointer(bp + 72 /* nNode */)) = 0 + *(*int32)(unsafe.Pointer(bp + 48 /* nNode */)) = 0 - aNode = rtreeCheckGetNode(tls, pCheck, iNode, bp+72 /* &nNode */) + aNode = rtreeCheckGetNode(tls, pCheck, iNode, bp+48 /* &nNode */) if aNode != 0 { - if *(*int32)(unsafe.Pointer(bp + 72 /* nNode */)) < 4 { + if *(*int32)(unsafe.Pointer(bp + 48 /* nNode */)) < 4 { rtreeCheckAppendMsg(tls, pCheck, - ts+36066 /* "Node %lld is too..." */, libc.VaList(bp, iNode, *(*int32)(unsafe.Pointer(bp + 72 /* nNode */)))) + ts+36066 /* "Node %lld is too..." */, libc.VaList(bp, iNode, *(*int32)(unsafe.Pointer(bp + 48 /* nNode */)))) } else { var nCell int32 // Number of cells on page var i int32 // Used to iterate through cells if aParent == uintptr(0) { iDepth = readInt16(tls, aNode) if iDepth > RTREE_MAX_DEPTH { - rtreeCheckAppendMsg(tls, pCheck, ts+36100 /* "Rtree depth out ..." */, libc.VaList(bp+24, iDepth)) + rtreeCheckAppendMsg(tls, pCheck, ts+36100 /* "Rtree depth out ..." */, libc.VaList(bp+16, iDepth)) Xsqlite3_free(tls, aNode) return } } nCell = readInt16(tls, (aNode + 2)) - if (4 + (nCell * (8 + (((*RtreeCheck)(unsafe.Pointer(pCheck)).FnDim * 2) * 4)))) > *(*int32)(unsafe.Pointer(bp + 72 /* nNode */)) { + if (4 + (nCell * (8 + (((*RtreeCheck)(unsafe.Pointer(pCheck)).FnDim * 2) * 4)))) > *(*int32)(unsafe.Pointer(bp + 48 /* nNode */)) { rtreeCheckAppendMsg(tls, pCheck, ts+36130, /* "Node %lld is too..." */ - libc.VaList(bp+40, iNode, nCell, *(*int32)(unsafe.Pointer(bp + 72 /* nNode */)))) + libc.VaList(bp+24, iNode, nCell, *(*int32)(unsafe.Pointer(bp + 48 /* nNode */)))) } else { for i = 0; i < nCell; i++ { var pCell uintptr = (aNode + uintptr((4 + (i * (8 + (((*RtreeCheck)(unsafe.Pointer(pCheck)).FnDim * 2) * 4)))))) @@ -203285,8 +203285,8 @@ func rtreeCheckNode(tls *libc.TLS, pCheck uintptr, iDepth int32, aParent uintptr // an error message to the report in the RtreeCheck object indicated // by the first argument. func rtreeCheckCount(tls *libc.TLS, pCheck uintptr, zTbl uintptr, nExpect I64) { /* sqlite3.c:196482:13: */ - bp := tls.Alloc(64) - defer tls.Free(64) + bp := tls.Alloc(48) + defer tls.Free(48) if (*RtreeCheck)(unsafe.Pointer(pCheck)).Frc == SQLITE_OK { var pCount uintptr @@ -203297,7 +203297,7 @@ func rtreeCheckCount(tls *libc.TLS, pCheck uintptr, zTbl uintptr, nExpect I64) { var nActual I64 = Xsqlite3_column_int64(tls, pCount, 0) if nActual != nExpect { rtreeCheckAppendMsg(tls, pCheck, - ts+36216 /* "Wrong number of ..." */, libc.VaList(bp+32, zTbl, nExpect, nActual)) + ts+36216 /* "Wrong number of ..." */, libc.VaList(bp+24, zTbl, nExpect, nActual)) } } (*RtreeCheck)(unsafe.Pointer(pCheck)).Frc = Xsqlite3_finalize(tls, pCount) @@ -203308,78 +203308,78 @@ func rtreeCheckCount(tls *libc.TLS, pCheck uintptr, zTbl uintptr, nExpect I64) { // This function does the bulk of the work for the rtree integrity-check. // It is called by rtreecheck(), which is the SQL function implementation. func rtreeCheckTable(tls *libc.TLS, db uintptr, zDb uintptr, zTab uintptr, pzReport uintptr) int32 { /* sqlite3.c:196506:12: */ - bp := tls.Alloc(136) - defer tls.Free(136) + bp := tls.Alloc(120) + defer tls.Free(120) - // var check RtreeCheck at bp+48, 88 + // var check RtreeCheck at bp+32, 88 // Common context for various routines var pStmt uintptr = uintptr(0) // Used to find column count of rtree table var bEnd int32 = 0 // True if transaction should be closed var nAux int32 = 0 // Number of extra columns. // Initialize the context object - libc.Xmemset(tls, bp+48 /* &check */, 0, uint64(unsafe.Sizeof(RtreeCheck{}))) - (*RtreeCheck)(unsafe.Pointer(bp + 48 /* &check */)).Fdb = db - (*RtreeCheck)(unsafe.Pointer(bp + 48 /* &check */)).FzDb = zDb - (*RtreeCheck)(unsafe.Pointer(bp + 48 /* &check */)).FzTab = zTab + libc.Xmemset(tls, bp+32 /* &check */, 0, uint64(unsafe.Sizeof(RtreeCheck{}))) + (*RtreeCheck)(unsafe.Pointer(bp + 32 /* &check */)).Fdb = db + (*RtreeCheck)(unsafe.Pointer(bp + 32 /* &check */)).FzDb = zDb + (*RtreeCheck)(unsafe.Pointer(bp + 32 /* &check */)).FzTab = zTab // If there is not already an open transaction, open one now. This is // to ensure that the queries run as part of this integrity-check operate // on a consistent snapshot. if Xsqlite3_get_autocommit(tls, db) != 0 { - (*RtreeCheck)(unsafe.Pointer(bp + 48 /* &check */)).Frc = Xsqlite3_exec(tls, db, ts+21107 /* "BEGIN" */, uintptr(0), uintptr(0), uintptr(0)) + (*RtreeCheck)(unsafe.Pointer(bp + 32 /* &check */)).Frc = Xsqlite3_exec(tls, db, ts+21107 /* "BEGIN" */, uintptr(0), uintptr(0), uintptr(0)) bEnd = 1 } // Find the number of auxiliary columns - if (*RtreeCheck)(unsafe.Pointer(bp+48 /* &check */)).Frc == SQLITE_OK { - pStmt = rtreeCheckPrepare(tls, bp+48 /* &check */, ts+36283 /* "SELECT * FROM %Q..." */, libc.VaList(bp, zDb, zTab)) + if (*RtreeCheck)(unsafe.Pointer(bp+32 /* &check */)).Frc == SQLITE_OK { + pStmt = rtreeCheckPrepare(tls, bp+32 /* &check */, ts+36283 /* "SELECT * FROM %Q..." */, libc.VaList(bp, zDb, zTab)) if pStmt != 0 { nAux = (Xsqlite3_column_count(tls, pStmt) - 2) Xsqlite3_finalize(tls, pStmt) } - (*RtreeCheck)(unsafe.Pointer(bp + 48 /* &check */)).Frc = SQLITE_OK + (*RtreeCheck)(unsafe.Pointer(bp + 32 /* &check */)).Frc = SQLITE_OK } // Find number of dimensions in the rtree table. - pStmt = rtreeCheckPrepare(tls, bp+48 /* &check */, ts+34103 /* "SELECT * FROM %Q..." */, libc.VaList(bp+24, zDb, zTab)) + pStmt = rtreeCheckPrepare(tls, bp+32 /* &check */, ts+34103 /* "SELECT * FROM %Q..." */, libc.VaList(bp+16, zDb, zTab)) if pStmt != 0 { var rc int32 - (*RtreeCheck)(unsafe.Pointer(bp + 48 /* &check */)).FnDim = (((Xsqlite3_column_count(tls, pStmt) - 1) - nAux) / 2) - if (*RtreeCheck)(unsafe.Pointer(bp+48 /* &check */)).FnDim < 1 { - rtreeCheckAppendMsg(tls, bp+48 /* &check */, ts+36311 /* "Schema corrupt o..." */, 0) + (*RtreeCheck)(unsafe.Pointer(bp + 32 /* &check */)).FnDim = (((Xsqlite3_column_count(tls, pStmt) - 1) - nAux) / 2) + if (*RtreeCheck)(unsafe.Pointer(bp+32 /* &check */)).FnDim < 1 { + rtreeCheckAppendMsg(tls, bp+32 /* &check */, ts+36311 /* "Schema corrupt o..." */, 0) } else if SQLITE_ROW == Xsqlite3_step(tls, pStmt) { - (*RtreeCheck)(unsafe.Pointer(bp + 48 /* &check */)).FbInt = (libc.Bool32(Xsqlite3_column_type(tls, pStmt, 1) == SQLITE_INTEGER)) + (*RtreeCheck)(unsafe.Pointer(bp + 32 /* &check */)).FbInt = (libc.Bool32(Xsqlite3_column_type(tls, pStmt, 1) == SQLITE_INTEGER)) } rc = Xsqlite3_finalize(tls, pStmt) if rc != SQLITE_CORRUPT { - (*RtreeCheck)(unsafe.Pointer(bp + 48 /* &check */)).Frc = rc + (*RtreeCheck)(unsafe.Pointer(bp + 32 /* &check */)).Frc = rc } } // Do the actual integrity-check - if (*RtreeCheck)(unsafe.Pointer(bp+48 /* &check */)).FnDim >= 1 { - if (*RtreeCheck)(unsafe.Pointer(bp+48 /* &check */)).Frc == SQLITE_OK { - rtreeCheckNode(tls, bp+48 /* &check */, 0, uintptr(0), int64(1)) + if (*RtreeCheck)(unsafe.Pointer(bp+32 /* &check */)).FnDim >= 1 { + if (*RtreeCheck)(unsafe.Pointer(bp+32 /* &check */)).Frc == SQLITE_OK { + rtreeCheckNode(tls, bp+32 /* &check */, 0, uintptr(0), int64(1)) } - rtreeCheckCount(tls, bp+48 /* &check */, ts+36342 /* "_rowid" */, int64((*RtreeCheck)(unsafe.Pointer(bp+48 /* &check */)).FnLeaf)) - rtreeCheckCount(tls, bp+48 /* &check */, ts+36349 /* "_parent" */, int64((*RtreeCheck)(unsafe.Pointer(bp+48 /* &check */)).FnNonLeaf)) + rtreeCheckCount(tls, bp+32 /* &check */, ts+36342 /* "_rowid" */, int64((*RtreeCheck)(unsafe.Pointer(bp+32 /* &check */)).FnLeaf)) + rtreeCheckCount(tls, bp+32 /* &check */, ts+36349 /* "_parent" */, int64((*RtreeCheck)(unsafe.Pointer(bp+32 /* &check */)).FnNonLeaf)) } // Finalize SQL statements used by the integrity-check - Xsqlite3_finalize(tls, (*RtreeCheck)(unsafe.Pointer(bp+48 /* &check */)).FpGetNode) - Xsqlite3_finalize(tls, *(*uintptr)(unsafe.Pointer((bp + 48 /* &check */ + 40 /* &.aCheckMapping */)))) - Xsqlite3_finalize(tls, *(*uintptr)(unsafe.Pointer((bp + 48 /* &check */ + 40 /* &.aCheckMapping */) + 1*8))) + Xsqlite3_finalize(tls, (*RtreeCheck)(unsafe.Pointer(bp+32 /* &check */)).FpGetNode) + Xsqlite3_finalize(tls, *(*uintptr)(unsafe.Pointer((bp + 32 /* &check */ + 40 /* &.aCheckMapping */)))) + Xsqlite3_finalize(tls, *(*uintptr)(unsafe.Pointer((bp + 32 /* &check */ + 40 /* &.aCheckMapping */) + 1*8))) // If one was opened, close the transaction if bEnd != 0 { var rc int32 = Xsqlite3_exec(tls, db, ts+36357 /* "END" */, uintptr(0), uintptr(0), uintptr(0)) - if (*RtreeCheck)(unsafe.Pointer(bp+48 /* &check */)).Frc == SQLITE_OK { - (*RtreeCheck)(unsafe.Pointer(bp + 48 /* &check */)).Frc = rc + if (*RtreeCheck)(unsafe.Pointer(bp+32 /* &check */)).Frc == SQLITE_OK { + (*RtreeCheck)(unsafe.Pointer(bp + 32 /* &check */)).Frc = rc } } - *(*uintptr)(unsafe.Pointer(pzReport)) = (*RtreeCheck)(unsafe.Pointer(bp + 48 /* &check */)).FzReport - return (*RtreeCheck)(unsafe.Pointer(bp + 48 /* &check */)).Frc + *(*uintptr)(unsafe.Pointer(pzReport)) = (*RtreeCheck)(unsafe.Pointer(bp + 32 /* &check */)).FzReport + return (*RtreeCheck)(unsafe.Pointer(bp + 32 /* &check */)).Frc } // Usage: @@ -203866,8 +203866,8 @@ func geopolyBlobFunc(tls *libc.TLS, context uintptr, argc int32, argv uintptr) { // Interpret X as a polygon and render it as a JSON array // of coordinates. Or, if X is not a valid polygon, return NULL. func geopolyJsonFunc(tls *libc.TLS, context uintptr, argc int32, argv uintptr) { /* sqlite3.c:197024:13: */ - bp := tls.Alloc(48) - defer tls.Free(48) + bp := tls.Alloc(32) + defer tls.Free(32) var p uintptr = geopolyFuncParam(tls, context, *(*uintptr)(unsafe.Pointer(argv)), uintptr(0)) if p != 0 { @@ -203878,7 +203878,7 @@ func geopolyJsonFunc(tls *libc.TLS, context uintptr, argc int32, argv uintptr) { for i = 0; i < (*GeoPoly)(unsafe.Pointer(p)).FnVertex; i++ { Xsqlite3_str_appendf(tls, x, ts+36414 /* "[%!g,%!g]," */, libc.VaList(bp, float64(*(*GeoCoord)(unsafe.Pointer((p + 8 /* &.a */) + uintptr(((i)*2))*4))), float64(*(*GeoCoord)(unsafe.Pointer((p + 8 /* &.a */) + uintptr((((i)*2)+1))*4))))) } - Xsqlite3_str_appendf(tls, x, ts+36425 /* "[%!g,%!g]]" */, libc.VaList(bp+24, float64(*(*GeoCoord)(unsafe.Pointer((p + 8 /* &.a */)))), float64(*(*GeoCoord)(unsafe.Pointer((p + 8 /* &.a */) + 1*4))))) + Xsqlite3_str_appendf(tls, x, ts+36425 /* "[%!g,%!g]]" */, libc.VaList(bp+16, float64(*(*GeoCoord)(unsafe.Pointer((p + 8 /* &.a */)))), float64(*(*GeoCoord)(unsafe.Pointer((p + 8 /* &.a */) + 1*4))))) Xsqlite3_result_text(tls, context, Xsqlite3_str_finish(tls, x), -1, *(*uintptr)(unsafe.Pointer(&struct{ f func(*libc.TLS, uintptr) }{Xsqlite3_free}))) Xsqlite3_free(tls, p) } @@ -203889,8 +203889,8 @@ func geopolyJsonFunc(tls *libc.TLS, context uintptr, argc int32, argv uintptr) { // Interpret X as a polygon and render it as a SVG . // Additional arguments are added as attributes to the . func geopolySvgFunc(tls *libc.TLS, context uintptr, argc int32, argv uintptr) { /* sqlite3.c:197050:13: */ - bp := tls.Alloc(72) - defer tls.Free(72) + bp := tls.Alloc(48) + defer tls.Free(48) var p uintptr if argc < 1 { @@ -203907,11 +203907,11 @@ func geopolySvgFunc(tls *libc.TLS, context uintptr, argc int32, argv uintptr) { Xsqlite3_str_appendf(tls, x, ts+36454 /* "%c%g,%g" */, libc.VaList(bp, int32(cSep), float64(*(*GeoCoord)(unsafe.Pointer((p + 8 /* &.a */) + uintptr(((i)*2))*4))), float64(*(*GeoCoord)(unsafe.Pointer((p + 8 /* &.a */) + uintptr((((i)*2)+1))*4))))) cSep = int8(' ') } - Xsqlite3_str_appendf(tls, x, ts+36462 /* " %g,%g'" */, libc.VaList(bp+32, float64(*(*GeoCoord)(unsafe.Pointer((p + 8 /* &.a */)))), float64(*(*GeoCoord)(unsafe.Pointer((p + 8 /* &.a */) + 1*4))))) + Xsqlite3_str_appendf(tls, x, ts+36462 /* " %g,%g'" */, libc.VaList(bp+24, float64(*(*GeoCoord)(unsafe.Pointer((p + 8 /* &.a */)))), float64(*(*GeoCoord)(unsafe.Pointer((p + 8 /* &.a */) + 1*4))))) for i = 1; i < argc; i++ { var z uintptr = Xsqlite3_value_text(tls, *(*uintptr)(unsafe.Pointer(argv + uintptr(i)*8))) if (z != 0) && (*(*int8)(unsafe.Pointer(z)) != 0) { - Xsqlite3_str_appendf(tls, x, ts+36470 /* " %s" */, libc.VaList(bp+56, z)) + Xsqlite3_str_appendf(tls, x, ts+36470 /* " %s" */, libc.VaList(bp+40, z)) } } Xsqlite3_str_appendf(tls, x, ts+36474 /* ">" */, 0) @@ -204891,8 +204891,8 @@ func geopolyDebugFunc(tls *libc.TLS, context uintptr, argc int32, argv uintptr) // argv[2] -> table name // argv[...] -> column names... func geopolyInit(tls *libc.TLS, db uintptr, pAux uintptr, argc int32, argv uintptr, ppVtab uintptr, pzErr uintptr, isCreate int32) int32 { /* sqlite3.c:197867:12: */ - bp := tls.Alloc(64) - defer tls.Free(64) + bp := tls.Alloc(32) + defer tls.Free(32) var rc int32 var pRtree uintptr @@ -204939,7 +204939,7 @@ __2: goto __4 } (*Rtree)(unsafe.Pointer(pRtree)).FnAux++ - Xsqlite3_str_appendf(tls, pSql, ts+36509 /* ",%s" */, libc.VaList(bp+16, *(*uintptr)(unsafe.Pointer(argv + uintptr(ii)*8)))) + Xsqlite3_str_appendf(tls, pSql, ts+36509 /* ",%s" */, libc.VaList(bp+8, *(*uintptr)(unsafe.Pointer(argv + uintptr(ii)*8)))) goto __3 __3: ii++ @@ -204958,7 +204958,7 @@ __5: if !(SQLITE_OK != (libc.AssignInt32(&rc, Xsqlite3_declare_vtab(tls, db, zSql)))) { goto __7 } - *(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3_mprintf(tls, ts+951 /* "%s" */, libc.VaList(bp+32, Xsqlite3_errmsg(tls, db))) + *(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3_mprintf(tls, ts+951 /* "%s" */, libc.VaList(bp+16, Xsqlite3_errmsg(tls, db))) __7: ; __6: @@ -204984,7 +204984,7 @@ __9: if !(rc != 0) { goto __10 } - *(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3_mprintf(tls, ts+951 /* "%s" */, libc.VaList(bp+48, Xsqlite3_errmsg(tls, db))) + *(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3_mprintf(tls, ts+951 /* "%s" */, libc.VaList(bp+24, Xsqlite3_errmsg(tls, db))) goto geopolyInit_fail __10: ; @@ -207042,8 +207042,8 @@ func rbuFossilDeltaFunc(tls *libc.TLS, context uintptr, argc int32, argv uintptr // point to a buffer containing an error message. It is the responsibility // of the caller to (eventually) free this buffer using sqlite3_free(). func prepareAndCollectError(tls *libc.TLS, db uintptr, ppStmt uintptr, pzErrmsg uintptr, zSql uintptr) int32 { /* sqlite3.c:200791:12: */ - bp := tls.Alloc(16) - defer tls.Free(16) + bp := tls.Alloc(8) + defer tls.Free(8) var rc int32 = Xsqlite3_prepare_v2(tls, db, zSql, -1, ppStmt, uintptr(0)) if rc != SQLITE_OK { @@ -207060,8 +207060,8 @@ func prepareAndCollectError(tls *libc.TLS, db uintptr, ppStmt uintptr, pzErrmsg // containing an error message. It is the responsibility of the caller // to eventually free this buffer using sqlite3_free(). func resetAndCollectError(tls *libc.TLS, pStmt uintptr, pzErrmsg uintptr) int32 { /* sqlite3.c:200813:12: */ - bp := tls.Alloc(16) - defer tls.Free(16) + bp := tls.Alloc(8) + defer tls.Free(8) var rc int32 = Xsqlite3_reset(tls, pStmt) if rc != SQLITE_OK { @@ -207272,8 +207272,8 @@ func rbuTargetNameFunc(tls *libc.TLS, pCtx uintptr, argc int32, argv uintptr) { // left in the RBU handle passed as the first argument. A copy of the // error code is returned. func rbuObjIterFirst(tls *libc.TLS, p uintptr, pIter uintptr) int32 { /* sqlite3.c:201042:12: */ - bp := tls.Alloc(16) - defer tls.Free(16) + bp := tls.Alloc(8) + defer tls.Free(8) var rc int32 libc.Xmemset(tls, pIter, 0, uint64(unsafe.Sizeof(RbuObjIter{}))) @@ -207422,8 +207422,8 @@ func rbuStrndup(tls *libc.TLS, zStr uintptr, pRc uintptr) uintptr { /* sqlite3.c // rbu handle error code is not already set, set the error code and error // message accordingly. func rbuFinalize(tls *libc.TLS, p uintptr, pStmt uintptr) { /* sqlite3.c:201199:13: */ - bp := tls.Alloc(16) - defer tls.Free(16) + bp := tls.Alloc(8) + defer tls.Free(8) var db uintptr = Xsqlite3_db_handle(tls, pStmt) var rc int32 = Xsqlite3_finalize(tls, pStmt) @@ -207472,45 +207472,45 @@ func rbuFinalize(tls *libc.TLS, p uintptr, pStmt uintptr) { /* sqlite3.c:201199: // return RBU_PK_NONE // } func rbuTableType(tls *libc.TLS, p uintptr, zTab uintptr, peType uintptr, piTnum uintptr, piPk uintptr) { /* sqlite3.c:201247:13: */ - bp := tls.Alloc(96) - defer tls.Free(96) + bp := tls.Alloc(64) + defer tls.Free(64) // 0) SELECT count(*) FROM sqlite_schema where name=%Q AND IsVirtual(%Q) // 1) PRAGMA index_list = ? // 2) SELECT count(*) FROM sqlite_schema where name=%Q // 3) PRAGMA table_info = ? - // var aStmt [4]uintptr at bp+64, 32 + // var aStmt [4]uintptr at bp+32, 32 var zOrig uintptr var zIdx uintptr var i uint32 - *(*[4]uintptr)(unsafe.Pointer(bp + 64 /* aStmt */)) = [4]uintptr{uintptr(0), uintptr(0), uintptr(0), uintptr(0)} + *(*[4]uintptr)(unsafe.Pointer(bp + 32 /* aStmt */)) = [4]uintptr{uintptr(0), uintptr(0), uintptr(0), uintptr(0)} *(*int32)(unsafe.Pointer(peType)) = RBU_PK_NOTABLE *(*int32)(unsafe.Pointer(piPk)) = 0 - (*Sqlite3rbu)(unsafe.Pointer(p)).Frc = prepareFreeAndCollectError(tls, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbMain, (bp + 64 /* &aStmt */), (p + 64 /* &.zErrmsg */), + (*Sqlite3rbu)(unsafe.Pointer(p)).Frc = prepareFreeAndCollectError(tls, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbMain, (bp + 32 /* &aStmt */), (p + 64 /* &.zErrmsg */), Xsqlite3_mprintf(tls, ts+37319 /* "SELECT (sql LIKE..." */, libc.VaList(bp, zTab))) - if !(((*Sqlite3rbu)(unsafe.Pointer(p)).Frc != SQLITE_OK) || (Xsqlite3_step(tls, *(*uintptr)(unsafe.Pointer(bp + 64 /* &aStmt[0] */))) != SQLITE_ROW)) { + if !(((*Sqlite3rbu)(unsafe.Pointer(p)).Frc != SQLITE_OK) || (Xsqlite3_step(tls, *(*uintptr)(unsafe.Pointer(bp + 32 /* &aStmt[0] */))) != SQLITE_ROW)) { goto __1 } // Either an error, or no such table. goto rbuTableType_end __1: ; - if !(Xsqlite3_column_int(tls, *(*uintptr)(unsafe.Pointer(bp + 64 /* &aStmt[0] */)), 0) != 0) { + if !(Xsqlite3_column_int(tls, *(*uintptr)(unsafe.Pointer(bp + 32 /* &aStmt[0] */)), 0) != 0) { goto __2 } *(*int32)(unsafe.Pointer(peType)) = RBU_PK_VTAB // virtual table goto rbuTableType_end __2: ; - *(*int32)(unsafe.Pointer(piTnum)) = Xsqlite3_column_int(tls, *(*uintptr)(unsafe.Pointer(bp + 64 /* &aStmt[0] */)), 1) + *(*int32)(unsafe.Pointer(piTnum)) = Xsqlite3_column_int(tls, *(*uintptr)(unsafe.Pointer(bp + 32 /* &aStmt[0] */)), 1) - (*Sqlite3rbu)(unsafe.Pointer(p)).Frc = prepareFreeAndCollectError(tls, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbMain, (bp + 64 /* &aStmt */ + 1*8), (p + 64 /* &.zErrmsg */), - Xsqlite3_mprintf(tls, ts+37400 /* "PRAGMA index_lis..." */, libc.VaList(bp+16, zTab))) + (*Sqlite3rbu)(unsafe.Pointer(p)).Frc = prepareFreeAndCollectError(tls, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbMain, (bp + 32 /* &aStmt */ + 1*8), (p + 64 /* &.zErrmsg */), + Xsqlite3_mprintf(tls, ts+37400 /* "PRAGMA index_lis..." */, libc.VaList(bp+8, zTab))) if !((*Sqlite3rbu)(unsafe.Pointer(p)).Frc != 0) { goto __3 } @@ -207518,24 +207518,24 @@ __2: __3: ; __4: - if !(Xsqlite3_step(tls, *(*uintptr)(unsafe.Pointer(bp + 64 /* &aStmt[0] */ + 1*8))) == SQLITE_ROW) { + if !(Xsqlite3_step(tls, *(*uintptr)(unsafe.Pointer(bp + 32 /* &aStmt[0] */ + 1*8))) == SQLITE_ROW) { goto __5 } - zOrig = Xsqlite3_column_text(tls, *(*uintptr)(unsafe.Pointer(bp + 64 /* &aStmt[0] */ + 1*8)), 3) - zIdx = Xsqlite3_column_text(tls, *(*uintptr)(unsafe.Pointer(bp + 64 /* &aStmt[0] */ + 1*8)), 1) + zOrig = Xsqlite3_column_text(tls, *(*uintptr)(unsafe.Pointer(bp + 32 /* &aStmt[0] */ + 1*8)), 3) + zIdx = Xsqlite3_column_text(tls, *(*uintptr)(unsafe.Pointer(bp + 32 /* &aStmt[0] */ + 1*8)), 1) if !(((zOrig != 0) && (zIdx != 0)) && (int32(*(*U8)(unsafe.Pointer(zOrig))) == 'p')) { goto __6 } - (*Sqlite3rbu)(unsafe.Pointer(p)).Frc = prepareFreeAndCollectError(tls, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbMain, (bp + 64 /* &aStmt */ + 2*8), (p + 64 /* &.zErrmsg */), + (*Sqlite3rbu)(unsafe.Pointer(p)).Frc = prepareFreeAndCollectError(tls, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbMain, (bp + 32 /* &aStmt */ + 2*8), (p + 64 /* &.zErrmsg */), Xsqlite3_mprintf(tls, - ts+37421 /* "SELECT rootpage ..." */, libc.VaList(bp+32, zIdx))) + ts+37421 /* "SELECT rootpage ..." */, libc.VaList(bp+16, zIdx))) if !((*Sqlite3rbu)(unsafe.Pointer(p)).Frc == SQLITE_OK) { goto __7 } - if !(Xsqlite3_step(tls, *(*uintptr)(unsafe.Pointer(bp + 64 /* &aStmt[0] */ + 2*8))) == SQLITE_ROW) { + if !(Xsqlite3_step(tls, *(*uintptr)(unsafe.Pointer(bp + 32 /* &aStmt[0] */ + 2*8))) == SQLITE_ROW) { goto __8 } - *(*int32)(unsafe.Pointer(piPk)) = Xsqlite3_column_int(tls, *(*uintptr)(unsafe.Pointer(bp + 64 /* &aStmt[0] */ + 2*8)), 0) + *(*int32)(unsafe.Pointer(piPk)) = Xsqlite3_column_int(tls, *(*uintptr)(unsafe.Pointer(bp + 32 /* &aStmt[0] */ + 2*8)), 0) *(*int32)(unsafe.Pointer(peType)) = RBU_PK_EXTERNAL goto __9 __8: @@ -207551,16 +207551,16 @@ __6: __5: ; - (*Sqlite3rbu)(unsafe.Pointer(p)).Frc = prepareFreeAndCollectError(tls, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbMain, (bp + 64 /* &aStmt */ + 3*8), (p + 64 /* &.zErrmsg */), - Xsqlite3_mprintf(tls, ts+37472 /* "PRAGMA table_inf..." */, libc.VaList(bp+48, zTab))) + (*Sqlite3rbu)(unsafe.Pointer(p)).Frc = prepareFreeAndCollectError(tls, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbMain, (bp + 32 /* &aStmt */ + 3*8), (p + 64 /* &.zErrmsg */), + Xsqlite3_mprintf(tls, ts+37472 /* "PRAGMA table_inf..." */, libc.VaList(bp+24, zTab))) if !((*Sqlite3rbu)(unsafe.Pointer(p)).Frc == SQLITE_OK) { goto __10 } __11: - if !(Xsqlite3_step(tls, *(*uintptr)(unsafe.Pointer(bp + 64 /* &aStmt[0] */ + 3*8))) == SQLITE_ROW) { + if !(Xsqlite3_step(tls, *(*uintptr)(unsafe.Pointer(bp + 32 /* &aStmt[0] */ + 3*8))) == SQLITE_ROW) { goto __12 } - if !(Xsqlite3_column_int(tls, *(*uintptr)(unsafe.Pointer(bp + 64 /* &aStmt[0] */ + 3*8)), 5) > 0) { + if !(Xsqlite3_column_int(tls, *(*uintptr)(unsafe.Pointer(bp + 32 /* &aStmt[0] */ + 3*8)), 5) > 0) { goto __13 } *(*int32)(unsafe.Pointer(peType)) = RBU_PK_IPK // explicit IPK column @@ -207580,7 +207580,7 @@ __14: if !(uint64(i) < (uint64(unsafe.Sizeof([4]uintptr{})) / uint64(unsafe.Sizeof(uintptr(0))))) { goto __16 } - rbuFinalize(tls, p, *(*uintptr)(unsafe.Pointer(bp + 64 /* &aStmt[0] */ + uintptr(i)*8))) + rbuFinalize(tls, p, *(*uintptr)(unsafe.Pointer(bp + 32 /* &aStmt[0] */ + uintptr(i)*8))) goto __15 __15: i++ @@ -207592,33 +207592,33 @@ __16: // This is a helper function for rbuObjIterCacheTableInfo(). It populates // the pIter->abIndexed[] array. func rbuObjIterCacheIndexedCols(tls *libc.TLS, p uintptr, pIter uintptr) { /* sqlite3.c:201331:13: */ - bp := tls.Alloc(48) - defer tls.Free(48) + bp := tls.Alloc(32) + defer tls.Free(32) - *(*uintptr)(unsafe.Pointer(bp + 32 /* pList */)) = uintptr(0) + *(*uintptr)(unsafe.Pointer(bp + 16 /* pList */)) = uintptr(0) var bIndex int32 = 0 if (*Sqlite3rbu)(unsafe.Pointer(p)).Frc == SQLITE_OK { libc.Xmemcpy(tls, (*RbuObjIter)(unsafe.Pointer(pIter)).FabIndexed, (*RbuObjIter)(unsafe.Pointer(pIter)).FabTblPk, (uint64(unsafe.Sizeof(U8(0))) * uint64((*RbuObjIter)(unsafe.Pointer(pIter)).FnTblCol))) - (*Sqlite3rbu)(unsafe.Pointer(p)).Frc = prepareFreeAndCollectError(tls, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbMain, bp+32 /* &pList */, (p + 64 /* &.zErrmsg */), + (*Sqlite3rbu)(unsafe.Pointer(p)).Frc = prepareFreeAndCollectError(tls, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbMain, bp+16 /* &pList */, (p + 64 /* &.zErrmsg */), Xsqlite3_mprintf(tls, ts+37493 /* "PRAGMA main.inde..." */, libc.VaList(bp, (*RbuObjIter)(unsafe.Pointer(pIter)).FzTbl))) } (*RbuObjIter)(unsafe.Pointer(pIter)).FnIndex = 0 - for ((*Sqlite3rbu)(unsafe.Pointer(p)).Frc == SQLITE_OK) && (SQLITE_ROW == Xsqlite3_step(tls, *(*uintptr)(unsafe.Pointer(bp + 32 /* pList */)))) { - var zIdx uintptr = Xsqlite3_column_text(tls, *(*uintptr)(unsafe.Pointer(bp + 32 /* pList */)), 1) - var bPartial int32 = Xsqlite3_column_int(tls, *(*uintptr)(unsafe.Pointer(bp + 32 /* pList */)), 4) - *(*uintptr)(unsafe.Pointer(bp + 40 /* pXInfo */)) = uintptr(0) + for ((*Sqlite3rbu)(unsafe.Pointer(p)).Frc == SQLITE_OK) && (SQLITE_ROW == Xsqlite3_step(tls, *(*uintptr)(unsafe.Pointer(bp + 16 /* pList */)))) { + var zIdx uintptr = Xsqlite3_column_text(tls, *(*uintptr)(unsafe.Pointer(bp + 16 /* pList */)), 1) + var bPartial int32 = Xsqlite3_column_int(tls, *(*uintptr)(unsafe.Pointer(bp + 16 /* pList */)), 4) + *(*uintptr)(unsafe.Pointer(bp + 24 /* pXInfo */)) = uintptr(0) if zIdx == uintptr(0) { break } if bPartial != 0 { libc.Xmemset(tls, (*RbuObjIter)(unsafe.Pointer(pIter)).FabIndexed, 0x01, (uint64(unsafe.Sizeof(U8(0))) * uint64((*RbuObjIter)(unsafe.Pointer(pIter)).FnTblCol))) } - (*Sqlite3rbu)(unsafe.Pointer(p)).Frc = prepareFreeAndCollectError(tls, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbMain, bp+40 /* &pXInfo */, (p + 64 /* &.zErrmsg */), - Xsqlite3_mprintf(tls, ts+37521 /* "PRAGMA main.inde..." */, libc.VaList(bp+16, zIdx))) - for ((*Sqlite3rbu)(unsafe.Pointer(p)).Frc == SQLITE_OK) && (SQLITE_ROW == Xsqlite3_step(tls, *(*uintptr)(unsafe.Pointer(bp + 40 /* pXInfo */)))) { - var iCid int32 = Xsqlite3_column_int(tls, *(*uintptr)(unsafe.Pointer(bp + 40 /* pXInfo */)), 1) + (*Sqlite3rbu)(unsafe.Pointer(p)).Frc = prepareFreeAndCollectError(tls, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbMain, bp+24 /* &pXInfo */, (p + 64 /* &.zErrmsg */), + Xsqlite3_mprintf(tls, ts+37521 /* "PRAGMA main.inde..." */, libc.VaList(bp+8, zIdx))) + for ((*Sqlite3rbu)(unsafe.Pointer(p)).Frc == SQLITE_OK) && (SQLITE_ROW == Xsqlite3_step(tls, *(*uintptr)(unsafe.Pointer(bp + 24 /* pXInfo */)))) { + var iCid int32 = Xsqlite3_column_int(tls, *(*uintptr)(unsafe.Pointer(bp + 24 /* pXInfo */)), 1) if iCid >= 0 { *(*U8)(unsafe.Pointer((*RbuObjIter)(unsafe.Pointer(pIter)).FabIndexed + uintptr(iCid))) = U8(1) } @@ -207626,7 +207626,7 @@ func rbuObjIterCacheIndexedCols(tls *libc.TLS, p uintptr, pIter uintptr) { /* sq libc.Xmemset(tls, (*RbuObjIter)(unsafe.Pointer(pIter)).FabIndexed, 0x01, (uint64(unsafe.Sizeof(U8(0))) * uint64((*RbuObjIter)(unsafe.Pointer(pIter)).FnTblCol))) } } - rbuFinalize(tls, p, *(*uintptr)(unsafe.Pointer(bp + 40 /* pXInfo */))) + rbuFinalize(tls, p, *(*uintptr)(unsafe.Pointer(bp + 24 /* pXInfo */))) bIndex = 1 (*RbuObjIter)(unsafe.Pointer(pIter)).FnIndex++ } @@ -207636,7 +207636,7 @@ func rbuObjIterCacheIndexedCols(tls *libc.TLS, p uintptr, pIter uintptr) { /* sq (*RbuObjIter)(unsafe.Pointer(pIter)).FnIndex-- } - rbuFinalize(tls, p, *(*uintptr)(unsafe.Pointer(bp + 32 /* pList */))) + rbuFinalize(tls, p, *(*uintptr)(unsafe.Pointer(bp + 16 /* pList */))) if bIndex == 0 { (*RbuObjIter)(unsafe.Pointer(pIter)).FabIndexed = uintptr(0) } @@ -207650,20 +207650,20 @@ func rbuObjIterCacheIndexedCols(tls *libc.TLS, p uintptr, pIter uintptr) { /* sq // an error does occur, an error code and error message are also left in // the RBU handle. func rbuObjIterCacheTableInfo(tls *libc.TLS, p uintptr, pIter uintptr) int32 { /* sqlite3.c:201385:12: */ - bp := tls.Alloc(112) - defer tls.Free(112) + bp := tls.Alloc(72) + defer tls.Free(72) if (*RbuObjIter)(unsafe.Pointer(pIter)).FazTblCol == uintptr(0) { - *(*uintptr)(unsafe.Pointer(bp + 104 /* pStmt */)) = uintptr(0) + *(*uintptr)(unsafe.Pointer(bp + 64 /* pStmt */)) = uintptr(0) var nCol int32 = 0 var i int32 // for() loop iterator variable var bRbuRowid int32 = 0 // If input table has column "rbu_rowid" var iOrder int32 = 0 - *(*int32)(unsafe.Pointer(bp + 96 /* iTnum */)) = 0 + *(*int32)(unsafe.Pointer(bp + 56 /* iTnum */)) = 0 // Figure out the type of table this step will deal with. - rbuTableType(tls, p, (*RbuObjIter)(unsafe.Pointer(pIter)).FzTbl, (pIter + 72 /* &.eType */), bp+96 /* &iTnum */, (pIter + 108 /* &.iPkTnum */)) + rbuTableType(tls, p, (*RbuObjIter)(unsafe.Pointer(pIter)).FzTbl, (pIter + 72 /* &.eType */), bp+56 /* &iTnum */, (pIter + 108 /* &.iPkTnum */)) if ((*Sqlite3rbu)(unsafe.Pointer(p)).Frc == SQLITE_OK) && ((*RbuObjIter)(unsafe.Pointer(pIter)).FeType == RBU_PK_NOTABLE) { (*Sqlite3rbu)(unsafe.Pointer(p)).Frc = SQLITE_ERROR (*Sqlite3rbu)(unsafe.Pointer(p)).FzErrmsg = Xsqlite3_mprintf(tls, ts+26186 /* "no such table: %..." */, libc.VaList(bp, (*RbuObjIter)(unsafe.Pointer(pIter)).FzTbl)) @@ -207672,20 +207672,20 @@ func rbuObjIterCacheTableInfo(tls *libc.TLS, p uintptr, pIter uintptr) int32 { / return (*Sqlite3rbu)(unsafe.Pointer(p)).Frc } if (*RbuObjIter)(unsafe.Pointer(pIter)).FzIdx == uintptr(0) { - (*RbuObjIter)(unsafe.Pointer(pIter)).FiTnum = *(*int32)(unsafe.Pointer(bp + 96 /* iTnum */)) + (*RbuObjIter)(unsafe.Pointer(pIter)).FiTnum = *(*int32)(unsafe.Pointer(bp + 56 /* iTnum */)) } // Populate the azTblCol[] and nTblCol variables based on the columns // of the input table. Ignore any input table columns that begin with // "rbu_". - (*Sqlite3rbu)(unsafe.Pointer(p)).Frc = prepareFreeAndCollectError(tls, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbRbu, bp+104 /* &pStmt */, (p + 64 /* &.zErrmsg */), - Xsqlite3_mprintf(tls, ts+37550 /* "SELECT * FROM '%..." */, libc.VaList(bp+16, (*RbuObjIter)(unsafe.Pointer(pIter)).FzDataTbl))) + (*Sqlite3rbu)(unsafe.Pointer(p)).Frc = prepareFreeAndCollectError(tls, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbRbu, bp+64 /* &pStmt */, (p + 64 /* &.zErrmsg */), + Xsqlite3_mprintf(tls, ts+37550 /* "SELECT * FROM '%..." */, libc.VaList(bp+8, (*RbuObjIter)(unsafe.Pointer(pIter)).FzDataTbl))) if (*Sqlite3rbu)(unsafe.Pointer(p)).Frc == SQLITE_OK { - nCol = Xsqlite3_column_count(tls, *(*uintptr)(unsafe.Pointer(bp + 104 /* pStmt */))) + nCol = Xsqlite3_column_count(tls, *(*uintptr)(unsafe.Pointer(bp + 64 /* pStmt */))) rbuAllocateIterArrays(tls, p, pIter, nCol) } for i = 0; ((*Sqlite3rbu)(unsafe.Pointer(p)).Frc == SQLITE_OK) && (i < nCol); i++ { - var zName uintptr = Xsqlite3_column_name(tls, *(*uintptr)(unsafe.Pointer(bp + 104 /* pStmt */)), i) + var zName uintptr = Xsqlite3_column_name(tls, *(*uintptr)(unsafe.Pointer(bp + 64 /* pStmt */)), i) if Xsqlite3_strnicmp(tls, ts+37569 /* "rbu_" */, zName, 4) != 0 { var zCopy uintptr = rbuStrndup(tls, zName, (p + 56 /* &.rc */)) *(*int32)(unsafe.Pointer((*RbuObjIter)(unsafe.Pointer(pIter)).FaiSrcOrder + uintptr((*RbuObjIter)(unsafe.Pointer(pIter)).FnTblCol)*4)) = (*RbuObjIter)(unsafe.Pointer(pIter)).FnTblCol @@ -207694,15 +207694,15 @@ func rbuObjIterCacheTableInfo(tls *libc.TLS, p uintptr, pIter uintptr) int32 { / bRbuRowid = 1 } } - Xsqlite3_finalize(tls, *(*uintptr)(unsafe.Pointer(bp + 104 /* pStmt */))) - *(*uintptr)(unsafe.Pointer(bp + 104 /* pStmt */)) = uintptr(0) + Xsqlite3_finalize(tls, *(*uintptr)(unsafe.Pointer(bp + 64 /* pStmt */))) + *(*uintptr)(unsafe.Pointer(bp + 64 /* pStmt */)) = uintptr(0) if (((*Sqlite3rbu)(unsafe.Pointer(p)).Frc == SQLITE_OK) && ((libc.Bool32((*Sqlite3rbu)(unsafe.Pointer((p))).FzTarget == uintptr(0))) == 0)) && (bRbuRowid != (libc.Bool32(((*RbuObjIter)(unsafe.Pointer(pIter)).FeType == RBU_PK_VTAB) || ((*RbuObjIter)(unsafe.Pointer(pIter)).FeType == RBU_PK_NONE)))) { (*Sqlite3rbu)(unsafe.Pointer(p)).Frc = SQLITE_ERROR (*Sqlite3rbu)(unsafe.Pointer(p)).FzErrmsg = Xsqlite3_mprintf(tls, - ts+37584 /* "table %q %s rbu_..." */, libc.VaList(bp+32, (*RbuObjIter)(unsafe.Pointer(pIter)).FzDataTbl, + ts+37584 /* "table %q %s rbu_..." */, libc.VaList(bp+16, (*RbuObjIter)(unsafe.Pointer(pIter)).FzDataTbl, func() uintptr { if bRbuRowid != 0 { return ts + 37613 /* "may not have" */ @@ -207715,11 +207715,11 @@ func rbuObjIterCacheTableInfo(tls *libc.TLS, p uintptr, pIter uintptr) int32 { / // present in the input table. Populate the abTblPk[], azTblType[] and // aiTblOrder[] arrays at the same time. if (*Sqlite3rbu)(unsafe.Pointer(p)).Frc == SQLITE_OK { - (*Sqlite3rbu)(unsafe.Pointer(p)).Frc = prepareFreeAndCollectError(tls, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbMain, bp+104 /* &pStmt */, (p + 64 /* &.zErrmsg */), - Xsqlite3_mprintf(tls, ts+37635 /* "PRAGMA table_inf..." */, libc.VaList(bp+56, (*RbuObjIter)(unsafe.Pointer(pIter)).FzTbl))) + (*Sqlite3rbu)(unsafe.Pointer(p)).Frc = prepareFreeAndCollectError(tls, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbMain, bp+64 /* &pStmt */, (p + 64 /* &.zErrmsg */), + Xsqlite3_mprintf(tls, ts+37635 /* "PRAGMA table_inf..." */, libc.VaList(bp+32, (*RbuObjIter)(unsafe.Pointer(pIter)).FzTbl))) } - for ((*Sqlite3rbu)(unsafe.Pointer(p)).Frc == SQLITE_OK) && (SQLITE_ROW == Xsqlite3_step(tls, *(*uintptr)(unsafe.Pointer(bp + 104 /* pStmt */)))) { - var zName uintptr = Xsqlite3_column_text(tls, *(*uintptr)(unsafe.Pointer(bp + 104 /* pStmt */)), 1) + for ((*Sqlite3rbu)(unsafe.Pointer(p)).Frc == SQLITE_OK) && (SQLITE_ROW == Xsqlite3_step(tls, *(*uintptr)(unsafe.Pointer(bp + 64 /* pStmt */)))) { + var zName uintptr = Xsqlite3_column_text(tls, *(*uintptr)(unsafe.Pointer(bp + 64 /* pStmt */)), 1) if zName == uintptr(0) { break } // An OOM - finalize() below returns S_NOMEM @@ -207731,11 +207731,11 @@ func rbuObjIterCacheTableInfo(tls *libc.TLS, p uintptr, pIter uintptr) int32 { / if i == (*RbuObjIter)(unsafe.Pointer(pIter)).FnTblCol { (*Sqlite3rbu)(unsafe.Pointer(p)).Frc = SQLITE_ERROR (*Sqlite3rbu)(unsafe.Pointer(p)).FzErrmsg = Xsqlite3_mprintf(tls, ts+37657, /* "column missing f..." */ - libc.VaList(bp+72, (*RbuObjIter)(unsafe.Pointer(pIter)).FzDataTbl, zName)) + libc.VaList(bp+40, (*RbuObjIter)(unsafe.Pointer(pIter)).FzDataTbl, zName)) } else { - var iPk int32 = Xsqlite3_column_int(tls, *(*uintptr)(unsafe.Pointer(bp + 104 /* pStmt */)), 5) - var bNotNull int32 = Xsqlite3_column_int(tls, *(*uintptr)(unsafe.Pointer(bp + 104 /* pStmt */)), 3) - var zType uintptr = Xsqlite3_column_text(tls, *(*uintptr)(unsafe.Pointer(bp + 104 /* pStmt */)), 2) + var iPk int32 = Xsqlite3_column_int(tls, *(*uintptr)(unsafe.Pointer(bp + 64 /* pStmt */)), 5) + var bNotNull int32 = Xsqlite3_column_int(tls, *(*uintptr)(unsafe.Pointer(bp + 64 /* pStmt */)), 3) + var zType uintptr = Xsqlite3_column_text(tls, *(*uintptr)(unsafe.Pointer(bp + 64 /* pStmt */)), 2) if i != iOrder { { @@ -207760,7 +207760,7 @@ func rbuObjIterCacheTableInfo(tls *libc.TLS, p uintptr, pIter uintptr) int32 { / } } - rbuFinalize(tls, p, *(*uintptr)(unsafe.Pointer(bp + 104 /* pStmt */))) + rbuFinalize(tls, p, *(*uintptr)(unsafe.Pointer(bp + 64 /* pStmt */))) rbuObjIterCacheIndexedCols(tls, p, pIter) } @@ -207772,8 +207772,8 @@ func rbuObjIterCacheTableInfo(tls *libc.TLS, p uintptr, pIter uintptr) int32 { / // string containing some SQL clause or list based on one or more of the // column names currently stored in the pIter->azTblCol[] array. func rbuObjIterGetCollist(tls *libc.TLS, p uintptr, pIter uintptr) uintptr { /* sqlite3.c:201495:13: */ - bp := tls.Alloc(32) - defer tls.Free(32) + bp := tls.Alloc(24) + defer tls.Free(24) var zList uintptr = uintptr(0) var zSep uintptr = ts + 915 /* "" */ @@ -207791,8 +207791,8 @@ func rbuObjIterGetCollist(tls *libc.TLS, p uintptr, pIter uintptr) uintptr { /* // zPre. After each column name, add the zPost text. Use zSeparator as // the separator text (usually ", "). func rbuObjIterGetPkList(tls *libc.TLS, p uintptr, pIter uintptr, zPre uintptr, zSeparator uintptr, zPost uintptr) uintptr { /* sqlite3.c:201516:13: */ - bp := tls.Alloc(48) - defer tls.Free(48) + bp := tls.Alloc(40) + defer tls.Free(40) var iPk int32 = 1 var zRet uintptr = uintptr(0) @@ -207833,35 +207833,35 @@ func rbuObjIterGetPkList(tls *libc.TLS, p uintptr, pIter uintptr, zPre uintptr, // Instead of "?" placeholders, the actual WHERE clauses created by // this function contain literal SQL values. func rbuVacuumTableStart(tls *libc.TLS, p uintptr, pIter uintptr, bRowid int32, zWrite uintptr) uintptr { /* sqlite3.c:201561:13: */ - bp := tls.Alloc(112) - defer tls.Free(112) + bp := tls.Alloc(80) + defer tls.Free(80) - *(*uintptr)(unsafe.Pointer(bp + 104 /* pMax */)) = uintptr(0) + *(*uintptr)(unsafe.Pointer(bp + 72 /* pMax */)) = uintptr(0) var zRet uintptr = uintptr(0) if bRowid != 0 { - (*Sqlite3rbu)(unsafe.Pointer(p)).Frc = prepareFreeAndCollectError(tls, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbMain, bp+104 /* &pMax */, (p + 64 /* &.zErrmsg */), + (*Sqlite3rbu)(unsafe.Pointer(p)).Frc = prepareFreeAndCollectError(tls, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbMain, bp+72 /* &pMax */, (p + 64 /* &.zErrmsg */), Xsqlite3_mprintf(tls, ts+37706 /* "SELECT max(_rowi..." */, libc.VaList(bp, zWrite, (*RbuObjIter)(unsafe.Pointer(pIter)).FzTbl))) - if ((*Sqlite3rbu)(unsafe.Pointer(p)).Frc == SQLITE_OK) && (SQLITE_ROW == Xsqlite3_step(tls, *(*uintptr)(unsafe.Pointer(bp + 104 /* pMax */)))) { - var iMax Sqlite3_int64 = Xsqlite3_column_int64(tls, *(*uintptr)(unsafe.Pointer(bp + 104 /* pMax */)), 0) - zRet = rbuMPrintf(tls, p, ts+37738 /* " WHERE _rowid_ >..." */, libc.VaList(bp+24, iMax)) + if ((*Sqlite3rbu)(unsafe.Pointer(p)).Frc == SQLITE_OK) && (SQLITE_ROW == Xsqlite3_step(tls, *(*uintptr)(unsafe.Pointer(bp + 72 /* pMax */)))) { + var iMax Sqlite3_int64 = Xsqlite3_column_int64(tls, *(*uintptr)(unsafe.Pointer(bp + 72 /* pMax */)), 0) + zRet = rbuMPrintf(tls, p, ts+37738 /* " WHERE _rowid_ >..." */, libc.VaList(bp+16, iMax)) } - rbuFinalize(tls, p, *(*uintptr)(unsafe.Pointer(bp + 104 /* pMax */))) + rbuFinalize(tls, p, *(*uintptr)(unsafe.Pointer(bp + 72 /* pMax */))) } else { var zOrder uintptr = rbuObjIterGetPkList(tls, p, pIter, ts+915 /* "" */, ts+21218 /* ", " */, ts+37761 /* " DESC" */) var zSelect uintptr = rbuObjIterGetPkList(tls, p, pIter, ts+37767 /* "quote(" */, ts+37774 /* "||','||" */, ts+11464 /* ")" */) var zList uintptr = rbuObjIterGetPkList(tls, p, pIter, ts+915 /* "" */, ts+21218 /* ", " */, ts+915 /* "" */) if (*Sqlite3rbu)(unsafe.Pointer(p)).Frc == SQLITE_OK { - (*Sqlite3rbu)(unsafe.Pointer(p)).Frc = prepareFreeAndCollectError(tls, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbMain, bp+104 /* &pMax */, (p + 64 /* &.zErrmsg */), + (*Sqlite3rbu)(unsafe.Pointer(p)).Frc = prepareFreeAndCollectError(tls, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbMain, bp+72 /* &pMax */, (p + 64 /* &.zErrmsg */), Xsqlite3_mprintf(tls, ts+37782, /* "SELECT %s FROM \"..." */ - libc.VaList(bp+40, zSelect, zWrite, (*RbuObjIter)(unsafe.Pointer(pIter)).FzTbl, zOrder))) - if ((*Sqlite3rbu)(unsafe.Pointer(p)).Frc == SQLITE_OK) && (SQLITE_ROW == Xsqlite3_step(tls, *(*uintptr)(unsafe.Pointer(bp + 104 /* pMax */)))) { - var zVal uintptr = Xsqlite3_column_text(tls, *(*uintptr)(unsafe.Pointer(bp + 104 /* pMax */)), 0) - zRet = rbuMPrintf(tls, p, ts+37824 /* " WHERE (%s) > (%..." */, libc.VaList(bp+80, zList, zVal)) + libc.VaList(bp+24, zSelect, zWrite, (*RbuObjIter)(unsafe.Pointer(pIter)).FzTbl, zOrder))) + if ((*Sqlite3rbu)(unsafe.Pointer(p)).Frc == SQLITE_OK) && (SQLITE_ROW == Xsqlite3_step(tls, *(*uintptr)(unsafe.Pointer(bp + 72 /* pMax */)))) { + var zVal uintptr = Xsqlite3_column_text(tls, *(*uintptr)(unsafe.Pointer(bp + 72 /* pMax */)), 0) + zRet = rbuMPrintf(tls, p, ts+37824 /* " WHERE (%s) > (%..." */, libc.VaList(bp+56, zList, zVal)) } - rbuFinalize(tls, p, *(*uintptr)(unsafe.Pointer(bp + 104 /* pMax */))) + rbuFinalize(tls, p, *(*uintptr)(unsafe.Pointer(bp + 72 /* pMax */))) } Xsqlite3_free(tls, zOrder) @@ -207892,8 +207892,8 @@ func rbuVacuumTableStart(tls *libc.TLS, p uintptr, pIter uintptr, bRowid int32, // the caller has to use an OFFSET clause to extract only the required // rows from the sourct table, just as it does for an RBU update operation. func XrbuVacuumIndexStart(tls *libc.TLS, p uintptr, pIter uintptr) uintptr { /* sqlite3.c:201628:6: */ - bp := tls.Alloc(248) - defer tls.Free(248) + bp := tls.Alloc(192) + defer tls.Free(192) var zOrder uintptr var zLhs uintptr @@ -207903,14 +207903,14 @@ func XrbuVacuumIndexStart(tls *libc.TLS, p uintptr, pIter uintptr) uintptr { /* var bFailed int32 var zSep uintptr var iCol int32 - // var pXInfo uintptr at bp+232, 8 + // var pXInfo uintptr at bp+176, 8 var i int32 var iCid int32 var zCollate uintptr var zCol uintptr var zQuoted uintptr - // var pSel uintptr at bp+240, 8 + // var pSel uintptr at bp+184, 8 zOrder = uintptr(0) zLhs = uintptr(0) zSelect = uintptr(0) @@ -207919,17 +207919,17 @@ func XrbuVacuumIndexStart(tls *libc.TLS, p uintptr, pIter uintptr) uintptr { /* bFailed = 0 zSep = ts + 915 /* "" */ iCol = 0 - *(*uintptr)(unsafe.Pointer(bp + 232 /* pXInfo */)) = uintptr(0) + *(*uintptr)(unsafe.Pointer(bp + 176 /* pXInfo */)) = uintptr(0) - (*Sqlite3rbu)(unsafe.Pointer(p)).Frc = prepareFreeAndCollectError(tls, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbMain, bp+232 /* &pXInfo */, (p + 64 /* &.zErrmsg */), + (*Sqlite3rbu)(unsafe.Pointer(p)).Frc = prepareFreeAndCollectError(tls, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbMain, bp+176 /* &pXInfo */, (p + 64 /* &.zErrmsg */), Xsqlite3_mprintf(tls, ts+37521 /* "PRAGMA main.inde..." */, libc.VaList(bp, (*RbuObjIter)(unsafe.Pointer(pIter)).FzIdx))) __1: - if !(((*Sqlite3rbu)(unsafe.Pointer(p)).Frc == SQLITE_OK) && (SQLITE_ROW == Xsqlite3_step(tls, *(*uintptr)(unsafe.Pointer(bp + 232 /* pXInfo */))))) { + if !(((*Sqlite3rbu)(unsafe.Pointer(p)).Frc == SQLITE_OK) && (SQLITE_ROW == Xsqlite3_step(tls, *(*uintptr)(unsafe.Pointer(bp + 176 /* pXInfo */))))) { goto __2 } - iCid = Xsqlite3_column_int(tls, *(*uintptr)(unsafe.Pointer(bp + 232 /* pXInfo */)), 1) - zCollate = Xsqlite3_column_text(tls, *(*uintptr)(unsafe.Pointer(bp + 232 /* pXInfo */)), 4) - if !(Xsqlite3_column_int(tls, *(*uintptr)(unsafe.Pointer(bp + 232 /* pXInfo */)), 3) != 0) { + iCid = Xsqlite3_column_int(tls, *(*uintptr)(unsafe.Pointer(bp + 176 /* pXInfo */)), 1) + zCollate = Xsqlite3_column_text(tls, *(*uintptr)(unsafe.Pointer(bp + 176 /* pXInfo */)), 4) + if !(Xsqlite3_column_int(tls, *(*uintptr)(unsafe.Pointer(bp + 176 /* pXInfo */)), 3) != 0) { goto __3 } bFailed = 1 @@ -207969,17 +207969,17 @@ __5: ; zLhs = rbuMPrintf(tls, p, ts+37852, /* "%z%s \"%w\" COLLAT..." */ - libc.VaList(bp+16, zLhs, zSep, zCol, zCollate)) + libc.VaList(bp+8, zLhs, zSep, zCol, zCollate)) zOrder = rbuMPrintf(tls, p, ts+37873, /* "%z%s \"rbu_imp_%d..." */ - libc.VaList(bp+56, zOrder, zSep, iCol, zCol, zCollate)) + libc.VaList(bp+40, zOrder, zSep, iCol, zCol, zCollate)) zSelect = rbuMPrintf(tls, p, ts+37909, /* "%z%s quote(\"rbu_..." */ - libc.VaList(bp+104, zSelect, zSep, iCol, zCol)) + libc.VaList(bp+80, zSelect, zSep, iCol, zCol)) zSep = ts + 21218 /* ", " */ iCol++ goto __1 __2: ; - rbuFinalize(tls, p, *(*uintptr)(unsafe.Pointer(bp + 232 /* pXInfo */))) + rbuFinalize(tls, p, *(*uintptr)(unsafe.Pointer(bp + 176 /* pXInfo */))) if !(bFailed != 0) { goto __11 } @@ -207990,12 +207990,12 @@ __11: if !((*Sqlite3rbu)(unsafe.Pointer(p)).Frc == SQLITE_OK) { goto __12 } - *(*uintptr)(unsafe.Pointer(bp + 240 /* pSel */)) = uintptr(0) + *(*uintptr)(unsafe.Pointer(bp + 184 /* pSel */)) = uintptr(0) - (*Sqlite3rbu)(unsafe.Pointer(p)).Frc = prepareFreeAndCollectError(tls, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbMain, bp+240 /* &pSel */, (p + 64 /* &.zErrmsg */), + (*Sqlite3rbu)(unsafe.Pointer(p)).Frc = prepareFreeAndCollectError(tls, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbMain, bp+184 /* &pSel */, (p + 64 /* &.zErrmsg */), Xsqlite3_mprintf(tls, ts+37936, /* "SELECT %s FROM \"..." */ - libc.VaList(bp+144, zSelect, (*RbuObjIter)(unsafe.Pointer(pIter)).FzTbl, zOrder))) - if !(((*Sqlite3rbu)(unsafe.Pointer(p)).Frc == SQLITE_OK) && (SQLITE_ROW == Xsqlite3_step(tls, *(*uintptr)(unsafe.Pointer(bp + 240 /* pSel */))))) { + libc.VaList(bp+112, zSelect, (*RbuObjIter)(unsafe.Pointer(pIter)).FzTbl, zOrder))) + if !(((*Sqlite3rbu)(unsafe.Pointer(p)).Frc == SQLITE_OK) && (SQLITE_ROW == Xsqlite3_step(tls, *(*uintptr)(unsafe.Pointer(bp + 184 /* pSel */))))) { goto __13 } zSep = ts + 915 /* "" */ @@ -208004,7 +208004,7 @@ __14: if !(iCol < (*RbuObjIter)(unsafe.Pointer(pIter)).FnCol) { goto __16 } - zQuoted = Xsqlite3_column_text(tls, *(*uintptr)(unsafe.Pointer(bp + 240 /* pSel */)), iCol) + zQuoted = Xsqlite3_column_text(tls, *(*uintptr)(unsafe.Pointer(bp + 184 /* pSel */)), iCol) if !(zQuoted == uintptr(0)) { goto __17 } @@ -208020,7 +208020,7 @@ __19: ; __18: ; - zVector = rbuMPrintf(tls, p, ts+37984 /* "%z%s%s" */, libc.VaList(bp+176, zVector, zSep, zQuoted)) + zVector = rbuMPrintf(tls, p, ts+37984 /* "%z%s%s" */, libc.VaList(bp+136, zVector, zSep, zQuoted)) zSep = ts + 21218 /* ", " */ goto __15 __15: @@ -208033,12 +208033,12 @@ __16: if !(!(bFailed != 0)) { goto __20 } - zRet = rbuMPrintf(tls, p, ts+37991 /* "(%s) > (%s)" */, libc.VaList(bp+208, zLhs, zVector)) + zRet = rbuMPrintf(tls, p, ts+37991 /* "(%s) > (%s)" */, libc.VaList(bp+160, zLhs, zVector)) __20: ; __13: ; - rbuFinalize(tls, p, *(*uintptr)(unsafe.Pointer(bp + 240 /* pSel */))) + rbuFinalize(tls, p, *(*uintptr)(unsafe.Pointer(bp + 184 /* pSel */))) __12: ; @@ -208073,8 +208073,8 @@ index_start_out: // pzImposterPk: ... // pzWhere: ... func rbuObjIterGetIndexCols(tls *libc.TLS, p uintptr, pIter uintptr, pzImposterCols uintptr, pzImposterPk uintptr, pzWhere uintptr, pnBind uintptr) uintptr { /* sqlite3.c:201743:13: */ - bp := tls.Alloc(256) - defer tls.Free(256) + bp := tls.Alloc(208) + defer tls.Free(208) var rc int32 = (*Sqlite3rbu)(unsafe.Pointer(p)).Frc // Error code var rc2 int32 // sqlite3_finalize() return code @@ -208085,24 +208085,24 @@ func rbuObjIterGetIndexCols(tls *libc.TLS, p uintptr, pIter uintptr, pzImposterC var nBind int32 = 0 // Value to return via *pnBind var zCom uintptr = ts + 915 /* "" */ // Set to ", " later on var zAnd uintptr = ts + 915 /* "" */ // Set to " AND " later on - *(*uintptr)(unsafe.Pointer(bp + 248 /* pXInfo */)) = uintptr(0) // PRAGMA index_xinfo = ? + *(*uintptr)(unsafe.Pointer(bp + 200 /* pXInfo */)) = uintptr(0) // PRAGMA index_xinfo = ? if rc == SQLITE_OK { - rc = prepareFreeAndCollectError(tls, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbMain, bp+248 /* &pXInfo */, (p + 64 /* &.zErrmsg */), + rc = prepareFreeAndCollectError(tls, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbMain, bp+200 /* &pXInfo */, (p + 64 /* &.zErrmsg */), Xsqlite3_mprintf(tls, ts+37521 /* "PRAGMA main.inde..." */, libc.VaList(bp, (*RbuObjIter)(unsafe.Pointer(pIter)).FzIdx))) } - for (rc == SQLITE_OK) && (SQLITE_ROW == Xsqlite3_step(tls, *(*uintptr)(unsafe.Pointer(bp + 248 /* pXInfo */)))) { - var iCid int32 = Xsqlite3_column_int(tls, *(*uintptr)(unsafe.Pointer(bp + 248 /* pXInfo */)), 1) - var bDesc int32 = Xsqlite3_column_int(tls, *(*uintptr)(unsafe.Pointer(bp + 248 /* pXInfo */)), 3) - var zCollate uintptr = Xsqlite3_column_text(tls, *(*uintptr)(unsafe.Pointer(bp + 248 /* pXInfo */)), 4) + for (rc == SQLITE_OK) && (SQLITE_ROW == Xsqlite3_step(tls, *(*uintptr)(unsafe.Pointer(bp + 200 /* pXInfo */)))) { + var iCid int32 = Xsqlite3_column_int(tls, *(*uintptr)(unsafe.Pointer(bp + 200 /* pXInfo */)), 1) + var bDesc int32 = Xsqlite3_column_int(tls, *(*uintptr)(unsafe.Pointer(bp + 200 /* pXInfo */)), 3) + var zCollate uintptr = Xsqlite3_column_text(tls, *(*uintptr)(unsafe.Pointer(bp + 200 /* pXInfo */)), 4) var zCol uintptr = uintptr(0) var zType uintptr if iCid == -2 { - var iSeq int32 = Xsqlite3_column_int(tls, *(*uintptr)(unsafe.Pointer(bp + 248 /* pXInfo */)), 0) - zRet = Xsqlite3_mprintf(tls, ts+38003 /* "%z%s(%.*s) COLLA..." */, libc.VaList(bp+16, zRet, zCom, + var iSeq int32 = Xsqlite3_column_int(tls, *(*uintptr)(unsafe.Pointer(bp + 200 /* pXInfo */)), 0) + zRet = Xsqlite3_mprintf(tls, ts+38003 /* "%z%s(%.*s) COLLA..." */, libc.VaList(bp+8, zRet, zCom, (*RbuSpan)(unsafe.Pointer((*RbuObjIter)(unsafe.Pointer(pIter)).FaIdxCol+uintptr(iSeq)*16)).FnSpan, (*RbuSpan)(unsafe.Pointer((*RbuObjIter)(unsafe.Pointer(pIter)).FaIdxCol+uintptr(iSeq)*16)).FzSpan, zCollate)) zType = ts + 915 /* "" */ } else { @@ -208125,10 +208125,10 @@ func rbuObjIterGetIndexCols(tls *libc.TLS, p uintptr, pIter uintptr, pzImposterC zCol = *(*uintptr)(unsafe.Pointer((*RbuObjIter)(unsafe.Pointer(pIter)).FazTblCol + uintptr(iCid)*8)) zType = *(*uintptr)(unsafe.Pointer((*RbuObjIter)(unsafe.Pointer(pIter)).FazTblType + uintptr(iCid)*8)) } - zRet = Xsqlite3_mprintf(tls, ts+38025 /* "%z%s\"%w\" COLLATE..." */, libc.VaList(bp+64, zRet, zCom, zCol, zCollate)) + zRet = Xsqlite3_mprintf(tls, ts+38025 /* "%z%s\"%w\" COLLATE..." */, libc.VaList(bp+48, zRet, zCom, zCol, zCollate)) } - if ((*RbuObjIter)(unsafe.Pointer(pIter)).FbUnique == 0) || (Xsqlite3_column_int(tls, *(*uintptr)(unsafe.Pointer(bp + 248 /* pXInfo */)), 5) != 0) { + if ((*RbuObjIter)(unsafe.Pointer(pIter)).FbUnique == 0) || (Xsqlite3_column_int(tls, *(*uintptr)(unsafe.Pointer(bp + 200 /* pXInfo */)), 5) != 0) { var zOrder uintptr = func() uintptr { if bDesc != 0 { return ts + 37761 /* " DESC" */ @@ -208136,12 +208136,12 @@ func rbuObjIterGetIndexCols(tls *libc.TLS, p uintptr, pIter uintptr, pzImposterC return ts + 915 /* "" */ }() zImpPK = Xsqlite3_mprintf(tls, ts+38045, /* "%z%s\"rbu_imp_%d%..." */ - libc.VaList(bp+104, zImpPK, zCom, nBind, zCol, zOrder)) + libc.VaList(bp+80, zImpPK, zCom, nBind, zCol, zOrder)) } zImpCols = Xsqlite3_mprintf(tls, ts+38066, /* "%z%s\"rbu_imp_%d%..." */ - libc.VaList(bp+152, zImpCols, zCom, nBind, zCol, zType, zCollate)) + libc.VaList(bp+120, zImpCols, zCom, nBind, zCol, zType, zCollate)) zWhere = Xsqlite3_mprintf(tls, - ts+38099 /* "%z%s\"rbu_imp_%d%..." */, libc.VaList(bp+208, zWhere, zAnd, nBind, zCol)) + ts+38099 /* "%z%s\"rbu_imp_%d%..." */, libc.VaList(bp+168, zWhere, zAnd, nBind, zCol)) if (((zRet == uintptr(0)) || (zImpPK == uintptr(0))) || (zImpCols == uintptr(0))) || (zWhere == uintptr(0)) { rc = SQLITE_NOMEM } @@ -208150,7 +208150,7 @@ func rbuObjIterGetIndexCols(tls *libc.TLS, p uintptr, pIter uintptr, pzImposterC nBind++ } - rc2 = Xsqlite3_finalize(tls, *(*uintptr)(unsafe.Pointer(bp + 248 /* pXInfo */))) + rc2 = Xsqlite3_finalize(tls, *(*uintptr)(unsafe.Pointer(bp + 200 /* pXInfo */))) if rc == SQLITE_OK { rc = rc2 } @@ -208184,8 +208184,8 @@ func rbuObjIterGetIndexCols(tls *libc.TLS, p uintptr, pIter uintptr, pzImposterC // For tables with implicit rowids - RBU_PK_EXTERNAL and RBU_PK_NONE, append // the text ", old._rowid_" to the returned value. func rbuObjIterGetOldlist(tls *libc.TLS, p uintptr, pIter uintptr, zObj uintptr) uintptr { /* sqlite3.c:201855:13: */ - bp := tls.Alloc(88) - defer tls.Free(88) + bp := tls.Alloc(64) + defer tls.Free(64) var zList uintptr = uintptr(0) if ((*Sqlite3rbu)(unsafe.Pointer(p)).Frc == SQLITE_OK) && ((*RbuObjIter)(unsafe.Pointer(pIter)).FabIndexed != 0) { @@ -208196,7 +208196,7 @@ func rbuObjIterGetOldlist(tls *libc.TLS, p uintptr, pIter uintptr, zObj uintptr) var zCol uintptr = *(*uintptr)(unsafe.Pointer((*RbuObjIter)(unsafe.Pointer(pIter)).FazTblCol + uintptr(i)*8)) zList = Xsqlite3_mprintf(tls, ts+38123 /* "%z%s%s.\"%w\"" */, libc.VaList(bp, zList, zS, zObj, zCol)) } else { - zList = Xsqlite3_mprintf(tls, ts+38135 /* "%z%sNULL" */, libc.VaList(bp+40, zList, zS)) + zList = Xsqlite3_mprintf(tls, ts+38135 /* "%z%sNULL" */, libc.VaList(bp+32, zList, zS)) } zS = ts + 21218 /* ", " */ if zList == uintptr(0) { @@ -208207,7 +208207,7 @@ func rbuObjIterGetOldlist(tls *libc.TLS, p uintptr, pIter uintptr, zObj uintptr) // For a table with implicit rowids, append "old._rowid_" to the list. if ((*RbuObjIter)(unsafe.Pointer(pIter)).FeType == RBU_PK_EXTERNAL) || ((*RbuObjIter)(unsafe.Pointer(pIter)).FeType == RBU_PK_NONE) { - zList = rbuMPrintf(tls, p, ts+38144 /* "%z, %s._rowid_" */, libc.VaList(bp+64, zList, zObj)) + zList = rbuMPrintf(tls, p, ts+38144 /* "%z, %s._rowid_" */, libc.VaList(bp+48, zList, zObj)) } } return zList @@ -208222,8 +208222,8 @@ func rbuObjIterGetOldlist(tls *libc.TLS, p uintptr, pIter uintptr, zObj uintptr) // // "b = ?1 AND c = ?2" func rbuObjIterGetWhere(tls *libc.TLS, p uintptr, pIter uintptr) uintptr { /* sqlite3.c:201896:13: */ - bp := tls.Alloc(112) - defer tls.Free(112) + bp := tls.Alloc(80) + defer tls.Free(80) var zList uintptr = uintptr(0) if ((*RbuObjIter)(unsafe.Pointer(pIter)).FeType == RBU_PK_VTAB) || ((*RbuObjIter)(unsafe.Pointer(pIter)).FeType == RBU_PK_NONE) { @@ -208233,12 +208233,12 @@ func rbuObjIterGetWhere(tls *libc.TLS, p uintptr, pIter uintptr) uintptr { /* sq var i int32 for i = 0; i < (*RbuObjIter)(unsafe.Pointer(pIter)).FnTblCol; i++ { if *(*U8)(unsafe.Pointer((*RbuObjIter)(unsafe.Pointer(pIter)).FabTblPk + uintptr(i))) != 0 { - zList = rbuMPrintf(tls, p, ts+38173 /* "%z%sc%d=?%d" */, libc.VaList(bp+16, zList, zSep, i, (i+1))) + zList = rbuMPrintf(tls, p, ts+38173 /* "%z%sc%d=?%d" */, libc.VaList(bp+8, zList, zSep, i, (i+1))) zSep = ts + 28672 /* " AND " */ } } zList = rbuMPrintf(tls, p, - ts+38185 /* "_rowid_ = (SELEC..." */, libc.VaList(bp+56, zList)) + ts+38185 /* "_rowid_ = (SELEC..." */, libc.VaList(bp+40, zList)) } else { var zSep uintptr = ts + 915 /* "" */ @@ -208246,7 +208246,7 @@ func rbuObjIterGetWhere(tls *libc.TLS, p uintptr, pIter uintptr) uintptr { /* sq for i = 0; i < (*RbuObjIter)(unsafe.Pointer(pIter)).FnTblCol; i++ { if *(*U8)(unsafe.Pointer((*RbuObjIter)(unsafe.Pointer(pIter)).FabTblPk + uintptr(i))) != 0 { var zCol uintptr = *(*uintptr)(unsafe.Pointer((*RbuObjIter)(unsafe.Pointer(pIter)).FazTblCol + uintptr(i)*8)) - zList = rbuMPrintf(tls, p, ts+38235 /* "%z%s\"%w\"=?%d" */, libc.VaList(bp+72, zList, zSep, zCol, (i+1))) + zList = rbuMPrintf(tls, p, ts+38235 /* "%z%s\"%w\"=?%d" */, libc.VaList(bp+48, zList, zSep, zCol, (i+1))) zSep = ts + 28672 /* " AND " */ } } @@ -208280,8 +208280,8 @@ func rbuBadControlError(tls *libc.TLS, p uintptr) { /* sqlite3.c:201937:13: */ // when this function is called, NULL is returned immediately, without // attempting the allocation or modifying the stored error code. func rbuObjIterGetSetlist(tls *libc.TLS, p uintptr, pIter uintptr, zMask uintptr) uintptr { /* sqlite3.c:201960:13: */ - bp := tls.Alloc(136) - defer tls.Free(136) + bp := tls.Alloc(112) + defer tls.Free(112) var zList uintptr = uintptr(0) if (*Sqlite3rbu)(unsafe.Pointer(p)).Frc == SQLITE_OK { @@ -208299,11 +208299,11 @@ func rbuObjIterGetSetlist(tls *libc.TLS, p uintptr, pIter uintptr, zMask uintptr zSep = ts + 21218 /* ", " */ } else if int32(c) == 'd' { zList = rbuMPrintf(tls, p, ts+38274, /* "%z%s\"%w\"=rbu_del..." */ - libc.VaList(bp+40, zList, zSep, *(*uintptr)(unsafe.Pointer((*RbuObjIter)(unsafe.Pointer(pIter)).FazTblCol + uintptr(i)*8)), *(*uintptr)(unsafe.Pointer((*RbuObjIter)(unsafe.Pointer(pIter)).FazTblCol + uintptr(i)*8)), (i+1))) + libc.VaList(bp+32, zList, zSep, *(*uintptr)(unsafe.Pointer((*RbuObjIter)(unsafe.Pointer(pIter)).FazTblCol + uintptr(i)*8)), *(*uintptr)(unsafe.Pointer((*RbuObjIter)(unsafe.Pointer(pIter)).FazTblCol + uintptr(i)*8)), (i+1))) zSep = ts + 21218 /* ", " */ } else if int32(c) == 'f' { zList = rbuMPrintf(tls, p, ts+38304, /* "%z%s\"%w\"=rbu_fos..." */ - libc.VaList(bp+88, zList, zSep, *(*uintptr)(unsafe.Pointer((*RbuObjIter)(unsafe.Pointer(pIter)).FazTblCol + uintptr(i)*8)), *(*uintptr)(unsafe.Pointer((*RbuObjIter)(unsafe.Pointer(pIter)).FazTblCol + uintptr(i)*8)), (i+1))) + libc.VaList(bp+72, zList, zSep, *(*uintptr)(unsafe.Pointer((*RbuObjIter)(unsafe.Pointer(pIter)).FazTblCol + uintptr(i)*8)), *(*uintptr)(unsafe.Pointer((*RbuObjIter)(unsafe.Pointer(pIter)).FazTblCol + uintptr(i)*8)), (i+1))) zSep = ts + 21218 /* ", " */ } } @@ -208356,47 +208356,47 @@ func rbuObjIterGetBindlist(tls *libc.TLS, p uintptr, nBind int32) uintptr { /* s // // PRIMARY KEY("b", "a" DESC) func rbuWithoutRowidPK(tls *libc.TLS, p uintptr, pIter uintptr) uintptr { /* sqlite3.c:202041:13: */ - bp := tls.Alloc(104) - defer tls.Free(104) + bp := tls.Alloc(72) + defer tls.Free(72) var z uintptr = uintptr(0) if (*Sqlite3rbu)(unsafe.Pointer(p)).Frc == SQLITE_OK { var zSep uintptr = ts + 38341 /* "PRIMARY KEY(" */ - *(*uintptr)(unsafe.Pointer(bp + 88 /* pXList */)) = uintptr(0) // PRAGMA index_list = (pIter->zTbl) - *(*uintptr)(unsafe.Pointer(bp + 96 /* pXInfo */)) = uintptr(0) // PRAGMA index_xinfo = + *(*uintptr)(unsafe.Pointer(bp + 56 /* pXList */)) = uintptr(0) // PRAGMA index_list = (pIter->zTbl) + *(*uintptr)(unsafe.Pointer(bp + 64 /* pXInfo */)) = uintptr(0) // PRAGMA index_xinfo = - (*Sqlite3rbu)(unsafe.Pointer(p)).Frc = prepareFreeAndCollectError(tls, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbMain, bp+88 /* &pXList */, (p + 64 /* &.zErrmsg */), + (*Sqlite3rbu)(unsafe.Pointer(p)).Frc = prepareFreeAndCollectError(tls, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbMain, bp+56 /* &pXList */, (p + 64 /* &.zErrmsg */), Xsqlite3_mprintf(tls, ts+37493 /* "PRAGMA main.inde..." */, libc.VaList(bp, (*RbuObjIter)(unsafe.Pointer(pIter)).FzTbl))) - for ((*Sqlite3rbu)(unsafe.Pointer(p)).Frc == SQLITE_OK) && (SQLITE_ROW == Xsqlite3_step(tls, *(*uintptr)(unsafe.Pointer(bp + 88 /* pXList */)))) { - var zOrig uintptr = Xsqlite3_column_text(tls, *(*uintptr)(unsafe.Pointer(bp + 88 /* pXList */)), 3) + for ((*Sqlite3rbu)(unsafe.Pointer(p)).Frc == SQLITE_OK) && (SQLITE_ROW == Xsqlite3_step(tls, *(*uintptr)(unsafe.Pointer(bp + 56 /* pXList */)))) { + var zOrig uintptr = Xsqlite3_column_text(tls, *(*uintptr)(unsafe.Pointer(bp + 56 /* pXList */)), 3) if (zOrig != 0) && (libc.Xstrcmp(tls, zOrig, ts+22687 /* "pk" */) == 0) { - var zIdx uintptr = Xsqlite3_column_text(tls, *(*uintptr)(unsafe.Pointer(bp + 88 /* pXList */)), 1) + var zIdx uintptr = Xsqlite3_column_text(tls, *(*uintptr)(unsafe.Pointer(bp + 56 /* pXList */)), 1) if zIdx != 0 { - (*Sqlite3rbu)(unsafe.Pointer(p)).Frc = prepareFreeAndCollectError(tls, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbMain, bp+96 /* &pXInfo */, (p + 64 /* &.zErrmsg */), - Xsqlite3_mprintf(tls, ts+37521 /* "PRAGMA main.inde..." */, libc.VaList(bp+16, zIdx))) + (*Sqlite3rbu)(unsafe.Pointer(p)).Frc = prepareFreeAndCollectError(tls, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbMain, bp+64 /* &pXInfo */, (p + 64 /* &.zErrmsg */), + Xsqlite3_mprintf(tls, ts+37521 /* "PRAGMA main.inde..." */, libc.VaList(bp+8, zIdx))) } break } } - rbuFinalize(tls, p, *(*uintptr)(unsafe.Pointer(bp + 88 /* pXList */))) + rbuFinalize(tls, p, *(*uintptr)(unsafe.Pointer(bp + 56 /* pXList */))) - for ((*Sqlite3rbu)(unsafe.Pointer(p)).Frc == SQLITE_OK) && (SQLITE_ROW == Xsqlite3_step(tls, *(*uintptr)(unsafe.Pointer(bp + 96 /* pXInfo */)))) { - if Xsqlite3_column_int(tls, *(*uintptr)(unsafe.Pointer(bp + 96 /* pXInfo */)), 5) != 0 { + for ((*Sqlite3rbu)(unsafe.Pointer(p)).Frc == SQLITE_OK) && (SQLITE_ROW == Xsqlite3_step(tls, *(*uintptr)(unsafe.Pointer(bp + 64 /* pXInfo */)))) { + if Xsqlite3_column_int(tls, *(*uintptr)(unsafe.Pointer(bp + 64 /* pXInfo */)), 5) != 0 { // int iCid = sqlite3_column_int(pXInfo, 0); - var zCol uintptr = Xsqlite3_column_text(tls, *(*uintptr)(unsafe.Pointer(bp + 96 /* pXInfo */)), 2) + var zCol uintptr = Xsqlite3_column_text(tls, *(*uintptr)(unsafe.Pointer(bp + 64 /* pXInfo */)), 2) var zDesc uintptr - if Xsqlite3_column_int(tls, *(*uintptr)(unsafe.Pointer(bp + 96 /* pXInfo */)), 3) != 0 { + if Xsqlite3_column_int(tls, *(*uintptr)(unsafe.Pointer(bp + 64 /* pXInfo */)), 3) != 0 { zDesc = ts + 37761 /* " DESC" */ } else { zDesc = ts + 915 /* "" */ } - z = rbuMPrintf(tls, p, ts+38354 /* "%z%s\"%w\"%s" */, libc.VaList(bp+32, z, zSep, zCol, zDesc)) + z = rbuMPrintf(tls, p, ts+38354 /* "%z%s\"%w\"%s" */, libc.VaList(bp+16, z, zSep, zCol, zDesc)) zSep = ts + 21218 /* ", " */ } } - z = rbuMPrintf(tls, p, ts+38365 /* "%z)" */, libc.VaList(bp+72, z)) - rbuFinalize(tls, p, *(*uintptr)(unsafe.Pointer(bp + 96 /* pXInfo */))) + z = rbuMPrintf(tls, p, ts+38365 /* "%z)" */, libc.VaList(bp+48, z)) + rbuFinalize(tls, p, *(*uintptr)(unsafe.Pointer(bp + 64 /* pXInfo */))) } return z } @@ -208419,14 +208419,14 @@ func rbuWithoutRowidPK(tls *libc.TLS, p uintptr, pIter uintptr) uintptr { /* sql // CREATE TABLE rbu_imposter2(c1 TEXT, c2 REAL, id INTEGER) WITHOUT ROWID; // func rbuCreateImposterTable2(tls *libc.TLS, p uintptr, pIter uintptr) { /* sqlite3.c:202100:13: */ - bp := tls.Alloc(240) - defer tls.Free(240) + bp := tls.Alloc(184) + defer tls.Free(184) if ((*Sqlite3rbu)(unsafe.Pointer(p)).Frc == SQLITE_OK) && ((*RbuObjIter)(unsafe.Pointer(pIter)).FeType == RBU_PK_EXTERNAL) { var tnum int32 = (*RbuObjIter)(unsafe.Pointer(pIter)).FiPkTnum // Root page of PK index - *(*uintptr)(unsafe.Pointer(bp + 224 /* pQuery */)) = uintptr(0) // SELECT name ... WHERE rootpage = $tnum + *(*uintptr)(unsafe.Pointer(bp + 168 /* pQuery */)) = uintptr(0) // SELECT name ... WHERE rootpage = $tnum var zIdx uintptr = uintptr(0) // Name of PK index - *(*uintptr)(unsafe.Pointer(bp + 232 /* pXInfo */)) = uintptr(0) // PRAGMA main.index_xinfo = $zIdx + *(*uintptr)(unsafe.Pointer(bp + 176 /* pXInfo */)) = uintptr(0) // PRAGMA main.index_xinfo = $zIdx var zComma uintptr = ts + 915 /* "" */ var zCols uintptr = uintptr(0) // Used to build up list of table cols var zPk uintptr = uintptr(0) // Used to build up table PK declaration @@ -208434,29 +208434,29 @@ func rbuCreateImposterTable2(tls *libc.TLS, p uintptr, pIter uintptr) { /* sqlit // Figure out the name of the primary key index for the current table. // This is needed for the argument to "PRAGMA index_xinfo". Set // zIdx to point to a nul-terminated string containing this name. - (*Sqlite3rbu)(unsafe.Pointer(p)).Frc = prepareAndCollectError(tls, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbMain, bp+224 /* &pQuery */, (p + 64 /* &.zErrmsg */), + (*Sqlite3rbu)(unsafe.Pointer(p)).Frc = prepareAndCollectError(tls, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbMain, bp+168 /* &pQuery */, (p + 64 /* &.zErrmsg */), ts+38369 /* "SELECT name FROM..." */) if (*Sqlite3rbu)(unsafe.Pointer(p)).Frc == SQLITE_OK { - Xsqlite3_bind_int(tls, *(*uintptr)(unsafe.Pointer(bp + 224 /* pQuery */)), 1, tnum) - if SQLITE_ROW == Xsqlite3_step(tls, *(*uintptr)(unsafe.Pointer(bp + 224 /* pQuery */))) { - zIdx = Xsqlite3_column_text(tls, *(*uintptr)(unsafe.Pointer(bp + 224 /* pQuery */)), 0) + Xsqlite3_bind_int(tls, *(*uintptr)(unsafe.Pointer(bp + 168 /* pQuery */)), 1, tnum) + if SQLITE_ROW == Xsqlite3_step(tls, *(*uintptr)(unsafe.Pointer(bp + 168 /* pQuery */))) { + zIdx = Xsqlite3_column_text(tls, *(*uintptr)(unsafe.Pointer(bp + 168 /* pQuery */)), 0) } } if zIdx != 0 { - (*Sqlite3rbu)(unsafe.Pointer(p)).Frc = prepareFreeAndCollectError(tls, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbMain, bp+232 /* &pXInfo */, (p + 64 /* &.zErrmsg */), + (*Sqlite3rbu)(unsafe.Pointer(p)).Frc = prepareFreeAndCollectError(tls, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbMain, bp+176 /* &pXInfo */, (p + 64 /* &.zErrmsg */), Xsqlite3_mprintf(tls, ts+37521 /* "PRAGMA main.inde..." */, libc.VaList(bp, zIdx))) } - rbuFinalize(tls, p, *(*uintptr)(unsafe.Pointer(bp + 224 /* pQuery */))) + rbuFinalize(tls, p, *(*uintptr)(unsafe.Pointer(bp + 168 /* pQuery */))) - for ((*Sqlite3rbu)(unsafe.Pointer(p)).Frc == SQLITE_OK) && (SQLITE_ROW == Xsqlite3_step(tls, *(*uintptr)(unsafe.Pointer(bp + 232 /* pXInfo */)))) { - var bKey int32 = Xsqlite3_column_int(tls, *(*uintptr)(unsafe.Pointer(bp + 232 /* pXInfo */)), 5) + for ((*Sqlite3rbu)(unsafe.Pointer(p)).Frc == SQLITE_OK) && (SQLITE_ROW == Xsqlite3_step(tls, *(*uintptr)(unsafe.Pointer(bp + 176 /* pXInfo */)))) { + var bKey int32 = Xsqlite3_column_int(tls, *(*uintptr)(unsafe.Pointer(bp + 176 /* pXInfo */)), 5) if bKey != 0 { - var iCid int32 = Xsqlite3_column_int(tls, *(*uintptr)(unsafe.Pointer(bp + 232 /* pXInfo */)), 1) - var bDesc int32 = Xsqlite3_column_int(tls, *(*uintptr)(unsafe.Pointer(bp + 232 /* pXInfo */)), 3) - var zCollate uintptr = Xsqlite3_column_text(tls, *(*uintptr)(unsafe.Pointer(bp + 232 /* pXInfo */)), 4) - zCols = rbuMPrintf(tls, p, ts+38419 /* "%z%sc%d %s COLLA..." */, libc.VaList(bp+16, zCols, zComma, + var iCid int32 = Xsqlite3_column_int(tls, *(*uintptr)(unsafe.Pointer(bp + 176 /* pXInfo */)), 1) + var bDesc int32 = Xsqlite3_column_int(tls, *(*uintptr)(unsafe.Pointer(bp + 176 /* pXInfo */)), 3) + var zCollate uintptr = Xsqlite3_column_text(tls, *(*uintptr)(unsafe.Pointer(bp + 176 /* pXInfo */)), 4) + zCols = rbuMPrintf(tls, p, ts+38419 /* "%z%sc%d %s COLLA..." */, libc.VaList(bp+8, zCols, zComma, iCid, *(*uintptr)(unsafe.Pointer((*RbuObjIter)(unsafe.Pointer(pIter)).FazTblType + uintptr(iCid)*8)), zCollate)) - zPk = rbuMPrintf(tls, p, ts+38441 /* "%z%sc%d%s" */, libc.VaList(bp+64, zPk, zComma, iCid, func() uintptr { + zPk = rbuMPrintf(tls, p, ts+38441 /* "%z%sc%d%s" */, libc.VaList(bp+48, zPk, zComma, iCid, func() uintptr { if bDesc != 0 { return ts + 37761 /* " DESC" */ } @@ -208465,14 +208465,14 @@ func rbuCreateImposterTable2(tls *libc.TLS, p uintptr, pIter uintptr) { /* sqlit zComma = ts + 21218 /* ", " */ } } - zCols = rbuMPrintf(tls, p, ts+38451 /* "%z, id INTEGER" */, libc.VaList(bp+104, zCols)) - rbuFinalize(tls, p, *(*uintptr)(unsafe.Pointer(bp + 232 /* pXInfo */))) + zCols = rbuMPrintf(tls, p, ts+38451 /* "%z, id INTEGER" */, libc.VaList(bp+80, zCols)) + rbuFinalize(tls, p, *(*uintptr)(unsafe.Pointer(bp + 176 /* pXInfo */))) - Xsqlite3_test_control(tls, SQLITE_TESTCTRL_IMPOSTER, libc.VaList(bp+120, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbMain, ts+13143 /* "main" */, 1, tnum)) + Xsqlite3_test_control(tls, SQLITE_TESTCTRL_IMPOSTER, libc.VaList(bp+88, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbMain, ts+13143 /* "main" */, 1, tnum)) rbuMPrintfExec(tls, p, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbMain, ts+38466, /* "CREATE TABLE rbu..." */ - libc.VaList(bp+160, zCols, zPk)) - Xsqlite3_test_control(tls, SQLITE_TESTCTRL_IMPOSTER, libc.VaList(bp+184, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbMain, ts+13143 /* "main" */, 0, 0)) + libc.VaList(bp+120, zCols, zPk)) + Xsqlite3_test_control(tls, SQLITE_TESTCTRL_IMPOSTER, libc.VaList(bp+136, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbMain, ts+13143 /* "main" */, 0, 0)) } } @@ -208495,8 +208495,8 @@ func rbuCreateImposterTable2(tls *libc.TLS, p uintptr, pIter uintptr) { /* sqlit // collation sequences. For tables that do not have an external PRIMARY // KEY, it also means the same PRIMARY KEY declaration. func rbuCreateImposterTable(tls *libc.TLS, p uintptr, pIter uintptr) { /* sqlite3.c:202174:13: */ - bp := tls.Alloc(248) - defer tls.Free(248) + bp := tls.Alloc(200) + defer tls.Free(200) if ((*Sqlite3rbu)(unsafe.Pointer(p)).Frc == SQLITE_OK) && ((*RbuObjIter)(unsafe.Pointer(pIter)).FeType != RBU_PK_VTAB) { var tnum int32 = (*RbuObjIter)(unsafe.Pointer(pIter)).FiTnum @@ -208508,10 +208508,10 @@ func rbuCreateImposterTable(tls *libc.TLS, p uintptr, pIter uintptr) { /* sqlite for iCol = 0; ((*Sqlite3rbu)(unsafe.Pointer(p)).Frc == SQLITE_OK) && (iCol < (*RbuObjIter)(unsafe.Pointer(pIter)).FnTblCol); iCol++ { var zPk uintptr = ts + 915 /* "" */ var zCol uintptr = *(*uintptr)(unsafe.Pointer((*RbuObjIter)(unsafe.Pointer(pIter)).FazTblCol + uintptr(iCol)*8)) - *(*uintptr)(unsafe.Pointer(bp + 240 /* zColl */)) = uintptr(0) + *(*uintptr)(unsafe.Pointer(bp + 192 /* zColl */)) = uintptr(0) (*Sqlite3rbu)(unsafe.Pointer(p)).Frc = Xsqlite3_table_column_metadata(tls, - (*Sqlite3rbu)(unsafe.Pointer(p)).FdbMain, ts+13143 /* "main" */, (*RbuObjIter)(unsafe.Pointer(pIter)).FzTbl, zCol, uintptr(0), bp+240 /* &zColl */, uintptr(0), uintptr(0), uintptr(0)) + (*Sqlite3rbu)(unsafe.Pointer(p)).FdbMain, ts+13143 /* "main" */, (*RbuObjIter)(unsafe.Pointer(pIter)).FzTbl, zCol, uintptr(0), bp+192 /* &zColl */, uintptr(0), uintptr(0), uintptr(0)) if ((*RbuObjIter)(unsafe.Pointer(pIter)).FeType == RBU_PK_IPK) && (*(*U8)(unsafe.Pointer((*RbuObjIter)(unsafe.Pointer(pIter)).FabTblPk + uintptr(iCol))) != 0) { // If the target table column is an "INTEGER PRIMARY KEY", add @@ -208519,7 +208519,7 @@ func rbuCreateImposterTable(tls *libc.TLS, p uintptr, pIter uintptr) { /* sqlite zPk = ts + 38528 /* "PRIMARY KEY " */ } zSql = rbuMPrintf(tls, p, ts+38541, /* "%z%s\"%w\" %s %sCO..." */ - libc.VaList(bp+40, zSql, zComma, zCol, *(*uintptr)(unsafe.Pointer((*RbuObjIter)(unsafe.Pointer(pIter)).FazTblType + uintptr(iCol)*8)), zPk, *(*uintptr)(unsafe.Pointer(bp + 240 /* zColl */)), + libc.VaList(bp+32, zSql, zComma, zCol, *(*uintptr)(unsafe.Pointer((*RbuObjIter)(unsafe.Pointer(pIter)).FazTblType + uintptr(iCol)*8)), zPk, *(*uintptr)(unsafe.Pointer(bp + 192 /* zColl */)), func() uintptr { if *(*U8)(unsafe.Pointer((*RbuObjIter)(unsafe.Pointer(pIter)).FabNotNull + uintptr(iCol))) != 0 { return ts + 38568 /* " NOT NULL" */ @@ -208532,20 +208532,20 @@ func rbuCreateImposterTable(tls *libc.TLS, p uintptr, pIter uintptr) { /* sqlite if (*RbuObjIter)(unsafe.Pointer(pIter)).FeType == RBU_PK_WITHOUT_ROWID { var zPk uintptr = rbuWithoutRowidPK(tls, p, pIter) if zPk != 0 { - zSql = rbuMPrintf(tls, p, ts+38578 /* "%z, %z" */, libc.VaList(bp+104, zSql, zPk)) + zSql = rbuMPrintf(tls, p, ts+38578 /* "%z, %z" */, libc.VaList(bp+88, zSql, zPk)) } } - Xsqlite3_test_control(tls, SQLITE_TESTCTRL_IMPOSTER, libc.VaList(bp+128, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbMain, ts+13143 /* "main" */, 1, tnum)) + Xsqlite3_test_control(tls, SQLITE_TESTCTRL_IMPOSTER, libc.VaList(bp+104, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbMain, ts+13143 /* "main" */, 1, tnum)) rbuMPrintfExec(tls, p, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbMain, ts+38585, /* "CREATE TABLE \"rb..." */ - libc.VaList(bp+168, (*RbuObjIter)(unsafe.Pointer(pIter)).FzTbl, zSql, + libc.VaList(bp+136, (*RbuObjIter)(unsafe.Pointer(pIter)).FzTbl, zSql, func() uintptr { if (*RbuObjIter)(unsafe.Pointer(pIter)).FeType == RBU_PK_WITHOUT_ROWID { return ts + 38617 /* " WITHOUT ROWID" */ } return ts + 915 /* "" */ }())) - Xsqlite3_test_control(tls, SQLITE_TESTCTRL_IMPOSTER, libc.VaList(bp+200, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbMain, ts+13143 /* "main" */, 0, 0)) + Xsqlite3_test_control(tls, SQLITE_TESTCTRL_IMPOSTER, libc.VaList(bp+160, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbMain, ts+13143 /* "main" */, 0, 0)) } } @@ -208559,8 +208559,8 @@ func rbuCreateImposterTable(tls *libc.TLS, p uintptr, pIter uintptr) { /* sqlite // (for the rbu_rowid column) if the target table is an implicit IPK or // virtual table. func rbuObjIterPrepareTmpInsert(tls *libc.TLS, p uintptr, pIter uintptr, zCollist uintptr, zRbuRowid uintptr) { /* sqlite3.c:202230:13: */ - bp := tls.Alloc(48) - defer tls.Free(48) + bp := tls.Alloc(40) + defer tls.Free(40) var bRbuRowid int32 = (libc.Bool32(((*RbuObjIter)(unsafe.Pointer(pIter)).FeType == RBU_PK_EXTERNAL) || ((*RbuObjIter)(unsafe.Pointer(pIter)).FeType == RBU_PK_NONE))) var zBind uintptr = rbuObjIterGetBindlist(tls, p, (((*RbuObjIter)(unsafe.Pointer(pIter)).FnTblCol + 1) + bRbuRowid)) @@ -208704,8 +208704,8 @@ func rbuObjIterGetIndexWhere(tls *libc.TLS, p uintptr, pIter uintptr) uintptr { // target database object currently indicated by the iterator passed // as the second argument are available. func rbuObjIterPrepareAll(tls *libc.TLS, p uintptr, pIter uintptr, nOffset int32) int32 { /* sqlite3.c:202378:12: */ - bp := tls.Alloc(756) - defer tls.Free(756) + bp := tls.Alloc(628) + defer tls.Free(628) if ((*RbuObjIter)(unsafe.Pointer(pIter)).FpSelect == uintptr(0)) && (rbuObjIterCacheTableInfo(tls, p, pIter) == SQLITE_OK) { var tnum int32 = (*RbuObjIter)(unsafe.Pointer(pIter)).FiTnum @@ -208723,39 +208723,39 @@ func rbuObjIterPrepareAll(tls *libc.TLS, p uintptr, pIter uintptr, nOffset int32 if zIdx != 0 { var zTbl uintptr = (*RbuObjIter)(unsafe.Pointer(pIter)).FzTbl - *(*uintptr)(unsafe.Pointer(bp + 728 /* zImposterCols */)) = uintptr(0) // Columns for imposter table - *(*uintptr)(unsafe.Pointer(bp + 736 /* zImposterPK */)) = uintptr(0) // Primary key declaration for imposter - *(*uintptr)(unsafe.Pointer(bp + 744 /* zWhere */)) = uintptr(0) // WHERE clause on PK columns + *(*uintptr)(unsafe.Pointer(bp + 600 /* zImposterCols */)) = uintptr(0) // Columns for imposter table + *(*uintptr)(unsafe.Pointer(bp + 608 /* zImposterPK */)) = uintptr(0) // Primary key declaration for imposter + *(*uintptr)(unsafe.Pointer(bp + 616 /* zWhere */)) = uintptr(0) // WHERE clause on PK columns var zBind uintptr = uintptr(0) var zPart uintptr = uintptr(0) - *(*int32)(unsafe.Pointer(bp + 752 /* nBind */)) = 0 + *(*int32)(unsafe.Pointer(bp + 624 /* nBind */)) = 0 zPart = rbuObjIterGetIndexWhere(tls, p, pIter) zCollist = rbuObjIterGetIndexCols(tls, - p, pIter, bp+728 /* &zImposterCols */, bp+736 /* &zImposterPK */, bp+744 /* &zWhere */, bp+752 /* &nBind */) - zBind = rbuObjIterGetBindlist(tls, p, *(*int32)(unsafe.Pointer(bp + 752 /* nBind */))) + p, pIter, bp+600 /* &zImposterCols */, bp+608 /* &zImposterPK */, bp+616 /* &zWhere */, bp+624 /* &nBind */) + zBind = rbuObjIterGetBindlist(tls, p, *(*int32)(unsafe.Pointer(bp + 624 /* nBind */))) // Create the imposter table used to write to this index. - Xsqlite3_test_control(tls, SQLITE_TESTCTRL_IMPOSTER, libc.VaList(bp+16, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbMain, ts+13143 /* "main" */, 0, 1)) - Xsqlite3_test_control(tls, SQLITE_TESTCTRL_IMPOSTER, libc.VaList(bp+56, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbMain, ts+13143 /* "main" */, 1, tnum)) + Xsqlite3_test_control(tls, SQLITE_TESTCTRL_IMPOSTER, libc.VaList(bp+8, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbMain, ts+13143 /* "main" */, 0, 1)) + Xsqlite3_test_control(tls, SQLITE_TESTCTRL_IMPOSTER, libc.VaList(bp+40, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbMain, ts+13143 /* "main" */, 1, tnum)) rbuMPrintfExec(tls, p, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbMain, ts+38775, /* "CREATE TABLE \"rb..." */ - libc.VaList(bp+96, zTbl, *(*uintptr)(unsafe.Pointer(bp + 728 /* zImposterCols */)), *(*uintptr)(unsafe.Pointer(bp + 736 /* zImposterPK */)))) - Xsqlite3_test_control(tls, SQLITE_TESTCTRL_IMPOSTER, libc.VaList(bp+128, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbMain, ts+13143 /* "main" */, 0, 0)) + libc.VaList(bp+72, zTbl, *(*uintptr)(unsafe.Pointer(bp + 600 /* zImposterCols */)), *(*uintptr)(unsafe.Pointer(bp + 608 /* zImposterPK */)))) + Xsqlite3_test_control(tls, SQLITE_TESTCTRL_IMPOSTER, libc.VaList(bp+96, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbMain, ts+13143 /* "main" */, 0, 0)) // Create the statement to insert index entries - (*RbuObjIter)(unsafe.Pointer(pIter)).FnCol = *(*int32)(unsafe.Pointer(bp + 752 /* nBind */)) + (*RbuObjIter)(unsafe.Pointer(pIter)).FnCol = *(*int32)(unsafe.Pointer(bp + 624 /* nBind */)) if (*Sqlite3rbu)(unsafe.Pointer(p)).Frc == SQLITE_OK { (*Sqlite3rbu)(unsafe.Pointer(p)).Frc = prepareFreeAndCollectError(tls, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbMain, (pIter + 136 /* &.pInsert */), (p + 64 /* &.zErrmsg */), - Xsqlite3_mprintf(tls, ts+38840 /* "INSERT INTO \"rbu..." */, libc.VaList(bp+168, zTbl, zBind))) + Xsqlite3_mprintf(tls, ts+38840 /* "INSERT INTO \"rbu..." */, libc.VaList(bp+128, zTbl, zBind))) } // And to delete index entries if ((libc.Bool32((*Sqlite3rbu)(unsafe.Pointer((p))).FzTarget == uintptr(0))) == 0) && ((*Sqlite3rbu)(unsafe.Pointer(p)).Frc == SQLITE_OK) { (*Sqlite3rbu)(unsafe.Pointer(p)).Frc = prepareFreeAndCollectError(tls, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbMain, (pIter + 144 /* &.pDelete */), (p + 64 /* &.zErrmsg */), - Xsqlite3_mprintf(tls, ts+38876 /* "DELETE FROM \"rbu..." */, libc.VaList(bp+192, zTbl, *(*uintptr)(unsafe.Pointer(bp + 744 /* zWhere */))))) + Xsqlite3_mprintf(tls, ts+38876 /* "DELETE FROM \"rbu..." */, libc.VaList(bp+144, zTbl, *(*uintptr)(unsafe.Pointer(bp + 616 /* zWhere */))))) } // Create the SELECT statement to read keys in sorted order @@ -208773,7 +208773,7 @@ func rbuObjIterPrepareAll(tls *libc.TLS, p uintptr, pIter uintptr, nOffset int32 zSql = Xsqlite3_mprintf(tls, ts+38910, /* "SELECT %s, 0 AS ..." */ - libc.VaList(bp+216, zCollist, + libc.VaList(bp+160, zCollist, (*RbuObjIter)(unsafe.Pointer(pIter)).FzDataTbl, zPart, func() uintptr { @@ -208792,13 +208792,13 @@ func rbuObjIterPrepareAll(tls *libc.TLS, p uintptr, pIter uintptr, nOffset int32 } else if ((*RbuObjIter)(unsafe.Pointer(pIter)).FeType == RBU_PK_EXTERNAL) || ((*RbuObjIter)(unsafe.Pointer(pIter)).FeType == RBU_PK_NONE) { zSql = Xsqlite3_mprintf(tls, ts+38981, /* "SELECT %s, rbu_c..." */ - libc.VaList(bp+280, zCollist, p+48 /* &.zStateDb */, (*RbuObjIter)(unsafe.Pointer(pIter)).FzDataTbl, + libc.VaList(bp+216, zCollist, p+48 /* &.zStateDb */, (*RbuObjIter)(unsafe.Pointer(pIter)).FzDataTbl, zPart, zCollist, zLimit)) } else { zSql = Xsqlite3_mprintf(tls, ts+39042, /* "SELECT %s, rbu_c..." */ - libc.VaList(bp+336, zCollist, p+48 /* &.zStateDb */, (*RbuObjIter)(unsafe.Pointer(pIter)).FzDataTbl, zPart, + libc.VaList(bp+264, zCollist, p+48 /* &.zStateDb */, (*RbuObjIter)(unsafe.Pointer(pIter)).FzDataTbl, zPart, zCollist, (*RbuObjIter)(unsafe.Pointer(pIter)).FzDataTbl, zPart, func() uintptr { @@ -208816,9 +208816,9 @@ func rbuObjIterPrepareAll(tls *libc.TLS, p uintptr, pIter uintptr, nOffset int32 } } - Xsqlite3_free(tls, *(*uintptr)(unsafe.Pointer(bp + 728 /* zImposterCols */))) - Xsqlite3_free(tls, *(*uintptr)(unsafe.Pointer(bp + 736 /* zImposterPK */))) - Xsqlite3_free(tls, *(*uintptr)(unsafe.Pointer(bp + 744 /* zWhere */))) + Xsqlite3_free(tls, *(*uintptr)(unsafe.Pointer(bp + 600 /* zImposterCols */))) + Xsqlite3_free(tls, *(*uintptr)(unsafe.Pointer(bp + 608 /* zImposterPK */))) + Xsqlite3_free(tls, *(*uintptr)(unsafe.Pointer(bp + 616 /* zWhere */))) Xsqlite3_free(tls, zBind) Xsqlite3_free(tls, zPart) } else { @@ -208851,7 +208851,7 @@ func rbuObjIterPrepareAll(tls *libc.TLS, p uintptr, pIter uintptr, nOffset int32 (*Sqlite3rbu)(unsafe.Pointer(p)).Frc = prepareFreeAndCollectError(tls, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbMain, (pIter + 136 /* &.pInsert */), pz, Xsqlite3_mprintf(tls, ts+39210, /* "INSERT INTO \"%s%..." */ - libc.VaList(bp+424, zWrite, zTbl, zCollist, func() uintptr { + libc.VaList(bp+344, zWrite, zTbl, zCollist, func() uintptr { if bRbuRowid != 0 { return ts + 39246 /* ", _rowid_" */ } @@ -208865,7 +208865,7 @@ func rbuObjIterPrepareAll(tls *libc.TLS, p uintptr, pIter uintptr, nOffset int32 if ((libc.Bool32((*Sqlite3rbu)(unsafe.Pointer((p))).FzTarget == uintptr(0))) == 0) && ((*Sqlite3rbu)(unsafe.Pointer(p)).Frc == SQLITE_OK) { (*Sqlite3rbu)(unsafe.Pointer(p)).Frc = prepareFreeAndCollectError(tls, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbMain, (pIter + 144 /* &.pDelete */), pz, Xsqlite3_mprintf(tls, - ts+39256 /* "DELETE FROM \"%s%..." */, libc.VaList(bp+472, zWrite, zTbl, zWhere))) + ts+39256 /* "DELETE FROM \"%s%..." */, libc.VaList(bp+384, zWrite, zTbl, zWhere))) } if ((libc.Bool32((*Sqlite3rbu)(unsafe.Pointer((p))).FzTarget == uintptr(0))) == 0) && ((*RbuObjIter)(unsafe.Pointer(pIter)).FabIndexed != 0) { @@ -208877,7 +208877,7 @@ func rbuObjIterPrepareAll(tls *libc.TLS, p uintptr, pIter uintptr, nOffset int32 // Create the rbu_tmp_xxx table and the triggers to populate it. rbuMPrintfExec(tls, p, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbRbu, - ts+39296 /* "CREATE TABLE IF ..." */, libc.VaList(bp+504, p+48 /* &.zStateDb */, (*RbuObjIter)(unsafe.Pointer(pIter)).FzDataTbl, func() uintptr { + ts+39296 /* "CREATE TABLE IF ..." */, libc.VaList(bp+408, p+48 /* &.zStateDb */, (*RbuObjIter)(unsafe.Pointer(pIter)).FzDataTbl, func() uintptr { if (*RbuObjIter)(unsafe.Pointer(pIter)).FeType == RBU_PK_EXTERNAL { return ts + 39372 /* ", 0 AS rbu_rowid" */ } @@ -208887,7 +208887,7 @@ func rbuObjIterPrepareAll(tls *libc.TLS, p uintptr, pIter uintptr, nOffset int32 rbuMPrintfExec(tls, p, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbMain, ts+39389, /* "CREATE TEMP TRIG..." */ - libc.VaList(bp+544, zWrite, zTbl, zOldlist, + libc.VaList(bp+440, zWrite, zTbl, zOldlist, zWrite, zTbl, zOldlist, zWrite, zTbl, zNewlist)) @@ -208895,7 +208895,7 @@ func rbuObjIterPrepareAll(tls *libc.TLS, p uintptr, pIter uintptr, nOffset int32 rbuMPrintfExec(tls, p, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbMain, ts+39688, /* "CREATE TEMP TRIG..." */ - libc.VaList(bp+624, zWrite, zTbl, zNewlist)) + libc.VaList(bp+512, zWrite, zTbl, zNewlist)) } rbuObjIterPrepareTmpInsert(tls, p, pIter, zCollist, zRbuRowid) @@ -208933,7 +208933,7 @@ func rbuObjIterPrepareAll(tls *libc.TLS, p uintptr, pIter uintptr, nOffset int32 (*Sqlite3rbu)(unsafe.Pointer(p)).Frc = prepareFreeAndCollectError(tls, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbRbu, (pIter + 128 /* &.pSelect */), pz, Xsqlite3_mprintf(tls, ts+39808, /* "SELECT %s,%s rbu..." */ - libc.VaList(bp+656, zCollist, + libc.VaList(bp+536, zCollist, func() uintptr { if (*Sqlite3rbu)(unsafe.Pointer((p))).FzTarget == uintptr(0) { return ts + 39856 /* "0 AS " */ @@ -208979,8 +208979,8 @@ func rbuObjIterPrepareAll(tls *libc.TLS, p uintptr, pIter uintptr, nOffset int32 // If the zMask string does not specify any columns to update, then this // is not an error. Output variable *ppStmt is set to NULL in this case. func rbuGetUpdateStmt(tls *libc.TLS, p uintptr, pIter uintptr, zMask uintptr, ppStmt uintptr) int32 { /* sqlite3.c:202645:12: */ - bp := tls.Alloc(40) - defer tls.Free(40) + bp := tls.Alloc(32) + defer tls.Free(32) var pp uintptr var pUp uintptr = uintptr(0) @@ -209045,25 +209045,25 @@ func rbuGetUpdateStmt(tls *libc.TLS, p uintptr, pIter uintptr, zMask uintptr, pp } func rbuOpenDbhandle(tls *libc.TLS, p uintptr, zName uintptr, bUseVfs int32) uintptr { /* sqlite3.c:202713:16: */ - bp := tls.Alloc(24) - defer tls.Free(24) + bp := tls.Alloc(16) + defer tls.Free(16) - *(*uintptr)(unsafe.Pointer(bp + 16 /* db */)) = uintptr(0) + *(*uintptr)(unsafe.Pointer(bp + 8 /* db */)) = uintptr(0) if (*Sqlite3rbu)(unsafe.Pointer(p)).Frc == SQLITE_OK { var flags int32 = ((SQLITE_OPEN_READWRITE | SQLITE_OPEN_CREATE) | SQLITE_OPEN_URI) - (*Sqlite3rbu)(unsafe.Pointer(p)).Frc = Xsqlite3_open_v2(tls, zName, bp+16 /* &db */, flags, func() uintptr { + (*Sqlite3rbu)(unsafe.Pointer(p)).Frc = Xsqlite3_open_v2(tls, zName, bp+8 /* &db */, flags, func() uintptr { if bUseVfs != 0 { return (*Sqlite3rbu)(unsafe.Pointer(p)).FzVfsName } return uintptr(0) }()) if (*Sqlite3rbu)(unsafe.Pointer(p)).Frc != 0 { - (*Sqlite3rbu)(unsafe.Pointer(p)).FzErrmsg = Xsqlite3_mprintf(tls, ts+951 /* "%s" */, libc.VaList(bp, Xsqlite3_errmsg(tls, *(*uintptr)(unsafe.Pointer(bp + 16 /* db */))))) - Xsqlite3_close(tls, *(*uintptr)(unsafe.Pointer(bp + 16 /* db */))) - *(*uintptr)(unsafe.Pointer(bp + 16 /* db */)) = uintptr(0) + (*Sqlite3rbu)(unsafe.Pointer(p)).FzErrmsg = Xsqlite3_mprintf(tls, ts+951 /* "%s" */, libc.VaList(bp, Xsqlite3_errmsg(tls, *(*uintptr)(unsafe.Pointer(bp + 8 /* db */))))) + Xsqlite3_close(tls, *(*uintptr)(unsafe.Pointer(bp + 8 /* db */))) + *(*uintptr)(unsafe.Pointer(bp + 8 /* db */)) = uintptr(0) } } - return *(*uintptr)(unsafe.Pointer(bp + 16 /* db */)) + return *(*uintptr)(unsafe.Pointer(bp + 8 /* db */)) } // Free an RbuState object allocated by rbuLoadState(). @@ -209084,12 +209084,12 @@ func rbuFreeState(tls *libc.TLS, p uintptr) { /* sqlite3.c:202734:13: */ // If an error occurs, leave an error code and message in the rbu handle // and return NULL. func rbuLoadState(tls *libc.TLS, p uintptr) uintptr { /* sqlite3.c:202752:17: */ - bp := tls.Alloc(28) - defer tls.Free(28) + bp := tls.Alloc(20) + defer tls.Free(20) var pRet uintptr = uintptr(0) - *(*uintptr)(unsafe.Pointer(bp + 16 /* pStmt */)) = uintptr(0) - // var rc int32 at bp+24, 4 + *(*uintptr)(unsafe.Pointer(bp + 8 /* pStmt */)) = uintptr(0) + // var rc int32 at bp+16, 4 var rc2 int32 @@ -209098,12 +209098,12 @@ func rbuLoadState(tls *libc.TLS, p uintptr) uintptr { /* sqlite3.c:202752:17: */ return uintptr(0) } - *(*int32)(unsafe.Pointer(bp + 24 /* rc */)) = prepareFreeAndCollectError(tls, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbRbu, bp+16 /* &pStmt */, (p + 64 /* &.zErrmsg */), + *(*int32)(unsafe.Pointer(bp + 16 /* rc */)) = prepareFreeAndCollectError(tls, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbRbu, bp+8 /* &pStmt */, (p + 64 /* &.zErrmsg */), Xsqlite3_mprintf(tls, ts+39892 /* "SELECT k, v FROM..." */, libc.VaList(bp, p+48 /* &.zStateDb */))) - for (*(*int32)(unsafe.Pointer(bp + 24 /* rc */)) == SQLITE_OK) && (SQLITE_ROW == Xsqlite3_step(tls, *(*uintptr)(unsafe.Pointer(bp + 16 /* pStmt */)))) { - switch Xsqlite3_column_int(tls, *(*uintptr)(unsafe.Pointer(bp + 16 /* pStmt */)), 0) { + for (*(*int32)(unsafe.Pointer(bp + 16 /* rc */)) == SQLITE_OK) && (SQLITE_ROW == Xsqlite3_step(tls, *(*uintptr)(unsafe.Pointer(bp + 8 /* pStmt */)))) { + switch Xsqlite3_column_int(tls, *(*uintptr)(unsafe.Pointer(bp + 8 /* pStmt */)), 0) { case RBU_STATE_STAGE: - (*RbuState)(unsafe.Pointer(pRet)).FeStage = Xsqlite3_column_int(tls, *(*uintptr)(unsafe.Pointer(bp + 16 /* pStmt */)), 1) + (*RbuState)(unsafe.Pointer(pRet)).FeStage = Xsqlite3_column_int(tls, *(*uintptr)(unsafe.Pointer(bp + 8 /* pStmt */)), 1) if (((*RbuState)(unsafe.Pointer(pRet)).FeStage != RBU_STAGE_OAL) && ((*RbuState)(unsafe.Pointer(pRet)).FeStage != RBU_STAGE_MOVE)) && ((*RbuState)(unsafe.Pointer(pRet)).FeStage != RBU_STAGE_CKPT) { @@ -209112,60 +209112,60 @@ func rbuLoadState(tls *libc.TLS, p uintptr) uintptr { /* sqlite3.c:202752:17: */ break case RBU_STATE_TBL: - (*RbuState)(unsafe.Pointer(pRet)).FzTbl = rbuStrndup(tls, Xsqlite3_column_text(tls, *(*uintptr)(unsafe.Pointer(bp + 16 /* pStmt */)), 1), bp+24 /* &rc */) + (*RbuState)(unsafe.Pointer(pRet)).FzTbl = rbuStrndup(tls, Xsqlite3_column_text(tls, *(*uintptr)(unsafe.Pointer(bp + 8 /* pStmt */)), 1), bp+16 /* &rc */) break case RBU_STATE_IDX: - (*RbuState)(unsafe.Pointer(pRet)).FzIdx = rbuStrndup(tls, Xsqlite3_column_text(tls, *(*uintptr)(unsafe.Pointer(bp + 16 /* pStmt */)), 1), bp+24 /* &rc */) + (*RbuState)(unsafe.Pointer(pRet)).FzIdx = rbuStrndup(tls, Xsqlite3_column_text(tls, *(*uintptr)(unsafe.Pointer(bp + 8 /* pStmt */)), 1), bp+16 /* &rc */) break case RBU_STATE_ROW: - (*RbuState)(unsafe.Pointer(pRet)).FnRow = Xsqlite3_column_int(tls, *(*uintptr)(unsafe.Pointer(bp + 16 /* pStmt */)), 1) + (*RbuState)(unsafe.Pointer(pRet)).FnRow = Xsqlite3_column_int(tls, *(*uintptr)(unsafe.Pointer(bp + 8 /* pStmt */)), 1) break case RBU_STATE_PROGRESS: - (*RbuState)(unsafe.Pointer(pRet)).FnProgress = Xsqlite3_column_int64(tls, *(*uintptr)(unsafe.Pointer(bp + 16 /* pStmt */)), 1) + (*RbuState)(unsafe.Pointer(pRet)).FnProgress = Xsqlite3_column_int64(tls, *(*uintptr)(unsafe.Pointer(bp + 8 /* pStmt */)), 1) break case RBU_STATE_CKPT: - (*RbuState)(unsafe.Pointer(pRet)).FiWalCksum = Xsqlite3_column_int64(tls, *(*uintptr)(unsafe.Pointer(bp + 16 /* pStmt */)), 1) + (*RbuState)(unsafe.Pointer(pRet)).FiWalCksum = Xsqlite3_column_int64(tls, *(*uintptr)(unsafe.Pointer(bp + 8 /* pStmt */)), 1) break case RBU_STATE_COOKIE: - (*RbuState)(unsafe.Pointer(pRet)).FiCookie = U32(Xsqlite3_column_int64(tls, *(*uintptr)(unsafe.Pointer(bp + 16 /* pStmt */)), 1)) + (*RbuState)(unsafe.Pointer(pRet)).FiCookie = U32(Xsqlite3_column_int64(tls, *(*uintptr)(unsafe.Pointer(bp + 8 /* pStmt */)), 1)) break case RBU_STATE_OALSZ: - (*RbuState)(unsafe.Pointer(pRet)).FiOalSz = I64(U32(Xsqlite3_column_int64(tls, *(*uintptr)(unsafe.Pointer(bp + 16 /* pStmt */)), 1))) + (*RbuState)(unsafe.Pointer(pRet)).FiOalSz = I64(U32(Xsqlite3_column_int64(tls, *(*uintptr)(unsafe.Pointer(bp + 8 /* pStmt */)), 1))) break case RBU_STATE_PHASEONESTEP: - (*RbuState)(unsafe.Pointer(pRet)).FnPhaseOneStep = Xsqlite3_column_int64(tls, *(*uintptr)(unsafe.Pointer(bp + 16 /* pStmt */)), 1) + (*RbuState)(unsafe.Pointer(pRet)).FnPhaseOneStep = Xsqlite3_column_int64(tls, *(*uintptr)(unsafe.Pointer(bp + 8 /* pStmt */)), 1) break case RBU_STATE_DATATBL: - (*RbuState)(unsafe.Pointer(pRet)).FzDataTbl = rbuStrndup(tls, Xsqlite3_column_text(tls, *(*uintptr)(unsafe.Pointer(bp + 16 /* pStmt */)), 1), bp+24 /* &rc */) + (*RbuState)(unsafe.Pointer(pRet)).FzDataTbl = rbuStrndup(tls, Xsqlite3_column_text(tls, *(*uintptr)(unsafe.Pointer(bp + 8 /* pStmt */)), 1), bp+16 /* &rc */) break default: - *(*int32)(unsafe.Pointer(bp + 24 /* rc */)) = SQLITE_CORRUPT + *(*int32)(unsafe.Pointer(bp + 16 /* rc */)) = SQLITE_CORRUPT break } } - rc2 = Xsqlite3_finalize(tls, *(*uintptr)(unsafe.Pointer(bp + 16 /* pStmt */))) - if *(*int32)(unsafe.Pointer(bp + 24 /* rc */)) == SQLITE_OK { - *(*int32)(unsafe.Pointer(bp + 24 /* rc */)) = rc2 + rc2 = Xsqlite3_finalize(tls, *(*uintptr)(unsafe.Pointer(bp + 8 /* pStmt */))) + if *(*int32)(unsafe.Pointer(bp + 16 /* rc */)) == SQLITE_OK { + *(*int32)(unsafe.Pointer(bp + 16 /* rc */)) = rc2 } - (*Sqlite3rbu)(unsafe.Pointer(p)).Frc = *(*int32)(unsafe.Pointer(bp + 24 /* rc */)) + (*Sqlite3rbu)(unsafe.Pointer(p)).Frc = *(*int32)(unsafe.Pointer(bp + 16 /* rc */)) return pRet } // Open the database handle and attach the RBU database as "rbu". If an // error occurs, leave an error code and message in the RBU handle. func rbuOpenDatabase(tls *libc.TLS, p uintptr, pbRetry uintptr) { /* sqlite3.c:202829:13: */ - bp := tls.Alloc(88) - defer tls.Free(88) + bp := tls.Alloc(56) + defer tls.Free(56) // Open the RBU database (*Sqlite3rbu)(unsafe.Pointer(p)).FdbRbu = rbuOpenDbhandle(tls, p, (*Sqlite3rbu)(unsafe.Pointer(p)).FzRbu, 1) @@ -209181,14 +209181,14 @@ func rbuOpenDatabase(tls *libc.TLS, p uintptr, pbRetry uintptr) { /* sqlite3.c:2 // If using separate RBU and state databases, attach the state database to // the RBU db handle now. if (*Sqlite3rbu)(unsafe.Pointer(p)).FzState != 0 { - rbuMPrintfExec(tls, p, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbRbu, ts+39949 /* "ATTACH %Q AS sta..." */, libc.VaList(bp+24, (*Sqlite3rbu)(unsafe.Pointer(p)).FzState)) + rbuMPrintfExec(tls, p, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbRbu, ts+39949 /* "ATTACH %Q AS sta..." */, libc.VaList(bp+16, (*Sqlite3rbu)(unsafe.Pointer(p)).FzState)) libc.Xmemcpy(tls, p+48 /* &.zStateDb */, ts+20082 /* "stat" */, uint64(4)) } else { libc.Xmemcpy(tls, p+48 /* &.zStateDb */, ts+13143 /* "main" */, uint64(4)) } // If it has not already been created, create the rbu_state table - rbuMPrintfExec(tls, p, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbRbu, ts+39967 /* "CREATE TABLE IF ..." */, libc.VaList(bp+40, p+48 /* &.zStateDb */)) + rbuMPrintfExec(tls, p, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbRbu, ts+39967 /* "CREATE TABLE IF ..." */, libc.VaList(bp+24, p+48 /* &.zStateDb */)) if ((*Sqlite3rbu)(unsafe.Pointer(p)).Frc == SQLITE_OK) && ((*Sqlite3rbu)(unsafe.Pointer((p))).FzTarget == uintptr(0)) { var bOpen int32 = 0 @@ -209245,7 +209245,7 @@ func rbuOpenDatabase(tls *libc.TLS, p uintptr, pbRetry uintptr) { /* sqlite3.c:2 } zTarget = Xsqlite3_mprintf(tls, ts+40065, /* "file:%s-vactmp?r..." */ - libc.VaList(bp+56, Xsqlite3_db_filename(tls, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbRbu, ts+13143 /* "main" */), + libc.VaList(bp+32, Xsqlite3_db_filename(tls, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbRbu, ts+13143 /* "main" */), func() uintptr { if zExtra == uintptr(0) { return ts + 915 /* "" */ @@ -209529,8 +209529,8 @@ func rbuLockDatabase(tls *libc.TLS, p uintptr) { /* sqlite3.c:203202:13: */ // If an error occurs, leave an error code and error message in the rbu // handle. func rbuMoveOalFile(tls *libc.TLS, p uintptr) { /* sqlite3.c:203242:13: */ - bp := tls.Alloc(32) - defer tls.Free(32) + bp := tls.Alloc(16) + defer tls.Free(16) var zBase uintptr = Xsqlite3_db_filename(tls, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbMain, ts+13143 /* "main" */) var zMove uintptr = zBase @@ -209541,7 +209541,7 @@ func rbuMoveOalFile(tls *libc.TLS, p uintptr) { /* sqlite3.c:203242:13: */ zMove = Xsqlite3_db_filename(tls, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbRbu, ts+13143 /* "main" */) } zOal = Xsqlite3_mprintf(tls, ts+40228 /* "%s-oal" */, libc.VaList(bp, zMove)) - zWal = Xsqlite3_mprintf(tls, ts+40235 /* "%s-wal" */, libc.VaList(bp+16, zMove)) + zWal = Xsqlite3_mprintf(tls, ts+40235 /* "%s-wal" */, libc.VaList(bp+8, zMove)) if (zWal == uintptr(0)) || (zOal == uintptr(0)) { (*Sqlite3rbu)(unsafe.Pointer(p)).Frc = SQLITE_NOMEM @@ -209785,8 +209785,8 @@ func rbuStep(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:203472:12: */ // opened by p->dbMain to one more than the schema cookie of the main // db opened by p->dbRbu. func rbuIncrSchemaCookie(tls *libc.TLS, p uintptr) { /* sqlite3.c:203537:13: */ - bp := tls.Alloc(24) - defer tls.Free(24) + bp := tls.Alloc(16) + defer tls.Free(16) if (*Sqlite3rbu)(unsafe.Pointer(p)).Frc == SQLITE_OK { var dbread uintptr = func() uintptr { @@ -209796,9 +209796,9 @@ func rbuIncrSchemaCookie(tls *libc.TLS, p uintptr) { /* sqlite3.c:203537:13: */ return (*Sqlite3rbu)(unsafe.Pointer(p)).FdbMain }() var iCookie int32 = 1000000 - // var pStmt uintptr at bp+16, 8 + // var pStmt uintptr at bp+8, 8 - (*Sqlite3rbu)(unsafe.Pointer(p)).Frc = prepareAndCollectError(tls, dbread, bp+16 /* &pStmt */, (p + 64 /* &.zErrmsg */), + (*Sqlite3rbu)(unsafe.Pointer(p)).Frc = prepareAndCollectError(tls, dbread, bp+8 /* &pStmt */, (p + 64 /* &.zErrmsg */), ts+40242 /* "PRAGMA schema_ve..." */) if (*Sqlite3rbu)(unsafe.Pointer(p)).Frc == SQLITE_OK { // Coverage: it may be that this sqlite3_step() cannot fail. There @@ -209806,10 +209806,10 @@ func rbuIncrSchemaCookie(tls *libc.TLS, p uintptr) { /* sqlite3.c:203537:13: */ // throw an SQLITE_SCHEMA exception. The only database page the // statement reads is page 1, which is guaranteed to be in the cache. // And no memory allocations are required. - if SQLITE_ROW == Xsqlite3_step(tls, *(*uintptr)(unsafe.Pointer(bp + 16 /* pStmt */))) { - iCookie = Xsqlite3_column_int(tls, *(*uintptr)(unsafe.Pointer(bp + 16 /* pStmt */)), 0) + if SQLITE_ROW == Xsqlite3_step(tls, *(*uintptr)(unsafe.Pointer(bp + 8 /* pStmt */))) { + iCookie = Xsqlite3_column_int(tls, *(*uintptr)(unsafe.Pointer(bp + 8 /* pStmt */)), 0) } - rbuFinalize(tls, p, *(*uintptr)(unsafe.Pointer(bp + 16 /* pStmt */))) + rbuFinalize(tls, p, *(*uintptr)(unsafe.Pointer(bp + 8 /* pStmt */))) } if (*Sqlite3rbu)(unsafe.Pointer(p)).Frc == SQLITE_OK { rbuMPrintfExec(tls, p, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbMain, ts+40264 /* "PRAGMA schema_ve..." */, libc.VaList(bp, (iCookie+1))) @@ -209821,11 +209821,11 @@ func rbuIncrSchemaCookie(tls *libc.TLS, p uintptr) { /* sqlite3.c:203537:13: */ // value stored in the RBU_STATE_STAGE column is eStage. All other values // are determined by inspecting the rbu handle passed as the first argument. func rbuSaveState(tls *libc.TLS, p uintptr, eStage int32) { /* sqlite3.c:203568:13: */ - bp := tls.Alloc(184) - defer tls.Free(184) + bp := tls.Alloc(176) + defer tls.Free(176) if ((*Sqlite3rbu)(unsafe.Pointer(p)).Frc == SQLITE_OK) || ((*Sqlite3rbu)(unsafe.Pointer(p)).Frc == SQLITE_DONE) { - *(*uintptr)(unsafe.Pointer(bp + 176 /* pInsert */)) = uintptr(0) + *(*uintptr)(unsafe.Pointer(bp + 168 /* pInsert */)) = uintptr(0) var pFd uintptr = func() uintptr { if (*Sqlite3rbu)(unsafe.Pointer((p))).FzTarget == uintptr(0) { return (*Sqlite3rbu)(unsafe.Pointer(p)).FpRbuFd @@ -209834,7 +209834,7 @@ func rbuSaveState(tls *libc.TLS, p uintptr, eStage int32) { /* sqlite3.c:203568: }() var rc int32 - rc = prepareFreeAndCollectError(tls, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbRbu, bp+176 /* &pInsert */, (p + 64 /* &.zErrmsg */), + rc = prepareFreeAndCollectError(tls, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbRbu, bp+168 /* &pInsert */, (p + 64 /* &.zErrmsg */), Xsqlite3_mprintf(tls, ts+40291, /* "INSERT OR REPLAC..." */ @@ -209851,8 +209851,8 @@ func rbuSaveState(tls *libc.TLS, p uintptr, eStage int32) { /* sqlite3.c:203568: RBU_STATE_DATATBL, (*Sqlite3rbu)(unsafe.Pointer(p)).Fobjiter.FzDataTbl))) if rc == SQLITE_OK { - Xsqlite3_step(tls, *(*uintptr)(unsafe.Pointer(bp + 176 /* pInsert */))) - rc = Xsqlite3_finalize(tls, *(*uintptr)(unsafe.Pointer(bp + 176 /* pInsert */))) + Xsqlite3_step(tls, *(*uintptr)(unsafe.Pointer(bp + 168 /* pInsert */))) + rc = Xsqlite3_finalize(tls, *(*uintptr)(unsafe.Pointer(bp + 168 /* pInsert */))) } if rc != SQLITE_OK { (*Sqlite3rbu)(unsafe.Pointer(p)).Frc = rc @@ -209876,18 +209876,18 @@ func rbuSaveState(tls *libc.TLS, p uintptr, eStage int32) { /* sqlite3.c:203568: // In short, it copies the value of the specified PRAGMA setting from // dbRbu to dbMain. func rbuCopyPragma(tls *libc.TLS, p uintptr, zPragma uintptr) { /* sqlite3.c:203629:13: */ - bp := tls.Alloc(48) - defer tls.Free(48) + bp := tls.Alloc(32) + defer tls.Free(32) if (*Sqlite3rbu)(unsafe.Pointer(p)).Frc == SQLITE_OK { - *(*uintptr)(unsafe.Pointer(bp + 40 /* pPragma */)) = uintptr(0) - (*Sqlite3rbu)(unsafe.Pointer(p)).Frc = prepareFreeAndCollectError(tls, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbRbu, bp+40 /* &pPragma */, (p + 64 /* &.zErrmsg */), + *(*uintptr)(unsafe.Pointer(bp + 24 /* pPragma */)) = uintptr(0) + (*Sqlite3rbu)(unsafe.Pointer(p)).Frc = prepareFreeAndCollectError(tls, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbRbu, bp+24 /* &pPragma */, (p + 64 /* &.zErrmsg */), Xsqlite3_mprintf(tls, ts+40449 /* "PRAGMA main.%s" */, libc.VaList(bp, zPragma))) - if ((*Sqlite3rbu)(unsafe.Pointer(p)).Frc == SQLITE_OK) && (SQLITE_ROW == Xsqlite3_step(tls, *(*uintptr)(unsafe.Pointer(bp + 40 /* pPragma */)))) { + if ((*Sqlite3rbu)(unsafe.Pointer(p)).Frc == SQLITE_OK) && (SQLITE_ROW == Xsqlite3_step(tls, *(*uintptr)(unsafe.Pointer(bp + 24 /* pPragma */)))) { (*Sqlite3rbu)(unsafe.Pointer(p)).Frc = rbuMPrintfExec(tls, p, (*Sqlite3rbu)(unsafe.Pointer(p)).FdbMain, ts+40464, /* "PRAGMA main.%s =..." */ - libc.VaList(bp+16, zPragma, Xsqlite3_column_int(tls, *(*uintptr)(unsafe.Pointer(bp + 40 /* pPragma */)), 0))) + libc.VaList(bp+8, zPragma, Xsqlite3_column_int(tls, *(*uintptr)(unsafe.Pointer(bp + 24 /* pPragma */)), 0))) } - rbuFinalize(tls, p, *(*uintptr)(unsafe.Pointer(bp + 40 /* pPragma */))) + rbuFinalize(tls, p, *(*uintptr)(unsafe.Pointer(bp + 24 /* pPragma */))) } } @@ -209945,8 +209945,8 @@ func rbuCreateTargetSchema(tls *libc.TLS, p uintptr) { /* sqlite3.c:203649:13: * // Step the RBU object. func Xsqlite3rbu_step(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:203701:16: */ - bp := tls.Alloc(32) - defer tls.Free(32) + bp := tls.Alloc(24) + defer tls.Free(24) if p != 0 { switch (*Sqlite3rbu)(unsafe.Pointer(p)).FeStage { @@ -210030,11 +210030,11 @@ func Xsqlite3rbu_step(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:203701:16: // Update nBackfill if (*Sqlite3rbu)(unsafe.Pointer(p)).Frc == SQLITE_OK { - // var ptr uintptr at bp+24, 8 + // var ptr uintptr at bp+16, 8 - (*Sqlite3rbu)(unsafe.Pointer(p)).Frc = (*(*func(*libc.TLS, uintptr, int32, int32, int32, uintptr) int32)(unsafe.Pointer(((*Sqlite3_file)(unsafe.Pointer(pDb)).FpMethods + 104 /* &.xShmMap */))))(tls, pDb, 0, (32 * 1024), 0, bp+24 /* &ptr */) + (*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 == SQLITE_OK { - *(*U32)(unsafe.Pointer((libc.AtomicLoadPUintptr(bp + 24 /* ptr */)) + 24*4)) = (*Sqlite3rbu)(unsafe.Pointer(p)).FiMaxFrame + *(*U32)(unsafe.Pointer((libc.AtomicLoadPUintptr(bp + 16 /* ptr */)) + 24*4)) = (*Sqlite3rbu)(unsafe.Pointer(p)).FiMaxFrame } } @@ -210132,8 +210132,8 @@ func rbuSetupOal(tls *libc.TLS, p uintptr, pState uintptr) { /* sqlite3.c:203846 // target database in the file-system, delete it. If an error occurs, // leave an error code and error message in the rbu handle. func rbuDeleteOalFile(tls *libc.TLS, p uintptr) { /* sqlite3.c:203879:13: */ - bp := tls.Alloc(16) - defer tls.Free(16) + bp := tls.Alloc(8) + defer tls.Free(8) var zOal uintptr = rbuMPrintf(tls, p, ts+40228 /* "%s-oal" */, libc.VaList(bp, (*Sqlite3rbu)(unsafe.Pointer(p)).FzTarget)) if zOal != 0 { @@ -210149,18 +210149,18 @@ func rbuDeleteOalFile(tls *libc.TLS, p uintptr) { /* sqlite3.c:203879:13: */ // specified a URI with a vfs=? option in place of a target database // file name. func rbuCreateVfs(tls *libc.TLS, p uintptr) { /* sqlite3.c:203895:13: */ - bp := tls.Alloc(84) - defer tls.Free(84) + bp := tls.Alloc(76) + defer tls.Free(76) - // var rnd int32 at bp+16, 4 + // var rnd int32 at bp+8, 4 - // var zRnd [64]int8 at bp+20, 64 + // var zRnd [64]int8 at bp+12, 64 - Xsqlite3_randomness(tls, int32(unsafe.Sizeof(int32(0))), bp+16 /* &rnd */) - Xsqlite3_snprintf(tls, int32(unsafe.Sizeof([64]int8{})), bp+20 /* &zRnd[0] */, ts+40804 /* "rbu_vfs_%d" */, libc.VaList(bp, *(*int32)(unsafe.Pointer(bp + 16 /* rnd */)))) - (*Sqlite3rbu)(unsafe.Pointer(p)).Frc = Xsqlite3rbu_create_vfs(tls, bp+20 /* &zRnd[0] */, uintptr(0)) + Xsqlite3_randomness(tls, int32(unsafe.Sizeof(int32(0))), bp+8 /* &rnd */) + Xsqlite3_snprintf(tls, int32(unsafe.Sizeof([64]int8{})), bp+12 /* &zRnd[0] */, ts+40804 /* "rbu_vfs_%d" */, libc.VaList(bp, *(*int32)(unsafe.Pointer(bp + 8 /* rnd */)))) + (*Sqlite3rbu)(unsafe.Pointer(p)).Frc = Xsqlite3rbu_create_vfs(tls, bp+12 /* &zRnd[0] */, uintptr(0)) if (*Sqlite3rbu)(unsafe.Pointer(p)).Frc == SQLITE_OK { - var pVfs uintptr = Xsqlite3_vfs_find(tls, bp+20 /* &zRnd[0] */) + var pVfs uintptr = Xsqlite3_vfs_find(tls, bp+12 /* &zRnd[0] */) (*Sqlite3rbu)(unsafe.Pointer(p)).FzVfsName = (*Sqlite3_vfs)(unsafe.Pointer(pVfs)).FzName (*Rbu_vfs)(unsafe.Pointer(pVfs)).FpRbu = p @@ -210180,12 +210180,12 @@ func rbuDeleteVfs(tls *libc.TLS, p uintptr) { /* sqlite3.c:203915:13: */ // name of a table expected to appear in the target database. It returns // the number of auxilliary indexes on the table. func rbuIndexCntFunc(tls *libc.TLS, pCtx uintptr, nVal int32, apVal uintptr) { /* sqlite3.c:203927:13: */ - bp := tls.Alloc(32) - defer tls.Free(32) + bp := tls.Alloc(24) + defer tls.Free(24) var p uintptr = Xsqlite3_user_data(tls, pCtx) - *(*uintptr)(unsafe.Pointer(bp + 16 /* pStmt */)) = uintptr(0) - *(*uintptr)(unsafe.Pointer(bp + 24 /* zErrmsg */)) = uintptr(0) + *(*uintptr)(unsafe.Pointer(bp + 8 /* pStmt */)) = uintptr(0) + *(*uintptr)(unsafe.Pointer(bp + 16 /* zErrmsg */)) = uintptr(0) var rc int32 var db uintptr = func() uintptr { if (*Sqlite3rbu)(unsafe.Pointer((p))).FzTarget == uintptr(0) { @@ -210194,17 +210194,17 @@ func rbuIndexCntFunc(tls *libc.TLS, pCtx uintptr, nVal int32, apVal uintptr) { / return (*Sqlite3rbu)(unsafe.Pointer(p)).FdbMain }() - rc = prepareFreeAndCollectError(tls, db, bp+16 /* &pStmt */, bp+24, /* &zErrmsg */ + rc = prepareFreeAndCollectError(tls, db, bp+8 /* &pStmt */, bp+16, /* &zErrmsg */ Xsqlite3_mprintf(tls, ts+40815 /* "SELECT count(*) ..." */, libc.VaList(bp, Xsqlite3_value_text(tls, *(*uintptr)(unsafe.Pointer(apVal)))))) if rc != SQLITE_OK { - Xsqlite3_result_error(tls, pCtx, *(*uintptr)(unsafe.Pointer(bp + 24 /* zErrmsg */)), -1) + Xsqlite3_result_error(tls, pCtx, *(*uintptr)(unsafe.Pointer(bp + 16 /* zErrmsg */)), -1) } else { var nIndex int32 = 0 - if SQLITE_ROW == Xsqlite3_step(tls, *(*uintptr)(unsafe.Pointer(bp + 16 /* pStmt */))) { - nIndex = Xsqlite3_column_int(tls, *(*uintptr)(unsafe.Pointer(bp + 16 /* pStmt */)), 0) + if SQLITE_ROW == Xsqlite3_step(tls, *(*uintptr)(unsafe.Pointer(bp + 8 /* pStmt */))) { + nIndex = Xsqlite3_column_int(tls, *(*uintptr)(unsafe.Pointer(bp + 8 /* pStmt */)), 0) } - rc = Xsqlite3_finalize(tls, *(*uintptr)(unsafe.Pointer(bp + 16 /* pStmt */))) + rc = Xsqlite3_finalize(tls, *(*uintptr)(unsafe.Pointer(bp + 8 /* pStmt */))) if rc == SQLITE_OK { Xsqlite3_result_int(tls, pCtx, nIndex) } else { @@ -210212,7 +210212,7 @@ func rbuIndexCntFunc(tls *libc.TLS, pCtx uintptr, nVal int32, apVal uintptr) { / } } - Xsqlite3_free(tls, *(*uintptr)(unsafe.Pointer(bp + 24 /* zErrmsg */))) + Xsqlite3_free(tls, *(*uintptr)(unsafe.Pointer(bp + 16 /* zErrmsg */))) } // If the RBU database contains the rbu_count table, use it to initialize @@ -210271,8 +210271,8 @@ func rbuInitPhaseOneSteps(tls *libc.TLS, p uintptr) { /* sqlite3.c:203977:13: */ } func openRbuHandle(tls *libc.TLS, zTarget uintptr, zRbu uintptr, zState uintptr) uintptr { /* sqlite3.c:204018:19: */ - bp := tls.Alloc(36) - defer tls.Free(36) + bp := tls.Alloc(20) + defer tls.Free(20) var p uintptr var nTarget Size_t @@ -210295,7 +210295,7 @@ func openRbuHandle(tls *libc.TLS, zTarget uintptr, zRbu uintptr, zState uintptr) // Open the target, RBU and state databases if (*Sqlite3rbu)(unsafe.Pointer(p)).Frc == SQLITE_OK { var pCsr uintptr = (p + 1*392) - *(*int32)(unsafe.Pointer(bp + 32 /* bRetry */)) = 0 + *(*int32)(unsafe.Pointer(bp + 16 /* bRetry */)) = 0 if zTarget != 0 { (*Sqlite3rbu)(unsafe.Pointer(p)).FzTarget = pCsr libc.Xmemcpy(tls, (*Sqlite3rbu)(unsafe.Pointer(p)).FzTarget, zTarget, (nTarget + uint64(1))) @@ -210315,8 +210315,8 @@ func openRbuHandle(tls *libc.TLS, zTarget uintptr, zRbu uintptr, zState uintptr) // If this is the case, it will have been checkpointed and deleted // when the handle was closed and a second attempt to open the // database may succeed. - rbuOpenDatabase(tls, p, bp+32 /* &bRetry */) - if *(*int32)(unsafe.Pointer(bp + 32 /* bRetry */)) != 0 { + rbuOpenDatabase(tls, p, bp+16 /* &bRetry */) + if *(*int32)(unsafe.Pointer(bp + 16 /* bRetry */)) != 0 { rbuOpenDatabase(tls, p, uintptr(0)) } } @@ -210365,7 +210365,7 @@ func openRbuHandle(tls *libc.TLS, zTarget uintptr, zRbu uintptr, zState uintptr) // page 1 of the database file. (*Sqlite3rbu)(unsafe.Pointer(p)).Frc = SQLITE_BUSY (*Sqlite3rbu)(unsafe.Pointer(p)).FzErrmsg = Xsqlite3_mprintf(tls, ts+41064, /* "database modifie..." */ - libc.VaList(bp+16, func() uintptr { + libc.VaList(bp+8, func() uintptr { if (*Sqlite3rbu)(unsafe.Pointer((p))).FzTarget == uintptr(0) { return ts + 41096 /* "vacuum" */ } @@ -211044,8 +211044,8 @@ func rbuVfsCheckReservedLock(tls *libc.TLS, pFile uintptr, pResOut uintptr) int3 // File control method. For custom operations on an rbuVfs-file. func rbuVfsFileControl(tls *libc.TLS, pFile uintptr, op int32, pArg uintptr) int32 { /* sqlite3.c:204822:12: */ - bp := tls.Alloc(32) - defer tls.Free(32) + bp := tls.Alloc(24) + defer tls.Free(24) var p uintptr = pFile var xControl uintptr = (*sqlite3_io_methods)(unsafe.Pointer((*Sqlite3_file)(unsafe.Pointer((*Rbu_file)(unsafe.Pointer(p)).FpReal)).FpMethods)).FxFileControl @@ -211062,8 +211062,8 @@ func rbuVfsFileControl(tls *libc.TLS, pFile uintptr, op int32, pArg uintptr) int if rc == SQLITE_NOTFOUND { // Now search for a zipvfs instance lower down in the VFS stack. If // one is found, this is an error. - *(*uintptr)(unsafe.Pointer(bp + 24 /* dummy */)) = uintptr(0) - rc = (*(*func(*libc.TLS, uintptr, int32, uintptr) int32)(unsafe.Pointer(&xControl)))(tls, (*Rbu_file)(unsafe.Pointer(p)).FpReal, SQLITE_FCNTL_ZIPVFS, bp+24 /* &dummy */) + *(*uintptr)(unsafe.Pointer(bp + 16 /* dummy */)) = uintptr(0) + rc = (*(*func(*libc.TLS, uintptr, int32, uintptr) int32)(unsafe.Pointer(&xControl)))(tls, (*Rbu_file)(unsafe.Pointer(p)).FpReal, SQLITE_FCNTL_ZIPVFS, bp+16 /* &dummy */) if rc == SQLITE_OK { rc = SQLITE_ERROR (*Sqlite3rbu)(unsafe.Pointer(pRbu)).FzErrmsg = Xsqlite3_mprintf(tls, ts+41185 /* "rbu/zipvfs setup..." */, 0) @@ -211647,18 +211647,18 @@ type StatCell = StatCell1 /* sqlite3.c:205448:25 */ // Connect to or create a new DBSTAT virtual table. func statConnect(tls *libc.TLS, db uintptr, pAux uintptr, argc int32, argv uintptr, ppVtab uintptr, pzErr uintptr) int32 { /* sqlite3.c:205516:12: */ - bp := tls.Alloc(32) - defer tls.Free(32) + bp := tls.Alloc(24) + defer tls.Free(24) var pTab uintptr = uintptr(0) var rc int32 = SQLITE_OK var iDb int32 if argc >= 4 { - // var nm Token at bp+16, 16 + // var nm Token at bp+8, 16 - Xsqlite3TokenInit(tls, bp+16 /* &nm */, *(*uintptr)(unsafe.Pointer(argv + 3*8))) - iDb = Xsqlite3FindDb(tls, db, bp+16 /* &nm */) + Xsqlite3TokenInit(tls, bp+8 /* &nm */, *(*uintptr)(unsafe.Pointer(argv + 3*8))) + iDb = Xsqlite3FindDb(tls, db, bp+8 /* &nm */) if iDb < 0 { *(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3_mprintf(tls, ts+18477 /* "no such database..." */, libc.VaList(bp, *(*uintptr)(unsafe.Pointer(argv + 3*8)))) return SQLITE_ERROR @@ -212130,8 +212130,8 @@ func statSizeAndOffset(tls *libc.TLS, pCsr uintptr) { /* sqlite3.c:205861:13: */ // entry will be the next page, but in aggregated mode (pCsr->isAgg!=0), // the next entry is the next btree. func statNext(tls *libc.TLS, pCursor uintptr) int32 { /* sqlite3.c:205888:12: */ - bp := tls.Alloc(76) - defer tls.Free(76) + bp := tls.Alloc(52) + defer tls.Free(52) var rc int32 var nPayload int32 @@ -212140,7 +212140,7 @@ func statNext(tls *libc.TLS, pCursor uintptr) int32 { /* sqlite3.c:205888:12: */ var pTab uintptr var pBt uintptr var pPager uintptr - // var nPage int32 at bp+72, 4 + // var nPage int32 at bp+48, 4 var iRoot U32 var nUsable int32 @@ -212169,8 +212169,8 @@ statNextRestart: goto __3 } iRoot = U32(Xsqlite3_column_int64(tls, (*StatCursor)(unsafe.Pointer(pCsr)).FpStmt, 1)) - Xsqlite3PagerPagecount(tls, pPager, bp+72 /* &nPage */) - if !(*(*int32)(unsafe.Pointer(bp + 72 /* nPage */)) == 0) { + Xsqlite3PagerPagecount(tls, pPager, bp+48 /* &nPage */) + if !(*(*int32)(unsafe.Pointer(bp + 48 /* nPage */)) == 0) { goto __5 } (*StatCursor)(unsafe.Pointer(pCsr)).FisEof = U8(1) @@ -212311,7 +212311,7 @@ __23: if !(!(int32((*StatCursor)(unsafe.Pointer(pCsr)).FisAgg) != 0)) { goto __24 } - (*StatPage)(unsafe.Pointer(p + 1*64)).FzPath = libc.AssignUintptr(&z, Xsqlite3_mprintf(tls, ts+41511 /* "%s%.3x/" */, libc.VaList(bp+32, (*StatPage)(unsafe.Pointer(p)).FzPath, (*StatPage)(unsafe.Pointer(p)).FiCell))) + (*StatPage)(unsafe.Pointer(p + 1*64)).FzPath = libc.AssignUintptr(&z, Xsqlite3_mprintf(tls, ts+41511 /* "%s%.3x/" */, libc.VaList(bp+24, (*StatPage)(unsafe.Pointer(p)).FzPath, (*StatPage)(unsafe.Pointer(p)).FiCell))) if !(z == uintptr(0)) { goto __25 } @@ -212376,7 +212376,7 @@ __34: if !(!(int32((*StatCursor)(unsafe.Pointer(pCsr)).FisAgg) != 0)) { goto __35 } - (*StatCursor)(unsafe.Pointer(pCsr)).FzPath = libc.AssignUintptr(&z, Xsqlite3_mprintf(tls, ts+951 /* "%s" */, libc.VaList(bp+56, (*StatPage)(unsafe.Pointer(p1)).FzPath))) + (*StatCursor)(unsafe.Pointer(pCsr)).FzPath = libc.AssignUintptr(&z, Xsqlite3_mprintf(tls, ts+951 /* "%s" */, libc.VaList(bp+40, (*StatPage)(unsafe.Pointer(p1)).FzPath))) if !(z == uintptr(0)) { goto __36 } @@ -212426,8 +212426,8 @@ func statEof(tls *libc.TLS, pCursor uintptr) int32 { /* sqlite3.c:206045:12: */ // arguments in argv[0]. See statBestIndex() for a description of the // meaning of the bits in idxNum. func statFilter(tls *libc.TLS, pCursor uintptr, idxNum int32, idxStr uintptr, argc int32, argv uintptr) int32 { /* sqlite3.c:206054:12: */ - bp := tls.Alloc(32) - defer tls.Free(32) + bp := tls.Alloc(16) + defer tls.Free(16) var pCsr uintptr = pCursor var pTab uintptr = (*Sqlite3_vtab_cursor)(unsafe.Pointer(pCursor)).FpVtab @@ -212468,7 +212468,7 @@ func statFilter(tls *libc.TLS, pCursor uintptr, idxNum int32, idxStr uintptr, ar ts+41543, /* "SELECT * FROM (S..." */ libc.VaList(bp, (*Db)(unsafe.Pointer((*Sqlite3)(unsafe.Pointer((*StatTable)(unsafe.Pointer(pTab)).Fdb)).FaDb+uintptr((*StatCursor)(unsafe.Pointer(pCsr)).FiDb)*32)).FzDbSName)) if zName != 0 { - Xsqlite3_str_appendf(tls, pSql, ts+41698 /* "WHERE name=%Q" */, libc.VaList(bp+16, zName)) + Xsqlite3_str_appendf(tls, pSql, ts+41698 /* "WHERE name=%Q" */, libc.VaList(bp+8, zName)) } if (idxNum & 0x08) != 0 { Xsqlite3_str_appendf(tls, pSql, ts+41712 /* " ORDER BY name" */, 0) @@ -212897,12 +212897,12 @@ func dbpageRowid(tls *libc.TLS, pCursor uintptr, pRowid uintptr) int32 { /* sqli } func dbpageUpdate(tls *libc.TLS, pVtab uintptr, argc int32, argv uintptr, pRowid uintptr) int32 { /* sqlite3.c:206523:12: */ - bp := tls.Alloc(24) - defer tls.Free(24) + bp := tls.Alloc(16) + defer tls.Free(16) var pTab uintptr var pgno Pgno - // var pDbPage uintptr at bp+16, 8 + // var pDbPage uintptr at bp+8, 8 var rc int32 var zErr uintptr @@ -212912,7 +212912,7 @@ func dbpageUpdate(tls *libc.TLS, pVtab uintptr, argc int32, argv uintptr, pRowid var pPager uintptr var szPage int32 pTab = pVtab - *(*uintptr)(unsafe.Pointer(bp + 16 /* pDbPage */)) = uintptr(0) + *(*uintptr)(unsafe.Pointer(bp + 8 /* pDbPage */)) = uintptr(0) rc = SQLITE_OK zErr = uintptr(0) @@ -212969,22 +212969,22 @@ __5: __6: ; pPager = Xsqlite3BtreePager(tls, pBt) - rc = Xsqlite3PagerGet(tls, pPager, pgno, bp+16 /* &pDbPage */, 0) + rc = Xsqlite3PagerGet(tls, pPager, pgno, bp+8 /* &pDbPage */, 0) if !(rc == SQLITE_OK) { goto __7 } - rc = Xsqlite3PagerWrite(tls, *(*uintptr)(unsafe.Pointer(bp + 16 /* pDbPage */))) + rc = Xsqlite3PagerWrite(tls, *(*uintptr)(unsafe.Pointer(bp + 8 /* pDbPage */))) if !(rc == SQLITE_OK) { goto __8 } - libc.Xmemcpy(tls, Xsqlite3PagerGetData(tls, *(*uintptr)(unsafe.Pointer(bp + 16 /* pDbPage */))), + libc.Xmemcpy(tls, Xsqlite3PagerGetData(tls, *(*uintptr)(unsafe.Pointer(bp + 8 /* pDbPage */))), Xsqlite3_value_blob(tls, *(*uintptr)(unsafe.Pointer(argv + 3*8))), uint64(szPage)) __8: ; __7: ; - Xsqlite3PagerUnref(tls, *(*uintptr)(unsafe.Pointer(bp + 16 /* pDbPage */))) + Xsqlite3PagerUnref(tls, *(*uintptr)(unsafe.Pointer(bp + 8 /* pDbPage */))) return rc update_fail: @@ -213781,11 +213781,11 @@ func sessionGrowHash(tls *libc.TLS, pSession uintptr, bPatchset int32, pTab uint // All returned buffers are part of the same single allocation, which must // be freed using sqlite3_free() by the caller func sessionTableInfo(tls *libc.TLS, pSession uintptr, db uintptr, zDb uintptr, zThis uintptr, pnCol uintptr, pzTab uintptr, pazCol uintptr, pabPK uintptr) int32 { /* sqlite3.c:207635:12: */ - bp := tls.Alloc(32) - defer tls.Free(32) + bp := tls.Alloc(24) + defer tls.Free(24) var zPragma uintptr - // var pStmt uintptr at bp+24, 8 + // var pStmt uintptr at bp+16, 8 var rc int32 var nByte Sqlite3_int64 @@ -213816,18 +213816,18 @@ func sessionTableInfo(tls *libc.TLS, pSession uintptr, db uintptr, zDb uintptr, return SQLITE_NOMEM } - rc = Xsqlite3_prepare_v2(tls, db, zPragma, -1, bp+24 /* &pStmt */, uintptr(0)) + rc = Xsqlite3_prepare_v2(tls, db, zPragma, -1, bp+16 /* &pStmt */, uintptr(0)) Xsqlite3_free(tls, zPragma) if rc != SQLITE_OK { return rc } nByte = (Sqlite3_int64(nThis + 1)) - for SQLITE_ROW == Xsqlite3_step(tls, *(*uintptr)(unsafe.Pointer(bp + 24 /* pStmt */))) { - nByte = nByte + (Sqlite3_int64(Xsqlite3_column_bytes(tls, *(*uintptr)(unsafe.Pointer(bp + 24 /* pStmt */)), 1))) + for SQLITE_ROW == Xsqlite3_step(tls, *(*uintptr)(unsafe.Pointer(bp + 16 /* pStmt */))) { + nByte = nByte + (Sqlite3_int64(Xsqlite3_column_bytes(tls, *(*uintptr)(unsafe.Pointer(bp + 16 /* pStmt */)), 1))) nDbCol++ } - rc = Xsqlite3_reset(tls, *(*uintptr)(unsafe.Pointer(bp + 24 /* pStmt */))) + rc = Xsqlite3_reset(tls, *(*uintptr)(unsafe.Pointer(bp + 16 /* pStmt */))) if rc == SQLITE_OK { nByte = Sqlite3_int64(uint64(nByte) + (uint64(nDbCol) * ((uint64(unsafe.Sizeof(uintptr(0))) + uint64(unsafe.Sizeof(U8(0)))) + uint64(1)))) @@ -213848,19 +213848,19 @@ func sessionTableInfo(tls *libc.TLS, pSession uintptr, db uintptr, zDb uintptr, } i = 0 - for SQLITE_ROW == Xsqlite3_step(tls, *(*uintptr)(unsafe.Pointer(bp + 24 /* pStmt */))) { - var nName int32 = Xsqlite3_column_bytes(tls, *(*uintptr)(unsafe.Pointer(bp + 24 /* pStmt */)), 1) - var zName uintptr = Xsqlite3_column_text(tls, *(*uintptr)(unsafe.Pointer(bp + 24 /* pStmt */)), 1) + for SQLITE_ROW == Xsqlite3_step(tls, *(*uintptr)(unsafe.Pointer(bp + 16 /* pStmt */))) { + var nName int32 = Xsqlite3_column_bytes(tls, *(*uintptr)(unsafe.Pointer(bp + 16 /* pStmt */)), 1) + var zName uintptr = Xsqlite3_column_text(tls, *(*uintptr)(unsafe.Pointer(bp + 16 /* pStmt */)), 1) if zName == uintptr(0) { break } libc.Xmemcpy(tls, pAlloc, zName, (uint64(nName + 1))) *(*uintptr)(unsafe.Pointer(azCol + uintptr(i)*8)) = pAlloc pAlloc += (uintptr(nName + 1)) - *(*U8)(unsafe.Pointer(abPK + uintptr(i))) = U8(Xsqlite3_column_int(tls, *(*uintptr)(unsafe.Pointer(bp + 24 /* pStmt */)), 5)) + *(*U8)(unsafe.Pointer(abPK + uintptr(i))) = U8(Xsqlite3_column_int(tls, *(*uintptr)(unsafe.Pointer(bp + 16 /* pStmt */)), 5)) i++ } - rc = Xsqlite3_reset(tls, *(*uintptr)(unsafe.Pointer(bp + 24 /* pStmt */))) + rc = Xsqlite3_reset(tls, *(*uintptr)(unsafe.Pointer(bp + 16 /* pStmt */))) } @@ -213879,7 +213879,7 @@ func sessionTableInfo(tls *libc.TLS, pSession uintptr, db uintptr, zDb uintptr, } sessionFree(tls, pSession, azCol) } - Xsqlite3_finalize(tls, *(*uintptr)(unsafe.Pointer(bp + 24 /* pStmt */))) + Xsqlite3_finalize(tls, *(*uintptr)(unsafe.Pointer(bp + 16 /* pStmt */))) return rc } @@ -214519,8 +214519,8 @@ func sessionDiffHooks(tls *libc.TLS, pSession uintptr, pDiffCtx uintptr) { /* sq } func sessionExprComparePK(tls *libc.TLS, nCol int32, zDb1 uintptr, zDb2 uintptr, zTab uintptr, azCol uintptr, abPK uintptr) uintptr { /* sqlite3.c:208219:13: */ - bp := tls.Alloc(72) - defer tls.Free(72) + bp := tls.Alloc(64) + defer tls.Free(64) var i int32 var zSep uintptr = ts + 915 /* "" */ @@ -214541,8 +214541,8 @@ func sessionExprComparePK(tls *libc.TLS, nCol int32, zDb1 uintptr, zDb2 uintptr, } func sessionExprCompareOther(tls *libc.TLS, nCol int32, zDb1 uintptr, zDb2 uintptr, zTab uintptr, azCol uintptr, abPK uintptr) uintptr { /* sqlite3.c:208242:13: */ - bp := tls.Alloc(72) - defer tls.Free(72) + bp := tls.Alloc(64) + defer tls.Free(64) var i int32 var zSep uintptr = ts + 915 /* "" */ @@ -214571,8 +214571,8 @@ func sessionExprCompareOther(tls *libc.TLS, nCol int32, zDb1 uintptr, zDb2 uintp } func sessionSelectFindNew(tls *libc.TLS, nCol int32, zDb1 uintptr, zDb2 uintptr, zTbl uintptr, zExpr uintptr) uintptr { /* sqlite3.c:208273:13: */ - bp := tls.Alloc(48) - defer tls.Free(48) + bp := tls.Alloc(40) + defer tls.Free(40) var zRet uintptr = Xsqlite3_mprintf(tls, @@ -214610,8 +214610,8 @@ func sessionDiffFindNew(tls *libc.TLS, op int32, pSession uintptr, pTab uintptr, } func sessionDiffFindModified(tls *libc.TLS, pSession uintptr, pTab uintptr, zFrom uintptr, zExpr uintptr) int32 { /* sqlite3.c:208320:12: */ - bp := tls.Alloc(64) - defer tls.Free(64) + bp := tls.Alloc(56) + defer tls.Free(56) var rc int32 = SQLITE_OK @@ -214626,18 +214626,18 @@ func sessionDiffFindModified(tls *libc.TLS, pSession uintptr, pTab uintptr, zFro if zStmt == uintptr(0) { rc = SQLITE_NOMEM } else { - // var pStmt uintptr at bp+56, 8 + // var pStmt uintptr at bp+48, 8 - rc = Xsqlite3_prepare(tls, (*Sqlite3_session)(unsafe.Pointer(pSession)).Fdb, zStmt, -1, bp+56 /* &pStmt */, uintptr(0)) + rc = Xsqlite3_prepare(tls, (*Sqlite3_session)(unsafe.Pointer(pSession)).Fdb, zStmt, -1, bp+48 /* &pStmt */, uintptr(0)) if rc == SQLITE_OK { var pDiffCtx uintptr = (*Sqlite3_session)(unsafe.Pointer(pSession)).Fhook.FpCtx - (*SessionDiffCtx)(unsafe.Pointer(pDiffCtx)).FpStmt = *(*uintptr)(unsafe.Pointer(bp + 56 /* pStmt */)) + (*SessionDiffCtx)(unsafe.Pointer(pDiffCtx)).FpStmt = *(*uintptr)(unsafe.Pointer(bp + 48 /* pStmt */)) (*SessionDiffCtx)(unsafe.Pointer(pDiffCtx)).FnOldOff = (*SessionTable)(unsafe.Pointer(pTab)).FnCol - for SQLITE_ROW == Xsqlite3_step(tls, *(*uintptr)(unsafe.Pointer(bp + 56 /* pStmt */))) { + for SQLITE_ROW == Xsqlite3_step(tls, *(*uintptr)(unsafe.Pointer(bp + 48 /* pStmt */))) { sessionPreupdateOneChange(tls, SQLITE_UPDATE, pSession, pTab) } - rc = Xsqlite3_finalize(tls, *(*uintptr)(unsafe.Pointer(bp + 56 /* pStmt */))) + rc = Xsqlite3_finalize(tls, *(*uintptr)(unsafe.Pointer(bp + 48 /* pStmt */))) } Xsqlite3_free(tls, zStmt) } @@ -215096,13 +215096,13 @@ func sessionAppendStr(tls *libc.TLS, p uintptr, zStr uintptr, pRc uintptr) { /* // If an OOM condition is encountered, set *pRc to SQLITE_NOMEM before // returning. func sessionAppendInteger(tls *libc.TLS, p uintptr, iVal int32, pRc uintptr) { /* sqlite3.c:208751:13: */ - bp := tls.Alloc(40) - defer tls.Free(40) + bp := tls.Alloc(32) + defer tls.Free(32) - // var aBuf [24]int8 at bp+16, 24 + // var aBuf [24]int8 at bp+8, 24 - Xsqlite3_snprintf(tls, (int32(uint64(unsafe.Sizeof([24]int8{})) - uint64(1))), bp+16 /* &aBuf[0] */, ts+11422 /* "%d" */, libc.VaList(bp, iVal)) - sessionAppendStr(tls, p, bp+16 /* &aBuf[0] */, pRc) + Xsqlite3_snprintf(tls, (int32(uint64(unsafe.Sizeof([24]int8{})) - uint64(1))), bp+8 /* &aBuf[0] */, ts+11422 /* "%d" */, libc.VaList(bp, iVal)) + sessionAppendStr(tls, p, bp+8 /* &aBuf[0] */, pRc) } // This function is a no-op if *pRc is other than SQLITE_OK when it is @@ -215357,10 +215357,10 @@ func sessionAppendDelete(tls *libc.TLS, pBuf uintptr, bPatchset int32, p uintptr // // SELECT * FROM zDb.zTab WHERE pk1 = ? AND pk2 = ? AND ... func sessionSelectStmt(tls *libc.TLS, db uintptr, zDb uintptr, zTab uintptr, nCol int32, azCol uintptr, abPK uintptr, ppStmt uintptr) int32 { /* sqlite3.c:209011:12: */ - bp := tls.Alloc(36) - defer tls.Free(36) + bp := tls.Alloc(28) + defer tls.Free(28) - *(*int32)(unsafe.Pointer(bp + 32 /* rc */)) = SQLITE_OK + *(*int32)(unsafe.Pointer(bp + 24 /* rc */)) = SQLITE_OK var zSql uintptr = uintptr(0) var nSql int32 = -1 @@ -215369,36 +215369,36 @@ func sessionSelectStmt(tls *libc.TLS, db uintptr, zDb uintptr, zTab uintptr, nCo ts+42287 /* "SELECT tbl, ?2, ..." */, libc.VaList(bp, zDb)) if zSql == uintptr(0) { - *(*int32)(unsafe.Pointer(bp + 32 /* rc */)) = SQLITE_NOMEM + *(*int32)(unsafe.Pointer(bp + 24 /* rc */)) = SQLITE_NOMEM } } else { var i int32 var zSep uintptr = ts + 915 /* "" */ - *(*SessionBuffer)(unsafe.Pointer(bp + 16 /* buf */)) = SessionBuffer{} + *(*SessionBuffer)(unsafe.Pointer(bp + 8 /* buf */)) = SessionBuffer{} - sessionAppendStr(tls, bp+16 /* &buf */, ts+42397 /* "SELECT * FROM " */, bp+32 /* &rc */) - sessionAppendIdent(tls, bp+16 /* &buf */, zDb, bp+32 /* &rc */) - sessionAppendStr(tls, bp+16 /* &buf */, ts+928 /* "." */, bp+32 /* &rc */) - sessionAppendIdent(tls, bp+16 /* &buf */, zTab, bp+32 /* &rc */) - sessionAppendStr(tls, bp+16 /* &buf */, ts+42412 /* " WHERE " */, bp+32 /* &rc */) + sessionAppendStr(tls, bp+8 /* &buf */, ts+42397 /* "SELECT * FROM " */, bp+24 /* &rc */) + sessionAppendIdent(tls, bp+8 /* &buf */, zDb, bp+24 /* &rc */) + sessionAppendStr(tls, bp+8 /* &buf */, ts+928 /* "." */, bp+24 /* &rc */) + sessionAppendIdent(tls, bp+8 /* &buf */, zTab, bp+24 /* &rc */) + sessionAppendStr(tls, bp+8 /* &buf */, ts+42412 /* " WHERE " */, bp+24 /* &rc */) for i = 0; i < nCol; i++ { if *(*U8)(unsafe.Pointer(abPK + uintptr(i))) != 0 { - sessionAppendStr(tls, bp+16 /* &buf */, zSep, bp+32 /* &rc */) - sessionAppendIdent(tls, bp+16 /* &buf */, *(*uintptr)(unsafe.Pointer(azCol + uintptr(i)*8)), bp+32 /* &rc */) - sessionAppendStr(tls, bp+16 /* &buf */, ts+42420 /* " IS ?" */, bp+32 /* &rc */) - sessionAppendInteger(tls, bp+16 /* &buf */, (i + 1), bp+32 /* &rc */) + sessionAppendStr(tls, bp+8 /* &buf */, zSep, bp+24 /* &rc */) + sessionAppendIdent(tls, bp+8 /* &buf */, *(*uintptr)(unsafe.Pointer(azCol + uintptr(i)*8)), bp+24 /* &rc */) + sessionAppendStr(tls, bp+8 /* &buf */, ts+42420 /* " IS ?" */, bp+24 /* &rc */) + sessionAppendInteger(tls, bp+8 /* &buf */, (i + 1), bp+24 /* &rc */) zSep = ts + 28672 /* " AND " */ } } - zSql = (*SessionBuffer)(unsafe.Pointer(bp + 16 /* &buf */)).FaBuf - nSql = (*SessionBuffer)(unsafe.Pointer(bp + 16 /* &buf */)).FnBuf + zSql = (*SessionBuffer)(unsafe.Pointer(bp + 8 /* &buf */)).FaBuf + nSql = (*SessionBuffer)(unsafe.Pointer(bp + 8 /* &buf */)).FnBuf } - if *(*int32)(unsafe.Pointer(bp + 32 /* rc */)) == SQLITE_OK { - *(*int32)(unsafe.Pointer(bp + 32 /* rc */)) = Xsqlite3_prepare_v2(tls, db, zSql, nSql, ppStmt, uintptr(0)) + if *(*int32)(unsafe.Pointer(bp + 24 /* rc */)) == SQLITE_OK { + *(*int32)(unsafe.Pointer(bp + 24 /* rc */)) = Xsqlite3_prepare_v2(tls, db, zSql, nSql, ppStmt, uintptr(0)) } Xsqlite3_free(tls, zSql) - return *(*int32)(unsafe.Pointer(bp + 32 /* rc */)) + return *(*int32)(unsafe.Pointer(bp + 24 /* rc */)) } // Bind the PRIMARY KEY values from the change passed in argument pChange @@ -217607,21 +217607,21 @@ func sessionRetryConstraints(tls *libc.TLS, db uintptr, bPatchset int32, zTab ui // conflict handler callback is invoked to resolve any conflicts encountered // while applying the change. func sessionChangesetApply(tls *libc.TLS, db uintptr, pIter uintptr, xFilter uintptr, xConflict uintptr, pCtx uintptr, ppRebase uintptr, pnRebase uintptr, flags int32) int32 { /* sqlite3.c:211241:12: */ - bp := tls.Alloc(400) - defer tls.Free(400) + bp := tls.Alloc(368) + defer tls.Free(368) var schemaMismatch int32 = 0 var rc int32 = SQLITE_OK // Return code - *(*uintptr)(unsafe.Pointer(bp + 232 /* zTab */)) = uintptr(0) // Name of current table + *(*uintptr)(unsafe.Pointer(bp + 200 /* zTab */)) = uintptr(0) // Name of current table var nTab int32 = 0 // Result of sqlite3Strlen30(zTab) - // var sApply SessionApplyCtx at bp+80, 128 + // var sApply SessionApplyCtx at bp+48, 128 // changeset_apply() context object var bPatchset int32 (*Sqlite3_changeset_iter)(unsafe.Pointer(pIter)).Fin.FbNoDiscard = 1 - libc.Xmemset(tls, bp+80 /* &sApply */, 0, uint64(unsafe.Sizeof(SessionApplyCtx{}))) - (*SessionApplyCtx)(unsafe.Pointer(bp + 80 /* &sApply */)).FbRebase = (U8(libc.Bool32((ppRebase != 0) && (pnRebase != 0)))) - (*SessionApplyCtx)(unsafe.Pointer(bp + 80 /* &sApply */)).FbInvertConstraints = libc.BoolInt32(!(!((flags & SQLITE_CHANGESETAPPLY_INVERT) != 0))) + libc.Xmemset(tls, bp+48 /* &sApply */, 0, uint64(unsafe.Sizeof(SessionApplyCtx{}))) + (*SessionApplyCtx)(unsafe.Pointer(bp + 48 /* &sApply */)).FbRebase = (U8(libc.Bool32((ppRebase != 0) && (pnRebase != 0)))) + (*SessionApplyCtx)(unsafe.Pointer(bp + 48 /* &sApply */)).FbInvertConstraints = libc.BoolInt32(!(!((flags & SQLITE_CHANGESETAPPLY_INVERT) != 0))) Xsqlite3_mutex_enter(tls, Xsqlite3_db_mutex(tls, db)) if (flags & SQLITE_CHANGESETAPPLY_NOSAVEPOINT) == 0 { rc = Xsqlite3_exec(tls, db, ts+42924 /* "SAVEPOINT change..." */, uintptr(0), uintptr(0), uintptr(0)) @@ -217630,99 +217630,99 @@ func sessionChangesetApply(tls *libc.TLS, db uintptr, pIter uintptr, xFilter uin rc = Xsqlite3_exec(tls, db, ts+42950 /* "PRAGMA defer_for..." */, uintptr(0), uintptr(0), uintptr(0)) } for (rc == SQLITE_OK) && (SQLITE_ROW == Xsqlite3changeset_next(tls, pIter)) { - // var nCol int32 at bp+216, 4 + // var nCol int32 at bp+184, 4 - // var op int32 at bp+220, 4 + // var op int32 at bp+188, 4 - // var zNew uintptr at bp+208, 8 + // var zNew uintptr at bp+176, 8 - Xsqlite3changeset_op(tls, pIter, bp+208 /* &zNew */, bp+216 /* &nCol */, bp+220 /* &op */, uintptr(0)) + Xsqlite3changeset_op(tls, pIter, bp+176 /* &zNew */, bp+184 /* &nCol */, bp+188 /* &op */, uintptr(0)) - if (*(*uintptr)(unsafe.Pointer(bp + 232 /* zTab */)) == uintptr(0)) || (Xsqlite3_strnicmp(tls, *(*uintptr)(unsafe.Pointer(bp + 208 /* zNew */)), *(*uintptr)(unsafe.Pointer(bp + 232 /* zTab */)), (nTab+1)) != 0) { - // var abPK uintptr at bp+224, 8 + if (*(*uintptr)(unsafe.Pointer(bp + 200 /* zTab */)) == uintptr(0)) || (Xsqlite3_strnicmp(tls, *(*uintptr)(unsafe.Pointer(bp + 176 /* zNew */)), *(*uintptr)(unsafe.Pointer(bp + 200 /* zTab */)), (nTab+1)) != 0) { + // var abPK uintptr at bp+192, 8 rc = sessionRetryConstraints(tls, - db, (*Sqlite3_changeset_iter)(unsafe.Pointer(pIter)).FbPatchset, *(*uintptr)(unsafe.Pointer(bp + 232 /* zTab */)), bp+80 /* &sApply */, xConflict, pCtx) + db, (*Sqlite3_changeset_iter)(unsafe.Pointer(pIter)).FbPatchset, *(*uintptr)(unsafe.Pointer(bp + 200 /* zTab */)), bp+48 /* &sApply */, xConflict, pCtx) if rc != SQLITE_OK { break } - sessionUpdateFree(tls, bp+80 /* &sApply */) - Xsqlite3_free(tls, (*SessionApplyCtx)(unsafe.Pointer(bp+80 /* &sApply */)).FazCol) // cast works around VC++ bug - Xsqlite3_finalize(tls, (*SessionApplyCtx)(unsafe.Pointer(bp+80 /* &sApply */)).FpDelete) - Xsqlite3_finalize(tls, (*SessionApplyCtx)(unsafe.Pointer(bp+80 /* &sApply */)).FpInsert) - Xsqlite3_finalize(tls, (*SessionApplyCtx)(unsafe.Pointer(bp+80 /* &sApply */)).FpSelect) - (*SessionApplyCtx)(unsafe.Pointer(bp + 80 /* &sApply */)).Fdb = db - (*SessionApplyCtx)(unsafe.Pointer(bp + 80 /* &sApply */)).FpDelete = uintptr(0) - (*SessionApplyCtx)(unsafe.Pointer(bp + 80 /* &sApply */)).FpInsert = uintptr(0) - (*SessionApplyCtx)(unsafe.Pointer(bp + 80 /* &sApply */)).FpSelect = uintptr(0) - (*SessionApplyCtx)(unsafe.Pointer(bp + 80 /* &sApply */)).FnCol = 0 - (*SessionApplyCtx)(unsafe.Pointer(bp + 80 /* &sApply */)).FazCol = uintptr(0) - (*SessionApplyCtx)(unsafe.Pointer(bp + 80 /* &sApply */)).FabPK = uintptr(0) - (*SessionApplyCtx)(unsafe.Pointer(bp + 80 /* &sApply */)).FbStat1 = 0 - (*SessionApplyCtx)(unsafe.Pointer(bp + 80 /* &sApply */)).FbDeferConstraints = 1 - (*SessionApplyCtx)(unsafe.Pointer(bp + 80 /* &sApply */)).FbRebaseStarted = U8(0) - libc.Xmemset(tls, (bp + 80 /* &sApply */ + 88 /* &.constraints */), 0, uint64(unsafe.Sizeof(SessionBuffer{}))) + sessionUpdateFree(tls, bp+48 /* &sApply */) + Xsqlite3_free(tls, (*SessionApplyCtx)(unsafe.Pointer(bp+48 /* &sApply */)).FazCol) // cast works around VC++ bug + Xsqlite3_finalize(tls, (*SessionApplyCtx)(unsafe.Pointer(bp+48 /* &sApply */)).FpDelete) + Xsqlite3_finalize(tls, (*SessionApplyCtx)(unsafe.Pointer(bp+48 /* &sApply */)).FpInsert) + Xsqlite3_finalize(tls, (*SessionApplyCtx)(unsafe.Pointer(bp+48 /* &sApply */)).FpSelect) + (*SessionApplyCtx)(unsafe.Pointer(bp + 48 /* &sApply */)).Fdb = db + (*SessionApplyCtx)(unsafe.Pointer(bp + 48 /* &sApply */)).FpDelete = uintptr(0) + (*SessionApplyCtx)(unsafe.Pointer(bp + 48 /* &sApply */)).FpInsert = uintptr(0) + (*SessionApplyCtx)(unsafe.Pointer(bp + 48 /* &sApply */)).FpSelect = uintptr(0) + (*SessionApplyCtx)(unsafe.Pointer(bp + 48 /* &sApply */)).FnCol = 0 + (*SessionApplyCtx)(unsafe.Pointer(bp + 48 /* &sApply */)).FazCol = uintptr(0) + (*SessionApplyCtx)(unsafe.Pointer(bp + 48 /* &sApply */)).FabPK = uintptr(0) + (*SessionApplyCtx)(unsafe.Pointer(bp + 48 /* &sApply */)).FbStat1 = 0 + (*SessionApplyCtx)(unsafe.Pointer(bp + 48 /* &sApply */)).FbDeferConstraints = 1 + (*SessionApplyCtx)(unsafe.Pointer(bp + 48 /* &sApply */)).FbRebaseStarted = U8(0) + libc.Xmemset(tls, (bp + 48 /* &sApply */ + 88 /* &.constraints */), 0, uint64(unsafe.Sizeof(SessionBuffer{}))) // If an xFilter() callback was specified, invoke it now. If the // xFilter callback returns zero, skip this table. If it returns // non-zero, proceed. - schemaMismatch = (libc.Bool32((xFilter != 0) && (0 == (*(*func(*libc.TLS, uintptr, uintptr) int32)(unsafe.Pointer(&xFilter)))(tls, pCtx, *(*uintptr)(unsafe.Pointer(bp + 208 /* zNew */)))))) + schemaMismatch = (libc.Bool32((xFilter != 0) && (0 == (*(*func(*libc.TLS, uintptr, uintptr) int32)(unsafe.Pointer(&xFilter)))(tls, pCtx, *(*uintptr)(unsafe.Pointer(bp + 176 /* zNew */)))))) if schemaMismatch != 0 { - *(*uintptr)(unsafe.Pointer(bp + 232 /* zTab */)) = Xsqlite3_mprintf(tls, ts+951 /* "%s" */, libc.VaList(bp, *(*uintptr)(unsafe.Pointer(bp + 208 /* zNew */)))) - if *(*uintptr)(unsafe.Pointer(bp + 232 /* zTab */)) == uintptr(0) { + *(*uintptr)(unsafe.Pointer(bp + 200 /* zTab */)) = Xsqlite3_mprintf(tls, ts+951 /* "%s" */, libc.VaList(bp, *(*uintptr)(unsafe.Pointer(bp + 176 /* zNew */)))) + if *(*uintptr)(unsafe.Pointer(bp + 200 /* zTab */)) == uintptr(0) { rc = SQLITE_NOMEM break } - nTab = int32(libc.Xstrlen(tls, *(*uintptr)(unsafe.Pointer(bp + 232 /* zTab */)))) - (*SessionApplyCtx)(unsafe.Pointer(bp + 80 /* &sApply */)).FazCol = *(*uintptr)(unsafe.Pointer(bp + 232 /* zTab */)) + nTab = int32(libc.Xstrlen(tls, *(*uintptr)(unsafe.Pointer(bp + 200 /* zTab */)))) + (*SessionApplyCtx)(unsafe.Pointer(bp + 48 /* &sApply */)).FazCol = *(*uintptr)(unsafe.Pointer(bp + 200 /* zTab */)) } else { var nMinCol int32 = 0 var i int32 - Xsqlite3changeset_pk(tls, pIter, bp+224 /* &abPK */, uintptr(0)) + Xsqlite3changeset_pk(tls, pIter, bp+192 /* &abPK */, uintptr(0)) rc = sessionTableInfo(tls, uintptr(0), - db, ts+13143 /* "main" */, *(*uintptr)(unsafe.Pointer(bp + 208 /* zNew */)), (bp + 80 /* &sApply */ + 32 /* &.nCol */), bp+232 /* &zTab */, (bp + 80 /* &sApply */ + 40 /* &.azCol */), (bp + 80 /* &sApply */ + 48 /* &.abPK */)) + db, ts+13143 /* "main" */, *(*uintptr)(unsafe.Pointer(bp + 176 /* zNew */)), (bp + 48 /* &sApply */ + 32 /* &.nCol */), bp+200 /* &zTab */, (bp + 48 /* &sApply */ + 40 /* &.azCol */), (bp + 48 /* &sApply */ + 48 /* &.abPK */)) if rc != SQLITE_OK { break } - for i = 0; i < (*SessionApplyCtx)(unsafe.Pointer(bp+80 /* &sApply */)).FnCol; i++ { - if *(*U8)(unsafe.Pointer((*SessionApplyCtx)(unsafe.Pointer(bp+80 /* &sApply */)).FabPK + uintptr(i))) != 0 { + for i = 0; i < (*SessionApplyCtx)(unsafe.Pointer(bp+48 /* &sApply */)).FnCol; i++ { + if *(*U8)(unsafe.Pointer((*SessionApplyCtx)(unsafe.Pointer(bp+48 /* &sApply */)).FabPK + uintptr(i))) != 0 { nMinCol = (i + 1) } } - if (*SessionApplyCtx)(unsafe.Pointer(bp+80 /* &sApply */)).FnCol == 0 { + if (*SessionApplyCtx)(unsafe.Pointer(bp+48 /* &sApply */)).FnCol == 0 { schemaMismatch = 1 Xsqlite3_log(tls, SQLITE_SCHEMA, - ts+42980 /* "sqlite3changeset..." */, libc.VaList(bp+16, *(*uintptr)(unsafe.Pointer(bp + 232 /* zTab */)))) - } else if (*SessionApplyCtx)(unsafe.Pointer(bp+80 /* &sApply */)).FnCol < *(*int32)(unsafe.Pointer(bp + 216 /* nCol */)) { + ts+42980 /* "sqlite3changeset..." */, libc.VaList(bp+8, *(*uintptr)(unsafe.Pointer(bp + 200 /* zTab */)))) + } else if (*SessionApplyCtx)(unsafe.Pointer(bp+48 /* &sApply */)).FnCol < *(*int32)(unsafe.Pointer(bp + 184 /* nCol */)) { schemaMismatch = 1 Xsqlite3_log(tls, SQLITE_SCHEMA, ts+43024, /* "sqlite3changeset..." */ - libc.VaList(bp+32, *(*uintptr)(unsafe.Pointer(bp + 232 /* zTab */)), (*SessionApplyCtx)(unsafe.Pointer(bp+80 /* &sApply */)).FnCol, *(*int32)(unsafe.Pointer(bp + 216 /* nCol */)))) - } else if (*(*int32)(unsafe.Pointer(bp + 216 /* nCol */)) < nMinCol) || (libc.Xmemcmp(tls, (*SessionApplyCtx)(unsafe.Pointer(bp+80 /* &sApply */)).FabPK, *(*uintptr)(unsafe.Pointer(bp + 224 /* abPK */)), uint64(*(*int32)(unsafe.Pointer(bp + 216 /* nCol */)))) != 0) { + libc.VaList(bp+16, *(*uintptr)(unsafe.Pointer(bp + 200 /* zTab */)), (*SessionApplyCtx)(unsafe.Pointer(bp+48 /* &sApply */)).FnCol, *(*int32)(unsafe.Pointer(bp + 184 /* nCol */)))) + } else if (*(*int32)(unsafe.Pointer(bp + 184 /* nCol */)) < nMinCol) || (libc.Xmemcmp(tls, (*SessionApplyCtx)(unsafe.Pointer(bp+48 /* &sApply */)).FabPK, *(*uintptr)(unsafe.Pointer(bp + 192 /* abPK */)), uint64(*(*int32)(unsafe.Pointer(bp + 184 /* nCol */)))) != 0) { schemaMismatch = 1 Xsqlite3_log(tls, SQLITE_SCHEMA, - ts+43095 /* "sqlite3changeset..." */, libc.VaList(bp+64, *(*uintptr)(unsafe.Pointer(bp + 232 /* zTab */)))) + ts+43095 /* "sqlite3changeset..." */, libc.VaList(bp+40, *(*uintptr)(unsafe.Pointer(bp + 200 /* zTab */)))) } else { - (*SessionApplyCtx)(unsafe.Pointer(bp + 80 /* &sApply */)).FnCol = *(*int32)(unsafe.Pointer(bp + 216 /* nCol */)) - if 0 == Xsqlite3_stricmp(tls, *(*uintptr)(unsafe.Pointer(bp + 232 /* zTab */)), ts+17923 /* "sqlite_stat1" */) { - if libc.AssignInt32(&rc, sessionStat1Sql(tls, db, bp+80 /* &sApply */)) != 0 { + (*SessionApplyCtx)(unsafe.Pointer(bp + 48 /* &sApply */)).FnCol = *(*int32)(unsafe.Pointer(bp + 184 /* nCol */)) + if 0 == Xsqlite3_stricmp(tls, *(*uintptr)(unsafe.Pointer(bp + 200 /* zTab */)), ts+17923 /* "sqlite_stat1" */) { + if libc.AssignInt32(&rc, sessionStat1Sql(tls, db, bp+48 /* &sApply */)) != 0 { break } - (*SessionApplyCtx)(unsafe.Pointer(bp + 80 /* &sApply */)).FbStat1 = 1 + (*SessionApplyCtx)(unsafe.Pointer(bp + 48 /* &sApply */)).FbStat1 = 1 } else { - if ((libc.AssignInt32(&rc, sessionSelectRow(tls, db, *(*uintptr)(unsafe.Pointer(bp + 232 /* zTab */)), bp+80 /* &sApply */)) != 0) || - (libc.AssignInt32(&rc, sessionDeleteRow(tls, db, *(*uintptr)(unsafe.Pointer(bp + 232 /* zTab */)), bp+80 /* &sApply */)) != 0)) || - (libc.AssignInt32(&rc, sessionInsertRow(tls, db, *(*uintptr)(unsafe.Pointer(bp + 232 /* zTab */)), bp+80 /* &sApply */)) != 0) { + if ((libc.AssignInt32(&rc, sessionSelectRow(tls, db, *(*uintptr)(unsafe.Pointer(bp + 200 /* zTab */)), bp+48 /* &sApply */)) != 0) || + (libc.AssignInt32(&rc, sessionDeleteRow(tls, db, *(*uintptr)(unsafe.Pointer(bp + 200 /* zTab */)), bp+48 /* &sApply */)) != 0)) || + (libc.AssignInt32(&rc, sessionInsertRow(tls, db, *(*uintptr)(unsafe.Pointer(bp + 200 /* zTab */)), bp+48 /* &sApply */)) != 0) { break } - (*SessionApplyCtx)(unsafe.Pointer(bp + 80 /* &sApply */)).FbStat1 = 0 + (*SessionApplyCtx)(unsafe.Pointer(bp + 48 /* &sApply */)).FbStat1 = 0 } } - nTab = Xsqlite3Strlen30(tls, *(*uintptr)(unsafe.Pointer(bp + 232 /* zTab */))) + nTab = Xsqlite3Strlen30(tls, *(*uintptr)(unsafe.Pointer(bp + 200 /* zTab */))) } } @@ -217732,7 +217732,7 @@ func sessionChangesetApply(tls *libc.TLS, db uintptr, pIter uintptr, xFilter uin continue } - rc = sessionApplyOneWithRetry(tls, db, pIter, bp+80 /* &sApply */, xConflict, pCtx) + rc = sessionApplyOneWithRetry(tls, db, pIter, bp+48 /* &sApply */, xConflict, pCtx) } bPatchset = (*Sqlite3_changeset_iter)(unsafe.Pointer(pIter)).FbPatchset @@ -217743,22 +217743,22 @@ func sessionChangesetApply(tls *libc.TLS, db uintptr, pIter uintptr, xFilter uin } if rc == SQLITE_OK { - rc = sessionRetryConstraints(tls, db, bPatchset, *(*uintptr)(unsafe.Pointer(bp + 232 /* zTab */)), bp+80 /* &sApply */, xConflict, pCtx) + rc = sessionRetryConstraints(tls, db, bPatchset, *(*uintptr)(unsafe.Pointer(bp + 200 /* zTab */)), bp+48 /* &sApply */, xConflict, pCtx) } if rc == SQLITE_OK { - // var nFk int32 at bp+240, 4 + // var nFk int32 at bp+208, 4 - // var notUsed int32 at bp+244, 4 + // var notUsed int32 at bp+212, 4 - Xsqlite3_db_status(tls, db, SQLITE_DBSTATUS_DEFERRED_FKS, bp+240 /* &nFk */, bp+244 /* ¬Used */, 0) - if *(*int32)(unsafe.Pointer(bp + 240 /* nFk */)) != 0 { + Xsqlite3_db_status(tls, db, SQLITE_DBSTATUS_DEFERRED_FKS, bp+208 /* &nFk */, bp+212 /* ¬Used */, 0) + if *(*int32)(unsafe.Pointer(bp + 208 /* nFk */)) != 0 { var res int32 = SQLITE_CHANGESET_ABORT - // var sIter Sqlite3_changeset_iter at bp+248, 152 + // var sIter Sqlite3_changeset_iter at bp+216, 152 - libc.Xmemset(tls, bp+248 /* &sIter */, 0, uint64(unsafe.Sizeof(Sqlite3_changeset_iter{}))) - (*Sqlite3_changeset_iter)(unsafe.Pointer(bp + 248 /* &sIter */)).FnCol = *(*int32)(unsafe.Pointer(bp + 240 /* nFk */)) - res = (*(*func(*libc.TLS, uintptr, int32, uintptr) int32)(unsafe.Pointer(&xConflict)))(tls, pCtx, SQLITE_CHANGESET_FOREIGN_KEY, bp+248 /* &sIter */) + libc.Xmemset(tls, bp+216 /* &sIter */, 0, uint64(unsafe.Sizeof(Sqlite3_changeset_iter{}))) + (*Sqlite3_changeset_iter)(unsafe.Pointer(bp + 216 /* &sIter */)).FnCol = *(*int32)(unsafe.Pointer(bp + 208 /* nFk */)) + res = (*(*func(*libc.TLS, uintptr, int32, uintptr) int32)(unsafe.Pointer(&xConflict)))(tls, pCtx, SQLITE_CHANGESET_FOREIGN_KEY, bp+216 /* &sIter */) if res != SQLITE_CHANGESET_OMIT { rc = SQLITE_CONSTRAINT } @@ -217775,18 +217775,18 @@ func sessionChangesetApply(tls *libc.TLS, db uintptr, pIter uintptr, xFilter uin } } - if ((rc == SQLITE_OK) && (bPatchset == 0)) && ((*SessionApplyCtx)(unsafe.Pointer(bp+80 /* &sApply */)).FbRebase != 0) { - *(*uintptr)(unsafe.Pointer(ppRebase)) = (*SessionApplyCtx)(unsafe.Pointer(bp + 80 /* &sApply */)).Frebase.FaBuf - *(*int32)(unsafe.Pointer(pnRebase)) = (*SessionApplyCtx)(unsafe.Pointer(bp + 80 /* &sApply */)).Frebase.FnBuf - (*SessionApplyCtx)(unsafe.Pointer(bp + 80 /* &sApply */)).Frebase.FaBuf = uintptr(0) + if ((rc == SQLITE_OK) && (bPatchset == 0)) && ((*SessionApplyCtx)(unsafe.Pointer(bp+48 /* &sApply */)).FbRebase != 0) { + *(*uintptr)(unsafe.Pointer(ppRebase)) = (*SessionApplyCtx)(unsafe.Pointer(bp + 48 /* &sApply */)).Frebase.FaBuf + *(*int32)(unsafe.Pointer(pnRebase)) = (*SessionApplyCtx)(unsafe.Pointer(bp + 48 /* &sApply */)).Frebase.FnBuf + (*SessionApplyCtx)(unsafe.Pointer(bp + 48 /* &sApply */)).Frebase.FaBuf = uintptr(0) } - sessionUpdateFree(tls, bp+80 /* &sApply */) - Xsqlite3_finalize(tls, (*SessionApplyCtx)(unsafe.Pointer(bp+80 /* &sApply */)).FpInsert) - Xsqlite3_finalize(tls, (*SessionApplyCtx)(unsafe.Pointer(bp+80 /* &sApply */)).FpDelete) - Xsqlite3_finalize(tls, (*SessionApplyCtx)(unsafe.Pointer(bp+80 /* &sApply */)).FpSelect) - Xsqlite3_free(tls, (*SessionApplyCtx)(unsafe.Pointer(bp+80 /* &sApply */)).FazCol) // cast works around VC++ bug - Xsqlite3_free(tls, (*SessionApplyCtx)(unsafe.Pointer(bp+80 /* &sApply */)).Fconstraints.FaBuf) - Xsqlite3_free(tls, (*SessionApplyCtx)(unsafe.Pointer(bp+80 /* &sApply */)).Frebase.FaBuf) + sessionUpdateFree(tls, bp+48 /* &sApply */) + Xsqlite3_finalize(tls, (*SessionApplyCtx)(unsafe.Pointer(bp+48 /* &sApply */)).FpInsert) + Xsqlite3_finalize(tls, (*SessionApplyCtx)(unsafe.Pointer(bp+48 /* &sApply */)).FpDelete) + Xsqlite3_finalize(tls, (*SessionApplyCtx)(unsafe.Pointer(bp+48 /* &sApply */)).FpSelect) + Xsqlite3_free(tls, (*SessionApplyCtx)(unsafe.Pointer(bp+48 /* &sApply */)).FazCol) // cast works around VC++ bug + Xsqlite3_free(tls, (*SessionApplyCtx)(unsafe.Pointer(bp+48 /* &sApply */)).Fconstraints.FaBuf) + Xsqlite3_free(tls, (*SessionApplyCtx)(unsafe.Pointer(bp+48 /* &sApply */)).Frebase.FaBuf) Xsqlite3_mutex_leave(tls, Xsqlite3_db_mutex(tls, db)) return rc } @@ -219852,8 +219852,8 @@ func fts5yy_reduce(tls *libc.TLS, fts5yypParser uintptr, fts5yyruleno uint32, ft // The following code executes when a syntax error first occurs. func fts5yy_syntax_error(tls *libc.TLS, fts5yypParser uintptr, fts5yymajor int32, fts5yyminor Fts5Token) { /* sqlite3.c:215056:13: */ - bp := tls.Alloc(24) - defer tls.Free(24) + bp := tls.Alloc(16) + defer tls.Free(16) var pParse uintptr = (*Fts5yyParser)(unsafe.Pointer(fts5yypParser)).FpParse @@ -220125,8 +220125,8 @@ type HighlightContext = HighlightContext1 /* sqlite3.c:215457:33 */ // called, it is a no-op. If an error (i.e. an OOM condition) is encountered, // *pRc is set to an error code before returning. func fts5HighlightAppend(tls *libc.TLS, pRc uintptr, p uintptr, z uintptr, n int32) { /* sqlite3.c:215480:13: */ - bp := tls.Alloc(32) - defer tls.Free(32) + bp := tls.Alloc(24) + defer tls.Free(24) if (*(*int32)(unsafe.Pointer(pRc)) == SQLITE_OK) && (z != 0) { if n < 0 { @@ -221416,19 +221416,19 @@ func fts5ConfigSetEnum(tls *libc.TLS, aEnum uintptr, zEnum uintptr, peVal uintpt // may be left in *pzErr. It is the responsibility of the caller to // eventually free any such error message using sqlite3_free(). func fts5ConfigParseSpecial(tls *libc.TLS, pGlobal uintptr, pConfig uintptr, zCmd uintptr, zArg uintptr, pzErr uintptr) int32 { /* sqlite3.c:216705:12: */ - bp := tls.Alloc(136) - defer tls.Free(136) + bp := tls.Alloc(112) + defer tls.Free(112) - *(*int32)(unsafe.Pointer(bp + 64 /* rc */)) = SQLITE_OK + *(*int32)(unsafe.Pointer(bp + 40 /* rc */)) = SQLITE_OK var nCmd int32 = int32(libc.Xstrlen(tls, zCmd)) if Xsqlite3_strnicmp(tls, ts+43424 /* "prefix" */, zCmd, nCmd) == 0 { var nByte int32 = (int32(uint64(unsafe.Sizeof(int32(0))) * uint64(FTS5_MAX_PREFIX_INDEXES))) var p uintptr var bFirst int32 = 1 if (*Fts5Config)(unsafe.Pointer(pConfig)).FaPrefix == uintptr(0) { - (*Fts5Config)(unsafe.Pointer(pConfig)).FaPrefix = sqlite3Fts5MallocZero(tls, bp+64 /* &rc */, int64(nByte)) - if *(*int32)(unsafe.Pointer(bp + 64 /* rc */)) != 0 { - return *(*int32)(unsafe.Pointer(bp + 64 /* rc */)) + (*Fts5Config)(unsafe.Pointer(pConfig)).FaPrefix = sqlite3Fts5MallocZero(tls, bp+40 /* &rc */, int64(nByte)) + if *(*int32)(unsafe.Pointer(bp + 40 /* rc */)) != 0 { + return *(*int32)(unsafe.Pointer(bp + 40 /* rc */)) } } @@ -221449,14 +221449,14 @@ func fts5ConfigParseSpecial(tls *libc.TLS, pGlobal uintptr, pConfig uintptr, zCm } if (int32(*(*int8)(unsafe.Pointer(p))) < '0') || (int32(*(*int8)(unsafe.Pointer(p))) > '9') { *(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3_mprintf(tls, ts+43431 /* "malformed prefix..." */, 0) - *(*int32)(unsafe.Pointer(bp + 64 /* rc */)) = SQLITE_ERROR + *(*int32)(unsafe.Pointer(bp + 40 /* rc */)) = SQLITE_ERROR break } if (*Fts5Config)(unsafe.Pointer(pConfig)).FnPrefix == FTS5_MAX_PREFIX_INDEXES { *(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3_mprintf(tls, ts+43462 /* "too many prefix ..." */, libc.VaList(bp, FTS5_MAX_PREFIX_INDEXES)) - *(*int32)(unsafe.Pointer(bp + 64 /* rc */)) = SQLITE_ERROR + *(*int32)(unsafe.Pointer(bp + 40 /* rc */)) = SQLITE_ERROR break } @@ -221467,7 +221467,7 @@ func fts5ConfigParseSpecial(tls *libc.TLS, pGlobal uintptr, pConfig uintptr, zCm if (nPre <= 0) || (nPre >= 1000) { *(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3_mprintf(tls, ts+43495 /* "prefix length ou..." */, 0) - *(*int32)(unsafe.Pointer(bp + 64 /* rc */)) = SQLITE_ERROR + *(*int32)(unsafe.Pointer(bp + 40 /* rc */)) = SQLITE_ERROR break } @@ -221476,20 +221476,20 @@ func fts5ConfigParseSpecial(tls *libc.TLS, pGlobal uintptr, pConfig uintptr, zCm bFirst = 0 } - return *(*int32)(unsafe.Pointer(bp + 64 /* rc */)) + return *(*int32)(unsafe.Pointer(bp + 40 /* rc */)) } if Xsqlite3_strnicmp(tls, ts+43532 /* "tokenize" */, zCmd, nCmd) == 0 { var p uintptr = zArg var nArg Sqlite3_int64 = (Sqlite3_int64(libc.Xstrlen(tls, zArg) + uint64(1))) - var azArg uintptr = sqlite3Fts5MallocZero(tls, bp+64 /* &rc */, (int64(uint64(unsafe.Sizeof(uintptr(0))) * uint64(nArg)))) - var pDel uintptr = sqlite3Fts5MallocZero(tls, bp+64 /* &rc */, (nArg * int64(2))) + var azArg uintptr = sqlite3Fts5MallocZero(tls, bp+40 /* &rc */, (int64(uint64(unsafe.Sizeof(uintptr(0))) * uint64(nArg)))) + var pDel uintptr = sqlite3Fts5MallocZero(tls, bp+40 /* &rc */, (nArg * int64(2))) var pSpace uintptr = pDel if (azArg != 0) && (pSpace != 0) { if (*Fts5Config)(unsafe.Pointer(pConfig)).FpTok != 0 { *(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3_mprintf(tls, ts+43541 /* "multiple tokeniz..." */, 0) - *(*int32)(unsafe.Pointer(bp + 64 /* rc */)) = SQLITE_ERROR + *(*int32)(unsafe.Pointer(bp + 40 /* rc */)) = SQLITE_ERROR } else { for nArg = int64(0); (p != 0) && (*(*int8)(unsafe.Pointer(p)) != 0); nArg++ { var p2 uintptr = fts5ConfigSkipWhitespace(tls, p) @@ -221508,9 +221508,9 @@ func fts5ConfigParseSpecial(tls *libc.TLS, pGlobal uintptr, pConfig uintptr, zCm } if p == uintptr(0) { *(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3_mprintf(tls, ts+43574 /* "parse error in t..." */, 0) - *(*int32)(unsafe.Pointer(bp + 64 /* rc */)) = SQLITE_ERROR + *(*int32)(unsafe.Pointer(bp + 40 /* rc */)) = SQLITE_ERROR } else { - *(*int32)(unsafe.Pointer(bp + 64 /* rc */)) = sqlite3Fts5GetTokenizer(tls, pGlobal, + *(*int32)(unsafe.Pointer(bp + 40 /* rc */)) = sqlite3Fts5GetTokenizer(tls, pGlobal, azArg, int32(nArg), pConfig, pzErr) } @@ -221519,59 +221519,59 @@ func fts5ConfigParseSpecial(tls *libc.TLS, pGlobal uintptr, pConfig uintptr, zCm Xsqlite3_free(tls, azArg) Xsqlite3_free(tls, pDel) - return *(*int32)(unsafe.Pointer(bp + 64 /* rc */)) + return *(*int32)(unsafe.Pointer(bp + 40 /* rc */)) } if Xsqlite3_strnicmp(tls, ts+43608 /* "content" */, zCmd, nCmd) == 0 { if (*Fts5Config)(unsafe.Pointer(pConfig)).FeContent != FTS5_CONTENT_NORMAL { *(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3_mprintf(tls, ts+43616 /* "multiple content..." */, 0) - *(*int32)(unsafe.Pointer(bp + 64 /* rc */)) = SQLITE_ERROR + *(*int32)(unsafe.Pointer(bp + 40 /* rc */)) = SQLITE_ERROR } else { if *(*int8)(unsafe.Pointer(zArg)) != 0 { (*Fts5Config)(unsafe.Pointer(pConfig)).FeContent = FTS5_CONTENT_EXTERNAL - (*Fts5Config)(unsafe.Pointer(pConfig)).FzContent = sqlite3Fts5Mprintf(tls, bp+64 /* &rc */, ts+43648 /* "%Q.%Q" */, libc.VaList(bp+16, (*Fts5Config)(unsafe.Pointer(pConfig)).FzDb, zArg)) + (*Fts5Config)(unsafe.Pointer(pConfig)).FzContent = sqlite3Fts5Mprintf(tls, bp+40 /* &rc */, ts+43648 /* "%Q.%Q" */, libc.VaList(bp+8, (*Fts5Config)(unsafe.Pointer(pConfig)).FzDb, zArg)) } else { (*Fts5Config)(unsafe.Pointer(pConfig)).FeContent = FTS5_CONTENT_NONE } } - return *(*int32)(unsafe.Pointer(bp + 64 /* rc */)) + return *(*int32)(unsafe.Pointer(bp + 40 /* rc */)) } if Xsqlite3_strnicmp(tls, ts+43654 /* "content_rowid" */, zCmd, nCmd) == 0 { if (*Fts5Config)(unsafe.Pointer(pConfig)).FzContentRowid != 0 { *(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3_mprintf(tls, ts+43668 /* "multiple content..." */, 0) - *(*int32)(unsafe.Pointer(bp + 64 /* rc */)) = SQLITE_ERROR + *(*int32)(unsafe.Pointer(bp + 40 /* rc */)) = SQLITE_ERROR } else { - (*Fts5Config)(unsafe.Pointer(pConfig)).FzContentRowid = sqlite3Fts5Strndup(tls, bp+64 /* &rc */, zArg, -1) + (*Fts5Config)(unsafe.Pointer(pConfig)).FzContentRowid = sqlite3Fts5Strndup(tls, bp+40 /* &rc */, zArg, -1) } - return *(*int32)(unsafe.Pointer(bp + 64 /* rc */)) + return *(*int32)(unsafe.Pointer(bp + 40 /* rc */)) } if Xsqlite3_strnicmp(tls, ts+43706 /* "columnsize" */, zCmd, nCmd) == 0 { if ((int32(*(*int8)(unsafe.Pointer(zArg))) != '0') && (int32(*(*int8)(unsafe.Pointer(zArg))) != '1')) || (int32(*(*int8)(unsafe.Pointer(zArg + 1))) != 0) { *(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3_mprintf(tls, ts+43717 /* "malformed column..." */, 0) - *(*int32)(unsafe.Pointer(bp + 64 /* rc */)) = SQLITE_ERROR + *(*int32)(unsafe.Pointer(bp + 40 /* rc */)) = SQLITE_ERROR } else { (*Fts5Config)(unsafe.Pointer(pConfig)).FbColumnsize = (libc.Bool32(int32(*(*int8)(unsafe.Pointer(zArg))) == '1')) } - return *(*int32)(unsafe.Pointer(bp + 64 /* rc */)) + return *(*int32)(unsafe.Pointer(bp + 40 /* rc */)) } if Xsqlite3_strnicmp(tls, ts+11584 /* "detail" */, zCmd, nCmd) == 0 { - *(*[4]Fts5Enum)(unsafe.Pointer(bp + 72 /* aDetail */)) = [4]Fts5Enum{ + *(*[4]Fts5Enum)(unsafe.Pointer(bp + 48 /* aDetail */)) = [4]Fts5Enum{ {FzName: ts + 23865 /* "none" */, FeVal: FTS5_DETAIL_NONE}, {FzName: ts + 23870 /* "full" */}, {FzName: ts + 43752 /* "columns" */, FeVal: FTS5_DETAIL_COLUMNS}, {}, } - if libc.AssignPtrInt32(bp+64 /* rc */, fts5ConfigSetEnum(tls, bp+72 /* &aDetail[0] */, zArg, (pConfig+92 /* &.eDetail */))) != 0 { + if libc.AssignPtrInt32(bp+40 /* rc */, fts5ConfigSetEnum(tls, bp+48 /* &aDetail[0] */, zArg, (pConfig+92 /* &.eDetail */))) != 0 { *(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3_mprintf(tls, ts+43760 /* "malformed detail..." */, 0) } - return *(*int32)(unsafe.Pointer(bp + 64 /* rc */)) + return *(*int32)(unsafe.Pointer(bp + 40 /* rc */)) } - *(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3_mprintf(tls, ts+43791 /* "unrecognized opt..." */, libc.VaList(bp+40, nCmd, zCmd)) + *(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3_mprintf(tls, ts+43791 /* "unrecognized opt..." */, libc.VaList(bp+24, nCmd, zCmd)) return SQLITE_ERROR } @@ -221631,8 +221631,8 @@ func fts5ConfigGobbleWord(tls *libc.TLS, pRc uintptr, zIn uintptr, pzOut uintptr } func fts5ConfigParseColumn(tls *libc.TLS, p uintptr, zCol uintptr, zArg uintptr, pzErr uintptr) int32 { /* sqlite3.c:216929:12: */ - bp := tls.Alloc(32) - defer tls.Free(32) + bp := tls.Alloc(16) + defer tls.Free(16) var rc int32 = SQLITE_OK if (0 == Xsqlite3_stricmp(tls, zCol, ts+29463 /* "rank" */)) || @@ -221643,7 +221643,7 @@ func fts5ConfigParseColumn(tls *libc.TLS, p uintptr, zCol uintptr, zArg uintptr, if 0 == Xsqlite3_stricmp(tls, zArg, ts+43849 /* "unindexed" */) { *(*U8)(unsafe.Pointer((*Fts5Config)(unsafe.Pointer(p)).FabUnindexed + uintptr((*Fts5Config)(unsafe.Pointer(p)).FnCol))) = U8(1) } else { - *(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3_mprintf(tls, ts+43859 /* "unrecognized col..." */, libc.VaList(bp+16, zArg)) + *(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3_mprintf(tls, ts+43859 /* "unrecognized col..." */, libc.VaList(bp+8, zArg)) rc = SQLITE_ERROR } } @@ -221654,26 +221654,26 @@ func fts5ConfigParseColumn(tls *libc.TLS, p uintptr, zCol uintptr, zArg uintptr, // Populate the Fts5Config.zContentExprlist string. func fts5ConfigMakeExprlist(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:216957:12: */ - bp := tls.Alloc(72) - defer tls.Free(72) + bp := tls.Alloc(48) + defer tls.Free(48) var i int32 - *(*int32)(unsafe.Pointer(bp + 48 /* rc */)) = SQLITE_OK - *(*Fts5Buffer)(unsafe.Pointer(bp + 56 /* buf */)) = Fts5Buffer{} + *(*int32)(unsafe.Pointer(bp + 24 /* rc */)) = SQLITE_OK + *(*Fts5Buffer)(unsafe.Pointer(bp + 32 /* buf */)) = Fts5Buffer{} - sqlite3Fts5BufferAppendPrintf(tls, bp+48 /* &rc */, bp+56 /* &buf */, ts+43890 /* "T.%Q" */, libc.VaList(bp, (*Fts5Config)(unsafe.Pointer(p)).FzContentRowid)) + sqlite3Fts5BufferAppendPrintf(tls, bp+24 /* &rc */, bp+32 /* &buf */, ts+43890 /* "T.%Q" */, libc.VaList(bp, (*Fts5Config)(unsafe.Pointer(p)).FzContentRowid)) if (*Fts5Config)(unsafe.Pointer(p)).FeContent != FTS5_CONTENT_NONE { for i = 0; i < (*Fts5Config)(unsafe.Pointer(p)).FnCol; i++ { if (*Fts5Config)(unsafe.Pointer(p)).FeContent == FTS5_CONTENT_EXTERNAL { - sqlite3Fts5BufferAppendPrintf(tls, bp+48 /* &rc */, bp+56 /* &buf */, ts+43895 /* ", T.%Q" */, libc.VaList(bp+16, *(*uintptr)(unsafe.Pointer((*Fts5Config)(unsafe.Pointer(p)).FazCol + uintptr(i)*8)))) + sqlite3Fts5BufferAppendPrintf(tls, bp+24 /* &rc */, bp+32 /* &buf */, ts+43895 /* ", T.%Q" */, libc.VaList(bp+8, *(*uintptr)(unsafe.Pointer((*Fts5Config)(unsafe.Pointer(p)).FazCol + uintptr(i)*8)))) } else { - sqlite3Fts5BufferAppendPrintf(tls, bp+48 /* &rc */, bp+56 /* &buf */, ts+43902 /* ", T.c%d" */, libc.VaList(bp+32, i)) + sqlite3Fts5BufferAppendPrintf(tls, bp+24 /* &rc */, bp+32 /* &buf */, ts+43902 /* ", T.c%d" */, libc.VaList(bp+16, i)) } } } - (*Fts5Config)(unsafe.Pointer(p)).FzContentExprlist = (*Fts5Buffer)(unsafe.Pointer(bp + 56 /* &buf */)).Fp - return *(*int32)(unsafe.Pointer(bp + 48 /* rc */)) + (*Fts5Config)(unsafe.Pointer(p)).FzContentExprlist = (*Fts5Buffer)(unsafe.Pointer(bp + 32 /* &buf */)).Fp + return *(*int32)(unsafe.Pointer(bp + 24 /* rc */)) } // Arguments nArg/azArg contain the string arguments passed to the xCreate @@ -221687,10 +221687,10 @@ func fts5ConfigMakeExprlist(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:21695 // *pzErr. It is the responsibility of the caller to eventually free any // such error message using sqlite3_free(). func sqlite3Fts5ConfigParse(tls *libc.TLS, pGlobal uintptr, db uintptr, nArg int32, azArg uintptr, ppOut uintptr, pzErr uintptr) int32 { /* sqlite3.c:216990:12: */ - bp := tls.Alloc(100) - defer tls.Free(100) + bp := tls.Alloc(76) + defer tls.Free(76) - *(*int32)(unsafe.Pointer(bp + 64 /* rc */)) = SQLITE_OK // Return code + *(*int32)(unsafe.Pointer(bp + 40 /* rc */)) = SQLITE_OK // Return code var pRet uintptr // New object to return var i int32 var nByte Sqlite3_int64 @@ -221704,81 +221704,81 @@ func sqlite3Fts5ConfigParse(tls *libc.TLS, pGlobal uintptr, db uintptr, nArg int (*Fts5Config)(unsafe.Pointer(pRet)).FiCookie = -1 nByte = (Sqlite3_int64(uint64(nArg) * (uint64(unsafe.Sizeof(uintptr(0))) + uint64(unsafe.Sizeof(U8(0)))))) - (*Fts5Config)(unsafe.Pointer(pRet)).FazCol = sqlite3Fts5MallocZero(tls, bp+64 /* &rc */, nByte) + (*Fts5Config)(unsafe.Pointer(pRet)).FazCol = sqlite3Fts5MallocZero(tls, bp+40 /* &rc */, nByte) (*Fts5Config)(unsafe.Pointer(pRet)).FabUnindexed = func() uintptr { if (*Fts5Config)(unsafe.Pointer(pRet)).FazCol != 0 { return ((*Fts5Config)(unsafe.Pointer(pRet)).FazCol + uintptr(nArg)*8) } return uintptr(0) }() - (*Fts5Config)(unsafe.Pointer(pRet)).FzDb = sqlite3Fts5Strndup(tls, bp+64 /* &rc */, *(*uintptr)(unsafe.Pointer(azArg + 1*8)), -1) - (*Fts5Config)(unsafe.Pointer(pRet)).FzName = sqlite3Fts5Strndup(tls, bp+64 /* &rc */, *(*uintptr)(unsafe.Pointer(azArg + 2*8)), -1) + (*Fts5Config)(unsafe.Pointer(pRet)).FzDb = sqlite3Fts5Strndup(tls, bp+40 /* &rc */, *(*uintptr)(unsafe.Pointer(azArg + 1*8)), -1) + (*Fts5Config)(unsafe.Pointer(pRet)).FzName = sqlite3Fts5Strndup(tls, bp+40 /* &rc */, *(*uintptr)(unsafe.Pointer(azArg + 2*8)), -1) (*Fts5Config)(unsafe.Pointer(pRet)).FbColumnsize = 1 (*Fts5Config)(unsafe.Pointer(pRet)).FeDetail = FTS5_DETAIL_FULL - if (*(*int32)(unsafe.Pointer(bp + 64 /* rc */)) == SQLITE_OK) && (Xsqlite3_stricmp(tls, (*Fts5Config)(unsafe.Pointer(pRet)).FzName, ts+29463 /* "rank" */) == 0) { + if (*(*int32)(unsafe.Pointer(bp + 40 /* rc */)) == SQLITE_OK) && (Xsqlite3_stricmp(tls, (*Fts5Config)(unsafe.Pointer(pRet)).FzName, ts+29463 /* "rank" */) == 0) { *(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3_mprintf(tls, ts+43910 /* "reserved fts5 ta..." */, libc.VaList(bp, (*Fts5Config)(unsafe.Pointer(pRet)).FzName)) - *(*int32)(unsafe.Pointer(bp + 64 /* rc */)) = SQLITE_ERROR + *(*int32)(unsafe.Pointer(bp + 40 /* rc */)) = SQLITE_ERROR } - for i = 3; (*(*int32)(unsafe.Pointer(bp + 64 /* rc */)) == SQLITE_OK) && (i < nArg); i++ { + for i = 3; (*(*int32)(unsafe.Pointer(bp + 40 /* rc */)) == SQLITE_OK) && (i < nArg); i++ { var zOrig uintptr = *(*uintptr)(unsafe.Pointer(azArg + uintptr(i)*8)) var z uintptr - *(*uintptr)(unsafe.Pointer(bp + 72 /* zOne */)) = uintptr(0) - *(*uintptr)(unsafe.Pointer(bp + 88 /* zTwo */)) = uintptr(0) + *(*uintptr)(unsafe.Pointer(bp + 48 /* zOne */)) = uintptr(0) + *(*uintptr)(unsafe.Pointer(bp + 64 /* zTwo */)) = uintptr(0) var bOption int32 = 0 - *(*int32)(unsafe.Pointer(bp + 80 /* bMustBeCol */)) = 0 + *(*int32)(unsafe.Pointer(bp + 56 /* bMustBeCol */)) = 0 - z = fts5ConfigGobbleWord(tls, bp+64 /* &rc */, zOrig, bp+72 /* &zOne */, bp+80 /* &bMustBeCol */) + z = fts5ConfigGobbleWord(tls, bp+40 /* &rc */, zOrig, bp+48 /* &zOne */, bp+56 /* &bMustBeCol */) z = fts5ConfigSkipWhitespace(tls, z) if (z != 0) && (int32(*(*int8)(unsafe.Pointer(z))) == '=') { bOption = 1 z++ - if *(*int32)(unsafe.Pointer(bp + 80 /* bMustBeCol */)) != 0 { + if *(*int32)(unsafe.Pointer(bp + 56 /* bMustBeCol */)) != 0 { z = uintptr(0) } } z = fts5ConfigSkipWhitespace(tls, z) if (z != 0) && (*(*int8)(unsafe.Pointer(z)) != 0) { - // var bDummy int32 at bp+96, 4 + // var bDummy int32 at bp+72, 4 - z = fts5ConfigGobbleWord(tls, bp+64 /* &rc */, z, bp+88 /* &zTwo */, bp+96 /* &bDummy */) + z = fts5ConfigGobbleWord(tls, bp+40 /* &rc */, z, bp+64 /* &zTwo */, bp+72 /* &bDummy */) if (z != 0) && (*(*int8)(unsafe.Pointer(z)) != 0) { z = uintptr(0) } } - if *(*int32)(unsafe.Pointer(bp + 64 /* rc */)) == SQLITE_OK { + if *(*int32)(unsafe.Pointer(bp + 40 /* rc */)) == SQLITE_OK { if z == uintptr(0) { - *(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3_mprintf(tls, ts+43939 /* "parse error in \"..." */, libc.VaList(bp+16, zOrig)) - *(*int32)(unsafe.Pointer(bp + 64 /* rc */)) = SQLITE_ERROR + *(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3_mprintf(tls, ts+43939 /* "parse error in \"..." */, libc.VaList(bp+8, zOrig)) + *(*int32)(unsafe.Pointer(bp + 40 /* rc */)) = SQLITE_ERROR } else { if bOption != 0 { - *(*int32)(unsafe.Pointer(bp + 64 /* rc */)) = fts5ConfigParseSpecial(tls, pGlobal, pRet, *(*uintptr)(unsafe.Pointer(bp + 72 /* zOne */)), func() uintptr { - if *(*uintptr)(unsafe.Pointer(bp + 88 /* zTwo */)) != 0 { - return *(*uintptr)(unsafe.Pointer(bp + 88 /* zTwo */)) + *(*int32)(unsafe.Pointer(bp + 40 /* rc */)) = fts5ConfigParseSpecial(tls, pGlobal, pRet, *(*uintptr)(unsafe.Pointer(bp + 48 /* zOne */)), func() uintptr { + if *(*uintptr)(unsafe.Pointer(bp + 64 /* zTwo */)) != 0 { + return *(*uintptr)(unsafe.Pointer(bp + 64 /* zTwo */)) } return ts + 915 /* "" */ }(), pzErr) } else { - *(*int32)(unsafe.Pointer(bp + 64 /* rc */)) = fts5ConfigParseColumn(tls, pRet, *(*uintptr)(unsafe.Pointer(bp + 72 /* zOne */)), *(*uintptr)(unsafe.Pointer(bp + 88 /* zTwo */)), pzErr) - *(*uintptr)(unsafe.Pointer(bp + 72 /* zOne */)) = uintptr(0) + *(*int32)(unsafe.Pointer(bp + 40 /* rc */)) = fts5ConfigParseColumn(tls, pRet, *(*uintptr)(unsafe.Pointer(bp + 48 /* zOne */)), *(*uintptr)(unsafe.Pointer(bp + 64 /* zTwo */)), pzErr) + *(*uintptr)(unsafe.Pointer(bp + 48 /* zOne */)) = uintptr(0) } } } - Xsqlite3_free(tls, *(*uintptr)(unsafe.Pointer(bp + 72 /* zOne */))) - Xsqlite3_free(tls, *(*uintptr)(unsafe.Pointer(bp + 88 /* zTwo */))) + Xsqlite3_free(tls, *(*uintptr)(unsafe.Pointer(bp + 48 /* zOne */))) + Xsqlite3_free(tls, *(*uintptr)(unsafe.Pointer(bp + 64 /* zTwo */))) } // If a tokenizer= option was successfully parsed, the tokenizer has // already been allocated. Otherwise, allocate an instance of the default // tokenizer (unicode61) now. - if (*(*int32)(unsafe.Pointer(bp + 64 /* rc */)) == SQLITE_OK) && ((*Fts5Config)(unsafe.Pointer(pRet)).FpTok == uintptr(0)) { - *(*int32)(unsafe.Pointer(bp + 64 /* rc */)) = fts5ConfigDefaultTokenizer(tls, pGlobal, pRet) + if (*(*int32)(unsafe.Pointer(bp + 40 /* rc */)) == SQLITE_OK) && ((*Fts5Config)(unsafe.Pointer(pRet)).FpTok == uintptr(0)) { + *(*int32)(unsafe.Pointer(bp + 40 /* rc */)) = fts5ConfigDefaultTokenizer(tls, pGlobal, pRet) } // If no zContent option was specified, fill in the default values. - if (*(*int32)(unsafe.Pointer(bp + 64 /* rc */)) == SQLITE_OK) && ((*Fts5Config)(unsafe.Pointer(pRet)).FzContent == uintptr(0)) { + if (*(*int32)(unsafe.Pointer(bp + 40 /* rc */)) == SQLITE_OK) && ((*Fts5Config)(unsafe.Pointer(pRet)).FzContent == uintptr(0)) { var zTail uintptr = uintptr(0) if (*Fts5Config)(unsafe.Pointer(pRet)).FeContent == FTS5_CONTENT_NORMAL { @@ -221789,24 +221789,24 @@ func sqlite3Fts5ConfigParse(tls *libc.TLS, pGlobal uintptr, db uintptr, nArg int if zTail != 0 { (*Fts5Config)(unsafe.Pointer(pRet)).FzContent = sqlite3Fts5Mprintf(tls, - bp+64 /* &rc */, ts+43967 /* "%Q.'%q_%s'" */, libc.VaList(bp+32, (*Fts5Config)(unsafe.Pointer(pRet)).FzDb, (*Fts5Config)(unsafe.Pointer(pRet)).FzName, zTail)) + bp+40 /* &rc */, ts+43967 /* "%Q.'%q_%s'" */, libc.VaList(bp+16, (*Fts5Config)(unsafe.Pointer(pRet)).FzDb, (*Fts5Config)(unsafe.Pointer(pRet)).FzName, zTail)) } } - if (*(*int32)(unsafe.Pointer(bp + 64 /* rc */)) == SQLITE_OK) && ((*Fts5Config)(unsafe.Pointer(pRet)).FzContentRowid == uintptr(0)) { - (*Fts5Config)(unsafe.Pointer(pRet)).FzContentRowid = sqlite3Fts5Strndup(tls, bp+64 /* &rc */, ts+14874 /* "rowid" */, -1) + if (*(*int32)(unsafe.Pointer(bp + 40 /* rc */)) == SQLITE_OK) && ((*Fts5Config)(unsafe.Pointer(pRet)).FzContentRowid == uintptr(0)) { + (*Fts5Config)(unsafe.Pointer(pRet)).FzContentRowid = sqlite3Fts5Strndup(tls, bp+40 /* &rc */, ts+14874 /* "rowid" */, -1) } // Formulate the zContentExprlist text - if *(*int32)(unsafe.Pointer(bp + 64 /* rc */)) == SQLITE_OK { - *(*int32)(unsafe.Pointer(bp + 64 /* rc */)) = fts5ConfigMakeExprlist(tls, pRet) + if *(*int32)(unsafe.Pointer(bp + 40 /* rc */)) == SQLITE_OK { + *(*int32)(unsafe.Pointer(bp + 40 /* rc */)) = fts5ConfigMakeExprlist(tls, pRet) } - if *(*int32)(unsafe.Pointer(bp + 64 /* rc */)) != SQLITE_OK { + if *(*int32)(unsafe.Pointer(bp + 40 /* rc */)) != SQLITE_OK { sqlite3Fts5ConfigFree(tls, pRet) *(*uintptr)(unsafe.Pointer(ppOut)) = uintptr(0) } - return *(*int32)(unsafe.Pointer(bp + 64 /* rc */)) + return *(*int32)(unsafe.Pointer(bp + 40 /* rc */)) } // Free the configuration object passed as the only argument. @@ -221836,14 +221836,14 @@ func sqlite3Fts5ConfigFree(tls *libc.TLS, pConfig uintptr) { /* sqlite3.c:217109 // object passed as the only argument. Return SQLITE_OK if successful, or // an SQLite error code if an error occurs. func sqlite3Fts5ConfigDeclareVtab(tls *libc.TLS, pConfig uintptr) int32 { /* sqlite3.c:217136:12: */ - bp := tls.Alloc(68) - defer tls.Free(68) + bp := tls.Alloc(52) + defer tls.Free(52) var i int32 - *(*int32)(unsafe.Pointer(bp + 64 /* rc */)) = SQLITE_OK + *(*int32)(unsafe.Pointer(bp + 48 /* rc */)) = SQLITE_OK var zSql uintptr - zSql = sqlite3Fts5Mprintf(tls, bp+64 /* &rc */, ts+43978 /* "CREATE TABLE x(" */, 0) + zSql = sqlite3Fts5Mprintf(tls, bp+48 /* &rc */, ts+43978 /* "CREATE TABLE x(" */, 0) for i = 0; (zSql != 0) && (i < (*Fts5Config)(unsafe.Pointer(pConfig)).FnCol); i++ { var zSep uintptr = func() uintptr { if i == 0 { @@ -221851,17 +221851,17 @@ func sqlite3Fts5ConfigDeclareVtab(tls *libc.TLS, pConfig uintptr) int32 { /* sql } return ts + 21218 /* ", " */ }() - zSql = sqlite3Fts5Mprintf(tls, bp+64 /* &rc */, ts+43994 /* "%z%s%Q" */, libc.VaList(bp, zSql, zSep, *(*uintptr)(unsafe.Pointer((*Fts5Config)(unsafe.Pointer(pConfig)).FazCol + uintptr(i)*8)))) + zSql = sqlite3Fts5Mprintf(tls, bp+48 /* &rc */, ts+43994 /* "%z%s%Q" */, libc.VaList(bp, zSql, zSep, *(*uintptr)(unsafe.Pointer((*Fts5Config)(unsafe.Pointer(pConfig)).FazCol + uintptr(i)*8)))) } - zSql = sqlite3Fts5Mprintf(tls, bp+64 /* &rc */, ts+44001, /* "%z, %Q HIDDEN, %..." */ - libc.VaList(bp+32, zSql, (*Fts5Config)(unsafe.Pointer(pConfig)).FzName, ts+29463 /* "rank" */)) + zSql = sqlite3Fts5Mprintf(tls, bp+48 /* &rc */, ts+44001, /* "%z, %Q HIDDEN, %..." */ + libc.VaList(bp+24, zSql, (*Fts5Config)(unsafe.Pointer(pConfig)).FzName, ts+29463 /* "rank" */)) if zSql != 0 { - *(*int32)(unsafe.Pointer(bp + 64 /* rc */)) = Xsqlite3_declare_vtab(tls, (*Fts5Config)(unsafe.Pointer(pConfig)).Fdb, zSql) + *(*int32)(unsafe.Pointer(bp + 48 /* rc */)) = Xsqlite3_declare_vtab(tls, (*Fts5Config)(unsafe.Pointer(pConfig)).Fdb, zSql) Xsqlite3_free(tls, zSql) } - return *(*int32)(unsafe.Pointer(bp + 64 /* rc */)) + return *(*int32)(unsafe.Pointer(bp + 48 /* rc */)) } // Tokenize the text passed via the second and third arguments. @@ -222077,13 +222077,13 @@ func sqlite3Fts5ConfigSetValue(tls *libc.TLS, pConfig uintptr, zKey uintptr, pVa // Load the contents of the %_config table into memory. func sqlite3Fts5ConfigLoad(tls *libc.TLS, pConfig uintptr, iCookie int32) int32 { /* sqlite3.c:217381:12: */ - bp := tls.Alloc(68) - defer tls.Free(68) + bp := tls.Alloc(52) + defer tls.Free(52) var zSelect uintptr = ts + 44073 /* "SELECT k, v FROM..." */ var zSql uintptr - *(*uintptr)(unsafe.Pointer(bp + 56 /* p */)) = uintptr(0) - *(*int32)(unsafe.Pointer(bp + 48 /* rc */)) = SQLITE_OK + *(*uintptr)(unsafe.Pointer(bp + 40 /* p */)) = uintptr(0) + *(*int32)(unsafe.Pointer(bp + 32 /* rc */)) = SQLITE_OK var iVersion int32 = 0 // Set default values @@ -222093,40 +222093,40 @@ func sqlite3Fts5ConfigLoad(tls *libc.TLS, pConfig uintptr, iCookie int32) int32 (*Fts5Config)(unsafe.Pointer(pConfig)).FnCrisisMerge = FTS5_DEFAULT_CRISISMERGE (*Fts5Config)(unsafe.Pointer(pConfig)).FnHashSize = (1024 * 1024) - zSql = sqlite3Fts5Mprintf(tls, bp+48 /* &rc */, zSelect, libc.VaList(bp, (*Fts5Config)(unsafe.Pointer(pConfig)).FzDb, (*Fts5Config)(unsafe.Pointer(pConfig)).FzName)) + zSql = sqlite3Fts5Mprintf(tls, bp+32 /* &rc */, zSelect, libc.VaList(bp, (*Fts5Config)(unsafe.Pointer(pConfig)).FzDb, (*Fts5Config)(unsafe.Pointer(pConfig)).FzName)) if zSql != 0 { - *(*int32)(unsafe.Pointer(bp + 48 /* rc */)) = Xsqlite3_prepare_v2(tls, (*Fts5Config)(unsafe.Pointer(pConfig)).Fdb, zSql, -1, bp+56 /* &p */, uintptr(0)) + *(*int32)(unsafe.Pointer(bp + 32 /* rc */)) = Xsqlite3_prepare_v2(tls, (*Fts5Config)(unsafe.Pointer(pConfig)).Fdb, zSql, -1, bp+40 /* &p */, uintptr(0)) Xsqlite3_free(tls, zSql) } - if *(*int32)(unsafe.Pointer(bp + 48 /* rc */)) == SQLITE_OK { - for SQLITE_ROW == Xsqlite3_step(tls, *(*uintptr)(unsafe.Pointer(bp + 56 /* p */))) { - var zK uintptr = Xsqlite3_column_text(tls, *(*uintptr)(unsafe.Pointer(bp + 56 /* p */)), 0) - var pVal uintptr = Xsqlite3_column_value(tls, *(*uintptr)(unsafe.Pointer(bp + 56 /* p */)), 1) + if *(*int32)(unsafe.Pointer(bp + 32 /* rc */)) == SQLITE_OK { + for SQLITE_ROW == Xsqlite3_step(tls, *(*uintptr)(unsafe.Pointer(bp + 40 /* p */))) { + var zK uintptr = Xsqlite3_column_text(tls, *(*uintptr)(unsafe.Pointer(bp + 40 /* p */)), 0) + var pVal uintptr = Xsqlite3_column_value(tls, *(*uintptr)(unsafe.Pointer(bp + 40 /* p */)), 1) if 0 == Xsqlite3_stricmp(tls, zK, ts+44105 /* "version" */) { iVersion = Xsqlite3_value_int(tls, pVal) } else { - *(*int32)(unsafe.Pointer(bp + 64 /* bDummy */)) = 0 - sqlite3Fts5ConfigSetValue(tls, pConfig, zK, pVal, bp+64 /* &bDummy */) + *(*int32)(unsafe.Pointer(bp + 48 /* bDummy */)) = 0 + sqlite3Fts5ConfigSetValue(tls, pConfig, zK, pVal, bp+48 /* &bDummy */) } } - *(*int32)(unsafe.Pointer(bp + 48 /* rc */)) = Xsqlite3_finalize(tls, *(*uintptr)(unsafe.Pointer(bp + 56 /* p */))) + *(*int32)(unsafe.Pointer(bp + 32 /* rc */)) = Xsqlite3_finalize(tls, *(*uintptr)(unsafe.Pointer(bp + 40 /* p */))) } - if (*(*int32)(unsafe.Pointer(bp + 48 /* rc */)) == SQLITE_OK) && (iVersion != FTS5_CURRENT_VERSION) { - *(*int32)(unsafe.Pointer(bp + 48 /* rc */)) = SQLITE_ERROR + if (*(*int32)(unsafe.Pointer(bp + 32 /* rc */)) == SQLITE_OK) && (iVersion != FTS5_CURRENT_VERSION) { + *(*int32)(unsafe.Pointer(bp + 32 /* rc */)) = SQLITE_ERROR if (*Fts5Config)(unsafe.Pointer(pConfig)).FpzErrmsg != 0 { *(*uintptr)(unsafe.Pointer((*Fts5Config)(unsafe.Pointer(pConfig)).FpzErrmsg)) = Xsqlite3_mprintf(tls, ts+44113, /* "invalid fts5 fil..." */ - libc.VaList(bp+24, iVersion, FTS5_CURRENT_VERSION)) + libc.VaList(bp+16, iVersion, FTS5_CURRENT_VERSION)) } } - if *(*int32)(unsafe.Pointer(bp + 48 /* rc */)) == SQLITE_OK { + if *(*int32)(unsafe.Pointer(bp + 32 /* rc */)) == SQLITE_OK { (*Fts5Config)(unsafe.Pointer(pConfig)).FiCookie = iCookie } - return *(*int32)(unsafe.Pointer(bp + 48 /* rc */)) + return *(*int32)(unsafe.Pointer(bp + 32 /* rc */)) } // 2014 May 31 @@ -222191,8 +222191,8 @@ func fts5ExprIsspace(tls *libc.TLS, t int8) int32 { /* sqlite3.c:217576:12: */ // Read the first token from the nul-terminated string at *pz. func fts5ExprGetToken(tls *libc.TLS, pParse uintptr, pz uintptr, pToken uintptr) int32 { /* sqlite3.c:217583:12: */ - bp := tls.Alloc(16) - defer tls.Free(16) + bp := tls.Alloc(8) + defer tls.Free(8) var z uintptr = *(*uintptr)(unsafe.Pointer(pz)) var tok int32 @@ -224248,8 +224248,8 @@ func sqlite3Fts5ExprClonePhrase(tls *libc.TLS, pExpr uintptr, iPhrase int32, ppN // is expected. If token pTok does not contain "NEAR", store an error // in the pParse object. func sqlite3Fts5ParseNear(tls *libc.TLS, pParse uintptr, pTok uintptr) { /* sqlite3.c:219344:13: */ - bp := tls.Alloc(24) - defer tls.Free(24) + bp := tls.Alloc(16) + defer tls.Free(16) if ((*Fts5Token)(unsafe.Pointer(pTok)).Fn != 4) || (libc.Xmemcmp(tls, ts+44236 /* "NEAR" */, (*Fts5Token)(unsafe.Pointer(pTok)).Fp, uint64(4)) != 0) { sqlite3Fts5ParseError(tls, @@ -224258,8 +224258,8 @@ func sqlite3Fts5ParseNear(tls *libc.TLS, pParse uintptr, pTok uintptr) { /* sqli } func sqlite3Fts5ParseSetDistance(tls *libc.TLS, pParse uintptr, pNear uintptr, p uintptr) { /* sqlite3.c:219352:13: */ - bp := tls.Alloc(24) - defer tls.Free(24) + bp := tls.Alloc(16) + defer tls.Free(16) if pNear != 0 { var nNear int32 = 0 @@ -224349,8 +224349,8 @@ func sqlite3Fts5ParseColsetInvert(tls *libc.TLS, pParse uintptr, p uintptr) uint } func sqlite3Fts5ParseColset(tls *libc.TLS, pParse uintptr, pColset uintptr, p uintptr) uintptr { /* sqlite3.c:219451:19: */ - bp := tls.Alloc(16) - defer tls.Free(16) + bp := tls.Alloc(8) + defer tls.Free(8) var pRet uintptr = uintptr(0) var iCol int32 @@ -224584,8 +224584,8 @@ func fts5ParsePhraseToAnd(tls *libc.TLS, pParse uintptr, pNear uintptr) uintptr // Allocate and return a new expression object. If anything goes wrong (i.e. // OOM error), leave an error code in pParse and return NULL. func sqlite3Fts5ParseNode(tls *libc.TLS, pParse uintptr, eType int32, pLeft uintptr, pRight uintptr, pNear uintptr) uintptr { /* sqlite3.c:219698:21: */ - bp := tls.Alloc(16) - defer tls.Free(16) + bp := tls.Alloc(8) + defer tls.Free(8) var pRet uintptr = uintptr(0) @@ -224755,8 +224755,8 @@ func fts5ExprTermPrint(tls *libc.TLS, pTerm uintptr) uintptr { /* sqlite3.c:2198 } func fts5PrintfAppend(tls *libc.TLS, zApp uintptr, zFmt uintptr, va uintptr) uintptr { /* sqlite3.c:219880:13: */ - bp := tls.Alloc(24) - defer tls.Free(24) + bp := tls.Alloc(16) + defer tls.Free(16) var zNew uintptr var ap Va_list @@ -224778,8 +224778,8 @@ func fts5PrintfAppend(tls *libc.TLS, zApp uintptr, zFmt uintptr, va uintptr) uin // responsibility of the caller to at some point free the buffer using // sqlite3_free(). func fts5ExprPrintTcl(tls *libc.TLS, pConfig uintptr, zNearsetCmd uintptr, pExpr uintptr) uintptr { /* sqlite3.c:219901:13: */ - bp := tls.Alloc(136) - defer tls.Free(136) + bp := tls.Alloc(72) + defer tls.Free(72) var zRet uintptr = uintptr(0) if ((*Fts5ExprNode)(unsafe.Pointer(pExpr)).FeType == FTS5_STRING) || ((*Fts5ExprNode)(unsafe.Pointer(pExpr)).FeType == FTS5_TERM) { @@ -224795,11 +224795,11 @@ func fts5ExprPrintTcl(tls *libc.TLS, pConfig uintptr, zNearsetCmd uintptr, pExpr var aiCol uintptr = (*Fts5ExprNearset)(unsafe.Pointer(pNear)).FpColset + 4 /* &.aiCol */ var nCol int32 = (*Fts5Colset)(unsafe.Pointer((*Fts5ExprNearset)(unsafe.Pointer(pNear)).FpColset)).FnCol if nCol == 1 { - zRet = fts5PrintfAppend(tls, zRet, ts+44384 /* "-col %d " */, libc.VaList(bp+16, *(*int32)(unsafe.Pointer(aiCol)))) + zRet = fts5PrintfAppend(tls, zRet, ts+44384 /* "-col %d " */, libc.VaList(bp+8, *(*int32)(unsafe.Pointer(aiCol)))) } else { - zRet = fts5PrintfAppend(tls, zRet, ts+44393 /* "-col {%d" */, libc.VaList(bp+32, *(*int32)(unsafe.Pointer(aiCol)))) + zRet = fts5PrintfAppend(tls, zRet, ts+44393 /* "-col {%d" */, libc.VaList(bp+16, *(*int32)(unsafe.Pointer(aiCol)))) for i = 1; i < (*Fts5Colset)(unsafe.Pointer((*Fts5ExprNearset)(unsafe.Pointer(pNear)).FpColset)).FnCol; i++ { - zRet = fts5PrintfAppend(tls, zRet, ts+44402 /* " %d" */, libc.VaList(bp+48, *(*int32)(unsafe.Pointer(aiCol + uintptr(i)*4)))) + zRet = fts5PrintfAppend(tls, zRet, ts+44402 /* " %d" */, libc.VaList(bp+24, *(*int32)(unsafe.Pointer(aiCol + uintptr(i)*4)))) } zRet = fts5PrintfAppend(tls, zRet, ts+44406 /* "} " */, 0) } @@ -224809,7 +224809,7 @@ func fts5ExprPrintTcl(tls *libc.TLS, pConfig uintptr, zNearsetCmd uintptr, pExpr } if (*Fts5ExprNearset)(unsafe.Pointer(pNear)).FnPhrase > 1 { - zRet = fts5PrintfAppend(tls, zRet, ts+44409 /* "-near %d " */, libc.VaList(bp+64, (*Fts5ExprNearset)(unsafe.Pointer(pNear)).FnNear)) + zRet = fts5PrintfAppend(tls, zRet, ts+44409 /* "-near %d " */, libc.VaList(bp+32, (*Fts5ExprNearset)(unsafe.Pointer(pNear)).FnNear)) if zRet == uintptr(0) { return uintptr(0) } @@ -224826,7 +224826,7 @@ func fts5ExprPrintTcl(tls *libc.TLS, pConfig uintptr, zNearsetCmd uintptr, pExpr zRet = fts5PrintfAppend(tls, zRet, ts+44422 /* " {" */, 0) for iTerm = 0; (zRet != 0) && (iTerm < (*Fts5ExprPhrase)(unsafe.Pointer(pPhrase)).FnTerm); iTerm++ { var zTerm uintptr = (*Fts5ExprTerm)(unsafe.Pointer((pPhrase + 32 /* &.aTerm */) + uintptr(iTerm)*32)).FzTerm - zRet = fts5PrintfAppend(tls, zRet, ts+11393 /* "%s%s" */, libc.VaList(bp+80, func() uintptr { + zRet = fts5PrintfAppend(tls, zRet, ts+11393 /* "%s%s" */, libc.VaList(bp+40, func() uintptr { if iTerm == 0 { return ts + 915 /* "" */ } @@ -224863,14 +224863,14 @@ func fts5ExprPrintTcl(tls *libc.TLS, pConfig uintptr, zNearsetCmd uintptr, pExpr break } - zRet = Xsqlite3_mprintf(tls, ts+951 /* "%s" */, libc.VaList(bp+104, zOp)) + zRet = Xsqlite3_mprintf(tls, ts+951 /* "%s" */, libc.VaList(bp+56, zOp)) for i = 0; (zRet != 0) && (i < (*Fts5ExprNode)(unsafe.Pointer(pExpr)).FnChild); i++ { var z uintptr = fts5ExprPrintTcl(tls, pConfig, zNearsetCmd, *(*uintptr)(unsafe.Pointer((pExpr + 48 /* &.apChild */) + uintptr(i)*8))) if !(z != 0) { Xsqlite3_free(tls, zRet) zRet = uintptr(0) } else { - zRet = fts5PrintfAppend(tls, zRet, ts+44425 /* " [%z]" */, libc.VaList(bp+120, z)) + zRet = fts5PrintfAppend(tls, zRet, ts+44425 /* " [%z]" */, libc.VaList(bp+64, z)) } } } @@ -224879,8 +224879,8 @@ func fts5ExprPrintTcl(tls *libc.TLS, pConfig uintptr, zNearsetCmd uintptr, pExpr } func fts5ExprPrint(tls *libc.TLS, pConfig uintptr, pExpr uintptr) uintptr { /* sqlite3.c:219980:13: */ - bp := tls.Alloc(120) - defer tls.Free(120) + bp := tls.Alloc(80) + defer tls.Free(80) var zRet uintptr = uintptr(0) if (*Fts5ExprNode)(unsafe.Pointer(pExpr)).FeType == 0 { @@ -224906,7 +224906,7 @@ func fts5ExprPrint(tls *libc.TLS, pConfig uintptr, pExpr uintptr) uintptr { /* s }())) } if zRet != 0 { - zRet = fts5PrintfAppend(tls, zRet, ts+44436 /* "%s : " */, libc.VaList(bp+24, func() uintptr { + zRet = fts5PrintfAppend(tls, zRet, ts+44436 /* "%s : " */, libc.VaList(bp+16, func() uintptr { if (*Fts5Colset)(unsafe.Pointer(pColset)).FnCol > 1 { return ts + 35610 /* "}" */ } @@ -224936,7 +224936,7 @@ func fts5ExprPrint(tls *libc.TLS, pConfig uintptr, pExpr uintptr) uintptr { /* s for iTerm = 0; iTerm < (*Fts5ExprPhrase)(unsafe.Pointer(pPhrase)).FnTerm; iTerm++ { var zTerm uintptr = fts5ExprTermPrint(tls, ((pPhrase + 32 /* &.aTerm */) + uintptr(iTerm)*32)) if zTerm != 0 { - zRet = fts5PrintfAppend(tls, zRet, ts+11393 /* "%s%s" */, libc.VaList(bp+40, func() uintptr { + zRet = fts5PrintfAppend(tls, zRet, ts+11393 /* "%s%s" */, libc.VaList(bp+24, func() uintptr { if iTerm == 0 { return ts + 915 /* "" */ } @@ -224952,7 +224952,7 @@ func fts5ExprPrint(tls *libc.TLS, pConfig uintptr, pExpr uintptr) uintptr { /* s } if (*Fts5ExprNearset)(unsafe.Pointer(pNear)).FnPhrase > 1 { - zRet = fts5PrintfAppend(tls, zRet, ts+44452 /* ", %d)" */, libc.VaList(bp+64, (*Fts5ExprNearset)(unsafe.Pointer(pNear)).FnNear)) + zRet = fts5PrintfAppend(tls, zRet, ts+44452 /* ", %d)" */, libc.VaList(bp+40, (*Fts5ExprNearset)(unsafe.Pointer(pNear)).FnNear)) if zRet == uintptr(0) { return uintptr(0) } @@ -224986,7 +224986,7 @@ func fts5ExprPrint(tls *libc.TLS, pConfig uintptr, pExpr uintptr) uintptr { /* s var e int32 = (*Fts5ExprNode)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer((pExpr + 48 /* &.apChild */) + uintptr(i)*8)))).FeType var b int32 = (libc.Bool32(((e != FTS5_STRING) && (e != FTS5_TERM)) && (e != FTS5_EOF))) zRet = fts5PrintfAppend(tls, zRet, ts+44464, /* "%s%s%z%s" */ - libc.VaList(bp+80, func() uintptr { + libc.VaList(bp+48, func() uintptr { if i == 0 { return ts + 915 /* "" */ } @@ -225016,32 +225016,32 @@ func fts5ExprPrint(tls *libc.TLS, pConfig uintptr, pExpr uintptr) uintptr { /* s // The implementation of user-defined scalar functions fts5_expr() (bTcl==0) // and fts5_expr_tcl() (bTcl!=0). func fts5ExprFunction(tls *libc.TLS, pCtx uintptr, nArg int32, apVal uintptr, bTcl int32) { /* sqlite3.c:220071:13: */ - bp := tls.Alloc(40) - defer tls.Free(40) + bp := tls.Alloc(32) + defer tls.Free(32) var pGlobal uintptr = Xsqlite3_user_data(tls, pCtx) var db uintptr = Xsqlite3_context_db_handle(tls, pCtx) var zExpr uintptr = uintptr(0) - *(*uintptr)(unsafe.Pointer(bp + 24 /* zErr */)) = uintptr(0) - *(*uintptr)(unsafe.Pointer(bp + 32 /* pExpr */)) = uintptr(0) + *(*uintptr)(unsafe.Pointer(bp + 16 /* zErr */)) = uintptr(0) + *(*uintptr)(unsafe.Pointer(bp + 24 /* pExpr */)) = uintptr(0) var rc int32 var i int32 var azConfig uintptr // Array of arguments for Fts5Config var zNearsetCmd uintptr = ts + 44473 /* "nearset" */ var nConfig int32 // Size of azConfig[] - *(*uintptr)(unsafe.Pointer(bp + 16 /* pConfig */)) = uintptr(0) + *(*uintptr)(unsafe.Pointer(bp + 8 /* pConfig */)) = uintptr(0) var iArg int32 = 1 if nArg < 1 { - *(*uintptr)(unsafe.Pointer(bp + 24 /* zErr */)) = Xsqlite3_mprintf(tls, ts+44481, /* "wrong number of ..." */ + *(*uintptr)(unsafe.Pointer(bp + 16 /* zErr */)) = Xsqlite3_mprintf(tls, ts+44481, /* "wrong number of ..." */ libc.VaList(bp, func() uintptr { if bTcl != 0 { return ts + 44522 /* "fts5_expr_tcl" */ } return ts + 44536 /* "fts5_expr" */ }())) - Xsqlite3_result_error(tls, pCtx, *(*uintptr)(unsafe.Pointer(bp + 24 /* zErr */)), -1) - Xsqlite3_free(tls, *(*uintptr)(unsafe.Pointer(bp + 24 /* zErr */))) + Xsqlite3_result_error(tls, pCtx, *(*uintptr)(unsafe.Pointer(bp + 16 /* zErr */)), -1) + Xsqlite3_free(tls, *(*uintptr)(unsafe.Pointer(bp + 16 /* zErr */))) return } @@ -225074,18 +225074,18 @@ func fts5ExprFunction(tls *libc.TLS, pCtx uintptr, nArg int32, apVal uintptr, bT zExpr = ts + 915 /* "" */ } - rc = sqlite3Fts5ConfigParse(tls, pGlobal, db, nConfig, azConfig, bp+16 /* &pConfig */, bp+24 /* &zErr */) + rc = sqlite3Fts5ConfigParse(tls, pGlobal, db, nConfig, azConfig, bp+8 /* &pConfig */, bp+16 /* &zErr */) if rc == SQLITE_OK { - rc = sqlite3Fts5ExprNew(tls, *(*uintptr)(unsafe.Pointer(bp + 16 /* pConfig */)), 0, (*Fts5Config)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp + 16 /* pConfig */)))).FnCol, zExpr, bp+32 /* &pExpr */, bp+24 /* &zErr */) + rc = sqlite3Fts5ExprNew(tls, *(*uintptr)(unsafe.Pointer(bp + 8 /* pConfig */)), 0, (*Fts5Config)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp + 8 /* pConfig */)))).FnCol, zExpr, bp+24 /* &pExpr */, bp+16 /* &zErr */) } if rc == SQLITE_OK { var zText uintptr - if (*Fts5ExprNode)(unsafe.Pointer((*Fts5Expr)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp + 32 /* pExpr */)))).FpRoot)).FxNext == uintptr(0) { + if (*Fts5ExprNode)(unsafe.Pointer((*Fts5Expr)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp + 24 /* pExpr */)))).FpRoot)).FxNext == uintptr(0) { zText = Xsqlite3_mprintf(tls, ts+915 /* "" */, 0) } else if bTcl != 0 { - zText = fts5ExprPrintTcl(tls, *(*uintptr)(unsafe.Pointer(bp + 16 /* pConfig */)), zNearsetCmd, (*Fts5Expr)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp + 32 /* pExpr */)))).FpRoot) + zText = fts5ExprPrintTcl(tls, *(*uintptr)(unsafe.Pointer(bp + 8 /* pConfig */)), zNearsetCmd, (*Fts5Expr)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp + 24 /* pExpr */)))).FpRoot) } else { - zText = fts5ExprPrint(tls, *(*uintptr)(unsafe.Pointer(bp + 16 /* pConfig */)), (*Fts5Expr)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp + 32 /* pExpr */)))).FpRoot) + zText = fts5ExprPrint(tls, *(*uintptr)(unsafe.Pointer(bp + 8 /* pConfig */)), (*Fts5Expr)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp + 24 /* pExpr */)))).FpRoot) } if zText == uintptr(0) { rc = SQLITE_NOMEM @@ -225096,16 +225096,16 @@ func fts5ExprFunction(tls *libc.TLS, pCtx uintptr, nArg int32, apVal uintptr, bT } if rc != SQLITE_OK { - if *(*uintptr)(unsafe.Pointer(bp + 24 /* zErr */)) != 0 { - Xsqlite3_result_error(tls, pCtx, *(*uintptr)(unsafe.Pointer(bp + 24 /* zErr */)), -1) - Xsqlite3_free(tls, *(*uintptr)(unsafe.Pointer(bp + 24 /* zErr */))) + if *(*uintptr)(unsafe.Pointer(bp + 16 /* zErr */)) != 0 { + Xsqlite3_result_error(tls, pCtx, *(*uintptr)(unsafe.Pointer(bp + 16 /* zErr */)), -1) + Xsqlite3_free(tls, *(*uintptr)(unsafe.Pointer(bp + 16 /* zErr */))) } else { Xsqlite3_result_error_code(tls, pCtx, rc) } } Xsqlite3_free(tls, azConfig) - sqlite3Fts5ConfigFree(tls, *(*uintptr)(unsafe.Pointer(bp + 16 /* pConfig */))) - sqlite3Fts5ExprFree(tls, *(*uintptr)(unsafe.Pointer(bp + 32 /* pExpr */))) + sqlite3Fts5ConfigFree(tls, *(*uintptr)(unsafe.Pointer(bp + 8 /* pConfig */))) + sqlite3Fts5ExprFree(tls, *(*uintptr)(unsafe.Pointer(bp + 24 /* pExpr */))) } func fts5ExprFunctionHr(tls *libc.TLS, pCtx uintptr, nArg int32, apVal uintptr) { /* sqlite3.c:220156:13: */ @@ -226665,8 +226665,8 @@ func fts5IndexPrepareStmt(tls *libc.TLS, p uintptr, ppStmt uintptr, zSql uintptr // INSERT OR REPLACE a record into the %_data table. func fts5DataWrite(tls *libc.TLS, p uintptr, iRowid I64, pData uintptr, nData int32) { /* sqlite3.c:221797:13: */ - bp := tls.Alloc(24) - defer tls.Free(24) + bp := tls.Alloc(16) + defer tls.Free(16) if (*Fts5Index)(unsafe.Pointer(p)).Frc != SQLITE_OK { return @@ -226693,8 +226693,8 @@ func fts5DataWrite(tls *libc.TLS, p uintptr, iRowid I64, pData uintptr, nData in // // DELETE FROM %_data WHERE id BETWEEN $iFirst AND $iLast func fts5DataDelete(tls *libc.TLS, p uintptr, iFirst I64, iLast I64) { /* sqlite3.c:221821:13: */ - bp := tls.Alloc(24) - defer tls.Free(24) + bp := tls.Alloc(16) + defer tls.Free(16) if (*Fts5Index)(unsafe.Pointer(p)).Frc != SQLITE_OK { return @@ -226718,8 +226718,8 @@ func fts5DataDelete(tls *libc.TLS, p uintptr, iFirst I64, iLast I64) { /* sqlite // Remove all records associated with segment iSegid. func fts5DataRemoveSegment(tls *libc.TLS, p uintptr, iSegid int32) { /* sqlite3.c:221842:13: */ - bp := tls.Alloc(24) - defer tls.Free(24) + bp := tls.Alloc(16) + defer tls.Free(16) var iFirst I64 = (((((I64(iSegid)) << ((FTS5_DATA_PAGE_B + FTS5_DATA_HEIGHT_B) + FTS5_DATA_DLI_B)) + (I64((int64(0))) << (FTS5_DATA_PAGE_B + FTS5_DATA_HEIGHT_B))) + (I64((int64(0))) << (FTS5_DATA_PAGE_B))) + (int64(0))) var iLast I64 = ((((((I64(iSegid + 1)) << ((FTS5_DATA_PAGE_B + FTS5_DATA_HEIGHT_B) + FTS5_DATA_DLI_B)) + (I64((int64(0))) << (FTS5_DATA_PAGE_B + FTS5_DATA_HEIGHT_B))) + (I64((int64(0))) << (FTS5_DATA_PAGE_B))) + (int64(0))) - int64(1)) @@ -226927,8 +226927,8 @@ func fts5StructureReadUncached(tls *libc.TLS, p uintptr) uintptr { /* sqlite3.c: } func fts5IndexDataVersion(tls *libc.TLS, p uintptr) I64 { /* sqlite3.c:222059:12: */ - bp := tls.Alloc(16) - defer tls.Free(16) + bp := tls.Alloc(8) + defer tls.Free(8) var iVersion I64 = int64(0) @@ -228363,8 +228363,8 @@ __31: } func fts5IdxSelectStmt(tls *libc.TLS, p uintptr) uintptr { /* sqlite3.c:223398:21: */ - bp := tls.Alloc(24) - defer tls.Free(24) + bp := tls.Alloc(16) + defer tls.Free(16) if (*Fts5Index)(unsafe.Pointer(p)).FpIdxSelect == uintptr(0) { var pConfig uintptr = (*Fts5Index)(unsafe.Pointer(p)).FpConfig @@ -229948,8 +229948,8 @@ func fts5WriteFinish(tls *libc.TLS, p uintptr, pWriter uintptr, pnLeaf uintptr) } func fts5WriteInit(tls *libc.TLS, p uintptr, pWriter uintptr, iSegid int32) { /* sqlite3.c:225137:13: */ - bp := tls.Alloc(24) - defer tls.Free(24) + bp := tls.Alloc(16) + defer tls.Free(16) var nBuffer int32 = ((*Fts5Config)(unsafe.Pointer((*Fts5Index)(unsafe.Pointer(p)).FpConfig)).Fpgsz + FTS5_DATA_PADDING) @@ -231196,36 +231196,36 @@ func sqlite3Fts5IndexReinit(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:22636 // If successful, set *pp to point to the new object and return SQLITE_OK. // Otherwise, set *pp to NULL and return an SQLite error code. func sqlite3Fts5IndexOpen(tls *libc.TLS, pConfig uintptr, bCreate int32, pp uintptr, pzErr uintptr) int32 { /* sqlite3.c:226378:12: */ - bp := tls.Alloc(20) - defer tls.Free(20) + bp := tls.Alloc(12) + defer tls.Free(12) - *(*int32)(unsafe.Pointer(bp + 16 /* rc */)) = SQLITE_OK + *(*int32)(unsafe.Pointer(bp + 8 /* rc */)) = SQLITE_OK var p uintptr // New object - *(*uintptr)(unsafe.Pointer(pp)) = libc.AssignUintptr(&p, sqlite3Fts5MallocZero(tls, bp+16 /* &rc */, int64(unsafe.Sizeof(Fts5Index{})))) - if *(*int32)(unsafe.Pointer(bp + 16 /* rc */)) == SQLITE_OK { + *(*uintptr)(unsafe.Pointer(pp)) = libc.AssignUintptr(&p, sqlite3Fts5MallocZero(tls, bp+8 /* &rc */, int64(unsafe.Sizeof(Fts5Index{})))) + if *(*int32)(unsafe.Pointer(bp + 8 /* rc */)) == SQLITE_OK { (*Fts5Index)(unsafe.Pointer(p)).FpConfig = pConfig (*Fts5Index)(unsafe.Pointer(p)).FnWorkUnit = FTS5_WORK_UNIT - (*Fts5Index)(unsafe.Pointer(p)).FzDataTbl = sqlite3Fts5Mprintf(tls, bp+16 /* &rc */, ts+44987 /* "%s_data" */, libc.VaList(bp, (*Fts5Config)(unsafe.Pointer(pConfig)).FzName)) + (*Fts5Index)(unsafe.Pointer(p)).FzDataTbl = sqlite3Fts5Mprintf(tls, bp+8 /* &rc */, ts+44987 /* "%s_data" */, libc.VaList(bp, (*Fts5Config)(unsafe.Pointer(pConfig)).FzName)) if ((*Fts5Index)(unsafe.Pointer(p)).FzDataTbl != 0) && (bCreate != 0) { - *(*int32)(unsafe.Pointer(bp + 16 /* rc */)) = sqlite3Fts5CreateTable(tls, + *(*int32)(unsafe.Pointer(bp + 8 /* rc */)) = sqlite3Fts5CreateTable(tls, pConfig, ts+34002 /* "data" */, ts+44995 /* "id INTEGER PRIMA..." */, 0, pzErr) - if *(*int32)(unsafe.Pointer(bp + 16 /* rc */)) == SQLITE_OK { - *(*int32)(unsafe.Pointer(bp + 16 /* rc */)) = sqlite3Fts5CreateTable(tls, pConfig, ts+18094, /* "idx" */ + if *(*int32)(unsafe.Pointer(bp + 8 /* rc */)) == SQLITE_OK { + *(*int32)(unsafe.Pointer(bp + 8 /* rc */)) = sqlite3Fts5CreateTable(tls, pConfig, ts+18094, /* "idx" */ ts+45030, /* "segid, term, pgn..." */ 1, pzErr) } - if *(*int32)(unsafe.Pointer(bp + 16 /* rc */)) == SQLITE_OK { - *(*int32)(unsafe.Pointer(bp + 16 /* rc */)) = sqlite3Fts5IndexReinit(tls, p) + if *(*int32)(unsafe.Pointer(bp + 8 /* rc */)) == SQLITE_OK { + *(*int32)(unsafe.Pointer(bp + 8 /* rc */)) = sqlite3Fts5IndexReinit(tls, p) } } } - if *(*int32)(unsafe.Pointer(bp + 16 /* rc */)) != 0 { + if *(*int32)(unsafe.Pointer(bp + 8 /* rc */)) != 0 { sqlite3Fts5IndexClose(tls, p) *(*uintptr)(unsafe.Pointer(pp)) = uintptr(0) } - return *(*int32)(unsafe.Pointer(bp + 16 /* rc */)) + return *(*int32)(unsafe.Pointer(bp + 8 /* rc */)) } // Close a handle opened by an earlier call to sqlite3Fts5IndexOpen(). @@ -231640,11 +231640,11 @@ func fts5IntegrityCheckPgidx(tls *libc.TLS, p uintptr, pLeaf uintptr) { /* sqlit } func fts5IndexIntegrityCheckSegment(tls *libc.TLS, p uintptr, pSeg uintptr) { /* sqlite3.c:227051:13: */ - bp := tls.Alloc(56) - defer tls.Free(56) + bp := tls.Alloc(48) + defer tls.Free(48) var pConfig uintptr = (*Fts5Index)(unsafe.Pointer(p)).FpConfig - *(*uintptr)(unsafe.Pointer(bp + 32 /* pStmt */)) = uintptr(0) + *(*uintptr)(unsafe.Pointer(bp + 24 /* pStmt */)) = uintptr(0) var rc2 int32 var iIdxPrevLeaf int32 = ((*Fts5StructureSegment)(unsafe.Pointer(pSeg)).FpgnoFirst - 1) var iDlidxPrevLeaf int32 = (*Fts5StructureSegment)(unsafe.Pointer(pSeg)).FpgnoLast @@ -231653,20 +231653,20 @@ func fts5IndexIntegrityCheckSegment(tls *libc.TLS, p uintptr, pSeg uintptr) { /* return } - fts5IndexPrepareStmt(tls, p, bp+32 /* &pStmt */, Xsqlite3_mprintf(tls, + fts5IndexPrepareStmt(tls, p, bp+24 /* &pStmt */, Xsqlite3_mprintf(tls, ts+45074, /* "SELECT segid, te..." */ libc.VaList(bp, (*Fts5Config)(unsafe.Pointer(pConfig)).FzDb, (*Fts5Config)(unsafe.Pointer(pConfig)).FzName, (*Fts5StructureSegment)(unsafe.Pointer(pSeg)).FiSegid))) // Iterate through the b-tree hierarchy. - for ((*Fts5Index)(unsafe.Pointer(p)).Frc == SQLITE_OK) && (SQLITE_ROW == Xsqlite3_step(tls, *(*uintptr)(unsafe.Pointer(bp + 32 /* pStmt */)))) { + for ((*Fts5Index)(unsafe.Pointer(p)).Frc == SQLITE_OK) && (SQLITE_ROW == Xsqlite3_step(tls, *(*uintptr)(unsafe.Pointer(bp + 24 /* pStmt */)))) { var iRow I64 // Rowid for this leaf var pLeaf uintptr // Data for this leaf - var zIdxTerm uintptr = Xsqlite3_column_blob(tls, *(*uintptr)(unsafe.Pointer(bp + 32 /* pStmt */)), 1) - var nIdxTerm int32 = Xsqlite3_column_bytes(tls, *(*uintptr)(unsafe.Pointer(bp + 32 /* pStmt */)), 1) - var iIdxLeaf int32 = Xsqlite3_column_int(tls, *(*uintptr)(unsafe.Pointer(bp + 32 /* pStmt */)), 2) - var bIdxDlidx int32 = Xsqlite3_column_int(tls, *(*uintptr)(unsafe.Pointer(bp + 32 /* pStmt */)), 3) + var zIdxTerm uintptr = Xsqlite3_column_blob(tls, *(*uintptr)(unsafe.Pointer(bp + 24 /* pStmt */)), 1) + var nIdxTerm int32 = Xsqlite3_column_bytes(tls, *(*uintptr)(unsafe.Pointer(bp + 24 /* pStmt */)), 1) + var iIdxLeaf int32 = Xsqlite3_column_int(tls, *(*uintptr)(unsafe.Pointer(bp + 24 /* pStmt */)), 2) + var bIdxDlidx int32 = Xsqlite3_column_int(tls, *(*uintptr)(unsafe.Pointer(bp + 24 /* pStmt */)), 3) // If the leaf in question has already been trimmed from the segment, // ignore this b-tree entry. Otherwise, load it into memory. @@ -231688,7 +231688,7 @@ func fts5IndexIntegrityCheckSegment(tls *libc.TLS, p uintptr, pSeg uintptr) { /* } else { var iOff int32 // Offset of first term on leaf var iRowidOff int32 // Offset of first rowid on leaf - // var nTerm int32 at bp+40, 4 + // var nTerm int32 at bp+32, 4 // Size of term on leaf in bytes var res int32 // Comparison of term and split-key @@ -231697,25 +231697,25 @@ func fts5IndexIntegrityCheckSegment(tls *libc.TLS, p uintptr, pSeg uintptr) { /* if (iRowidOff >= iOff) || (iOff >= (*Fts5Data)(unsafe.Pointer(pLeaf)).FszLeaf) { (*Fts5Index)(unsafe.Pointer(p)).Frc = (SQLITE_CORRUPT | (int32(1) << 8)) } else { - iOff = iOff + (sqlite3Fts5GetVarint32(tls, ((*Fts5Data)(unsafe.Pointer(pLeaf)).Fp + uintptr(iOff)), bp+40 /* &nTerm */)) + iOff = iOff + (sqlite3Fts5GetVarint32(tls, ((*Fts5Data)(unsafe.Pointer(pLeaf)).Fp + uintptr(iOff)), bp+32 /* &nTerm */)) res = func() int32 { if (func() int32 { - if (*(*int32)(unsafe.Pointer(bp + 40 /* nTerm */))) < (nIdxTerm) { - return *(*int32)(unsafe.Pointer(bp + 40 /* nTerm */)) + if (*(*int32)(unsafe.Pointer(bp + 32 /* nTerm */))) < (nIdxTerm) { + return *(*int32)(unsafe.Pointer(bp + 32 /* nTerm */)) } return nIdxTerm }()) == 0 { return 0 } return libc.Xmemcmp(tls, ((*Fts5Data)(unsafe.Pointer(pLeaf)).Fp + uintptr(iOff)), zIdxTerm, func() uint64 { - if (*(*int32)(unsafe.Pointer(bp + 40 /* nTerm */))) < (nIdxTerm) { - return uint64(*(*int32)(unsafe.Pointer(bp + 40 /* nTerm */))) + if (*(*int32)(unsafe.Pointer(bp + 32 /* nTerm */))) < (nIdxTerm) { + return uint64(*(*int32)(unsafe.Pointer(bp + 32 /* nTerm */))) } return uint64(nIdxTerm) }()) }() if res == 0 { - res = (*(*int32)(unsafe.Pointer(bp + 40 /* nTerm */)) - nIdxTerm) + res = (*(*int32)(unsafe.Pointer(bp + 32 /* nTerm */)) - nIdxTerm) } if res < 0 { (*Fts5Index)(unsafe.Pointer(p)).Frc = (SQLITE_CORRUPT | (int32(1) << 8)) @@ -231765,15 +231765,15 @@ func fts5IndexIntegrityCheckSegment(tls *libc.TLS, p uintptr, pSeg uintptr) { /* iKey = (((((I64(iSegid)) << ((FTS5_DATA_PAGE_B + FTS5_DATA_HEIGHT_B) + FTS5_DATA_DLI_B)) + (I64((int64(0))) << (FTS5_DATA_PAGE_B + FTS5_DATA_HEIGHT_B))) + (I64((int64(0))) << (FTS5_DATA_PAGE_B))) + (I64(iPrevLeaf))) pLeaf = fts5DataRead(tls, p, iKey) if pLeaf != 0 { - // var iRowid I64 at bp+48, 8 + // var iRowid I64 at bp+40, 8 var iRowidOff int32 = int32(fts5GetU16(tls, (*Fts5Data)(unsafe.Pointer(pLeaf)).Fp)) if iRowidOff >= (*Fts5Data)(unsafe.Pointer(pLeaf)).FszLeaf { (*Fts5Index)(unsafe.Pointer(p)).Frc = (SQLITE_CORRUPT | (int32(1) << 8)) } else { - sqlite3Fts5GetVarint(tls, ((*Fts5Data)(unsafe.Pointer(pLeaf)).Fp + uintptr(iRowidOff)), bp+48 /* &iRowid */) - if *(*I64)(unsafe.Pointer(bp + 48 /* iRowid */)) != fts5DlidxIterRowid(tls, pDlidx) { + sqlite3Fts5GetVarint(tls, ((*Fts5Data)(unsafe.Pointer(pLeaf)).Fp + uintptr(iRowidOff)), bp+40 /* &iRowid */) + if *(*I64)(unsafe.Pointer(bp + 40 /* iRowid */)) != fts5DlidxIterRowid(tls, pDlidx) { (*Fts5Index)(unsafe.Pointer(p)).Frc = (SQLITE_CORRUPT | (int32(1) << 8)) } } @@ -231792,7 +231792,7 @@ func fts5IndexIntegrityCheckSegment(tls *libc.TLS, p uintptr, pSeg uintptr) { /* iIdxPrevLeaf = iIdxLeaf } - rc2 = Xsqlite3_finalize(tls, *(*uintptr)(unsafe.Pointer(bp + 32 /* pStmt */))) + rc2 = Xsqlite3_finalize(tls, *(*uintptr)(unsafe.Pointer(bp + 24 /* pStmt */))) if (*Fts5Index)(unsafe.Pointer(p)).Frc == SQLITE_OK { (*Fts5Index)(unsafe.Pointer(p)).Frc = rc2 } @@ -231906,20 +231906,20 @@ func fts5DecodeRowid(tls *libc.TLS, iRowid I64, piSegid uintptr, pbDlidx uintptr } func fts5DebugRowid(tls *libc.TLS, pRc uintptr, pBuf uintptr, iKey I64) { /* sqlite3.c:227310:13: */ - bp := tls.Alloc(56) - defer tls.Free(56) + bp := tls.Alloc(48) + defer tls.Free(48) - // var iSegid int32 at bp+40, 4 + // var iSegid int32 at bp+32, 4 - // var iHeight int32 at bp+48, 4 + // var iHeight int32 at bp+40, 4 - // var iPgno int32 at bp+52, 4 + // var iPgno int32 at bp+44, 4 - // var bDlidx int32 at bp+44, 4 + // var bDlidx int32 at bp+36, 4 // Rowid compenents - fts5DecodeRowid(tls, iKey, bp+40 /* &iSegid */, bp+44 /* &bDlidx */, bp+48 /* &iHeight */, bp+52 /* &iPgno */) + fts5DecodeRowid(tls, iKey, bp+32 /* &iSegid */, bp+36 /* &bDlidx */, bp+40 /* &iHeight */, bp+44 /* &iPgno */) - if *(*int32)(unsafe.Pointer(bp + 40 /* iSegid */)) == 0 { + if *(*int32)(unsafe.Pointer(bp + 32 /* iSegid */)) == 0 { if iKey == int64(FTS5_AVERAGES_ROWID) { sqlite3Fts5BufferAppendPrintf(tls, pRc, pBuf, ts+45165 /* "{averages} " */, 0) } else { @@ -231928,17 +231928,17 @@ func fts5DebugRowid(tls *libc.TLS, pRc uintptr, pBuf uintptr, iKey I64) { /* sql } else { sqlite3Fts5BufferAppendPrintf(tls, pRc, pBuf, ts+45189, /* "{%ssegid=%d h=%d..." */ libc.VaList(bp, func() uintptr { - if *(*int32)(unsafe.Pointer(bp + 44 /* bDlidx */)) != 0 { + if *(*int32)(unsafe.Pointer(bp + 36 /* bDlidx */)) != 0 { return ts + 45215 /* "dlidx " */ } return ts + 915 /* "" */ - }(), *(*int32)(unsafe.Pointer(bp + 40 /* iSegid */)), *(*int32)(unsafe.Pointer(bp + 48 /* iHeight */)), *(*int32)(unsafe.Pointer(bp + 52 /* iPgno */)))) + }(), *(*int32)(unsafe.Pointer(bp + 32 /* iSegid */)), *(*int32)(unsafe.Pointer(bp + 40 /* iHeight */)), *(*int32)(unsafe.Pointer(bp + 44 /* iPgno */)))) } } func fts5DebugStructure(tls *libc.TLS, pRc uintptr, pBuf uintptr, p uintptr) { /* sqlite3.c:227330:13: */ - bp := tls.Alloc(64) - defer tls.Free(64) + bp := tls.Alloc(48) + defer tls.Free(48) var iLvl int32 var iSeg int32 // Iterate through levels, segments @@ -231950,7 +231950,7 @@ func fts5DebugStructure(tls *libc.TLS, pRc uintptr, pBuf uintptr, p uintptr) { / for iSeg = 0; iSeg < (*Fts5StructureLevel)(unsafe.Pointer(pLvl)).FnSeg; iSeg++ { var pSeg uintptr = ((*Fts5StructureLevel)(unsafe.Pointer(pLvl)).FaSeg + uintptr(iSeg)*12) sqlite3Fts5BufferAppendPrintf(tls, pRc, pBuf, ts+45249, /* " {id=%d leaves=%..." */ - libc.VaList(bp+32, (*Fts5StructureSegment)(unsafe.Pointer(pSeg)).FiSegid, (*Fts5StructureSegment)(unsafe.Pointer(pSeg)).FpgnoFirst, (*Fts5StructureSegment)(unsafe.Pointer(pSeg)).FpgnoLast)) + libc.VaList(bp+24, (*Fts5StructureSegment)(unsafe.Pointer(pSeg)).FiSegid, (*Fts5StructureSegment)(unsafe.Pointer(pSeg)).FpgnoFirst, (*Fts5StructureSegment)(unsafe.Pointer(pSeg)).FpgnoLast)) } sqlite3Fts5BufferAppendPrintf(tls, pRc, pBuf, ts+35610 /* "}" */, 0) } @@ -231984,17 +231984,17 @@ func fts5DecodeStructure(tls *libc.TLS, pRc uintptr, pBuf uintptr, pBlob uintptr // appends a human-readable representation of record to the buffer passed // as the second argument. func fts5DecodeAverages(tls *libc.TLS, pRc uintptr, pBuf uintptr, pBlob uintptr, nBlob int32) { /* sqlite3.c:227388:13: */ - bp := tls.Alloc(32) - defer tls.Free(32) + bp := tls.Alloc(24) + defer tls.Free(24) var i int32 = 0 var zSpace uintptr = ts + 915 /* "" */ for i < nBlob { - // var iVal U64 at bp+24, 8 + // var iVal U64 at bp+16, 8 - i = i + (int32(sqlite3Fts5GetVarint(tls, (pBlob + uintptr(i)), bp+24 /* &iVal */))) - sqlite3Fts5BufferAppendPrintf(tls, pRc, pBuf, ts+45272 /* "%s%d" */, libc.VaList(bp, zSpace, int32(*(*U64)(unsafe.Pointer(bp + 24 /* iVal */))))) + i = i + (int32(sqlite3Fts5GetVarint(tls, (pBlob + uintptr(i)), bp+16 /* &iVal */))) + sqlite3Fts5BufferAppendPrintf(tls, pRc, pBuf, ts+45272 /* "%s%d" */, libc.VaList(bp, zSpace, int32(*(*U64)(unsafe.Pointer(bp + 16 /* iVal */))))) zSpace = ts + 17503 /* " " */ } } @@ -232005,15 +232005,15 @@ func fts5DecodeAverages(tls *libc.TLS, pRc uintptr, pBuf uintptr, pBlob uintptr, // // The return value is the number of bytes read from the input buffer. func fts5DecodePoslist(tls *libc.TLS, pRc uintptr, pBuf uintptr, a uintptr, n int32) int32 { /* sqlite3.c:227413:12: */ - bp := tls.Alloc(20) - defer tls.Free(20) + bp := tls.Alloc(12) + defer tls.Free(12) var iOff int32 = 0 for iOff < n { - // var iVal int32 at bp+16, 4 + // var iVal int32 at bp+8, 4 - iOff = iOff + (sqlite3Fts5GetVarint32(tls, (a + uintptr(iOff)), bp+16 /* &iVal */)) - sqlite3Fts5BufferAppendPrintf(tls, pRc, pBuf, ts+44402 /* " %d" */, libc.VaList(bp, *(*int32)(unsafe.Pointer(bp + 16 /* iVal */)))) + iOff = iOff + (sqlite3Fts5GetVarint32(tls, (a + uintptr(iOff)), bp+8 /* &iVal */)) + sqlite3Fts5BufferAppendPrintf(tls, pRc, pBuf, ts+44402 /* " %d" */, libc.VaList(bp, *(*int32)(unsafe.Pointer(bp + 8 /* iVal */)))) } return iOff } @@ -232025,40 +232025,40 @@ func fts5DecodePoslist(tls *libc.TLS, pRc uintptr, pBuf uintptr, a uintptr, n in // // The return value is the number of bytes read from the input buffer. func fts5DecodeDoclist(tls *libc.TLS, pRc uintptr, pBuf uintptr, a uintptr, n int32) int32 { /* sqlite3.c:227433:12: */ - bp := tls.Alloc(80) - defer tls.Free(80) + bp := tls.Alloc(56) + defer tls.Free(56) - *(*I64)(unsafe.Pointer(bp + 56 /* iDocid */)) = int64(0) + *(*I64)(unsafe.Pointer(bp + 32 /* iDocid */)) = int64(0) var iOff int32 = 0 if n > 0 { - iOff = int32(sqlite3Fts5GetVarint(tls, a, bp+56 /* &iDocid */)) - sqlite3Fts5BufferAppendPrintf(tls, pRc, pBuf, ts+45277 /* " id=%lld" */, libc.VaList(bp, *(*I64)(unsafe.Pointer(bp + 56 /* iDocid */)))) + iOff = int32(sqlite3Fts5GetVarint(tls, a, bp+32 /* &iDocid */)) + sqlite3Fts5BufferAppendPrintf(tls, pRc, pBuf, ts+45277 /* " id=%lld" */, libc.VaList(bp, *(*I64)(unsafe.Pointer(bp + 32 /* iDocid */)))) } for iOff < n { - // var nPos int32 at bp+64, 4 + // var nPos int32 at bp+40, 4 - // var bDel int32 at bp+68, 4 + // var bDel int32 at bp+44, 4 - iOff = iOff + (fts5GetPoslistSize(tls, (a + uintptr(iOff)), bp+64 /* &nPos */, bp+68 /* &bDel */)) - sqlite3Fts5BufferAppendPrintf(tls, pRc, pBuf, ts+45286 /* " nPos=%d%s" */, libc.VaList(bp+16, *(*int32)(unsafe.Pointer(bp + 64 /* nPos */)), func() uintptr { - if *(*int32)(unsafe.Pointer(bp + 68 /* bDel */)) != 0 { + iOff = iOff + (fts5GetPoslistSize(tls, (a + uintptr(iOff)), bp+40 /* &nPos */, bp+44 /* &bDel */)) + sqlite3Fts5BufferAppendPrintf(tls, pRc, pBuf, ts+45286 /* " nPos=%d%s" */, libc.VaList(bp+8, *(*int32)(unsafe.Pointer(bp + 40 /* nPos */)), func() uintptr { + if *(*int32)(unsafe.Pointer(bp + 44 /* bDel */)) != 0 { return ts + 26175 /* "*" */ } return ts + 915 /* "" */ }())) iOff = iOff + (fts5DecodePoslist(tls, pRc, pBuf, (a + uintptr(iOff)), func() int32 { - if (n - iOff) < (*(*int32)(unsafe.Pointer(bp + 64 /* nPos */))) { + if (n - iOff) < (*(*int32)(unsafe.Pointer(bp + 40 /* nPos */))) { return (n - iOff) } - return *(*int32)(unsafe.Pointer(bp + 64 /* nPos */)) + return *(*int32)(unsafe.Pointer(bp + 40 /* nPos */)) }())) if iOff < n { - // var iDelta I64 at bp+72, 8 + // var iDelta I64 at bp+48, 8 - iOff = iOff + (int32(sqlite3Fts5GetVarint(tls, (a + uintptr(iOff)), bp+72 /* &iDelta */))) - *(*I64)(unsafe.Pointer(bp + 56 /* iDocid */)) += *(*I64)(unsafe.Pointer(bp + 72 /* iDelta */)) - sqlite3Fts5BufferAppendPrintf(tls, pRc, pBuf, ts+45277 /* " id=%lld" */, libc.VaList(bp+40, *(*I64)(unsafe.Pointer(bp + 56 /* iDocid */)))) + iOff = iOff + (int32(sqlite3Fts5GetVarint(tls, (a + uintptr(iOff)), bp+48 /* &iDelta */))) + *(*I64)(unsafe.Pointer(bp + 32 /* iDocid */)) += *(*I64)(unsafe.Pointer(bp + 48 /* iDelta */)) + sqlite3Fts5BufferAppendPrintf(tls, pRc, pBuf, ts+45277 /* " id=%lld" */, libc.VaList(bp+24, *(*I64)(unsafe.Pointer(bp + 32 /* iDocid */)))) } } @@ -232077,18 +232077,18 @@ func fts5DecodeDoclist(tls *libc.TLS, pRc uintptr, pBuf uintptr, a uintptr, n in // set to an SQLite error code before returning. The final state of buffer // pBuf is undefined in this case. func fts5DecodeRowidList(tls *libc.TLS, pRc uintptr, pBuf uintptr, pData uintptr, nData int32) { /* sqlite3.c:227473:13: */ - bp := tls.Alloc(32) - defer tls.Free(32) + bp := tls.Alloc(24) + defer tls.Free(24) var i int32 = 0 var iRowid I64 = int64(0) for i < nData { var zApp uintptr = ts + 915 /* "" */ - // var iVal U64 at bp+24, 8 + // var iVal U64 at bp+16, 8 - i = i + (int32(sqlite3Fts5GetVarint(tls, (pData + uintptr(i)), bp+24 /* &iVal */))) - iRowid = I64(U64(iRowid) + (*(*U64)(unsafe.Pointer(bp + 24 /* iVal */)))) + i = i + (int32(sqlite3Fts5GetVarint(tls, (pData + uintptr(i)), bp+16 /* &iVal */))) + iRowid = I64(U64(iRowid) + (*(*U64)(unsafe.Pointer(bp + 16 /* iVal */)))) if (i < nData) && (int32(*(*U8)(unsafe.Pointer(pData + uintptr(i)))) == 0x00) { i++ @@ -232106,65 +232106,65 @@ func fts5DecodeRowidList(tls *libc.TLS, pRc uintptr, pBuf uintptr, pData uintptr // The implementation of user-defined scalar function fts5_decode(). func fts5DecodeFunction(tls *libc.TLS, pCtx uintptr, nArg int32, apVal uintptr) { /* sqlite3.c:227506:13: */ - bp := tls.Alloc(216) - defer tls.Free(216) + bp := tls.Alloc(192) + defer tls.Free(192) var iRowid I64 // Rowid for record being decoded - // var iSegid int32 at bp+92, 4 + // var iSegid int32 at bp+68, 4 - // var iHeight int32 at bp+100, 4 + // var iHeight int32 at bp+76, 4 - // var iPgno int32 at bp+104, 4 + // var iPgno int32 at bp+80, 4 - // var bDlidx int32 at bp+96, 4 + // var bDlidx int32 at bp+72, 4 // Rowid components var aBlob uintptr var n int32 // Record to decode var a uintptr - // var s Fts5Buffer at bp+72, 16 + // var s Fts5Buffer at bp+48, 16 // Build up text to return here - // var rc int32 at bp+88, 4 + // var rc int32 at bp+64, 4 // Return code var nSpace Sqlite3_int64 var eDetailNone int32 - // var dlidx Fts5Data at bp+144, 16 + // var dlidx Fts5Data at bp+120, 16 - // var lvl Fts5DlidxLvl at bp+112, 32 + // var lvl Fts5DlidxLvl at bp+88, 32 - // var nIncr int32 at bp+184, 4 + // var nIncr int32 at bp+160, 4 - // var nAppend int32 at bp+180, 4 + // var nAppend int32 at bp+156, 4 - // var term Fts5Buffer at bp+160, 16 + // var term Fts5Buffer at bp+136, 16 // Current term read from page var szLeaf int32 var iPgidxOff int32 - // var iTermOff int32 at bp+176, 4 + // var iTermOff int32 at bp+152, 4 - // var nKeep int32 at bp+188, 4 + // var nKeep int32 at bp+164, 4 var iOff int32 var bFirst int32 // True for first term on page - // var nByte int32 at bp+212, 4 + // var nByte int32 at bp+188, 4 // Bytes of data var iEnd int32 - // var term1 Fts5Buffer at bp+192, 16 + // var term1 Fts5Buffer at bp+168, 16 // Current term read from page var szLeaf1 int32 // Offset of pgidx in a[] var iPgidxOff1 int32 var iPgidxPrev int32 // Previous value read from pgidx - // var iTermOff1 int32 at bp+208, 4 + // var iTermOff1 int32 at bp+184, 4 var iRowidOff int32 var iOff1 int32 var nDoclist int32 a = uintptr(0) - *(*int32)(unsafe.Pointer(bp + 88 /* rc */)) = SQLITE_OK + *(*int32)(unsafe.Pointer(bp + 64 /* rc */)) = SQLITE_OK nSpace = int64(0) eDetailNone = (libc.Bool32(Xsqlite3_user_data(tls, pCtx) != uintptr(0))) _ = nArg - libc.Xmemset(tls, bp+72 /* &s */, 0, uint64(unsafe.Sizeof(Fts5Buffer{}))) + libc.Xmemset(tls, bp+48 /* &s */, 0, uint64(unsafe.Sizeof(Fts5Buffer{}))) iRowid = Xsqlite3_value_int64(tls, *(*uintptr)(unsafe.Pointer(apVal))) // Make a copy of the second argument (a blob) in aBlob[]. The aBlob[] @@ -232173,7 +232173,7 @@ func fts5DecodeFunction(tls *libc.TLS, pCtx uintptr, nArg int32, apVal uintptr) n = Xsqlite3_value_bytes(tls, *(*uintptr)(unsafe.Pointer(apVal + 1*8))) aBlob = Xsqlite3_value_blob(tls, *(*uintptr)(unsafe.Pointer(apVal + 1*8))) nSpace = (Sqlite3_int64(n + FTS5_DATA_ZERO_PADDING)) - a = sqlite3Fts5MallocZero(tls, bp+88 /* &rc */, nSpace) + a = sqlite3Fts5MallocZero(tls, bp+64 /* &rc */, nSpace) if !(a == uintptr(0)) { goto __1 } @@ -232187,46 +232187,46 @@ __1: __2: ; - fts5DecodeRowid(tls, iRowid, bp+92 /* &iSegid */, bp+96 /* &bDlidx */, bp+100 /* &iHeight */, bp+104 /* &iPgno */) + fts5DecodeRowid(tls, iRowid, bp+68 /* &iSegid */, bp+72 /* &bDlidx */, bp+76 /* &iHeight */, bp+80 /* &iPgno */) - fts5DebugRowid(tls, bp+88 /* &rc */, bp+72 /* &s */, iRowid) - if !(*(*int32)(unsafe.Pointer(bp + 96 /* bDlidx */)) != 0) { + fts5DebugRowid(tls, bp+64 /* &rc */, bp+48 /* &s */, iRowid) + if !(*(*int32)(unsafe.Pointer(bp + 72 /* bDlidx */)) != 0) { goto __3 } - (*Fts5Data)(unsafe.Pointer(bp + 144 /* &dlidx */)).Fp = a - (*Fts5Data)(unsafe.Pointer(bp + 144 /* &dlidx */)).Fnn = n + (*Fts5Data)(unsafe.Pointer(bp + 120 /* &dlidx */)).Fp = a + (*Fts5Data)(unsafe.Pointer(bp + 120 /* &dlidx */)).Fnn = n - libc.Xmemset(tls, bp+112 /* &lvl */, 0, uint64(unsafe.Sizeof(Fts5DlidxLvl{}))) - (*Fts5DlidxLvl)(unsafe.Pointer(bp + 112 /* &lvl */)).FpData = bp + 144 /* &dlidx */ - (*Fts5DlidxLvl)(unsafe.Pointer(bp + 112 /* &lvl */)).FiLeafPgno = *(*int32)(unsafe.Pointer(bp + 104 /* iPgno */)) + libc.Xmemset(tls, bp+88 /* &lvl */, 0, uint64(unsafe.Sizeof(Fts5DlidxLvl{}))) + (*Fts5DlidxLvl)(unsafe.Pointer(bp + 88 /* &lvl */)).FpData = bp + 120 /* &dlidx */ + (*Fts5DlidxLvl)(unsafe.Pointer(bp + 88 /* &lvl */)).FiLeafPgno = *(*int32)(unsafe.Pointer(bp + 80 /* iPgno */)) - fts5DlidxLvlNext(tls, bp+112 /* &lvl */) + fts5DlidxLvlNext(tls, bp+88 /* &lvl */) __5: - if !((*Fts5DlidxLvl)(unsafe.Pointer(bp+112 /* &lvl */)).FbEof == 0) { + if !((*Fts5DlidxLvl)(unsafe.Pointer(bp+88 /* &lvl */)).FbEof == 0) { goto __7 } - sqlite3Fts5BufferAppendPrintf(tls, bp+88 /* &rc */, bp+72, /* &s */ - ts+45307 /* " %d(%lld)" */, libc.VaList(bp, (*Fts5DlidxLvl)(unsafe.Pointer(bp+112 /* &lvl */)).FiLeafPgno, (*Fts5DlidxLvl)(unsafe.Pointer(bp+112 /* &lvl */)).FiRowid)) + sqlite3Fts5BufferAppendPrintf(tls, bp+64 /* &rc */, bp+48, /* &s */ + ts+45307 /* " %d(%lld)" */, libc.VaList(bp, (*Fts5DlidxLvl)(unsafe.Pointer(bp+88 /* &lvl */)).FiLeafPgno, (*Fts5DlidxLvl)(unsafe.Pointer(bp+88 /* &lvl */)).FiRowid)) goto __6 __6: - fts5DlidxLvlNext(tls, bp+112 /* &lvl */) + fts5DlidxLvlNext(tls, bp+88 /* &lvl */) goto __5 goto __7 __7: ; goto __4 __3: - if !(*(*int32)(unsafe.Pointer(bp + 92 /* iSegid */)) == 0) { + if !(*(*int32)(unsafe.Pointer(bp + 68 /* iSegid */)) == 0) { goto __8 } if !(iRowid == int64(FTS5_AVERAGES_ROWID)) { goto __10 } - fts5DecodeAverages(tls, bp+88 /* &rc */, bp+72 /* &s */, a, n) + fts5DecodeAverages(tls, bp+64 /* &rc */, bp+48 /* &s */, a, n) goto __11 __10: - fts5DecodeStructure(tls, bp+88 /* &rc */, bp+72 /* &s */, a, n) + fts5DecodeStructure(tls, bp+64 /* &rc */, bp+48 /* &s */, a, n) __11: ; goto __9 @@ -232235,73 +232235,73 @@ __8: goto __12 } iPgidxOff = libc.AssignInt32(&szLeaf, int32(fts5GetU16(tls, (a+2)))) - *(*int32)(unsafe.Pointer(bp + 188 /* nKeep */)) = 0 + *(*int32)(unsafe.Pointer(bp + 164 /* nKeep */)) = 0 - libc.Xmemset(tls, bp+160 /* &term */, 0, uint64(unsafe.Sizeof(Fts5Buffer{}))) + libc.Xmemset(tls, bp+136 /* &term */, 0, uint64(unsafe.Sizeof(Fts5Buffer{}))) // Decode any entries that occur before the first term. if !(szLeaf < n) { goto __14 } - iPgidxOff = iPgidxOff + (sqlite3Fts5GetVarint32(tls, (a + uintptr(iPgidxOff)), bp+176 /* &iTermOff */)) + iPgidxOff = iPgidxOff + (sqlite3Fts5GetVarint32(tls, (a + uintptr(iPgidxOff)), bp+152 /* &iTermOff */)) goto __15 __14: - *(*int32)(unsafe.Pointer(bp + 176 /* iTermOff */)) = szLeaf + *(*int32)(unsafe.Pointer(bp + 152 /* iTermOff */)) = szLeaf __15: ; - fts5DecodeRowidList(tls, bp+88 /* &rc */, bp+72 /* &s */, (a + 4), (*(*int32)(unsafe.Pointer(bp + 176 /* iTermOff */)) - 4)) + fts5DecodeRowidList(tls, bp+64 /* &rc */, bp+48 /* &s */, (a + 4), (*(*int32)(unsafe.Pointer(bp + 152 /* iTermOff */)) - 4)) - iOff = *(*int32)(unsafe.Pointer(bp + 176 /* iTermOff */)) + iOff = *(*int32)(unsafe.Pointer(bp + 152 /* iTermOff */)) __16: if !(iOff < szLeaf) { goto __17 } // Read the term data for the next term - iOff = iOff + (sqlite3Fts5GetVarint32(tls, (a + uintptr(iOff)), bp+180 /* &nAppend */)) - (*Fts5Buffer)(unsafe.Pointer(bp + 160 /* &term */)).Fn = *(*int32)(unsafe.Pointer(bp + 188 /* nKeep */)) - sqlite3Fts5BufferAppendBlob(tls, bp+88 /* &rc */, bp+160 /* &term */, uint32(*(*int32)(unsafe.Pointer(bp + 180 /* nAppend */))), (a + uintptr(iOff))) + iOff = iOff + (sqlite3Fts5GetVarint32(tls, (a + uintptr(iOff)), bp+156 /* &nAppend */)) + (*Fts5Buffer)(unsafe.Pointer(bp + 136 /* &term */)).Fn = *(*int32)(unsafe.Pointer(bp + 164 /* nKeep */)) + sqlite3Fts5BufferAppendBlob(tls, bp+64 /* &rc */, bp+136 /* &term */, uint32(*(*int32)(unsafe.Pointer(bp + 156 /* nAppend */))), (a + uintptr(iOff))) sqlite3Fts5BufferAppendPrintf(tls, - bp+88 /* &rc */, bp+72 /* &s */, ts+45317 /* " term=%.*s" */, libc.VaList(bp+24, (*Fts5Buffer)(unsafe.Pointer(bp+160 /* &term */)).Fn, (*Fts5Buffer)(unsafe.Pointer(bp+160 /* &term */)).Fp)) - iOff = iOff + (*(*int32)(unsafe.Pointer(bp + 180 /* nAppend */))) + bp+64 /* &rc */, bp+48 /* &s */, ts+45317 /* " term=%.*s" */, libc.VaList(bp+16, (*Fts5Buffer)(unsafe.Pointer(bp+136 /* &term */)).Fn, (*Fts5Buffer)(unsafe.Pointer(bp+136 /* &term */)).Fp)) + iOff = iOff + (*(*int32)(unsafe.Pointer(bp + 156 /* nAppend */))) // Figure out where the doclist for this term ends if !(iPgidxOff < n) { goto __18 } - iPgidxOff = iPgidxOff + (sqlite3Fts5GetVarint32(tls, (a + uintptr(iPgidxOff)), bp+184 /* &nIncr */)) - *(*int32)(unsafe.Pointer(bp + 176 /* iTermOff */)) += *(*int32)(unsafe.Pointer(bp + 184 /* nIncr */)) + iPgidxOff = iPgidxOff + (sqlite3Fts5GetVarint32(tls, (a + uintptr(iPgidxOff)), bp+160 /* &nIncr */)) + *(*int32)(unsafe.Pointer(bp + 152 /* iTermOff */)) += *(*int32)(unsafe.Pointer(bp + 160 /* nIncr */)) goto __19 __18: - *(*int32)(unsafe.Pointer(bp + 176 /* iTermOff */)) = szLeaf + *(*int32)(unsafe.Pointer(bp + 152 /* iTermOff */)) = szLeaf __19: ; - fts5DecodeRowidList(tls, bp+88 /* &rc */, bp+72 /* &s */, (a + uintptr(iOff)), (*(*int32)(unsafe.Pointer(bp + 176 /* iTermOff */)) - iOff)) - iOff = *(*int32)(unsafe.Pointer(bp + 176 /* iTermOff */)) + fts5DecodeRowidList(tls, bp+64 /* &rc */, bp+48 /* &s */, (a + uintptr(iOff)), (*(*int32)(unsafe.Pointer(bp + 152 /* iTermOff */)) - iOff)) + iOff = *(*int32)(unsafe.Pointer(bp + 152 /* iTermOff */)) if !(iOff < szLeaf) { goto __20 } - iOff = iOff + (sqlite3Fts5GetVarint32(tls, (a + uintptr(iOff)), bp+188 /* &nKeep */)) + iOff = iOff + (sqlite3Fts5GetVarint32(tls, (a + uintptr(iOff)), bp+164 /* &nKeep */)) __20: ; goto __16 __17: ; - sqlite3Fts5BufferFree(tls, bp+160 /* &term */) + sqlite3Fts5BufferFree(tls, bp+136 /* &term */) goto __13 __12: iPgidxPrev = 0 // Previous value read from pgidx - *(*int32)(unsafe.Pointer(bp + 208 /* iTermOff1 */)) = 0 + *(*int32)(unsafe.Pointer(bp + 184 /* iTermOff1 */)) = 0 iRowidOff = 0 - libc.Xmemset(tls, bp+192 /* &term1 */, 0, uint64(unsafe.Sizeof(Fts5Buffer{}))) + libc.Xmemset(tls, bp+168 /* &term1 */, 0, uint64(unsafe.Sizeof(Fts5Buffer{}))) if !(n < 4) { goto __21 } - sqlite3Fts5BufferSet(tls, bp+88 /* &rc */, bp+72 /* &s */, 7, ts+45328 /* "corrupt" */) + sqlite3Fts5BufferSet(tls, bp+64 /* &rc */, bp+48 /* &s */, 7, ts+45328 /* "corrupt" */) goto decode_out goto __22 __21: @@ -232310,13 +232310,13 @@ __21: if !(iPgidxOff1 < n) { goto __23 } - sqlite3Fts5GetVarint32(tls, (a + uintptr(iPgidxOff1)), bp+208 /* &iTermOff1 */) + sqlite3Fts5GetVarint32(tls, (a + uintptr(iPgidxOff1)), bp+184 /* &iTermOff1 */) goto __24 __23: if !(iPgidxOff1 > n) { goto __25 } - *(*int32)(unsafe.Pointer(bp + 88 /* rc */)) = (SQLITE_CORRUPT | (int32(1) << 8)) + *(*int32)(unsafe.Pointer(bp + 64 /* rc */)) = (SQLITE_CORRUPT | (int32(1) << 8)) goto decode_out __25: ; @@ -232332,10 +232332,10 @@ __22: iOff1 = iRowidOff goto __27 __26: - if !(*(*int32)(unsafe.Pointer(bp + 208 /* iTermOff1 */)) != 0) { + if !(*(*int32)(unsafe.Pointer(bp + 184 /* iTermOff1 */)) != 0) { goto __28 } - iOff1 = *(*int32)(unsafe.Pointer(bp + 208 /* iTermOff1 */)) + iOff1 = *(*int32)(unsafe.Pointer(bp + 184 /* iTermOff1 */)) goto __29 __28: iOff1 = szLeaf1 @@ -232346,44 +232346,44 @@ __27: if !(iOff1 > n) { goto __30 } - *(*int32)(unsafe.Pointer(bp + 88 /* rc */)) = (SQLITE_CORRUPT | (int32(1) << 8)) + *(*int32)(unsafe.Pointer(bp + 64 /* rc */)) = (SQLITE_CORRUPT | (int32(1) << 8)) goto decode_out __30: ; - fts5DecodePoslist(tls, bp+88 /* &rc */, bp+72 /* &s */, (a + 4), (iOff1 - 4)) + fts5DecodePoslist(tls, bp+64 /* &rc */, bp+48 /* &s */, (a + 4), (iOff1 - 4)) // Decode any more doclist data that appears on the page before the // first term. nDoclist = ((func() int32 { - if *(*int32)(unsafe.Pointer(bp + 208 /* iTermOff1 */)) != 0 { - return *(*int32)(unsafe.Pointer(bp + 208 /* iTermOff1 */)) + if *(*int32)(unsafe.Pointer(bp + 184 /* iTermOff1 */)) != 0 { + return *(*int32)(unsafe.Pointer(bp + 184 /* iTermOff1 */)) } return szLeaf1 }()) - iOff1) if !((nDoclist + iOff1) > n) { goto __31 } - *(*int32)(unsafe.Pointer(bp + 88 /* rc */)) = (SQLITE_CORRUPT | (int32(1) << 8)) + *(*int32)(unsafe.Pointer(bp + 64 /* rc */)) = (SQLITE_CORRUPT | (int32(1) << 8)) goto decode_out __31: ; - fts5DecodeDoclist(tls, bp+88 /* &rc */, bp+72 /* &s */, (a + uintptr(iOff1)), nDoclist) + fts5DecodeDoclist(tls, bp+64 /* &rc */, bp+48 /* &s */, (a + uintptr(iOff1)), nDoclist) __32: - if !((iPgidxOff1 < n) && (*(*int32)(unsafe.Pointer(bp + 88 /* rc */)) == SQLITE_OK)) { + if !((iPgidxOff1 < n) && (*(*int32)(unsafe.Pointer(bp + 64 /* rc */)) == SQLITE_OK)) { goto __33 } bFirst = (libc.Bool32(iPgidxOff1 == szLeaf1)) - iPgidxOff1 = iPgidxOff1 + (sqlite3Fts5GetVarint32(tls, (a + uintptr(iPgidxOff1)), bp+212 /* &nByte */)) - iPgidxPrev = iPgidxPrev + (*(*int32)(unsafe.Pointer(bp + 212 /* nByte */))) + iPgidxOff1 = iPgidxOff1 + (sqlite3Fts5GetVarint32(tls, (a + uintptr(iPgidxOff1)), bp+188 /* &nByte */)) + iPgidxPrev = iPgidxPrev + (*(*int32)(unsafe.Pointer(bp + 188 /* nByte */))) iOff1 = iPgidxPrev if !(iPgidxOff1 < n) { goto __34 } - sqlite3Fts5GetVarint32(tls, (a + uintptr(iPgidxOff1)), bp+212 /* &nByte */) - iEnd = (iPgidxPrev + *(*int32)(unsafe.Pointer(bp + 212 /* nByte */))) + sqlite3Fts5GetVarint32(tls, (a + uintptr(iPgidxOff1)), bp+188 /* &nByte */) + iEnd = (iPgidxPrev + *(*int32)(unsafe.Pointer(bp + 188 /* nByte */))) goto __35 __34: iEnd = szLeaf1 @@ -232392,7 +232392,7 @@ __35: if !(iEnd > szLeaf1) { goto __36 } - *(*int32)(unsafe.Pointer(bp + 88 /* rc */)) = (SQLITE_CORRUPT | (int32(1) << 8)) + *(*int32)(unsafe.Pointer(bp + 64 /* rc */)) = (SQLITE_CORRUPT | (int32(1) << 8)) goto __33 __36: ; @@ -232400,36 +232400,36 @@ __36: if !(bFirst == 0) { goto __37 } - iOff1 = iOff1 + (sqlite3Fts5GetVarint32(tls, (a + uintptr(iOff1)), bp+212 /* &nByte */)) - if !(*(*int32)(unsafe.Pointer(bp + 212 /* nByte */)) > (*Fts5Buffer)(unsafe.Pointer(bp+192 /* &term1 */)).Fn) { + iOff1 = iOff1 + (sqlite3Fts5GetVarint32(tls, (a + uintptr(iOff1)), bp+188 /* &nByte */)) + if !(*(*int32)(unsafe.Pointer(bp + 188 /* nByte */)) > (*Fts5Buffer)(unsafe.Pointer(bp+168 /* &term1 */)).Fn) { goto __38 } - *(*int32)(unsafe.Pointer(bp + 88 /* rc */)) = (SQLITE_CORRUPT | (int32(1) << 8)) + *(*int32)(unsafe.Pointer(bp + 64 /* rc */)) = (SQLITE_CORRUPT | (int32(1) << 8)) goto __33 __38: ; - (*Fts5Buffer)(unsafe.Pointer(bp + 192 /* &term1 */)).Fn = *(*int32)(unsafe.Pointer(bp + 212 /* nByte */)) + (*Fts5Buffer)(unsafe.Pointer(bp + 168 /* &term1 */)).Fn = *(*int32)(unsafe.Pointer(bp + 188 /* nByte */)) __37: ; - iOff1 = iOff1 + (sqlite3Fts5GetVarint32(tls, (a + uintptr(iOff1)), bp+212 /* &nByte */)) - if !((iOff1 + *(*int32)(unsafe.Pointer(bp + 212 /* nByte */))) > n) { + iOff1 = iOff1 + (sqlite3Fts5GetVarint32(tls, (a + uintptr(iOff1)), bp+188 /* &nByte */)) + if !((iOff1 + *(*int32)(unsafe.Pointer(bp + 188 /* nByte */))) > n) { goto __39 } - *(*int32)(unsafe.Pointer(bp + 88 /* rc */)) = (SQLITE_CORRUPT | (int32(1) << 8)) + *(*int32)(unsafe.Pointer(bp + 64 /* rc */)) = (SQLITE_CORRUPT | (int32(1) << 8)) goto __33 __39: ; - sqlite3Fts5BufferAppendBlob(tls, bp+88 /* &rc */, bp+192 /* &term1 */, uint32(*(*int32)(unsafe.Pointer(bp + 212 /* nByte */))), (a + uintptr(iOff1))) - iOff1 = iOff1 + (*(*int32)(unsafe.Pointer(bp + 212 /* nByte */))) + sqlite3Fts5BufferAppendBlob(tls, bp+64 /* &rc */, bp+168 /* &term1 */, uint32(*(*int32)(unsafe.Pointer(bp + 188 /* nByte */))), (a + uintptr(iOff1))) + iOff1 = iOff1 + (*(*int32)(unsafe.Pointer(bp + 188 /* nByte */))) sqlite3Fts5BufferAppendPrintf(tls, - bp+88 /* &rc */, bp+72 /* &s */, ts+45317 /* " term=%.*s" */, libc.VaList(bp+48, (*Fts5Buffer)(unsafe.Pointer(bp+192 /* &term1 */)).Fn, (*Fts5Buffer)(unsafe.Pointer(bp+192 /* &term1 */)).Fp)) - iOff1 = iOff1 + (fts5DecodeDoclist(tls, bp+88 /* &rc */, bp+72 /* &s */, (a + uintptr(iOff1)), (iEnd - iOff1))) + bp+64 /* &rc */, bp+48 /* &s */, ts+45317 /* " term=%.*s" */, libc.VaList(bp+32, (*Fts5Buffer)(unsafe.Pointer(bp+168 /* &term1 */)).Fn, (*Fts5Buffer)(unsafe.Pointer(bp+168 /* &term1 */)).Fp)) + iOff1 = iOff1 + (fts5DecodeDoclist(tls, bp+64 /* &rc */, bp+48 /* &s */, (a + uintptr(iOff1)), (iEnd - iOff1))) goto __32 __33: ; - sqlite3Fts5BufferFree(tls, bp+192 /* &term1 */) + sqlite3Fts5BufferFree(tls, bp+168 /* &term1 */) __13: ; __9: @@ -232439,16 +232439,16 @@ __4: decode_out: Xsqlite3_free(tls, a) - if !(*(*int32)(unsafe.Pointer(bp + 88 /* rc */)) == SQLITE_OK) { + if !(*(*int32)(unsafe.Pointer(bp + 64 /* rc */)) == SQLITE_OK) { goto __40 } - Xsqlite3_result_text(tls, pCtx, (*Fts5Buffer)(unsafe.Pointer(bp+72 /* &s */)).Fp, (*Fts5Buffer)(unsafe.Pointer(bp+72 /* &s */)).Fn, libc.UintptrFromInt32(-1)) + Xsqlite3_result_text(tls, pCtx, (*Fts5Buffer)(unsafe.Pointer(bp+48 /* &s */)).Fp, (*Fts5Buffer)(unsafe.Pointer(bp+48 /* &s */)).Fn, libc.UintptrFromInt32(-1)) goto __41 __40: - Xsqlite3_result_error_code(tls, pCtx, *(*int32)(unsafe.Pointer(bp + 88 /* rc */))) + Xsqlite3_result_error_code(tls, pCtx, *(*int32)(unsafe.Pointer(bp + 64 /* rc */))) __41: ; - sqlite3Fts5BufferFree(tls, bp+72 /* &s */) + sqlite3Fts5BufferFree(tls, bp+48 /* &s */) } // The implementation of user-defined scalar function fts5_rowid(). @@ -232861,8 +232861,8 @@ func fts5UsePatternMatch(tls *libc.TLS, pConfig uintptr, p uintptr) int32 { /* s // // Costs are not modified by the ORDER BY clause. func fts5BestIndexMethod(tls *libc.TLS, pVTab uintptr, pInfo uintptr) int32 { /* sqlite3.c:228337:12: */ - bp := tls.Alloc(32) - defer tls.Free(32) + bp := tls.Alloc(16) + defer tls.Free(16) var pTab uintptr = pVTab var pConfig uintptr = (*Fts5Table)(unsafe.Pointer(pTab)).FpConfig @@ -232931,7 +232931,7 @@ func fts5BestIndexMethod(tls *libc.TLS, pVTab uintptr, pInfo uintptr) int32 { /* } return int8('G') }() - Xsqlite3_snprintf(tls, 6, (idxStr + uintptr(iIdxStr)), ts+11422 /* "%d" */, libc.VaList(bp+16, iCol)) + Xsqlite3_snprintf(tls, 6, (idxStr + uintptr(iIdxStr)), ts+11422 /* "%d" */, libc.VaList(bp+8, iCol)) idxStr += uintptr(libc.Xstrlen(tls, (idxStr + uintptr(iIdxStr)))) (*sqlite3_index_constraint_usage)(unsafe.Pointer((*Sqlite3_index_info)(unsafe.Pointer(pInfo)).FaConstraintUsage + uintptr(i)*8)).FargvIndex = libc.PreIncInt32(&iCons, 1) @@ -233230,15 +233230,15 @@ func fts5CursorReseek(tls *libc.TLS, pCsr uintptr, pbSkip uintptr) int32 { /* sq // even if we reach end-of-file. The fts5EofMethod() will be called // subsequently to determine whether or not an EOF was hit. func fts5NextMethod(tls *libc.TLS, pCursor uintptr) int32 { /* sqlite3.c:228688:12: */ - bp := tls.Alloc(20) - defer tls.Free(20) + bp := tls.Alloc(12) + defer tls.Free(12) var pCsr uintptr = pCursor var rc int32 if (*Fts5Cursor)(unsafe.Pointer(pCsr)).FePlan < 3 { - *(*int32)(unsafe.Pointer(bp + 16 /* bSkip */)) = 0 - if (libc.AssignInt32(&rc, fts5CursorReseek(tls, pCsr, bp+16 /* &bSkip */)) != 0) || (*(*int32)(unsafe.Pointer(bp + 16 /* bSkip */)) != 0) { + *(*int32)(unsafe.Pointer(bp + 8 /* bSkip */)) = 0 + if (libc.AssignInt32(&rc, fts5CursorReseek(tls, pCsr, bp+8 /* &bSkip */)) != 0) || (*(*int32)(unsafe.Pointer(bp + 8 /* bSkip */)) != 0) { return rc } rc = sqlite3Fts5ExprNext(tls, (*Fts5Cursor)(unsafe.Pointer(pCsr)).FpExpr, (*Fts5Cursor)(unsafe.Pointer(pCsr)).FiLastRowid) @@ -233289,10 +233289,10 @@ func fts5NextMethod(tls *libc.TLS, pCursor uintptr) int32 { /* sqlite3.c:228688: } func fts5PrepareStatement(tls *libc.TLS, ppStmt uintptr, pConfig uintptr, zFmt uintptr, va uintptr) int32 { /* sqlite3.c:228741:12: */ - bp := tls.Alloc(24) - defer tls.Free(24) + bp := tls.Alloc(16) + defer tls.Free(16) - *(*uintptr)(unsafe.Pointer(bp + 16 /* pRet */)) = uintptr(0) + *(*uintptr)(unsafe.Pointer(bp + 8 /* pRet */)) = uintptr(0) var rc int32 var zSql uintptr var ap Va_list @@ -233304,7 +233304,7 @@ func fts5PrepareStatement(tls *libc.TLS, ppStmt uintptr, pConfig uintptr, zFmt u rc = SQLITE_NOMEM } else { rc = Xsqlite3_prepare_v3(tls, (*Fts5Config)(unsafe.Pointer(pConfig)).Fdb, zSql, -1, - uint32(SQLITE_PREPARE_PERSISTENT), bp+16 /* &pRet */, uintptr(0)) + uint32(SQLITE_PREPARE_PERSISTENT), bp+8 /* &pRet */, uintptr(0)) if rc != SQLITE_OK { *(*uintptr)(unsafe.Pointer((*Fts5Config)(unsafe.Pointer(pConfig)).FpzErrmsg)) = Xsqlite3_mprintf(tls, ts+951 /* "%s" */, libc.VaList(bp, Xsqlite3_errmsg(tls, (*Fts5Config)(unsafe.Pointer(pConfig)).Fdb))) } @@ -233312,13 +233312,13 @@ func fts5PrepareStatement(tls *libc.TLS, ppStmt uintptr, pConfig uintptr, zFmt u } _ = ap - *(*uintptr)(unsafe.Pointer(ppStmt)) = *(*uintptr)(unsafe.Pointer(bp + 16 /* pRet */)) + *(*uintptr)(unsafe.Pointer(ppStmt)) = *(*uintptr)(unsafe.Pointer(bp + 8 /* pRet */)) return rc } func fts5CursorFirstSorted(tls *libc.TLS, pTab uintptr, pCsr uintptr, bDesc int32) int32 { /* sqlite3.c:228770:12: */ - bp := tls.Alloc(64) - defer tls.Free(64) + bp := tls.Alloc(56) + defer tls.Free(56) var pConfig uintptr = (*Fts5FullTable)(unsafe.Pointer(pTab)).Fp.FpConfig var pSorter uintptr @@ -233399,8 +233399,8 @@ func fts5CursorFirst(tls *libc.TLS, pTab uintptr, pCsr uintptr, bDesc int32) int // the text passed to the MATCH operator are used as the special query // parameters. func fts5SpecialMatch(tls *libc.TLS, pTab uintptr, pCsr uintptr, zQuery uintptr) int32 { /* sqlite3.c:228839:12: */ - bp := tls.Alloc(24) - defer tls.Free(24) + bp := tls.Alloc(16) + defer tls.Free(16) var rc int32 = SQLITE_OK // Return code var z uintptr = zQuery // Special query text @@ -233444,78 +233444,78 @@ func fts5FindAuxiliary(tls *libc.TLS, pTab uintptr, zName uintptr) uintptr { /* } func fts5FindRankFunction(tls *libc.TLS, pCsr uintptr) int32 { /* sqlite3.c:228886:12: */ - bp := tls.Alloc(48) - defer tls.Free(48) + bp := tls.Alloc(32) + defer tls.Free(32) var pTab uintptr = (*Fts5Cursor)(unsafe.Pointer(pCsr)).Fbase.FpVtab var pConfig uintptr = (*Fts5FullTable)(unsafe.Pointer(pTab)).Fp.FpConfig - *(*int32)(unsafe.Pointer(bp + 32 /* rc */)) = SQLITE_OK + *(*int32)(unsafe.Pointer(bp + 16 /* rc */)) = SQLITE_OK var pAux uintptr = uintptr(0) var zRank uintptr = (*Fts5Cursor)(unsafe.Pointer(pCsr)).FzRank var zRankArgs uintptr = (*Fts5Cursor)(unsafe.Pointer(pCsr)).FzRankArgs if zRankArgs != 0 { - var zSql uintptr = sqlite3Fts5Mprintf(tls, bp+32 /* &rc */, ts+45649 /* "SELECT %s" */, libc.VaList(bp, zRankArgs)) + var zSql uintptr = sqlite3Fts5Mprintf(tls, bp+16 /* &rc */, ts+45649 /* "SELECT %s" */, libc.VaList(bp, zRankArgs)) if zSql != 0 { - *(*uintptr)(unsafe.Pointer(bp + 40 /* pStmt */)) = uintptr(0) - *(*int32)(unsafe.Pointer(bp + 32 /* rc */)) = Xsqlite3_prepare_v3(tls, (*Fts5Config)(unsafe.Pointer(pConfig)).Fdb, zSql, -1, - uint32(SQLITE_PREPARE_PERSISTENT), bp+40 /* &pStmt */, uintptr(0)) + *(*uintptr)(unsafe.Pointer(bp + 24 /* pStmt */)) = uintptr(0) + *(*int32)(unsafe.Pointer(bp + 16 /* rc */)) = Xsqlite3_prepare_v3(tls, (*Fts5Config)(unsafe.Pointer(pConfig)).Fdb, zSql, -1, + uint32(SQLITE_PREPARE_PERSISTENT), bp+24 /* &pStmt */, uintptr(0)) Xsqlite3_free(tls, zSql) - if *(*int32)(unsafe.Pointer(bp + 32 /* rc */)) == SQLITE_OK { - if SQLITE_ROW == Xsqlite3_step(tls, *(*uintptr)(unsafe.Pointer(bp + 40 /* pStmt */))) { + if *(*int32)(unsafe.Pointer(bp + 16 /* rc */)) == SQLITE_OK { + if SQLITE_ROW == Xsqlite3_step(tls, *(*uintptr)(unsafe.Pointer(bp + 24 /* pStmt */))) { var nByte Sqlite3_int64 - (*Fts5Cursor)(unsafe.Pointer(pCsr)).FnRankArg = Xsqlite3_column_count(tls, *(*uintptr)(unsafe.Pointer(bp + 40 /* pStmt */))) + (*Fts5Cursor)(unsafe.Pointer(pCsr)).FnRankArg = Xsqlite3_column_count(tls, *(*uintptr)(unsafe.Pointer(bp + 24 /* pStmt */))) nByte = (Sqlite3_int64(uint64(unsafe.Sizeof(uintptr(0))) * uint64((*Fts5Cursor)(unsafe.Pointer(pCsr)).FnRankArg))) - (*Fts5Cursor)(unsafe.Pointer(pCsr)).FapRankArg = sqlite3Fts5MallocZero(tls, bp+32 /* &rc */, nByte) - if *(*int32)(unsafe.Pointer(bp + 32 /* rc */)) == SQLITE_OK { + (*Fts5Cursor)(unsafe.Pointer(pCsr)).FapRankArg = sqlite3Fts5MallocZero(tls, bp+16 /* &rc */, nByte) + if *(*int32)(unsafe.Pointer(bp + 16 /* rc */)) == SQLITE_OK { var i int32 for i = 0; i < (*Fts5Cursor)(unsafe.Pointer(pCsr)).FnRankArg; i++ { - *(*uintptr)(unsafe.Pointer((*Fts5Cursor)(unsafe.Pointer(pCsr)).FapRankArg + uintptr(i)*8)) = Xsqlite3_column_value(tls, *(*uintptr)(unsafe.Pointer(bp + 40 /* pStmt */)), i) + *(*uintptr)(unsafe.Pointer((*Fts5Cursor)(unsafe.Pointer(pCsr)).FapRankArg + uintptr(i)*8)) = Xsqlite3_column_value(tls, *(*uintptr)(unsafe.Pointer(bp + 24 /* pStmt */)), i) } } - (*Fts5Cursor)(unsafe.Pointer(pCsr)).FpRankArgStmt = *(*uintptr)(unsafe.Pointer(bp + 40 /* pStmt */)) + (*Fts5Cursor)(unsafe.Pointer(pCsr)).FpRankArgStmt = *(*uintptr)(unsafe.Pointer(bp + 24 /* pStmt */)) } else { - *(*int32)(unsafe.Pointer(bp + 32 /* rc */)) = Xsqlite3_finalize(tls, *(*uintptr)(unsafe.Pointer(bp + 40 /* pStmt */))) + *(*int32)(unsafe.Pointer(bp + 16 /* rc */)) = Xsqlite3_finalize(tls, *(*uintptr)(unsafe.Pointer(bp + 24 /* pStmt */))) } } } } - if *(*int32)(unsafe.Pointer(bp + 32 /* rc */)) == SQLITE_OK { + if *(*int32)(unsafe.Pointer(bp + 16 /* rc */)) == SQLITE_OK { pAux = fts5FindAuxiliary(tls, pTab, zRank) if pAux == uintptr(0) { - (*Fts5FullTable)(unsafe.Pointer(pTab)).Fp.Fbase.FzErrMsg = Xsqlite3_mprintf(tls, ts+45659 /* "no such function..." */, libc.VaList(bp+16, zRank)) - *(*int32)(unsafe.Pointer(bp + 32 /* rc */)) = SQLITE_ERROR + (*Fts5FullTable)(unsafe.Pointer(pTab)).Fp.Fbase.FzErrMsg = Xsqlite3_mprintf(tls, ts+45659 /* "no such function..." */, libc.VaList(bp+8, zRank)) + *(*int32)(unsafe.Pointer(bp + 16 /* rc */)) = SQLITE_ERROR } } (*Fts5Cursor)(unsafe.Pointer(pCsr)).FpRank = pAux - return *(*int32)(unsafe.Pointer(bp + 32 /* rc */)) + return *(*int32)(unsafe.Pointer(bp + 16 /* rc */)) } func fts5CursorParseRank(tls *libc.TLS, pConfig uintptr, pCsr uintptr, pRank uintptr) int32 { /* sqlite3.c:228937:12: */ - bp := tls.Alloc(32) - defer tls.Free(32) + bp := tls.Alloc(24) + defer tls.Free(24) var rc int32 = SQLITE_OK if pRank != 0 { var z uintptr = Xsqlite3_value_text(tls, pRank) - *(*uintptr)(unsafe.Pointer(bp + 16 /* zRank */)) = uintptr(0) - *(*uintptr)(unsafe.Pointer(bp + 24 /* zRankArgs */)) = uintptr(0) + *(*uintptr)(unsafe.Pointer(bp + 8 /* zRank */)) = uintptr(0) + *(*uintptr)(unsafe.Pointer(bp + 16 /* zRankArgs */)) = uintptr(0) if z == uintptr(0) { if Xsqlite3_value_type(tls, pRank) == SQLITE_NULL { rc = SQLITE_ERROR } } else { - rc = sqlite3Fts5ConfigParseRank(tls, z, bp+16 /* &zRank */, bp+24 /* &zRankArgs */) + rc = sqlite3Fts5ConfigParseRank(tls, z, bp+8 /* &zRank */, bp+16 /* &zRankArgs */) } if rc == SQLITE_OK { - (*Fts5Cursor)(unsafe.Pointer(pCsr)).FzRank = *(*uintptr)(unsafe.Pointer(bp + 16 /* zRank */)) - (*Fts5Cursor)(unsafe.Pointer(pCsr)).FzRankArgs = *(*uintptr)(unsafe.Pointer(bp + 24 /* zRankArgs */)) + (*Fts5Cursor)(unsafe.Pointer(pCsr)).FzRank = *(*uintptr)(unsafe.Pointer(bp + 8 /* zRank */)) + (*Fts5Cursor)(unsafe.Pointer(pCsr)).FzRankArgs = *(*uintptr)(unsafe.Pointer(bp + 16 /* zRankArgs */)) *(*int32)(unsafe.Pointer(pCsr + 80 /* &.csrflags */)) |= (FTS5CSR_FREE_ZRANK) } else if rc == SQLITE_ERROR { (*Sqlite3_vtab)(unsafe.Pointer((*Fts5Cursor)(unsafe.Pointer(pCsr)).Fbase.FpVtab)).FzErrMsg = Xsqlite3_mprintf(tls, @@ -233553,8 +233553,8 @@ func fts5GetRowidLimit(tls *libc.TLS, pVal uintptr, iDefault I64) I64 { /* sqlit // 2. A by-rowid lookup. // 3. A full-table scan. func fts5FilterMethod(tls *libc.TLS, pCursor uintptr, idxNum int32, idxStr uintptr, nVal int32, apVal uintptr) int32 { /* sqlite3.c:228995:12: */ - bp := tls.Alloc(24) - defer tls.Free(24) + bp := tls.Alloc(16) + defer tls.Free(16) var pTab uintptr var pConfig uintptr @@ -233570,7 +233570,7 @@ func fts5FilterMethod(tls *libc.TLS, pCursor uintptr, idxNum int32, idxStr uintp var pzErrmsg uintptr var i int32 var iIdxStr int32 - // var pExpr uintptr at bp+16, 8 + // var pExpr uintptr at bp+8, 8 var pzErr uintptr var zText uintptr @@ -233586,7 +233586,7 @@ func fts5FilterMethod(tls *libc.TLS, pCursor uintptr, idxNum int32, idxStr uintp pRowidGe = uintptr(0) pzErrmsg = (*Fts5Config)(unsafe.Pointer(pConfig)).FpzErrmsg iIdxStr = 0 - *(*uintptr)(unsafe.Pointer(bp + 16 /* pExpr */)) = uintptr(0) + *(*uintptr)(unsafe.Pointer(bp + 8 /* pExpr */)) = uintptr(0) if !((*Fts5Config)(unsafe.Pointer(pConfig)).FbLock != 0) { goto __1 @@ -233665,12 +233665,12 @@ __17: goto __19 __18: pzErr = (pTab /* &.p */ /* &.base */ + 16 /* &.zErrMsg */) - rc = sqlite3Fts5ExprNew(tls, pConfig, 0, iCol, zText, bp+16 /* &pExpr */, pzErr) + rc = sqlite3Fts5ExprNew(tls, pConfig, 0, iCol, zText, bp+8 /* &pExpr */, pzErr) if !(rc == SQLITE_OK) { goto __20 } - rc = sqlite3Fts5ExprAnd(tls, (pCsr + 64 /* &.pExpr */), *(*uintptr)(unsafe.Pointer(bp + 16 /* pExpr */))) - *(*uintptr)(unsafe.Pointer(bp + 16 /* pExpr */)) = uintptr(0) + rc = sqlite3Fts5ExprAnd(tls, (pCsr + 64 /* &.pExpr */), *(*uintptr)(unsafe.Pointer(bp + 8 /* pExpr */))) + *(*uintptr)(unsafe.Pointer(bp + 8 /* pExpr */)) = uintptr(0) __20: ; if !(rc != SQLITE_OK) { @@ -233703,14 +233703,14 @@ __24: if !(zText1 != 0) { goto __25 } - rc = sqlite3Fts5ExprPattern(tls, pConfig, bGlob, iCol, zText1, bp+16 /* &pExpr */) + rc = sqlite3Fts5ExprPattern(tls, pConfig, bGlob, iCol, zText1, bp+8 /* &pExpr */) __25: ; if !(rc == SQLITE_OK) { goto __26 } - rc = sqlite3Fts5ExprAnd(tls, (pCsr + 64 /* &.pExpr */), *(*uintptr)(unsafe.Pointer(bp + 16 /* pExpr */))) - *(*uintptr)(unsafe.Pointer(bp + 16 /* pExpr */)) = uintptr(0) + rc = sqlite3Fts5ExprAnd(tls, (pCsr + 64 /* &.pExpr */), *(*uintptr)(unsafe.Pointer(bp + 8 /* pExpr */))) + *(*uintptr)(unsafe.Pointer(bp + 8 /* pExpr */)) = uintptr(0) __26: ; if !(rc != SQLITE_OK) { @@ -233865,7 +233865,7 @@ __32: ; filter_out: - sqlite3Fts5ExprFree(tls, *(*uintptr)(unsafe.Pointer(bp + 16 /* pExpr */))) + sqlite3Fts5ExprFree(tls, *(*uintptr)(unsafe.Pointer(bp + 8 /* pExpr */))) (*Fts5Config)(unsafe.Pointer(pConfig)).FpzErrmsg = pzErrmsg return rc } @@ -233928,8 +233928,8 @@ func fts5RowidMethod(tls *libc.TLS, pCursor uintptr, pRowid uintptr) int32 { /* // If argument bErrormsg is true and an error occurs, an error message may // be left in sqlite3_vtab.zErrMsg. func fts5SeekCursor(tls *libc.TLS, pCsr uintptr, bErrormsg int32) int32 { /* sqlite3.c:229244:12: */ - bp := tls.Alloc(16) - defer tls.Free(16) + bp := tls.Alloc(8) + defer tls.Free(8) var rc int32 = SQLITE_OK @@ -234076,13 +234076,13 @@ func fts5StorageInsert(tls *libc.TLS, pRc uintptr, pTab uintptr, apVal uintptr, // 3. Values for each of the nCol matchable columns. // 4. Values for the two hidden columns ( and "rank"). func fts5UpdateMethod(tls *libc.TLS, pVtab uintptr, nArg int32, apVal uintptr, pRowid uintptr) int32 { /* sqlite3.c:229405:12: */ - bp := tls.Alloc(28) - defer tls.Free(28) + bp := tls.Alloc(20) + defer tls.Free(20) var pTab uintptr = pVtab var pConfig uintptr = (*Fts5FullTable)(unsafe.Pointer(pTab)).Fp.FpConfig var eType0 int32 // value_type() of apVal[0] - *(*int32)(unsafe.Pointer(bp + 24 /* rc */)) = SQLITE_OK // Return code + *(*int32)(unsafe.Pointer(bp + 16 /* rc */)) = SQLITE_OK // Return code // A transaction must be open when this is called. @@ -234098,9 +234098,9 @@ func fts5UpdateMethod(tls *libc.TLS, pVtab uintptr, nArg int32, apVal uintptr, p var z uintptr = Xsqlite3_value_text(tls, *(*uintptr)(unsafe.Pointer(apVal + uintptr((2+(*Fts5Config)(unsafe.Pointer(pConfig)).FnCol))*8))) if ((*Fts5Config)(unsafe.Pointer(pConfig)).FeContent != FTS5_CONTENT_NORMAL) && (0 == Xsqlite3_stricmp(tls, ts+24004 /* "delete" */, z)) { - *(*int32)(unsafe.Pointer(bp + 24 /* rc */)) = fts5SpecialDelete(tls, pTab, apVal) + *(*int32)(unsafe.Pointer(bp + 16 /* rc */)) = fts5SpecialDelete(tls, pTab, apVal) } else { - *(*int32)(unsafe.Pointer(bp + 24 /* rc */)) = fts5SpecialInsert(tls, pTab, z, *(*uintptr)(unsafe.Pointer(apVal + uintptr(((2+(*Fts5Config)(unsafe.Pointer(pConfig)).FnCol)+1))*8))) + *(*int32)(unsafe.Pointer(bp + 16 /* rc */)) = fts5SpecialInsert(tls, pTab, z, *(*uintptr)(unsafe.Pointer(apVal + uintptr(((2+(*Fts5Config)(unsafe.Pointer(pConfig)).FnCol)+1))*8))) } } else { // A regular INSERT, UPDATE or DELETE statement. The trick here is that @@ -234129,51 +234129,51 @@ func fts5UpdateMethod(tls *libc.TLS, pVtab uintptr, nArg int32, apVal uintptr, p } return ts + 45963 /* "DELETE from" */ }(), (*Fts5Config)(unsafe.Pointer(pConfig)).FzName)) - *(*int32)(unsafe.Pointer(bp + 24 /* rc */)) = SQLITE_ERROR + *(*int32)(unsafe.Pointer(bp + 16 /* rc */)) = SQLITE_ERROR } else if nArg == 1 { var iDel I64 = Xsqlite3_value_int64(tls, *(*uintptr)(unsafe.Pointer(apVal))) // Rowid to delete - *(*int32)(unsafe.Pointer(bp + 24 /* rc */)) = sqlite3Fts5StorageDelete(tls, (*Fts5FullTable)(unsafe.Pointer(pTab)).FpStorage, iDel, uintptr(0)) + *(*int32)(unsafe.Pointer(bp + 16 /* rc */)) = sqlite3Fts5StorageDelete(tls, (*Fts5FullTable)(unsafe.Pointer(pTab)).FpStorage, iDel, uintptr(0)) } else { var eType1 int32 = Xsqlite3_value_numeric_type(tls, *(*uintptr)(unsafe.Pointer(apVal + 1*8))) if (eType1 != SQLITE_INTEGER) && (eType1 != SQLITE_NULL) { - *(*int32)(unsafe.Pointer(bp + 24 /* rc */)) = SQLITE_MISMATCH + *(*int32)(unsafe.Pointer(bp + 16 /* rc */)) = SQLITE_MISMATCH } else if eType0 != SQLITE_INTEGER { // If this is a REPLACE, first remove the current entry (if any) if (eConflict == SQLITE_REPLACE) && (eType1 == SQLITE_INTEGER) { var iNew I64 = Xsqlite3_value_int64(tls, *(*uintptr)(unsafe.Pointer(apVal + 1*8))) // Rowid to delete - *(*int32)(unsafe.Pointer(bp + 24 /* rc */)) = sqlite3Fts5StorageDelete(tls, (*Fts5FullTable)(unsafe.Pointer(pTab)).FpStorage, iNew, uintptr(0)) + *(*int32)(unsafe.Pointer(bp + 16 /* rc */)) = sqlite3Fts5StorageDelete(tls, (*Fts5FullTable)(unsafe.Pointer(pTab)).FpStorage, iNew, uintptr(0)) } - fts5StorageInsert(tls, bp+24 /* &rc */, pTab, apVal, pRowid) + fts5StorageInsert(tls, bp+16 /* &rc */, pTab, apVal, pRowid) } else { var iOld I64 = Xsqlite3_value_int64(tls, *(*uintptr)(unsafe.Pointer(apVal))) // Old rowid var iNew I64 = Xsqlite3_value_int64(tls, *(*uintptr)(unsafe.Pointer(apVal + 1*8))) // New rowid if (eType1 == SQLITE_INTEGER) && (iOld != iNew) { if eConflict == SQLITE_REPLACE { - *(*int32)(unsafe.Pointer(bp + 24 /* rc */)) = sqlite3Fts5StorageDelete(tls, (*Fts5FullTable)(unsafe.Pointer(pTab)).FpStorage, iOld, uintptr(0)) - if *(*int32)(unsafe.Pointer(bp + 24 /* rc */)) == SQLITE_OK { - *(*int32)(unsafe.Pointer(bp + 24 /* rc */)) = sqlite3Fts5StorageDelete(tls, (*Fts5FullTable)(unsafe.Pointer(pTab)).FpStorage, iNew, uintptr(0)) + *(*int32)(unsafe.Pointer(bp + 16 /* rc */)) = sqlite3Fts5StorageDelete(tls, (*Fts5FullTable)(unsafe.Pointer(pTab)).FpStorage, iOld, uintptr(0)) + if *(*int32)(unsafe.Pointer(bp + 16 /* rc */)) == SQLITE_OK { + *(*int32)(unsafe.Pointer(bp + 16 /* rc */)) = sqlite3Fts5StorageDelete(tls, (*Fts5FullTable)(unsafe.Pointer(pTab)).FpStorage, iNew, uintptr(0)) } - fts5StorageInsert(tls, bp+24 /* &rc */, pTab, apVal, pRowid) + fts5StorageInsert(tls, bp+16 /* &rc */, pTab, apVal, pRowid) } else { - *(*int32)(unsafe.Pointer(bp + 24 /* rc */)) = sqlite3Fts5StorageContentInsert(tls, (*Fts5FullTable)(unsafe.Pointer(pTab)).FpStorage, apVal, pRowid) - if *(*int32)(unsafe.Pointer(bp + 24 /* rc */)) == SQLITE_OK { - *(*int32)(unsafe.Pointer(bp + 24 /* rc */)) = sqlite3Fts5StorageDelete(tls, (*Fts5FullTable)(unsafe.Pointer(pTab)).FpStorage, iOld, uintptr(0)) + *(*int32)(unsafe.Pointer(bp + 16 /* rc */)) = sqlite3Fts5StorageContentInsert(tls, (*Fts5FullTable)(unsafe.Pointer(pTab)).FpStorage, apVal, pRowid) + if *(*int32)(unsafe.Pointer(bp + 16 /* rc */)) == SQLITE_OK { + *(*int32)(unsafe.Pointer(bp + 16 /* rc */)) = sqlite3Fts5StorageDelete(tls, (*Fts5FullTable)(unsafe.Pointer(pTab)).FpStorage, iOld, uintptr(0)) } - if *(*int32)(unsafe.Pointer(bp + 24 /* rc */)) == SQLITE_OK { - *(*int32)(unsafe.Pointer(bp + 24 /* rc */)) = sqlite3Fts5StorageIndexInsert(tls, (*Fts5FullTable)(unsafe.Pointer(pTab)).FpStorage, apVal, *(*Sqlite_int64)(unsafe.Pointer(pRowid))) + if *(*int32)(unsafe.Pointer(bp + 16 /* rc */)) == SQLITE_OK { + *(*int32)(unsafe.Pointer(bp + 16 /* rc */)) = sqlite3Fts5StorageIndexInsert(tls, (*Fts5FullTable)(unsafe.Pointer(pTab)).FpStorage, apVal, *(*Sqlite_int64)(unsafe.Pointer(pRowid))) } } } else { - *(*int32)(unsafe.Pointer(bp + 24 /* rc */)) = sqlite3Fts5StorageDelete(tls, (*Fts5FullTable)(unsafe.Pointer(pTab)).FpStorage, iOld, uintptr(0)) - fts5StorageInsert(tls, bp+24 /* &rc */, pTab, apVal, pRowid) + *(*int32)(unsafe.Pointer(bp + 16 /* rc */)) = sqlite3Fts5StorageDelete(tls, (*Fts5FullTable)(unsafe.Pointer(pTab)).FpStorage, iOld, uintptr(0)) + fts5StorageInsert(tls, bp+16 /* &rc */, pTab, apVal, pRowid) } } } } (*Fts5Config)(unsafe.Pointer((*Fts5FullTable)(unsafe.Pointer(pTab)).Fp.FpConfig)).FpzErrmsg = uintptr(0) - return *(*int32)(unsafe.Pointer(bp + 24 /* rc */)) + return *(*int32)(unsafe.Pointer(bp + 16 /* rc */)) } // Implementation of xSync() method. @@ -234785,8 +234785,8 @@ func fts5CursorFromCsrid(tls *libc.TLS, pGlobal uintptr, iCsrId I64) uintptr { / } func fts5ApiCallback(tls *libc.TLS, context uintptr, argc int32, argv uintptr) { /* sqlite3.c:230147:13: */ - bp := tls.Alloc(16) - defer tls.Free(16) + bp := tls.Alloc(8) + defer tls.Free(8) var pAux uintptr var pCsr uintptr @@ -235087,8 +235087,8 @@ func fts5FindTokenizer(tls *libc.TLS, pApi uintptr, zName uintptr, ppUserData ui } func sqlite3Fts5GetTokenizer(tls *libc.TLS, pGlobal uintptr, azArg uintptr, nArg int32, pConfig uintptr, pzErr uintptr) int32 { /* sqlite3.c:230505:12: */ - bp := tls.Alloc(16) - defer tls.Free(16) + bp := tls.Alloc(8) + defer tls.Free(8) var pMod uintptr var rc int32 = SQLITE_OK @@ -235297,8 +235297,8 @@ func Xsqlite3Fts5Init(tls *libc.TLS, db uintptr) int32 { /* sqlite3.c:230712:20: // Return SQLITE_OK if successful, or an SQLite error code if an error // occurs. func fts5StorageGetStmt(tls *libc.TLS, p uintptr, eStmt int32, ppStmt uintptr, pzErrMsg uintptr) int32 { /* sqlite3.c:230770:12: */ - bp := tls.Alloc(264) - defer tls.Free(264) + bp := tls.Alloc(216) + defer tls.Free(216) var rc int32 = SQLITE_OK @@ -235306,7 +235306,7 @@ func fts5StorageGetStmt(tls *libc.TLS, p uintptr, eStmt int32, ppStmt uintptr, p // statements to operate on it. if *(*uintptr)(unsafe.Pointer((p + 40 /* &.aStmt */) + uintptr(eStmt)*8)) == uintptr(0) { - *(*[11]uintptr)(unsafe.Pointer(bp + 176 /* azStmt */)) = [11]uintptr{ + *(*[11]uintptr)(unsafe.Pointer(bp + 128 /* azStmt */)) = [11]uintptr{ ts + 46180, /* "SELECT %s FROM %..." */ ts + 46248, /* "SELECT %s FROM %..." */ ts + 46317, /* "SELECT %s FROM %..." */ // LOOKUP @@ -235327,7 +235327,7 @@ func fts5StorageGetStmt(tls *libc.TLS, p uintptr, eStmt int32, ppStmt uintptr, p switch eStmt { case FTS5_STMT_SCAN: - zSql = Xsqlite3_mprintf(tls, *(*uintptr)(unsafe.Pointer(bp + 176 /* &azStmt[0] */ + uintptr(eStmt)*8)), + zSql = Xsqlite3_mprintf(tls, *(*uintptr)(unsafe.Pointer(bp + 128 /* &azStmt[0] */ + uintptr(eStmt)*8)), libc.VaList(bp, (*Fts5Config)(unsafe.Pointer(pC)).FzContentExprlist, (*Fts5Config)(unsafe.Pointer(pC)).FzContent)) break fallthrough @@ -235335,15 +235335,15 @@ func fts5StorageGetStmt(tls *libc.TLS, p uintptr, eStmt int32, ppStmt uintptr, p case FTS5_STMT_SCAN_ASC: fallthrough case FTS5_STMT_SCAN_DESC: - zSql = Xsqlite3_mprintf(tls, *(*uintptr)(unsafe.Pointer(bp + 176 /* &azStmt[0] */ + uintptr(eStmt)*8)), libc.VaList(bp+24, (*Fts5Config)(unsafe.Pointer(pC)).FzContentExprlist, + zSql = Xsqlite3_mprintf(tls, *(*uintptr)(unsafe.Pointer(bp + 128 /* &azStmt[0] */ + uintptr(eStmt)*8)), libc.VaList(bp+16, (*Fts5Config)(unsafe.Pointer(pC)).FzContentExprlist, (*Fts5Config)(unsafe.Pointer(pC)).FzContent, (*Fts5Config)(unsafe.Pointer(pC)).FzContentRowid, (*Fts5Config)(unsafe.Pointer(pC)).FzContentRowid, (*Fts5Config)(unsafe.Pointer(pC)).FzContentRowid)) break fallthrough case FTS5_STMT_LOOKUP: - zSql = Xsqlite3_mprintf(tls, *(*uintptr)(unsafe.Pointer(bp + 176 /* &azStmt[0] */ + uintptr(eStmt)*8)), - libc.VaList(bp+72, (*Fts5Config)(unsafe.Pointer(pC)).FzContentExprlist, (*Fts5Config)(unsafe.Pointer(pC)).FzContent, (*Fts5Config)(unsafe.Pointer(pC)).FzContentRowid)) + zSql = Xsqlite3_mprintf(tls, *(*uintptr)(unsafe.Pointer(bp + 128 /* &azStmt[0] */ + uintptr(eStmt)*8)), + libc.VaList(bp+56, (*Fts5Config)(unsafe.Pointer(pC)).FzContentExprlist, (*Fts5Config)(unsafe.Pointer(pC)).FzContent, (*Fts5Config)(unsafe.Pointer(pC)).FzContentRowid)) break fallthrough @@ -235362,7 +235362,7 @@ func fts5StorageGetStmt(tls *libc.TLS, p uintptr, eStmt int32, ppStmt uintptr, p *(*int8)(unsafe.Pointer(zBind + uintptr(((i * 2) + 1)))) = int8(',') } *(*int8)(unsafe.Pointer(zBind + uintptr(((i * 2) - 1)))) = int8(0) - zSql = Xsqlite3_mprintf(tls, *(*uintptr)(unsafe.Pointer(bp + 176 /* &azStmt[0] */ + uintptr(eStmt)*8)), libc.VaList(bp+104, (*Fts5Config)(unsafe.Pointer(pC)).FzDb, (*Fts5Config)(unsafe.Pointer(pC)).FzName, zBind)) + zSql = Xsqlite3_mprintf(tls, *(*uintptr)(unsafe.Pointer(bp + 128 /* &azStmt[0] */ + uintptr(eStmt)*8)), libc.VaList(bp+80, (*Fts5Config)(unsafe.Pointer(pC)).FzDb, (*Fts5Config)(unsafe.Pointer(pC)).FzName, zBind)) Xsqlite3_free(tls, zBind) } break @@ -235371,7 +235371,7 @@ func fts5StorageGetStmt(tls *libc.TLS, p uintptr, eStmt int32, ppStmt uintptr, p fallthrough default: - zSql = Xsqlite3_mprintf(tls, *(*uintptr)(unsafe.Pointer(bp + 176 /* &azStmt[0] */ + uintptr(eStmt)*8)), libc.VaList(bp+136, (*Fts5Config)(unsafe.Pointer(pC)).FzDb, (*Fts5Config)(unsafe.Pointer(pC)).FzName)) + zSql = Xsqlite3_mprintf(tls, *(*uintptr)(unsafe.Pointer(bp + 128 /* &azStmt[0] */ + uintptr(eStmt)*8)), libc.VaList(bp+104, (*Fts5Config)(unsafe.Pointer(pC)).FzDb, (*Fts5Config)(unsafe.Pointer(pC)).FzName)) break } @@ -235387,7 +235387,7 @@ func fts5StorageGetStmt(tls *libc.TLS, p uintptr, eStmt int32, ppStmt uintptr, p (*Fts5Config)(unsafe.Pointer((*Fts5Storage)(unsafe.Pointer(p)).FpConfig)).FbLock-- Xsqlite3_free(tls, zSql) if (rc != SQLITE_OK) && (pzErrMsg != 0) { - *(*uintptr)(unsafe.Pointer(pzErrMsg)) = Xsqlite3_mprintf(tls, ts+951 /* "%s" */, libc.VaList(bp+160, Xsqlite3_errmsg(tls, (*Fts5Config)(unsafe.Pointer(pC)).Fdb))) + *(*uintptr)(unsafe.Pointer(pzErrMsg)) = Xsqlite3_mprintf(tls, ts+951 /* "%s" */, libc.VaList(bp+120, Xsqlite3_errmsg(tls, (*Fts5Config)(unsafe.Pointer(pC)).Fdb))) } } } @@ -235420,8 +235420,8 @@ func fts5ExecPrintf(tls *libc.TLS, db uintptr, pzErr uintptr, zFormat uintptr, v // Drop all shadow tables. Return SQLITE_OK if successful or an SQLite error // code otherwise. func sqlite3Fts5DropAll(tls *libc.TLS, pConfig uintptr) int32 { /* sqlite3.c:230901:12: */ - bp := tls.Alloc(104) - defer tls.Free(104) + bp := tls.Alloc(80) + defer tls.Free(80) var rc int32 = fts5ExecPrintf(tls, (*Fts5Config)(unsafe.Pointer(pConfig)).Fdb, uintptr(0), @@ -235432,19 +235432,19 @@ func sqlite3Fts5DropAll(tls *libc.TLS, pConfig uintptr) int32 { /* sqlite3.c:230 if (rc == SQLITE_OK) && ((*Fts5Config)(unsafe.Pointer(pConfig)).FbColumnsize != 0) { rc = fts5ExecPrintf(tls, (*Fts5Config)(unsafe.Pointer(pConfig)).Fdb, uintptr(0), ts+46757, /* "DROP TABLE IF EX..." */ - libc.VaList(bp+56, (*Fts5Config)(unsafe.Pointer(pConfig)).FzDb, (*Fts5Config)(unsafe.Pointer(pConfig)).FzName)) + libc.VaList(bp+48, (*Fts5Config)(unsafe.Pointer(pConfig)).FzDb, (*Fts5Config)(unsafe.Pointer(pConfig)).FzName)) } if (rc == SQLITE_OK) && ((*Fts5Config)(unsafe.Pointer(pConfig)).FeContent == FTS5_CONTENT_NORMAL) { rc = fts5ExecPrintf(tls, (*Fts5Config)(unsafe.Pointer(pConfig)).Fdb, uintptr(0), ts+46795, /* "DROP TABLE IF EX..." */ - libc.VaList(bp+80, (*Fts5Config)(unsafe.Pointer(pConfig)).FzDb, (*Fts5Config)(unsafe.Pointer(pConfig)).FzName)) + libc.VaList(bp+64, (*Fts5Config)(unsafe.Pointer(pConfig)).FzDb, (*Fts5Config)(unsafe.Pointer(pConfig)).FzName)) } return rc } func fts5StorageRenameOne(tls *libc.TLS, pConfig uintptr, pRc uintptr, zTail uintptr, zName uintptr) { /* sqlite3.c:230925:13: */ - bp := tls.Alloc(48) - defer tls.Free(48) + bp := tls.Alloc(40) + defer tls.Free(40) if *(*int32)(unsafe.Pointer(pRc)) == SQLITE_OK { *(*int32)(unsafe.Pointer(pRc)) = fts5ExecPrintf(tls, (*Fts5Config)(unsafe.Pointer(pConfig)).Fdb, uintptr(0), @@ -235475,13 +235475,13 @@ func sqlite3Fts5StorageRename(tls *libc.TLS, pStorage uintptr, zName uintptr) in // Create the shadow table named zPost, with definition zDefn. Return // SQLITE_OK if successful, or an SQLite error code otherwise. func sqlite3Fts5CreateTable(tls *libc.TLS, pConfig uintptr, zPost uintptr, zDefn uintptr, bWithout int32, pzErr uintptr) int32 { /* sqlite3.c:230959:12: */ - bp := tls.Alloc(88) - defer tls.Free(88) + bp := tls.Alloc(72) + defer tls.Free(72) var rc int32 - *(*uintptr)(unsafe.Pointer(bp + 80 /* zErr */)) = uintptr(0) + *(*uintptr)(unsafe.Pointer(bp + 64 /* zErr */)) = uintptr(0) - rc = fts5ExecPrintf(tls, (*Fts5Config)(unsafe.Pointer(pConfig)).Fdb, bp+80 /* &zErr */, ts+46875, /* "CREATE TABLE %Q...." */ + rc = fts5ExecPrintf(tls, (*Fts5Config)(unsafe.Pointer(pConfig)).Fdb, bp+64 /* &zErr */, ts+46875, /* "CREATE TABLE %Q...." */ libc.VaList(bp, (*Fts5Config)(unsafe.Pointer(pConfig)).FzDb, (*Fts5Config)(unsafe.Pointer(pConfig)).FzName, zPost, zDefn, func() uintptr { if bWithout != 0 { @@ -235489,11 +235489,11 @@ func sqlite3Fts5CreateTable(tls *libc.TLS, pConfig uintptr, zPost uintptr, zDefn } return ts + 915 /* "" */ }())) - if *(*uintptr)(unsafe.Pointer(bp + 80 /* zErr */)) != 0 { + if *(*uintptr)(unsafe.Pointer(bp + 64 /* zErr */)) != 0 { *(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3_mprintf(tls, ts+46905, /* "fts5: error crea..." */ - libc.VaList(bp+48, (*Fts5Config)(unsafe.Pointer(pConfig)).FzName, zPost, *(*uintptr)(unsafe.Pointer(bp + 80 /* zErr */)))) - Xsqlite3_free(tls, *(*uintptr)(unsafe.Pointer(bp + 80 /* zErr */))) + libc.VaList(bp+40, (*Fts5Config)(unsafe.Pointer(pConfig)).FzName, zPost, *(*uintptr)(unsafe.Pointer(bp + 64 /* zErr */)))) + Xsqlite3_free(tls, *(*uintptr)(unsafe.Pointer(bp + 64 /* zErr */))) } return rc @@ -235505,8 +235505,8 @@ func sqlite3Fts5CreateTable(tls *libc.TLS, pConfig uintptr, zPost uintptr, zDefn // If successful, set *pp to point to the new object and return SQLITE_OK. // Otherwise, set *pp to NULL and return an SQLite error code. func sqlite3Fts5StorageOpen(tls *libc.TLS, pConfig uintptr, pIndex uintptr, bCreate int32, pp uintptr, pzErr uintptr) int32 { /* sqlite3.c:230994:12: */ - bp := tls.Alloc(16) - defer tls.Free(16) + bp := tls.Alloc(8) + defer tls.Free(8) var rc int32 = SQLITE_OK var p uintptr // New object @@ -235779,8 +235779,8 @@ func sqlite3Fts5StorageDelete(tls *libc.TLS, p uintptr, iDel I64, apVal uintptr) // Delete all entries in the FTS5 index. func sqlite3Fts5StorageDeleteAll(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c:231282:12: */ - bp := tls.Alloc(64) - defer tls.Free(64) + bp := tls.Alloc(48) + defer tls.Free(48) var pConfig uintptr = (*Fts5Storage)(unsafe.Pointer(p)).FpConfig var rc int32 @@ -235796,7 +235796,7 @@ func sqlite3Fts5StorageDeleteAll(tls *libc.TLS, p uintptr) int32 { /* sqlite3.c: if (rc == SQLITE_OK) && ((*Fts5Config)(unsafe.Pointer(pConfig)).FbColumnsize != 0) { rc = fts5ExecPrintf(tls, (*Fts5Config)(unsafe.Pointer(pConfig)).Fdb, uintptr(0), ts+47077, /* "DELETE FROM %Q.'..." */ - libc.VaList(bp+40, (*Fts5Config)(unsafe.Pointer(pConfig)).FzDb, (*Fts5Config)(unsafe.Pointer(pConfig)).FzName)) + libc.VaList(bp+32, (*Fts5Config)(unsafe.Pointer(pConfig)).FzDb, (*Fts5Config)(unsafe.Pointer(pConfig)).FzName)) } // Reinitialize the %_data table. This call creates the initial structure @@ -235993,8 +235993,8 @@ func sqlite3Fts5StorageIndexInsert(tls *libc.TLS, p uintptr, apVal uintptr, iRow } func fts5StorageCount(tls *libc.TLS, p uintptr, zSuffix uintptr, pnRow uintptr) int32 { /* sqlite3.c:231488:12: */ - bp := tls.Alloc(40) - defer tls.Free(40) + bp := tls.Alloc(32) + defer tls.Free(32) var pConfig uintptr = (*Fts5Storage)(unsafe.Pointer(p)).FpConfig var zSql uintptr @@ -236005,13 +236005,13 @@ func fts5StorageCount(tls *libc.TLS, p uintptr, zSuffix uintptr, pnRow uintptr) if zSql == uintptr(0) { rc = SQLITE_NOMEM } else { - *(*uintptr)(unsafe.Pointer(bp + 32 /* pCnt */)) = uintptr(0) - rc = Xsqlite3_prepare_v2(tls, (*Fts5Config)(unsafe.Pointer(pConfig)).Fdb, zSql, -1, bp+32 /* &pCnt */, uintptr(0)) + *(*uintptr)(unsafe.Pointer(bp + 24 /* pCnt */)) = uintptr(0) + rc = Xsqlite3_prepare_v2(tls, (*Fts5Config)(unsafe.Pointer(pConfig)).Fdb, zSql, -1, bp+24 /* &pCnt */, uintptr(0)) if rc == SQLITE_OK { - if SQLITE_ROW == Xsqlite3_step(tls, *(*uintptr)(unsafe.Pointer(bp + 32 /* pCnt */))) { - *(*I64)(unsafe.Pointer(pnRow)) = Xsqlite3_column_int64(tls, *(*uintptr)(unsafe.Pointer(bp + 32 /* pCnt */)), 0) + if SQLITE_ROW == Xsqlite3_step(tls, *(*uintptr)(unsafe.Pointer(bp + 24 /* pCnt */))) { + *(*I64)(unsafe.Pointer(pnRow)) = Xsqlite3_column_int64(tls, *(*uintptr)(unsafe.Pointer(bp + 24 /* pCnt */)), 0) } - rc = Xsqlite3_finalize(tls, *(*uintptr)(unsafe.Pointer(bp + 32 /* pCnt */))) + rc = Xsqlite3_finalize(tls, *(*uintptr)(unsafe.Pointer(bp + 24 /* pCnt */))) } } @@ -239288,12 +239288,12 @@ type Fts5VocabCursor = Fts5VocabCursor1 /* sqlite3.c:234462:32 */ // value and return SQLITE_OK. Otherwise, set *pzErr to an error message // and return SQLITE_ERROR. func fts5VocabTableType(tls *libc.TLS, zType uintptr, pzErr uintptr, peType uintptr) int32 { /* sqlite3.c:234521:12: */ - bp := tls.Alloc(20) - defer tls.Free(20) + bp := tls.Alloc(12) + defer tls.Free(12) - *(*int32)(unsafe.Pointer(bp + 16 /* rc */)) = SQLITE_OK - var zCopy uintptr = sqlite3Fts5Strndup(tls, bp+16 /* &rc */, zType, -1) - if *(*int32)(unsafe.Pointer(bp + 16 /* rc */)) == SQLITE_OK { + *(*int32)(unsafe.Pointer(bp + 8 /* rc */)) = SQLITE_OK + var zCopy uintptr = sqlite3Fts5Strndup(tls, bp+8 /* &rc */, zType, -1) + if *(*int32)(unsafe.Pointer(bp + 8 /* rc */)) == SQLITE_OK { sqlite3Fts5Dequote(tls, zCopy) if Xsqlite3_stricmp(tls, zCopy, ts+47523 /* "col" */) == 0 { *(*int32)(unsafe.Pointer(peType)) = FTS5_VOCAB_COL @@ -239303,12 +239303,12 @@ func fts5VocabTableType(tls *libc.TLS, zType uintptr, pzErr uintptr, peType uint *(*int32)(unsafe.Pointer(peType)) = FTS5_VOCAB_INSTANCE } else { *(*uintptr)(unsafe.Pointer(pzErr)) = Xsqlite3_mprintf(tls, ts+47540 /* "fts5vocab: unkno..." */, libc.VaList(bp, zCopy)) - *(*int32)(unsafe.Pointer(bp + 16 /* rc */)) = SQLITE_ERROR + *(*int32)(unsafe.Pointer(bp + 8 /* rc */)) = SQLITE_ERROR } Xsqlite3_free(tls, zCopy) } - return *(*int32)(unsafe.Pointer(bp + 16 /* rc */)) + return *(*int32)(unsafe.Pointer(bp + 8 /* rc */)) } // The xDisconnect() virtual table method. @@ -239501,14 +239501,14 @@ func fts5VocabBestIndexMethod(tls *libc.TLS, pUnused uintptr, pInfo uintptr) int // Implementation of xOpen method. func fts5VocabOpenMethod(tls *libc.TLS, pVTab uintptr, ppCsr uintptr) int32 { /* sqlite3.c:234743:12: */ - bp := tls.Alloc(104) - defer tls.Free(104) + bp := tls.Alloc(80) + defer tls.Free(80) var pTab uintptr = pVTab var pFts5 uintptr = uintptr(0) var pCsr uintptr = uintptr(0) - *(*int32)(unsafe.Pointer(bp + 88 /* rc */)) = SQLITE_OK - *(*uintptr)(unsafe.Pointer(bp + 96 /* pStmt */)) = uintptr(0) + *(*int32)(unsafe.Pointer(bp + 64 /* rc */)) = SQLITE_OK + *(*uintptr)(unsafe.Pointer(bp + 72 /* pStmt */)) = uintptr(0) var zSql uintptr = uintptr(0) if (*Fts5VocabTable)(unsafe.Pointer(pTab)).FbBusy != 0 { @@ -239516,55 +239516,55 @@ func fts5VocabOpenMethod(tls *libc.TLS, pVTab uintptr, ppCsr uintptr) int32 { /* ts+47725 /* "recursive defini..." */, libc.VaList(bp, (*Fts5VocabTable)(unsafe.Pointer(pTab)).FzFts5Db, (*Fts5VocabTable)(unsafe.Pointer(pTab)).FzFts5Tbl)) return SQLITE_ERROR } - zSql = sqlite3Fts5Mprintf(tls, bp+88, /* &rc */ + zSql = sqlite3Fts5Mprintf(tls, bp+64, /* &rc */ ts+47756, /* "SELECT t.%Q FROM..." */ - libc.VaList(bp+24, (*Fts5VocabTable)(unsafe.Pointer(pTab)).FzFts5Tbl, (*Fts5VocabTable)(unsafe.Pointer(pTab)).FzFts5Db, (*Fts5VocabTable)(unsafe.Pointer(pTab)).FzFts5Tbl, (*Fts5VocabTable)(unsafe.Pointer(pTab)).FzFts5Tbl)) + libc.VaList(bp+16, (*Fts5VocabTable)(unsafe.Pointer(pTab)).FzFts5Tbl, (*Fts5VocabTable)(unsafe.Pointer(pTab)).FzFts5Db, (*Fts5VocabTable)(unsafe.Pointer(pTab)).FzFts5Tbl, (*Fts5VocabTable)(unsafe.Pointer(pTab)).FzFts5Tbl)) if zSql != 0 { - *(*int32)(unsafe.Pointer(bp + 88 /* rc */)) = Xsqlite3_prepare_v2(tls, (*Fts5VocabTable)(unsafe.Pointer(pTab)).Fdb, zSql, -1, bp+96 /* &pStmt */, uintptr(0)) + *(*int32)(unsafe.Pointer(bp + 64 /* rc */)) = Xsqlite3_prepare_v2(tls, (*Fts5VocabTable)(unsafe.Pointer(pTab)).Fdb, zSql, -1, bp+72 /* &pStmt */, uintptr(0)) } Xsqlite3_free(tls, zSql) - if *(*int32)(unsafe.Pointer(bp + 88 /* rc */)) == SQLITE_ERROR { - *(*int32)(unsafe.Pointer(bp + 88 /* rc */)) = SQLITE_OK + if *(*int32)(unsafe.Pointer(bp + 64 /* rc */)) == SQLITE_ERROR { + *(*int32)(unsafe.Pointer(bp + 64 /* rc */)) = SQLITE_OK } (*Fts5VocabTable)(unsafe.Pointer(pTab)).FbBusy = uint32(1) - if (*(*uintptr)(unsafe.Pointer(bp + 96 /* pStmt */)) != 0) && (Xsqlite3_step(tls, *(*uintptr)(unsafe.Pointer(bp + 96 /* pStmt */))) == SQLITE_ROW) { - var iId I64 = Xsqlite3_column_int64(tls, *(*uintptr)(unsafe.Pointer(bp + 96 /* pStmt */)), 0) + if (*(*uintptr)(unsafe.Pointer(bp + 72 /* pStmt */)) != 0) && (Xsqlite3_step(tls, *(*uintptr)(unsafe.Pointer(bp + 72 /* pStmt */))) == SQLITE_ROW) { + var iId I64 = Xsqlite3_column_int64(tls, *(*uintptr)(unsafe.Pointer(bp + 72 /* pStmt */)), 0) pFts5 = sqlite3Fts5TableFromCsrid(tls, (*Fts5VocabTable)(unsafe.Pointer(pTab)).FpGlobal, iId) } (*Fts5VocabTable)(unsafe.Pointer(pTab)).FbBusy = uint32(0) - if *(*int32)(unsafe.Pointer(bp + 88 /* rc */)) == SQLITE_OK { + if *(*int32)(unsafe.Pointer(bp + 64 /* rc */)) == SQLITE_OK { if pFts5 == uintptr(0) { - *(*int32)(unsafe.Pointer(bp + 88 /* rc */)) = Xsqlite3_finalize(tls, *(*uintptr)(unsafe.Pointer(bp + 96 /* pStmt */))) - *(*uintptr)(unsafe.Pointer(bp + 96 /* pStmt */)) = uintptr(0) - if *(*int32)(unsafe.Pointer(bp + 88 /* rc */)) == SQLITE_OK { + *(*int32)(unsafe.Pointer(bp + 64 /* rc */)) = Xsqlite3_finalize(tls, *(*uintptr)(unsafe.Pointer(bp + 72 /* pStmt */))) + *(*uintptr)(unsafe.Pointer(bp + 72 /* pStmt */)) = uintptr(0) + if *(*int32)(unsafe.Pointer(bp + 64 /* rc */)) == SQLITE_OK { (*Sqlite3_vtab)(unsafe.Pointer(pVTab)).FzErrMsg = Xsqlite3_mprintf(tls, - ts+47807 /* "no such fts5 tab..." */, libc.VaList(bp+64, (*Fts5VocabTable)(unsafe.Pointer(pTab)).FzFts5Db, (*Fts5VocabTable)(unsafe.Pointer(pTab)).FzFts5Tbl)) - *(*int32)(unsafe.Pointer(bp + 88 /* rc */)) = SQLITE_ERROR + ts+47807 /* "no such fts5 tab..." */, libc.VaList(bp+48, (*Fts5VocabTable)(unsafe.Pointer(pTab)).FzFts5Db, (*Fts5VocabTable)(unsafe.Pointer(pTab)).FzFts5Tbl)) + *(*int32)(unsafe.Pointer(bp + 64 /* rc */)) = SQLITE_ERROR } } else { - *(*int32)(unsafe.Pointer(bp + 88 /* rc */)) = sqlite3Fts5FlushToDisk(tls, pFts5) + *(*int32)(unsafe.Pointer(bp + 64 /* rc */)) = sqlite3Fts5FlushToDisk(tls, pFts5) } } - if *(*int32)(unsafe.Pointer(bp + 88 /* rc */)) == SQLITE_OK { + if *(*int32)(unsafe.Pointer(bp + 64 /* rc */)) == SQLITE_OK { var nByte int32 = (int32(((uint64((*Fts5Config)(unsafe.Pointer((*Fts5Table)(unsafe.Pointer(pFts5)).FpConfig)).FnCol) * uint64(unsafe.Sizeof(I64(0)))) * uint64(2)) + uint64(unsafe.Sizeof(Fts5VocabCursor{})))) - pCsr = sqlite3Fts5MallocZero(tls, bp+88 /* &rc */, int64(nByte)) + pCsr = sqlite3Fts5MallocZero(tls, bp+64 /* &rc */, int64(nByte)) } if pCsr != 0 { (*Fts5VocabCursor)(unsafe.Pointer(pCsr)).FpFts5 = pFts5 - (*Fts5VocabCursor)(unsafe.Pointer(pCsr)).FpStmt = *(*uintptr)(unsafe.Pointer(bp + 96 /* pStmt */)) + (*Fts5VocabCursor)(unsafe.Pointer(pCsr)).FpStmt = *(*uintptr)(unsafe.Pointer(bp + 72 /* pStmt */)) (*Fts5VocabCursor)(unsafe.Pointer(pCsr)).FaCnt = (pCsr + 1*120) (*Fts5VocabCursor)(unsafe.Pointer(pCsr)).FaDoc = ((*Fts5VocabCursor)(unsafe.Pointer(pCsr)).FaCnt + uintptr((*Fts5Config)(unsafe.Pointer((*Fts5Table)(unsafe.Pointer(pFts5)).FpConfig)).FnCol)*8) } else { - Xsqlite3_finalize(tls, *(*uintptr)(unsafe.Pointer(bp + 96 /* pStmt */))) + Xsqlite3_finalize(tls, *(*uintptr)(unsafe.Pointer(bp + 72 /* pStmt */))) } *(*uintptr)(unsafe.Pointer(ppCsr)) = pCsr - return *(*int32)(unsafe.Pointer(bp + 88 /* rc */)) + return *(*int32)(unsafe.Pointer(bp + 64 /* rc */)) } func fts5VocabResetCursor(tls *libc.TLS, pCsr uintptr) { /* sqlite3.c:234811:13: */ diff --git a/speedtest1/main_windows_amd64.go b/speedtest1/main_windows_amd64.go index 66dd26b..70831d4 100644 --- a/speedtest1/main_windows_amd64.go +++ b/speedtest1/main_windows_amd64.go @@ -3538,8 +3538,8 @@ func roundup_allones(tls *libc.TLS, limit uint32) uint32 { /* speedtest1.c:300:1 // // speedtest1_numbername(123) -> "one hundred twenty three" func speedtest1_numbername(tls *libc.TLS, n uint32, zOut uintptr, nOut int32) int32 { /* speedtest1.c:314:5: */ - bp := tls.Alloc(48) - defer tls.Free(48) + bp := tls.Alloc(24) + defer tls.Free(24) var i int32 = 0 @@ -3579,7 +3579,7 @@ func speedtest1_numbername(tls *libc.TLS, n uint32, zOut uintptr, nOut int32) in if (i != 0) && (i < (nOut - 1)) { *(*int8)(unsafe.Pointer(zOut + uintptr(libc.PostIncInt32(&i, 1)))) = int8(' ') } - sqlite3.Xsqlite3_snprintf(tls, (nOut - i), (zOut + uintptr(i)), ts+2316 /* "%s" */, libc.VaList(bp+16, tens[(n/uint32(10))])) + sqlite3.Xsqlite3_snprintf(tls, (nOut - i), (zOut + uintptr(i)), ts+2316 /* "%s" */, libc.VaList(bp+8, tens[(n/uint32(10))])) i = i + (int32(libc.Xstrlen(tls, (zOut + uintptr(i))))) n = (n % uint32(10)) } @@ -3587,7 +3587,7 @@ func speedtest1_numbername(tls *libc.TLS, n uint32, zOut uintptr, nOut int32) in if (i != 0) && (i < (nOut - 1)) { *(*int8)(unsafe.Pointer(zOut + uintptr(libc.PostIncInt32(&i, 1)))) = int8(' ') } - sqlite3.Xsqlite3_snprintf(tls, (nOut - i), (zOut + uintptr(i)), ts+2316 /* "%s" */, libc.VaList(bp+32, ones[n])) + sqlite3.Xsqlite3_snprintf(tls, (nOut - i), (zOut + uintptr(i)), ts+2316 /* "%s" */, libc.VaList(bp+16, ones[n])) i = i + (int32(libc.Xstrlen(tls, (zOut + uintptr(i))))) } if i == 0 { @@ -3608,8 +3608,8 @@ var tens = [10]uintptr{ts + 2212 /* "" */, ts + 2369 /* "ten" */, ts + 2449 /* " var zDots = *(*[72]int8)(unsafe.Pointer(ts + 2503 /* "..................." */)) /* speedtest1.c:370:19 */ func speedtest1_begin_test(tls *libc.TLS, iTestNum int32, zTestName uintptr, va uintptr) { /* speedtest1.c:372:6: */ - bp := tls.Alloc(80) - defer tls.Free(80) + bp := tls.Alloc(64) + defer tls.Free(64) var n int32 = int32(libc.Xstrlen(tls, zTestName)) var zName uintptr @@ -3626,7 +3626,7 @@ func speedtest1_begin_test(tls *libc.TLS, iTestNum int32, zTestName uintptr, va if g.bSqlOnly != 0 { libc.Xprintf(tls, ts+2575 /* "/* %4d - %s%.*s ..." */, libc.VaList(bp, iTestNum, zName, (NAMEWIDTH-n), uintptr(unsafe.Pointer(&zDots)))) } else { - libc.Xprintf(tls, ts+2595 /* "%4d - %s%.*s " */, libc.VaList(bp+40, iTestNum, zName, (NAMEWIDTH-n), uintptr(unsafe.Pointer(&zDots)))) + libc.Xprintf(tls, ts+2595 /* "%4d - %s%.*s " */, libc.VaList(bp+32, iTestNum, zName, (NAMEWIDTH-n), uintptr(unsafe.Pointer(&zDots)))) libc.Xfflush(tls, libc.X__acrt_iob_func(tls, uint32(1))) } sqlite3.Xsqlite3_free(tls, zName) @@ -3638,8 +3638,8 @@ func speedtest1_begin_test(tls *libc.TLS, iTestNum int32, zTestName uintptr, va // Complete a test case func speedtest1_end_test(tls *libc.TLS) { /* speedtest1.c:401:6: */ - bp := tls.Alloc(24) - defer tls.Free(24) + bp := tls.Alloc(16) + defer tls.Free(16) var iElapseTime sqlite3_int64 = (speedtest1_timestamp(tls) - g.iStart) if g.doCheckpoint != 0 { @@ -3657,8 +3657,8 @@ func speedtest1_end_test(tls *libc.TLS) { /* speedtest1.c:401:6: */ // Report end of testing func speedtest1_final(tls *libc.TLS) { /* speedtest1.c:415:6: */ - bp := tls.Alloc(72) - defer tls.Free(72) + bp := tls.Alloc(48) + defer tls.Free(48) if !(g.bSqlOnly != 0) { libc.Xprintf(tls, ts+2643 /* " TOTAL%.*s..." */, libc.VaList(bp, (NAMEWIDTH-5), uintptr(unsafe.Pointer(&zDots)), @@ -3666,11 +3666,11 @@ func speedtest1_final(tls *libc.TLS) { /* speedtest1.c:415:6: */ } if g.bVerify != 0 { var i int32 - libc.Xprintf(tls, ts+2671 /* "Verification Has..." */, libc.VaList(bp+40, g.nResByte)) + libc.Xprintf(tls, ts+2671 /* "Verification Has..." */, libc.VaList(bp+32, g.nResByte)) HashUpdate(tls, ts+2696 /* "\n" */, uint32(1)) HashFinal(tls) for i = 0; i < 24; i++ { - libc.Xprintf(tls, ts+2698 /* "%02x" */, libc.VaList(bp+56, int32(*(*uint8)(unsafe.Pointer((uintptr(unsafe.Pointer(&g)) + 3136 /* &.hash */ + 259 /* &.r */) + uintptr(i)))))) + libc.Xprintf(tls, ts+2698 /* "%02x" */, libc.VaList(bp+40, int32(*(*uint8)(unsafe.Pointer((uintptr(unsafe.Pointer(&g)) + 3136 /* &.hash */ + 259 /* &.r */) + uintptr(i)))))) } if (g.hashFile != 0) && (g.hashFile != (libc.X__acrt_iob_func(tls, uint32(1)))) { libc.Xfclose(tls, g.hashFile) @@ -3681,8 +3681,8 @@ func speedtest1_final(tls *libc.TLS) { /* speedtest1.c:415:6: */ // Print an SQL statement to standard output func printSql(tls *libc.TLS, zSql uintptr) { /* speedtest1.c:438:13: */ - bp := tls.Alloc(48) - defer tls.Free(48) + bp := tls.Alloc(32) + defer tls.Free(32) var n int32 = int32(libc.Xstrlen(tls, zSql)) for (n > 0) && ((int32(*(*int8)(unsafe.Pointer(zSql + uintptr((n - 1))))) == ';') || (libc.Xisspace(tls, int32(uint8(*(*int8)(unsafe.Pointer(zSql + uintptr((n - 1))))))) != 0)) { @@ -3696,7 +3696,7 @@ func printSql(tls *libc.TLS, zSql uintptr) { /* speedtest1.c:438:13: */ (((sqlite3.Xsqlite3_strglob(tls, ts+2719 /* "CREATE *" */, zSql) == 0) || (sqlite3.Xsqlite3_strglob(tls, ts+2728 /* "DROP *" */, zSql) == 0)) || (sqlite3.Xsqlite3_strglob(tls, ts+2735 /* "ALTER *" */, zSql) == 0)) { - libc.Xprintf(tls, ts+2712 /* "%.*s;\n" */, libc.VaList(bp+24, n, zSql)) + libc.Xprintf(tls, ts+2712 /* "%.*s;\n" */, libc.VaList(bp+16, n, zSql)) } } @@ -3710,8 +3710,8 @@ func speedtest1_shrink_memory(tls *libc.TLS) { /* speedtest1.c:458:6: */ // Run SQL func speedtest1_exec(tls *libc.TLS, zFormat uintptr, va uintptr) { /* speedtest1.c:465:6: */ - bp := tls.Alloc(48) - defer tls.Free(48) + bp := tls.Alloc(32) + defer tls.Free(32) var ap va_list _ = ap @@ -3722,13 +3722,13 @@ func speedtest1_exec(tls *libc.TLS, zFormat uintptr, va uintptr) { /* speedtest1 if g.bSqlOnly != 0 { printSql(tls, zSql) } else { - *(*uintptr)(unsafe.Pointer(bp + 40 /* zErrMsg */)) = uintptr(0) - var rc int32 = sqlite3.Xsqlite3_exec(tls, g.db, zSql, uintptr(0), uintptr(0), bp+40 /* &zErrMsg */) - if *(*uintptr)(unsafe.Pointer(bp + 40 /* zErrMsg */)) != 0 { - fatal_error(tls, ts+2743 /* "SQL error: %s\n%s..." */, libc.VaList(bp, *(*uintptr)(unsafe.Pointer(bp + 40 /* zErrMsg */)), zSql)) + *(*uintptr)(unsafe.Pointer(bp + 24 /* zErrMsg */)) = uintptr(0) + var rc int32 = sqlite3.Xsqlite3_exec(tls, g.db, zSql, uintptr(0), uintptr(0), bp+24 /* &zErrMsg */) + if *(*uintptr)(unsafe.Pointer(bp + 24 /* zErrMsg */)) != 0 { + fatal_error(tls, ts+2743 /* "SQL error: %s\n%s..." */, libc.VaList(bp, *(*uintptr)(unsafe.Pointer(bp + 24 /* zErrMsg */)), zSql)) } if rc != SQLITE_OK { - fatal_error(tls, ts+2761 /* "exec error: %s\n" */, libc.VaList(bp+24, sqlite3.Xsqlite3_errmsg(tls, g.db))) + fatal_error(tls, ts+2761 /* "exec error: %s\n" */, libc.VaList(bp+16, sqlite3.Xsqlite3_errmsg(tls, g.db))) } } sqlite3.Xsqlite3_free(tls, zSql) @@ -3739,13 +3739,13 @@ func speedtest1_exec(tls *libc.TLS, zFormat uintptr, va uintptr) { /* speedtest1 // returned string is obtained from sqlite_malloc() and must be freed by // the caller. func speedtest1_once(tls *libc.TLS, zFormat uintptr, va uintptr) uintptr { /* speedtest1.c:487:6: */ - bp := tls.Alloc(40) - defer tls.Free(40) + bp := tls.Alloc(24) + defer tls.Free(24) var ap va_list _ = ap var zSql uintptr - // var pStmt uintptr at bp+32, 8 + // var pStmt uintptr at bp+16, 8 var zResult uintptr = uintptr(0) ap = va @@ -3754,17 +3754,17 @@ func speedtest1_once(tls *libc.TLS, zFormat uintptr, va uintptr) uintptr { /* sp if g.bSqlOnly != 0 { printSql(tls, zSql) } else { - var rc int32 = sqlite3.Xsqlite3_prepare_v2(tls, g.db, zSql, -1, bp+32 /* &pStmt */, uintptr(0)) + var rc int32 = sqlite3.Xsqlite3_prepare_v2(tls, g.db, zSql, -1, bp+16 /* &pStmt */, uintptr(0)) if rc != 0 { fatal_error(tls, ts+2777 /* "SQL error: %s\n" */, libc.VaList(bp, sqlite3.Xsqlite3_errmsg(tls, g.db))) } - if sqlite3.Xsqlite3_step(tls, *(*uintptr)(unsafe.Pointer(bp + 32 /* pStmt */))) == SQLITE_ROW { - var z uintptr = sqlite3.Xsqlite3_column_text(tls, *(*uintptr)(unsafe.Pointer(bp + 32 /* pStmt */)), 0) + if sqlite3.Xsqlite3_step(tls, *(*uintptr)(unsafe.Pointer(bp + 16 /* pStmt */))) == SQLITE_ROW { + var z uintptr = sqlite3.Xsqlite3_column_text(tls, *(*uintptr)(unsafe.Pointer(bp + 16 /* pStmt */)), 0) if z != 0 { - zResult = sqlite3.Xsqlite3_mprintf(tls, ts+2316 /* "%s" */, libc.VaList(bp+16, z)) + zResult = sqlite3.Xsqlite3_mprintf(tls, ts+2316 /* "%s" */, libc.VaList(bp+8, z)) } } - sqlite3.Xsqlite3_finalize(tls, *(*uintptr)(unsafe.Pointer(bp + 32 /* pStmt */))) + sqlite3.Xsqlite3_finalize(tls, *(*uintptr)(unsafe.Pointer(bp + 16 /* pStmt */))) } sqlite3.Xsqlite3_free(tls, zSql) speedtest1_shrink_memory(tls) @@ -3773,8 +3773,8 @@ func speedtest1_once(tls *libc.TLS, zFormat uintptr, va uintptr) uintptr { /* sp // Prepare an SQL statement func speedtest1_prepare(tls *libc.TLS, zFormat uintptr, va uintptr) { /* speedtest1.c:514:6: */ - bp := tls.Alloc(16) - defer tls.Free(16) + bp := tls.Alloc(8) + defer tls.Free(8) var ap va_list _ = ap @@ -3874,8 +3874,8 @@ func speedtest1_run(tls *libc.TLS) { /* speedtest1.c:534:6: */ // The sqlite3_trace() callback function func traceCallback(tls *libc.TLS, NotUsed uintptr, zSql uintptr) { /* speedtest1.c:601:13: */ - bp := tls.Alloc(24) - defer tls.Free(24) + bp := tls.Alloc(16) + defer tls.Free(16) var n int32 = int32(libc.Xstrlen(tls, zSql)) for (n > 0) && ((int32(*(*int8)(unsafe.Pointer(zSql + uintptr((n - 1))))) == ';') || (libc.Xisspace(tls, int32(uint8(*(*int8)(unsafe.Pointer(zSql + uintptr((n - 1))))))) != 0)) { @@ -3907,8 +3907,8 @@ func est_square_root(tls *libc.TLS, x int32) int32 { /* speedtest1.c:619:12: */ // The main and default testset func testset_main(tls *libc.TLS) { /* speedtest1.c:696:6: */ - bp := tls.Alloc(2968) - defer tls.Free(2968) + bp := tls.Alloc(2568) + defer tls.Free(2568) var i int32 // Loop counter var n int32 // iteration count @@ -3917,70 +3917,70 @@ func testset_main(tls *libc.TLS) { /* speedtest1.c:696:6: */ var x1 uint32 = uint32(0) var x2 uint32 = uint32(0) // Parameters var len int32 = 0 // Length of the zNum[] string - // var zNum [2000]int8 at bp+968, 2000 + // var zNum [2000]int8 at bp+568, 2000 // A number name sz = libc.AssignInt32(&n, (g.szTest * 500)) - *(*int8)(unsafe.Pointer(bp + 968 /* &zNum[0] */)) = int8(0) + *(*int8)(unsafe.Pointer(bp + 568 /* &zNum[0] */)) = int8(0) maxb = int32(roundup_allones(tls, uint32(sz))) speedtest1_begin_test(tls, 100, ts+2820 /* "%d INSERTs into ..." */, libc.VaList(bp, n)) speedtest1_exec(tls, ts+2856 /* "BEGIN" */, 0) speedtest1_exec(tls, ts+2862, /* "CREATE%s TABLE z..." */ - libc.VaList(bp+16, isTemp(tls, 9), g.zNN, g.zNN, g.zNN)) - speedtest1_prepare(tls, ts+2920 /* "INSERT INTO z1 V..." */, libc.VaList(bp+56, n)) + libc.VaList(bp+8, isTemp(tls, 9), g.zNN, g.zNN, g.zNN)) + speedtest1_prepare(tls, ts+2920 /* "INSERT INTO z1 V..." */, libc.VaList(bp+40, n)) for i = 1; i <= n; i++ { x1 = swizzle(tls, uint32(i), uint32(maxb)) - speedtest1_numbername(tls, x1, bp+968 /* &zNum[0] */, int32(unsafe.Sizeof([2000]int8{}))) + speedtest1_numbername(tls, x1, bp+568 /* &zNum[0] */, int32(unsafe.Sizeof([2000]int8{}))) sqlite3.Xsqlite3_bind_int64(tls, g.pStmt, 1, sqlite3_int64(x1)) sqlite3.Xsqlite3_bind_int(tls, g.pStmt, 2, i) - sqlite3.Xsqlite3_bind_text(tls, g.pStmt, 3, bp+968 /* &zNum[0] */, -1, uintptr(0)) + sqlite3.Xsqlite3_bind_text(tls, g.pStmt, 3, bp+568 /* &zNum[0] */, -1, uintptr(0)) speedtest1_run(tls) } speedtest1_exec(tls, ts+2966 /* "COMMIT" */, 0) speedtest1_end_test(tls) n = sz - speedtest1_begin_test(tls, 110, ts+2973 /* "%d ordered INSER..." */, libc.VaList(bp+72, n)) + speedtest1_begin_test(tls, 110, ts+2973 /* "%d ordered INSER..." */, libc.VaList(bp+48, n)) speedtest1_exec(tls, ts+2856 /* "BEGIN" */, 0) speedtest1_exec(tls, ts+3010, /* "CREATE%s TABLE z..." */ - libc.VaList(bp+88, isTemp(tls, 5), g.zNN, g.zPK, g.zNN, g.zNN, g.zWR)) - speedtest1_prepare(tls, ts+3073 /* "INSERT INTO z2 V..." */, libc.VaList(bp+144, n)) + libc.VaList(bp+56, isTemp(tls, 5), g.zNN, g.zPK, g.zNN, g.zNN, g.zWR)) + speedtest1_prepare(tls, ts+3073 /* "INSERT INTO z2 V..." */, libc.VaList(bp+104, n)) for i = 1; i <= n; i++ { x1 = swizzle(tls, uint32(i), uint32(maxb)) - speedtest1_numbername(tls, x1, bp+968 /* &zNum[0] */, int32(unsafe.Sizeof([2000]int8{}))) + speedtest1_numbername(tls, x1, bp+568 /* &zNum[0] */, int32(unsafe.Sizeof([2000]int8{}))) sqlite3.Xsqlite3_bind_int(tls, g.pStmt, 1, i) sqlite3.Xsqlite3_bind_int64(tls, g.pStmt, 2, sqlite3_int64(x1)) - sqlite3.Xsqlite3_bind_text(tls, g.pStmt, 3, bp+968 /* &zNum[0] */, -1, uintptr(0)) + sqlite3.Xsqlite3_bind_text(tls, g.pStmt, 3, bp+568 /* &zNum[0] */, -1, uintptr(0)) speedtest1_run(tls) } speedtest1_exec(tls, ts+2966 /* "COMMIT" */, 0) speedtest1_end_test(tls) n = sz - speedtest1_begin_test(tls, 120, ts+3118 /* "%d unordered INS..." */, libc.VaList(bp+160, n)) + speedtest1_begin_test(tls, 120, ts+3118 /* "%d unordered INS..." */, libc.VaList(bp+112, n)) speedtest1_exec(tls, ts+2856 /* "BEGIN" */, 0) speedtest1_exec(tls, ts+3157, /* "CREATE%s TABLE t..." */ - libc.VaList(bp+176, isTemp(tls, 3), g.zNN, g.zPK, g.zNN, g.zNN, g.zWR)) - speedtest1_prepare(tls, ts+3220 /* "INSERT INTO t3 V..." */, libc.VaList(bp+232, n)) + libc.VaList(bp+120, isTemp(tls, 3), g.zNN, g.zPK, g.zNN, g.zNN, g.zWR)) + speedtest1_prepare(tls, ts+3220 /* "INSERT INTO t3 V..." */, libc.VaList(bp+168, n)) for i = 1; i <= n; i++ { x1 = swizzle(tls, uint32(i), uint32(maxb)) - speedtest1_numbername(tls, x1, bp+968 /* &zNum[0] */, int32(unsafe.Sizeof([2000]int8{}))) + speedtest1_numbername(tls, x1, bp+568 /* &zNum[0] */, int32(unsafe.Sizeof([2000]int8{}))) sqlite3.Xsqlite3_bind_int(tls, g.pStmt, 2, i) sqlite3.Xsqlite3_bind_int64(tls, g.pStmt, 1, sqlite3_int64(x1)) - sqlite3.Xsqlite3_bind_text(tls, g.pStmt, 3, bp+968 /* &zNum[0] */, -1, uintptr(0)) + sqlite3.Xsqlite3_bind_text(tls, g.pStmt, 3, bp+568 /* &zNum[0] */, -1, uintptr(0)) speedtest1_run(tls) } speedtest1_exec(tls, ts+2966 /* "COMMIT" */, 0) speedtest1_end_test(tls) n = 25 - speedtest1_begin_test(tls, 130, ts+3265 /* "%d SELECTS, nume..." */, libc.VaList(bp+248, n)) + speedtest1_begin_test(tls, 130, ts+3265 /* "%d SELECTS, nume..." */, libc.VaList(bp+176, n)) speedtest1_exec(tls, ts+2856 /* "BEGIN" */, 0) speedtest1_prepare(tls, - ts+3304 /* "SELECT count(*),..." */, libc.VaList(bp+264, n)) + ts+3304 /* "SELECT count(*),..." */, libc.VaList(bp+184, n)) for i = 1; i <= n; i++ { if ((i - 1) % g.nRepeat) == 0 { x1 = (speedtest1_random(tls) % uint32(maxb)) @@ -3994,60 +3994,60 @@ func testset_main(tls *libc.TLS) { /* speedtest1.c:696:6: */ speedtest1_end_test(tls) n = 10 - speedtest1_begin_test(tls, 140, ts+3409 /* "%d SELECTS, LIKE..." */, libc.VaList(bp+280, n)) + speedtest1_begin_test(tls, 140, ts+3409 /* "%d SELECTS, LIKE..." */, libc.VaList(bp+192, n)) speedtest1_exec(tls, ts+2856 /* "BEGIN" */, 0) speedtest1_prepare(tls, - ts+3437 /* "SELECT count(*),..." */, libc.VaList(bp+296, n)) + ts+3437 /* "SELECT count(*),..." */, libc.VaList(bp+200, n)) for i = 1; i <= n; i++ { if ((i - 1) % g.nRepeat) == 0 { x1 = (speedtest1_random(tls) % uint32(maxb)) - *(*int8)(unsafe.Pointer(bp + 968 /* &zNum[0] */)) = int8('%') - len = speedtest1_numbername(tls, uint32(i), (bp + 968 /* &zNum[0] */ + uintptr(1)), (int32(uint64(unsafe.Sizeof([2000]int8{})) - uint64(2)))) - *(*int8)(unsafe.Pointer(bp + 968 /* &zNum[0] */ + uintptr(len))) = int8('%') - *(*int8)(unsafe.Pointer(bp + 968 /* &zNum[0] */ + uintptr((len + 1)))) = int8(0) + *(*int8)(unsafe.Pointer(bp + 568 /* &zNum[0] */)) = int8('%') + len = speedtest1_numbername(tls, uint32(i), (bp + 568 /* &zNum[0] */ + uintptr(1)), (int32(uint64(unsafe.Sizeof([2000]int8{})) - uint64(2)))) + *(*int8)(unsafe.Pointer(bp + 568 /* &zNum[0] */ + uintptr(len))) = int8('%') + *(*int8)(unsafe.Pointer(bp + 568 /* &zNum[0] */ + uintptr((len + 1)))) = int8(0) } - sqlite3.Xsqlite3_bind_text(tls, g.pStmt, 1, bp+968 /* &zNum[0] */, (len + 1), uintptr(0)) + sqlite3.Xsqlite3_bind_text(tls, g.pStmt, 1, bp+568 /* &zNum[0] */, (len + 1), uintptr(0)) speedtest1_run(tls) } speedtest1_exec(tls, ts+2966 /* "COMMIT" */, 0) speedtest1_end_test(tls) n = 10 - speedtest1_begin_test(tls, 142, ts+3532 /* "%d SELECTS w/ORD..." */, libc.VaList(bp+312, n)) + speedtest1_begin_test(tls, 142, ts+3532 /* "%d SELECTS w/ORD..." */, libc.VaList(bp+208, n)) speedtest1_exec(tls, ts+2856 /* "BEGIN" */, 0) speedtest1_prepare(tls, - ts+3565 /* "SELECT a, b, c F..." */, libc.VaList(bp+328, n)) + ts+3565 /* "SELECT a, b, c F..." */, libc.VaList(bp+216, n)) for i = 1; i <= n; i++ { if ((i - 1) % g.nRepeat) == 0 { x1 = (speedtest1_random(tls) % uint32(maxb)) - *(*int8)(unsafe.Pointer(bp + 968 /* &zNum[0] */)) = int8('%') - len = speedtest1_numbername(tls, uint32(i), (bp + 968 /* &zNum[0] */ + uintptr(1)), (int32(uint64(unsafe.Sizeof([2000]int8{})) - uint64(2)))) - *(*int8)(unsafe.Pointer(bp + 968 /* &zNum[0] */ + uintptr(len))) = int8('%') - *(*int8)(unsafe.Pointer(bp + 968 /* &zNum[0] */ + uintptr((len + 1)))) = int8(0) + *(*int8)(unsafe.Pointer(bp + 568 /* &zNum[0] */)) = int8('%') + len = speedtest1_numbername(tls, uint32(i), (bp + 568 /* &zNum[0] */ + uintptr(1)), (int32(uint64(unsafe.Sizeof([2000]int8{})) - uint64(2)))) + *(*int8)(unsafe.Pointer(bp + 568 /* &zNum[0] */ + uintptr(len))) = int8('%') + *(*int8)(unsafe.Pointer(bp + 568 /* &zNum[0] */ + uintptr((len + 1)))) = int8(0) } - sqlite3.Xsqlite3_bind_text(tls, g.pStmt, 1, bp+968 /* &zNum[0] */, (len + 1), uintptr(0)) + sqlite3.Xsqlite3_bind_text(tls, g.pStmt, 1, bp+568 /* &zNum[0] */, (len + 1), uintptr(0)) speedtest1_run(tls) } speedtest1_exec(tls, ts+2966 /* "COMMIT" */, 0) speedtest1_end_test(tls) n = 10 // g.szTest/5; - speedtest1_begin_test(tls, 145, ts+3629 /* "%d SELECTS w/ORD..." */, libc.VaList(bp+344, n)) + speedtest1_begin_test(tls, 145, ts+3629 /* "%d SELECTS w/ORD..." */, libc.VaList(bp+224, n)) speedtest1_exec(tls, ts+2856 /* "BEGIN" */, 0) speedtest1_prepare(tls, - ts+3672 /* "SELECT a, b, c F..." */, libc.VaList(bp+360, n)) + ts+3672 /* "SELECT a, b, c F..." */, libc.VaList(bp+232, n)) for i = 1; i <= n; i++ { if ((i - 1) % g.nRepeat) == 0 { x1 = (speedtest1_random(tls) % uint32(maxb)) - *(*int8)(unsafe.Pointer(bp + 968 /* &zNum[0] */)) = int8('%') - len = speedtest1_numbername(tls, uint32(i), (bp + 968 /* &zNum[0] */ + uintptr(1)), (int32(uint64(unsafe.Sizeof([2000]int8{})) - uint64(2)))) - *(*int8)(unsafe.Pointer(bp + 968 /* &zNum[0] */ + uintptr(len))) = int8('%') - *(*int8)(unsafe.Pointer(bp + 968 /* &zNum[0] */ + uintptr((len + 1)))) = int8(0) + *(*int8)(unsafe.Pointer(bp + 568 /* &zNum[0] */)) = int8('%') + len = speedtest1_numbername(tls, uint32(i), (bp + 568 /* &zNum[0] */ + uintptr(1)), (int32(uint64(unsafe.Sizeof([2000]int8{})) - uint64(2)))) + *(*int8)(unsafe.Pointer(bp + 568 /* &zNum[0] */ + uintptr(len))) = int8('%') + *(*int8)(unsafe.Pointer(bp + 568 /* &zNum[0] */ + uintptr((len + 1)))) = int8(0) } - sqlite3.Xsqlite3_bind_text(tls, g.pStmt, 1, bp+968 /* &zNum[0] */, (len + 1), uintptr(0)) + sqlite3.Xsqlite3_bind_text(tls, g.pStmt, 1, bp+568 /* &zNum[0] */, (len + 1), uintptr(0)) speedtest1_run(tls) } speedtest1_exec(tls, ts+2966 /* "COMMIT" */, 0) @@ -4064,11 +4064,11 @@ func testset_main(tls *libc.TLS) { /* speedtest1.c:696:6: */ speedtest1_end_test(tls) n = (sz / 5) - speedtest1_begin_test(tls, 160, ts+3941 /* "%d SELECTS, nume..." */, libc.VaList(bp+376, n)) + speedtest1_begin_test(tls, 160, ts+3941 /* "%d SELECTS, nume..." */, libc.VaList(bp+240, n)) speedtest1_exec(tls, ts+2856 /* "BEGIN" */, 0) speedtest1_prepare(tls, - ts+3978 /* "SELECT count(*),..." */, libc.VaList(bp+392, n)) + ts+3978 /* "SELECT count(*),..." */, libc.VaList(bp+248, n)) for i = 1; i <= n; i++ { if ((i - 1) % g.nRepeat) == 0 { x1 = (speedtest1_random(tls) % uint32(maxb)) @@ -4082,11 +4082,11 @@ func testset_main(tls *libc.TLS) { /* speedtest1.c:696:6: */ speedtest1_end_test(tls) n = (sz / 5) - speedtest1_begin_test(tls, 161, ts+4083 /* "%d SELECTS, nume..." */, libc.VaList(bp+408, n)) + speedtest1_begin_test(tls, 161, ts+4083 /* "%d SELECTS, nume..." */, libc.VaList(bp+256, n)) speedtest1_exec(tls, ts+2856 /* "BEGIN" */, 0) speedtest1_prepare(tls, - ts+4115 /* "SELECT count(*),..." */, libc.VaList(bp+424, n)) + ts+4115 /* "SELECT count(*),..." */, libc.VaList(bp+264, n)) for i = 1; i <= n; i++ { if ((i - 1) % g.nRepeat) == 0 { x1 = (speedtest1_random(tls) % uint32(maxb)) @@ -4100,29 +4100,29 @@ func testset_main(tls *libc.TLS) { /* speedtest1.c:696:6: */ speedtest1_end_test(tls) n = (sz / 5) - speedtest1_begin_test(tls, 170, ts+4220 /* "%d SELECTS, text..." */, libc.VaList(bp+440, n)) + speedtest1_begin_test(tls, 170, ts+4220 /* "%d SELECTS, text..." */, libc.VaList(bp+272, n)) speedtest1_exec(tls, ts+2856 /* "BEGIN" */, 0) speedtest1_prepare(tls, - ts+4254 /* "SELECT count(*),..." */, libc.VaList(bp+456, n)) + ts+4254 /* "SELECT count(*),..." */, libc.VaList(bp+280, n)) for i = 1; i <= n; i++ { if ((i - 1) % g.nRepeat) == 0 { x1 = swizzle(tls, uint32(i), uint32(maxb)) - len = speedtest1_numbername(tls, x1, bp+968 /* &zNum[0] */, (int32(uint64(unsafe.Sizeof([2000]int8{})) - uint64(1)))) + len = speedtest1_numbername(tls, x1, bp+568 /* &zNum[0] */, (int32(uint64(unsafe.Sizeof([2000]int8{})) - uint64(1)))) } - sqlite3.Xsqlite3_bind_text(tls, g.pStmt, 1, bp+968 /* &zNum[0] */, len, uintptr(0)) + sqlite3.Xsqlite3_bind_text(tls, g.pStmt, 1, bp+568 /* &zNum[0] */, len, uintptr(0)) speedtest1_run(tls) } speedtest1_exec(tls, ts+2966 /* "COMMIT" */, 0) speedtest1_end_test(tls) n = sz - speedtest1_begin_test(tls, 180, ts+4366 /* "%d INSERTS with ..." */, libc.VaList(bp+472, n)) + speedtest1_begin_test(tls, 180, ts+4366 /* "%d INSERTS with ..." */, libc.VaList(bp+288, n)) speedtest1_exec(tls, ts+2856 /* "BEGIN" */, 0) speedtest1_exec(tls, ts+4396, /* "CREATE%s TABLE t..." */ - libc.VaList(bp+488, isTemp(tls, 1), g.zNN, g.zPK, g.zNN, g.zNN, g.zWR)) + libc.VaList(bp+296, isTemp(tls, 1), g.zNN, g.zPK, g.zNN, g.zNN, g.zWR)) speedtest1_exec(tls, ts+4467 /* "CREATE INDEX t4b..." */, 0) speedtest1_exec(tls, ts+4493 /* "CREATE INDEX t4c..." */, 0) speedtest1_exec(tls, ts+4519 /* "INSERT INTO t4 S..." */, 0) @@ -4130,7 +4130,7 @@ func testset_main(tls *libc.TLS) { /* speedtest1.c:696:6: */ speedtest1_end_test(tls) n = sz - speedtest1_begin_test(tls, 190, ts+4551 /* "DELETE and REFIL..." */, libc.VaList(bp+544, n)) + speedtest1_begin_test(tls, 190, ts+4551 /* "DELETE and REFIL..." */, libc.VaList(bp+344, n)) speedtest1_exec(tls, ts+4579 /* "DELETE FROM z2;" */, 0) speedtest1_exec(tls, ts+4595 /* "INSERT INTO z2 S..." */, 0) speedtest1_end_test(tls) @@ -4145,10 +4145,10 @@ func testset_main(tls *libc.TLS) { /* speedtest1.c:696:6: */ speedtest1_end_test(tls) n = (sz / 5) - speedtest1_begin_test(tls, 230, ts+4731 /* "%d UPDATES, nume..." */, libc.VaList(bp+560, n)) + speedtest1_begin_test(tls, 230, ts+4731 /* "%d UPDATES, nume..." */, libc.VaList(bp+352, n)) speedtest1_exec(tls, ts+2856 /* "BEGIN" */, 0) speedtest1_prepare(tls, - ts+4768 /* "UPDATE z2 SET d=..." */, libc.VaList(bp+576, n)) + ts+4768 /* "UPDATE z2 SET d=..." */, libc.VaList(bp+360, n)) for i = 1; i <= n; i++ { x1 = (speedtest1_random(tls) % uint32(maxb)) x2 = (((speedtest1_random(tls) % uint32(10)) + (uint32(sz / 5000))) + x1) @@ -4160,10 +4160,10 @@ func testset_main(tls *libc.TLS) { /* speedtest1.c:696:6: */ speedtest1_end_test(tls) n = sz - speedtest1_begin_test(tls, 240, ts+4827 /* "%d UPDATES of in..." */, libc.VaList(bp+592, n)) + speedtest1_begin_test(tls, 240, ts+4827 /* "%d UPDATES of in..." */, libc.VaList(bp+368, n)) speedtest1_exec(tls, ts+2856 /* "BEGIN" */, 0) speedtest1_prepare(tls, - ts+4857 /* "UPDATE z2 SET d=..." */, libc.VaList(bp+608, n)) + ts+4857 /* "UPDATE z2 SET d=..." */, libc.VaList(bp+376, n)) for i = 1; i <= n; i++ { x1 = ((speedtest1_random(tls) % uint32(sz)) + uint32(1)) sqlite3.Xsqlite3_bind_int(tls, g.pStmt, 1, int32(x1)) @@ -4172,7 +4172,7 @@ func testset_main(tls *libc.TLS) { /* speedtest1.c:696:6: */ speedtest1_exec(tls, ts+2966 /* "COMMIT" */, 0) speedtest1_end_test(tls) - speedtest1_begin_test(tls, 250, ts+4901 /* "One big UPDATE o..." */, libc.VaList(bp+624, sz)) + speedtest1_begin_test(tls, 250, ts+4901 /* "One big UPDATE o..." */, libc.VaList(bp+384, sz)) speedtest1_exec(tls, ts+4942 /* "UPDATE z2 SET d=..." */, 0) speedtest1_end_test(tls) @@ -4181,10 +4181,10 @@ func testset_main(tls *libc.TLS) { /* speedtest1.c:696:6: */ speedtest1_end_test(tls) n = (sz / 5) - speedtest1_begin_test(tls, 270, ts+4995 /* "%d DELETEs, nume..." */, libc.VaList(bp+640, n)) + speedtest1_begin_test(tls, 270, ts+4995 /* "%d DELETEs, nume..." */, libc.VaList(bp+392, n)) speedtest1_exec(tls, ts+2856 /* "BEGIN" */, 0) speedtest1_prepare(tls, - ts+5032 /* "DELETE FROM z2 W..." */, libc.VaList(bp+656, n)) + ts+5032 /* "DELETE FROM z2 W..." */, libc.VaList(bp+400, n)) for i = 1; i <= n; i++ { x1 = ((speedtest1_random(tls) % uint32(maxb)) + uint32(1)) x2 = (((speedtest1_random(tls) % uint32(10)) + (uint32(sz / 5000))) + x1) @@ -4196,10 +4196,10 @@ func testset_main(tls *libc.TLS) { /* speedtest1.c:696:6: */ speedtest1_end_test(tls) n = sz - speedtest1_begin_test(tls, 280, ts+5086 /* "%d DELETEs of in..." */, libc.VaList(bp+672, n)) + speedtest1_begin_test(tls, 280, ts+5086 /* "%d DELETEs of in..." */, libc.VaList(bp+408, n)) speedtest1_exec(tls, ts+2856 /* "BEGIN" */, 0) speedtest1_prepare(tls, - ts+5116 /* "DELETE FROM t3 W..." */, libc.VaList(bp+688, n)) + ts+5116 /* "DELETE FROM t3 W..." */, libc.VaList(bp+416, n)) for i = 1; i <= n; i++ { x1 = ((speedtest1_random(tls) % uint32(sz)) + uint32(1)) sqlite3.Xsqlite3_bind_int(tls, g.pStmt, 1, int32(x1)) @@ -4208,12 +4208,12 @@ func testset_main(tls *libc.TLS) { /* speedtest1.c:696:6: */ speedtest1_exec(tls, ts+2966 /* "COMMIT" */, 0) speedtest1_end_test(tls) - speedtest1_begin_test(tls, 290, ts+5155 /* "Refill two %d-ro..." */, libc.VaList(bp+704, sz)) + speedtest1_begin_test(tls, 290, ts+5155 /* "Refill two %d-ro..." */, libc.VaList(bp+424, sz)) speedtest1_exec(tls, ts+5194 /* "REPLACE INTO z2(..." */, 0) speedtest1_exec(tls, ts+5238 /* "REPLACE INTO t3(..." */, 0) speedtest1_end_test(tls) - speedtest1_begin_test(tls, 300, ts+5282 /* "Refill a %d-row ..." */, libc.VaList(bp+720, sz)) + speedtest1_begin_test(tls, 300, ts+5282 /* "Refill a %d-row ..." */, libc.VaList(bp+432, sz)) speedtest1_exec(tls, ts+4579 /* "DELETE FROM z2;" */, 0) speedtest1_exec(tls, ts+5323 /* "INSERT INTO z2(a..." */, 0) @@ -4222,7 +4222,7 @@ func testset_main(tls *libc.TLS) { /* speedtest1.c:696:6: */ speedtest1_end_test(tls) n = (sz / 5) - speedtest1_begin_test(tls, 310, ts+5453 /* "%d four-ways joi..." */, libc.VaList(bp+736, n)) + speedtest1_begin_test(tls, 310, ts+5453 /* "%d four-ways joi..." */, libc.VaList(bp+440, n)) speedtest1_exec(tls, ts+2856 /* "BEGIN" */, 0) speedtest1_prepare(tls, @@ -4237,7 +4237,7 @@ func testset_main(tls *libc.TLS) { /* speedtest1.c:696:6: */ speedtest1_exec(tls, ts+2966 /* "COMMIT" */, 0) speedtest1_end_test(tls) - speedtest1_begin_test(tls, 320, ts+5585 /* "subquery in resu..." */, libc.VaList(bp+752, n)) + speedtest1_begin_test(tls, 320, ts+5585 /* "subquery in resu..." */, libc.VaList(bp+448, n)) speedtest1_prepare(tls, ts+5608 /* "SELECT sum(a), m..." */, 0) @@ -4246,24 +4246,24 @@ func testset_main(tls *libc.TLS) { /* speedtest1.c:696:6: */ speedtest1_end_test(tls) sz = libc.AssignInt32(&n, (g.szTest * 700)) - *(*int8)(unsafe.Pointer(bp + 968 /* &zNum[0] */)) = int8(0) + *(*int8)(unsafe.Pointer(bp + 568 /* &zNum[0] */)) = int8(0) maxb = int32(roundup_allones(tls, (uint32(sz / 3)))) - speedtest1_begin_test(tls, 400, ts+5726 /* "%d REPLACE ops o..." */, libc.VaList(bp+768, n)) + speedtest1_begin_test(tls, 400, ts+5726 /* "%d REPLACE ops o..." */, libc.VaList(bp+456, n)) speedtest1_exec(tls, ts+2856 /* "BEGIN" */, 0) speedtest1_exec(tls, ts+5751, /* "CREATE%s TABLE t..." */ - libc.VaList(bp+784, isTemp(tls, 9), g.zNN)) - speedtest1_prepare(tls, ts+5799 /* "REPLACE INTO t5 ..." */, libc.VaList(bp+808, n)) + libc.VaList(bp+464, isTemp(tls, 9), g.zNN)) + speedtest1_prepare(tls, ts+5799 /* "REPLACE INTO t5 ..." */, libc.VaList(bp+480, n)) for i = 1; i <= n; i++ { x1 = swizzle(tls, uint32(i), uint32(maxb)) - speedtest1_numbername(tls, uint32(i), bp+968 /* &zNum[0] */, int32(unsafe.Sizeof([2000]int8{}))) + speedtest1_numbername(tls, uint32(i), bp+568 /* &zNum[0] */, int32(unsafe.Sizeof([2000]int8{}))) sqlite3.Xsqlite3_bind_int(tls, g.pStmt, 1, int32(sqlite3_int64(x1))) - sqlite3.Xsqlite3_bind_text(tls, g.pStmt, 2, bp+968 /* &zNum[0] */, -1, uintptr(0)) + sqlite3.Xsqlite3_bind_text(tls, g.pStmt, 2, bp+568 /* &zNum[0] */, -1, uintptr(0)) speedtest1_run(tls) } speedtest1_exec(tls, ts+2966 /* "COMMIT" */, 0) speedtest1_end_test(tls) - speedtest1_begin_test(tls, 410, ts+5843 /* "%d SELECTS on an..." */, libc.VaList(bp+824, n)) - speedtest1_prepare(tls, ts+5864 /* "SELECT b FROM t5..." */, libc.VaList(bp+840, n)) + speedtest1_begin_test(tls, 410, ts+5843 /* "%d SELECTS on an..." */, libc.VaList(bp+488, n)) + speedtest1_prepare(tls, ts+5864 /* "SELECT b FROM t5..." */, libc.VaList(bp+496, n)) for i = 1; i <= n; i++ { x1 = swizzle(tls, uint32(i), uint32(maxb)) sqlite3.Xsqlite3_bind_int(tls, g.pStmt, 1, int32(sqlite3_int64(x1))) @@ -4272,38 +4272,38 @@ func testset_main(tls *libc.TLS) { /* speedtest1.c:696:6: */ speedtest1_end_test(tls) sz = libc.AssignInt32(&n, (g.szTest * 700)) - *(*int8)(unsafe.Pointer(bp + 968 /* &zNum[0] */)) = int8(0) + *(*int8)(unsafe.Pointer(bp + 568 /* &zNum[0] */)) = int8(0) maxb = int32(roundup_allones(tls, (uint32(sz / 3)))) - speedtest1_begin_test(tls, 500, ts+5906 /* "%d REPLACE on TE..." */, libc.VaList(bp+856, n)) + speedtest1_begin_test(tls, 500, ts+5906 /* "%d REPLACE on TE..." */, libc.VaList(bp+504, n)) speedtest1_exec(tls, ts+2856 /* "BEGIN" */, 0) speedtest1_exec(tls, ts+5928, /* "CREATE%s TABLE t..." */ - libc.VaList(bp+872, isTemp(tls, 9), g.zNN, + libc.VaList(bp+512, isTemp(tls, 9), g.zNN, func() uintptr { if sqlite3.Xsqlite3_libversion_number(tls) >= 3008002 { return ts + 5975 /* "WITHOUT ROWID" */ } return ts + 2212 /* "" */ }())) - speedtest1_prepare(tls, ts+5989 /* "REPLACE INTO t6 ..." */, libc.VaList(bp+904, n)) + speedtest1_prepare(tls, ts+5989 /* "REPLACE INTO t6 ..." */, libc.VaList(bp+536, n)) for i = 1; i <= n; i++ { x1 = swizzle(tls, uint32(i), uint32(maxb)) - speedtest1_numbername(tls, x1, bp+968 /* &zNum[0] */, int32(unsafe.Sizeof([2000]int8{}))) + speedtest1_numbername(tls, x1, bp+568 /* &zNum[0] */, int32(unsafe.Sizeof([2000]int8{}))) sqlite3.Xsqlite3_bind_int(tls, g.pStmt, 2, i) - sqlite3.Xsqlite3_bind_text(tls, g.pStmt, 1, bp+968 /* &zNum[0] */, -1, uintptr(0)) + sqlite3.Xsqlite3_bind_text(tls, g.pStmt, 1, bp+568 /* &zNum[0] */, -1, uintptr(0)) speedtest1_run(tls) } speedtest1_exec(tls, ts+2966 /* "COMMIT" */, 0) speedtest1_end_test(tls) - speedtest1_begin_test(tls, 510, ts+6033 /* "%d SELECTS on a ..." */, libc.VaList(bp+920, n)) - speedtest1_prepare(tls, ts+6057 /* "SELECT b FROM t6..." */, libc.VaList(bp+936, n)) + speedtest1_begin_test(tls, 510, ts+6033 /* "%d SELECTS on a ..." */, libc.VaList(bp+544, n)) + speedtest1_prepare(tls, ts+6057 /* "SELECT b FROM t6..." */, libc.VaList(bp+552, n)) for i = 1; i <= n; i++ { x1 = swizzle(tls, uint32(i), uint32(maxb)) - speedtest1_numbername(tls, x1, bp+968 /* &zNum[0] */, int32(unsafe.Sizeof([2000]int8{}))) - sqlite3.Xsqlite3_bind_text(tls, g.pStmt, 1, bp+968 /* &zNum[0] */, -1, uintptr(0)) + speedtest1_numbername(tls, x1, bp+568 /* &zNum[0] */, int32(unsafe.Sizeof([2000]int8{}))) + sqlite3.Xsqlite3_bind_text(tls, g.pStmt, 1, bp+568 /* &zNum[0] */, -1, uintptr(0)) speedtest1_run(tls) } speedtest1_end_test(tls) - speedtest1_begin_test(tls, 520, ts+6099 /* "%d SELECT DISTIN..." */, libc.VaList(bp+952, n)) + speedtest1_begin_test(tls, 520, ts+6099 /* "%d SELECT DISTIN..." */, libc.VaList(bp+560, n)) speedtest1_exec(tls, ts+6118 /* "SELECT DISTINCT ..." */, 0) speedtest1_exec(tls, ts+6145 /* "SELECT DISTINCT ..." */, 0) speedtest1_end_test(tls) @@ -4320,8 +4320,8 @@ func testset_main(tls *libc.TLS) { /* speedtest1.c:696:6: */ // A testset for common table expressions. This exercises code // for views, subqueries, co-routines, etc. func testset_cte(tls *libc.TLS) { /* speedtest1.c:1146:6: */ - bp := tls.Alloc(56) - defer tls.Free(56) + bp := tls.Alloc(32) + defer tls.Free(32) var zPuz uintptr var rSpacing float64 @@ -4361,11 +4361,11 @@ func testset_cte(tls *libc.TLS) { /* speedtest1.c:1146:6: */ speedtest1_end_test(tls) nElem = (10000 * g.szTest) - speedtest1_begin_test(tls, 400, ts+8505 /* "EXCEPT operator ..." */, libc.VaList(bp+16, nElem)) + speedtest1_begin_test(tls, 400, ts+8505 /* "EXCEPT operator ..." */, libc.VaList(bp+8, nElem)) speedtest1_prepare(tls, ts+8542, /* "WITH RECURSIVE \n..." */ - libc.VaList(bp+32, nElem, nElem)) + libc.VaList(bp+16, nElem, nElem)) speedtest1_run(tls) speedtest1_end_test(tls) } @@ -4386,8 +4386,8 @@ var azPuzzle = [3]uintptr{ // Compute a pseudo-random floating point ascii number. func speedtest1_random_ascii_fp(tls *libc.TLS, zFP uintptr) { /* speedtest1.c:1299:6: */ - bp := tls.Alloc(32) - defer tls.Free(32) + bp := tls.Alloc(24) + defer tls.Free(24) var x int32 = int32(speedtest1_random(tls)) var y int32 = int32(speedtest1_random(tls)) @@ -4402,39 +4402,39 @@ func speedtest1_random_ascii_fp(tls *libc.TLS, zFP uintptr) { /* speedtest1.c:12 // A testset for floating-point numbers. func testset_fp(tls *libc.TLS) { /* speedtest1.c:1312:6: */ - bp := tls.Alloc(328) - defer tls.Free(328) + bp := tls.Alloc(272) + defer tls.Free(272) var n int32 var i int32 - // var zFP1 [100]int8 at bp+128, 100 + // var zFP1 [100]int8 at bp+72, 100 - // var zFP2 [100]int8 at bp+228, 100 + // var zFP2 [100]int8 at bp+172, 100 n = (g.szTest * 5000) speedtest1_begin_test(tls, 100, ts+9028 /* "Fill a table wit..." */, libc.VaList(bp, (n*2))) speedtest1_exec(tls, ts+2856 /* "BEGIN" */, 0) speedtest1_exec(tls, ts+9059, /* "CREATE%s TABLE z..." */ - libc.VaList(bp+16, isTemp(tls, 1), g.zNN, g.zNN)) - speedtest1_prepare(tls, ts+9100 /* "INSERT INTO z1 V..." */, libc.VaList(bp+48, n)) + libc.VaList(bp+8, isTemp(tls, 1), g.zNN, g.zNN)) + speedtest1_prepare(tls, ts+9100 /* "INSERT INTO z1 V..." */, libc.VaList(bp+32, n)) for i = 1; i <= n; i++ { - speedtest1_random_ascii_fp(tls, bp+128 /* &zFP1[0] */) - speedtest1_random_ascii_fp(tls, bp+228 /* &zFP2[0] */) - sqlite3.Xsqlite3_bind_text(tls, g.pStmt, 1, bp+128 /* &zFP1[0] */, -1, uintptr(0)) - sqlite3.Xsqlite3_bind_text(tls, g.pStmt, 2, bp+228 /* &zFP2[0] */, -1, uintptr(0)) + speedtest1_random_ascii_fp(tls, bp+72 /* &zFP1[0] */) + speedtest1_random_ascii_fp(tls, bp+172 /* &zFP2[0] */) + sqlite3.Xsqlite3_bind_text(tls, g.pStmt, 1, bp+72 /* &zFP1[0] */, -1, uintptr(0)) + sqlite3.Xsqlite3_bind_text(tls, g.pStmt, 2, bp+172 /* &zFP2[0] */, -1, uintptr(0)) speedtest1_run(tls) } speedtest1_exec(tls, ts+2966 /* "COMMIT" */, 0) speedtest1_end_test(tls) n = ((g.szTest / 25) + 2) - speedtest1_begin_test(tls, 110, ts+9142 /* "%d range queries" */, libc.VaList(bp+64, n)) + speedtest1_begin_test(tls, 110, ts+9142 /* "%d range queries" */, libc.VaList(bp+40, n)) speedtest1_prepare(tls, ts+9159 /* "SELECT sum(b) FR..." */, 0) for i = 1; i <= n; i++ { - speedtest1_random_ascii_fp(tls, bp+128 /* &zFP1[0] */) - speedtest1_random_ascii_fp(tls, bp+228 /* &zFP2[0] */) - sqlite3.Xsqlite3_bind_text(tls, g.pStmt, 1, bp+128 /* &zFP1[0] */, -1, uintptr(0)) - sqlite3.Xsqlite3_bind_text(tls, g.pStmt, 2, bp+228 /* &zFP2[0] */, -1, uintptr(0)) + speedtest1_random_ascii_fp(tls, bp+72 /* &zFP1[0] */) + speedtest1_random_ascii_fp(tls, bp+172 /* &zFP2[0] */) + sqlite3.Xsqlite3_bind_text(tls, g.pStmt, 1, bp+72 /* &zFP1[0] */, -1, uintptr(0)) + sqlite3.Xsqlite3_bind_text(tls, g.pStmt, 2, bp+172 /* &zFP2[0] */, -1, uintptr(0)) speedtest1_run(tls) } speedtest1_end_test(tls) @@ -4448,23 +4448,23 @@ func testset_fp(tls *libc.TLS) { /* speedtest1.c:1312:6: */ speedtest1_end_test(tls) n = ((g.szTest / 3) + 2) - speedtest1_begin_test(tls, 130, ts+9316 /* "%d indexed range..." */, libc.VaList(bp+80, n)) + speedtest1_begin_test(tls, 130, ts+9316 /* "%d indexed range..." */, libc.VaList(bp+48, n)) speedtest1_prepare(tls, ts+9159 /* "SELECT sum(b) FR..." */, 0) for i = 1; i <= n; i++ { - speedtest1_random_ascii_fp(tls, bp+128 /* &zFP1[0] */) - speedtest1_random_ascii_fp(tls, bp+228 /* &zFP2[0] */) - sqlite3.Xsqlite3_bind_text(tls, g.pStmt, 1, bp+128 /* &zFP1[0] */, -1, uintptr(0)) - sqlite3.Xsqlite3_bind_text(tls, g.pStmt, 2, bp+228 /* &zFP2[0] */, -1, uintptr(0)) + speedtest1_random_ascii_fp(tls, bp+72 /* &zFP1[0] */) + speedtest1_random_ascii_fp(tls, bp+172 /* &zFP2[0] */) + sqlite3.Xsqlite3_bind_text(tls, g.pStmt, 1, bp+72 /* &zFP1[0] */, -1, uintptr(0)) + sqlite3.Xsqlite3_bind_text(tls, g.pStmt, 2, bp+172 /* &zFP2[0] */, -1, uintptr(0)) speedtest1_run(tls) } speedtest1_end_test(tls) n = (g.szTest * 5000) - speedtest1_begin_test(tls, 140, ts+9341 /* "%d calls to roun..." */, libc.VaList(bp+96, n)) + speedtest1_begin_test(tls, 140, ts+9341 /* "%d calls to roun..." */, libc.VaList(bp+56, n)) speedtest1_exec(tls, ts+9361 /* "SELECT sum(round..." */, 0) speedtest1_end_test(tls) - speedtest1_begin_test(tls, 150, ts+9404 /* "%d printf() call..." */, libc.VaList(bp+112, (n*4))) + speedtest1_begin_test(tls, 150, ts+9404 /* "%d printf() call..." */, libc.VaList(bp+64, (n*4))) speedtest1_exec(tls, ts+9422 /* "WITH c(fmt) AS (..." */, 0) @@ -4510,23 +4510,23 @@ func xsliceGeometryCallback(tls *libc.TLS, p uintptr, nCoord int32, aCoord uintp // A testset for the R-Tree virtual table func testset_rtree(tls *libc.TLS, p1 int32, p2 int32) { /* speedtest1.c:1429:6: */ - bp := tls.Alloc(328) - defer tls.Free(328) + bp := tls.Alloc(224) + defer tls.Free(224) var i uint32 var n uint32 var mxCoord uint32 - // var x0 uint32 at bp+304, 4 + // var x0 uint32 at bp+200, 4 - // var x1 uint32 at bp+308, 4 + // var x1 uint32 at bp+204, 4 - // var y0 uint32 at bp+312, 4 + // var y0 uint32 at bp+208, 4 - // var y1 uint32 at bp+316, 4 + // var y1 uint32 at bp+212, 4 - // var z0 uint32 at bp+320, 4 + // var z0 uint32 at bp+216, 4 - // var z1 uint32 at bp+324, 4 + // var z1 uint32 at bp+220, 4 var iStep uint32 var mxRowid uint32 @@ -4540,16 +4540,16 @@ func testset_rtree(tls *libc.TLS, p1 int32, p2 int32) { /* speedtest1.c:1429:6: speedtest1_prepare(tls, ts+9602 /* "INSERT INTO rt1(..." */, 0) for i = uint32(1); i <= n; i++ { - twoCoords(tls, p1, p2, mxCoord, bp+304 /* &x0 */, bp+308 /* &x1 */) - twoCoords(tls, p1, p2, mxCoord, bp+312 /* &y0 */, bp+316 /* &y1 */) - twoCoords(tls, p1, p2, mxCoord, bp+320 /* &z0 */, bp+324 /* &z1 */) + twoCoords(tls, p1, p2, mxCoord, bp+200 /* &x0 */, bp+204 /* &x1 */) + twoCoords(tls, p1, p2, mxCoord, bp+208 /* &y0 */, bp+212 /* &y1 */) + twoCoords(tls, p1, p2, mxCoord, bp+216 /* &z0 */, bp+220 /* &z1 */) sqlite3.Xsqlite3_bind_int(tls, g.pStmt, 1, int32(i)) - sqlite3.Xsqlite3_bind_int(tls, g.pStmt, 2, int32(*(*uint32)(unsafe.Pointer(bp + 304 /* x0 */)))) - sqlite3.Xsqlite3_bind_int(tls, g.pStmt, 3, int32(*(*uint32)(unsafe.Pointer(bp + 308 /* x1 */)))) - sqlite3.Xsqlite3_bind_int(tls, g.pStmt, 4, int32(*(*uint32)(unsafe.Pointer(bp + 312 /* y0 */)))) - sqlite3.Xsqlite3_bind_int(tls, g.pStmt, 5, int32(*(*uint32)(unsafe.Pointer(bp + 316 /* y1 */)))) - sqlite3.Xsqlite3_bind_int(tls, g.pStmt, 6, int32(*(*uint32)(unsafe.Pointer(bp + 320 /* z0 */)))) - sqlite3.Xsqlite3_bind_int(tls, g.pStmt, 7, int32(*(*uint32)(unsafe.Pointer(bp + 324 /* z1 */)))) + sqlite3.Xsqlite3_bind_int(tls, g.pStmt, 2, int32(*(*uint32)(unsafe.Pointer(bp + 200 /* x0 */)))) + sqlite3.Xsqlite3_bind_int(tls, g.pStmt, 3, int32(*(*uint32)(unsafe.Pointer(bp + 204 /* x1 */)))) + sqlite3.Xsqlite3_bind_int(tls, g.pStmt, 4, int32(*(*uint32)(unsafe.Pointer(bp + 208 /* y0 */)))) + sqlite3.Xsqlite3_bind_int(tls, g.pStmt, 5, int32(*(*uint32)(unsafe.Pointer(bp + 212 /* y1 */)))) + sqlite3.Xsqlite3_bind_int(tls, g.pStmt, 6, int32(*(*uint32)(unsafe.Pointer(bp + 216 /* z0 */)))) + sqlite3.Xsqlite3_bind_int(tls, g.pStmt, 7, int32(*(*uint32)(unsafe.Pointer(bp + 220 /* z1 */)))) speedtest1_run(tls) } speedtest1_exec(tls, ts+2966 /* "COMMIT" */, 0) @@ -4561,7 +4561,7 @@ func testset_rtree(tls *libc.TLS, p1 int32, p2 int32) { /* speedtest1.c:1429:6: speedtest1_end_test(tls) n = (uint32(g.szTest * 200)) - speedtest1_begin_test(tls, 110, ts+9794 /* "%d one-dimension..." */, libc.VaList(bp+16, n)) + speedtest1_begin_test(tls, 110, ts+9794 /* "%d one-dimension..." */, libc.VaList(bp+8, n)) speedtest1_prepare(tls, ts+9837 /* "SELECT count(*) ..." */, 0) iStep = (mxCoord / n) for i = uint32(0); i < n; i++ { @@ -4583,14 +4583,14 @@ func testset_rtree(tls *libc.TLS, p1 int32, p2 int32) { /* speedtest1.c:1429:6: speedtest1_run(tls) if *(*int32)(unsafe.Pointer(aCheck + uintptr(i)*4)) != libc.Xatoi(tls, uintptr(unsafe.Pointer(&g))+124 /* &.zResult */) { fatal_error(tls, ts+9981, /* "Count disagree s..." */ - libc.VaList(bp+32, i, (i*iStep), ((i+uint32(1))*iStep), *(*int32)(unsafe.Pointer(aCheck + uintptr(i)*4)), libc.Xatoi(tls, uintptr(unsafe.Pointer(&g))+124 /* &.zResult */))) + libc.VaList(bp+16, i, (i*iStep), ((i+uint32(1))*iStep), *(*int32)(unsafe.Pointer(aCheck + uintptr(i)*4)), libc.Xatoi(tls, uintptr(unsafe.Pointer(&g))+124 /* &.zResult */))) } } speedtest1_end_test(tls) } n = (uint32(g.szTest * 200)) - speedtest1_begin_test(tls, 120, ts+10023 /* "%d one-dimension..." */, libc.VaList(bp+80, n)) + speedtest1_begin_test(tls, 120, ts+10023 /* "%d one-dimension..." */, libc.VaList(bp+56, n)) speedtest1_prepare(tls, ts+10064 /* "SELECT count(*) ..." */, 0) iStep = (mxCoord / n) for i = uint32(0); i < n; i++ { @@ -4612,14 +4612,14 @@ func testset_rtree(tls *libc.TLS, p1 int32, p2 int32) { /* speedtest1.c:1429:6: speedtest1_run(tls) if *(*int32)(unsafe.Pointer(aCheck + uintptr(i)*4)) != libc.Xatoi(tls, uintptr(unsafe.Pointer(&g))+124 /* &.zResult */) { fatal_error(tls, ts+9981, /* "Count disagree s..." */ - libc.VaList(bp+96, i, (i*iStep), ((i+uint32(1))*iStep), *(*int32)(unsafe.Pointer(aCheck + uintptr(i)*4)), libc.Xatoi(tls, uintptr(unsafe.Pointer(&g))+124 /* &.zResult */))) + libc.VaList(bp+64, i, (i*iStep), ((i+uint32(1))*iStep), *(*int32)(unsafe.Pointer(aCheck + uintptr(i)*4)), libc.Xatoi(tls, uintptr(unsafe.Pointer(&g))+124 /* &.zResult */))) } } speedtest1_end_test(tls) } n = (uint32(g.szTest * 200)) - speedtest1_begin_test(tls, 125, ts+10206 /* "%d custom geomet..." */, libc.VaList(bp+144, n)) + speedtest1_begin_test(tls, 125, ts+10206 /* "%d custom geomet..." */, libc.VaList(bp+104, n)) sqlite3.Xsqlite3_rtree_geometry_callback(tls, g.db, ts+10242 /* "xslice" */, *(*uintptr)(unsafe.Pointer(&struct { f func(*libc.TLS, uintptr, int32, uintptr, uintptr) int32 }{xsliceGeometryCallback})), uintptr(0)) @@ -4631,13 +4631,13 @@ func testset_rtree(tls *libc.TLS, p1 int32, p2 int32) { /* speedtest1.c:1429:6: speedtest1_run(tls) if *(*int32)(unsafe.Pointer(aCheck + uintptr(i)*4)) != libc.Xatoi(tls, uintptr(unsafe.Pointer(&g))+124 /* &.zResult */) { fatal_error(tls, ts+9981, /* "Count disagree s..." */ - libc.VaList(bp+160, i, (i*iStep), ((i+uint32(1))*iStep), *(*int32)(unsafe.Pointer(aCheck + uintptr(i)*4)), libc.Xatoi(tls, uintptr(unsafe.Pointer(&g))+124 /* &.zResult */))) + libc.VaList(bp+112, i, (i*iStep), ((i+uint32(1))*iStep), *(*int32)(unsafe.Pointer(aCheck + uintptr(i)*4)), libc.Xatoi(tls, uintptr(unsafe.Pointer(&g))+124 /* &.zResult */))) } } speedtest1_end_test(tls) n = (uint32(g.szTest * 400)) - speedtest1_begin_test(tls, 130, ts+10303 /* "%d three-dimensi..." */, libc.VaList(bp+208, n)) + speedtest1_begin_test(tls, 130, ts+10303 /* "%d three-dimensi..." */, libc.VaList(bp+152, n)) speedtest1_prepare(tls, ts+10346 /* "SELECT count(*) ..." */, 0) iStep = (mxCoord / n) @@ -4650,7 +4650,7 @@ func testset_rtree(tls *libc.TLS, p1 int32, p2 int32) { /* speedtest1.c:1429:6: speedtest1_end_test(tls) n = (uint32(g.szTest * 500)) - speedtest1_begin_test(tls, 140, ts+10439 /* "%d rowid queries" */, libc.VaList(bp+224, n)) + speedtest1_begin_test(tls, 140, ts+10439 /* "%d rowid queries" */, libc.VaList(bp+160, n)) speedtest1_prepare(tls, ts+10456 /* "SELECT * FROM rt..." */, 0) for i = uint32(1); i <= n; i++ { sqlite3.Xsqlite3_bind_int(tls, g.pStmt, 1, int32(i)) @@ -4659,7 +4659,7 @@ func testset_rtree(tls *libc.TLS, p1 int32, p2 int32) { /* speedtest1.c:1429:6: speedtest1_end_test(tls) n = (uint32(g.szTest * 50)) - speedtest1_begin_test(tls, 150, ts+10486 /* "%d UPDATEs using..." */, libc.VaList(bp+240, n)) + speedtest1_begin_test(tls, 150, ts+10486 /* "%d UPDATEs using..." */, libc.VaList(bp+168, n)) speedtest1_prepare(tls, ts+10509 /* "UPDATE rt1 SET x..." */, 0) for i = uint32(1); i <= n; i++ { sqlite3.Xsqlite3_bind_int(tls, g.pStmt, 1, (int32(((i * uint32(251)) % mxRowid) + uint32(1)))) @@ -4668,7 +4668,7 @@ func testset_rtree(tls *libc.TLS, p1 int32, p2 int32) { /* speedtest1.c:1429:6: speedtest1_end_test(tls) n = (uint32(g.szTest * 5)) - speedtest1_begin_test(tls, 155, ts+10557 /* "%d UPDATEs using..." */, libc.VaList(bp+256, n)) + speedtest1_begin_test(tls, 155, ts+10557 /* "%d UPDATEs using..." */, libc.VaList(bp+176, n)) speedtest1_prepare(tls, ts+10598 /* "UPDATE rt1 SET x..." */, 0) iStep = (mxCoord / n) @@ -4680,7 +4680,7 @@ func testset_rtree(tls *libc.TLS, p1 int32, p2 int32) { /* speedtest1.c:1429:6: speedtest1_end_test(tls) n = (uint32(g.szTest * 50)) - speedtest1_begin_test(tls, 160, ts+10660 /* "%d DELETEs using..." */, libc.VaList(bp+272, n)) + speedtest1_begin_test(tls, 160, ts+10660 /* "%d DELETEs using..." */, libc.VaList(bp+184, n)) speedtest1_prepare(tls, ts+10683 /* "DELETE FROM rt1 ..." */, 0) for i = uint32(1); i <= n; i++ { sqlite3.Xsqlite3_bind_int(tls, g.pStmt, 1, (int32(((i * uint32(257)) % mxRowid) + uint32(1)))) @@ -4689,7 +4689,7 @@ func testset_rtree(tls *libc.TLS, p1 int32, p2 int32) { /* speedtest1.c:1429:6: speedtest1_end_test(tls) n = (uint32(g.szTest * 5)) - speedtest1_begin_test(tls, 165, ts+10711 /* "%d DELETEs using..." */, libc.VaList(bp+288, n)) + speedtest1_begin_test(tls, 165, ts+10711 /* "%d DELETEs using..." */, libc.VaList(bp+192, n)) speedtest1_prepare(tls, ts+10752 /* "DELETE FROM rt1 ..." */, 0) iStep = (mxCoord / n) for i = uint32(0); i < n; i++ { @@ -4707,8 +4707,8 @@ func testset_rtree(tls *libc.TLS, p1 int32, p2 int32) { /* speedtest1.c:1429:6: // A testset that does key/value storage on tables with many columns. // This is the kind of workload generated by ORMs such as CoreData. func testset_orm(tls *libc.TLS) { /* speedtest1.c:1614:6: */ - bp := tls.Alloc(2032) - defer tls.Free(2032) + bp := tls.Alloc(2016) + defer tls.Free(2016) var i uint32 var j uint32 @@ -4716,7 +4716,7 @@ func testset_orm(tls *libc.TLS) { /* speedtest1.c:1614:6: */ var nRow uint32 var x1 uint32 var len uint32 - // var zNum [2000]int8 at bp+32, 2000 + // var zNum [2000]int8 at bp+16, 2000 nRow = libc.AssignUint32(&n, (uint32(g.szTest * 250))) speedtest1_begin_test(tls, 100, ts+10884 /* "Fill %d rows" */, libc.VaList(bp, n)) @@ -4728,8 +4728,8 @@ func testset_orm(tls *libc.TLS) { /* speedtest1.c:1614:6: */ ts+14797 /* "INSERT INTO ZLOO..." */, 0) for i = uint32(0); i < n; i++ { x1 = speedtest1_random(tls) - speedtest1_numbername(tls, (x1 % uint32(1000)), bp+32 /* &zNum[0] */, int32(unsafe.Sizeof([2000]int8{}))) - len = uint32(int32(libc.Xstrlen(tls, bp+32 /* &zNum[0] */))) + speedtest1_numbername(tls, (x1 % uint32(1000)), bp+16 /* &zNum[0] */, int32(unsafe.Sizeof([2000]int8{}))) + len = uint32(int32(libc.Xstrlen(tls, bp+16 /* &zNum[0] */))) sqlite3.Xsqlite3_bind_int(tls, g.pStmt, 1, (int32(i ^ uint32(0xf)))) for j = uint32(0); zType[j] != 0; j++ { switch int32(zType[j]) { @@ -4744,7 +4744,7 @@ func testset_orm(tls *libc.TLS) { /* speedtest1.c:1614:6: */ case 'V': fallthrough case 'B': - sqlite3.Xsqlite3_bind_text64(tls, g.pStmt, (int32(j + uint32(2))), bp+32 /* &zNum[0] */, uint64(len), + sqlite3.Xsqlite3_bind_text64(tls, g.pStmt, (int32(j + uint32(2))), bp+16 /* &zNum[0] */, uint64(len), uintptr(0), uint8(SQLITE_UTF8)) break } @@ -4755,7 +4755,7 @@ func testset_orm(tls *libc.TLS) { /* speedtest1.c:1614:6: */ speedtest1_end_test(tls) n = (uint32(g.szTest * 250)) - speedtest1_begin_test(tls, 110, ts+18041 /* "Query %d rows by..." */, libc.VaList(bp+16, n)) + speedtest1_begin_test(tls, 110, ts+18041 /* "Query %d rows by..." */, libc.VaList(bp+8, n)) speedtest1_prepare(tls, ts+18064 /* "SELECT ZCYANBASE..." */, 0) @@ -4773,12 +4773,12 @@ var zType = // Types for all non-PK columns, in order // func testset_trigger(tls *libc.TLS) { /* speedtest1.c:1881:6: */ - bp := tls.Alloc(2064) - defer tls.Free(2064) + bp := tls.Alloc(2032) + defer tls.Free(2032) var jj int32 var ii int32 - // var zNum [2000]int8 at bp+64, 2000 + // var zNum [2000]int8 at bp+32, 2000 // A number name var NROW int32 = (500 * g.szTest) @@ -4791,9 +4791,9 @@ func testset_trigger(tls *libc.TLS) { /* speedtest1.c:1881:6: */ speedtest1_prepare(tls, ts+21265 /* "INSERT INTO t%d ..." */, libc.VaList(bp, jj)) for ii = 0; ii < NROW; ii++ { var x1 int32 = (int32(speedtest1_random(tls) % uint32(NROW))) - speedtest1_numbername(tls, uint32(x1), bp+64 /* &zNum[0] */, int32(unsafe.Sizeof([2000]int8{}))) + speedtest1_numbername(tls, uint32(x1), bp+32 /* &zNum[0] */, int32(unsafe.Sizeof([2000]int8{}))) sqlite3.Xsqlite3_bind_int(tls, g.pStmt, 1, x1) - sqlite3.Xsqlite3_bind_text(tls, g.pStmt, 2, bp+64 /* &zNum[0] */, -1, uintptr(0)) + sqlite3.Xsqlite3_bind_text(tls, g.pStmt, 2, bp+32 /* &zNum[0] */, -1, uintptr(0)) speedtest1_run(tls) } } @@ -4815,7 +4815,7 @@ func testset_trigger(tls *libc.TLS) { /* speedtest1.c:1881:6: */ speedtest1_begin_test(tls, 120, ts+21537 /* "speed4p-view1" */, 0) for jj = 1; jj <= 3; jj++ { - speedtest1_prepare(tls, ts+21551 /* "SELECT * FROM v%..." */, libc.VaList(bp+16, jj)) + speedtest1_prepare(tls, ts+21551 /* "SELECT * FROM v%..." */, libc.VaList(bp+8, jj)) for ii = 0; ii < NROW2; ii = ii + (3) { sqlite3.Xsqlite3_bind_int(tls, g.pStmt, 1, (ii * 3)) speedtest1_run(tls) @@ -4825,7 +4825,7 @@ func testset_trigger(tls *libc.TLS) { /* speedtest1.c:1881:6: */ speedtest1_begin_test(tls, 130, ts+21585 /* "speed4p-table1" */, 0) for jj = 1; jj <= 3; jj++ { - speedtest1_prepare(tls, ts+21600 /* "SELECT * FROM t%..." */, libc.VaList(bp+32, jj)) + speedtest1_prepare(tls, ts+21600 /* "SELECT * FROM t%..." */, libc.VaList(bp+16, jj)) for ii = 0; ii < NROW2; ii = ii + (3) { sqlite3.Xsqlite3_bind_int(tls, g.pStmt, 1, (ii * 3)) speedtest1_run(tls) @@ -4835,7 +4835,7 @@ func testset_trigger(tls *libc.TLS) { /* speedtest1.c:1881:6: */ speedtest1_begin_test(tls, 140, ts+21585 /* "speed4p-table1" */, 0) for jj = 1; jj <= 3; jj++ { - speedtest1_prepare(tls, ts+21600 /* "SELECT * FROM t%..." */, libc.VaList(bp+48, jj)) + speedtest1_prepare(tls, ts+21600 /* "SELECT * FROM t%..." */, libc.VaList(bp+24, jj)) for ii = 0; ii < NROW2; ii = ii + (3) { sqlite3.Xsqlite3_bind_int(tls, g.pStmt, 1, (ii * 3)) speedtest1_run(tls) @@ -4875,9 +4875,9 @@ func testset_trigger(tls *libc.TLS) { /* speedtest1.c:1881:6: */ speedtest1_begin_test(tls, 180, ts+22429 /* "speed4p-trigger1" */, 0) speedtest1_prepare(tls, ts+22446 /* "INSERT INTO t4 V..." */, 0) for jj = 0; jj < NROW2; jj++ { - speedtest1_numbername(tls, uint32(jj), bp+64 /* &zNum[0] */, int32(unsafe.Sizeof([2000]int8{}))) + speedtest1_numbername(tls, uint32(jj), bp+32 /* &zNum[0] */, int32(unsafe.Sizeof([2000]int8{}))) sqlite3.Xsqlite3_bind_int(tls, g.pStmt, 1, jj) - sqlite3.Xsqlite3_bind_text(tls, g.pStmt, 2, bp+64 /* &zNum[0] */, -1, uintptr(0)) + sqlite3.Xsqlite3_bind_text(tls, g.pStmt, 2, bp+32 /* &zNum[0] */, -1, uintptr(0)) speedtest1_run(tls) } speedtest1_end_test(tls) @@ -4888,9 +4888,9 @@ func testset_trigger(tls *libc.TLS) { /* speedtest1.c:1881:6: */ speedtest1_begin_test(tls, 190, ts+22482 /* "speed4p-trigger2" */, 0) speedtest1_prepare(tls, ts+22499 /* "UPDATE t4 SET i ..." */, 0) for jj = 1; jj <= (NROW2 * 2); jj = jj + (2) { - speedtest1_numbername(tls, (uint32(jj * 2)), bp+64 /* &zNum[0] */, int32(unsafe.Sizeof([2000]int8{}))) + speedtest1_numbername(tls, (uint32(jj * 2)), bp+32 /* &zNum[0] */, int32(unsafe.Sizeof([2000]int8{}))) sqlite3.Xsqlite3_bind_int(tls, g.pStmt, 1, (jj * 2)) - sqlite3.Xsqlite3_bind_text(tls, g.pStmt, 2, bp+64 /* &zNum[0] */, -1, uintptr(0)) + sqlite3.Xsqlite3_bind_text(tls, g.pStmt, 2, bp+32 /* &zNum[0] */, -1, uintptr(0)) sqlite3.Xsqlite3_bind_int(tls, g.pStmt, 3, jj) speedtest1_run(tls) } @@ -4916,18 +4916,18 @@ func testset_trigger(tls *libc.TLS) { /* speedtest1.c:1881:6: */ speedtest1_begin_test(tls, 210, ts+22699 /* "speed4p-notrigge..." */, 0) speedtest1_prepare(tls, ts+22446 /* "INSERT INTO t4 V..." */, 0) for jj = 0; jj < NROW2; jj++ { - speedtest1_numbername(tls, uint32(jj), bp+64 /* &zNum[0] */, int32(unsafe.Sizeof([2000]int8{}))) + speedtest1_numbername(tls, uint32(jj), bp+32 /* &zNum[0] */, int32(unsafe.Sizeof([2000]int8{}))) sqlite3.Xsqlite3_bind_int(tls, g.pStmt, 1, jj) - sqlite3.Xsqlite3_bind_text(tls, g.pStmt, 2, bp+64 /* &zNum[0] */, -1, uintptr(0)) + sqlite3.Xsqlite3_bind_text(tls, g.pStmt, 2, bp+32 /* &zNum[0] */, -1, uintptr(0)) speedtest1_run(tls) } speedtest1_end_test(tls) speedtest1_begin_test(tls, 210, ts+22718 /* "speed4p-notrigge..." */, 0) speedtest1_prepare(tls, ts+22499 /* "UPDATE t4 SET i ..." */, 0) for jj = 1; jj <= (NROW2 * 2); jj = jj + (2) { - speedtest1_numbername(tls, (uint32(jj * 2)), bp+64 /* &zNum[0] */, int32(unsafe.Sizeof([2000]int8{}))) + speedtest1_numbername(tls, (uint32(jj * 2)), bp+32 /* &zNum[0] */, int32(unsafe.Sizeof([2000]int8{}))) sqlite3.Xsqlite3_bind_int(tls, g.pStmt, 1, (jj * 2)) - sqlite3.Xsqlite3_bind_text(tls, g.pStmt, 2, bp+64 /* &zNum[0] */, -1, uintptr(0)) + sqlite3.Xsqlite3_bind_text(tls, g.pStmt, 2, bp+32 /* &zNum[0] */, -1, uintptr(0)) sqlite3.Xsqlite3_bind_int(tls, g.pStmt, 3, jj) speedtest1_run(tls) } @@ -4944,36 +4944,36 @@ func testset_trigger(tls *libc.TLS) { /* speedtest1.c:1881:6: */ // A testset used for debugging speedtest1 itself. func testset_debug1(tls *libc.TLS) { /* speedtest1.c:2083:6: */ - bp := tls.Alloc(2040) - defer tls.Free(2040) + bp := tls.Alloc(2032) + defer tls.Free(2032) var i uint32 var n uint32 var x1 uint32 var x2 uint32 - // var zNum [2000]int8 at bp+40, 2000 + // var zNum [2000]int8 at bp+32, 2000 // A number name n = uint32(g.szTest) for i = uint32(1); i <= n; i++ { x1 = swizzle(tls, i, n) x2 = swizzle(tls, x1, n) - speedtest1_numbername(tls, x1, bp+40 /* &zNum[0] */, int32(unsafe.Sizeof([2000]int8{}))) - libc.Xprintf(tls, ts+22756 /* "%5d %5d %5d %s\n" */, libc.VaList(bp, i, x1, x2, bp+40 /* &zNum[0] */)) + speedtest1_numbername(tls, x1, bp+32 /* &zNum[0] */, int32(unsafe.Sizeof([2000]int8{}))) + libc.Xprintf(tls, ts+22756 /* "%5d %5d %5d %s\n" */, libc.VaList(bp, i, x1, x2, bp+32 /* &zNum[0] */)) } } func xCompileOptions(tls *libc.TLS, pCtx uintptr, nVal int32, azVal uintptr, azCol uintptr) int32 { /* speedtest1.c:2144:12: */ - bp := tls.Alloc(16) - defer tls.Free(16) + bp := tls.Alloc(8) + defer tls.Free(8) libc.Xprintf(tls, ts+22772 /* "-- Compile optio..." */, libc.VaList(bp, *(*uintptr)(unsafe.Pointer(azVal)))) return SQLITE_OK } func main1(tls *libc.TLS, argc int32, argv uintptr) int32 { /* speedtest1.c:2149:5: */ - bp := tls.Alloc(1032) - defer tls.Free(1032) + bp := tls.Alloc(576) + defer tls.Free(576) var doAutovac int32 = 0 // True for --autovacuum var cacheSize int32 = 0 // Desired cache size. 0 means default @@ -5002,9 +5002,9 @@ func main1(tls *libc.TLS, argc int32, argv uintptr) int32 { /* speedtest1.c:2149 var pHeap uintptr = uintptr(0) // Allocated heap space var pLook uintptr = uintptr(0) // Allocated lookaside space var pPCache uintptr = uintptr(0) // Allocated storage for pcache - // var iCur int32 at bp+1024, 4 + // var iCur int32 at bp+568, 4 - // var iHi int32 at bp+1028, 4 + // var iHi int32 at bp+572, 4 // Stats values, current and "highwater" var i int32 // Loop counter var rc int32 // API return code @@ -5029,7 +5029,7 @@ func main1(tls *libc.TLS, argc int32, argv uintptr) int32 { /* speedtest1.c:2149 doAutovac = 1 } else if libc.Xstrcmp(tls, z, ts+22853 /* "cachesize" */) == 0 { if i >= (argc - 1) { - fatal_error(tls, ts+22863 /* "missing argument..." */, libc.VaList(bp+24, *(*uintptr)(unsafe.Pointer(argv + uintptr(i)*8)))) + fatal_error(tls, ts+22863 /* "missing argument..." */, libc.VaList(bp+16, *(*uintptr)(unsafe.Pointer(argv + uintptr(i)*8)))) } i++ cacheSize = integerValue(tls, *(*uintptr)(unsafe.Pointer(argv + uintptr(i)*8))) @@ -5042,7 +5042,7 @@ func main1(tls *libc.TLS, argc int32, argv uintptr) int32 { /* speedtest1.c:2149 g.bExplain = 1 } else if libc.Xstrcmp(tls, z, ts+22916 /* "heap" */) == 0 { if i >= (argc - 2) { - fatal_error(tls, ts+22921 /* "missing argument..." */, libc.VaList(bp+40, *(*uintptr)(unsafe.Pointer(argv + uintptr(i)*8)))) + fatal_error(tls, ts+22921 /* "missing argument..." */, libc.VaList(bp+24, *(*uintptr)(unsafe.Pointer(argv + uintptr(i)*8)))) } nHeap = integerValue(tls, *(*uintptr)(unsafe.Pointer(argv + uintptr((i+1))*8))) mnHeap = integerValue(tls, *(*uintptr)(unsafe.Pointer(argv + uintptr((i+2))*8))) @@ -5051,17 +5051,17 @@ func main1(tls *libc.TLS, argc int32, argv uintptr) int32 { /* speedtest1.c:2149 doIncrvac = 1 } else if libc.Xstrcmp(tls, z, ts+22957 /* "journal" */) == 0 { if i >= (argc - 1) { - fatal_error(tls, ts+22863 /* "missing argument..." */, libc.VaList(bp+56, *(*uintptr)(unsafe.Pointer(argv + uintptr(i)*8)))) + fatal_error(tls, ts+22863 /* "missing argument..." */, libc.VaList(bp+32, *(*uintptr)(unsafe.Pointer(argv + uintptr(i)*8)))) } zJMode = *(*uintptr)(unsafe.Pointer(argv + uintptr(libc.PreIncInt32(&i, 1))*8)) } else if libc.Xstrcmp(tls, z, ts+22965 /* "key" */) == 0 { if i >= (argc - 1) { - fatal_error(tls, ts+22863 /* "missing argument..." */, libc.VaList(bp+72, *(*uintptr)(unsafe.Pointer(argv + uintptr(i)*8)))) + fatal_error(tls, ts+22863 /* "missing argument..." */, libc.VaList(bp+40, *(*uintptr)(unsafe.Pointer(argv + uintptr(i)*8)))) } zKey = *(*uintptr)(unsafe.Pointer(argv + uintptr(libc.PreIncInt32(&i, 1))*8)) } else if libc.Xstrcmp(tls, z, ts+22969 /* "lookaside" */) == 0 { if i >= (argc - 2) { - fatal_error(tls, ts+22921 /* "missing argument..." */, libc.VaList(bp+88, *(*uintptr)(unsafe.Pointer(argv + uintptr(i)*8)))) + fatal_error(tls, ts+22921 /* "missing argument..." */, libc.VaList(bp+48, *(*uintptr)(unsafe.Pointer(argv + uintptr(i)*8)))) } nLook = integerValue(tls, *(*uintptr)(unsafe.Pointer(argv + uintptr((i+1))*8))) szLook = integerValue(tls, *(*uintptr)(unsafe.Pointer(argv + uintptr((i+2))*8))) @@ -5071,10 +5071,10 @@ func main1(tls *libc.TLS, argc int32, argv uintptr) int32 { /* speedtest1.c:2149 } else if libc.Xstrcmp(tls, z, ts+22985 /* "multithread" */) == 0 { sqlite3.Xsqlite3_config(tls, SQLITE_CONFIG_MULTITHREAD, 0) } else if libc.Xstrcmp(tls, z, ts+22997 /* "nomemstat" */) == 0 { - sqlite3.Xsqlite3_config(tls, SQLITE_CONFIG_MEMSTATUS, libc.VaList(bp+104, 0)) + sqlite3.Xsqlite3_config(tls, SQLITE_CONFIG_MEMSTATUS, libc.VaList(bp+56, 0)) } else if libc.Xstrcmp(tls, z, ts+23007 /* "mmap" */) == 0 { if i >= (argc - 1) { - fatal_error(tls, ts+22863 /* "missing argument..." */, libc.VaList(bp+120, *(*uintptr)(unsafe.Pointer(argv + uintptr(i)*8)))) + fatal_error(tls, ts+22863 /* "missing argument..." */, libc.VaList(bp+64, *(*uintptr)(unsafe.Pointer(argv + uintptr(i)*8)))) } mmapSize = integerValue(tls, *(*uintptr)(unsafe.Pointer(argv + uintptr(libc.PreIncInt32(&i, 1))*8))) } else if libc.Xstrcmp(tls, z, ts+23012 /* "nosync" */) == 0 { @@ -5083,7 +5083,7 @@ func main1(tls *libc.TLS, argc int32, argv uintptr) int32 { /* speedtest1.c:2149 g.zNN = ts + 23027 /* "NOT NULL" */ } else if libc.Xstrcmp(tls, z, ts+23036 /* "output" */) == 0 { if i >= (argc - 1) { - fatal_error(tls, ts+22863 /* "missing argument..." */, libc.VaList(bp+136, *(*uintptr)(unsafe.Pointer(argv + uintptr(i)*8)))) + fatal_error(tls, ts+22863 /* "missing argument..." */, libc.VaList(bp+72, *(*uintptr)(unsafe.Pointer(argv + uintptr(i)*8)))) } i++ if libc.Xstrcmp(tls, *(*uintptr)(unsafe.Pointer(argv + uintptr(i)*8)), ts+23043 /* "-" */) == 0 { @@ -5091,17 +5091,17 @@ func main1(tls *libc.TLS, argc int32, argv uintptr) int32 { /* speedtest1.c:2149 } else { g.hashFile = libc.Xfopen(tls, *(*uintptr)(unsafe.Pointer(argv + uintptr(i)*8)), ts+23045 /* "wb" */) if g.hashFile == uintptr(0) { - fatal_error(tls, ts+23048 /* "cannot open \"%s\"..." */, libc.VaList(bp+152, *(*uintptr)(unsafe.Pointer(argv + uintptr(i)*8)))) + fatal_error(tls, ts+23048 /* "cannot open \"%s\"..." */, libc.VaList(bp+80, *(*uintptr)(unsafe.Pointer(argv + uintptr(i)*8)))) } } } else if libc.Xstrcmp(tls, z, ts+23078 /* "pagesize" */) == 0 { if i >= (argc - 1) { - fatal_error(tls, ts+22863 /* "missing argument..." */, libc.VaList(bp+168, *(*uintptr)(unsafe.Pointer(argv + uintptr(i)*8)))) + fatal_error(tls, ts+22863 /* "missing argument..." */, libc.VaList(bp+88, *(*uintptr)(unsafe.Pointer(argv + uintptr(i)*8)))) } pageSize = integerValue(tls, *(*uintptr)(unsafe.Pointer(argv + uintptr(libc.PreIncInt32(&i, 1))*8))) } else if libc.Xstrcmp(tls, z, ts+23087 /* "pcache" */) == 0 { if i >= (argc - 2) { - fatal_error(tls, ts+22921 /* "missing argument..." */, libc.VaList(bp+184, *(*uintptr)(unsafe.Pointer(argv + uintptr(i)*8)))) + fatal_error(tls, ts+22921 /* "missing argument..." */, libc.VaList(bp+96, *(*uintptr)(unsafe.Pointer(argv + uintptr(i)*8)))) } nPCache = integerValue(tls, *(*uintptr)(unsafe.Pointer(argv + uintptr((i+1))*8))) szPCache = integerValue(tls, *(*uintptr)(unsafe.Pointer(argv + uintptr((i+2))*8))) @@ -5111,7 +5111,7 @@ func main1(tls *libc.TLS, argc int32, argv uintptr) int32 { /* speedtest1.c:2149 g.zPK = ts + 23105 /* "PRIMARY KEY" */ } else if libc.Xstrcmp(tls, z, ts+23117 /* "repeat" */) == 0 { if i >= (argc - 1) { - fatal_error(tls, ts+22921 /* "missing argument..." */, libc.VaList(bp+200, *(*uintptr)(unsafe.Pointer(argv + uintptr(i)*8)))) + fatal_error(tls, ts+22921 /* "missing argument..." */, libc.VaList(bp+104, *(*uintptr)(unsafe.Pointer(argv + uintptr(i)*8)))) } g.nRepeat = integerValue(tls, *(*uintptr)(unsafe.Pointer(argv + uintptr((i+1))*8))) i = i + (1) @@ -5127,14 +5127,14 @@ func main1(tls *libc.TLS, argc int32, argv uintptr) int32 { /* speedtest1.c:2149 g.bMemShrink = 1 } else if libc.Xstrcmp(tls, z, ts+23180 /* "size" */) == 0 { if i >= (argc - 1) { - fatal_error(tls, ts+22863 /* "missing argument..." */, libc.VaList(bp+216, *(*uintptr)(unsafe.Pointer(argv + uintptr(i)*8)))) + fatal_error(tls, ts+22863 /* "missing argument..." */, libc.VaList(bp+112, *(*uintptr)(unsafe.Pointer(argv + uintptr(i)*8)))) } g.szTest = integerValue(tls, *(*uintptr)(unsafe.Pointer(argv + uintptr(libc.PreIncInt32(&i, 1))*8))) } else if libc.Xstrcmp(tls, z, ts+23185 /* "stats" */) == 0 { showStats = 1 } else if libc.Xstrcmp(tls, z, ts+23191 /* "temp" */) == 0 { if i >= (argc - 1) { - fatal_error(tls, ts+22863 /* "missing argument..." */, libc.VaList(bp+232, *(*uintptr)(unsafe.Pointer(argv + uintptr(i)*8)))) + fatal_error(tls, ts+22863 /* "missing argument..." */, libc.VaList(bp+120, *(*uintptr)(unsafe.Pointer(argv + uintptr(i)*8)))) } i++ if ((int32(*(*int8)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(argv + uintptr(i)*8))))) < '0') || (int32(*(*int8)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(argv + uintptr(i)*8))))) > '9')) || (int32(*(*int8)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(argv + uintptr(i)*8)) + 1))) != 0) { @@ -5143,14 +5143,14 @@ func main1(tls *libc.TLS, argc int32, argv uintptr) int32 { /* speedtest1.c:2149 g.eTemp = (int32(*(*int8)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(argv + uintptr(i)*8))))) - '0') } else if libc.Xstrcmp(tls, z, ts+23249 /* "testset" */) == 0 { if i >= (argc - 1) { - fatal_error(tls, ts+22863 /* "missing argument..." */, libc.VaList(bp+248, *(*uintptr)(unsafe.Pointer(argv + uintptr(i)*8)))) + fatal_error(tls, ts+22863 /* "missing argument..." */, libc.VaList(bp+128, *(*uintptr)(unsafe.Pointer(argv + uintptr(i)*8)))) } zTSet = *(*uintptr)(unsafe.Pointer(argv + uintptr(libc.PreIncInt32(&i, 1))*8)) } else if libc.Xstrcmp(tls, z, ts+23257 /* "trace" */) == 0 { doTrace = 1 } else if libc.Xstrcmp(tls, z, ts+23263 /* "threads" */) == 0 { if i >= (argc - 1) { - fatal_error(tls, ts+22863 /* "missing argument..." */, libc.VaList(bp+264, *(*uintptr)(unsafe.Pointer(argv + uintptr(i)*8)))) + fatal_error(tls, ts+22863 /* "missing argument..." */, libc.VaList(bp+136, *(*uintptr)(unsafe.Pointer(argv + uintptr(i)*8)))) } nThread = integerValue(tls, *(*uintptr)(unsafe.Pointer(argv + uintptr(libc.PreIncInt32(&i, 1))*8))) } else if libc.Xstrcmp(tls, z, ts+23271 /* "utf16le" */) == 0 { @@ -5162,24 +5162,24 @@ func main1(tls *libc.TLS, argc int32, argv uintptr) int32 { /* speedtest1.c:2149 HashInit(tls) } else if libc.Xstrcmp(tls, z, ts+23294 /* "reserve" */) == 0 { if i >= (argc - 1) { - fatal_error(tls, ts+22863 /* "missing argument..." */, libc.VaList(bp+280, *(*uintptr)(unsafe.Pointer(argv + uintptr(i)*8)))) + fatal_error(tls, ts+22863 /* "missing argument..." */, libc.VaList(bp+144, *(*uintptr)(unsafe.Pointer(argv + uintptr(i)*8)))) } g.nReserve = libc.Xatoi(tls, *(*uintptr)(unsafe.Pointer(argv + uintptr(libc.PreIncInt32(&i, 1))*8))) } else if libc.Xstrcmp(tls, z, ts+23302 /* "without-rowid" */) == 0 { g.zWR = ts + 5975 /* "WITHOUT ROWID" */ g.zPK = ts + 23105 /* "PRIMARY KEY" */ } else if (libc.Xstrcmp(tls, z, ts+23316 /* "help" */) == 0) || (libc.Xstrcmp(tls, z, ts+23321 /* "?" */) == 0) { - libc.Xprintf(tls, uintptr(unsafe.Pointer(&zHelp)), libc.VaList(bp+296, *(*uintptr)(unsafe.Pointer(argv)))) + libc.Xprintf(tls, uintptr(unsafe.Pointer(&zHelp)), libc.VaList(bp+152, *(*uintptr)(unsafe.Pointer(argv)))) libc.Xexit(tls, 0) } else { fatal_error(tls, ts+23323, /* "unknown option: ..." */ - libc.VaList(bp+312, *(*uintptr)(unsafe.Pointer(argv + uintptr(i)*8)), *(*uintptr)(unsafe.Pointer(argv)))) + libc.VaList(bp+160, *(*uintptr)(unsafe.Pointer(argv + uintptr(i)*8)), *(*uintptr)(unsafe.Pointer(argv)))) } } else if zDbName == uintptr(0) { zDbName = *(*uintptr)(unsafe.Pointer(argv + uintptr(i)*8)) } else { fatal_error(tls, ts+23364, /* "surplus argument..." */ - libc.VaList(bp+336, *(*uintptr)(unsafe.Pointer(argv + uintptr(i)*8)), *(*uintptr)(unsafe.Pointer(argv)))) + libc.VaList(bp+176, *(*uintptr)(unsafe.Pointer(argv + uintptr(i)*8)), *(*uintptr)(unsafe.Pointer(argv)))) } } if zDbName != uintptr(0) { @@ -5188,11 +5188,11 @@ func main1(tls *libc.TLS, argc int32, argv uintptr) int32 { /* speedtest1.c:2149 if nHeap > 0 { pHeap = libc.Xmalloc(tls, uint64(nHeap)) if pHeap == uintptr(0) { - fatal_error(tls, ts+23407 /* "cannot allocate ..." */, libc.VaList(bp+360, nHeap)) + fatal_error(tls, ts+23407 /* "cannot allocate ..." */, libc.VaList(bp+192, nHeap)) } - rc = sqlite3.Xsqlite3_config(tls, SQLITE_CONFIG_HEAP, libc.VaList(bp+376, pHeap, nHeap, mnHeap)) + rc = sqlite3.Xsqlite3_config(tls, SQLITE_CONFIG_HEAP, libc.VaList(bp+200, pHeap, nHeap, mnHeap)) if rc != 0 { - fatal_error(tls, ts+23437 /* "heap configurati..." */, libc.VaList(bp+408, rc)) + fatal_error(tls, ts+23437 /* "heap configurati..." */, libc.VaList(bp+224, rc)) } } if doPCache != 0 { @@ -5200,16 +5200,16 @@ func main1(tls *libc.TLS, argc int32, argv uintptr) int32 { /* speedtest1.c:2149 pPCache = libc.Xmalloc(tls, (uint64(sqlite3_int64(nPCache) * sqlite3_int64(szPCache)))) if pPCache == uintptr(0) { fatal_error(tls, ts+23468, /* "cannot allocate ..." */ - libc.VaList(bp+424, (sqlite3_int64(nPCache)*sqlite3_int64(szPCache)))) + libc.VaList(bp+232, (sqlite3_int64(nPCache)*sqlite3_int64(szPCache)))) } } - rc = sqlite3.Xsqlite3_config(tls, SQLITE_CONFIG_PAGECACHE, libc.VaList(bp+440, pPCache, szPCache, nPCache)) + rc = sqlite3.Xsqlite3_config(tls, SQLITE_CONFIG_PAGECACHE, libc.VaList(bp+240, pPCache, szPCache, nPCache)) if rc != 0 { - fatal_error(tls, ts+23502 /* "pcache configura..." */, libc.VaList(bp+472, rc)) + fatal_error(tls, ts+23502 /* "pcache configura..." */, libc.VaList(bp+264, rc)) } } if nLook >= 0 { - sqlite3.Xsqlite3_config(tls, SQLITE_CONFIG_LOOKASIDE, libc.VaList(bp+488, 0, 0)) + sqlite3.Xsqlite3_config(tls, SQLITE_CONFIG_LOOKASIDE, libc.VaList(bp+272, 0, 0)) } sqlite3.Xsqlite3_initialize(tls) @@ -5220,13 +5220,13 @@ func main1(tls *libc.TLS, argc int32, argv uintptr) int32 { /* speedtest1.c:2149 } return zDbName }(), (uintptr(unsafe.Pointer(&g)) /* &.db */)) != 0 { - fatal_error(tls, ts+23544 /* "Cannot open data..." */, libc.VaList(bp+512, zDbName)) + fatal_error(tls, ts+23544 /* "Cannot open data..." */, libc.VaList(bp+288, zDbName)) } if (nLook > 0) && (szLook > 0) { pLook = libc.Xmalloc(tls, (uint64(nLook * szLook))) - rc = sqlite3.Xsqlite3_db_config(tls, g.db, SQLITE_DBCONFIG_LOOKASIDE, libc.VaList(bp+528, pLook, szLook, nLook)) + rc = sqlite3.Xsqlite3_db_config(tls, g.db, SQLITE_DBCONFIG_LOOKASIDE, libc.VaList(bp+296, pLook, szLook, nLook)) if rc != 0 { - fatal_error(tls, ts+23575 /* "lookaside config..." */, libc.VaList(bp+560, rc)) + fatal_error(tls, ts+23575 /* "lookaside config..." */, libc.VaList(bp+320, rc)) } } if g.nReserve > 0 { @@ -5246,14 +5246,14 @@ func main1(tls *libc.TLS, argc int32, argv uintptr) int32 { /* speedtest1.c:2149 speedtest1_exec(tls, ts+23618 /* "PRAGMA temp_stor..." */, 0) } if mmapSize > 0 { - speedtest1_exec(tls, ts+23643 /* "PRAGMA mmap_size..." */, libc.VaList(bp+576, mmapSize)) + speedtest1_exec(tls, ts+23643 /* "PRAGMA mmap_size..." */, libc.VaList(bp+328, mmapSize)) } - speedtest1_exec(tls, ts+23663 /* "PRAGMA threads=%..." */, libc.VaList(bp+592, nThread)) + speedtest1_exec(tls, ts+23663 /* "PRAGMA threads=%..." */, libc.VaList(bp+336, nThread)) if zKey != 0 { - speedtest1_exec(tls, ts+23681 /* "PRAGMA key('%s')" */, libc.VaList(bp+608, zKey)) + speedtest1_exec(tls, ts+23681 /* "PRAGMA key('%s')" */, libc.VaList(bp+344, zKey)) } if zEncoding != 0 { - speedtest1_exec(tls, ts+23698 /* "PRAGMA encoding=..." */, libc.VaList(bp+624, zEncoding)) + speedtest1_exec(tls, ts+23698 /* "PRAGMA encoding=..." */, libc.VaList(bp+352, zEncoding)) } if doAutovac != 0 { speedtest1_exec(tls, ts+23717 /* "PRAGMA auto_vacu..." */, 0) @@ -5261,10 +5261,10 @@ func main1(tls *libc.TLS, argc int32, argv uintptr) int32 { /* speedtest1.c:2149 speedtest1_exec(tls, ts+23741 /* "PRAGMA auto_vacu..." */, 0) } if pageSize != 0 { - speedtest1_exec(tls, ts+23772 /* "PRAGMA page_size..." */, libc.VaList(bp+640, pageSize)) + speedtest1_exec(tls, ts+23772 /* "PRAGMA page_size..." */, libc.VaList(bp+360, pageSize)) } if cacheSize != 0 { - speedtest1_exec(tls, ts+23792 /* "PRAGMA cache_siz..." */, libc.VaList(bp+656, cacheSize)) + speedtest1_exec(tls, ts+23792 /* "PRAGMA cache_siz..." */, libc.VaList(bp+368, cacheSize)) } if noSync != 0 { speedtest1_exec(tls, ts+23813 /* "PRAGMA synchrono..." */, 0) @@ -5273,7 +5273,7 @@ func main1(tls *libc.TLS, argc int32, argv uintptr) int32 { /* speedtest1.c:2149 speedtest1_exec(tls, ts+23836 /* "PRAGMA locking_m..." */, 0) } if zJMode != 0 { - speedtest1_exec(tls, ts+23866 /* "PRAGMA journal_m..." */, libc.VaList(bp+672, zJMode)) + speedtest1_exec(tls, ts+23866 /* "PRAGMA journal_m..." */, libc.VaList(bp+376, zJMode)) } if g.bExplain != 0 { @@ -5289,7 +5289,7 @@ func main1(tls *libc.TLS, argc int32, argv uintptr) int32 { /* speedtest1.c:2149 zTSet = ts + 2212 /* "" */ } if (g.iTotal > int64(0)) || (zComma != uintptr(0)) { - libc.Xprintf(tls, ts+23908 /* " Begin tes..." */, libc.VaList(bp+688, zThisTest)) + libc.Xprintf(tls, ts+23908 /* " Begin tes..." */, libc.VaList(bp+384, zThisTest)) } if libc.Xstrcmp(tls, zThisTest, ts+22795 /* "main" */) == 0 { testset_main(tls) @@ -5308,7 +5308,7 @@ func main1(tls *libc.TLS, argc int32, argv uintptr) int32 { /* speedtest1.c:2149 } else { fatal_error(tls, ts+23967, /* "unknown testset:..." */ - libc.VaList(bp+704, zThisTest)) + libc.VaList(bp+392, zThisTest)) } if *(*int8)(unsafe.Pointer(zTSet)) != 0 { var zSql uintptr @@ -5321,7 +5321,7 @@ func main1(tls *libc.TLS, argc int32, argv uintptr) int32 { /* speedtest1.c:2149 if zObj == uintptr(0) { break } - zSql = sqlite3.Xsqlite3_mprintf(tls, ts+24125 /* "DROP TABLE main...." */, libc.VaList(bp+720, zObj)) + zSql = sqlite3.Xsqlite3_mprintf(tls, ts+24125 /* "DROP TABLE main...." */, libc.VaList(bp+400, zObj)) speedtest1_exec(tls, zSql, 0) sqlite3.Xsqlite3_free(tls, zSql) sqlite3.Xsqlite3_free(tls, zObj) @@ -5333,7 +5333,7 @@ func main1(tls *libc.TLS, argc int32, argv uintptr) int32 { /* speedtest1.c:2149 if zObj == uintptr(0) { break } - zSql = sqlite3.Xsqlite3_mprintf(tls, ts+24125 /* "DROP TABLE main...." */, libc.VaList(bp+736, zObj)) + zSql = sqlite3.Xsqlite3_mprintf(tls, ts+24125 /* "DROP TABLE main...." */, libc.VaList(bp+408, zObj)) speedtest1_exec(tls, zSql, 0) sqlite3.Xsqlite3_free(tls, zSql) sqlite3.Xsqlite3_free(tls, zObj) @@ -5352,26 +5352,26 @@ func main1(tls *libc.TLS, argc int32, argv uintptr) int32 { /* speedtest1.c:2149 // Database connection statistics printed after both prepared statements // have been finalized if showStats != 0 { - sqlite3.Xsqlite3_db_status(tls, g.db, SQLITE_DBSTATUS_LOOKASIDE_USED, bp+1024 /* &iCur */, bp+1028 /* &iHi */, 0) - libc.Xprintf(tls, ts+24239 /* "-- Lookaside Slo..." */, libc.VaList(bp+752, *(*int32)(unsafe.Pointer(bp + 1024 /* iCur */)), *(*int32)(unsafe.Pointer(bp + 1028 /* iHi */)))) - sqlite3.Xsqlite3_db_status(tls, g.db, SQLITE_DBSTATUS_LOOKASIDE_HIT, bp+1024 /* &iCur */, bp+1028 /* &iHi */, 0) - libc.Xprintf(tls, ts+24284 /* "-- Successful lo..." */, libc.VaList(bp+776, *(*int32)(unsafe.Pointer(bp + 1028 /* iHi */)))) - sqlite3.Xsqlite3_db_status(tls, g.db, SQLITE_DBSTATUS_LOOKASIDE_MISS_SIZE, bp+1024 /* &iCur */, bp+1028 /* &iHi */, 0) - libc.Xprintf(tls, ts+24320 /* "-- Lookaside siz..." */, libc.VaList(bp+792, *(*int32)(unsafe.Pointer(bp + 1028 /* iHi */)))) - sqlite3.Xsqlite3_db_status(tls, g.db, SQLITE_DBSTATUS_LOOKASIDE_MISS_FULL, bp+1024 /* &iCur */, bp+1028 /* &iHi */, 0) - libc.Xprintf(tls, ts+24356 /* "-- Lookaside OOM..." */, libc.VaList(bp+808, *(*int32)(unsafe.Pointer(bp + 1028 /* iHi */)))) - sqlite3.Xsqlite3_db_status(tls, g.db, SQLITE_DBSTATUS_CACHE_USED, bp+1024 /* &iCur */, bp+1028 /* &iHi */, 0) - libc.Xprintf(tls, ts+24392 /* "-- Pager Heap Us..." */, libc.VaList(bp+824, *(*int32)(unsafe.Pointer(bp + 1024 /* iCur */)))) - sqlite3.Xsqlite3_db_status(tls, g.db, SQLITE_DBSTATUS_CACHE_HIT, bp+1024 /* &iCur */, bp+1028 /* &iHi */, 1) - libc.Xprintf(tls, ts+24434 /* "-- Page cache hi..." */, libc.VaList(bp+840, *(*int32)(unsafe.Pointer(bp + 1024 /* iCur */)))) - sqlite3.Xsqlite3_db_status(tls, g.db, SQLITE_DBSTATUS_CACHE_MISS, bp+1024 /* &iCur */, bp+1028 /* &iHi */, 1) - libc.Xprintf(tls, ts+24470 /* "-- Page cache mi..." */, libc.VaList(bp+856, *(*int32)(unsafe.Pointer(bp + 1024 /* iCur */)))) - sqlite3.Xsqlite3_db_status(tls, g.db, SQLITE_DBSTATUS_CACHE_WRITE, bp+1024 /* &iCur */, bp+1028 /* &iHi */, 1) - libc.Xprintf(tls, ts+24506 /* "-- Page cache wr..." */, libc.VaList(bp+872, *(*int32)(unsafe.Pointer(bp + 1024 /* iCur */)))) - sqlite3.Xsqlite3_db_status(tls, g.db, SQLITE_DBSTATUS_SCHEMA_USED, bp+1024 /* &iCur */, bp+1028 /* &iHi */, 0) - libc.Xprintf(tls, ts+24542 /* "-- Schema Heap U..." */, libc.VaList(bp+888, *(*int32)(unsafe.Pointer(bp + 1024 /* iCur */)))) - sqlite3.Xsqlite3_db_status(tls, g.db, SQLITE_DBSTATUS_STMT_USED, bp+1024 /* &iCur */, bp+1028 /* &iHi */, 0) - libc.Xprintf(tls, ts+24584 /* "-- Statement Hea..." */, libc.VaList(bp+904, *(*int32)(unsafe.Pointer(bp + 1024 /* iCur */)))) + sqlite3.Xsqlite3_db_status(tls, g.db, SQLITE_DBSTATUS_LOOKASIDE_USED, bp+568 /* &iCur */, bp+572 /* &iHi */, 0) + libc.Xprintf(tls, ts+24239 /* "-- Lookaside Slo..." */, libc.VaList(bp+416, *(*int32)(unsafe.Pointer(bp + 568 /* iCur */)), *(*int32)(unsafe.Pointer(bp + 572 /* iHi */)))) + sqlite3.Xsqlite3_db_status(tls, g.db, SQLITE_DBSTATUS_LOOKASIDE_HIT, bp+568 /* &iCur */, bp+572 /* &iHi */, 0) + libc.Xprintf(tls, ts+24284 /* "-- Successful lo..." */, libc.VaList(bp+432, *(*int32)(unsafe.Pointer(bp + 572 /* iHi */)))) + sqlite3.Xsqlite3_db_status(tls, g.db, SQLITE_DBSTATUS_LOOKASIDE_MISS_SIZE, bp+568 /* &iCur */, bp+572 /* &iHi */, 0) + libc.Xprintf(tls, ts+24320 /* "-- Lookaside siz..." */, libc.VaList(bp+440, *(*int32)(unsafe.Pointer(bp + 572 /* iHi */)))) + sqlite3.Xsqlite3_db_status(tls, g.db, SQLITE_DBSTATUS_LOOKASIDE_MISS_FULL, bp+568 /* &iCur */, bp+572 /* &iHi */, 0) + libc.Xprintf(tls, ts+24356 /* "-- Lookaside OOM..." */, libc.VaList(bp+448, *(*int32)(unsafe.Pointer(bp + 572 /* iHi */)))) + sqlite3.Xsqlite3_db_status(tls, g.db, SQLITE_DBSTATUS_CACHE_USED, bp+568 /* &iCur */, bp+572 /* &iHi */, 0) + libc.Xprintf(tls, ts+24392 /* "-- Pager Heap Us..." */, libc.VaList(bp+456, *(*int32)(unsafe.Pointer(bp + 568 /* iCur */)))) + sqlite3.Xsqlite3_db_status(tls, g.db, SQLITE_DBSTATUS_CACHE_HIT, bp+568 /* &iCur */, bp+572 /* &iHi */, 1) + libc.Xprintf(tls, ts+24434 /* "-- Page cache hi..." */, libc.VaList(bp+464, *(*int32)(unsafe.Pointer(bp + 568 /* iCur */)))) + sqlite3.Xsqlite3_db_status(tls, g.db, SQLITE_DBSTATUS_CACHE_MISS, bp+568 /* &iCur */, bp+572 /* &iHi */, 1) + libc.Xprintf(tls, ts+24470 /* "-- Page cache mi..." */, libc.VaList(bp+472, *(*int32)(unsafe.Pointer(bp + 568 /* iCur */)))) + sqlite3.Xsqlite3_db_status(tls, g.db, SQLITE_DBSTATUS_CACHE_WRITE, bp+568 /* &iCur */, bp+572 /* &iHi */, 1) + libc.Xprintf(tls, ts+24506 /* "-- Page cache wr..." */, libc.VaList(bp+480, *(*int32)(unsafe.Pointer(bp + 568 /* iCur */)))) + sqlite3.Xsqlite3_db_status(tls, g.db, SQLITE_DBSTATUS_SCHEMA_USED, bp+568 /* &iCur */, bp+572 /* &iHi */, 0) + libc.Xprintf(tls, ts+24542 /* "-- Schema Heap U..." */, libc.VaList(bp+488, *(*int32)(unsafe.Pointer(bp + 568 /* iCur */)))) + sqlite3.Xsqlite3_db_status(tls, g.db, SQLITE_DBSTATUS_STMT_USED, bp+568 /* &iCur */, bp+572 /* &iHi */, 0) + libc.Xprintf(tls, ts+24584 /* "-- Statement Hea..." */, libc.VaList(bp+496, *(*int32)(unsafe.Pointer(bp + 568 /* iCur */)))) } sqlite3.Xsqlite3_close(tls, g.db) @@ -5379,16 +5379,16 @@ func main1(tls *libc.TLS, argc int32, argv uintptr) int32 { /* speedtest1.c:2149 // Global memory usage statistics printed after the database connection // has closed. Memory usage should be zero at this point. if showStats != 0 { - sqlite3.Xsqlite3_status(tls, SQLITE_STATUS_MEMORY_USED, bp+1024 /* &iCur */, bp+1028 /* &iHi */, 0) - libc.Xprintf(tls, ts+24626 /* "-- Memory Used (..." */, libc.VaList(bp+920, *(*int32)(unsafe.Pointer(bp + 1024 /* iCur */)), *(*int32)(unsafe.Pointer(bp + 1028 /* iHi */)))) - sqlite3.Xsqlite3_status(tls, SQLITE_STATUS_MALLOC_COUNT, bp+1024 /* &iCur */, bp+1028 /* &iHi */, 0) - libc.Xprintf(tls, ts+24671 /* "-- Outstanding A..." */, libc.VaList(bp+944, *(*int32)(unsafe.Pointer(bp + 1024 /* iCur */)), *(*int32)(unsafe.Pointer(bp + 1028 /* iHi */)))) - sqlite3.Xsqlite3_status(tls, SQLITE_STATUS_PAGECACHE_OVERFLOW, bp+1024 /* &iCur */, bp+1028 /* &iHi */, 0) - libc.Xprintf(tls, ts+24716 /* "-- Pcache Overfl..." */, libc.VaList(bp+968, *(*int32)(unsafe.Pointer(bp + 1024 /* iCur */)), *(*int32)(unsafe.Pointer(bp + 1028 /* iHi */)))) - sqlite3.Xsqlite3_status(tls, SQLITE_STATUS_MALLOC_SIZE, bp+1024 /* &iCur */, bp+1028 /* &iHi */, 0) - libc.Xprintf(tls, ts+24761 /* "-- Largest Alloc..." */, libc.VaList(bp+992, *(*int32)(unsafe.Pointer(bp + 1028 /* iHi */)))) - sqlite3.Xsqlite3_status(tls, SQLITE_STATUS_PAGECACHE_SIZE, bp+1024 /* &iCur */, bp+1028 /* &iHi */, 0) - libc.Xprintf(tls, ts+24803 /* "-- Largest Pcach..." */, libc.VaList(bp+1008, *(*int32)(unsafe.Pointer(bp + 1028 /* iHi */)))) + sqlite3.Xsqlite3_status(tls, SQLITE_STATUS_MEMORY_USED, bp+568 /* &iCur */, bp+572 /* &iHi */, 0) + libc.Xprintf(tls, ts+24626 /* "-- Memory Used (..." */, libc.VaList(bp+504, *(*int32)(unsafe.Pointer(bp + 568 /* iCur */)), *(*int32)(unsafe.Pointer(bp + 572 /* iHi */)))) + sqlite3.Xsqlite3_status(tls, SQLITE_STATUS_MALLOC_COUNT, bp+568 /* &iCur */, bp+572 /* &iHi */, 0) + libc.Xprintf(tls, ts+24671 /* "-- Outstanding A..." */, libc.VaList(bp+520, *(*int32)(unsafe.Pointer(bp + 568 /* iCur */)), *(*int32)(unsafe.Pointer(bp + 572 /* iHi */)))) + sqlite3.Xsqlite3_status(tls, SQLITE_STATUS_PAGECACHE_OVERFLOW, bp+568 /* &iCur */, bp+572 /* &iHi */, 0) + libc.Xprintf(tls, ts+24716 /* "-- Pcache Overfl..." */, libc.VaList(bp+536, *(*int32)(unsafe.Pointer(bp + 568 /* iCur */)), *(*int32)(unsafe.Pointer(bp + 572 /* iHi */)))) + sqlite3.Xsqlite3_status(tls, SQLITE_STATUS_MALLOC_SIZE, bp+568 /* &iCur */, bp+572 /* &iHi */, 0) + libc.Xprintf(tls, ts+24761 /* "-- Largest Alloc..." */, libc.VaList(bp+552, *(*int32)(unsafe.Pointer(bp + 572 /* iHi */)))) + sqlite3.Xsqlite3_status(tls, SQLITE_STATUS_PAGECACHE_SIZE, bp+568 /* &iCur */, bp+572 /* &iHi */, 0) + libc.Xprintf(tls, ts+24803 /* "-- Largest Pcach..." */, libc.VaList(bp+560, *(*int32)(unsafe.Pointer(bp + 572 /* iHi */)))) } // Release memory